From 2df7a57bcb93f912f6408e20d408ea73327a58db Mon Sep 17 00:00:00 2001 From: GermanBluefox Date: Thu, 19 Mar 2026 20:12:18 +0100 Subject: [PATCH 1/3] Small GUI optimizations --- README.md | 3 ++ src-admin/src/Astro.tsx | 16 ++++++++++ src-admin/src/Components/Map.tsx | 32 +++++++++++++++++-- .../src/Components/RulesEditor/index.tsx | 7 ++-- .../Components/ScriptEditorVanillaMonaco.tsx | 20 ++++++++---- src-editor/src/Dialogs/New.tsx | 2 -- 6 files changed, 63 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index 1250c68b8..d6faa63bb 100644 --- a/README.md +++ b/README.md @@ -26,6 +26,9 @@ Executes Javascript, Typescript Scripts. +### **WORK IN PROGRESS** +* (GermanBluefox) Small GUI optimizations + ### 9.1.0 (2026-03-19) * Added support for custom OpenAI-compatible API endpoints (e.g. Ollama, LM Studio, Google Gemini, DeepSeek, OpenRouter) * Added configurable base URL in adapter settings diff --git a/src-admin/src/Astro.tsx b/src-admin/src/Astro.tsx index f0f2ca56f..a544ee29c 100644 --- a/src-admin/src/Astro.tsx +++ b/src-admin/src/Astro.tsx @@ -109,6 +109,7 @@ type AstroState = ConfigGenericState & { class Astro extends ConfigGeneric { calcTimeout?: ReturnType | null; lastCalc?: string; + private mounted = false; constructor(props: ConfigGenericProps) { super(props); @@ -119,6 +120,7 @@ class Astro extends ConfigGeneric { componentDidMount(): void { super.componentDidMount(); + this.mounted = true; const newState: Partial = {}; ATTRIBUTES.forEach(attr => { newState[attr] = ConfigGeneric.getValue(this.props.data, attr); @@ -139,6 +141,14 @@ class Astro extends ConfigGeneric { this.setState(newState as AstroState, () => this.onAstroChange()); } + componentWillUnmount(): void { + this.mounted = false; + if (this.calcTimeout) { + clearTimeout(this.calcTimeout); + this.calcTimeout = null; + } + } + renderMap(): React.JSX.Element { return ( { this.calcTimeout && clearTimeout(this.calcTimeout); this.calcTimeout = setTimeout(async () => { this.calcTimeout = null; + if (!this.mounted) { + return; + } const times = await this.props.oContext.socket.sendTo( `${this.props.oContext.adapterName}.${this.props.oContext.instance}`, 'calcAstro', data, ); + if (!this.mounted) { + return; + } if (!times || times.error) { console.error(`Cannot calculate astro times: ${JSON.stringify(times.error)}`); return; diff --git a/src-admin/src/Components/Map.tsx b/src-admin/src/Components/Map.tsx index c13040d97..7a7453435 100644 --- a/src-admin/src/Components/Map.tsx +++ b/src-admin/src/Components/Map.tsx @@ -32,6 +32,7 @@ class Map extends Component { marker: Marker | null; map?: LeafletMap; latLongTimer?: ReturnType | null; + resizeTimer?: ReturnType | null; constructor(props: MapProps) { super(props); @@ -99,12 +100,38 @@ class Map extends Component { (this.state.width !== this.divRef.current.clientWidth || this.state.height !== this.divRef.current.clientHeight) ) { - setTimeout(() => { - this.setState({ width: this.divRef.current!.clientWidth, height: this.divRef.current!.clientHeight }); + if (this.resizeTimer) { + clearTimeout(this.resizeTimer); + } + this.resizeTimer = setTimeout(() => { + this.resizeTimer = null; + if (this.divRef.current) { + this.setState({ width: this.divRef.current.clientWidth, height: this.divRef.current.clientHeight }); + } }, 100); } } + componentWillUnmount(): void { + if (this.latLongTimer) { + clearTimeout(this.latLongTimer); + this.latLongTimer = null; + } + if (this.resizeTimer) { + clearTimeout(this.resizeTimer); + this.resizeTimer = null; + } + if (this.marker) { + this.marker.off('dragend'); + this.marker.remove(); + this.marker = null; + } + if (this.map) { + this.map.remove(); + this.map = undefined; + } + } + onMarkerDragend = (evt: DragEndEvent): void => { if (this.props.readOnly) { this.map!.flyTo([this.state.latitude, this.state.longitude]); @@ -124,7 +151,6 @@ class Map extends Component { ]; const { zoom } = this.state; - console.log(this.state.width, this.state.height); return (
private triggerPrettier: number; + private contentChangeDisposable: monacoEditor.IDisposable | null = null; + + private mouseDownDisposable: monacoEditor.IDisposable | null = null; + constructor(props: ScriptEditorProps) { super(props); this.state = { @@ -210,7 +214,7 @@ class ScriptEditor extends React.Component colorDecorators: true, }); - this.editor.onDidChangeModelContent(() => this.onChange()); + this.contentChangeDisposable = this.editor.onDidChangeModelContent(() => this.onChange()); // Load typings for the JS editor this.loadTypings(); @@ -247,7 +251,7 @@ class ScriptEditor extends React.Component if (this.props.onToggleBreakpoint) { // add onMouseDown listener to toggle breakpoints - this.editor.onMouseDown((e: monacoEditor.editor.IEditorMouseEvent) => { + this.mouseDownDisposable = this.editor.onMouseDown((e: monacoEditor.editor.IEditorMouseEvent) => { const target: monacoEditor.editor.IMouseTargetMargin = e.target as monacoEditor.editor.IMouseTargetMargin; if ( @@ -258,11 +262,6 @@ class ScriptEditor extends React.Component this.props.onToggleBreakpoint(target.position.lineNumber - 1); } }); - } else { - // remove onMouseDown listener - this.editor.onMouseDown(() => { - /* nop */ - }); } } } @@ -303,6 +302,10 @@ class ScriptEditor extends React.Component } componentWillUnmount(): void { + this.contentChangeDisposable?.dispose(); + this.contentChangeDisposable = null; + this.mouseDownDisposable?.dispose(); + this.mouseDownDisposable = null; if (this.editor) { this.props.onRegisterSelect?.(null); this.editor.dispose(); @@ -380,6 +383,9 @@ class ScriptEditor extends React.Component if (newModel) { this.editor.setModel(newModel); + // Re-register content change listener on the new model + this.contentChangeDisposable?.dispose(); + this.contentChangeDisposable = this.editor.onDidChangeModelContent(() => this.onChange()); } } } diff --git a/src-editor/src/Dialogs/New.tsx b/src-editor/src/Dialogs/New.tsx index bd59567ef..0f3ff9b73 100644 --- a/src-editor/src/Dialogs/New.tsx +++ b/src-editor/src/Dialogs/New.tsx @@ -77,7 +77,6 @@ class DialogNew extends React.Component { }; render(): React.JSX.Element { - console.log(this.state.name); return ( false} @@ -127,7 +126,6 @@ class DialogNew extends React.Component { } else if (this.props.existingItems?.includes(id)) { this.setState({ name, id, error: I18n.t('Duplicate name') }); } else { - console.log(`Set name: "${name}"`); this.setState({ name, id, error: '' }); } }} From 58a6f720432017564d2661a7ed87980100b4716b Mon Sep 17 00:00:00 2001 From: GermanBluefox Date: Thu, 19 Mar 2026 22:23:18 +0100 Subject: [PATCH 2/3] Changed icon for AI --- ...g-CgYwxxDC.js => OpenAiDialog-Cn1mdhXZ.js} | 2 +- ...r-BVaX7Hcs.js => ScriptEditor-Bsfab35t.js} | 2 +- .../ScriptEditorVanillaMonaco-BvDS5a34.js | 1 + .../ScriptEditorVanillaMonaco-yq11eIYC.js | 1 - .../{index-lco9qhq6.js => index-3e3k-1o_.js} | 106 +- admin/assets/index-C49cpVll.js | 5 + admin/assets/index-CrP4fDhH.js | 1 - admin/assets/index-Cu-TydZj.js | 5 - .../{index-c_pDs-29.js => index-DnWxMXLc.js} | 2 +- admin/assets/index-WMcL3d55.js | 1 + .../{index-Dnbw7_L3.js => index-q6iFaoFb.js} | 2 +- ...OR.js => localSharedImportMap-xmSu9Qkg.js} | 2 +- ...er_javascript__remoteEntry_js-D-eF6r8M.js} | 4 +- ...nts-FfVbavBM.js => Components-B8x6wOMD.js} | 2 +- admin/custom/assets/index-CVIpIckw.js | 960 ------------------ admin/custom/assets/index-CYc31Gwg.js | 960 ++++++++++++++++++ .../{index-ueUWByOG.js => index-DbXK0odl.js} | 2 +- .../{index-D3D_iPf-.js => index-N2n19KrF.js} | 2 +- ...Ik.js => localSharedImportMap-2Enh8EZe.js} | 2 +- ...DyedJotb.js => virtualExposes-CqrW7o8v.js} | 2 +- ...criptSet__customComponents_js-BZZsMeVW.js} | 4 +- admin/custom/customComponents.js | 2 +- admin/mf-manifest.json | 2 +- admin/remoteEntry.js | 2 +- admin/tab.html | 6 +- src-admin/package-lock.json | 21 +- src-admin/package.json | 2 +- src-editor/package-lock.json | 159 +-- src-editor/package.json | 2 +- src-editor/src/Editor.tsx | 22 +- 30 files changed, 1080 insertions(+), 1206 deletions(-) rename admin/assets/{OpenAiDialog-CgYwxxDC.js => OpenAiDialog-Cn1mdhXZ.js} (98%) rename admin/assets/{ScriptEditor-BVaX7Hcs.js => ScriptEditor-Bsfab35t.js} (92%) create mode 100644 admin/assets/ScriptEditorVanillaMonaco-BvDS5a34.js delete mode 100644 admin/assets/ScriptEditorVanillaMonaco-yq11eIYC.js rename admin/assets/{index-lco9qhq6.js => index-3e3k-1o_.js} (87%) create mode 100644 admin/assets/index-C49cpVll.js delete mode 100644 admin/assets/index-CrP4fDhH.js delete mode 100644 admin/assets/index-Cu-TydZj.js rename admin/assets/{index-c_pDs-29.js => index-DnWxMXLc.js} (99%) create mode 100644 admin/assets/index-WMcL3d55.js rename admin/assets/{index-Dnbw7_L3.js => index-q6iFaoFb.js} (96%) rename admin/assets/{localSharedImportMap-AxgBkrOR.js => localSharedImportMap-xmSu9Qkg.js} (94%) rename admin/assets/{virtual_mf-REMOTE_ENTRY_ID_iobroker_javascript__remoteEntry_js-C9suQF96.js => virtual_mf-REMOTE_ENTRY_ID_iobroker_javascript__remoteEntry_js-D-eF6r8M.js} (99%) rename admin/custom/assets/{Components-FfVbavBM.js => Components-B8x6wOMD.js} (86%) delete mode 100644 admin/custom/assets/index-CVIpIckw.js create mode 100644 admin/custom/assets/index-CYc31Gwg.js rename admin/custom/assets/{index-ueUWByOG.js => index-DbXK0odl.js} (95%) rename admin/custom/assets/{index-D3D_iPf-.js => index-N2n19KrF.js} (99%) rename admin/custom/assets/{localSharedImportMap-D56mFGIk.js => localSharedImportMap-2Enh8EZe.js} (95%) rename admin/custom/assets/{virtualExposes-DyedJotb.js => virtualExposes-CqrW7o8v.js} (68%) rename admin/custom/assets/{virtual_mf-REMOTE_ENTRY_ID_ConfigCustomJavascriptSet__customComponents_js-mtzNjzQ6.js => virtual_mf-REMOTE_ENTRY_ID_ConfigCustomJavascriptSet__customComponents_js-BZZsMeVW.js} (99%) diff --git a/admin/assets/OpenAiDialog-CgYwxxDC.js b/admin/assets/OpenAiDialog-Cn1mdhXZ.js similarity index 98% rename from admin/assets/OpenAiDialog-CgYwxxDC.js rename to admin/assets/OpenAiDialog-Cn1mdhXZ.js index af647bd1f..51fde6945 100644 --- a/admin/assets/OpenAiDialog-CgYwxxDC.js +++ b/admin/assets/OpenAiDialog-Cn1mdhXZ.js @@ -1,4 +1,4 @@ -import{c as ie,j as n}from"./createSvgIcon-DPvF8xqu.js";import{j as S,b as H,k as J,c as re}from"./iobroker_javascript__loadShare__react__loadShare__.mjs-CTZOFJS2.js";import{_ as F,a as Q,b as Z,i as $,h as X,c as oe,$ as ae,d as ce,e as le,f as de,g as ee}from"./iobroker_javascript__loadShare___mf_0_mui_mf_1_material__loadShare__.mjs-QWG5Arqe.js";import{_ as l}from"./iobroker_javascript__loadShare___mf_0_iobroker_mf_1_adapter_mf_2_react_mf_2_v5__loadShare__.mjs-DkBjPSMw.js";import{_ as me}from"./preload-helper-BDBacUwf.js";import{C as he,b as ue,R as fe}from"./index-gIA8x-8f.js";import pe from"./ScriptEditorVanillaMonaco-yq11eIYC.js";import{c as te,I as ge}from"./index-Cu-TydZj.js";import{h as ye}from"./index-lco9qhq6.js";import"./iobroker_javascript__loadShare__react__loadShare__.mjs_commonjs-proxy-CE9lvhW8.js";import"./iobroker_javascript__loadShare__prop_mf_2_types__loadShare__.mjs-BCtSFofY.js";import"./virtual_mf-REMOTE_ENTRY_ID_iobroker_javascript__remoteEntry_js-C9suQF96.js";import"./iobroker_javascript__loadShare__react_mf_2_dom__loadShare__.mjs_commonjs-proxy-RQRRZMX5.js";import"./iobroker_javascript__loadShare__react_mf_2_dom__loadShare__.mjs-DeVAS-oa.js";import"./inheritsLoose-B0Ba5G9z.js";const ve=ie(n.jsx("path",{d:"M11.07 12.85c.77-1.39 2.25-2.21 3.11-3.44.91-1.29.4-3.7-2.18-3.7-1.69 0-2.52 1.28-2.87 2.34L6.54 6.96C7.25 4.83 9.18 3 11.99 3c2.35 0 3.96 1.07 4.78 2.41.7 1.15 1.11 3.3.03 4.9-1.2 1.77-2.35 2.31-2.97 3.45-.25.46-.35.76-.35 2.24h-2.89c-.01-.78-.13-2.05.48-3.15M14 20c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2"}),"QuestionMark"),je=me(()=>import("./docs-BrInh2Pn.js"),[],import.meta.url);let G=null;async function xe(s){if(G)return G;const f=await s.getObjectViewSystem("state","","香"),r=await s.getObjectViewSystem("channel","","香"),v=await s.getObjectViewSystem("device","","香"),d=await s.getObjectViewSystem("folder","","香"),k=await s.getObjectViewSystem("enum","","香");return G=Object.assign(f,r,v,d,k),G}function V(s,f){return s&&typeof s=="object"?s[f]||s.en:s||""}async function Ie(s){var P,N,L,K;const f=l.I18n.getLanguage(),r=await xe(s),v=Object.keys(r).sort(),d=new he,k=[],A=["UNREACH_STICKY"],W=[ue.Types.info],_=[],b=[],R=[],D=[];v.forEach(m=>{var a,h,c;((a=r[m])==null?void 0:a.type)==="enum"?_.push(m):(c=(h=r[m])==null?void 0:h.common)!=null&&c.smartName&&D.push(m)}),_.forEach(m=>{m.startsWith("enum.rooms.")?b.push(m):m.startsWith("enum.functions.")&&R.push(m);const a=r[m].common.members;a!=null&&a.length&&a.forEach(h=>{r[h]&&(D.includes(h)||D.push(h))})});const M={id:"",objects:r,_keysOptional:v,_usedIdsOptional:k,ignoreIndicators:A,excludedTypes:W},E=[];D.forEach(m=>{M.id=m;const a=d.detect(M);a&&a.forEach(h=>{var w;const c=(w=h.states.find(i=>i.id))==null?void 0:w.id;if(!c||E.find(i=>i.id===c))return;const j=r[c],z={id:c,name:V(j.common.name,f),type:j.type,deviceType:h.type,states:h.states.filter(i=>i.id).map(i=>({id:i.id,name:i.name,role:i.defaultRole,type:r[i.id].common.type,unit:r[i.id].common.unit,read:r[i.id].common.read===void 0?!0:r[i.id].common.read,write:r[i.id].common.write===void 0?!0:r[i.id].common.write}))},T=c.split(".");let e,o;(j.type==="channel"||j.type==="state")&&(T.pop(),e=T.join("."),r[e]&&(r[e].type==="channel"||r[e].type==="folder")?(T.pop(),o=T.join("."),(!r[o]||r[o].type!=="device"&&r[e].type!=="folder")&&(o=void 0)):e=void 0);const I=b.find(i=>{var x,p,t;return(x=r[i].common.members)!=null&&x.includes(c)||e&&((p=r[i].common.members)!=null&&p.includes(e))?!0:o&&((t=r[i].common.members)==null?void 0:t.includes(o))});I&&(z.room=V(r[I].common.name,f));const g=R.find(i=>{var x,p,t;return(x=r[i].common.members)!=null&&x.includes(c)||e&&((p=r[i].common.members)!=null&&p.includes(e))?!0:o&&((t=r[i].common.members)==null?void 0:t.includes(o))});g&&(z.function=V(r[g].common.name,f)),E.push(z)})});for(let m=0;m(await je).default,we={ru:"Russian",en:"English",de:"German",es:"Spanish",fr:"French",it:"Italian",pl:"Polish",nl:"Dutch",pt:"Portuguese",uk:"Ukrainian","zh-cn":"Chinese"},Y={flexShrink:0,opacity:.7},ne={openai:n.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"currentColor",style:Y,children:n.jsx("path",{d:"M22.282 9.821a5.985 5.985 0 0 0-.516-4.91 6.046 6.046 0 0 0-6.51-2.9A6.065 6.065 0 0 0 4.981 4.18a5.985 5.985 0 0 0-3.998 2.9 6.046 6.046 0 0 0 .743 7.097 5.98 5.98 0 0 0 .51 4.911 6.051 6.051 0 0 0 6.515 2.9A5.985 5.985 0 0 0 13.26 24a6.056 6.056 0 0 0 5.772-4.206 5.99 5.99 0 0 0 3.997-2.9 6.056 6.056 0 0 0-.747-7.073zM13.26 22.43a4.476 4.476 0 0 1-2.876-1.04l.141-.081 4.779-2.758a.795.795 0 0 0 .392-.681v-6.737l2.02 1.168a.071.071 0 0 1 .038.052v5.583a4.504 4.504 0 0 1-4.494 4.494zM3.6 18.304a4.47 4.47 0 0 1-.535-3.014l.142.085 4.783 2.759a.771.771 0 0 0 .78 0l5.843-3.369v2.332a.08.08 0 0 1-.033.062L9.74 19.95a4.5 4.5 0 0 1-6.14-1.646zM2.34 7.896a4.485 4.485 0 0 1 2.366-1.973V11.6a.766.766 0 0 0 .388.676l5.815 3.355-2.02 1.168a.076.076 0 0 1-.071 0l-4.83-2.786A4.504 4.504 0 0 1 2.34 7.872zm16.597 3.855-5.833-3.387L15.119 7.2a.076.076 0 0 1 .071 0l4.83 2.791a4.494 4.494 0 0 1-.676 8.105v-5.678a.79.79 0 0 0-.407-.667zm2.01-3.023-.141-.085-4.774-2.782a.776.776 0 0 0-.785 0L9.409 9.23V6.897a.066.066 0 0 1 .028-.061l4.83-2.787a4.5 4.5 0 0 1 6.68 4.66zm-12.64 4.135-2.02-1.164a.08.08 0 0 1-.038-.057V6.075a4.5 4.5 0 0 1 7.375-3.453l-.142.08L8.704 5.46a.795.795 0 0 0-.393.681zm1.097-2.365 2.602-1.5 2.607 1.5v2.999l-2.597 1.5-2.607-1.5z"})}),anthropic:n.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"currentColor",style:Y,children:n.jsx("path",{d:"M17.304 3.54h-3.604L7.128 20.46h3.604l1.345-3.462h6.932l1.345 3.462H24L17.304 3.54zm-3.45 10.696 2.647-6.812 2.647 6.812h-5.295zM6.696 3.54H3.092L0 20.46h3.604L6.696 3.54z"})}),gemini:n.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"currentColor",style:Y,children:n.jsx("path",{d:"M12 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0z"})}),deepseek:n.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"currentColor",style:Y,children:n.jsx("path",{d:"M5 3h6a9 9 0 0 1 0 18H5V3zm4 14V7h2a5 5 0 0 1 0 10H9z"})})};async function se(s,f){const r=Object.keys(f);for(let v=0;v{const[f,r]=S(window.localStorage.getItem("openai-question")||""),[v,d]=S(""),[k,A]=S(!1),[W,_]=S(!1),[b,R]=S(window.localStorage.getItem("openai-model")||""),[D,M]=S(!1),[E,P]=S([]),[N,L]=S(!0),[K,m]=S(null),a=H(null),h=H(null),c=H({}),j=H(null),z=J(async e=>{L(!0),m(null);try{const o=await se(s.socket,s.runningInstances);if(e!=null&&e.current)return;if(!o){L(!1);return}h.current=o;const I=Object.keys(s.runningInstances)[0];if(!I){m(l.I18n.t("No running javascript instance found")),L(!1);return}const g=[],w={},i=[],x=[],p=(t,B)=>{for(const O of t){const C=O.toLowerCase();C.includes("embedding")||C.includes("moderation")||C.startsWith("dall-e")||C.startsWith("tts-")||C.startsWith("whisper")||C.startsWith("babbage")||C.startsWith("davinci")||C.startsWith("sora")||C.startsWith("omni-moderation")||w[O]||(g.push(O),w[O]=B)}};if((o.gptKey||o.gptBaseUrl)&&x.push(s.socket.sendTo(I,"testApiConnection",{apiKey:o.gptKey,baseUrl:o.gptBaseUrl||"",provider:"openai"}).then(t=>{t.models?p(t.models,"openai"):t.error&&i.push(`OpenAI: ${t.error}`)}).catch(t=>{i.push(`OpenAI: ${String(t)}`)})),o.claudeKey&&x.push(s.socket.sendTo(I,"testApiConnection",{apiKey:o.claudeKey,provider:"anthropic"}).then(t=>{t.models?p(t.models,"anthropic"):t.error&&i.push(`Anthropic: ${t.error}`)}).catch(t=>{i.push(`Anthropic: ${String(t)}`)})),o.geminiKey&&x.push(s.socket.sendTo(I,"testApiConnection",{apiKey:o.geminiKey,provider:"gemini"}).then(t=>{t.models?p(t.models,"gemini"):t.error&&i.push(`Gemini: ${t.error}`)}).catch(t=>{i.push(`Gemini: ${String(t)}`)})),o.deepseekKey&&x.push(s.socket.sendTo(I,"testApiConnection",{apiKey:o.deepseekKey,provider:"deepseek"}).then(t=>{t.models?p(t.models,"deepseek"):t.error&&i.push(`DeepSeek: ${t.error}`)}).catch(t=>{i.push(`DeepSeek: ${String(t)}`)})),await Promise.all(x),e!=null&&e.current)return;if(c.current=w,g.length>0){g.sort(),P(g);const t=window.localStorage.getItem("openai-model");t&&g.includes(t)?R(t):R(g[0])}i.length>0&&m(i.join("; "))}catch(o){console.error("Failed to fetch models:",o),e!=null&&e.current||m(l.I18n.t("Request failed: %s",String(o)))}e!=null&&e.current||L(!1)},[s.socket,s.runningInstances]);re(()=>{const e={current:!1};return z(e),()=>{e.current=!0}},[z]);const T=J(async()=>{let e;a.current?e=a.current:(e=await Ie(s.socket),a.current=e,console.log(`devices: ${JSON.stringify(e,null,2)}`));let o=h.current;o||(o=await se(s.socket,s.runningInstances),h.current=o);let I;if(j.current?I=j.current:(I=await _e(),j.current=I),!o){M(!0);return}const g=c.current[b];if(!g){_(l.I18n.t("Please select a valid model"));return}let w,i;g==="anthropic"?(w=o.claudeKey,i=""):g==="gemini"?(w=o.geminiKey,i=""):g==="deepseek"?(w=o.deepseekKey,i=""):(w=o.gptKey,i=o.gptBaseUrl||"");const x=Object.keys(s.runningInstances)[0];if(!x){_(l.I18n.t("No running javascript instance found"));return}A(!0),_(!1);try{const p=await s.socket.sendTo(x,"chatCompletion",{apiKey:w,baseUrl:i,model:b,provider:g,messages:[{role:"system",content:`You are programmer. Here is a documentation: +import{c as ie,j as n}from"./createSvgIcon-DPvF8xqu.js";import{j as S,b as H,k as J,c as re}from"./iobroker_javascript__loadShare__react__loadShare__.mjs-CTZOFJS2.js";import{_ as F,a as Q,b as Z,i as $,h as X,c as oe,$ as ae,d as ce,e as le,f as de,g as ee}from"./iobroker_javascript__loadShare___mf_0_mui_mf_1_material__loadShare__.mjs-QWG5Arqe.js";import{_ as l}from"./iobroker_javascript__loadShare___mf_0_iobroker_mf_1_adapter_mf_2_react_mf_2_v5__loadShare__.mjs-DkBjPSMw.js";import{_ as me}from"./preload-helper-BDBacUwf.js";import{C as he,b as ue,R as fe}from"./index-gIA8x-8f.js";import pe from"./ScriptEditorVanillaMonaco-BvDS5a34.js";import{c as te,I as ge}from"./index-C49cpVll.js";import{h as ye}from"./index-3e3k-1o_.js";import"./iobroker_javascript__loadShare__react__loadShare__.mjs_commonjs-proxy-CE9lvhW8.js";import"./iobroker_javascript__loadShare__prop_mf_2_types__loadShare__.mjs-BCtSFofY.js";import"./virtual_mf-REMOTE_ENTRY_ID_iobroker_javascript__remoteEntry_js-D-eF6r8M.js";import"./iobroker_javascript__loadShare__react_mf_2_dom__loadShare__.mjs_commonjs-proxy-RQRRZMX5.js";import"./iobroker_javascript__loadShare__react_mf_2_dom__loadShare__.mjs-DeVAS-oa.js";import"./inheritsLoose-B0Ba5G9z.js";const ve=ie(n.jsx("path",{d:"M11.07 12.85c.77-1.39 2.25-2.21 3.11-3.44.91-1.29.4-3.7-2.18-3.7-1.69 0-2.52 1.28-2.87 2.34L6.54 6.96C7.25 4.83 9.18 3 11.99 3c2.35 0 3.96 1.07 4.78 2.41.7 1.15 1.11 3.3.03 4.9-1.2 1.77-2.35 2.31-2.97 3.45-.25.46-.35.76-.35 2.24h-2.89c-.01-.78-.13-2.05.48-3.15M14 20c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2"}),"QuestionMark"),je=me(()=>import("./docs-BrInh2Pn.js"),[],import.meta.url);let G=null;async function xe(s){if(G)return G;const f=await s.getObjectViewSystem("state","","香"),r=await s.getObjectViewSystem("channel","","香"),v=await s.getObjectViewSystem("device","","香"),d=await s.getObjectViewSystem("folder","","香"),k=await s.getObjectViewSystem("enum","","香");return G=Object.assign(f,r,v,d,k),G}function V(s,f){return s&&typeof s=="object"?s[f]||s.en:s||""}async function Ie(s){var P,N,L,K;const f=l.I18n.getLanguage(),r=await xe(s),v=Object.keys(r).sort(),d=new he,k=[],A=["UNREACH_STICKY"],W=[ue.Types.info],_=[],b=[],R=[],D=[];v.forEach(m=>{var a,h,c;((a=r[m])==null?void 0:a.type)==="enum"?_.push(m):(c=(h=r[m])==null?void 0:h.common)!=null&&c.smartName&&D.push(m)}),_.forEach(m=>{m.startsWith("enum.rooms.")?b.push(m):m.startsWith("enum.functions.")&&R.push(m);const a=r[m].common.members;a!=null&&a.length&&a.forEach(h=>{r[h]&&(D.includes(h)||D.push(h))})});const M={id:"",objects:r,_keysOptional:v,_usedIdsOptional:k,ignoreIndicators:A,excludedTypes:W},E=[];D.forEach(m=>{M.id=m;const a=d.detect(M);a&&a.forEach(h=>{var w;const c=(w=h.states.find(i=>i.id))==null?void 0:w.id;if(!c||E.find(i=>i.id===c))return;const j=r[c],z={id:c,name:V(j.common.name,f),type:j.type,deviceType:h.type,states:h.states.filter(i=>i.id).map(i=>({id:i.id,name:i.name,role:i.defaultRole,type:r[i.id].common.type,unit:r[i.id].common.unit,read:r[i.id].common.read===void 0?!0:r[i.id].common.read,write:r[i.id].common.write===void 0?!0:r[i.id].common.write}))},T=c.split(".");let e,o;(j.type==="channel"||j.type==="state")&&(T.pop(),e=T.join("."),r[e]&&(r[e].type==="channel"||r[e].type==="folder")?(T.pop(),o=T.join("."),(!r[o]||r[o].type!=="device"&&r[e].type!=="folder")&&(o=void 0)):e=void 0);const I=b.find(i=>{var x,p,t;return(x=r[i].common.members)!=null&&x.includes(c)||e&&((p=r[i].common.members)!=null&&p.includes(e))?!0:o&&((t=r[i].common.members)==null?void 0:t.includes(o))});I&&(z.room=V(r[I].common.name,f));const g=R.find(i=>{var x,p,t;return(x=r[i].common.members)!=null&&x.includes(c)||e&&((p=r[i].common.members)!=null&&p.includes(e))?!0:o&&((t=r[i].common.members)==null?void 0:t.includes(o))});g&&(z.function=V(r[g].common.name,f)),E.push(z)})});for(let m=0;m(await je).default,we={ru:"Russian",en:"English",de:"German",es:"Spanish",fr:"French",it:"Italian",pl:"Polish",nl:"Dutch",pt:"Portuguese",uk:"Ukrainian","zh-cn":"Chinese"},Y={flexShrink:0,opacity:.7},ne={openai:n.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"currentColor",style:Y,children:n.jsx("path",{d:"M22.282 9.821a5.985 5.985 0 0 0-.516-4.91 6.046 6.046 0 0 0-6.51-2.9A6.065 6.065 0 0 0 4.981 4.18a5.985 5.985 0 0 0-3.998 2.9 6.046 6.046 0 0 0 .743 7.097 5.98 5.98 0 0 0 .51 4.911 6.051 6.051 0 0 0 6.515 2.9A5.985 5.985 0 0 0 13.26 24a6.056 6.056 0 0 0 5.772-4.206 5.99 5.99 0 0 0 3.997-2.9 6.056 6.056 0 0 0-.747-7.073zM13.26 22.43a4.476 4.476 0 0 1-2.876-1.04l.141-.081 4.779-2.758a.795.795 0 0 0 .392-.681v-6.737l2.02 1.168a.071.071 0 0 1 .038.052v5.583a4.504 4.504 0 0 1-4.494 4.494zM3.6 18.304a4.47 4.47 0 0 1-.535-3.014l.142.085 4.783 2.759a.771.771 0 0 0 .78 0l5.843-3.369v2.332a.08.08 0 0 1-.033.062L9.74 19.95a4.5 4.5 0 0 1-6.14-1.646zM2.34 7.896a4.485 4.485 0 0 1 2.366-1.973V11.6a.766.766 0 0 0 .388.676l5.815 3.355-2.02 1.168a.076.076 0 0 1-.071 0l-4.83-2.786A4.504 4.504 0 0 1 2.34 7.872zm16.597 3.855-5.833-3.387L15.119 7.2a.076.076 0 0 1 .071 0l4.83 2.791a4.494 4.494 0 0 1-.676 8.105v-5.678a.79.79 0 0 0-.407-.667zm2.01-3.023-.141-.085-4.774-2.782a.776.776 0 0 0-.785 0L9.409 9.23V6.897a.066.066 0 0 1 .028-.061l4.83-2.787a4.5 4.5 0 0 1 6.68 4.66zm-12.64 4.135-2.02-1.164a.08.08 0 0 1-.038-.057V6.075a4.5 4.5 0 0 1 7.375-3.453l-.142.08L8.704 5.46a.795.795 0 0 0-.393.681zm1.097-2.365 2.602-1.5 2.607 1.5v2.999l-2.597 1.5-2.607-1.5z"})}),anthropic:n.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"currentColor",style:Y,children:n.jsx("path",{d:"M17.304 3.54h-3.604L7.128 20.46h3.604l1.345-3.462h6.932l1.345 3.462H24L17.304 3.54zm-3.45 10.696 2.647-6.812 2.647 6.812h-5.295zM6.696 3.54H3.092L0 20.46h3.604L6.696 3.54z"})}),gemini:n.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"currentColor",style:Y,children:n.jsx("path",{d:"M12 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0z"})}),deepseek:n.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"currentColor",style:Y,children:n.jsx("path",{d:"M5 3h6a9 9 0 0 1 0 18H5V3zm4 14V7h2a5 5 0 0 1 0 10H9z"})})};async function se(s,f){const r=Object.keys(f);for(let v=0;v{const[f,r]=S(window.localStorage.getItem("openai-question")||""),[v,d]=S(""),[k,A]=S(!1),[W,_]=S(!1),[b,R]=S(window.localStorage.getItem("openai-model")||""),[D,M]=S(!1),[E,P]=S([]),[N,L]=S(!0),[K,m]=S(null),a=H(null),h=H(null),c=H({}),j=H(null),z=J(async e=>{L(!0),m(null);try{const o=await se(s.socket,s.runningInstances);if(e!=null&&e.current)return;if(!o){L(!1);return}h.current=o;const I=Object.keys(s.runningInstances)[0];if(!I){m(l.I18n.t("No running javascript instance found")),L(!1);return}const g=[],w={},i=[],x=[],p=(t,B)=>{for(const O of t){const C=O.toLowerCase();C.includes("embedding")||C.includes("moderation")||C.startsWith("dall-e")||C.startsWith("tts-")||C.startsWith("whisper")||C.startsWith("babbage")||C.startsWith("davinci")||C.startsWith("sora")||C.startsWith("omni-moderation")||w[O]||(g.push(O),w[O]=B)}};if((o.gptKey||o.gptBaseUrl)&&x.push(s.socket.sendTo(I,"testApiConnection",{apiKey:o.gptKey,baseUrl:o.gptBaseUrl||"",provider:"openai"}).then(t=>{t.models?p(t.models,"openai"):t.error&&i.push(`OpenAI: ${t.error}`)}).catch(t=>{i.push(`OpenAI: ${String(t)}`)})),o.claudeKey&&x.push(s.socket.sendTo(I,"testApiConnection",{apiKey:o.claudeKey,provider:"anthropic"}).then(t=>{t.models?p(t.models,"anthropic"):t.error&&i.push(`Anthropic: ${t.error}`)}).catch(t=>{i.push(`Anthropic: ${String(t)}`)})),o.geminiKey&&x.push(s.socket.sendTo(I,"testApiConnection",{apiKey:o.geminiKey,provider:"gemini"}).then(t=>{t.models?p(t.models,"gemini"):t.error&&i.push(`Gemini: ${t.error}`)}).catch(t=>{i.push(`Gemini: ${String(t)}`)})),o.deepseekKey&&x.push(s.socket.sendTo(I,"testApiConnection",{apiKey:o.deepseekKey,provider:"deepseek"}).then(t=>{t.models?p(t.models,"deepseek"):t.error&&i.push(`DeepSeek: ${t.error}`)}).catch(t=>{i.push(`DeepSeek: ${String(t)}`)})),await Promise.all(x),e!=null&&e.current)return;if(c.current=w,g.length>0){g.sort(),P(g);const t=window.localStorage.getItem("openai-model");t&&g.includes(t)?R(t):R(g[0])}i.length>0&&m(i.join("; "))}catch(o){console.error("Failed to fetch models:",o),e!=null&&e.current||m(l.I18n.t("Request failed: %s",String(o)))}e!=null&&e.current||L(!1)},[s.socket,s.runningInstances]);re(()=>{const e={current:!1};return z(e),()=>{e.current=!0}},[z]);const T=J(async()=>{let e;a.current?e=a.current:(e=await Ie(s.socket),a.current=e,console.log(`devices: ${JSON.stringify(e,null,2)}`));let o=h.current;o||(o=await se(s.socket,s.runningInstances),h.current=o);let I;if(j.current?I=j.current:(I=await _e(),j.current=I),!o){M(!0);return}const g=c.current[b];if(!g){_(l.I18n.t("Please select a valid model"));return}let w,i;g==="anthropic"?(w=o.claudeKey,i=""):g==="gemini"?(w=o.geminiKey,i=""):g==="deepseek"?(w=o.deepseekKey,i=""):(w=o.gptKey,i=o.gptBaseUrl||"");const x=Object.keys(s.runningInstances)[0];if(!x){_(l.I18n.t("No running javascript instance found"));return}A(!0),_(!1);try{const p=await s.socket.sendTo(x,"chatCompletion",{apiKey:w,baseUrl:i,model:b,provider:g,messages:[{role:"system",content:`You are programmer. Here is a documentation: ${I}`},{role:"system",content:`Here is list of devices: diff --git a/admin/assets/ScriptEditor-BVaX7Hcs.js b/admin/assets/ScriptEditor-Bsfab35t.js similarity index 92% rename from admin/assets/ScriptEditor-BVaX7Hcs.js rename to admin/assets/ScriptEditor-Bsfab35t.js index ef81ce188..9da8f4385 100644 --- a/admin/assets/ScriptEditor-BVaX7Hcs.js +++ b/admin/assets/ScriptEditor-Bsfab35t.js @@ -1,2 +1,2 @@ -import{j as e}from"./createSvgIcon-DPvF8xqu.js";import{a as n}from"./iobroker_javascript__loadShare__react__loadShare__.mjs-CTZOFJS2.js";import{_ as l,a as c,b as h,z as o,h as d,i}from"./iobroker_javascript__loadShare___mf_0_mui_mf_1_material__loadShare__.mjs-QWG5Arqe.js";import{_ as a}from"./iobroker_javascript__loadShare___mf_0_iobroker_mf_1_adapter_mf_2_react_mf_2_v5__loadShare__.mjs-DkBjPSMw.js";import p from"./ScriptEditorVanillaMonaco-yq11eIYC.js";import{S as m}from"./Save-Cld9qv9i.js";import{a as g}from"./index-Cu-TydZj.js";import"./iobroker_javascript__loadShare__react__loadShare__.mjs_commonjs-proxy-CE9lvhW8.js";import"./iobroker_javascript__loadShare__prop_mf_2_types__loadShare__.mjs-BCtSFofY.js";const s={textArea:{width:"calc(100% - 10px)",resize:"none"},dialog:{height:"95%"},fullHeight:{height:"100%",overflow:"hidden"},args:r=>({color:r.palette.mode==="dark"?"white":"black",height:30,width:"100%",fontSize:16}),argsTitle:r=>({color:r.palette.mode==="dark"?"white":"black",fontWeight:"bold"})};class b extends n.Component{constructor(t){super(t),this.state={changed:!1,source:!t.source&&t.isReturn?` +import{j as e}from"./createSvgIcon-DPvF8xqu.js";import{a as n}from"./iobroker_javascript__loadShare__react__loadShare__.mjs-CTZOFJS2.js";import{_ as l,a as c,b as h,z as o,h as d,i}from"./iobroker_javascript__loadShare___mf_0_mui_mf_1_material__loadShare__.mjs-QWG5Arqe.js";import{_ as a}from"./iobroker_javascript__loadShare___mf_0_iobroker_mf_1_adapter_mf_2_react_mf_2_v5__loadShare__.mjs-DkBjPSMw.js";import p from"./ScriptEditorVanillaMonaco-BvDS5a34.js";import{S as m}from"./Save-Cld9qv9i.js";import{a as g}from"./index-C49cpVll.js";import"./iobroker_javascript__loadShare__react__loadShare__.mjs_commonjs-proxy-CE9lvhW8.js";import"./iobroker_javascript__loadShare__prop_mf_2_types__loadShare__.mjs-BCtSFofY.js";const s={textArea:{width:"calc(100% - 10px)",resize:"none"},dialog:{height:"95%"},fullHeight:{height:"100%",overflow:"hidden"},args:r=>({color:r.palette.mode==="dark"?"white":"black",height:30,width:"100%",fontSize:16}),argsTitle:r=>({color:r.palette.mode==="dark"?"white":"black",fontWeight:"bold"})};class b extends n.Component{constructor(t){super(t),this.state={changed:!1,source:!t.source&&t.isReturn?` return false`:t.source}}componentDidMount(){setTimeout(()=>{var t;try{(t=window.document.getElementById("source-text-area"))==null||t.focus()}catch{}},100)}handleCancel(){this.props.onClose(!1)}handleOk(){(!this.props.isReturn||this.state.source.includes("return "))&&this.props.onClose(this.state.source)}onChange(t){this.setState({changed:!0,source:t})}render(){return e.jsxs(l,{onClose:()=>!1,maxWidth:"lg",sx:{"& .MuiDialog-paper":s.dialog},fullWidth:!0,open:!0,"aria-labelledby":"source-dialog-title",children:[e.jsx(c,{id:"source-dialog-title",children:a.I18n.t("Function editor")}),e.jsxs(h,{style:s.fullHeight,children:[this.props.args&&e.jsxs(o,{sx:s.args,children:[e.jsx(o,{component:"span",sx:s.argsTitle,children:a.I18n.t("function (")}),this.props.args,e.jsx(o,{component:"span",sx:s.argsTitle,children:")"})]},"arguments"),e.jsx(p,{triggerPrettier:1,adapterName:this.props.adapterName,runningInstances:this.props.runningInstances,style:{...s.textArea,height:this.props.args?"calc(100% - 30px)":"100%"},name:"blockly",socket:this.props.socket,readOnly:!1,checkJs:!1,changed:this.state.changed,code:this.state.source,isDark:this.props.themeType==="dark",onChange:t=>this.onChange(t),language:"javascript"},"scriptEditor")]}),e.jsxs(d,{children:[e.jsx(i,{variant:"contained",onClick:()=>this.handleOk(),color:"primary",startIcon:e.jsx(m,{}),children:a.I18n.t("Save")}),e.jsx(i,{color:"grey",variant:"contained",onClick:()=>this.handleCancel(),startIcon:e.jsx(g,{}),children:a.I18n.t("Cancel")})]})]})}}export{b as default}; diff --git a/admin/assets/ScriptEditorVanillaMonaco-BvDS5a34.js b/admin/assets/ScriptEditorVanillaMonaco-BvDS5a34.js new file mode 100644 index 000000000..3adbe21cf --- /dev/null +++ b/admin/assets/ScriptEditorVanillaMonaco-BvDS5a34.js @@ -0,0 +1 @@ +import{j as n}from"./createSvgIcon-DPvF8xqu.js";import{a as D}from"./iobroker_javascript__loadShare__react__loadShare__.mjs-CTZOFJS2.js";import{_ as C,a as k,b as S,h as E,i as w,Q as O,o as v,a0 as T}from"./iobroker_javascript__loadShare___mf_0_mui_mf_1_material__loadShare__.mjs-QWG5Arqe.js";import{n as b,X as N}from"./index-C49cpVll.js";import{_ as m}from"./iobroker_javascript__loadShare___mf_0_iobroker_mf_1_adapter_mf_2_react_mf_2_v5__loadShare__.mjs-DkBjPSMw.js";import"./iobroker_javascript__loadShare__react__loadShare__.mjs_commonjs-proxy-CE9lvhW8.js";import"./iobroker_javascript__loadShare__prop_mf_2_types__loadShare__.mjs-BCtSFofY.js";function L(y){return/^script\.js\.global\./.test(y)}let I=0;function j(y){const t=/\x1b\[[0-9;]*m/g;return y.replace(t,"")}class F extends D.Component{monacoDiv=null;editor=null;monaco=window.monaco;insert="";originalCode;runningInstancesStr;monacoCounter=0;location;breakpoints;lastSearch="";typings={};decorations=[];triggerPrettier;contentChangeDisposable=null;mouseDownDisposable=null;constructor(t){super(t),this.state={name:"current",isDark:t.isDark||!1,language:t.language||"javascript",readOnly:t.readOnly||!1,alive:!0,check:!1,searchText:this.props.searchText||"",typingsLoaded:!1,showError:null},this.triggerPrettier=t.triggerPrettier,this.runningInstancesStr=JSON.stringify(this.props.runningInstances),this.originalCode=t.code||"",this.monacoDiv=D.createRef()}waitForMonaco(t){var e,s,o,r,h,a;let i=!!((o=(s=(e=this.monaco)==null?void 0:e.typescript)==null?void 0:s.typescriptDefaults)!=null&&o.getCompilerOptions);if(!i||!this.props.runningInstances){if(this.monaco=window.monaco,i=!!((a=(h=(r=this.monaco)==null?void 0:r.typescript)==null?void 0:h.typescriptDefaults)!=null&&a.getCompilerOptions),this.monacoCounter++,!i&&this.monacoCounter<20){console.log("wait for monaco loaded"),setTimeout(()=>this.waitForMonaco(t),200);return}this.monacoCounter>=20&&console.error("Cannot load monaco!")}else t&&t()}loadTypings(t){if(!this.editor)return;t||=this.props.runningInstances;const i=t&&Object.keys(t).find(e=>t==null?void 0:t[e]);i&&this.props.socket.sendTo(i.replace("system.adapter.",""),"loadTypings",null).then(e=>{this.setState({alive:!0,check:!0,typingsLoaded:!0}),this.setTypeCheck(!0),e.typings?(this.typings=e.typings,this.setEditorTypings(this.state.name)):console.error(`failed to load typings: ${e.error}`)})}componentDidMount(){var e,s,o,r,h,a,p,d,c,u;let t=!!((o=(s=(e=this.monaco)==null?void 0:e.typescript)==null?void 0:s.typescriptDefaults)!=null&&o.getCompilerOptions);if((!t||!this.props.runningInstances)&&(this.monaco=window.monaco,t=!!((a=(h=(r=this.monaco)==null?void 0:r.typescript)==null?void 0:h.typescriptDefaults)!=null&&a.getCompilerOptions),!t)){console.log("wait for monaco loaded..."),this.waitForMonaco(()=>this.componentDidMount());return}if(!this.editor&&t&&this.monaco){console.log("Init editor"),(d=(p=this.props).onRegisterSelect)==null||d.call(p,()=>{var g;if(this.editor){const f=this.editor.getSelection();if(f)return(g=this.editor.getModel())==null?void 0:g.getValueInRange(f)}});const l=this.monaco.typescript.typescriptDefaults.getCompilerOptions();l.allowJs=!0,l.checkJs=this.props.checkJs!==!1,l.noLib=!0,l.lib=[],l.useUnknownInCatchVariables=!1,l.moduleResolution=this.monaco.typescript.ModuleResolutionKind.NodeJs,l.target=this.monaco.typescript.ScriptTarget.ESNext,l.module=this.monaco.typescript.ModuleKind.ESNext,l.allowNonTsExtensions=!0,this.monaco.typescript.typescriptDefaults.setCompilerOptions(l),this.setTypeCheck(!1),(c=this.monacoDiv)!=null&&c.current&&(this.editor=this.monaco.editor.create((u=this.monacoDiv)==null?void 0:u.current,{lineNumbers:"on",scrollBeyondLastLine:!1,automaticLayout:!0,glyphMargin:!!this.props.breakpoints,colorDecorators:!0}),this.contentChangeDisposable=this.editor.onDidChangeModelContent(()=>this.onChange()),this.loadTypings(),this.props.onForceSave&&this.editor.addCommand(this.monaco.KeyMod.CtrlCmd|this.monaco.KeyCode.KeyS,()=>this.props.onForceSave&&this.props.onForceSave()),setTimeout(()=>{this.highlightText(this.state.searchText),this.location=this.props.location||void 0,this.breakpoints=this.props.breakpoints,this.showDecorators()}))}const i={selectOnLineNumbers:!0,scrollBeyondLastLine:!1,automaticLayout:!0,readOnly:this.state.readOnly,language:this.state.language,isDark:this.state.isDark};this.setEditorOptions(i),this.editor&&(this.editor.focus(),this.editor.setValue(this.originalCode),this.props.onToggleBreakpoint&&(this.mouseDownDisposable=this.editor.onMouseDown(l=>{var f;const g=l.target;this.props.onToggleBreakpoint&&((f=g.detail)==null?void 0:f.glyphMarginLeft)!==void 0&&g.position&&this.props.onToggleBreakpoint(g.position.lineNumber-1)})))}setEditorOptions(t){var i;t&&(t.language&&this.setEditorLanguage(t.language),this.editor&&(t.readOnly!==void 0&&this.editor.updateOptions({readOnly:t.readOnly}),t.lineWrap!==void 0&&this.editor.updateOptions({wordWrap:t.lineWrap?"on":"off"})),t.typeCheck!==void 0&&this.setTypeCheck(t.typeCheck),t.isDark!==void 0&&((i=this.monaco)==null||i.editor.setTheme(t.isDark?"vs-dark":"vs")))}componentWillUnmount(){var t,i,e,s;(t=this.contentChangeDisposable)==null||t.dispose(),this.contentChangeDisposable=null,(i=this.mouseDownDisposable)==null||i.dispose(),this.mouseDownDisposable=null,this.editor&&((s=(e=this.props).onRegisterSelect)==null||s.call(e,null),this.editor.dispose(),this.editor=null)}async doPrettier(){var e,s,o,r;const t=this.props.runningInstances&&Object.keys(this.props.runningInstances).find(h=>{var a;return(a=this.props.runningInstances)==null?void 0:a[h]});if(!t){window.alert(m.I18n.t("No script adapter instance found to format the code"));return}const i=await this.props.socket.sendTo(t.replace("system.adapter.",""),"prettier",{code:(e=this.editor)==null?void 0:e.getValue(),type:this.state.language});i.error?this.setState({showError:{title:m.I18n.t("Error formatting code"),message:j(i.error)}}):i.code&&((s=this.editor)==null||s.setValue(i.code),(r=(o=this.props).onChange)==null||r.call(o,i.code),this.showDecorators())}setEditorLanguage(t){var e,s;if(!this.editor)return;const i=this.editor.getModel();if(i){const o=i.getValue(),r=i.uri.path,h=typeof r=="string"&&r.includes(".")?r.substring(0,r.lastIndexOf(".")):"index",a=t==="javascript"?"js":t==="typescript"?"ts":t;i.dispose();const p=t==="javascript"||t==="typescript"?"typescript":t,d=(e=this.monaco)==null?void 0:e.editor.createModel(o,p,this.monaco.Uri.from({scheme:window.location.protocol.replace(":",""),path:`${h}${I++}.${a}`}));d&&(this.editor.setModel(d),(s=this.contentChangeDisposable)==null||s.dispose(),this.contentChangeDisposable=this.editor.onDidChangeModelContent(()=>this.onChange()))}}setTypeCheck(t){var e,s;const i={noSemanticValidation:!this.state.alive||!t,noSyntaxValidation:!this.state.alive};(e=this.monaco)==null||e.typescript.typescriptDefaults.setDiagnosticsOptions(i),(s=this.monaco)==null||s.typescript.javascriptDefaults.setDiagnosticsOptions({noSemanticValidation:!this.state.alive||!t,noSyntaxValidation:!this.state.alive})}setEditorTypings(t=""){var o,r,h,a,p,d;const i=L(t),e=`${t}.d.ts`,s=[];for(const c of Object.keys(this.typings))i&&(c==="global.d.ts"||c.startsWith("script.js.global")&&c!==e)||s.push({filePath:c,content:this.typings[c]});if((h=(r=(o=this.monaco)==null?void 0:o.typescript)==null?void 0:r.typescriptDefaults)!=null&&h.setExtraLibs)this.monaco.typescript.typescriptDefaults.setExtraLibs(s);else if((d=(p=(a=this.monaco)==null?void 0:a.typescript)==null?void 0:p.typescriptDefaults)!=null&&d.addExtraLib){const c=this.monaco.typescript.typescriptDefaults.getExtraLibs();s.forEach(u=>{!c[u.filePath]&&this.monaco&&this.monaco.typescript.typescriptDefaults.addExtraLib(u.content,u.filePath)})}}insertTextIntoEditor(t){if(!this.editor||!this.monaco)return;const i=this.editor.getSelection();if(i){const e=new this.monaco.Range(i.startLineNumber,i.startColumn,i.endLineNumber,i.endColumn);this.editor.executeEdits("",[{range:e,text:t,forceMoveMarkers:!0}])}this.editor.focus()}highlightText(t){var e;if(!this.editor||!this.monaco)return;const i=t?(e=this.editor.getModel())==null?void 0:e.findMatches(t,!0,!1,!1,null,!0):void 0;if(i!=null&&i.length)i.forEach(s=>{var o;return(o=this.editor)==null?void 0:o.setSelection(s.range)}),this.editor.revealLine(i[0].range.startLineNumber);else{const s=this.editor.getPosition();if(s){const o=s.lineNumber,r=s.column;this.editor.setSelection(new this.monaco.Range(o,r,o,r))}}}showDecorators(){var i;const t=[];if(this.location&&this.monaco&&(t.push({range:new this.monaco.Range(this.location.lineNumber+1,(this.location.columnNumber||0)+1,this.location.lineNumber+1,1e3),options:{isWholeLine:!1,className:this.props.isDark?"monacoCurrentLineDark":"monacoCurrentLine"}}),t.push({range:new this.monaco.Range(this.location.lineNumber+1,0,this.location.lineNumber+1,0),options:{isWholeLine:!0,className:this.props.isDark?"monacoCurrentFullLineDark":"monacoCurrentFullLine"}})),(i=this.breakpoints)==null||i.forEach(e=>{this.monaco&&t.push({range:new this.monaco.Range(e.location.lineNumber+1,0,e.location.lineNumber+1,100),options:{isWholeLine:!0,glyphMarginClassName:this.props.isDark?"monacoBreakPointDark":"monacoBreakPoint"}})}),this.editor){const e=this.editor.getModel();e&&(this.decorations=e.deltaDecorations(this.decorations,t))}}initNewScript(t,i){var e;this.setState({name:t}),this.originalCode=i||"",(e=this.editor)==null||e.setValue(i||""),this.highlightText(this.lastSearch),this.showDecorators(),this.setEditorTypings(t)}scrollToLineIfNeeded(t){if(this.editor){const i=this.editor.getVisibleRanges();(!i||!i[0]||i[0].startLineNumber>t||t>i[0].endLineNumber)&&this.editor.revealLineInCenter(t)}}UNSAFE_componentWillReceiveProps(t){const i={};this.state.name!==t.name&&this.initNewScript(t.name,t.code),JSON.stringify(t.runningInstances)!==this.runningInstancesStr&&(this.runningInstancesStr=JSON.stringify(t.runningInstances),this.state.typingsLoaded||this.loadTypings(t.runningInstances)),this.editor&&!t.changed&&(t.code!==this.originalCode||t.code!==this.editor.getValue())&&(this.originalCode=t.code||"",this.editor.setValue(this.originalCode),this.showDecorators(),this.location&&this.scrollToLineIfNeeded(this.location.lineNumber+1)),t.searchText!==this.lastSearch&&(this.lastSearch=t.searchText||"",this.highlightText(this.lastSearch)),JSON.stringify(t.location)!==JSON.stringify(this.location)&&JSON.stringify(t.breakpoints)!==JSON.stringify(this.breakpoints)?(this.location=t.location||void 0,this.breakpoints=t.breakpoints,this.showDecorators(),this.editor&&this.location&&this.scrollToLineIfNeeded(this.location.lineNumber+1)):JSON.stringify(t.breakpoints)!==JSON.stringify(this.breakpoints)?(this.breakpoints=t.breakpoints,this.showDecorators()):JSON.stringify(t.location)!==JSON.stringify(this.location)&&(this.location=t.location||void 0,this.showDecorators(),this.editor&&this.location&&this.scrollToLineIfNeeded(this.location.lineNumber+1)),this.state.language!==(t.language||"javascript")?(this.setState({language:t.language||"javascript"}),i.language=t.language||"javascript"):this.state.readOnly!==(t.readOnly||!1)?(this.setState({readOnly:t.readOnly||!1}),i.readOnly=t.readOnly):this.state.isDark!==(t.isDark||!1)&&(this.setState({isDark:t.isDark||!1}),i.isDark=t.isDark),this.setEditorOptions(i),this.insert!==t.insert&&(this.insert=t.insert||"",this.insert&&(console.log(`Insert text: ${this.insert}`),setTimeout(e=>{this.insertTextIntoEditor(e),setTimeout(()=>this.props.onInserted&&this.props.onInserted(),100)},100,this.insert)))}onChange(){var t,i;!this.props.readOnly&&this.editor&&((i=(t=this.props).onChange)==null||i.call(t,this.editor.getValue()))}renderErrorDialog(){return this.state.showError?this.state.showError.full?n.jsxs(C,{open:!0,maxWidth:"md",onClose:()=>this.setState({showError:null}),children:[n.jsx(k,{children:this.state.showError.title||m.I18n.t("Error")}),n.jsx(S,{children:n.jsx("pre",{children:n.jsx("code",{children:this.state.showError.message})})}),n.jsx(E,{children:n.jsxs(w,{variant:"contained",startIcon:n.jsx(b,{}),onClick:()=>this.setState({showError:null}),children:[m.I18n.t("Close")," "]})})]}):n.jsx(O,{open:!0,autoHideDuration:5e3,onClose:()=>this.setState({showError:null}),message:this.state.showError.title,action:n.jsxs(D.Fragment,{children:[n.jsx(w,{color:"secondary",size:"small",onClick:()=>this.setState({showError:{...this.state.showError,full:!0}}),children:m.I18n.t("More")}),n.jsx(v,{size:"small","aria-label":"close",color:"inherit",onClick:()=>this.setState({showError:null}),children:n.jsx(b,{fontSize:"small"})})]})}):null}render(){var t,i;return!((i=(t=this.monaco)==null?void 0:t.typescript)!=null&&i.typescriptDefaults)||!this.props.runningInstances?(setTimeout(()=>{this.monaco=window.monaco,this.forceUpdate()},200),null):(this.props.triggerPrettier!==this.triggerPrettier&&(this.triggerPrettier=this.props.triggerPrettier,setTimeout(()=>this.doPrettier().catch(e=>console.error("Error formatting code:",e)),50)),n.jsxs("div",{ref:this.monacoDiv,style:{...this.props.style,width:"100%",height:"100%",overflow:"hidden",position:"relative"},children:[this.renderErrorDialog(),!this.state.check&&n.jsx(T,{size:"small",title:m.I18n.t("Check is not active, because javascript adapter is disabled"),style:{bottom:10,right:10,opacity:.5,position:"absolute",zIndex:1,background:"red",color:"white"},color:"secondary",children:n.jsx(N,{})})]}))}}export{F as default}; diff --git a/admin/assets/ScriptEditorVanillaMonaco-yq11eIYC.js b/admin/assets/ScriptEditorVanillaMonaco-yq11eIYC.js deleted file mode 100644 index 50633205b..000000000 --- a/admin/assets/ScriptEditorVanillaMonaco-yq11eIYC.js +++ /dev/null @@ -1 +0,0 @@ -import{j as n}from"./createSvgIcon-DPvF8xqu.js";import{a as k}from"./iobroker_javascript__loadShare__react__loadShare__.mjs-CTZOFJS2.js";import{_ as S,a as C,b,h as E,i as w,Q as O,o as v,a0 as T}from"./iobroker_javascript__loadShare___mf_0_mui_mf_1_material__loadShare__.mjs-QWG5Arqe.js";import{n as D,W as N}from"./index-Cu-TydZj.js";import{_ as g}from"./iobroker_javascript__loadShare___mf_0_iobroker_mf_1_adapter_mf_2_react_mf_2_v5__loadShare__.mjs-DkBjPSMw.js";import"./iobroker_javascript__loadShare__react__loadShare__.mjs_commonjs-proxy-CE9lvhW8.js";import"./iobroker_javascript__loadShare__prop_mf_2_types__loadShare__.mjs-BCtSFofY.js";function L(y){return/^script\.js\.global\./.test(y)}let I=0;function j(y){const t=/\x1b\[[0-9;]*m/g;return y.replace(t,"")}class F extends k.Component{monacoDiv=null;editor=null;monaco=window.monaco;insert="";originalCode;runningInstancesStr;monacoCounter=0;location;breakpoints;lastSearch="";typings={};decorations=[];triggerPrettier;constructor(t){super(t),this.state={name:"current",isDark:t.isDark||!1,language:t.language||"javascript",readOnly:t.readOnly||!1,alive:!0,check:!1,searchText:this.props.searchText||"",typingsLoaded:!1,showError:null},this.triggerPrettier=t.triggerPrettier,this.runningInstancesStr=JSON.stringify(this.props.runningInstances),this.originalCode=t.code||"",this.monacoDiv=k.createRef()}waitForMonaco(t){var e,s,o,r,h,a;let i=!!((o=(s=(e=this.monaco)==null?void 0:e.typescript)==null?void 0:s.typescriptDefaults)!=null&&o.getCompilerOptions);if(!i||!this.props.runningInstances){if(this.monaco=window.monaco,i=!!((a=(h=(r=this.monaco)==null?void 0:r.typescript)==null?void 0:h.typescriptDefaults)!=null&&a.getCompilerOptions),this.monacoCounter++,!i&&this.monacoCounter<20){console.log("wait for monaco loaded"),setTimeout(()=>this.waitForMonaco(t),200);return}this.monacoCounter>=20&&console.error("Cannot load monaco!")}else t&&t()}loadTypings(t){if(!this.editor)return;t||=this.props.runningInstances;const i=t&&Object.keys(t).find(e=>t==null?void 0:t[e]);i&&this.props.socket.sendTo(i.replace("system.adapter.",""),"loadTypings",null).then(e=>{this.setState({alive:!0,check:!0,typingsLoaded:!0}),this.setTypeCheck(!0),e.typings?(this.typings=e.typings,this.setEditorTypings(this.state.name)):console.error(`failed to load typings: ${e.error}`)})}componentDidMount(){var e,s,o,r,h,a,d,f,l,p;let t=!!((o=(s=(e=this.monaco)==null?void 0:e.typescript)==null?void 0:s.typescriptDefaults)!=null&&o.getCompilerOptions);if((!t||!this.props.runningInstances)&&(this.monaco=window.monaco,t=!!((a=(h=(r=this.monaco)==null?void 0:r.typescript)==null?void 0:h.typescriptDefaults)!=null&&a.getCompilerOptions),!t)){console.log("wait for monaco loaded..."),this.waitForMonaco(()=>this.componentDidMount());return}if(!this.editor&&t&&this.monaco){console.log("Init editor"),(f=(d=this.props).onRegisterSelect)==null||f.call(d,()=>{var u;if(this.editor){const m=this.editor.getSelection();if(m)return(u=this.editor.getModel())==null?void 0:u.getValueInRange(m)}});const c=this.monaco.typescript.typescriptDefaults.getCompilerOptions();c.allowJs=!0,c.checkJs=this.props.checkJs!==!1,c.noLib=!0,c.lib=[],c.useUnknownInCatchVariables=!1,c.moduleResolution=this.monaco.typescript.ModuleResolutionKind.NodeJs,c.target=this.monaco.typescript.ScriptTarget.ESNext,c.module=this.monaco.typescript.ModuleKind.ESNext,c.allowNonTsExtensions=!0,this.monaco.typescript.typescriptDefaults.setCompilerOptions(c),this.setTypeCheck(!1),(l=this.monacoDiv)!=null&&l.current&&(this.editor=this.monaco.editor.create((p=this.monacoDiv)==null?void 0:p.current,{lineNumbers:"on",scrollBeyondLastLine:!1,automaticLayout:!0,glyphMargin:!!this.props.breakpoints,colorDecorators:!0}),this.editor.onDidChangeModelContent(()=>this.onChange()),this.loadTypings(),this.props.onForceSave&&this.editor.addCommand(this.monaco.KeyMod.CtrlCmd|this.monaco.KeyCode.KeyS,()=>this.props.onForceSave&&this.props.onForceSave()),setTimeout(()=>{this.highlightText(this.state.searchText),this.location=this.props.location||void 0,this.breakpoints=this.props.breakpoints,this.showDecorators()}))}const i={selectOnLineNumbers:!0,scrollBeyondLastLine:!1,automaticLayout:!0,readOnly:this.state.readOnly,language:this.state.language,isDark:this.state.isDark};this.setEditorOptions(i),this.editor&&(this.editor.focus(),this.editor.setValue(this.originalCode),this.props.onToggleBreakpoint?this.editor.onMouseDown(c=>{var m;const u=c.target;this.props.onToggleBreakpoint&&((m=u.detail)==null?void 0:m.glyphMarginLeft)!==void 0&&u.position&&this.props.onToggleBreakpoint(u.position.lineNumber-1)}):this.editor.onMouseDown(()=>{}))}setEditorOptions(t){var i;t&&(t.language&&this.setEditorLanguage(t.language),this.editor&&(t.readOnly!==void 0&&this.editor.updateOptions({readOnly:t.readOnly}),t.lineWrap!==void 0&&this.editor.updateOptions({wordWrap:t.lineWrap?"on":"off"})),t.typeCheck!==void 0&&this.setTypeCheck(t.typeCheck),t.isDark!==void 0&&((i=this.monaco)==null||i.editor.setTheme(t.isDark?"vs-dark":"vs")))}componentWillUnmount(){var t,i;this.editor&&((i=(t=this.props).onRegisterSelect)==null||i.call(t,null),this.editor.dispose(),this.editor=null)}async doPrettier(){var e,s,o,r;const t=this.props.runningInstances&&Object.keys(this.props.runningInstances).find(h=>{var a;return(a=this.props.runningInstances)==null?void 0:a[h]});if(!t){window.alert(g.I18n.t("No script adapter instance found to format the code"));return}const i=await this.props.socket.sendTo(t.replace("system.adapter.",""),"prettier",{code:(e=this.editor)==null?void 0:e.getValue(),type:this.state.language});i.error?this.setState({showError:{title:g.I18n.t("Error formatting code"),message:j(i.error)}}):i.code&&((s=this.editor)==null||s.setValue(i.code),(r=(o=this.props).onChange)==null||r.call(o,i.code),this.showDecorators())}setEditorLanguage(t){var e;if(!this.editor)return;const i=this.editor.getModel();if(i){const s=i.getValue(),o=i.uri.path,r=typeof o=="string"&&o.includes(".")?o.substring(0,o.lastIndexOf(".")):"index",h=t==="javascript"?"js":t==="typescript"?"ts":t;i.dispose();const a=t==="javascript"||t==="typescript"?"typescript":t,d=(e=this.monaco)==null?void 0:e.editor.createModel(s,a,this.monaco.Uri.from({scheme:window.location.protocol.replace(":",""),path:`${r}${I++}.${h}`}));d&&this.editor.setModel(d)}}setTypeCheck(t){var e,s;const i={noSemanticValidation:!this.state.alive||!t,noSyntaxValidation:!this.state.alive};(e=this.monaco)==null||e.typescript.typescriptDefaults.setDiagnosticsOptions(i),(s=this.monaco)==null||s.typescript.javascriptDefaults.setDiagnosticsOptions({noSemanticValidation:!this.state.alive||!t,noSyntaxValidation:!this.state.alive})}setEditorTypings(t=""){var o,r,h,a,d,f;const i=L(t),e=`${t}.d.ts`,s=[];for(const l of Object.keys(this.typings))i&&(l==="global.d.ts"||l.startsWith("script.js.global")&&l!==e)||s.push({filePath:l,content:this.typings[l]});if((h=(r=(o=this.monaco)==null?void 0:o.typescript)==null?void 0:r.typescriptDefaults)!=null&&h.setExtraLibs)this.monaco.typescript.typescriptDefaults.setExtraLibs(s);else if((f=(d=(a=this.monaco)==null?void 0:a.typescript)==null?void 0:d.typescriptDefaults)!=null&&f.addExtraLib){const l=this.monaco.typescript.typescriptDefaults.getExtraLibs();s.forEach(p=>{!l[p.filePath]&&this.monaco&&this.monaco.typescript.typescriptDefaults.addExtraLib(p.content,p.filePath)})}}insertTextIntoEditor(t){if(!this.editor||!this.monaco)return;const i=this.editor.getSelection();if(i){const e=new this.monaco.Range(i.startLineNumber,i.startColumn,i.endLineNumber,i.endColumn);this.editor.executeEdits("",[{range:e,text:t,forceMoveMarkers:!0}])}this.editor.focus()}highlightText(t){var e;if(!this.editor||!this.monaco)return;const i=t?(e=this.editor.getModel())==null?void 0:e.findMatches(t,!0,!1,!1,null,!0):void 0;if(i!=null&&i.length)i.forEach(s=>{var o;return(o=this.editor)==null?void 0:o.setSelection(s.range)}),this.editor.revealLine(i[0].range.startLineNumber);else{const s=this.editor.getPosition();if(s){const o=s.lineNumber,r=s.column;this.editor.setSelection(new this.monaco.Range(o,r,o,r))}}}showDecorators(){var i;const t=[];if(this.location&&this.monaco&&(t.push({range:new this.monaco.Range(this.location.lineNumber+1,(this.location.columnNumber||0)+1,this.location.lineNumber+1,1e3),options:{isWholeLine:!1,className:this.props.isDark?"monacoCurrentLineDark":"monacoCurrentLine"}}),t.push({range:new this.monaco.Range(this.location.lineNumber+1,0,this.location.lineNumber+1,0),options:{isWholeLine:!0,className:this.props.isDark?"monacoCurrentFullLineDark":"monacoCurrentFullLine"}})),(i=this.breakpoints)==null||i.forEach(e=>{this.monaco&&t.push({range:new this.monaco.Range(e.location.lineNumber+1,0,e.location.lineNumber+1,100),options:{isWholeLine:!0,glyphMarginClassName:this.props.isDark?"monacoBreakPointDark":"monacoBreakPoint"}})}),this.editor){const e=this.editor.getModel();e&&(this.decorations=e.deltaDecorations(this.decorations,t))}}initNewScript(t,i){var e;this.setState({name:t}),this.originalCode=i||"",(e=this.editor)==null||e.setValue(i||""),this.highlightText(this.lastSearch),this.showDecorators(),this.setEditorTypings(t)}scrollToLineIfNeeded(t){if(this.editor){const i=this.editor.getVisibleRanges();(!i||!i[0]||i[0].startLineNumber>t||t>i[0].endLineNumber)&&this.editor.revealLineInCenter(t)}}UNSAFE_componentWillReceiveProps(t){const i={};this.state.name!==t.name&&this.initNewScript(t.name,t.code),JSON.stringify(t.runningInstances)!==this.runningInstancesStr&&(this.runningInstancesStr=JSON.stringify(t.runningInstances),this.state.typingsLoaded||this.loadTypings(t.runningInstances)),this.editor&&!t.changed&&(t.code!==this.originalCode||t.code!==this.editor.getValue())&&(this.originalCode=t.code||"",this.editor.setValue(this.originalCode),this.showDecorators(),this.location&&this.scrollToLineIfNeeded(this.location.lineNumber+1)),t.searchText!==this.lastSearch&&(this.lastSearch=t.searchText||"",this.highlightText(this.lastSearch)),JSON.stringify(t.location)!==JSON.stringify(this.location)&&JSON.stringify(t.breakpoints)!==JSON.stringify(this.breakpoints)?(this.location=t.location||void 0,this.breakpoints=t.breakpoints,this.showDecorators(),this.editor&&this.location&&this.scrollToLineIfNeeded(this.location.lineNumber+1)):JSON.stringify(t.breakpoints)!==JSON.stringify(this.breakpoints)?(this.breakpoints=t.breakpoints,this.showDecorators()):JSON.stringify(t.location)!==JSON.stringify(this.location)&&(this.location=t.location||void 0,this.showDecorators(),this.editor&&this.location&&this.scrollToLineIfNeeded(this.location.lineNumber+1)),this.state.language!==(t.language||"javascript")?(this.setState({language:t.language||"javascript"}),i.language=t.language||"javascript"):this.state.readOnly!==(t.readOnly||!1)?(this.setState({readOnly:t.readOnly||!1}),i.readOnly=t.readOnly):this.state.isDark!==(t.isDark||!1)&&(this.setState({isDark:t.isDark||!1}),i.isDark=t.isDark),this.setEditorOptions(i),this.insert!==t.insert&&(this.insert=t.insert||"",this.insert&&(console.log(`Insert text: ${this.insert}`),setTimeout(e=>{this.insertTextIntoEditor(e),setTimeout(()=>this.props.onInserted&&this.props.onInserted(),100)},100,this.insert)))}onChange(){var t,i;!this.props.readOnly&&this.editor&&((i=(t=this.props).onChange)==null||i.call(t,this.editor.getValue()))}renderErrorDialog(){return this.state.showError?this.state.showError.full?n.jsxs(S,{open:!0,maxWidth:"md",onClose:()=>this.setState({showError:null}),children:[n.jsx(C,{children:this.state.showError.title||g.I18n.t("Error")}),n.jsx(b,{children:n.jsx("pre",{children:n.jsx("code",{children:this.state.showError.message})})}),n.jsx(E,{children:n.jsxs(w,{variant:"contained",startIcon:n.jsx(D,{}),onClick:()=>this.setState({showError:null}),children:[g.I18n.t("Close")," "]})})]}):n.jsx(O,{open:!0,autoHideDuration:5e3,onClose:()=>this.setState({showError:null}),message:this.state.showError.title,action:n.jsxs(k.Fragment,{children:[n.jsx(w,{color:"secondary",size:"small",onClick:()=>this.setState({showError:{...this.state.showError,full:!0}}),children:g.I18n.t("More")}),n.jsx(v,{size:"small","aria-label":"close",color:"inherit",onClick:()=>this.setState({showError:null}),children:n.jsx(D,{fontSize:"small"})})]})}):null}render(){var t,i;return!((i=(t=this.monaco)==null?void 0:t.typescript)!=null&&i.typescriptDefaults)||!this.props.runningInstances?(setTimeout(()=>{this.monaco=window.monaco,this.forceUpdate()},200),null):(this.props.triggerPrettier!==this.triggerPrettier&&(this.triggerPrettier=this.props.triggerPrettier,setTimeout(()=>this.doPrettier().catch(e=>console.error("Error formatting code:",e)),50)),n.jsxs("div",{ref:this.monacoDiv,style:{...this.props.style,width:"100%",height:"100%",overflow:"hidden",position:"relative"},children:[this.renderErrorDialog(),!this.state.check&&n.jsx(T,{size:"small",title:g.I18n.t("Check is not active, because javascript adapter is disabled"),style:{bottom:10,right:10,opacity:.5,position:"absolute",zIndex:1,background:"red",color:"white"},color:"secondary",children:n.jsx(N,{})})]}))}}export{F as default}; diff --git a/admin/assets/index-lco9qhq6.js b/admin/assets/index-3e3k-1o_.js similarity index 87% rename from admin/assets/index-lco9qhq6.js rename to admin/assets/index-3e3k-1o_.js index 25db1ccf3..dc493cfed 100644 --- a/admin/assets/index-lco9qhq6.js +++ b/admin/assets/index-3e3k-1o_.js @@ -1,5 +1,5 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index-CrP4fDhH.js","./createSvgIcon-DPvF8xqu.js","./iobroker_javascript__loadShare__react__loadShare__.mjs-CTZOFJS2.js","./iobroker_javascript__loadShare__react__loadShare__.mjs_commonjs-proxy-CE9lvhW8.js","./iobroker_javascript__loadShare__prop_mf_2_types__loadShare__.mjs-BCtSFofY.js","./iobroker_javascript__loadShare___mf_0_iobroker_mf_1_adapter_mf_2_react_mf_2_v5__loadShare__.mjs-DkBjPSMw.js","./iobroker_javascript__loadShare___mf_0_mui_mf_1_material__loadShare__.mjs-QWG5Arqe.js","./index-Cu-TydZj.js","./virtual_mf-REMOTE_ENTRY_ID_iobroker_javascript__remoteEntry_js-C9suQF96.js","./preload-helper-BDBacUwf.js","./iobroker_javascript__loadShare__react_mf_2_dom__loadShare__.mjs_commonjs-proxy-RQRRZMX5.js","./iobroker_javascript__loadShare__react_mf_2_dom__loadShare__.mjs-DeVAS-oa.js","./inheritsLoose-B0Ba5G9z.js","./index-BCK6q-N6.css","./index-c_pDs-29.js","./ScriptEditorVanillaMonaco-yq11eIYC.js","./ScriptEditor-BVaX7Hcs.js","./Save-Cld9qv9i.js","./OpenAiDialog-CgYwxxDC.js","./index-gIA8x-8f.js"])))=>i.map(i=>d[i]); -import{d as Xy}from"./virtual_mf-REMOTE_ENTRY_ID_iobroker_javascript__remoteEntry_js-C9suQF96.js";import{j as g,c as ht,g as Cw,r as Tw,_ as Tg,i as Zy}from"./createSvgIcon-DPvF8xqu.js";import{r as Ek}from"./iobroker_javascript__loadShare__react_mf_2_dom__loadShare__.mjs_commonjs-proxy-RQRRZMX5.js";import{a as Y,_ as Ik,b as Bo,c as Mt,d as xk,e as kw,f as kg,g as rm,h as am,i as lm,j as vt,k as _n,l as rs,m as Xr,n as Sw,o as Sg,p as Dk,q as Ak,r as Ew,s as Rk,t as pn}from"./iobroker_javascript__loadShare__react__loadShare__.mjs-CTZOFJS2.js";import{_ as Vt,a as as,b as Gt,c as vo,d as _i,e as Eg,f as wi,g as Ve,h as Kt,i as De,j as Yl,k as Jl,l as ql,m as Xl,n as Zl,o as Me,p as Iw,q as $i,r as Ig,s as Qy,t as xg,u as Dg,v as Dn,w as xw,x as Ok,y as cm,z as $t,A as Mk,B as e_,C as Nk,D as Yp,E as bc,F as Lk,G as Pk,H as Bk,I as jk,J as Dw,K as Fk,L as zk,M as t_,N as gn,O as Uk,P as Hk,Q as Wk,R as Vk,S as Gk,T as Aw,U as Kk,V as Ag,W as Rw,X as Yk}from"./iobroker_javascript__loadShare___mf_0_mui_mf_1_material__loadShare__.mjs-QWG5Arqe.js";import{_ as b}from"./iobroker_javascript__loadShare___mf_0_iobroker_mf_1_adapter_mf_2_react_mf_2_v5__loadShare__.mjs-DkBjPSMw.js";import{I as zo,a as qs,b as dc,C as Jk,c as Ow,F as qk,d as Xk,e as vc,f as Rg,g as Zk,h as Qk,i as eS,j as tS,M as sS,k as oS,l as iS,m as nS,_ as rS,n as Ql,o as aS,p as lS,q as ec,r as s_,s as cS,t as uS,u as dS,v as hS,w as o_,x as Wc,y as pS,z as gS,A as mS,B as fS,D as $S,E as bS,G as Mw,H as Nw,J as Lw,L as vS,K as yS,N as _S,O as wS,P as CS,Q as TS}from"./index-Cu-TydZj.js";import{y as kS,_ as SS,a as ES,m as IS,S as i_,T as n_}from"./inheritsLoose-B0Ba5G9z.js";import{c as wn}from"./iobroker_javascript__loadShare__react__loadShare__.mjs_commonjs-proxy-CE9lvhW8.js";function Si(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}import{_ as On}from"./preload-helper-BDBacUwf.js";import{P as Z}from"./iobroker_javascript__loadShare__prop_mf_2_types__loadShare__.mjs-BCtSFofY.js";import{_ as xS}from"./iobroker_javascript__loadShare__react_mf_2_dom__loadShare__.mjs-DeVAS-oa.js";(function(){const s=document.createElement("link").relList;if(s&&s.supports&&s.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))r(l);new MutationObserver(l=>{for(const u of l)if(u.type==="childList")for(const d of u.addedNodes)d.tagName==="LINK"&&d.rel==="modulepreload"&&r(d)}).observe(document,{childList:!0,subtree:!0});function i(l){const u={};return l.integrity&&(u.integrity=l.integrity),l.referrerPolicy&&(u.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?u.credentials="include":l.crossOrigin==="anonymous"?u.credentials="omit":u.credentials="same-origin",u}function r(l){if(l.ep)return;l.ep=!0;const u=i(l);fetch(l.href,u)}})();var Pw,r_=Ek;Pw=r_.createRoot,r_.hydrateRoot;var Bw={exports:{}},rt={};var Vc=60103,Gc=60106,Zr=60107,Qr=60108,ea=60114,ta=60109,sa=60110,oa=60112,ia=60113,um=60120,na=60115,ra=60116,jw=60121,Fw=60122,zw=60117,Uw=60129,Hw=60131;if(typeof Symbol=="function"&&Symbol.for){var Rt=Symbol.for;Vc=Rt("react.element"),Gc=Rt("react.portal"),Zr=Rt("react.fragment"),Qr=Rt("react.strict_mode"),ea=Rt("react.profiler"),ta=Rt("react.provider"),sa=Rt("react.context"),oa=Rt("react.forward_ref"),ia=Rt("react.suspense"),um=Rt("react.suspense_list"),na=Rt("react.memo"),ra=Rt("react.lazy"),jw=Rt("react.block"),Fw=Rt("react.server.block"),zw=Rt("react.fundamental"),Uw=Rt("react.debug_trace_mode"),Hw=Rt("react.legacy_hidden")}function Rs(a){if(typeof a=="object"&&a!==null){var s=a.$$typeof;switch(s){case Vc:switch(a=a.type,a){case Zr:case ea:case Qr:case ia:case um:return a;default:switch(a=a&&a.$$typeof,a){case sa:case oa:case ra:case na:case ta:return a;default:return s}}case Gc:return s}}}var DS=ta,AS=Vc,RS=oa,OS=Zr,MS=ra,NS=na,LS=Gc,PS=ea,BS=Qr,jS=ia;rt.ContextConsumer=sa;rt.ContextProvider=DS;rt.Element=AS;rt.ForwardRef=RS;rt.Fragment=OS;rt.Lazy=MS;rt.Memo=NS;rt.Portal=LS;rt.Profiler=PS;rt.StrictMode=BS;rt.Suspense=jS;rt.isAsyncMode=function(){return!1};rt.isConcurrentMode=function(){return!1};rt.isContextConsumer=function(a){return Rs(a)===sa};rt.isContextProvider=function(a){return Rs(a)===ta};rt.isElement=function(a){return typeof a=="object"&&a!==null&&a.$$typeof===Vc};rt.isForwardRef=function(a){return Rs(a)===oa};rt.isFragment=function(a){return Rs(a)===Zr};rt.isLazy=function(a){return Rs(a)===ra};rt.isMemo=function(a){return Rs(a)===na};rt.isPortal=function(a){return Rs(a)===Gc};rt.isProfiler=function(a){return Rs(a)===ea};rt.isStrictMode=function(a){return Rs(a)===Qr};rt.isSuspense=function(a){return Rs(a)===ia};rt.isValidElementType=function(a){return typeof a=="string"||typeof a=="function"||a===Zr||a===ea||a===Uw||a===Qr||a===ia||a===um||a===Hw||typeof a=="object"&&a!==null&&(a.$$typeof===ra||a.$$typeof===na||a.$$typeof===ta||a.$$typeof===sa||a.$$typeof===oa||a.$$typeof===zw||a.$$typeof===jw||a[0]===Fw)};rt.typeOf=Rs;Bw.exports=rt;var FS=Bw.exports;function yc(a,s){const i=getComputedStyle(s);if(!i)return;let r=a===dt.Horizontal?s.clientWidth:s.clientHeight;return r!==0?(a===dt.Horizontal?r-=parseFloat(i.paddingLeft)+parseFloat(i.paddingRight):r-=parseFloat(i.paddingTop)+parseFloat(i.paddingBottom),r):void 0}function tc(a,s,i=[],r={condition:!0}){const{condition:l}=r,u=(function(d,p){var m={};for(var f in d)Object.prototype.hasOwnProperty.call(d,f)&&p.indexOf(f)<0&&(m[f]=d[f]);if(d!=null&&typeof Object.getOwnPropertySymbols=="function"){var v=0;for(f=Object.getOwnPropertySymbols(d);v(l&&window.addEventListener(a,s,u),()=>{l&&window.removeEventListener(a,s)})),[a,s,l,...i])}(function(a,s){s===void 0&&(s={});var i=s.insertAt;if(typeof document<"u"){var r=document.head||document.getElementsByTagName("head")[0],l=document.createElement("style");l.type="text/css",i==="top"&&r.firstChild?r.insertBefore(l,r.firstChild):r.appendChild(l),l.styleSheet?l.styleSheet.cssText=a:l.appendChild(document.createTextNode(a))}})(`/* === Main Container === */ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index-WMcL3d55.js","./createSvgIcon-DPvF8xqu.js","./iobroker_javascript__loadShare__react__loadShare__.mjs-CTZOFJS2.js","./iobroker_javascript__loadShare__react__loadShare__.mjs_commonjs-proxy-CE9lvhW8.js","./iobroker_javascript__loadShare__prop_mf_2_types__loadShare__.mjs-BCtSFofY.js","./iobroker_javascript__loadShare___mf_0_iobroker_mf_1_adapter_mf_2_react_mf_2_v5__loadShare__.mjs-DkBjPSMw.js","./iobroker_javascript__loadShare___mf_0_mui_mf_1_material__loadShare__.mjs-QWG5Arqe.js","./index-C49cpVll.js","./virtual_mf-REMOTE_ENTRY_ID_iobroker_javascript__remoteEntry_js-D-eF6r8M.js","./preload-helper-BDBacUwf.js","./iobroker_javascript__loadShare__react_mf_2_dom__loadShare__.mjs_commonjs-proxy-RQRRZMX5.js","./iobroker_javascript__loadShare__react_mf_2_dom__loadShare__.mjs-DeVAS-oa.js","./inheritsLoose-B0Ba5G9z.js","./index-BCK6q-N6.css","./index-DnWxMXLc.js","./ScriptEditorVanillaMonaco-BvDS5a34.js","./ScriptEditor-Bsfab35t.js","./Save-Cld9qv9i.js","./OpenAiDialog-Cn1mdhXZ.js","./index-gIA8x-8f.js"])))=>i.map(i=>d[i]); +import{d as Xy}from"./virtual_mf-REMOTE_ENTRY_ID_iobroker_javascript__remoteEntry_js-D-eF6r8M.js";import{j as g,c as ht,g as Cw,r as Tw,_ as Tg,i as Zy}from"./createSvgIcon-DPvF8xqu.js";import{r as Ek}from"./iobroker_javascript__loadShare__react_mf_2_dom__loadShare__.mjs_commonjs-proxy-RQRRZMX5.js";import{a as Y,_ as Ik,b as Bo,c as Mt,d as xk,e as kw,f as kg,g as rm,h as am,i as lm,j as vt,k as _n,l as rs,m as Xr,n as Sw,o as Sg,p as Dk,q as Ak,r as Ew,s as Rk,t as pn}from"./iobroker_javascript__loadShare__react__loadShare__.mjs-CTZOFJS2.js";import{_ as Gt,a as as,b as Vt,c as vo,d as _i,e as Eg,f as wi,g as Ge,h as Kt,i as De,j as Yl,k as Jl,l as ql,m as Xl,n as Zl,o as Me,p as Iw,q as $i,r as Ig,s as Qy,t as xg,u as Dg,v as Dn,w as xw,x as Ok,y as cm,z as $t,A as Mk,B as e_,C as Nk,D as Yp,E as bc,F as Lk,G as Pk,H as Bk,I as jk,J as Dw,K as Fk,L as zk,M as t_,N as gn,O as Uk,P as Hk,Q as Wk,R as Gk,S as Vk,T as Aw,U as Kk,V as Ag,W as Rw,X as Yk}from"./iobroker_javascript__loadShare___mf_0_mui_mf_1_material__loadShare__.mjs-QWG5Arqe.js";import{_ as b}from"./iobroker_javascript__loadShare___mf_0_iobroker_mf_1_adapter_mf_2_react_mf_2_v5__loadShare__.mjs-DkBjPSMw.js";import{I as zo,a as qs,b as dc,C as Jk,c as Ow,F as qk,d as Xk,e as vc,f as Rg,g as Zk,h as Qk,i as eS,j as tS,M as sS,k as oS,l as iS,m as nS,_ as rS,n as Ql,o as aS,p as lS,q as ec,r as s_,s as cS,t as uS,u as dS,v as hS,w as o_,x as Wc,y as pS,z as gS,A as mS,B as fS,D as $S,E as bS,G as vS,H as Mw,J as Nw,K as Lw,L as yS,N as _S,O as wS,P as CS,Q as TS,R as kS}from"./index-C49cpVll.js";import{y as SS,_ as ES,a as IS,m as xS,S as i_,T as n_}from"./inheritsLoose-B0Ba5G9z.js";import{c as wn}from"./iobroker_javascript__loadShare__react__loadShare__.mjs_commonjs-proxy-CE9lvhW8.js";function Si(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}import{_ as On}from"./preload-helper-BDBacUwf.js";import{P as Z}from"./iobroker_javascript__loadShare__prop_mf_2_types__loadShare__.mjs-BCtSFofY.js";import{_ as DS}from"./iobroker_javascript__loadShare__react_mf_2_dom__loadShare__.mjs-DeVAS-oa.js";(function(){const s=document.createElement("link").relList;if(s&&s.supports&&s.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))r(l);new MutationObserver(l=>{for(const u of l)if(u.type==="childList")for(const d of u.addedNodes)d.tagName==="LINK"&&d.rel==="modulepreload"&&r(d)}).observe(document,{childList:!0,subtree:!0});function i(l){const u={};return l.integrity&&(u.integrity=l.integrity),l.referrerPolicy&&(u.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?u.credentials="include":l.crossOrigin==="anonymous"?u.credentials="omit":u.credentials="same-origin",u}function r(l){if(l.ep)return;l.ep=!0;const u=i(l);fetch(l.href,u)}})();var Pw,r_=Ek;Pw=r_.createRoot,r_.hydrateRoot;var Bw={exports:{}},rt={};var Gc=60103,Vc=60106,Zr=60107,Qr=60108,ea=60114,ta=60109,sa=60110,oa=60112,ia=60113,um=60120,na=60115,ra=60116,jw=60121,Fw=60122,zw=60117,Uw=60129,Hw=60131;if(typeof Symbol=="function"&&Symbol.for){var Rt=Symbol.for;Gc=Rt("react.element"),Vc=Rt("react.portal"),Zr=Rt("react.fragment"),Qr=Rt("react.strict_mode"),ea=Rt("react.profiler"),ta=Rt("react.provider"),sa=Rt("react.context"),oa=Rt("react.forward_ref"),ia=Rt("react.suspense"),um=Rt("react.suspense_list"),na=Rt("react.memo"),ra=Rt("react.lazy"),jw=Rt("react.block"),Fw=Rt("react.server.block"),zw=Rt("react.fundamental"),Uw=Rt("react.debug_trace_mode"),Hw=Rt("react.legacy_hidden")}function Rs(a){if(typeof a=="object"&&a!==null){var s=a.$$typeof;switch(s){case Gc:switch(a=a.type,a){case Zr:case ea:case Qr:case ia:case um:return a;default:switch(a=a&&a.$$typeof,a){case sa:case oa:case ra:case na:case ta:return a;default:return s}}case Vc:return s}}}var AS=ta,RS=Gc,OS=oa,MS=Zr,NS=ra,LS=na,PS=Vc,BS=ea,jS=Qr,FS=ia;rt.ContextConsumer=sa;rt.ContextProvider=AS;rt.Element=RS;rt.ForwardRef=OS;rt.Fragment=MS;rt.Lazy=NS;rt.Memo=LS;rt.Portal=PS;rt.Profiler=BS;rt.StrictMode=jS;rt.Suspense=FS;rt.isAsyncMode=function(){return!1};rt.isConcurrentMode=function(){return!1};rt.isContextConsumer=function(a){return Rs(a)===sa};rt.isContextProvider=function(a){return Rs(a)===ta};rt.isElement=function(a){return typeof a=="object"&&a!==null&&a.$$typeof===Gc};rt.isForwardRef=function(a){return Rs(a)===oa};rt.isFragment=function(a){return Rs(a)===Zr};rt.isLazy=function(a){return Rs(a)===ra};rt.isMemo=function(a){return Rs(a)===na};rt.isPortal=function(a){return Rs(a)===Vc};rt.isProfiler=function(a){return Rs(a)===ea};rt.isStrictMode=function(a){return Rs(a)===Qr};rt.isSuspense=function(a){return Rs(a)===ia};rt.isValidElementType=function(a){return typeof a=="string"||typeof a=="function"||a===Zr||a===ea||a===Uw||a===Qr||a===ia||a===um||a===Hw||typeof a=="object"&&a!==null&&(a.$$typeof===ra||a.$$typeof===na||a.$$typeof===ta||a.$$typeof===sa||a.$$typeof===oa||a.$$typeof===zw||a.$$typeof===jw||a[0]===Fw)};rt.typeOf=Rs;Bw.exports=rt;var zS=Bw.exports;function yc(a,s){const i=getComputedStyle(s);if(!i)return;let r=a===dt.Horizontal?s.clientWidth:s.clientHeight;return r!==0?(a===dt.Horizontal?r-=parseFloat(i.paddingLeft)+parseFloat(i.paddingRight):r-=parseFloat(i.paddingTop)+parseFloat(i.paddingBottom),r):void 0}function tc(a,s,i=[],r={condition:!0}){const{condition:l}=r,u=(function(d,p){var m={};for(var f in d)Object.prototype.hasOwnProperty.call(d,f)&&p.indexOf(f)<0&&(m[f]=d[f]);if(d!=null&&typeof Object.getOwnPropertySymbols=="function"){var v=0;for(f=Object.getOwnPropertySymbols(d);v(l&&window.addEventListener(a,s,u),()=>{l&&window.removeEventListener(a,s)})),[a,s,l,...i])}(function(a,s){s===void 0&&(s={});var i=s.insertAt;if(typeof document<"u"){var r=document.head||document.getElementsByTagName("head")[0],l=document.createElement("style");l.type="text/css",i==="top"&&r.firstChild?r.insertBefore(l,r.firstChild):r.appendChild(l),l.styleSheet?l.styleSheet.cssText=a:l.appendChild(document.createTextNode(a))}})(`/* === Main Container === */ .__dbk__container { height: 100%; width: 100%; @@ -88,14 +88,14 @@ import{d as Xy}from"./virtual_mf-REMOTE_ENTRY_ID_iobroker_javascript__remoteEntr .__dbk__dragger.Dark { background: #434252; } -/* ====== */`);const zS=Y.forwardRef((({className:a,theme:s,draggerClassName:i,direction:r=dt.Vertical,onDragging:l},u)=>{const d=`__dbk__gutter ${r} ${a||s}`,p=`__dbk__dragger ${r} ${i||s}`;return g.jsx("div",Object.assign({className:d,ref:u,dir:r,onMouseDown:l,onTouchStart:hc?l:void 0},{children:g.jsx("div",{className:p},void 0)}),void 0)}));var vs;function Og(a,s,i){let r,l;return s?(r=a/2,l=a):i?(r=a,l=a/2):(r=a,l=a),{aGutterSize:r,bGutterSize:l}}function US(a,s){switch(s.type){case vs.SetIsReadyToCompute:return Object.assign(Object.assign({},a),{isReady:s.payload.isReady});case vs.CreatePairs:{const{direction:i,children:r,gutters:l}=s.payload,u=r[0].parentNode;if(!u)throw new Error("Cannot create pairs - parent is undefined.");const d=yc(i,u);if(d===void 0)throw new Error(`Cannot create pairs - parent has undefined or zero size: ${d}.`);const p=[];return r.forEach(((m,f)=>{if(f>0){const v=r[f-1],_=r[f],y=l[f-1],k=i===dt.Horizontal?v.getBoundingClientRect().left:v.getBoundingClientRect().top,C=i===dt.Horizontal?_.getBoundingClientRect().right:_.getBoundingClientRect().bottom,w=i===dt.Horizontal?v.getBoundingClientRect().width+y.getBoundingClientRect().width+_.getBoundingClientRect().width:v.getBoundingClientRect().height+y.getBoundingClientRect().height+_.getBoundingClientRect().height,E=i===dt.Horizontal?y.getBoundingClientRect().width:y.getBoundingClientRect().height,R={idx:f-1,a:v,b:_,gutter:y,parent:u,start:k,end:C,size:w,gutterSize:E,aSizePct:100/r.length,bSizePct:100/r.length};p.push(R)}})),Object.assign(Object.assign({},a),{pairs:p})}case vs.StartDragging:{const{gutterIdx:i}=s.payload;return Object.assign(Object.assign({},a),{isDragging:!0,draggingIdx:i})}case vs.StopDragging:return Object.assign(Object.assign({},a),{isDragging:!1});case vs.CalculateSizes:{const{direction:i,gutterIdx:r}=s.payload,l=a.pairs[r],u=yc(i,l.parent);if(!u)throw new Error("Cannot calculate sizes - 'pair.parent' has undefined or zero size.");const d=l.gutter[i===dt.Horizontal?"clientWidth":"clientHeight"],p=r===0,m=r===a.pairs.length-1,{aGutterSize:f,bGutterSize:v}=Og(d,p,m);let _,y,k,C,w;return i===dt.Horizontal?(_=l.a.getBoundingClientRect().left,y=l.b.getBoundingClientRect().right,C=(l.a.getBoundingClientRect().width+f)/u*100,w=(l.b.getBoundingClientRect().width+v)/u*100,k=l.a.getBoundingClientRect().width+f+v+l.b.getBoundingClientRect().width):(_=l.a.getBoundingClientRect().top,y=l.b.getBoundingClientRect().bottom,C=(l.a.getBoundingClientRect().height+f)/u*100,w=(l.b.getBoundingClientRect().height+v)/u*100,k=l.a.getBoundingClientRect().height+f+v+l.b.getBoundingClientRect().height),a.pairs[r]=Object.assign(Object.assign({},l),{start:_,end:y,size:k,aSizePct:C,bSizePct:w,gutterSize:d}),Object.assign({},a)}default:return a}}function Ww(a,s=0,i=[]){return xk.toArray(a).reduce(((r,l,u)=>(FS.isFragment(l)?r.push.apply(r,Ww(l.props.children,s+1,i.concat(l.key||u))):kw(l)?r.push(kg(l,{key:i.concat(String(l.key)).join(".")})):typeof l!="string"&&typeof l!="number"||r.push(l),r)),[])}(function(a){a[a.SetIsReadyToCompute=0]="SetIsReadyToCompute",a[a.CreatePairs=1]="CreatePairs",a[a.CalculateSizes=2]="CalculateSizes",a[a.StartDragging=3]="StartDragging",a[a.StopDragging=4]="StopDragging"})(vs||(vs={}));const a_=a=>"changedTouches"in a;var dt,Mg;(function(a){a.Horizontal="Horizontal",a.Vertical="Vertical"})(dt||(dt={})),(function(a){a.Light="Light",a.Dark="Dark"})(Mg||(Mg={}));const hc=typeof window<"u"&&"ontouchstart"in window;function Jp(a){return a===dt.Horizontal?"col-resize":"row-resize"}const HS={isReady:!1,isDragging:!1,pairs:[]};function l_({direction:a=dt.Horizontal,minWidths:s=[],minHeights:i=[],initialSizes:r,gutterTheme:l=Mg.Dark,gutterClassName:u,draggerClassName:d,children:p,onResizeStarted:m,onResizeFinished:f,classes:v=[]}){const _=Ww(p),[y,k]=Ik(US,HS),C=Bo(null),w=Bo([]),E=Bo([]);w.current=[],E.current=[];const R=Y.useCallback((ae=>{k({type:vs.SetIsReadyToCompute,payload:{isReady:ae}})}),[]),D=Y.useCallback(((ae,ce)=>{k({type:vs.StartDragging,payload:{gutterIdx:ce}});const K=y.pairs[ce];m==null||m(K.idx),K.a.style.userSelect="none",K.b.style.userSelect="none",K.gutter.style.cursor=Jp(ae),K.parent.style.cursor=Jp(ae),document.body.style.cursor=Jp(ae)}),[y.pairs]),A=Y.useCallback((()=>{k({type:vs.StopDragging});const ae=[];for(let K=0;K{k({type:vs.CalculateSizes,payload:{direction:ae,gutterIdx:ce}})}),[]),ie=Y.useCallback(((ae,ce,K)=>{k({type:vs.CreatePairs,payload:{direction:ae,children:ce,gutters:K}})}),[]),se=Y.useCallback(((ae,ce,K,ye)=>{const he=ce[0].parentNode;if(!he)throw new Error("Cannot set initial sizes - parent is undefined");if(yc(ae,he)===void 0)throw new Error("Cannot set initial sizes - parent has undefined size");ce.forEach(((je,G)=>{const tt=G===0,q=G===ce.length-1;let ee,B=0;ce.length>1&&(B=K[q?G-1:G].getBoundingClientRect()[ae===dt.Horizontal?"width":"height"],B=tt||q?B/2:B),ee=ye&&G{if(y.draggingIdx===void 0)throw new Error("Cannot adjust size - 'draggingIdx' is undefined");const K=y.pairs[y.draggingIdx];if(K.size===void 0)throw new Error("Cannot adjust size - 'pair.size' is undefined");if(K.gutterSize===void 0)throw new Error("Cannot adjust size - 'pair.gutterSize' is undefined");const ye=K.aSizePct+K.bSizePct,he=ce/K.size*ye,je=ye-ce/K.size*ye,G=y.draggingIdx===0,tt=y.draggingIdx===y.pairs.length-1,{aGutterSize:q,bGutterSize:ee}=Og(K.gutterSize,G,tt),B=`calc(${he}% - ${q}px)`,H=`calc(${je}% - ${ee}px)`;ae===dt.Horizontal?(K.a.style.width=B,K.b.style.width=H):(K.a.style.height=B,K.b.style.height=H)}),[y.draggingIdx,y.pairs,a]),z=Y.useCallback(((ae,ce,K)=>{if(!y.isDragging)return;if(y.draggingIdx===void 0)throw new Error("Cannot drag - 'draggingIdx' is undefined");const ye=y.pairs[y.draggingIdx];if(ye.start===void 0)throw new Error("Cannot drag - 'pair.start' is undefined");if(ye.size===void 0)throw new Error("Cannot drag - 'pair.size' is undefined");if(ye.gutterSize===void 0)throw new Error("Cannot drag - 'pair.gutterSize' is undefined");let he=(function(tt,q){const ee=a_(q)?q.changedTouches[0]:q;return tt===dt.Horizontal?ee.clientX:ee.clientY})(ce,ae)-ye.start,je=16,G=16;K.length>y.draggingIdx&&(je=K[y.draggingIdx]),K.length>=y.draggingIdx+1&&(G=K[y.draggingIdx+1]),he=ye.size-(ye.gutterSize+G)&&(he=ye.size-(ye.gutterSize+G)),me(ce,he)}),[y.isDragging,y.draggingIdx,y.pairs,me]),Oe=()=>{if(y.isDragging){if(y.draggingIdx===void 0)throw new Error("Cannot calculate sizes after dragging = 'state.draggingIdx' is undefined");J(a,y.draggingIdx),A()}},Ne=ae=>{y.isDragging&&(a_(ae)&&ae.preventDefault(),z(ae,a,a===dt.Horizontal?s:i))};function Ze(ae,ce){if(!ae.current)throw new Error("Can't add element to ref object - ref isn't initialized");ce&&!ae.current.includes(ce)&&ae.current.push(ce)}return tc("mouseup",Oe,[y.isDragging,A]),tc("mousemove",Ne,[a,y.isDragging,z,s,i]),tc("touchend",Oe,[y.isDragging,A],{condition:hc}),tc("touchmove",Ne,[a,y.isDragging,z,s,i],{condition:hc,passive:!hc}),Mt((function(){if(!C.current)return;const ae=C.current.parentElement;if(!ae)return;const ce=new ResizeObserver((()=>{const K=getComputedStyle(ae),ye=a===dt.Horizontal?ae.clientWidth:ae.clientHeight;R(!!K&&!!ye)}));return ce.observe(ae),()=>{ce.disconnect()}}),[C.current,a]),Mt((function(){if(y.isReady&&(!w.current||w.current[0].offsetParent)){if(!w.current||!E.current)throw new Error("Cannot create pairs - either variable 'childRefs' or 'gutterRefs' is undefined");_.length<=1?se(a,w.current,E.current,r):(se(a,w.current,E.current,r),ie(a,w.current,E.current))}}),[p,y.isReady,a,se,ie,r]),g.jsx("div",Object.assign({className:`__dbk__container ${a}`,ref:C},{children:y.isReady&&_.map(((ae,ce)=>g.jsxs(Y.Fragment,{children:[g.jsx("div",Object.assign({ref:K=>Ze(w,K),className:"__dbk__child-wrapper "+(ceZe(E,K),className:u,theme:l,draggerClassName:d,direction:a,onDragging:()=>{return J(a,K=ce),void D(a,K);var K}},void 0)]},ce)))}),void 0)}const Vw=rm({dragDropManager:void 0});function Gr(a){"@babel/helpers - typeof";return Gr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(s){return typeof s}:function(s){return s&&typeof Symbol=="function"&&s.constructor===Symbol&&s!==Symbol.prototype?"symbol":typeof s},Gr(a)}function WS(a,s){if(Gr(a)!="object"||!a)return a;var i=a[Symbol.toPrimitive];if(i!==void 0){var r=i.call(a,s);if(Gr(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(s==="string"?String:Number)(a)}function VS(a){var s=WS(a,"string");return Gr(s)=="symbol"?s:s+""}function GS(a,s,i){return(s=VS(s))in a?Object.defineProperty(a,s,{value:i,enumerable:!0,configurable:!0,writable:!0}):a[s]=i,a}function ms(a){return"Minified Redux error #"+a+"; visit https://redux.js.org/Errors?code="+a+" for the full message or use the non-minified dev environment for full errors. "}var c_=(function(){return typeof Symbol=="function"&&Symbol.observable||"@@observable"})(),u_=function(){return Math.random().toString(36).substring(7).split("").join(".")},d_={INIT:"@@redux/INIT"+u_(),REPLACE:"@@redux/REPLACE"+u_()};function KS(a){if(typeof a!="object"||a===null)return!1;for(var s=a;Object.getPrototypeOf(s)!==null;)s=Object.getPrototypeOf(s);return Object.getPrototypeOf(a)===s}function Gw(a,s,i){var r;if(typeof s=="function"&&typeof i=="function"||typeof i=="function"&&typeof arguments[3]=="function")throw new Error(ms(0));if(typeof s=="function"&&typeof i>"u"&&(i=s,s=void 0),typeof i<"u"){if(typeof i!="function")throw new Error(ms(1));return i(Gw)(a,s)}if(typeof a!="function")throw new Error(ms(2));var l=a,u=s,d=[],p=d,m=!1;function f(){p===d&&(p=d.slice())}function v(){if(m)throw new Error(ms(3));return u}function _(w){if(typeof w!="function")throw new Error(ms(4));if(m)throw new Error(ms(5));var E=!0;return f(),p.push(w),function(){if(E){if(m)throw new Error(ms(6));E=!1,f();var D=p.indexOf(w);p.splice(D,1),d=null}}}function y(w){if(!KS(w))throw new Error(ms(7));if(typeof w.type>"u")throw new Error(ms(8));if(m)throw new Error(ms(9));try{m=!0,u=l(u,w)}finally{m=!1}for(var E=d=p,R=0;Rr&&r[l]?r[l]:i||null,a)}function qS(a,s){return a.filter(i=>i!==s)}function Kw(a){return typeof a=="object"}function XS(a,s){const i=new Map,r=u=>{i.set(u,i.has(u)?i.get(u)+1:1)};a.forEach(r),s.forEach(r);const l=[];return i.forEach((u,d)=>{u===1&&l.push(d)}),l}function ZS(a,s){return a.filter(i=>s.indexOf(i)>-1)}const dm="dnd-core/INIT_COORDS",Kc="dnd-core/BEGIN_DRAG",hm="dnd-core/PUBLISH_DRAG_SOURCE",Yc="dnd-core/HOVER",Jc="dnd-core/DROP",qc="dnd-core/END_DRAG";function h_(a,s){return{type:dm,payload:{sourceClientOffset:s||null,clientOffset:a||null}}}const QS={type:dm,payload:{clientOffset:null,sourceClientOffset:null}};function eE(a){return function(i=[],r={publishSource:!0}){const{publishSource:l=!0,clientOffset:u,getSourceClientOffset:d}=r,p=a.getMonitor(),m=a.getRegistry();a.dispatch(h_(u)),tE(i,p,m);const f=iE(i,p);if(f==null){a.dispatch(QS);return}let v=null;if(u){if(!d)throw new Error("getSourceClientOffset must be defined");sE(d),v=d(f)}a.dispatch(h_(u,v));const y=m.getSource(f).beginDrag(p,f);if(y==null)return;oE(y),m.pinSource(f);const k=m.getSourceType(f);return{type:Kc,payload:{itemType:k,item:y,sourceId:f,clientOffset:u||null,sourceClientOffset:v||null,isSourcePublic:!!l}}}}function tE(a,s,i){Ie(!s.isDragging(),"Cannot call beginDrag while dragging."),a.forEach(function(r){Ie(i.getSource(r),"Expected sourceIds to be registered.")})}function sE(a){Ie(typeof a=="function","When clientOffset is provided, getSourceClientOffset must be a function.")}function oE(a){Ie(Kw(a),"Item must be an object.")}function iE(a,s){let i=null;for(let r=a.length-1;r>=0;r--)if(s.canDragSource(a[r])){i=a[r];break}return i}function nE(a,s,i){return s in a?Object.defineProperty(a,s,{value:i,enumerable:!0,configurable:!0,writable:!0}):a[s]=i,a}function rE(a){for(var s=1;s{const m=cE(d,p,l,r),f={type:Jc,payload:{dropResult:rE({},i,m)}};a.dispatch(f)})}}function lE(a){Ie(a.isDragging(),"Cannot call drop while not dragging."),Ie(!a.didDrop(),"Cannot call drop twice during one drag operation.")}function cE(a,s,i,r){const l=i.getTarget(a);let u=l?l.drop(r,a):void 0;return uE(u),typeof u>"u"&&(u=s===0?{}:r.getDropResult()),u}function uE(a){Ie(typeof a>"u"||Kw(a),"Drop result must either be an object or undefined.")}function dE(a){const s=a.getTargetIds().filter(a.canDropOnTarget,a);return s.reverse(),s}function hE(a){return function(){const i=a.getMonitor(),r=a.getRegistry();pE(i);const l=i.getSourceId();return l!=null&&(r.getSource(l,!0).endDrag(i,l),r.unpinSource()),{type:qc}}}function pE(a){Ie(a.isDragging(),"Cannot call endDrag while not dragging.")}function Ng(a,s){return s===null?a===null:Array.isArray(a)?a.some(i=>i===s):a===s}function gE(a){return function(i,{clientOffset:r}={}){mE(i);const l=i.slice(0),u=a.getMonitor(),d=a.getRegistry(),p=u.getItemType();return $E(l,d,p),fE(l,u,d),bE(l,u,d),{type:Yc,payload:{targetIds:l,clientOffset:r||null}}}}function mE(a){Ie(Array.isArray(a),"Expected targetIds to be an array.")}function fE(a,s,i){Ie(s.isDragging(),"Cannot call hover while not dragging."),Ie(!s.didDrop(),"Cannot call hover after drop.");for(let r=0;r=0;r--){const l=a[r],u=s.getTargetType(l);Ng(u,i)||a.splice(r,1)}}function bE(a,s,i){a.forEach(function(r){i.getTarget(r).hover(s,r)})}function vE(a){return function(){if(a.getMonitor().isDragging())return{type:hm}}}function yE(a){return{beginDrag:eE(a),publishDragSource:vE(a),hover:gE(a),drop:aE(a),endDrag:hE(a)}}class _E{receiveBackend(s){this.backend=s}getMonitor(){return this.monitor}getBackend(){return this.backend}getRegistry(){return this.monitor.registry}getActions(){const s=this,{dispatch:i}=this.store;function r(u){return(...d)=>{const p=u.apply(s,d);typeof p<"u"&&i(p)}}const l=yE(this);return Object.keys(l).reduce((u,d)=>{const p=l[d];return u[d]=r(p),u},{})}dispatch(s){this.store.dispatch(s)}constructor(s,i){this.isSetUp=!1,this.handleRefCountChange=()=>{const r=this.store.getState().refCount>0;this.backend&&(r&&!this.isSetUp?(this.backend.setup(),this.isSetUp=!0):!r&&this.isSetUp&&(this.backend.teardown(),this.isSetUp=!1))},this.store=s,this.monitor=i,s.subscribe(this.handleRefCountChange)}}function wE(a,s){return{x:a.x+s.x,y:a.y+s.y}}function Yw(a,s){return{x:a.x-s.x,y:a.y-s.y}}function CE(a){const{clientOffset:s,initialClientOffset:i,initialSourceClientOffset:r}=a;return!s||!i||!r?null:Yw(wE(s,r),i)}function TE(a){const{clientOffset:s,initialClientOffset:i}=a;return!s||!i?null:Yw(s,i)}const Fr=[],pm=[];Fr.__IS_NONE__=!0;pm.__IS_ALL__=!0;function kE(a,s){return a===Fr?!1:a===pm||typeof s>"u"?!0:ZS(s,a).length>0}class SE{subscribeToStateChange(s,i={}){const{handlerIds:r}=i;Ie(typeof s=="function","listener must be a function."),Ie(typeof r>"u"||Array.isArray(r),"handlerIds, when specified, must be an array of strings.");let l=this.store.getState().stateId;const u=()=>{const d=this.store.getState(),p=d.stateId;try{p===l||p===l+1&&!kE(d.dirtyHandlerIds,r)||s()}finally{l=p}};return this.store.subscribe(u)}subscribeToOffsetChange(s){Ie(typeof s=="function","listener must be a function.");let i=this.store.getState().dragOffset;const r=()=>{const l=this.store.getState().dragOffset;l!==i&&(i=l,s())};return this.store.subscribe(r)}canDragSource(s){if(!s)return!1;const i=this.registry.getSource(s);return Ie(i,`Expected to find a valid source. sourceId=${s}`),this.isDragging()?!1:i.canDrag(this,s)}canDropOnTarget(s){if(!s)return!1;const i=this.registry.getTarget(s);if(Ie(i,`Expected to find a valid target. targetId=${s}`),!this.isDragging()||this.didDrop())return!1;const r=this.registry.getTargetType(s),l=this.getItemType();return Ng(r,l)&&i.canDrop(this,s)}isDragging(){return!!this.getItemType()}isDraggingSource(s){if(!s)return!1;const i=this.registry.getSource(s,!0);if(Ie(i,`Expected to find a valid source. sourceId=${s}`),!this.isDragging()||!this.isSourcePublic())return!1;const r=this.registry.getSourceType(s),l=this.getItemType();return r!==l?!1:i.isDragging(this,s)}isOverTarget(s,i={shallow:!1}){if(!s)return!1;const{shallow:r}=i;if(!this.isDragging())return!1;const l=this.registry.getTargetType(s),u=this.getItemType();if(u&&!Ng(l,u))return!1;const d=this.getTargetIds();if(!d.length)return!1;const p=d.indexOf(s);return r?p===d.length-1:p>-1}getItemType(){return this.store.getState().dragOperation.itemType}getItem(){return this.store.getState().dragOperation.item}getSourceId(){return this.store.getState().dragOperation.sourceId}getTargetIds(){return this.store.getState().dragOperation.targetIds}getDropResult(){return this.store.getState().dragOperation.dropResult}didDrop(){return this.store.getState().dragOperation.didDrop}isSourcePublic(){return!!this.store.getState().dragOperation.isSourcePublic}getInitialClientOffset(){return this.store.getState().dragOffset.initialClientOffset}getInitialSourceClientOffset(){return this.store.getState().dragOffset.initialSourceClientOffset}getClientOffset(){return this.store.getState().dragOffset.clientOffset}getSourceClientOffset(){return CE(this.store.getState().dragOffset)}getDifferenceFromInitialOffset(){return TE(this.store.getState().dragOffset)}constructor(s,i){this.store=s,this.registry=i}}const p_=typeof global<"u"?global:self,Jw=p_.MutationObserver||p_.WebKitMutationObserver;function qw(a){return function(){const i=setTimeout(l,0),r=setInterval(l,50);function l(){clearTimeout(i),clearInterval(r),a()}}}function EE(a){let s=1;const i=new Jw(a),r=document.createTextNode("");return i.observe(r,{characterData:!0}),function(){s=-s,r.data=s}}const IE=typeof Jw=="function"?EE:qw;class xE{enqueueTask(s){const{queue:i,requestFlush:r}=this;i.length||(r(),this.flushing=!0),i[i.length]=s}constructor(){this.queue=[],this.pendingErrors=[],this.flushing=!1,this.index=0,this.capacity=1024,this.flush=()=>{const{queue:s}=this;for(;this.indexthis.capacity){for(let r=0,l=s.length-this.index;r{this.pendingErrors.push(s),this.requestErrorThrow()},this.requestFlush=IE(this.flush),this.requestErrorThrow=qw(()=>{if(this.pendingErrors.length)throw this.pendingErrors.shift()})}}class DE{call(){try{this.task&&this.task()}catch(s){this.onError(s)}finally{this.task=null,this.release(this)}}constructor(s,i){this.onError=s,this.release=i,this.task=null}}class AE{create(s){const i=this.freeTasks,r=i.length?i.pop():new DE(this.onError,l=>i[i.length]=l);return r.task=s,r}constructor(s){this.onError=s,this.freeTasks=[]}}const Xw=new xE,RE=new AE(Xw.registerPendingError);function OE(a){Xw.enqueueTask(RE.create(a))}const gm="dnd-core/ADD_SOURCE",mm="dnd-core/ADD_TARGET",fm="dnd-core/REMOVE_SOURCE",Xc="dnd-core/REMOVE_TARGET";function ME(a){return{type:gm,payload:{sourceId:a}}}function NE(a){return{type:mm,payload:{targetId:a}}}function LE(a){return{type:fm,payload:{sourceId:a}}}function PE(a){return{type:Xc,payload:{targetId:a}}}function BE(a){Ie(typeof a.canDrag=="function","Expected canDrag to be a function."),Ie(typeof a.beginDrag=="function","Expected beginDrag to be a function."),Ie(typeof a.endDrag=="function","Expected endDrag to be a function.")}function jE(a){Ie(typeof a.canDrop=="function","Expected canDrop to be a function."),Ie(typeof a.hover=="function","Expected hover to be a function."),Ie(typeof a.drop=="function","Expected beginDrag to be a function.")}function Lg(a,s){if(s&&Array.isArray(a)){a.forEach(i=>Lg(i,!1));return}Ie(typeof a=="string"||typeof a=="symbol",s?"Type can only be a string, a symbol, or an array of either.":"Type can only be a string or a symbol.")}var bs;(function(a){a.SOURCE="SOURCE",a.TARGET="TARGET"})(bs||(bs={}));let FE=0;function zE(){return FE++}function UE(a){const s=zE().toString();switch(a){case bs.SOURCE:return`S${s}`;case bs.TARGET:return`T${s}`;default:throw new Error(`Unknown Handler Role: ${a}`)}}function g_(a){switch(a[0]){case"S":return bs.SOURCE;case"T":return bs.TARGET;default:throw new Error(`Cannot parse handler ID: ${a}`)}}function m_(a,s){const i=a.entries();let r=!1;do{const{done:l,value:[,u]}=i.next();if(u===s)return!0;r=!!l}while(!r);return!1}class HE{addSource(s,i){Lg(s),BE(i);const r=this.addHandler(bs.SOURCE,s,i);return this.store.dispatch(ME(r)),r}addTarget(s,i){Lg(s,!0),jE(i);const r=this.addHandler(bs.TARGET,s,i);return this.store.dispatch(NE(r)),r}containsHandler(s){return m_(this.dragSources,s)||m_(this.dropTargets,s)}getSource(s,i=!1){return Ie(this.isSourceId(s),"Expected a valid source ID."),i&&s===this.pinnedSourceId?this.pinnedSource:this.dragSources.get(s)}getTarget(s){return Ie(this.isTargetId(s),"Expected a valid target ID."),this.dropTargets.get(s)}getSourceType(s){return Ie(this.isSourceId(s),"Expected a valid source ID."),this.types.get(s)}getTargetType(s){return Ie(this.isTargetId(s),"Expected a valid target ID."),this.types.get(s)}isSourceId(s){return g_(s)===bs.SOURCE}isTargetId(s){return g_(s)===bs.TARGET}removeSource(s){Ie(this.getSource(s),"Expected an existing source."),this.store.dispatch(LE(s)),OE(()=>{this.dragSources.delete(s),this.types.delete(s)})}removeTarget(s){Ie(this.getTarget(s),"Expected an existing target."),this.store.dispatch(PE(s)),this.dropTargets.delete(s),this.types.delete(s)}pinSource(s){const i=this.getSource(s);Ie(i,"Expected an existing source."),this.pinnedSourceId=s,this.pinnedSource=i}unpinSource(){Ie(this.pinnedSource,"No source is pinned at the time."),this.pinnedSourceId=null,this.pinnedSource=null}addHandler(s,i,r){const l=UE(s);return this.types.set(l,i),s===bs.SOURCE?this.dragSources.set(l,r):s===bs.TARGET&&this.dropTargets.set(l,r),l}constructor(s){this.types=new Map,this.dragSources=new Map,this.dropTargets=new Map,this.pinnedSourceId=null,this.pinnedSource=null,this.store=s}}const WE=(a,s)=>a===s;function VE(a,s){return!a&&!s?!0:!a||!s?!1:a.x===s.x&&a.y===s.y}function GE(a,s,i=WE){if(a.length!==s.length)return!1;for(let r=0;r0||!GE(i,r)))return Fr;const d=r[r.length-1],p=i[i.length-1];return d!==p&&(d&&l.push(d),p&&l.push(p)),l}function YE(a,s,i){return s in a?Object.defineProperty(a,s,{value:i,enumerable:!0,configurable:!0,writable:!0}):a[s]=i,a}function JE(a){for(var s=1;s=0)&&Object.prototype.propertyIsEnumerable.call(a,r)&&(i[r]=a[r])}return i}function lI(a,s){if(a==null)return{};var i={},r=Object.keys(a),l,u;for(u=0;u=0)&&(i[l]=a[l]);return i}let $_=0;const pc=Symbol.for("__REACT_DND_CONTEXT_INSTANCE__");var Zw=am(function(s){var{children:i}=s,r=aI(s,["children"]);const[l,u]=cI(r);return Mt(()=>{if(u){const d=Qw();return++$_,()=>{--$_===0&&(d[pc]=null)}}},[]),g.jsx(Vw.Provider,{value:l,children:i})});function cI(a){if("manager"in a)return[{dragDropManager:a.manager},!1];const s=uI(a.backend,a.context,a.options,a.debugMode),i=!a.context;return[s,i]}function uI(a,s=Qw(),i,r){const l=s;return l[pc]||(l[pc]={dragDropManager:nI(a,s,i,r)}),l[pc]}function Qw(){return typeof global<"u"?global:window}var dI=function a(s,i){if(s===i)return!0;if(s&&i&&typeof s=="object"&&typeof i=="object"){if(s.constructor!==i.constructor)return!1;var r,l,u;if(Array.isArray(s)){if(r=s.length,r!=i.length)return!1;for(l=r;l--!==0;)if(!a(s[l],i[l]))return!1;return!0}if(s.constructor===RegExp)return s.source===i.source&&s.flags===i.flags;if(s.valueOf!==Object.prototype.valueOf)return s.valueOf()===i.valueOf();if(s.toString!==Object.prototype.toString)return s.toString()===i.toString();if(u=Object.keys(s),r=u.length,r!==Object.keys(i).length)return!1;for(l=r;l--!==0;)if(!Object.prototype.hasOwnProperty.call(i,u[l]))return!1;for(l=r;l--!==0;){var d=u[l];if(!a(s[d],i[d]))return!1}return!0}return s!==s&&i!==i};const hI=Si(dI),Ci=typeof window<"u"?lm:Mt;function pI(a,s,i){const[r,l]=vt(()=>s(a)),u=_n(()=>{const d=s(a);hI(r,d)||(l(d),i&&i())},[r,a,i]);return Ci(u),[r,u]}function gI(a,s,i){const[r,l]=pI(a,s,i);return Ci(function(){const d=a.getHandlerId();if(d!=null)return a.subscribeToStateChange(l,{handlerIds:[d]})},[a,l]),r}function eC(a,s,i){return gI(s,a||(()=>({})),()=>i.reconnect())}function tC(a,s){const i=[];return typeof a!="function"&&i.push(a),rs(()=>typeof a=="function"?a():a,i)}function mI(a){return rs(()=>a.hooks.dragSource(),[a])}function fI(a){return rs(()=>a.hooks.dragPreview(),[a])}let qp=!1,Xp=!1;class $I{receiveHandlerId(s){this.sourceId=s}getHandlerId(){return this.sourceId}canDrag(){Ie(!qp,"You may not call monitor.canDrag() inside your canDrag() implementation. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source-monitor");try{return qp=!0,this.internalMonitor.canDragSource(this.sourceId)}finally{qp=!1}}isDragging(){if(!this.sourceId)return!1;Ie(!Xp,"You may not call monitor.isDragging() inside your isDragging() implementation. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source-monitor");try{return Xp=!0,this.internalMonitor.isDraggingSource(this.sourceId)}finally{Xp=!1}}subscribeToStateChange(s,i){return this.internalMonitor.subscribeToStateChange(s,i)}isDraggingSource(s){return this.internalMonitor.isDraggingSource(s)}isOverTarget(s,i){return this.internalMonitor.isOverTarget(s,i)}getTargetIds(){return this.internalMonitor.getTargetIds()}isSourcePublic(){return this.internalMonitor.isSourcePublic()}getSourceId(){return this.internalMonitor.getSourceId()}subscribeToOffsetChange(s){return this.internalMonitor.subscribeToOffsetChange(s)}canDragSource(s){return this.internalMonitor.canDragSource(s)}canDropOnTarget(s){return this.internalMonitor.canDropOnTarget(s)}getItemType(){return this.internalMonitor.getItemType()}getItem(){return this.internalMonitor.getItem()}getDropResult(){return this.internalMonitor.getDropResult()}didDrop(){return this.internalMonitor.didDrop()}getInitialClientOffset(){return this.internalMonitor.getInitialClientOffset()}getInitialSourceClientOffset(){return this.internalMonitor.getInitialSourceClientOffset()}getSourceClientOffset(){return this.internalMonitor.getSourceClientOffset()}getClientOffset(){return this.internalMonitor.getClientOffset()}getDifferenceFromInitialOffset(){return this.internalMonitor.getDifferenceFromInitialOffset()}constructor(s){this.sourceId=null,this.internalMonitor=s.getMonitor()}}let Zp=!1;class bI{receiveHandlerId(s){this.targetId=s}getHandlerId(){return this.targetId}subscribeToStateChange(s,i){return this.internalMonitor.subscribeToStateChange(s,i)}canDrop(){if(!this.targetId)return!1;Ie(!Zp,"You may not call monitor.canDrop() inside your canDrop() implementation. Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target-monitor");try{return Zp=!0,this.internalMonitor.canDropOnTarget(this.targetId)}finally{Zp=!1}}isOver(s){return this.targetId?this.internalMonitor.isOverTarget(this.targetId,s):!1}getItemType(){return this.internalMonitor.getItemType()}getItem(){return this.internalMonitor.getItem()}getDropResult(){return this.internalMonitor.getDropResult()}didDrop(){return this.internalMonitor.didDrop()}getInitialClientOffset(){return this.internalMonitor.getInitialClientOffset()}getInitialSourceClientOffset(){return this.internalMonitor.getInitialSourceClientOffset()}getSourceClientOffset(){return this.internalMonitor.getSourceClientOffset()}getClientOffset(){return this.internalMonitor.getClientOffset()}getDifferenceFromInitialOffset(){return this.internalMonitor.getDifferenceFromInitialOffset()}constructor(s){this.targetId=null,this.internalMonitor=s.getMonitor()}}function vI(a,s,i){const r=i.getRegistry(),l=r.addTarget(a,s);return[l,()=>r.removeTarget(l)]}function yI(a,s,i){const r=i.getRegistry(),l=r.addSource(a,s);return[l,()=>r.removeSource(l)]}function Pg(a,s,i,r){let l;if(l!==void 0)return!!l;if(a===s)return!0;if(typeof a!="object"||!a||typeof s!="object"||!s)return!1;const u=Object.keys(a),d=Object.keys(s);if(u.length!==d.length)return!1;const p=Object.prototype.hasOwnProperty.bind(s);for(let m=0;m, or turn it into a drag source or a drop target itself.`)}function wI(a){return(s=null,i=null)=>{if(!kw(s)){const u=s;return a(u,i),u}const r=s;return _I(r),CI(r,i?u=>a(u,i):a)}}function sC(a){const s={};return Object.keys(a).forEach(i=>{const r=a[i];if(i.endsWith("Ref"))s[i]=a[i];else{const l=wI(r);s[i]=()=>l}}),s}function b_(a,s){typeof a=="function"?a(s):a.current=s}function CI(a,s){const i=a.ref;return Ie(typeof i!="string","Cannot connect React DnD to an element with an existing string ref. Please convert it to use a callback ref instead, or wrap it into a or
. Read more: https://reactjs.org/docs/refs-and-the-dom.html#callback-refs"),i?kg(a,{ref:r=>{b_(i,r),b_(s,r)}}):kg(a,{ref:s})}class TI{receiveHandlerId(s){this.handlerId!==s&&(this.handlerId=s,this.reconnect())}get connectTarget(){return this.dragSource}get dragSourceOptions(){return this.dragSourceOptionsInternal}set dragSourceOptions(s){this.dragSourceOptionsInternal=s}get dragPreviewOptions(){return this.dragPreviewOptionsInternal}set dragPreviewOptions(s){this.dragPreviewOptionsInternal=s}reconnect(){const s=this.reconnectDragSource();this.reconnectDragPreview(s)}reconnectDragSource(){const s=this.dragSource,i=this.didHandlerIdChange()||this.didConnectedDragSourceChange()||this.didDragSourceOptionsChange();return i&&this.disconnectDragSource(),this.handlerId?s?(i&&(this.lastConnectedHandlerId=this.handlerId,this.lastConnectedDragSource=s,this.lastConnectedDragSourceOptions=this.dragSourceOptions,this.dragSourceUnsubscribe=this.backend.connectDragSource(this.handlerId,s,this.dragSourceOptions)),i):(this.lastConnectedDragSource=s,i):i}reconnectDragPreview(s=!1){const i=this.dragPreview,r=s||this.didHandlerIdChange()||this.didConnectedDragPreviewChange()||this.didDragPreviewOptionsChange();if(r&&this.disconnectDragPreview(),!!this.handlerId){if(!i){this.lastConnectedDragPreview=i;return}r&&(this.lastConnectedHandlerId=this.handlerId,this.lastConnectedDragPreview=i,this.lastConnectedDragPreviewOptions=this.dragPreviewOptions,this.dragPreviewUnsubscribe=this.backend.connectDragPreview(this.handlerId,i,this.dragPreviewOptions))}}didHandlerIdChange(){return this.lastConnectedHandlerId!==this.handlerId}didConnectedDragSourceChange(){return this.lastConnectedDragSource!==this.dragSource}didConnectedDragPreviewChange(){return this.lastConnectedDragPreview!==this.dragPreview}didDragSourceOptionsChange(){return!Pg(this.lastConnectedDragSourceOptions,this.dragSourceOptions)}didDragPreviewOptionsChange(){return!Pg(this.lastConnectedDragPreviewOptions,this.dragPreviewOptions)}disconnectDragSource(){this.dragSourceUnsubscribe&&(this.dragSourceUnsubscribe(),this.dragSourceUnsubscribe=void 0)}disconnectDragPreview(){this.dragPreviewUnsubscribe&&(this.dragPreviewUnsubscribe(),this.dragPreviewUnsubscribe=void 0,this.dragPreviewNode=null,this.dragPreviewRef=null)}get dragSource(){return this.dragSourceNode||this.dragSourceRef&&this.dragSourceRef.current}get dragPreview(){return this.dragPreviewNode||this.dragPreviewRef&&this.dragPreviewRef.current}clearDragSource(){this.dragSourceNode=null,this.dragSourceRef=null}clearDragPreview(){this.dragPreviewNode=null,this.dragPreviewRef=null}constructor(s){this.hooks=sC({dragSource:(i,r)=>{this.clearDragSource(),this.dragSourceOptions=r||null,Bg(i)?this.dragSourceRef=i:this.dragSourceNode=i,this.reconnectDragSource()},dragPreview:(i,r)=>{this.clearDragPreview(),this.dragPreviewOptions=r||null,Bg(i)?this.dragPreviewRef=i:this.dragPreviewNode=i,this.reconnectDragPreview()}}),this.handlerId=null,this.dragSourceRef=null,this.dragSourceOptionsInternal=null,this.dragPreviewRef=null,this.dragPreviewOptionsInternal=null,this.lastConnectedHandlerId=null,this.lastConnectedDragSource=null,this.lastConnectedDragSourceOptions=null,this.lastConnectedDragPreview=null,this.lastConnectedDragPreviewOptions=null,this.backend=s}}class kI{get connectTarget(){return this.dropTarget}reconnect(){const s=this.didHandlerIdChange()||this.didDropTargetChange()||this.didOptionsChange();s&&this.disconnectDropTarget();const i=this.dropTarget;if(this.handlerId){if(!i){this.lastConnectedDropTarget=i;return}s&&(this.lastConnectedHandlerId=this.handlerId,this.lastConnectedDropTarget=i,this.lastConnectedDropTargetOptions=this.dropTargetOptions,this.unsubscribeDropTarget=this.backend.connectDropTarget(this.handlerId,i,this.dropTargetOptions))}}receiveHandlerId(s){s!==this.handlerId&&(this.handlerId=s,this.reconnect())}get dropTargetOptions(){return this.dropTargetOptionsInternal}set dropTargetOptions(s){this.dropTargetOptionsInternal=s}didHandlerIdChange(){return this.lastConnectedHandlerId!==this.handlerId}didDropTargetChange(){return this.lastConnectedDropTarget!==this.dropTarget}didOptionsChange(){return!Pg(this.lastConnectedDropTargetOptions,this.dropTargetOptions)}disconnectDropTarget(){this.unsubscribeDropTarget&&(this.unsubscribeDropTarget(),this.unsubscribeDropTarget=void 0)}get dropTarget(){return this.dropTargetNode||this.dropTargetRef&&this.dropTargetRef.current}clearDropTarget(){this.dropTargetRef=null,this.dropTargetNode=null}constructor(s){this.hooks=sC({dropTarget:(i,r)=>{this.clearDropTarget(),this.dropTargetOptions=r,Bg(i)?this.dropTargetRef=i:this.dropTargetNode=i,this.reconnect()}}),this.handlerId=null,this.dropTargetRef=null,this.dropTargetOptionsInternal=null,this.lastConnectedHandlerId=null,this.lastConnectedDropTarget=null,this.lastConnectedDropTargetOptions=null,this.backend=s}}function Mn(){const{dragDropManager:a}=Xr(Vw);return Ie(a!=null,"Expected drag drop context"),a}function SI(a,s){const i=Mn(),r=rs(()=>new TI(i.getBackend()),[i]);return Ci(()=>(r.dragSourceOptions=a||null,r.reconnect(),()=>r.disconnectDragSource()),[r,a]),Ci(()=>(r.dragPreviewOptions=s||null,r.reconnect(),()=>r.disconnectDragPreview()),[r,s]),r}function EI(){const a=Mn();return rs(()=>new $I(a),[a])}class II{beginDrag(){const s=this.spec,i=this.monitor;let r=null;return typeof s.item=="object"?r=s.item:typeof s.item=="function"?r=s.item(i):r={},r??null}canDrag(){const s=this.spec,i=this.monitor;return typeof s.canDrag=="boolean"?s.canDrag:typeof s.canDrag=="function"?s.canDrag(i):!0}isDragging(s,i){const r=this.spec,l=this.monitor,{isDragging:u}=r;return u?u(l):i===s.getSourceId()}endDrag(){const s=this.spec,i=this.monitor,r=this.connector,{end:l}=s;l&&l(i.getItem(),i),r.reconnect()}constructor(s,i,r){this.spec=s,this.monitor=i,this.connector=r}}function xI(a,s,i){const r=rs(()=>new II(a,s,i),[s,i]);return Mt(()=>{r.spec=a},[a]),r}function DI(a){return rs(()=>{const s=a.type;return Ie(s!=null,"spec.type must be defined"),s},[a])}function AI(a,s,i){const r=Mn(),l=xI(a,s,i),u=DI(a);Ci(function(){if(u!=null){const[p,m]=yI(u,l,r);return s.receiveHandlerId(p),i.receiveHandlerId(p),m}},[r,s,i,l,u])}function RI(a,s){const i=tC(a);Ie(!i.begin,"useDrag::spec.begin was deprecated in v14. Replace spec.begin() with spec.item(). (see more here - https://react-dnd.github.io/react-dnd/docs/api/use-drag)");const r=EI(),l=SI(i.options,i.previewOptions);return AI(i,r,l),[eC(i.collect,r,l),mI(l),fI(l)]}function OI(a){return rs(()=>a.hooks.dropTarget(),[a])}function MI(a){const s=Mn(),i=rs(()=>new kI(s.getBackend()),[s]);return Ci(()=>(i.dropTargetOptions=a||null,i.reconnect(),()=>i.disconnectDropTarget()),[a]),i}function NI(){const a=Mn();return rs(()=>new bI(a),[a])}function LI(a){const{accept:s}=a;return rs(()=>(Ie(a.accept!=null,"accept must be defined"),Array.isArray(s)?s:[s]),[s])}class PI{canDrop(){const s=this.spec,i=this.monitor;return s.canDrop?s.canDrop(i.getItem(),i):!0}hover(){const s=this.spec,i=this.monitor;s.hover&&s.hover(i.getItem(),i)}drop(){const s=this.spec,i=this.monitor;if(s.drop)return s.drop(i.getItem(),i)}constructor(s,i){this.spec=s,this.monitor=i}}function BI(a,s){const i=rs(()=>new PI(a,s),[s]);return Mt(()=>{i.spec=a},[a]),i}function jI(a,s,i){const r=Mn(),l=BI(a,s),u=LI(a);Ci(function(){const[p,m]=vI(u,l,r);return s.receiveHandlerId(p),i.receiveHandlerId(p),m},[r,s,l,i,u.map(d=>d.toString()).join("|")])}function FI(a,s){const i=tC(a),r=NI(),l=MI(i.options);return jI(i,r,l),[eC(i.collect,r,l),OI(l)]}function oC(a){let s=null;return()=>(s==null&&(s=a()),s)}function zI(a,s){return a.filter(i=>i!==s)}function UI(a,s){const i=new Set,r=u=>i.add(u);a.forEach(r),s.forEach(r);const l=[];return i.forEach(u=>l.push(u)),l}class HI{enter(s){const i=this.entered.length,r=l=>this.isNodeInDocument(l)&&(!l.contains||l.contains(s));return this.entered=UI(this.entered.filter(r),[s]),i===0&&this.entered.length>0}leave(s){const i=this.entered.length;return this.entered=zI(this.entered.filter(this.isNodeInDocument),s),i>0&&this.entered.length===0}reset(){this.entered=[]}constructor(s){this.entered=[],this.isNodeInDocument=s}}class WI{initializeExposedProperties(){Object.keys(this.config.exposeProperties).forEach(s=>{Object.defineProperty(this.item,s,{configurable:!0,enumerable:!0,get(){return console.warn(`Browser doesn't allow reading "${s}" until the drop event.`),null}})})}loadDataTransfer(s){if(s){const i={};Object.keys(this.config.exposeProperties).forEach(r=>{const l=this.config.exposeProperties[r];l!=null&&(i[r]={value:l(s,this.config.matchesTypes),configurable:!0,enumerable:!0})}),Object.defineProperties(this.item,i)}}canDrag(){return!0}beginDrag(){return this.item}isDragging(s,i){return i===s.getSourceId()}endDrag(){}constructor(s){this.config=s,this.item={},this.initializeExposedProperties()}}const iC="__NATIVE_FILE__",nC="__NATIVE_URL__",rC="__NATIVE_TEXT__",aC="__NATIVE_HTML__",v_=Object.freeze(Object.defineProperty({__proto__:null,FILE:iC,HTML:aC,TEXT:rC,URL:nC},Symbol.toStringTag,{value:"Module"}));function Qp(a,s,i){const r=s.reduce((l,u)=>l||a.getData(u),"");return r??i}const jg={[iC]:{exposeProperties:{files:a=>Array.prototype.slice.call(a.files),items:a=>a.items,dataTransfer:a=>a},matchesTypes:["Files"]},[aC]:{exposeProperties:{html:(a,s)=>Qp(a,s,""),dataTransfer:a=>a},matchesTypes:["Html","text/html"]},[nC]:{exposeProperties:{urls:(a,s)=>Qp(a,s,"").split(` -`),dataTransfer:a=>a},matchesTypes:["Url","text/uri-list"]},[rC]:{exposeProperties:{text:(a,s)=>Qp(a,s,""),dataTransfer:a=>a},matchesTypes:["Text","text/plain"]}};function VI(a,s){const i=jg[a];if(!i)throw new Error(`native type ${a} has no configuration`);const r=new WI(i);return r.loadDataTransfer(s),r}function eg(a){if(!a)return null;const s=Array.prototype.slice.call(a.types||[]);return Object.keys(jg).filter(i=>{const r=jg[i];return r!=null&&r.matchesTypes?r.matchesTypes.some(l=>s.indexOf(l)>-1):!1})[0]||null}const GI=oC(()=>/firefox/i.test(navigator.userAgent)),lC=oC(()=>!!window.safari);class y_{interpolate(s){const{xs:i,ys:r,c1s:l,c2s:u,c3s:d}=this;let p=i.length-1;if(s===i[p])return r[p];let m=0,f=d.length-1,v;for(;m<=f;){v=Math.floor(.5*(m+f));const k=i[v];if(ks)f=v-1;else return r[v]}p=Math.max(0,f);const _=s-i[p],y=_*_;return r[p]+l[p]*_+u[p]*y+d[p]*_*y}constructor(s,i){const{length:r}=s,l=[];for(let k=0;ks[k]{let se=new y_([0,.5,1],[m.y,m.y/v*C,m.y+C-v]).interpolate(y);return lC()&&u&&(se+=(window.devicePixelRatio-1)*C),se},E=()=>new y_([0,.5,1],[m.x,m.x/f*k,m.x+k-f]).interpolate(_),{offsetX:R,offsetY:D}=l,A=R===0||R,J=D===0||D;return{x:A?R:E(),y:J?D:w()}}let XI=class{get window(){if(this.globalContext)return this.globalContext;if(typeof window<"u")return window}get document(){var s;return!((s=this.globalContext)===null||s===void 0)&&s.document?this.globalContext.document:this.window?this.window.document:void 0}get rootElement(){var s;return((s=this.optionsArgs)===null||s===void 0?void 0:s.rootElement)||this.window}constructor(s,i){this.ownerDocument=null,this.globalContext=s,this.optionsArgs=i}};function ZI(a,s,i){return s in a?Object.defineProperty(a,s,{value:i,enumerable:!0,configurable:!0,writable:!0}):a[s]=i,a}function __(a){for(var s=1;s{this.sourcePreviewNodes.delete(s),this.sourcePreviewNodeOptions.delete(s)}}connectDragSource(s,i,r){this.sourceNodes.set(s,i),this.sourceNodeOptions.set(s,r);const l=d=>this.handleDragStart(d,s),u=d=>this.handleSelectStart(d);return i.setAttribute("draggable","true"),i.addEventListener("dragstart",l),i.addEventListener("selectstart",u),()=>{this.sourceNodes.delete(s),this.sourceNodeOptions.delete(s),i.removeEventListener("dragstart",l),i.removeEventListener("selectstart",u),i.setAttribute("draggable","false")}}connectDropTarget(s,i){const r=d=>this.handleDragEnter(d,s),l=d=>this.handleDragOver(d,s),u=d=>this.handleDrop(d,s);return i.addEventListener("dragenter",r),i.addEventListener("dragover",l),i.addEventListener("drop",u),()=>{i.removeEventListener("dragenter",r),i.removeEventListener("dragover",l),i.removeEventListener("drop",u)}}addEventListeners(s){s.addEventListener&&(s.addEventListener("dragstart",this.handleTopDragStart),s.addEventListener("dragstart",this.handleTopDragStartCapture,!0),s.addEventListener("dragend",this.handleTopDragEndCapture,!0),s.addEventListener("dragenter",this.handleTopDragEnter),s.addEventListener("dragenter",this.handleTopDragEnterCapture,!0),s.addEventListener("dragleave",this.handleTopDragLeaveCapture,!0),s.addEventListener("dragover",this.handleTopDragOver),s.addEventListener("dragover",this.handleTopDragOverCapture,!0),s.addEventListener("drop",this.handleTopDrop),s.addEventListener("drop",this.handleTopDropCapture,!0))}removeEventListeners(s){s.removeEventListener&&(s.removeEventListener("dragstart",this.handleTopDragStart),s.removeEventListener("dragstart",this.handleTopDragStartCapture,!0),s.removeEventListener("dragend",this.handleTopDragEndCapture,!0),s.removeEventListener("dragenter",this.handleTopDragEnter),s.removeEventListener("dragenter",this.handleTopDragEnterCapture,!0),s.removeEventListener("dragleave",this.handleTopDragLeaveCapture,!0),s.removeEventListener("dragover",this.handleTopDragOver),s.removeEventListener("dragover",this.handleTopDragOverCapture,!0),s.removeEventListener("drop",this.handleTopDrop),s.removeEventListener("drop",this.handleTopDropCapture,!0))}getCurrentSourceNodeOptions(){const s=this.monitor.getSourceId(),i=this.sourceNodeOptions.get(s);return __({dropEffect:this.altKeyPressed?"copy":"move"},i||{})}getCurrentDropEffect(){return this.isDraggingNativeItem()?"copy":this.getCurrentSourceNodeOptions().dropEffect}getCurrentSourcePreviewNodeOptions(){const s=this.monitor.getSourceId(),i=this.sourcePreviewNodeOptions.get(s);return __({anchorX:.5,anchorY:.5,captureDraggingState:!1},i||{})}isDraggingNativeItem(){const s=this.monitor.getItemType();return Object.keys(v_).some(i=>v_[i]===s)}beginDragNativeItem(s,i){this.clearCurrentDragSourceNode(),this.currentNativeSource=VI(s,i),this.currentNativeHandle=this.registry.addSource(s,this.currentNativeSource),this.actions.beginDrag([this.currentNativeHandle])}setCurrentDragSourceNode(s){this.clearCurrentDragSourceNode(),this.currentDragSourceNode=s;const i=1e3;this.mouseMoveTimeoutTimer=setTimeout(()=>{var r;return(r=this.rootElement)===null||r===void 0?void 0:r.addEventListener("mousemove",this.endDragIfSourceWasRemovedFromDOM,!0)},i)}clearCurrentDragSourceNode(){if(this.currentDragSourceNode){if(this.currentDragSourceNode=null,this.rootElement){var s;(s=this.window)===null||s===void 0||s.clearTimeout(this.mouseMoveTimeoutTimer||void 0),this.rootElement.removeEventListener("mousemove",this.endDragIfSourceWasRemovedFromDOM,!0)}return this.mouseMoveTimeoutTimer=null,!0}return!1}handleDragStart(s,i){s.defaultPrevented||(this.dragStartSourceIds||(this.dragStartSourceIds=[]),this.dragStartSourceIds.unshift(i))}handleDragEnter(s,i){this.dragEnterTargetIds.unshift(i)}handleDragOver(s,i){this.dragOverTargetIds===null&&(this.dragOverTargetIds=[]),this.dragOverTargetIds.unshift(i)}handleDrop(s,i){this.dropTargetIds.unshift(i)}constructor(s,i,r){this.sourcePreviewNodes=new Map,this.sourcePreviewNodeOptions=new Map,this.sourceNodes=new Map,this.sourceNodeOptions=new Map,this.dragStartSourceIds=null,this.dropTargetIds=[],this.dragEnterTargetIds=[],this.currentNativeSource=null,this.currentNativeHandle=null,this.currentDragSourceNode=null,this.altKeyPressed=!1,this.mouseMoveTimeoutTimer=null,this.asyncEndDragFrameId=null,this.dragOverTargetIds=null,this.lastClientOffset=null,this.hoverRafId=null,this.getSourceClientOffset=l=>{const u=this.sourceNodes.get(l);return u&&cC(u)||null},this.endDragNativeItem=()=>{this.isDraggingNativeItem()&&(this.actions.endDrag(),this.currentNativeHandle&&this.registry.removeSource(this.currentNativeHandle),this.currentNativeHandle=null,this.currentNativeSource=null)},this.isNodeInDocument=l=>!!(l&&this.document&&this.document.body&&this.document.body.contains(l)),this.endDragIfSourceWasRemovedFromDOM=()=>{const l=this.currentDragSourceNode;l==null||this.isNodeInDocument(l)||(this.clearCurrentDragSourceNode()&&this.monitor.isDragging()&&this.actions.endDrag(),this.cancelHover())},this.scheduleHover=l=>{this.hoverRafId===null&&typeof requestAnimationFrame<"u"&&(this.hoverRafId=requestAnimationFrame(()=>{this.monitor.isDragging()&&this.actions.hover(l||[],{clientOffset:this.lastClientOffset}),this.hoverRafId=null}))},this.cancelHover=()=>{this.hoverRafId!==null&&typeof cancelAnimationFrame<"u"&&(cancelAnimationFrame(this.hoverRafId),this.hoverRafId=null)},this.handleTopDragStartCapture=()=>{this.clearCurrentDragSourceNode(),this.dragStartSourceIds=[]},this.handleTopDragStart=l=>{if(l.defaultPrevented)return;const{dragStartSourceIds:u}=this;this.dragStartSourceIds=null;const d=sc(l);this.monitor.isDragging()&&(this.actions.endDrag(),this.cancelHover()),this.actions.beginDrag(u||[],{publishSource:!1,getSourceClientOffset:this.getSourceClientOffset,clientOffset:d});const{dataTransfer:p}=l,m=eg(p);if(this.monitor.isDragging()){if(p&&typeof p.setDragImage=="function"){const v=this.monitor.getSourceId(),_=this.sourceNodes.get(v),y=this.sourcePreviewNodes.get(v)||_;if(y){const{anchorX:k,anchorY:C,offsetX:w,offsetY:E}=this.getCurrentSourcePreviewNodeOptions(),A=qI(_,y,d,{anchorX:k,anchorY:C},{offsetX:w,offsetY:E});p.setDragImage(y,A.x,A.y)}}try{p==null||p.setData("application/json",{})}catch{}this.setCurrentDragSourceNode(l.target);const{captureDraggingState:f}=this.getCurrentSourcePreviewNodeOptions();f?this.actions.publishDragSource():setTimeout(()=>this.actions.publishDragSource(),0)}else if(m)this.beginDragNativeItem(m);else{if(p&&!p.types&&(l.target&&!l.target.hasAttribute||!l.target.hasAttribute("draggable")))return;l.preventDefault()}},this.handleTopDragEndCapture=()=>{this.clearCurrentDragSourceNode()&&this.monitor.isDragging()&&this.actions.endDrag(),this.cancelHover()},this.handleTopDragEnterCapture=l=>{if(this.dragEnterTargetIds=[],this.isDraggingNativeItem()){var u;(u=this.currentNativeSource)===null||u===void 0||u.loadDataTransfer(l.dataTransfer)}if(!this.enterLeaveCounter.enter(l.target)||this.monitor.isDragging())return;const{dataTransfer:p}=l,m=eg(p);m&&this.beginDragNativeItem(m,p)},this.handleTopDragEnter=l=>{const{dragEnterTargetIds:u}=this;if(this.dragEnterTargetIds=[],!this.monitor.isDragging())return;this.altKeyPressed=l.altKey,u.length>0&&this.actions.hover(u,{clientOffset:sc(l)}),u.some(p=>this.monitor.canDropOnTarget(p))&&(l.preventDefault(),l.dataTransfer&&(l.dataTransfer.dropEffect=this.getCurrentDropEffect()))},this.handleTopDragOverCapture=l=>{if(this.dragOverTargetIds=[],this.isDraggingNativeItem()){var u;(u=this.currentNativeSource)===null||u===void 0||u.loadDataTransfer(l.dataTransfer)}},this.handleTopDragOver=l=>{const{dragOverTargetIds:u}=this;if(this.dragOverTargetIds=[],!this.monitor.isDragging()){l.preventDefault(),l.dataTransfer&&(l.dataTransfer.dropEffect="none");return}this.altKeyPressed=l.altKey,this.lastClientOffset=sc(l),this.scheduleHover(u),(u||[]).some(p=>this.monitor.canDropOnTarget(p))?(l.preventDefault(),l.dataTransfer&&(l.dataTransfer.dropEffect=this.getCurrentDropEffect())):this.isDraggingNativeItem()?l.preventDefault():(l.preventDefault(),l.dataTransfer&&(l.dataTransfer.dropEffect="none"))},this.handleTopDragLeaveCapture=l=>{this.isDraggingNativeItem()&&l.preventDefault(),this.enterLeaveCounter.leave(l.target)&&(this.isDraggingNativeItem()&&setTimeout(()=>this.endDragNativeItem(),0),this.cancelHover())},this.handleTopDropCapture=l=>{if(this.dropTargetIds=[],this.isDraggingNativeItem()){var u;l.preventDefault(),(u=this.currentNativeSource)===null||u===void 0||u.loadDataTransfer(l.dataTransfer)}else eg(l.dataTransfer)&&l.preventDefault();this.enterLeaveCounter.reset()},this.handleTopDrop=l=>{const{dropTargetIds:u}=this;this.dropTargetIds=[],this.actions.hover(u,{clientOffset:sc(l)}),this.actions.drop({dropEffect:this.getCurrentDropEffect()}),this.isDraggingNativeItem()?this.endDragNativeItem():this.monitor.isDragging()&&this.actions.endDrag(),this.cancelHover()},this.handleSelectStart=l=>{const u=l.target;typeof u.dragDrop=="function"&&(u.tagName==="INPUT"||u.tagName==="SELECT"||u.tagName==="TEXTAREA"||u.isContentEditable||(l.preventDefault(),u.dragDrop()))},this.options=new XI(i,r),this.actions=s.getActions(),this.monitor=s.getMonitor(),this.registry=s.getRegistry(),this.enterLeaveCounter=new HI(this.isNodeInDocument)}}const uC=function(s,i,r){return new QI(s,i,r)},ex=ht([g.jsx("path",{d:"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2M12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8"},"0"),g.jsx("path",{d:"M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z"},"1")],"AccessTime"),tx=ht(g.jsx("path",{d:"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2m-2 10h-4v4h-2v-4H7v-2h4V7h2v4h4z"}),"AddBox"),sx=ht(g.jsx("path",{d:"M4 8h4V4H4zm6 12h4v-4h-4zm-6 0h4v-4H4zm0-6h4v-4H4zm6 0h4v-4h-4zm6-10v4h4V4zm-6 4h4V4h-4zm6 6h4v-4h-4zm0 6h4v-4h-4z"}),"Apps"),ox=ht(g.jsx("path",{d:"M9 2c-1.05 0-2.05.16-3 .46 4.06 1.27 7 5.06 7 9.54s-2.94 8.27-7 9.54c.95.3 1.95.46 3 .46 5.52 0 10-4.48 10-10S14.52 2 9 2"}),"Brightness3"),ix=ht(g.jsx("path",{d:"M20 8h-2.81c-.45-.78-1.07-1.45-1.82-1.96L17 4.41 15.59 3l-2.17 2.17C12.96 5.06 12.49 5 12 5s-.96.06-1.41.17L8.41 3 7 4.41l1.62 1.63C7.88 6.55 7.26 7.22 6.81 8H4v2h2.09c-.05.33-.09.66-.09 1v1H4v2h2v1c0 .34.04.67.09 1H4v2h2.81c1.04 1.79 2.97 3 5.19 3s4.15-1.21 5.19-3H20v-2h-2.09c.05-.33.09-.66.09-1v-1h2v-2h-2v-1c0-.34-.04-.67-.09-1H20zm-6 8h-4v-2h4zm0-4h-4v-2h4z"}),"BugReport"),nx=ht(g.jsx("path",{d:"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12zm-1 4 6 6v10c0 1.1-.9 2-2 2H7.99C6.89 23 6 22.1 6 21l.01-14c0-1.1.89-2 1.99-2zm-1 7h5.5L14 6.5z"}),"FileCopy"),rx=ht(g.jsx("path",{d:"M7 2v11h3v9l7-12h-4l4-8z"}),"FlashOn"),ax=ht(g.jsx("path",{d:"M3.27 5 2 6.27l6.97 6.97L6.5 19h3l1.57-3.66L16.73 21 18 19.73 3.55 5.27zM6 5v.18L8.82 8h2.4l-.72 1.68 2.1 2.1L14.21 8H20V5z"}),"FormatClear"),lx=ht(g.jsx("path",{d:"M18 4H6v2l6.5 6L6 18v2h12v-3h-7l5-5-5-5h7z"}),"Functions"),dC=ht(g.jsx("path",{d:"M11 18h2v-2h-2zm1-16C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-14c-2.21 0-4 1.79-4 4h2c0-1.1.9-2 2-2s2 .9 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5 0-2.21-1.79-4-4-4"}),"HelpOutline"),cx=ht(g.jsx("path",{d:"M21 3.01H3c-1.1 0-2 .9-2 2V9h2V4.99h18v14.03H3V15H1v4.01c0 1.1.9 1.98 2 1.98h18c1.1 0 2-.88 2-1.98v-14c0-1.11-.9-2-2-2M11 16l4-4-4-4v3H1v2h10z"}),"Input"),w_=ht(g.jsx("path",{d:"M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2m-6 9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2m3.1-9H8.9V6c0-1.71 1.39-3.1 3.1-3.1s3.1 1.39 3.1 3.1z"}),"Lock"),ux=ht(g.jsx("path",{d:"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2m0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2"}),"MoreVert"),dx=ht(g.jsx("path",{d:"M12 2C6.49 2 2 6.49 2 12s4.49 10 10 10c1.38 0 2.5-1.12 2.5-2.5 0-.61-.23-1.2-.64-1.67-.08-.1-.13-.21-.13-.33 0-.28.22-.5.5-.5H16c3.31 0 6-2.69 6-6 0-4.96-4.49-9-10-9m5.5 11c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5m-3-4c-.83 0-1.5-.67-1.5-1.5S13.67 6 14.5 6s1.5.67 1.5 1.5S15.33 9 14.5 9M5 11.5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5S7.33 13 6.5 13 5 12.33 5 11.5m6-4c0 .83-.67 1.5-1.5 1.5S8 8.33 8 7.5 8.67 6 9.5 6s1.5.67 1.5 1.5"}),"Palette"),gc=ht(g.jsx("path",{d:"M6 19h4V5H6zm8-14v14h4V5z"}),"Pause"),Fg=ht(g.jsx("path",{d:"M8 5v14l11-7z"}),"PlayArrow"),hx=ht(g.jsx("path",{d:"M11 5v5.59H7.5l4.5 4.5 4.5-4.5H13V5zm-5 9c0 3.31 2.69 6 6 6s6-2.69 6-6h-2c0 2.21-1.79 4-4 4s-4-1.79-4-4z"}),"PlayForWork"),px=ht(g.jsx("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14"}),"Search"),gx=ht(g.jsx("path",{d:"M10.59 9.17 5.41 4 4 5.41l5.17 5.17zM14.5 4l2.04 2.04L4 18.59 5.41 20 17.96 7.46 20 9.5V4zm.33 9.41-1.41 1.41 3.13 3.13L14.5 20H20v-5.5l-2.04 2.04z"}),"Shuffle"),mx=ht(g.jsx("path",{d:"M2 20h20v-4H2zm2-3h2v2H4zM2 4v4h20V4zm4 3H4V5h2zm-4 7h20v-4H2zm2-3h2v2H4z"}),"Storage"),fx=ht(g.jsx("path",{d:"M14 17H4v2h10zm6-8H4v2h16zM4 15h16v-2H4zM4 5v2h16V5z"}),"Subject"),$x=ht(g.jsx("path",{d:"M16 17.01V10h-2v7.01h-3L15 21l4-3.99zM9 3 5 6.99h3V14h2V6.99h3z"}),"SwapVert"),bx=ht(g.jsx("path",{d:"M7.41 18.59 8.83 20 12 16.83 15.17 20l1.41-1.41L12 14zm9.18-13.18L15.17 4 12 7.17 8.83 4 7.41 5.41 12 10z"}),"UnfoldLess"),vx=ht(g.jsx("path",{d:"M12 5.83 15.17 9l1.41-1.41L12 3 7.41 7.59 8.83 9zm0 12.34L8.83 15l-1.41 1.41L12 21l4.59-4.59L15.17 15z"}),"UnfoldMore"),_c="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='512'%20height='512'%20shape-rendering='geometricPrecision'%20image-rendering='optimizeQuality'%20fill-rule='evenodd'%20xmlns:v='https://vecta.io/nano'%3e%3cpath%20fill='%23efda4e'%20d='M-.5-.5h512v512H-.5V-.5z'/%3e%3cpath%20fill='%23020100'%20d='M308.5%20287.5c1.777-3.005%202.777-6.338%203-10%209.147-21.963%2025.48-35.463%2049-40.5%2021.999-4.173%2043.666-2.84%2065%204%2014.575%205.411%2025.575%2014.911%2033%2028.5l-1%202c-12.413%205.624-24.58%2011.624-36.5%2018-5.321-8.25-12.821-13.417-22.5-15.5-13.957-3.122-27.29-1.455-40%205-8.125%205.36-10.958%2012.86-8.5%2022.5%203.223%206.223%208.057%2010.723%2014.5%2013.5l64%2020c38.459%2016.085%2052.626%2044.585%2042.5%2085.5-7.572%2026.208-24.738%2042.041-51.5%2047.5-25.102%205.733-49.768%204.4-74-4-19.291-8.625-32.291-22.958-39-43%2011.266-8.887%2023.433-16.387%2036.5-22.5%203.117%206.896%206.784%2013.563%2011%2020%2012.705%2012.307%2027.872%2016.807%2045.5%2013.5%2022.189-3.504%2032.355-16.338%2030.5-38.5-2.833-6.833-7.667-11.667-14.5-14.5l-57-17c-36.004-11.84-52.67-36.673-50-74.5z'/%3e%3cpath%20fill='%23020200'%20d='M222.5%20238.5h43l-.5%20159c-2.688%2052.355-30.188%2076.855-82.5%2073.5-24.871-3.543-41.204-17.21-49-41l.5-2.5a12.14%2012.14%200%200%200%204.5-3.5c10.653-5.825%2021.32-11.325%2032-16.5%204.763%2021.72%2017.763%2028.887%2039%2021.5%204.616-2.618%207.783-6.451%209.5-11.5%201.163-5.968%202.163-11.968%203-18l.5-161z'/%3e%3cpath%20fill='%23615820'%20d='M311.5%20277.5c-.223%203.662-1.223%206.995-3%2010%20.223-3.662%201.223-6.995%203-10z'/%3e%3c/svg%3e",hC="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20500%20500'%3e%3cpath%20fill='%234285f4'%20d='M44.271%2027.275l206.5%201v170l-58.5-36.5c-7.005-.916-12.505%201.584-16.5%207.5v147c4.625%204.412%2010.125%206.245%2016.5%205.5l57.5-35.5c.833%2054.003%201.356%20108.003.189%20162-1.272.546-45.599-.242-48.689%201.121-3.674%207.844-4.79%2011.207-13%2023.879-4.372%205.527-2.19%204.097-10.689%2012.258-5.166%202.748-4.191%203.45-14.311%206.242-17.67%201.983-35.336%201.983-53%200-9.535-3.774-10.879-4.163-18.526-11.22-5.562-4.39-11.131-11.803-11.974-15.28-4.068-7.881-3.42-9.116-5.5-13.5-3.672-1.503-35.798.203-40.746-1.335-5.823-2.314-2.946-.422-7.954-3.689-2.888-2.668-2.255-3.221-2.421-9.904L20.771%2050.275c.36-2.108-.41-5.806%202.522-11.615%204.343-5.852%205.374-7%2010.061-9.146%206.083-2.73%208.677-1.475%2010.917-2.239z'/%3e%3cpath%20d='M258.271%2030.275l154.63.407c5.654.559%2010.783%203.17%2014.37%207.093%204.907%204.408%206.204%208.723%207.5%2013.5v373c-.208%205.716-.297%207.982-4.848%2015.404-7.078%206.393-9.879%206.39-15.652%206.692-24.804%201.296-50.079%201.189-74.96%201.041-24.516-.014-68.46.89-81.5.391l-2.512-172.528c-20.083%2012.625-42.777%2025.125-63.028%2037.5-4.127%201.292-7.294.125-9.5-3.5l1-137c1.864-2.707%204.364-3.541%207.5-2.5%2020.366%2013.427%2064.35%2038.947%2065.581%2038.339l1.419-177.839z'%20fill='%23DDD'/%3e%3c/svg%3e",pC="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20512%20512'%20width='32'%20height='32'%3e%3cpath%20fill='%23007acc'%20d='M-.5-.5h503l-1%20179h10v333h-421v-7h-91V-.5z'/%3e%3cpath%20fill='%230f81cf'%20d='M502.5-.5h9v179h-10l1-179z'/%3e%3cpath%20fill='%23fdfefe'%20d='M470.5%20227.5c.33%2017.508-.003%2034.841-1%2052-23.486-15.709-48.82-19.875-76-12.5-15.89%208.078-19.39%2019.911-10.5%2035.5%204.673%205.577%2010.173%2010.077%2016.5%2013.5l38%2019c17.945%209.278%2031.112%2023.112%2039.5%2041.5%201.352%203.22%202.186%206.553%202.5%2010a305.16%20305.16%200%200%201%201%2026c-3.553%2033.726-21.886%2054.559-55%2062.5-34.769%207.363-68.435%204.196-101-9.5-.167-19.003%200-38.003.5-57%2022.903%2021.314%2049.736%2029.147%2080.5%2023.5%2019.435-5.701%2025.268-17.868%2017.5-36.5-4.718-6.44-10.552-11.606-17.5-15.5a1552.42%201552.42%200%200%201-47-24c-27.679-19.331-38.846-45.831-33.5-79.5%206.43-26.433%2022.597-43.933%2048.5-52.5%2026.131-6.625%2052.464-7.292%2079-2a565.56%20565.56%200%200%201%2018%205.5z'/%3e%3cpath%20fill='%23fefefe'%20d='M122.5%20222.5h182v46h-65v206h-52v-206h-65v-46z'/%3e%3cpath%20fill='%2370b3e1'%20d='M470.5%20227.5c1.327%2017.505%201.327%2035.171%200%2053-.607-.124-.94-.457-1-1%20.997-17.159%201.33-34.492%201-52z'/%3e%3cpath%20fill='%236cafe0'%20d='M479.5%20386.5c1.465%205.09%202.132%2010.423%202%2016-.002%203.518-.335%206.851-1%2010a305.16%20305.16%200%200%200-1-26z'/%3e%3cpath%20fill='%231283cf'%20d='M-.5%20504.5h91v7h-91v-7z'/%3e%3c/svg%3e",gC="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIj4KICAgIDxyYWRpYWxHcmFkaWVudCBpZD0ibXlHcmFkaWVudCI+CiAgICAgICAgPHN0b3Agb2Zmc2V0PSIxMCUiIHN0b3AtY29sb3I9IiMxQzJENUYiIC8+CiAgICAgICAgPHN0b3Agb2Zmc2V0PSI5NSUiIHN0b3AtY29sb3I9IiMwQjFENTMiIC8+CiAgICA8L3JhZGlhbEdyYWRpZW50PgogICAgPHBhdGggZmlsbD0idXJsKCcjbXlHcmFkaWVudCcpIiBkPSJNLS4xLS4xaDUxMnY1MTJILS4xVi0uMXoiLz4KICAgIDxwYXRoIGZpbGw9IiNmOGY4ZmEiCiAgICAgICAgICBkPSJNNDgyLjUgMjMxLjV2NmgtMjVjLS45NzItOC4xNy01LjYzOS0xMi4xNy0xNC0xMi05LjUzMS4wMjktMTMuMzY1IDQuNjk1LTExLjUgMTRsNC41IDQuNSAzMyA4YzE5LjM4OCA5LjYzNCAyMy4zODggMjMuODAxIDEyIDQyLjVhMzUuMDYgMzUuMDYgMCAwIDAtOCA2Yy0xMy45MjUgNC43NjEtMjguMjU4IDYuMjYxLTQzIDQuNS0xMC42MDEtMS4wMjQtMTguOTM1LTUuODU3LTI1LTE0LjUtMS4wNzctMi4yMjktMS43NDQtNC41NjMtMi03di04aDI1YzEuNDk1IDQuMjc5IDMuODI4IDguMTEzIDcgMTEuNSA3LjQ3OCAyLjI1OCAxNC44MTEgMS45MjUgMjItMSAyLjg5NC0yLjkwOSAzLjcyNy02LjQwOSAyLjUtMTAuNWEzNi44IDM2LjggMCAwIDAtMTIuNS01LjUgNTM5Ljc5IDUzOS43OSAwIDAgMS0yOC04Yy0xMi44NzQtNi41NjItMTcuNzA3LTE3LjA2Mi0xNC41LTMxLjUgMy41Ny0xMC41NjkgMTAuNzM3LTE3LjQwMyAyMS41LTIwLjUgMTYuMTQ4LTQuNTM5IDMxLjQ4Mi0yLjcwNiA0NiA1LjUgMiAyLjY2NyA0LjMzMyA1IDcgNyAxLjg3MSAyLjczNCAyLjg3MSA1LjczNCAzIDl6Ii8+CiAgICA8cGF0aCBmaWxsPSIjYTRhYmJmIiBkPSJNMTUzLjUgMjA5LjVjLjA2LS41NDMuMzkzLS44NzYgMS0xYTEwMjQuNjMgMTAyNC42MyAwIDAgMSAxIDY0bC0yLTYzeiIvPgogICAgPHBhdGggZmlsbD0iI2ZhZmJmYyIKICAgICAgICAgIGQ9Ik0xNTMuNSAyMDkuNWwyIDYzYzEuMjc4IDExLjQ0NCA3LjYxMSAxNi4yNzcgMTkgMTQuNSA4LjcwNC0xLjM3OCAxMy4yMDQtNi41NDQgMTMuNS0xNS41LjUtMjAuNjY0LjY2Ny00MS4zMzEuNS02MiA5Ljc0My0uMjE5IDE5LjQwOS0uMjE5IDI5IDAgLjQwMSAyMy4zNjItLjA5OSA0Ni42OTYtMS41IDcwLTQuMjk4IDE0Ljk2OC0xNC4xMzEgMjMuNDY4LTI5LjUgMjUuNWEyMjUuMTQgMjI1LjE0IDAgMCAxLTMwIDBjLTE1LjgyMi0yLjE1NS0yNS42NTUtMTAuOTg4LTI5LjUtMjYuNWwtLjUtNjloMjd6Ii8+CiAgICA8cGF0aCBmaWxsPSIjZmVmZWZlIgogICAgICAgICAgZD0iTTIzMy41IDIwOS41aDI3Yy0uMzMxIDI1LjE3Mi4wMDIgNTAuMTcyIDEgNzUgMCAuNjY3LjMzMyAxIDEgMSAxMy4xNTYuOTk2IDI2LjQ5IDEuMzI5IDQwIDF2MTdoLTY5di05NHoiLz4KICAgIDxwYXRoIGZpbGw9IiNhNWFjYmYiIGQ9Ik0yMzMuNSAyMDkuNWM5LjE1Mi0uOTk0IDE4LjQ4NS0xLjMyNyAyOC0xdjc2Yy0uOTk4LTI0LjgyOC0xLjMzMS00OS44MjgtMS03NWgtMjd6Ii8+CiAgICA8cGF0aCBmaWxsPSIjYTdhZWMxIiBkPSJNMzE2LjUgMjA5LjVoNzNjLjMyMyA2LjE5LS4wMSAxMi4xOS0xIDE4di0xN2MtMjQuMTcyLjMzMS00OC4xNzItLjAwMi03Mi0xeiIvPgogICAgPHBhdGggZmlsbD0iI2E1YWNjMCIgZD0iTTg1LjUgMjEwLjVoLTU5djkzaDI3Yy0uMzI4LTExLjE3OS4wMDUtMjIuMTc5IDEtMzN2MzRoLTI5di05NWE5MDAuOTggOTAwLjk4IDAgMCAxIDYwIDF6Ii8+CiAgICA8cGF0aCBmaWxsPSIjZmNmY2ZjIgogICAgICAgICAgZD0iTTg1LjUgMjEwLjVjMjIuMjIzIDMuNzU4IDI5LjU1NiAxNi40MjUgMjIgMzgtNC4yMjggNS4zOTctOS4yMjggOS44OTctMTUgMTMuNS0xLjMwNS44MDQtMS45NzEgMS45NzEtMiAzLjVsMjMgMzZjLTQuNDUxIDEuMzI3LTkuMjg0IDEuOTk0LTE0LjUgMmExMjguMTkgMTI4LjE5IDAgMCAxLTE1LjUtMWMtNi45NTUtMTAuMzI2LTEzLjQ1NS0yMC45OTItMTkuNS0zMi0zLjI2OS0xLjMxOC02LjQzNS0xLjMxOC05LjUgMC0uOTk1IDEwLjgyMS0xLjMyOCAyMS44MjEtMSAzM2gtMjd2LTkzaDU5eiIvPgogICAgPHBhdGggZmlsbD0iI2ZlZmVmZSIKICAgICAgICAgIGQ9Ik0zMTYuNSAyMDkuNWMyMy44MjguOTk4IDQ3LjgyOCAxLjMzMSA3MiAxdjE3Yy0xNC42Ny0uMTY3LTI5LjMzNyAwLTQ0IC41LTEuMzI2IDYuNTk5LTEuMzI2IDEzLjA5OSAwIDE5LjUgMTQuNDkuOTk2IDI5LjE1NyAxLjMyOSA0NCAxdjE2Yy0xNC44NDMtLjMyOS0yOS41MS4wMDQtNDQgMWE1MC41MSA1MC41MSAwIDAgMCAwIDIwYzE0LjQ5Ljk5NiAyOS4xNTcgMS4zMjkgNDQgMXYxN2gtNzNjLS4zMzItMzEuNTA0LjAwMi02Mi44MzggMS05NHoiLz4KICAgIDxwYXRoIGZpbGw9IiMxODI3NWIiCiAgICAgICAgICBkPSJNNTUuNSAyMjkuNWM3LjA4OS0uMzg0IDE0LjA4OS4xMTYgMjEgMS41IDMuNDAxIDEuMzIgNC43MzUgMy44MiA0IDcuNWwtLjUgNWMtMS43NzEuODA0LTMuMjcxIDEuOTcxLTQuNSAzLjUtNi41OTIgMS4zMjktMTMuMjU5IDEuODI5LTIwIDEuNXYtMTl6Ii8+CiAgICA8cGF0aCBmaWxsPSIjYTVhY2MwIiBkPSJNNDgyLjUgMjMxLjVjLjk2OCAyLjEwNyAxLjMwMiA0LjQ0MSAxIDctOC44NDkuMzI2LTE3LjUxNi0uMDA3LTI2LTFoMjV2LTZ6Ii8+CiAgICA8cGF0aCBmaWxsPSIjYTZhZGMwIiBkPSJNMzQ0LjUgMjQ3LjVoNDV2MThoLTQ1YzE0LjQ5LS45OTYgMjkuMTU3LTEuMzI5IDQ0LTF2LTE2Yy0xNC44NDMuMzI5LTI5LjUxLS4wMDQtNDQtMXoiLz4KICAgIDxwYXRoIGZpbGw9IiNhMmE5YmUiIGQ9Ik00MjguNSAyNzUuNWgtMjV2OGMtLjk3Ny0yLjc4Ny0xLjMxLTUuNzg3LTEtOSA4Ljg0OS0uMzI2IDE3LjUxNi4wMDcgMjYgMXoiLz4KICAgIDxwYXRoIGZpbGw9IiNhNWFjYmYiCiAgICAgICAgICBkPSJNMTEzLjUgMzAxLjVjLjk3OC4zMTEgMS42NDUuOTc4IDIgMmwtMTYgMWMtNS43MTEtLjAwNS0xMS4wNDQtLjY3Mi0xNi0yYTEyOC4xOSAxMjguMTkgMCAwIDAgMTUuNSAxYzUuMjE2LS4wMDYgMTAuMDQ5LS42NzMgMTQuNS0yeiIvPgogICAgPHBhdGggZmlsbD0iI2E1YWNjMCIgZD0iTTIzMy41IDIwOS41djk0aDY5di0xN2MtMTMuNTEuMzI5LTI2Ljg0NC0uMDA0LTQwLTFoNDF2MTloLTcxYTIyNTYuNDEgMjI1Ni40MSAwIDAgMSAxLTk1eiIvPgogICAgPHBhdGggZmlsbD0iI2E2YWNjMCIKICAgICAgICAgIGQ9Ik0zMTYuNSAyMDkuNWMtLjk5OCAzMS4xNjItMS4zMzIgNjIuNDk2LTEgOTRoNzN2LTE3Yy0xNC44NDMuMzI5LTI5LjUxLS4wMDQtNDQtMWg0NXYxOWgtNzVhMjMwNC45NSAyMzA0Ljk1IDAgMCAxIDEtOTZjLjYwNy4xMjQuOTQuNDU3IDEgMXoiLz4KPC9zdmc+";class $m extends Y.Component{isShowInstance;oldId;constructor(s){super(s),this.state={name:s.name,id:s.id,instance:s.instance||0,prefix:$m.getPrefix(s.id)},this.isShowInstance=!s.folder&&!!s.instances&&(!!s.instance||!!s.instances[0]||s.instances.length>1),this.oldId=s.id}static getPrefix(s){const i=(s||"").split(".");return i.pop(),i.join(".")}getId(s){return s=(s||"").replace(/[\\/\][*,;'"`<>?\s]/g,"_"),`${this.state.prefix}.${s}`}handleCancel=()=>{this.props.onClose()};handleOk=()=>{this.props.onRename(this.oldId,this.state.id,this.state.name,this.state.instance===0?0:this.state.instance||void 0),this.props.onClose()};handleChange=s=>{this.setState({name:s,id:this.getId(s)})};render(){return g.jsxs(Vt,{onClose:()=>!1,maxWidth:"md",fullWidth:!0,open:!0,"aria-labelledby":"confirmation-dialog-title",children:[g.jsx(as,{id:"confirmation-dialog-title",children:b.I18n.t("Rename")}),g.jsx(Gt,{children:g.jsxs("form",{noValidate:!0,autoComplete:"off",children:[g.jsx(vo,{variant:"standard",style:{width:"100%"},id:"standard-name",autoFocus:!0,label:b.I18n.t("Name"),value:this.state.name,onKeyUp:s=>{s.key==="Enter"&&(s.preventDefault(),setTimeout(()=>this.handleOk(),200))},onChange:s=>this.handleChange(s.target.value),margin:"normal"}),g.jsx(vo,{variant:"standard",id:"standard-name-id",style:{width:"100%"},label:b.I18n.t("ID"),value:this.state.id,disabled:!0,margin:"normal"}),this.isShowInstance&&g.jsxs(_i,{variant:"standard",children:[g.jsx(Eg,{htmlFor:"instance",children:b.I18n.t("Instance")}),g.jsx(wi,{variant:"standard",value:this.state.instance,onChange:s=>this.setState({instance:parseInt(s.target.value,10)}),inputProps:{name:"instance",id:"instance"},children:this.props.instances.map(s=>g.jsx(Ve,{value:s,children:s||"0"},s))})]})]})}),g.jsxs(Kt,{children:[g.jsx(De,{variant:"contained",onClick:this.handleOk,color:"primary",startIcon:g.jsx(zo,{}),children:b.I18n.t("Ok")}),g.jsx(De,{color:"grey",variant:"contained",onClick:this.handleCancel,startIcon:g.jsx(qs,{}),children:b.I18n.t("Cancel")})]})]})}}class yx extends Y.Component{constructor(s){super(s),this.state={name:s.name,id:s.id}}handleCancel=()=>{this.props.onClose()};handleOk=()=>{this.props.onDelete(this.state.id),this.props.onClose()};render(){return g.jsxs(Vt,{onClose:()=>!1,maxWidth:"md",open:!0,"aria-labelledby":"confirmation-dialog-title",children:[g.jsx(as,{id:"confirmation-dialog-title",children:b.I18n.t("Are you sure?")}),g.jsxs(Gt,{children:[g.jsx(dc,{}),g.jsx("span",{style:{fontSize:14,fontWeight:"bold"},children:b.I18n.t("Delete %s",this.state.name)})]}),g.jsxs(Kt,{children:[g.jsx(De,{variant:"contained",onClick:this.handleOk,color:"primary",startIcon:g.jsx(zo,{}),children:b.I18n.t("Ok")}),g.jsx(De,{color:"grey",variant:"contained",onClick:this.handleCancel,startIcon:g.jsx(qs,{}),children:b.I18n.t("Cancel")})]})]})}}const _x=""+new URL("tileJS-C48gYbHw.png",import.meta.url).href,wx=""+new URL("tileTS-CsXmgy4B.png",import.meta.url).href,Cx=""+new URL("tileBlockly-BMpdinN3.png",import.meta.url).href,Tx=""+new URL("tileRules-BkbaFIhs.png",import.meta.url).href,Pt={card:{maxWidth:345,minWidth:250,display:"inline-block",margin:"0 10px 0 10px"},media:{height:122},text:{maxWidth:218,minHeight:30},complexity:{fontWeight:"bold",fontStyle:"italic",marginBottom:8}};class Cn extends Y.Component{handleCancel=()=>{this.props.onClose()};static openHtml(s){const i=b.I18n.getLanguage();!s.includes("javascript.md")&&(i==="de"||i==="ru")&&(s=s.replace(/\/en\//,`/${i}/`));const r=window.open(s,"_blank");r==null||r.focus()}getJSCard(){return g.jsxs(Yl,{style:Pt.card,children:[g.jsxs(Jl,{onClick:()=>this.props.onClose&&this.props.onClose("Javascript/js"),children:[g.jsx(ql,{style:Pt.media,image:_x,title:"JavaScript"}),g.jsxs(Xl,{children:[g.jsx("h2",{children:"JavaScript"}),g.jsx("div",{style:Pt.complexity,children:b.I18n.t("for programmers")}),g.jsx("div",{style:Pt.text,children:b.I18n.t("JS description")})]})]}),g.jsxs(Zl,{children:[g.jsx(De,{size:"small",color:"primary",variant:"contained",onClick:()=>this.props.onClose&&this.props.onClose("Javascript/js"),children:b.I18n.t("Add")}),g.jsx(De,{size:"small",color:"secondary",onClick:()=>Cn.openHtml("https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md"),children:b.I18n.t("Learn More")})]})]})}getTSCard(){return g.jsxs(Yl,{style:Pt.card,children:[g.jsxs(Jl,{onClick:()=>this.props.onClose&&this.props.onClose("TypeScript/ts"),children:[g.jsx(ql,{style:Pt.media,image:wx,title:"TypeScript"}),g.jsxs(Xl,{children:[g.jsx("h2",{children:"TypeScript"}),g.jsx("div",{style:Pt.complexity,children:b.I18n.t("for professionals")}),g.jsx("div",{style:Pt.text,children:b.I18n.t("TS description")})]})]}),g.jsxs(Zl,{children:[g.jsx(De,{size:"small",color:"primary",variant:"contained",onClick:()=>this.props.onClose&&this.props.onClose("TypeScript/ts"),children:b.I18n.t("Add")}),g.jsx(De,{size:"small",color:"secondary",onClick:()=>Cn.openHtml("https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md"),children:b.I18n.t("Learn More")})]})]})}getBlocklyCard(){return g.jsxs(Yl,{style:Pt.card,children:[g.jsxs(Jl,{onClick:()=>this.props.onClose&&this.props.onClose("Blockly"),children:[g.jsx(ql,{style:Pt.media,image:Cx,title:"Blockly"}),g.jsxs(Xl,{children:[g.jsx("h2",{children:"Blockly"}),g.jsx("div",{style:Pt.complexity,children:b.I18n.t("normal")}),g.jsx("div",{style:Pt.text,children:b.I18n.t("Blockly description")})]})]}),g.jsxs(Zl,{children:[g.jsx(De,{size:"small",color:"primary",variant:"contained",onClick:()=>this.props.onClose&&this.props.onClose("Blockly"),children:b.I18n.t("Add")}),g.jsx(De,{size:"small",color:"secondary",onClick:()=>Cn.openHtml("https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/blockly.md"),children:b.I18n.t("Learn More")})]})]})}getRulesCard(){return g.jsxs(Yl,{style:Pt.card,children:[g.jsxs(Jl,{onClick:()=>this.props.onClose&&this.props.onClose("Rules"),children:[g.jsx(ql,{style:Pt.media,image:Tx,title:"Rules"}),g.jsxs(Xl,{children:[g.jsx("h2",{children:"Rules"}),g.jsx("div",{style:Pt.complexity,children:b.I18n.t("easy")}),g.jsx("div",{style:Pt.text,children:b.I18n.t("Rules description")})]})]}),g.jsxs(Zl,{children:[g.jsx(De,{size:"small",color:"primary",variant:"contained",onClick:()=>this.props.onClose&&this.props.onClose("Rules"),children:b.I18n.t("Add")}),g.jsx(De,{size:"small",color:"secondary",onClick:()=>Cn.openHtml("https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md"),children:b.I18n.t("Learn More")})]})]})}render(){return g.jsxs(Vt,{onClose:()=>!1,maxWidth:"lg",fullWidth:!0,open:!0,"aria-labelledby":"confirmation-dialog-title",children:[g.jsx(as,{id:"confirmation-dialog-title",children:b.I18n.t("Add new script")}),g.jsxs(Gt,{style:{textAlign:"center"},children:[this.getRulesCard(),this.getBlocklyCard(),this.getJSCard(),this.getTSCard()]}),g.jsx(Kt,{children:g.jsx(De,{color:"grey",onClick:this.handleCancel,startIcon:g.jsx(qs,{}),children:b.I18n.t("Cancel")})})]})}}class tg extends Y.Component{isShowInstance;constructor(s){super(s),this.state={name:s.name||"Script",instance:s.instance||0,parent:s.parent,error:"",id:""},this.isShowInstance=!s.folder&&!!s.instances&&(!!s.instance||!!s.instances[0]||s.instances.length>1)}getId(s){return s=s||this.state.name||"",s=s.replace(/[\\/\][.*,;'"`<>?\s]/g,"_").trim().replace(/\.$/,"_"),`${this.state?this.state.parent:this.props.parent}.${s}`}handleOk=()=>{this.props.onAdd(this.getId(this.state.name),this.state.name,this.state.instance,this.props.type),this.props.onClose()};render(){var s;return console.log(this.state.name),g.jsxs(Vt,{onClose:()=>!1,maxWidth:"md",fullWidth:!0,open:!0,"aria-labelledby":"confirmation-dialog-title",children:[g.jsx(as,{id:"confirmation-dialog-title",children:this.props.title||b.I18n.t("Create new")}),g.jsx(Gt,{children:g.jsxs("form",{noValidate:!0,autoComplete:"off",children:[g.jsx(vo,{variant:"standard",style:{width:"100%"},id:"standard-name",autoFocus:!0,error:!!this.state.error,label:b.I18n.t("Name"),value:this.state.name||"",helperText:this.state.error,slotProps:{input:{endAdornment:this.state.name?g.jsx(Me,{size:"small",onClick:()=>this.setState({name:""}),children:g.jsx(Jk,{})}):void 0}},onKeyUp:i=>{i.preventDefault(),i.key==="Enter"&&!this.state.error&&setTimeout(()=>this.handleOk(),200)},onChange:i=>{var u;const r=i.target.value,l=this.getId(r);r?(u=this.props.existingItems)!=null&&u.includes(l)?this.setState({name:r,id:l,error:b.I18n.t("Duplicate name")}):(console.log(`Set name: "${r}"`),this.setState({name:r,id:l,error:""})):this.setState({name:r,id:l,error:b.I18n.t("Empty name is not allowed")})},margin:"normal"}),g.jsxs(_i,{variant:"standard",style:{width:"100%"},children:[g.jsx(Eg,{htmlFor:"parent",children:b.I18n.t("Folder")}),g.jsx(wi,{variant:"standard",style:{width:"100%"},value:this.state.parent,onChange:i=>this.setState({parent:i.target.value}),inputProps:{name:"parent",id:"parent"},children:this.props.parents.map(i=>{const r=i.id.split(".");r.splice(0,2);const l=[];let u="script.js";return r.forEach(d=>{u+=`.${d}`;const p=this.props.parents.find(m=>m.id===u);p?l.push(p.name):l.push(d)}),l.length||l.push(i.name),g.jsx(Ve,{value:i.id,children:l.join(" / ")},i.id)})})]}),g.jsx(vo,{variant:"standard",id:"standard-name-id",style:{width:"100%"},label:b.I18n.t("ID"),value:this.getId(),disabled:!0,margin:"normal"}),this.isShowInstance&&g.jsxs(_i,{variant:"standard",children:[g.jsx(Eg,{htmlFor:"instance",children:b.I18n.t("Instance")}),g.jsx(wi,{variant:"standard",value:this.state.instance,onChange:i=>this.setState({instance:parseInt(i.target.value,10)}),inputProps:{name:"instance",id:"instance"},children:(s=this.props.instances)==null?void 0:s.map(i=>g.jsx(Ve,{value:i,children:i||"0"},`instance${i}`))})]})]})}),g.jsxs(Kt,{children:[g.jsx(De,{variant:"contained",onClick:this.handleOk,disabled:!!this.state.error,color:"primary",startIcon:g.jsx(zo,{}),children:b.I18n.t("Ok")}),g.jsx(De,{color:"grey",variant:"contained",onClick:()=>this.props.onClose(),startIcon:g.jsx(qs,{}),children:b.I18n.t("Cancel")})]})]})}}const kx={title:a=>({background:a.palette.error.main,color:a.palette.error.contrastText,"&>h2":{color:a.palette.error.contrastText}})};class Zc extends Y.Component{handleOk=()=>{this.props.onClose()};render(){return g.jsxs(Vt,{open:!0,maxWidth:"sm",fullWidth:!0,onClose:()=>this.handleOk(),"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description",children:[g.jsx(as,{sx:kx.title,id:"alert-dialog-title",children:this.props.title||b.I18n.t("Error")}),g.jsx(Gt,{children:g.jsx(Iw,{id:"alert-dialog-description",children:this.props.text||b.I18n.t("Unknown error!")})}),g.jsx(Kt,{children:g.jsx(De,{variant:"contained",onClick:()=>this.handleOk(),color:"primary",autoFocus:!0,startIcon:g.jsx(zo,{}),children:b.I18n.t("Ok")})})]})}}const Mr={icon:{width:24,height:24},filterWithButton:{width:"100%"},title:{fontWeight:"bold",marginTop:16}};class Sx extends Y.Component{constructor(s){super(s),this.state={instances:[],filter:window.localStorage.getItem("javascript.debug.filter")||"",showAskForStop:!1,jsInstance:window.localStorage.getItem("javascript.debug.instance")||"",jsInstanceHost:"",adapterToDebug:window.localStorage.getItem("javascript.debug.adapter")||""}}componentDidMount(){this.props.socket.getAdapterInstances().then(s=>{const i=s.filter(p=>{var m;return p&&!((m=p.common)!=null&&m.onlyWWW)}).map(p=>{var v,_,y;const m=p._id.replace(/^system\.adapter\./,""),[f]=m.split(".");return{id:m,enabled:(v=p.common)==null?void 0:v.enabled,host:(_=p.common)==null?void 0:_.host,icon:(y=p.common)!=null&&y.icon?`../../adapter/${f}/${p.common.icon}`:""}});i.sort((p,m)=>p.id>m.id?1:p.idp.id===this.state.jsInstance):null;let u;if(!this.state.jsInstance||!l){const p=i.find(m=>m.id.startsWith("javascript."));u=(p==null?void 0:p.host)||"",r=(p==null?void 0:p.id)||""}else u=(l==null?void 0:l.host)||"";let d=this.state.adapterToDebug||"";d&&!i.find(p=>p.id===d)&&(d=""),this.setState({instances:i,jsInstance:r,adapterToDebug:d,jsInstanceHost:u})})}handleOk=()=>{var s;if((s=this.state.instances.find(i=>i.id===this.state.adapterToDebug))!=null&&s.enabled){this.props.socket.getObject(`system.adapter.${this.state.adapterToDebug}`).then(i=>{i&&(i.common.enabled=!1,this.props.socket.setObject(i._id,i).then(()=>this.props.onDebug(this.state.jsInstance,this.state.adapterToDebug)))});return}this.props.onDebug(this.state.jsInstance,this.state.adapterToDebug)};renderJavascriptList(){const s=this.state.instances.filter(i=>i.id.startsWith("javascript."));return s.length<2?null:g.jsxs($i,{children:[g.jsx("div",{style:Mr.title,children:b.I18n.t("Host")}),g.jsx(Ig,{component:"nav",children:s.map(i=>g.jsxs(Qy,{component:"div",selected:this.state.jsInstance===i.id,onClick:()=>this.setState({jsInstance:i.id,jsInstanceHost:i.host}),children:[g.jsx(xg,{children:g.jsx("img",{src:i.icon,alt:i.id,style:Mr.icon})}),g.jsx(Dg,{primary:i.id})]},i.id))})]})}renderInstances(){if(!this.state.jsInstance)return g.jsx($i,{});const s=this.state.instances.filter(i=>i.id!==this.state.jsInstance&&i.host===this.state.jsInstanceHost&&(!this.state.filter||i.id.includes(this.state.filter.toLowerCase())));return g.jsxs($i,{children:[g.jsx("div",{style:Mr.title,children:b.I18n.t("Instances")}),g.jsx(Ig,{component:"nav",children:s.map(i=>g.jsxs(Qy,{selected:this.state.adapterToDebug===i.id,onDoubleClick:()=>this.setState({adapterToDebug:i.id},()=>this.handleOk()),onClick:()=>this.setState({adapterToDebug:i.id}),children:[g.jsx(xg,{children:g.jsx("img",{src:i.icon,alt:i.id,style:Mr.icon})}),g.jsx(Dg,{primary:i.id})]},i.id))})]})}render(){return g.jsxs(Vt,{maxWidth:"md",fullWidth:!1,open:!0,onClose:()=>!1,"aria-labelledby":"confirmation-dialog-title",children:[g.jsx(as,{id:"confirmation-dialog-title",children:this.props.title||b.I18n.t("Debug instance")}),g.jsx(Gt,{children:g.jsxs($i,{container:!0,direction:"column",children:[g.jsx($i,{children:g.jsx(Dn,{style:Mr.filterWithButton,value:this.state.filter,placeholder:b.I18n.t("Filter"),onChange:s=>{this.setState({filter:s.target.value}),window.localStorage.setItem("javascript.debug.filter",s.target.value)},endAdornment:g.jsx(xw,{position:"end",children:this.state.filter?g.jsx(Me,{size:"small","aria-label":"toggle password visibility",onClick:()=>this.setState({filter:""}),children:g.jsx(Ow,{})}):""})})}),g.jsx($i,{children:g.jsxs($i,{container:!0,children:[this.renderJavascriptList(),this.renderInstances()]})})]})}),g.jsxs(Kt,{children:[g.jsx(De,{variant:"contained",onClick:this.handleOk,disabled:!this.state.jsInstance||!this.state.adapterToDebug,color:"primary",startIcon:g.jsx(zo,{}),children:b.I18n.t("Start")}),g.jsx(De,{color:"grey",variant:"contained",onClick:()=>this.props.onClose(),startIcon:g.jsx(qs,{}),children:b.I18n.t("Close")})]})]})}}function mC(a){if(!a)throw new Error("Password must be a non-empty string.")}function zg(a){return new TextEncoder().encode(a)}function Ex(a){return new TextDecoder().decode(a)}function Ix(a){let s="";for(let i=0;i({height:a.toolbar.height}),toolbarButtons:a=>({color:a.palette.mode==="dark"?"white !important":"black !important"}),iconButtonsDisabled:{filter:"grayscale(100%)",opacity:.5},toolbarSearch:{width:"calc(100% - 105px)",lineHeight:"34px",marginLeft:5},iconButtons:{width:32,height:32,padding:2},iconDropdownMenu:{paddingRight:5},menu:{width:"100%",height:"100%"},innerMenu:{width:"100%",height:"calc(100% - 76px)",overflowX:"hidden",overflowY:"auto"},listItemIcon:{minWidth:32},scriptIcon:{width:18,height:18,borderRadius:2,marginTop:4,marginBottom:4,marginLeft:8,marginRight:4},folder:{cursor:"pointer",padding:0,userSelect:"none"},folderReorder:{opacity:.3,transitionDuration:"0.5s",transitionProperty:"opacity"},folderIcon:{width:20,height:20},folderIconReorder:{paddingTop:4,paddingBottom:4,paddingLeft:8,paddingRight:4},folderIconNoReorder:{cursor:"pointer",paddingTop:4,paddingBottom:4,paddingLeft:8,paddingRight:4},script:{cursor:"pointer",padding:0,userSelect:"none"},scriptReorder:{opacity:1,transitionDuration:"0.5s",transitionProperty:"opacity"},reorder:{},selected:window.vendorPrefix?a=>({backgroundColor:a.palette.primary.main,color:a.palette.text.primary}):{backgroundColor:"#164477",color:"white"},instances:{color:"gray",fontSize:"smaller"},childrenCount:{fontSize:10,opacity:.4},footer:{height:24,display:"flex"},footerButtons:a=>({"& img":{color:a.palette.mode==="dark"?"#ffffff":"#111111",cursor:"pointer",mt:"1px",mr:"2px",height:22,width:22,"&:hover":{backgroundColor:"#dbdbdb"}},"& svg":{color:a.palette.mode==="dark"?"#ffffff":"#111111",cursor:"pointer",mt:"1px",mr:"2px",height:22,width:22,"&:hover":{backgroundColor:"#dbdbdb"}}}),footerButtonsRight:{float:"right"}},$n={Blockly:hC,"Javascript/js":_c,def:_c,Rules:gC,"TypeScript/ts":pC};function Hg(a,s,i){var r;return i=i||b.I18n.getLanguage(),(r=s==null?void 0:s.common)!=null&&r.name?typeof s.common.name=="object"?(s.common.name[i]||s.common.name.en||a.replace(/^script\.js./,"")).toString():s.common.name.toString():a.replace(/^script\.js./,"")}function S_(a){var l;const s=[{id:Wt,depth:0,index:0,parent:null,title:"root",type:"folder",parentIndex:null}],i=Object.keys(a);for(let u=0;u1?p.join("."):null,instance:d.common.engine?parseInt(d.common.engine.split(".").pop(),10)||0:null,index:0,parentIndex:0}):s.push({id:i[u],title:Hg(i[u],d),depth:p.length-1,type:"folder",parent:p.length>1?p.join("."):null,index:0,parentIndex:null})}let r;do r=!1,s.forEach(u=>{if(u.parent&&!s.find(p=>p.id===u.parent)){const p=u.parent.split(".");p.pop(),s.push({id:u.parent,title:u.parent.split(".").pop()||"",depth:p.length-1,type:"folder",parent:p.length>1?p.join("."):null,index:0,parentIndex:null}),r=!0}});while(r);return s.sort((u,d)=>{const p=u.id.toLowerCase(),m=d.id.toLowerCase();return u.type==="folder"&&d.type!=="folder"?-1:d.type==="folder"&&u.type!=="folder"||p>m?1:pu.index=d),s.forEach(u=>{if(u.parent){const d=s.find(p=>p.id===u.parent);d&&(u.parentIndex=d.index)}}),s}function Rx(a){const{onDrop:s}=a,[{isOver:i,isOverAny:r},l]=FI({accept:"script",drop:u=>i?s(u):void 0,collect:u=>({isOver:u.isOver({shallow:!0}),isOverAny:u.isOver()})});return g.jsx("div",{ref:l,style:{background:i?"#40adff":void 0,opacity:r?.7:void 0},children:a.children},a.folderName)}function E_(a){const{name:s}=a,[{opacity:i},r]=RI({type:"script",item:()=>({name:s}),collect:l=>({opacity:l.isDragging()?.3:1})});return g.jsx("div",{ref:r,style:{opacity:i,transform:"translate3d(0, 0, 0)"},children:a.children},s)}class bo extends Y.Component{inputRef;filterTimer;problems;problemsTimer;onProblemUpdatedBound;parent=null;constructor(s){super(s);const i=window.localStorage?window.localStorage.getItem("SideMenu.expanded"):"[]";let r;try{r=JSON.parse(i||"[]")||[]}catch{r=[]}this.inputRef=Y.createRef(),this.state={listItems:S_(s.scripts||{}),expanded:r,problems:[],reorder:!1,themeName:this.props.themeName,selected:window.localStorage&&window.localStorage.getItem("SideMenu.selected")||null,creatingScript:null,creatingFolder:!1,copingScript:"",renaming:null,deleting:null,choosingType:!1,errorText:"",instances:s.instances||[],menuOpened:!1,menuAnchorEl:null,menuAnchorFilterEl:null,searchMode:!1,expertMode:this.props.expertMode,searchText:"",width:this.props.width||300,typeFilter:window.localStorage&&window.localStorage.getItem("SideMenu.typeFilter")||"",statusFilter:window.localStorage&&window.localStorage.getItem("SideMenu.statusFilter")||"",runningInstances:this.props.runningInstances||{},scriptsHash:s.scriptsHash,showAdapterDebug:!1,isAllZeroInstances:!1};const l=this.ensureSelectedIsVisible();l&&Object.assign(this.state,{expanded:l}),this.filterTimer=null,Object.assign(this.state,{isAllZeroInstances:this.getIsAllZeroInstances()}),this.problems=null,this.problemsTimer=null,this.onProblemUpdatedBound=this.onProblemUpdated.bind(this)}readProblems(s,i){var r,l;if(i||(i=Object.keys(this.props.scripts)),!i||!i.length)s&&s();else{const u=i.shift(),d=this.props.scripts[u];if(((r=this.props.scripts)==null?void 0:r[u].type)==="script"&&((l=d.common)!=null&&l.enabled)&&!u.match(/^script\.js\.global\./)){const p=d.common.engine.split(".").pop(),m=this,f=`javascript.${p}.scriptProblem.${u.substring(Wt.length+1)}`;this.props.socket.getState(f).then(v=>{m.onProblemUpdated(f,v),setTimeout(()=>m.readProblems(s,i),0)})}else setTimeout(()=>this.readProblems(s,i),0)}}componentDidMount(){this.readProblems(()=>{this.props.instances.forEach(s=>{this.props.socket.subscribeState(`javascript.${s}.scriptProblem.*`,this.onProblemUpdatedBound)})})}componentWillUnmount(){this.props.instances.forEach(s=>{this.props.socket.unsubscribeState(`javascript.${s}.scriptProblem.*`,this.onProblemUpdatedBound)})}onProblemUpdated(s,i){if(!i||!s)return;s=`${Wt}.${s.replace(/^javascript\.\d+\.scriptProblem\./,"")}`,this.problems||(this.problems=JSON.parse(JSON.stringify(this.state.problems))||[]);let r=!1;if(i.val)this.problems.includes(s)||(this.problems.push(s),r=!0);else{const l=this.problems.indexOf(s);l!==-1&&(this.problems.splice(l,1),r=!0)}r&&!this.problemsTimer&&(this.problemsTimer=setTimeout(()=>{this.problemsTimer=null,this.setState({problems:this.problems}),this.problems=null},300))}static filterListStatic(s,i,r,l,u){i=JSON.parse(JSON.stringify(i));let d=!1;const p={listItems:i};if(s&&r&&l){const m=l.toLowerCase();if(i.forEach(f=>{var k;const v=f.title.toLowerCase();f.filteredPartly=!1;let _=v.includes(m);const y=(k=u==null?void 0:u[f.id])==null?void 0:k.common;if(!_&&(y!=null&&y.source))if(y.engineType==="Blockly"){const C=y.source.lastIndexOf("//");_=y.source.substring(0,C).toLowerCase().includes(m)}else _=y.source.toLowerCase().includes(m);_?f.filtered&&(f.filtered=!1,d=!0):f.filtered||(f.filtered=!0,d=!0)}),d)for(let f=i.length-1;f>=0;f--){const v=i[f];if(!v.filtered||v.filteredPartly){let _=v;do _!=null&&_.parent&&i[_.parentIndex]&&(d=!0,i[_.parentIndex].filteredPartly=!0),_=_!=null&&_.parent&&i[_.parentIndex]?i[_.parentIndex]:null;while(_)}}}else i.forEach(m=>{(m.filtered||m.filteredPartly)&&(m.filtered=!1,m.filteredPartly=!1,d=!0)}),s||(p.searchText="",p.searchMode=!1,d=!0);return d?p:null}filterList(s,i){const r=bo.filterListStatic(s,this.state.listItems,this.state.searchMode,this.state.searchText,this.props.scripts);r?this.setState(r,()=>i&&i()):i&&i()}static ensureSelectedIsVisibleStatic(s,i,r){i=JSON.parse(JSON.stringify(i));let l=!1,u=typeof s=="object"?s:r.find(d=>d.id===s);do{if(u!=null&&u.parent){const d=u.parent;u=r.find(p=>p.id===d)}else u=void 0;u&&(i.includes(u.id)||(i.push(u.id),l=!0))}while(u);return l?i:null}ensureSelectedIsVisible(s,i){return bo.ensureSelectedIsVisibleStatic(s||this.state.selected,i||this.state.expanded,this.state.listItems)}static getDerivedStateFromProps(s,i){const r={};let l=!1;if(i.expertMode!==s.expertMode&&(l=!0,r.expertMode=s.expertMode),i.scriptsHash!==s.scriptsHash&&s.scripts){const u=S_(s.scripts||{});if(r.listItems=u,i.searchText){const m=bo.filterListStatic(!0,u,i.searchMode,i.searchText,s.scripts);m&&Object.assign(r,m)}const d=bo.getIsAllZeroInstancesStatic(u,s.instances||[]),p=bo.ensureSelectedIsVisibleStatic(i.selected,i.expanded,i.listItems);r.isAllZeroInstances=d,p&&(r.expanded=p),l=!0}if(i.width!==s.width&&(l=!0,r.width=s.width),i.themeName!==s.themeName&&(l=!0,r.themeName=s.themeName),s.selectId&&i.selected!==s.selectId){const u=i.listItems.find(d=>d.id===s.selectId);if(!i.reorder&&u){const d=bo.ensureSelectedIsVisibleStatic(u,i.expanded,i.listItems);r.selected=u.id,d&&(r.expanded=d),l=!0,window.localStorage&&window.localStorage.setItem("SideMenu.selected",u.id)}}return l?r:null}static getIsAllZeroInstancesStatic(s,i){let r=!i[0]&&i.length<=1;return r&&s.forEach(l=>{l.type!=="folder"&&l.instance!==0&&(r=!1)}),r}getIsAllZeroInstances(s,i){return s=s||this.state.listItems,i=i||this.state.instances,bo.getIsAllZeroInstancesStatic(s||this.state.listItems,i||this.state.instances)}saveExpanded(s){window.localStorage.setItem("SideMenu.expanded",JSON.stringify(s||this.state.expanded))}showError(s){this.setState({errorText:s})}onToggle(s,i){if(i==null||i.stopPropagation(),s===Wt)return;const r=[...this.state.expanded],l=r.indexOf(s);l!==-1?(r.splice(l,1),this.state.selected&&this.state.selected.startsWith(`${s}.`)&&window.localStorage&&window.localStorage.setItem("SideMenu.selected",s)):(r.push(s),r.sort()),this.setState({expanded:r}),this.saveExpanded(r)}renderItemButtonsOnEnd(s,i){if(this.state.reorder)return null;if(s.type!=="folder"){let r=s.enabled?C_:k_;return s.enabled&&this.state.problems.includes(s.id)&&(r=T_),[g.jsx(Me,{onClick:l=>{l.stopPropagation(),this.props.onEnableDisable&&this.props.onEnableDisable(s.id,!s.enabled)},title:s.enabled?b.I18n.t("Pause script"):b.I18n.t("Run script"),disabled:this.props.debugMode,style:{...fe.iconButtons,...this.props.debugMode?fe.iconButtonsDisabled:void 0,color:r},size:"medium",children:s.enabled?g.jsx(gc,{}):g.jsx(Fg,{})},"startStop"),this.state.width>Nr?g.jsx(Me,{style:this.props.debugMode?fe.iconButtonsDisabled:void 0,title:b.I18n.t("Delete script"),disabled:s.id===$o||s.id===fn||this.props.debugMode,onClick:l=>this.onDelete(s,l),size:"medium",children:g.jsx(dc,{})},"delete"):null,g.jsx(Me,{style:this.props.debugMode?fe.iconButtonsDisabled:void 0,disabled:this.props.debugMode,title:b.I18n.t("Edit script or just double click"),onClick:l=>this.onEdit(s,l),size:"medium",children:g.jsx(cx,{})},"openInEdit")]}return this.state.width>Nr&&s.id!==Wt&&s.id!==fn&&s.id!==$o&&!(i!=null&&i.length)?g.jsx(Me,{style:this.props.debugMode?fe.iconButtonsDisabled:void 0,title:b.I18n.t("Delete folder"),disabled:s.id===$o||s.id===fn||this.props.debugMode,onClick:r=>this.onDelete(s,r),size:"medium",children:g.jsx(dc,{})},"delete"):null}onDelete(s,i){return i==null||i.stopPropagation(),new Promise(r=>{if(!s){r();return}typeof s!="object"?this.setState({deleting:s},()=>r()):this.setState({deleting:s.id},()=>r())})}onEdit(s,i){this.onClick(s,i),this.props.onEdit&&this.props.onEdit(s.id)}getTextStyle(s){return!this.state.reorder&&s.type!=="folder"?{width:`calc(100% - ${this.state.width>Nr?185:137}px)`,overflow:"hidden",whiteSpace:"nowrap",flex:"none",padding:"0 16px 0 0"}:{whiteSpace:"nowrap",padding:"0 16px 0 0"}}onClick(s,i){if(i==null||i.stopPropagation(),!this.state.reorder&&s){const r=this.ensureSelectedIsVisible(s),l={selected:s.id};r&&(l.expanded=r),this.setState(l),window.localStorage&&window.localStorage.setItem("SideMenu.selected",s.id)}}onDblClick(s,i){i==null||i.stopPropagation(),!this.state.reorder&&(s.type==="folder"?this.onToggle(s.id):this.onEdit(s))}isFilteredOut(s){var i,r;return s.filtered&&!s.filteredPartly||this.state.typeFilter&&s.type!=="folder"&&s.type.toLowerCase()!==this.state.typeFilter.toLowerCase()||!this.state.expertMode&&((r=(i=this.props.scripts[s.id])==null?void 0:i.native)!=null&&r.protected)||this.state.statusFilter&&s.type!=="folder"&&(this.state.statusFilter==="running"&&!s.enabled||this.state.statusFilter==="paused"&&s.enabled||this.state.statusFilter==="problems"&&(!s.enabled||this.state.problems.indexOf(s.id)===-1))?!0:s.id===$o&&!this.state.expertMode}renderListItem(s,i,r){var y,k;if(s.id===Wt&&!this.state.reorder)return null;const l=(this.state.reorder?s.depth:s.depth-1)*Ax;let u=s.title;if(this.state.searchText){const C=u.toLowerCase().indexOf(this.state.searchText.toLowerCase());C!==-1&&(u=[g.jsx("span",{children:u.substring(0,C)},"first"),g.jsx("span",{style:{color:"orange"},children:u.substring(C,C+this.state.searchText.length)},"second"),g.jsx("span",{children:u.substring(C+this.state.searchText.length)},"third")])}!this.state.isAllZeroInstances&&s.type!=="folder"&&(u=[g.jsx("span",{children:u},"title"),g.jsxs("span",{title:b.I18n.t("Instance"),style:fe.instances,children:["[",s.instance,"]"]},"instance")]);const d=this.state.reorder&&!this.props.debugMode,p={marginLeft:l,cursor:s.type==="folder"&&d?"default":"inherit",width:`calc(100% - ${l}px)`};d||(p.opacity=s.filteredPartly?.5:1),s.id===$o&&s.id!==this.state.selected&&(p.color="#00a200");let m=s.id===Wt;!m&&i&&(m=this.state.expanded.includes(s.id));let f;s.type==="folder"?f={...fe.folderIcon,...d?fe.folderIconReorder:fe.folderIconNoReorder}:f={...fe.scriptIcon},s.id===$o?f.color="#356956":s.id===fn&&(f.color="#4899e1");let v=null;(r&&r.length||i&&i.length)&&(v=g.jsx("span",{style:fe.childrenCount,children:r&&r.length!==i.length?`${r.length}(${i.length})`:i.length}));const _={...s.type==="folder"?fe.folder:fe.script,...d?fe.reorder:void 0,...d&&s.type!=="folder"?fe.scriptReorder:void 0,...d&&s.type==="folder"?fe.folderReorder:void 0,...p};return g.jsxs(Ok,{style:_,sx:s.id===this.state.selected&&!d?fe.selected:void 0,className:b.Utils.clsx(d&&s.type==="folder"&&"folder-reorder",d&&s.type!=="folder"&&"script-reorder"),onClick:C=>this.onClick(s,C),onDoubleClick:C=>this.onDblClick(s,C),secondaryAction:this.renderItemButtonsOnEnd(s,i),children:[(k=(y=this.props.scripts[s.id])==null?void 0:y.native)!=null&&k.protected?g.jsx(w_,{style:{color:"orange",position:"absolute",right:5,width:10,height:10}}):null,g.jsx(xg,{style:fe.listItemIcon,children:s.type==="folder"?d||m?g.jsx(qk,{style:f,onClick:C=>!d&&this.onToggle(s.id,C)}):g.jsx(Xk,{style:f,onClick:C=>!d&&this.onToggle(s.id,C)}):g.jsx("img",{style:f,alt:s.type,src:$n[s.type]||$n.def})}),g.jsx(Dg,{sx:{"& .MuiListItemText-primary":s.id===this.state.selected&&!d?fe.selected:void 0},style:this.getTextStyle(s),primary:g.jsxs("span",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[u,v]})})]},s.id)}onDragFinish(s,i){let r=`${i}.${s.split(".").pop()}`;r!==s&&(this.state.listItems.find(l=>l.id===r)&&(r+=`_${b.I18n.t("copy")}`),this.props.onRename&&this.props.onRename(s,r))}renderOneItem(s,i){const r=this.state.statusFilter||this.state.typeFilter?s.filter(f=>f.parent===i.id?!this.isFilteredOut(f):!1):[],l=s.filter(f=>f.parent===i.id);if(this.isFilteredOut(i)||i.type==="folder"&&(this.state.statusFilter||this.state.typeFilter)&&!r.length)return null;const u=this.state.reorder&&!this.props.debugMode,d=this.renderListItem(i,l,r),p=[];let m;return l&&(u||this.state.expanded.includes(i.id)||i.id===Wt)&&(m=l.map(f=>this.renderOneItem(s,f))),u?i.type==="folder"?p.push(g.jsxs(Rx,{onDrop:f=>this.onDragFinish(f.name,i.id),folderName:i.id,children:[g.jsx(E_,{name:i.id,children:d},`draggable_${i.id}`),m||null]},`droppable_${i.id}`)):p.push(g.jsxs(E_,{name:i.id,children:[d,m||null]},`draggable_${i.id}`)):(p.push(d),m==null||m.forEach(f=>p.push(f))),p}renderAllItems(s){const i=s.filter(r=>!r.parent).map(r=>this.renderOneItem(s,r));return g.jsx(Ig,{dense:!0,disablePadding:!0,sx:fe.mainList,children:i})}onAddNew(s){s==null||s.stopPropagation();let i=this.state.listItems.find(l=>l.id===this.state.selected),r=Wt;for(;i&&i.type!=="folder";)i=this.state.listItems[i.parentIndex];i&&(r=i.id),this.parent=r,this.setState({choosingType:!0})}onCopy(s,i){s==null||s.stopPropagation();let r=this.state.listItems.find(u=>u.id===i),l=Wt;for(;r&&r.type!=="folder";)r=this.state.listItems[r.parentIndex];r&&(l=r.id),this.parent=l,this.setState({copingScript:i||""})}onAddNewFolder(s){s==null||s.stopPropagation();let i=this.state.listItems.find(l=>l.id===this.state.selected),r=Wt;for(;i&&i.type!=="folder";)i=this.state.listItems[i.parentIndex];i&&(r=i.id),this.parent=r,this.setState({creatingFolder:!0})}onRename(s){s==null||s.stopPropagation(),this.setState({renaming:this.state.selected})}getUniqueName(s){let i=1,r=`${b.I18n.t("Script")} `;if(s){const l=Hg(s,this.props.scripts[s]),u=l.match(/\d+$/);u?(r=l.replace(/\d+$/,""),i=parseInt(u[0],10)+1):r=l}for(;this.state.listItems.find(l=>l.id===`${this.parent}.${r.replace(/\.\s/g,"_")}${i}`);)i++;return r+i}getUniqueFolderName(){let s=1;for(;this.state.listItems.find(i=>i.id===`${this.parent}.${b.I18n.t("Folder")}_${s}`);)s++;return`${b.I18n.t("Folder")} ${s}`}onCloseMenu(s){this.setState({menuOpened:!1,menuAnchorEl:null,menuAnchorFilterEl:null},s)}getMainMenu(s,i){var l,u,d,p;const r=this.state.expertMode&&!!Object.keys(this.props.changedScripts).find(m=>{var f,v;return this.props.changedScripts[m]&&((v=(f=this.props.scripts[m])==null?void 0:f.native)==null?void 0:v.protected)});return g.jsxs(cm,{id:"long-menu",anchorEl:this.state.menuAnchorEl,open:this.state.menuOpened,onClose:()=>this.setState({menuOpened:!1,menuAnchorEl:null}),slotProps:{paper:{style:{maxHeight:Dx*7.5}}},children:[this.state.width<=Nr?g.jsxs(Ve,{disabled:this.props.debugMode||!this.state.selected||this.state.selected===$o||this.state.selected===fn||!!(s!=null&&s.length),onClick:m=>{if(m.stopPropagation(),m.preventDefault(),this.state.listItems.find(f=>f.parent===this.state.selected)){this.showError(b.I18n.t("Cannot delete non empty item!"));return}this.setState({menuOpened:!1,menuAnchorEl:null},()=>this.onDelete(this.state.selected).then(()=>{}))},children:[g.jsx(dc,{style:{...fe.iconDropdownMenu,color:"red"}}),b.I18n.t("Delete")]},"delete"):null,g.jsxs(Ve,{disabled:this.props.debugMode||r,selected:this.state.expertMode,onClick:m=>{m.stopPropagation(),m.preventDefault(),this.onCloseMenu(()=>this.props.onExpertModeChange&&this.props.onExpertModeChange(!this.state.expertMode))},children:[g.jsx(b.IconExpert,{style:{...fe.iconDropdownMenu,color:this.state.expertMode?"orange":"inherit"}}),b.I18n.t("Expert mode")]},"expertMode"),this.props.onExport&&g.jsxs(Ve,{onClick:m=>{m.stopPropagation(),m.preventDefault(),this.onCloseMenu(()=>this.props.onExport())},children:[g.jsx(vc,{style:fe.iconDropdownMenu}),b.I18n.t("Export all scripts")]},"exportAll"),this.props.onImport&&g.jsxs(Ve,{disabled:this.props.debugMode,onClick:m=>{m.stopPropagation(),m.preventDefault(),this.onCloseMenu(()=>this.props.onImport())},children:[g.jsx(Rg,{style:fe.iconDropdownMenu}),b.I18n.t("Import scripts")]},"import"),this.props.onThemeChange&&g.jsxs(Ve,{onClick:()=>this.onCloseMenu(()=>{this.props.onThemeChange&&this.props.onThemeChange(b.Utils.toggleTheme(this.state.themeName))}),children:[g.jsx(dx,{style:fe.iconDropdownMenu}),b.I18n.t('Change theme (actual "%s")',this.state.themeName)]},"dark"),this.props.onAddNew&&g.jsxs(Ve,{disabled:!this.state.selected||!i||i.type==="folder",onClick:m=>{const f=this.state.selected;this.onCloseMenu(()=>this.onCopy(m,f))},children:[g.jsx(Zk,{style:fe.iconDropdownMenu}),b.I18n.t("Copy script")]},"copy"),this.state.expertMode&&g.jsxs(Ve,{disabled:this.props.debugMode,onClick:m=>{m.stopPropagation(),m.preventDefault(),this.onCloseMenu(()=>this.setState({showAdapterDebug:!0}))},children:[g.jsx(ix,{style:fe.iconDropdownMenu}),b.I18n.t("Debug instance")]},"debugInstance"),this.state.selected&&this.props.password&&this.props.scripts[this.state.selected].type==="script"?g.jsxs(Ve,{disabled:this.props.debugMode||this.props.changedScripts[this.state.selected],onClick:m=>{m.stopPropagation(),m.preventDefault(),this.onCloseMenu(async()=>{var v;const f=await this.props.socket.getObject(this.state.selected);f&&((v=f.native)!=null&&v.protected?(delete f.native.protected,f.common.source=Ug(this.props.password,f.common.source||"")):(f.native||={},f.native.protected=!0,f.common.source=mc(this.props.password,f.common.source||"")),await this.props.socket.setObject(f._id,f))})},children:[g.jsx(w_,{style:{...fe.iconDropdownMenu,color:"orange"}}),(u=(l=this.props.scripts[this.state.selected])==null?void 0:l.native)!=null&&u.protected?g.jsx("span",{style:{color:(p=(d=this.props.scripts[this.state.selected])==null?void 0:d.native)!=null&&p.protected?"orange":void 0},children:b.I18n.t("Unprotect script")}):b.I18n.t("Protect script")]},"encrypt"):null]},"menu")}getToolbarButtons(){const s=[],i=this.state.reorder&&!this.props.debugMode;if(this.state.searchMode&&!this.props.debugMode)s.push(g.jsx(Dn,{value:this.state.searchText,style:fe.toolbarSearch,ref:this.inputRef,autoFocus:!0,placeholder:b.I18n.t("Search..."),onChange:r=>{this.setState({searchText:r.target.value}),this.filterTimer&&clearTimeout(this.filterTimer),this.filterTimer=setTimeout(()=>{this.filterTimer=null,this.filterList(!0),this.props.onSearch&&this.props.onSearch(this.state.searchText)},400)}},"searchInput")),s.push(g.jsx(Me,{sx:fe.toolbarButtons,style:{float:"right"},title:b.I18n.t("End search mode"),onClick:r=>{r.stopPropagation(),this.filterList(!1,()=>this.props.onSearch&&this.props.onSearch(this.state.searchText))},size:"medium",children:g.jsx(ax,{})},"disableSearch")),this.state.searchText&&s.push(g.jsx(Me,{title:b.I18n.t("Clear search input"),sx:fe.toolbarButtons,style:{marginTop:7,float:"right"},onClick:r=>{r.stopPropagation(),this.setState({searchText:""},()=>{this.filterList(!0),this.props.onSearch&&this.props.onSearch(this.state.searchText)})},size:"medium",children:g.jsx(Ow,{fontSize:"small"})},"cleanSearch"));else{if(!i){s.push(g.jsx(Me,{"aria-label":"More","aria-owns":this.state.menuOpened?"long-menu":void 0,title:b.I18n.t("Menu"),"aria-haspopup":"true",onClick:u=>{u.stopPropagation(),u.preventDefault(),this.setState({menuOpened:!0,menuAnchorEl:u.currentTarget})},size:"medium",children:g.jsx(ux,{})},"menuButton"));const r=this.state.listItems.find(u=>u.id===this.state.selected);let l;r&&this.state.width<=Nr&&r.type==="folder"&&(l=this.state.listItems.filter(u=>u.parent===this.state.selected)),s.push(this.getMainMenu(l,r)),s.push(g.jsx(Me,{disabled:this.props.debugMode,title:b.I18n.t("Create new script"),sx:{...fe.toolbarButtons,...this.props.debugMode?fe.iconButtonsDisabled:void 0},style:{color:i?"red":"inherit"},onClick:u=>this.onAddNew(u),size:"medium",children:g.jsx(Qk,{})},"new-script")),s.push(g.jsx(Me,{disabled:this.props.debugMode,title:b.I18n.t("Create new folder"),sx:{...fe.toolbarButtons,...this.props.debugMode?fe.iconButtonsDisabled:void 0},style:{color:i?"red":"inherit"},onClick:u=>this.onAddNewFolder(u),size:"medium",children:g.jsx(eS,{})},"new-folder"))}s.push(g.jsx(Me,{disabled:i||this.props.debugMode,sx:{...fe.toolbarButtons,...this.props.debugMode?fe.iconButtonsDisabled:void 0},title:b.I18n.t("Search in scripts"),style:{float:"right",opacity:this.props.debugMode?.5:i?0:1},onClick:r=>{r.stopPropagation(),this.setState({searchMode:!0})},size:"medium",children:g.jsx(px,{})},"search")),s.push(g.jsx(Me,{disabled:this.props.debugMode,title:b.I18n.t("Reorder scripts in folders"),sx:{...fe.toolbarButtons,...this.props.debugMode?fe.iconButtonsDisabled:void 0},style:{color:i?"red":"inherit",float:"right"},onClick:r=>{r.stopPropagation(),this.setState({reorder:!this.state.reorder})},size:"medium",children:g.jsx($x,{})},"reorder")),!i&&this.state.selected&&this.state.selected!==$o&&this.state.selected!==fn&&s.push(g.jsx(Me,{sx:{...fe.toolbarButtons,...this.props.debugMode?fe.iconButtonsDisabled:void 0},disabled:this.props.debugMode,title:b.I18n.t("Rename"),onClick:r=>this.onRename(r),size:"medium",children:g.jsx(tS,{})},"rename")),s.push(g.jsxs("span",{style:{opacity:.5,fontSize:10},children:["v",this.props.version]},"version"))}return s}getFolders(){const s=[{id:Wt,name:b.I18n.t("Root folder")}];return this.state.listItems.forEach(i=>{i.type==="folder"&&i.id!==Wt&&(!i.id.startsWith($o)||this.state.expertMode)&&s.push({id:i.id,name:i.title})}),s}onCollapseAll(){this.setState({expanded:[]}),this.saveExpanded([])}onExpandAll(){const s=[];this.state.listItems.forEach(i=>this.state.listItems.find(r=>r.parent===i.id)&&s.push(i.id)),this.setState({expanded:s}),this.saveExpanded(s)}getBottomButtons(){return this.state.reorder||this.props.debugMode?null:[g.jsx($t,{sx:fe.footerButtons,title:b.I18n.t("Show only running scripts"),onClick:s=>{s.stopPropagation(),s.preventDefault();const i=this.state.statusFilter==="running"?"":"running";window.localStorage&&window.localStorage.setItem("SideMenu.statusFilter",i),this.setState({statusFilter:i})},children:g.jsx(gc,{style:{color:C_,opacity:this.state.statusFilter==="running"?1:.3,background:this.state.statusFilter==="running"?"gray":"inherit"}})},"filterByRunning"),g.jsx($t,{sx:fe.footerButtons,title:b.I18n.t("Show only paused scripts"),onClick:()=>{const s=this.state.statusFilter==="paused"?"":"paused";window.localStorage&&window.localStorage.setItem("SideMenu.statusFilter",s),this.setState({statusFilter:s})},children:g.jsx(Fg,{style:{color:k_,opacity:this.state.statusFilter==="paused"?1:.3,background:this.state.statusFilter==="paused"?"gray":"inherit"}})},"filterByPaused"),g.jsx($t,{sx:fe.footerButtons,style:{marginRight:16},title:b.I18n.t("Show only scripts with problems"),onClick:()=>{const s=this.state.statusFilter==="problems"?"":"problems";window.localStorage&&window.localStorage.setItem("SideMenu.statusFilter",s),this.setState({statusFilter:s})},children:g.jsx(gc,{style:{color:T_,opacity:this.state.statusFilter==="problems"?1:.3,background:this.state.statusFilter==="problems"?"gray":"inherit"}})},"filterByProblem"),g.jsx($t,{sx:fe.footerButtons,children:g.jsx("img",{alt:"Blockly",style:{opacity:this.state.typeFilter==="Blockly"?1:.3,background:this.state.typeFilter==="Blockly"?"gray":"inherit"},src:$n.Blockly,onClick:()=>{const s=this.state.typeFilter==="Blockly"?"":"Blockly";window.localStorage&&window.localStorage.setItem("SideMenu.typeFilter",s),this.setState({typeFilter:s})}})},"filterBlockly"),g.jsx($t,{sx:fe.footerButtons,children:g.jsx("img",{alt:"Javascript",style:{opacity:this.state.typeFilter==="Javascript/js"?1:.3,background:this.state.typeFilter==="Javascript/js"?"gray":"inherit"},src:$n["Javascript/js"],onClick:()=>{const s=this.state.typeFilter==="Javascript/js"?"":"Javascript/js";window.localStorage&&window.localStorage.setItem("SideMenu.typeFilter",s),this.setState({typeFilter:s})}})},"filterJS"),g.jsx($t,{sx:fe.footerButtons,children:g.jsx("img",{alt:"TypeScript",style:{opacity:this.state.typeFilter==="TypeScript/ts"?1:.3,background:this.state.typeFilter==="TypeScript/ts"?"gray":"inherit"},src:$n["TypeScript/ts"],onClick:()=>{const s=this.state.typeFilter==="TypeScript/ts"?"":"TypeScript/ts";window.localStorage&&window.localStorage.setItem("SideMenu.typeFilter",s),this.setState({typeFilter:s})}})},"filterTS"),g.jsx($t,{sx:fe.footerButtons,children:g.jsx("img",{alt:"Rules",style:{opacity:this.state.typeFilter==="Rules"?1:.3,background:this.state.typeFilter==="Rules"?"gray":"inherit"},src:$n.Rules,onClick:()=>{const s=this.state.typeFilter==="Rules"?"":"Rules";window.localStorage&&window.localStorage.setItem("SideMenu.typeFilter",s),this.setState({typeFilter:s})}})},"filterRules"),g.jsx("div",{style:{flexGrow:1}},"padding"),g.jsx($t,{sx:fe.footerButtons,onClick:()=>this.onExpandAll(),title:b.I18n.t("Expand all"),children:g.jsx(vx,{style:fe.footerButtonsRight})},"expandAll"),this.state.expanded.length?g.jsx($t,{sx:fe.footerButtons,onClick:()=>this.onCollapseAll(),title:b.I18n.t("Collapse all"),children:g.jsx(bx,{style:fe.footerButtonsRight})},"collapseAll"):g.jsx("div",{style:{height:22,width:24}})]}getAdapterDebugDialog(){return this.state.showAdapterDebug?g.jsx(Sx,{socket:this.props.socket,onClose:()=>this.setState({showAdapterDebug:!1}),onDebug:(s,i)=>this.setState({showAdapterDebug:!1},()=>this.props.onDebugInstance({instance:s,adapter:i}))},"debug"):null}render(){var r,l,u;const s=this.state.renaming?this.state.listItems.find(d=>d.id===this.state.renaming):void 0,i=this.state.copingScript&&this.props.scripts[this.state.copingScript].type==="script"?this.props.scripts[this.state.copingScript]:void 0;return[g.jsxs(Mk,{variant:"permanent",style:fe.menu,sx:{"& .MuiDrawer-paper":fe.drawerPaper},anchor:"left",onClick:()=>this.onClick({id:""}),children:[g.jsx($t,{sx:fe.toolbar,children:this.getToolbarButtons()}),g.jsx(e_,{}),g.jsx(Zw,{backend:uC,children:g.jsx("div",{style:fe.innerMenu,children:this.renderAllItems(this.state.listItems)})}),g.jsx(e_,{}),g.jsx("div",{style:fe.footer,children:this.getBottomButtons()})]},"drawer"),s?g.jsx($m,{name:s.title,id:this.state.renaming||"",folder:s.type==="folder",instance:s.instance,instances:this.props.instances,onClose:()=>this.setState({renaming:null}),onRename:(d,p,m,f)=>this.props.onRename&&this.props.onRename(d,p,m,f)},"dialog-rename"):null,this.state.deleting?g.jsx(yx,{name:this.state.listItems.find(d=>d.id===this.state.deleting).title,id:this.state.deleting,onClose:()=>this.setState({deleting:null}),onDelete:d=>this.props.onDelete&&this.props.onDelete(d)},"dialog-delete"):null,this.state.choosingType?g.jsx(Cn,{onClose:d=>{const p={choosingType:!1};d&&(p.creatingScript=d),this.setState(p)}},"dialog-script-type"):null,this.state.creatingScript?g.jsx(tg,{onClose:()=>this.setState({creatingScript:null}),title:b.I18n.t("Create new script"),name:this.getUniqueName(),parents:this.getFolders(),folder:!1,existingItems:this.state.listItems.map(d=>d.id),instance:this.props.instances[0]||0,instances:this.props.instances,type:this.state.creatingScript,parent:this.parent,onAdd:(d,p,m,f)=>this.props.onAddNew&&this.props.onAddNew(d,p,!1,m,f)},"dialog-new-script"):null,this.state.copingScript?g.jsx(tg,{onClose:()=>this.setState({copingScript:""}),title:b.I18n.t("Copy script"),name:this.getUniqueName(this.state.copingScript),parents:this.getFolders(),folder:!1,instance:parseInt((l=(r=i==null?void 0:i.common)==null?void 0:r.engine)==null?void 0:l.split(".").pop(),10)||0,instances:this.props.instances,type:((u=i==null?void 0:i.common)==null?void 0:u.engineType)||"Javascript/js",parent:this.parent,onAdd:(d,p,m,f)=>{var _;const v=this.state.copingScript&&this.props.scripts[this.state.copingScript].type==="script"?this.props.scripts[this.state.copingScript]:void 0;v!=null&&v.common&&(v.common.enabled=!1),this.props.onAddNew&&this.props.onAddNew(d,p,!1,m,f,(_=v==null?void 0:v.common)==null?void 0:_.source)}},"dialog-copy-script"):null,this.state.creatingFolder?g.jsx(tg,{onClose:()=>this.setState({creatingFolder:!1}),title:b.I18n.t("Create new folder"),parents:this.getFolders(),name:this.getUniqueFolderName(),parent:this.parent,onAdd:(d,p)=>this.props.onAddNew&&this.props.onAddNew(d,p,!0)},"dialog-new-folder"):null,this.state.errorText?g.jsx(Zc,{onClose:()=>this.setState({errorText:""}),text:this.state.errorText},"error"):null,this.getAdapterDebugDialog()]}}const Ox="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgAQMAAADYVuV7AAAABlBMVEUAAAAzMzPI8eYgAAAAAXRSTlMAQObYZgAAACFJREFUeAFjAIJRwP////8PYIKWHCigNQdKj/pn1D+jAABTG16wVQqVpQAAAABJRU5ErkJggg==",Mx="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgAQMAAADYVuV7AAAABlBMVEUAAAAzMzPI8eYgAAAAAXRSTlMAQObYZgAAABtJREFUeAFjAIJRwP8fCj7QkENn/4z6Z5QzCgBjbWaoyx1PqQAAAABJRU5ErkJggg==";function Nx(a){let s,i=a.getHours();return i<10&&(i=`0${i.toString()}`),s=`${i}:`,i=a.getMinutes(),i<10&&(i=`0${i.toString()}`),s+=`${i}:`,i=a.getSeconds(),i<10&&(i=`0${i.toString()}`),s+=`${i}.`,i=a.getMilliseconds(),i<10?i=`00${i.toString()}`:i<100&&(i=`0${i.toString()}`),s+=i,s}const I_=34,Bt={logBox:{width:"100%",height:"100%",position:"relative",overflow:"hidden"},logBoxInner:a=>({display:"inline-block",color:a.palette.mode==="dark"?"white":"black",width:`calc(100% - ${I_}px)`,height:"100%",overflow:"auto",position:"relative",verticalAlign:"top"}),info:a=>({background:a.palette.mode==="dark"?"darkgrey":"lightgrey",color:(a.palette.mode==="dark","black")}),error:a=>({background:"#FF0000",color:a.palette.mode==="dark"?"black":"white"}),warn:a=>({background:"#FF8000",color:a.palette.mode==="dark"?"black":"white"}),debug:a=>({background:"gray",opacity:.8,color:a.palette.mode==="dark"?"black":"white"}),silly:a=>({background:"gray",opacity:.6,color:a.palette.mode==="dark"?"black":"white"}),table:{fontFamily:"monospace",width:"100%"},toolbox:{width:I_,height:"100%",boxShadow:"2px 0px 4px -1px rgba(0, 0, 0, 0.2), 4px 0px 5px 0px rgba(0, 0, 0, 0.14), 1px 0px 10px 0px rgba(0, 0, 0, 0.12)",display:"inline-block",verticalAlign:"top",overflow:"hidden"},trFrom:{width:90},trTime:{width:90},trSeverity:{width:40,fontWeight:"bold"},trPreMessage:{padding:0,margin:0},iconButtons:{width:32,height:32,padding:4},layoutIcon:a=>({"& img":{width:24,height:24,background:a.palette.mode==="dark"?"#9d9d9d":void 0,borderRadius:a.palette.mode==="dark"?"30px":void 0}})};function Lx(a){return a<10?`00${a}`:a<100?`0${a}`:a.toString()}const Ks={};class bm extends Y.Component{messagesEnd;constructor(s){super(s),this.state={lines:{},goBottom:!0,selected:null,editing:this.props.editing||[]},this.messagesEnd=Y.createRef()}static generateLine(s,i){let r=s.message||"";if(typeof r!="object"){const l=new RegExp(`${s.from.replace(".","\\.").replace(")","\\)").replace("(","\\(")} \\(\\d+\\) `,"g"),u=r.match(l);u?r=r.replace(u[0],""):r=r.replace(`${s.from} `,"")}return r.startsWith(`${i}: `)&&(r=r.substring(i.length+2)),g.jsxs($t,{component:"tr",sx:Bt[s.severity],children:[g.jsx("td",{style:Bt.trFrom,children:s.from}),g.jsx("td",{style:Bt.trTime,children:Nx(new Date(s.ts))}),g.jsx("td",{style:Bt.trSeverity,children:s.severity}),g.jsx("td",{children:g.jsx("pre",{style:Bt.trPreMessage,children:r})})]},`tr_${s.ts}_${s.message.substring(s.message.length-10)}`)}scrollToBottom(){var s,i;(i=(s=this.messagesEnd)==null?void 0:s.current)==null||i.scrollIntoView({behavior:"smooth"})}logHandler=s=>{const i=this.state.lines,r=this.state.editing.filter(f=>s.message.includes(f));let l=null;if(!r.length||(r.length===1?l=r[0]:(r.sort(),l=r[r.length-1]),!l))return;const u=i[l]||[],d=Ks[l]||[];u.push(bm.generateLine(s,l));let p=s.severity;(p==="info"||p==="warn")&&(p+=" ");const m=new Date(s.ts);d.push(`${m.toLocaleString()}.${Lx(m.getMilliseconds())} [${p}]: ${s.message}`),u.length>300&&(u.splice(0,u.length-300),d.splice(0,u.length-300)),Ks[l]=d,i[l]=u,this.setState({lines:i})};componentDidMount(){this.props.socket.registerLogHandler(this.logHandler)}componentWillUnmount(){this.props.socket.unregisterLogHandler(this.logHandler)}componentDidUpdate(){this.state.goBottom&&this.scrollToBottom()}static getDerivedStateFromProps(s,i){let r=!1;const l={};if(s.selected!==i.selected){const u=s.selected,d=i.lines;u&&(d[u]=d[u]||[],Ks[u]=Ks[u]||[]),l.selected=u,r=!0}if(JSON.stringify(s.editing)!==JSON.stringify(i.editing)){const u=JSON.parse(JSON.stringify(s.editing));r=!0;const d=i.lines;for(const p in Ks)Object.prototype.hasOwnProperty.call(Ks,p)&&(u.includes(p)||(delete Ks[p],delete d[p]));l.editing=u}return r?l:null}onCopy(){b.Utils.copyToClipboard((Ks[this.state.selected]||[]).join(` -`))}clearLog(){const s=this.state.lines;s[this.state.selected]&&(s[this.state.selected]=[]),Ks[this.state.selected]&&(Ks[this.state.selected]=[]),this.setState({lines:s})}renderLogList(s){return this.state.selected&&(s!=null&&s.length)?g.jsxs($t,{sx:Bt.logBoxInner,children:[g.jsx("table",{style:Bt.table,children:g.jsx("tbody",{children:s})},"logTable"),g.jsx("div",{ref:this.messagesEnd,style:{float:"left",clear:"both"}},"logScrollPoint")]},"logList"):g.jsx($t,{sx:Bt.logBoxInner,style:{paddingLeft:10},children:b.I18n.t("Log outputs")},"logList")}render(){const s=this.state.selected?this.state.lines[this.state.selected]:null;return g.jsxs("div",{style:Bt.logBox,children:[g.jsxs("div",{style:Bt.toolbox,children:[g.jsx(Me,{style:Bt.iconButtons,onClick:()=>this.setState({goBottom:!this.state.goBottom}),color:this.state.goBottom?"secondary":void 0,size:"medium",children:g.jsx(sS,{})}),s!=null&&s.length?g.jsx(Me,{style:Bt.iconButtons,onClick:()=>this.clearLog(),size:"medium",children:g.jsx(oS,{})}):null,s!=null&&s.length?g.jsx(Me,{style:Bt.iconButtons,onClick:()=>this.onCopy(),size:"medium",children:g.jsx(iS,{})}):null,this.props.onLayoutChange?g.jsx(Me,{style:Bt.iconButtons,onClick:()=>this.props.onLayoutChange&&this.props.onLayoutChange(),title:b.I18n.t("Change layout"),size:"medium",sx:Bt.layoutIcon,children:g.jsx("img",{alt:"split",src:this.props.verticalLayout?Ox:Mx})}):null,g.jsx(Me,{style:Bt.iconButtons,onClick:()=>this.props.onHideLog(),title:b.I18n.t("Hide logs"),size:"medium",children:g.jsx(nS,{})})]},"toolbox"),this.renderLogList(s)]})}}var x_="focus-outline-hidden";function $C(){var a=this;document.addEventListener("keydown",function(s){a.focusByKeyboard=!0},!0),document.addEventListener("mousedown",function(s){a.focusByKeyboard=!1},!0),document.addEventListener("focus",function(s){a.updateVisibility()},!0),document.addEventListener("focusout",function(s){window.setTimeout(function(){document.hasFocus()||(a.focusByKeyboard=!0,a.updateVisibility())},0)}),this.updateVisibility()}$C.prototype={focusByKeyboard:!0,updateVisibility:function(){this.hidden=!this.focusByKeyboard},set hidden(a){document.documentElement.classList.toggle(x_,a)},get hidden(){return document.documentElement.classList.contains(x_)}};new $C;var bC={exports:{}};(function(a){(function(){var s={}.hasOwnProperty;function i(){for(var r=[],l=0;l4&&arguments[4]!==void 0?arguments[4]:"easeInOutCubic";return r>l?i:s+(i-s)*Bx[u](r/l)};Ei.calcEndPoint=function(s){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:window,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;if(jx(s))return parseInt(s)+r;var l=i===window||i===document.documentElement?window.pageYOffset:i.scrollTop-i.getBoundingClientRect().top,u=s.nodeName.toLowerCase()==="html"?-l:s.getBoundingClientRect().top+l;return u+r};(function(a,s){Object.defineProperty(s,"__esModule",{value:!0});var i=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(l){return typeof l}:function(l){return l&&typeof Symbol=="function"&&l.constructor===Symbol&&l!==Symbol.prototype?"symbol":typeof l},r=Ei;s.default=function(l){var u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},d=u.duration,p=d===void 0?500:d,m=u.context,f=m===void 0?window:m,v=u.offset,_=v===void 0?0:v,y=u.ease,k=y===void 0?"easeInOutCubic":y,C=u.callback;if((typeof window>"u"?"undefined":i(window))==="object"){var w=f.scrollTop!==null&&f.scrollTop!==void 0?f.scrollTop:window.pageYOffset,E=(0,r.calcEndPoint)(l,f,_),R=performance.now(),D=window.requestAnimationFrame,A=function J(){var ie=performance.now()-R,se=(0,r.setPosition)(w,E,ie,p,k);f!==window?f.scrollTop=se:window.scroll(0,se),ie>p?typeof C=="function"&&C(l):D(J)};A()}},a.exports=s.default})(Vg,Vg.exports);var vC=Vg.exports,Gg={exports:{}};(function(a,s){Object.defineProperty(s,"__esModule",{value:!0});var i=Object.assign||function(d){for(var p=1;p0&&arguments[0]!==void 0?arguments[0]:{},p=d.query,m=p===void 0?'[href^="#"]:not([href="#"]':p,f=d.match,v=f===void 0?function(E){return document.getElementById(E.hash.substring(1))}:f,_=d.hashChange,y=_===void 0?!0:_,k=d.scrollSmoothConfig,C=document.querySelectorAll(m),w=function(R){R.preventDefault();var D=v(R.target);D&&(y&&history.replaceState(null,null,"#"+D.id),(0,l.default)(D,i({},k)))};Array.from(C).map(function(E){E.addEventListener("click",w,!1)})},a.exports=s.default})(Gg,Gg.exports);var Fx=Gg.exports,Kg={exports:{}};(function(a,s){Object.defineProperty(s,"__esModule",{value:!0});function i(r){if(Array.isArray(r)){for(var l=0,u=Array(r.length);l0&&arguments[0]!==void 0?arguments[0]:{},l=r.activeClass,u=l===void 0?"active":l,d=r.query,p=d===void 0?'[href^="#"]:not([href="#"]):not([href="#0"])':d,m=r.threshold,f=m===void 0?[.25,.5,.75]:m,v=r.detectType,_=v===void 0?"max":v,y={threshold:f},k=function(se){return se.classList.remove(u)},C=function(se){return se.classList.add(u)},w=function(){document.querySelectorAll("."+u).forEach(k)},E=function(se){w(),C(document.querySelector('a[href="#'+se.id+'"]'))},R=function(se){se.forEach(function(me){me.intersectionRatio>=Math[_].apply(Math,i(f))&&E(me.target)})},D=document.querySelectorAll(p),A=new IntersectionObserver(R,y),J=function(se){var me=document.querySelector("#"+se.hash.slice(1));A.observe(me)};D.forEach(J)},a.exports=s.default})(Kg,Kg.exports);var zx=Kg.exports;(function(a,s){Object.defineProperty(s,"__esModule",{value:!0});var i=vC,r=f(i),l=Ei,u=Fx,d=f(u),p=zx,m=f(p);function f(v){return v&&v.__esModule?v:{default:v}}s.default={to:r.default,calcEndPoint:l.calcEndPoint,anchorScroll:d.default,observe:m.default},a.exports=s.default})(Wg,Wg.exports);var Ux=Wg.exports;const Hx=Si(Ux);var vm={exports:{}},Wx=vm.exports;(function(a){(function(s,i){a.exports?a.exports=i():s.Scrollparent=i()})(Wx,function(){var s=/(auto|scroll)/,i=function(p,m){return p.parentNode===null?m:i(p.parentNode,m.concat([p]))},r=function(p,m){return getComputedStyle(p,null).getPropertyValue(m)},l=function(p){return r(p,"overflow")+r(p,"overflow-y")+r(p,"overflow-x")},u=function(p){return s.test(l(p))},d=function(p){if(p instanceof HTMLElement||p instanceof SVGElement){for(var m=i(p.parentNode,[]),f=0;f=s||me<0||_&&z>=u}function R(){var se=sg();if(E(se))return D(se);p=setTimeout(R,w(se))}function D(se){return p=void 0,y&&r?k(se):(r=l=void 0,d)}function A(){p!==void 0&&clearTimeout(p),f=0,r=m=l=p=void 0}function J(){return p===void 0?d:D(sg())}function ie(){var se=sg(),me=E(se);if(r=arguments,l=this,m=se,me){if(p===void 0)return C(m);if(_)return p=setTimeout(R,s),k(m)}return p===void 0&&(p=setTimeout(R,s)),d}return ie.cancel=A,ie.flush=J,ie}function Yg(a){var s=typeof a;return!!a&&(s=="object"||s=="function")}function lD(a){return!!a&&typeof a=="object"}function cD(a){return typeof a=="symbol"||lD(a)&&iD.call(a)==Yx}function R_(a){if(typeof a=="number")return a;if(cD(a))return A_;if(Yg(a)){var s=typeof a.valueOf=="function"?a.valueOf():a;a=Yg(s)?s+"":s}if(typeof a!="string")return a===0?a:+a;a=a.replace(Jx,"");var i=Xx.test(a);return i||Zx.test(a)?Qx(a.slice(2),i?2:8):qx.test(a)?A_:+a}var uD=aD;const dD=Si(uD);var Jg="data-focus-lock",yC="data-focus-lock-disabled",hD="data-no-focus-lock",pD="data-autofocus-inside",gD="data-no-autofocus";function og(a,s){return typeof a=="function"?a(s):a&&(a.current=s),a}function mD(a,s){var i=vt(function(){return{value:a,callback:s,facade:{get current(){return i.value},set current(r){var l=i.value;l!==r&&(i.value=r,i.callback(r,l))}}}})[0];return i.callback=s,i.facade}var fD=typeof window<"u"?lm:Mt,O_=new WeakMap;function $D(a,s){var i=mD(null,function(r){return a.forEach(function(l){return og(l,r)})});return fD(function(){var r=O_.get(i);if(r){var l=new Set(r),u=new Set(a),d=i.current;l.forEach(function(p){u.has(p)||og(p,null)}),u.forEach(function(p){l.has(p)||og(p,d)})}O_.set(i,a)},[a]),i}var ig={width:"1px",height:"0px",padding:0,overflow:"hidden",position:"fixed",top:"1px",left:"1px"};function _C(a){return a}function wC(a,s){s===void 0&&(s=_C);var i=[],r=!1,l={read:function(){if(r)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return i.length?i[i.length-1]:a},useMedium:function(u){var d=s(u,r);return i.push(d),function(){i=i.filter(function(p){return p!==d})}},assignSyncMedium:function(u){for(r=!0;i.length;){var d=i;i=[],d.forEach(u)}i={push:function(p){return u(p)},filter:function(){return i}}},assignMedium:function(u){r=!0;var d=[];if(i.length){var p=i;i=[],p.forEach(u),d=i}var m=function(){var v=d;d=[],v.forEach(u)},f=function(){return Promise.resolve().then(m)};f(),i={push:function(v){d.push(v),f()},filter:function(v){return d=d.filter(v),i}}}};return l}function ym(a,s){return s===void 0&&(s=_C),wC(a,s)}function bD(a){a===void 0&&(a={});var s=wC(null);return s.options=rS({async:!0,ssr:!1},a),s}var CC=ym({},function(a){var s=a.target,i=a.currentTarget;return{target:s,currentTarget:i}}),TC=ym(),vD=ym(),yD=bD({async:!0,ssr:typeof document<"u"}),_D=rm(void 0),wD=[],_m=Sw(function(s,i){var r,l=vt(),u=l[0],d=l[1],p=Bo(),m=Bo(!1),f=Bo(null),v=vt({}),_=v[1],y=s.children,k=s.disabled,C=k===void 0?!1:k,w=s.noFocusGuards,E=w===void 0?!1:w,R=s.persistentFocus,D=R===void 0?!1:R,A=s.crossFrame,J=A===void 0?!0:A,ie=s.autoFocus,se=ie===void 0?!0:ie;s.allowTextSelection;var me=s.group,z=s.className,Oe=s.whiteList,Ne=s.hasPositiveIndices,Ze=s.shards,ae=Ze===void 0?wD:Ze,ce=s.as,K=ce===void 0?"div":ce,ye=s.lockProps,he=ye===void 0?{}:ye,je=s.sideCar,G=s.returnFocus,tt=G===void 0?!1:G,q=s.focusOptions,ee=s.onActivation,B=s.onDeactivation,H=vt({}),U=H[0],re=_n(function(ke){var $e=ke.captureFocusRestore;if(!f.current){var Pe,bt=(Pe=document)==null?void 0:Pe.activeElement;f.current=bt,bt!==document.body&&(f.current=$e(bt))}p.current&&ee&&ee(p.current),m.current=!0,_()},[ee]),I=_n(function(){m.current=!1,B&&B(p.current),_()},[B]),de=_n(function(ke){var $e=f.current;if($e){var Pe=(typeof $e=="function"?$e():$e)||document.body,bt=typeof tt=="function"?tt(Pe):tt;if(bt){var X=typeof bt=="object"?bt:void 0;f.current=null,ke?Promise.resolve().then(function(){return Pe.focus(X)}):Pe.focus(X)}}},[tt]),W=_n(function(ke){m.current&&CC.useMedium(ke)},[]),Ce=TC.useMedium,be=_n(function(ke){p.current!==ke&&(p.current=ke,d(ke))},[]),Se=Tg((r={},r[yC]=C&&"disabled",r[Jg]=me,r),he),pe=E!==!0,Ge=pe&&E!=="tail",Je=$D([i,be]),_e=rs(function(){return{observed:p,shards:ae,enabled:!C,active:m.current}},[C,m.current,ae,u]);return Y.createElement(Sg,null,pe&&[Y.createElement("div",{key:"guard-first","data-focus-guard":!0,tabIndex:C?-1:0,style:ig}),Ne?Y.createElement("div",{key:"guard-nearest","data-focus-guard":!0,tabIndex:C?-1:1,style:ig}):null],!C&&Y.createElement(je,{id:U,sideCar:yD,observed:u,disabled:C,persistentFocus:D,crossFrame:J,autoFocus:se,whiteList:Oe,shards:ae,onActivation:re,onDeactivation:I,returnFocus:de,focusOptions:q,noFocusGuards:E}),Y.createElement(K,Tg({ref:Je},Se,{className:z,onBlur:Ce,onFocus:W}),Y.createElement(_D.Provider,{value:_e},y)),Ge&&Y.createElement("div",{"data-focus-guard":!0,tabIndex:C?-1:0,style:ig}))});_m.propTypes={};function CD(a,s){function i(r){return r.displayName||r.name||"Component"}return function(l){var u=[],d;function p(){d=a(u.map(function(f){return f.props})),s(d)}var m=(function(f){SS(v,f);function v(){return f.apply(this,arguments)||this}v.peek=function(){return d};var _=v.prototype;return _.componentDidMount=function(){u.push(this),p()},_.componentDidUpdate=function(){p()},_.componentWillUnmount=function(){var k=u.indexOf(this);u.splice(k,1),p()},_.render=function(){return Y.createElement(l,this.props)},v})(Dk);return GS(m,"displayName","SideEffect("+i(l)+")"),m}}var Xs=function(a){for(var s=Array(a.length),i=0;i=0}).sort(RD)},MD=["button:enabled","select:enabled","textarea:enabled","input:enabled","a[href]","area[href]","summary","iframe","object","embed","audio[controls]","video[controls]","[tabindex]","[contenteditable]","[autofocus]"],Tm=MD.join(","),ND="".concat(Tm,", [data-focus-guard]"),OC=function(a,s){return Xs((a.shadowRoot||a).children).reduce(function(i,r){return i.concat(r.matches(s?ND:Tm)?[r]:[],OC(r))},[])},LD=function(a,s){var i;return a instanceof HTMLIFrameElement&&(!((i=a.contentDocument)===null||i===void 0)&&i.body)?An([a.contentDocument.body],s):[a]},An=function(a,s){return a.reduce(function(i,r){var l,u=OC(r,s),d=(l=[]).concat.apply(l,u.map(function(p){return LD(p,s)}));return i.concat(d,r.parentNode?Xs(r.parentNode.querySelectorAll(Tm)).filter(function(p){return p===r}):[])},[])},PD=function(a){var s=a.querySelectorAll("[".concat(pD,"]"));return Xs(s).map(function(i){return An([i])}).reduce(function(i,r){return i.concat(r)},[])},km=function(a,s){return Xs(a).filter(function(i){return IC(s,i)}).filter(function(i){return xD(i)})},M_=function(a,s){return s===void 0&&(s=new Map),Xs(a).filter(function(i){return xC(s,i)})},Sm=function(a,s,i){return Cm(km(An(a,i),s),!0,i)},Kr=function(a,s){return Cm(km(An(a),s),!1)},BD=function(a,s){return km(PD(a),s)},yi=function(a,s){return a.shadowRoot?yi(a.shadowRoot,s):Object.getPrototypeOf(a).contains!==void 0&&Object.getPrototypeOf(a).contains.call(a,s)?!0:Xs(a.children).some(function(i){var r;if(i instanceof HTMLIFrameElement){var l=(r=i.contentDocument)===null||r===void 0?void 0:r.body;return l?yi(l,s):!1}return yi(i,s)})},jD=function(a){for(var s=new Set,i=a.length,r=0;r0&&s.add(l),(u&Node.DOCUMENT_POSITION_CONTAINS)>0&&s.add(r)}return a.filter(function(d,p){return!s.has(p)})},MC=function(a){return a.parentNode?MC(a.parentNode):a},Em=function(a){var s=Ti(a);return s.filter(Boolean).reduce(function(i,r){var l=r.getAttribute(Jg);return i.push.apply(i,l?jD(Xs(MC(r).querySelectorAll("[".concat(Jg,'="').concat(l,'"]:not([').concat(yC,'="disabled"])')))):[r]),i},[])},FD=function(a){try{return a()}catch{return}},Yr=function(a){if(a===void 0&&(a=document),!(!a||!a.activeElement)){var s=a.activeElement;return s.shadowRoot?Yr(s.shadowRoot):s instanceof HTMLIFrameElement&&FD(function(){return s.contentWindow.document})?Yr(s.contentWindow.document):s}},zD=function(a,s){return a===s},UD=function(a,s){return!!Xs(a.querySelectorAll("iframe")).some(function(i){return zD(i,s)})},NC=function(a,s){return s===void 0&&(s=Yr(kC(a).ownerDocument)),!s||s.dataset&&s.dataset.focusGuard?!1:Em(a).some(function(i){return yi(i,s)||UD(i,s)})},HD=function(a){a===void 0&&(a=document);var s=Yr(a);return s?Xs(a.querySelectorAll("[".concat(hD,"]"))).some(function(i){return yi(i,s)}):!1},WD=function(a,s){return s.filter(RC).filter(function(i){return i.name===a.name}).filter(function(i){return i.checked})[0]||a},Im=function(a,s){return RC(a)&&a.name?WD(a,s):a},VD=function(a){var s=new Set;return a.forEach(function(i){return s.add(Im(i,a))}),a.filter(function(i){return s.has(i)})},N_=function(a){return a[0]&&a.length>1?Im(a[0],a):a[0]},L_=function(a,s){return a.indexOf(Im(s,a))},Xg="NEW_FOCUS",GD=function(a,s,i,r,l){var u=a.length,d=a[0],p=a[u-1],m=wm(r);if(!(r&&a.indexOf(r)>=0)){var f=r!==void 0?i.indexOf(r):-1,v=l?i.indexOf(l):f,_=l?a.indexOf(l):-1;if(f===-1)return _!==-1?_:Xg;if(_===-1)return Xg;var y=f-v,k=i.indexOf(d),C=i.indexOf(p),w=VD(i),E=r!==void 0?w.indexOf(r):-1,R=l?w.indexOf(l):E,D=w.filter(function(z){return z.tabIndex>=0}),A=r!==void 0?D.indexOf(r):-1,J=l?D.indexOf(l):A,ie=A>=0&&J>=0?J-A:R-E;if(!y&&_>=0||s.length===0)return _;var se=L_(a,s[0]),me=L_(a,s[s.length-1]);if(f<=k&&m&&Math.abs(y)>1)return me;if(f>=C&&m&&Math.abs(y)>1)return se;if(y&&Math.abs(ie)>1)return _;if(f<=k)return me;if(f>C)return se;if(y)return Math.abs(y)>1?_:(u+_+y)%u}},KD=function(a){return function(s){var i,r=(i=DC(s))===null||i===void 0?void 0:i.autofocus;return s.autofocus||r!==void 0&&r!=="false"||a.indexOf(s)>=0}},P_=function(a,s,i){var r=a.map(function(u){var d=u.node;return d}),l=M_(r.filter(KD(i)));return l&&l.length?N_(l):N_(M_(s))},Zg=function(a,s){return s===void 0&&(s=[]),s.push(a),a.parentNode&&Zg(a.parentNode.host||a.parentNode,s),s},ng=function(a,s){for(var i=Zg(a),r=Zg(s),l=0;l=0)return u}return!1},LC=function(a,s,i){var r=Ti(a),l=Ti(s),u=r[0],d=!1;return l.filter(Boolean).forEach(function(p){d=ng(d||p,p)||d,i.filter(Boolean).forEach(function(m){var f=ng(u,m);f&&(!d||yi(f,d)?d=f:d=ng(f,d))})}),d},B_=function(a,s){return a.reduce(function(i,r){return i.concat(BD(r,s))},[])},YD=function(a,s){var i=new Map;return s.forEach(function(r){return i.set(r.node,r)}),a.map(function(r){return i.get(r)}).filter(AD)},JD=function(a,s){var i=Yr(Ti(a).length>0?document:kC(a).ownerDocument),r=Em(a).filter(qg),l=LC(i||a,a,r),u=new Map,d=Kr(r,u),p=d.filter(function(C){var w=C.node;return qg(w)});if(p[0]){var m=Kr([l],u).map(function(C){var w=C.node;return w}),f=YD(m,p),v=f.map(function(C){var w=C.node;return w}),_=f.filter(function(C){var w=C.tabIndex;return w>=0}).map(function(C){var w=C.node;return w}),y=GD(v,_,m,i,s);if(y===Xg){var k=P_(d,_,B_(r,u))||P_(d,v,B_(r,u));if(k)return{node:k};console.warn("focus-lock: cannot find any node to move focus into");return}return y===void 0?y:f[y]}},qD=function(a){var s=Em(a).filter(qg),i=LC(a,a,s),r=Cm(An([i],!0),!0,!0),l=An(s,!1);return r.map(function(u){var d=u.node,p=u.index;return{node:d,index:p,lockItem:l.indexOf(d)>=0,guard:wm(d)}})},xm=function(a,s){a&&("focus"in a&&a.focus(s),"contentWindow"in a&&a.contentWindow&&a.contentWindow.focus())},rg=0,ag=!1,PC=function(a,s,i){i===void 0&&(i={});var r=JD(a,s);if(!ag&&r){if(rg>2){console.error("FocusLock: focus-fighting detected. Only one focus management system could be active. See https://github.com/theKashey/focus-lock/#focus-fighting"),ag=!0,setTimeout(function(){ag=!1},1);return}rg++,xm(r.node,i.focusOptions),rg--}};function Lr(a){if(!a)return null;if(typeof WeakRef>"u")return function(){return a||null};var s=a?new WeakRef(a):null;return function(){return(s==null?void 0:s.deref())||null}}var XD=function(a){if(!a)return null;for(var s=[],i=a;i&&i!==document.body;)s.push({current:Lr(i),parent:Lr(i.parentElement),left:Lr(i.previousElementSibling),right:Lr(i.nextElementSibling)}),i=i.parentElement;return{element:Lr(a),stack:s,ownerDocument:a.ownerDocument}},ZD=function(a){var s,i,r,l,u;if(a)for(var d=a.stack,p=a.ownerDocument,m=new Map,f=0,v=d;f-1&&(E.filter(function(D){var A=D.guard,J=D.node;return A&&J.dataset.focusAutoGuard}).forEach(function(D){var A=D.node;return A.removeAttribute("tabIndex")}),F_(R,E.length,1,E),F_(R,-1,-1,E))}}}return s},HC=function(s){wc()&&s&&(s.stopPropagation(),s.preventDefault())},Rm=function(){return Dm(wc)},fA=function(s){var i=s.target,r=s.currentTarget;r.contains(i)||uA(r,i)},$A=function(){return null},WC=function(){Am=!0},VC=function(){Am=!1,Jr="just",Dm(function(){Jr="meanwhile"})},bA=function(){document.addEventListener("focusin",HC),document.addEventListener("focusout",Rm),window.addEventListener("focus",WC),window.addEventListener("blur",VC)},vA=function(){document.removeEventListener("focusin",HC),document.removeEventListener("focusout",Rm),window.removeEventListener("focus",WC),window.removeEventListener("blur",VC)};function yA(a){return a.filter(function(s){var i=s.disabled;return!i})}var GC={moveFocusInside:PC,focusInside:NC,focusNextElement:sA,focusPrevElement:oA,focusFirstElement:iA,focusLastElement:nA,captureFocusRestore:BC};function _A(a){var s=a.slice(-1)[0];s&&!Sn&&bA();var i=Sn,r=i&&s&&s.id===i.id;Sn=s,i&&!r&&(i.onDeactivation(),a.filter(function(l){var u=l.id;return u===i.id}).length||i.returnFocus(!s)),s?(Zt=null,(!r||i.observed!==s.observed)&&s.onActivation(GC),wc(),Dm(wc)):(vA(),Zt=null)}CC.assignSyncMedium(fA);TC.assignMedium(Rm);vD.assignMedium(function(a){return a(GC)});const wA=CD(yA,_A)($A);var KC=Sw(function(s,i){return Y.createElement(_m,Tg({sideCar:wA,ref:i},s))}),YC=_m.propTypes||{};YC.sideCar;ES(YC,["sideCar"]);KC.propTypes={};var JC={exports:{}},et={};var Om=Symbol.for("react.element"),Mm=Symbol.for("react.portal"),Qc=Symbol.for("react.fragment"),eu=Symbol.for("react.strict_mode"),tu=Symbol.for("react.profiler"),su=Symbol.for("react.provider"),ou=Symbol.for("react.context"),CA=Symbol.for("react.server_context"),iu=Symbol.for("react.forward_ref"),nu=Symbol.for("react.suspense"),ru=Symbol.for("react.suspense_list"),au=Symbol.for("react.memo"),lu=Symbol.for("react.lazy"),TA=Symbol.for("react.offscreen"),qC;qC=Symbol.for("react.module.reference");function _s(a){if(typeof a=="object"&&a!==null){var s=a.$$typeof;switch(s){case Om:switch(a=a.type,a){case Qc:case tu:case eu:case nu:case ru:return a;default:switch(a=a&&a.$$typeof,a){case CA:case ou:case iu:case lu:case au:case su:return a;default:return s}}case Mm:return s}}}et.ContextConsumer=ou;et.ContextProvider=su;et.Element=Om;et.ForwardRef=iu;et.Fragment=Qc;et.Lazy=lu;et.Memo=au;et.Portal=Mm;et.Profiler=tu;et.StrictMode=eu;et.Suspense=nu;et.SuspenseList=ru;et.isAsyncMode=function(){return!1};et.isConcurrentMode=function(){return!1};et.isContextConsumer=function(a){return _s(a)===ou};et.isContextProvider=function(a){return _s(a)===su};et.isElement=function(a){return typeof a=="object"&&a!==null&&a.$$typeof===Om};et.isForwardRef=function(a){return _s(a)===iu};et.isFragment=function(a){return _s(a)===Qc};et.isLazy=function(a){return _s(a)===lu};et.isMemo=function(a){return _s(a)===au};et.isPortal=function(a){return _s(a)===Mm};et.isProfiler=function(a){return _s(a)===tu};et.isStrictMode=function(a){return _s(a)===eu};et.isSuspense=function(a){return _s(a)===nu};et.isSuspenseList=function(a){return _s(a)===ru};et.isValidElementType=function(a){return typeof a=="string"||typeof a=="function"||a===Qc||a===tu||a===eu||a===nu||a===ru||a===TA||typeof a=="object"&&a!==null&&(a.$$typeof===lu||a.$$typeof===au||a.$$typeof===su||a.$$typeof===ou||a.$$typeof===iu||a.$$typeof===qC||a.getModuleId!==void 0)};et.typeOf=_s;JC.exports=et;var XC=JC.exports;function kA(a){function s(B,H,U,re,I){for(var de=0,W=0,Ce=0,be=0,Se,pe,Ge=0,Je=0,_e,ke=_e=Se=0,$e=0,Pe=0,bt=0,X=0,ct=U.length,ze=ct-1,kt,ve="",st="",Zs="",St="",Et;$eSe)&&(X=(ve=ve.replace(" ",":")).length),0re&&(re=(H=H.trim()).charCodeAt(0)),re){case 38:return H.replace(R,"$1"+B.trim());case 58:return B.trim()+H.replace(R,"$1"+B.trim());default:if(0<1*U&&0W.charCodeAt(8))break;case 115:I=I.replace(W,"-webkit-"+W)+";"+I;break;case 207:case 102:I=I.replace(W,"-webkit-"+(102U.charCodeAt(0)&&(U=U.trim()),ee=U,U=[ee],01?s-1:0),r=1;r0?" Args: "+i.join(", "):""))}var xA=(function(){function a(i){this.groupSizes=new Uint32Array(512),this.length=512,this.tag=i}var s=a.prototype;return s.indexOfGroup=function(i){for(var r=0,l=0;l=this.groupSizes.length){for(var l=this.groupSizes,u=l.length,d=u;i>=d;)(d<<=1)<0&&aa(16,""+i);this.groupSizes=new Uint32Array(d),this.groupSizes.set(l),this.length=d;for(var p=u;p=this.length||this.groupSizes[i]===0)return r;for(var l=this.groupSizes[i],u=this.indexOfGroup(i),d=u+l,p=u;p=zr&&(zr=s+1),fc.set(a,s),Tc.set(s,a)},RA="style["+Rn+'][data-styled-version="5.3.11"]',OA=new RegExp("^"+Rn+'\\.g(\\d+)\\[id="([\\w\\d-]+)"\\].*?"([^"]*)'),MA=function(a,s,i){for(var r,l=i.split(","),u=0,d=l.length;u=0;f--){var v=m[f];if(v&&v.nodeType===1&&v.hasAttribute(Rn))return v}})(i),u=l!==void 0?l.nextSibling:null;r.setAttribute(Rn,"active"),r.setAttribute("data-styled-version","5.3.11");var d=LA();return d&&r.setAttribute("nonce",d),i.insertBefore(r,u),r},PA=(function(){function a(i){var r=this.element=ZC(i);r.appendChild(document.createTextNode("")),this.sheet=(function(l){if(l.sheet)return l.sheet;for(var u=document.styleSheets,d=0,p=u.length;d=0){var l=document.createTextNode(r),u=this.nodes[i];return this.element.insertBefore(l,u||null),this.length++,!0}return!1},s.deleteRule=function(i){this.element.removeChild(this.nodes[i]),this.length--},s.getRule=function(i){return i0&&(_+=y+",")})),u+=""+f+v+'{content:"'+_+`"}/*!sc*/ -`}}}return u})(this)},a})(),zA=/(a)(d)/gi,W_=function(a){return String.fromCharCode(a+(a>25?39:97))};function em(a){var s,i="";for(s=Math.abs(a);s>52;s=s/52|0)i=W_(s%52)+i;return(W_(s%52)+i).replace(zA,"$1-$2")}var Tn=function(a,s){for(var i=s.length;i;)a=33*a^s.charCodeAt(--i);return a},QC=function(a){return Tn(5381,a)};function eT(a){for(var s=0;s>>0);if(!i.hasNameForId(l,p)){var m=r(d,"."+p,void 0,l);i.insertRules(l,p,m)}u.push(p),this.staticRulesId=p}else{for(var f=this.rules.length,v=Tn(this.baseHash,r.hash),_="",y=0;y>>0);if(!i.hasNameForId(l,E)){var R=r(_,"."+E,void 0,l);i.insertRules(l,E,R)}u.push(E)}}return u.join(" ")},a})(),WA=/^\s*\/\/.*$/gm,VA=[":","[",".","#"];function GA(a){var s,i,r,l,u=jo,d=u.options,p=d===void 0?jo:d,m=u.plugins,f=m===void 0?Cc:m,v=new kA(p),_=[],y=(function(w){function E(R){if(R)try{w(R+"}")}catch{}}return function(R,D,A,J,ie,se,me,z,Oe,Ne){switch(R){case 1:if(Oe===0&&D.charCodeAt(0)===64)return w(D+";"),"";break;case 2:if(z===0)return D+"/*|*/";break;case 3:switch(z){case 102:case 112:return w(A[0]+D),"";default:return D+(Ne===0?"/*|*/":"")}case-2:D.split("/*|*/}").forEach(E)}}})((function(w){_.push(w)})),k=function(w,E,R){return E===0&&VA.indexOf(R[i.length])!==-1||R.match(l)?w:"."+s};function C(w,E,R,D){D===void 0&&(D="&");var A=w.replace(WA,""),J=E&&R?R+" "+E+" { "+A+" }":A;return s=D,i=E,r=new RegExp("\\"+i+"\\b","g"),l=new RegExp("(\\"+i+"\\b){2,}"),v(R||!E?"":E,J)}return v.use([].concat(f,[function(w,E,R){w===2&&R.length&&R[0].lastIndexOf(i)>0&&(R[0]=R[0].replace(r,k))},y,function(w){if(w===-2){var E=_;return _=[],E}}])),C.hash=f.length?f.reduce((function(w,E){return E.name||aa(15),Tn(w,E.name)}),5381).toString():"",C}var tT=Y.createContext();tT.Consumer;var sT=Y.createContext(),KA=(sT.Consumer,new kc),tm=GA();function oT(){return Xr(tT)||KA}function iT(){return Xr(sT)||tm}var YA=(function(){function a(s,i){var r=this;this.inject=function(l,u){u===void 0&&(u=tm);var d=r.name+u.hash;l.hasNameForId(r.id,d)||l.insertRules(r.id,d,u(r.rules,d,"@keyframes"))},this.toString=function(){return aa(12,String(r.name))},this.name=s,this.id="sc-keyframes-"+s,this.rules=i}return a.prototype.getName=function(s){return s===void 0&&(s=tm),this.name+s.hash},a})(),JA=/([A-Z])/,qA=/([A-Z])/g,XA=/^ms-/,ZA=function(a){return"-"+a.toLowerCase()};function V_(a){return JA.test(a)?a.replace(qA,ZA).replace(XA,"-ms-"):a}var G_=function(a){return a==null||a===!1||a===""};function ki(a,s,i,r){if(Array.isArray(a)){for(var l,u=[],d=0,p=a.length;d1?s-1:0),r=1;r?@[\\\]^`{|}~-]+/g,e0=/(^-|-$)/g;function lg(a){return a.replace(QA,"-").replace(e0,"")}var aT=function(a){return em(QC(a)>>>0)};function ic(a){return typeof a=="string"&&!0}var sm=function(a){return typeof a=="function"||typeof a=="object"&&a!==null&&!Array.isArray(a)},t0=function(a){return a!=="__proto__"&&a!=="constructor"&&a!=="prototype"};function s0(a,s,i){var r=a[i];sm(s)&&sm(r)?lT(r,s):a[i]=s}function lT(a){for(var s=arguments.length,i=new Array(s>1?s-1:0),r=1;r=0||(Ne[z]=se[z]);return Ne})(s,["componentId"]),ie=A&&A+"-"+(ic(D)?D:lg(U_(D)));return cT(D,Js({},J,{attrs:y,componentId:ie}),i)},Object.defineProperty(C,"defaultProps",{get:function(){return this._foldedDefaultProps},set:function(D){this._foldedDefaultProps=r?lT({},a.defaultProps,D):D}}),Object.defineProperty(C,"toString",{value:function(){return"."+C.styledComponentId}}),l&&IS(C,a,{attrs:!0,componentStyle:!0,displayName:!0,foldedComponentIds:!0,shouldForwardProp:!0,styledComponentId:!0,target:!0,withComponent:!0}),C}var ys=function(a){return(function s(i,r,l){if(l===void 0&&(l=jo),!XC.isValidElementType(r))return aa(1,String(r));var u=function(){return i(r,l,nT.apply(void 0,arguments))};return u.withConfig=function(d){return s(i,r,Js({},l,{},d))},u.attrs=function(d){return s(i,r,Js({},l,{attrs:Array.prototype.concat(l.attrs,d).filter(Boolean)}))},u})(cT,a)};["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","big","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","marquee","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr","circle","clipPath","defs","ellipse","foreignObject","g","image","line","linearGradient","marker","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","svg","text","textPath","tspan"].forEach((function(a){ys[a]=ys(a)}));var o0=(function(){function a(i,r){this.rules=i,this.componentId=r,this.isStatic=eT(i),kc.registerId(this.componentId+1)}var s=a.prototype;return s.createStyles=function(i,r,l,u){var d=u(ki(this.rules,r,l,u).join(""),""),p=this.componentId+i;l.insertRules(p,p,d)},s.removeStyles=function(i,r){r.clearRules(this.componentId+i)},s.renderStyles=function(i,r,l,u){i>2&&kc.registerId(this.componentId+i),this.removeStyles(i,l),this.createStyles(i,r,l,u)},a})();function i0(a){for(var s=arguments.length,i=new Array(s>1?s-1:0),r=1;ra.length)&&(s=a.length);for(var i=0,r=Array(s);i=a.length?{done:!0}:{done:!1,value:a[r++]}},e:function(m){throw m},f:l}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var u,d=!0,p=!1;return{s:function(){i=i.call(a)},n:function(){var m=i.next();return d=m.done,m},e:function(m){p=!0,u=m},f:function(){try{d||i.return==null||i.return()}finally{if(p)throw u}}}}function fs(a,s,i){return(s=dT(s))in a?Object.defineProperty(a,s,{value:i,enumerable:!0,configurable:!0,writable:!0}):a[s]=i,a}function Sc(a){return Sc=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(s){return s.__proto__||Object.getPrototypeOf(s)},Sc(a)}function d0(a,s){if(typeof s!="function"&&s!==null)throw new TypeError("Super expression must either be null or a function");a.prototype=Object.create(s&&s.prototype,{constructor:{value:a,writable:!0,configurable:!0}}),Object.defineProperty(a,"prototype",{writable:!1}),s&&om(a,s)}function uT(){try{var a=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(uT=function(){return!!a})()}function h0(a,s){var i=a==null?null:typeof Symbol<"u"&&a[Symbol.iterator]||a["@@iterator"];if(i!=null){var r,l,u,d,p=[],m=!0,f=!1;try{if(u=(i=i.call(a)).next,s!==0)for(;!(m=(r=u.call(i)).done)&&(p.push(r.value),p.length!==s);m=!0);}catch(v){f=!0,l=v}finally{try{if(!m&&i.return!=null&&(d=i.return(),Object(d)!==d))return}finally{if(f)throw l}}return p}}function p0(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function J_(a,s){var i=Object.keys(a);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(a);s&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(a,l).enumerable})),i.push.apply(i,r)}return i}function Ec(a){for(var s=1;s{const d=`__dbk__gutter ${r} ${a||s}`,p=`__dbk__dragger ${r} ${i||s}`;return g.jsx("div",Object.assign({className:d,ref:u,dir:r,onMouseDown:l,onTouchStart:hc?l:void 0},{children:g.jsx("div",{className:p},void 0)}),void 0)}));var vs;function Og(a,s,i){let r,l;return s?(r=a/2,l=a):i?(r=a,l=a/2):(r=a,l=a),{aGutterSize:r,bGutterSize:l}}function HS(a,s){switch(s.type){case vs.SetIsReadyToCompute:return Object.assign(Object.assign({},a),{isReady:s.payload.isReady});case vs.CreatePairs:{const{direction:i,children:r,gutters:l}=s.payload,u=r[0].parentNode;if(!u)throw new Error("Cannot create pairs - parent is undefined.");const d=yc(i,u);if(d===void 0)throw new Error(`Cannot create pairs - parent has undefined or zero size: ${d}.`);const p=[];return r.forEach(((m,f)=>{if(f>0){const v=r[f-1],_=r[f],y=l[f-1],k=i===dt.Horizontal?v.getBoundingClientRect().left:v.getBoundingClientRect().top,C=i===dt.Horizontal?_.getBoundingClientRect().right:_.getBoundingClientRect().bottom,w=i===dt.Horizontal?v.getBoundingClientRect().width+y.getBoundingClientRect().width+_.getBoundingClientRect().width:v.getBoundingClientRect().height+y.getBoundingClientRect().height+_.getBoundingClientRect().height,E=i===dt.Horizontal?y.getBoundingClientRect().width:y.getBoundingClientRect().height,R={idx:f-1,a:v,b:_,gutter:y,parent:u,start:k,end:C,size:w,gutterSize:E,aSizePct:100/r.length,bSizePct:100/r.length};p.push(R)}})),Object.assign(Object.assign({},a),{pairs:p})}case vs.StartDragging:{const{gutterIdx:i}=s.payload;return Object.assign(Object.assign({},a),{isDragging:!0,draggingIdx:i})}case vs.StopDragging:return Object.assign(Object.assign({},a),{isDragging:!1});case vs.CalculateSizes:{const{direction:i,gutterIdx:r}=s.payload,l=a.pairs[r],u=yc(i,l.parent);if(!u)throw new Error("Cannot calculate sizes - 'pair.parent' has undefined or zero size.");const d=l.gutter[i===dt.Horizontal?"clientWidth":"clientHeight"],p=r===0,m=r===a.pairs.length-1,{aGutterSize:f,bGutterSize:v}=Og(d,p,m);let _,y,k,C,w;return i===dt.Horizontal?(_=l.a.getBoundingClientRect().left,y=l.b.getBoundingClientRect().right,C=(l.a.getBoundingClientRect().width+f)/u*100,w=(l.b.getBoundingClientRect().width+v)/u*100,k=l.a.getBoundingClientRect().width+f+v+l.b.getBoundingClientRect().width):(_=l.a.getBoundingClientRect().top,y=l.b.getBoundingClientRect().bottom,C=(l.a.getBoundingClientRect().height+f)/u*100,w=(l.b.getBoundingClientRect().height+v)/u*100,k=l.a.getBoundingClientRect().height+f+v+l.b.getBoundingClientRect().height),a.pairs[r]=Object.assign(Object.assign({},l),{start:_,end:y,size:k,aSizePct:C,bSizePct:w,gutterSize:d}),Object.assign({},a)}default:return a}}function Ww(a,s=0,i=[]){return xk.toArray(a).reduce(((r,l,u)=>(zS.isFragment(l)?r.push.apply(r,Ww(l.props.children,s+1,i.concat(l.key||u))):kw(l)?r.push(kg(l,{key:i.concat(String(l.key)).join(".")})):typeof l!="string"&&typeof l!="number"||r.push(l),r)),[])}(function(a){a[a.SetIsReadyToCompute=0]="SetIsReadyToCompute",a[a.CreatePairs=1]="CreatePairs",a[a.CalculateSizes=2]="CalculateSizes",a[a.StartDragging=3]="StartDragging",a[a.StopDragging=4]="StopDragging"})(vs||(vs={}));const a_=a=>"changedTouches"in a;var dt,Mg;(function(a){a.Horizontal="Horizontal",a.Vertical="Vertical"})(dt||(dt={})),(function(a){a.Light="Light",a.Dark="Dark"})(Mg||(Mg={}));const hc=typeof window<"u"&&"ontouchstart"in window;function Jp(a){return a===dt.Horizontal?"col-resize":"row-resize"}const WS={isReady:!1,isDragging:!1,pairs:[]};function l_({direction:a=dt.Horizontal,minWidths:s=[],minHeights:i=[],initialSizes:r,gutterTheme:l=Mg.Dark,gutterClassName:u,draggerClassName:d,children:p,onResizeStarted:m,onResizeFinished:f,classes:v=[]}){const _=Ww(p),[y,k]=Ik(HS,WS),C=Bo(null),w=Bo([]),E=Bo([]);w.current=[],E.current=[];const R=Y.useCallback((ae=>{k({type:vs.SetIsReadyToCompute,payload:{isReady:ae}})}),[]),D=Y.useCallback(((ae,ce)=>{k({type:vs.StartDragging,payload:{gutterIdx:ce}});const K=y.pairs[ce];m==null||m(K.idx),K.a.style.userSelect="none",K.b.style.userSelect="none",K.gutter.style.cursor=Jp(ae),K.parent.style.cursor=Jp(ae),document.body.style.cursor=Jp(ae)}),[y.pairs]),A=Y.useCallback((()=>{k({type:vs.StopDragging});const ae=[];for(let K=0;K{k({type:vs.CalculateSizes,payload:{direction:ae,gutterIdx:ce}})}),[]),ie=Y.useCallback(((ae,ce,K)=>{k({type:vs.CreatePairs,payload:{direction:ae,children:ce,gutters:K}})}),[]),se=Y.useCallback(((ae,ce,K,ye)=>{const he=ce[0].parentNode;if(!he)throw new Error("Cannot set initial sizes - parent is undefined");if(yc(ae,he)===void 0)throw new Error("Cannot set initial sizes - parent has undefined size");ce.forEach(((je,V)=>{const tt=V===0,q=V===ce.length-1;let ee,B=0;ce.length>1&&(B=K[q?V-1:V].getBoundingClientRect()[ae===dt.Horizontal?"width":"height"],B=tt||q?B/2:B),ee=ye&&V{if(y.draggingIdx===void 0)throw new Error("Cannot adjust size - 'draggingIdx' is undefined");const K=y.pairs[y.draggingIdx];if(K.size===void 0)throw new Error("Cannot adjust size - 'pair.size' is undefined");if(K.gutterSize===void 0)throw new Error("Cannot adjust size - 'pair.gutterSize' is undefined");const ye=K.aSizePct+K.bSizePct,he=ce/K.size*ye,je=ye-ce/K.size*ye,V=y.draggingIdx===0,tt=y.draggingIdx===y.pairs.length-1,{aGutterSize:q,bGutterSize:ee}=Og(K.gutterSize,V,tt),B=`calc(${he}% - ${q}px)`,H=`calc(${je}% - ${ee}px)`;ae===dt.Horizontal?(K.a.style.width=B,K.b.style.width=H):(K.a.style.height=B,K.b.style.height=H)}),[y.draggingIdx,y.pairs,a]),z=Y.useCallback(((ae,ce,K)=>{if(!y.isDragging)return;if(y.draggingIdx===void 0)throw new Error("Cannot drag - 'draggingIdx' is undefined");const ye=y.pairs[y.draggingIdx];if(ye.start===void 0)throw new Error("Cannot drag - 'pair.start' is undefined");if(ye.size===void 0)throw new Error("Cannot drag - 'pair.size' is undefined");if(ye.gutterSize===void 0)throw new Error("Cannot drag - 'pair.gutterSize' is undefined");let he=(function(tt,q){const ee=a_(q)?q.changedTouches[0]:q;return tt===dt.Horizontal?ee.clientX:ee.clientY})(ce,ae)-ye.start,je=16,V=16;K.length>y.draggingIdx&&(je=K[y.draggingIdx]),K.length>=y.draggingIdx+1&&(V=K[y.draggingIdx+1]),he=ye.size-(ye.gutterSize+V)&&(he=ye.size-(ye.gutterSize+V)),me(ce,he)}),[y.isDragging,y.draggingIdx,y.pairs,me]),Oe=()=>{if(y.isDragging){if(y.draggingIdx===void 0)throw new Error("Cannot calculate sizes after dragging = 'state.draggingIdx' is undefined");J(a,y.draggingIdx),A()}},Ne=ae=>{y.isDragging&&(a_(ae)&&ae.preventDefault(),z(ae,a,a===dt.Horizontal?s:i))};function Ze(ae,ce){if(!ae.current)throw new Error("Can't add element to ref object - ref isn't initialized");ce&&!ae.current.includes(ce)&&ae.current.push(ce)}return tc("mouseup",Oe,[y.isDragging,A]),tc("mousemove",Ne,[a,y.isDragging,z,s,i]),tc("touchend",Oe,[y.isDragging,A],{condition:hc}),tc("touchmove",Ne,[a,y.isDragging,z,s,i],{condition:hc,passive:!hc}),Mt((function(){if(!C.current)return;const ae=C.current.parentElement;if(!ae)return;const ce=new ResizeObserver((()=>{const K=getComputedStyle(ae),ye=a===dt.Horizontal?ae.clientWidth:ae.clientHeight;R(!!K&&!!ye)}));return ce.observe(ae),()=>{ce.disconnect()}}),[C.current,a]),Mt((function(){if(y.isReady&&(!w.current||w.current[0].offsetParent)){if(!w.current||!E.current)throw new Error("Cannot create pairs - either variable 'childRefs' or 'gutterRefs' is undefined");_.length<=1?se(a,w.current,E.current,r):(se(a,w.current,E.current,r),ie(a,w.current,E.current))}}),[p,y.isReady,a,se,ie,r]),g.jsx("div",Object.assign({className:`__dbk__container ${a}`,ref:C},{children:y.isReady&&_.map(((ae,ce)=>g.jsxs(Y.Fragment,{children:[g.jsx("div",Object.assign({ref:K=>Ze(w,K),className:"__dbk__child-wrapper "+(ceZe(E,K),className:u,theme:l,draggerClassName:d,direction:a,onDragging:()=>{return J(a,K=ce),void D(a,K);var K}},void 0)]},ce)))}),void 0)}const Gw=rm({dragDropManager:void 0});function Vr(a){"@babel/helpers - typeof";return Vr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(s){return typeof s}:function(s){return s&&typeof Symbol=="function"&&s.constructor===Symbol&&s!==Symbol.prototype?"symbol":typeof s},Vr(a)}function GS(a,s){if(Vr(a)!="object"||!a)return a;var i=a[Symbol.toPrimitive];if(i!==void 0){var r=i.call(a,s);if(Vr(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(s==="string"?String:Number)(a)}function VS(a){var s=GS(a,"string");return Vr(s)=="symbol"?s:s+""}function KS(a,s,i){return(s=VS(s))in a?Object.defineProperty(a,s,{value:i,enumerable:!0,configurable:!0,writable:!0}):a[s]=i,a}function ms(a){return"Minified Redux error #"+a+"; visit https://redux.js.org/Errors?code="+a+" for the full message or use the non-minified dev environment for full errors. "}var c_=(function(){return typeof Symbol=="function"&&Symbol.observable||"@@observable"})(),u_=function(){return Math.random().toString(36).substring(7).split("").join(".")},d_={INIT:"@@redux/INIT"+u_(),REPLACE:"@@redux/REPLACE"+u_()};function YS(a){if(typeof a!="object"||a===null)return!1;for(var s=a;Object.getPrototypeOf(s)!==null;)s=Object.getPrototypeOf(s);return Object.getPrototypeOf(a)===s}function Vw(a,s,i){var r;if(typeof s=="function"&&typeof i=="function"||typeof i=="function"&&typeof arguments[3]=="function")throw new Error(ms(0));if(typeof s=="function"&&typeof i>"u"&&(i=s,s=void 0),typeof i<"u"){if(typeof i!="function")throw new Error(ms(1));return i(Vw)(a,s)}if(typeof a!="function")throw new Error(ms(2));var l=a,u=s,d=[],p=d,m=!1;function f(){p===d&&(p=d.slice())}function v(){if(m)throw new Error(ms(3));return u}function _(w){if(typeof w!="function")throw new Error(ms(4));if(m)throw new Error(ms(5));var E=!0;return f(),p.push(w),function(){if(E){if(m)throw new Error(ms(6));E=!1,f();var D=p.indexOf(w);p.splice(D,1),d=null}}}function y(w){if(!YS(w))throw new Error(ms(7));if(typeof w.type>"u")throw new Error(ms(8));if(m)throw new Error(ms(9));try{m=!0,u=l(u,w)}finally{m=!1}for(var E=d=p,R=0;Rr&&r[l]?r[l]:i||null,a)}function XS(a,s){return a.filter(i=>i!==s)}function Kw(a){return typeof a=="object"}function ZS(a,s){const i=new Map,r=u=>{i.set(u,i.has(u)?i.get(u)+1:1)};a.forEach(r),s.forEach(r);const l=[];return i.forEach((u,d)=>{u===1&&l.push(d)}),l}function QS(a,s){return a.filter(i=>s.indexOf(i)>-1)}const dm="dnd-core/INIT_COORDS",Kc="dnd-core/BEGIN_DRAG",hm="dnd-core/PUBLISH_DRAG_SOURCE",Yc="dnd-core/HOVER",Jc="dnd-core/DROP",qc="dnd-core/END_DRAG";function h_(a,s){return{type:dm,payload:{sourceClientOffset:s||null,clientOffset:a||null}}}const eE={type:dm,payload:{clientOffset:null,sourceClientOffset:null}};function tE(a){return function(i=[],r={publishSource:!0}){const{publishSource:l=!0,clientOffset:u,getSourceClientOffset:d}=r,p=a.getMonitor(),m=a.getRegistry();a.dispatch(h_(u)),sE(i,p,m);const f=nE(i,p);if(f==null){a.dispatch(eE);return}let v=null;if(u){if(!d)throw new Error("getSourceClientOffset must be defined");oE(d),v=d(f)}a.dispatch(h_(u,v));const y=m.getSource(f).beginDrag(p,f);if(y==null)return;iE(y),m.pinSource(f);const k=m.getSourceType(f);return{type:Kc,payload:{itemType:k,item:y,sourceId:f,clientOffset:u||null,sourceClientOffset:v||null,isSourcePublic:!!l}}}}function sE(a,s,i){Ie(!s.isDragging(),"Cannot call beginDrag while dragging."),a.forEach(function(r){Ie(i.getSource(r),"Expected sourceIds to be registered.")})}function oE(a){Ie(typeof a=="function","When clientOffset is provided, getSourceClientOffset must be a function.")}function iE(a){Ie(Kw(a),"Item must be an object.")}function nE(a,s){let i=null;for(let r=a.length-1;r>=0;r--)if(s.canDragSource(a[r])){i=a[r];break}return i}function rE(a,s,i){return s in a?Object.defineProperty(a,s,{value:i,enumerable:!0,configurable:!0,writable:!0}):a[s]=i,a}function aE(a){for(var s=1;s{const m=uE(d,p,l,r),f={type:Jc,payload:{dropResult:aE({},i,m)}};a.dispatch(f)})}}function cE(a){Ie(a.isDragging(),"Cannot call drop while not dragging."),Ie(!a.didDrop(),"Cannot call drop twice during one drag operation.")}function uE(a,s,i,r){const l=i.getTarget(a);let u=l?l.drop(r,a):void 0;return dE(u),typeof u>"u"&&(u=s===0?{}:r.getDropResult()),u}function dE(a){Ie(typeof a>"u"||Kw(a),"Drop result must either be an object or undefined.")}function hE(a){const s=a.getTargetIds().filter(a.canDropOnTarget,a);return s.reverse(),s}function pE(a){return function(){const i=a.getMonitor(),r=a.getRegistry();gE(i);const l=i.getSourceId();return l!=null&&(r.getSource(l,!0).endDrag(i,l),r.unpinSource()),{type:qc}}}function gE(a){Ie(a.isDragging(),"Cannot call endDrag while not dragging.")}function Ng(a,s){return s===null?a===null:Array.isArray(a)?a.some(i=>i===s):a===s}function mE(a){return function(i,{clientOffset:r}={}){fE(i);const l=i.slice(0),u=a.getMonitor(),d=a.getRegistry(),p=u.getItemType();return bE(l,d,p),$E(l,u,d),vE(l,u,d),{type:Yc,payload:{targetIds:l,clientOffset:r||null}}}}function fE(a){Ie(Array.isArray(a),"Expected targetIds to be an array.")}function $E(a,s,i){Ie(s.isDragging(),"Cannot call hover while not dragging."),Ie(!s.didDrop(),"Cannot call hover after drop.");for(let r=0;r=0;r--){const l=a[r],u=s.getTargetType(l);Ng(u,i)||a.splice(r,1)}}function vE(a,s,i){a.forEach(function(r){i.getTarget(r).hover(s,r)})}function yE(a){return function(){if(a.getMonitor().isDragging())return{type:hm}}}function _E(a){return{beginDrag:tE(a),publishDragSource:yE(a),hover:mE(a),drop:lE(a),endDrag:pE(a)}}class wE{receiveBackend(s){this.backend=s}getMonitor(){return this.monitor}getBackend(){return this.backend}getRegistry(){return this.monitor.registry}getActions(){const s=this,{dispatch:i}=this.store;function r(u){return(...d)=>{const p=u.apply(s,d);typeof p<"u"&&i(p)}}const l=_E(this);return Object.keys(l).reduce((u,d)=>{const p=l[d];return u[d]=r(p),u},{})}dispatch(s){this.store.dispatch(s)}constructor(s,i){this.isSetUp=!1,this.handleRefCountChange=()=>{const r=this.store.getState().refCount>0;this.backend&&(r&&!this.isSetUp?(this.backend.setup(),this.isSetUp=!0):!r&&this.isSetUp&&(this.backend.teardown(),this.isSetUp=!1))},this.store=s,this.monitor=i,s.subscribe(this.handleRefCountChange)}}function CE(a,s){return{x:a.x+s.x,y:a.y+s.y}}function Yw(a,s){return{x:a.x-s.x,y:a.y-s.y}}function TE(a){const{clientOffset:s,initialClientOffset:i,initialSourceClientOffset:r}=a;return!s||!i||!r?null:Yw(CE(s,r),i)}function kE(a){const{clientOffset:s,initialClientOffset:i}=a;return!s||!i?null:Yw(s,i)}const Fr=[],pm=[];Fr.__IS_NONE__=!0;pm.__IS_ALL__=!0;function SE(a,s){return a===Fr?!1:a===pm||typeof s>"u"?!0:QS(s,a).length>0}class EE{subscribeToStateChange(s,i={}){const{handlerIds:r}=i;Ie(typeof s=="function","listener must be a function."),Ie(typeof r>"u"||Array.isArray(r),"handlerIds, when specified, must be an array of strings.");let l=this.store.getState().stateId;const u=()=>{const d=this.store.getState(),p=d.stateId;try{p===l||p===l+1&&!SE(d.dirtyHandlerIds,r)||s()}finally{l=p}};return this.store.subscribe(u)}subscribeToOffsetChange(s){Ie(typeof s=="function","listener must be a function.");let i=this.store.getState().dragOffset;const r=()=>{const l=this.store.getState().dragOffset;l!==i&&(i=l,s())};return this.store.subscribe(r)}canDragSource(s){if(!s)return!1;const i=this.registry.getSource(s);return Ie(i,`Expected to find a valid source. sourceId=${s}`),this.isDragging()?!1:i.canDrag(this,s)}canDropOnTarget(s){if(!s)return!1;const i=this.registry.getTarget(s);if(Ie(i,`Expected to find a valid target. targetId=${s}`),!this.isDragging()||this.didDrop())return!1;const r=this.registry.getTargetType(s),l=this.getItemType();return Ng(r,l)&&i.canDrop(this,s)}isDragging(){return!!this.getItemType()}isDraggingSource(s){if(!s)return!1;const i=this.registry.getSource(s,!0);if(Ie(i,`Expected to find a valid source. sourceId=${s}`),!this.isDragging()||!this.isSourcePublic())return!1;const r=this.registry.getSourceType(s),l=this.getItemType();return r!==l?!1:i.isDragging(this,s)}isOverTarget(s,i={shallow:!1}){if(!s)return!1;const{shallow:r}=i;if(!this.isDragging())return!1;const l=this.registry.getTargetType(s),u=this.getItemType();if(u&&!Ng(l,u))return!1;const d=this.getTargetIds();if(!d.length)return!1;const p=d.indexOf(s);return r?p===d.length-1:p>-1}getItemType(){return this.store.getState().dragOperation.itemType}getItem(){return this.store.getState().dragOperation.item}getSourceId(){return this.store.getState().dragOperation.sourceId}getTargetIds(){return this.store.getState().dragOperation.targetIds}getDropResult(){return this.store.getState().dragOperation.dropResult}didDrop(){return this.store.getState().dragOperation.didDrop}isSourcePublic(){return!!this.store.getState().dragOperation.isSourcePublic}getInitialClientOffset(){return this.store.getState().dragOffset.initialClientOffset}getInitialSourceClientOffset(){return this.store.getState().dragOffset.initialSourceClientOffset}getClientOffset(){return this.store.getState().dragOffset.clientOffset}getSourceClientOffset(){return TE(this.store.getState().dragOffset)}getDifferenceFromInitialOffset(){return kE(this.store.getState().dragOffset)}constructor(s,i){this.store=s,this.registry=i}}const p_=typeof global<"u"?global:self,Jw=p_.MutationObserver||p_.WebKitMutationObserver;function qw(a){return function(){const i=setTimeout(l,0),r=setInterval(l,50);function l(){clearTimeout(i),clearInterval(r),a()}}}function IE(a){let s=1;const i=new Jw(a),r=document.createTextNode("");return i.observe(r,{characterData:!0}),function(){s=-s,r.data=s}}const xE=typeof Jw=="function"?IE:qw;class DE{enqueueTask(s){const{queue:i,requestFlush:r}=this;i.length||(r(),this.flushing=!0),i[i.length]=s}constructor(){this.queue=[],this.pendingErrors=[],this.flushing=!1,this.index=0,this.capacity=1024,this.flush=()=>{const{queue:s}=this;for(;this.indexthis.capacity){for(let r=0,l=s.length-this.index;r{this.pendingErrors.push(s),this.requestErrorThrow()},this.requestFlush=xE(this.flush),this.requestErrorThrow=qw(()=>{if(this.pendingErrors.length)throw this.pendingErrors.shift()})}}class AE{call(){try{this.task&&this.task()}catch(s){this.onError(s)}finally{this.task=null,this.release(this)}}constructor(s,i){this.onError=s,this.release=i,this.task=null}}class RE{create(s){const i=this.freeTasks,r=i.length?i.pop():new AE(this.onError,l=>i[i.length]=l);return r.task=s,r}constructor(s){this.onError=s,this.freeTasks=[]}}const Xw=new DE,OE=new RE(Xw.registerPendingError);function ME(a){Xw.enqueueTask(OE.create(a))}const gm="dnd-core/ADD_SOURCE",mm="dnd-core/ADD_TARGET",fm="dnd-core/REMOVE_SOURCE",Xc="dnd-core/REMOVE_TARGET";function NE(a){return{type:gm,payload:{sourceId:a}}}function LE(a){return{type:mm,payload:{targetId:a}}}function PE(a){return{type:fm,payload:{sourceId:a}}}function BE(a){return{type:Xc,payload:{targetId:a}}}function jE(a){Ie(typeof a.canDrag=="function","Expected canDrag to be a function."),Ie(typeof a.beginDrag=="function","Expected beginDrag to be a function."),Ie(typeof a.endDrag=="function","Expected endDrag to be a function.")}function FE(a){Ie(typeof a.canDrop=="function","Expected canDrop to be a function."),Ie(typeof a.hover=="function","Expected hover to be a function."),Ie(typeof a.drop=="function","Expected beginDrag to be a function.")}function Lg(a,s){if(s&&Array.isArray(a)){a.forEach(i=>Lg(i,!1));return}Ie(typeof a=="string"||typeof a=="symbol",s?"Type can only be a string, a symbol, or an array of either.":"Type can only be a string or a symbol.")}var bs;(function(a){a.SOURCE="SOURCE",a.TARGET="TARGET"})(bs||(bs={}));let zE=0;function UE(){return zE++}function HE(a){const s=UE().toString();switch(a){case bs.SOURCE:return`S${s}`;case bs.TARGET:return`T${s}`;default:throw new Error(`Unknown Handler Role: ${a}`)}}function g_(a){switch(a[0]){case"S":return bs.SOURCE;case"T":return bs.TARGET;default:throw new Error(`Cannot parse handler ID: ${a}`)}}function m_(a,s){const i=a.entries();let r=!1;do{const{done:l,value:[,u]}=i.next();if(u===s)return!0;r=!!l}while(!r);return!1}class WE{addSource(s,i){Lg(s),jE(i);const r=this.addHandler(bs.SOURCE,s,i);return this.store.dispatch(NE(r)),r}addTarget(s,i){Lg(s,!0),FE(i);const r=this.addHandler(bs.TARGET,s,i);return this.store.dispatch(LE(r)),r}containsHandler(s){return m_(this.dragSources,s)||m_(this.dropTargets,s)}getSource(s,i=!1){return Ie(this.isSourceId(s),"Expected a valid source ID."),i&&s===this.pinnedSourceId?this.pinnedSource:this.dragSources.get(s)}getTarget(s){return Ie(this.isTargetId(s),"Expected a valid target ID."),this.dropTargets.get(s)}getSourceType(s){return Ie(this.isSourceId(s),"Expected a valid source ID."),this.types.get(s)}getTargetType(s){return Ie(this.isTargetId(s),"Expected a valid target ID."),this.types.get(s)}isSourceId(s){return g_(s)===bs.SOURCE}isTargetId(s){return g_(s)===bs.TARGET}removeSource(s){Ie(this.getSource(s),"Expected an existing source."),this.store.dispatch(PE(s)),ME(()=>{this.dragSources.delete(s),this.types.delete(s)})}removeTarget(s){Ie(this.getTarget(s),"Expected an existing target."),this.store.dispatch(BE(s)),this.dropTargets.delete(s),this.types.delete(s)}pinSource(s){const i=this.getSource(s);Ie(i,"Expected an existing source."),this.pinnedSourceId=s,this.pinnedSource=i}unpinSource(){Ie(this.pinnedSource,"No source is pinned at the time."),this.pinnedSourceId=null,this.pinnedSource=null}addHandler(s,i,r){const l=HE(s);return this.types.set(l,i),s===bs.SOURCE?this.dragSources.set(l,r):s===bs.TARGET&&this.dropTargets.set(l,r),l}constructor(s){this.types=new Map,this.dragSources=new Map,this.dropTargets=new Map,this.pinnedSourceId=null,this.pinnedSource=null,this.store=s}}const GE=(a,s)=>a===s;function VE(a,s){return!a&&!s?!0:!a||!s?!1:a.x===s.x&&a.y===s.y}function KE(a,s,i=GE){if(a.length!==s.length)return!1;for(let r=0;r0||!KE(i,r)))return Fr;const d=r[r.length-1],p=i[i.length-1];return d!==p&&(d&&l.push(d),p&&l.push(p)),l}function JE(a,s,i){return s in a?Object.defineProperty(a,s,{value:i,enumerable:!0,configurable:!0,writable:!0}):a[s]=i,a}function qE(a){for(var s=1;s=0)&&Object.prototype.propertyIsEnumerable.call(a,r)&&(i[r]=a[r])}return i}function cI(a,s){if(a==null)return{};var i={},r=Object.keys(a),l,u;for(u=0;u=0)&&(i[l]=a[l]);return i}let $_=0;const pc=Symbol.for("__REACT_DND_CONTEXT_INSTANCE__");var Zw=am(function(s){var{children:i}=s,r=lI(s,["children"]);const[l,u]=uI(r);return Mt(()=>{if(u){const d=Qw();return++$_,()=>{--$_===0&&(d[pc]=null)}}},[]),g.jsx(Gw.Provider,{value:l,children:i})});function uI(a){if("manager"in a)return[{dragDropManager:a.manager},!1];const s=dI(a.backend,a.context,a.options,a.debugMode),i=!a.context;return[s,i]}function dI(a,s=Qw(),i,r){const l=s;return l[pc]||(l[pc]={dragDropManager:rI(a,s,i,r)}),l[pc]}function Qw(){return typeof global<"u"?global:window}var hI=function a(s,i){if(s===i)return!0;if(s&&i&&typeof s=="object"&&typeof i=="object"){if(s.constructor!==i.constructor)return!1;var r,l,u;if(Array.isArray(s)){if(r=s.length,r!=i.length)return!1;for(l=r;l--!==0;)if(!a(s[l],i[l]))return!1;return!0}if(s.constructor===RegExp)return s.source===i.source&&s.flags===i.flags;if(s.valueOf!==Object.prototype.valueOf)return s.valueOf()===i.valueOf();if(s.toString!==Object.prototype.toString)return s.toString()===i.toString();if(u=Object.keys(s),r=u.length,r!==Object.keys(i).length)return!1;for(l=r;l--!==0;)if(!Object.prototype.hasOwnProperty.call(i,u[l]))return!1;for(l=r;l--!==0;){var d=u[l];if(!a(s[d],i[d]))return!1}return!0}return s!==s&&i!==i};const pI=Si(hI),Ci=typeof window<"u"?lm:Mt;function gI(a,s,i){const[r,l]=vt(()=>s(a)),u=_n(()=>{const d=s(a);pI(r,d)||(l(d),i&&i())},[r,a,i]);return Ci(u),[r,u]}function mI(a,s,i){const[r,l]=gI(a,s,i);return Ci(function(){const d=a.getHandlerId();if(d!=null)return a.subscribeToStateChange(l,{handlerIds:[d]})},[a,l]),r}function eC(a,s,i){return mI(s,a||(()=>({})),()=>i.reconnect())}function tC(a,s){const i=[];return typeof a!="function"&&i.push(a),rs(()=>typeof a=="function"?a():a,i)}function fI(a){return rs(()=>a.hooks.dragSource(),[a])}function $I(a){return rs(()=>a.hooks.dragPreview(),[a])}let qp=!1,Xp=!1;class bI{receiveHandlerId(s){this.sourceId=s}getHandlerId(){return this.sourceId}canDrag(){Ie(!qp,"You may not call monitor.canDrag() inside your canDrag() implementation. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source-monitor");try{return qp=!0,this.internalMonitor.canDragSource(this.sourceId)}finally{qp=!1}}isDragging(){if(!this.sourceId)return!1;Ie(!Xp,"You may not call monitor.isDragging() inside your isDragging() implementation. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source-monitor");try{return Xp=!0,this.internalMonitor.isDraggingSource(this.sourceId)}finally{Xp=!1}}subscribeToStateChange(s,i){return this.internalMonitor.subscribeToStateChange(s,i)}isDraggingSource(s){return this.internalMonitor.isDraggingSource(s)}isOverTarget(s,i){return this.internalMonitor.isOverTarget(s,i)}getTargetIds(){return this.internalMonitor.getTargetIds()}isSourcePublic(){return this.internalMonitor.isSourcePublic()}getSourceId(){return this.internalMonitor.getSourceId()}subscribeToOffsetChange(s){return this.internalMonitor.subscribeToOffsetChange(s)}canDragSource(s){return this.internalMonitor.canDragSource(s)}canDropOnTarget(s){return this.internalMonitor.canDropOnTarget(s)}getItemType(){return this.internalMonitor.getItemType()}getItem(){return this.internalMonitor.getItem()}getDropResult(){return this.internalMonitor.getDropResult()}didDrop(){return this.internalMonitor.didDrop()}getInitialClientOffset(){return this.internalMonitor.getInitialClientOffset()}getInitialSourceClientOffset(){return this.internalMonitor.getInitialSourceClientOffset()}getSourceClientOffset(){return this.internalMonitor.getSourceClientOffset()}getClientOffset(){return this.internalMonitor.getClientOffset()}getDifferenceFromInitialOffset(){return this.internalMonitor.getDifferenceFromInitialOffset()}constructor(s){this.sourceId=null,this.internalMonitor=s.getMonitor()}}let Zp=!1;class vI{receiveHandlerId(s){this.targetId=s}getHandlerId(){return this.targetId}subscribeToStateChange(s,i){return this.internalMonitor.subscribeToStateChange(s,i)}canDrop(){if(!this.targetId)return!1;Ie(!Zp,"You may not call monitor.canDrop() inside your canDrop() implementation. Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target-monitor");try{return Zp=!0,this.internalMonitor.canDropOnTarget(this.targetId)}finally{Zp=!1}}isOver(s){return this.targetId?this.internalMonitor.isOverTarget(this.targetId,s):!1}getItemType(){return this.internalMonitor.getItemType()}getItem(){return this.internalMonitor.getItem()}getDropResult(){return this.internalMonitor.getDropResult()}didDrop(){return this.internalMonitor.didDrop()}getInitialClientOffset(){return this.internalMonitor.getInitialClientOffset()}getInitialSourceClientOffset(){return this.internalMonitor.getInitialSourceClientOffset()}getSourceClientOffset(){return this.internalMonitor.getSourceClientOffset()}getClientOffset(){return this.internalMonitor.getClientOffset()}getDifferenceFromInitialOffset(){return this.internalMonitor.getDifferenceFromInitialOffset()}constructor(s){this.targetId=null,this.internalMonitor=s.getMonitor()}}function yI(a,s,i){const r=i.getRegistry(),l=r.addTarget(a,s);return[l,()=>r.removeTarget(l)]}function _I(a,s,i){const r=i.getRegistry(),l=r.addSource(a,s);return[l,()=>r.removeSource(l)]}function Pg(a,s,i,r){let l;if(l!==void 0)return!!l;if(a===s)return!0;if(typeof a!="object"||!a||typeof s!="object"||!s)return!1;const u=Object.keys(a),d=Object.keys(s);if(u.length!==d.length)return!1;const p=Object.prototype.hasOwnProperty.bind(s);for(let m=0;m, or turn it into a drag source or a drop target itself.`)}function CI(a){return(s=null,i=null)=>{if(!kw(s)){const u=s;return a(u,i),u}const r=s;return wI(r),TI(r,i?u=>a(u,i):a)}}function sC(a){const s={};return Object.keys(a).forEach(i=>{const r=a[i];if(i.endsWith("Ref"))s[i]=a[i];else{const l=CI(r);s[i]=()=>l}}),s}function b_(a,s){typeof a=="function"?a(s):a.current=s}function TI(a,s){const i=a.ref;return Ie(typeof i!="string","Cannot connect React DnD to an element with an existing string ref. Please convert it to use a callback ref instead, or wrap it into a or
. Read more: https://reactjs.org/docs/refs-and-the-dom.html#callback-refs"),i?kg(a,{ref:r=>{b_(i,r),b_(s,r)}}):kg(a,{ref:s})}class kI{receiveHandlerId(s){this.handlerId!==s&&(this.handlerId=s,this.reconnect())}get connectTarget(){return this.dragSource}get dragSourceOptions(){return this.dragSourceOptionsInternal}set dragSourceOptions(s){this.dragSourceOptionsInternal=s}get dragPreviewOptions(){return this.dragPreviewOptionsInternal}set dragPreviewOptions(s){this.dragPreviewOptionsInternal=s}reconnect(){const s=this.reconnectDragSource();this.reconnectDragPreview(s)}reconnectDragSource(){const s=this.dragSource,i=this.didHandlerIdChange()||this.didConnectedDragSourceChange()||this.didDragSourceOptionsChange();return i&&this.disconnectDragSource(),this.handlerId?s?(i&&(this.lastConnectedHandlerId=this.handlerId,this.lastConnectedDragSource=s,this.lastConnectedDragSourceOptions=this.dragSourceOptions,this.dragSourceUnsubscribe=this.backend.connectDragSource(this.handlerId,s,this.dragSourceOptions)),i):(this.lastConnectedDragSource=s,i):i}reconnectDragPreview(s=!1){const i=this.dragPreview,r=s||this.didHandlerIdChange()||this.didConnectedDragPreviewChange()||this.didDragPreviewOptionsChange();if(r&&this.disconnectDragPreview(),!!this.handlerId){if(!i){this.lastConnectedDragPreview=i;return}r&&(this.lastConnectedHandlerId=this.handlerId,this.lastConnectedDragPreview=i,this.lastConnectedDragPreviewOptions=this.dragPreviewOptions,this.dragPreviewUnsubscribe=this.backend.connectDragPreview(this.handlerId,i,this.dragPreviewOptions))}}didHandlerIdChange(){return this.lastConnectedHandlerId!==this.handlerId}didConnectedDragSourceChange(){return this.lastConnectedDragSource!==this.dragSource}didConnectedDragPreviewChange(){return this.lastConnectedDragPreview!==this.dragPreview}didDragSourceOptionsChange(){return!Pg(this.lastConnectedDragSourceOptions,this.dragSourceOptions)}didDragPreviewOptionsChange(){return!Pg(this.lastConnectedDragPreviewOptions,this.dragPreviewOptions)}disconnectDragSource(){this.dragSourceUnsubscribe&&(this.dragSourceUnsubscribe(),this.dragSourceUnsubscribe=void 0)}disconnectDragPreview(){this.dragPreviewUnsubscribe&&(this.dragPreviewUnsubscribe(),this.dragPreviewUnsubscribe=void 0,this.dragPreviewNode=null,this.dragPreviewRef=null)}get dragSource(){return this.dragSourceNode||this.dragSourceRef&&this.dragSourceRef.current}get dragPreview(){return this.dragPreviewNode||this.dragPreviewRef&&this.dragPreviewRef.current}clearDragSource(){this.dragSourceNode=null,this.dragSourceRef=null}clearDragPreview(){this.dragPreviewNode=null,this.dragPreviewRef=null}constructor(s){this.hooks=sC({dragSource:(i,r)=>{this.clearDragSource(),this.dragSourceOptions=r||null,Bg(i)?this.dragSourceRef=i:this.dragSourceNode=i,this.reconnectDragSource()},dragPreview:(i,r)=>{this.clearDragPreview(),this.dragPreviewOptions=r||null,Bg(i)?this.dragPreviewRef=i:this.dragPreviewNode=i,this.reconnectDragPreview()}}),this.handlerId=null,this.dragSourceRef=null,this.dragSourceOptionsInternal=null,this.dragPreviewRef=null,this.dragPreviewOptionsInternal=null,this.lastConnectedHandlerId=null,this.lastConnectedDragSource=null,this.lastConnectedDragSourceOptions=null,this.lastConnectedDragPreview=null,this.lastConnectedDragPreviewOptions=null,this.backend=s}}class SI{get connectTarget(){return this.dropTarget}reconnect(){const s=this.didHandlerIdChange()||this.didDropTargetChange()||this.didOptionsChange();s&&this.disconnectDropTarget();const i=this.dropTarget;if(this.handlerId){if(!i){this.lastConnectedDropTarget=i;return}s&&(this.lastConnectedHandlerId=this.handlerId,this.lastConnectedDropTarget=i,this.lastConnectedDropTargetOptions=this.dropTargetOptions,this.unsubscribeDropTarget=this.backend.connectDropTarget(this.handlerId,i,this.dropTargetOptions))}}receiveHandlerId(s){s!==this.handlerId&&(this.handlerId=s,this.reconnect())}get dropTargetOptions(){return this.dropTargetOptionsInternal}set dropTargetOptions(s){this.dropTargetOptionsInternal=s}didHandlerIdChange(){return this.lastConnectedHandlerId!==this.handlerId}didDropTargetChange(){return this.lastConnectedDropTarget!==this.dropTarget}didOptionsChange(){return!Pg(this.lastConnectedDropTargetOptions,this.dropTargetOptions)}disconnectDropTarget(){this.unsubscribeDropTarget&&(this.unsubscribeDropTarget(),this.unsubscribeDropTarget=void 0)}get dropTarget(){return this.dropTargetNode||this.dropTargetRef&&this.dropTargetRef.current}clearDropTarget(){this.dropTargetRef=null,this.dropTargetNode=null}constructor(s){this.hooks=sC({dropTarget:(i,r)=>{this.clearDropTarget(),this.dropTargetOptions=r,Bg(i)?this.dropTargetRef=i:this.dropTargetNode=i,this.reconnect()}}),this.handlerId=null,this.dropTargetRef=null,this.dropTargetOptionsInternal=null,this.lastConnectedHandlerId=null,this.lastConnectedDropTarget=null,this.lastConnectedDropTargetOptions=null,this.backend=s}}function Mn(){const{dragDropManager:a}=Xr(Gw);return Ie(a!=null,"Expected drag drop context"),a}function EI(a,s){const i=Mn(),r=rs(()=>new kI(i.getBackend()),[i]);return Ci(()=>(r.dragSourceOptions=a||null,r.reconnect(),()=>r.disconnectDragSource()),[r,a]),Ci(()=>(r.dragPreviewOptions=s||null,r.reconnect(),()=>r.disconnectDragPreview()),[r,s]),r}function II(){const a=Mn();return rs(()=>new bI(a),[a])}class xI{beginDrag(){const s=this.spec,i=this.monitor;let r=null;return typeof s.item=="object"?r=s.item:typeof s.item=="function"?r=s.item(i):r={},r??null}canDrag(){const s=this.spec,i=this.monitor;return typeof s.canDrag=="boolean"?s.canDrag:typeof s.canDrag=="function"?s.canDrag(i):!0}isDragging(s,i){const r=this.spec,l=this.monitor,{isDragging:u}=r;return u?u(l):i===s.getSourceId()}endDrag(){const s=this.spec,i=this.monitor,r=this.connector,{end:l}=s;l&&l(i.getItem(),i),r.reconnect()}constructor(s,i,r){this.spec=s,this.monitor=i,this.connector=r}}function DI(a,s,i){const r=rs(()=>new xI(a,s,i),[s,i]);return Mt(()=>{r.spec=a},[a]),r}function AI(a){return rs(()=>{const s=a.type;return Ie(s!=null,"spec.type must be defined"),s},[a])}function RI(a,s,i){const r=Mn(),l=DI(a,s,i),u=AI(a);Ci(function(){if(u!=null){const[p,m]=_I(u,l,r);return s.receiveHandlerId(p),i.receiveHandlerId(p),m}},[r,s,i,l,u])}function OI(a,s){const i=tC(a);Ie(!i.begin,"useDrag::spec.begin was deprecated in v14. Replace spec.begin() with spec.item(). (see more here - https://react-dnd.github.io/react-dnd/docs/api/use-drag)");const r=II(),l=EI(i.options,i.previewOptions);return RI(i,r,l),[eC(i.collect,r,l),fI(l),$I(l)]}function MI(a){return rs(()=>a.hooks.dropTarget(),[a])}function NI(a){const s=Mn(),i=rs(()=>new SI(s.getBackend()),[s]);return Ci(()=>(i.dropTargetOptions=a||null,i.reconnect(),()=>i.disconnectDropTarget()),[a]),i}function LI(){const a=Mn();return rs(()=>new vI(a),[a])}function PI(a){const{accept:s}=a;return rs(()=>(Ie(a.accept!=null,"accept must be defined"),Array.isArray(s)?s:[s]),[s])}class BI{canDrop(){const s=this.spec,i=this.monitor;return s.canDrop?s.canDrop(i.getItem(),i):!0}hover(){const s=this.spec,i=this.monitor;s.hover&&s.hover(i.getItem(),i)}drop(){const s=this.spec,i=this.monitor;if(s.drop)return s.drop(i.getItem(),i)}constructor(s,i){this.spec=s,this.monitor=i}}function jI(a,s){const i=rs(()=>new BI(a,s),[s]);return Mt(()=>{i.spec=a},[a]),i}function FI(a,s,i){const r=Mn(),l=jI(a,s),u=PI(a);Ci(function(){const[p,m]=yI(u,l,r);return s.receiveHandlerId(p),i.receiveHandlerId(p),m},[r,s,l,i,u.map(d=>d.toString()).join("|")])}function zI(a,s){const i=tC(a),r=LI(),l=NI(i.options);return FI(i,r,l),[eC(i.collect,r,l),MI(l)]}function oC(a){let s=null;return()=>(s==null&&(s=a()),s)}function UI(a,s){return a.filter(i=>i!==s)}function HI(a,s){const i=new Set,r=u=>i.add(u);a.forEach(r),s.forEach(r);const l=[];return i.forEach(u=>l.push(u)),l}class WI{enter(s){const i=this.entered.length,r=l=>this.isNodeInDocument(l)&&(!l.contains||l.contains(s));return this.entered=HI(this.entered.filter(r),[s]),i===0&&this.entered.length>0}leave(s){const i=this.entered.length;return this.entered=UI(this.entered.filter(this.isNodeInDocument),s),i>0&&this.entered.length===0}reset(){this.entered=[]}constructor(s){this.entered=[],this.isNodeInDocument=s}}class GI{initializeExposedProperties(){Object.keys(this.config.exposeProperties).forEach(s=>{Object.defineProperty(this.item,s,{configurable:!0,enumerable:!0,get(){return console.warn(`Browser doesn't allow reading "${s}" until the drop event.`),null}})})}loadDataTransfer(s){if(s){const i={};Object.keys(this.config.exposeProperties).forEach(r=>{const l=this.config.exposeProperties[r];l!=null&&(i[r]={value:l(s,this.config.matchesTypes),configurable:!0,enumerable:!0})}),Object.defineProperties(this.item,i)}}canDrag(){return!0}beginDrag(){return this.item}isDragging(s,i){return i===s.getSourceId()}endDrag(){}constructor(s){this.config=s,this.item={},this.initializeExposedProperties()}}const iC="__NATIVE_FILE__",nC="__NATIVE_URL__",rC="__NATIVE_TEXT__",aC="__NATIVE_HTML__",v_=Object.freeze(Object.defineProperty({__proto__:null,FILE:iC,HTML:aC,TEXT:rC,URL:nC},Symbol.toStringTag,{value:"Module"}));function Qp(a,s,i){const r=s.reduce((l,u)=>l||a.getData(u),"");return r??i}const jg={[iC]:{exposeProperties:{files:a=>Array.prototype.slice.call(a.files),items:a=>a.items,dataTransfer:a=>a},matchesTypes:["Files"]},[aC]:{exposeProperties:{html:(a,s)=>Qp(a,s,""),dataTransfer:a=>a},matchesTypes:["Html","text/html"]},[nC]:{exposeProperties:{urls:(a,s)=>Qp(a,s,"").split(` +`),dataTransfer:a=>a},matchesTypes:["Url","text/uri-list"]},[rC]:{exposeProperties:{text:(a,s)=>Qp(a,s,""),dataTransfer:a=>a},matchesTypes:["Text","text/plain"]}};function VI(a,s){const i=jg[a];if(!i)throw new Error(`native type ${a} has no configuration`);const r=new GI(i);return r.loadDataTransfer(s),r}function eg(a){if(!a)return null;const s=Array.prototype.slice.call(a.types||[]);return Object.keys(jg).filter(i=>{const r=jg[i];return r!=null&&r.matchesTypes?r.matchesTypes.some(l=>s.indexOf(l)>-1):!1})[0]||null}const KI=oC(()=>/firefox/i.test(navigator.userAgent)),lC=oC(()=>!!window.safari);class y_{interpolate(s){const{xs:i,ys:r,c1s:l,c2s:u,c3s:d}=this;let p=i.length-1;if(s===i[p])return r[p];let m=0,f=d.length-1,v;for(;m<=f;){v=Math.floor(.5*(m+f));const k=i[v];if(ks)f=v-1;else return r[v]}p=Math.max(0,f);const _=s-i[p],y=_*_;return r[p]+l[p]*_+u[p]*y+d[p]*_*y}constructor(s,i){const{length:r}=s,l=[];for(let k=0;ks[k]{let se=new y_([0,.5,1],[m.y,m.y/v*C,m.y+C-v]).interpolate(y);return lC()&&u&&(se+=(window.devicePixelRatio-1)*C),se},E=()=>new y_([0,.5,1],[m.x,m.x/f*k,m.x+k-f]).interpolate(_),{offsetX:R,offsetY:D}=l,A=R===0||R,J=D===0||D;return{x:A?R:E(),y:J?D:w()}}let ZI=class{get window(){if(this.globalContext)return this.globalContext;if(typeof window<"u")return window}get document(){var s;return!((s=this.globalContext)===null||s===void 0)&&s.document?this.globalContext.document:this.window?this.window.document:void 0}get rootElement(){var s;return((s=this.optionsArgs)===null||s===void 0?void 0:s.rootElement)||this.window}constructor(s,i){this.ownerDocument=null,this.globalContext=s,this.optionsArgs=i}};function QI(a,s,i){return s in a?Object.defineProperty(a,s,{value:i,enumerable:!0,configurable:!0,writable:!0}):a[s]=i,a}function __(a){for(var s=1;s{this.sourcePreviewNodes.delete(s),this.sourcePreviewNodeOptions.delete(s)}}connectDragSource(s,i,r){this.sourceNodes.set(s,i),this.sourceNodeOptions.set(s,r);const l=d=>this.handleDragStart(d,s),u=d=>this.handleSelectStart(d);return i.setAttribute("draggable","true"),i.addEventListener("dragstart",l),i.addEventListener("selectstart",u),()=>{this.sourceNodes.delete(s),this.sourceNodeOptions.delete(s),i.removeEventListener("dragstart",l),i.removeEventListener("selectstart",u),i.setAttribute("draggable","false")}}connectDropTarget(s,i){const r=d=>this.handleDragEnter(d,s),l=d=>this.handleDragOver(d,s),u=d=>this.handleDrop(d,s);return i.addEventListener("dragenter",r),i.addEventListener("dragover",l),i.addEventListener("drop",u),()=>{i.removeEventListener("dragenter",r),i.removeEventListener("dragover",l),i.removeEventListener("drop",u)}}addEventListeners(s){s.addEventListener&&(s.addEventListener("dragstart",this.handleTopDragStart),s.addEventListener("dragstart",this.handleTopDragStartCapture,!0),s.addEventListener("dragend",this.handleTopDragEndCapture,!0),s.addEventListener("dragenter",this.handleTopDragEnter),s.addEventListener("dragenter",this.handleTopDragEnterCapture,!0),s.addEventListener("dragleave",this.handleTopDragLeaveCapture,!0),s.addEventListener("dragover",this.handleTopDragOver),s.addEventListener("dragover",this.handleTopDragOverCapture,!0),s.addEventListener("drop",this.handleTopDrop),s.addEventListener("drop",this.handleTopDropCapture,!0))}removeEventListeners(s){s.removeEventListener&&(s.removeEventListener("dragstart",this.handleTopDragStart),s.removeEventListener("dragstart",this.handleTopDragStartCapture,!0),s.removeEventListener("dragend",this.handleTopDragEndCapture,!0),s.removeEventListener("dragenter",this.handleTopDragEnter),s.removeEventListener("dragenter",this.handleTopDragEnterCapture,!0),s.removeEventListener("dragleave",this.handleTopDragLeaveCapture,!0),s.removeEventListener("dragover",this.handleTopDragOver),s.removeEventListener("dragover",this.handleTopDragOverCapture,!0),s.removeEventListener("drop",this.handleTopDrop),s.removeEventListener("drop",this.handleTopDropCapture,!0))}getCurrentSourceNodeOptions(){const s=this.monitor.getSourceId(),i=this.sourceNodeOptions.get(s);return __({dropEffect:this.altKeyPressed?"copy":"move"},i||{})}getCurrentDropEffect(){return this.isDraggingNativeItem()?"copy":this.getCurrentSourceNodeOptions().dropEffect}getCurrentSourcePreviewNodeOptions(){const s=this.monitor.getSourceId(),i=this.sourcePreviewNodeOptions.get(s);return __({anchorX:.5,anchorY:.5,captureDraggingState:!1},i||{})}isDraggingNativeItem(){const s=this.monitor.getItemType();return Object.keys(v_).some(i=>v_[i]===s)}beginDragNativeItem(s,i){this.clearCurrentDragSourceNode(),this.currentNativeSource=VI(s,i),this.currentNativeHandle=this.registry.addSource(s,this.currentNativeSource),this.actions.beginDrag([this.currentNativeHandle])}setCurrentDragSourceNode(s){this.clearCurrentDragSourceNode(),this.currentDragSourceNode=s;const i=1e3;this.mouseMoveTimeoutTimer=setTimeout(()=>{var r;return(r=this.rootElement)===null||r===void 0?void 0:r.addEventListener("mousemove",this.endDragIfSourceWasRemovedFromDOM,!0)},i)}clearCurrentDragSourceNode(){if(this.currentDragSourceNode){if(this.currentDragSourceNode=null,this.rootElement){var s;(s=this.window)===null||s===void 0||s.clearTimeout(this.mouseMoveTimeoutTimer||void 0),this.rootElement.removeEventListener("mousemove",this.endDragIfSourceWasRemovedFromDOM,!0)}return this.mouseMoveTimeoutTimer=null,!0}return!1}handleDragStart(s,i){s.defaultPrevented||(this.dragStartSourceIds||(this.dragStartSourceIds=[]),this.dragStartSourceIds.unshift(i))}handleDragEnter(s,i){this.dragEnterTargetIds.unshift(i)}handleDragOver(s,i){this.dragOverTargetIds===null&&(this.dragOverTargetIds=[]),this.dragOverTargetIds.unshift(i)}handleDrop(s,i){this.dropTargetIds.unshift(i)}constructor(s,i,r){this.sourcePreviewNodes=new Map,this.sourcePreviewNodeOptions=new Map,this.sourceNodes=new Map,this.sourceNodeOptions=new Map,this.dragStartSourceIds=null,this.dropTargetIds=[],this.dragEnterTargetIds=[],this.currentNativeSource=null,this.currentNativeHandle=null,this.currentDragSourceNode=null,this.altKeyPressed=!1,this.mouseMoveTimeoutTimer=null,this.asyncEndDragFrameId=null,this.dragOverTargetIds=null,this.lastClientOffset=null,this.hoverRafId=null,this.getSourceClientOffset=l=>{const u=this.sourceNodes.get(l);return u&&cC(u)||null},this.endDragNativeItem=()=>{this.isDraggingNativeItem()&&(this.actions.endDrag(),this.currentNativeHandle&&this.registry.removeSource(this.currentNativeHandle),this.currentNativeHandle=null,this.currentNativeSource=null)},this.isNodeInDocument=l=>!!(l&&this.document&&this.document.body&&this.document.body.contains(l)),this.endDragIfSourceWasRemovedFromDOM=()=>{const l=this.currentDragSourceNode;l==null||this.isNodeInDocument(l)||(this.clearCurrentDragSourceNode()&&this.monitor.isDragging()&&this.actions.endDrag(),this.cancelHover())},this.scheduleHover=l=>{this.hoverRafId===null&&typeof requestAnimationFrame<"u"&&(this.hoverRafId=requestAnimationFrame(()=>{this.monitor.isDragging()&&this.actions.hover(l||[],{clientOffset:this.lastClientOffset}),this.hoverRafId=null}))},this.cancelHover=()=>{this.hoverRafId!==null&&typeof cancelAnimationFrame<"u"&&(cancelAnimationFrame(this.hoverRafId),this.hoverRafId=null)},this.handleTopDragStartCapture=()=>{this.clearCurrentDragSourceNode(),this.dragStartSourceIds=[]},this.handleTopDragStart=l=>{if(l.defaultPrevented)return;const{dragStartSourceIds:u}=this;this.dragStartSourceIds=null;const d=sc(l);this.monitor.isDragging()&&(this.actions.endDrag(),this.cancelHover()),this.actions.beginDrag(u||[],{publishSource:!1,getSourceClientOffset:this.getSourceClientOffset,clientOffset:d});const{dataTransfer:p}=l,m=eg(p);if(this.monitor.isDragging()){if(p&&typeof p.setDragImage=="function"){const v=this.monitor.getSourceId(),_=this.sourceNodes.get(v),y=this.sourcePreviewNodes.get(v)||_;if(y){const{anchorX:k,anchorY:C,offsetX:w,offsetY:E}=this.getCurrentSourcePreviewNodeOptions(),A=XI(_,y,d,{anchorX:k,anchorY:C},{offsetX:w,offsetY:E});p.setDragImage(y,A.x,A.y)}}try{p==null||p.setData("application/json",{})}catch{}this.setCurrentDragSourceNode(l.target);const{captureDraggingState:f}=this.getCurrentSourcePreviewNodeOptions();f?this.actions.publishDragSource():setTimeout(()=>this.actions.publishDragSource(),0)}else if(m)this.beginDragNativeItem(m);else{if(p&&!p.types&&(l.target&&!l.target.hasAttribute||!l.target.hasAttribute("draggable")))return;l.preventDefault()}},this.handleTopDragEndCapture=()=>{this.clearCurrentDragSourceNode()&&this.monitor.isDragging()&&this.actions.endDrag(),this.cancelHover()},this.handleTopDragEnterCapture=l=>{if(this.dragEnterTargetIds=[],this.isDraggingNativeItem()){var u;(u=this.currentNativeSource)===null||u===void 0||u.loadDataTransfer(l.dataTransfer)}if(!this.enterLeaveCounter.enter(l.target)||this.monitor.isDragging())return;const{dataTransfer:p}=l,m=eg(p);m&&this.beginDragNativeItem(m,p)},this.handleTopDragEnter=l=>{const{dragEnterTargetIds:u}=this;if(this.dragEnterTargetIds=[],!this.monitor.isDragging())return;this.altKeyPressed=l.altKey,u.length>0&&this.actions.hover(u,{clientOffset:sc(l)}),u.some(p=>this.monitor.canDropOnTarget(p))&&(l.preventDefault(),l.dataTransfer&&(l.dataTransfer.dropEffect=this.getCurrentDropEffect()))},this.handleTopDragOverCapture=l=>{if(this.dragOverTargetIds=[],this.isDraggingNativeItem()){var u;(u=this.currentNativeSource)===null||u===void 0||u.loadDataTransfer(l.dataTransfer)}},this.handleTopDragOver=l=>{const{dragOverTargetIds:u}=this;if(this.dragOverTargetIds=[],!this.monitor.isDragging()){l.preventDefault(),l.dataTransfer&&(l.dataTransfer.dropEffect="none");return}this.altKeyPressed=l.altKey,this.lastClientOffset=sc(l),this.scheduleHover(u),(u||[]).some(p=>this.monitor.canDropOnTarget(p))?(l.preventDefault(),l.dataTransfer&&(l.dataTransfer.dropEffect=this.getCurrentDropEffect())):this.isDraggingNativeItem()?l.preventDefault():(l.preventDefault(),l.dataTransfer&&(l.dataTransfer.dropEffect="none"))},this.handleTopDragLeaveCapture=l=>{this.isDraggingNativeItem()&&l.preventDefault(),this.enterLeaveCounter.leave(l.target)&&(this.isDraggingNativeItem()&&setTimeout(()=>this.endDragNativeItem(),0),this.cancelHover())},this.handleTopDropCapture=l=>{if(this.dropTargetIds=[],this.isDraggingNativeItem()){var u;l.preventDefault(),(u=this.currentNativeSource)===null||u===void 0||u.loadDataTransfer(l.dataTransfer)}else eg(l.dataTransfer)&&l.preventDefault();this.enterLeaveCounter.reset()},this.handleTopDrop=l=>{const{dropTargetIds:u}=this;this.dropTargetIds=[],this.actions.hover(u,{clientOffset:sc(l)}),this.actions.drop({dropEffect:this.getCurrentDropEffect()}),this.isDraggingNativeItem()?this.endDragNativeItem():this.monitor.isDragging()&&this.actions.endDrag(),this.cancelHover()},this.handleSelectStart=l=>{const u=l.target;typeof u.dragDrop=="function"&&(u.tagName==="INPUT"||u.tagName==="SELECT"||u.tagName==="TEXTAREA"||u.isContentEditable||(l.preventDefault(),u.dragDrop()))},this.options=new ZI(i,r),this.actions=s.getActions(),this.monitor=s.getMonitor(),this.registry=s.getRegistry(),this.enterLeaveCounter=new WI(this.isNodeInDocument)}}const uC=function(s,i,r){return new ex(s,i,r)},tx=ht([g.jsx("path",{d:"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2M12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8"},"0"),g.jsx("path",{d:"M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z"},"1")],"AccessTime"),sx=ht(g.jsx("path",{d:"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2m-2 10h-4v4h-2v-4H7v-2h4V7h2v4h4z"}),"AddBox"),ox=ht(g.jsx("path",{d:"M4 8h4V4H4zm6 12h4v-4h-4zm-6 0h4v-4H4zm0-6h4v-4H4zm6 0h4v-4h-4zm6-10v4h4V4zm-6 4h4V4h-4zm6 6h4v-4h-4zm0 6h4v-4h-4z"}),"Apps"),ix=ht(g.jsx("path",{d:"M9 2c-1.05 0-2.05.16-3 .46 4.06 1.27 7 5.06 7 9.54s-2.94 8.27-7 9.54c.95.3 1.95.46 3 .46 5.52 0 10-4.48 10-10S14.52 2 9 2"}),"Brightness3"),nx=ht(g.jsx("path",{d:"M20 8h-2.81c-.45-.78-1.07-1.45-1.82-1.96L17 4.41 15.59 3l-2.17 2.17C12.96 5.06 12.49 5 12 5s-.96.06-1.41.17L8.41 3 7 4.41l1.62 1.63C7.88 6.55 7.26 7.22 6.81 8H4v2h2.09c-.05.33-.09.66-.09 1v1H4v2h2v1c0 .34.04.67.09 1H4v2h2.81c1.04 1.79 2.97 3 5.19 3s4.15-1.21 5.19-3H20v-2h-2.09c.05-.33.09-.66.09-1v-1h2v-2h-2v-1c0-.34-.04-.67-.09-1H20zm-6 8h-4v-2h4zm0-4h-4v-2h4z"}),"BugReport"),rx=ht(g.jsx("path",{d:"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12zm-1 4 6 6v10c0 1.1-.9 2-2 2H7.99C6.89 23 6 22.1 6 21l.01-14c0-1.1.89-2 1.99-2zm-1 7h5.5L14 6.5z"}),"FileCopy"),ax=ht(g.jsx("path",{d:"M7 2v11h3v9l7-12h-4l4-8z"}),"FlashOn"),lx=ht(g.jsx("path",{d:"M3.27 5 2 6.27l6.97 6.97L6.5 19h3l1.57-3.66L16.73 21 18 19.73 3.55 5.27zM6 5v.18L8.82 8h2.4l-.72 1.68 2.1 2.1L14.21 8H20V5z"}),"FormatClear"),cx=ht(g.jsx("path",{d:"M18 4H6v2l6.5 6L6 18v2h12v-3h-7l5-5-5-5h7z"}),"Functions"),dC=ht(g.jsx("path",{d:"M11 18h2v-2h-2zm1-16C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-14c-2.21 0-4 1.79-4 4h2c0-1.1.9-2 2-2s2 .9 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5 0-2.21-1.79-4-4-4"}),"HelpOutline"),ux=ht(g.jsx("path",{d:"M21 3.01H3c-1.1 0-2 .9-2 2V9h2V4.99h18v14.03H3V15H1v4.01c0 1.1.9 1.98 2 1.98h18c1.1 0 2-.88 2-1.98v-14c0-1.11-.9-2-2-2M11 16l4-4-4-4v3H1v2h10z"}),"Input"),w_=ht(g.jsx("path",{d:"M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2m-6 9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2m3.1-9H8.9V6c0-1.71 1.39-3.1 3.1-3.1s3.1 1.39 3.1 3.1z"}),"Lock"),dx=ht(g.jsx("path",{d:"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2m0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2"}),"MoreVert"),hx=ht(g.jsx("path",{d:"M12 2C6.49 2 2 6.49 2 12s4.49 10 10 10c1.38 0 2.5-1.12 2.5-2.5 0-.61-.23-1.2-.64-1.67-.08-.1-.13-.21-.13-.33 0-.28.22-.5.5-.5H16c3.31 0 6-2.69 6-6 0-4.96-4.49-9-10-9m5.5 11c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5m-3-4c-.83 0-1.5-.67-1.5-1.5S13.67 6 14.5 6s1.5.67 1.5 1.5S15.33 9 14.5 9M5 11.5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5S7.33 13 6.5 13 5 12.33 5 11.5m6-4c0 .83-.67 1.5-1.5 1.5S8 8.33 8 7.5 8.67 6 9.5 6s1.5.67 1.5 1.5"}),"Palette"),gc=ht(g.jsx("path",{d:"M6 19h4V5H6zm8-14v14h4V5z"}),"Pause"),Fg=ht(g.jsx("path",{d:"M8 5v14l11-7z"}),"PlayArrow"),px=ht(g.jsx("path",{d:"M11 5v5.59H7.5l4.5 4.5 4.5-4.5H13V5zm-5 9c0 3.31 2.69 6 6 6s6-2.69 6-6h-2c0 2.21-1.79 4-4 4s-4-1.79-4-4z"}),"PlayForWork"),gx=ht(g.jsx("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14"}),"Search"),mx=ht(g.jsx("path",{d:"M10.59 9.17 5.41 4 4 5.41l5.17 5.17zM14.5 4l2.04 2.04L4 18.59 5.41 20 17.96 7.46 20 9.5V4zm.33 9.41-1.41 1.41 3.13 3.13L14.5 20H20v-5.5l-2.04 2.04z"}),"Shuffle"),fx=ht(g.jsx("path",{d:"M2 20h20v-4H2zm2-3h2v2H4zM2 4v4h20V4zm4 3H4V5h2zm-4 7h20v-4H2zm2-3h2v2H4z"}),"Storage"),$x=ht(g.jsx("path",{d:"M14 17H4v2h10zm6-8H4v2h16zM4 15h16v-2H4zM4 5v2h16V5z"}),"Subject"),bx=ht(g.jsx("path",{d:"M16 17.01V10h-2v7.01h-3L15 21l4-3.99zM9 3 5 6.99h3V14h2V6.99h3z"}),"SwapVert"),vx=ht(g.jsx("path",{d:"M7.41 18.59 8.83 20 12 16.83 15.17 20l1.41-1.41L12 14zm9.18-13.18L15.17 4 12 7.17 8.83 4 7.41 5.41 12 10z"}),"UnfoldLess"),yx=ht(g.jsx("path",{d:"M12 5.83 15.17 9l1.41-1.41L12 3 7.41 7.59 8.83 9zm0 12.34L8.83 15l-1.41 1.41L12 21l4.59-4.59L15.17 15z"}),"UnfoldMore"),_c="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='512'%20height='512'%20shape-rendering='geometricPrecision'%20image-rendering='optimizeQuality'%20fill-rule='evenodd'%20xmlns:v='https://vecta.io/nano'%3e%3cpath%20fill='%23efda4e'%20d='M-.5-.5h512v512H-.5V-.5z'/%3e%3cpath%20fill='%23020100'%20d='M308.5%20287.5c1.777-3.005%202.777-6.338%203-10%209.147-21.963%2025.48-35.463%2049-40.5%2021.999-4.173%2043.666-2.84%2065%204%2014.575%205.411%2025.575%2014.911%2033%2028.5l-1%202c-12.413%205.624-24.58%2011.624-36.5%2018-5.321-8.25-12.821-13.417-22.5-15.5-13.957-3.122-27.29-1.455-40%205-8.125%205.36-10.958%2012.86-8.5%2022.5%203.223%206.223%208.057%2010.723%2014.5%2013.5l64%2020c38.459%2016.085%2052.626%2044.585%2042.5%2085.5-7.572%2026.208-24.738%2042.041-51.5%2047.5-25.102%205.733-49.768%204.4-74-4-19.291-8.625-32.291-22.958-39-43%2011.266-8.887%2023.433-16.387%2036.5-22.5%203.117%206.896%206.784%2013.563%2011%2020%2012.705%2012.307%2027.872%2016.807%2045.5%2013.5%2022.189-3.504%2032.355-16.338%2030.5-38.5-2.833-6.833-7.667-11.667-14.5-14.5l-57-17c-36.004-11.84-52.67-36.673-50-74.5z'/%3e%3cpath%20fill='%23020200'%20d='M222.5%20238.5h43l-.5%20159c-2.688%2052.355-30.188%2076.855-82.5%2073.5-24.871-3.543-41.204-17.21-49-41l.5-2.5a12.14%2012.14%200%200%200%204.5-3.5c10.653-5.825%2021.32-11.325%2032-16.5%204.763%2021.72%2017.763%2028.887%2039%2021.5%204.616-2.618%207.783-6.451%209.5-11.5%201.163-5.968%202.163-11.968%203-18l.5-161z'/%3e%3cpath%20fill='%23615820'%20d='M311.5%20277.5c-.223%203.662-1.223%206.995-3%2010%20.223-3.662%201.223-6.995%203-10z'/%3e%3c/svg%3e",hC="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20500%20500'%3e%3cpath%20fill='%234285f4'%20d='M44.271%2027.275l206.5%201v170l-58.5-36.5c-7.005-.916-12.505%201.584-16.5%207.5v147c4.625%204.412%2010.125%206.245%2016.5%205.5l57.5-35.5c.833%2054.003%201.356%20108.003.189%20162-1.272.546-45.599-.242-48.689%201.121-3.674%207.844-4.79%2011.207-13%2023.879-4.372%205.527-2.19%204.097-10.689%2012.258-5.166%202.748-4.191%203.45-14.311%206.242-17.67%201.983-35.336%201.983-53%200-9.535-3.774-10.879-4.163-18.526-11.22-5.562-4.39-11.131-11.803-11.974-15.28-4.068-7.881-3.42-9.116-5.5-13.5-3.672-1.503-35.798.203-40.746-1.335-5.823-2.314-2.946-.422-7.954-3.689-2.888-2.668-2.255-3.221-2.421-9.904L20.771%2050.275c.36-2.108-.41-5.806%202.522-11.615%204.343-5.852%205.374-7%2010.061-9.146%206.083-2.73%208.677-1.475%2010.917-2.239z'/%3e%3cpath%20d='M258.271%2030.275l154.63.407c5.654.559%2010.783%203.17%2014.37%207.093%204.907%204.408%206.204%208.723%207.5%2013.5v373c-.208%205.716-.297%207.982-4.848%2015.404-7.078%206.393-9.879%206.39-15.652%206.692-24.804%201.296-50.079%201.189-74.96%201.041-24.516-.014-68.46.89-81.5.391l-2.512-172.528c-20.083%2012.625-42.777%2025.125-63.028%2037.5-4.127%201.292-7.294.125-9.5-3.5l1-137c1.864-2.707%204.364-3.541%207.5-2.5%2020.366%2013.427%2064.35%2038.947%2065.581%2038.339l1.419-177.839z'%20fill='%23DDD'/%3e%3c/svg%3e",pC="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20512%20512'%20width='32'%20height='32'%3e%3cpath%20fill='%23007acc'%20d='M-.5-.5h503l-1%20179h10v333h-421v-7h-91V-.5z'/%3e%3cpath%20fill='%230f81cf'%20d='M502.5-.5h9v179h-10l1-179z'/%3e%3cpath%20fill='%23fdfefe'%20d='M470.5%20227.5c.33%2017.508-.003%2034.841-1%2052-23.486-15.709-48.82-19.875-76-12.5-15.89%208.078-19.39%2019.911-10.5%2035.5%204.673%205.577%2010.173%2010.077%2016.5%2013.5l38%2019c17.945%209.278%2031.112%2023.112%2039.5%2041.5%201.352%203.22%202.186%206.553%202.5%2010a305.16%20305.16%200%200%201%201%2026c-3.553%2033.726-21.886%2054.559-55%2062.5-34.769%207.363-68.435%204.196-101-9.5-.167-19.003%200-38.003.5-57%2022.903%2021.314%2049.736%2029.147%2080.5%2023.5%2019.435-5.701%2025.268-17.868%2017.5-36.5-4.718-6.44-10.552-11.606-17.5-15.5a1552.42%201552.42%200%200%201-47-24c-27.679-19.331-38.846-45.831-33.5-79.5%206.43-26.433%2022.597-43.933%2048.5-52.5%2026.131-6.625%2052.464-7.292%2079-2a565.56%20565.56%200%200%201%2018%205.5z'/%3e%3cpath%20fill='%23fefefe'%20d='M122.5%20222.5h182v46h-65v206h-52v-206h-65v-46z'/%3e%3cpath%20fill='%2370b3e1'%20d='M470.5%20227.5c1.327%2017.505%201.327%2035.171%200%2053-.607-.124-.94-.457-1-1%20.997-17.159%201.33-34.492%201-52z'/%3e%3cpath%20fill='%236cafe0'%20d='M479.5%20386.5c1.465%205.09%202.132%2010.423%202%2016-.002%203.518-.335%206.851-1%2010a305.16%20305.16%200%200%200-1-26z'/%3e%3cpath%20fill='%231283cf'%20d='M-.5%20504.5h91v7h-91v-7z'/%3e%3c/svg%3e",gC="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIj4KICAgIDxyYWRpYWxHcmFkaWVudCBpZD0ibXlHcmFkaWVudCI+CiAgICAgICAgPHN0b3Agb2Zmc2V0PSIxMCUiIHN0b3AtY29sb3I9IiMxQzJENUYiIC8+CiAgICAgICAgPHN0b3Agb2Zmc2V0PSI5NSUiIHN0b3AtY29sb3I9IiMwQjFENTMiIC8+CiAgICA8L3JhZGlhbEdyYWRpZW50PgogICAgPHBhdGggZmlsbD0idXJsKCcjbXlHcmFkaWVudCcpIiBkPSJNLS4xLS4xaDUxMnY1MTJILS4xVi0uMXoiLz4KICAgIDxwYXRoIGZpbGw9IiNmOGY4ZmEiCiAgICAgICAgICBkPSJNNDgyLjUgMjMxLjV2NmgtMjVjLS45NzItOC4xNy01LjYzOS0xMi4xNy0xNC0xMi05LjUzMS4wMjktMTMuMzY1IDQuNjk1LTExLjUgMTRsNC41IDQuNSAzMyA4YzE5LjM4OCA5LjYzNCAyMy4zODggMjMuODAxIDEyIDQyLjVhMzUuMDYgMzUuMDYgMCAwIDAtOCA2Yy0xMy45MjUgNC43NjEtMjguMjU4IDYuMjYxLTQzIDQuNS0xMC42MDEtMS4wMjQtMTguOTM1LTUuODU3LTI1LTE0LjUtMS4wNzctMi4yMjktMS43NDQtNC41NjMtMi03di04aDI1YzEuNDk1IDQuMjc5IDMuODI4IDguMTEzIDcgMTEuNSA3LjQ3OCAyLjI1OCAxNC44MTEgMS45MjUgMjItMSAyLjg5NC0yLjkwOSAzLjcyNy02LjQwOSAyLjUtMTAuNWEzNi44IDM2LjggMCAwIDAtMTIuNS01LjUgNTM5Ljc5IDUzOS43OSAwIDAgMS0yOC04Yy0xMi44NzQtNi41NjItMTcuNzA3LTE3LjA2Mi0xNC41LTMxLjUgMy41Ny0xMC41NjkgMTAuNzM3LTE3LjQwMyAyMS41LTIwLjUgMTYuMTQ4LTQuNTM5IDMxLjQ4Mi0yLjcwNiA0NiA1LjUgMiAyLjY2NyA0LjMzMyA1IDcgNyAxLjg3MSAyLjczNCAyLjg3MSA1LjczNCAzIDl6Ii8+CiAgICA8cGF0aCBmaWxsPSIjYTRhYmJmIiBkPSJNMTUzLjUgMjA5LjVjLjA2LS41NDMuMzkzLS44NzYgMS0xYTEwMjQuNjMgMTAyNC42MyAwIDAgMSAxIDY0bC0yLTYzeiIvPgogICAgPHBhdGggZmlsbD0iI2ZhZmJmYyIKICAgICAgICAgIGQ9Ik0xNTMuNSAyMDkuNWwyIDYzYzEuMjc4IDExLjQ0NCA3LjYxMSAxNi4yNzcgMTkgMTQuNSA4LjcwNC0xLjM3OCAxMy4yMDQtNi41NDQgMTMuNS0xNS41LjUtMjAuNjY0LjY2Ny00MS4zMzEuNS02MiA5Ljc0My0uMjE5IDE5LjQwOS0uMjE5IDI5IDAgLjQwMSAyMy4zNjItLjA5OSA0Ni42OTYtMS41IDcwLTQuMjk4IDE0Ljk2OC0xNC4xMzEgMjMuNDY4LTI5LjUgMjUuNWEyMjUuMTQgMjI1LjE0IDAgMCAxLTMwIDBjLTE1LjgyMi0yLjE1NS0yNS42NTUtMTAuOTg4LTI5LjUtMjYuNWwtLjUtNjloMjd6Ii8+CiAgICA8cGF0aCBmaWxsPSIjZmVmZWZlIgogICAgICAgICAgZD0iTTIzMy41IDIwOS41aDI3Yy0uMzMxIDI1LjE3Mi4wMDIgNTAuMTcyIDEgNzUgMCAuNjY3LjMzMyAxIDEgMSAxMy4xNTYuOTk2IDI2LjQ5IDEuMzI5IDQwIDF2MTdoLTY5di05NHoiLz4KICAgIDxwYXRoIGZpbGw9IiNhNWFjYmYiIGQ9Ik0yMzMuNSAyMDkuNWM5LjE1Mi0uOTk0IDE4LjQ4NS0xLjMyNyAyOC0xdjc2Yy0uOTk4LTI0LjgyOC0xLjMzMS00OS44MjgtMS03NWgtMjd6Ii8+CiAgICA8cGF0aCBmaWxsPSIjYTdhZWMxIiBkPSJNMzE2LjUgMjA5LjVoNzNjLjMyMyA2LjE5LS4wMSAxMi4xOS0xIDE4di0xN2MtMjQuMTcyLjMzMS00OC4xNzItLjAwMi03Mi0xeiIvPgogICAgPHBhdGggZmlsbD0iI2E1YWNjMCIgZD0iTTg1LjUgMjEwLjVoLTU5djkzaDI3Yy0uMzI4LTExLjE3OS4wMDUtMjIuMTc5IDEtMzN2MzRoLTI5di05NWE5MDAuOTggOTAwLjk4IDAgMCAxIDYwIDF6Ii8+CiAgICA8cGF0aCBmaWxsPSIjZmNmY2ZjIgogICAgICAgICAgZD0iTTg1LjUgMjEwLjVjMjIuMjIzIDMuNzU4IDI5LjU1NiAxNi40MjUgMjIgMzgtNC4yMjggNS4zOTctOS4yMjggOS44OTctMTUgMTMuNS0xLjMwNS44MDQtMS45NzEgMS45NzEtMiAzLjVsMjMgMzZjLTQuNDUxIDEuMzI3LTkuMjg0IDEuOTk0LTE0LjUgMmExMjguMTkgMTI4LjE5IDAgMCAxLTE1LjUtMWMtNi45NTUtMTAuMzI2LTEzLjQ1NS0yMC45OTItMTkuNS0zMi0zLjI2OS0xLjMxOC02LjQzNS0xLjMxOC05LjUgMC0uOTk1IDEwLjgyMS0xLjMyOCAyMS44MjEtMSAzM2gtMjd2LTkzaDU5eiIvPgogICAgPHBhdGggZmlsbD0iI2ZlZmVmZSIKICAgICAgICAgIGQ9Ik0zMTYuNSAyMDkuNWMyMy44MjguOTk4IDQ3LjgyOCAxLjMzMSA3MiAxdjE3Yy0xNC42Ny0uMTY3LTI5LjMzNyAwLTQ0IC41LTEuMzI2IDYuNTk5LTEuMzI2IDEzLjA5OSAwIDE5LjUgMTQuNDkuOTk2IDI5LjE1NyAxLjMyOSA0NCAxdjE2Yy0xNC44NDMtLjMyOS0yOS41MS4wMDQtNDQgMWE1MC41MSA1MC41MSAwIDAgMCAwIDIwYzE0LjQ5Ljk5NiAyOS4xNTcgMS4zMjkgNDQgMXYxN2gtNzNjLS4zMzItMzEuNTA0LjAwMi02Mi44MzggMS05NHoiLz4KICAgIDxwYXRoIGZpbGw9IiMxODI3NWIiCiAgICAgICAgICBkPSJNNTUuNSAyMjkuNWM3LjA4OS0uMzg0IDE0LjA4OS4xMTYgMjEgMS41IDMuNDAxIDEuMzIgNC43MzUgMy44MiA0IDcuNWwtLjUgNWMtMS43NzEuODA0LTMuMjcxIDEuOTcxLTQuNSAzLjUtNi41OTIgMS4zMjktMTMuMjU5IDEuODI5LTIwIDEuNXYtMTl6Ii8+CiAgICA8cGF0aCBmaWxsPSIjYTVhY2MwIiBkPSJNNDgyLjUgMjMxLjVjLjk2OCAyLjEwNyAxLjMwMiA0LjQ0MSAxIDctOC44NDkuMzI2LTE3LjUxNi0uMDA3LTI2LTFoMjV2LTZ6Ii8+CiAgICA8cGF0aCBmaWxsPSIjYTZhZGMwIiBkPSJNMzQ0LjUgMjQ3LjVoNDV2MThoLTQ1YzE0LjQ5LS45OTYgMjkuMTU3LTEuMzI5IDQ0LTF2LTE2Yy0xNC44NDMuMzI5LTI5LjUxLS4wMDQtNDQtMXoiLz4KICAgIDxwYXRoIGZpbGw9IiNhMmE5YmUiIGQ9Ik00MjguNSAyNzUuNWgtMjV2OGMtLjk3Ny0yLjc4Ny0xLjMxLTUuNzg3LTEtOSA4Ljg0OS0uMzI2IDE3LjUxNi4wMDcgMjYgMXoiLz4KICAgIDxwYXRoIGZpbGw9IiNhNWFjYmYiCiAgICAgICAgICBkPSJNMTEzLjUgMzAxLjVjLjk3OC4zMTEgMS42NDUuOTc4IDIgMmwtMTYgMWMtNS43MTEtLjAwNS0xMS4wNDQtLjY3Mi0xNi0yYTEyOC4xOSAxMjguMTkgMCAwIDAgMTUuNSAxYzUuMjE2LS4wMDYgMTAuMDQ5LS42NzMgMTQuNS0yeiIvPgogICAgPHBhdGggZmlsbD0iI2E1YWNjMCIgZD0iTTIzMy41IDIwOS41djk0aDY5di0xN2MtMTMuNTEuMzI5LTI2Ljg0NC0uMDA0LTQwLTFoNDF2MTloLTcxYTIyNTYuNDEgMjI1Ni40MSAwIDAgMSAxLTk1eiIvPgogICAgPHBhdGggZmlsbD0iI2E2YWNjMCIKICAgICAgICAgIGQ9Ik0zMTYuNSAyMDkuNWMtLjk5OCAzMS4xNjItMS4zMzIgNjIuNDk2LTEgOTRoNzN2LTE3Yy0xNC44NDMuMzI5LTI5LjUxLS4wMDQtNDQtMWg0NXYxOWgtNzVhMjMwNC45NSAyMzA0Ljk1IDAgMCAxIDEtOTZjLjYwNy4xMjQuOTQuNDU3IDEgMXoiLz4KPC9zdmc+";class $m extends Y.Component{isShowInstance;oldId;constructor(s){super(s),this.state={name:s.name,id:s.id,instance:s.instance||0,prefix:$m.getPrefix(s.id)},this.isShowInstance=!s.folder&&!!s.instances&&(!!s.instance||!!s.instances[0]||s.instances.length>1),this.oldId=s.id}static getPrefix(s){const i=(s||"").split(".");return i.pop(),i.join(".")}getId(s){return s=(s||"").replace(/[\\/\][*,;'"`<>?\s]/g,"_"),`${this.state.prefix}.${s}`}handleCancel=()=>{this.props.onClose()};handleOk=()=>{this.props.onRename(this.oldId,this.state.id,this.state.name,this.state.instance===0?0:this.state.instance||void 0),this.props.onClose()};handleChange=s=>{this.setState({name:s,id:this.getId(s)})};render(){return g.jsxs(Gt,{onClose:()=>!1,maxWidth:"md",fullWidth:!0,open:!0,"aria-labelledby":"confirmation-dialog-title",children:[g.jsx(as,{id:"confirmation-dialog-title",children:b.I18n.t("Rename")}),g.jsx(Vt,{children:g.jsxs("form",{noValidate:!0,autoComplete:"off",children:[g.jsx(vo,{variant:"standard",style:{width:"100%"},id:"standard-name",autoFocus:!0,label:b.I18n.t("Name"),value:this.state.name,onKeyUp:s=>{s.key==="Enter"&&(s.preventDefault(),setTimeout(()=>this.handleOk(),200))},onChange:s=>this.handleChange(s.target.value),margin:"normal"}),g.jsx(vo,{variant:"standard",id:"standard-name-id",style:{width:"100%"},label:b.I18n.t("ID"),value:this.state.id,disabled:!0,margin:"normal"}),this.isShowInstance&&g.jsxs(_i,{variant:"standard",children:[g.jsx(Eg,{htmlFor:"instance",children:b.I18n.t("Instance")}),g.jsx(wi,{variant:"standard",value:this.state.instance,onChange:s=>this.setState({instance:parseInt(s.target.value,10)}),inputProps:{name:"instance",id:"instance"},children:this.props.instances.map(s=>g.jsx(Ge,{value:s,children:s||"0"},s))})]})]})}),g.jsxs(Kt,{children:[g.jsx(De,{variant:"contained",onClick:this.handleOk,color:"primary",startIcon:g.jsx(zo,{}),children:b.I18n.t("Ok")}),g.jsx(De,{color:"grey",variant:"contained",onClick:this.handleCancel,startIcon:g.jsx(qs,{}),children:b.I18n.t("Cancel")})]})]})}}class _x extends Y.Component{constructor(s){super(s),this.state={name:s.name,id:s.id}}handleCancel=()=>{this.props.onClose()};handleOk=()=>{this.props.onDelete(this.state.id),this.props.onClose()};render(){return g.jsxs(Gt,{onClose:()=>!1,maxWidth:"md",open:!0,"aria-labelledby":"confirmation-dialog-title",children:[g.jsx(as,{id:"confirmation-dialog-title",children:b.I18n.t("Are you sure?")}),g.jsxs(Vt,{children:[g.jsx(dc,{}),g.jsx("span",{style:{fontSize:14,fontWeight:"bold"},children:b.I18n.t("Delete %s",this.state.name)})]}),g.jsxs(Kt,{children:[g.jsx(De,{variant:"contained",onClick:this.handleOk,color:"primary",startIcon:g.jsx(zo,{}),children:b.I18n.t("Ok")}),g.jsx(De,{color:"grey",variant:"contained",onClick:this.handleCancel,startIcon:g.jsx(qs,{}),children:b.I18n.t("Cancel")})]})]})}}const wx=""+new URL("tileJS-C48gYbHw.png",import.meta.url).href,Cx=""+new URL("tileTS-CsXmgy4B.png",import.meta.url).href,Tx=""+new URL("tileBlockly-BMpdinN3.png",import.meta.url).href,kx=""+new URL("tileRules-BkbaFIhs.png",import.meta.url).href,Pt={card:{maxWidth:345,minWidth:250,display:"inline-block",margin:"0 10px 0 10px"},media:{height:122},text:{maxWidth:218,minHeight:30},complexity:{fontWeight:"bold",fontStyle:"italic",marginBottom:8}};class Cn extends Y.Component{handleCancel=()=>{this.props.onClose()};static openHtml(s){const i=b.I18n.getLanguage();!s.includes("javascript.md")&&(i==="de"||i==="ru")&&(s=s.replace(/\/en\//,`/${i}/`));const r=window.open(s,"_blank");r==null||r.focus()}getJSCard(){return g.jsxs(Yl,{style:Pt.card,children:[g.jsxs(Jl,{onClick:()=>this.props.onClose&&this.props.onClose("Javascript/js"),children:[g.jsx(ql,{style:Pt.media,image:wx,title:"JavaScript"}),g.jsxs(Xl,{children:[g.jsx("h2",{children:"JavaScript"}),g.jsx("div",{style:Pt.complexity,children:b.I18n.t("for programmers")}),g.jsx("div",{style:Pt.text,children:b.I18n.t("JS description")})]})]}),g.jsxs(Zl,{children:[g.jsx(De,{size:"small",color:"primary",variant:"contained",onClick:()=>this.props.onClose&&this.props.onClose("Javascript/js"),children:b.I18n.t("Add")}),g.jsx(De,{size:"small",color:"secondary",onClick:()=>Cn.openHtml("https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md"),children:b.I18n.t("Learn More")})]})]})}getTSCard(){return g.jsxs(Yl,{style:Pt.card,children:[g.jsxs(Jl,{onClick:()=>this.props.onClose&&this.props.onClose("TypeScript/ts"),children:[g.jsx(ql,{style:Pt.media,image:Cx,title:"TypeScript"}),g.jsxs(Xl,{children:[g.jsx("h2",{children:"TypeScript"}),g.jsx("div",{style:Pt.complexity,children:b.I18n.t("for professionals")}),g.jsx("div",{style:Pt.text,children:b.I18n.t("TS description")})]})]}),g.jsxs(Zl,{children:[g.jsx(De,{size:"small",color:"primary",variant:"contained",onClick:()=>this.props.onClose&&this.props.onClose("TypeScript/ts"),children:b.I18n.t("Add")}),g.jsx(De,{size:"small",color:"secondary",onClick:()=>Cn.openHtml("https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md"),children:b.I18n.t("Learn More")})]})]})}getBlocklyCard(){return g.jsxs(Yl,{style:Pt.card,children:[g.jsxs(Jl,{onClick:()=>this.props.onClose&&this.props.onClose("Blockly"),children:[g.jsx(ql,{style:Pt.media,image:Tx,title:"Blockly"}),g.jsxs(Xl,{children:[g.jsx("h2",{children:"Blockly"}),g.jsx("div",{style:Pt.complexity,children:b.I18n.t("normal")}),g.jsx("div",{style:Pt.text,children:b.I18n.t("Blockly description")})]})]}),g.jsxs(Zl,{children:[g.jsx(De,{size:"small",color:"primary",variant:"contained",onClick:()=>this.props.onClose&&this.props.onClose("Blockly"),children:b.I18n.t("Add")}),g.jsx(De,{size:"small",color:"secondary",onClick:()=>Cn.openHtml("https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/blockly.md"),children:b.I18n.t("Learn More")})]})]})}getRulesCard(){return g.jsxs(Yl,{style:Pt.card,children:[g.jsxs(Jl,{onClick:()=>this.props.onClose&&this.props.onClose("Rules"),children:[g.jsx(ql,{style:Pt.media,image:kx,title:"Rules"}),g.jsxs(Xl,{children:[g.jsx("h2",{children:"Rules"}),g.jsx("div",{style:Pt.complexity,children:b.I18n.t("easy")}),g.jsx("div",{style:Pt.text,children:b.I18n.t("Rules description")})]})]}),g.jsxs(Zl,{children:[g.jsx(De,{size:"small",color:"primary",variant:"contained",onClick:()=>this.props.onClose&&this.props.onClose("Rules"),children:b.I18n.t("Add")}),g.jsx(De,{size:"small",color:"secondary",onClick:()=>Cn.openHtml("https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md"),children:b.I18n.t("Learn More")})]})]})}render(){return g.jsxs(Gt,{onClose:()=>!1,maxWidth:"lg",fullWidth:!0,open:!0,"aria-labelledby":"confirmation-dialog-title",children:[g.jsx(as,{id:"confirmation-dialog-title",children:b.I18n.t("Add new script")}),g.jsxs(Vt,{style:{textAlign:"center"},children:[this.getRulesCard(),this.getBlocklyCard(),this.getJSCard(),this.getTSCard()]}),g.jsx(Kt,{children:g.jsx(De,{color:"grey",onClick:this.handleCancel,startIcon:g.jsx(qs,{}),children:b.I18n.t("Cancel")})})]})}}class tg extends Y.Component{isShowInstance;constructor(s){super(s),this.state={name:s.name||"Script",instance:s.instance||0,parent:s.parent,error:"",id:""},this.isShowInstance=!s.folder&&!!s.instances&&(!!s.instance||!!s.instances[0]||s.instances.length>1)}getId(s){return s=s||this.state.name||"",s=s.replace(/[\\/\][.*,;'"`<>?\s]/g,"_").trim().replace(/\.$/,"_"),`${this.state?this.state.parent:this.props.parent}.${s}`}handleOk=()=>{this.props.onAdd(this.getId(this.state.name),this.state.name,this.state.instance,this.props.type),this.props.onClose()};render(){var s;return g.jsxs(Gt,{onClose:()=>!1,maxWidth:"md",fullWidth:!0,open:!0,"aria-labelledby":"confirmation-dialog-title",children:[g.jsx(as,{id:"confirmation-dialog-title",children:this.props.title||b.I18n.t("Create new")}),g.jsx(Vt,{children:g.jsxs("form",{noValidate:!0,autoComplete:"off",children:[g.jsx(vo,{variant:"standard",style:{width:"100%"},id:"standard-name",autoFocus:!0,error:!!this.state.error,label:b.I18n.t("Name"),value:this.state.name||"",helperText:this.state.error,slotProps:{input:{endAdornment:this.state.name?g.jsx(Me,{size:"small",onClick:()=>this.setState({name:""}),children:g.jsx(Jk,{})}):void 0}},onKeyUp:i=>{i.preventDefault(),i.key==="Enter"&&!this.state.error&&setTimeout(()=>this.handleOk(),200)},onChange:i=>{var u;const r=i.target.value,l=this.getId(r);r?(u=this.props.existingItems)!=null&&u.includes(l)?this.setState({name:r,id:l,error:b.I18n.t("Duplicate name")}):this.setState({name:r,id:l,error:""}):this.setState({name:r,id:l,error:b.I18n.t("Empty name is not allowed")})},margin:"normal"}),g.jsxs(_i,{variant:"standard",style:{width:"100%"},children:[g.jsx(Eg,{htmlFor:"parent",children:b.I18n.t("Folder")}),g.jsx(wi,{variant:"standard",style:{width:"100%"},value:this.state.parent,onChange:i=>this.setState({parent:i.target.value}),inputProps:{name:"parent",id:"parent"},children:this.props.parents.map(i=>{const r=i.id.split(".");r.splice(0,2);const l=[];let u="script.js";return r.forEach(d=>{u+=`.${d}`;const p=this.props.parents.find(m=>m.id===u);p?l.push(p.name):l.push(d)}),l.length||l.push(i.name),g.jsx(Ge,{value:i.id,children:l.join(" / ")},i.id)})})]}),g.jsx(vo,{variant:"standard",id:"standard-name-id",style:{width:"100%"},label:b.I18n.t("ID"),value:this.getId(),disabled:!0,margin:"normal"}),this.isShowInstance&&g.jsxs(_i,{variant:"standard",children:[g.jsx(Eg,{htmlFor:"instance",children:b.I18n.t("Instance")}),g.jsx(wi,{variant:"standard",value:this.state.instance,onChange:i=>this.setState({instance:parseInt(i.target.value,10)}),inputProps:{name:"instance",id:"instance"},children:(s=this.props.instances)==null?void 0:s.map(i=>g.jsx(Ge,{value:i,children:i||"0"},`instance${i}`))})]})]})}),g.jsxs(Kt,{children:[g.jsx(De,{variant:"contained",onClick:this.handleOk,disabled:!!this.state.error,color:"primary",startIcon:g.jsx(zo,{}),children:b.I18n.t("Ok")}),g.jsx(De,{color:"grey",variant:"contained",onClick:()=>this.props.onClose(),startIcon:g.jsx(qs,{}),children:b.I18n.t("Cancel")})]})]})}}const Sx={title:a=>({background:a.palette.error.main,color:a.palette.error.contrastText,"&>h2":{color:a.palette.error.contrastText}})};class Zc extends Y.Component{handleOk=()=>{this.props.onClose()};render(){return g.jsxs(Gt,{open:!0,maxWidth:"sm",fullWidth:!0,onClose:()=>this.handleOk(),"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description",children:[g.jsx(as,{sx:Sx.title,id:"alert-dialog-title",children:this.props.title||b.I18n.t("Error")}),g.jsx(Vt,{children:g.jsx(Iw,{id:"alert-dialog-description",children:this.props.text||b.I18n.t("Unknown error!")})}),g.jsx(Kt,{children:g.jsx(De,{variant:"contained",onClick:()=>this.handleOk(),color:"primary",autoFocus:!0,startIcon:g.jsx(zo,{}),children:b.I18n.t("Ok")})})]})}}const Mr={icon:{width:24,height:24},filterWithButton:{width:"100%"},title:{fontWeight:"bold",marginTop:16}};class Ex extends Y.Component{constructor(s){super(s),this.state={instances:[],filter:window.localStorage.getItem("javascript.debug.filter")||"",showAskForStop:!1,jsInstance:window.localStorage.getItem("javascript.debug.instance")||"",jsInstanceHost:"",adapterToDebug:window.localStorage.getItem("javascript.debug.adapter")||""}}componentDidMount(){this.props.socket.getAdapterInstances().then(s=>{const i=s.filter(p=>{var m;return p&&!((m=p.common)!=null&&m.onlyWWW)}).map(p=>{var v,_,y;const m=p._id.replace(/^system\.adapter\./,""),[f]=m.split(".");return{id:m,enabled:(v=p.common)==null?void 0:v.enabled,host:(_=p.common)==null?void 0:_.host,icon:(y=p.common)!=null&&y.icon?`../../adapter/${f}/${p.common.icon}`:""}});i.sort((p,m)=>p.id>m.id?1:p.idp.id===this.state.jsInstance):null;let u;if(!this.state.jsInstance||!l){const p=i.find(m=>m.id.startsWith("javascript."));u=(p==null?void 0:p.host)||"",r=(p==null?void 0:p.id)||""}else u=(l==null?void 0:l.host)||"";let d=this.state.adapterToDebug||"";d&&!i.find(p=>p.id===d)&&(d=""),this.setState({instances:i,jsInstance:r,adapterToDebug:d,jsInstanceHost:u})})}handleOk=()=>{var s;if((s=this.state.instances.find(i=>i.id===this.state.adapterToDebug))!=null&&s.enabled){this.props.socket.getObject(`system.adapter.${this.state.adapterToDebug}`).then(i=>{i&&(i.common.enabled=!1,this.props.socket.setObject(i._id,i).then(()=>this.props.onDebug(this.state.jsInstance,this.state.adapterToDebug)))});return}this.props.onDebug(this.state.jsInstance,this.state.adapterToDebug)};renderJavascriptList(){const s=this.state.instances.filter(i=>i.id.startsWith("javascript."));return s.length<2?null:g.jsxs($i,{children:[g.jsx("div",{style:Mr.title,children:b.I18n.t("Host")}),g.jsx(Ig,{component:"nav",children:s.map(i=>g.jsxs(Qy,{component:"div",selected:this.state.jsInstance===i.id,onClick:()=>this.setState({jsInstance:i.id,jsInstanceHost:i.host}),children:[g.jsx(xg,{children:g.jsx("img",{src:i.icon,alt:i.id,style:Mr.icon})}),g.jsx(Dg,{primary:i.id})]},i.id))})]})}renderInstances(){if(!this.state.jsInstance)return g.jsx($i,{});const s=this.state.instances.filter(i=>i.id!==this.state.jsInstance&&i.host===this.state.jsInstanceHost&&(!this.state.filter||i.id.includes(this.state.filter.toLowerCase())));return g.jsxs($i,{children:[g.jsx("div",{style:Mr.title,children:b.I18n.t("Instances")}),g.jsx(Ig,{component:"nav",children:s.map(i=>g.jsxs(Qy,{selected:this.state.adapterToDebug===i.id,onDoubleClick:()=>this.setState({adapterToDebug:i.id},()=>this.handleOk()),onClick:()=>this.setState({adapterToDebug:i.id}),children:[g.jsx(xg,{children:g.jsx("img",{src:i.icon,alt:i.id,style:Mr.icon})}),g.jsx(Dg,{primary:i.id})]},i.id))})]})}render(){return g.jsxs(Gt,{maxWidth:"md",fullWidth:!1,open:!0,onClose:()=>!1,"aria-labelledby":"confirmation-dialog-title",children:[g.jsx(as,{id:"confirmation-dialog-title",children:this.props.title||b.I18n.t("Debug instance")}),g.jsx(Vt,{children:g.jsxs($i,{container:!0,direction:"column",children:[g.jsx($i,{children:g.jsx(Dn,{style:Mr.filterWithButton,value:this.state.filter,placeholder:b.I18n.t("Filter"),onChange:s=>{this.setState({filter:s.target.value}),window.localStorage.setItem("javascript.debug.filter",s.target.value)},endAdornment:g.jsx(xw,{position:"end",children:this.state.filter?g.jsx(Me,{size:"small","aria-label":"toggle password visibility",onClick:()=>this.setState({filter:""}),children:g.jsx(Ow,{})}):""})})}),g.jsx($i,{children:g.jsxs($i,{container:!0,children:[this.renderJavascriptList(),this.renderInstances()]})})]})}),g.jsxs(Kt,{children:[g.jsx(De,{variant:"contained",onClick:this.handleOk,disabled:!this.state.jsInstance||!this.state.adapterToDebug,color:"primary",startIcon:g.jsx(zo,{}),children:b.I18n.t("Start")}),g.jsx(De,{color:"grey",variant:"contained",onClick:()=>this.props.onClose(),startIcon:g.jsx(qs,{}),children:b.I18n.t("Close")})]})]})}}function mC(a){if(!a)throw new Error("Password must be a non-empty string.")}function zg(a){return new TextEncoder().encode(a)}function Ix(a){return new TextDecoder().decode(a)}function xx(a){let s="";for(let i=0;i({height:a.toolbar.height}),toolbarButtons:a=>({color:a.palette.mode==="dark"?"white !important":"black !important"}),iconButtonsDisabled:{filter:"grayscale(100%)",opacity:.5},toolbarSearch:{width:"calc(100% - 105px)",lineHeight:"34px",marginLeft:5},iconButtons:{width:32,height:32,padding:2},iconDropdownMenu:{paddingRight:5},menu:{width:"100%",height:"100%"},innerMenu:{width:"100%",height:"calc(100% - 76px)",overflowX:"hidden",overflowY:"auto"},listItemIcon:{minWidth:32},scriptIcon:{width:18,height:18,borderRadius:2,marginTop:4,marginBottom:4,marginLeft:8,marginRight:4},folder:{cursor:"pointer",padding:0,userSelect:"none"},folderReorder:{opacity:.3,transitionDuration:"0.5s",transitionProperty:"opacity"},folderIcon:{width:20,height:20},folderIconReorder:{paddingTop:4,paddingBottom:4,paddingLeft:8,paddingRight:4},folderIconNoReorder:{cursor:"pointer",paddingTop:4,paddingBottom:4,paddingLeft:8,paddingRight:4},script:{cursor:"pointer",padding:0,userSelect:"none"},scriptReorder:{opacity:1,transitionDuration:"0.5s",transitionProperty:"opacity"},reorder:{},selected:window.vendorPrefix?a=>({backgroundColor:a.palette.primary.main,color:a.palette.text.primary}):{backgroundColor:"#164477",color:"white"},instances:{color:"gray",fontSize:"smaller"},childrenCount:{fontSize:10,opacity:.4},footer:{height:24,display:"flex"},footerButtons:a=>({"& img":{color:a.palette.mode==="dark"?"#ffffff":"#111111",cursor:"pointer",mt:"1px",mr:"2px",height:22,width:22,"&:hover":{backgroundColor:"#dbdbdb"}},"& svg":{color:a.palette.mode==="dark"?"#ffffff":"#111111",cursor:"pointer",mt:"1px",mr:"2px",height:22,width:22,"&:hover":{backgroundColor:"#dbdbdb"}}}),footerButtonsRight:{float:"right"}},$n={Blockly:hC,"Javascript/js":_c,def:_c,Rules:gC,"TypeScript/ts":pC};function Hg(a,s,i){var r;return i=i||b.I18n.getLanguage(),(r=s==null?void 0:s.common)!=null&&r.name?typeof s.common.name=="object"?(s.common.name[i]||s.common.name.en||a.replace(/^script\.js./,"")).toString():s.common.name.toString():a.replace(/^script\.js./,"")}function S_(a){var l;const s=[{id:Wt,depth:0,index:0,parent:null,title:"root",type:"folder",parentIndex:null}],i=Object.keys(a);for(let u=0;u1?p.join("."):null,instance:d.common.engine?parseInt(d.common.engine.split(".").pop(),10)||0:null,index:0,parentIndex:0}):s.push({id:i[u],title:Hg(i[u],d),depth:p.length-1,type:"folder",parent:p.length>1?p.join("."):null,index:0,parentIndex:null})}let r;do r=!1,s.forEach(u=>{if(u.parent&&!s.find(p=>p.id===u.parent)){const p=u.parent.split(".");p.pop(),s.push({id:u.parent,title:u.parent.split(".").pop()||"",depth:p.length-1,type:"folder",parent:p.length>1?p.join("."):null,index:0,parentIndex:null}),r=!0}});while(r);return s.sort((u,d)=>{const p=u.id.toLowerCase(),m=d.id.toLowerCase();return u.type==="folder"&&d.type!=="folder"?-1:d.type==="folder"&&u.type!=="folder"||p>m?1:pu.index=d),s.forEach(u=>{if(u.parent){const d=s.find(p=>p.id===u.parent);d&&(u.parentIndex=d.index)}}),s}function Ox(a){const{onDrop:s}=a,[{isOver:i,isOverAny:r},l]=zI({accept:"script",drop:u=>i?s(u):void 0,collect:u=>({isOver:u.isOver({shallow:!0}),isOverAny:u.isOver()})});return g.jsx("div",{ref:l,style:{background:i?"#40adff":void 0,opacity:r?.7:void 0},children:a.children},a.folderName)}function E_(a){const{name:s}=a,[{opacity:i},r]=OI({type:"script",item:()=>({name:s}),collect:l=>({opacity:l.isDragging()?.3:1})});return g.jsx("div",{ref:r,style:{opacity:i,transform:"translate3d(0, 0, 0)"},children:a.children},s)}class bo extends Y.Component{inputRef;filterTimer;problems;problemsTimer;onProblemUpdatedBound;parent=null;constructor(s){super(s);const i=window.localStorage?window.localStorage.getItem("SideMenu.expanded"):"[]";let r;try{r=JSON.parse(i||"[]")||[]}catch{r=[]}this.inputRef=Y.createRef(),this.state={listItems:S_(s.scripts||{}),expanded:r,problems:[],reorder:!1,themeName:this.props.themeName,selected:window.localStorage&&window.localStorage.getItem("SideMenu.selected")||null,creatingScript:null,creatingFolder:!1,copingScript:"",renaming:null,deleting:null,choosingType:!1,errorText:"",instances:s.instances||[],menuOpened:!1,menuAnchorEl:null,menuAnchorFilterEl:null,searchMode:!1,expertMode:this.props.expertMode,searchText:"",width:this.props.width||300,typeFilter:window.localStorage&&window.localStorage.getItem("SideMenu.typeFilter")||"",statusFilter:window.localStorage&&window.localStorage.getItem("SideMenu.statusFilter")||"",runningInstances:this.props.runningInstances||{},scriptsHash:s.scriptsHash,showAdapterDebug:!1,isAllZeroInstances:!1};const l=this.ensureSelectedIsVisible();l&&Object.assign(this.state,{expanded:l}),this.filterTimer=null,Object.assign(this.state,{isAllZeroInstances:this.getIsAllZeroInstances()}),this.problems=null,this.problemsTimer=null,this.onProblemUpdatedBound=this.onProblemUpdated.bind(this)}readProblems(s,i){var r,l;if(i||(i=Object.keys(this.props.scripts)),!i||!i.length)s&&s();else{const u=i.shift(),d=this.props.scripts[u];if(((r=this.props.scripts)==null?void 0:r[u].type)==="script"&&((l=d.common)!=null&&l.enabled)&&!u.match(/^script\.js\.global\./)){const p=d.common.engine.split(".").pop(),m=this,f=`javascript.${p}.scriptProblem.${u.substring(Wt.length+1)}`;this.props.socket.getState(f).then(v=>{m.onProblemUpdated(f,v),setTimeout(()=>m.readProblems(s,i),0)})}else setTimeout(()=>this.readProblems(s,i),0)}}componentDidMount(){this.readProblems(()=>{this.props.instances.forEach(s=>{this.props.socket.subscribeState(`javascript.${s}.scriptProblem.*`,this.onProblemUpdatedBound)})})}componentWillUnmount(){this.props.instances.forEach(s=>{this.props.socket.unsubscribeState(`javascript.${s}.scriptProblem.*`,this.onProblemUpdatedBound)})}onProblemUpdated(s,i){if(!i||!s)return;s=`${Wt}.${s.replace(/^javascript\.\d+\.scriptProblem\./,"")}`,this.problems||(this.problems=JSON.parse(JSON.stringify(this.state.problems))||[]);let r=!1;if(i.val)this.problems.includes(s)||(this.problems.push(s),r=!0);else{const l=this.problems.indexOf(s);l!==-1&&(this.problems.splice(l,1),r=!0)}r&&!this.problemsTimer&&(this.problemsTimer=setTimeout(()=>{this.problemsTimer=null,this.setState({problems:this.problems}),this.problems=null},300))}static filterListStatic(s,i,r,l,u){i=JSON.parse(JSON.stringify(i));let d=!1;const p={listItems:i};if(s&&r&&l){const m=l.toLowerCase();if(i.forEach(f=>{var k;const v=f.title.toLowerCase();f.filteredPartly=!1;let _=v.includes(m);const y=(k=u==null?void 0:u[f.id])==null?void 0:k.common;if(!_&&(y!=null&&y.source))if(y.engineType==="Blockly"){const C=y.source.lastIndexOf("//");_=y.source.substring(0,C).toLowerCase().includes(m)}else _=y.source.toLowerCase().includes(m);_?f.filtered&&(f.filtered=!1,d=!0):f.filtered||(f.filtered=!0,d=!0)}),d)for(let f=i.length-1;f>=0;f--){const v=i[f];if(!v.filtered||v.filteredPartly){let _=v;do _!=null&&_.parent&&i[_.parentIndex]&&(d=!0,i[_.parentIndex].filteredPartly=!0),_=_!=null&&_.parent&&i[_.parentIndex]?i[_.parentIndex]:null;while(_)}}}else i.forEach(m=>{(m.filtered||m.filteredPartly)&&(m.filtered=!1,m.filteredPartly=!1,d=!0)}),s||(p.searchText="",p.searchMode=!1,d=!0);return d?p:null}filterList(s,i){const r=bo.filterListStatic(s,this.state.listItems,this.state.searchMode,this.state.searchText,this.props.scripts);r?this.setState(r,()=>i&&i()):i&&i()}static ensureSelectedIsVisibleStatic(s,i,r){i=JSON.parse(JSON.stringify(i));let l=!1,u=typeof s=="object"?s:r.find(d=>d.id===s);do{if(u!=null&&u.parent){const d=u.parent;u=r.find(p=>p.id===d)}else u=void 0;u&&(i.includes(u.id)||(i.push(u.id),l=!0))}while(u);return l?i:null}ensureSelectedIsVisible(s,i){return bo.ensureSelectedIsVisibleStatic(s||this.state.selected,i||this.state.expanded,this.state.listItems)}static getDerivedStateFromProps(s,i){const r={};let l=!1;if(i.expertMode!==s.expertMode&&(l=!0,r.expertMode=s.expertMode),i.scriptsHash!==s.scriptsHash&&s.scripts){const u=S_(s.scripts||{});if(r.listItems=u,i.searchText){const m=bo.filterListStatic(!0,u,i.searchMode,i.searchText,s.scripts);m&&Object.assign(r,m)}const d=bo.getIsAllZeroInstancesStatic(u,s.instances||[]),p=bo.ensureSelectedIsVisibleStatic(i.selected,i.expanded,i.listItems);r.isAllZeroInstances=d,p&&(r.expanded=p),l=!0}if(i.width!==s.width&&(l=!0,r.width=s.width),i.themeName!==s.themeName&&(l=!0,r.themeName=s.themeName),s.selectId&&i.selected!==s.selectId){const u=i.listItems.find(d=>d.id===s.selectId);if(!i.reorder&&u){const d=bo.ensureSelectedIsVisibleStatic(u,i.expanded,i.listItems);r.selected=u.id,d&&(r.expanded=d),l=!0,window.localStorage&&window.localStorage.setItem("SideMenu.selected",u.id)}}return l?r:null}static getIsAllZeroInstancesStatic(s,i){let r=!i[0]&&i.length<=1;return r&&s.forEach(l=>{l.type!=="folder"&&l.instance!==0&&(r=!1)}),r}getIsAllZeroInstances(s,i){return s=s||this.state.listItems,i=i||this.state.instances,bo.getIsAllZeroInstancesStatic(s||this.state.listItems,i||this.state.instances)}saveExpanded(s){window.localStorage.setItem("SideMenu.expanded",JSON.stringify(s||this.state.expanded))}showError(s){this.setState({errorText:s})}onToggle(s,i){if(i==null||i.stopPropagation(),s===Wt)return;const r=[...this.state.expanded],l=r.indexOf(s);l!==-1?(r.splice(l,1),this.state.selected&&this.state.selected.startsWith(`${s}.`)&&window.localStorage&&window.localStorage.setItem("SideMenu.selected",s)):(r.push(s),r.sort()),this.setState({expanded:r}),this.saveExpanded(r)}renderItemButtonsOnEnd(s,i){if(this.state.reorder)return null;if(s.type!=="folder"){let r=s.enabled?C_:k_;return s.enabled&&this.state.problems.includes(s.id)&&(r=T_),[g.jsx(Me,{onClick:l=>{l.stopPropagation(),this.props.onEnableDisable&&this.props.onEnableDisable(s.id,!s.enabled)},title:s.enabled?b.I18n.t("Pause script"):b.I18n.t("Run script"),disabled:this.props.debugMode,style:{...fe.iconButtons,...this.props.debugMode?fe.iconButtonsDisabled:void 0,color:r},size:"medium",children:s.enabled?g.jsx(gc,{}):g.jsx(Fg,{})},"startStop"),this.state.width>Nr?g.jsx(Me,{style:this.props.debugMode?fe.iconButtonsDisabled:void 0,title:b.I18n.t("Delete script"),disabled:s.id===$o||s.id===fn||this.props.debugMode,onClick:l=>this.onDelete(s,l),size:"medium",children:g.jsx(dc,{})},"delete"):null,g.jsx(Me,{style:this.props.debugMode?fe.iconButtonsDisabled:void 0,disabled:this.props.debugMode,title:b.I18n.t("Edit script or just double click"),onClick:l=>this.onEdit(s,l),size:"medium",children:g.jsx(ux,{})},"openInEdit")]}return this.state.width>Nr&&s.id!==Wt&&s.id!==fn&&s.id!==$o&&!(i!=null&&i.length)?g.jsx(Me,{style:this.props.debugMode?fe.iconButtonsDisabled:void 0,title:b.I18n.t("Delete folder"),disabled:s.id===$o||s.id===fn||this.props.debugMode,onClick:r=>this.onDelete(s,r),size:"medium",children:g.jsx(dc,{})},"delete"):null}onDelete(s,i){return i==null||i.stopPropagation(),new Promise(r=>{if(!s){r();return}typeof s!="object"?this.setState({deleting:s},()=>r()):this.setState({deleting:s.id},()=>r())})}onEdit(s,i){this.onClick(s,i),this.props.onEdit&&this.props.onEdit(s.id)}getTextStyle(s){return!this.state.reorder&&s.type!=="folder"?{width:`calc(100% - ${this.state.width>Nr?185:137}px)`,overflow:"hidden",whiteSpace:"nowrap",flex:"none",padding:"0 16px 0 0"}:{whiteSpace:"nowrap",padding:"0 16px 0 0"}}onClick(s,i){if(i==null||i.stopPropagation(),!this.state.reorder&&s){const r=this.ensureSelectedIsVisible(s),l={selected:s.id};r&&(l.expanded=r),this.setState(l),window.localStorage&&window.localStorage.setItem("SideMenu.selected",s.id)}}onDblClick(s,i){i==null||i.stopPropagation(),!this.state.reorder&&(s.type==="folder"?this.onToggle(s.id):this.onEdit(s))}isFilteredOut(s){var i,r;return s.filtered&&!s.filteredPartly||this.state.typeFilter&&s.type!=="folder"&&s.type.toLowerCase()!==this.state.typeFilter.toLowerCase()||!this.state.expertMode&&((r=(i=this.props.scripts[s.id])==null?void 0:i.native)!=null&&r.protected)||this.state.statusFilter&&s.type!=="folder"&&(this.state.statusFilter==="running"&&!s.enabled||this.state.statusFilter==="paused"&&s.enabled||this.state.statusFilter==="problems"&&(!s.enabled||this.state.problems.indexOf(s.id)===-1))?!0:s.id===$o&&!this.state.expertMode}renderListItem(s,i,r){var y,k;if(s.id===Wt&&!this.state.reorder)return null;const l=(this.state.reorder?s.depth:s.depth-1)*Rx;let u=s.title;if(this.state.searchText){const C=u.toLowerCase().indexOf(this.state.searchText.toLowerCase());C!==-1&&(u=[g.jsx("span",{children:u.substring(0,C)},"first"),g.jsx("span",{style:{color:"orange"},children:u.substring(C,C+this.state.searchText.length)},"second"),g.jsx("span",{children:u.substring(C+this.state.searchText.length)},"third")])}!this.state.isAllZeroInstances&&s.type!=="folder"&&(u=[g.jsx("span",{children:u},"title"),g.jsxs("span",{title:b.I18n.t("Instance"),style:fe.instances,children:["[",s.instance,"]"]},"instance")]);const d=this.state.reorder&&!this.props.debugMode,p={marginLeft:l,cursor:s.type==="folder"&&d?"default":"inherit",width:`calc(100% - ${l}px)`};d||(p.opacity=s.filteredPartly?.5:1),s.id===$o&&s.id!==this.state.selected&&(p.color="#00a200");let m=s.id===Wt;!m&&i&&(m=this.state.expanded.includes(s.id));let f;s.type==="folder"?f={...fe.folderIcon,...d?fe.folderIconReorder:fe.folderIconNoReorder}:f={...fe.scriptIcon},s.id===$o?f.color="#356956":s.id===fn&&(f.color="#4899e1");let v=null;(r&&r.length||i&&i.length)&&(v=g.jsx("span",{style:fe.childrenCount,children:r&&r.length!==i.length?`${r.length}(${i.length})`:i.length}));const _={...s.type==="folder"?fe.folder:fe.script,...d?fe.reorder:void 0,...d&&s.type!=="folder"?fe.scriptReorder:void 0,...d&&s.type==="folder"?fe.folderReorder:void 0,...p};return g.jsxs(Ok,{style:_,sx:s.id===this.state.selected&&!d?fe.selected:void 0,className:b.Utils.clsx(d&&s.type==="folder"&&"folder-reorder",d&&s.type!=="folder"&&"script-reorder"),onClick:C=>this.onClick(s,C),onDoubleClick:C=>this.onDblClick(s,C),secondaryAction:this.renderItemButtonsOnEnd(s,i),children:[(k=(y=this.props.scripts[s.id])==null?void 0:y.native)!=null&&k.protected?g.jsx(w_,{style:{color:"orange",position:"absolute",right:5,width:10,height:10}}):null,g.jsx(xg,{style:fe.listItemIcon,children:s.type==="folder"?d||m?g.jsx(qk,{style:f,onClick:C=>!d&&this.onToggle(s.id,C)}):g.jsx(Xk,{style:f,onClick:C=>!d&&this.onToggle(s.id,C)}):g.jsx("img",{style:f,alt:s.type,src:$n[s.type]||$n.def})}),g.jsx(Dg,{sx:{"& .MuiListItemText-primary":s.id===this.state.selected&&!d?fe.selected:void 0},style:this.getTextStyle(s),primary:g.jsxs("span",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[u,v]})})]},s.id)}onDragFinish(s,i){let r=`${i}.${s.split(".").pop()}`;r!==s&&(this.state.listItems.find(l=>l.id===r)&&(r+=`_${b.I18n.t("copy")}`),this.props.onRename&&this.props.onRename(s,r))}renderOneItem(s,i){const r=this.state.statusFilter||this.state.typeFilter?s.filter(f=>f.parent===i.id?!this.isFilteredOut(f):!1):[],l=s.filter(f=>f.parent===i.id);if(this.isFilteredOut(i)||i.type==="folder"&&(this.state.statusFilter||this.state.typeFilter)&&!r.length)return null;const u=this.state.reorder&&!this.props.debugMode,d=this.renderListItem(i,l,r),p=[];let m;return l&&(u||this.state.expanded.includes(i.id)||i.id===Wt)&&(m=l.map(f=>this.renderOneItem(s,f))),u?i.type==="folder"?p.push(g.jsxs(Ox,{onDrop:f=>this.onDragFinish(f.name,i.id),folderName:i.id,children:[g.jsx(E_,{name:i.id,children:d},`draggable_${i.id}`),m||null]},`droppable_${i.id}`)):p.push(g.jsxs(E_,{name:i.id,children:[d,m||null]},`draggable_${i.id}`)):(p.push(d),m==null||m.forEach(f=>p.push(f))),p}renderAllItems(s){const i=s.filter(r=>!r.parent).map(r=>this.renderOneItem(s,r));return g.jsx(Ig,{dense:!0,disablePadding:!0,sx:fe.mainList,children:i})}onAddNew(s){s==null||s.stopPropagation();let i=this.state.listItems.find(l=>l.id===this.state.selected),r=Wt;for(;i&&i.type!=="folder";)i=this.state.listItems[i.parentIndex];i&&(r=i.id),this.parent=r,this.setState({choosingType:!0})}onCopy(s,i){s==null||s.stopPropagation();let r=this.state.listItems.find(u=>u.id===i),l=Wt;for(;r&&r.type!=="folder";)r=this.state.listItems[r.parentIndex];r&&(l=r.id),this.parent=l,this.setState({copingScript:i||""})}onAddNewFolder(s){s==null||s.stopPropagation();let i=this.state.listItems.find(l=>l.id===this.state.selected),r=Wt;for(;i&&i.type!=="folder";)i=this.state.listItems[i.parentIndex];i&&(r=i.id),this.parent=r,this.setState({creatingFolder:!0})}onRename(s){s==null||s.stopPropagation(),this.setState({renaming:this.state.selected})}getUniqueName(s){let i=1,r=`${b.I18n.t("Script")} `;if(s){const l=Hg(s,this.props.scripts[s]),u=l.match(/\d+$/);u?(r=l.replace(/\d+$/,""),i=parseInt(u[0],10)+1):r=l}for(;this.state.listItems.find(l=>l.id===`${this.parent}.${r.replace(/\.\s/g,"_")}${i}`);)i++;return r+i}getUniqueFolderName(){let s=1;for(;this.state.listItems.find(i=>i.id===`${this.parent}.${b.I18n.t("Folder")}_${s}`);)s++;return`${b.I18n.t("Folder")} ${s}`}onCloseMenu(s){this.setState({menuOpened:!1,menuAnchorEl:null,menuAnchorFilterEl:null},s)}getMainMenu(s,i){var l,u,d,p;const r=this.state.expertMode&&!!Object.keys(this.props.changedScripts).find(m=>{var f,v;return this.props.changedScripts[m]&&((v=(f=this.props.scripts[m])==null?void 0:f.native)==null?void 0:v.protected)});return g.jsxs(cm,{id:"long-menu",anchorEl:this.state.menuAnchorEl,open:this.state.menuOpened,onClose:()=>this.setState({menuOpened:!1,menuAnchorEl:null}),slotProps:{paper:{style:{maxHeight:Ax*7.5}}},children:[this.state.width<=Nr?g.jsxs(Ge,{disabled:this.props.debugMode||!this.state.selected||this.state.selected===$o||this.state.selected===fn||!!(s!=null&&s.length),onClick:m=>{if(m.stopPropagation(),m.preventDefault(),this.state.listItems.find(f=>f.parent===this.state.selected)){this.showError(b.I18n.t("Cannot delete non empty item!"));return}this.setState({menuOpened:!1,menuAnchorEl:null},()=>this.onDelete(this.state.selected).then(()=>{}))},children:[g.jsx(dc,{style:{...fe.iconDropdownMenu,color:"red"}}),b.I18n.t("Delete")]},"delete"):null,g.jsxs(Ge,{disabled:this.props.debugMode||r,selected:this.state.expertMode,onClick:m=>{m.stopPropagation(),m.preventDefault(),this.onCloseMenu(()=>this.props.onExpertModeChange&&this.props.onExpertModeChange(!this.state.expertMode))},children:[g.jsx(b.IconExpert,{style:{...fe.iconDropdownMenu,color:this.state.expertMode?"orange":"inherit"}}),b.I18n.t("Expert mode")]},"expertMode"),this.props.onExport&&g.jsxs(Ge,{onClick:m=>{m.stopPropagation(),m.preventDefault(),this.onCloseMenu(()=>this.props.onExport())},children:[g.jsx(vc,{style:fe.iconDropdownMenu}),b.I18n.t("Export all scripts")]},"exportAll"),this.props.onImport&&g.jsxs(Ge,{disabled:this.props.debugMode,onClick:m=>{m.stopPropagation(),m.preventDefault(),this.onCloseMenu(()=>this.props.onImport())},children:[g.jsx(Rg,{style:fe.iconDropdownMenu}),b.I18n.t("Import scripts")]},"import"),this.props.onThemeChange&&g.jsxs(Ge,{onClick:()=>this.onCloseMenu(()=>{this.props.onThemeChange&&this.props.onThemeChange(b.Utils.toggleTheme(this.state.themeName))}),children:[g.jsx(hx,{style:fe.iconDropdownMenu}),b.I18n.t('Change theme (actual "%s")',this.state.themeName)]},"dark"),this.props.onAddNew&&g.jsxs(Ge,{disabled:!this.state.selected||!i||i.type==="folder",onClick:m=>{const f=this.state.selected;this.onCloseMenu(()=>this.onCopy(m,f))},children:[g.jsx(Zk,{style:fe.iconDropdownMenu}),b.I18n.t("Copy script")]},"copy"),this.state.expertMode&&g.jsxs(Ge,{disabled:this.props.debugMode,onClick:m=>{m.stopPropagation(),m.preventDefault(),this.onCloseMenu(()=>this.setState({showAdapterDebug:!0}))},children:[g.jsx(nx,{style:fe.iconDropdownMenu}),b.I18n.t("Debug instance")]},"debugInstance"),this.state.selected&&this.props.password&&this.props.scripts[this.state.selected].type==="script"?g.jsxs(Ge,{disabled:this.props.debugMode||this.props.changedScripts[this.state.selected],onClick:m=>{m.stopPropagation(),m.preventDefault(),this.onCloseMenu(async()=>{var v;const f=await this.props.socket.getObject(this.state.selected);f&&((v=f.native)!=null&&v.protected?(delete f.native.protected,f.common.source=Ug(this.props.password,f.common.source||"")):(f.native||={},f.native.protected=!0,f.common.source=mc(this.props.password,f.common.source||"")),await this.props.socket.setObject(f._id,f))})},children:[g.jsx(w_,{style:{...fe.iconDropdownMenu,color:"orange"}}),(u=(l=this.props.scripts[this.state.selected])==null?void 0:l.native)!=null&&u.protected?g.jsx("span",{style:{color:(p=(d=this.props.scripts[this.state.selected])==null?void 0:d.native)!=null&&p.protected?"orange":void 0},children:b.I18n.t("Unprotect script")}):b.I18n.t("Protect script")]},"encrypt"):null]},"menu")}getToolbarButtons(){const s=[],i=this.state.reorder&&!this.props.debugMode;if(this.state.searchMode&&!this.props.debugMode)s.push(g.jsx(Dn,{value:this.state.searchText,style:fe.toolbarSearch,ref:this.inputRef,autoFocus:!0,placeholder:b.I18n.t("Search..."),onChange:r=>{this.setState({searchText:r.target.value}),this.filterTimer&&clearTimeout(this.filterTimer),this.filterTimer=setTimeout(()=>{this.filterTimer=null,this.filterList(!0),this.props.onSearch&&this.props.onSearch(this.state.searchText)},400)}},"searchInput")),s.push(g.jsx(Me,{sx:fe.toolbarButtons,style:{float:"right"},title:b.I18n.t("End search mode"),onClick:r=>{r.stopPropagation(),this.filterList(!1,()=>this.props.onSearch&&this.props.onSearch(this.state.searchText))},size:"medium",children:g.jsx(lx,{})},"disableSearch")),this.state.searchText&&s.push(g.jsx(Me,{title:b.I18n.t("Clear search input"),sx:fe.toolbarButtons,style:{marginTop:7,float:"right"},onClick:r=>{r.stopPropagation(),this.setState({searchText:""},()=>{this.filterList(!0),this.props.onSearch&&this.props.onSearch(this.state.searchText)})},size:"medium",children:g.jsx(Ow,{fontSize:"small"})},"cleanSearch"));else{if(!i){s.push(g.jsx(Me,{"aria-label":"More","aria-owns":this.state.menuOpened?"long-menu":void 0,title:b.I18n.t("Menu"),"aria-haspopup":"true",onClick:u=>{u.stopPropagation(),u.preventDefault(),this.setState({menuOpened:!0,menuAnchorEl:u.currentTarget})},size:"medium",children:g.jsx(dx,{})},"menuButton"));const r=this.state.listItems.find(u=>u.id===this.state.selected);let l;r&&this.state.width<=Nr&&r.type==="folder"&&(l=this.state.listItems.filter(u=>u.parent===this.state.selected)),s.push(this.getMainMenu(l,r)),s.push(g.jsx(Me,{disabled:this.props.debugMode,title:b.I18n.t("Create new script"),sx:{...fe.toolbarButtons,...this.props.debugMode?fe.iconButtonsDisabled:void 0},style:{color:i?"red":"inherit"},onClick:u=>this.onAddNew(u),size:"medium",children:g.jsx(Qk,{})},"new-script")),s.push(g.jsx(Me,{disabled:this.props.debugMode,title:b.I18n.t("Create new folder"),sx:{...fe.toolbarButtons,...this.props.debugMode?fe.iconButtonsDisabled:void 0},style:{color:i?"red":"inherit"},onClick:u=>this.onAddNewFolder(u),size:"medium",children:g.jsx(eS,{})},"new-folder"))}s.push(g.jsx(Me,{disabled:i||this.props.debugMode,sx:{...fe.toolbarButtons,...this.props.debugMode?fe.iconButtonsDisabled:void 0},title:b.I18n.t("Search in scripts"),style:{float:"right",opacity:this.props.debugMode?.5:i?0:1},onClick:r=>{r.stopPropagation(),this.setState({searchMode:!0})},size:"medium",children:g.jsx(gx,{})},"search")),s.push(g.jsx(Me,{disabled:this.props.debugMode,title:b.I18n.t("Reorder scripts in folders"),sx:{...fe.toolbarButtons,...this.props.debugMode?fe.iconButtonsDisabled:void 0},style:{color:i?"red":"inherit",float:"right"},onClick:r=>{r.stopPropagation(),this.setState({reorder:!this.state.reorder})},size:"medium",children:g.jsx(bx,{})},"reorder")),!i&&this.state.selected&&this.state.selected!==$o&&this.state.selected!==fn&&s.push(g.jsx(Me,{sx:{...fe.toolbarButtons,...this.props.debugMode?fe.iconButtonsDisabled:void 0},disabled:this.props.debugMode,title:b.I18n.t("Rename"),onClick:r=>this.onRename(r),size:"medium",children:g.jsx(tS,{})},"rename")),s.push(g.jsxs("span",{style:{opacity:.5,fontSize:10},children:["v",this.props.version]},"version"))}return s}getFolders(){const s=[{id:Wt,name:b.I18n.t("Root folder")}];return this.state.listItems.forEach(i=>{i.type==="folder"&&i.id!==Wt&&(!i.id.startsWith($o)||this.state.expertMode)&&s.push({id:i.id,name:i.title})}),s}onCollapseAll(){this.setState({expanded:[]}),this.saveExpanded([])}onExpandAll(){const s=[];this.state.listItems.forEach(i=>this.state.listItems.find(r=>r.parent===i.id)&&s.push(i.id)),this.setState({expanded:s}),this.saveExpanded(s)}getBottomButtons(){return this.state.reorder||this.props.debugMode?null:[g.jsx($t,{sx:fe.footerButtons,title:b.I18n.t("Show only running scripts"),onClick:s=>{s.stopPropagation(),s.preventDefault();const i=this.state.statusFilter==="running"?"":"running";window.localStorage&&window.localStorage.setItem("SideMenu.statusFilter",i),this.setState({statusFilter:i})},children:g.jsx(gc,{style:{color:C_,opacity:this.state.statusFilter==="running"?1:.3,background:this.state.statusFilter==="running"?"gray":"inherit"}})},"filterByRunning"),g.jsx($t,{sx:fe.footerButtons,title:b.I18n.t("Show only paused scripts"),onClick:()=>{const s=this.state.statusFilter==="paused"?"":"paused";window.localStorage&&window.localStorage.setItem("SideMenu.statusFilter",s),this.setState({statusFilter:s})},children:g.jsx(Fg,{style:{color:k_,opacity:this.state.statusFilter==="paused"?1:.3,background:this.state.statusFilter==="paused"?"gray":"inherit"}})},"filterByPaused"),g.jsx($t,{sx:fe.footerButtons,style:{marginRight:16},title:b.I18n.t("Show only scripts with problems"),onClick:()=>{const s=this.state.statusFilter==="problems"?"":"problems";window.localStorage&&window.localStorage.setItem("SideMenu.statusFilter",s),this.setState({statusFilter:s})},children:g.jsx(gc,{style:{color:T_,opacity:this.state.statusFilter==="problems"?1:.3,background:this.state.statusFilter==="problems"?"gray":"inherit"}})},"filterByProblem"),g.jsx($t,{sx:fe.footerButtons,children:g.jsx("img",{alt:"Blockly",style:{opacity:this.state.typeFilter==="Blockly"?1:.3,background:this.state.typeFilter==="Blockly"?"gray":"inherit"},src:$n.Blockly,onClick:()=>{const s=this.state.typeFilter==="Blockly"?"":"Blockly";window.localStorage&&window.localStorage.setItem("SideMenu.typeFilter",s),this.setState({typeFilter:s})}})},"filterBlockly"),g.jsx($t,{sx:fe.footerButtons,children:g.jsx("img",{alt:"Javascript",style:{opacity:this.state.typeFilter==="Javascript/js"?1:.3,background:this.state.typeFilter==="Javascript/js"?"gray":"inherit"},src:$n["Javascript/js"],onClick:()=>{const s=this.state.typeFilter==="Javascript/js"?"":"Javascript/js";window.localStorage&&window.localStorage.setItem("SideMenu.typeFilter",s),this.setState({typeFilter:s})}})},"filterJS"),g.jsx($t,{sx:fe.footerButtons,children:g.jsx("img",{alt:"TypeScript",style:{opacity:this.state.typeFilter==="TypeScript/ts"?1:.3,background:this.state.typeFilter==="TypeScript/ts"?"gray":"inherit"},src:$n["TypeScript/ts"],onClick:()=>{const s=this.state.typeFilter==="TypeScript/ts"?"":"TypeScript/ts";window.localStorage&&window.localStorage.setItem("SideMenu.typeFilter",s),this.setState({typeFilter:s})}})},"filterTS"),g.jsx($t,{sx:fe.footerButtons,children:g.jsx("img",{alt:"Rules",style:{opacity:this.state.typeFilter==="Rules"?1:.3,background:this.state.typeFilter==="Rules"?"gray":"inherit"},src:$n.Rules,onClick:()=>{const s=this.state.typeFilter==="Rules"?"":"Rules";window.localStorage&&window.localStorage.setItem("SideMenu.typeFilter",s),this.setState({typeFilter:s})}})},"filterRules"),g.jsx("div",{style:{flexGrow:1}},"padding"),g.jsx($t,{sx:fe.footerButtons,onClick:()=>this.onExpandAll(),title:b.I18n.t("Expand all"),children:g.jsx(yx,{style:fe.footerButtonsRight})},"expandAll"),this.state.expanded.length?g.jsx($t,{sx:fe.footerButtons,onClick:()=>this.onCollapseAll(),title:b.I18n.t("Collapse all"),children:g.jsx(vx,{style:fe.footerButtonsRight})},"collapseAll"):g.jsx("div",{style:{height:22,width:24}})]}getAdapterDebugDialog(){return this.state.showAdapterDebug?g.jsx(Ex,{socket:this.props.socket,onClose:()=>this.setState({showAdapterDebug:!1}),onDebug:(s,i)=>this.setState({showAdapterDebug:!1},()=>this.props.onDebugInstance({instance:s,adapter:i}))},"debug"):null}render(){var r,l,u;const s=this.state.renaming?this.state.listItems.find(d=>d.id===this.state.renaming):void 0,i=this.state.copingScript&&this.props.scripts[this.state.copingScript].type==="script"?this.props.scripts[this.state.copingScript]:void 0;return[g.jsxs(Mk,{variant:"permanent",style:fe.menu,sx:{"& .MuiDrawer-paper":fe.drawerPaper},anchor:"left",onClick:()=>this.onClick({id:""}),children:[g.jsx($t,{sx:fe.toolbar,children:this.getToolbarButtons()}),g.jsx(e_,{}),g.jsx(Zw,{backend:uC,children:g.jsx("div",{style:fe.innerMenu,children:this.renderAllItems(this.state.listItems)})}),g.jsx(e_,{}),g.jsx("div",{style:fe.footer,children:this.getBottomButtons()})]},"drawer"),s?g.jsx($m,{name:s.title,id:this.state.renaming||"",folder:s.type==="folder",instance:s.instance,instances:this.props.instances,onClose:()=>this.setState({renaming:null}),onRename:(d,p,m,f)=>this.props.onRename&&this.props.onRename(d,p,m,f)},"dialog-rename"):null,this.state.deleting?g.jsx(_x,{name:this.state.listItems.find(d=>d.id===this.state.deleting).title,id:this.state.deleting,onClose:()=>this.setState({deleting:null}),onDelete:d=>this.props.onDelete&&this.props.onDelete(d)},"dialog-delete"):null,this.state.choosingType?g.jsx(Cn,{onClose:d=>{const p={choosingType:!1};d&&(p.creatingScript=d),this.setState(p)}},"dialog-script-type"):null,this.state.creatingScript?g.jsx(tg,{onClose:()=>this.setState({creatingScript:null}),title:b.I18n.t("Create new script"),name:this.getUniqueName(),parents:this.getFolders(),folder:!1,existingItems:this.state.listItems.map(d=>d.id),instance:this.props.instances[0]||0,instances:this.props.instances,type:this.state.creatingScript,parent:this.parent,onAdd:(d,p,m,f)=>this.props.onAddNew&&this.props.onAddNew(d,p,!1,m,f)},"dialog-new-script"):null,this.state.copingScript?g.jsx(tg,{onClose:()=>this.setState({copingScript:""}),title:b.I18n.t("Copy script"),name:this.getUniqueName(this.state.copingScript),parents:this.getFolders(),folder:!1,instance:parseInt((l=(r=i==null?void 0:i.common)==null?void 0:r.engine)==null?void 0:l.split(".").pop(),10)||0,instances:this.props.instances,type:((u=i==null?void 0:i.common)==null?void 0:u.engineType)||"Javascript/js",parent:this.parent,onAdd:(d,p,m,f)=>{var _;const v=this.state.copingScript&&this.props.scripts[this.state.copingScript].type==="script"?this.props.scripts[this.state.copingScript]:void 0;v!=null&&v.common&&(v.common.enabled=!1),this.props.onAddNew&&this.props.onAddNew(d,p,!1,m,f,(_=v==null?void 0:v.common)==null?void 0:_.source)}},"dialog-copy-script"):null,this.state.creatingFolder?g.jsx(tg,{onClose:()=>this.setState({creatingFolder:!1}),title:b.I18n.t("Create new folder"),parents:this.getFolders(),name:this.getUniqueFolderName(),parent:this.parent,onAdd:(d,p)=>this.props.onAddNew&&this.props.onAddNew(d,p,!0)},"dialog-new-folder"):null,this.state.errorText?g.jsx(Zc,{onClose:()=>this.setState({errorText:""}),text:this.state.errorText},"error"):null,this.getAdapterDebugDialog()]}}const Mx="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgAQMAAADYVuV7AAAABlBMVEUAAAAzMzPI8eYgAAAAAXRSTlMAQObYZgAAACFJREFUeAFjAIJRwP////8PYIKWHCigNQdKj/pn1D+jAABTG16wVQqVpQAAAABJRU5ErkJggg==",Nx="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgAQMAAADYVuV7AAAABlBMVEUAAAAzMzPI8eYgAAAAAXRSTlMAQObYZgAAABtJREFUeAFjAIJRwP8fCj7QkENn/4z6Z5QzCgBjbWaoyx1PqQAAAABJRU5ErkJggg==";function Lx(a){let s,i=a.getHours();return i<10&&(i=`0${i.toString()}`),s=`${i}:`,i=a.getMinutes(),i<10&&(i=`0${i.toString()}`),s+=`${i}:`,i=a.getSeconds(),i<10&&(i=`0${i.toString()}`),s+=`${i}.`,i=a.getMilliseconds(),i<10?i=`00${i.toString()}`:i<100&&(i=`0${i.toString()}`),s+=i,s}const I_=34,Bt={logBox:{width:"100%",height:"100%",position:"relative",overflow:"hidden"},logBoxInner:a=>({display:"inline-block",color:a.palette.mode==="dark"?"white":"black",width:`calc(100% - ${I_}px)`,height:"100%",overflow:"auto",position:"relative",verticalAlign:"top"}),info:a=>({background:a.palette.mode==="dark"?"darkgrey":"lightgrey",color:(a.palette.mode==="dark","black")}),error:a=>({background:"#FF0000",color:a.palette.mode==="dark"?"black":"white"}),warn:a=>({background:"#FF8000",color:a.palette.mode==="dark"?"black":"white"}),debug:a=>({background:"gray",opacity:.8,color:a.palette.mode==="dark"?"black":"white"}),silly:a=>({background:"gray",opacity:.6,color:a.palette.mode==="dark"?"black":"white"}),table:{fontFamily:"monospace",width:"100%"},toolbox:{width:I_,height:"100%",boxShadow:"2px 0px 4px -1px rgba(0, 0, 0, 0.2), 4px 0px 5px 0px rgba(0, 0, 0, 0.14), 1px 0px 10px 0px rgba(0, 0, 0, 0.12)",display:"inline-block",verticalAlign:"top",overflow:"hidden"},trFrom:{width:90},trTime:{width:90},trSeverity:{width:40,fontWeight:"bold"},trPreMessage:{padding:0,margin:0},iconButtons:{width:32,height:32,padding:4},layoutIcon:a=>({"& img":{width:24,height:24,background:a.palette.mode==="dark"?"#9d9d9d":void 0,borderRadius:a.palette.mode==="dark"?"30px":void 0}})};function Px(a){return a<10?`00${a}`:a<100?`0${a}`:a.toString()}const Ks={};class bm extends Y.Component{messagesEnd;constructor(s){super(s),this.state={lines:{},goBottom:!0,selected:null,editing:this.props.editing||[]},this.messagesEnd=Y.createRef()}static generateLine(s,i){let r=s.message||"";if(typeof r!="object"){const l=new RegExp(`${s.from.replace(".","\\.").replace(")","\\)").replace("(","\\(")} \\(\\d+\\) `,"g"),u=r.match(l);u?r=r.replace(u[0],""):r=r.replace(`${s.from} `,"")}return r.startsWith(`${i}: `)&&(r=r.substring(i.length+2)),g.jsxs($t,{component:"tr",sx:Bt[s.severity],children:[g.jsx("td",{style:Bt.trFrom,children:s.from}),g.jsx("td",{style:Bt.trTime,children:Lx(new Date(s.ts))}),g.jsx("td",{style:Bt.trSeverity,children:s.severity}),g.jsx("td",{children:g.jsx("pre",{style:Bt.trPreMessage,children:r})})]},`tr_${s.ts}_${s.message.substring(s.message.length-10)}`)}scrollToBottom(){var s,i;(i=(s=this.messagesEnd)==null?void 0:s.current)==null||i.scrollIntoView({behavior:"smooth"})}logHandler=s=>{const i=this.state.lines,r=this.state.editing.filter(f=>s.message.includes(f));let l=null;if(!r.length||(r.length===1?l=r[0]:(r.sort(),l=r[r.length-1]),!l))return;const u=i[l]||[],d=Ks[l]||[];u.push(bm.generateLine(s,l));let p=s.severity;(p==="info"||p==="warn")&&(p+=" ");const m=new Date(s.ts);d.push(`${m.toLocaleString()}.${Px(m.getMilliseconds())} [${p}]: ${s.message}`),u.length>300&&(u.splice(0,u.length-300),d.splice(0,u.length-300)),Ks[l]=d,i[l]=u,this.setState({lines:i})};componentDidMount(){this.props.socket.registerLogHandler(this.logHandler)}componentWillUnmount(){this.props.socket.unregisterLogHandler(this.logHandler)}componentDidUpdate(){this.state.goBottom&&this.scrollToBottom()}static getDerivedStateFromProps(s,i){let r=!1;const l={};if(s.selected!==i.selected){const u=s.selected,d=i.lines;u&&(d[u]=d[u]||[],Ks[u]=Ks[u]||[]),l.selected=u,r=!0}if(JSON.stringify(s.editing)!==JSON.stringify(i.editing)){const u=JSON.parse(JSON.stringify(s.editing));r=!0;const d=i.lines;for(const p in Ks)Object.prototype.hasOwnProperty.call(Ks,p)&&(u.includes(p)||(delete Ks[p],delete d[p]));l.editing=u}return r?l:null}onCopy(){b.Utils.copyToClipboard((Ks[this.state.selected]||[]).join(` +`))}clearLog(){const s=this.state.lines;s[this.state.selected]&&(s[this.state.selected]=[]),Ks[this.state.selected]&&(Ks[this.state.selected]=[]),this.setState({lines:s})}renderLogList(s){return this.state.selected&&(s!=null&&s.length)?g.jsxs($t,{sx:Bt.logBoxInner,children:[g.jsx("table",{style:Bt.table,children:g.jsx("tbody",{children:s})},"logTable"),g.jsx("div",{ref:this.messagesEnd,style:{float:"left",clear:"both"}},"logScrollPoint")]},"logList"):g.jsx($t,{sx:Bt.logBoxInner,style:{paddingLeft:10},children:b.I18n.t("Log outputs")},"logList")}render(){const s=this.state.selected?this.state.lines[this.state.selected]:null;return g.jsxs("div",{style:Bt.logBox,children:[g.jsxs("div",{style:Bt.toolbox,children:[g.jsx(Me,{style:Bt.iconButtons,onClick:()=>this.setState({goBottom:!this.state.goBottom}),color:this.state.goBottom?"secondary":void 0,size:"medium",children:g.jsx(sS,{})}),s!=null&&s.length?g.jsx(Me,{style:Bt.iconButtons,onClick:()=>this.clearLog(),size:"medium",children:g.jsx(oS,{})}):null,s!=null&&s.length?g.jsx(Me,{style:Bt.iconButtons,onClick:()=>this.onCopy(),size:"medium",children:g.jsx(iS,{})}):null,this.props.onLayoutChange?g.jsx(Me,{style:Bt.iconButtons,onClick:()=>this.props.onLayoutChange&&this.props.onLayoutChange(),title:b.I18n.t("Change layout"),size:"medium",sx:Bt.layoutIcon,children:g.jsx("img",{alt:"split",src:this.props.verticalLayout?Mx:Nx})}):null,g.jsx(Me,{style:Bt.iconButtons,onClick:()=>this.props.onHideLog(),title:b.I18n.t("Hide logs"),size:"medium",children:g.jsx(nS,{})})]},"toolbox"),this.renderLogList(s)]})}}var x_="focus-outline-hidden";function $C(){var a=this;document.addEventListener("keydown",function(s){a.focusByKeyboard=!0},!0),document.addEventListener("mousedown",function(s){a.focusByKeyboard=!1},!0),document.addEventListener("focus",function(s){a.updateVisibility()},!0),document.addEventListener("focusout",function(s){window.setTimeout(function(){document.hasFocus()||(a.focusByKeyboard=!0,a.updateVisibility())},0)}),this.updateVisibility()}$C.prototype={focusByKeyboard:!0,updateVisibility:function(){this.hidden=!this.focusByKeyboard},set hidden(a){document.documentElement.classList.toggle(x_,a)},get hidden(){return document.documentElement.classList.contains(x_)}};new $C;var bC={exports:{}};(function(a){(function(){var s={}.hasOwnProperty;function i(){for(var r=[],l=0;l4&&arguments[4]!==void 0?arguments[4]:"easeInOutCubic";return r>l?i:s+(i-s)*jx[u](r/l)};Ei.calcEndPoint=function(s){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:window,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;if(Fx(s))return parseInt(s)+r;var l=i===window||i===document.documentElement?window.pageYOffset:i.scrollTop-i.getBoundingClientRect().top,u=s.nodeName.toLowerCase()==="html"?-l:s.getBoundingClientRect().top+l;return u+r};(function(a,s){Object.defineProperty(s,"__esModule",{value:!0});var i=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(l){return typeof l}:function(l){return l&&typeof Symbol=="function"&&l.constructor===Symbol&&l!==Symbol.prototype?"symbol":typeof l},r=Ei;s.default=function(l){var u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},d=u.duration,p=d===void 0?500:d,m=u.context,f=m===void 0?window:m,v=u.offset,_=v===void 0?0:v,y=u.ease,k=y===void 0?"easeInOutCubic":y,C=u.callback;if((typeof window>"u"?"undefined":i(window))==="object"){var w=f.scrollTop!==null&&f.scrollTop!==void 0?f.scrollTop:window.pageYOffset,E=(0,r.calcEndPoint)(l,f,_),R=performance.now(),D=window.requestAnimationFrame,A=function J(){var ie=performance.now()-R,se=(0,r.setPosition)(w,E,ie,p,k);f!==window?f.scrollTop=se:window.scroll(0,se),ie>p?typeof C=="function"&&C(l):D(J)};A()}},a.exports=s.default})(Gg,Gg.exports);var vC=Gg.exports,Vg={exports:{}};(function(a,s){Object.defineProperty(s,"__esModule",{value:!0});var i=Object.assign||function(d){for(var p=1;p0&&arguments[0]!==void 0?arguments[0]:{},p=d.query,m=p===void 0?'[href^="#"]:not([href="#"]':p,f=d.match,v=f===void 0?function(E){return document.getElementById(E.hash.substring(1))}:f,_=d.hashChange,y=_===void 0?!0:_,k=d.scrollSmoothConfig,C=document.querySelectorAll(m),w=function(R){R.preventDefault();var D=v(R.target);D&&(y&&history.replaceState(null,null,"#"+D.id),(0,l.default)(D,i({},k)))};Array.from(C).map(function(E){E.addEventListener("click",w,!1)})},a.exports=s.default})(Vg,Vg.exports);var zx=Vg.exports,Kg={exports:{}};(function(a,s){Object.defineProperty(s,"__esModule",{value:!0});function i(r){if(Array.isArray(r)){for(var l=0,u=Array(r.length);l0&&arguments[0]!==void 0?arguments[0]:{},l=r.activeClass,u=l===void 0?"active":l,d=r.query,p=d===void 0?'[href^="#"]:not([href="#"]):not([href="#0"])':d,m=r.threshold,f=m===void 0?[.25,.5,.75]:m,v=r.detectType,_=v===void 0?"max":v,y={threshold:f},k=function(se){return se.classList.remove(u)},C=function(se){return se.classList.add(u)},w=function(){document.querySelectorAll("."+u).forEach(k)},E=function(se){w(),C(document.querySelector('a[href="#'+se.id+'"]'))},R=function(se){se.forEach(function(me){me.intersectionRatio>=Math[_].apply(Math,i(f))&&E(me.target)})},D=document.querySelectorAll(p),A=new IntersectionObserver(R,y),J=function(se){var me=document.querySelector("#"+se.hash.slice(1));A.observe(me)};D.forEach(J)},a.exports=s.default})(Kg,Kg.exports);var Ux=Kg.exports;(function(a,s){Object.defineProperty(s,"__esModule",{value:!0});var i=vC,r=f(i),l=Ei,u=zx,d=f(u),p=Ux,m=f(p);function f(v){return v&&v.__esModule?v:{default:v}}s.default={to:r.default,calcEndPoint:l.calcEndPoint,anchorScroll:d.default,observe:m.default},a.exports=s.default})(Wg,Wg.exports);var Hx=Wg.exports;const Wx=Si(Hx);var vm={exports:{}},Gx=vm.exports;(function(a){(function(s,i){a.exports?a.exports=i():s.Scrollparent=i()})(Gx,function(){var s=/(auto|scroll)/,i=function(p,m){return p.parentNode===null?m:i(p.parentNode,m.concat([p]))},r=function(p,m){return getComputedStyle(p,null).getPropertyValue(m)},l=function(p){return r(p,"overflow")+r(p,"overflow-y")+r(p,"overflow-x")},u=function(p){return s.test(l(p))},d=function(p){if(p instanceof HTMLElement||p instanceof SVGElement){for(var m=i(p.parentNode,[]),f=0;f=s||me<0||_&&z>=u}function R(){var se=sg();if(E(se))return D(se);p=setTimeout(R,w(se))}function D(se){return p=void 0,y&&r?k(se):(r=l=void 0,d)}function A(){p!==void 0&&clearTimeout(p),f=0,r=m=l=p=void 0}function J(){return p===void 0?d:D(sg())}function ie(){var se=sg(),me=E(se);if(r=arguments,l=this,m=se,me){if(p===void 0)return C(m);if(_)return p=setTimeout(R,s),k(m)}return p===void 0&&(p=setTimeout(R,s)),d}return ie.cancel=A,ie.flush=J,ie}function Yg(a){var s=typeof a;return!!a&&(s=="object"||s=="function")}function cD(a){return!!a&&typeof a=="object"}function uD(a){return typeof a=="symbol"||cD(a)&&nD.call(a)==Jx}function R_(a){if(typeof a=="number")return a;if(uD(a))return A_;if(Yg(a)){var s=typeof a.valueOf=="function"?a.valueOf():a;a=Yg(s)?s+"":s}if(typeof a!="string")return a===0?a:+a;a=a.replace(qx,"");var i=Zx.test(a);return i||Qx.test(a)?eD(a.slice(2),i?2:8):Xx.test(a)?A_:+a}var dD=lD;const hD=Si(dD);var Jg="data-focus-lock",yC="data-focus-lock-disabled",pD="data-no-focus-lock",gD="data-autofocus-inside",mD="data-no-autofocus";function og(a,s){return typeof a=="function"?a(s):a&&(a.current=s),a}function fD(a,s){var i=vt(function(){return{value:a,callback:s,facade:{get current(){return i.value},set current(r){var l=i.value;l!==r&&(i.value=r,i.callback(r,l))}}}})[0];return i.callback=s,i.facade}var $D=typeof window<"u"?lm:Mt,O_=new WeakMap;function bD(a,s){var i=fD(null,function(r){return a.forEach(function(l){return og(l,r)})});return $D(function(){var r=O_.get(i);if(r){var l=new Set(r),u=new Set(a),d=i.current;l.forEach(function(p){u.has(p)||og(p,null)}),u.forEach(function(p){l.has(p)||og(p,d)})}O_.set(i,a)},[a]),i}var ig={width:"1px",height:"0px",padding:0,overflow:"hidden",position:"fixed",top:"1px",left:"1px"};function _C(a){return a}function wC(a,s){s===void 0&&(s=_C);var i=[],r=!1,l={read:function(){if(r)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return i.length?i[i.length-1]:a},useMedium:function(u){var d=s(u,r);return i.push(d),function(){i=i.filter(function(p){return p!==d})}},assignSyncMedium:function(u){for(r=!0;i.length;){var d=i;i=[],d.forEach(u)}i={push:function(p){return u(p)},filter:function(){return i}}},assignMedium:function(u){r=!0;var d=[];if(i.length){var p=i;i=[],p.forEach(u),d=i}var m=function(){var v=d;d=[],v.forEach(u)},f=function(){return Promise.resolve().then(m)};f(),i={push:function(v){d.push(v),f()},filter:function(v){return d=d.filter(v),i}}}};return l}function ym(a,s){return s===void 0&&(s=_C),wC(a,s)}function vD(a){a===void 0&&(a={});var s=wC(null);return s.options=rS({async:!0,ssr:!1},a),s}var CC=ym({},function(a){var s=a.target,i=a.currentTarget;return{target:s,currentTarget:i}}),TC=ym(),yD=ym(),_D=vD({async:!0,ssr:typeof document<"u"}),wD=rm(void 0),CD=[],_m=Sw(function(s,i){var r,l=vt(),u=l[0],d=l[1],p=Bo(),m=Bo(!1),f=Bo(null),v=vt({}),_=v[1],y=s.children,k=s.disabled,C=k===void 0?!1:k,w=s.noFocusGuards,E=w===void 0?!1:w,R=s.persistentFocus,D=R===void 0?!1:R,A=s.crossFrame,J=A===void 0?!0:A,ie=s.autoFocus,se=ie===void 0?!0:ie;s.allowTextSelection;var me=s.group,z=s.className,Oe=s.whiteList,Ne=s.hasPositiveIndices,Ze=s.shards,ae=Ze===void 0?CD:Ze,ce=s.as,K=ce===void 0?"div":ce,ye=s.lockProps,he=ye===void 0?{}:ye,je=s.sideCar,V=s.returnFocus,tt=V===void 0?!1:V,q=s.focusOptions,ee=s.onActivation,B=s.onDeactivation,H=vt({}),U=H[0],re=_n(function(ke){var $e=ke.captureFocusRestore;if(!f.current){var Pe,bt=(Pe=document)==null?void 0:Pe.activeElement;f.current=bt,bt!==document.body&&(f.current=$e(bt))}p.current&&ee&&ee(p.current),m.current=!0,_()},[ee]),I=_n(function(){m.current=!1,B&&B(p.current),_()},[B]),de=_n(function(ke){var $e=f.current;if($e){var Pe=(typeof $e=="function"?$e():$e)||document.body,bt=typeof tt=="function"?tt(Pe):tt;if(bt){var X=typeof bt=="object"?bt:void 0;f.current=null,ke?Promise.resolve().then(function(){return Pe.focus(X)}):Pe.focus(X)}}},[tt]),W=_n(function(ke){m.current&&CC.useMedium(ke)},[]),Ce=TC.useMedium,be=_n(function(ke){p.current!==ke&&(p.current=ke,d(ke))},[]),Se=Tg((r={},r[yC]=C&&"disabled",r[Jg]=me,r),he),pe=E!==!0,Ve=pe&&E!=="tail",Je=bD([i,be]),_e=rs(function(){return{observed:p,shards:ae,enabled:!C,active:m.current}},[C,m.current,ae,u]);return Y.createElement(Sg,null,pe&&[Y.createElement("div",{key:"guard-first","data-focus-guard":!0,tabIndex:C?-1:0,style:ig}),Ne?Y.createElement("div",{key:"guard-nearest","data-focus-guard":!0,tabIndex:C?-1:1,style:ig}):null],!C&&Y.createElement(je,{id:U,sideCar:_D,observed:u,disabled:C,persistentFocus:D,crossFrame:J,autoFocus:se,whiteList:Oe,shards:ae,onActivation:re,onDeactivation:I,returnFocus:de,focusOptions:q,noFocusGuards:E}),Y.createElement(K,Tg({ref:Je},Se,{className:z,onBlur:Ce,onFocus:W}),Y.createElement(wD.Provider,{value:_e},y)),Ve&&Y.createElement("div",{"data-focus-guard":!0,tabIndex:C?-1:0,style:ig}))});_m.propTypes={};function TD(a,s){function i(r){return r.displayName||r.name||"Component"}return function(l){var u=[],d;function p(){d=a(u.map(function(f){return f.props})),s(d)}var m=(function(f){ES(v,f);function v(){return f.apply(this,arguments)||this}v.peek=function(){return d};var _=v.prototype;return _.componentDidMount=function(){u.push(this),p()},_.componentDidUpdate=function(){p()},_.componentWillUnmount=function(){var k=u.indexOf(this);u.splice(k,1),p()},_.render=function(){return Y.createElement(l,this.props)},v})(Dk);return KS(m,"displayName","SideEffect("+i(l)+")"),m}}var Xs=function(a){for(var s=Array(a.length),i=0;i=0}).sort(OD)},ND=["button:enabled","select:enabled","textarea:enabled","input:enabled","a[href]","area[href]","summary","iframe","object","embed","audio[controls]","video[controls]","[tabindex]","[contenteditable]","[autofocus]"],Tm=ND.join(","),LD="".concat(Tm,", [data-focus-guard]"),OC=function(a,s){return Xs((a.shadowRoot||a).children).reduce(function(i,r){return i.concat(r.matches(s?LD:Tm)?[r]:[],OC(r))},[])},PD=function(a,s){var i;return a instanceof HTMLIFrameElement&&(!((i=a.contentDocument)===null||i===void 0)&&i.body)?An([a.contentDocument.body],s):[a]},An=function(a,s){return a.reduce(function(i,r){var l,u=OC(r,s),d=(l=[]).concat.apply(l,u.map(function(p){return PD(p,s)}));return i.concat(d,r.parentNode?Xs(r.parentNode.querySelectorAll(Tm)).filter(function(p){return p===r}):[])},[])},BD=function(a){var s=a.querySelectorAll("[".concat(gD,"]"));return Xs(s).map(function(i){return An([i])}).reduce(function(i,r){return i.concat(r)},[])},km=function(a,s){return Xs(a).filter(function(i){return IC(s,i)}).filter(function(i){return DD(i)})},M_=function(a,s){return s===void 0&&(s=new Map),Xs(a).filter(function(i){return xC(s,i)})},Sm=function(a,s,i){return Cm(km(An(a,i),s),!0,i)},Kr=function(a,s){return Cm(km(An(a),s),!1)},jD=function(a,s){return km(BD(a),s)},yi=function(a,s){return a.shadowRoot?yi(a.shadowRoot,s):Object.getPrototypeOf(a).contains!==void 0&&Object.getPrototypeOf(a).contains.call(a,s)?!0:Xs(a.children).some(function(i){var r;if(i instanceof HTMLIFrameElement){var l=(r=i.contentDocument)===null||r===void 0?void 0:r.body;return l?yi(l,s):!1}return yi(i,s)})},FD=function(a){for(var s=new Set,i=a.length,r=0;r0&&s.add(l),(u&Node.DOCUMENT_POSITION_CONTAINS)>0&&s.add(r)}return a.filter(function(d,p){return!s.has(p)})},MC=function(a){return a.parentNode?MC(a.parentNode):a},Em=function(a){var s=Ti(a);return s.filter(Boolean).reduce(function(i,r){var l=r.getAttribute(Jg);return i.push.apply(i,l?FD(Xs(MC(r).querySelectorAll("[".concat(Jg,'="').concat(l,'"]:not([').concat(yC,'="disabled"])')))):[r]),i},[])},zD=function(a){try{return a()}catch{return}},Yr=function(a){if(a===void 0&&(a=document),!(!a||!a.activeElement)){var s=a.activeElement;return s.shadowRoot?Yr(s.shadowRoot):s instanceof HTMLIFrameElement&&zD(function(){return s.contentWindow.document})?Yr(s.contentWindow.document):s}},UD=function(a,s){return a===s},HD=function(a,s){return!!Xs(a.querySelectorAll("iframe")).some(function(i){return UD(i,s)})},NC=function(a,s){return s===void 0&&(s=Yr(kC(a).ownerDocument)),!s||s.dataset&&s.dataset.focusGuard?!1:Em(a).some(function(i){return yi(i,s)||HD(i,s)})},WD=function(a){a===void 0&&(a=document);var s=Yr(a);return s?Xs(a.querySelectorAll("[".concat(pD,"]"))).some(function(i){return yi(i,s)}):!1},GD=function(a,s){return s.filter(RC).filter(function(i){return i.name===a.name}).filter(function(i){return i.checked})[0]||a},Im=function(a,s){return RC(a)&&a.name?GD(a,s):a},VD=function(a){var s=new Set;return a.forEach(function(i){return s.add(Im(i,a))}),a.filter(function(i){return s.has(i)})},N_=function(a){return a[0]&&a.length>1?Im(a[0],a):a[0]},L_=function(a,s){return a.indexOf(Im(s,a))},Xg="NEW_FOCUS",KD=function(a,s,i,r,l){var u=a.length,d=a[0],p=a[u-1],m=wm(r);if(!(r&&a.indexOf(r)>=0)){var f=r!==void 0?i.indexOf(r):-1,v=l?i.indexOf(l):f,_=l?a.indexOf(l):-1;if(f===-1)return _!==-1?_:Xg;if(_===-1)return Xg;var y=f-v,k=i.indexOf(d),C=i.indexOf(p),w=VD(i),E=r!==void 0?w.indexOf(r):-1,R=l?w.indexOf(l):E,D=w.filter(function(z){return z.tabIndex>=0}),A=r!==void 0?D.indexOf(r):-1,J=l?D.indexOf(l):A,ie=A>=0&&J>=0?J-A:R-E;if(!y&&_>=0||s.length===0)return _;var se=L_(a,s[0]),me=L_(a,s[s.length-1]);if(f<=k&&m&&Math.abs(y)>1)return me;if(f>=C&&m&&Math.abs(y)>1)return se;if(y&&Math.abs(ie)>1)return _;if(f<=k)return me;if(f>C)return se;if(y)return Math.abs(y)>1?_:(u+_+y)%u}},YD=function(a){return function(s){var i,r=(i=DC(s))===null||i===void 0?void 0:i.autofocus;return s.autofocus||r!==void 0&&r!=="false"||a.indexOf(s)>=0}},P_=function(a,s,i){var r=a.map(function(u){var d=u.node;return d}),l=M_(r.filter(YD(i)));return l&&l.length?N_(l):N_(M_(s))},Zg=function(a,s){return s===void 0&&(s=[]),s.push(a),a.parentNode&&Zg(a.parentNode.host||a.parentNode,s),s},ng=function(a,s){for(var i=Zg(a),r=Zg(s),l=0;l=0)return u}return!1},LC=function(a,s,i){var r=Ti(a),l=Ti(s),u=r[0],d=!1;return l.filter(Boolean).forEach(function(p){d=ng(d||p,p)||d,i.filter(Boolean).forEach(function(m){var f=ng(u,m);f&&(!d||yi(f,d)?d=f:d=ng(f,d))})}),d},B_=function(a,s){return a.reduce(function(i,r){return i.concat(jD(r,s))},[])},JD=function(a,s){var i=new Map;return s.forEach(function(r){return i.set(r.node,r)}),a.map(function(r){return i.get(r)}).filter(RD)},qD=function(a,s){var i=Yr(Ti(a).length>0?document:kC(a).ownerDocument),r=Em(a).filter(qg),l=LC(i||a,a,r),u=new Map,d=Kr(r,u),p=d.filter(function(C){var w=C.node;return qg(w)});if(p[0]){var m=Kr([l],u).map(function(C){var w=C.node;return w}),f=JD(m,p),v=f.map(function(C){var w=C.node;return w}),_=f.filter(function(C){var w=C.tabIndex;return w>=0}).map(function(C){var w=C.node;return w}),y=KD(v,_,m,i,s);if(y===Xg){var k=P_(d,_,B_(r,u))||P_(d,v,B_(r,u));if(k)return{node:k};console.warn("focus-lock: cannot find any node to move focus into");return}return y===void 0?y:f[y]}},XD=function(a){var s=Em(a).filter(qg),i=LC(a,a,s),r=Cm(An([i],!0),!0,!0),l=An(s,!1);return r.map(function(u){var d=u.node,p=u.index;return{node:d,index:p,lockItem:l.indexOf(d)>=0,guard:wm(d)}})},xm=function(a,s){a&&("focus"in a&&a.focus(s),"contentWindow"in a&&a.contentWindow&&a.contentWindow.focus())},rg=0,ag=!1,PC=function(a,s,i){i===void 0&&(i={});var r=qD(a,s);if(!ag&&r){if(rg>2){console.error("FocusLock: focus-fighting detected. Only one focus management system could be active. See https://github.com/theKashey/focus-lock/#focus-fighting"),ag=!0,setTimeout(function(){ag=!1},1);return}rg++,xm(r.node,i.focusOptions),rg--}};function Lr(a){if(!a)return null;if(typeof WeakRef>"u")return function(){return a||null};var s=a?new WeakRef(a):null;return function(){return(s==null?void 0:s.deref())||null}}var ZD=function(a){if(!a)return null;for(var s=[],i=a;i&&i!==document.body;)s.push({current:Lr(i),parent:Lr(i.parentElement),left:Lr(i.previousElementSibling),right:Lr(i.nextElementSibling)}),i=i.parentElement;return{element:Lr(a),stack:s,ownerDocument:a.ownerDocument}},QD=function(a){var s,i,r,l,u;if(a)for(var d=a.stack,p=a.ownerDocument,m=new Map,f=0,v=d;f-1&&(E.filter(function(D){var A=D.guard,J=D.node;return A&&J.dataset.focusAutoGuard}).forEach(function(D){var A=D.node;return A.removeAttribute("tabIndex")}),F_(R,E.length,1,E),F_(R,-1,-1,E))}}}return s},HC=function(s){wc()&&s&&(s.stopPropagation(),s.preventDefault())},Rm=function(){return Dm(wc)},$A=function(s){var i=s.target,r=s.currentTarget;r.contains(i)||dA(r,i)},bA=function(){return null},WC=function(){Am=!0},GC=function(){Am=!1,Jr="just",Dm(function(){Jr="meanwhile"})},vA=function(){document.addEventListener("focusin",HC),document.addEventListener("focusout",Rm),window.addEventListener("focus",WC),window.addEventListener("blur",GC)},yA=function(){document.removeEventListener("focusin",HC),document.removeEventListener("focusout",Rm),window.removeEventListener("focus",WC),window.removeEventListener("blur",GC)};function _A(a){return a.filter(function(s){var i=s.disabled;return!i})}var VC={moveFocusInside:PC,focusInside:NC,focusNextElement:oA,focusPrevElement:iA,focusFirstElement:nA,focusLastElement:rA,captureFocusRestore:BC};function wA(a){var s=a.slice(-1)[0];s&&!Sn&&vA();var i=Sn,r=i&&s&&s.id===i.id;Sn=s,i&&!r&&(i.onDeactivation(),a.filter(function(l){var u=l.id;return u===i.id}).length||i.returnFocus(!s)),s?(Zt=null,(!r||i.observed!==s.observed)&&s.onActivation(VC),wc(),Dm(wc)):(yA(),Zt=null)}CC.assignSyncMedium($A);TC.assignMedium(Rm);yD.assignMedium(function(a){return a(VC)});const CA=TD(_A,wA)(bA);var KC=Sw(function(s,i){return Y.createElement(_m,Tg({sideCar:CA,ref:i},s))}),YC=_m.propTypes||{};YC.sideCar;IS(YC,["sideCar"]);KC.propTypes={};var JC={exports:{}},et={};var Om=Symbol.for("react.element"),Mm=Symbol.for("react.portal"),Qc=Symbol.for("react.fragment"),eu=Symbol.for("react.strict_mode"),tu=Symbol.for("react.profiler"),su=Symbol.for("react.provider"),ou=Symbol.for("react.context"),TA=Symbol.for("react.server_context"),iu=Symbol.for("react.forward_ref"),nu=Symbol.for("react.suspense"),ru=Symbol.for("react.suspense_list"),au=Symbol.for("react.memo"),lu=Symbol.for("react.lazy"),kA=Symbol.for("react.offscreen"),qC;qC=Symbol.for("react.module.reference");function _s(a){if(typeof a=="object"&&a!==null){var s=a.$$typeof;switch(s){case Om:switch(a=a.type,a){case Qc:case tu:case eu:case nu:case ru:return a;default:switch(a=a&&a.$$typeof,a){case TA:case ou:case iu:case lu:case au:case su:return a;default:return s}}case Mm:return s}}}et.ContextConsumer=ou;et.ContextProvider=su;et.Element=Om;et.ForwardRef=iu;et.Fragment=Qc;et.Lazy=lu;et.Memo=au;et.Portal=Mm;et.Profiler=tu;et.StrictMode=eu;et.Suspense=nu;et.SuspenseList=ru;et.isAsyncMode=function(){return!1};et.isConcurrentMode=function(){return!1};et.isContextConsumer=function(a){return _s(a)===ou};et.isContextProvider=function(a){return _s(a)===su};et.isElement=function(a){return typeof a=="object"&&a!==null&&a.$$typeof===Om};et.isForwardRef=function(a){return _s(a)===iu};et.isFragment=function(a){return _s(a)===Qc};et.isLazy=function(a){return _s(a)===lu};et.isMemo=function(a){return _s(a)===au};et.isPortal=function(a){return _s(a)===Mm};et.isProfiler=function(a){return _s(a)===tu};et.isStrictMode=function(a){return _s(a)===eu};et.isSuspense=function(a){return _s(a)===nu};et.isSuspenseList=function(a){return _s(a)===ru};et.isValidElementType=function(a){return typeof a=="string"||typeof a=="function"||a===Qc||a===tu||a===eu||a===nu||a===ru||a===kA||typeof a=="object"&&a!==null&&(a.$$typeof===lu||a.$$typeof===au||a.$$typeof===su||a.$$typeof===ou||a.$$typeof===iu||a.$$typeof===qC||a.getModuleId!==void 0)};et.typeOf=_s;JC.exports=et;var XC=JC.exports;function SA(a){function s(B,H,U,re,I){for(var de=0,W=0,Ce=0,be=0,Se,pe,Ve=0,Je=0,_e,ke=_e=Se=0,$e=0,Pe=0,bt=0,X=0,ct=U.length,ze=ct-1,kt,ve="",st="",Zs="",St="",Et;$eSe)&&(X=(ve=ve.replace(" ",":")).length),0re&&(re=(H=H.trim()).charCodeAt(0)),re){case 38:return H.replace(R,"$1"+B.trim());case 58:return B.trim()+H.replace(R,"$1"+B.trim());default:if(0<1*U&&0W.charCodeAt(8))break;case 115:I=I.replace(W,"-webkit-"+W)+";"+I;break;case 207:case 102:I=I.replace(W,"-webkit-"+(102U.charCodeAt(0)&&(U=U.trim()),ee=U,U=[ee],01?s-1:0),r=1;r0?" Args: "+i.join(", "):""))}var DA=(function(){function a(i){this.groupSizes=new Uint32Array(512),this.length=512,this.tag=i}var s=a.prototype;return s.indexOfGroup=function(i){for(var r=0,l=0;l=this.groupSizes.length){for(var l=this.groupSizes,u=l.length,d=u;i>=d;)(d<<=1)<0&&aa(16,""+i);this.groupSizes=new Uint32Array(d),this.groupSizes.set(l),this.length=d;for(var p=u;p=this.length||this.groupSizes[i]===0)return r;for(var l=this.groupSizes[i],u=this.indexOfGroup(i),d=u+l,p=u;p=zr&&(zr=s+1),fc.set(a,s),Tc.set(s,a)},OA="style["+Rn+'][data-styled-version="5.3.11"]',MA=new RegExp("^"+Rn+'\\.g(\\d+)\\[id="([\\w\\d-]+)"\\].*?"([^"]*)'),NA=function(a,s,i){for(var r,l=i.split(","),u=0,d=l.length;u=0;f--){var v=m[f];if(v&&v.nodeType===1&&v.hasAttribute(Rn))return v}})(i),u=l!==void 0?l.nextSibling:null;r.setAttribute(Rn,"active"),r.setAttribute("data-styled-version","5.3.11");var d=PA();return d&&r.setAttribute("nonce",d),i.insertBefore(r,u),r},BA=(function(){function a(i){var r=this.element=ZC(i);r.appendChild(document.createTextNode("")),this.sheet=(function(l){if(l.sheet)return l.sheet;for(var u=document.styleSheets,d=0,p=u.length;d=0){var l=document.createTextNode(r),u=this.nodes[i];return this.element.insertBefore(l,u||null),this.length++,!0}return!1},s.deleteRule=function(i){this.element.removeChild(this.nodes[i]),this.length--},s.getRule=function(i){return i0&&(_+=y+",")})),u+=""+f+v+'{content:"'+_+`"}/*!sc*/ +`}}}return u})(this)},a})(),UA=/(a)(d)/gi,W_=function(a){return String.fromCharCode(a+(a>25?39:97))};function em(a){var s,i="";for(s=Math.abs(a);s>52;s=s/52|0)i=W_(s%52)+i;return(W_(s%52)+i).replace(UA,"$1-$2")}var Tn=function(a,s){for(var i=s.length;i;)a=33*a^s.charCodeAt(--i);return a},QC=function(a){return Tn(5381,a)};function eT(a){for(var s=0;s>>0);if(!i.hasNameForId(l,p)){var m=r(d,"."+p,void 0,l);i.insertRules(l,p,m)}u.push(p),this.staticRulesId=p}else{for(var f=this.rules.length,v=Tn(this.baseHash,r.hash),_="",y=0;y>>0);if(!i.hasNameForId(l,E)){var R=r(_,"."+E,void 0,l);i.insertRules(l,E,R)}u.push(E)}}return u.join(" ")},a})(),GA=/^\s*\/\/.*$/gm,VA=[":","[",".","#"];function KA(a){var s,i,r,l,u=jo,d=u.options,p=d===void 0?jo:d,m=u.plugins,f=m===void 0?Cc:m,v=new SA(p),_=[],y=(function(w){function E(R){if(R)try{w(R+"}")}catch{}}return function(R,D,A,J,ie,se,me,z,Oe,Ne){switch(R){case 1:if(Oe===0&&D.charCodeAt(0)===64)return w(D+";"),"";break;case 2:if(z===0)return D+"/*|*/";break;case 3:switch(z){case 102:case 112:return w(A[0]+D),"";default:return D+(Ne===0?"/*|*/":"")}case-2:D.split("/*|*/}").forEach(E)}}})((function(w){_.push(w)})),k=function(w,E,R){return E===0&&VA.indexOf(R[i.length])!==-1||R.match(l)?w:"."+s};function C(w,E,R,D){D===void 0&&(D="&");var A=w.replace(GA,""),J=E&&R?R+" "+E+" { "+A+" }":A;return s=D,i=E,r=new RegExp("\\"+i+"\\b","g"),l=new RegExp("(\\"+i+"\\b){2,}"),v(R||!E?"":E,J)}return v.use([].concat(f,[function(w,E,R){w===2&&R.length&&R[0].lastIndexOf(i)>0&&(R[0]=R[0].replace(r,k))},y,function(w){if(w===-2){var E=_;return _=[],E}}])),C.hash=f.length?f.reduce((function(w,E){return E.name||aa(15),Tn(w,E.name)}),5381).toString():"",C}var tT=Y.createContext();tT.Consumer;var sT=Y.createContext(),YA=(sT.Consumer,new kc),tm=KA();function oT(){return Xr(tT)||YA}function iT(){return Xr(sT)||tm}var JA=(function(){function a(s,i){var r=this;this.inject=function(l,u){u===void 0&&(u=tm);var d=r.name+u.hash;l.hasNameForId(r.id,d)||l.insertRules(r.id,d,u(r.rules,d,"@keyframes"))},this.toString=function(){return aa(12,String(r.name))},this.name=s,this.id="sc-keyframes-"+s,this.rules=i}return a.prototype.getName=function(s){return s===void 0&&(s=tm),this.name+s.hash},a})(),qA=/([A-Z])/,XA=/([A-Z])/g,ZA=/^ms-/,QA=function(a){return"-"+a.toLowerCase()};function G_(a){return qA.test(a)?a.replace(XA,QA).replace(ZA,"-ms-"):a}var V_=function(a){return a==null||a===!1||a===""};function ki(a,s,i,r){if(Array.isArray(a)){for(var l,u=[],d=0,p=a.length;d1?s-1:0),r=1;r?@[\\\]^`{|}~-]+/g,t0=/(^-|-$)/g;function lg(a){return a.replace(e0,"-").replace(t0,"")}var aT=function(a){return em(QC(a)>>>0)};function ic(a){return typeof a=="string"&&!0}var sm=function(a){return typeof a=="function"||typeof a=="object"&&a!==null&&!Array.isArray(a)},s0=function(a){return a!=="__proto__"&&a!=="constructor"&&a!=="prototype"};function o0(a,s,i){var r=a[i];sm(s)&&sm(r)?lT(r,s):a[i]=s}function lT(a){for(var s=arguments.length,i=new Array(s>1?s-1:0),r=1;r=0||(Ne[z]=se[z]);return Ne})(s,["componentId"]),ie=A&&A+"-"+(ic(D)?D:lg(U_(D)));return cT(D,Js({},J,{attrs:y,componentId:ie}),i)},Object.defineProperty(C,"defaultProps",{get:function(){return this._foldedDefaultProps},set:function(D){this._foldedDefaultProps=r?lT({},a.defaultProps,D):D}}),Object.defineProperty(C,"toString",{value:function(){return"."+C.styledComponentId}}),l&&xS(C,a,{attrs:!0,componentStyle:!0,displayName:!0,foldedComponentIds:!0,shouldForwardProp:!0,styledComponentId:!0,target:!0,withComponent:!0}),C}var ys=function(a){return(function s(i,r,l){if(l===void 0&&(l=jo),!XC.isValidElementType(r))return aa(1,String(r));var u=function(){return i(r,l,nT.apply(void 0,arguments))};return u.withConfig=function(d){return s(i,r,Js({},l,{},d))},u.attrs=function(d){return s(i,r,Js({},l,{attrs:Array.prototype.concat(l.attrs,d).filter(Boolean)}))},u})(cT,a)};["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","big","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","marquee","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr","circle","clipPath","defs","ellipse","foreignObject","g","image","line","linearGradient","marker","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","svg","text","textPath","tspan"].forEach((function(a){ys[a]=ys(a)}));var i0=(function(){function a(i,r){this.rules=i,this.componentId=r,this.isStatic=eT(i),kc.registerId(this.componentId+1)}var s=a.prototype;return s.createStyles=function(i,r,l,u){var d=u(ki(this.rules,r,l,u).join(""),""),p=this.componentId+i;l.insertRules(p,p,d)},s.removeStyles=function(i,r){r.clearRules(this.componentId+i)},s.renderStyles=function(i,r,l,u){i>2&&kc.registerId(this.componentId+i),this.removeStyles(i,l),this.createStyles(i,r,l,u)},a})();function n0(a){for(var s=arguments.length,i=new Array(s>1?s-1:0),r=1;ra.length)&&(s=a.length);for(var i=0,r=Array(s);i=a.length?{done:!0}:{done:!1,value:a[r++]}},e:function(m){throw m},f:l}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var u,d=!0,p=!1;return{s:function(){i=i.call(a)},n:function(){var m=i.next();return d=m.done,m},e:function(m){p=!0,u=m},f:function(){try{d||i.return==null||i.return()}finally{if(p)throw u}}}}function fs(a,s,i){return(s=dT(s))in a?Object.defineProperty(a,s,{value:i,enumerable:!0,configurable:!0,writable:!0}):a[s]=i,a}function Sc(a){return Sc=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(s){return s.__proto__||Object.getPrototypeOf(s)},Sc(a)}function h0(a,s){if(typeof s!="function"&&s!==null)throw new TypeError("Super expression must either be null or a function");a.prototype=Object.create(s&&s.prototype,{constructor:{value:a,writable:!0,configurable:!0}}),Object.defineProperty(a,"prototype",{writable:!1}),s&&om(a,s)}function uT(){try{var a=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(uT=function(){return!!a})()}function p0(a,s){var i=a==null?null:typeof Symbol<"u"&&a[Symbol.iterator]||a["@@iterator"];if(i!=null){var r,l,u,d,p=[],m=!0,f=!1;try{if(u=(i=i.call(a)).next,s!==0)for(;!(m=(r=u.call(i)).done)&&(p.push(r.value),p.length!==s);m=!0);}catch(v){f=!0,l=v}finally{try{if(!m&&i.return!=null&&(d=i.return(),Object(d)!==d))return}finally{if(f)throw l}}return p}}function g0(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function J_(a,s){var i=Object.keys(a);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(a);s&&(r=r.filter(function(l){return Object.getOwnPropertyDescriptor(a,l).enumerable})),i.push.apply(i,r)}return i}function Ec(a){for(var s=1;si.right&&(i.right=p.right),p.bottom>i.bottom&&(i.bottom=p.bottom),p.left=0+m&&l>=0+m&&r<=d-m&&i<=u-m}function _0(a){return a===document.querySelector("body")||a===document.querySelector("html")}var w0=function(s){return/(left|right)/.test(s)},ug=function(s,i){return s>i},dg=function(s,i){return s>i},Ys=function(s){return s<0?0:s};function C0(a){return Object.keys(a).map(function(s){return{position:s,value:a[s]}}).sort(function(s,i){return i.value-s.value}).map(function(s){return s.position})}var sw,T0=ys.div(sw||(sw=Os([` +`])));function $c(a){var s=a.getBoundingClientRect(),i=s.top,r=s.right,l=s.bottom,u=s.left,d=s.width,p=s.height;return{top:i,right:r,bottom:l,left:u,width:d,height:p}}function fT(a,s){if(!s.highlightedSelectors)return $c(a);var i=$c(a),r=In(s.highlightedSelectors),l;try{for(r.s();!(l=r.n()).done;){var u=l.value,d=document.querySelector(u);if(!(!d||d.style.display==="none"||d.style.visibility==="hidden")){var p=$c(d);p.topi.right&&(i.right=p.right),p.bottom>i.bottom&&(i.bottom=p.bottom),p.left=0+m&&l>=0+m&&r<=d-m&&i<=u-m}function w0(a){return a===document.querySelector("body")||a===document.querySelector("html")}var C0=function(s){return/(left|right)/.test(s)},ug=function(s,i){return s>i},dg=function(s,i){return s>i},Ys=function(s){return s<0?0:s};function T0(a){return Object.keys(a).map(function(s){return{position:s,value:a[s]}}).sort(function(s,i){return i.value-s.value}).map(function(s){return s.position})}var sw,k0=ys.div(sw||(sw=Os([` --reactour-accent: `,`; `,` position: fixed; @@ -151,7 +151,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho padding: 24px 30px; box-shadow: 0 0.5em 3em rgba(0, 0, 0, 0.3); color: inherit; - `):""},function(a){var s=a.targetTop,i=a.targetRight,r=a.targetBottom,l=a.targetLeft,u=a.windowWidth,d=a.windowHeight,p=a.helperWidth,m=a.helperHeight,f=a.helperPosition,v=a.padding,_={left:l,right:u-i,top:s,bottom:d-r},y=function(R){return _[R]>(w0(R)?p+v*2:m+v*2)},k=function(R){for(var D=C0(_),A=0;Av?ie:v,me=dg(s+m,d)?dg(r+v,d)?r-m:r-m+v:s-v,z=me>v?me:v,Oe={top:[se,s-m-v*2],right:[i+v*2,z],bottom:[se,r+v*2],left:[l-p-v*2,z],center:[u/2-p/2,d/2-m/2]};return R==="center"||y(R)?Oe[R]:k(Oe)},w=C(f);return"translate(".concat(Math.round(w[0]),"px, ").concat(Math.round(w[1]),"px)")}),ow,k0=ys.span(ow||(ow=Os([` + `):""},function(a){var s=a.targetTop,i=a.targetRight,r=a.targetBottom,l=a.targetLeft,u=a.windowWidth,d=a.windowHeight,p=a.helperWidth,m=a.helperHeight,f=a.helperPosition,v=a.padding,_={left:l,right:u-i,top:s,bottom:d-r},y=function(R){return _[R]>(C0(R)?p+v*2:m+v*2)},k=function(R){for(var D=T0(_),A=0;Av?ie:v,me=dg(s+m,d)?dg(r+v,d)?r-m:r-m+v:s-v,z=me>v?me:v,Oe={top:[se,s-m-v*2],right:[i+v*2,z],bottom:[se,r+v*2],left:[l-p-v*2,z],center:[u/2-p/2,d/2-m/2]};return R==="center"||y(R)?Oe[R]:k(Oe)},w=C(f);return"translate(".concat(Math.round(w[0]),"px, ").concat(Math.round(w[1]),"px)")}),ow,S0=ys.span(ow||(ow=Os([` position: absolute; font-family: monospace; background: var(--reactour-accent); @@ -167,18 +167,18 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho box-shadow: 0 0.25em 0.5em rgba(0, 0, 0, 0.3); top: -0.8125em; left: -0.8125em; -`])),function(a){return a.accentColor}),iw,S0=ys.div(iw||(iw=Os([` +`])),function(a){return a.accentColor}),iw,E0=ys.div(iw||(iw=Os([` display: flex; margin-top: 24px; align-items: center; justify-content: center; -`]))),nw,E0=ys.nav(nw||(nw=Os([` +`]))),nw,I0=ys.nav(nw||(nw=Os([` counter-reset: dot; display: flex; justify-content: center; align-items: center; flex-wrap: wrap; -`]))),rw,I0=ys.button(rw||(rw=Os([` +`]))),rw,x0=ys.button(rw||(rw=Os([` counter-increment: dot; width: 8px; height: 8px; @@ -217,7 +217,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho transform: translate(-50%, -2px); } } -`])),function(a){return a.current===a.index?"0":"1px solid #caccce"},function(a){return a.disabled?"not-allowed":"pointer"},function(a){return a.current===a.index?1.25:1},function(a){return a.current===a.index?"var(--reactour-accent)":"#caccce"},function(a){return a.current===a.index?"var(--reactour-accent)":"none"},function(a){return a.current===a.index?a.accentColor:"#caccce"},function(a){return a.current===a.index?a.accentColor:"none"},function(a){return a.showNumber?"block":"none"}),aw,x0=ys.div(aw||(aw=Os([` +`])),function(a){return a.current===a.index?"0":"1px solid #caccce"},function(a){return a.disabled?"not-allowed":"pointer"},function(a){return a.current===a.index?1.25:1},function(a){return a.current===a.index?"var(--reactour-accent)":"#caccce"},function(a){return a.current===a.index?"var(--reactour-accent)":"none"},function(a){return a.current===a.index?a.accentColor:"#caccce"},function(a){return a.current===a.index?a.accentColor:"none"},function(a){return a.showNumber?"block":"none"}),aw,D0=ys.div(aw||(aw=Os([` opacity: `,`; color: `,`; width: 100%; @@ -227,7 +227,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho position: fixed; z-index: 99999; pointer-events: none; -`])),function(a){return!a.maskClassName&&.7},function(a){return!a.maskClassName&&"#000"});function $T(a){var s=a.windowWidth,i=a.windowHeight,r=a.targetWidth,l=a.targetHeight,u=a.targetTop,d=a.targetLeft,p=a.padding,m=a.rounded,f=a.roundedStep,v=a.disableInteraction,_=a.disableInteractionClassName,y=a.className,k=a.onClick,C=a.highlightedBorder,w=Ys(r+p*2),E=Ys(l+p*2),R=Ys(u-p),D=Ys(d-p),A=f?Math.min(w/2,E/2):m;return Y.createElement(x0,{onClick:k,maskClassName:y},Y.createElement("svg",{width:s,height:i,xmlns:"http://www.w3.org/2000/svg",className:y},Y.createElement("defs",null,Y.createElement("mask",{id:"mask-main"},Y.createElement("rect",{x:0,y:0,width:s,height:i,fill:"white"}),Y.createElement("rect",{x:D,y:R,width:w,height:E,fill:"black"}),Y.createElement("rect",{x:D-1,y:R-1,width:A,height:A,fill:"white"}),Y.createElement("circle",{cx:D+A,cy:R+A,r:A,fill:"black"}),Y.createElement("rect",{x:D+w-A+1,y:R-1,width:A,height:A,fill:"white"}),Y.createElement("circle",{cx:D+w-A,cy:R+A,r:A,fill:"black"}),Y.createElement("rect",{x:D-1,y:R+E-A+1,width:A,height:A,fill:"white"}),Y.createElement("circle",{cx:D+A,cy:R+E-A,r:A,fill:"black"}),Y.createElement("rect",{x:D+w-A+1,y:R+E-A+1,width:A,height:A,fill:"white"}),Y.createElement("circle",{cx:D+w-A,cy:R+E-A,r:A,fill:"black "})),Y.createElement("clipPath",{id:"clip-path"},Y.createElement("rect",{x:0,y:0,width:s,height:R}),Y.createElement("rect",{x:0,y:R,width:D,height:E}),Y.createElement("rect",{x:d+r+p,y:R,width:Ys(s-r-D),height:E}),Y.createElement("rect",{x:0,y:u+l+p,width:s,height:Ys(i-l-R)}))),Y.createElement("rect",{x:0,y:0,width:s,height:i,fill:"currentColor",mask:"url(#mask-main)"}),Y.createElement("rect",{x:0,y:0,width:s,height:i,fill:"currentColor",clipPath:"url(#clip-path)",pointerEvents:"auto"}),Y.createElement("rect",{x:D,y:R,width:w,height:E,pointerEvents:"auto",fill:"transparent",display:v?"block":"none",className:_}),C&&Y.createElement("rect",{x:Ys(D+C.width/2),y:Ys(R+C.width/2),width:Ys(w-C.width),height:Ys(E-C.width),pointerEvents:"auto",fill:"none",strokeWidth:C.width,stroke:C.color,rx:A-2})))}$T.propTypes={windowWidth:Z.number.isRequired,windowHeight:Z.number.isRequired,targetWidth:Z.number.isRequired,targetHeight:Z.number.isRequired,targetTop:Z.number.isRequired,targetLeft:Z.number.isRequired,padding:Z.number.isRequired,rounded:Z.number.isRequired,roundedStep:Z.bool,disableInteraction:Z.bool.isRequired,disableInteractionClassName:Z.string.isRequired,highlightedBorder:Z.shape({color:Z.string.isRequired,width:Z.number.isRequired})};var D0=(function(a){var s=a.step,i=a.refresh,r=vt(0),l=m0(r,2),u=l[0],d=l[1];return Mt(function(){if(s.resizeObservables){var p=function(y){var k=In(y),C;try{var w=function(){var R=C.value;if(!R.attributes)return 1;var D=s.resizeObservables.find(function(A){return R.matches(A)||R.querySelector(A)!=null});D&&d(u+1)};for(k.s();!(C=k.n()).done;)w()}catch(E){k.e(E)}finally{k.f()}},m=new MutationObserver(function(_){var y=In(_),k;try{for(y.s();!(k=y.n()).done;){var C=k.value;C.addedNodes.length!==0&&p(C.addedNodes),C.removedNodes.length!==0&&p(C.removedNodes)}}catch(w){y.e(w)}finally{y.f()}}),f=document.documentElement||document.body,v={childList:!0,subtree:!0};return m.observe(f,v),function(){m.disconnect()}}},[s,u]),Mt(function(){if(s.resizeObservables){var p=new ResizeObserver(function(y){i()}),m=In(s.resizeObservables),f;try{for(m.s();!(f=m.n()).done;){var v=f.value,_=document.querySelector(v);_&&p.observe(_)}}catch(y){m.e(y)}finally{m.f()}return function(){p.disconnect()}}},[s,u]),null}),A0=(function(a){var s=a.step,i=a.refresh;return Mt(function(){if(s.mutationObservables){var r=function(m){var f=In(m),v;try{var _=function(){var k=v.value;if(!k.attributes)return 1;var C=s.mutationObservables.find(function(w){return k.matches(w)||k.querySelector(w)!=null});C&&i()};for(f.s();!(v=f.n()).done;)_()}catch(y){f.e(y)}finally{f.f()}},l=new MutationObserver(function(p){var m=In(p),f;try{for(m.s();!(f=m.n()).done;){var v=f.value;v.addedNodes.length!==0&&r(v.addedNodes),v.removedNodes.length!==0&&r(v.removedNodes)}}catch(_){m.e(_)}finally{m.f()}}),u=document.documentElement||document.body,d={childList:!0,subtree:!0};return l.observe(u,d),function(){l.disconnect()}}},[s]),null});function R0(a){var s=a.children,i=Bo(null);return i.current===null&&(i.current=document.createElement("div"),i.current.setAttribute("id","___reactour")),Mt(function(){return document.body.appendChild(i.current),function(){document.body.removeChild(i.current)}},[i]),xS(s,i.current)}var O0={disableFocusLock:Z.bool,badgeContent:Z.func,highlightedMaskClassName:Z.string,children:Z.oneOfType([Z.node,Z.element]),className:Z.string,closeButtonAriaLabel:Z.string,closeWithMask:Z.bool,inViewThreshold:Z.number,isOpen:Z.bool.isRequired,lastStepNextButton:Z.node,maskClassName:Z.string,maskSpace:Z.number,nextButton:Z.node,onAfterOpen:Z.func,onBeforeClose:Z.func,onRequestClose:Z.func,prevButton:Z.node,scrollDuration:Z.number,scrollOffset:Z.number,showButtons:Z.bool,showCloseButton:Z.bool,showNavigation:Z.bool,showNavigationNumber:Z.bool,showNumber:Z.bool,startAt:Z.number,goToStep:Z.number,getCurrentStep:Z.func,nextStep:Z.func,prevStep:Z.func,steps:Z.arrayOf(Z.shape({selector:Z.string,content:Z.oneOfType([Z.node,Z.element,Z.func]).isRequired,position:Z.oneOfType([Z.arrayOf(Z.number),Z.oneOf(["top","right","bottom","left","center"])]),action:Z.func,style:Z.object,stepInteraction:Z.bool,navDotAriaLabel:Z.string,roundedStep:Z.bool})),update:Z.string,updateDelay:Z.number,disableInteraction:Z.bool,disableDotsNavigation:Z.bool,disableKeyboardNavigation:Z.oneOfType([Z.arrayOf(Z.oneOf(["esc","right","left"])),Z.bool]),rounded:Z.number,accentColor:Z.string,highlightedBorder:Z.shape({color:Z.string.isRequired,width:Z.number.isRequired})},M0={disableFocusLock:!1,showNavigation:!0,showNavigationNumber:!0,showButtons:!0,showCloseButton:!0,closeButtonAriaLabel:"Close",showNumber:!0,scrollDuration:1,maskSpace:10,updateDelay:1,disableInteraction:!1,rounded:0,accentColor:"#007aff",closeWithMask:!0},bn={mask:{disableInteraction:"reactour__mask--disable-interaction"},helper:{base:"reactour__helper",isOpen:"reactour__helper--is-open"},dot:{base:"reactour__dot",active:"reactour__dot--is-active"}},Bm=(function(a){function s(){var i;return l0(this,s),i=a0(this,s),fs(i,"unlockFocus",function(r){i.setState({focusUnlocked:!0},r())}),fs(i,"showStep",function(){if(!(!i.helper||!i.helper.current)){var r=i.props.steps,l=i.state,u=l.current,d=l.focusUnlocked;d&&i.setState({focusUnlocked:!1});var p=r[u],m=p.selector?document.querySelector(p.selector):null,f=function(C){p.action&&typeof p.action=="function"&&i.unlockFocus(function(){return p.action(C)})};if(p.observe){var v=document.querySelector(p.observe),_={attributes:!0,childList:!0,characterData:!0};i.setState(function(k){return k.observer&&setTimeout(function(){k.observer.disconnect()},0),{observer:new MutationObserver(function(C){C.forEach(function(w){if(w.type==="childList"&&w.addedNodes.length>0){var E=function(){return f(w.addedNodes[0])};setTimeout(function(){return i.calculateNode(w.addedNodes[0],p,E)},100)}else if(w.type==="childList"&&w.removedNodes.length>0){var R=function(){return f(m)};i.calculateNode(m,p,R)}})})}},function(){return i.state.observer.observe(v,_)})}else i.state.observer&&(i.state.observer.disconnect(),i.setState({observer:null}));if(m){var y=function(){return f(m)};i.calculateNode(m,p,y)}else i.setState(hg(null,p,i.helper.current),f),p.selector&&console.warn("Doesn't find a DOM node '".concat(p.selector,"'. Please check the 'steps' Tour prop Array at position ").concat(u,"."))}}),fs(i,"calculateNode",function(r,l,u){var d=i.props,p=d.scrollDuration,m=d.inViewThreshold,f=d.scrollOffset,v=fT(r,l),_=Math.max(document.documentElement.clientWidth,window.innerWidth||0),y=Math.max(document.documentElement.clientHeight,window.innerHeight||0);if(y0(Ec(Ec({},v),{},{w:_,h:y,threshold:m})))i.setState(hg(r,l,i.helper.current),u);else{var k=Gx(r),C=f||(v.height>y?-25:-(y/2)+v.height/2);Hx.to(r,{context:_0(k)?window:k,duration:p,offset:C,callback:function(E){i.setState(hg(E,l,i.helper.current),u)}})}}),fs(i,"recalculateNode",function(r){var l=document.querySelector(r.selector),u=function(p){r.action&&typeof r.action=="function"&&i.unlockFocus(function(){return r.action(p)})};i.calculateNode(l,r,function(){return u(l)})}),fs(i,"maskClickHandler",function(r){var l=i.props,u=l.closeWithMask,d=l.onRequestClose;u&&!r.target.classList.contains(bn.mask.disableInteraction)&&d(r)}),fs(i,"nextStep",function(){var r=i.props,l=r.steps,u=r.getCurrentStep;i.setState(function(d){var p=d.current0?l.current-1:l.current;return typeof r=="function"&&r(u),{current:u}},i.showStep)}),fs(i,"gotoStep",function(r){var l=i.props,u=l.steps,d=l.getCurrentStep;i.setState(function(p){var m=u[r]?r:p.current;return typeof d=="function"&&d(m),{current:m}},i.showStep)}),fs(i,"keyDownHandler",function(r){var l=i.props,u=l.onRequestClose,d=l.nextStep,p=l.prevStep,m=l.disableKeyboardNavigation;if(r.stopPropagation(),m!==!0){var f,v,_;m&&(f=m.includes("esc"),v=m.includes("right"),_=m.includes("left")),r.keyCode===27&&!f&&(r.preventDefault(),u()),r.keyCode===39&&!v&&(r.preventDefault(),typeof d=="function"?d():i.nextStep()),r.keyCode===37&&!_&&(r.preventDefault(),typeof p=="function"?p():i.prevStep())}}),i.state={isOpen:!1,current:0,top:0,right:0,bottom:0,left:0,width:0,height:0,w:0,h:0,inDOM:!1,observer:null,focusUnlocked:!1},i.helper=Rk(),i.helperElement=null,i.debouncedShowStep=dD(i.showStep,70),i}return d0(s,a),u0(s,[{key:"componentDidMount",value:function(){var r=this.props,l=r.isOpen,u=r.startAt;l&&this.open(u)}},{key:"UNSAFE_componentWillReceiveProps",value:function(r){var l=this.props,u=l.isOpen,d=l.update,p=l.updateDelay;!u&&r.isOpen?this.open(r.startAt):u&&!r.isOpen&&this.close(),u&&d!==r.update&&(r.steps[this.state.current]?setTimeout(this.showStep,p):this.props.onRequestClose()),u&&r.isOpen&&this.state.current!==r.goToStep&&this.gotoStep(r.goToStep)}},{key:"componentWillUnmount",value:function(){var r=this.props.isOpen;r&&this.close(),this.state.observer&&this.state.observer.disconnect()}},{key:"open",value:function(r){var l=this,u=this.props.onAfterOpen;this.setState(function(d){return{isOpen:!0,current:r!==void 0?r:d.current}},function(){setTimeout(l.showStep,1),l.helperElement=l.helper.current,l.props.disableFocusLock||l.helper.current.focus(),u&&u(l.helperElement)}),window.addEventListener("resize",this.debouncedShowStep,!1),window.addEventListener("keydown",this.keyDownHandler,!1)}},{key:"close",value:function(){this.setState(function(r){return r.observer&&r.observer.disconnect(),{isOpen:!1,observer:null}},this.onBeforeClose),window.removeEventListener("resize",this.debouncedShowStep),window.removeEventListener("keydown",this.keyDownHandler)}},{key:"onBeforeClose",value:function(){var r=this.props.onBeforeClose;r&&r(this.helperElement)}},{key:"render",value:function(){var r=this,l=this.props,u=l.className,d=l.steps,p=l.maskClassName,m=l.showButtons,f=l.showCloseButton,v=l.closeButtonAriaLabel,_=l.showNavigation,y=l.showNavigationNumber,k=l.showNumber,C=l.onRequestClose,w=l.maskSpace,E=l.lastStepNextButton,R=l.nextButton,D=l.prevButton,A=l.badgeContent,J=l.highlightedMaskClassName,ie=l.disableInteraction,se=l.disableDotsNavigation,me=l.nextStep,z=l.prevStep,Oe=l.rounded,Ne=l.accentColor,Ze=l.CustomHelper,ae=l.disableFocusLock,ce=l.highlightedBorder,K=this.state,ye=K.isOpen,he=K.current,je=K.inDOM,G=K.top,tt=K.right,q=K.bottom,ee=K.left,B=K.width,H=K.height,U=K.w,re=K.h,I=K.helperWidth,de=K.helperHeight,W=K.helperPosition;return ye?Y.createElement(R0,null,Y.createElement($0,null),Y.createElement(D0,{step:d[he],refresh:function(){return r.recalculateNode(d[he])}}),Y.createElement(A0,{step:d[he],refresh:function(){return r.recalculateNode(d[he])}}),Y.createElement($T,{onClick:this.maskClickHandler,forwardRef:function(be){return r.mask=be},windowWidth:U,windowHeight:re,targetWidth:B,targetHeight:H,targetTop:G,targetLeft:ee,padding:w,rounded:Oe,roundedStep:d[he].roundedStep,className:p,disableInteraction:d[he].stepInteraction===!1||ie?!d[he].stepInteraction:ie,disableInteractionClassName:"".concat(bn.mask.disableInteraction," ").concat(J),highlightedBorder:ce}),Y.createElement(KC,{disabled:ae,autoFocus:!1},Y.createElement(T0,{ref:this.helper,targetHeight:H,targetWidth:B,targetTop:G,targetRight:tt,targetBottom:q,targetLeft:ee,windowWidth:U,windowHeight:re,helperWidth:I,helperHeight:de,helperPosition:W,padding:w,tabIndex:-1,current:he,style:d[he].style?d[he].style:{},rounded:Oe,className:D_(bn.helper.base,u,fs({},bn.helper.isOpen,ye)),accentColor:Ne,defaultStyles:!Ze,role:"dialog"},Ze?Y.createElement(Ze,{current:he,totalSteps:d.length,gotoStep:this.gotoStep,close:C,content:d[he]&&(typeof d[he].content=="function"?d[he].content({close:C,goTo:this.gotoStep,inDOM:je,step:he+1}):d[he].content)},this.props.children):Y.createElement(Y.Fragment,null,this.props.children,d[he]&&(typeof d[he].content=="function"?d[he].content({close:C,goTo:this.gotoStep,inDOM:je,step:he+1}):d[he].content),k&&Y.createElement(k0,{"data-tour-elem":"badge",accentColor:Ne},typeof A=="function"?A(he+1,d.length):he+1),(m||_)&&Y.createElement(S0,{"data-tour-elem":"controls"},m&&Y.createElement(ew,{onClick:typeof z=="function"?z:this.prevStep,disabled:he===0,label:D||null}),_&&Y.createElement(E0,{"data-tour-elem":"navigation"},d.map(function(Ce,be){return Y.createElement(I0,{key:"".concat(Ce.selector?Ce.selector:"undef","_").concat(be),onClick:function(){return r.gotoStep(be)},current:he,index:be,accentColor:Ne,disabled:he===be||se,showNumber:y,"data-tour-elem":"dot",className:D_(bn.dot.base,fs({},bn.dot.active,he===be)),"aria-label":Ce.navDotAriaLabel})})),m&&Y.createElement(ew,{onClick:he===d.length-1?E?C:function(){}:typeof me=="function"?me:this.nextStep,disabled:!E&&he===d.length-1,inverted:!0,label:E&&he===d.length-1?E:R||null})),f&&Y.createElement(v0,{onClick:C,className:"reactour__close",ariaLabel:v}))))):null}}])})(Ew),hg=function(s,i,r){if(r){var l=Math.max(document.documentElement.clientWidth,window.innerWidth||0),u=Math.max(document.documentElement.clientHeight,window.innerHeight||0),d=$c(r),p=d.width,m=d.height,f={top:u+10,right:l/2+9,bottom:u/2+9,left:l/2-p/2,width:0,height:0,w:l,h:u,helperPosition:"center"};return s&&(f=fT(s,i)),function(){return Ec(Ec({w:l,h:u,helperWidth:p,helperHeight:m,helperPosition:i.position},f),{},{inDOM:!!s})}}};Bm.propTypes=O0;Bm.defaultProps=M0;const N0=""+new URL("blockly2js-B3Jxf2e-.svg",import.meta.url).href,L0=""+new URL("rules2js-DnYyR8mI.svg",import.meta.url).href,As={selectTriggers:0,addScheduleByDoubleClick:1,openTagsMenu:2,selectIntervalTag:3,selectActions:4,addActionPrintText:5,showJavascript:6,switchBackToRules:7,saveTheScript:8},P0=[{selector:".blocks-triggers",content:"Select triggers"},{selector:".block-TriggerScheduleBlock",content:"Double click to add the block"},{selector:".tag-card",content:"Open drop down menu"},{selector:".tag-card-interval",content:"Select interval"},{selector:".blocks-actions",content:"Select action blocks"},{selector:".block-ActionPrintText",content:"Double click to add the block"},{selector:".button-js-code",content:"Check the script"},{selector:".button-js-code",content:"Switch back to rules"},{selector:".button-save",content:"Save the script"}],pg=187,nc={root:{left:0,top:0,width:"100%",height:"100%",position:"fixed",background:"rgba(0, 0, 0, .3)",zIndex:2e4},connecting:{left:"40%",top:"40%",width:"20%",height:"20%",position:"absolute"},spinner:{animation:"admin-connecting-rotator 1.4s linear infinite"},path:{strokeDasharray:187,strokeDashoffset:0,transformOrigin:"center",animation:"admin-connecting-dash 1.4s ease-in-out infinite, $colors 5.6s ease-in-out infinite"}};function vn(){return g.jsxs("div",{style:nc.root,children:[g.jsx("style",{children:` +`])),function(a){return!a.maskClassName&&.7},function(a){return!a.maskClassName&&"#000"});function $T(a){var s=a.windowWidth,i=a.windowHeight,r=a.targetWidth,l=a.targetHeight,u=a.targetTop,d=a.targetLeft,p=a.padding,m=a.rounded,f=a.roundedStep,v=a.disableInteraction,_=a.disableInteractionClassName,y=a.className,k=a.onClick,C=a.highlightedBorder,w=Ys(r+p*2),E=Ys(l+p*2),R=Ys(u-p),D=Ys(d-p),A=f?Math.min(w/2,E/2):m;return Y.createElement(D0,{onClick:k,maskClassName:y},Y.createElement("svg",{width:s,height:i,xmlns:"http://www.w3.org/2000/svg",className:y},Y.createElement("defs",null,Y.createElement("mask",{id:"mask-main"},Y.createElement("rect",{x:0,y:0,width:s,height:i,fill:"white"}),Y.createElement("rect",{x:D,y:R,width:w,height:E,fill:"black"}),Y.createElement("rect",{x:D-1,y:R-1,width:A,height:A,fill:"white"}),Y.createElement("circle",{cx:D+A,cy:R+A,r:A,fill:"black"}),Y.createElement("rect",{x:D+w-A+1,y:R-1,width:A,height:A,fill:"white"}),Y.createElement("circle",{cx:D+w-A,cy:R+A,r:A,fill:"black"}),Y.createElement("rect",{x:D-1,y:R+E-A+1,width:A,height:A,fill:"white"}),Y.createElement("circle",{cx:D+A,cy:R+E-A,r:A,fill:"black"}),Y.createElement("rect",{x:D+w-A+1,y:R+E-A+1,width:A,height:A,fill:"white"}),Y.createElement("circle",{cx:D+w-A,cy:R+E-A,r:A,fill:"black "})),Y.createElement("clipPath",{id:"clip-path"},Y.createElement("rect",{x:0,y:0,width:s,height:R}),Y.createElement("rect",{x:0,y:R,width:D,height:E}),Y.createElement("rect",{x:d+r+p,y:R,width:Ys(s-r-D),height:E}),Y.createElement("rect",{x:0,y:u+l+p,width:s,height:Ys(i-l-R)}))),Y.createElement("rect",{x:0,y:0,width:s,height:i,fill:"currentColor",mask:"url(#mask-main)"}),Y.createElement("rect",{x:0,y:0,width:s,height:i,fill:"currentColor",clipPath:"url(#clip-path)",pointerEvents:"auto"}),Y.createElement("rect",{x:D,y:R,width:w,height:E,pointerEvents:"auto",fill:"transparent",display:v?"block":"none",className:_}),C&&Y.createElement("rect",{x:Ys(D+C.width/2),y:Ys(R+C.width/2),width:Ys(w-C.width),height:Ys(E-C.width),pointerEvents:"auto",fill:"none",strokeWidth:C.width,stroke:C.color,rx:A-2})))}$T.propTypes={windowWidth:Z.number.isRequired,windowHeight:Z.number.isRequired,targetWidth:Z.number.isRequired,targetHeight:Z.number.isRequired,targetTop:Z.number.isRequired,targetLeft:Z.number.isRequired,padding:Z.number.isRequired,rounded:Z.number.isRequired,roundedStep:Z.bool,disableInteraction:Z.bool.isRequired,disableInteractionClassName:Z.string.isRequired,highlightedBorder:Z.shape({color:Z.string.isRequired,width:Z.number.isRequired})};var A0=(function(a){var s=a.step,i=a.refresh,r=vt(0),l=f0(r,2),u=l[0],d=l[1];return Mt(function(){if(s.resizeObservables){var p=function(y){var k=In(y),C;try{var w=function(){var R=C.value;if(!R.attributes)return 1;var D=s.resizeObservables.find(function(A){return R.matches(A)||R.querySelector(A)!=null});D&&d(u+1)};for(k.s();!(C=k.n()).done;)w()}catch(E){k.e(E)}finally{k.f()}},m=new MutationObserver(function(_){var y=In(_),k;try{for(y.s();!(k=y.n()).done;){var C=k.value;C.addedNodes.length!==0&&p(C.addedNodes),C.removedNodes.length!==0&&p(C.removedNodes)}}catch(w){y.e(w)}finally{y.f()}}),f=document.documentElement||document.body,v={childList:!0,subtree:!0};return m.observe(f,v),function(){m.disconnect()}}},[s,u]),Mt(function(){if(s.resizeObservables){var p=new ResizeObserver(function(y){i()}),m=In(s.resizeObservables),f;try{for(m.s();!(f=m.n()).done;){var v=f.value,_=document.querySelector(v);_&&p.observe(_)}}catch(y){m.e(y)}finally{m.f()}return function(){p.disconnect()}}},[s,u]),null}),R0=(function(a){var s=a.step,i=a.refresh;return Mt(function(){if(s.mutationObservables){var r=function(m){var f=In(m),v;try{var _=function(){var k=v.value;if(!k.attributes)return 1;var C=s.mutationObservables.find(function(w){return k.matches(w)||k.querySelector(w)!=null});C&&i()};for(f.s();!(v=f.n()).done;)_()}catch(y){f.e(y)}finally{f.f()}},l=new MutationObserver(function(p){var m=In(p),f;try{for(m.s();!(f=m.n()).done;){var v=f.value;v.addedNodes.length!==0&&r(v.addedNodes),v.removedNodes.length!==0&&r(v.removedNodes)}}catch(_){m.e(_)}finally{m.f()}}),u=document.documentElement||document.body,d={childList:!0,subtree:!0};return l.observe(u,d),function(){l.disconnect()}}},[s]),null});function O0(a){var s=a.children,i=Bo(null);return i.current===null&&(i.current=document.createElement("div"),i.current.setAttribute("id","___reactour")),Mt(function(){return document.body.appendChild(i.current),function(){document.body.removeChild(i.current)}},[i]),DS(s,i.current)}var M0={disableFocusLock:Z.bool,badgeContent:Z.func,highlightedMaskClassName:Z.string,children:Z.oneOfType([Z.node,Z.element]),className:Z.string,closeButtonAriaLabel:Z.string,closeWithMask:Z.bool,inViewThreshold:Z.number,isOpen:Z.bool.isRequired,lastStepNextButton:Z.node,maskClassName:Z.string,maskSpace:Z.number,nextButton:Z.node,onAfterOpen:Z.func,onBeforeClose:Z.func,onRequestClose:Z.func,prevButton:Z.node,scrollDuration:Z.number,scrollOffset:Z.number,showButtons:Z.bool,showCloseButton:Z.bool,showNavigation:Z.bool,showNavigationNumber:Z.bool,showNumber:Z.bool,startAt:Z.number,goToStep:Z.number,getCurrentStep:Z.func,nextStep:Z.func,prevStep:Z.func,steps:Z.arrayOf(Z.shape({selector:Z.string,content:Z.oneOfType([Z.node,Z.element,Z.func]).isRequired,position:Z.oneOfType([Z.arrayOf(Z.number),Z.oneOf(["top","right","bottom","left","center"])]),action:Z.func,style:Z.object,stepInteraction:Z.bool,navDotAriaLabel:Z.string,roundedStep:Z.bool})),update:Z.string,updateDelay:Z.number,disableInteraction:Z.bool,disableDotsNavigation:Z.bool,disableKeyboardNavigation:Z.oneOfType([Z.arrayOf(Z.oneOf(["esc","right","left"])),Z.bool]),rounded:Z.number,accentColor:Z.string,highlightedBorder:Z.shape({color:Z.string.isRequired,width:Z.number.isRequired})},N0={disableFocusLock:!1,showNavigation:!0,showNavigationNumber:!0,showButtons:!0,showCloseButton:!0,closeButtonAriaLabel:"Close",showNumber:!0,scrollDuration:1,maskSpace:10,updateDelay:1,disableInteraction:!1,rounded:0,accentColor:"#007aff",closeWithMask:!0},bn={mask:{disableInteraction:"reactour__mask--disable-interaction"},helper:{base:"reactour__helper",isOpen:"reactour__helper--is-open"},dot:{base:"reactour__dot",active:"reactour__dot--is-active"}},Bm=(function(a){function s(){var i;return c0(this,s),i=l0(this,s),fs(i,"unlockFocus",function(r){i.setState({focusUnlocked:!0},r())}),fs(i,"showStep",function(){if(!(!i.helper||!i.helper.current)){var r=i.props.steps,l=i.state,u=l.current,d=l.focusUnlocked;d&&i.setState({focusUnlocked:!1});var p=r[u],m=p.selector?document.querySelector(p.selector):null,f=function(C){p.action&&typeof p.action=="function"&&i.unlockFocus(function(){return p.action(C)})};if(p.observe){var v=document.querySelector(p.observe),_={attributes:!0,childList:!0,characterData:!0};i.setState(function(k){return k.observer&&setTimeout(function(){k.observer.disconnect()},0),{observer:new MutationObserver(function(C){C.forEach(function(w){if(w.type==="childList"&&w.addedNodes.length>0){var E=function(){return f(w.addedNodes[0])};setTimeout(function(){return i.calculateNode(w.addedNodes[0],p,E)},100)}else if(w.type==="childList"&&w.removedNodes.length>0){var R=function(){return f(m)};i.calculateNode(m,p,R)}})})}},function(){return i.state.observer.observe(v,_)})}else i.state.observer&&(i.state.observer.disconnect(),i.setState({observer:null}));if(m){var y=function(){return f(m)};i.calculateNode(m,p,y)}else i.setState(hg(null,p,i.helper.current),f),p.selector&&console.warn("Doesn't find a DOM node '".concat(p.selector,"'. Please check the 'steps' Tour prop Array at position ").concat(u,"."))}}),fs(i,"calculateNode",function(r,l,u){var d=i.props,p=d.scrollDuration,m=d.inViewThreshold,f=d.scrollOffset,v=fT(r,l),_=Math.max(document.documentElement.clientWidth,window.innerWidth||0),y=Math.max(document.documentElement.clientHeight,window.innerHeight||0);if(_0(Ec(Ec({},v),{},{w:_,h:y,threshold:m})))i.setState(hg(r,l,i.helper.current),u);else{var k=Kx(r),C=f||(v.height>y?-25:-(y/2)+v.height/2);Wx.to(r,{context:w0(k)?window:k,duration:p,offset:C,callback:function(E){i.setState(hg(E,l,i.helper.current),u)}})}}),fs(i,"recalculateNode",function(r){var l=document.querySelector(r.selector),u=function(p){r.action&&typeof r.action=="function"&&i.unlockFocus(function(){return r.action(p)})};i.calculateNode(l,r,function(){return u(l)})}),fs(i,"maskClickHandler",function(r){var l=i.props,u=l.closeWithMask,d=l.onRequestClose;u&&!r.target.classList.contains(bn.mask.disableInteraction)&&d(r)}),fs(i,"nextStep",function(){var r=i.props,l=r.steps,u=r.getCurrentStep;i.setState(function(d){var p=d.current0?l.current-1:l.current;return typeof r=="function"&&r(u),{current:u}},i.showStep)}),fs(i,"gotoStep",function(r){var l=i.props,u=l.steps,d=l.getCurrentStep;i.setState(function(p){var m=u[r]?r:p.current;return typeof d=="function"&&d(m),{current:m}},i.showStep)}),fs(i,"keyDownHandler",function(r){var l=i.props,u=l.onRequestClose,d=l.nextStep,p=l.prevStep,m=l.disableKeyboardNavigation;if(r.stopPropagation(),m!==!0){var f,v,_;m&&(f=m.includes("esc"),v=m.includes("right"),_=m.includes("left")),r.keyCode===27&&!f&&(r.preventDefault(),u()),r.keyCode===39&&!v&&(r.preventDefault(),typeof d=="function"?d():i.nextStep()),r.keyCode===37&&!_&&(r.preventDefault(),typeof p=="function"?p():i.prevStep())}}),i.state={isOpen:!1,current:0,top:0,right:0,bottom:0,left:0,width:0,height:0,w:0,h:0,inDOM:!1,observer:null,focusUnlocked:!1},i.helper=Rk(),i.helperElement=null,i.debouncedShowStep=hD(i.showStep,70),i}return h0(s,a),d0(s,[{key:"componentDidMount",value:function(){var r=this.props,l=r.isOpen,u=r.startAt;l&&this.open(u)}},{key:"UNSAFE_componentWillReceiveProps",value:function(r){var l=this.props,u=l.isOpen,d=l.update,p=l.updateDelay;!u&&r.isOpen?this.open(r.startAt):u&&!r.isOpen&&this.close(),u&&d!==r.update&&(r.steps[this.state.current]?setTimeout(this.showStep,p):this.props.onRequestClose()),u&&r.isOpen&&this.state.current!==r.goToStep&&this.gotoStep(r.goToStep)}},{key:"componentWillUnmount",value:function(){var r=this.props.isOpen;r&&this.close(),this.state.observer&&this.state.observer.disconnect()}},{key:"open",value:function(r){var l=this,u=this.props.onAfterOpen;this.setState(function(d){return{isOpen:!0,current:r!==void 0?r:d.current}},function(){setTimeout(l.showStep,1),l.helperElement=l.helper.current,l.props.disableFocusLock||l.helper.current.focus(),u&&u(l.helperElement)}),window.addEventListener("resize",this.debouncedShowStep,!1),window.addEventListener("keydown",this.keyDownHandler,!1)}},{key:"close",value:function(){this.setState(function(r){return r.observer&&r.observer.disconnect(),{isOpen:!1,observer:null}},this.onBeforeClose),window.removeEventListener("resize",this.debouncedShowStep),window.removeEventListener("keydown",this.keyDownHandler)}},{key:"onBeforeClose",value:function(){var r=this.props.onBeforeClose;r&&r(this.helperElement)}},{key:"render",value:function(){var r=this,l=this.props,u=l.className,d=l.steps,p=l.maskClassName,m=l.showButtons,f=l.showCloseButton,v=l.closeButtonAriaLabel,_=l.showNavigation,y=l.showNavigationNumber,k=l.showNumber,C=l.onRequestClose,w=l.maskSpace,E=l.lastStepNextButton,R=l.nextButton,D=l.prevButton,A=l.badgeContent,J=l.highlightedMaskClassName,ie=l.disableInteraction,se=l.disableDotsNavigation,me=l.nextStep,z=l.prevStep,Oe=l.rounded,Ne=l.accentColor,Ze=l.CustomHelper,ae=l.disableFocusLock,ce=l.highlightedBorder,K=this.state,ye=K.isOpen,he=K.current,je=K.inDOM,V=K.top,tt=K.right,q=K.bottom,ee=K.left,B=K.width,H=K.height,U=K.w,re=K.h,I=K.helperWidth,de=K.helperHeight,W=K.helperPosition;return ye?Y.createElement(O0,null,Y.createElement(b0,null),Y.createElement(A0,{step:d[he],refresh:function(){return r.recalculateNode(d[he])}}),Y.createElement(R0,{step:d[he],refresh:function(){return r.recalculateNode(d[he])}}),Y.createElement($T,{onClick:this.maskClickHandler,forwardRef:function(be){return r.mask=be},windowWidth:U,windowHeight:re,targetWidth:B,targetHeight:H,targetTop:V,targetLeft:ee,padding:w,rounded:Oe,roundedStep:d[he].roundedStep,className:p,disableInteraction:d[he].stepInteraction===!1||ie?!d[he].stepInteraction:ie,disableInteractionClassName:"".concat(bn.mask.disableInteraction," ").concat(J),highlightedBorder:ce}),Y.createElement(KC,{disabled:ae,autoFocus:!1},Y.createElement(k0,{ref:this.helper,targetHeight:H,targetWidth:B,targetTop:V,targetRight:tt,targetBottom:q,targetLeft:ee,windowWidth:U,windowHeight:re,helperWidth:I,helperHeight:de,helperPosition:W,padding:w,tabIndex:-1,current:he,style:d[he].style?d[he].style:{},rounded:Oe,className:D_(bn.helper.base,u,fs({},bn.helper.isOpen,ye)),accentColor:Ne,defaultStyles:!Ze,role:"dialog"},Ze?Y.createElement(Ze,{current:he,totalSteps:d.length,gotoStep:this.gotoStep,close:C,content:d[he]&&(typeof d[he].content=="function"?d[he].content({close:C,goTo:this.gotoStep,inDOM:je,step:he+1}):d[he].content)},this.props.children):Y.createElement(Y.Fragment,null,this.props.children,d[he]&&(typeof d[he].content=="function"?d[he].content({close:C,goTo:this.gotoStep,inDOM:je,step:he+1}):d[he].content),k&&Y.createElement(S0,{"data-tour-elem":"badge",accentColor:Ne},typeof A=="function"?A(he+1,d.length):he+1),(m||_)&&Y.createElement(E0,{"data-tour-elem":"controls"},m&&Y.createElement(ew,{onClick:typeof z=="function"?z:this.prevStep,disabled:he===0,label:D||null}),_&&Y.createElement(I0,{"data-tour-elem":"navigation"},d.map(function(Ce,be){return Y.createElement(x0,{key:"".concat(Ce.selector?Ce.selector:"undef","_").concat(be),onClick:function(){return r.gotoStep(be)},current:he,index:be,accentColor:Ne,disabled:he===be||se,showNumber:y,"data-tour-elem":"dot",className:D_(bn.dot.base,fs({},bn.dot.active,he===be)),"aria-label":Ce.navDotAriaLabel})})),m&&Y.createElement(ew,{onClick:he===d.length-1?E?C:function(){}:typeof me=="function"?me:this.nextStep,disabled:!E&&he===d.length-1,inverted:!0,label:E&&he===d.length-1?E:R||null})),f&&Y.createElement(y0,{onClick:C,className:"reactour__close",ariaLabel:v}))))):null}}])})(Ew),hg=function(s,i,r){if(r){var l=Math.max(document.documentElement.clientWidth,window.innerWidth||0),u=Math.max(document.documentElement.clientHeight,window.innerHeight||0),d=$c(r),p=d.width,m=d.height,f={top:u+10,right:l/2+9,bottom:u/2+9,left:l/2-p/2,width:0,height:0,w:l,h:u,helperPosition:"center"};return s&&(f=fT(s,i)),function(){return Ec(Ec({w:l,h:u,helperWidth:p,helperHeight:m,helperPosition:i.position},f),{},{inDOM:!!s})}}};Bm.propTypes=M0;Bm.defaultProps=N0;const L0=""+new URL("blockly2js-B3Jxf2e-.svg",import.meta.url).href,P0=""+new URL("rules2js-DnYyR8mI.svg",import.meta.url).href,As={selectTriggers:0,addScheduleByDoubleClick:1,openTagsMenu:2,selectIntervalTag:3,selectActions:4,addActionPrintText:5,showJavascript:6,switchBackToRules:7,saveTheScript:8},B0=[{selector:".blocks-triggers",content:"Select triggers"},{selector:".block-TriggerScheduleBlock",content:"Double click to add the block"},{selector:".tag-card",content:"Open drop down menu"},{selector:".tag-card-interval",content:"Select interval"},{selector:".blocks-actions",content:"Select action blocks"},{selector:".block-ActionPrintText",content:"Double click to add the block"},{selector:".button-js-code",content:"Check the script"},{selector:".button-js-code",content:"Switch back to rules"},{selector:".button-save",content:"Save the script"}],pg=187,nc={root:{left:0,top:0,width:"100%",height:"100%",position:"fixed",background:"rgba(0, 0, 0, .3)",zIndex:2e4},connecting:{left:"40%",top:"40%",width:"20%",height:"20%",position:"absolute"},spinner:{animation:"admin-connecting-rotator 1.4s linear infinite"},path:{strokeDasharray:187,strokeDashoffset:0,transformOrigin:"center",animation:"admin-connecting-dash 1.4s ease-in-out infinite, $colors 5.6s ease-in-out infinite"}};function vn(){return g.jsxs("div",{style:nc.root,children:[g.jsx("style",{children:` ' @keyframes admin-connecting-colors { 0% { stroke: #4285F4; @@ -266,20 +266,20 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho transform: rotate(270deg); } } -`}),g.jsx("div",{style:nc.connecting,children:g.jsx("svg",{style:nc.spinner,width:"100%",height:"100%",viewBox:"0 0 66 66",xmlns:"http://www.w3.org/2000/svg",children:g.jsx("circle",{style:nc.path,fill:"none",strokeWidth:"6",strokeLinecap:"round",cx:"33",cy:"33",r:"30"})})})]})}const B0=Y.lazy(()=>On(()=>Promise.resolve().then(()=>fR),void 0,import.meta.url)),j0=Y.lazy(()=>On(()=>import("./index-CrP4fDhH.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13]),import.meta.url)),F0=Y.lazy(()=>On(()=>import("./index-c_pDs-29.js"),__vite__mapDeps([14,1,2,3,4,6,7,5,15,8,9,10,11,12]),import.meta.url)),z0=Y.lazy(()=>On(()=>import("./ScriptEditorVanillaMonaco-yq11eIYC.js"),__vite__mapDeps([15,1,2,3,4,6,7,5]),import.meta.url)),U0=Y.lazy(()=>On(()=>import("./ScriptEditor-BVaX7Hcs.js"),__vite__mapDeps([16,1,2,3,4,6,5,15,7,17]),import.meta.url)),H0=Y.lazy(()=>On(()=>import("./OpenAiDialog-CgYwxxDC.js"),__vite__mapDeps([18,1,2,3,4,6,5,9,19,15,7,8,10,11,12]),import.meta.url)),lw={Blockly:hC,"Javascript/js":_c,Rules:gC,def:_c,"TypeScript/ts":pC},W0=48,cw="#02a102",gg="#70aae9",V0=Cw[400],G0=Tw[400],Te={toolbar:a=>({minHeight:38,boxShadow:"0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12)",backgroundColor:a.palette.mode==="dark"?"#1e1e1e":"#E2E2E2"}),toolbarButtons:{padding:4,marginLeft:4},toolbarButtonsDisabled:{filter:"grayscale(100%)",opacity:.5},editorDiv:a=>({height:`calc(100% - ${(parseInt(a.toolbar.height,10)||48)+38+10}px)`,width:"100%",overflow:"hidden",position:"relative"}),textButton:{marginRight:10,minHeight:24,padding:"6px 16px",height:32},saveButton:{background:"#ff9900"},tabIcon:{width:24,height:24,verticalAlign:"middle",marginBottom:2,marginRight:2,borderRadius:3},hintIcon:{padding:"0 8px 0 8px"},hintButton:{marginTop:8,marginLeft:20},tabMenuButton:{position:"absolute",top:0,right:0},tabChanged:a=>({color:a.palette.secondary.main}),tabText:{maxWidth:130,textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden",display:"inline-block",verticalAlign:"middle"},tabChangedIcon:{color:"#FF0000",fontSize:16,marginLeft:5},closeButton:{marginLeft:5},notRunning:{color:"#ffbc00",marginRight:8,marginLeft:8},tabButton:{minHeight:48},tabButtonWrapper:{display:"inline-block"},menuIcon:{width:18,height:18,borderRadius:2,marginRight:5}};function K0(){return g.jsxs("svg",{width:"24",height:"24",viewBox:"0 0 2406 2406",children:[g.jsx("path",{d:"M1 578.4C1 259.5 259.5 1 578.4 1h1249.1c319 0 577.5 258.5 577.5 577.4V2406H578.4C259.5 2406 1 2147.5 1 1828.6V578.4z",fill:"#74aa9c"}),g.jsx("path",{d:"M1107.3 299.1c-198 0-373.9 127.3-435.2 315.3C544.8 640.6 434.9 720.2 370.5 833c-99.3 171.4-76.6 386.9 56.4 533.8-41.1 123.1-27 257.7 38.6 369.2 98.7 172 297.3 260.2 491.6 219.2 86.1 97 209.8 152.3 339.6 151.8 198 0 373.9-127.3 435.3-315.3 127.5-26.3 237.2-105.9 301-218.5 99.9-171.4 77.2-386.9-55.8-533.9v-.6c41.1-123.1 27-257.8-38.6-369.8-98.7-171.4-297.3-259.6-491-218.6-86.6-96.8-210.5-151.8-340.3-151.2zm0 117.5-.6.6c79.7 0 156.3 27.5 217.6 78.4-2.5 1.2-7.4 4.3-11 6.1L952.8 709.3c-18.4 10.4-29.4 30-29.4 51.4V1248l-155.1-89.4V755.8c-.1-187.1 151.6-338.9 339-339.2zm434.2 141.9c121.6-.2 234 64.5 294.7 169.8 39.2 68.6 53.9 148.8 40.4 226.5-2.5-1.8-7.3-4.3-10.4-6.1l-360.4-208.2c-18.4-10.4-41-10.4-59.4 0L1024 984.2V805.4L1372.7 604c51.3-29.7 109.5-45.4 168.8-45.5zM650 743.5v427.9c0 21.4 11 40.4 29.4 51.4l421.7 243-155.7 90L597.2 1355c-162-93.8-217.4-300.9-123.8-462.8C513.1 823.6 575.5 771 650 743.5zm807.9 106 348.8 200.8c162.5 93.7 217.6 300.6 123.8 462.8l.6.6c-39.8 68.6-102.4 121.2-176.5 148.2v-428c0-21.4-11-41-29.4-51.4l-422.3-243.7 155-89.3zM1201.7 997l177.8 102.8v205.1l-177.8 102.8-177.8-102.8v-205.1L1201.7 997zm279.5 161.6 155.1 89.4v402.2c0 187.3-152 339.2-339 339.2v-.6c-79.1 0-156.3-27.6-217-78.4 2.5-1.2 8-4.3 11-6.1l360.4-207.5c18.4-10.4 30-30 29.4-51.4l.1-486.8zM1380 1421.9v178.8l-348.8 200.8c-162.5 93.1-369.6 38-463.4-123.7h.6c-39.8-68-54-148.8-40.5-226.5 2.5 1.8 7.4 4.3 10.4 6.1l360.4 208.2c18.4 10.4 41 10.4 59.4 0l421.9-243.7z",fill:"white"})]})}class kn extends Y.Component{getSelect=null;changedMirror={};cron={initValue:null,callback:null};scriptDialog={initValue:null,callback:null,args:null,isReturn:!1};objects;scripts;selectId={initValue:null,callback:null};confirmCallback=null;constructor(s){var u,d;super(s);let i=window.localStorage.getItem("Editor.selected")||"";const r=window.localStorage.getItem("Editor.editing")||"[]";let l;try{l=JSON.parse(r)}catch{l=[]}i&&!l.includes(i)&&l.push(i),i&&!this.props.password&&((d=(u=this.props.objects[i])==null?void 0:u.native)!=null&&d.protected)&&(i=l.find(p=>{var m,f;return!((f=(m=this.props.objects[p])==null?void 0:m.native)!=null&&f.protected)})||""),!i&&l.length&&(this.props.password?i=l[0]:i=l.find(p=>{var m,f;return!((f=(m=this.props.objects[p])==null?void 0:m.native)!=null&&f.protected)})||""),this.state={askAboutDebug:!1,astroEvents:null,blockly:null,changed:{},cmdToBlockly:"",cmdToRules:"",confirm:"",debugEnabled:!1,editing:l,insert:"",instancesLoaded:!1,isTourOpen:window.localStorage.getItem("tour")!=="true",menuDebugAnchorEl:null,menuOpened:!!this.props.menuOpened,menuTabsOpened:!1,openAiDialog:!1,triggerPrettier:1,rules:null,runningInstances:this.props.runningInstances||{},searchText:"",selected:i,showAdapterDebug:!1,showAstro:!1,showCompiledCode:!1,showCron:!1,showDebugMenu:!1,showScript:!1,showSelectId:!1,themeType:this.props.themeType,toast:"",tourStep:As.selectTriggers,verboseEnabled:!1,visible:s.visible},this.setChangedInAdmin(),window.systemLang=b.I18n.getLanguage(),window.main={objects:{},getObject:(p,m)=>this.props.socket.getObject(p).then(f=>m==null?void 0:m(null,f)).catch(f=>m==null?void 0:m(f)),instances:[],selectIdDialog:(p,m,f)=>{typeof m=="function"&&(f=m,m=null),this.selectId.callback=f,this.selectId.initValue=p,this.selectId.type=m,this.setState({showSelectId:!0})},cronDialog:(p,m)=>{this.cron.callback=m,this.cron.initValue=p,this.setState({showCron:!0})},showScriptDialog:(p,m,f,v)=>{this.scriptDialog.callback=v,this.scriptDialog.initValue=p,this.scriptDialog.args=m,this.scriptDialog.isReturn=f||!1,this.setState({showScript:!0})}},this.objects=s.objects,this.scripts={},this.getAllAdapterInstances().then(()=>{this.props.onSelectedChange&&this.state.selected&&setTimeout(()=>this.props.onSelectedChange(this.state.selected,this.state.editing),100)})}async getAllAdapterInstances(){const s=await this.props.socket.getAdapterInstances(!0),i={},r=s.map(l=>(i[l._id]=l,l._id));window.main.objects=i,window.main.instances=r,this.setState({instancesLoaded:!0})}static onInstanceChanged(s,i){if(s)if(!i&&window.main.instances.includes(s)){delete window.main.objects[s];const r=window.main.instances.indexOf(s);window.main.instances.splice(r,1)}else(i==null?void 0:i.type)==="instance"&&(window.main.instances.includes(s)||(window.main.instances.push(s),window.main.instances.sort()),window.main.objects[s]=i)}setChangedInAdmin(){const s=Object.keys(this.state.changed).find(i=>this.state.changed[i]);Object.keys(this.state.changed).forEach(i=>{this.changedMirror[i]=this.state.changed[i]}),Object.keys(this.changedMirror).forEach(i=>{this.state.changed[i]===void 0&&delete this.changedMirror[i]}),this.props.onChangedChanged(this.changedMirror),typeof window.parent<"u"&&window.parent&&(window.parent.configNotSaved=!!s)}componentDidMount(){window.addEventListener("beforeunload",this.onBrowserClose,!1),this.props.socket.subscribeObject("system.adapter.*",kn.onInstanceChanged)}componentWillUnmount(){window.removeEventListener("beforeunload",this.onBrowserClose),this.props.socket.unsubscribeObject("system.adapter.*",kn.onInstanceChanged)}onBrowserClose=s=>{const i=Object.keys(this.scripts).find(r=>JSON.stringify(this.scripts[r])!==JSON.stringify(this.getScriptFromObject(r)));if(i){console.log(`Script ${JSON.stringify(this.scripts[i])}`);const r=b.I18n.t("Configuration not saved.");return s=s||window.event,s&&(s.returnValue=r),r}};removeNonExistingScripts(s,i){s=s||this.props,i=i||{};let r=!1;if(this.state.editing&&this.state.editing.find(u=>s&&!s.objects[u])){const u=[...this.state.editing];for(let d=u.length-1;d>=0;d--)this.objects[u[d]]||(r=!0,u.splice(d,1));r&&(i.editing=u),this.state.selected&&!this.objects[this.state.selected]&&(r=!0,i.selected=u[0]||"",i.selected&&this.scripts[i.selected]&&(this.state.blockly!==(this.scripts[i.selected].engineType==="Blockly")&&(i.blockly=this.scripts[i.selected].engineType==="Blockly",r=!0),this.state.rules!==(this.scripts[i.selected].engineType==="Rules")&&(i.rules=this.scripts[i.selected].engineType==="Rules",r=!0),this.state.verboseEnabled!==this.scripts[i.selected].verbose&&(i.verboseEnabled=this.scripts[i.selected].verbose,r=!0),this.state.debugEnabled!==this.scripts[i.selected].debug&&(i.debugEnabled=this.scripts[i.selected].debug,r=!0)))}return r}UNSAFE_componentWillReceiveProps(s){var l,u,d;const i={};let r=!1;if(JSON.stringify(s.runningInstances)!==JSON.stringify(this.state.runningInstances)&&(r=!0,i.runningInstances=s.runningInstances),this.state.menuOpened!==s.menuOpened&&(i.menuOpened=s.menuOpened,r=!0),this.state.themeType!==s.themeType&&(i.themeType=s.themeType,r=!0),this.removeNonExistingScripts(s,i)&&(r=!0),this.state.searchText!==s.searchText&&(i.searchText=s.searchText,r=!0),this.objects!==s.objects){this.objects=s.objects,window.main.objects=s.objects,Object.keys(this.scripts).forEach(m=>{const f=this.scripts[m].source;this.scripts[m]=JSON.parse(JSON.stringify(this.objects[m].common)),this.scripts[m].source=f}),this.state.selected&&this.objects[this.state.selected]&&(this.scripts[this.state.selected]||=JSON.parse(JSON.stringify(this.objects[this.state.selected].common)),this.state.blockly!==(this.scripts[this.state.selected].engineType==="Blockly")&&(i.blockly=this.scripts[this.state.selected].engineType==="Blockly",r=!0),this.state.rules!==(this.scripts[this.state.selected].engineType==="Rules")&&(i.rules=this.scripts[this.state.selected].engineType==="Rules",r=!0),this.state.verboseEnabled!==this.scripts[this.state.selected].verbose&&(i.verboseEnabled=this.scripts[this.state.selected].verbose,r=!0),this.state.debugEnabled!==this.scripts[this.state.selected].debug&&(i.debugEnabled=this.scripts[this.state.selected].debug,r=!0));const p=[...this.state.editing];for(let m=p.length-1;m>=0;m--)this.objects[p[m]]||(r=!0,p.splice(m,1),this.state.changed[p[m]]!==void 0&&(i.changed||={...this.state.changed},i.changed&&delete i.changed[p[m]]));this.state.selected&&!this.objects[this.state.selected]&&(i.selected=p[0]||""),r&&(i.editing=p)}else for(const p in this.scripts)if(Object.prototype.hasOwnProperty.call(this.scripts,p)){if((l=this.objects[p])!=null&&l.common){if(this.objects[p].type==="script"){const m=this.scripts[p].source,f=JSON.parse(JSON.stringify(this.scripts[p]));f.source=this.objects[p].common.source,JSON.stringify(f)!==JSON.stringify(this.objects[p].common)&&(this.scripts[p]=JSON.parse(JSON.stringify(this.objects[p].common)),this.scripts[p].source=m),m!==this.objects[p].common.source?this.state.changed[p]?(d=this.objects[p].from)!=null&&d.startsWith("system.adapter.javascript.")&&(this.objects[p].from="system.adapter.admin.0",this.setState({toast:b.I18n.t("Script %s was modified on disk.",p.split(".").pop())})):this.props.password&&((u=this.objects[p].native)!=null&&u.protected)?this.scripts[p].source=Ug(this.props.password,this.objects[p].common.source):this.scripts[p].source=this.objects[p].common.source:this.state.changed[p]&&(i.changed||={...this.state.changed},i.changed&&(i.changed[p]=!1),r=!0)}}else if(this.scripts[p]&&(delete this.scripts[p],this.state.selected===p)){if(this.state.editing.indexOf(p)!==-1){const m=[...this.state.editing],f=m.indexOf(p);f!==-1&&(m.splice(f,1),i.editing=m,r=!0)}i.selected=this.state.editing[0]||"",r=!0}}if(s.selected&&this.state.selected!==s.selected){const p=this.getScriptFromObject(s.selected);this.scripts[s.selected]||=p;const m=p&&JSON.stringify(this.scripts[s.selected])!==JSON.stringify(p),f=[...this.state.editing];s.selected&&!f.includes(s.selected)&&(f.push(s.selected),this.props.onSelectedChange(s.selected,f),window.localStorage.setItem("Editor.editing",JSON.stringify(f))),r=!0,i.changed||={...this.state.changed},i.changed[s.selected]=!!m,i.editing=f,i.selected=s.selected,i.blockly=this.scripts[s.selected].engineType==="Blockly",i.rules=this.scripts[s.selected].engineType==="Rules",i.verboseEnabled=this.scripts[s.selected].verbose,i.debugEnabled=this.scripts[s.selected].debug,i.showCompiledCode=!1}this.state.visible!==s.visible&&(r=!0,i.visible=s.visible),r&&this.setState(i,()=>this.setChangedInAdmin())}onRestart(){var s,i;(i=(s=this.props).onRestart)==null||i.call(s,this.state.selected)}onStartStop(){var i,r,l;const s=JSON.parse(JSON.stringify(this.scripts[this.state.selected]));s.enabled=!s.enabled,this.props.password&&((i=this.props.objects[this.state.selected].native)!=null&&i.protected)&&(s.source=mc(this.props.password,s.source)),(l=(r=this.props).onChange)==null||l.call(r,this.state.selected,s)}onSave(){if(this.state.isTourOpen&&this.state.tourStep===As.saveTheScript&&(this.setState({isTourOpen:!1}),window.localStorage.setItem("tour","true")),this.state.changed[this.state.selected]){const s={...this.state.changed};s[this.state.selected]=!1,this.setState({changed:s},()=>{var r,l,u;this.setChangedInAdmin();const i=JSON.parse(JSON.stringify(this.scripts[this.state.selected]));this.props.password&&((r=this.props.objects[this.state.selected].native)!=null&&r.protected)&&(i.source=mc(this.props.password,i.source)),(u=(l=this.props).onChange)==null||u.call(l,this.state.selected,i)})}}onSaveAll(){const s={...this.state.changed};Object.keys(s).forEach(i=>{var r,l,u;if(s[i]){s[i]=!1;const d=JSON.parse(JSON.stringify(this.scripts[i]));this.props.password&&((r=this.props.objects[i].native)!=null&&r.protected)&&(d.source=mc(this.props.password,d.source)),(u=(l=this.props).onChange)==null||u.call(l,i,d)}}),this.setState({changed:s},()=>this.setChangedInAdmin())}onCancel(){this.scripts[this.state.selected]=this.getScriptFromObject(this.state.selected);const s={...this.state.changed};s[this.state.selected]=!1,this.setState({changed:s},()=>this.setChangedInAdmin())}onRegisterSelect(s){this.getSelect=s}onConvertBlockly2JS(){this.showConfirmDialog(b.I18n.t("It will not be possible to revert this operation."),s=>{if(s){this.scripts[this.state.selected].engineType="Javascript/js";const r=this.scripts[this.state.selected].source.split(` +`}),g.jsx("div",{style:nc.connecting,children:g.jsx("svg",{style:nc.spinner,width:"100%",height:"100%",viewBox:"0 0 66 66",xmlns:"http://www.w3.org/2000/svg",children:g.jsx("circle",{style:nc.path,fill:"none",strokeWidth:"6",strokeLinecap:"round",cx:"33",cy:"33",r:"30"})})})]})}const j0=Y.lazy(()=>On(()=>Promise.resolve().then(()=>fR),void 0,import.meta.url)),F0=Y.lazy(()=>On(()=>import("./index-WMcL3d55.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13]),import.meta.url)),z0=Y.lazy(()=>On(()=>import("./index-DnWxMXLc.js"),__vite__mapDeps([14,1,2,3,4,6,7,5,15,8,9,10,11,12]),import.meta.url)),U0=Y.lazy(()=>On(()=>import("./ScriptEditorVanillaMonaco-BvDS5a34.js"),__vite__mapDeps([15,1,2,3,4,6,7,5]),import.meta.url)),H0=Y.lazy(()=>On(()=>import("./ScriptEditor-Bsfab35t.js"),__vite__mapDeps([16,1,2,3,4,6,5,15,7,17]),import.meta.url)),W0=Y.lazy(()=>On(()=>import("./OpenAiDialog-Cn1mdhXZ.js"),__vite__mapDeps([18,1,2,3,4,6,5,9,19,15,7,8,10,11,12]),import.meta.url)),lw={Blockly:hC,"Javascript/js":_c,Rules:gC,def:_c,"TypeScript/ts":pC},G0=48,cw="#02a102",gg="#70aae9",V0=Cw[400],K0=Tw[400],Te={toolbar:a=>({minHeight:38,boxShadow:"0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12)",backgroundColor:a.palette.mode==="dark"?"#1e1e1e":"#E2E2E2"}),toolbarButtons:{padding:4,marginLeft:4},toolbarButtonsDisabled:{filter:"grayscale(100%)",opacity:.5},editorDiv:a=>({height:`calc(100% - ${(parseInt(a.toolbar.height,10)||48)+38+10}px)`,width:"100%",overflow:"hidden",position:"relative"}),textButton:{marginRight:10,minHeight:24,padding:"6px 16px",height:32},saveButton:{background:"#ff9900"},tabIcon:{width:24,height:24,verticalAlign:"middle",marginBottom:2,marginRight:2,borderRadius:3},hintIcon:{padding:"0 8px 0 8px"},hintButton:{marginTop:8,marginLeft:20},tabMenuButton:{position:"absolute",top:0,right:0},tabChanged:a=>({color:a.palette.secondary.main}),tabText:{maxWidth:130,textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden",display:"inline-block",verticalAlign:"middle"},tabChangedIcon:{color:"#FF0000",fontSize:16,marginLeft:5},closeButton:{marginLeft:5},notRunning:{color:"#ffbc00",marginRight:8,marginLeft:8},tabButton:{minHeight:48},tabButtonWrapper:{display:"inline-block"},menuIcon:{width:18,height:18,borderRadius:2,marginRight:5}};class kn extends Y.Component{getSelect=null;changedMirror={};cron={initValue:null,callback:null};scriptDialog={initValue:null,callback:null,args:null,isReturn:!1};objects;scripts;selectId={initValue:null,callback:null};confirmCallback=null;constructor(s){var u,d;super(s);let i=window.localStorage.getItem("Editor.selected")||"";const r=window.localStorage.getItem("Editor.editing")||"[]";let l;try{l=JSON.parse(r)}catch{l=[]}i&&!l.includes(i)&&l.push(i),i&&!this.props.password&&((d=(u=this.props.objects[i])==null?void 0:u.native)!=null&&d.protected)&&(i=l.find(p=>{var m,f;return!((f=(m=this.props.objects[p])==null?void 0:m.native)!=null&&f.protected)})||""),!i&&l.length&&(this.props.password?i=l[0]:i=l.find(p=>{var m,f;return!((f=(m=this.props.objects[p])==null?void 0:m.native)!=null&&f.protected)})||""),this.state={askAboutDebug:!1,astroEvents:null,blockly:null,changed:{},cmdToBlockly:"",cmdToRules:"",confirm:"",debugEnabled:!1,editing:l,insert:"",instancesLoaded:!1,isTourOpen:window.localStorage.getItem("tour")!=="true",menuDebugAnchorEl:null,menuOpened:!!this.props.menuOpened,menuTabsOpened:!1,openAiDialog:!1,triggerPrettier:1,rules:null,runningInstances:this.props.runningInstances||{},searchText:"",selected:i,showAdapterDebug:!1,showAstro:!1,showCompiledCode:!1,showCron:!1,showDebugMenu:!1,showScript:!1,showSelectId:!1,themeType:this.props.themeType,toast:"",tourStep:As.selectTriggers,verboseEnabled:!1,visible:s.visible},this.setChangedInAdmin(),window.systemLang=b.I18n.getLanguage(),window.main={objects:{},getObject:(p,m)=>this.props.socket.getObject(p).then(f=>m==null?void 0:m(null,f)).catch(f=>m==null?void 0:m(f)),instances:[],selectIdDialog:(p,m,f)=>{typeof m=="function"&&(f=m,m=null),this.selectId.callback=f,this.selectId.initValue=p,this.selectId.type=m,this.setState({showSelectId:!0})},cronDialog:(p,m)=>{this.cron.callback=m,this.cron.initValue=p,this.setState({showCron:!0})},showScriptDialog:(p,m,f,v)=>{this.scriptDialog.callback=v,this.scriptDialog.initValue=p,this.scriptDialog.args=m,this.scriptDialog.isReturn=f||!1,this.setState({showScript:!0})}},this.objects=s.objects,this.scripts={},this.getAllAdapterInstances().then(()=>{this.props.onSelectedChange&&this.state.selected&&setTimeout(()=>this.props.onSelectedChange(this.state.selected,this.state.editing),100)})}async getAllAdapterInstances(){const s=await this.props.socket.getAdapterInstances(!0),i={},r=s.map(l=>(i[l._id]=l,l._id));window.main.objects=i,window.main.instances=r,this.setState({instancesLoaded:!0})}static onInstanceChanged(s,i){if(s)if(!i&&window.main.instances.includes(s)){delete window.main.objects[s];const r=window.main.instances.indexOf(s);window.main.instances.splice(r,1)}else(i==null?void 0:i.type)==="instance"&&(window.main.instances.includes(s)||(window.main.instances.push(s),window.main.instances.sort()),window.main.objects[s]=i)}setChangedInAdmin(){const s=Object.keys(this.state.changed).find(i=>this.state.changed[i]);Object.keys(this.state.changed).forEach(i=>{this.changedMirror[i]=this.state.changed[i]}),Object.keys(this.changedMirror).forEach(i=>{this.state.changed[i]===void 0&&delete this.changedMirror[i]}),this.props.onChangedChanged(this.changedMirror),typeof window.parent<"u"&&window.parent&&(window.parent.configNotSaved=!!s)}componentDidMount(){window.addEventListener("beforeunload",this.onBrowserClose,!1),this.props.socket.subscribeObject("system.adapter.*",kn.onInstanceChanged)}componentWillUnmount(){window.removeEventListener("beforeunload",this.onBrowserClose),this.props.socket.unsubscribeObject("system.adapter.*",kn.onInstanceChanged)}onBrowserClose=s=>{const i=Object.keys(this.scripts).find(r=>JSON.stringify(this.scripts[r])!==JSON.stringify(this.getScriptFromObject(r)));if(i){console.log(`Script ${JSON.stringify(this.scripts[i])}`);const r=b.I18n.t("Configuration not saved.");return s=s||window.event,s&&(s.returnValue=r),r}};removeNonExistingScripts(s,i){s=s||this.props,i=i||{};let r=!1;if(this.state.editing&&this.state.editing.find(u=>s&&!s.objects[u])){const u=[...this.state.editing];for(let d=u.length-1;d>=0;d--)this.objects[u[d]]||(r=!0,u.splice(d,1));r&&(i.editing=u),this.state.selected&&!this.objects[this.state.selected]&&(r=!0,i.selected=u[0]||"",i.selected&&this.scripts[i.selected]&&(this.state.blockly!==(this.scripts[i.selected].engineType==="Blockly")&&(i.blockly=this.scripts[i.selected].engineType==="Blockly",r=!0),this.state.rules!==(this.scripts[i.selected].engineType==="Rules")&&(i.rules=this.scripts[i.selected].engineType==="Rules",r=!0),this.state.verboseEnabled!==this.scripts[i.selected].verbose&&(i.verboseEnabled=this.scripts[i.selected].verbose,r=!0),this.state.debugEnabled!==this.scripts[i.selected].debug&&(i.debugEnabled=this.scripts[i.selected].debug,r=!0)))}return r}UNSAFE_componentWillReceiveProps(s){var l,u,d;const i={};let r=!1;if(JSON.stringify(s.runningInstances)!==JSON.stringify(this.state.runningInstances)&&(r=!0,i.runningInstances=s.runningInstances),this.state.menuOpened!==s.menuOpened&&(i.menuOpened=s.menuOpened,r=!0),this.state.themeType!==s.themeType&&(i.themeType=s.themeType,r=!0),this.removeNonExistingScripts(s,i)&&(r=!0),this.state.searchText!==s.searchText&&(i.searchText=s.searchText,r=!0),this.objects!==s.objects){this.objects=s.objects,window.main.objects=s.objects,Object.keys(this.scripts).forEach(m=>{const f=this.scripts[m].source;this.scripts[m]=JSON.parse(JSON.stringify(this.objects[m].common)),this.scripts[m].source=f}),this.state.selected&&this.objects[this.state.selected]&&(this.scripts[this.state.selected]||=JSON.parse(JSON.stringify(this.objects[this.state.selected].common)),this.state.blockly!==(this.scripts[this.state.selected].engineType==="Blockly")&&(i.blockly=this.scripts[this.state.selected].engineType==="Blockly",r=!0),this.state.rules!==(this.scripts[this.state.selected].engineType==="Rules")&&(i.rules=this.scripts[this.state.selected].engineType==="Rules",r=!0),this.state.verboseEnabled!==this.scripts[this.state.selected].verbose&&(i.verboseEnabled=this.scripts[this.state.selected].verbose,r=!0),this.state.debugEnabled!==this.scripts[this.state.selected].debug&&(i.debugEnabled=this.scripts[this.state.selected].debug,r=!0));const p=[...this.state.editing];for(let m=p.length-1;m>=0;m--)this.objects[p[m]]||(r=!0,p.splice(m,1),this.state.changed[p[m]]!==void 0&&(i.changed||={...this.state.changed},i.changed&&delete i.changed[p[m]]));this.state.selected&&!this.objects[this.state.selected]&&(i.selected=p[0]||""),r&&(i.editing=p)}else for(const p in this.scripts)if(Object.prototype.hasOwnProperty.call(this.scripts,p)){if((l=this.objects[p])!=null&&l.common){if(this.objects[p].type==="script"){const m=this.scripts[p].source,f=JSON.parse(JSON.stringify(this.scripts[p]));f.source=this.objects[p].common.source,JSON.stringify(f)!==JSON.stringify(this.objects[p].common)&&(this.scripts[p]=JSON.parse(JSON.stringify(this.objects[p].common)),this.scripts[p].source=m),m!==this.objects[p].common.source?this.state.changed[p]?(d=this.objects[p].from)!=null&&d.startsWith("system.adapter.javascript.")&&(this.objects[p].from="system.adapter.admin.0",this.setState({toast:b.I18n.t("Script %s was modified on disk.",p.split(".").pop())})):this.props.password&&((u=this.objects[p].native)!=null&&u.protected)?this.scripts[p].source=Ug(this.props.password,this.objects[p].common.source):this.scripts[p].source=this.objects[p].common.source:this.state.changed[p]&&(i.changed||={...this.state.changed},i.changed&&(i.changed[p]=!1),r=!0)}}else if(this.scripts[p]&&(delete this.scripts[p],this.state.selected===p)){if(this.state.editing.indexOf(p)!==-1){const m=[...this.state.editing],f=m.indexOf(p);f!==-1&&(m.splice(f,1),i.editing=m,r=!0)}i.selected=this.state.editing[0]||"",r=!0}}if(s.selected&&this.state.selected!==s.selected){const p=this.getScriptFromObject(s.selected);this.scripts[s.selected]||=p;const m=p&&JSON.stringify(this.scripts[s.selected])!==JSON.stringify(p),f=[...this.state.editing];s.selected&&!f.includes(s.selected)&&(f.push(s.selected),this.props.onSelectedChange(s.selected,f),window.localStorage.setItem("Editor.editing",JSON.stringify(f))),r=!0,i.changed||={...this.state.changed},i.changed[s.selected]=!!m,i.editing=f,i.selected=s.selected,i.blockly=this.scripts[s.selected].engineType==="Blockly",i.rules=this.scripts[s.selected].engineType==="Rules",i.verboseEnabled=this.scripts[s.selected].verbose,i.debugEnabled=this.scripts[s.selected].debug,i.showCompiledCode=!1}this.state.visible!==s.visible&&(r=!0,i.visible=s.visible),r&&this.setState(i,()=>this.setChangedInAdmin())}onRestart(){var s,i;(i=(s=this.props).onRestart)==null||i.call(s,this.state.selected)}onStartStop(){var i,r,l;const s=JSON.parse(JSON.stringify(this.scripts[this.state.selected]));s.enabled=!s.enabled,this.props.password&&((i=this.props.objects[this.state.selected].native)!=null&&i.protected)&&(s.source=mc(this.props.password,s.source)),(l=(r=this.props).onChange)==null||l.call(r,this.state.selected,s)}onSave(){if(this.state.isTourOpen&&this.state.tourStep===As.saveTheScript&&(this.setState({isTourOpen:!1}),window.localStorage.setItem("tour","true")),this.state.changed[this.state.selected]){const s={...this.state.changed};s[this.state.selected]=!1,this.setState({changed:s},()=>{var r,l,u;this.setChangedInAdmin();const i=JSON.parse(JSON.stringify(this.scripts[this.state.selected]));this.props.password&&((r=this.props.objects[this.state.selected].native)!=null&&r.protected)&&(i.source=mc(this.props.password,i.source)),(u=(l=this.props).onChange)==null||u.call(l,this.state.selected,i)})}}onSaveAll(){const s={...this.state.changed};Object.keys(s).forEach(i=>{var r,l,u;if(s[i]){s[i]=!1;const d=JSON.parse(JSON.stringify(this.scripts[i]));this.props.password&&((r=this.props.objects[i].native)!=null&&r.protected)&&(d.source=mc(this.props.password,d.source)),(u=(l=this.props).onChange)==null||u.call(l,i,d)}}),this.setState({changed:s},()=>this.setChangedInAdmin())}onCancel(){this.scripts[this.state.selected]=this.getScriptFromObject(this.state.selected);const s={...this.state.changed};s[this.state.selected]=!1,this.setState({changed:s},()=>this.setChangedInAdmin())}onRegisterSelect(s){this.getSelect=s}onConvertBlockly2JS(){this.showConfirmDialog(b.I18n.t("It will not be possible to revert this operation."),s=>{if(s){this.scripts[this.state.selected].engineType="Javascript/js";const r=this.scripts[this.state.selected].source.split(` `);r.pop(),this.scripts[this.state.selected].source=r.join(` -`);const l=this.state.selected,u={...this.state.changed};u[this.state.selected]=!0,this.setState({changed:u,blockly:!1,selected:""},()=>{this.setChangedInAdmin(),setTimeout(()=>this.setState({selected:l}),100)})}})}onChange(s){if(s.script!==void 0){if(s.script===this.scripts[this.state.selected].source)return;this.scripts[this.state.selected].source=s.script}s.debug!==void 0&&(this.scripts[this.state.selected].debug=s.debug),s.verbose!==void 0&&(this.scripts[this.state.selected].verbose=s.verbose);const i=JSON.stringify(this.scripts[this.state.selected])!==JSON.stringify(this.getScriptFromObject(this.state.selected));if(i!==!!this.state.changed[this.state.selected]){const r={...this.state.changed};r[this.state.selected]=i,this.objects[this.state.selected].from="system.adapter.admin.0",this.setState({changed:r},()=>this.setChangedInAdmin())}}onTabChange(s){var r,l;if(this.props.debugMode)return;window.localStorage.setItem("Editor.selected",s);const i=this.scripts[s]||this.getScriptFromObject(s);this.setState({selected:s,rules:i.engineType==="Rules",blockly:i.engineType==="Blockly",showCompiledCode:!1,verboseEnabled:i.verbose,debugEnabled:i.debug}),(l=(r=this.props).onSelectedChange)==null||l.call(r,s,this.state.editing)}isScriptChanged(s){return!!(this.scripts[s]&&this.props.objects[s]&&JSON.stringify(this.scripts[s])!==JSON.stringify(this.getScriptFromObject(s)))}onTabClose(s,i){i==null||i.stopPropagation();const r=this.state.editing.indexOf(s);if(this.state.editing.includes(s))if(this.isScriptChanged(s))this.showConfirmDialog(b.I18n.t("Discard changes for %s",this.props.objects[s].common.name),l=>{l&&(delete this.scripts[s],this.onTabClose(s))});else{const l=[...this.state.editing];l.splice(r,1);const u={editing:l};if(s===this.state.selected?l.length?r===0||l.length===1?u.selected=l[0]:u.selected=l[r-1]:u.selected="":this.state.selected&&!l.length&&(u.selected=""),window.localStorage.setItem("Editor.editing",JSON.stringify(l)),u.selected!==void 0){u.changed||={...this.state.changed},u.changed[u.selected]=this.isScriptChanged(u.selected);const d=u.selected?this.scripts[u.selected]||this.getScriptFromObject(u.selected):void 0;u.blockly=(d==null?void 0:d.engineType)==="Blockly",u.rules=(d==null?void 0:d.engineType)==="Rules",u.verboseEnabled=!!(d!=null&&d.verbose),u.debugEnabled=!!(d!=null&&d.debug),u.showCompiledCode=!1}this.setState(u,()=>{var d,p,m,f;this.setChangedInAdmin(),u.selected!==void 0?((p=(d=this.props).onSelectedChange)==null||p.call(d,u.selected,this.state.editing),window.localStorage.setItem("Editor.selected",u.selected)):(f=(m=this.props).onSelectedChange)==null||f.call(m,this.state.selected,this.state.editing)})}}showConfirmDialog(s,i){this.confirmCallback=i,this.setState({confirm:s})}sendCommandToBlockly(s){this.setState({cmdToBlockly:s},()=>setTimeout(()=>this.setState({cmdToBlockly:""}),200))}sendCommandToRules(s){this.setState({cmdToRules:s},()=>setTimeout(()=>this.setState({cmdToRules:""}),200))}static getText(s){return typeof s=="object"?s[b.I18n.getLanguage()]||s.en:s}getScriptFullName(s){var u;const i=s.split(".");i.shift(),i.shift();const r=[];let l="script.js";for(let d=0;dthis.onTabChange(i),indicatorColor:"primary",style:{position:"relative",marginLeft:10,width:this.state.editing.length>1?"calc(100% - 50px)":"100%",display:"inline-block"},textColor:"primary",variant:"scrollable",scrollButtons:"auto",allowScrollButtonsMobile:!0,children:[this.state.editing.map(s=>{var p,m;if(!this.props.objects[s]){const f=[g.jsx($t,{sx:this.isScriptChanged(s)?Te.tabChanged:void 0,style:Te.tabText,children:s.split(".").pop()},"text"),g.jsx(Me,{onClick:v=>this.onTabClose(s,v),style:Te.closeButton,size:"small",component:"span",children:g.jsx(Ql,{})},"icon")];return g.jsx(Yp,{wrapped:!0,href:`#${s}`,label:f,value:s,sx:{"& .MuiTab-wrapper":Te.tabButtonWrapper}},s)}if(!this.props.password&&((p=this.props.objects[s].native)!=null&&p.protected))return null;let i=kn.getText(this.props.objects[s].common.name)||"";const r=this.getScriptFullName(s);i.length>18&&(i=`${i.substring(0,15)}...`);const l=(m=this.getScriptFromObject(s))==null?void 0:m.source,u=this.scripts[s]&&l!==this.scripts[s].source,d=[g.jsx($t,{sx:this.isScriptChanged(s)?Te.tabChanged:void 0,style:Te.tabText,children:i},"text"),u?g.jsx("span",{style:Te.tabChangedIcon,children:"▣"},"changedSign"):null,!this.props.debugInstance&&(!this.props.debugMode||this.state.selected!==s)&&g.jsx(Me,{onClick:f=>this.onTabClose(s,f),style:Te.closeButton,size:"small",component:"span",children:g.jsx(Ql,{})},"icon")];return g.jsx(Yp,{disabled:!!this.props.debugInstance||this.state.selected!==s&&this.props.debugMode,wrapped:!0,iconPosition:"start",icon:g.jsx("img",{alt:"",src:lw[this.props.objects[s].common.engineType]||lw.def,style:Te.tabIcon},"icon"),href:`#${s}`,label:d,style:Te.tabButton,value:s,title:r,sx:{"& .MuiTab-wrapper":Te.tabButtonWrapper}},s)}),this.props.debugInstance?g.jsx(Yp,{disabled:!1,wrapped:!0,href:`#${this.props.debugInstance.adapter}`,label:this.props.debugInstance.adapter,style:Te.tabButton,value:this.props.debugInstance.adapter,title:this.props.debugInstance.adapter,sx:{"& .MuiTab-wrapper":Te.tabButtonWrapper}},this.props.debugInstance.adapter):""]},"tabs1"),this.state.editing.length>1?g.jsx(Me,{href:"#","aria-label":"Close all but current",style:Te.tabMenuButton,title:b.I18n.t("Close all but current"),"aria-haspopup":"false",onClick:s=>{const i=[this.state.selected];Object.keys(this.scripts).forEach(r=>r!==this.state.selected&&JSON.stringify(this.scripts[r])!==JSON.stringify(this.getScriptFromObject(r))&&i.push(r)),window.localStorage.setItem("Editor.editing",JSON.stringify(i)),this.setState({menuTabsOpened:!1,editing:i})},size:"medium",children:g.jsx(aS,{})},"menuButton"):null]:g.jsx($t,{sx:Te.toolbar,children:g.jsxs(De,{color:"grey",disabled:!0,style:Te.hintButton,href:"",children:[g.jsx("span",{children:b.I18n.t("Click on this icon")},"select2"),g.jsx(lS,{style:Te.hintIcon},"select3"),g.jsx("span",{children:b.I18n.t("for edit or create script")},"select4")]},"select1")},"tabs2")}getDebugMenu(){return this.state.showDebugMenu?g.jsxs(cm,{id:"menu-debug",anchorEl:this.state.menuDebugAnchorEl,open:this.state.showDebugMenu,onClose:()=>this.setState({showDebugMenu:!1,menuDebugAnchorEl:null}),slotProps:{root:{style:{maxHeight:W0*7.5}}},children:[g.jsxs(Ve,{title:b.I18n.t("debug_help"),onClick:s=>{s.stopPropagation(),s.preventDefault(),this.setState({showDebugMenu:!1,menuDebugAnchorEl:null,debugEnabled:!this.state.debugEnabled},()=>this.onChange({debug:this.state.debugEnabled}))},children:[g.jsx(bc,{checked:this.state.debugEnabled}),g.jsx(ec,{style:{...Te.menuIcon,color:cw}}),b.I18n.t("debug_label")]},"debugEnabled"),g.jsxs(Ve,{title:b.I18n.t("verbose_help"),onClick:s=>{s.stopPropagation(),s.preventDefault(),this.setState({showDebugMenu:!1,menuDebugAnchorEl:null,verboseEnabled:!this.state.verboseEnabled},()=>this.onChange({verbose:this.state.verboseEnabled}))},children:[g.jsx(bc,{checked:this.state.verboseEnabled}),g.jsx(s_,{style:{...Te.menuIcon,color:gg}}),b.I18n.t("verbose_label")]},"verboseEnabled")]},"menuDebug"):null}getDebugBadge(){return[this.state.debugEnabled&&this.state.verboseEnabled?g.jsx(ec,{style:{...Te.menuIcon,color:gg}},"DebugVerbose"):null,this.state.debugEnabled&&!this.state.verboseEnabled?g.jsx(ec,{style:{...Te.menuIcon,color:cw}},"DebugNoVerbose"):null,!this.state.debugEnabled&&this.state.verboseEnabled?g.jsx(s_,{style:{...Te.menuIcon,color:gg}},"noDebugVerbose"):null]}getAskAboutDebug(){return this.state.askAboutDebug?g.jsx(b.DialogConfirm,{onClose:()=>{this.setState({askAboutDebug:!1},()=>this.props.onDebugModeChange(!0))},ok:b.I18n.t("Yes"),cancel:b.I18n.t("Cancel"),text:b.I18n.t("The script will be stopped and must be activated manually after debugging. Continue?")}):null}renderOpenAiDialog(){return this.state.openAiDialog?g.jsx(pn,{fallback:g.jsx(vn,{}),children:g.jsx(H0,{adapterName:this.props.adapterName,socket:this.props.socket,runningInstances:this.state.runningInstances,themeType:this.state.themeType,onClose:()=>this.setState({openAiDialog:!1}),language:this.scripts[this.state.selected].engineType==="TypeScript/ts"?"typescript":"javascript",onAddCode:s=>this.setState({insert:s})})}):null}getToolbar(){var r,l;const s=!!(this.state.selected&&((r=this.scripts[this.state.selected])!=null&&r.engine)&&this.state.runningInstances[this.scripts[this.state.selected].engine]),i=!!(this.state.selected&&((l=this.scripts[this.state.selected])!=null&&l.enabled));if(this.state.selected){const u=Object.keys(this.state.changed).filter(p=>this.state.changed[p]).length,d=this.state.changed[this.state.selected];return g.jsxs(Lk,{variant:"dense",sx:Te.toolbar,children:[!this.props.debugInstance&&this.state.menuOpened&&this.props.onLocate&&g.jsx(Me,{style:Te.toolbarButtons,title:b.I18n.t("Locate file"),onClick:()=>this.props.onLocate(this.state.selected),size:"medium",children:g.jsx(cS,{})},"locate"),!this.props.debugInstance&&!d&&s?g.jsx(Me,{disabled:this.props.debugMode,style:Te.toolbarButtons,onClick:()=>this.onRestart(),title:b.I18n.t("Restart"),size:"medium",children:g.jsx(uS,{})},"restart"):null,!this.props.debugInstance&&!d?g.jsx(Me,{disabled:this.props.debugMode,onClick:()=>this.onStartStop(),title:i?b.I18n.t("Pause script"):b.I18n.t("Run script"),size:"medium",style:{...Te.toolbarButtons,color:i?V0:G0},children:i?g.jsx(dS,{}):g.jsx(hS,{})},"start-stop"):null,!this.props.debugInstance&&!d&&!i?g.jsx("span",{style:Te.notRunning,children:b.I18n.t("Script is not running")}):null,!d&&i&&!s?g.jsx("span",{style:Te.notRunning,children:b.I18n.t("Instance is disabled")}):null,d?g.jsx(De,{color:"grey",variant:"contained",style:{...Te.textButton,...Te.saveButton},className:"button-save",onClick:()=>this.onSave(),endIcon:g.jsx(o_,{}),children:b.I18n.t("Save")},"save"):null,u>1||u===1&&!d?g.jsx(De,{color:"grey",variant:"contained",style:Te.textButton,onClick:()=>this.onSaveAll(),endIcon:g.jsx(o_,{}),children:b.I18n.t("Save all")},"saveall"):null,d?g.jsx(De,{color:"grey",variant:"contained",style:Te.textButton,onClick:()=>this.onCancel(),endIcon:g.jsx(Wc,{}),children:b.I18n.t("Cancel")},"cancel"):null,g.jsx("div",{style:{flex:2}}),!this.props.debugInstance&&!this.state.showCompiledCode&&g.jsx(Me,{style:Te.toolbarButtons,title:b.I18n.t("Prettify the script"),onClick:()=>this.setState({triggerPrettier:this.state.triggerPrettier+1}),size:"medium",children:g.jsx(pS,{})},"prettier"),this.state.blockly&&!this.state.showCompiledCode?g.jsx(Me,{"aria-label":"Export Blocks",title:b.I18n.t("Export blocks"),style:Te.toolbarButtons,onClick:()=>this.sendCommandToBlockly("export"),size:"medium",children:g.jsx(vc,{})},"export"):null,this.state.blockly&&!this.state.showCompiledCode&&g.jsx(Me,{"aria-label":"Import Blocks",title:b.I18n.t("Import blocks"),style:Te.toolbarButtons,onClick:()=>this.sendCommandToBlockly("import"),size:"medium",children:g.jsx(Rg,{})},"import"),this.state.blockly&&!this.state.showCompiledCode&&g.jsx(Me,{"aria-label":"Check code",title:b.I18n.t("Check blocks"),style:Te.toolbarButtons,onClick:()=>this.sendCommandToBlockly("check"),size:"medium",children:g.jsx(gS,{})},"check"),!this.props.debugMode&&!this.state.blockly&&!this.state.rules&&!this.state.showCompiledCode?g.jsx(Me,{"aria-label":"create CRON",title:b.I18n.t("Create or edit CRON or time wizard"),style:Te.toolbarButtons,onClick:()=>this.setState({showCron:!0}),size:"medium",children:g.jsx(mS,{})},"select-cron"):null,this.scripts[this.state.selected]&&this.scripts[this.state.selected].engineType!=="Blockly"&&this.scripts[this.state.selected].engineType!=="Rules"?g.jsx(Me,{"aria-label":"AI",title:b.I18n.t("AI code generator"),style:Te.toolbarButtons,size:"medium",onClick:()=>this.setState({openAiDialog:!0}),children:g.jsx(K0,{})},"ai"):null,g.jsx(Me,{"aria-label":"Show astronomical events",title:b.I18n.t("Show astronomical events"),style:Te.toolbarButtons,disabled:!s,onClick:()=>{this.setState({showAstro:!0,astroEvents:null}),this.props.socket.sendTo(this.scripts[this.state.selected].engine.replace("system.adapter.",""),"calcAstroAll",{}).then(p=>this.setState({astroEvents:p}))},size:"medium",children:g.jsx(fS,{})},"show-astro"),!this.props.debugMode&&!this.state.blockly&&!this.state.rules&&!this.state.showCompiledCode&&g.jsx(Me,{"aria-label":"select ID",title:b.I18n.t("Insert object ID"),style:Te.toolbarButtons,onClick:()=>this.setState({showSelectId:!0}),size:"medium",children:g.jsx($S,{})},"select-id"),this.state.blockly&&!this.state.rules&&this.state.showCompiledCode&&g.jsx(De,{color:"grey","aria-label":"convert to javascript",title:b.I18n.t("Convert blockly to javascript for ever."),onClick:()=>this.onConvertBlockly2JS(),children:"Blockly=>JS"},"convert2js"),this.state.rules&&!this.state.showCompiledCode&&g.jsx(Me,{"aria-label":"Export Blocks",title:b.I18n.t("Export blocks"),style:Te.toolbarButtons,onClick:()=>this.sendCommandToRules("export"),size:"medium",children:g.jsx(vc,{})},"export"),this.state.rules&&!this.state.showCompiledCode&&g.jsx(Me,{"aria-label":"Import Blocks",title:b.I18n.t("Import blocks"),style:Te.toolbarButtons,onClick:()=>this.sendCommandToRules("import"),size:"medium",children:g.jsx(Rg,{})},"import"),this.props.expertMode&&!d&&(this.props.debugMode||!this.state.blockly&&!this.state.rules||(this.state.blockly||this.state.rules)&&this.state.showCompiledCode)&&g.jsx(Me,{style:Te.toolbarButtons,color:this.props.debugMode?"primary":"default",disabled:!this.props.debugMode&&!s,onClick:()=>{!this.props.debugMode&&i?this.setState({askAboutDebug:!0}):this.props.onDebugModeChange(!this.props.debugMode)},size:"medium",children:g.jsx(ec,{style:{fontSize:32}})}),(this.state.blockly||this.state.rules)&&g.jsx(De,{"aria-label":"blockly",title:b.I18n.t("Show javascript code"),className:"button-js-code",color:this.state.showCompiledCode?"secondary":"inherit",disabled:this.props.debugMode,style:{...Te.toolbarButtons,...this.props.debugMode?Te.toolbarButtonsDisabled:void 0,padding:"0 5px"},onClick:()=>{this.props.debugMode||(this.setState({showCompiledCode:!this.state.showCompiledCode}),this.state.isTourOpen&&this.state.tourStep===As.showJavascript&&this.setState({tourStep:As.switchBackToRules}),this.state.isTourOpen&&this.state.tourStep===As.switchBackToRules&&this.setState({tourStep:As.saveTheScript}))},children:g.jsx("img",{alt:this.state.blockly?"blockly2js":"rules2js",src:this.state.blockly?N0:L0})},"blockly-code"),g.jsx(Me,{disabled:this.props.debugMode,"aria-label":"Debug menu",title:b.I18n.t("Debug options"),style:Te.toolbarButtons,onClick:p=>this.setState({showDebugMenu:!0,menuDebugAnchorEl:p.currentTarget}),size:"medium",children:g.jsx(Pk,{style:Te.badgeMargin,badgeContent:this.getDebugBadge(),children:g.jsx(bS,{})})},"debug")]},"toolbar1")}return null}getScriptEditor(){return!this.props.debugMode&&this.state.selected&&this.props.objects[this.state.selected]&&this.state.blockly!==null&&(!this.state.blockly||this.state.showCompiledCode)&&(!this.state.rules||this.state.showCompiledCode)?(this.scripts[this.state.selected]||=this.getScriptFromObject(this.state.selected),g.jsx($t,{sx:Te.editorDiv,children:g.jsx(pn,{fallback:g.jsx(vn,{}),children:g.jsx(z0,{name:this.state.selected,adapterName:this.props.adapterName,insert:this.state.insert,onInserted:()=>this.setState({insert:""}),onForceSave:()=>this.onSave(),searchText:this.state.searchText,onRegisterSelect:s=>this.onRegisterSelect(s),readOnly:this.state.showCompiledCode,changed:this.state.changed[this.state.selected],code:this.scripts[this.state.selected].source||"",isDark:this.state.themeType==="dark",socket:this.props.socket,runningInstances:this.state.runningInstances,triggerPrettier:this.state.triggerPrettier,onChange:s=>this.onChange({script:s}),language:this.scripts[this.state.selected].engineType==="TypeScript/ts"?"typescript":"javascript"},"scriptEditor1")})},"scriptEditorDiv")):null}getBlocklyEditor(){return!this.props.debugMode&&this.state.instancesLoaded&&this.state.selected&&this.props.objects[this.state.selected]&&this.state.blockly&&!this.state.showCompiledCode&&this.state.visible?(this.scripts[this.state.selected]||=this.getScriptFromObject(this.state.selected),g.jsx($t,{sx:Te.editorDiv,children:g.jsx(pn,{fallback:g.jsx(vn,{}),children:g.jsx(B0,{command:this.state.cmdToBlockly,themeType:this.state.themeType,searchText:this.state.searchText,code:this.scripts[this.state.selected].source||"",scriptId:this.state.selected,onChange:s=>this.onChange({script:s})},"BlocklyEditor")})},"blocklyEditorDiv")):null}getRulesEditor(){var s,i;if(!this.props.debugMode&&this.state.instancesLoaded&&this.state.selected&&this.props.objects[this.state.selected]&&this.state.rules&&!this.state.showCompiledCode&&this.state.visible){this.scripts[this.state.selected]||=this.getScriptFromObject(this.state.selected);const r=!!this.state.selected&&!!((s=this.scripts[this.state.selected])!=null&&s.engine)&&this.state.runningInstances[this.scripts[this.state.selected].engine],l=!!this.state.selected&&((i=this.scripts[this.state.selected])==null?void 0:i.enabled);return g.jsx($t,{sx:Te.editorDiv,children:g.jsx(pn,{fallback:g.jsx(vn,{}),children:g.jsx(j0,{scriptId:this.state.selected,setTourStep:this.setTourStep,tourStep:this.state.tourStep,isTourOpen:this.state.isTourOpen,changed:this.state.changed[this.state.selected],running:r&&l,command:this.state.cmdToRules,themeType:this.state.themeType,themeName:this.props.themeName,theme:this.props.theme,searchText:this.state.searchText,resizing:this.props.resizing,code:this.scripts[this.state.selected].source||"",onChange:u=>this.onChange({script:u})},"flowEditor")})},"flowEditorDiv")}return null}getConfirmDialog(){return this.state.confirm?g.jsx(b.DialogConfirm,{text:this.state.confirm,onClose:s=>{if(this.confirmCallback){const i=this.confirmCallback;this.confirmCallback=null,i(s)}this.setState({confirm:""})}},"dialogConfirm1"):null}getSelectIdDialog(){var s;if(this.state.showSelectId){const i=["state","channel","device","adapter","instance","enum","host","config","script","user","group"],r=["adapter","instance","enum","host","config","script","user","group"];let l=this.selectId.callback?this.selectId.initValue||"":this.getSelect&&this.getSelect()||"",u=l.indexOf("/*");u!==-1&&(l=l.substring(0,u)),u=l.indexOf("//"),u!==-1&&(l=l.substring(0,u));let d=l.match(/"([^"]+)"/);return d&&(l=d[1]),d=l.match(/'([^']+)'/),d&&(l=d[1]),g.jsx(b.DialogSelectID,{theme:this.props.theme,imagePrefix:"../..",themeName:this.props.themeName,themeType:this.state.themeType,socket:this.props.socket,selected:l,expertMode:this.selectId.type&&this.selectId.type!=="all"&&r.includes(this.selectId.type)?!0:void 0,types:((s=this.selectId)==null?void 0:s.type)==="all"?i:[this.selectId.type||"state"],onClose:()=>{this.setState({showSelectId:!1}),this.selectId.callback&&(this.selectId.callback=null)},onOk:(p,m)=>{this.selectId.initValue=null,this.selectId.callback?(this.selectId.callback(p),this.selectId.callback=null):this.setState({insert:`'${p}'/*${m}*/`})}},"dialogSelectID1")}return null}getCronDialog(){return this.state.showCron?g.jsx(b.DialogCron,{theme:this.props.theme,cron:this.cron.callback?this.cron.initValue||"":this.getSelect?this.getSelect():"* * * * *",onClose:()=>this.setState({showCron:!1}),onOk:s=>{this.cron.initValue=null,this.cron.callback?(this.cron.callback(s),this.cron.callback=null):this.setState({insert:`'${s}'`})}},"dialogCron1"):null}getAstroDialog(){return this.state.showAstro?g.jsxs(Vt,{open:!0,onClose:()=>this.setState({showAstro:!1}),children:[g.jsx(as,{children:b.I18n.t("Astronomical events today")}),g.jsx(Gt,{children:this.state.astroEvents?g.jsx(jk,{component:Dw,children:g.jsxs(Fk,{size:"small",children:[g.jsx(zk,{children:g.jsxs(t_,{children:[g.jsx(gn,{children:b.I18n.t("Name")}),g.jsx(gn,{children:b.I18n.t("Server time")}),g.jsx(gn,{children:b.I18n.t("Description")})]})}),g.jsx(Uk,{children:Object.keys(this.state.astroEvents).map(s=>{var i,r,l,u;return g.jsxs(t_,{children:[g.jsx(gn,{component:"th",scope:"row",children:s.startsWith("next")?"":s}),g.jsx(Hk,{title:`${b.I18n.t("Local time")}: ${(i=this.state.astroEvents)!=null&&i[s].isValidDate?new Date((r=this.state.astroEvents)==null?void 0:r[s].date).toLocaleTimeString():"n/a"}`,children:g.jsx(gn,{align:"right",children:(l=this.state.astroEvents)!=null&&l[s].isValidDate?(u=this.state.astroEvents)==null?void 0:u[s].serverTime:"n/a"})}),g.jsx(gn,{children:b.I18n.t(s)})]},s)})})]})}):g.jsx(Bk,{})}),g.jsx(Kt,{children:g.jsx(De,{variant:"contained",onClick:()=>this.setState({showAstro:!1}),color:"primary",startIcon:g.jsx(Ql,{}),children:b.I18n.t("Close")})})]},"dialogAstro"):null}getEditorDialog(){return this.state.showScript?g.jsx(pn,{fallback:g.jsx(vn,{}),children:g.jsx(U0,{adapterName:this.props.adapterName,source:this.scriptDialog.initValue||"",args:this.scriptDialog.args?this.scriptDialog.args.join(", "):"",isReturn:this.scriptDialog.isReturn,socket:this.props.socket,runningInstances:this.state.runningInstances,themeType:this.state.themeType,onClose:s=>{this.scriptDialog.initValue=null,this.scriptDialog.callback&&(s!==!1&&this.scriptDialog.callback(s||""),this.scriptDialog.callback=null),this.setState({showScript:!1})}},"scriptEditorDialog")}):null}getToast(){return g.jsx(Wk,{anchorOrigin:{vertical:"bottom",horizontal:"left"},open:!!this.state.toast,autoHideDuration:6e3,onClose:()=>this.setState({toast:""}),slotProps:{content:{"aria-describedby":"message-id"}},message:g.jsx("span",{id:"message-id",children:this.state.toast}),action:[g.jsx(Me,{"aria-label":"close",color:"inherit",style:Te.closeToast,onClick:()=>this.setState({toast:""}),size:"medium",children:g.jsx(Ql,{})},"close")]},"toast")}setTourStep=s=>this.setState({tourStep:s});getTour(){return this.state.instancesLoaded&&this.state.selected&&this.props.isAnyRulesExists===1&&this.props.objects[this.state.selected]&&this.state.rules&&this.state.visible?g.jsx(Bm,{steps:P0,isOpen:this.state.isTourOpen,onRequestClose:()=>{this.setState({isTourOpen:!1}),window.localStorage.setItem("tour","true"),this.props.socket.setState("javascript.0.variables.rulesTour",{val:!0,ack:!0})},goToStep:this.state.tourStep},"tour"):null}getDebug(){return this.props.debugMode?this.state.selected&&this.scripts[this.state.selected]&&this.scripts[this.state.selected].engine&&this.state.runningInstances[this.scripts[this.state.selected].engine]?g.jsx(pn,{fallback:g.jsx(vn,{}),children:g.jsx(F0,{runningInstances:this.state.runningInstances,adapterName:this.props.adapterName,socket:this.props.socket,themeName:this.props.themeName,themeType:this.props.themeType,src:this.props.debugInstance?this.props.debugInstance.adapter:this.state.selected,debugInstance:this.props.debugInstance},"debugger")}):(setTimeout(()=>this.props.onDebugModeChange(!1)),null):null}getScriptFromObject(s){var r,l;if(!((r=this.props.objects[s])!=null&&r.common))return;const i=JSON.parse(JSON.stringify(this.props.objects[s].common));return(l=this.props.objects[s].native)!=null&&l.protected&&this.props.password&&(i.source=Ug(this.props.password,i.source)),i}render(){var s,i;return this.state.selected&&this.props.objects[this.state.selected]&&this.state.blockly===null&&this.state.rules===null&&(this.scripts[this.state.selected]||=this.getScriptFromObject(this.state.selected),setTimeout(()=>{const r={blockly:this.scripts[this.state.selected].engineType==="Blockly",rules:this.scripts[this.state.selected].engineType==="Rules",showCompiledCode:!1,debugEnabled:this.scripts[this.state.selected].debug,verboseEnabled:this.scripts[this.state.selected].verbose};this.removeNonExistingScripts(null,r),this.setState(r)},100)),this.state.selected&&!this.props.password&&((i=(s=this.props.objects[this.state.selected])==null?void 0:s.native)!=null&&i.protected)&&setTimeout(()=>{const r=this.state.editing.find(l=>{var u,d;return!((d=(u=this.props.objects[l])==null?void 0:u.native)!=null&&d.protected)})||"";Object.keys(this.scripts).forEach(l=>{var u,d;(d=(u=this.props.objects[l])==null?void 0:u.native)!=null&&d.protected&&delete this.scripts[l]}),this.setState({selected:r},()=>{var l,u;(u=(l=this.props).onSelectedChange)==null||u.call(l,r,this.state.editing),this.state.selected?window.localStorage.setItem("Editor.selected",this.state.selected):window.localStorage.removeItem("Editor.selected")})},50),!this.state.selected&&this.props.password&&this.state.editing.length&&setTimeout(()=>{const r=this.state.editing[0];this.setState({selected:r},()=>{var l,u;(u=(l=this.props).onSelectedChange)==null||u.call(l,r,this.state.editing),window.localStorage.setItem("Editor.selected",this.state.selected)})},50),[this.getTabs(),this.getToolbar(),this.getScriptEditor(),this.getAskAboutDebug(),this.getBlocklyEditor(),this.getRulesEditor(),this.getDebug(),this.getConfirmDialog(),this.getSelectIdDialog(),this.getCronDialog(),this.getEditorDialog(),this.getAstroDialog(),this.getDebugMenu(),this.renderOpenAiDialog(),this.getToast(),this.getTour()]}}const Ht={dialog:{height:"95%"},dropzone:{marginTop:20,width:"100%",borderWidth:5,borderStyle:"dashed",borderColor:"#d0cccc",textAlign:"center",boxSizing:"border-box",paddingTop:45,borderRadius:10,height:"calc(100% - 10px)"},dropzoneDiv:{width:"100%",height:"100%"},dropzoneRejected:{borderColor:"#970000"},dropzoneAccepted:{borderColor:"#17cd02"},icon:{height:"30%",width:"30%",color:"#eeeeee",position:"absolute",top:"50%",left:"50%",transform:"translate(-50%,-50%)",zIndex:0},iconError:{color:"#ffc3c6"},iconOk:{color:"#aaeebc"},text:{top:"50%",left:"50%",transform:"translate(-50%,-50%)",color:"#868686",position:"absolute",zIndex:1}};class jm extends Y.Component{constructor(s){super(s),this.state={error:"",imageStatus:""}}componentDidMount(){setTimeout(()=>{var s;try{(s=window.document.getElementById("import-text-area"))==null||s.focus()}catch{}},100)}handleCancel(){this.props.onClose()}static readFileDataUrl(s,i){const r=new FileReader;r.onload=()=>{i(null,{data:r.result,name:s.name})},r.onabort=()=>{console.error("file reading was aborted"),i(b.I18n.t("file reading was aborted"))},r.onerror=l=>{console.error("file reading has failed"),i(b.I18n.t("file reading has failed: %s",l))},r.readAsDataURL(s)}handleDropFile(s){if(!(s!=null&&s.length))return;const i=s[s.length-1];i&&jm.readFileDataUrl(i,(r,l)=>{var u;r||!l?this.setState({error:r||"No data"}):this.props.onClose(((u=l.data)==null?void 0:u.toString())||"")})}render(){const s={...Ht.dropzone,...this.state.imageStatus==="accepted"?Ht.dropzoneAccepted:this.state.imageStatus==="rejected"?Ht.dropzoneRejected:void 0};return g.jsxs(Vt,{onClose:()=>!1,maxWidth:"lg",sx:{"& .MuiDialog-paper":Ht.dialog},fullWidth:!0,open:!0,"aria-labelledby":"import-dialog-title",PaperProps:{style:{minHeight:"90%",maxHeight:"90%"}},children:[g.jsx(as,{id:"import-dialog-title",children:b.I18n.t("Import scripts")}),g.jsxs(Gt,{children:[g.jsx(Mw,{maxSize:5e7,onDrop:(i,r)=>{var l,u,d;i.length?this.handleDropFile(i):window.alert(((d=(u=(l=r==null?void 0:r[0])==null?void 0:l.errors)==null?void 0:u[0])==null?void 0:d.message)||b.I18n.t("ra_Cannot upload"))},multiple:!1,accept:{"application/zip":[],"application/x-zip-compressed":[]},children:({getRootProps:i,getInputProps:r,isDragActive:l,isDragReject:u})=>u?(this.state.imageStatus!=="rejected"&&this.setState({imageStatus:"rejected"}),g.jsxs("div",{style:{...s,...Ht.dropzoneDiv},...i(),children:[g.jsx("input",{...r()}),g.jsx("span",{style:Ht.text,children:b.I18n.t("Some files will be rejected")},"text"),g.jsx(Wc,{style:{...Ht.icon,...Ht.iconError}},"icon")]})):l?(this.state.imageStatus!=="accepted"&&this.setState({imageStatus:"accepted"}),g.jsxs("div",{style:{...s,...Ht.dropzoneDiv},...i(),children:[g.jsx("input",{...r()}),g.jsx("span",{style:Ht.text,children:b.I18n.t("All files will be accepted")},"text"),g.jsx(Nw,{style:{...Ht.icon,...Ht.iconOk}},"icon")]})):(this.state.imageStatus!=="wait"&&this.setState({imageStatus:"wait"}),g.jsxs("div",{style:{...s,...Ht.dropzoneDiv},...i(),children:[g.jsx("input",{...r()}),g.jsx("span",{style:Ht.text,children:b.I18n.t("Drop some files here or click...")},"text"),g.jsx(Lw,{style:Ht.icon},"icon")]}))},"image-drop"),this.state.error?g.jsx(Zc,{text:this.state.error,onClose:()=>this.setState({error:""})}):null]}),g.jsx(Kt,{children:g.jsx(De,{color:"grey",variant:"contained",onClick:()=>this.handleCancel(),startIcon:g.jsx(qs,{}),children:b.I18n.t("Close")})})]})}}var Fm={exports:{}},Y0=Fm.exports;(function(a,s){(function(i,r){a.exports=r()})(Y0,function(){var i={},r,l,u,d,p,m,f,v,_,y,k,C,w,E,R,D,A,J,ie,se,me,z,Oe,Ne,Ze,ae,ce,K,ye,he,je,G,tt,q,ee,B,H,U,re,I,de,W,Ce,be,Se,pe,Ge,Je,_e,ke,$e,Pe,bt,X,ct,ze,kt,ve,st,Zs,St,Et,cu,N,ge,la,ot,Hm,Ke,Uo,ca,Ho,Wo,uu,Nn,ua,da,Ln,Wm,du,Ms,yo,hu,pu,ha,gu,Pn,pa,mu,fu,Vm,Gm,Km,Ii,Ym,ga,Jm,Bn,ma,qm,fa,Xm,$a,$u,bu,ba,va,ya,jn,Zm,xi,Fn,_a,Qm,ef,tf,_o,It,zn,vu,ws,Qs,sf,yu,wa,_u,of,wu,Un,nf,Ca,rf,af,Ta,lf,Di,cf,Cu,ka,Tu,ku,uf,Sa,Ai,Ea,df,Su,Eu,hf,pf,Vo,gf,Hn,Qt,mf,ff,$f,bf,vf,yf,_f,Iu,eo,Ri,xu,wf,Cf,Tf,kf,Sf,Ef,If,xf,Df,Du,Af,Oi,Ia,Rf,Mi,Au,Ru,Ou,Wn,xa,Mu,Of,Nu,Lu,Pu,Bu,ju,Fu,zu,Mf,Vn,Uu,Da,Aa,Ns,Hu,Wu,Gn,Vu,Gu,Nf,Ra,Ku,Lf,Pf,Bf,jf,Ff,Ni,Yu,Ju,Li,Oa,zf,Uf,qu,Xu,to,Zu,Qu,Hf,Wf,Vf,Gf,ed,Kf,td,Yf,Go,Kn,Ma,Na,Ko,sd,La,od,pt,Jf,Pi,Yo,qf,id,Pa,Bi,nd,Jo,Yn,rd,ad,Xf,Zf,Qf,ld,e$,cd,Jn,t$,s$,o$,i$,qn,ud,dd,Ba,ja,n$,Xn,hd,Zn,r$,a$,wo,pd,Ls,l$,c$,gd,u$,qo,md,d$,h$,p$,g$,m$,fd,f$,$$,Fa,b$,v$,$d,za,bd,Ua,vd,yd,ji,Xo,so,Ps,y$,_$,w$,_d,Ha,C$,T$,k$,wd,Wa,Cd,Va,S$,E$,I$,x$,ue,Yt,wt,at,Bs,Fi,ne,gt,Td,D$,Co,Ga,Ka,kd,A$,Sd,Ya,Ed,Id,R$,xd,O$,Ja,M$,N$,L$,P$,B$,Dd,j$,Qn,er,F$,Ad,Rd,Od,Md,qa,Nd,z$,U$,H$,zi,Ld,W$,Xa,ls,V$,To,Pd,G$,tr,Bd,jd,Fd,zd,Ud,Hd,Wd,Vd,Gd,Kd,K$,Y$,J$,q$,X$,Z$,Za,Q$,eb,Yd,Jd,qd,Xd,Zd,Qd,eh,Qa,sr,th,tb,sh,oh,ih,nh,rh,ah,lh,ch,uh,dh,sb,ob,ib,hh,nb,rb,ab,lb,cb,j;r=function(e,t,o,n){if(!(e instanceof F)&&typeof e!="string"||`${e}`.trim()==="")throw Error('Invalid type "'+e+'". The type must be a non-empty string or a Blockly.registry.Type.');if(e=`${e}`.toLowerCase(),typeof t!="string"||t.trim()==="")throw Error('Invalid name "'+t+'". The name must be a non-empty string.');const c=t.toLowerCase();if(!o)throw Error("Can not register a null value");let h=ko[e],$=el[e];if(h||(h=ko[e]=Object.create(null),$=el[e]=Object.create(null)),l(e,o),!n&&h[c]&&h[c]!==o)throw Error('Name "'+c+'" with type "'+e+'" already registered.');h[c]=o,$[c]=t},l=function(e,t){switch(e){case String(F.FIELD):if(typeof t.fromJson!="function")throw Error('Type "'+e+'" must have a fromJson function')}},u=function(e,t){e=`${e}`.toLowerCase(),t=t.toLowerCase();const o=ko[e];o&&o[t]?(delete ko[e][t],delete el[e][t]):console.warn("Unable to unregister ["+t+"]["+e+"] from the registry.")},d=function(e,t,o){e=`${e}`.toLowerCase(),t=t.toLowerCase();const n=ko[e];if(!n||!n[t]){if(t="Unable to find ["+t+"]["+e+"] in the registry.",o)throw Error(t+" You must require or register a "+e+" plugin.");return console.warn(t),null}return n[t]},p=function(e,t){return e=`${e}`.toLowerCase(),t=t.toLowerCase(),(e=ko[e])?!!e[t]:!1},m=function(e,t,o){return d(e,t,o)},f=function(e,t,o){return d(e,t,o)},v=function(e,t,o){e=`${e}`.toLowerCase();var n=ko[e];if(!n){if(n=`Unable to find [${e}] in the registry.`,o)throw Error(`${n} You must require or register a ${e} plugin.`);return console.warn(n),null}if(!t)return n;e=el[e],o=Object.create(null);for(const c of Object.keys(n))o[e[c]]=n[c];return o},_=function(e,t,o){return t=t.plugins[String(e)]||js,typeof t=="function"?t:m(e,t,o)},y=function(e,t,o,n){e=e+" was deprecated in "+t+" and will be deleted in "+o+".",n&&(e+=` -Use `+n+" instead."),db.has(e)||(db.add(e),console.warn(e))},k=function(){return"blockly-"+(OT++).toString(36)},C=function(){return gb.genUid()},w=function(e){return e.type===O.BLOCK_CREATE},E=function(e){return e.type===O.BLOCK_DELETE},R=function(e){return e.type===O.BLOCK_CHANGE},D=function(e){return e.type===O.BLOCK_FIELD_INTERMEDIATE_CHANGE},A=function(e){return e.type===O.BLOCK_MOVE},J=function(e){return e.type===O.CLICK},ie=function(e){return e.type===O.BUBBLE_OPEN},se=function(e){return e.type===O.VIEWPORT_CHANGE},i.setRecordUndo$$module$build$src$core$events$utils=function(e){or=e},me=function(){return or},z=function(e){fb.fireInternal(e)},Oe=function(e){if(K()){if(!io.length)try{requestAnimationFrame(()=>{setTimeout(Ne,0)})}catch{setTimeout(Ne,0)}Ze(e)}},Ne=function(){const e=ae(io,!0);io.length=0;for(const t of e){if(!t.workspaceId)continue;let o;(o=q(t.workspaceId))==null||o.fireChangeListener(t)}},Ze=function(e){if(R(e)&&e.element==="mutation"){let t;for(t=io.length;0!n.isNull()),t||e.reverse(),e},ce=function(){for(let e=0,t;t=io[e];e++)t.recordUndo=!1},i.disable$$module$build$src$core$events$utils=function(){gh++},i.enable$$module$build$src$core$events$utils=function(){gh--},K=function(){return gh===0},i.getGroup$$module$build$src$core$events$utils=function(){return mb},i.setGroup$$module$build$src$core$events$utils=function(e){fb.setGroupInternal(e)},ye=function(e){mb=typeof e=="boolean"?e?C():"":e},he=function(e){const t=[];e=e.getDescendants(!1);for(let o=0,n;n=e[o];o++)t[o]=n.id;return t},je=function(e,t){const o=G(e.type);if(!o)throw Error("Unknown event type.");return o.fromJson(e,t)},G=function(e){const t=m(F.EVENT,e);if(!t)throw Error(`Event type ${e} not found in registry.`);return t},tt=function(e){if((A(e)||w(e))&&e.workspaceId){var t=q(e.workspaceId);if(!e.blockId)throw Error("Encountered a blockEvent without a proper blockId");if(e=t.getBlockById(e.blockId)){const o=or;try{or=!1;const n=e.getParent();if(n&&!n.hasDisabledReason(mh)){const c=e.getDescendants(!1);for(let h=0,$;$=c[h];h++)$.setDisabledReason(!1,mh)}else if((e.outputConnection||e.previousConnection)&&!t.isDragging())do e.setDisabledReason(!0,mh),e=e.getNextBlock();while(e)}finally{or=o}}}},q=function(e){return ir[e]||null},ee=function(){const e=[];for(const t in ir)e.push(ir[t]);return e},B=function(e){ir[e.id]=e},H=function(e){delete ir[e.id]},U=function(){return $b},re=function(e){$b=e},I=function(){return Zo},i.setSelected$$module$build$src$core$common=function(e){if(Zo!==e){var t,o,n,c,h,$,T=new(G(O.SELECTED))((n=(t=Zo)==null?void 0:t.id)!=null?n:null,(c=e==null?void 0:e.id)!=null?c:null,($=(h=e==null?void 0:e.workspace.id)!=null?h:(o=Zo)==null?void 0:o.workspace.id)!=null?$:"");z(T);var L;(L=Zo)==null||L.unselect(),Zo=e;var te;(te=Zo)==null||te.select()}},de=function(){return bb},W=function(e){bb=e},Ce=function(e){for(;e.options.parentWorkspace;)e=e.options.parentWorkspace;const t=e.getParentSvg(),o=e.getCachedParentSvgSize();var n=t.parentElement;if(n instanceof HTMLElement){var c=n.offsetWidth;n=n.offsetHeight,o.width!==c&&(t.setAttribute("width",c+"px"),e.setCachedParentSvgSize(c,null)),o.height!==n&&(t.setAttribute("height",n+"px"),e.setCachedParentSvgSize(null,n)),e.resize()}},be=function(e,t){const o=Object.create(null),n=e.getDescendants(!0);t&&(e=e.getNextBlock())&&(e=n.indexOf(e),n.splice(e,n.length-e));for(let c=0,h;h=n[c];c++)o[h.type]?o[h.type]++:o[h.type]=1;return o},Se=function(e){return function(){this.jsonInit(e)}},pe=function(e){vb.defineBlocksWithJsonArrayInternal(e)},Ge=function(e){i.defineBlocks$$module$build$src$core$common(i.createBlockDefinitionsFromJsonArray$$module$build$src$core$common(e))},i.createBlockDefinitionsFromJsonArray$$module$build$src$core$common=function(e){const t={};for(let o=0;o{this.setChangedInAdmin(),setTimeout(()=>this.setState({selected:l}),100)})}})}onChange(s){if(s.script!==void 0){if(s.script===this.scripts[this.state.selected].source)return;this.scripts[this.state.selected].source=s.script}s.debug!==void 0&&(this.scripts[this.state.selected].debug=s.debug),s.verbose!==void 0&&(this.scripts[this.state.selected].verbose=s.verbose);const i=JSON.stringify(this.scripts[this.state.selected])!==JSON.stringify(this.getScriptFromObject(this.state.selected));if(i!==!!this.state.changed[this.state.selected]){const r={...this.state.changed};r[this.state.selected]=i,this.objects[this.state.selected].from="system.adapter.admin.0",this.setState({changed:r},()=>this.setChangedInAdmin())}}onTabChange(s){var r,l;if(this.props.debugMode)return;window.localStorage.setItem("Editor.selected",s);const i=this.scripts[s]||this.getScriptFromObject(s);this.setState({selected:s,rules:i.engineType==="Rules",blockly:i.engineType==="Blockly",showCompiledCode:!1,verboseEnabled:i.verbose,debugEnabled:i.debug}),(l=(r=this.props).onSelectedChange)==null||l.call(r,s,this.state.editing)}isScriptChanged(s){return!!(this.scripts[s]&&this.props.objects[s]&&JSON.stringify(this.scripts[s])!==JSON.stringify(this.getScriptFromObject(s)))}onTabClose(s,i){i==null||i.stopPropagation();const r=this.state.editing.indexOf(s);if(this.state.editing.includes(s))if(this.isScriptChanged(s))this.showConfirmDialog(b.I18n.t("Discard changes for %s",this.props.objects[s].common.name),l=>{l&&(delete this.scripts[s],this.onTabClose(s))});else{const l=[...this.state.editing];l.splice(r,1);const u={editing:l};if(s===this.state.selected?l.length?r===0||l.length===1?u.selected=l[0]:u.selected=l[r-1]:u.selected="":this.state.selected&&!l.length&&(u.selected=""),window.localStorage.setItem("Editor.editing",JSON.stringify(l)),u.selected!==void 0){u.changed||={...this.state.changed},u.changed[u.selected]=this.isScriptChanged(u.selected);const d=u.selected?this.scripts[u.selected]||this.getScriptFromObject(u.selected):void 0;u.blockly=(d==null?void 0:d.engineType)==="Blockly",u.rules=(d==null?void 0:d.engineType)==="Rules",u.verboseEnabled=!!(d!=null&&d.verbose),u.debugEnabled=!!(d!=null&&d.debug),u.showCompiledCode=!1}this.setState(u,()=>{var d,p,m,f;this.setChangedInAdmin(),u.selected!==void 0?((p=(d=this.props).onSelectedChange)==null||p.call(d,u.selected,this.state.editing),window.localStorage.setItem("Editor.selected",u.selected)):(f=(m=this.props).onSelectedChange)==null||f.call(m,this.state.selected,this.state.editing)})}}showConfirmDialog(s,i){this.confirmCallback=i,this.setState({confirm:s})}sendCommandToBlockly(s){this.setState({cmdToBlockly:s},()=>setTimeout(()=>this.setState({cmdToBlockly:""}),200))}sendCommandToRules(s){this.setState({cmdToRules:s},()=>setTimeout(()=>this.setState({cmdToRules:""}),200))}static getText(s){return typeof s=="object"?s[b.I18n.getLanguage()]||s.en:s}getScriptFullName(s){var u;const i=s.split(".");i.shift(),i.shift();const r=[];let l="script.js";for(let d=0;dthis.onTabChange(i),indicatorColor:"primary",style:{position:"relative",marginLeft:10,width:this.state.editing.length>1?"calc(100% - 50px)":"100%",display:"inline-block"},textColor:"primary",variant:"scrollable",scrollButtons:"auto",allowScrollButtonsMobile:!0,children:[this.state.editing.map(s=>{var p,m;if(!this.props.objects[s]){const f=[g.jsx($t,{sx:this.isScriptChanged(s)?Te.tabChanged:void 0,style:Te.tabText,children:s.split(".").pop()},"text"),g.jsx(Me,{onClick:v=>this.onTabClose(s,v),style:Te.closeButton,size:"small",component:"span",children:g.jsx(Ql,{})},"icon")];return g.jsx(Yp,{wrapped:!0,href:`#${s}`,label:f,value:s,sx:{"& .MuiTab-wrapper":Te.tabButtonWrapper}},s)}if(!this.props.password&&((p=this.props.objects[s].native)!=null&&p.protected))return null;let i=kn.getText(this.props.objects[s].common.name)||"";const r=this.getScriptFullName(s);i.length>18&&(i=`${i.substring(0,15)}...`);const l=(m=this.getScriptFromObject(s))==null?void 0:m.source,u=this.scripts[s]&&l!==this.scripts[s].source,d=[g.jsx($t,{sx:this.isScriptChanged(s)?Te.tabChanged:void 0,style:Te.tabText,children:i},"text"),u?g.jsx("span",{style:Te.tabChangedIcon,children:"▣"},"changedSign"):null,!this.props.debugInstance&&(!this.props.debugMode||this.state.selected!==s)&&g.jsx(Me,{onClick:f=>this.onTabClose(s,f),style:Te.closeButton,size:"small",component:"span",children:g.jsx(Ql,{})},"icon")];return g.jsx(Yp,{disabled:!!this.props.debugInstance||this.state.selected!==s&&this.props.debugMode,wrapped:!0,iconPosition:"start",icon:g.jsx("img",{alt:"",src:lw[this.props.objects[s].common.engineType]||lw.def,style:Te.tabIcon},"icon"),href:`#${s}`,label:d,style:Te.tabButton,value:s,title:r,sx:{"& .MuiTab-wrapper":Te.tabButtonWrapper}},s)}),this.props.debugInstance?g.jsx(Yp,{disabled:!1,wrapped:!0,href:`#${this.props.debugInstance.adapter}`,label:this.props.debugInstance.adapter,style:Te.tabButton,value:this.props.debugInstance.adapter,title:this.props.debugInstance.adapter,sx:{"& .MuiTab-wrapper":Te.tabButtonWrapper}},this.props.debugInstance.adapter):""]},"tabs1"),this.state.editing.length>1?g.jsx(Me,{href:"#","aria-label":"Close all but current",style:Te.tabMenuButton,title:b.I18n.t("Close all but current"),"aria-haspopup":"false",onClick:s=>{const i=[this.state.selected];Object.keys(this.scripts).forEach(r=>r!==this.state.selected&&JSON.stringify(this.scripts[r])!==JSON.stringify(this.getScriptFromObject(r))&&i.push(r)),window.localStorage.setItem("Editor.editing",JSON.stringify(i)),this.setState({menuTabsOpened:!1,editing:i})},size:"medium",children:g.jsx(aS,{})},"menuButton"):null]:g.jsx($t,{sx:Te.toolbar,children:g.jsxs(De,{color:"grey",disabled:!0,style:Te.hintButton,href:"",children:[g.jsx("span",{children:b.I18n.t("Click on this icon")},"select2"),g.jsx(lS,{style:Te.hintIcon},"select3"),g.jsx("span",{children:b.I18n.t("for edit or create script")},"select4")]},"select1")},"tabs2")}getDebugMenu(){return this.state.showDebugMenu?g.jsxs(cm,{id:"menu-debug",anchorEl:this.state.menuDebugAnchorEl,open:this.state.showDebugMenu,onClose:()=>this.setState({showDebugMenu:!1,menuDebugAnchorEl:null}),slotProps:{root:{style:{maxHeight:G0*7.5}}},children:[g.jsxs(Ge,{title:b.I18n.t("debug_help"),onClick:s=>{s.stopPropagation(),s.preventDefault(),this.setState({showDebugMenu:!1,menuDebugAnchorEl:null,debugEnabled:!this.state.debugEnabled},()=>this.onChange({debug:this.state.debugEnabled}))},children:[g.jsx(bc,{checked:this.state.debugEnabled}),g.jsx(ec,{style:{...Te.menuIcon,color:cw}}),b.I18n.t("debug_label")]},"debugEnabled"),g.jsxs(Ge,{title:b.I18n.t("verbose_help"),onClick:s=>{s.stopPropagation(),s.preventDefault(),this.setState({showDebugMenu:!1,menuDebugAnchorEl:null,verboseEnabled:!this.state.verboseEnabled},()=>this.onChange({verbose:this.state.verboseEnabled}))},children:[g.jsx(bc,{checked:this.state.verboseEnabled}),g.jsx(s_,{style:{...Te.menuIcon,color:gg}}),b.I18n.t("verbose_label")]},"verboseEnabled")]},"menuDebug"):null}getDebugBadge(){return[this.state.debugEnabled&&this.state.verboseEnabled?g.jsx(ec,{style:{...Te.menuIcon,color:gg}},"DebugVerbose"):null,this.state.debugEnabled&&!this.state.verboseEnabled?g.jsx(ec,{style:{...Te.menuIcon,color:cw}},"DebugNoVerbose"):null,!this.state.debugEnabled&&this.state.verboseEnabled?g.jsx(s_,{style:{...Te.menuIcon,color:gg}},"noDebugVerbose"):null]}getAskAboutDebug(){return this.state.askAboutDebug?g.jsx(b.DialogConfirm,{onClose:()=>{this.setState({askAboutDebug:!1},()=>this.props.onDebugModeChange(!0))},ok:b.I18n.t("Yes"),cancel:b.I18n.t("Cancel"),text:b.I18n.t("The script will be stopped and must be activated manually after debugging. Continue?")}):null}renderOpenAiDialog(){return this.state.openAiDialog?g.jsx(pn,{fallback:g.jsx(vn,{}),children:g.jsx(W0,{adapterName:this.props.adapterName,socket:this.props.socket,runningInstances:this.state.runningInstances,themeType:this.state.themeType,onClose:()=>this.setState({openAiDialog:!1}),language:this.scripts[this.state.selected].engineType==="TypeScript/ts"?"typescript":"javascript",onAddCode:s=>this.setState({insert:s})})}):null}getToolbar(){var r,l;const s=!!(this.state.selected&&((r=this.scripts[this.state.selected])!=null&&r.engine)&&this.state.runningInstances[this.scripts[this.state.selected].engine]),i=!!(this.state.selected&&((l=this.scripts[this.state.selected])!=null&&l.enabled));if(this.state.selected){const u=Object.keys(this.state.changed).filter(p=>this.state.changed[p]).length,d=this.state.changed[this.state.selected];return g.jsxs(Lk,{variant:"dense",sx:Te.toolbar,children:[!this.props.debugInstance&&this.state.menuOpened&&this.props.onLocate&&g.jsx(Me,{style:Te.toolbarButtons,title:b.I18n.t("Locate file"),onClick:()=>this.props.onLocate(this.state.selected),size:"medium",children:g.jsx(cS,{})},"locate"),!this.props.debugInstance&&!d&&s?g.jsx(Me,{disabled:this.props.debugMode,style:Te.toolbarButtons,onClick:()=>this.onRestart(),title:b.I18n.t("Restart"),size:"medium",children:g.jsx(uS,{})},"restart"):null,!this.props.debugInstance&&!d?g.jsx(Me,{disabled:this.props.debugMode,onClick:()=>this.onStartStop(),title:i?b.I18n.t("Pause script"):b.I18n.t("Run script"),size:"medium",style:{...Te.toolbarButtons,color:i?V0:K0},children:i?g.jsx(dS,{}):g.jsx(hS,{})},"start-stop"):null,!this.props.debugInstance&&!d&&!i?g.jsx("span",{style:Te.notRunning,children:b.I18n.t("Script is not running")}):null,!d&&i&&!s?g.jsx("span",{style:Te.notRunning,children:b.I18n.t("Instance is disabled")}):null,d?g.jsx(De,{color:"grey",variant:"contained",style:{...Te.textButton,...Te.saveButton},className:"button-save",onClick:()=>this.onSave(),endIcon:g.jsx(o_,{}),children:b.I18n.t("Save")},"save"):null,u>1||u===1&&!d?g.jsx(De,{color:"grey",variant:"contained",style:Te.textButton,onClick:()=>this.onSaveAll(),endIcon:g.jsx(o_,{}),children:b.I18n.t("Save all")},"saveall"):null,d?g.jsx(De,{color:"grey",variant:"contained",style:Te.textButton,onClick:()=>this.onCancel(),endIcon:g.jsx(Wc,{}),children:b.I18n.t("Cancel")},"cancel"):null,g.jsx("div",{style:{flex:2}}),!this.props.debugInstance&&!this.state.showCompiledCode&&g.jsx(Me,{style:Te.toolbarButtons,title:b.I18n.t("Prettify the script"),onClick:()=>this.setState({triggerPrettier:this.state.triggerPrettier+1}),size:"medium",children:g.jsx(pS,{})},"prettier"),this.state.blockly&&!this.state.showCompiledCode?g.jsx(Me,{"aria-label":"Export Blocks",title:b.I18n.t("Export blocks"),style:Te.toolbarButtons,onClick:()=>this.sendCommandToBlockly("export"),size:"medium",children:g.jsx(vc,{})},"export"):null,this.state.blockly&&!this.state.showCompiledCode&&g.jsx(Me,{"aria-label":"Import Blocks",title:b.I18n.t("Import blocks"),style:Te.toolbarButtons,onClick:()=>this.sendCommandToBlockly("import"),size:"medium",children:g.jsx(Rg,{})},"import"),this.state.blockly&&!this.state.showCompiledCode&&g.jsx(Me,{"aria-label":"Check code",title:b.I18n.t("Check blocks"),style:Te.toolbarButtons,onClick:()=>this.sendCommandToBlockly("check"),size:"medium",children:g.jsx(gS,{})},"check"),!this.props.debugMode&&!this.state.blockly&&!this.state.rules&&!this.state.showCompiledCode?g.jsx(Me,{"aria-label":"create CRON",title:b.I18n.t("Create or edit CRON or time wizard"),style:Te.toolbarButtons,onClick:()=>this.setState({showCron:!0}),size:"medium",children:g.jsx(mS,{})},"select-cron"):null,this.scripts[this.state.selected]&&this.scripts[this.state.selected].engineType!=="Blockly"&&this.scripts[this.state.selected].engineType!=="Rules"?g.jsx(Me,{"aria-label":"AI",title:b.I18n.t("AI code generator"),style:Te.toolbarButtons,size:"medium",onClick:()=>this.setState({openAiDialog:!0}),children:g.jsx(fS,{})},"ai"):null,g.jsx(Me,{"aria-label":"Show astronomical events",title:b.I18n.t("Show astronomical events"),style:Te.toolbarButtons,disabled:!s,onClick:()=>{this.setState({showAstro:!0,astroEvents:null}),this.props.socket.sendTo(this.scripts[this.state.selected].engine.replace("system.adapter.",""),"calcAstroAll",{}).then(p=>this.setState({astroEvents:p}))},size:"medium",children:g.jsx($S,{})},"show-astro"),!this.props.debugMode&&!this.state.blockly&&!this.state.rules&&!this.state.showCompiledCode&&g.jsx(Me,{"aria-label":"select ID",title:b.I18n.t("Insert object ID"),style:Te.toolbarButtons,onClick:()=>this.setState({showSelectId:!0}),size:"medium",children:g.jsx(bS,{})},"select-id"),this.state.blockly&&!this.state.rules&&this.state.showCompiledCode&&g.jsx(De,{color:"grey","aria-label":"convert to javascript",title:b.I18n.t("Convert blockly to javascript for ever."),onClick:()=>this.onConvertBlockly2JS(),children:"Blockly=>JS"},"convert2js"),this.state.rules&&!this.state.showCompiledCode&&g.jsx(Me,{"aria-label":"Export Blocks",title:b.I18n.t("Export blocks"),style:Te.toolbarButtons,onClick:()=>this.sendCommandToRules("export"),size:"medium",children:g.jsx(vc,{})},"export"),this.state.rules&&!this.state.showCompiledCode&&g.jsx(Me,{"aria-label":"Import Blocks",title:b.I18n.t("Import blocks"),style:Te.toolbarButtons,onClick:()=>this.sendCommandToRules("import"),size:"medium",children:g.jsx(Rg,{})},"import"),this.props.expertMode&&!d&&(this.props.debugMode||!this.state.blockly&&!this.state.rules||(this.state.blockly||this.state.rules)&&this.state.showCompiledCode)&&g.jsx(Me,{style:Te.toolbarButtons,color:this.props.debugMode?"primary":"default",disabled:!this.props.debugMode&&!s,onClick:()=>{!this.props.debugMode&&i?this.setState({askAboutDebug:!0}):this.props.onDebugModeChange(!this.props.debugMode)},size:"medium",children:g.jsx(ec,{style:{fontSize:32}})}),(this.state.blockly||this.state.rules)&&g.jsx(De,{"aria-label":"blockly",title:b.I18n.t("Show javascript code"),className:"button-js-code",color:this.state.showCompiledCode?"secondary":"inherit",disabled:this.props.debugMode,style:{...Te.toolbarButtons,...this.props.debugMode?Te.toolbarButtonsDisabled:void 0,padding:"0 5px"},onClick:()=>{this.props.debugMode||(this.setState({showCompiledCode:!this.state.showCompiledCode}),this.state.isTourOpen&&this.state.tourStep===As.showJavascript&&this.setState({tourStep:As.switchBackToRules}),this.state.isTourOpen&&this.state.tourStep===As.switchBackToRules&&this.setState({tourStep:As.saveTheScript}))},children:g.jsx("img",{alt:this.state.blockly?"blockly2js":"rules2js",src:this.state.blockly?L0:P0})},"blockly-code"),g.jsx(Me,{disabled:this.props.debugMode,"aria-label":"Debug menu",title:b.I18n.t("Debug options"),style:Te.toolbarButtons,onClick:p=>this.setState({showDebugMenu:!0,menuDebugAnchorEl:p.currentTarget}),size:"medium",children:g.jsx(Pk,{style:Te.badgeMargin,badgeContent:this.getDebugBadge(),children:g.jsx(vS,{})})},"debug")]},"toolbar1")}return null}getScriptEditor(){return!this.props.debugMode&&this.state.selected&&this.props.objects[this.state.selected]&&this.state.blockly!==null&&(!this.state.blockly||this.state.showCompiledCode)&&(!this.state.rules||this.state.showCompiledCode)?(this.scripts[this.state.selected]||=this.getScriptFromObject(this.state.selected),g.jsx($t,{sx:Te.editorDiv,children:g.jsx(pn,{fallback:g.jsx(vn,{}),children:g.jsx(U0,{name:this.state.selected,adapterName:this.props.adapterName,insert:this.state.insert,onInserted:()=>this.setState({insert:""}),onForceSave:()=>this.onSave(),searchText:this.state.searchText,onRegisterSelect:s=>this.onRegisterSelect(s),readOnly:this.state.showCompiledCode,changed:this.state.changed[this.state.selected],code:this.scripts[this.state.selected].source||"",isDark:this.state.themeType==="dark",socket:this.props.socket,runningInstances:this.state.runningInstances,triggerPrettier:this.state.triggerPrettier,onChange:s=>this.onChange({script:s}),language:this.scripts[this.state.selected].engineType==="TypeScript/ts"?"typescript":"javascript"},"scriptEditor1")})},"scriptEditorDiv")):null}getBlocklyEditor(){return!this.props.debugMode&&this.state.instancesLoaded&&this.state.selected&&this.props.objects[this.state.selected]&&this.state.blockly&&!this.state.showCompiledCode&&this.state.visible?(this.scripts[this.state.selected]||=this.getScriptFromObject(this.state.selected),g.jsx($t,{sx:Te.editorDiv,children:g.jsx(pn,{fallback:g.jsx(vn,{}),children:g.jsx(j0,{command:this.state.cmdToBlockly,themeType:this.state.themeType,searchText:this.state.searchText,code:this.scripts[this.state.selected].source||"",scriptId:this.state.selected,onChange:s=>this.onChange({script:s})},"BlocklyEditor")})},"blocklyEditorDiv")):null}getRulesEditor(){var s,i;if(!this.props.debugMode&&this.state.instancesLoaded&&this.state.selected&&this.props.objects[this.state.selected]&&this.state.rules&&!this.state.showCompiledCode&&this.state.visible){this.scripts[this.state.selected]||=this.getScriptFromObject(this.state.selected);const r=!!this.state.selected&&!!((s=this.scripts[this.state.selected])!=null&&s.engine)&&this.state.runningInstances[this.scripts[this.state.selected].engine],l=!!this.state.selected&&((i=this.scripts[this.state.selected])==null?void 0:i.enabled);return g.jsx($t,{sx:Te.editorDiv,children:g.jsx(pn,{fallback:g.jsx(vn,{}),children:g.jsx(F0,{scriptId:this.state.selected,setTourStep:this.setTourStep,tourStep:this.state.tourStep,isTourOpen:this.state.isTourOpen,changed:this.state.changed[this.state.selected],running:r&&l,command:this.state.cmdToRules,themeType:this.state.themeType,themeName:this.props.themeName,theme:this.props.theme,searchText:this.state.searchText,resizing:this.props.resizing,code:this.scripts[this.state.selected].source||"",onChange:u=>this.onChange({script:u})},"flowEditor")})},"flowEditorDiv")}return null}getConfirmDialog(){return this.state.confirm?g.jsx(b.DialogConfirm,{text:this.state.confirm,onClose:s=>{if(this.confirmCallback){const i=this.confirmCallback;this.confirmCallback=null,i(s)}this.setState({confirm:""})}},"dialogConfirm1"):null}getSelectIdDialog(){var s;if(this.state.showSelectId){const i=["state","channel","device","adapter","instance","enum","host","config","script","user","group"],r=["adapter","instance","enum","host","config","script","user","group"];let l=this.selectId.callback?this.selectId.initValue||"":this.getSelect&&this.getSelect()||"",u=l.indexOf("/*");u!==-1&&(l=l.substring(0,u)),u=l.indexOf("//"),u!==-1&&(l=l.substring(0,u));let d=l.match(/"([^"]+)"/);return d&&(l=d[1]),d=l.match(/'([^']+)'/),d&&(l=d[1]),g.jsx(b.DialogSelectID,{theme:this.props.theme,imagePrefix:"../..",themeName:this.props.themeName,themeType:this.state.themeType,socket:this.props.socket,selected:l,expertMode:this.selectId.type&&this.selectId.type!=="all"&&r.includes(this.selectId.type)?!0:void 0,types:((s=this.selectId)==null?void 0:s.type)==="all"?i:[this.selectId.type||"state"],onClose:()=>{this.setState({showSelectId:!1}),this.selectId.callback&&(this.selectId.callback=null)},onOk:(p,m)=>{this.selectId.initValue=null,this.selectId.callback?(this.selectId.callback(p),this.selectId.callback=null):this.setState({insert:`'${p}'/*${m}*/`})}},"dialogSelectID1")}return null}getCronDialog(){return this.state.showCron?g.jsx(b.DialogCron,{theme:this.props.theme,cron:this.cron.callback?this.cron.initValue||"":this.getSelect?this.getSelect():"* * * * *",onClose:()=>this.setState({showCron:!1}),onOk:s=>{this.cron.initValue=null,this.cron.callback?(this.cron.callback(s),this.cron.callback=null):this.setState({insert:`'${s}'`})}},"dialogCron1"):null}getAstroDialog(){return this.state.showAstro?g.jsxs(Gt,{open:!0,onClose:()=>this.setState({showAstro:!1}),children:[g.jsx(as,{children:b.I18n.t("Astronomical events today")}),g.jsx(Vt,{children:this.state.astroEvents?g.jsx(jk,{component:Dw,children:g.jsxs(Fk,{size:"small",children:[g.jsx(zk,{children:g.jsxs(t_,{children:[g.jsx(gn,{children:b.I18n.t("Name")}),g.jsx(gn,{children:b.I18n.t("Server time")}),g.jsx(gn,{children:b.I18n.t("Description")})]})}),g.jsx(Uk,{children:Object.keys(this.state.astroEvents).map(s=>{var i,r,l,u;return g.jsxs(t_,{children:[g.jsx(gn,{component:"th",scope:"row",children:s.startsWith("next")?"":s}),g.jsx(Hk,{title:`${b.I18n.t("Local time")}: ${(i=this.state.astroEvents)!=null&&i[s].isValidDate?new Date((r=this.state.astroEvents)==null?void 0:r[s].date).toLocaleTimeString():"n/a"}`,children:g.jsx(gn,{align:"right",children:(l=this.state.astroEvents)!=null&&l[s].isValidDate?(u=this.state.astroEvents)==null?void 0:u[s].serverTime:"n/a"})}),g.jsx(gn,{children:b.I18n.t(s)})]},s)})})]})}):g.jsx(Bk,{})}),g.jsx(Kt,{children:g.jsx(De,{variant:"contained",onClick:()=>this.setState({showAstro:!1}),color:"primary",startIcon:g.jsx(Ql,{}),children:b.I18n.t("Close")})})]},"dialogAstro"):null}getEditorDialog(){return this.state.showScript?g.jsx(pn,{fallback:g.jsx(vn,{}),children:g.jsx(H0,{adapterName:this.props.adapterName,source:this.scriptDialog.initValue||"",args:this.scriptDialog.args?this.scriptDialog.args.join(", "):"",isReturn:this.scriptDialog.isReturn,socket:this.props.socket,runningInstances:this.state.runningInstances,themeType:this.state.themeType,onClose:s=>{this.scriptDialog.initValue=null,this.scriptDialog.callback&&(s!==!1&&this.scriptDialog.callback(s||""),this.scriptDialog.callback=null),this.setState({showScript:!1})}},"scriptEditorDialog")}):null}getToast(){return g.jsx(Wk,{anchorOrigin:{vertical:"bottom",horizontal:"left"},open:!!this.state.toast,autoHideDuration:6e3,onClose:()=>this.setState({toast:""}),slotProps:{content:{"aria-describedby":"message-id"}},message:g.jsx("span",{id:"message-id",children:this.state.toast}),action:[g.jsx(Me,{"aria-label":"close",color:"inherit",style:Te.closeToast,onClick:()=>this.setState({toast:""}),size:"medium",children:g.jsx(Ql,{})},"close")]},"toast")}setTourStep=s=>this.setState({tourStep:s});getTour(){return this.state.instancesLoaded&&this.state.selected&&this.props.isAnyRulesExists===1&&this.props.objects[this.state.selected]&&this.state.rules&&this.state.visible?g.jsx(Bm,{steps:B0,isOpen:this.state.isTourOpen,onRequestClose:()=>{this.setState({isTourOpen:!1}),window.localStorage.setItem("tour","true"),this.props.socket.setState("javascript.0.variables.rulesTour",{val:!0,ack:!0})},goToStep:this.state.tourStep},"tour"):null}getDebug(){return this.props.debugMode?this.state.selected&&this.scripts[this.state.selected]&&this.scripts[this.state.selected].engine&&this.state.runningInstances[this.scripts[this.state.selected].engine]?g.jsx(pn,{fallback:g.jsx(vn,{}),children:g.jsx(z0,{runningInstances:this.state.runningInstances,adapterName:this.props.adapterName,socket:this.props.socket,themeName:this.props.themeName,themeType:this.props.themeType,src:this.props.debugInstance?this.props.debugInstance.adapter:this.state.selected,debugInstance:this.props.debugInstance},"debugger")}):(setTimeout(()=>this.props.onDebugModeChange(!1)),null):null}getScriptFromObject(s){var r,l;if(!((r=this.props.objects[s])!=null&&r.common))return;const i=JSON.parse(JSON.stringify(this.props.objects[s].common));return(l=this.props.objects[s].native)!=null&&l.protected&&this.props.password&&(i.source=Ug(this.props.password,i.source)),i}render(){var s,i;return this.state.selected&&this.props.objects[this.state.selected]&&this.state.blockly===null&&this.state.rules===null&&(this.scripts[this.state.selected]||=this.getScriptFromObject(this.state.selected),setTimeout(()=>{const r={blockly:this.scripts[this.state.selected].engineType==="Blockly",rules:this.scripts[this.state.selected].engineType==="Rules",showCompiledCode:!1,debugEnabled:this.scripts[this.state.selected].debug,verboseEnabled:this.scripts[this.state.selected].verbose};this.removeNonExistingScripts(null,r),this.setState(r)},100)),this.state.selected&&!this.props.password&&((i=(s=this.props.objects[this.state.selected])==null?void 0:s.native)!=null&&i.protected)&&setTimeout(()=>{const r=this.state.editing.find(l=>{var u,d;return!((d=(u=this.props.objects[l])==null?void 0:u.native)!=null&&d.protected)})||"";Object.keys(this.scripts).forEach(l=>{var u,d;(d=(u=this.props.objects[l])==null?void 0:u.native)!=null&&d.protected&&delete this.scripts[l]}),this.setState({selected:r},()=>{var l,u;(u=(l=this.props).onSelectedChange)==null||u.call(l,r,this.state.editing),this.state.selected?window.localStorage.setItem("Editor.selected",this.state.selected):window.localStorage.removeItem("Editor.selected")})},50),!this.state.selected&&this.props.password&&this.state.editing.length&&setTimeout(()=>{const r=this.state.editing[0];this.setState({selected:r},()=>{var l,u;(u=(l=this.props).onSelectedChange)==null||u.call(l,r,this.state.editing),window.localStorage.setItem("Editor.selected",this.state.selected)})},50),[this.getTabs(),this.getToolbar(),this.getScriptEditor(),this.getAskAboutDebug(),this.getBlocklyEditor(),this.getRulesEditor(),this.getDebug(),this.getConfirmDialog(),this.getSelectIdDialog(),this.getCronDialog(),this.getEditorDialog(),this.getAstroDialog(),this.getDebugMenu(),this.renderOpenAiDialog(),this.getToast(),this.getTour()]}}const Ht={dialog:{height:"95%"},dropzone:{marginTop:20,width:"100%",borderWidth:5,borderStyle:"dashed",borderColor:"#d0cccc",textAlign:"center",boxSizing:"border-box",paddingTop:45,borderRadius:10,height:"calc(100% - 10px)"},dropzoneDiv:{width:"100%",height:"100%"},dropzoneRejected:{borderColor:"#970000"},dropzoneAccepted:{borderColor:"#17cd02"},icon:{height:"30%",width:"30%",color:"#eeeeee",position:"absolute",top:"50%",left:"50%",transform:"translate(-50%,-50%)",zIndex:0},iconError:{color:"#ffc3c6"},iconOk:{color:"#aaeebc"},text:{top:"50%",left:"50%",transform:"translate(-50%,-50%)",color:"#868686",position:"absolute",zIndex:1}};class jm extends Y.Component{constructor(s){super(s),this.state={error:"",imageStatus:""}}componentDidMount(){setTimeout(()=>{var s;try{(s=window.document.getElementById("import-text-area"))==null||s.focus()}catch{}},100)}handleCancel(){this.props.onClose()}static readFileDataUrl(s,i){const r=new FileReader;r.onload=()=>{i(null,{data:r.result,name:s.name})},r.onabort=()=>{console.error("file reading was aborted"),i(b.I18n.t("file reading was aborted"))},r.onerror=l=>{console.error("file reading has failed"),i(b.I18n.t("file reading has failed: %s",l))},r.readAsDataURL(s)}handleDropFile(s){if(!(s!=null&&s.length))return;const i=s[s.length-1];i&&jm.readFileDataUrl(i,(r,l)=>{var u;r||!l?this.setState({error:r||"No data"}):this.props.onClose(((u=l.data)==null?void 0:u.toString())||"")})}render(){const s={...Ht.dropzone,...this.state.imageStatus==="accepted"?Ht.dropzoneAccepted:this.state.imageStatus==="rejected"?Ht.dropzoneRejected:void 0};return g.jsxs(Gt,{onClose:()=>!1,maxWidth:"lg",sx:{"& .MuiDialog-paper":Ht.dialog},fullWidth:!0,open:!0,"aria-labelledby":"import-dialog-title",PaperProps:{style:{minHeight:"90%",maxHeight:"90%"}},children:[g.jsx(as,{id:"import-dialog-title",children:b.I18n.t("Import scripts")}),g.jsxs(Vt,{children:[g.jsx(Mw,{maxSize:5e7,onDrop:(i,r)=>{var l,u,d;i.length?this.handleDropFile(i):window.alert(((d=(u=(l=r==null?void 0:r[0])==null?void 0:l.errors)==null?void 0:u[0])==null?void 0:d.message)||b.I18n.t("ra_Cannot upload"))},multiple:!1,accept:{"application/zip":[],"application/x-zip-compressed":[]},children:({getRootProps:i,getInputProps:r,isDragActive:l,isDragReject:u})=>u?(this.state.imageStatus!=="rejected"&&this.setState({imageStatus:"rejected"}),g.jsxs("div",{style:{...s,...Ht.dropzoneDiv},...i(),children:[g.jsx("input",{...r()}),g.jsx("span",{style:Ht.text,children:b.I18n.t("Some files will be rejected")},"text"),g.jsx(Wc,{style:{...Ht.icon,...Ht.iconError}},"icon")]})):l?(this.state.imageStatus!=="accepted"&&this.setState({imageStatus:"accepted"}),g.jsxs("div",{style:{...s,...Ht.dropzoneDiv},...i(),children:[g.jsx("input",{...r()}),g.jsx("span",{style:Ht.text,children:b.I18n.t("All files will be accepted")},"text"),g.jsx(Nw,{style:{...Ht.icon,...Ht.iconOk}},"icon")]})):(this.state.imageStatus!=="wait"&&this.setState({imageStatus:"wait"}),g.jsxs("div",{style:{...s,...Ht.dropzoneDiv},...i(),children:[g.jsx("input",{...r()}),g.jsx("span",{style:Ht.text,children:b.I18n.t("Drop some files here or click...")},"text"),g.jsx(Lw,{style:Ht.icon},"icon")]}))},"image-drop"),this.state.error?g.jsx(Zc,{text:this.state.error,onClose:()=>this.setState({error:""})}):null]}),g.jsx(Kt,{children:g.jsx(De,{color:"grey",variant:"contained",onClick:()=>this.handleCancel(),startIcon:g.jsx(qs,{}),children:b.I18n.t("Close")})})]})}}var Fm={exports:{}},Y0=Fm.exports;(function(a,s){(function(i,r){a.exports=r()})(Y0,function(){var i={},r,l,u,d,p,m,f,v,_,y,k,C,w,E,R,D,A,J,ie,se,me,z,Oe,Ne,Ze,ae,ce,K,ye,he,je,V,tt,q,ee,B,H,U,re,I,de,W,Ce,be,Se,pe,Ve,Je,_e,ke,$e,Pe,bt,X,ct,ze,kt,ve,st,Zs,St,Et,cu,N,ge,la,ot,Hm,Ke,Uo,ca,Ho,Wo,uu,Nn,ua,da,Ln,Wm,du,Ms,yo,hu,pu,ha,gu,Pn,pa,mu,fu,Gm,Vm,Km,Ii,Ym,ga,Jm,Bn,ma,qm,fa,Xm,$a,$u,bu,ba,va,ya,jn,Zm,xi,Fn,_a,Qm,ef,tf,_o,It,zn,vu,ws,Qs,sf,yu,wa,_u,of,wu,Un,nf,Ca,rf,af,Ta,lf,Di,cf,Cu,ka,Tu,ku,uf,Sa,Ai,Ea,df,Su,Eu,hf,pf,Go,gf,Hn,Qt,mf,ff,$f,bf,vf,yf,_f,Iu,eo,Ri,xu,wf,Cf,Tf,kf,Sf,Ef,If,xf,Df,Du,Af,Oi,Ia,Rf,Mi,Au,Ru,Ou,Wn,xa,Mu,Of,Nu,Lu,Pu,Bu,ju,Fu,zu,Mf,Gn,Uu,Da,Aa,Ns,Hu,Wu,Vn,Gu,Vu,Nf,Ra,Ku,Lf,Pf,Bf,jf,Ff,Ni,Yu,Ju,Li,Oa,zf,Uf,qu,Xu,to,Zu,Qu,Hf,Wf,Gf,Vf,ed,Kf,td,Yf,Vo,Kn,Ma,Na,Ko,sd,La,od,pt,Jf,Pi,Yo,qf,id,Pa,Bi,nd,Jo,Yn,rd,ad,Xf,Zf,Qf,ld,e$,cd,Jn,t$,s$,o$,i$,qn,ud,dd,Ba,ja,n$,Xn,hd,Zn,r$,a$,wo,pd,Ls,l$,c$,gd,u$,qo,md,d$,h$,p$,g$,m$,fd,f$,$$,Fa,b$,v$,$d,za,bd,Ua,vd,yd,ji,Xo,so,Ps,y$,_$,w$,_d,Ha,C$,T$,k$,wd,Wa,Cd,Ga,S$,E$,I$,x$,ue,Yt,wt,at,Bs,Fi,ne,gt,Td,D$,Co,Va,Ka,kd,A$,Sd,Ya,Ed,Id,R$,xd,O$,Ja,M$,N$,L$,P$,B$,Dd,j$,Qn,er,F$,Ad,Rd,Od,Md,qa,Nd,z$,U$,H$,zi,Ld,W$,Xa,ls,G$,To,Pd,V$,tr,Bd,jd,Fd,zd,Ud,Hd,Wd,Gd,Vd,Kd,K$,Y$,J$,q$,X$,Z$,Za,Q$,eb,Yd,Jd,qd,Xd,Zd,Qd,eh,Qa,sr,th,tb,sh,oh,ih,nh,rh,ah,lh,ch,uh,dh,sb,ob,ib,hh,nb,rb,ab,lb,cb,j;r=function(e,t,o,n){if(!(e instanceof F)&&typeof e!="string"||`${e}`.trim()==="")throw Error('Invalid type "'+e+'". The type must be a non-empty string or a Blockly.registry.Type.');if(e=`${e}`.toLowerCase(),typeof t!="string"||t.trim()==="")throw Error('Invalid name "'+t+'". The name must be a non-empty string.');const c=t.toLowerCase();if(!o)throw Error("Can not register a null value");let h=ko[e],$=el[e];if(h||(h=ko[e]=Object.create(null),$=el[e]=Object.create(null)),l(e,o),!n&&h[c]&&h[c]!==o)throw Error('Name "'+c+'" with type "'+e+'" already registered.');h[c]=o,$[c]=t},l=function(e,t){switch(e){case String(F.FIELD):if(typeof t.fromJson!="function")throw Error('Type "'+e+'" must have a fromJson function')}},u=function(e,t){e=`${e}`.toLowerCase(),t=t.toLowerCase();const o=ko[e];o&&o[t]?(delete ko[e][t],delete el[e][t]):console.warn("Unable to unregister ["+t+"]["+e+"] from the registry.")},d=function(e,t,o){e=`${e}`.toLowerCase(),t=t.toLowerCase();const n=ko[e];if(!n||!n[t]){if(t="Unable to find ["+t+"]["+e+"] in the registry.",o)throw Error(t+" You must require or register a "+e+" plugin.");return console.warn(t),null}return n[t]},p=function(e,t){return e=`${e}`.toLowerCase(),t=t.toLowerCase(),(e=ko[e])?!!e[t]:!1},m=function(e,t,o){return d(e,t,o)},f=function(e,t,o){return d(e,t,o)},v=function(e,t,o){e=`${e}`.toLowerCase();var n=ko[e];if(!n){if(n=`Unable to find [${e}] in the registry.`,o)throw Error(`${n} You must require or register a ${e} plugin.`);return console.warn(n),null}if(!t)return n;e=el[e],o=Object.create(null);for(const c of Object.keys(n))o[e[c]]=n[c];return o},_=function(e,t,o){return t=t.plugins[String(e)]||js,typeof t=="function"?t:m(e,t,o)},y=function(e,t,o,n){e=e+" was deprecated in "+t+" and will be deleted in "+o+".",n&&(e+=` +Use `+n+" instead."),db.has(e)||(db.add(e),console.warn(e))},k=function(){return"blockly-"+(OT++).toString(36)},C=function(){return gb.genUid()},w=function(e){return e.type===O.BLOCK_CREATE},E=function(e){return e.type===O.BLOCK_DELETE},R=function(e){return e.type===O.BLOCK_CHANGE},D=function(e){return e.type===O.BLOCK_FIELD_INTERMEDIATE_CHANGE},A=function(e){return e.type===O.BLOCK_MOVE},J=function(e){return e.type===O.CLICK},ie=function(e){return e.type===O.BUBBLE_OPEN},se=function(e){return e.type===O.VIEWPORT_CHANGE},i.setRecordUndo$$module$build$src$core$events$utils=function(e){or=e},me=function(){return or},z=function(e){fb.fireInternal(e)},Oe=function(e){if(K()){if(!io.length)try{requestAnimationFrame(()=>{setTimeout(Ne,0)})}catch{setTimeout(Ne,0)}Ze(e)}},Ne=function(){const e=ae(io,!0);io.length=0;for(const t of e){if(!t.workspaceId)continue;let o;(o=q(t.workspaceId))==null||o.fireChangeListener(t)}},Ze=function(e){if(R(e)&&e.element==="mutation"){let t;for(t=io.length;0!n.isNull()),t||e.reverse(),e},ce=function(){for(let e=0,t;t=io[e];e++)t.recordUndo=!1},i.disable$$module$build$src$core$events$utils=function(){gh++},i.enable$$module$build$src$core$events$utils=function(){gh--},K=function(){return gh===0},i.getGroup$$module$build$src$core$events$utils=function(){return mb},i.setGroup$$module$build$src$core$events$utils=function(e){fb.setGroupInternal(e)},ye=function(e){mb=typeof e=="boolean"?e?C():"":e},he=function(e){const t=[];e=e.getDescendants(!1);for(let o=0,n;n=e[o];o++)t[o]=n.id;return t},je=function(e,t){const o=V(e.type);if(!o)throw Error("Unknown event type.");return o.fromJson(e,t)},V=function(e){const t=m(F.EVENT,e);if(!t)throw Error(`Event type ${e} not found in registry.`);return t},tt=function(e){if((A(e)||w(e))&&e.workspaceId){var t=q(e.workspaceId);if(!e.blockId)throw Error("Encountered a blockEvent without a proper blockId");if(e=t.getBlockById(e.blockId)){const o=or;try{or=!1;const n=e.getParent();if(n&&!n.hasDisabledReason(mh)){const c=e.getDescendants(!1);for(let h=0,$;$=c[h];h++)$.setDisabledReason(!1,mh)}else if((e.outputConnection||e.previousConnection)&&!t.isDragging())do e.setDisabledReason(!0,mh),e=e.getNextBlock();while(e)}finally{or=o}}}},q=function(e){return ir[e]||null},ee=function(){const e=[];for(const t in ir)e.push(ir[t]);return e},B=function(e){ir[e.id]=e},H=function(e){delete ir[e.id]},U=function(){return $b},re=function(e){$b=e},I=function(){return Zo},i.setSelected$$module$build$src$core$common=function(e){if(Zo!==e){var t,o,n,c,h,$,T=new(V(O.SELECTED))((n=(t=Zo)==null?void 0:t.id)!=null?n:null,(c=e==null?void 0:e.id)!=null?c:null,($=(h=e==null?void 0:e.workspace.id)!=null?h:(o=Zo)==null?void 0:o.workspace.id)!=null?$:"");z(T);var L;(L=Zo)==null||L.unselect(),Zo=e;var te;(te=Zo)==null||te.select()}},de=function(){return bb},W=function(e){bb=e},Ce=function(e){for(;e.options.parentWorkspace;)e=e.options.parentWorkspace;const t=e.getParentSvg(),o=e.getCachedParentSvgSize();var n=t.parentElement;if(n instanceof HTMLElement){var c=n.offsetWidth;n=n.offsetHeight,o.width!==c&&(t.setAttribute("width",c+"px"),e.setCachedParentSvgSize(c,null)),o.height!==n&&(t.setAttribute("height",n+"px"),e.setCachedParentSvgSize(null,n)),e.resize()}},be=function(e,t){const o=Object.create(null),n=e.getDescendants(!0);t&&(e=e.getNextBlock())&&(e=n.indexOf(e),n.splice(e,n.length-e));for(let c=0,h;h=n[c];c++)o[h.type]?o[h.type]++:o[h.type]=1;return o},Se=function(e){return function(){this.jsonInit(e)}},pe=function(e){vb.defineBlocksWithJsonArrayInternal(e)},Ve=function(e){i.defineBlocks$$module$build$src$core$common(i.createBlockDefinitionsFromJsonArray$$module$build$src$core$common(e))},i.createBlockDefinitionsFromJsonArray$$module$build$src$core$common=function(e){const t={};for(let o=0;o>>/g,e),Ch="",e=document.createElement("style"),e.id="blockly-common-style",t=document.createTextNode(t),e.appendChild(t),document.head.insertBefore(e,document.head.firstChild)))},N=function(e,t,o){e=document.createElementNS(rr,`${e}`);for(const n in t)e.setAttribute(n,`${t[n]}`);return o&&o.appendChild(e),e},ge=function(e,t){return t=t.split(" "),t.every(o=>e.classList.contains(o))?!1:(e.classList.add(...t),!0)},la=function(e,t){e.classList.remove(...t.split(" "))},ot=function(e,t){return t=t.split(" "),t.every(o=>!e.classList.contains(o))?!1:(e.classList.remove(...t),!0)},Hm=function(e,t){return e.classList.contains(t)},Ke=function(e){return e&&e.parentNode?e.parentNode.removeChild(e):null},Uo=function(e,t){const o=t.nextSibling;if(t=t.parentNode,!t)throw Error("Reference node has no parent.");o?t.insertBefore(e,o):t.appendChild(e)},ca=function(e,t){e.style.transform=t,e.style["-webkit-transform"]=t},Ho=function(){kh++,Ts||(Ts=Object.create(null))},Wo=function(){kh--,kh||(Ts=null)},uu=function(e){const t=e.textContent+` `+e.className.baseVal;let o;if(Ts&&(o=Ts[t]))return o;try{o=e.getComputedTextLength()}catch{return 8*e.textContent.length}return Ts&&(Ts[t]=o),o},Nn=function(e,t,o,n){return ua(e,t+"pt",o,n)},ua=function(e,t,o,n){const c=e.textContent;e=c+` -`+e.className.baseVal;var h;return Ts&&(h=Ts[e])||(rl||(h=document.createElement("canvas"),h.className="blocklyComputeCanvas",document.body.appendChild(h),rl=h.getContext("2d")),rl.font=o+" "+t+" "+n,h=c?rl.measureText(c).width:0,Ts&&(Ts[e]=h)),h},da=function(e,t,o,n){const c=document.createElement("span");c.style.font=o+" "+t+" "+n,c.textContent=e,e=document.createElement("div"),e.style.width="1px",e.style.height="0",t=document.createElement("div"),t.style.display="flex",t.style.position="fixed",t.style.top="0",t.style.left="0",t.appendChild(c),t.appendChild(e),document.body.appendChild(t),o={height:0,baseline:0};try{t.style.alignItems="baseline",o.baseline=e.offsetTop-c.offsetTop,t.style.alignItems="flex-end",o.height=e.offsetTop-c.offsetTop}finally{document.body.removeChild(t)}return o},Ln=function(e){return Mb.getSizeInternal(e)},Wm=function(e){if(Ms(e,"display")!=="none")return du(e);const t=e.style,o=t.display,n=t.visibility,c=t.position;t.visibility="hidden",t.position="absolute",t.display="inline";const h=e.offsetWidth;return e=e.offsetHeight,t.display=o,t.position=c,t.visibility=n,new Le(h,e)},du=function(e){return new Le(e.offsetWidth,e.offsetHeight)},Ms=function(e,t){return e=window.getComputedStyle(e),e[t]||e.getPropertyValue(t)},yo=function(e){const t=new V(0,0);e=e.getBoundingClientRect();var o=document.documentElement;return o=new V(window.pageXOffset||o.scrollLeft,window.pageYOffset||o.scrollTop),t.x=e.left+o.x,t.y=e.top+o.y,t},hu=function(){const e=document.body,t=document.documentElement;return new V(e.scrollLeft||t.scrollLeft,e.scrollTop||t.scrollTop)},pu=function(e){const t=parseFloat(Ms(e,"borderLeftWidth")),o=parseFloat(Ms(e,"borderRightWidth")),n=parseFloat(Ms(e,"borderTopWidth"));return e=parseFloat(Ms(e,"borderBottomWidth")),new qe(n,e,t,o)},ha=function(e,t,o){e=gu(e,t,o),t.scrollLeft=e.x,t.scrollTop=e.y},gu=function(e,t,o){var n=yo(e),c=yo(t),h=pu(t);const $=n.x-c.x-h.left;return n=n.y-c.y-h.top,c=du(e),e=t.clientWidth-c.width,c=t.clientHeight-c.height,h=t.scrollLeft,t=t.scrollTop,o?(h+=$-e/2,t+=n-c/2):(h+=Math.min($,Math.max($-e,0)),t+=Math.min(n,Math.max(n-c,0))),new V(h,t)},Pn=function(e){const t=new V(0,0);var o=e.x&&e.getAttribute("x");const n=e.y&&e.getAttribute("y");return o&&(t.x=parseInt(o)),n&&(t.y=parseInt(n)),(o=(o=e.getAttribute("transform"))&&o.match(Nb))&&(t.x+=Number(o[1]),o[3]&&(t.y+=Number(o[3]))),(e=e.getAttribute("style"))&&e.includes("translate")&&(e=e.match(Lb))&&(t.x+=Number(e[1]),e[3]&&(t.y+=Number(e[3]))),t},pa=function(e){let t=0,o=0;for(;e;){const n=Pn(e);if(t+=n.x,o+=n.y,(" "+(e.getAttribute("class")||"")+" ").includes(" injectionDiv "))break;e=e.parentNode}return new V(t,o)},mu=function(){const e=hu();return new qe(e.y,document.documentElement.clientHeight+e.y,e.x,document.documentElement.clientWidth+e.x)},fu=function(){const e=document.documentElement,t=window;return new V(t.pageXOffset||e.scrollLeft,t.pageYOffset||e.scrollTop)},Vm=function(e,t){var o=t.x;t=t.y;const n=e.getInjectionDiv().getBoundingClientRect();return o=new V(o-n.left,t-n.top),t=e.getOriginOffsetInPixels(),V.difference(o,t).scale(1/e.scale)},Gm=function(e,t){var o=t.scale(e.scale);t=o.x,o=o.y;const n=e.getInjectionDiv().getBoundingClientRect();return e=e.getOriginOffsetInPixels(),new V(t+n.left+e.x,o+n.top+e.y)},Km=function(e){({document:ll=ll,DOMParser:ar=ar,XMLSerializer:lr=lr}=e),al=new ar,Sh=new lr},i.createElement$$module$build$src$core$utils$xml=function(e){return ll.createElementNS(Pb,e)},i.createTextNode$$module$build$src$core$utils$xml=function(e){return ll.createTextNode(e)},i.textToDom$$module$build$src$core$utils$xml=function(e){let t=al.parseFromString(e,"text/xml");if(t&&t.documentElement&&!t.getElementsByTagName("parsererror").length)return t.documentElement;if((t=al.parseFromString(e,"text/html"))&&t.body.firstChild&&t.body.firstChild.nodeName.toLowerCase()==="xml")return t.body.firstChild;throw Error(`DOMParser was unable to parse: ${e}`)},Ii=function(e){return Ym(Sh.serializeToString(e))},Ym=function(e){return e.replace(BT,t=>`&#${t.charCodeAt(0)};`)},ga=function(e){return e?((e instanceof Element||typeof e=="string")&&(e=bu(e),e=Xm(e)),Jm(e),e):null},Jm=function(e){const t=e.kind;if(e=e.contents,t&&t!==Bb&&t!==Eh)throw Error("Invalid toolbox kind "+t+". Please supply either "+Bb+" or "+Eh);if(!e)throw Error("Toolbox must have a contents attribute.")},Bn=function(e){return e?e.contents?e.contents:Array.isArray(e)&&0o.kind.toUpperCase()==="CATEGORY").length},fa=function(e){return e&&e.contents?!!e.contents.filter(function(t){return t.kind.toUpperCase()==="CATEGORY"}).length:!1},Xm=function(e){const t={contents:$a(e)};return e instanceof Node&&$u(e,t),t},$a=function(e){const t=[];let o=e.childNodes;o||(o=e);for(let n=0,c;c=o[n];n++){if(!c.tagName)continue;e={};const h=c.tagName.toUpperCase();e.kind=h,h==="BLOCK"?e.blockxml=c:c.childNodes&&0 document.")}else e instanceof Element&&(t=e);return t},ba=function(e,t,o,n,c,h){const $=h.scrollbar&&h.scrollbar.canScrollVertically();return e.horizontal===Wi.LEFT?(o=c.absoluteMetrics.left+o,$&&h.RTL&&(o+=mt.scrollbarThickness)):(o=c.absoluteMetrics.left+c.viewMetrics.width-t.width-o,$&&!h.RTL&&(o-=mt.scrollbarThickness)),e.vertical===lo.TOP?e=c.absoluteMetrics.top+n:(e=c.absoluteMetrics.top+c.viewMetrics.height-t.height-n,h.scrollbar&&h.scrollbar.canScrollHorizontally()&&(e-=mt.scrollbarThickness)),new qe(e,e+t.height,o,o+t.width)},va=function(e,t){return{horizontal:t.toolboxMetrics.position===Ee.LEFT||e.horizontalLayout&&!e.RTL?Wi.RIGHT:Wi.LEFT,vertical:t.toolboxMetrics.position===Ee.BOTTOM?lo.TOP:lo.BOTTOM}},ya=function(e,t,o,n){const c=e.left,h=e.right-e.left,$=e.bottom-e.top;for(let T=0;Th.id!==e.id).map(h=>h.getRelativeToSurfaceXY());for(;tf(V.sum(o,n),c);)n.translate(t.RTL?-30:30,30);e.moveTo(V.sum(o,n))},tf=function(e,t){return t.some(o=>1>=Math.abs(o.x-e.x)&&1>=Math.abs(o.y-e.y))},_o=function(e,t){e.setAttribute(zT,t)},It=function(e,t,o){Array.isArray(o)&&(o=o.join(" ")),e.setAttribute(FT+t,`${o}`)},zn=function(e){return e.saveState!==void 0&&e.loadState!==void 0},vu=function(e){return yu(e),sf()?(wa(),Promise.resolve()):(Vi||(Vi=new Promise(t=>{Nh=t,Gb=window.requestAnimationFrame(()=>{wa(),t()})})),Vi)},ws=function(){return Vi||Promise.resolve()},Qs=function(e){e||window.cancelAnimationFrame(Gb),wa(e),!e&&Nh&&Nh()},sf=function(){return Eb},yu=function(e){Oh.add(e),Mh.set(e,i.getGroup$$module$build$src$core$events$utils());const t=e.getParent();t?yu(t):hl.add(e)},wa=function(e){const t=e?new Set([e]):new Set([...hl].map(h=>h.workspace)),o=[...hl].filter(of).filter(h=>t.has(h.workspace));for(var n of o)wu(n);for(const h of t)h.resizeContents();for(var c of o)n=c.getRelativeToSurfaceXY(),c.updateComponentLocations(n);for(const h of o)c=i.getGroup$$module$build$src$core$events$utils(),(n=Mh.get(h))&&i.setGroup$$module$build$src$core$events$utils(n),h.bumpNeighbours(),i.setGroup$$module$build$src$core$events$utils(c);for(const h of o)_u(h);e||(Vi=null)},_u=function(e){hl.delete(e),Oh.delete(e),Mh.delete(e);for(const t of e.getChildren(!1))_u(t)},of=function(e){return!e.isDisposed()&&!e.getParent()},wu=function(e){if(Oh.has(e)&&e.initialized){for(const t of e.getChildren(!1))wu(t);e.renderEfficiently()}},Un=function(e,t){Kb(e,t)},nf=function(e){Kb=e},Ca=function(e,t){qb.confirmInternal(e,t)},rf=function(e,t){Yb(e,t)},af=function(e){Yb=e},Ta=function(e,t,o){Jb(e,t,o)},lf=function(e){Jb=e},Di=function(e){return e.getProcedureDef!==void 0},cf=function(e){return e.getProcedureCall!==void 0&&e.renameProcedure!==void 0},Cu=function(e){return e.getVariableModel!==void 0},i.allUsedVarModels$$module$build$src$core$variables=function(e){e=e.getAllBlocks(!1);const t=new Set;for(let o=0;o1'),n.appendChild(o),t.push(n)),Jt.variables_get){e.sort(hr.compareByName);for(let c=0,h;h=e[c];c++)o=i.createElement$$module$build$src$core$utils$xml("block"),o.setAttribute("type","variables_get"),o.setAttribute("gap","8"),o.appendChild(Vo(h)),t.push(o)}}return t},ku=function(e){return Zb.generateUniqueNameInternal(e)},uf=function(e){return Sa(jh.charAt(0),e.getAllVariableNames())},Sa=function(e,t){if(!t.length)return e;const o=jh;let n="",c=o.indexOf(e);for(;;){let h=!1;for(let $=0;$h.getVariableModel().name);if(n&&(o=n.some(h=>h.toLowerCase()===e),n=n.some(h=>h.toLowerCase()===t),o&&n))return c.getName()}return null},pf=function(e,t,o){e=e.toLowerCase(),t=t.toLowerCase(),o=o.getAllBlocks(!1);for(const c of o){if(!Di(c))continue;o=c.getProcedureDef();var n=o[1];const h=n.some($=>$.toLowerCase()===e);if(n=n.some($=>$.toLowerCase()===t),h&&n)return o[0]}return null},Vo=function(e){const t=i.createElement$$module$build$src$core$utils$xml("field");return t.setAttribute("name","VAR"),t.setAttribute("id",e.getId()),t.setAttribute("variabletype",e.type),e=i.createTextNode$$module$build$src$core$utils$xml(e.name),t.appendChild(e),t},i.getOrCreateVariablePackage$$module$build$src$core$variables=function(e,t,o,n){let c=i.getVariable$$module$build$src$core$variables(e,t,o,n);return c||(c=gf(e,t,o,n)),c},i.getVariable$$module$build$src$core$variables=function(e,t,o,n){const c=e.getPotentialVariableMap();let h=null;if(t&&(h=e.getVariableById(t),!h&&c&&(h=c.getVariableById(t)),h))return h;if(o){if(n===void 0)throw Error("Tried to look up a variable by name without a type");h=e.getVariable(o,n),!h&&c&&(h=c.getVariable(o,n))}return h},gf=function(e,t,o,n){const c=e.getPotentialVariableMap();return o||(o=ku(e.isFlyout?e.targetWorkspace:e)),c?c.createVariable(o,n,t):e.createVariable(o,n,t)},Hn=function(e,t){e=e.getAllVariables();const o=[];if(t.length!==e.length)for(let n=0;n{L.disposed||L.setConnectionTracking(!0)},1)}return T},xu=function(e,t,{parentConnection:o,isShadow:n=!1}={}){if(!e.type)throw new Qb(e);const c=t.newBlock(e.type,e.id);return c.setShadow(n),Cf(c,e),Tf(c,e),kf(c,e),Sf(o,c,e),Ef(c,e),If(c,e),xf(c,e),Df(c,e),Af(c,t.rendered),c},wf=function(e,t){if(K())for(e=Hn(e,t),t=0;t`&#${t.charCodeAt(0)};`)},ga=function(e){return e?((e instanceof Element||typeof e=="string")&&(e=bu(e),e=Xm(e)),Jm(e),e):null},Jm=function(e){const t=e.kind;if(e=e.contents,t&&t!==Bb&&t!==Eh)throw Error("Invalid toolbox kind "+t+". Please supply either "+Bb+" or "+Eh);if(!e)throw Error("Toolbox must have a contents attribute.")},Bn=function(e){return e?e.contents?e.contents:Array.isArray(e)&&0o.kind.toUpperCase()==="CATEGORY").length},fa=function(e){return e&&e.contents?!!e.contents.filter(function(t){return t.kind.toUpperCase()==="CATEGORY"}).length:!1},Xm=function(e){const t={contents:$a(e)};return e instanceof Node&&$u(e,t),t},$a=function(e){const t=[];let o=e.childNodes;o||(o=e);for(let n=0,c;c=o[n];n++){if(!c.tagName)continue;e={};const h=c.tagName.toUpperCase();e.kind=h,h==="BLOCK"?e.blockxml=c:c.childNodes&&0 document.")}else e instanceof Element&&(t=e);return t},ba=function(e,t,o,n,c,h){const $=h.scrollbar&&h.scrollbar.canScrollVertically();return e.horizontal===Wi.LEFT?(o=c.absoluteMetrics.left+o,$&&h.RTL&&(o+=mt.scrollbarThickness)):(o=c.absoluteMetrics.left+c.viewMetrics.width-t.width-o,$&&!h.RTL&&(o-=mt.scrollbarThickness)),e.vertical===lo.TOP?e=c.absoluteMetrics.top+n:(e=c.absoluteMetrics.top+c.viewMetrics.height-t.height-n,h.scrollbar&&h.scrollbar.canScrollHorizontally()&&(e-=mt.scrollbarThickness)),new qe(e,e+t.height,o,o+t.width)},va=function(e,t){return{horizontal:t.toolboxMetrics.position===Ee.LEFT||e.horizontalLayout&&!e.RTL?Wi.RIGHT:Wi.LEFT,vertical:t.toolboxMetrics.position===Ee.BOTTOM?lo.TOP:lo.BOTTOM}},ya=function(e,t,o,n){const c=e.left,h=e.right-e.left,$=e.bottom-e.top;for(let T=0;Th.id!==e.id).map(h=>h.getRelativeToSurfaceXY());for(;tf(G.sum(o,n),c);)n.translate(t.RTL?-30:30,30);e.moveTo(G.sum(o,n))},tf=function(e,t){return t.some(o=>1>=Math.abs(o.x-e.x)&&1>=Math.abs(o.y-e.y))},_o=function(e,t){e.setAttribute(zT,t)},It=function(e,t,o){Array.isArray(o)&&(o=o.join(" ")),e.setAttribute(FT+t,`${o}`)},zn=function(e){return e.saveState!==void 0&&e.loadState!==void 0},vu=function(e){return yu(e),sf()?(wa(),Promise.resolve()):(Gi||(Gi=new Promise(t=>{Nh=t,Vb=window.requestAnimationFrame(()=>{wa(),t()})})),Gi)},ws=function(){return Gi||Promise.resolve()},Qs=function(e){e||window.cancelAnimationFrame(Vb),wa(e),!e&&Nh&&Nh()},sf=function(){return Eb},yu=function(e){Oh.add(e),Mh.set(e,i.getGroup$$module$build$src$core$events$utils());const t=e.getParent();t?yu(t):hl.add(e)},wa=function(e){const t=e?new Set([e]):new Set([...hl].map(h=>h.workspace)),o=[...hl].filter(of).filter(h=>t.has(h.workspace));for(var n of o)wu(n);for(const h of t)h.resizeContents();for(var c of o)n=c.getRelativeToSurfaceXY(),c.updateComponentLocations(n);for(const h of o)c=i.getGroup$$module$build$src$core$events$utils(),(n=Mh.get(h))&&i.setGroup$$module$build$src$core$events$utils(n),h.bumpNeighbours(),i.setGroup$$module$build$src$core$events$utils(c);for(const h of o)_u(h);e||(Gi=null)},_u=function(e){hl.delete(e),Oh.delete(e),Mh.delete(e);for(const t of e.getChildren(!1))_u(t)},of=function(e){return!e.isDisposed()&&!e.getParent()},wu=function(e){if(Oh.has(e)&&e.initialized){for(const t of e.getChildren(!1))wu(t);e.renderEfficiently()}},Un=function(e,t){Kb(e,t)},nf=function(e){Kb=e},Ca=function(e,t){qb.confirmInternal(e,t)},rf=function(e,t){Yb(e,t)},af=function(e){Yb=e},Ta=function(e,t,o){Jb(e,t,o)},lf=function(e){Jb=e},Di=function(e){return e.getProcedureDef!==void 0},cf=function(e){return e.getProcedureCall!==void 0&&e.renameProcedure!==void 0},Cu=function(e){return e.getVariableModel!==void 0},i.allUsedVarModels$$module$build$src$core$variables=function(e){e=e.getAllBlocks(!1);const t=new Set;for(let o=0;o1'),n.appendChild(o),t.push(n)),Jt.variables_get){e.sort(hr.compareByName);for(let c=0,h;h=e[c];c++)o=i.createElement$$module$build$src$core$utils$xml("block"),o.setAttribute("type","variables_get"),o.setAttribute("gap","8"),o.appendChild(Go(h)),t.push(o)}}return t},ku=function(e){return Zb.generateUniqueNameInternal(e)},uf=function(e){return Sa(jh.charAt(0),e.getAllVariableNames())},Sa=function(e,t){if(!t.length)return e;const o=jh;let n="",c=o.indexOf(e);for(;;){let h=!1;for(let $=0;$h.getVariableModel().name);if(n&&(o=n.some(h=>h.toLowerCase()===e),n=n.some(h=>h.toLowerCase()===t),o&&n))return c.getName()}return null},pf=function(e,t,o){e=e.toLowerCase(),t=t.toLowerCase(),o=o.getAllBlocks(!1);for(const c of o){if(!Di(c))continue;o=c.getProcedureDef();var n=o[1];const h=n.some($=>$.toLowerCase()===e);if(n=n.some($=>$.toLowerCase()===t),h&&n)return o[0]}return null},Go=function(e){const t=i.createElement$$module$build$src$core$utils$xml("field");return t.setAttribute("name","VAR"),t.setAttribute("id",e.getId()),t.setAttribute("variabletype",e.type),e=i.createTextNode$$module$build$src$core$utils$xml(e.name),t.appendChild(e),t},i.getOrCreateVariablePackage$$module$build$src$core$variables=function(e,t,o,n){let c=i.getVariable$$module$build$src$core$variables(e,t,o,n);return c||(c=gf(e,t,o,n)),c},i.getVariable$$module$build$src$core$variables=function(e,t,o,n){const c=e.getPotentialVariableMap();let h=null;if(t&&(h=e.getVariableById(t),!h&&c&&(h=c.getVariableById(t)),h))return h;if(o){if(n===void 0)throw Error("Tried to look up a variable by name without a type");h=e.getVariable(o,n),!h&&c&&(h=c.getVariable(o,n))}return h},gf=function(e,t,o,n){const c=e.getPotentialVariableMap();return o||(o=ku(e.isFlyout?e.targetWorkspace:e)),c?c.createVariable(o,n,t):e.createVariable(o,n,t)},Hn=function(e,t){e=e.getAllVariables();const o=[];if(t.length!==e.length)for(let n=0;n{L.disposed||L.setConnectionTracking(!0)},1)}return T},xu=function(e,t,{parentConnection:o,isShadow:n=!1}={}){if(!e.type)throw new Qb(e);const c=t.newBlock(e.type,e.id);return c.setShadow(n),Cf(c,e),Tf(c,e),kf(c,e),Sf(o,c,e),Ef(c,e),If(c,e),xf(c,e),Df(c,e),Af(c,t.rendered),c},wf=function(e,t){if(K())for(e=Hn(e,t),t=0;tt&&(t=o[n].length);var c=-1/0;let h,$=1;do{n=c,h=e,e=[],c=o.length/$;let T=1;for(let L=0;Ln);return h},Ra=function(e,t,o){const n=[0],c=[];for(var h=0;hn&&(n=T,c=$)}return c?Ku(e,c,o):t},Lf=function(e,t){const o=[];for(let n=0;ncv&&to()}else $r!==cs&&(clearTimeout(ci),Wh=e.pageX,Vh=e.pageY,ci=setTimeout(Gf,uv))},Xu=function(){$r=cs=null,to()},to=function(){fr&&(fr=!1,_t&&(_t.style.display="none")),ci&&(clearTimeout(ci),ci=0)},Zu=function(){to(),Xi=!0},Qu=function(){Xi=!1},Hf=function(){_t&&cs&&(typeof $l=="function"?$l(_t,cs):Wf())},Wf=function(){var e=Ni(cs);e=i.wrap$$module$build$src$core$utils$string(e,av),e=e.split(` -`);for(let t=0;to+window.scrollY&&(c-=_t.offsetHeight+2*Kh),e?n=Math.max(bl-window.scrollX,n):n+_t.offsetWidth>t+window.scrollX-2*bl&&(n=t-_t.offsetWidth-2*bl),{x:n,y:c}},Gf=function(){if(!Xi&&($r=cs,_t)){_t.textContent="",Hf();var e=cs.RTL;_t.style.direction=e?"rtl":"ltr",_t.style.display="block",fr=!0;var{x:t,y:o}=Vf(e);_t.style.left=t+"px",_t.style.top=o+"px"}},ed=function(){return Yh},Kf=function(e){Yh=e},td=function(){return Jh},Yf=function(e){Jh=e},Go=function(e){e=`${e}`.toLowerCase().trim();var t=dv[e];if(t||(t=e.substring(0,2)==="0x"?"#"+e.substring(2):e,t=t[0]==="#"?t:"#"+t,/^#[0-9a-f]{6}$/.test(t)))return t;if(/^#[0-9a-f]{3}$/.test(t))return["#",t[1],t[1],t[2],t[2],t[3],t[3]].join("");var o=e.match(/^(?:rgb)?\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/);return o&&(e=Number(o[1]),t=Number(o[2]),o=Number(o[3]),0<=e&&256>e&&0<=t&&256>t&&0<=o&&256>o)?Kn(e,t,o):null},Kn=function(e,t,o){return t=e<<16|t<<8|o,16>e?"#"+(16777216|t).toString(16).substr(1):"#"+t.toString(16)},Ma=function(e){return e=Go(e),e?(e=parseInt(e.substr(1),16),[e>>16,e>>8&255,e&255]):[0,0,0]},Na=function(e,t,o){let n=0,c=0,h=0;if(t===0)h=c=n=o;else{const $=Math.floor(e/60),T=e/60-$;e=o*(1-t);const L=o*(1-t*T);switch(t=o*(1-t*(1-T)),$){case 1:n=L,c=o,h=e;break;case 2:n=e,c=o,h=t;break;case 3:n=e,c=L,h=o;break;case 4:n=t,c=e,h=o;break;case 5:n=o,c=e,h=L;break;case 6:case 0:n=o,c=t,h=e}}return Kn(Math.floor(n),Math.floor(c),Math.floor(h))},Ko=function(e,t,o){return e=Go(e),!e||(t=Go(t),!t)?null:(e=Ma(e),t=Ma(t),Kn(Math.round(t[0]+o*(e[0]-t[0])),Math.round(t[1]+o*(e[1]-t[1])),Math.round(t[2]+o*(e[2]-t[2]))))},sd=function(e){return Na(e,Yh,255*Jh)},La=function(e,t,o){const n=[];var c=e.split("");c.push("");var h=0;e=[];let $=null;for(let te=0;tecv&&to()}else $r!==cs&&(clearTimeout(ci),Wh=e.pageX,Gh=e.pageY,ci=setTimeout(Vf,uv))},Xu=function(){$r=cs=null,to()},to=function(){fr&&(fr=!1,_t&&(_t.style.display="none")),ci&&(clearTimeout(ci),ci=0)},Zu=function(){to(),Xi=!0},Qu=function(){Xi=!1},Hf=function(){_t&&cs&&(typeof $l=="function"?$l(_t,cs):Wf())},Wf=function(){var e=Ni(cs);e=i.wrap$$module$build$src$core$utils$string(e,av),e=e.split(` +`);for(let t=0;to+window.scrollY&&(c-=_t.offsetHeight+2*Kh),e?n=Math.max(bl-window.scrollX,n):n+_t.offsetWidth>t+window.scrollX-2*bl&&(n=t-_t.offsetWidth-2*bl),{x:n,y:c}},Vf=function(){if(!Xi&&($r=cs,_t)){_t.textContent="",Hf();var e=cs.RTL;_t.style.direction=e?"rtl":"ltr",_t.style.display="block",fr=!0;var{x:t,y:o}=Gf(e);_t.style.left=t+"px",_t.style.top=o+"px"}},ed=function(){return Yh},Kf=function(e){Yh=e},td=function(){return Jh},Yf=function(e){Jh=e},Vo=function(e){e=`${e}`.toLowerCase().trim();var t=dv[e];if(t||(t=e.substring(0,2)==="0x"?"#"+e.substring(2):e,t=t[0]==="#"?t:"#"+t,/^#[0-9a-f]{6}$/.test(t)))return t;if(/^#[0-9a-f]{3}$/.test(t))return["#",t[1],t[1],t[2],t[2],t[3],t[3]].join("");var o=e.match(/^(?:rgb)?\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/);return o&&(e=Number(o[1]),t=Number(o[2]),o=Number(o[3]),0<=e&&256>e&&0<=t&&256>t&&0<=o&&256>o)?Kn(e,t,o):null},Kn=function(e,t,o){return t=e<<16|t<<8|o,16>e?"#"+(16777216|t).toString(16).substr(1):"#"+t.toString(16)},Ma=function(e){return e=Vo(e),e?(e=parseInt(e.substr(1),16),[e>>16,e>>8&255,e&255]):[0,0,0]},Na=function(e,t,o){let n=0,c=0,h=0;if(t===0)h=c=n=o;else{const $=Math.floor(e/60),T=e/60-$;e=o*(1-t);const L=o*(1-t*T);switch(t=o*(1-t*(1-T)),$){case 1:n=L,c=o,h=e;break;case 2:n=e,c=o,h=t;break;case 3:n=e,c=L,h=o;break;case 4:n=t,c=e,h=o;break;case 5:n=o,c=e,h=L;break;case 6:case 0:n=o,c=t,h=e}}return Kn(Math.floor(n),Math.floor(c),Math.floor(h))},Ko=function(e,t,o){return e=Vo(e),!e||(t=Vo(t),!t)?null:(e=Ma(e),t=Ma(t),Kn(Math.round(t[0]+o*(e[0]-t[0])),Math.round(t[1]+o*(e[1]-t[1])),Math.round(t[2]+o*(e[2]-t[2]))))},sd=function(e){return Na(e,Yh,255*Jh)},La=function(e,t,o){const n=[];var c=e.split("");c.push("");var h=0;e=[];let $=null;for(let te=0;te=T?(h=2,$=T,(T=e.join(""))&&n.push(T),e.length=0):T==="{"?h=3:(e.push("%",T),h=0);else if(h===2)if("0"<=T&&"9">=T)$+=T;else{var L=void 0;n.push(parseInt((L=$)!=null?L:"",10)),te--,h=0}else h===3&&(T===""?(e.splice(0,0,"%{"),te--,h=0):T!=="}"?e.push(T):(h=e.join(""),/[A-Z]\w*/i.test(h)?(T=h.toUpperCase(),(T=T.startsWith("BKY_")?T.substring(4):null)&&T in i.Msg$$module$build$src$core$msg?(h=i.Msg$$module$build$src$core$msg[T],typeof h=="string"?Array.prototype.push.apply(n,La(h,t,o)):t?n.push(`${h}`):n.push(h)):n.push("%{"+h+"}")):n.push("%{"+h+"}"),h=e.length=0))}for((t=e.join(""))&&n.push(t),L=[],e.length=0,c=0;c=o)return{hue:o,hex:Na(o,ed(),255*td())};if(o=Go(t))return{hue:null,hex:o};throw o='Invalid colour: "'+t+'"',e!==t&&(o+=' (from "'+e+'")'),Error(o)},Yo=function(){return Ss},qf=function(e){if(Ss=e,e===null){let t;(t=document.querySelector("."+yl))==null||t.remove()}},id=function(){const e=de()||document.body;document.querySelector("."+yl)?Ss=document.querySelector("."+yl):(Ss=document.createElement("div"),Ss.className=yl),e.appendChild(Ss)},Pa=function(e,t,o,n){if(Bi(),Zi=e,vl=o,o=Ss){if(o.style.direction=t?"rtl":"ltr",o.style.display="block",!n&&e instanceof Qe){let $;n=($=e.getSourceBlock())==null?void 0:$.workspace}var c;qh=(c=n)!=null?c:null;var h;e=(h=n)!=null?h:U(),Qi=e.getRenderer().getClassName(),en=e.getTheme().getClassName(),Qi&&ge(o,Qi),en&&ge(o,en)}},Bi=function(){if(nd()){Zi=null;var e=Ss;e&&(e.style.display="none",e.style.left="",e.style.top="",vl&&vl(),vl=null,e.textContent="",Qi&&(ot(e,Qi),Qi=""),en&&(ot(e,en),en=""),U().markFocused())}},nd=function(){return!!Zi},Jo=function(e){Zi===e&&Bi()},Yn=function(e){qh!==null&&qh!==e||Bi()},rd=function(e,t,o){Ss.style.left=e+"px",Ss.style.top=t+"px",Ss.style.height=o+"px"},ad=function(e,t,o,n){const c=Zf(e,t,o);e=Xf(e,t,o,n),0>c?rd(e,0,o.height+c):rd(e,c,o.height)},Xf=function(e,t,o,n){return n?Math.min(Math.max(t.right-o.width,e.left),e.right-o.width):Math.max(Math.min(t.left,e.right-o.width),e.left)},Zf=function(e,t,o){return t.bottom+o.height>=e.bottom?t.top-o.height:t.bottom},Qf=function(e){return!(e==null||!e.repositionForWindowResize)},ld=function(){Qf(Zi)&&Zi.repositionForWindowResize()||Bi()},e$=function(){return _l},cd=function(e){_l=e},Jn=function(e,t,o,n){if(Pa(hv,o,ud,n),t.length){var c=t$(t,o,e);wl=c,s$(c,e,o),setTimeout(function(){c.focus()},1),_l=null}else qn()},t$=function(e,t,o){const n=new Ah;n.setRole(ks.MENU);for(let c=0;c{setTimeout(()=>{h.callback(h.scope,o)},0)})},{})}return n},s$=function(e,t,o){const n=mu();t=new qe(t.clientY+n.top,t.clientY+n.top,t.clientX+n.left,t.clientX+n.left),o$(e);const c=e.getSize();o&&(t.left+=c.width,t.right+=c.width,n.left+=c.width,n.right+=c.width),ad(n,t,c,o),e.focus()},o$=function(e){var t=Yo();if(!t)throw Error("Attempting to create a context menu when widget div is null");t=e.render(t),ge(t,"blocklyContextMenu"),X(t,"contextmenu",null,i$),e.focus()},i$=function(e){e.preventDefault(),e.stopPropagation()},qn=function(){Jo(hv),_l=null},ud=function(){wl&&(wl.dispose(),wl=null)},i.callbackFactory$$module$build$src$core$contextmenu=function(e,t){return()=>{i.disable$$module$build$src$core$events$utils();let o;try{o=t instanceof Element?qo(t,e.workspace):Ri(t,e.workspace);const n=e.getRelativeToSurfaceXY();n.x=e.RTL?n.x-i.config$$module$build$src$core$config.snapRadius:n.x+i.config$$module$build$src$core$config.snapRadius,n.y+=2*i.config$$module$build$src$core$config.snapRadius,o.moveBy(n.x,n.y)}finally{i.enable$$module$build$src$core$events$utils()}return K()&&!o.isShadow()&&z(new(G(O.BLOCK_CREATE))(o)),i.setSelected$$module$build$src$core$common(o),o}},dd=function(e,t){return t=st(t,e.getParentSvg(),e.getInverseScreenCTM()),t.x/=e.scale,t.y/=e.scale,t},Ba=function(e,t,o){t=dd(e,t),gv.set(e,V.difference(o,t))},ja=function(e,t){if(t=dd(e,t),e=gv.get(e),!e)throw Error("Drag not initialized");return V.sum(e,t)},n$=function(e,t=!1){const o=i.createElement$$module$build$src$core$utils$xml("xml");var n=hd(i.allUsedVarModels$$module$build$src$core$variables(e));n.hasChildNodes()&&o.appendChild(n);for(const c of e.getTopComments())o.appendChild(Xn(c,t));for(e=e.getTopBlocks(!0),n=0;n/g,"<$1$2>")},l$=function(e){e=Ls(e).split("<");let t="";for(let o=1;o"&&(t+=" ")}return e=e.join(` -`),e=e.replace(/(<(\w+)\b[^>]*>[^\n]*)\n *<\/\2>/g,"$1"),e.replace(/^\n/,"")},c$=function(e,t){return t.setResizesEnabled(!1),t.clear(),e=i.domToWorkspace$$module$build$src$core$xml(e,t),t.setResizesEnabled(!0),e},i.domToWorkspace$$module$build$src$core$xml=function(e,t){let o=0;t.RTL&&(o=t.getWidth());const n=[];Ho();const c=i.getGroup$$module$build$src$core$events$utils();c||i.setGroup$$module$build$src$core$events$utils(!0),t.setResizesEnabled&&t.setResizesEnabled(!1);let h=!0;try{for(let $=0,T;T=e.childNodes[$];$++){const L=T.nodeName.toLowerCase(),te=T;if(L==="block"||L==="shadow"&&!me()){const nt=qo(te,t);n.push(nt.id);let it;const Xt=parseInt((it=te.getAttribute("x"))!=null?it:"10",10);let hn;const Or=parseInt((hn=te.getAttribute("y"))!=null?hn:"10",10);isNaN(Xt)||isNaN(Or)||nt.moveBy(t.RTL?o-Xt:Xt,Or,["create"]),h=!1}else{if(L==="shadow")throw TypeError("Shadow block cannot be a top-level block.");if(L==="comment")gd(te,t);else if(L==="variables"){if(h)md(te,t);else throw Error("'variables' tag must exist once before block and shadow tag elements in the workspace XML, but it was found in another location.");h=!1}}}}finally{i.setGroup$$module$build$src$core$events$utils(c),t.setResizesEnabled&&t.setResizesEnabled(!0),t.rendered&&Qs(),Wo()}return z(new(G(O.FINISHED_LOADING))(t)),n},gd=function(e,t){var o;const n=(o=e.getAttribute("id"))!=null?o:void 0;o=t.rendered?new kl(t,n):new Tl(t,n);var c;o.setText((c=e.textContent)!=null?c:"");var h;c=parseInt((h=e.getAttribute("x"))!=null?h:"",10);let $;h=parseInt(($=e.getAttribute("y"))!=null?$:"",10),isNaN(c)||isNaN(h)||(c=t.RTL?t.getWidth()-c:c,o.moveTo(new V(c,h)));var T;t=parseInt((T=e.getAttribute("w"))!=null?T:"",10);let L;return T=parseInt((L=e.getAttribute("h"))!=null?L:"",10),isNaN(t)||isNaN(T)||o.setSize(new Le(t,T)),e.getAttribute("collapsed")==="true"&&o.setCollapsed(!0),e.getAttribute("editable")==="false"&&o.setEditable(!1),e.getAttribute("movable")==="false"&&o.setMovable(!1),e.getAttribute("deletable")==="false"&&o.setDeletable(!1),o},u$=function(e,t){if(!t.getBlocksBoundingBox)return i.domToWorkspace$$module$build$src$core$xml(e,t);var o=t.getBlocksBoundingBox();if(e=i.domToWorkspace$$module$build$src$core$xml(e,t),o&&o.top!==o.bottom){var n=o.bottom;o=t.RTL?o.right:o.left;var c=1/0;let h=-1/0,$=1/0;for(let T=0;Th&&(h=L.x)}for(n=n-$+10,o=t.RTL?o-h:o-c,c=0;cte.setBubbleVisible(h),1)}},g$=function(e,t){for(let o=0;oc}),bd(c,{x:n.x,y:n.y,width:e.width,height:e.height},t.RTL,new Date)}},bd=function(e,t,o,n){const c=(new Date().getTime()-n.getTime())/150;1o)){var n=t.getSvgXY(e.getSvgRoot());e.outputConnection?(n.x+=(e.RTL?3:-3)*o,n.y+=13*o):e.previousConnection&&(n.x+=(e.RTL?-23:23)*o,n.y+=3*o);var c=N(x.CIRCLE,{cx:n.x,cy:n.y,r:0,fill:"none",stroke:"#888","stroke-width":10},t.getParentSvg());e=N(x.ANIMATE,{id:"animationCircle",begin:"indefinite",attributeName:"r",dur:"150ms",from:0,to:25*o},c),t=N(x.ANIMATE,{id:"animationOpacity",begin:"indefinite",attributeName:"opacity",dur:"150ms",from:1,to:0},c),e.beginElement(),t.beginElement(),setTimeout(()=>{Ke(c)},150)}},vd=function(e){if(ji(),e.workspace.getAudioManager().play("disconnect"),!(1>e.workspace.scale)){var t=e.getHeightWidth().height;t=Math.atan(10/t)/Math.PI*180,e.RTL||(t*=-1),vr=e,yd(e,t,new Date,0)}},yd=function(e,t,o,n){const c=[.66,1,.66,0,-.66,-1,-.66,0];let h="";o.getTime()+200>new Date().getTime()&&(h=`skewX(${Math.round(c[n%c.length]*t)})`,Sl=setTimeout(yd,15,e,t,o,n+1)),e.getSvgRoot().setAttribute("transform",`${e.getTranslation()} ${h}`)},ji=function(){vr&&(Sl&&(clearTimeout(Sl),Sl=null),vr.getSvgRoot().setAttribute("transform",vr.getTranslation()),vr=null)},Xo=function(e){return e.getRelativeToSurfaceXY!==void 0&&e.isMovable!==void 0&&e.startDrag!==void 0&&e.drag!==void 0&&e.endDrag!==void 0&&e.revertDrag!==void 0},so=function(e,t){for(const o in t)e[o]=t[o]!==null&&typeof t[o]=="object"?so(e[o]||Object.create(null),t[o]):t[o];return e},Ps=function(e,t){r(F.FIELD,e,t)},y$=function(e){u(F.FIELD,e)},i.fromJson$$module$build$src$core$field_registry=function(e){return bv.fromJsonInternal(e)},_$=function(e){const t=f(F.FIELD,e.type);return t?t.fromJson(e):(console.warn("Blockly could not create a field of type "+e.type+". The field is probably not being registered. This could be because the file is not loaded, the field does not register itself (Issue #1584), or the registration is not being reached."),null)},i.register$$module$build$src$core$extensions=function(e,t){if(typeof e!="string"||e.trim()==="")throw Error('Error: Invalid extension name "'+e+'"');if(sn[e])throw Error('Error: Extension "'+e+'" is already registered.');if(typeof t!="function")throw Error('Error: Extension "'+e+'" must be a function');sn[e]=t},i.registerMixin$$module$build$src$core$extensions=function(e,t){if(!t||typeof t!="object")throw Error('Error: Mixin "'+e+'" must be a object');i.register$$module$build$src$core$extensions(e,function(){this.mixin(t)})},i.registerMutator$$module$build$src$core$extensions=function(e,t,o,n){const c='Error when registering mutator "'+e+'": ';Cd(c,t);const h=wd(t,c);if(o&&typeof o!="function")throw Error(c+'Extension "'+e+'" is not a function');i.register$$module$build$src$core$extensions(e,function(){h&&this.setMutator(new i.MutatorIcon$$module$build$src$core$icons$mutator_icon(n||[],this)),this.mixin(t),o&&o.apply(this)})},w$=function(e){_d(e)?delete sn[e]:console.warn('No extension mapping for name "'+e+'" found to unregister')},_d=function(e){return!!sn[e]},Ha=function(e,t,o){const n=sn[e];if(typeof n!="function")throw Error('Error: Extension "'+e+'" not found.');let c;if(o?C$(e,t):c=Va(t),n.apply(t),o)Cd('Error after applying mutator "'+e+'": ',t);else if(!S$(c,t))throw Error('Error when applying extension "'+e+'": mutation properties changed when applying a non-mutator extension.')},C$=function(e,t){if(Va(t).length)throw Error('Error: tried to apply mutation "'+e+'" to a block that already has mutator functions. Block id: '+t.id)},T$=function(e,t){return Wa(e.mutationToDom,e.domToMutation,t+" mutationToDom/domToMutation")},k$=function(e,t){return Wa(e.saveExtraState,e.loadExtraState,t+" saveExtraState/loadExtraState")},wd=function(e,t){return Wa(e.compose,e.decompose,t+" compose/decompose")},Wa=function(e,t,o){if(e&&t){if(typeof e!="function"||typeof t!="function")throw Error(o+" must be a function");return!0}if(!e&&!t)return!1;throw Error(o+"Must have both or neither functions")},Cd=function(e,t){const o=T$(t,e),n=k$(t,e);if(!o&&!n)throw Error(e+"Mutations must contain either XML hooks, or JSON hooks, or both");wd(t,e)},Va=function(e){const t=[];return e.domToMutation!==void 0&&t.push(e.domToMutation),e.mutationToDom!==void 0&&t.push(e.mutationToDom),e.saveExtraState!==void 0&&t.push(e.saveExtraState),e.loadExtraState!==void 0&&t.push(e.loadExtraState),e.compose!==void 0&&t.push(e.compose),e.decompose!==void 0&&t.push(e.decompose),t},S$=function(e,t){if(t=Va(t),t.length!==e.length)return!1;for(let o=0;o!n.getReturnTypes()).map(n=>[n.getName(),n.getParameters().map(c=>c.getName()),!1]);e.getBlocksByType("procedures_defnoreturn",!1).forEach(n=>{!Co(n)&&Di(n)&&t.push(n.getProcedureDef())});const o=e.getProcedureMap().getProcedures().filter(n=>!!n.getReturnTypes()).map(n=>[n.getName(),n.getParameters().map(c=>c.getName()),!0]);return e.getBlocksByType("procedures_defreturn",!1).forEach(n=>{!Co(n)&&Di(n)&&o.push(n.getProcedureDef())}),t.sort(kd),o.sort(kd),[t,o]},kd=function(e,t){return e[0].localeCompare(t[0],void 0,{sensitivity:"base"})},i.findLegalName$$module$build$src$core$procedures=function(e,t){if(t.isInFlyout)return e;for(e=e||i.Msg$$module$build$src$core$msg.UNNAMED_KEY||"unnamed";!A$(e,t.workspace,t);){const o=e.match(/^(.*?)(\d+)$/);e=o?o[1]+(parseInt(o[2])+1):e+"2"}return e},A$=function(e,t,o){return!Sd(e,t,o)},Sd=function(e,t,o){for(const n of t.getAllBlocks(!1))if(n!==o&&Di(n)&&i.Names$$module$build$src$core$names.equals(n.getProcedureDef()[0],e))return!0;o=o&&Co(o)?o==null?void 0:o.getProcedureModel():void 0;for(const n of t.getProcedureMap().getProcedures())if(n!==o&&i.Names$$module$build$src$core$names.equals(n.getName(),e))return!0;return!1},i.rename$$module$build$src$core$procedures=function(e){var t=this.getSourceBlock();if(!t)throw new ft;e=e.trim();const o=i.findLegalName$$module$build$src$core$procedures(e,t);Co(t)&&!t.isInsertionMarker()&&t.getProcedureModel().setName(o);const n=this.getValue();if(n!==e&&n!==o)for(e=t.workspace.getAllBlocks(!1),t=0;tO$(o,e)||cf(o)&&i.Names$$module$build$src$core$names.equals(o.getProcedureCall(),e))},O$=function(e,t){return Co(e)&&!e.isProcedureDef()&&e.getProcedureModel()&&i.Names$$module$build$src$core$names.equals(e.getProcedureModel().getName(),t)},i.mutateCallers$$module$build$src$core$procedures=function(e){const t=me();var o=e.getProcedureDef()[0];const n=e.mutationToDom(!0);e=xd(o,e.workspace);for(let h=0,$;$=e[h];h++){o=(o=$.mutationToDom())&&Ii(o),$.domToMutation&&$.domToMutation(n);var c=$.mutationToDom();c=c&&Ii(c),o!==c&&(i.setRecordUndo$$module$build$src$core$events$utils(!1),z(new(G(O.BLOCK_CHANGE))($,"mutation",null,o,c)),i.setRecordUndo$$module$build$src$core$events$utils(t))}},i.getDefinition$$module$build$src$core$procedures=function(e,t){for(const o of t.getAllBlocks(!1))if(Co(o)&&o.isProcedureDef()&&i.Names$$module$build$src$core$names.equals(o.getProcedureModel().getName(),e)||Di(o)&&i.Names$$module$build$src$core$names.equals(o.getProcedureDef()[0],e))return o;return null},Ja=function(e){return e.isDynamic},M$=function(e){return e.pathDown!==void 0&&e.pathUp!==void 0},N$=function(e){return e.pathLeft!==void 0&&e.pathRight!==void 0},L$=function(e,t){if(!e||!t)throw Error("Cannot connect null connections.");e.targetConnection=t,t.targetConnection=e},P$=function(e,t){let o=null;t=t.outputConnection;const n=t==null?void 0:t.getConnectionChecker();for(let c=0,h;h=e.inputList[c];c++){const $=h.connection;let T;if($&&((T=n)!=null&&T.canConnect(t,$,!1))){if(o)return null;o=$}}return o},B$=function(e,t){let o;for(;o=P$(e,t);)if(e=o.targetBlock(),!e||e.isShadow())return o;return null},Dd=function(e){return e.getType!==void 0&&e.initView!==void 0&&e.dispose!==void 0&&e.getWeight!==void 0&&e.getSize!==void 0&&e.applyColour!==void 0&&e.hideForInsertionMarker!==void 0&&e.updateEditable!==void 0&&e.updateCollapsed!==void 0&&e.isShownWhenCollapsed!==void 0&&e.setOffsetInBlock!==void 0&&e.onLocationChange!==void 0&&e.onClick!==void 0},j$=function(e){return Dd(e)&&Oi(e)&&zn(e)&&e.setText!==void 0&&e.getText!==void 0&&e.setBubbleSize!==void 0&&e.getBubbleSize!==void 0&&e.getType()===yt.COMMENT},Qn=function(e){let t=e.outputConnection;return(!t||e.previousConnection&&e.previousConnection.isConnected())&&(t=e.previousConnection),t},er=function(e,t){r(F.RENDERER,e,t)},F$=function(e){u(F.RENDERER,e)},Ad=function(e,t,o){return e=new(m(F.RENDERER,e))(e),e.init(t,o),e},Rd=function(e){Ai(e.getTargetWorkspace(),void 0,"String")},Od=function(e){Ai(e.getTargetWorkspace(),void 0,"Number")},Md=function(e){Ai(e.getTargetWorkspace(),void 0,"Colour")},qa=function(e){let t=[],o=document.createElement("button");return o.setAttribute("text",i.Msg$$module$build$src$core$msg.NEW_STRING_VARIABLE),o.setAttribute("callbackKey","CREATE_VARIABLE_STRING"),t.push(o),o=document.createElement("button"),o.setAttribute("text",i.Msg$$module$build$src$core$msg.NEW_NUMBER_VARIABLE),o.setAttribute("callbackKey","CREATE_VARIABLE_NUMBER"),t.push(o),o=document.createElement("button"),o.setAttribute("text",i.Msg$$module$build$src$core$msg.NEW_COLOUR_VARIABLE),o.setAttribute("callbackKey","CREATE_VARIABLE_COLOUR"),t.push(o),e.registerButtonCallback("CREATE_VARIABLE_STRING",Rd),e.registerButtonCallback("CREATE_VARIABLE_NUMBER",Od),e.registerButtonCallback("CREATE_VARIABLE_COLOUR",Md),e=Nd(e),t=t.concat(e)},Nd=function(e){e=e.getAllVariables();const t=[];if(0T.id!=e.id).map(T=>T.getRelativeToSurfaceXY());for(;U$(V.sum(t,h),$)||H$(e,V.sum(c,h),n);)o.RTL?h.translate(-n,2*n):h.translate(n,2*n);e.moveTo(V.sum(t,h))},U$=function(e,t){return t.some(o=>1>=Math.abs(o.x-e.x)&&1>=Math.abs(o.y-e.y))},H$=function(e,t,o){return e.getConnections_(!1).some(n=>!!n.closest(o,t).connection)},zi=function(e,t,o){const n=o.getBoundingRectangle(),c=n.right-n.left,h=Mi(t.top,n.top,t.top+t.height-(n.bottom-n.top))-n.top;let $=t.left;return t=t.left+t.width-c,e.RTL?$=Math.min(t,$):t=Math.max($,t),(e=Mi($,n.left,t)-n.left)||h?(o.moveBy(e,h,["inbounds"]),!0):!1},Ld=function(e){return t=>{var o=e.getMetricsManager();if(o.hasFixedEdges()&&!e.isDragging()){var n;if(ub.includes((n=t.type)!=null?n:"")){n=o.getScrollMetrics(!0);const c=W$(e,t);c&&(o=i.getGroup$$module$build$src$core$events$utils()||!1,i.setGroup$$module$build$src$core$events$utils(t.group),zi(e,n,c)&&!t.group&&console.warn("Moved object in bounds but there was no event group. This may break undo."),i.setGroup$$module$build$src$core$events$utils(o))}else se(t)&&t.scale&&t.oldScale&&t.scale>t.oldScale&&Xa(e)}}},W$=function(e,t){let o=null;switch(t.type){case O.BLOCK_CREATE:case O.BLOCK_MOVE:(o=e.getBlockById(t.blockId))&&(o=o.getRootBlock());break;case O.COMMENT_CREATE:case O.COMMENT_MOVE:case O.COMMENT_RESIZE:o=e.getCommentById(t.commentId)}return o},Xa=function(e){var t=e.getMetricsManager();if(t.hasFixedEdges()&&!e.isDragging()){t=t.getScrollMetrics(!0);var o=e.getTopBoundedElements();for(let n=0,c;c=o[n];n++)zi(e,t,c)}},ls=function(e){return e.isDeletable!==void 0&&e.dispose!==void 0&&e.setDeleteStyle!==void 0},V$=function(e){const t=e.toCopyData();Tp=t;let o;return kp=(o=e.workspace)!=null?o:null,t},To=function(e,t,o){return e&&t?Pd(e,t,o):Tp&&kp?Pd(Tp,kp):null},Pd=function(e,t,o){let n;t=t.isMutator?t:(n=t.getRootWorkspace())!=null?n:t;let c,h;return(h=(c=f(F.PASTER,e.paster,!1))==null?void 0:c.paste(e,t,o))!=null?h:null},G$=function(e){const t=e.toCopyData();return t?To(t,e.workspace):null},tr=function(e){return e.toCopyData!==void 0},Bd=function(){He.registry.register({name:Hs.ESCAPE,preconditionFn(e){return!e.options.readOnly},callback(e){return e.hideChaff(),!0},keyCodes:[Ae.ESC]})},jd=function(){He.registry.register({name:Hs.DELETE,preconditionFn(e){const t=I();return!e.options.readOnly&&t!=null&&ls(t)&&t.isDeletable()&&!co.inProgress()},callback(e,t){return t.preventDefault(),e=I(),e instanceof gs?e.checkAndDelete():ls(e)&&e.isDeletable()&&(i.setGroup$$module$build$src$core$events$utils(!0),e.dispose(),i.setGroup$$module$build$src$core$events$utils(!1)),!0},keyCodes:[Ae.DELETE,Ae.BACKSPACE]})},Fd=function(){const e=He.registry.createSerializedKey(Ae.C,[Ae.CTRL]),t=He.registry.createSerializedKey(Ae.C,[Ae.ALT]),o=He.registry.createSerializedKey(Ae.C,[Ae.META]);He.registry.register({name:Hs.COPY,preconditionFn(n){const c=I();return!n.options.readOnly&&!co.inProgress()&&c!=null&&ls(c)&&c.isDeletable()&&Xo(c)&&c.isMovable()&&tr(c)},callback(n,c){return c.preventDefault(),n.hideChaff(),c=I(),!c||!tr(c)?!1:(Mo=c.toCopyData(),No=c.workspace instanceof ns?c.workspace:n,cn=Xo(c)?c.getRelativeToSurfaceXY():null,!!Mo)},keyCodes:[e,t,o]})},zd=function(){const e=He.registry.createSerializedKey(Ae.X,[Ae.CTRL]),t=He.registry.createSerializedKey(Ae.X,[Ae.ALT]),o=He.registry.createSerializedKey(Ae.X,[Ae.META]);He.registry.register({name:Hs.CUT,preconditionFn(n){const c=I();return!n.options.readOnly&&!co.inProgress()&&c!=null&&ls(c)&&c.isDeletable()&&Xo(c)&&c.isMovable()&&!c.workspace.isFlyout},callback(n){const c=I();return c instanceof gs?(Mo=c.toCopyData(),No=n,cn=c.getRelativeToSurfaceXY(),c.checkAndDelete(),!0):ls(c)&&c.isDeletable()&&tr(c)?(Mo=c.toCopyData(),No=n,cn=Xo(c)?c.getRelativeToSurfaceXY():null,c.dispose(),!0):!1},keyCodes:[e,t,o]})},Ud=function(){const e=He.registry.createSerializedKey(Ae.V,[Ae.CTRL]),t=He.registry.createSerializedKey(Ae.V,[Ae.ALT]),o=He.registry.createSerializedKey(Ae.V,[Ae.META]);He.registry.register({name:Hs.PASTE,preconditionFn(n){return!n.options.readOnly&&!co.inProgress()},callback(){if(!Mo||!No)return!1;if(!cn)return!!To(Mo,No);const{left:n,top:c,width:h,height:$}=No.getMetricsManager().getViewMetrics(!0);if(new qe(c,c+$,n,n+h).contains(cn.x,cn.y))return!!To(Mo,No);const T=new V(n+h/2,c+$/2);return!!To(Mo,No,T)},keyCodes:[e,t,o]})},Hd=function(){const e=He.registry.createSerializedKey(Ae.Z,[Ae.CTRL]),t=He.registry.createSerializedKey(Ae.Z,[Ae.ALT]),o=He.registry.createSerializedKey(Ae.Z,[Ae.META]);He.registry.register({name:Hs.UNDO,preconditionFn(n){return!n.options.readOnly&&!co.inProgress()},callback(n,c){return n.hideChaff(),n.undo(!1),c.preventDefault(),!0},keyCodes:[e,t,o]})},Wd=function(){const e=He.registry.createSerializedKey(Ae.Z,[Ae.SHIFT,Ae.CTRL]),t=He.registry.createSerializedKey(Ae.Z,[Ae.SHIFT,Ae.ALT]),o=He.registry.createSerializedKey(Ae.Z,[Ae.SHIFT,Ae.META]),n=He.registry.createSerializedKey(Ae.Y,[Ae.CTRL]);He.registry.register({name:Hs.REDO,preconditionFn(c){return!co.inProgress()&&!c.options.readOnly},callback(c,h){return c.hideChaff(),c.undo(!0),h.preventDefault(),!0},keyCodes:[e,t,o,n]})},Vd=function(){Bd(),jd(),Fd(),zd(),Ud(),Hd(),Wd()},Gd=function(e){const t=e.saveState();return e.getParameters().length&&(t.parameters=e.getParameters().map(o=>o.saveState())),t},Kd=function(e,t,o,n){if(e=e.loadState(o,n),!o.parameters)return e;for(const[c,h]of o.parameters.entries())e.insertParameter(t.loadState(h,n),c);return e},K$=function(e){const t=Object.create(null),o=v(F.SERIALIZER,!0);for(const n in o){let c;const h=(c=o[n])==null?void 0:c.save(e);h&&(t[n]=h)}return t},Y$=function(e,t,{recordUndo:o=!1}={}){var n=v(F.SERIALIZER,!0);if(n){n=Object.entries(n).sort((h,$)=>$[1].priority-h[1].priority);var c=me();i.setRecordUndo$$module$build$src$core$events$utils(o),(o=i.getGroup$$module$build$src$core$events$utils())||i.setGroup$$module$build$src$core$events$utils(!0),Ho(),t instanceof ns&&t.setResizesEnabled(!1);for(const[,h]of n.reverse()){let $;($=h)==null||$.clear(t)}for(const[h,$]of n.reverse())if(e[h]){let T;(T=$)==null||T.load(e[h],t)}t instanceof ns&&t.setResizesEnabled(!0),Wo(),z(new(G(O.FINISHED_LOADING))(t)),i.setGroup$$module$build$src$core$events$utils(o),i.setRecordUndo$$module$build$src$core$events$utils(c)}},J$=function(e,t){let o=null;o=typeof e=="string"?document.getElementById(e)||document.querySelector(e):e;var n;if(!document.contains(o)&&document!==((n=o)==null?void 0:n.ownerDocument))throw Error("Error: container is not in current document");e=new ds(t||{}),n=document.createElement("div"),ge(n,"injectionDiv"),t!=null&&t.rtl&&ge(n,"blocklyRTL"),n.tabIndex=0,It(n,Ct.LABEL,i.Msg$$module$build$src$core$msg.WORKSPACE_ARIA_LABEL),o.appendChild(n),t=q$(n,e);const c=X$(n,t,e);return Z$(c),re(c),Ce(c),n.addEventListener("focusin",function(){re(c)}),X(n,"keydown",null,Za),X(Wn(),"keydown",null,Za),(t=Yo())&&X(t,"keydown",null,Za),c},q$=function(e,t){e.setAttribute("dir","LTR"),cu(t.hasCss,t.pathToMedia),e=N(x.SVG,{xmlns:rr,"xmlns:html":Fs,"xmlns:xlink":es,version:"1.1",class:"blocklySvg",tabindex:"0"},e);const o=N(x.DEFS,{},e),n=String(Math.random()).substring(2);return t.gridPattern=ep.createDom(n,t.gridOptions,o),e},X$=function(e,t,o){o.parentWorkspace=null,o=new ns(o);const n=o.options;o.scale=n.zoomOptions.startScale,t.appendChild(o.createDom("blocklyMainBackground",e));var c=o.getRenderer().getClassName();return c&&ge(e,c),(c=o.getTheme().getClassName())&&ge(e,c),!n.hasCategories&&n.languageTree&&(e=o.addFlyout(x.SVG),Uo(e,t)),n.hasTrashcan&&o.addTrashcan(),n.zoomOptions&&n.zoomOptions.controls&&o.addZoomControls(),o.getThemeManager().subscribe(t,"workspaceBackgroundColour","background-color"),o.translate(0,0),o.addChangeListener(Ld(o)),Ce(o),id(),Au(),Ju(),o},Z$=function(e){const t=e.options;var o=e.getParentSvg();if(X(o.parentNode,"contextmenu",null,function(n){kt(n)||n.preventDefault()}),o=X(window,"resize",null,function(){to(),e.hideComponents(!0),Wu(),ld(),Ce(e),Xa(e)}),e.setResizeHandlerWrapper(o),Q$(),t.languageTree){o=e.getToolbox();const n=e.getFlyout(!0);o?o.init():n&&(n.init(e),n.show(t.languageTree),typeof n.scrollToStart=="function"&&n.scrollToStart())}t.hasTrashcan&&e.trashcan.init(),t.zoomOptions&&t.zoomOptions.controls&&e.zoomControls_.init(),t.moveOptions&&t.moveOptions.scrollbars?(e.scrollbar=new Ep(e,t.moveOptions.scrollbars===!0||!!t.moveOptions.scrollbars.horizontal,t.moveOptions.scrollbars===!0||!!t.moveOptions.scrollbars.vertical,"blocklyMainWorkspaceScrollbar"),e.scrollbar.resize()):e.setMetrics({x:.5,y:.5}),t.hasSounds&&eb(t.pathToMedia,e)},Za=function(e){const t=U();t&&!(kt(e)||t.rendered&&!t.isVisible())&&He.registry.onKeyDown(t,e)},Q$=function(){oy||(X(document,"scroll",null,function(){const e=ee();for(let t=0,o;o=e[t];t++)o instanceof ns&&o.updateInverseScreenCTM()}),ct(document,"touchend",null,_e),ct(document,"touchcancel",null,_e)),oy=!0},eb=function(e,t){function o(){for(;c.length;){const h=c.pop();h&&ze(h)}n.preload()}const n=t.getAudioManager();n.load([e+"click.mp3",e+"click.wav",e+"click.ogg"],"click"),n.load([e+"disconnect.wav",e+"disconnect.mp3",e+"disconnect.ogg"],"disconnect"),n.load([e+"delete.mp3",e+"delete.ogg",e+"delete.wav"],"delete");const c=[];c.push(X(document,"pointermove",null,o,!0)),c.push(X(document,"touchstart",null,o,!0))},Yd=function(){xe.registry.register({displayText(){return i.Msg$$module$build$src$core$msg.UNDO},preconditionFn(e){return 0t.length?sr(t):Ca(i.Msg$$module$build$src$core$msg.DELETE_ALL_BLOCKS.replace("%1",String(t.length)),function(o){o&&sr(t)})}},scopeType:xe.ScopeType.WORKSPACE,id:"workspaceDelete",weight:6})},tb=function(){Yd(),Jd(),qd(),Zd(),Qd(),th()},sh=function(){xe.registry.register({displayText(){return i.Msg$$module$build$src$core$msg.DUPLICATE_BLOCK},preconditionFn(e){return e=e.block,!e.isInFlyout&&e.isDeletable()&&e.isMovable()?e.isDuplicatable()?"enabled":"disabled":"hidden"},callback(e){if(e.block){var t=e.block.toCopyData();t&&To(t,e.block.workspace)}},scopeType:xe.ScopeType.BLOCK,id:"blockDuplicate",weight:1})},oh=function(){xe.registry.register({displayText(e){return e.block.hasIcon(po.TYPE)?i.Msg$$module$build$src$core$msg.REMOVE_COMMENT:i.Msg$$module$build$src$core$msg.ADD_COMMENT},preconditionFn(e){return e=e.block,!e.isInFlyout&&e.workspace.options.comments&&!e.isCollapsed()&&e.isEditable()?"enabled":"hidden"},callback(e){e=e.block,e.hasIcon(po.TYPE)?e.setCommentText(null):e.setCommentText("")},scopeType:xe.ScopeType.BLOCK,id:"blockComment",weight:2})},ih=function(){xe.registry.register({displayText(e){return e.block.getInputsInline()?i.Msg$$module$build$src$core$msg.EXTERNAL_INPUTS:i.Msg$$module$build$src$core$msg.INLINE_INPUTS},preconditionFn(e){if(e=e.block,!e.isInFlyout&&e.isMovable()&&!e.isCollapsed()){for(let t=1;t(t.has(Ft)?1:0),e.getInheritedDisabled()||t?"disabled":"enabled"}return"hidden"},callback(e){e=e.block;const t=i.getGroup$$module$build$src$core$events$utils();t||i.setGroup$$module$build$src$core$events$utils(!0),e.setDisabledReason(!e.hasDisabledReason(Ft),Ft),i.setGroup$$module$build$src$core$events$utils(t)},scopeType:xe.ScopeType.BLOCK,id:"blockDisable",weight:5})},ah=function(){xe.registry.register({displayText(e){var t=e.block;return e=t.getDescendants(!1).length,(t=t.getNextBlock())&&(e-=t.getDescendants(!1).length),e===1?i.Msg$$module$build$src$core$msg.DELETE_BLOCK:i.Msg$$module$build$src$core$msg.DELETE_X_BLOCKS.replace("%1",`${e}`)},preconditionFn(e){return!e.block.isInFlyout&&e.block.isDeletable()?"enabled":"hidden"},callback(e){e.block&&e.block.checkAndDelete()},scopeType:xe.ScopeType.BLOCK,id:"blockDelete",weight:6})},lh=function(){xe.registry.register({displayText(){return i.Msg$$module$build$src$core$msg.HELP},preconditionFn(e){return e=e.block,(typeof e.helpUrl=="function"?e.helpUrl():e.helpUrl)?"enabled":"hidden"},callback(e){e.block.showHelp()},scopeType:xe.ScopeType.BLOCK,id:"blockHelp",weight:7})},ch=function(){xe.registry.register({displayText:()=>i.Msg$$module$build$src$core$msg.REMOVE_COMMENT,preconditionFn(e){let t;return(t=e.comment)!=null&&t.isDeletable()?"enabled":"hidden"},callback(e){i.setGroup$$module$build$src$core$events$utils(!0);let t;(t=e.comment)==null||t.dispose(),i.setGroup$$module$build$src$core$events$utils(!1)},scopeType:xe.ScopeType.COMMENT,id:"commentDelete",weight:6})},uh=function(){xe.registry.register({displayText:()=>i.Msg$$module$build$src$core$msg.DUPLICATE_COMMENT,preconditionFn(e){let t;return(t=e.comment)!=null&&t.isMovable()?"enabled":"hidden"},callback(e){if(e.comment){var t=e.comment.toCopyData();t&&To(t,e.comment.workspace)}},scopeType:xe.ScopeType.COMMENT,id:"commentDuplicate",weight:1})},dh=function(){xe.registry.register({displayText:()=>i.Msg$$module$build$src$core$msg.ADD_COMMENT,preconditionFn:e=>{let t;return(t=e.workspace)!=null&&t.isMutator?"hidden":"enabled"},callback:(e,t)=>{if(e=e.workspace){i.setGroup$$module$build$src$core$events$utils(!0);var o=new kl(e);o.setText(i.Msg$$module$build$src$core$msg.WORKSPACE_COMMENT_DEFAULT_TEXT),o.moveTo(sb(new V(t.clientX,t.clientY),e)),i.setSelected$$module$build$src$core$common(o),i.setGroup$$module$build$src$core$events$utils(!1)}},scopeType:xe.ScopeType.WORKSPACE,id:"commentCreate",weight:8})},sb=function(e,t){var o=t.getInjectionDiv().getBoundingClientRect();return e=new V(e.x-o.left,e.y-o.top),o=t.getOriginOffsetInPixels(),e=V.difference(e,o),e.scale(1/t.scale),e},ob=function(){sh(),oh(),ih(),nh(),rh(),ah(),lh()},ib=function(){uh(),ch(),dh()},hh=function(){tb(),ob()},nb=function(e){return e.paste!==void 0},rb=function(e){return e.getSvgRoot!==void 0},ab=function(e){return typeof e.id=="string"&&e.workspace!==void 0&&e.select!==void 0&&e.unselect!==void 0},lb=function(e){return e.isSelectable()},cb=function(e){U().hideChaff(e)},j=j||{},j.scope={},j.ASSUME_ES5=!1,j.ASSUME_NO_NATIVE_MAP=!1,j.ASSUME_NO_NATIVE_SET=!1,j.SIMPLE_FROUND_POLYFILL=!1,j.ISOLATE_POLYFILLS=!1,j.FORCE_POLYFILL_PROMISE=!1,j.FORCE_POLYFILL_PROMISE_WHEN_NO_UNHANDLED_REJECTION=!1,j.defineProperty=j.ASSUME_ES5||typeof Object.defineProperties=="function"?Object.defineProperty:function(e,t,o){return e==Array.prototype||e==Object.prototype||(e[t]=o.value),e},j.getGlobal=function(e){e=[typeof globalThis=="object"&&globalThis,e,typeof window=="object"&&window,typeof self=="object"&&self,typeof wn=="object"&&wn];for(var t=0;t>>0,j.propertyToPolyfillSymbol[c]=j.IS_SYMBOL_NATIVE?j.global.Symbol(c):j.POLYFILL_PREFIX+o+"$"+c),j.defineProperty(n,j.propertyToPolyfillSymbol[c],{configurable:!0,writable:!0,value:t})))},j.underscoreProtoCanBeSet=function(){var e={a:!0},t={};try{return t.__proto__=e,t.a}catch{}return!1},j.setPrototypeOf=j.TRUST_ES6_POLYFILLS&&typeof Object.setPrototypeOf=="function"?Object.setPrototypeOf:j.underscoreProtoCanBeSet()?function(e,t){if(e.__proto__=t,e.__proto__!==t)throw new TypeError(e+" is not extensible");return e}:null,j.arrayIteratorImpl=function(e){var t=0;return function(){return to&&(o=Math.max(o+c,0));o{const e=pb.length,t=[];for(let o=0;20>o;o++)t[o]=pb.charAt(Math.random()*e);return t.join("")}},OT=0,ph={TEST_ONLY:gb};ph.genUid=C,ph.getNextUniqueId=k;var mb="",or=!0,gh=0,mh="ORPHANED_BLOCK",io=[],fb={FIRE_QUEUE:io,enqueueEvent:Ze,fireNow:Ne,fireInternal:Oe,setGroupInternal:ye};i.disable$$module$build$src$core$events$utils,i.enable$$module$build$src$core$events$utils,i.getGroup$$module$build$src$core$events$utils,i.setGroup$$module$build$src$core$events$utils,i.setRecordUndo$$module$build$src$core$events$utils;var ir=Object.create(null),$b,Zo=null,bb,nr=[],vb={defineBlocksWithJsonArrayInternal:Ge},Dt={TEST_ONLY:vb};Dt.createBlockDefinitionsFromJsonArray=i.createBlockDefinitionsFromJsonArray$$module$build$src$core$common,Dt.defineBlocks=i.defineBlocks$$module$build$src$core$common,Dt.defineBlocksWithJsonArray=pe,Dt.draggingConnections=nr,Dt.getAllWorkspaces=ee,Dt.getBlockTypeCounts=be,Dt.getMainWorkspace=U,Dt.getParentContainer=de,Dt.getSelected=I,Dt.getWorkspaceById=q,Dt.registerWorkspace=B,Dt.setMainWorkspace=re,Dt.setParentContainer=W,Dt.setSelected=i.setSelected$$module$build$src$core$common,Dt.svgResize=Ce,Dt.unregisterWorkpace=H;var Ui=class{constructor(){this.workspaceId=void 0,this.isUiEvent=!1,this.type="",this.group=i.getGroup$$module$build$src$core$events$utils(),this.recordUndo=me()}toJson(){return{type:this.type,group:this.group}}static fromJson(e,t,o){return o.isBlank=!1,o.group=e.group||"",o.workspaceId=t.id,o}isNull(){return!1}run(e){}getEventWorkspace_(){let e;if(this.workspaceId&&(e=q(this.workspaceId)),!e)throw Error("Workspace is null. Event must have been generated from real Blockly events.");return e}},Cs=class extends Ui{constructor(e){super(),this.recordUndo=!1,this.isUiEvent=!0,this.isBlank=typeof e>"u",this.workspaceId=e||""}},fh=class extends Cs{constructor(e,t,o){t=e?e.workspace.id:t,t===null&&(t=void 0),super(t),this.type=O.CLICK,this.blockId=e?e.id:void 0,this.targetType=o}toJson(){const e=super.toJson();if(!this.targetType)throw Error("The click target type is undefined. Either pass a block to the constructor, or call fromJson");return e.targetType=this.targetType,e.blockId=this.blockId,e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new fh),t.targetType=e.targetType,t.blockId=e.blockId,t}},$h;(function(e){e.BLOCK="block",e.WORKSPACE="workspace",e.ZOOM_CONTROLS="zoom_controls"})($h||($h={})),r(F.EVENT,O.CLICK,fh);var MT=750,yb="ontouchstart"in globalThis||!!(globalThis.document&&document.documentElement&&"ontouchstart"in document.documentElement)||!(!globalThis.navigator||!globalThis.navigator.maxTouchPoints&&!globalThis.navigator.msMaxTouchPoints),tl=null,Qo={mousedown:["pointerdown"],mouseenter:["pointerenter"],mouseleave:["pointerleave"],mousemove:["pointermove"],mouseout:["pointerout"],mouseover:["pointerover"],mouseup:["pointerup","pointercancel"],touchend:["pointerup"],touchcancel:["pointercancel"]},sl=0,ei={TOUCH_ENABLED:yb,TOUCH_MAP:Qo};ei.checkTouchIdentifier=bt,ei.clearTouchIdentifier=ke,ei.getTouchIdentifierFromEvent=Pe,ei.longStart=Je,ei.longStop=_e,ei.shouldHandleEvent=$e;var bh,_b,wb,Cb,ol,il,vh,Tb,kb,Sb;(function(e){function t(n){return o.includes(n.toUpperCase())}bh=e;const o=bh.toUpperCase();_b=t("JavaFX"),wb=t("WebKit"),Cb=t("Gecko")&&!wb,ol=t("Android"),e=globalThis.navigator&&globalThis.navigator.maxTouchPoints,il=t("iPad")||t("Macintosh")&&0{n.push(this.componentData.get(c))}),n.sort(function(c,h){return c.weight-h.weight}),n.forEach(function(c){o.push(c.component)})}else e.forEach(n=>{o.push(this.componentData.get(n).component)});return o}};lt.Capability=ro,(function(e){e=e.ComponentWeight||(e.ComponentWeight={}),e[e.TOOLBOX_WEIGHT=0]="TOOLBOX_WEIGHT",e[e.FLYOUT_WEIGHT=1]="FLYOUT_WEIGHT",e[e.TRASHCAN_WEIGHT=2]="TRASHCAN_WEIGHT",e[e.ZOOM_CONTROLS_WEIGHT=3]="ZOOM_CONTROLS_WEIGHT"})(lt||(lt={})),lt.ComponentWeight;var wh=!1,Ch=` +`?((t=e.join(""))&&L.push(t),e.length=0,L.push(n[c])):e.push(n[c]);return(t=e.join(""))&&L.push(t),e.length=0,L},od=function(e){return La(e,!0,!0)},pt=function(e){return typeof e!="string"?e:(e=La(e,!1,!1),e.length?String(e[0]):"")},Jf=function(e){let t=!0;const o=i.Msg$$module$build$src$core$msg,n=e.match(/%{BKY_[A-Z]\w*}/gi);if(n)for(let c=0;c=o)return{hue:o,hex:Na(o,ed(),255*td())};if(o=Vo(t))return{hue:null,hex:o};throw o='Invalid colour: "'+t+'"',e!==t&&(o+=' (from "'+e+'")'),Error(o)},Yo=function(){return Ss},qf=function(e){if(Ss=e,e===null){let t;(t=document.querySelector("."+yl))==null||t.remove()}},id=function(){const e=de()||document.body;document.querySelector("."+yl)?Ss=document.querySelector("."+yl):(Ss=document.createElement("div"),Ss.className=yl),e.appendChild(Ss)},Pa=function(e,t,o,n){if(Bi(),Zi=e,vl=o,o=Ss){if(o.style.direction=t?"rtl":"ltr",o.style.display="block",!n&&e instanceof Qe){let $;n=($=e.getSourceBlock())==null?void 0:$.workspace}var c;qh=(c=n)!=null?c:null;var h;e=(h=n)!=null?h:U(),Qi=e.getRenderer().getClassName(),en=e.getTheme().getClassName(),Qi&&ge(o,Qi),en&&ge(o,en)}},Bi=function(){if(nd()){Zi=null;var e=Ss;e&&(e.style.display="none",e.style.left="",e.style.top="",vl&&vl(),vl=null,e.textContent="",Qi&&(ot(e,Qi),Qi=""),en&&(ot(e,en),en=""),U().markFocused())}},nd=function(){return!!Zi},Jo=function(e){Zi===e&&Bi()},Yn=function(e){qh!==null&&qh!==e||Bi()},rd=function(e,t,o){Ss.style.left=e+"px",Ss.style.top=t+"px",Ss.style.height=o+"px"},ad=function(e,t,o,n){const c=Zf(e,t,o);e=Xf(e,t,o,n),0>c?rd(e,0,o.height+c):rd(e,c,o.height)},Xf=function(e,t,o,n){return n?Math.min(Math.max(t.right-o.width,e.left),e.right-o.width):Math.max(Math.min(t.left,e.right-o.width),e.left)},Zf=function(e,t,o){return t.bottom+o.height>=e.bottom?t.top-o.height:t.bottom},Qf=function(e){return!(e==null||!e.repositionForWindowResize)},ld=function(){Qf(Zi)&&Zi.repositionForWindowResize()||Bi()},e$=function(){return _l},cd=function(e){_l=e},Jn=function(e,t,o,n){if(Pa(hv,o,ud,n),t.length){var c=t$(t,o,e);wl=c,s$(c,e,o),setTimeout(function(){c.focus()},1),_l=null}else qn()},t$=function(e,t,o){const n=new Ah;n.setRole(ks.MENU);for(let c=0;c{setTimeout(()=>{h.callback(h.scope,o)},0)})},{})}return n},s$=function(e,t,o){const n=mu();t=new qe(t.clientY+n.top,t.clientY+n.top,t.clientX+n.left,t.clientX+n.left),o$(e);const c=e.getSize();o&&(t.left+=c.width,t.right+=c.width,n.left+=c.width,n.right+=c.width),ad(n,t,c,o),e.focus()},o$=function(e){var t=Yo();if(!t)throw Error("Attempting to create a context menu when widget div is null");t=e.render(t),ge(t,"blocklyContextMenu"),X(t,"contextmenu",null,i$),e.focus()},i$=function(e){e.preventDefault(),e.stopPropagation()},qn=function(){Jo(hv),_l=null},ud=function(){wl&&(wl.dispose(),wl=null)},i.callbackFactory$$module$build$src$core$contextmenu=function(e,t){return()=>{i.disable$$module$build$src$core$events$utils();let o;try{o=t instanceof Element?qo(t,e.workspace):Ri(t,e.workspace);const n=e.getRelativeToSurfaceXY();n.x=e.RTL?n.x-i.config$$module$build$src$core$config.snapRadius:n.x+i.config$$module$build$src$core$config.snapRadius,n.y+=2*i.config$$module$build$src$core$config.snapRadius,o.moveBy(n.x,n.y)}finally{i.enable$$module$build$src$core$events$utils()}return K()&&!o.isShadow()&&z(new(V(O.BLOCK_CREATE))(o)),i.setSelected$$module$build$src$core$common(o),o}},dd=function(e,t){return t=st(t,e.getParentSvg(),e.getInverseScreenCTM()),t.x/=e.scale,t.y/=e.scale,t},Ba=function(e,t,o){t=dd(e,t),gv.set(e,G.difference(o,t))},ja=function(e,t){if(t=dd(e,t),e=gv.get(e),!e)throw Error("Drag not initialized");return G.sum(e,t)},n$=function(e,t=!1){const o=i.createElement$$module$build$src$core$utils$xml("xml");var n=hd(i.allUsedVarModels$$module$build$src$core$variables(e));n.hasChildNodes()&&o.appendChild(n);for(const c of e.getTopComments())o.appendChild(Xn(c,t));for(e=e.getTopBlocks(!0),n=0;n/g,"<$1$2>")},l$=function(e){e=Ls(e).split("<");let t="";for(let o=1;o"&&(t+=" ")}return e=e.join(` +`),e=e.replace(/(<(\w+)\b[^>]*>[^\n]*)\n *<\/\2>/g,"$1"),e.replace(/^\n/,"")},c$=function(e,t){return t.setResizesEnabled(!1),t.clear(),e=i.domToWorkspace$$module$build$src$core$xml(e,t),t.setResizesEnabled(!0),e},i.domToWorkspace$$module$build$src$core$xml=function(e,t){let o=0;t.RTL&&(o=t.getWidth());const n=[];Ho();const c=i.getGroup$$module$build$src$core$events$utils();c||i.setGroup$$module$build$src$core$events$utils(!0),t.setResizesEnabled&&t.setResizesEnabled(!1);let h=!0;try{for(let $=0,T;T=e.childNodes[$];$++){const L=T.nodeName.toLowerCase(),te=T;if(L==="block"||L==="shadow"&&!me()){const nt=qo(te,t);n.push(nt.id);let it;const Xt=parseInt((it=te.getAttribute("x"))!=null?it:"10",10);let hn;const Or=parseInt((hn=te.getAttribute("y"))!=null?hn:"10",10);isNaN(Xt)||isNaN(Or)||nt.moveBy(t.RTL?o-Xt:Xt,Or,["create"]),h=!1}else{if(L==="shadow")throw TypeError("Shadow block cannot be a top-level block.");if(L==="comment")gd(te,t);else if(L==="variables"){if(h)md(te,t);else throw Error("'variables' tag must exist once before block and shadow tag elements in the workspace XML, but it was found in another location.");h=!1}}}}finally{i.setGroup$$module$build$src$core$events$utils(c),t.setResizesEnabled&&t.setResizesEnabled(!0),t.rendered&&Qs(),Wo()}return z(new(V(O.FINISHED_LOADING))(t)),n},gd=function(e,t){var o;const n=(o=e.getAttribute("id"))!=null?o:void 0;o=t.rendered?new kl(t,n):new Tl(t,n);var c;o.setText((c=e.textContent)!=null?c:"");var h;c=parseInt((h=e.getAttribute("x"))!=null?h:"",10);let $;h=parseInt(($=e.getAttribute("y"))!=null?$:"",10),isNaN(c)||isNaN(h)||(c=t.RTL?t.getWidth()-c:c,o.moveTo(new G(c,h)));var T;t=parseInt((T=e.getAttribute("w"))!=null?T:"",10);let L;return T=parseInt((L=e.getAttribute("h"))!=null?L:"",10),isNaN(t)||isNaN(T)||o.setSize(new Le(t,T)),e.getAttribute("collapsed")==="true"&&o.setCollapsed(!0),e.getAttribute("editable")==="false"&&o.setEditable(!1),e.getAttribute("movable")==="false"&&o.setMovable(!1),e.getAttribute("deletable")==="false"&&o.setDeletable(!1),o},u$=function(e,t){if(!t.getBlocksBoundingBox)return i.domToWorkspace$$module$build$src$core$xml(e,t);var o=t.getBlocksBoundingBox();if(e=i.domToWorkspace$$module$build$src$core$xml(e,t),o&&o.top!==o.bottom){var n=o.bottom;o=t.RTL?o.right:o.left;var c=1/0;let h=-1/0,$=1/0;for(let T=0;Th&&(h=L.x)}for(n=n-$+10,o=t.RTL?o-h:o-c,c=0;cte.setBubbleVisible(h),1)}},g$=function(e,t){for(let o=0;oc}),bd(c,{x:n.x,y:n.y,width:e.width,height:e.height},t.RTL,new Date)}},bd=function(e,t,o,n){const c=(new Date().getTime()-n.getTime())/150;1o)){var n=t.getSvgXY(e.getSvgRoot());e.outputConnection?(n.x+=(e.RTL?3:-3)*o,n.y+=13*o):e.previousConnection&&(n.x+=(e.RTL?-23:23)*o,n.y+=3*o);var c=N(x.CIRCLE,{cx:n.x,cy:n.y,r:0,fill:"none",stroke:"#888","stroke-width":10},t.getParentSvg());e=N(x.ANIMATE,{id:"animationCircle",begin:"indefinite",attributeName:"r",dur:"150ms",from:0,to:25*o},c),t=N(x.ANIMATE,{id:"animationOpacity",begin:"indefinite",attributeName:"opacity",dur:"150ms",from:1,to:0},c),e.beginElement(),t.beginElement(),setTimeout(()=>{Ke(c)},150)}},vd=function(e){if(ji(),e.workspace.getAudioManager().play("disconnect"),!(1>e.workspace.scale)){var t=e.getHeightWidth().height;t=Math.atan(10/t)/Math.PI*180,e.RTL||(t*=-1),vr=e,yd(e,t,new Date,0)}},yd=function(e,t,o,n){const c=[.66,1,.66,0,-.66,-1,-.66,0];let h="";o.getTime()+200>new Date().getTime()&&(h=`skewX(${Math.round(c[n%c.length]*t)})`,Sl=setTimeout(yd,15,e,t,o,n+1)),e.getSvgRoot().setAttribute("transform",`${e.getTranslation()} ${h}`)},ji=function(){vr&&(Sl&&(clearTimeout(Sl),Sl=null),vr.getSvgRoot().setAttribute("transform",vr.getTranslation()),vr=null)},Xo=function(e){return e.getRelativeToSurfaceXY!==void 0&&e.isMovable!==void 0&&e.startDrag!==void 0&&e.drag!==void 0&&e.endDrag!==void 0&&e.revertDrag!==void 0},so=function(e,t){for(const o in t)e[o]=t[o]!==null&&typeof t[o]=="object"?so(e[o]||Object.create(null),t[o]):t[o];return e},Ps=function(e,t){r(F.FIELD,e,t)},y$=function(e){u(F.FIELD,e)},i.fromJson$$module$build$src$core$field_registry=function(e){return bv.fromJsonInternal(e)},_$=function(e){const t=f(F.FIELD,e.type);return t?t.fromJson(e):(console.warn("Blockly could not create a field of type "+e.type+". The field is probably not being registered. This could be because the file is not loaded, the field does not register itself (Issue #1584), or the registration is not being reached."),null)},i.register$$module$build$src$core$extensions=function(e,t){if(typeof e!="string"||e.trim()==="")throw Error('Error: Invalid extension name "'+e+'"');if(sn[e])throw Error('Error: Extension "'+e+'" is already registered.');if(typeof t!="function")throw Error('Error: Extension "'+e+'" must be a function');sn[e]=t},i.registerMixin$$module$build$src$core$extensions=function(e,t){if(!t||typeof t!="object")throw Error('Error: Mixin "'+e+'" must be a object');i.register$$module$build$src$core$extensions(e,function(){this.mixin(t)})},i.registerMutator$$module$build$src$core$extensions=function(e,t,o,n){const c='Error when registering mutator "'+e+'": ';Cd(c,t);const h=wd(t,c);if(o&&typeof o!="function")throw Error(c+'Extension "'+e+'" is not a function');i.register$$module$build$src$core$extensions(e,function(){h&&this.setMutator(new i.MutatorIcon$$module$build$src$core$icons$mutator_icon(n||[],this)),this.mixin(t),o&&o.apply(this)})},w$=function(e){_d(e)?delete sn[e]:console.warn('No extension mapping for name "'+e+'" found to unregister')},_d=function(e){return!!sn[e]},Ha=function(e,t,o){const n=sn[e];if(typeof n!="function")throw Error('Error: Extension "'+e+'" not found.');let c;if(o?C$(e,t):c=Ga(t),n.apply(t),o)Cd('Error after applying mutator "'+e+'": ',t);else if(!S$(c,t))throw Error('Error when applying extension "'+e+'": mutation properties changed when applying a non-mutator extension.')},C$=function(e,t){if(Ga(t).length)throw Error('Error: tried to apply mutation "'+e+'" to a block that already has mutator functions. Block id: '+t.id)},T$=function(e,t){return Wa(e.mutationToDom,e.domToMutation,t+" mutationToDom/domToMutation")},k$=function(e,t){return Wa(e.saveExtraState,e.loadExtraState,t+" saveExtraState/loadExtraState")},wd=function(e,t){return Wa(e.compose,e.decompose,t+" compose/decompose")},Wa=function(e,t,o){if(e&&t){if(typeof e!="function"||typeof t!="function")throw Error(o+" must be a function");return!0}if(!e&&!t)return!1;throw Error(o+"Must have both or neither functions")},Cd=function(e,t){const o=T$(t,e),n=k$(t,e);if(!o&&!n)throw Error(e+"Mutations must contain either XML hooks, or JSON hooks, or both");wd(t,e)},Ga=function(e){const t=[];return e.domToMutation!==void 0&&t.push(e.domToMutation),e.mutationToDom!==void 0&&t.push(e.mutationToDom),e.saveExtraState!==void 0&&t.push(e.saveExtraState),e.loadExtraState!==void 0&&t.push(e.loadExtraState),e.compose!==void 0&&t.push(e.compose),e.decompose!==void 0&&t.push(e.decompose),t},S$=function(e,t){if(t=Ga(t),t.length!==e.length)return!1;for(let o=0;o!n.getReturnTypes()).map(n=>[n.getName(),n.getParameters().map(c=>c.getName()),!1]);e.getBlocksByType("procedures_defnoreturn",!1).forEach(n=>{!Co(n)&&Di(n)&&t.push(n.getProcedureDef())});const o=e.getProcedureMap().getProcedures().filter(n=>!!n.getReturnTypes()).map(n=>[n.getName(),n.getParameters().map(c=>c.getName()),!0]);return e.getBlocksByType("procedures_defreturn",!1).forEach(n=>{!Co(n)&&Di(n)&&o.push(n.getProcedureDef())}),t.sort(kd),o.sort(kd),[t,o]},kd=function(e,t){return e[0].localeCompare(t[0],void 0,{sensitivity:"base"})},i.findLegalName$$module$build$src$core$procedures=function(e,t){if(t.isInFlyout)return e;for(e=e||i.Msg$$module$build$src$core$msg.UNNAMED_KEY||"unnamed";!A$(e,t.workspace,t);){const o=e.match(/^(.*?)(\d+)$/);e=o?o[1]+(parseInt(o[2])+1):e+"2"}return e},A$=function(e,t,o){return!Sd(e,t,o)},Sd=function(e,t,o){for(const n of t.getAllBlocks(!1))if(n!==o&&Di(n)&&i.Names$$module$build$src$core$names.equals(n.getProcedureDef()[0],e))return!0;o=o&&Co(o)?o==null?void 0:o.getProcedureModel():void 0;for(const n of t.getProcedureMap().getProcedures())if(n!==o&&i.Names$$module$build$src$core$names.equals(n.getName(),e))return!0;return!1},i.rename$$module$build$src$core$procedures=function(e){var t=this.getSourceBlock();if(!t)throw new ft;e=e.trim();const o=i.findLegalName$$module$build$src$core$procedures(e,t);Co(t)&&!t.isInsertionMarker()&&t.getProcedureModel().setName(o);const n=this.getValue();if(n!==e&&n!==o)for(e=t.workspace.getAllBlocks(!1),t=0;tO$(o,e)||cf(o)&&i.Names$$module$build$src$core$names.equals(o.getProcedureCall(),e))},O$=function(e,t){return Co(e)&&!e.isProcedureDef()&&e.getProcedureModel()&&i.Names$$module$build$src$core$names.equals(e.getProcedureModel().getName(),t)},i.mutateCallers$$module$build$src$core$procedures=function(e){const t=me();var o=e.getProcedureDef()[0];const n=e.mutationToDom(!0);e=xd(o,e.workspace);for(let h=0,$;$=e[h];h++){o=(o=$.mutationToDom())&&Ii(o),$.domToMutation&&$.domToMutation(n);var c=$.mutationToDom();c=c&&Ii(c),o!==c&&(i.setRecordUndo$$module$build$src$core$events$utils(!1),z(new(V(O.BLOCK_CHANGE))($,"mutation",null,o,c)),i.setRecordUndo$$module$build$src$core$events$utils(t))}},i.getDefinition$$module$build$src$core$procedures=function(e,t){for(const o of t.getAllBlocks(!1))if(Co(o)&&o.isProcedureDef()&&i.Names$$module$build$src$core$names.equals(o.getProcedureModel().getName(),e)||Di(o)&&i.Names$$module$build$src$core$names.equals(o.getProcedureDef()[0],e))return o;return null},Ja=function(e){return e.isDynamic},M$=function(e){return e.pathDown!==void 0&&e.pathUp!==void 0},N$=function(e){return e.pathLeft!==void 0&&e.pathRight!==void 0},L$=function(e,t){if(!e||!t)throw Error("Cannot connect null connections.");e.targetConnection=t,t.targetConnection=e},P$=function(e,t){let o=null;t=t.outputConnection;const n=t==null?void 0:t.getConnectionChecker();for(let c=0,h;h=e.inputList[c];c++){const $=h.connection;let T;if($&&((T=n)!=null&&T.canConnect(t,$,!1))){if(o)return null;o=$}}return o},B$=function(e,t){let o;for(;o=P$(e,t);)if(e=o.targetBlock(),!e||e.isShadow())return o;return null},Dd=function(e){return e.getType!==void 0&&e.initView!==void 0&&e.dispose!==void 0&&e.getWeight!==void 0&&e.getSize!==void 0&&e.applyColour!==void 0&&e.hideForInsertionMarker!==void 0&&e.updateEditable!==void 0&&e.updateCollapsed!==void 0&&e.isShownWhenCollapsed!==void 0&&e.setOffsetInBlock!==void 0&&e.onLocationChange!==void 0&&e.onClick!==void 0},j$=function(e){return Dd(e)&&Oi(e)&&zn(e)&&e.setText!==void 0&&e.getText!==void 0&&e.setBubbleSize!==void 0&&e.getBubbleSize!==void 0&&e.getType()===yt.COMMENT},Qn=function(e){let t=e.outputConnection;return(!t||e.previousConnection&&e.previousConnection.isConnected())&&(t=e.previousConnection),t},er=function(e,t){r(F.RENDERER,e,t)},F$=function(e){u(F.RENDERER,e)},Ad=function(e,t,o){return e=new(m(F.RENDERER,e))(e),e.init(t,o),e},Rd=function(e){Ai(e.getTargetWorkspace(),void 0,"String")},Od=function(e){Ai(e.getTargetWorkspace(),void 0,"Number")},Md=function(e){Ai(e.getTargetWorkspace(),void 0,"Colour")},qa=function(e){let t=[],o=document.createElement("button");return o.setAttribute("text",i.Msg$$module$build$src$core$msg.NEW_STRING_VARIABLE),o.setAttribute("callbackKey","CREATE_VARIABLE_STRING"),t.push(o),o=document.createElement("button"),o.setAttribute("text",i.Msg$$module$build$src$core$msg.NEW_NUMBER_VARIABLE),o.setAttribute("callbackKey","CREATE_VARIABLE_NUMBER"),t.push(o),o=document.createElement("button"),o.setAttribute("text",i.Msg$$module$build$src$core$msg.NEW_COLOUR_VARIABLE),o.setAttribute("callbackKey","CREATE_VARIABLE_COLOUR"),t.push(o),e.registerButtonCallback("CREATE_VARIABLE_STRING",Rd),e.registerButtonCallback("CREATE_VARIABLE_NUMBER",Od),e.registerButtonCallback("CREATE_VARIABLE_COLOUR",Md),e=Nd(e),t=t.concat(e)},Nd=function(e){e=e.getAllVariables();const t=[];if(0T.id!=e.id).map(T=>T.getRelativeToSurfaceXY());for(;U$(G.sum(t,h),$)||H$(e,G.sum(c,h),n);)o.RTL?h.translate(-n,2*n):h.translate(n,2*n);e.moveTo(G.sum(t,h))},U$=function(e,t){return t.some(o=>1>=Math.abs(o.x-e.x)&&1>=Math.abs(o.y-e.y))},H$=function(e,t,o){return e.getConnections_(!1).some(n=>!!n.closest(o,t).connection)},zi=function(e,t,o){const n=o.getBoundingRectangle(),c=n.right-n.left,h=Mi(t.top,n.top,t.top+t.height-(n.bottom-n.top))-n.top;let $=t.left;return t=t.left+t.width-c,e.RTL?$=Math.min(t,$):t=Math.max($,t),(e=Mi($,n.left,t)-n.left)||h?(o.moveBy(e,h,["inbounds"]),!0):!1},Ld=function(e){return t=>{var o=e.getMetricsManager();if(o.hasFixedEdges()&&!e.isDragging()){var n;if(ub.includes((n=t.type)!=null?n:"")){n=o.getScrollMetrics(!0);const c=W$(e,t);c&&(o=i.getGroup$$module$build$src$core$events$utils()||!1,i.setGroup$$module$build$src$core$events$utils(t.group),zi(e,n,c)&&!t.group&&console.warn("Moved object in bounds but there was no event group. This may break undo."),i.setGroup$$module$build$src$core$events$utils(o))}else se(t)&&t.scale&&t.oldScale&&t.scale>t.oldScale&&Xa(e)}}},W$=function(e,t){let o=null;switch(t.type){case O.BLOCK_CREATE:case O.BLOCK_MOVE:(o=e.getBlockById(t.blockId))&&(o=o.getRootBlock());break;case O.COMMENT_CREATE:case O.COMMENT_MOVE:case O.COMMENT_RESIZE:o=e.getCommentById(t.commentId)}return o},Xa=function(e){var t=e.getMetricsManager();if(t.hasFixedEdges()&&!e.isDragging()){t=t.getScrollMetrics(!0);var o=e.getTopBoundedElements();for(let n=0,c;c=o[n];n++)zi(e,t,c)}},ls=function(e){return e.isDeletable!==void 0&&e.dispose!==void 0&&e.setDeleteStyle!==void 0},G$=function(e){const t=e.toCopyData();Tp=t;let o;return kp=(o=e.workspace)!=null?o:null,t},To=function(e,t,o){return e&&t?Pd(e,t,o):Tp&&kp?Pd(Tp,kp):null},Pd=function(e,t,o){let n;t=t.isMutator?t:(n=t.getRootWorkspace())!=null?n:t;let c,h;return(h=(c=f(F.PASTER,e.paster,!1))==null?void 0:c.paste(e,t,o))!=null?h:null},V$=function(e){const t=e.toCopyData();return t?To(t,e.workspace):null},tr=function(e){return e.toCopyData!==void 0},Bd=function(){He.registry.register({name:Hs.ESCAPE,preconditionFn(e){return!e.options.readOnly},callback(e){return e.hideChaff(),!0},keyCodes:[Ae.ESC]})},jd=function(){He.registry.register({name:Hs.DELETE,preconditionFn(e){const t=I();return!e.options.readOnly&&t!=null&&ls(t)&&t.isDeletable()&&!co.inProgress()},callback(e,t){return t.preventDefault(),e=I(),e instanceof gs?e.checkAndDelete():ls(e)&&e.isDeletable()&&(i.setGroup$$module$build$src$core$events$utils(!0),e.dispose(),i.setGroup$$module$build$src$core$events$utils(!1)),!0},keyCodes:[Ae.DELETE,Ae.BACKSPACE]})},Fd=function(){const e=He.registry.createSerializedKey(Ae.C,[Ae.CTRL]),t=He.registry.createSerializedKey(Ae.C,[Ae.ALT]),o=He.registry.createSerializedKey(Ae.C,[Ae.META]);He.registry.register({name:Hs.COPY,preconditionFn(n){const c=I();return!n.options.readOnly&&!co.inProgress()&&c!=null&&ls(c)&&c.isDeletable()&&Xo(c)&&c.isMovable()&&tr(c)},callback(n,c){return c.preventDefault(),n.hideChaff(),c=I(),!c||!tr(c)?!1:(Mo=c.toCopyData(),No=c.workspace instanceof ns?c.workspace:n,cn=Xo(c)?c.getRelativeToSurfaceXY():null,!!Mo)},keyCodes:[e,t,o]})},zd=function(){const e=He.registry.createSerializedKey(Ae.X,[Ae.CTRL]),t=He.registry.createSerializedKey(Ae.X,[Ae.ALT]),o=He.registry.createSerializedKey(Ae.X,[Ae.META]);He.registry.register({name:Hs.CUT,preconditionFn(n){const c=I();return!n.options.readOnly&&!co.inProgress()&&c!=null&&ls(c)&&c.isDeletable()&&Xo(c)&&c.isMovable()&&!c.workspace.isFlyout},callback(n){const c=I();return c instanceof gs?(Mo=c.toCopyData(),No=n,cn=c.getRelativeToSurfaceXY(),c.checkAndDelete(),!0):ls(c)&&c.isDeletable()&&tr(c)?(Mo=c.toCopyData(),No=n,cn=Xo(c)?c.getRelativeToSurfaceXY():null,c.dispose(),!0):!1},keyCodes:[e,t,o]})},Ud=function(){const e=He.registry.createSerializedKey(Ae.V,[Ae.CTRL]),t=He.registry.createSerializedKey(Ae.V,[Ae.ALT]),o=He.registry.createSerializedKey(Ae.V,[Ae.META]);He.registry.register({name:Hs.PASTE,preconditionFn(n){return!n.options.readOnly&&!co.inProgress()},callback(){if(!Mo||!No)return!1;if(!cn)return!!To(Mo,No);const{left:n,top:c,width:h,height:$}=No.getMetricsManager().getViewMetrics(!0);if(new qe(c,c+$,n,n+h).contains(cn.x,cn.y))return!!To(Mo,No);const T=new G(n+h/2,c+$/2);return!!To(Mo,No,T)},keyCodes:[e,t,o]})},Hd=function(){const e=He.registry.createSerializedKey(Ae.Z,[Ae.CTRL]),t=He.registry.createSerializedKey(Ae.Z,[Ae.ALT]),o=He.registry.createSerializedKey(Ae.Z,[Ae.META]);He.registry.register({name:Hs.UNDO,preconditionFn(n){return!n.options.readOnly&&!co.inProgress()},callback(n,c){return n.hideChaff(),n.undo(!1),c.preventDefault(),!0},keyCodes:[e,t,o]})},Wd=function(){const e=He.registry.createSerializedKey(Ae.Z,[Ae.SHIFT,Ae.CTRL]),t=He.registry.createSerializedKey(Ae.Z,[Ae.SHIFT,Ae.ALT]),o=He.registry.createSerializedKey(Ae.Z,[Ae.SHIFT,Ae.META]),n=He.registry.createSerializedKey(Ae.Y,[Ae.CTRL]);He.registry.register({name:Hs.REDO,preconditionFn(c){return!co.inProgress()&&!c.options.readOnly},callback(c,h){return c.hideChaff(),c.undo(!0),h.preventDefault(),!0},keyCodes:[e,t,o,n]})},Gd=function(){Bd(),jd(),Fd(),zd(),Ud(),Hd(),Wd()},Vd=function(e){const t=e.saveState();return e.getParameters().length&&(t.parameters=e.getParameters().map(o=>o.saveState())),t},Kd=function(e,t,o,n){if(e=e.loadState(o,n),!o.parameters)return e;for(const[c,h]of o.parameters.entries())e.insertParameter(t.loadState(h,n),c);return e},K$=function(e){const t=Object.create(null),o=v(F.SERIALIZER,!0);for(const n in o){let c;const h=(c=o[n])==null?void 0:c.save(e);h&&(t[n]=h)}return t},Y$=function(e,t,{recordUndo:o=!1}={}){var n=v(F.SERIALIZER,!0);if(n){n=Object.entries(n).sort((h,$)=>$[1].priority-h[1].priority);var c=me();i.setRecordUndo$$module$build$src$core$events$utils(o),(o=i.getGroup$$module$build$src$core$events$utils())||i.setGroup$$module$build$src$core$events$utils(!0),Ho(),t instanceof ns&&t.setResizesEnabled(!1);for(const[,h]of n.reverse()){let $;($=h)==null||$.clear(t)}for(const[h,$]of n.reverse())if(e[h]){let T;(T=$)==null||T.load(e[h],t)}t instanceof ns&&t.setResizesEnabled(!0),Wo(),z(new(V(O.FINISHED_LOADING))(t)),i.setGroup$$module$build$src$core$events$utils(o),i.setRecordUndo$$module$build$src$core$events$utils(c)}},J$=function(e,t){let o=null;o=typeof e=="string"?document.getElementById(e)||document.querySelector(e):e;var n;if(!document.contains(o)&&document!==((n=o)==null?void 0:n.ownerDocument))throw Error("Error: container is not in current document");e=new ds(t||{}),n=document.createElement("div"),ge(n,"injectionDiv"),t!=null&&t.rtl&&ge(n,"blocklyRTL"),n.tabIndex=0,It(n,Ct.LABEL,i.Msg$$module$build$src$core$msg.WORKSPACE_ARIA_LABEL),o.appendChild(n),t=q$(n,e);const c=X$(n,t,e);return Z$(c),re(c),Ce(c),n.addEventListener("focusin",function(){re(c)}),X(n,"keydown",null,Za),X(Wn(),"keydown",null,Za),(t=Yo())&&X(t,"keydown",null,Za),c},q$=function(e,t){e.setAttribute("dir","LTR"),cu(t.hasCss,t.pathToMedia),e=N(x.SVG,{xmlns:rr,"xmlns:html":Fs,"xmlns:xlink":es,version:"1.1",class:"blocklySvg",tabindex:"0"},e);const o=N(x.DEFS,{},e),n=String(Math.random()).substring(2);return t.gridPattern=ep.createDom(n,t.gridOptions,o),e},X$=function(e,t,o){o.parentWorkspace=null,o=new ns(o);const n=o.options;o.scale=n.zoomOptions.startScale,t.appendChild(o.createDom("blocklyMainBackground",e));var c=o.getRenderer().getClassName();return c&&ge(e,c),(c=o.getTheme().getClassName())&&ge(e,c),!n.hasCategories&&n.languageTree&&(e=o.addFlyout(x.SVG),Uo(e,t)),n.hasTrashcan&&o.addTrashcan(),n.zoomOptions&&n.zoomOptions.controls&&o.addZoomControls(),o.getThemeManager().subscribe(t,"workspaceBackgroundColour","background-color"),o.translate(0,0),o.addChangeListener(Ld(o)),Ce(o),id(),Au(),Ju(),o},Z$=function(e){const t=e.options;var o=e.getParentSvg();if(X(o.parentNode,"contextmenu",null,function(n){kt(n)||n.preventDefault()}),o=X(window,"resize",null,function(){to(),e.hideComponents(!0),Wu(),ld(),Ce(e),Xa(e)}),e.setResizeHandlerWrapper(o),Q$(),t.languageTree){o=e.getToolbox();const n=e.getFlyout(!0);o?o.init():n&&(n.init(e),n.show(t.languageTree),typeof n.scrollToStart=="function"&&n.scrollToStart())}t.hasTrashcan&&e.trashcan.init(),t.zoomOptions&&t.zoomOptions.controls&&e.zoomControls_.init(),t.moveOptions&&t.moveOptions.scrollbars?(e.scrollbar=new Ep(e,t.moveOptions.scrollbars===!0||!!t.moveOptions.scrollbars.horizontal,t.moveOptions.scrollbars===!0||!!t.moveOptions.scrollbars.vertical,"blocklyMainWorkspaceScrollbar"),e.scrollbar.resize()):e.setMetrics({x:.5,y:.5}),t.hasSounds&&eb(t.pathToMedia,e)},Za=function(e){const t=U();t&&!(kt(e)||t.rendered&&!t.isVisible())&&He.registry.onKeyDown(t,e)},Q$=function(){oy||(X(document,"scroll",null,function(){const e=ee();for(let t=0,o;o=e[t];t++)o instanceof ns&&o.updateInverseScreenCTM()}),ct(document,"touchend",null,_e),ct(document,"touchcancel",null,_e)),oy=!0},eb=function(e,t){function o(){for(;c.length;){const h=c.pop();h&&ze(h)}n.preload()}const n=t.getAudioManager();n.load([e+"click.mp3",e+"click.wav",e+"click.ogg"],"click"),n.load([e+"disconnect.wav",e+"disconnect.mp3",e+"disconnect.ogg"],"disconnect"),n.load([e+"delete.mp3",e+"delete.ogg",e+"delete.wav"],"delete");const c=[];c.push(X(document,"pointermove",null,o,!0)),c.push(X(document,"touchstart",null,o,!0))},Yd=function(){xe.registry.register({displayText(){return i.Msg$$module$build$src$core$msg.UNDO},preconditionFn(e){return 0t.length?sr(t):Ca(i.Msg$$module$build$src$core$msg.DELETE_ALL_BLOCKS.replace("%1",String(t.length)),function(o){o&&sr(t)})}},scopeType:xe.ScopeType.WORKSPACE,id:"workspaceDelete",weight:6})},tb=function(){Yd(),Jd(),qd(),Zd(),Qd(),th()},sh=function(){xe.registry.register({displayText(){return i.Msg$$module$build$src$core$msg.DUPLICATE_BLOCK},preconditionFn(e){return e=e.block,!e.isInFlyout&&e.isDeletable()&&e.isMovable()?e.isDuplicatable()?"enabled":"disabled":"hidden"},callback(e){if(e.block){var t=e.block.toCopyData();t&&To(t,e.block.workspace)}},scopeType:xe.ScopeType.BLOCK,id:"blockDuplicate",weight:1})},oh=function(){xe.registry.register({displayText(e){return e.block.hasIcon(po.TYPE)?i.Msg$$module$build$src$core$msg.REMOVE_COMMENT:i.Msg$$module$build$src$core$msg.ADD_COMMENT},preconditionFn(e){return e=e.block,!e.isInFlyout&&e.workspace.options.comments&&!e.isCollapsed()&&e.isEditable()?"enabled":"hidden"},callback(e){e=e.block,e.hasIcon(po.TYPE)?e.setCommentText(null):e.setCommentText("")},scopeType:xe.ScopeType.BLOCK,id:"blockComment",weight:2})},ih=function(){xe.registry.register({displayText(e){return e.block.getInputsInline()?i.Msg$$module$build$src$core$msg.EXTERNAL_INPUTS:i.Msg$$module$build$src$core$msg.INLINE_INPUTS},preconditionFn(e){if(e=e.block,!e.isInFlyout&&e.isMovable()&&!e.isCollapsed()){for(let t=1;t(t.has(Ft)?1:0),e.getInheritedDisabled()||t?"disabled":"enabled"}return"hidden"},callback(e){e=e.block;const t=i.getGroup$$module$build$src$core$events$utils();t||i.setGroup$$module$build$src$core$events$utils(!0),e.setDisabledReason(!e.hasDisabledReason(Ft),Ft),i.setGroup$$module$build$src$core$events$utils(t)},scopeType:xe.ScopeType.BLOCK,id:"blockDisable",weight:5})},ah=function(){xe.registry.register({displayText(e){var t=e.block;return e=t.getDescendants(!1).length,(t=t.getNextBlock())&&(e-=t.getDescendants(!1).length),e===1?i.Msg$$module$build$src$core$msg.DELETE_BLOCK:i.Msg$$module$build$src$core$msg.DELETE_X_BLOCKS.replace("%1",`${e}`)},preconditionFn(e){return!e.block.isInFlyout&&e.block.isDeletable()?"enabled":"hidden"},callback(e){e.block&&e.block.checkAndDelete()},scopeType:xe.ScopeType.BLOCK,id:"blockDelete",weight:6})},lh=function(){xe.registry.register({displayText(){return i.Msg$$module$build$src$core$msg.HELP},preconditionFn(e){return e=e.block,(typeof e.helpUrl=="function"?e.helpUrl():e.helpUrl)?"enabled":"hidden"},callback(e){e.block.showHelp()},scopeType:xe.ScopeType.BLOCK,id:"blockHelp",weight:7})},ch=function(){xe.registry.register({displayText:()=>i.Msg$$module$build$src$core$msg.REMOVE_COMMENT,preconditionFn(e){let t;return(t=e.comment)!=null&&t.isDeletable()?"enabled":"hidden"},callback(e){i.setGroup$$module$build$src$core$events$utils(!0);let t;(t=e.comment)==null||t.dispose(),i.setGroup$$module$build$src$core$events$utils(!1)},scopeType:xe.ScopeType.COMMENT,id:"commentDelete",weight:6})},uh=function(){xe.registry.register({displayText:()=>i.Msg$$module$build$src$core$msg.DUPLICATE_COMMENT,preconditionFn(e){let t;return(t=e.comment)!=null&&t.isMovable()?"enabled":"hidden"},callback(e){if(e.comment){var t=e.comment.toCopyData();t&&To(t,e.comment.workspace)}},scopeType:xe.ScopeType.COMMENT,id:"commentDuplicate",weight:1})},dh=function(){xe.registry.register({displayText:()=>i.Msg$$module$build$src$core$msg.ADD_COMMENT,preconditionFn:e=>{let t;return(t=e.workspace)!=null&&t.isMutator?"hidden":"enabled"},callback:(e,t)=>{if(e=e.workspace){i.setGroup$$module$build$src$core$events$utils(!0);var o=new kl(e);o.setText(i.Msg$$module$build$src$core$msg.WORKSPACE_COMMENT_DEFAULT_TEXT),o.moveTo(sb(new G(t.clientX,t.clientY),e)),i.setSelected$$module$build$src$core$common(o),i.setGroup$$module$build$src$core$events$utils(!1)}},scopeType:xe.ScopeType.WORKSPACE,id:"commentCreate",weight:8})},sb=function(e,t){var o=t.getInjectionDiv().getBoundingClientRect();return e=new G(e.x-o.left,e.y-o.top),o=t.getOriginOffsetInPixels(),e=G.difference(e,o),e.scale(1/t.scale),e},ob=function(){sh(),oh(),ih(),nh(),rh(),ah(),lh()},ib=function(){uh(),ch(),dh()},hh=function(){tb(),ob()},nb=function(e){return e.paste!==void 0},rb=function(e){return e.getSvgRoot!==void 0},ab=function(e){return typeof e.id=="string"&&e.workspace!==void 0&&e.select!==void 0&&e.unselect!==void 0},lb=function(e){return e.isSelectable()},cb=function(e){U().hideChaff(e)},j=j||{},j.scope={},j.ASSUME_ES5=!1,j.ASSUME_NO_NATIVE_MAP=!1,j.ASSUME_NO_NATIVE_SET=!1,j.SIMPLE_FROUND_POLYFILL=!1,j.ISOLATE_POLYFILLS=!1,j.FORCE_POLYFILL_PROMISE=!1,j.FORCE_POLYFILL_PROMISE_WHEN_NO_UNHANDLED_REJECTION=!1,j.defineProperty=j.ASSUME_ES5||typeof Object.defineProperties=="function"?Object.defineProperty:function(e,t,o){return e==Array.prototype||e==Object.prototype||(e[t]=o.value),e},j.getGlobal=function(e){e=[typeof globalThis=="object"&&globalThis,e,typeof window=="object"&&window,typeof self=="object"&&self,typeof wn=="object"&&wn];for(var t=0;t>>0,j.propertyToPolyfillSymbol[c]=j.IS_SYMBOL_NATIVE?j.global.Symbol(c):j.POLYFILL_PREFIX+o+"$"+c),j.defineProperty(n,j.propertyToPolyfillSymbol[c],{configurable:!0,writable:!0,value:t})))},j.underscoreProtoCanBeSet=function(){var e={a:!0},t={};try{return t.__proto__=e,t.a}catch{}return!1},j.setPrototypeOf=j.TRUST_ES6_POLYFILLS&&typeof Object.setPrototypeOf=="function"?Object.setPrototypeOf:j.underscoreProtoCanBeSet()?function(e,t){if(e.__proto__=t,e.__proto__!==t)throw new TypeError(e+" is not extensible");return e}:null,j.arrayIteratorImpl=function(e){var t=0;return function(){return to&&(o=Math.max(o+c,0));o{const e=pb.length,t=[];for(let o=0;20>o;o++)t[o]=pb.charAt(Math.random()*e);return t.join("")}},OT=0,ph={TEST_ONLY:gb};ph.genUid=C,ph.getNextUniqueId=k;var mb="",or=!0,gh=0,mh="ORPHANED_BLOCK",io=[],fb={FIRE_QUEUE:io,enqueueEvent:Ze,fireNow:Ne,fireInternal:Oe,setGroupInternal:ye};i.disable$$module$build$src$core$events$utils,i.enable$$module$build$src$core$events$utils,i.getGroup$$module$build$src$core$events$utils,i.setGroup$$module$build$src$core$events$utils,i.setRecordUndo$$module$build$src$core$events$utils;var ir=Object.create(null),$b,Zo=null,bb,nr=[],vb={defineBlocksWithJsonArrayInternal:Ve},Dt={TEST_ONLY:vb};Dt.createBlockDefinitionsFromJsonArray=i.createBlockDefinitionsFromJsonArray$$module$build$src$core$common,Dt.defineBlocks=i.defineBlocks$$module$build$src$core$common,Dt.defineBlocksWithJsonArray=pe,Dt.draggingConnections=nr,Dt.getAllWorkspaces=ee,Dt.getBlockTypeCounts=be,Dt.getMainWorkspace=U,Dt.getParentContainer=de,Dt.getSelected=I,Dt.getWorkspaceById=q,Dt.registerWorkspace=B,Dt.setMainWorkspace=re,Dt.setParentContainer=W,Dt.setSelected=i.setSelected$$module$build$src$core$common,Dt.svgResize=Ce,Dt.unregisterWorkpace=H;var Ui=class{constructor(){this.workspaceId=void 0,this.isUiEvent=!1,this.type="",this.group=i.getGroup$$module$build$src$core$events$utils(),this.recordUndo=me()}toJson(){return{type:this.type,group:this.group}}static fromJson(e,t,o){return o.isBlank=!1,o.group=e.group||"",o.workspaceId=t.id,o}isNull(){return!1}run(e){}getEventWorkspace_(){let e;if(this.workspaceId&&(e=q(this.workspaceId)),!e)throw Error("Workspace is null. Event must have been generated from real Blockly events.");return e}},Cs=class extends Ui{constructor(e){super(),this.recordUndo=!1,this.isUiEvent=!0,this.isBlank=typeof e>"u",this.workspaceId=e||""}},fh=class extends Cs{constructor(e,t,o){t=e?e.workspace.id:t,t===null&&(t=void 0),super(t),this.type=O.CLICK,this.blockId=e?e.id:void 0,this.targetType=o}toJson(){const e=super.toJson();if(!this.targetType)throw Error("The click target type is undefined. Either pass a block to the constructor, or call fromJson");return e.targetType=this.targetType,e.blockId=this.blockId,e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new fh),t.targetType=e.targetType,t.blockId=e.blockId,t}},$h;(function(e){e.BLOCK="block",e.WORKSPACE="workspace",e.ZOOM_CONTROLS="zoom_controls"})($h||($h={})),r(F.EVENT,O.CLICK,fh);var MT=750,yb="ontouchstart"in globalThis||!!(globalThis.document&&document.documentElement&&"ontouchstart"in document.documentElement)||!(!globalThis.navigator||!globalThis.navigator.maxTouchPoints&&!globalThis.navigator.msMaxTouchPoints),tl=null,Qo={mousedown:["pointerdown"],mouseenter:["pointerenter"],mouseleave:["pointerleave"],mousemove:["pointermove"],mouseout:["pointerout"],mouseover:["pointerover"],mouseup:["pointerup","pointercancel"],touchend:["pointerup"],touchcancel:["pointercancel"]},sl=0,ei={TOUCH_ENABLED:yb,TOUCH_MAP:Qo};ei.checkTouchIdentifier=bt,ei.clearTouchIdentifier=ke,ei.getTouchIdentifierFromEvent=Pe,ei.longStart=Je,ei.longStop=_e,ei.shouldHandleEvent=$e;var bh,_b,wb,Cb,ol,il,vh,Tb,kb,Sb;(function(e){function t(n){return o.includes(n.toUpperCase())}bh=e;const o=bh.toUpperCase();_b=t("JavaFX"),wb=t("WebKit"),Cb=t("Gecko")&&!wb,ol=t("Android"),e=globalThis.navigator&&globalThis.navigator.maxTouchPoints,il=t("iPad")||t("Macintosh")&&0{n.push(this.componentData.get(c))}),n.sort(function(c,h){return c.weight-h.weight}),n.forEach(function(c){o.push(c.component)})}else e.forEach(n=>{o.push(this.componentData.get(n).component)});return o}};lt.Capability=ro,(function(e){e=e.ComponentWeight||(e.ComponentWeight={}),e[e.TOOLBOX_WEIGHT=0]="TOOLBOX_WEIGHT",e[e.FLYOUT_WEIGHT=1]="FLYOUT_WEIGHT",e[e.TRASHCAN_WEIGHT=2]="TRASHCAN_WEIGHT",e[e.ZOOM_CONTROLS_WEIGHT=3]="ZOOM_CONTROLS_WEIGHT"})(lt||(lt={})),lt.ComponentWeight;var wh=!1,Ch=` .blocklySvg { background-color: #fff; outline: none; @@ -719,7 +719,7 @@ input[type=number] { z-index: 80; pointer-events: none; } -`,Th={};Th.inject=cu,Th.register=Et;var V=class{constructor(e,t){this.x=e,this.y=t}clone(){return new V(this.x,this.y)}scale(e){return this.x*=e,this.y*=e,this}translate(e,t){return this.x+=e,this.y+=t,this}static equals(e,t){return e===t?!0:e&&t?e.x===t.x&&e.y===t.y:!1}static distance(e,t){const o=e.x-t.x;return e=e.y-t.y,Math.sqrt(o*o+e*e)}static magnitude(e){return Math.sqrt(e.x*e.x+e.y*e.y)}static difference(e,t){return new V(e.x-t.x,e.y-t.y)}static sum(e,t){return new V(e.x+t.x,e.y+t.y)}},rr="http://www.w3.org/2000/svg",Fs="http://www.w3.org/1999/xhtml",es="http://www.w3.org/1999/xlink",ao;(function(e){e[e.ELEMENT_NODE=1]="ELEMENT_NODE",e[e.TEXT_NODE=3]="TEXT_NODE",e[e.COMMENT_NODE=8]="COMMENT_NODE"})(ao||(ao={}));var Ts=null,kh=0,rl=null,xt={HTML_NS:Fs};xt.NodeType=ao,xt.SVG_NS=rr,xt.XLINK_NS=es,xt.addClass=ge,xt.createSvgElement=N,xt.getFastTextWidth=Nn,xt.getFastTextWidthWithSizeString=ua,xt.getTextWidth=uu,xt.hasClass=Hm,xt.insertAfter=Uo,xt.measureFontMetrics=da,xt.removeClass=ot,xt.removeClasses=la,xt.removeNode=Ke,xt.setCssTransform=ca,xt.startTextWidthCache=Ho,xt.stopTextWidthCache=Wo;var x=class{constructor(e){this.tagName=e}toString(){return this.tagName}};x.ANIMATE=new x("animate"),x.CIRCLE=new x("circle"),x.CLIPPATH=new x("clipPath"),x.DEFS=new x("defs"),x.FECOMPOSITE=new x("feComposite"),x.FECOMPONENTTRANSFER=new x("feComponentTransfer"),x.FEFLOOD=new x("feFlood"),x.FEFUNCA=new x("feFuncA"),x.FEGAUSSIANBLUR=new x("feGaussianBlur"),x.FEPOINTLIGHT=new x("fePointLight"),x.FESPECULARLIGHTING=new x("feSpecularLighting"),x.FILTER=new x("filter"),x.FOREIGNOBJECT=new x("foreignObject"),x.G=new x("g"),x.IMAGE=new x("image"),x.LINE=new x("line"),x.PATH=new x("path"),x.PATTERN=new x("pattern"),x.POLYGON=new x("polygon"),x.RECT=new x("rect"),x.SVG=new x("svg"),x.TEXT=new x("text"),x.TSPAN=new x("tspan");var qe=class{constructor(e,t,o,n){this.top=e,this.bottom=t,this.left=o,this.right=n}clone(){return new qe(this.top,this.bottom,this.left,this.right)}getHeight(){return this.bottom-this.top}getWidth(){return this.right-this.left}contains(e,t){return e>=this.left&&e<=this.right&&t>=this.top&&t<=this.bottom}intersects(e){return this.left<=e.right&&this.right>=e.left&&this.bottom>=e.top&&this.top<=e.bottom}static equals(e,t){return e===t?!0:e&&t?e.top===t.top&&e.bottom===t.bottom&&e.left===t.left&&e.right===t.right:!1}static createFromPoint(e,t,o){const n=e.x;return e=e.y,new qe(e,e+o,n,n+t)}},Le=class{constructor(e,t){this.width=e,this.height=t}static equals(e,t){return e===t?!0:e&&t?e.width===t.width&&e.height===t.height:!1}static max(e,t){return new Le(Math.max(e.width,t.width),Math.max(e.height,t.height))}static min(e,t){return new Le(Math.min(e.width,t.width),Math.min(e.height,t.height))}},Mb={getSizeInternal:Wm},So={TEST_ONLY:Mb};So.getBorderBox=pu,So.getComputedStyle=Ms,So.getContainerOffsetToScrollInto=gu,So.getPageOffset=yo,So.getSize=Ln,So.getViewportPageOffset=hu,So.scrollIntoContainerView=ha;var Nb=/translate\(\s*([-+\d.e]+)([ ,]\s*([-+\d.e]+)\s*)?/,Lb=/transform:\s*translate(?:3d)?\(\s*([-+\d.e]+)\s*px([ ,]\s*([-+\d.e]+)\s*px)?/,PT={XY_REGEX:Nb,XY_STYLE_REGEX:Lb},ti={TEST_ONLY:PT};ti.getDocumentScroll=fu,ti.getInjectionDivXY=pa,ti.getRelativeXY=Pn,ti.getViewportBBox=mu,ti.screenToWsCoordinates=Vm,ti.wsToScreenCoordinates=Gm;var mt=class{constructor(e,t,o,n,c){this.workspace=e,this.horizontal=t,this.oldHostMetrics=null,this.ratio=1,this.origin=new V(0,0),this.startDragHandle=this.handlePosition=this.handleLength=this.scrollbarLength=this.startDragMouse=0,this.containerVisible=this.isHandleVisible=!0,this.position=new V(0,0),this.onMouseMoveWrapper_=this.onMouseUpWrapper_=null,this.pair=o||!1,this.margin=c!==void 0?c:mt.DEFAULT_SCROLLBAR_MARGIN,e="blocklyScrollbar"+(this.horizontal?"Horizontal":"Vertical"),n&&(e+=" "+n),this.outerSvg=N(x.SVG,{class:e}),n=N(x.G,{},this.outerSvg),this.svgBackground=N(x.RECT,{class:"blocklyScrollbarBackground"},n),e=Math.floor((mt.scrollbarThickness-5)/2),this.svgHandle=N(x.RECT,{class:"blocklyScrollbarHandle",rx:e,ry:e},n),this.workspace.getThemeManager().subscribe(this.svgHandle,"scrollbarColour","fill"),this.workspace.getThemeManager().subscribe(this.svgHandle,"scrollbarOpacity","fill-opacity"),Uo(this.outerSvg,this.workspace.getParentSvg()),this.setInitialThickness(),t?(this.lengthAttribute_="width",this.positionAttribute_="x"):(this.lengthAttribute_="height",this.positionAttribute_="y"),this.onMouseDownBarWrapper_=X(this.svgBackground,"pointerdown",this,this.onMouseDownBar),this.onMouseDownHandleWrapper_=X(this.svgHandle,"pointerdown",this,this.onMouseDownHandle)}setInitialThickness(){const e=mt.scrollbarThickness;this.horizontal?(this.svgBackground.setAttribute("height",String(e)),this.outerSvg.setAttribute("height",String(e)),this.svgHandle.setAttribute("height",String(e-5)),this.svgHandle.setAttribute("y","2.5")):(this.svgBackground.setAttribute("width",String(e)),this.outerSvg.setAttribute("width",String(e)),this.svgHandle.setAttribute("width",String(e-5)),this.svgHandle.setAttribute("x","2.5"))}dispose(){this.cleanUp(),ze(this.onMouseDownBarWrapper_),ze(this.onMouseDownHandleWrapper_),Ke(this.outerSvg),this.workspace.getThemeManager().unsubscribe(this.svgHandle)}constrainHandleLength(e){return e=0>=e||isNaN(e)?0:Math.min(e,this.scrollbarLength)}setHandleLength(e){this.handleLength=e,this.svgHandle.setAttribute(this.lengthAttribute_,String(this.handleLength))}constrainHandlePosition(e){return e=0>=e||isNaN(e)?0:Math.min(e,this.scrollbarLength-this.handleLength)}setHandlePosition(e){this.handlePosition=e,this.svgHandle.setAttribute(this.positionAttribute_,String(this.handlePosition))}setScrollbarLength(e){this.scrollbarLength=e,this.outerSvg.setAttribute(this.lengthAttribute_,String(this.scrollbarLength)),this.svgBackground.setAttribute(this.lengthAttribute_,String(this.scrollbarLength))}setPosition(e,t){this.position.x=e,this.position.y=t,ca(this.outerSvg,"translate("+(this.position.x+this.origin.x)+"px,"+(this.position.y+this.origin.y)+"px)")}resize(e){!e&&(e=this.workspace.getMetrics(),!e)||this.oldHostMetrics&&mt.metricsAreEquivalent(e,this.oldHostMetrics)||(this.horizontal?this.resizeHorizontal(e):this.resizeVertical(e),this.oldHostMetrics=e,this.updateMetrics())}requiresViewResize(e){return this.oldHostMetrics?this.oldHostMetrics.viewWidth!==e.viewWidth||this.oldHostMetrics.viewHeight!==e.viewHeight||this.oldHostMetrics.absoluteLeft!==e.absoluteLeft||this.oldHostMetrics.absoluteTop!==e.absoluteTop:!0}resizeHorizontal(e){this.requiresViewResize(e)?this.resizeViewHorizontal(e):this.resizeContentHorizontal(e)}resizeViewHorizontal(e){var t=e.viewWidth-2*this.margin;this.pair&&(t-=mt.scrollbarThickness),this.setScrollbarLength(Math.max(0,t)),t=e.absoluteLeft+this.margin,this.pair&&this.workspace.RTL&&(t+=mt.scrollbarThickness),this.setPosition(t,e.absoluteTop+e.viewHeight-mt.scrollbarThickness-this.margin),this.resizeContentHorizontal(e)}resizeContentHorizontal(e){if(e.viewWidth>=e.scrollWidth)this.setHandleLength(this.scrollbarLength),this.setHandlePosition(0),this.pair||this.setVisible(!1);else{this.pair||this.setVisible(!0);var t=this.scrollbarLength*e.viewWidth/e.scrollWidth;t=this.constrainHandleLength(t),this.setHandleLength(t),t=e.scrollWidth-e.viewWidth;var o=this.scrollbarLength-this.handleLength;e=(e.viewLeft-e.scrollLeft)/t*o,e=this.constrainHandlePosition(e),this.setHandlePosition(e),this.ratio=o/t}}resizeVertical(e){this.requiresViewResize(e)?this.resizeViewVertical(e):this.resizeContentVertical(e)}resizeViewVertical(e){let t=e.viewHeight-2*this.margin;this.pair&&(t-=mt.scrollbarThickness),this.setScrollbarLength(Math.max(0,t)),this.setPosition(this.workspace.RTL?e.absoluteLeft+this.margin:e.absoluteLeft+e.viewWidth-mt.scrollbarThickness-this.margin,e.absoluteTop+this.margin),this.resizeContentVertical(e)}resizeContentVertical(e){if(e.viewHeight>=e.scrollHeight)this.setHandleLength(this.scrollbarLength),this.setHandlePosition(0),this.pair||this.setVisible(!1);else{this.pair||this.setVisible(!0);var t=this.scrollbarLength*e.viewHeight/e.scrollHeight;t=this.constrainHandleLength(t),this.setHandleLength(t),t=e.scrollHeight-e.viewHeight;var o=this.scrollbarLength-this.handleLength;e=(e.viewTop-e.scrollTop)/t*o,e=this.constrainHandlePosition(e),this.setHandlePosition(e),this.ratio=o/t}}isVisible(){return this.isHandleVisible}setContainerVisible(e){const t=e!==this.containerVisible;this.containerVisible=e,t&&this.updateDisplay_()}setVisible(e){if(this.pair)throw Error("Unable to toggle visibility of paired scrollbars.");this.setVisibleInternal(e)}setVisibleInternal(e){const t=e!==this.isVisible();this.isHandleVisible=e,t&&this.updateDisplay_()}updateDisplay_(){this.containerVisible&&this.isVisible()?this.outerSvg.setAttribute("display","block"):this.outerSvg.setAttribute("display","none")}onMouseDownBar(e){if(this.workspace.markFocused(),ke(),this.cleanUp(),ve(e))e.stopPropagation();else{var t=st(e,this.workspace.getParentSvg(),this.workspace.getInverseScreenCTM());t=this.horizontal?t.x:t.y;var o=pa(this.svgHandle);o=this.horizontal?o.x:o.y;var n=this.handlePosition,c=.95*this.handleLength;t<=o?n-=c:t>=o+this.handleLength&&(n+=c),this.setHandlePosition(this.constrainHandlePosition(n)),this.updateMetrics(),e.stopPropagation(),e.preventDefault()}}onMouseDownHandle(e){this.workspace.markFocused(),this.cleanUp(),ve(e)?e.stopPropagation():(this.startDragHandle=this.handlePosition,this.startDragMouse=this.horizontal?e.clientX:e.clientY,this.onMouseUpWrapper_=X(document,"pointerup",this,this.onMouseUpHandle),this.onMouseMoveWrapper_=X(document,"pointermove",this,this.onMouseMoveHandle),e.stopPropagation(),e.preventDefault())}onMouseMoveHandle(e){this.setHandlePosition(this.constrainHandlePosition(this.startDragHandle+((this.horizontal?e.clientX:e.clientY)-this.startDragMouse))),this.updateMetrics()}onMouseUpHandle(){ke(),this.cleanUp()}cleanUp(){this.workspace.hideChaff(!0),this.onMouseUpWrapper_&&(ze(this.onMouseUpWrapper_),this.onMouseUpWrapper_=null),this.onMouseMoveWrapper_&&(ze(this.onMouseMoveWrapper_),this.onMouseMoveWrapper_=null)}getRatio_(){let e=this.handlePosition/(this.scrollbarLength-this.handleLength);return isNaN(e)&&(e=0),e}updateMetrics(){const e=this.getRatio_();this.horizontal?this.workspace.setMetrics({x:e}):this.workspace.setMetrics({y:e})}set(e,t){this.setHandlePosition(this.constrainHandlePosition(e*this.ratio)),(t||t===void 0)&&this.updateMetrics()}setOrigin(e,t){this.origin=new V(e,t)}static metricsAreEquivalent(e,t){return e.viewWidth===t.viewWidth&&e.viewHeight===t.viewHeight&&e.viewLeft===t.viewLeft&&e.viewTop===t.viewTop&&e.absoluteTop===t.absoluteTop&&e.absoluteLeft===t.absoluteLeft&&e.scrollWidth===t.scrollWidth&&e.scrollHeight===t.scrollHeight&&e.scrollLeft===t.scrollLeft&&e.scrollTop===t.scrollTop}};mt.scrollbarThickness=yb?25:15,mt.DEFAULT_SCROLLBAR_MARGIN=.5;var al={parseFromString:function(){throw Error("DOMParser was not found in the global scope and was not properly injected using injectDependencies")}},Sh={serializeToString:function(){throw Error("XMLSerializer was not foundin the global scope and was not properly injected using injectDependencies")}},{document:ll,DOMParser:ar,XMLSerializer:lr}=globalThis;ar&&(al=new ar),lr&&(Sh=new lr);var Pb="https://developers.google.com/blockly/xml",BT=/[\x00-\x09\x0B\x0C\x0E-\x1F]/g,Hi={NAME_SPACE:Pb};Hi.createElement=i.createElement$$module$build$src$core$utils$xml,Hi.createTextNode=i.createTextNode$$module$build$src$core$utils$xml,Hi.domToText=Ii,Hi.injectDependencies=Km,Hi.textToDom=i.textToDom$$module$build$src$core$utils$xml;var Eh="categoryToolbox",Bb="flyoutToolbox",Ee;(function(e){e[e.TOP=0]="TOP",e[e.BOTTOM=1]="BOTTOM",e[e.LEFT=2]="LEFT",e[e.RIGHT=3]="RIGHT"})(Ee||(Ee={}));var jb={hasCategoriesInternal:qm},Eo={};Eo.Position=Ee,Eo.TEST_ONLY=jb,Eo.convertFlyoutDefToJsonArray=Bn,Eo.convertToolboxDefToJson=ga,Eo.hasCategories=ma,Eo.isCategoryCollapsible=fa,Eo.parseToolboxTree=bu;var lo;(function(e){e[e.TOP=0]="TOP",e[e.BOTTOM=1]="BOTTOM"})(lo||(lo={}));var Wi;(function(e){e[e.LEFT=0]="LEFT",e[e.RIGHT=1]="RIGHT"})(Wi||(Wi={}));var Io;(function(e){e[e.UP=0]="UP",e[e.DOWN=1]="DOWN"})(Io||(Io={}));var si={};si.bumpDirection=Io,si.bumpPositionRect=ya,si.getCornerOppositeToolbox=va,si.getStartPositionRect=ba,si.horizontalPosition=Wi,si.verticalPosition=lo;var jt={width:96,height:124,url:"sprites.png"},Fb=class{constructor(e){this.workspace=e,this.id="zoomControls",this.boundEvents=[],this.zoomResetGroup=this.zoomOutGroup=this.zoomInGroup=null,this.HEIGHT=this.WIDTH=32,this.SMALL_SPACING=2,this.LARGE_SPACING=11,this.MARGIN_HORIZONTAL=this.MARGIN_VERTICAL=20,this.svgGroup=null,this.top=this.left=0,this.initialized=!1}createDom(){this.svgGroup=N(x.G,{});const e=String(Math.random()).substring(2);return this.createZoomOutSvg(e),this.createZoomInSvg(e),this.workspace.isMovable()&&this.createZoomResetSvg(e),this.svgGroup}init(){this.workspace.getComponentManager().addComponent({component:this,weight:lt.ComponentWeight.ZOOM_CONTROLS_WEIGHT,capabilities:[lt.Capability.POSITIONABLE]}),this.initialized=!0}dispose(){this.workspace.getComponentManager().removeComponent("zoomControls"),this.svgGroup&&Ke(this.svgGroup);for(const e of this.boundEvents)ze(e);this.boundEvents.length=0}getBoundingRectangle(){let e=this.SMALL_SPACING+2*this.HEIGHT;return this.zoomResetGroup&&(e+=this.LARGE_SPACING+this.HEIGHT),new qe(this.top,this.top+e,this.left,this.left+this.WIDTH)}position(e,t){if(this.initialized){var o=va(this.workspace,e),n=this.SMALL_SPACING+2*this.HEIGHT;if(this.zoomResetGroup&&(n+=this.LARGE_SPACING+this.HEIGHT),e=ba(o,new Le(this.WIDTH,n),this.MARGIN_HORIZONTAL,this.MARGIN_VERTICAL,e,this.workspace),o=o.vertical,t=ya(e,this.MARGIN_VERTICAL,o===lo.TOP?Io.DOWN:Io.UP,t),o===lo.TOP){var c=this.SMALL_SPACING+this.HEIGHT,h;(h=this.zoomInGroup)==null||h.setAttribute("transform","translate(0, "+c+")"),this.zoomResetGroup&&this.zoomResetGroup.setAttribute("transform","translate(0, "+(c+this.LARGE_SPACING+this.HEIGHT)+")")}else{h=this.zoomResetGroup?this.LARGE_SPACING+this.HEIGHT:0;let T;(T=this.zoomInGroup)==null||T.setAttribute("transform","translate(0, "+h+")"),h=h+this.SMALL_SPACING+this.HEIGHT,(c=this.zoomOutGroup)==null||c.setAttribute("transform","translate(0, "+h+")")}this.top=t.top,this.left=t.left;var $;($=this.svgGroup)==null||$.setAttribute("transform","translate("+this.left+","+this.top+")")}}createZoomOutSvg(e){this.zoomOutGroup=N(x.G,{class:"blocklyZoom blocklyZoomOut"},this.svgGroup);const t=N(x.CLIPPATH,{id:"blocklyZoomoutClipPath"+e},this.zoomOutGroup);N(x.RECT,{width:32,height:32},t),N(x.IMAGE,{width:jt.width,height:jt.height,x:-64,y:-92,"clip-path":"url(#blocklyZoomoutClipPath"+e+")"},this.zoomOutGroup).setAttributeNS(es,"xlink:href",this.workspace.options.pathToMedia+jt.url),this.boundEvents.push(X(this.zoomOutGroup,"pointerdown",null,this.zoom.bind(this,-1)))}createZoomInSvg(e){this.zoomInGroup=N(x.G,{class:"blocklyZoom blocklyZoomIn"},this.svgGroup);const t=N(x.CLIPPATH,{id:"blocklyZoominClipPath"+e},this.zoomInGroup);N(x.RECT,{width:32,height:32},t),N(x.IMAGE,{width:jt.width,height:jt.height,x:-32,y:-92,"clip-path":"url(#blocklyZoominClipPath"+e+")"},this.zoomInGroup).setAttributeNS(es,"xlink:href",this.workspace.options.pathToMedia+jt.url),this.boundEvents.push(X(this.zoomInGroup,"pointerdown",null,this.zoom.bind(this,1)))}zoom(e,t){this.workspace.markFocused(),this.workspace.zoomCenter(e),this.fireZoomEvent(),ke(),t.stopPropagation(),t.preventDefault()}createZoomResetSvg(e){this.zoomResetGroup=N(x.G,{class:"blocklyZoom blocklyZoomReset"},this.svgGroup);const t=N(x.CLIPPATH,{id:"blocklyZoomresetClipPath"+e},this.zoomResetGroup);N(x.RECT,{width:32,height:32},t),N(x.IMAGE,{width:jt.width,height:jt.height,y:-92,"clip-path":"url(#blocklyZoomresetClipPath"+e+")"},this.zoomResetGroup).setAttributeNS(es,"xlink:href",this.workspace.options.pathToMedia+jt.url),this.boundEvents.push(X(this.zoomResetGroup,"pointerdown",null,this.resetZoom.bind(this)))}resetZoom(e){this.workspace.markFocused();const t=Math.log(this.workspace.options.zoomOptions.startScale/this.workspace.scale)/Math.log(this.workspace.options.zoomOptions.scaleSpeed);this.workspace.beginCanvasTransition(),this.workspace.zoomCenter(t),this.workspace.scrollCenter(),setTimeout(this.workspace.endCanvasTransition.bind(this.workspace),500),this.fireZoomEvent(),ke(),e.stopPropagation(),e.preventDefault()}fireZoomEvent(){const e=new(G(O.CLICK))(null,this.workspace.id,"zoom_controls");z(e)}};Et(` +`,Th={};Th.inject=cu,Th.register=Et;var G=class{constructor(e,t){this.x=e,this.y=t}clone(){return new G(this.x,this.y)}scale(e){return this.x*=e,this.y*=e,this}translate(e,t){return this.x+=e,this.y+=t,this}static equals(e,t){return e===t?!0:e&&t?e.x===t.x&&e.y===t.y:!1}static distance(e,t){const o=e.x-t.x;return e=e.y-t.y,Math.sqrt(o*o+e*e)}static magnitude(e){return Math.sqrt(e.x*e.x+e.y*e.y)}static difference(e,t){return new G(e.x-t.x,e.y-t.y)}static sum(e,t){return new G(e.x+t.x,e.y+t.y)}},rr="http://www.w3.org/2000/svg",Fs="http://www.w3.org/1999/xhtml",es="http://www.w3.org/1999/xlink",ao;(function(e){e[e.ELEMENT_NODE=1]="ELEMENT_NODE",e[e.TEXT_NODE=3]="TEXT_NODE",e[e.COMMENT_NODE=8]="COMMENT_NODE"})(ao||(ao={}));var Ts=null,kh=0,rl=null,xt={HTML_NS:Fs};xt.NodeType=ao,xt.SVG_NS=rr,xt.XLINK_NS=es,xt.addClass=ge,xt.createSvgElement=N,xt.getFastTextWidth=Nn,xt.getFastTextWidthWithSizeString=ua,xt.getTextWidth=uu,xt.hasClass=Hm,xt.insertAfter=Uo,xt.measureFontMetrics=da,xt.removeClass=ot,xt.removeClasses=la,xt.removeNode=Ke,xt.setCssTransform=ca,xt.startTextWidthCache=Ho,xt.stopTextWidthCache=Wo;var x=class{constructor(e){this.tagName=e}toString(){return this.tagName}};x.ANIMATE=new x("animate"),x.CIRCLE=new x("circle"),x.CLIPPATH=new x("clipPath"),x.DEFS=new x("defs"),x.FECOMPOSITE=new x("feComposite"),x.FECOMPONENTTRANSFER=new x("feComponentTransfer"),x.FEFLOOD=new x("feFlood"),x.FEFUNCA=new x("feFuncA"),x.FEGAUSSIANBLUR=new x("feGaussianBlur"),x.FEPOINTLIGHT=new x("fePointLight"),x.FESPECULARLIGHTING=new x("feSpecularLighting"),x.FILTER=new x("filter"),x.FOREIGNOBJECT=new x("foreignObject"),x.G=new x("g"),x.IMAGE=new x("image"),x.LINE=new x("line"),x.PATH=new x("path"),x.PATTERN=new x("pattern"),x.POLYGON=new x("polygon"),x.RECT=new x("rect"),x.SVG=new x("svg"),x.TEXT=new x("text"),x.TSPAN=new x("tspan");var qe=class{constructor(e,t,o,n){this.top=e,this.bottom=t,this.left=o,this.right=n}clone(){return new qe(this.top,this.bottom,this.left,this.right)}getHeight(){return this.bottom-this.top}getWidth(){return this.right-this.left}contains(e,t){return e>=this.left&&e<=this.right&&t>=this.top&&t<=this.bottom}intersects(e){return this.left<=e.right&&this.right>=e.left&&this.bottom>=e.top&&this.top<=e.bottom}static equals(e,t){return e===t?!0:e&&t?e.top===t.top&&e.bottom===t.bottom&&e.left===t.left&&e.right===t.right:!1}static createFromPoint(e,t,o){const n=e.x;return e=e.y,new qe(e,e+o,n,n+t)}},Le=class{constructor(e,t){this.width=e,this.height=t}static equals(e,t){return e===t?!0:e&&t?e.width===t.width&&e.height===t.height:!1}static max(e,t){return new Le(Math.max(e.width,t.width),Math.max(e.height,t.height))}static min(e,t){return new Le(Math.min(e.width,t.width),Math.min(e.height,t.height))}},Mb={getSizeInternal:Wm},So={TEST_ONLY:Mb};So.getBorderBox=pu,So.getComputedStyle=Ms,So.getContainerOffsetToScrollInto=gu,So.getPageOffset=yo,So.getSize=Ln,So.getViewportPageOffset=hu,So.scrollIntoContainerView=ha;var Nb=/translate\(\s*([-+\d.e]+)([ ,]\s*([-+\d.e]+)\s*)?/,Lb=/transform:\s*translate(?:3d)?\(\s*([-+\d.e]+)\s*px([ ,]\s*([-+\d.e]+)\s*px)?/,PT={XY_REGEX:Nb,XY_STYLE_REGEX:Lb},ti={TEST_ONLY:PT};ti.getDocumentScroll=fu,ti.getInjectionDivXY=pa,ti.getRelativeXY=Pn,ti.getViewportBBox=mu,ti.screenToWsCoordinates=Gm,ti.wsToScreenCoordinates=Vm;var mt=class{constructor(e,t,o,n,c){this.workspace=e,this.horizontal=t,this.oldHostMetrics=null,this.ratio=1,this.origin=new G(0,0),this.startDragHandle=this.handlePosition=this.handleLength=this.scrollbarLength=this.startDragMouse=0,this.containerVisible=this.isHandleVisible=!0,this.position=new G(0,0),this.onMouseMoveWrapper_=this.onMouseUpWrapper_=null,this.pair=o||!1,this.margin=c!==void 0?c:mt.DEFAULT_SCROLLBAR_MARGIN,e="blocklyScrollbar"+(this.horizontal?"Horizontal":"Vertical"),n&&(e+=" "+n),this.outerSvg=N(x.SVG,{class:e}),n=N(x.G,{},this.outerSvg),this.svgBackground=N(x.RECT,{class:"blocklyScrollbarBackground"},n),e=Math.floor((mt.scrollbarThickness-5)/2),this.svgHandle=N(x.RECT,{class:"blocklyScrollbarHandle",rx:e,ry:e},n),this.workspace.getThemeManager().subscribe(this.svgHandle,"scrollbarColour","fill"),this.workspace.getThemeManager().subscribe(this.svgHandle,"scrollbarOpacity","fill-opacity"),Uo(this.outerSvg,this.workspace.getParentSvg()),this.setInitialThickness(),t?(this.lengthAttribute_="width",this.positionAttribute_="x"):(this.lengthAttribute_="height",this.positionAttribute_="y"),this.onMouseDownBarWrapper_=X(this.svgBackground,"pointerdown",this,this.onMouseDownBar),this.onMouseDownHandleWrapper_=X(this.svgHandle,"pointerdown",this,this.onMouseDownHandle)}setInitialThickness(){const e=mt.scrollbarThickness;this.horizontal?(this.svgBackground.setAttribute("height",String(e)),this.outerSvg.setAttribute("height",String(e)),this.svgHandle.setAttribute("height",String(e-5)),this.svgHandle.setAttribute("y","2.5")):(this.svgBackground.setAttribute("width",String(e)),this.outerSvg.setAttribute("width",String(e)),this.svgHandle.setAttribute("width",String(e-5)),this.svgHandle.setAttribute("x","2.5"))}dispose(){this.cleanUp(),ze(this.onMouseDownBarWrapper_),ze(this.onMouseDownHandleWrapper_),Ke(this.outerSvg),this.workspace.getThemeManager().unsubscribe(this.svgHandle)}constrainHandleLength(e){return e=0>=e||isNaN(e)?0:Math.min(e,this.scrollbarLength)}setHandleLength(e){this.handleLength=e,this.svgHandle.setAttribute(this.lengthAttribute_,String(this.handleLength))}constrainHandlePosition(e){return e=0>=e||isNaN(e)?0:Math.min(e,this.scrollbarLength-this.handleLength)}setHandlePosition(e){this.handlePosition=e,this.svgHandle.setAttribute(this.positionAttribute_,String(this.handlePosition))}setScrollbarLength(e){this.scrollbarLength=e,this.outerSvg.setAttribute(this.lengthAttribute_,String(this.scrollbarLength)),this.svgBackground.setAttribute(this.lengthAttribute_,String(this.scrollbarLength))}setPosition(e,t){this.position.x=e,this.position.y=t,ca(this.outerSvg,"translate("+(this.position.x+this.origin.x)+"px,"+(this.position.y+this.origin.y)+"px)")}resize(e){!e&&(e=this.workspace.getMetrics(),!e)||this.oldHostMetrics&&mt.metricsAreEquivalent(e,this.oldHostMetrics)||(this.horizontal?this.resizeHorizontal(e):this.resizeVertical(e),this.oldHostMetrics=e,this.updateMetrics())}requiresViewResize(e){return this.oldHostMetrics?this.oldHostMetrics.viewWidth!==e.viewWidth||this.oldHostMetrics.viewHeight!==e.viewHeight||this.oldHostMetrics.absoluteLeft!==e.absoluteLeft||this.oldHostMetrics.absoluteTop!==e.absoluteTop:!0}resizeHorizontal(e){this.requiresViewResize(e)?this.resizeViewHorizontal(e):this.resizeContentHorizontal(e)}resizeViewHorizontal(e){var t=e.viewWidth-2*this.margin;this.pair&&(t-=mt.scrollbarThickness),this.setScrollbarLength(Math.max(0,t)),t=e.absoluteLeft+this.margin,this.pair&&this.workspace.RTL&&(t+=mt.scrollbarThickness),this.setPosition(t,e.absoluteTop+e.viewHeight-mt.scrollbarThickness-this.margin),this.resizeContentHorizontal(e)}resizeContentHorizontal(e){if(e.viewWidth>=e.scrollWidth)this.setHandleLength(this.scrollbarLength),this.setHandlePosition(0),this.pair||this.setVisible(!1);else{this.pair||this.setVisible(!0);var t=this.scrollbarLength*e.viewWidth/e.scrollWidth;t=this.constrainHandleLength(t),this.setHandleLength(t),t=e.scrollWidth-e.viewWidth;var o=this.scrollbarLength-this.handleLength;e=(e.viewLeft-e.scrollLeft)/t*o,e=this.constrainHandlePosition(e),this.setHandlePosition(e),this.ratio=o/t}}resizeVertical(e){this.requiresViewResize(e)?this.resizeViewVertical(e):this.resizeContentVertical(e)}resizeViewVertical(e){let t=e.viewHeight-2*this.margin;this.pair&&(t-=mt.scrollbarThickness),this.setScrollbarLength(Math.max(0,t)),this.setPosition(this.workspace.RTL?e.absoluteLeft+this.margin:e.absoluteLeft+e.viewWidth-mt.scrollbarThickness-this.margin,e.absoluteTop+this.margin),this.resizeContentVertical(e)}resizeContentVertical(e){if(e.viewHeight>=e.scrollHeight)this.setHandleLength(this.scrollbarLength),this.setHandlePosition(0),this.pair||this.setVisible(!1);else{this.pair||this.setVisible(!0);var t=this.scrollbarLength*e.viewHeight/e.scrollHeight;t=this.constrainHandleLength(t),this.setHandleLength(t),t=e.scrollHeight-e.viewHeight;var o=this.scrollbarLength-this.handleLength;e=(e.viewTop-e.scrollTop)/t*o,e=this.constrainHandlePosition(e),this.setHandlePosition(e),this.ratio=o/t}}isVisible(){return this.isHandleVisible}setContainerVisible(e){const t=e!==this.containerVisible;this.containerVisible=e,t&&this.updateDisplay_()}setVisible(e){if(this.pair)throw Error("Unable to toggle visibility of paired scrollbars.");this.setVisibleInternal(e)}setVisibleInternal(e){const t=e!==this.isVisible();this.isHandleVisible=e,t&&this.updateDisplay_()}updateDisplay_(){this.containerVisible&&this.isVisible()?this.outerSvg.setAttribute("display","block"):this.outerSvg.setAttribute("display","none")}onMouseDownBar(e){if(this.workspace.markFocused(),ke(),this.cleanUp(),ve(e))e.stopPropagation();else{var t=st(e,this.workspace.getParentSvg(),this.workspace.getInverseScreenCTM());t=this.horizontal?t.x:t.y;var o=pa(this.svgHandle);o=this.horizontal?o.x:o.y;var n=this.handlePosition,c=.95*this.handleLength;t<=o?n-=c:t>=o+this.handleLength&&(n+=c),this.setHandlePosition(this.constrainHandlePosition(n)),this.updateMetrics(),e.stopPropagation(),e.preventDefault()}}onMouseDownHandle(e){this.workspace.markFocused(),this.cleanUp(),ve(e)?e.stopPropagation():(this.startDragHandle=this.handlePosition,this.startDragMouse=this.horizontal?e.clientX:e.clientY,this.onMouseUpWrapper_=X(document,"pointerup",this,this.onMouseUpHandle),this.onMouseMoveWrapper_=X(document,"pointermove",this,this.onMouseMoveHandle),e.stopPropagation(),e.preventDefault())}onMouseMoveHandle(e){this.setHandlePosition(this.constrainHandlePosition(this.startDragHandle+((this.horizontal?e.clientX:e.clientY)-this.startDragMouse))),this.updateMetrics()}onMouseUpHandle(){ke(),this.cleanUp()}cleanUp(){this.workspace.hideChaff(!0),this.onMouseUpWrapper_&&(ze(this.onMouseUpWrapper_),this.onMouseUpWrapper_=null),this.onMouseMoveWrapper_&&(ze(this.onMouseMoveWrapper_),this.onMouseMoveWrapper_=null)}getRatio_(){let e=this.handlePosition/(this.scrollbarLength-this.handleLength);return isNaN(e)&&(e=0),e}updateMetrics(){const e=this.getRatio_();this.horizontal?this.workspace.setMetrics({x:e}):this.workspace.setMetrics({y:e})}set(e,t){this.setHandlePosition(this.constrainHandlePosition(e*this.ratio)),(t||t===void 0)&&this.updateMetrics()}setOrigin(e,t){this.origin=new G(e,t)}static metricsAreEquivalent(e,t){return e.viewWidth===t.viewWidth&&e.viewHeight===t.viewHeight&&e.viewLeft===t.viewLeft&&e.viewTop===t.viewTop&&e.absoluteTop===t.absoluteTop&&e.absoluteLeft===t.absoluteLeft&&e.scrollWidth===t.scrollWidth&&e.scrollHeight===t.scrollHeight&&e.scrollLeft===t.scrollLeft&&e.scrollTop===t.scrollTop}};mt.scrollbarThickness=yb?25:15,mt.DEFAULT_SCROLLBAR_MARGIN=.5;var al={parseFromString:function(){throw Error("DOMParser was not found in the global scope and was not properly injected using injectDependencies")}},Sh={serializeToString:function(){throw Error("XMLSerializer was not foundin the global scope and was not properly injected using injectDependencies")}},{document:ll,DOMParser:ar,XMLSerializer:lr}=globalThis;ar&&(al=new ar),lr&&(Sh=new lr);var Pb="https://developers.google.com/blockly/xml",BT=/[\x00-\x09\x0B\x0C\x0E-\x1F]/g,Hi={NAME_SPACE:Pb};Hi.createElement=i.createElement$$module$build$src$core$utils$xml,Hi.createTextNode=i.createTextNode$$module$build$src$core$utils$xml,Hi.domToText=Ii,Hi.injectDependencies=Km,Hi.textToDom=i.textToDom$$module$build$src$core$utils$xml;var Eh="categoryToolbox",Bb="flyoutToolbox",Ee;(function(e){e[e.TOP=0]="TOP",e[e.BOTTOM=1]="BOTTOM",e[e.LEFT=2]="LEFT",e[e.RIGHT=3]="RIGHT"})(Ee||(Ee={}));var jb={hasCategoriesInternal:qm},Eo={};Eo.Position=Ee,Eo.TEST_ONLY=jb,Eo.convertFlyoutDefToJsonArray=Bn,Eo.convertToolboxDefToJson=ga,Eo.hasCategories=ma,Eo.isCategoryCollapsible=fa,Eo.parseToolboxTree=bu;var lo;(function(e){e[e.TOP=0]="TOP",e[e.BOTTOM=1]="BOTTOM"})(lo||(lo={}));var Wi;(function(e){e[e.LEFT=0]="LEFT",e[e.RIGHT=1]="RIGHT"})(Wi||(Wi={}));var Io;(function(e){e[e.UP=0]="UP",e[e.DOWN=1]="DOWN"})(Io||(Io={}));var si={};si.bumpDirection=Io,si.bumpPositionRect=ya,si.getCornerOppositeToolbox=va,si.getStartPositionRect=ba,si.horizontalPosition=Wi,si.verticalPosition=lo;var jt={width:96,height:124,url:"sprites.png"},Fb=class{constructor(e){this.workspace=e,this.id="zoomControls",this.boundEvents=[],this.zoomResetGroup=this.zoomOutGroup=this.zoomInGroup=null,this.HEIGHT=this.WIDTH=32,this.SMALL_SPACING=2,this.LARGE_SPACING=11,this.MARGIN_HORIZONTAL=this.MARGIN_VERTICAL=20,this.svgGroup=null,this.top=this.left=0,this.initialized=!1}createDom(){this.svgGroup=N(x.G,{});const e=String(Math.random()).substring(2);return this.createZoomOutSvg(e),this.createZoomInSvg(e),this.workspace.isMovable()&&this.createZoomResetSvg(e),this.svgGroup}init(){this.workspace.getComponentManager().addComponent({component:this,weight:lt.ComponentWeight.ZOOM_CONTROLS_WEIGHT,capabilities:[lt.Capability.POSITIONABLE]}),this.initialized=!0}dispose(){this.workspace.getComponentManager().removeComponent("zoomControls"),this.svgGroup&&Ke(this.svgGroup);for(const e of this.boundEvents)ze(e);this.boundEvents.length=0}getBoundingRectangle(){let e=this.SMALL_SPACING+2*this.HEIGHT;return this.zoomResetGroup&&(e+=this.LARGE_SPACING+this.HEIGHT),new qe(this.top,this.top+e,this.left,this.left+this.WIDTH)}position(e,t){if(this.initialized){var o=va(this.workspace,e),n=this.SMALL_SPACING+2*this.HEIGHT;if(this.zoomResetGroup&&(n+=this.LARGE_SPACING+this.HEIGHT),e=ba(o,new Le(this.WIDTH,n),this.MARGIN_HORIZONTAL,this.MARGIN_VERTICAL,e,this.workspace),o=o.vertical,t=ya(e,this.MARGIN_VERTICAL,o===lo.TOP?Io.DOWN:Io.UP,t),o===lo.TOP){var c=this.SMALL_SPACING+this.HEIGHT,h;(h=this.zoomInGroup)==null||h.setAttribute("transform","translate(0, "+c+")"),this.zoomResetGroup&&this.zoomResetGroup.setAttribute("transform","translate(0, "+(c+this.LARGE_SPACING+this.HEIGHT)+")")}else{h=this.zoomResetGroup?this.LARGE_SPACING+this.HEIGHT:0;let T;(T=this.zoomInGroup)==null||T.setAttribute("transform","translate(0, "+h+")"),h=h+this.SMALL_SPACING+this.HEIGHT,(c=this.zoomOutGroup)==null||c.setAttribute("transform","translate(0, "+h+")")}this.top=t.top,this.left=t.left;var $;($=this.svgGroup)==null||$.setAttribute("transform","translate("+this.left+","+this.top+")")}}createZoomOutSvg(e){this.zoomOutGroup=N(x.G,{class:"blocklyZoom blocklyZoomOut"},this.svgGroup);const t=N(x.CLIPPATH,{id:"blocklyZoomoutClipPath"+e},this.zoomOutGroup);N(x.RECT,{width:32,height:32},t),N(x.IMAGE,{width:jt.width,height:jt.height,x:-64,y:-92,"clip-path":"url(#blocklyZoomoutClipPath"+e+")"},this.zoomOutGroup).setAttributeNS(es,"xlink:href",this.workspace.options.pathToMedia+jt.url),this.boundEvents.push(X(this.zoomOutGroup,"pointerdown",null,this.zoom.bind(this,-1)))}createZoomInSvg(e){this.zoomInGroup=N(x.G,{class:"blocklyZoom blocklyZoomIn"},this.svgGroup);const t=N(x.CLIPPATH,{id:"blocklyZoominClipPath"+e},this.zoomInGroup);N(x.RECT,{width:32,height:32},t),N(x.IMAGE,{width:jt.width,height:jt.height,x:-32,y:-92,"clip-path":"url(#blocklyZoominClipPath"+e+")"},this.zoomInGroup).setAttributeNS(es,"xlink:href",this.workspace.options.pathToMedia+jt.url),this.boundEvents.push(X(this.zoomInGroup,"pointerdown",null,this.zoom.bind(this,1)))}zoom(e,t){this.workspace.markFocused(),this.workspace.zoomCenter(e),this.fireZoomEvent(),ke(),t.stopPropagation(),t.preventDefault()}createZoomResetSvg(e){this.zoomResetGroup=N(x.G,{class:"blocklyZoom blocklyZoomReset"},this.svgGroup);const t=N(x.CLIPPATH,{id:"blocklyZoomresetClipPath"+e},this.zoomResetGroup);N(x.RECT,{width:32,height:32},t),N(x.IMAGE,{width:jt.width,height:jt.height,y:-92,"clip-path":"url(#blocklyZoomresetClipPath"+e+")"},this.zoomResetGroup).setAttributeNS(es,"xlink:href",this.workspace.options.pathToMedia+jt.url),this.boundEvents.push(X(this.zoomResetGroup,"pointerdown",null,this.resetZoom.bind(this)))}resetZoom(e){this.workspace.markFocused();const t=Math.log(this.workspace.options.zoomOptions.startScale/this.workspace.scale)/Math.log(this.workspace.options.zoomOptions.scaleSpeed);this.workspace.beginCanvasTransition(),this.workspace.zoomCenter(t),this.workspace.scrollCenter(),setTimeout(this.workspace.endCanvasTransition.bind(this.workspace),500),this.fireZoomEvent(),ke(),e.stopPropagation(),e.preventDefault()}fireZoomEvent(){const e=new(V(O.CLICK))(null,this.workspace.id,"zoom_controls");z(e)}};Et(` .blocklyZoom>image, .blocklyZoom>svg>image { opacity: .4; } @@ -731,11 +731,11 @@ input[type=number] { .blocklyZoom>image:active, .blocklyZoom>svg>image:active { opacity: .8; } -`);var zb=100,Ub=75,Hb=50,Wb=25,jT={BLOCKS:Hb,PROCEDURES:Ub,VARIABLES:zb,WORKSPACE_COMMENTS:Wb},Ih={};Ih.register=jn,Ih.unregister=Zm;var Vb=class{constructor(){this.priority=Wb}save(e){const t=[];for(const o of e.getTopComments())(e=xi(o,{addCoordinates:!0,saveIds:!0}))&&t.push(e);return t.length?t:null}load(e,t){for(const o of e)Fn(o,t,{recordUndo:me()})}clear(e){for(const t of e.getTopComments())t.dispose()}};jn("workspaceComments",new Vb);var cl={};cl.WorkspaceCommentSerializer=Vb,cl.append=Fn,cl.save=xi;var xh={};xh.register=_a,xh.unregister=Qm;var ul=class{paste(e,t,o){e=e.commentState,o&&(e.x=o.x,e.y=o.y),i.disable$$module$build$src$core$events$utils();let n;try{n=Fn(e,t),ef(n)}finally{i.enable$$module$build$src$core$events$utils()}return n?(K()&&z(new(G(O.COMMENT_CREATE))(n)),i.setSelected$$module$build$src$core$common(n),n):null}};ul.TYPE="workspace-comment",_a(ul.TYPE,new ul);var Dh;Dh=28,i.config$$module$build$src$core$config={dragRadius:5,flyoutDragRadius:10,snapRadius:Dh,connectingSnapRadius:Dh,currentConnectionPreference:8,bumpDelay:250},i.config$$module$build$src$core$config;var FT="aria-",zT="role",ks;(function(e){e.GRID="grid",e.GRIDCELL="gridcell",e.GROUP="group",e.LISTBOX="listbox",e.MENU="menu",e.MENUITEM="menuitem",e.MENUITEMCHECKBOX="menuitemcheckbox",e.OPTION="option",e.PRESENTATION="presentation",e.ROW="row",e.TREE="tree",e.TREEITEM="treeitem"})(ks||(ks={}));var Ct;(function(e){e.ACTIVEDESCENDANT="activedescendant",e.COLCOUNT="colcount",e.DISABLED="disabled",e.EXPANDED="expanded",e.INVALID="invalid",e.LABEL="label",e.LABELLEDBY="labelledby",e.LEVEL="level",e.ORIENTATION="orientation",e.POSINSET="posinset",e.ROWCOUNT="rowcount",e.SELECTED="selected",e.SETSIZE="setsize",e.VALUEMAX="valuemax",e.VALUEMIN="valuemin"})(Ct||(Ct={}));var cr={};cr.Role=ks,cr.State=Ct,cr.setRole=_o,cr.setState=It;var Ah=class{constructor(){this.menuItems=[],this.roleName=this.element=this.onKeyDownHandler=this.pointerLeaveHandler=this.pointerEnterHandler=this.clickHandler=this.pointerMoveHandler=this.highlightedItem=this.openingCoords=null}addChild(e){this.menuItems.push(e)}render(e){const t=document.createElement("div");t.className="blocklyMenu goog-menu blocklyNonSelectable",t.tabIndex=0,this.roleName&&_o(t,this.roleName),this.element=t;for(let o=0,n;n=this.menuItems[o];o++)t.appendChild(n.createDom());return this.pointerMoveHandler=X(t,"pointermove",this,this.handlePointerMove,!0),this.clickHandler=X(t,"pointerup",this,this.handleClick,!0),this.pointerEnterHandler=X(t,"pointerenter",this,this.handlePointerEnter,!0),this.pointerLeaveHandler=X(t,"pointerleave",this,this.handlePointerLeave,!0),this.onKeyDownHandler=X(t,"keydown",this,this.handleKeyEvent),e.appendChild(t),t}getElement(){return this.element}focus(){const e=this.getElement();e&&(e.focus({preventScroll:!0}),ge(e,"blocklyFocused"))}blur(){const e=this.getElement();e&&(e.blur(),ot(e,"blocklyFocused"))}setRole(e){this.roleName=e}dispose(){this.pointerMoveHandler&&(ze(this.pointerMoveHandler),this.pointerMoveHandler=null),this.clickHandler&&(ze(this.clickHandler),this.clickHandler=null),this.pointerEnterHandler&&(ze(this.pointerEnterHandler),this.pointerEnterHandler=null),this.pointerLeaveHandler&&(ze(this.pointerLeaveHandler),this.pointerLeaveHandler=null),this.onKeyDownHandler&&(ze(this.onKeyDownHandler),this.onKeyDownHandler=null);for(let e=0,t;t=this.menuItems[e];e++)t.dispose();this.element=null}getMenuItem(e){const t=this.getElement();for(;e&&e!==t;){if(e.classList.contains("blocklyMenuItem")){for(let o=0,n;n=this.menuItems[o];o++)if(n.getElement()===e)return n}e=e.parentElement}return null}setHighlighted(e){var t=this.highlightedItem;if(t&&(t.setHighlighted(!1),this.highlightedItem=null),e){e.setHighlighted(!0),this.highlightedItem=e,t=this.getElement();const o=t==null?void 0:t.parentElement,n=e.getElement();o&&n&&(ha(n,o),It(t,Ct.ACTIVEDESCENDANT,e.getId()))}}highlightNext(){const e=this.highlightedItem?this.menuItems.indexOf(this.highlightedItem):-1;this.highlightHelper(e,1)}highlightPrevious(){const e=this.highlightedItem?this.menuItems.indexOf(this.highlightedItem):-1;this.highlightHelper(0>e?this.menuItems.length:e,-1)}highlightFirst(){this.highlightHelper(-1,1)}highlightLast(){this.highlightHelper(this.menuItems.length,-1)}highlightHelper(e,t){e+=t;let o;for(;o=this.menuItems[e];){if(o.isEnabled()){this.setHighlighted(o);break}e+=t}}handlePointerMove(e){Math.max(Math.abs(e.movementX),Math.abs(e.movementY))!==0&&(e=this.getMenuItem(e.target))&&(e.isEnabled()?this.highlightedItem!==e&&this.setHighlighted(e):this.setHighlighted(null))}handleClick(e){const t=this.openingCoords;if(this.openingCoords=null,t&&typeof e.clientX=="number"){const o=new V(e.clientX,e.clientY);if(1>V.distance(t,o))return}(e=this.getMenuItem(e.target))&&e.performAction()}handlePointerEnter(e){this.focus()}handlePointerLeave(e){this.getElement()&&this.setHighlighted(null)}handleKeyEvent(e){if(this.menuItems.length&&!(e.shiftKey||e.ctrlKey||e.metaKey||e.altKey)){var t=this.highlightedItem;switch(e.key){case"Enter":case" ":t&&t.performAction();break;case"ArrowUp":this.highlightPrevious();break;case"ArrowDown":this.highlightNext();break;case"PageUp":case"Home":this.highlightFirst();break;case"PageDown":case"End":this.highlightLast();break;default:return}e.preventDefault(),e.stopPropagation()}}getSize(){const e=this.getElement(),t=Ln(e);return t.height=e.scrollHeight,t}},Rh=class{constructor(e,t){this.content=e,this.opt_value=t,this.enabled=!0,this.element=null,this.rightToLeft=!1,this.roleName=null,this.highlight=this.checked=this.checkable=!1,this.actionHandler=null}createDom(){const e=document.createElement("div");e.id=k(),this.element=e,e.className="blocklyMenuItem goog-menuitem "+(this.enabled?"":"blocklyMenuItemDisabled goog-menuitem-disabled ")+(this.checked?"blocklyMenuItemSelected goog-option-selected ":"")+(this.highlight?"blocklyMenuItemHighlight goog-menuitem-highlight ":"")+(this.rightToLeft?"blocklyMenuItemRtl goog-menuitem-rtl ":"");const t=document.createElement("div");if(t.className="blocklyMenuItemContent goog-menuitem-content",this.checkable){var o=document.createElement("div");o.className="blocklyMenuItemCheckbox goog-menuitem-checkbox",t.appendChild(o)}return o=this.content,typeof this.content=="string"&&(o=document.createTextNode(this.content)),t.appendChild(o),e.appendChild(t),this.roleName&&_o(e,this.roleName),It(e,Ct.SELECTED,this.checkable&&this.checked||!1),It(e,Ct.DISABLED,!this.enabled),e}dispose(){this.element=null}getElement(){return this.element}getId(){return this.element.id}getValue(){let e;return(e=this.opt_value)!=null?e:null}setRightToLeft(e){this.rightToLeft=e}setRole(e){this.roleName=e}setCheckable(e){this.checkable=e}setChecked(e){this.checked=e}setHighlighted(e){this.highlight=e;const t=this.getElement();t&&this.isEnabled()&&(e?(ge(t,"blocklyMenuItemHighlight"),ge(t,"goog-menuitem-highlight")):(ot(t,"blocklyMenuItemHighlight"),ot(t,"goog-menuitem-highlight")))}isEnabled(){return this.enabled}setEnabled(e){this.enabled=e}performAction(){this.isEnabled()&&this.actionHandler&&this.actionHandler(this)}onAction(e,t){this.actionHandler=e.bind(t)}},ur="_TEMP_COLLAPSED_INPUT",dl="_TEMP_COLLAPSED_FIELD",Ft="MANUALLY_DISABLED",UT={COLLAPSED_FIELD_NAME:dl,COLLAPSED_INPUT_NAME:ur,MANUALLY_DISABLED:Ft};(function(e){e[e.VALUE=1]="VALUE",e[e.STATEMENT=3]="STATEMENT",e[e.DUMMY=5]="DUMMY",e[e.CUSTOM=6]="CUSTOM",e[e.END_ROW=7]="END_ROW"})(i.inputTypes$$module$build$src$core$inputs$input_types||(i.inputTypes$$module$build$src$core$inputs$input_types={})),i.inputTypes$$module$build$src$core$inputs$input_types;var hl=new Set,Oh=new WeakSet,Mh=new WeakMap,Vi=null,Nh=null,Gb=0,pl={};pl.finishQueuedRenders=ws,pl.queueRender=vu,pl.triggerQueuedRenders=Qs;var Kb=function(e,t){window.alert(e),t&&t()},Yb=function(e,t){t(window.confirm(e))},Jb=function(e,t,o){o(window.prompt(e,t))},qb={confirmInternal:rf},oi={TEST_ONLY:qb};oi.alert=Un,oi.confirm=Ca,oi.prompt=Ta,oi.setAlert=nf,oi.setConfirm=af,oi.setPrompt=lf;var Lh,Xb;i.Msg$$module$build$src$core$msg=Object.create(null),Lh=function(e){Object.keys(e).forEach(function(t){i.Msg$$module$build$src$core$msg[t]=e[t]})},Xb={Msg:i.Msg$$module$build$src$core$msg,setLocale:Lh};var dr=class extends Ui{constructor(e){super(),this.isBlank=typeof e>"u",e&&(this.varId=e.getId(),this.workspaceId=e.workspace.id)}toJson(){const e=super.toJson();if(!this.varId)throw Error("The var ID is undefined. Either pass a variable to the constructor, or call fromJson");return e.varId=this.varId,e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new dr),t.varId=e.varId,t}},Ph=class extends dr{constructor(e){super(e),this.type=O.VAR_CREATE,e&&(this.varType=e.type,this.varName=e.name)}toJson(){const e=super.toJson();if(this.varType===void 0)throw Error("The var type is undefined. Either pass a variable to the constructor, or call fromJson");if(!this.varName)throw Error("The var name is undefined. Either pass a variable to the constructor, or call fromJson");return e.varType=this.varType,e.varName=this.varName,e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new Ph),t.varType=e.varType,t.varName=e.varName,t}run(e){const t=this.getEventWorkspace_();if(!this.varId)throw Error("The var ID is undefined. Either pass a variable to the constructor, or call fromJson");if(!this.varName)throw Error("The var name is undefined. Either pass a variable to the constructor, or call fromJson");e?t.createVariable(this.varName,this.varType,this.varId):t.deleteVariableById(this.varId)}};r(F.EVENT,O.VAR_CREATE,Ph);var hr=class{constructor(e,t,o,n){this.workspace=e,this.name=t,this.type=o||"",this.id=n||C()}getId(){return this.id}static compareByName(e,t){return e.name.localeCompare(t.name,void 0,{sensitivity:"base"})}},Bh="VARIABLE",jh="ijkmnopqrstuvwxyzabcdefgh",Zb={generateUniqueNameInternal:uf},At={CATEGORY_NAME:Bh,TEST_ONLY:Zb,VAR_LETTER_OPTIONS:jh};At.allDeveloperVariables=i.allDeveloperVariables$$module$build$src$core$variables,At.allUsedVarModels=i.allUsedVarModels$$module$build$src$core$variables,At.createVariableButtonHandler=Ai,At.flyoutCategory=ka,At.flyoutCategoryBlocks=Tu,At.generateUniqueName=ku,At.generateUniqueNameFromOptions=Sa,At.generateVariableFieldDom=Vo,At.getAddedVariables=Hn,At.getOrCreateVariablePackage=i.getOrCreateVariablePackage$$module$build$src$core$variables,At.getVariable=i.getVariable$$module$build$src$core$variables,At.nameUsedWithAnyType=Su,At.nameUsedWithConflictingParam=Eu,At.promptName=Ea,At.renameVariable=i.renameVariable$$module$build$src$core$variables;var Gi=class extends Error{},Qb=class extends Gi{constructor(e){super("Expected to find a 'type' property, defining the block type"),this.state=e}},pr=class extends Gi{constructor(e,t,o){super(`The block ${t.toDevString()} is missing a(n) ${e} -connection`),this.block=t,this.state=o}},ev=class extends Gi{constructor(e,t,o,n){super(`The block ${o.toDevString()} could not connect its -${t} to its parent, because: ${e}`),this.childBlock=o,this.childState=n}},tv=class extends Gi{constructor(e){super(`Encountered a real block which is defined as a child of a shadow +`);var zb=100,Ub=75,Hb=50,Wb=25,jT={BLOCKS:Hb,PROCEDURES:Ub,VARIABLES:zb,WORKSPACE_COMMENTS:Wb},Ih={};Ih.register=jn,Ih.unregister=Zm;var Gb=class{constructor(){this.priority=Wb}save(e){const t=[];for(const o of e.getTopComments())(e=xi(o,{addCoordinates:!0,saveIds:!0}))&&t.push(e);return t.length?t:null}load(e,t){for(const o of e)Fn(o,t,{recordUndo:me()})}clear(e){for(const t of e.getTopComments())t.dispose()}};jn("workspaceComments",new Gb);var cl={};cl.WorkspaceCommentSerializer=Gb,cl.append=Fn,cl.save=xi;var xh={};xh.register=_a,xh.unregister=Qm;var ul=class{paste(e,t,o){e=e.commentState,o&&(e.x=o.x,e.y=o.y),i.disable$$module$build$src$core$events$utils();let n;try{n=Fn(e,t),ef(n)}finally{i.enable$$module$build$src$core$events$utils()}return n?(K()&&z(new(V(O.COMMENT_CREATE))(n)),i.setSelected$$module$build$src$core$common(n),n):null}};ul.TYPE="workspace-comment",_a(ul.TYPE,new ul);var Dh;Dh=28,i.config$$module$build$src$core$config={dragRadius:5,flyoutDragRadius:10,snapRadius:Dh,connectingSnapRadius:Dh,currentConnectionPreference:8,bumpDelay:250},i.config$$module$build$src$core$config;var FT="aria-",zT="role",ks;(function(e){e.GRID="grid",e.GRIDCELL="gridcell",e.GROUP="group",e.LISTBOX="listbox",e.MENU="menu",e.MENUITEM="menuitem",e.MENUITEMCHECKBOX="menuitemcheckbox",e.OPTION="option",e.PRESENTATION="presentation",e.ROW="row",e.TREE="tree",e.TREEITEM="treeitem"})(ks||(ks={}));var Ct;(function(e){e.ACTIVEDESCENDANT="activedescendant",e.COLCOUNT="colcount",e.DISABLED="disabled",e.EXPANDED="expanded",e.INVALID="invalid",e.LABEL="label",e.LABELLEDBY="labelledby",e.LEVEL="level",e.ORIENTATION="orientation",e.POSINSET="posinset",e.ROWCOUNT="rowcount",e.SELECTED="selected",e.SETSIZE="setsize",e.VALUEMAX="valuemax",e.VALUEMIN="valuemin"})(Ct||(Ct={}));var cr={};cr.Role=ks,cr.State=Ct,cr.setRole=_o,cr.setState=It;var Ah=class{constructor(){this.menuItems=[],this.roleName=this.element=this.onKeyDownHandler=this.pointerLeaveHandler=this.pointerEnterHandler=this.clickHandler=this.pointerMoveHandler=this.highlightedItem=this.openingCoords=null}addChild(e){this.menuItems.push(e)}render(e){const t=document.createElement("div");t.className="blocklyMenu goog-menu blocklyNonSelectable",t.tabIndex=0,this.roleName&&_o(t,this.roleName),this.element=t;for(let o=0,n;n=this.menuItems[o];o++)t.appendChild(n.createDom());return this.pointerMoveHandler=X(t,"pointermove",this,this.handlePointerMove,!0),this.clickHandler=X(t,"pointerup",this,this.handleClick,!0),this.pointerEnterHandler=X(t,"pointerenter",this,this.handlePointerEnter,!0),this.pointerLeaveHandler=X(t,"pointerleave",this,this.handlePointerLeave,!0),this.onKeyDownHandler=X(t,"keydown",this,this.handleKeyEvent),e.appendChild(t),t}getElement(){return this.element}focus(){const e=this.getElement();e&&(e.focus({preventScroll:!0}),ge(e,"blocklyFocused"))}blur(){const e=this.getElement();e&&(e.blur(),ot(e,"blocklyFocused"))}setRole(e){this.roleName=e}dispose(){this.pointerMoveHandler&&(ze(this.pointerMoveHandler),this.pointerMoveHandler=null),this.clickHandler&&(ze(this.clickHandler),this.clickHandler=null),this.pointerEnterHandler&&(ze(this.pointerEnterHandler),this.pointerEnterHandler=null),this.pointerLeaveHandler&&(ze(this.pointerLeaveHandler),this.pointerLeaveHandler=null),this.onKeyDownHandler&&(ze(this.onKeyDownHandler),this.onKeyDownHandler=null);for(let e=0,t;t=this.menuItems[e];e++)t.dispose();this.element=null}getMenuItem(e){const t=this.getElement();for(;e&&e!==t;){if(e.classList.contains("blocklyMenuItem")){for(let o=0,n;n=this.menuItems[o];o++)if(n.getElement()===e)return n}e=e.parentElement}return null}setHighlighted(e){var t=this.highlightedItem;if(t&&(t.setHighlighted(!1),this.highlightedItem=null),e){e.setHighlighted(!0),this.highlightedItem=e,t=this.getElement();const o=t==null?void 0:t.parentElement,n=e.getElement();o&&n&&(ha(n,o),It(t,Ct.ACTIVEDESCENDANT,e.getId()))}}highlightNext(){const e=this.highlightedItem?this.menuItems.indexOf(this.highlightedItem):-1;this.highlightHelper(e,1)}highlightPrevious(){const e=this.highlightedItem?this.menuItems.indexOf(this.highlightedItem):-1;this.highlightHelper(0>e?this.menuItems.length:e,-1)}highlightFirst(){this.highlightHelper(-1,1)}highlightLast(){this.highlightHelper(this.menuItems.length,-1)}highlightHelper(e,t){e+=t;let o;for(;o=this.menuItems[e];){if(o.isEnabled()){this.setHighlighted(o);break}e+=t}}handlePointerMove(e){Math.max(Math.abs(e.movementX),Math.abs(e.movementY))!==0&&(e=this.getMenuItem(e.target))&&(e.isEnabled()?this.highlightedItem!==e&&this.setHighlighted(e):this.setHighlighted(null))}handleClick(e){const t=this.openingCoords;if(this.openingCoords=null,t&&typeof e.clientX=="number"){const o=new G(e.clientX,e.clientY);if(1>G.distance(t,o))return}(e=this.getMenuItem(e.target))&&e.performAction()}handlePointerEnter(e){this.focus()}handlePointerLeave(e){this.getElement()&&this.setHighlighted(null)}handleKeyEvent(e){if(this.menuItems.length&&!(e.shiftKey||e.ctrlKey||e.metaKey||e.altKey)){var t=this.highlightedItem;switch(e.key){case"Enter":case" ":t&&t.performAction();break;case"ArrowUp":this.highlightPrevious();break;case"ArrowDown":this.highlightNext();break;case"PageUp":case"Home":this.highlightFirst();break;case"PageDown":case"End":this.highlightLast();break;default:return}e.preventDefault(),e.stopPropagation()}}getSize(){const e=this.getElement(),t=Ln(e);return t.height=e.scrollHeight,t}},Rh=class{constructor(e,t){this.content=e,this.opt_value=t,this.enabled=!0,this.element=null,this.rightToLeft=!1,this.roleName=null,this.highlight=this.checked=this.checkable=!1,this.actionHandler=null}createDom(){const e=document.createElement("div");e.id=k(),this.element=e,e.className="blocklyMenuItem goog-menuitem "+(this.enabled?"":"blocklyMenuItemDisabled goog-menuitem-disabled ")+(this.checked?"blocklyMenuItemSelected goog-option-selected ":"")+(this.highlight?"blocklyMenuItemHighlight goog-menuitem-highlight ":"")+(this.rightToLeft?"blocklyMenuItemRtl goog-menuitem-rtl ":"");const t=document.createElement("div");if(t.className="blocklyMenuItemContent goog-menuitem-content",this.checkable){var o=document.createElement("div");o.className="blocklyMenuItemCheckbox goog-menuitem-checkbox",t.appendChild(o)}return o=this.content,typeof this.content=="string"&&(o=document.createTextNode(this.content)),t.appendChild(o),e.appendChild(t),this.roleName&&_o(e,this.roleName),It(e,Ct.SELECTED,this.checkable&&this.checked||!1),It(e,Ct.DISABLED,!this.enabled),e}dispose(){this.element=null}getElement(){return this.element}getId(){return this.element.id}getValue(){let e;return(e=this.opt_value)!=null?e:null}setRightToLeft(e){this.rightToLeft=e}setRole(e){this.roleName=e}setCheckable(e){this.checkable=e}setChecked(e){this.checked=e}setHighlighted(e){this.highlight=e;const t=this.getElement();t&&this.isEnabled()&&(e?(ge(t,"blocklyMenuItemHighlight"),ge(t,"goog-menuitem-highlight")):(ot(t,"blocklyMenuItemHighlight"),ot(t,"goog-menuitem-highlight")))}isEnabled(){return this.enabled}setEnabled(e){this.enabled=e}performAction(){this.isEnabled()&&this.actionHandler&&this.actionHandler(this)}onAction(e,t){this.actionHandler=e.bind(t)}},ur="_TEMP_COLLAPSED_INPUT",dl="_TEMP_COLLAPSED_FIELD",Ft="MANUALLY_DISABLED",UT={COLLAPSED_FIELD_NAME:dl,COLLAPSED_INPUT_NAME:ur,MANUALLY_DISABLED:Ft};(function(e){e[e.VALUE=1]="VALUE",e[e.STATEMENT=3]="STATEMENT",e[e.DUMMY=5]="DUMMY",e[e.CUSTOM=6]="CUSTOM",e[e.END_ROW=7]="END_ROW"})(i.inputTypes$$module$build$src$core$inputs$input_types||(i.inputTypes$$module$build$src$core$inputs$input_types={})),i.inputTypes$$module$build$src$core$inputs$input_types;var hl=new Set,Oh=new WeakSet,Mh=new WeakMap,Gi=null,Nh=null,Vb=0,pl={};pl.finishQueuedRenders=ws,pl.queueRender=vu,pl.triggerQueuedRenders=Qs;var Kb=function(e,t){window.alert(e),t&&t()},Yb=function(e,t){t(window.confirm(e))},Jb=function(e,t,o){o(window.prompt(e,t))},qb={confirmInternal:rf},oi={TEST_ONLY:qb};oi.alert=Un,oi.confirm=Ca,oi.prompt=Ta,oi.setAlert=nf,oi.setConfirm=af,oi.setPrompt=lf;var Lh,Xb;i.Msg$$module$build$src$core$msg=Object.create(null),Lh=function(e){Object.keys(e).forEach(function(t){i.Msg$$module$build$src$core$msg[t]=e[t]})},Xb={Msg:i.Msg$$module$build$src$core$msg,setLocale:Lh};var dr=class extends Ui{constructor(e){super(),this.isBlank=typeof e>"u",e&&(this.varId=e.getId(),this.workspaceId=e.workspace.id)}toJson(){const e=super.toJson();if(!this.varId)throw Error("The var ID is undefined. Either pass a variable to the constructor, or call fromJson");return e.varId=this.varId,e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new dr),t.varId=e.varId,t}},Ph=class extends dr{constructor(e){super(e),this.type=O.VAR_CREATE,e&&(this.varType=e.type,this.varName=e.name)}toJson(){const e=super.toJson();if(this.varType===void 0)throw Error("The var type is undefined. Either pass a variable to the constructor, or call fromJson");if(!this.varName)throw Error("The var name is undefined. Either pass a variable to the constructor, or call fromJson");return e.varType=this.varType,e.varName=this.varName,e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new Ph),t.varType=e.varType,t.varName=e.varName,t}run(e){const t=this.getEventWorkspace_();if(!this.varId)throw Error("The var ID is undefined. Either pass a variable to the constructor, or call fromJson");if(!this.varName)throw Error("The var name is undefined. Either pass a variable to the constructor, or call fromJson");e?t.createVariable(this.varName,this.varType,this.varId):t.deleteVariableById(this.varId)}};r(F.EVENT,O.VAR_CREATE,Ph);var hr=class{constructor(e,t,o,n){this.workspace=e,this.name=t,this.type=o||"",this.id=n||C()}getId(){return this.id}static compareByName(e,t){return e.name.localeCompare(t.name,void 0,{sensitivity:"base"})}},Bh="VARIABLE",jh="ijkmnopqrstuvwxyzabcdefgh",Zb={generateUniqueNameInternal:uf},At={CATEGORY_NAME:Bh,TEST_ONLY:Zb,VAR_LETTER_OPTIONS:jh};At.allDeveloperVariables=i.allDeveloperVariables$$module$build$src$core$variables,At.allUsedVarModels=i.allUsedVarModels$$module$build$src$core$variables,At.createVariableButtonHandler=Ai,At.flyoutCategory=ka,At.flyoutCategoryBlocks=Tu,At.generateUniqueName=ku,At.generateUniqueNameFromOptions=Sa,At.generateVariableFieldDom=Go,At.getAddedVariables=Hn,At.getOrCreateVariablePackage=i.getOrCreateVariablePackage$$module$build$src$core$variables,At.getVariable=i.getVariable$$module$build$src$core$variables,At.nameUsedWithAnyType=Su,At.nameUsedWithConflictingParam=Eu,At.promptName=Ea,At.renameVariable=i.renameVariable$$module$build$src$core$variables;var Vi=class extends Error{},Qb=class extends Vi{constructor(e){super("Expected to find a 'type' property, defining the block type"),this.state=e}},pr=class extends Vi{constructor(e,t,o){super(`The block ${t.toDevString()} is missing a(n) ${e} +connection`),this.block=t,this.state=o}},ev=class extends Vi{constructor(e,t,o,n){super(`The block ${o.toDevString()} could not connect its +${t} to its parent, because: ${e}`),this.childBlock=o,this.childState=n}},tv=class extends Vi{constructor(e){super(`Encountered a real block which is defined as a child of a shadow block. It is an invariant of Blockly that shadow blocks only have shadow -children`),this.state=e}},sv=class extends Gi{constructor(e,t,o){super(`Cannot add an icon of type '${e}' to the block ${t.toDevString()}, because there is no icon registered with type '${e}'. Make sure that all of your icons have been registered.`),this.block=t,this.state=o}},ii={};ii.BadConnectionCheck=ev,ii.DeserializationError=Gi,ii.MissingBlockType=Qb,ii.MissingConnection=pr,ii.RealChildOfShadow=tv,ii.UnregisteredIcon=sv;var ov=class{constructor(){this.priority=Hb}save(e){const t=[];for(const o of e.getTopBlocks(!1))(e=Qt(o,{addCoordinates:!0,doFullSerialization:!1}))&&t.push(e);return t.length?{languageVersion:0,blocks:t}:null}load(e,t){e=e.blocks;for(const o of e)eo(o,t,{recordUndo:me()})}clear(e){for(const t of e.getTopBlocks(!1))t.dispose(!1)}};jn("blocks",new ov);var gr={};gr.BlockSerializer=ov,gr.append=eo,gr.appendInternal=Ri,gr.save=Qt;var yt=class{constructor(e){this.name=e}toString(){return this.name}equals(e){return this.name===e.toString()}};yt.MUTATOR=new yt("mutator"),yt.WARNING=new yt("warning"),yt.COMMENT=new yt("comment");var ni=class extends Ui{constructor(e){super(),this.isBlank=!e,e&&(this.blockId=e.id,this.workspaceId=e.workspace.id)}toJson(){const e=super.toJson();if(!this.blockId)throw Error("The block ID is undefined. Either pass a block to the constructor, or call fromJson");return e.blockId=this.blockId,e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new ni),t.blockId=e.blockId,t}},ri=class extends ni{constructor(e,t,o,n,c){super(e),this.type=O.BLOCK_CHANGE,e&&(this.element=t,this.name=o||void 0,this.oldValue=n,this.newValue=c)}toJson(){const e=super.toJson();if(!this.element)throw Error("The changed element is undefined. Either pass an element to the constructor, or call fromJson");return e.element=this.element,e.name=this.name,e.oldValue=this.oldValue,e.newValue=this.newValue,this.disabledReason&&(e.disabledReason=this.disabledReason),e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new ri),t.element=e.element,t.name=e.name,t.oldValue=e.oldValue,t.newValue=e.newValue,e.disabledReason!==void 0&&(t.disabledReason=e.disabledReason),t}setDisabledReason(e){if(this.element!=="disabled")throw Error('Cannot set the disabled reason for a BlockChange event if the element is not "disabled".');this.disabledReason=e}isNull(){return this.oldValue===this.newValue}run(e){var t=this.getEventWorkspace_();if(!this.blockId)throw Error("The block ID is undefined. Either pass a block to the constructor, or call fromJson");if(t=t.getBlockById(this.blockId),!t)throw Error("The associated block is undefined. Either pass a block to the constructor, or call fromJson");const o=t.getIcon(yt.MUTATOR);switch(o&&Oi(o)&&o.bubbleIsVisible()&&o.setBubbleVisible(!1),e=e?this.newValue:this.oldValue,this.element){case"field":(t=t.getField(this.name))?t.setValue(e):console.warn("Can't set non-existent field: "+this.name);break;case"comment":t.setCommentText(e||null);break;case"collapsed":t.setCollapsed(!!e);break;case"disabled":var n;t.setDisabledReason(!!e,(n=this.disabledReason)!=null?n:Ft);break;case"inline":t.setInputsInline(!!e);break;case"mutation":n=ri.getExtraBlockState_(t),t.loadExtraState?t.loadExtraState(JSON.parse(e||"{}")):t.domToMutation&&t.domToMutation(i.textToDom$$module$build$src$core$utils$xml(e||"")),z(new ri(t,"mutation",null,n,e));break;default:console.warn("Unknown change type: "+this.element)}}static getExtraBlockState_(e){return e.saveExtraState?(e=e.saveExtraState(!0))?JSON.stringify(e):"":e.mutationToDom&&(e=e.mutationToDom())?Ls(e):""}};r(F.EVENT,O.BLOCK_CHANGE,ri);var gl={};gl.clamp=Mi,gl.toDegrees=Rf,gl.toRadians=Ia;var ml=16,iv=1,nv=12,Fh=16,fl=.25,zh=null,ai=null,Ki="",Yi="",Ue,Ji,li,Uh=null,xo=null,rv=null,Hh={getBoundsInfo:function(){const e=yo(Uh),t=Ln(Uh);return{left:e.x,right:e.x+t.width,top:e.y,bottom:e.y+t.height,width:t.width,height:t.height}},getPositionMetrics:function(e,t,o,n){const c=Hh.getBoundsInfo(),h=Ln(Ue);return t+h.heightc.top?zu(o,n,c,h):t+h.heightdocument.documentElement.clientTop?zu(o,n,c,h):Mf(e,c,h)}},Nt={ANIMATION_TIME:fl,ARROW_HORIZONTAL_PADDING:nv,ARROW_SIZE:ml,BORDER_SIZE:iv,PADDING_Y:Fh,TEST_ONLY:Hh};Nt.clearContent=xa,Nt.createDom=Au,Nt.getContentDiv=Wn,Nt.getOwner=Ou,Nt.getPositionX=Vn,Nt.hide=Aa,Nt.hideIfOwner=Da,Nt.hideWithoutAnimation=Ns,Nt.isVisible=Uu,Nt.repositionForWindowResize=Wu,Nt.setBoundsElement=Ru,Nt.setColour=Mu,Nt.show=ju,Nt.showPositionedByBlock=Of,Nt.showPositionedByField=Nu;var mr=class{constructor(e){this.workspace=e,this.cursorSvg=this.cursor=null,this.markers=new Map,this.markerSvg=null}registerMarker(e,t){this.markers.has(e)&&this.unregisterMarker(e),t.setDrawer(this.workspace.getRenderer().makeMarkerDrawer(this.workspace,t)),this.setMarkerSvg(t.getDrawer().createDom()),this.markers.set(e,t)}unregisterMarker(e){const t=this.markers.get(e);if(t)t.dispose(),this.markers.delete(e);else throw Error("Marker with ID "+e+" does not exist. Can only unregister markers that exist.")}getCursor(){return this.cursor}getMarker(e){return this.markers.get(e)||null}setCursor(e){this.cursor&&this.cursor.getDrawer()&&this.cursor.getDrawer().dispose(),(this.cursor=e)&&(e=this.workspace.getRenderer().makeMarkerDrawer(this.workspace,this.cursor),this.cursor.setDrawer(e),this.setCursorSvg(this.cursor.getDrawer().createDom()))}setCursorSvg(e){e?(this.workspace.getBlockCanvas().appendChild(e),this.cursorSvg=e):this.cursorSvg=null}setMarkerSvg(e){e?this.workspace.getBlockCanvas()&&(this.cursorSvg?this.workspace.getBlockCanvas().insertBefore(e,this.cursorSvg):this.workspace.getBlockCanvas().appendChild(e)):this.markerSvg=null}updateMarkers(){this.workspace.keyboardAccessibilityMode&&this.cursorSvg&&this.workspace.getCursor().draw()}dispose(){const e=Object.keys(this.markers);for(let t=0,o;o=e[t];t++)this.unregisterMarker(o);this.markers.clear(),this.cursor&&(this.cursor.dispose(),this.cursor=null)}};mr.LOCAL_MARKER="local_marker_1";var qi={};qi.commonWordPrefix=Vu,qi.commonWordSuffix=Gu,qi.isNumber=i.isNumber$$module$build$src$core$utils$string,qi.shortestStringLength=Gn,qi.wrap=i.wrap$$module$build$src$core$utils$string;var $l=void 0,fr=!1,Xi=!1,av=50,lv=0,ci=0,Wh=0,Vh=0,cs=null,$r=null,Gh=0,Kh=10,cv=10,uv=750,bl=5,_t=null,ts={HOVER_MS:uv,LIMIT:av,MARGINS:bl,OFFSET_X:Gh,OFFSET_Y:Kh,RADIUS_OK:cv};ts.bindMouseEvents=Li,ts.block=Zu,ts.createDom=Ju,ts.dispose=Xu,ts.getCustomTooltip=Bf,ts.getDiv=Ff,ts.getTooltipOfObject=Ni,ts.hide=to,ts.isVisible=jf,ts.setCustomTooltip=Pf,ts.unbindMouseEvents=Oa,ts.unblock=Qu;var Yh=.45,Jh=.65,dv={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00"},us={};us.blend=Ko,us.getHsvSaturation=ed,us.getHsvValue=td,us.hexToRgb=Ma,us.hsvToHex=Na,us.hueToHex=sd,us.names=dv,us.parse=Go,us.rgbToHex=Kn,us.setHsvSaturation=Kf,us.setHsvValue=Yf;var br={};br.checkMessageReferences=Jf,br.parseBlockColour=Pi,br.replaceMessageReferences=pt,br.tokenizeInterpolation=od;var Qe=class{constructor(e,t,o){this.DEFAULT_VALUE=null,this.name=void 0,this.constants_=this.mouseDownWrapper=this.textContent_=this.textElement_=this.borderRect_=this.fieldGroup_=this.markerSvg=this.cursorSvg=this.tooltip=this.validator_=null,this.disposed=!1,this.maxDisplayLength=50,this.sourceBlock_=null,this.enabled_=this.visible_=this.isDirty_=!0,this.suffixField=this.prefixField=this.clickTarget_=null,this.EDITABLE=!0,this.SERIALIZABLE=!1,this.CURSOR="",this.value_="DEFAULT_VALUE"in new.target.prototype?new.target.prototype.DEFAULT_VALUE:this.DEFAULT_VALUE,this.size_=new Le(0,0),e!==Qe.SKIP_SETUP&&(o&&this.configure_(o),this.setValue(e),t&&this.setValidator(t))}configure_(e){e.tooltip&&this.setTooltip(pt(e.tooltip))}setSourceBlock(e){if(this.sourceBlock_)throw Error("Field already bound to a block");this.sourceBlock_=e}getConstants(){return!this.constants_&&this.sourceBlock_&&!this.sourceBlock_.isDeadOrDying()&&this.sourceBlock_.workspace.rendered&&(this.constants_=this.sourceBlock_.workspace.getRenderer().getConstants()),this.constants_}getSourceBlock(){return this.sourceBlock_}init(){this.fieldGroup_||(this.fieldGroup_=N(x.G,{}),this.isVisible()||(this.fieldGroup_.style.display="none"),this.sourceBlock_.getSvgRoot().appendChild(this.fieldGroup_),this.initView(),this.updateEditable(),this.setTooltip(this.tooltip),this.bindEvents_(),this.initModel(),this.applyColour())}initView(){this.createBorderRect_(),this.createTextElement_()}initModel(){}isFullBlockField(){return!this.borderRect_}createBorderRect_(){this.borderRect_=N(x.RECT,{rx:this.getConstants().FIELD_BORDER_RECT_RADIUS,ry:this.getConstants().FIELD_BORDER_RECT_RADIUS,x:0,y:0,height:this.size_.height,width:this.size_.width,class:"blocklyFieldRect"},this.fieldGroup_)}createTextElement_(){this.textElement_=N(x.TEXT,{class:"blocklyText"},this.fieldGroup_),this.getConstants().FIELD_TEXT_BASELINE_CENTER&&this.textElement_.setAttribute("dominant-baseline","central"),this.textContent_=document.createTextNode(""),this.textElement_.appendChild(this.textContent_)}bindEvents_(){const e=this.getClickTarget_();if(!e)throw Error("A click target has not been set.");Li(e),this.mouseDownWrapper=X(e,"pointerdown",this,this.onMouseDown_)}fromXml(e){this.setValue(e.textContent)}toXml(e){return e.textContent=this.getValue(),e}saveState(e){return e=this.saveLegacyState(Qe),e!==null?e:this.getValue()}loadState(e){this.loadLegacyState(Qe,e)||this.setValue(e)}saveLegacyState(e){return e.prototype.saveState===this.saveState&&e.prototype.toXml!==this.toXml?(e=i.createElement$$module$build$src$core$utils$xml("field"),e.setAttribute("name",this.name||""),Ii(this.toXml(e)).replace(' xmlns="https://developers.google.com/blockly/xml"',"")):null}loadLegacyState(e,t){return e.prototype.loadState===this.loadState&&e.prototype.fromXml!==this.fromXml?(this.fromXml(i.textToDom$$module$build$src$core$utils$xml(t)),!0):!1}dispose(){Da(this),Jo(this);let e;(e=this.getSourceBlock())!=null&&e.isDeadOrDying()||Ke(this.fieldGroup_),this.disposed=!0}updateEditable(){const e=this.fieldGroup_,t=this.getSourceBlock();this.EDITABLE&&e&&t&&(this.enabled_&&t.isEditable()?(ge(e,"blocklyEditableText"),ot(e,"blocklyNonEditableText"),e.style.cursor=this.CURSOR):(ge(e,"blocklyNonEditableText"),ot(e,"blocklyEditableText"),e.style.cursor=""))}setEnabled(e){this.enabled_=e,this.updateEditable()}isEnabled(){return this.enabled_}isClickable(){return this.enabled_&&!!this.sourceBlock_&&this.sourceBlock_.isEditable()&&this.showEditor_!==Qe.prototype.showEditor_}isClickableInFlyout(e){return!e}isCurrentlyEditable(){return this.enabled_&&this.EDITABLE&&!!this.sourceBlock_&&this.sourceBlock_.isEditable()}isSerializable(){let e=!1;return this.name&&(this.SERIALIZABLE?e=!0:this.EDITABLE&&(console.warn("Detected an editable field that was not serializable. Please define SERIALIZABLE property as true on all editable custom fields. Proceeding with serialization."),e=!0)),e}isVisible(){return this.visible_}setVisible(e){if(this.visible_!==e){this.visible_=e;var t=this.fieldGroup_;t&&(t.style.display=e?"block":"none")}}setValidator(e){this.validator_=e}getValidator(){return this.validator_}getSvgRoot(){return this.fieldGroup_}getBorderRect(){if(!this.borderRect_)throw Error(`The border rectangle is ${this.borderRect_}.`);return this.borderRect_}getTextElement(){if(!this.textElement_)throw Error(`The text element is ${this.textElement_}.`);return this.textElement_}getTextContent(){if(!this.textContent_)throw Error(`The text content is ${this.textContent_}.`);return this.textContent_}applyColour(){}render_(){this.textContent_&&(this.textContent_.nodeValue=this.getDisplayText_()),this.updateSize_()}showEditor(e){this.isClickable()&&this.showEditor_(e)}showEditor_(e){}repositionForWindowResize(){return!1}updateSize_(e){const t=this.getConstants();e=e!==void 0?e:this.isFullBlockField()?0:this.getConstants().FIELD_BORDER_RECT_X_PADDING;let o=2*e,n=t.FIELD_TEXT_HEIGHT,c=0;this.textElement_&&(c=Nn(this.textElement_,t.FIELD_TEXT_FONTSIZE,t.FIELD_TEXT_FONTWEIGHT,t.FIELD_TEXT_FONTFAMILY),o+=c),this.isFullBlockField()||(n=Math.max(n,t.FIELD_BORDER_RECT_HEIGHT)),this.size_.height=n,this.size_.width=o,this.positionTextElement_(e,c),this.positionBorderRect_()}positionTextElement_(e,t){if(this.textElement_){var o=this.getConstants(),n=this.size_.height/2,c;this.textElement_.setAttribute("x",String((c=this.getSourceBlock())!=null&&c.RTL?this.size_.width-t-e:e)),this.textElement_.setAttribute("y",String(o.FIELD_TEXT_BASELINE_CENTER?n:n-o.FIELD_TEXT_HEIGHT/2+o.FIELD_TEXT_BASELINE))}}positionBorderRect_(){this.borderRect_&&(this.borderRect_.setAttribute("width",String(this.size_.width)),this.borderRect_.setAttribute("height",String(this.size_.height)),this.borderRect_.setAttribute("rx",String(this.getConstants().FIELD_BORDER_RECT_RADIUS)),this.borderRect_.setAttribute("ry",String(this.getConstants().FIELD_BORDER_RECT_RADIUS)))}getSize(){return this.isVisible()?(this.isDirty_?(this.render_(),this.isDirty_=!1):this.visible_&&this.size_.width===0&&(this.render_(),this.size_.width!==0&&console.warn("Deprecated use of setting size_.width to 0 to rerender a field. Set field.isDirty_ to true instead.")),this.size_):new Le(0,0)}getScaledBBox(){let e;var t=this.getSourceBlock();if(!t)throw new ft;if(this.isFullBlockField()){var o=this.sourceBlock_.getHeightWidth();const n=t.workspace.scale;e=this.getAbsoluteXY_(),t=(o.width+1)*n,o=(o.height+1)*n,Ib?(e.x+=1.5*n,e.y+=1.5*n):(e.x-=.5*n,e.y-=.5*n)}else o=this.borderRect_.getBoundingClientRect(),e=yo(this.borderRect_),t=o.width,o=o.height;return new qe(e.y,e.y+o,e.x,e.x+t)}onLocationChange(e){}getDisplayText_(){let e=this.getText();return e?(e.length>this.maxDisplayLength&&(e=e.substring(0,this.maxDisplayLength-2)+"…"),e=e.replace(/\s/g,Qe.NBSP),this.sourceBlock_&&this.sourceBlock_.RTL&&(e+="‏"),e):Qe.NBSP}getText(){const e=this.getText_();return String(e!==null?e:this.getValue())}getText_(){return null}markDirty(){this.isDirty_=!0,this.constants_=null}forceRerender(){this.isDirty_=!0,this.sourceBlock_&&this.sourceBlock_.rendered&&this.sourceBlock_.queueRender()}setValue(e,t=!0){if(e!==null){var o=i.getGroup$$module$build$src$core$events$utils();o||i.setGroup$$module$build$src$core$events$utils(!0);try{const L=this.doClassValidation_(e),te=this.processValidation(e,L,t);if(!(te instanceof Error)){var n,c=(n=this.getValidator())==null?void 0:n.call(this,te),h=this.processValidation(te,c,t);if(!(h instanceof Error)){var $=this.sourceBlock_;if(!$||!$.disposed){var T=this.getValue();T===h?this.doValueUpdate_(h):(this.doValueUpdate_(h),t&&$&&K()&&z(new(G(O.BLOCK_CHANGE))($,"field",this.name||null,T,h)),this.isDirty_&&this.forceRerender())}}}}finally{i.setGroup$$module$build$src$core$events$utils(o)}}}processValidation(e,t,o){return t===null?(this.doValueInvalid_(e,o),this.isDirty_&&this.forceRerender(),Error()):t===void 0?e:t}getValue(){return this.value_}doClassValidation_(e){return e??null}doValueUpdate_(e){this.value_=e,this.isDirty_=!0}doValueInvalid_(e,t){}onMouseDown_(e){this.sourceBlock_&&!this.sourceBlock_.isDeadOrDying()&&(e=this.sourceBlock_.workspace.getGesture(e))&&e.setStartField(this)}setTooltip(e){e||e===""||(e=this.sourceBlock_);const t=this.getClickTarget_();t?t.tooltip=e:this.tooltip=e}getTooltip(){const e=this.getClickTarget_();return Ni(e||{tooltip:this.tooltip})}getClickTarget_(){return this.clickTarget_||this.getSvgRoot()}getAbsoluteXY_(){return yo(this.getClickTarget_())}referencesVariables(){return!1}refreshVariableName(){}getParentInput(){let e=null;const t=this.getSourceBlock();if(!t)throw new ft;const o=t.inputList;for(let n=0;n")),z(new ri(t,"mutation",null,n,e));break;default:console.warn("Unknown change type: "+this.element)}}static getExtraBlockState_(e){return e.saveExtraState?(e=e.saveExtraState(!0))?JSON.stringify(e):"":e.mutationToDom&&(e=e.mutationToDom())?Ls(e):""}};r(F.EVENT,O.BLOCK_CHANGE,ri);var gl={};gl.clamp=Mi,gl.toDegrees=Rf,gl.toRadians=Ia;var ml=16,iv=1,nv=12,Fh=16,fl=.25,zh=null,ai=null,Ki="",Yi="",Ue,Ji,li,Uh=null,xo=null,rv=null,Hh={getBoundsInfo:function(){const e=yo(Uh),t=Ln(Uh);return{left:e.x,right:e.x+t.width,top:e.y,bottom:e.y+t.height,width:t.width,height:t.height}},getPositionMetrics:function(e,t,o,n){const c=Hh.getBoundsInfo(),h=Ln(Ue);return t+h.heightc.top?zu(o,n,c,h):t+h.heightdocument.documentElement.clientTop?zu(o,n,c,h):Mf(e,c,h)}},Nt={ANIMATION_TIME:fl,ARROW_HORIZONTAL_PADDING:nv,ARROW_SIZE:ml,BORDER_SIZE:iv,PADDING_Y:Fh,TEST_ONLY:Hh};Nt.clearContent=xa,Nt.createDom=Au,Nt.getContentDiv=Wn,Nt.getOwner=Ou,Nt.getPositionX=Gn,Nt.hide=Aa,Nt.hideIfOwner=Da,Nt.hideWithoutAnimation=Ns,Nt.isVisible=Uu,Nt.repositionForWindowResize=Wu,Nt.setBoundsElement=Ru,Nt.setColour=Mu,Nt.show=ju,Nt.showPositionedByBlock=Of,Nt.showPositionedByField=Nu;var mr=class{constructor(e){this.workspace=e,this.cursorSvg=this.cursor=null,this.markers=new Map,this.markerSvg=null}registerMarker(e,t){this.markers.has(e)&&this.unregisterMarker(e),t.setDrawer(this.workspace.getRenderer().makeMarkerDrawer(this.workspace,t)),this.setMarkerSvg(t.getDrawer().createDom()),this.markers.set(e,t)}unregisterMarker(e){const t=this.markers.get(e);if(t)t.dispose(),this.markers.delete(e);else throw Error("Marker with ID "+e+" does not exist. Can only unregister markers that exist.")}getCursor(){return this.cursor}getMarker(e){return this.markers.get(e)||null}setCursor(e){this.cursor&&this.cursor.getDrawer()&&this.cursor.getDrawer().dispose(),(this.cursor=e)&&(e=this.workspace.getRenderer().makeMarkerDrawer(this.workspace,this.cursor),this.cursor.setDrawer(e),this.setCursorSvg(this.cursor.getDrawer().createDom()))}setCursorSvg(e){e?(this.workspace.getBlockCanvas().appendChild(e),this.cursorSvg=e):this.cursorSvg=null}setMarkerSvg(e){e?this.workspace.getBlockCanvas()&&(this.cursorSvg?this.workspace.getBlockCanvas().insertBefore(e,this.cursorSvg):this.workspace.getBlockCanvas().appendChild(e)):this.markerSvg=null}updateMarkers(){this.workspace.keyboardAccessibilityMode&&this.cursorSvg&&this.workspace.getCursor().draw()}dispose(){const e=Object.keys(this.markers);for(let t=0,o;o=e[t];t++)this.unregisterMarker(o);this.markers.clear(),this.cursor&&(this.cursor.dispose(),this.cursor=null)}};mr.LOCAL_MARKER="local_marker_1";var qi={};qi.commonWordPrefix=Gu,qi.commonWordSuffix=Vu,qi.isNumber=i.isNumber$$module$build$src$core$utils$string,qi.shortestStringLength=Vn,qi.wrap=i.wrap$$module$build$src$core$utils$string;var $l=void 0,fr=!1,Xi=!1,av=50,lv=0,ci=0,Wh=0,Gh=0,cs=null,$r=null,Vh=0,Kh=10,cv=10,uv=750,bl=5,_t=null,ts={HOVER_MS:uv,LIMIT:av,MARGINS:bl,OFFSET_X:Vh,OFFSET_Y:Kh,RADIUS_OK:cv};ts.bindMouseEvents=Li,ts.block=Zu,ts.createDom=Ju,ts.dispose=Xu,ts.getCustomTooltip=Bf,ts.getDiv=Ff,ts.getTooltipOfObject=Ni,ts.hide=to,ts.isVisible=jf,ts.setCustomTooltip=Pf,ts.unbindMouseEvents=Oa,ts.unblock=Qu;var Yh=.45,Jh=.65,dv={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00"},us={};us.blend=Ko,us.getHsvSaturation=ed,us.getHsvValue=td,us.hexToRgb=Ma,us.hsvToHex=Na,us.hueToHex=sd,us.names=dv,us.parse=Vo,us.rgbToHex=Kn,us.setHsvSaturation=Kf,us.setHsvValue=Yf;var br={};br.checkMessageReferences=Jf,br.parseBlockColour=Pi,br.replaceMessageReferences=pt,br.tokenizeInterpolation=od;var Qe=class{constructor(e,t,o){this.DEFAULT_VALUE=null,this.name=void 0,this.constants_=this.mouseDownWrapper=this.textContent_=this.textElement_=this.borderRect_=this.fieldGroup_=this.markerSvg=this.cursorSvg=this.tooltip=this.validator_=null,this.disposed=!1,this.maxDisplayLength=50,this.sourceBlock_=null,this.enabled_=this.visible_=this.isDirty_=!0,this.suffixField=this.prefixField=this.clickTarget_=null,this.EDITABLE=!0,this.SERIALIZABLE=!1,this.CURSOR="",this.value_="DEFAULT_VALUE"in new.target.prototype?new.target.prototype.DEFAULT_VALUE:this.DEFAULT_VALUE,this.size_=new Le(0,0),e!==Qe.SKIP_SETUP&&(o&&this.configure_(o),this.setValue(e),t&&this.setValidator(t))}configure_(e){e.tooltip&&this.setTooltip(pt(e.tooltip))}setSourceBlock(e){if(this.sourceBlock_)throw Error("Field already bound to a block");this.sourceBlock_=e}getConstants(){return!this.constants_&&this.sourceBlock_&&!this.sourceBlock_.isDeadOrDying()&&this.sourceBlock_.workspace.rendered&&(this.constants_=this.sourceBlock_.workspace.getRenderer().getConstants()),this.constants_}getSourceBlock(){return this.sourceBlock_}init(){this.fieldGroup_||(this.fieldGroup_=N(x.G,{}),this.isVisible()||(this.fieldGroup_.style.display="none"),this.sourceBlock_.getSvgRoot().appendChild(this.fieldGroup_),this.initView(),this.updateEditable(),this.setTooltip(this.tooltip),this.bindEvents_(),this.initModel(),this.applyColour())}initView(){this.createBorderRect_(),this.createTextElement_()}initModel(){}isFullBlockField(){return!this.borderRect_}createBorderRect_(){this.borderRect_=N(x.RECT,{rx:this.getConstants().FIELD_BORDER_RECT_RADIUS,ry:this.getConstants().FIELD_BORDER_RECT_RADIUS,x:0,y:0,height:this.size_.height,width:this.size_.width,class:"blocklyFieldRect"},this.fieldGroup_)}createTextElement_(){this.textElement_=N(x.TEXT,{class:"blocklyText"},this.fieldGroup_),this.getConstants().FIELD_TEXT_BASELINE_CENTER&&this.textElement_.setAttribute("dominant-baseline","central"),this.textContent_=document.createTextNode(""),this.textElement_.appendChild(this.textContent_)}bindEvents_(){const e=this.getClickTarget_();if(!e)throw Error("A click target has not been set.");Li(e),this.mouseDownWrapper=X(e,"pointerdown",this,this.onMouseDown_)}fromXml(e){this.setValue(e.textContent)}toXml(e){return e.textContent=this.getValue(),e}saveState(e){return e=this.saveLegacyState(Qe),e!==null?e:this.getValue()}loadState(e){this.loadLegacyState(Qe,e)||this.setValue(e)}saveLegacyState(e){return e.prototype.saveState===this.saveState&&e.prototype.toXml!==this.toXml?(e=i.createElement$$module$build$src$core$utils$xml("field"),e.setAttribute("name",this.name||""),Ii(this.toXml(e)).replace(' xmlns="https://developers.google.com/blockly/xml"',"")):null}loadLegacyState(e,t){return e.prototype.loadState===this.loadState&&e.prototype.fromXml!==this.fromXml?(this.fromXml(i.textToDom$$module$build$src$core$utils$xml(t)),!0):!1}dispose(){Da(this),Jo(this);let e;(e=this.getSourceBlock())!=null&&e.isDeadOrDying()||Ke(this.fieldGroup_),this.disposed=!0}updateEditable(){const e=this.fieldGroup_,t=this.getSourceBlock();this.EDITABLE&&e&&t&&(this.enabled_&&t.isEditable()?(ge(e,"blocklyEditableText"),ot(e,"blocklyNonEditableText"),e.style.cursor=this.CURSOR):(ge(e,"blocklyNonEditableText"),ot(e,"blocklyEditableText"),e.style.cursor=""))}setEnabled(e){this.enabled_=e,this.updateEditable()}isEnabled(){return this.enabled_}isClickable(){return this.enabled_&&!!this.sourceBlock_&&this.sourceBlock_.isEditable()&&this.showEditor_!==Qe.prototype.showEditor_}isClickableInFlyout(e){return!e}isCurrentlyEditable(){return this.enabled_&&this.EDITABLE&&!!this.sourceBlock_&&this.sourceBlock_.isEditable()}isSerializable(){let e=!1;return this.name&&(this.SERIALIZABLE?e=!0:this.EDITABLE&&(console.warn("Detected an editable field that was not serializable. Please define SERIALIZABLE property as true on all editable custom fields. Proceeding with serialization."),e=!0)),e}isVisible(){return this.visible_}setVisible(e){if(this.visible_!==e){this.visible_=e;var t=this.fieldGroup_;t&&(t.style.display=e?"block":"none")}}setValidator(e){this.validator_=e}getValidator(){return this.validator_}getSvgRoot(){return this.fieldGroup_}getBorderRect(){if(!this.borderRect_)throw Error(`The border rectangle is ${this.borderRect_}.`);return this.borderRect_}getTextElement(){if(!this.textElement_)throw Error(`The text element is ${this.textElement_}.`);return this.textElement_}getTextContent(){if(!this.textContent_)throw Error(`The text content is ${this.textContent_}.`);return this.textContent_}applyColour(){}render_(){this.textContent_&&(this.textContent_.nodeValue=this.getDisplayText_()),this.updateSize_()}showEditor(e){this.isClickable()&&this.showEditor_(e)}showEditor_(e){}repositionForWindowResize(){return!1}updateSize_(e){const t=this.getConstants();e=e!==void 0?e:this.isFullBlockField()?0:this.getConstants().FIELD_BORDER_RECT_X_PADDING;let o=2*e,n=t.FIELD_TEXT_HEIGHT,c=0;this.textElement_&&(c=Nn(this.textElement_,t.FIELD_TEXT_FONTSIZE,t.FIELD_TEXT_FONTWEIGHT,t.FIELD_TEXT_FONTFAMILY),o+=c),this.isFullBlockField()||(n=Math.max(n,t.FIELD_BORDER_RECT_HEIGHT)),this.size_.height=n,this.size_.width=o,this.positionTextElement_(e,c),this.positionBorderRect_()}positionTextElement_(e,t){if(this.textElement_){var o=this.getConstants(),n=this.size_.height/2,c;this.textElement_.setAttribute("x",String((c=this.getSourceBlock())!=null&&c.RTL?this.size_.width-t-e:e)),this.textElement_.setAttribute("y",String(o.FIELD_TEXT_BASELINE_CENTER?n:n-o.FIELD_TEXT_HEIGHT/2+o.FIELD_TEXT_BASELINE))}}positionBorderRect_(){this.borderRect_&&(this.borderRect_.setAttribute("width",String(this.size_.width)),this.borderRect_.setAttribute("height",String(this.size_.height)),this.borderRect_.setAttribute("rx",String(this.getConstants().FIELD_BORDER_RECT_RADIUS)),this.borderRect_.setAttribute("ry",String(this.getConstants().FIELD_BORDER_RECT_RADIUS)))}getSize(){return this.isVisible()?(this.isDirty_?(this.render_(),this.isDirty_=!1):this.visible_&&this.size_.width===0&&(this.render_(),this.size_.width!==0&&console.warn("Deprecated use of setting size_.width to 0 to rerender a field. Set field.isDirty_ to true instead.")),this.size_):new Le(0,0)}getScaledBBox(){let e;var t=this.getSourceBlock();if(!t)throw new ft;if(this.isFullBlockField()){var o=this.sourceBlock_.getHeightWidth();const n=t.workspace.scale;e=this.getAbsoluteXY_(),t=(o.width+1)*n,o=(o.height+1)*n,Ib?(e.x+=1.5*n,e.y+=1.5*n):(e.x-=.5*n,e.y-=.5*n)}else o=this.borderRect_.getBoundingClientRect(),e=yo(this.borderRect_),t=o.width,o=o.height;return new qe(e.y,e.y+o,e.x,e.x+t)}onLocationChange(e){}getDisplayText_(){let e=this.getText();return e?(e.length>this.maxDisplayLength&&(e=e.substring(0,this.maxDisplayLength-2)+"…"),e=e.replace(/\s/g,Qe.NBSP),this.sourceBlock_&&this.sourceBlock_.RTL&&(e+="‏"),e):Qe.NBSP}getText(){const e=this.getText_();return String(e!==null?e:this.getValue())}getText_(){return null}markDirty(){this.isDirty_=!0,this.constants_=null}forceRerender(){this.isDirty_=!0,this.sourceBlock_&&this.sourceBlock_.rendered&&this.sourceBlock_.queueRender()}setValue(e,t=!0){if(e!==null){var o=i.getGroup$$module$build$src$core$events$utils();o||i.setGroup$$module$build$src$core$events$utils(!0);try{const L=this.doClassValidation_(e),te=this.processValidation(e,L,t);if(!(te instanceof Error)){var n,c=(n=this.getValidator())==null?void 0:n.call(this,te),h=this.processValidation(te,c,t);if(!(h instanceof Error)){var $=this.sourceBlock_;if(!$||!$.disposed){var T=this.getValue();T===h?this.doValueUpdate_(h):(this.doValueUpdate_(h),t&&$&&K()&&z(new(V(O.BLOCK_CHANGE))($,"field",this.name||null,T,h)),this.isDirty_&&this.forceRerender())}}}}finally{i.setGroup$$module$build$src$core$events$utils(o)}}}processValidation(e,t,o){return t===null?(this.doValueInvalid_(e,o),this.isDirty_&&this.forceRerender(),Error()):t===void 0?e:t}getValue(){return this.value_}doClassValidation_(e){return e??null}doValueUpdate_(e){this.value_=e,this.isDirty_=!0}doValueInvalid_(e,t){}onMouseDown_(e){this.sourceBlock_&&!this.sourceBlock_.isDeadOrDying()&&(e=this.sourceBlock_.workspace.getGesture(e))&&e.setStartField(this)}setTooltip(e){e||e===""||(e=this.sourceBlock_);const t=this.getClickTarget_();t?t.tooltip=e:this.tooltip=e}getTooltip(){const e=this.getClickTarget_();return Ni(e||{tooltip:this.tooltip})}getClickTarget_(){return this.clickTarget_||this.getSvgRoot()}getAbsoluteXY_(){return yo(this.getClickTarget_())}referencesVariables(){return!1}refreshVariableName(){}getParentInput(){let e=null;const t=this.getSourceBlock();if(!t)throw new ft;const o=t.inputList;for(let n=0;n{o.stopPropagation()})}addModelUpdateBindings(){this.view.addTextChangeListener((e,t)=>{super.setText(t)}),this.view.addSizeChangeListener((e,t)=>{super.setSize(t)}),this.view.addOnCollapseListener(()=>{super.setCollapsed(this.view.isCollapsed())}),this.view.addDisposeListener(()=>{this.isDeadOrDying()||this.dispose()})}setText(e){this.view.setText(e)}setSize(e){this.view.setSize(e)}setCollapsed(e){this.view.setCollapsed(e)}setEditable(e){super.setEditable(e),this.view.setEditable(this.isEditable())}getSvgRoot(){return this.view.getSvgRoot()}getSize(){return super.getSize()}getBoundingRectangle(){const e=this.getRelativeToSurfaceXY();var t,o;const n=(o=(t=this.view)==null?void 0:t.getSize())!=null?o:this.getSize();return this.workspace.RTL?(t=e.x-n.width,o=e.x):(t=e.x,o=e.x+n.width),new qe(e.y,e.y+n.height,t,o)}moveBy(e,t,o){const n=this.getRelativeToSurfaceXY();e=new V(n.x+e,n.y+t),this.moveTo(e,o)}moveTo(e,t){super.moveTo(e,t),this.view.moveTo(e)}moveDuringDrag(e){this.location=e,this.view.moveTo(e)}setDragging(e){e?ge(this.getSvgRoot(),"blocklyDragging"):ot(this.getSvgRoot(),"blocklyDragging")}dispose(){this.disposing=!0,this.view.isDeadOrDying()||this.view.dispose(),super.dispose()}startGesture(e){const t=this.workspace.getGesture(e);if(t){if(kt(e))e.stopPropagation();else{t.handleCommentStart(e,this);let o;(o=this.workspace.getLayerManager())==null||o.append(this,Do)}i.setSelected$$module$build$src$core$common(this)}}setDeleteStyle(e){e?ge(this.getSvgRoot(),"blocklyDraggingDelete"):ot(this.getSvgRoot(),"blocklyDraggingDelete")}isMovable(){return this.dragStrategy.isMovable()}startDrag(){this.dragStrategy.startDrag()}drag(e){this.dragStrategy.drag(e)}endDrag(){this.dragStrategy.endDrag()}revertDrag(){this.dragStrategy.revertDrag()}select(){ge(this.getSvgRoot(),"blocklySelected")}unselect(){ot(this.getSvgRoot(),"blocklySelected")}toCopyData(){return{paster:ul.TYPE,commentState:xi(this,{addCoordinates:!0})}}showContextMenu(e){const t=xe.registry.getContextMenuOptions(xe.ScopeType.COMMENT,{comment:this});Jn(e,t,this.workspace.RTL,this.workspace)}snapToGrid(){if(!this.isDeadOrDying()){var e=this.workspace.getGrid();if(e!=null&&e.shouldSnap()){var t=this.getRelativeToSurfaceXY();e=e.alignXY(t),e!==t&&this.moveTo(e,["snap"])}}}},Lt={};Lt.appendDomToWorkspace=u$,Lt.blockToDom=wo,Lt.blockToDomWithXY=Zn,Lt.clearWorkspaceAndLoadFromXml=c$,Lt.deleteNext=v$,Lt.domToBlock=i.domToBlock$$module$build$src$core$xml,Lt.domToBlockInternal=qo,Lt.domToPrettyText=l$,Lt.domToText=Ls,Lt.domToVariables=md,Lt.domToWorkspace=i.domToWorkspace$$module$build$src$core$xml,Lt.loadWorkspaceComment=gd,Lt.saveWorkspaceComment=Xn,Lt.variablesToDom=hd,Lt.workspaceToDom=n$;var Xh=class extends ni{constructor(e){super(e),this.type=O.BLOCK_CREATE,e&&(e.isShadow()&&(this.recordUndo=!1),this.xml=Zn(e),this.ids=he(e),this.json=Qt(e,{addCoordinates:!0}))}toJson(){const e=super.toJson();if(!this.xml)throw Error("The block XML is undefined. Either pass a block to the constructor, or call fromJson");if(!this.ids)throw Error("The block IDs are undefined. Either pass a block to the constructor, or call fromJson");if(!this.json)throw Error("The block JSON is undefined. Either pass a block to the constructor, or call fromJson");return e.xml=Ls(this.xml),e.ids=this.ids,e.json=this.json,this.recordUndo||(e.recordUndo=this.recordUndo),e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new Xh),t.xml=i.textToDom$$module$build$src$core$utils$xml(e.xml),t.ids=e.ids,t.json=e.json,e.recordUndo!==void 0&&(t.recordUndo=e.recordUndo),t}run(e){const t=this.getEventWorkspace_();if(!this.json)throw Error("The block JSON is undefined. Either pass a block to the constructor, or call fromJson");if(!this.ids)throw Error("The block IDs are undefined. Either pass a block to the constructor, or call fromJson");if(!WT(t,this.ids))if(e)eo(this.json,t);else for(e=0;ee.getBlockById(o)).filter(o=>o&&o.isShadow()).length===t.length};r(F.EVENT,O.BLOCK_CREATE,Xh);var Zh=class extends Cs{constructor(e,t){super(t),this.type=O.THEME_CHANGE,this.themeName=e}toJson(){const e=super.toJson();if(!this.themeName)throw Error("The theme name is undefined. Either pass a theme name to the constructor, or call fromJson");return e.themeName=this.themeName,e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new Zh),t.themeName=e.themeName,t}};r(F.EVENT,O.THEME_CHANGE,Zh);var Qh=class extends Cs{constructor(e,t,o,n,c){super(n),this.type=O.VIEWPORT_CHANGE,this.viewTop=e,this.viewLeft=t,this.scale=o,this.oldScale=c}toJson(){const e=super.toJson();if(this.viewTop===void 0)throw Error("The view top is undefined. Either pass a value to the constructor, or call fromJson");if(this.viewLeft===void 0)throw Error("The view left is undefined. Either pass a value to the constructor, or call fromJson");if(this.scale===void 0)throw Error("The scale is undefined. Either pass a value to the constructor, or call fromJson");if(this.oldScale===void 0)throw Error("The old scale is undefined. Either pass a value to the constructor, or call fromJson");return e.viewTop=this.viewTop,e.viewLeft=this.viewLeft,e.scale=this.scale,e.oldScale=this.oldScale,e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new Qh),t.viewTop=e.viewTop,t.viewLeft=e.viewLeft,t.scale=e.scale,t.oldScale=e.oldScale,t}};r(F.EVENT,O.VIEWPORT_CHANGE,Qh);var oe;(function(e){e[e.INPUT_VALUE=1]="INPUT_VALUE",e[e.OUTPUT_VALUE=2]="OUTPUT_VALUE",e[e.NEXT_STATEMENT=3]="NEXT_STATEMENT",e[e.PREVIOUS_STATEMENT=4]="PREVIOUS_STATEMENT"})(oe||(oe={}));var tn=class{constructor(e){this.connectionChecker=e,this.connections=[]}addConnection(e,t){t=this.calculateIndexForYPos(t),this.connections.splice(t,0,e)}findIndexOfConnection(e,t){if(!this.connections.length)return-1;const o=this.calculateIndexForYPos(t);if(o>=this.connections.length)return-1;t=e.y;let n=o;for(;0<=n&&this.connections[n].y===t;){if(this.connections[n]===e)return n;n--}for(n=o;ne)o=n;else{t=n;break}}return t}removeConnection(e,t){if(e=this.findIndexOfConnection(e,t),e===-1)throw Error("Unable to find connection in connectionDB.");this.connections.splice(e,1)}getNeighbours(e,t){function o(te){const nt=c-n[te].x,it=h-n[te].y;return Math.sqrt(nt*nt+it*it)<=t&&L.push(n[te]),it(this.flyout?i.config$$module$build$src$core$config.flyoutDragRadius:i.config$$module$build$src$core$config.dragRadius)}updateIsDraggingFromFlyout(){let e;if(!this.targetBlock||(e=this.flyout)==null||!e.isBlockCreatable(this.targetBlock))return!1;if(!this.flyout.targetWorkspace)throw Error(`Cannot update dragging from the flyout because the ' + - 'flyout's target workspace is undefined`);return!this.flyout.isScrollable()||this.flyout.isDragTowardWorkspace(this.currentDragDeltaXY)?(this.startWorkspace_=this.flyout.targetWorkspace,this.startWorkspace_.updateScreenCalculationsIfScrolled(),i.getGroup$$module$build$src$core$events$utils()||i.setGroup$$module$build$src$core$events$utils(!0),this.startBlock=null,this.targetBlock=this.flyout.createBlock(this.targetBlock),i.setSelected$$module$build$src$core$common(this.targetBlock),!0):!1}updateIsDraggingWorkspace(){if(!this.startWorkspace_)throw Error("Cannot update dragging the workspace because the start workspace is undefined");(this.flyout?this.flyout.isScrollable():this.startWorkspace_&&this.startWorkspace_.isDraggable())&&(this.dragging=!0,this.workspaceDragger=new fv(this.startWorkspace_),this.workspaceDragger.startDrag())}updateIsDragging(e){if(!this.startWorkspace_)throw Error("Cannot update dragging because the start workspace is undefined");if(this.calledUpdateIsDragging)throw Error("updateIsDragging_ should only be called once per gesture.");this.calledUpdateIsDragging=!0,this.flyout&&this.updateIsDraggingFromFlyout();const t=I();t&&Xo(t)&&t.isMovable()?(this.dragging=!0,this.dragger=this.createDragger(t,this.startWorkspace_),this.dragger.onDragStart(e),this.dragger.onDrag(e,this.currentDragDeltaXY)):this.updateIsDraggingWorkspace()}createDragger(e,t){return new(_(F.BLOCK_DRAGGER,this.creatorWorkspace.options,!0))(e,t)}doStart(e){if(!this.startWorkspace_)throw Error("Cannot start the touch gesture becauase the start workspace is undefined");this.isPinchZoomEnabled=this.startWorkspace_.options.zoomOptions&&this.startWorkspace_.options.zoomOptions.pinch,kt(e)?this.cancel():(this.gestureHasStarted=!0,ji(),this.startWorkspace_.updateScreenCalculationsIfScrolled(),this.startWorkspace_.isMutator&&this.startWorkspace_.resize(),this.currentDropdownOwner=Ou(),this.startWorkspace_.hideChaff(!!this.flyout),this.startWorkspace_.markFocused(),this.mostRecentEvent=e,Zu(),ve(e)?this.handleRightClick(e):(e.type.toLowerCase()==="pointerdown"&&e.pointerType!=="mouse"&&Je(e,this),this.mouseDownXY=new V(e.clientX,e.clientY),this.bindMouseEvents(e),this.isEnding_||this.handleTouchStart(e)))}bindMouseEvents(e){this.boundEvents.push(X(document,"pointerdown",null,this.handleStart.bind(this),!0)),this.boundEvents.push(X(document,"pointermove",null,this.handleMove.bind(this),!0)),this.boundEvents.push(X(document,"pointerup",null,this.handleUp.bind(this),!0)),e.preventDefault(),e.stopPropagation()}handleStart(e){this.isDragging()||(this.handleTouchStart(e),this.isMultiTouch()&&_e())}handleMove(e){this.isDragging()&&$e(e)||!this.isMultiTouch()?(this.updateFromEvent(e),this.workspaceDragger?this.workspaceDragger.drag(this.currentDragDeltaXY):this.dragger&&this.dragger.onDrag(this.mostRecentEvent,this.currentDragDeltaXY),e.preventDefault(),e.stopPropagation()):this.isMultiTouch()&&(this.handleTouchMove(e),_e())}handleUp(e){if(this.isDragging()||this.handleTouchEnd(e),!this.isMultiTouch()||this.isDragging()){if(!$e(e))return;if(this.updateFromEvent(e),_e(),this.isEnding_){console.log("Trying to end a gesture recursively.");return}this.isEnding_=!0,this.dragger?this.dragger.onDragEnd(e,this.currentDragDeltaXY):this.workspaceDragger?this.workspaceDragger.endDrag(this.currentDragDeltaXY):this.isBubbleClick()||this.isCommentClick()||(this.isFieldClick()?this.doFieldClick():this.isIconClick()?this.doIconClick():this.isBlockClick()?this.doBlockClick():this.isWorkspaceClick()&&this.doWorkspaceClick(e))}e.preventDefault(),e.stopPropagation(),this.dispose()}handleTouchStart(e){var t=Pe(e);this.cachedPoints.set(t,this.getTouchPoint(e));var o=Array.from(this.cachedPoints.keys());o.length===2&&(t=this.cachedPoints.get(o[0]),o=this.cachedPoints.get(o[1]),this.startDistance=V.distance(t,o),this.multiTouch=!0,e.preventDefault())}handleTouchMove(e){const t=Pe(e);this.cachedPoints.set(t,this.getTouchPoint(e)),this.isPinchZoomEnabled&&this.cachedPoints.size===2?this.handlePinch(e):(this.updateFromEvent(e),this.workspaceDragger?this.workspaceDragger.drag(this.currentDragDeltaXY):this.dragger&&this.dragger.onDrag(this.mostRecentEvent,this.currentDragDeltaXY),e.preventDefault(),e.stopPropagation())}handlePinch(e){var t=Array.from(this.cachedPoints.keys()),o=this.cachedPoints.get(t[0]);if(t=this.cachedPoints.get(t[1]),o=V.distance(o,t)/this.startDistance,0this.previousScale){if(t=o-this.previousScale,t=0this.cachedPoints.size&&(this.cachedPoints.clear(),this.previousScale=0)}getTouchPoint(e){return this.startWorkspace_?new V(e.pageX,e.pageY):null}isMultiTouch(){return this.multiTouch}cancel(){this.isEnding_||(_e(),this.dragger?this.dragger.onDragEnd(this.mostRecentEvent,this.currentDragDeltaXY):this.workspaceDragger&&this.workspaceDragger.endDrag(this.currentDragDeltaXY),this.dispose())}handleRightClick(e){this.targetBlock?(this.bringBlockToFront(),this.targetBlock.workspace.hideChaff(!!this.flyout),this.targetBlock.showContextMenu(e)):this.startBubble?this.startBubble.showContextMenu(e):this.startComment?(this.startComment.workspace.hideChaff(),this.startComment.showContextMenu(e)):this.startWorkspace_&&!this.flyout&&(this.startWorkspace_.hideChaff(),this.startWorkspace_.showContextMenu(e)),e.preventDefault(),e.stopPropagation(),this.dispose()}handleWsStart(e,t){if(this.gestureHasStarted)throw Error("Tried to call gesture.handleWsStart, but the gesture had already been started.");this.setStartWorkspace(t),this.mostRecentEvent=e,this.startBlock||this.startBubble||this.startComment||i.setSelected$$module$build$src$core$common(null),this.doStart(e)}fireWorkspaceClick(e){z(new(G(O.CLICK))(null,e.id,"workspace"))}handleFlyoutStart(e,t){if(this.gestureHasStarted)throw Error("Tried to call gesture.handleFlyoutStart, but the gesture had already been started.");this.setStartFlyout(t),this.handleWsStart(e,t.getWorkspace())}handleBlockStart(e,t){if(this.gestureHasStarted)throw Error("Tried to call gesture.handleBlockStart, but the gesture had already been started.");this.setStartBlock(t),this.mostRecentEvent=e}handleBubbleStart(e,t){if(this.gestureHasStarted)throw Error("Tried to call gesture.handleBubbleStart, but the gesture had already been started.");this.setStartBubble(t),this.mostRecentEvent=e}handleCommentStart(e,t){if(this.gestureHasStarted)throw Error("Tried to call gesture.handleCommentStart, but the gesture had already been started.");this.setStartComment(t),this.mostRecentEvent=e}doFieldClick(){if(!this.startField)throw Error("Cannot do a field click because the start field is undefined");this.currentDropdownOwner!==this.startField&&this.startField.showEditor(this.mostRecentEvent),this.bringBlockToFront()}doIconClick(){if(!this.startIcon)throw Error("Cannot do an icon click because the start icon is undefined");this.bringBlockToFront(),this.startIcon.onClick()}doBlockClick(){if(this.flyout&&this.flyout.autoClose){if(!this.targetBlock)throw Error("Cannot do a block click because the target block is undefined");if(this.targetBlock.isEnabled()){i.getGroup$$module$build$src$core$events$utils()||i.setGroup$$module$build$src$core$events$utils(!0);var e=this.flyout.createBlock(this.targetBlock);e.snapToGrid(),e.bumpNeighbours()}}else{if(!this.startWorkspace_)throw Error("Cannot do a block click because the start workspace is undefined");e=new(G(O.CLICK))(this.startBlock,this.startWorkspace_.id,"block"),z(e)}this.bringBlockToFront(),i.setGroup$$module$build$src$core$events$utils(!1)}doWorkspaceClick(e){e=this.creatorWorkspace,I()&&I().unselect(),this.fireWorkspaceClick(this.startWorkspace_||e)}bringBlockToFront(){this.targetBlock&&!this.flyout&&this.targetBlock.bringToFront()}setStartField(e){if(this.gestureHasStarted)throw Error("Tried to call gesture.setStartField, but the gesture had already been started.");this.startField||(this.startField=e)}setStartIcon(e){if(this.gestureHasStarted)throw Error("Tried to call gesture.setStartIcon, but the gesture had already been started.");this.startIcon||(this.startIcon=e)}setStartBubble(e){this.startBubble||(this.startBubble=e)}setStartComment(e){this.startComment||(this.startComment=e)}setStartBlock(e){this.startBlock||this.startBubble||(this.startBlock=e,i.setSelected$$module$build$src$core$common(this.startBlock),e.isInFlyout&&e!==e.getRootBlock()?this.setTargetBlock(e.getRootBlock()):this.setTargetBlock(e))}setTargetBlock(e){e.isShadow()?this.setTargetBlock(e.getParent()):this.targetBlock=e}setStartWorkspace(e){this.startWorkspace_||(this.startWorkspace_=e)}setStartFlyout(e){this.flyout||(this.flyout=e)}isBubbleClick(){return!!this.startBubble&&!this.hasExceededDragRadius}isCommentClick(){return!!this.startComment&&!this.hasExceededDragRadius}isBlockClick(){return!!this.startBlock&&!this.hasExceededDragRadius&&!this.isFieldClick()&&!this.isIconClick()}isFieldClick(){return this.startField?this.startField.isClickable()&&!this.hasExceededDragRadius&&(!this.flyout||this.startField.isClickableInFlyout(this.flyout.autoClose)):!1}isIconClick(){if(!this.startIcon)return!1;const e=!this.flyout||!this.startIcon.isClickableInFlyout||this.startIcon.isClickableInFlyout(this.flyout.autoClose);return!this.hasExceededDragRadius&&e}isWorkspaceClick(){return!this.startBlock&&!this.startBubble&&!this.startField&&!this.hasExceededDragRadius}getCurrentDragger(){let e,t;return(t=(e=this.workspaceDragger)!=null?e:this.dragger)!=null?t:null}isDragging(){return this.dragging}hasStarted(){return this.gestureHasStarted}static inProgress(){const e=ee();for(let t=0,o;o=e[t];t++)if(o.currentGesture_)return!0;return!1}},ep=class{constructor(e,t){this.pattern=e,this.scale=1;let o;this.spacing=(o=t.spacing)!=null?o:0;let n;this.length=(n=t.length)!=null?n:1,this.line2=(this.line1=e.firstChild)&&this.line1.nextSibling;let c;this.snapToGrid=(c=t.snap)!=null?c:!1}setSpacing(e){this.spacing=e,this.update(this.scale)}getSpacing(){return this.spacing}setLength(e){this.length=e,this.update(this.scale)}getLength(){return this.length}setSnapToGrid(e){this.snapToGrid=e}shouldSnap(){return this.snapToGrid}getPatternId(){return this.pattern.id}update(e){this.scale=e;var t=this.spacing*e;this.pattern.setAttribute("width",`${t}`),this.pattern.setAttribute("height",`${t}`),t=Math.floor(this.spacing/2)+.5;let o=t-this.length/2,n=t+this.length/2;t*=e,o*=e,n*=e,this.setLineAttributes(this.line1,e,o,n,t,t),this.setLineAttributes(this.line2,e,t,t,o,n)}setLineAttributes(e,t,o,n,c,h){e&&(e.setAttribute("stroke-width",`${t}`),e.setAttribute("x1",`${o}`),e.setAttribute("y1",`${c}`),e.setAttribute("x2",`${n}`),e.setAttribute("y2",`${h}`))}moveTo(e,t){this.pattern.setAttribute("x",`${e}`),this.pattern.setAttribute("y",`${t}`)}alignXY(e){var t=this.getSpacing();const o=t/2,n=Math.round(Math.round((e.x-o)/t)*t+o);return t=Math.round(Math.round((e.y-o)/t)*t+o),n===e.x&&t===e.y?e:new V(n,t)}static createDom(e,t,o){e=N(x.PATTERN,{id:"blocklyGridPattern"+e,patternUnits:"userSpaceOnUse"},o);let n,c;if(0<((n=t.length)!=null?n:1)&&0<((c=t.spacing)!=null?c:0)){N(x.LINE,{stroke:t.colour},e);let h;(h=t.length)!=null&&h&&N(x.LINE,{stroke:t.colour},e)}else N(x.LINE,{},e);return e}},KT=class{constructor(e){this.workspace=e,this.layers=new Map,(e=e.getInjectionDiv())&&(this.dragLayer=this.createDragLayer(e),this.animationLayer=this.createAnimationLayer(e)),e=this.createLayer(Do),ge(e,"blocklyBlockCanvas"),e=this.createLayer(Cl),ge(e,"blocklyBubbleCanvas")}createDragLayer(e){const t=N(x.SVG,{class:"blocklyBlockDragSurface",xmlns:rr,"xmlns:html":Fs,"xmlns:xlink":es,version:"1.1"});return e.append(t),N(x.G,{},t)}createAnimationLayer(e){const t=N(x.SVG,{class:"blocklyAnimationLayer",xmlns:rr,"xmlns:html":Fs,"xmlns:xlink":es,version:"1.1"});return e.append(t),N(x.G,{},t)}appendToAnimationLayer(e){let t;const o=(t=this.dragLayer)==null?void 0:t.getAttribute("transform");if(o){let c;(c=this.animationLayer)==null||c.setAttribute("transform",o)}let n;(n=this.animationLayer)==null||n.appendChild(e.getSvgRoot())}translateLayers(e,t){e=`translate(${e.x}, ${e.y}) scale(${t})`;let o;(o=this.dragLayer)==null||o.setAttribute("transform",e);for(const[,n]of this.layers)n.setAttribute("transform",e)}moveToDragLayer(e){let t;(t=this.dragLayer)==null||t.appendChild(e.getSvgRoot())}moveOffDragLayer(e,t){this.append(e,t)}append(e,t){this.layers.has(t)||this.createLayer(t);let o;(o=this.layers.get(t))==null||o.appendChild(e.getSvgRoot())}createLayer(e){const t=this.workspace.getSvgGroup(),o=N(x.G,{});let n=!1;const c=[...this.layers].sort((h,$)=>h[0]-$[0]);for(const[h,$]of c)if(et[1]===e)?e:(this.sourceBlock_&&console.warn("Cannot set the dropdown's value to an unavailable option. Block type: "+this.sourceBlock_.type+", Field name: "+this.name+", Value: "+e),null)}doValueUpdate_(e){super.doValueUpdate_(e),e=this.getOptions(!0);for(let t=0,o;o=e[t];t++)o[1]===this.value_&&(this.selectedOption=o)}applyColour(){const e=this.sourceBlock_;this.borderRect_&&(this.borderRect_.setAttribute("stroke",e.getColourTertiary()),this.menu_?this.borderRect_.setAttribute("fill",e.getColourTertiary()):this.borderRect_.setAttribute("fill","transparent")),e&&this.arrow&&(e.isShadow()?this.arrow.style.fill=e.getColourSecondary():this.arrow.style.fill=e.getColour())}render_(){this.getTextContent().nodeValue="",this.imageElement.style.display="none";const e=this.selectedOption&&this.selectedOption[0];e&&typeof e=="object"?this.renderSelectedImage(e):this.renderSelectedText(),this.positionBorderRect_()}renderSelectedImage(e){const t=this.getSourceBlock();if(!t)throw new ft;this.imageElement.style.display="",this.imageElement.setAttributeNS(es,"xlink:href",e.src),this.imageElement.setAttribute("height",String(e.height)),this.imageElement.setAttribute("width",String(e.width));const o=Number(e.height);e=Number(e.width);var n=!!this.borderRect_;const c=Math.max(n?this.getConstants().FIELD_DROPDOWN_BORDER_RECT_HEIGHT:0,o+qt.IMAGE_Y_PADDING);n=n?this.getConstants().FIELD_BORDER_RECT_X_PADDING:0;let h;h=this.svgArrow?this.positionSVGArrow(e+n,c/2-this.getConstants().FIELD_DROPDOWN_SVG_ARROW_SIZE/2):Nn(this.arrow,this.getConstants().FIELD_TEXT_FONTSIZE,this.getConstants().FIELD_TEXT_FONTWEIGHT,this.getConstants().FIELD_TEXT_FONTFAMILY),this.size_.width=e+h+2*n,this.size_.height=c;let $=0;t.RTL?this.imageElement.setAttribute("x",`${n+h}`):($=e+h,this.getTextElement().setAttribute("text-anchor","end"),this.imageElement.setAttribute("x",`${n}`)),this.imageElement.setAttribute("y",String(c/2-o/2)),this.positionTextElement_($+n,e+h)}renderSelectedText(){this.getTextContent().nodeValue=this.getDisplayText_();var e=this.getTextElement();ge(e,"blocklyDropdownText"),e.setAttribute("text-anchor","start");var t=!!this.borderRect_;e=Math.max(t?this.getConstants().FIELD_DROPDOWN_BORDER_RECT_HEIGHT:0,this.getConstants().FIELD_TEXT_HEIGHT);const o=Nn(this.getTextElement(),this.getConstants().FIELD_TEXT_FONTSIZE,this.getConstants().FIELD_TEXT_FONTWEIGHT,this.getConstants().FIELD_TEXT_FONTFAMILY);t=t?this.getConstants().FIELD_BORDER_RECT_X_PADDING:0;let n=0;this.svgArrow&&(n=this.positionSVGArrow(o+t,e/2-this.getConstants().FIELD_DROPDOWN_SVG_ARROW_SIZE/2)),this.size_.width=o+n+2*t,this.size_.height=e,this.positionTextElement_(t,o)}positionSVGArrow(e,t){if(!this.svgArrow)return 0;const o=this.getSourceBlock();if(!o)throw new ft;const n=this.borderRect_?this.getConstants().FIELD_BORDER_RECT_X_PADDING:0,c=this.getConstants().FIELD_DROPDOWN_SVG_ARROW_PADDING,h=this.getConstants().FIELD_DROPDOWN_SVG_ARROW_SIZE;return this.svgArrow.setAttribute("transform","translate("+(o.RTL?n:e+c)+","+t+")"),h+c}getText_(){if(!this.selectedOption)return null;const e=this.selectedOption[0];return typeof e=="object"?e.alt:e}static fromJson(e){if(!e.options)throw Error("options are required for the dropdown field. The options property must be assigned an array of [humanReadableValue, languageNeutralValue] tuples.");return new this(e.options,void 0,e)}trimOptions(e){let t=!1;const o=e.map(([$,T])=>typeof $=="string"?[pt($),T]:(t=!0,[$.alt!==null?Object.assign({},$,{alt:pt($.alt)}):Object.assign({},$),T]));if(t||2>e.length)return{options:o};var n=o.map(([$])=>$),c=Gn(n);e=Vu(n,c);const h=Gu(n,c);return!e&&!h||c<=e+h?{options:o}:(c=e?n[0].substring(0,e-1):void 0,n=h?n[0].substr(1-h):void 0,{options:this.applyTrim(o,e,h),prefix:c,suffix:n})}applyTrim(e,t,o){return e.map(([n,c])=>[n.substring(t,n.length-o),c])}validateOptions(e){if(!Array.isArray(e))throw TypeError("FieldDropdown options must be an array.");if(!e.length)throw TypeError("FieldDropdown options must not be an empty array.");let t=!1;for(let o=0;o{o.stopPropagation()})}addModelUpdateBindings(){this.view.addTextChangeListener((e,t)=>{super.setText(t)}),this.view.addSizeChangeListener((e,t)=>{super.setSize(t)}),this.view.addOnCollapseListener(()=>{super.setCollapsed(this.view.isCollapsed())}),this.view.addDisposeListener(()=>{this.isDeadOrDying()||this.dispose()})}setText(e){this.view.setText(e)}setSize(e){this.view.setSize(e)}setCollapsed(e){this.view.setCollapsed(e)}setEditable(e){super.setEditable(e),this.view.setEditable(this.isEditable())}getSvgRoot(){return this.view.getSvgRoot()}getSize(){return super.getSize()}getBoundingRectangle(){const e=this.getRelativeToSurfaceXY();var t,o;const n=(o=(t=this.view)==null?void 0:t.getSize())!=null?o:this.getSize();return this.workspace.RTL?(t=e.x-n.width,o=e.x):(t=e.x,o=e.x+n.width),new qe(e.y,e.y+n.height,t,o)}moveBy(e,t,o){const n=this.getRelativeToSurfaceXY();e=new G(n.x+e,n.y+t),this.moveTo(e,o)}moveTo(e,t){super.moveTo(e,t),this.view.moveTo(e)}moveDuringDrag(e){this.location=e,this.view.moveTo(e)}setDragging(e){e?ge(this.getSvgRoot(),"blocklyDragging"):ot(this.getSvgRoot(),"blocklyDragging")}dispose(){this.disposing=!0,this.view.isDeadOrDying()||this.view.dispose(),super.dispose()}startGesture(e){const t=this.workspace.getGesture(e);if(t){if(kt(e))e.stopPropagation();else{t.handleCommentStart(e,this);let o;(o=this.workspace.getLayerManager())==null||o.append(this,Do)}i.setSelected$$module$build$src$core$common(this)}}setDeleteStyle(e){e?ge(this.getSvgRoot(),"blocklyDraggingDelete"):ot(this.getSvgRoot(),"blocklyDraggingDelete")}isMovable(){return this.dragStrategy.isMovable()}startDrag(){this.dragStrategy.startDrag()}drag(e){this.dragStrategy.drag(e)}endDrag(){this.dragStrategy.endDrag()}revertDrag(){this.dragStrategy.revertDrag()}select(){ge(this.getSvgRoot(),"blocklySelected")}unselect(){ot(this.getSvgRoot(),"blocklySelected")}toCopyData(){return{paster:ul.TYPE,commentState:xi(this,{addCoordinates:!0})}}showContextMenu(e){const t=xe.registry.getContextMenuOptions(xe.ScopeType.COMMENT,{comment:this});Jn(e,t,this.workspace.RTL,this.workspace)}snapToGrid(){if(!this.isDeadOrDying()){var e=this.workspace.getGrid();if(e!=null&&e.shouldSnap()){var t=this.getRelativeToSurfaceXY();e=e.alignXY(t),e!==t&&this.moveTo(e,["snap"])}}}},Lt={};Lt.appendDomToWorkspace=u$,Lt.blockToDom=wo,Lt.blockToDomWithXY=Zn,Lt.clearWorkspaceAndLoadFromXml=c$,Lt.deleteNext=v$,Lt.domToBlock=i.domToBlock$$module$build$src$core$xml,Lt.domToBlockInternal=qo,Lt.domToPrettyText=l$,Lt.domToText=Ls,Lt.domToVariables=md,Lt.domToWorkspace=i.domToWorkspace$$module$build$src$core$xml,Lt.loadWorkspaceComment=gd,Lt.saveWorkspaceComment=Xn,Lt.variablesToDom=hd,Lt.workspaceToDom=n$;var Xh=class extends ni{constructor(e){super(e),this.type=O.BLOCK_CREATE,e&&(e.isShadow()&&(this.recordUndo=!1),this.xml=Zn(e),this.ids=he(e),this.json=Qt(e,{addCoordinates:!0}))}toJson(){const e=super.toJson();if(!this.xml)throw Error("The block XML is undefined. Either pass a block to the constructor, or call fromJson");if(!this.ids)throw Error("The block IDs are undefined. Either pass a block to the constructor, or call fromJson");if(!this.json)throw Error("The block JSON is undefined. Either pass a block to the constructor, or call fromJson");return e.xml=Ls(this.xml),e.ids=this.ids,e.json=this.json,this.recordUndo||(e.recordUndo=this.recordUndo),e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new Xh),t.xml=i.textToDom$$module$build$src$core$utils$xml(e.xml),t.ids=e.ids,t.json=e.json,e.recordUndo!==void 0&&(t.recordUndo=e.recordUndo),t}run(e){const t=this.getEventWorkspace_();if(!this.json)throw Error("The block JSON is undefined. Either pass a block to the constructor, or call fromJson");if(!this.ids)throw Error("The block IDs are undefined. Either pass a block to the constructor, or call fromJson");if(!WT(t,this.ids))if(e)eo(this.json,t);else for(e=0;ee.getBlockById(o)).filter(o=>o&&o.isShadow()).length===t.length};r(F.EVENT,O.BLOCK_CREATE,Xh);var Zh=class extends Cs{constructor(e,t){super(t),this.type=O.THEME_CHANGE,this.themeName=e}toJson(){const e=super.toJson();if(!this.themeName)throw Error("The theme name is undefined. Either pass a theme name to the constructor, or call fromJson");return e.themeName=this.themeName,e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new Zh),t.themeName=e.themeName,t}};r(F.EVENT,O.THEME_CHANGE,Zh);var Qh=class extends Cs{constructor(e,t,o,n,c){super(n),this.type=O.VIEWPORT_CHANGE,this.viewTop=e,this.viewLeft=t,this.scale=o,this.oldScale=c}toJson(){const e=super.toJson();if(this.viewTop===void 0)throw Error("The view top is undefined. Either pass a value to the constructor, or call fromJson");if(this.viewLeft===void 0)throw Error("The view left is undefined. Either pass a value to the constructor, or call fromJson");if(this.scale===void 0)throw Error("The scale is undefined. Either pass a value to the constructor, or call fromJson");if(this.oldScale===void 0)throw Error("The old scale is undefined. Either pass a value to the constructor, or call fromJson");return e.viewTop=this.viewTop,e.viewLeft=this.viewLeft,e.scale=this.scale,e.oldScale=this.oldScale,e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new Qh),t.viewTop=e.viewTop,t.viewLeft=e.viewLeft,t.scale=e.scale,t.oldScale=e.oldScale,t}};r(F.EVENT,O.VIEWPORT_CHANGE,Qh);var oe;(function(e){e[e.INPUT_VALUE=1]="INPUT_VALUE",e[e.OUTPUT_VALUE=2]="OUTPUT_VALUE",e[e.NEXT_STATEMENT=3]="NEXT_STATEMENT",e[e.PREVIOUS_STATEMENT=4]="PREVIOUS_STATEMENT"})(oe||(oe={}));var tn=class{constructor(e){this.connectionChecker=e,this.connections=[]}addConnection(e,t){t=this.calculateIndexForYPos(t),this.connections.splice(t,0,e)}findIndexOfConnection(e,t){if(!this.connections.length)return-1;const o=this.calculateIndexForYPos(t);if(o>=this.connections.length)return-1;t=e.y;let n=o;for(;0<=n&&this.connections[n].y===t;){if(this.connections[n]===e)return n;n--}for(n=o;ne)o=n;else{t=n;break}}return t}removeConnection(e,t){if(e=this.findIndexOfConnection(e,t),e===-1)throw Error("Unable to find connection in connectionDB.");this.connections.splice(e,1)}getNeighbours(e,t){function o(te){const nt=c-n[te].x,it=h-n[te].y;return Math.sqrt(nt*nt+it*it)<=t&&L.push(n[te]),it(this.flyout?i.config$$module$build$src$core$config.flyoutDragRadius:i.config$$module$build$src$core$config.dragRadius)}updateIsDraggingFromFlyout(){let e;if(!this.targetBlock||(e=this.flyout)==null||!e.isBlockCreatable(this.targetBlock))return!1;if(!this.flyout.targetWorkspace)throw Error(`Cannot update dragging from the flyout because the ' + + 'flyout's target workspace is undefined`);return!this.flyout.isScrollable()||this.flyout.isDragTowardWorkspace(this.currentDragDeltaXY)?(this.startWorkspace_=this.flyout.targetWorkspace,this.startWorkspace_.updateScreenCalculationsIfScrolled(),i.getGroup$$module$build$src$core$events$utils()||i.setGroup$$module$build$src$core$events$utils(!0),this.startBlock=null,this.targetBlock=this.flyout.createBlock(this.targetBlock),i.setSelected$$module$build$src$core$common(this.targetBlock),!0):!1}updateIsDraggingWorkspace(){if(!this.startWorkspace_)throw Error("Cannot update dragging the workspace because the start workspace is undefined");(this.flyout?this.flyout.isScrollable():this.startWorkspace_&&this.startWorkspace_.isDraggable())&&(this.dragging=!0,this.workspaceDragger=new fv(this.startWorkspace_),this.workspaceDragger.startDrag())}updateIsDragging(e){if(!this.startWorkspace_)throw Error("Cannot update dragging because the start workspace is undefined");if(this.calledUpdateIsDragging)throw Error("updateIsDragging_ should only be called once per gesture.");this.calledUpdateIsDragging=!0,this.flyout&&this.updateIsDraggingFromFlyout();const t=I();t&&Xo(t)&&t.isMovable()?(this.dragging=!0,this.dragger=this.createDragger(t,this.startWorkspace_),this.dragger.onDragStart(e),this.dragger.onDrag(e,this.currentDragDeltaXY)):this.updateIsDraggingWorkspace()}createDragger(e,t){return new(_(F.BLOCK_DRAGGER,this.creatorWorkspace.options,!0))(e,t)}doStart(e){if(!this.startWorkspace_)throw Error("Cannot start the touch gesture becauase the start workspace is undefined");this.isPinchZoomEnabled=this.startWorkspace_.options.zoomOptions&&this.startWorkspace_.options.zoomOptions.pinch,kt(e)?this.cancel():(this.gestureHasStarted=!0,ji(),this.startWorkspace_.updateScreenCalculationsIfScrolled(),this.startWorkspace_.isMutator&&this.startWorkspace_.resize(),this.currentDropdownOwner=Ou(),this.startWorkspace_.hideChaff(!!this.flyout),this.startWorkspace_.markFocused(),this.mostRecentEvent=e,Zu(),ve(e)?this.handleRightClick(e):(e.type.toLowerCase()==="pointerdown"&&e.pointerType!=="mouse"&&Je(e,this),this.mouseDownXY=new G(e.clientX,e.clientY),this.bindMouseEvents(e),this.isEnding_||this.handleTouchStart(e)))}bindMouseEvents(e){this.boundEvents.push(X(document,"pointerdown",null,this.handleStart.bind(this),!0)),this.boundEvents.push(X(document,"pointermove",null,this.handleMove.bind(this),!0)),this.boundEvents.push(X(document,"pointerup",null,this.handleUp.bind(this),!0)),e.preventDefault(),e.stopPropagation()}handleStart(e){this.isDragging()||(this.handleTouchStart(e),this.isMultiTouch()&&_e())}handleMove(e){this.isDragging()&&$e(e)||!this.isMultiTouch()?(this.updateFromEvent(e),this.workspaceDragger?this.workspaceDragger.drag(this.currentDragDeltaXY):this.dragger&&this.dragger.onDrag(this.mostRecentEvent,this.currentDragDeltaXY),e.preventDefault(),e.stopPropagation()):this.isMultiTouch()&&(this.handleTouchMove(e),_e())}handleUp(e){if(this.isDragging()||this.handleTouchEnd(e),!this.isMultiTouch()||this.isDragging()){if(!$e(e))return;if(this.updateFromEvent(e),_e(),this.isEnding_){console.log("Trying to end a gesture recursively.");return}this.isEnding_=!0,this.dragger?this.dragger.onDragEnd(e,this.currentDragDeltaXY):this.workspaceDragger?this.workspaceDragger.endDrag(this.currentDragDeltaXY):this.isBubbleClick()||this.isCommentClick()||(this.isFieldClick()?this.doFieldClick():this.isIconClick()?this.doIconClick():this.isBlockClick()?this.doBlockClick():this.isWorkspaceClick()&&this.doWorkspaceClick(e))}e.preventDefault(),e.stopPropagation(),this.dispose()}handleTouchStart(e){var t=Pe(e);this.cachedPoints.set(t,this.getTouchPoint(e));var o=Array.from(this.cachedPoints.keys());o.length===2&&(t=this.cachedPoints.get(o[0]),o=this.cachedPoints.get(o[1]),this.startDistance=G.distance(t,o),this.multiTouch=!0,e.preventDefault())}handleTouchMove(e){const t=Pe(e);this.cachedPoints.set(t,this.getTouchPoint(e)),this.isPinchZoomEnabled&&this.cachedPoints.size===2?this.handlePinch(e):(this.updateFromEvent(e),this.workspaceDragger?this.workspaceDragger.drag(this.currentDragDeltaXY):this.dragger&&this.dragger.onDrag(this.mostRecentEvent,this.currentDragDeltaXY),e.preventDefault(),e.stopPropagation())}handlePinch(e){var t=Array.from(this.cachedPoints.keys()),o=this.cachedPoints.get(t[0]);if(t=this.cachedPoints.get(t[1]),o=G.distance(o,t)/this.startDistance,0this.previousScale){if(t=o-this.previousScale,t=0this.cachedPoints.size&&(this.cachedPoints.clear(),this.previousScale=0)}getTouchPoint(e){return this.startWorkspace_?new G(e.pageX,e.pageY):null}isMultiTouch(){return this.multiTouch}cancel(){this.isEnding_||(_e(),this.dragger?this.dragger.onDragEnd(this.mostRecentEvent,this.currentDragDeltaXY):this.workspaceDragger&&this.workspaceDragger.endDrag(this.currentDragDeltaXY),this.dispose())}handleRightClick(e){this.targetBlock?(this.bringBlockToFront(),this.targetBlock.workspace.hideChaff(!!this.flyout),this.targetBlock.showContextMenu(e)):this.startBubble?this.startBubble.showContextMenu(e):this.startComment?(this.startComment.workspace.hideChaff(),this.startComment.showContextMenu(e)):this.startWorkspace_&&!this.flyout&&(this.startWorkspace_.hideChaff(),this.startWorkspace_.showContextMenu(e)),e.preventDefault(),e.stopPropagation(),this.dispose()}handleWsStart(e,t){if(this.gestureHasStarted)throw Error("Tried to call gesture.handleWsStart, but the gesture had already been started.");this.setStartWorkspace(t),this.mostRecentEvent=e,this.startBlock||this.startBubble||this.startComment||i.setSelected$$module$build$src$core$common(null),this.doStart(e)}fireWorkspaceClick(e){z(new(V(O.CLICK))(null,e.id,"workspace"))}handleFlyoutStart(e,t){if(this.gestureHasStarted)throw Error("Tried to call gesture.handleFlyoutStart, but the gesture had already been started.");this.setStartFlyout(t),this.handleWsStart(e,t.getWorkspace())}handleBlockStart(e,t){if(this.gestureHasStarted)throw Error("Tried to call gesture.handleBlockStart, but the gesture had already been started.");this.setStartBlock(t),this.mostRecentEvent=e}handleBubbleStart(e,t){if(this.gestureHasStarted)throw Error("Tried to call gesture.handleBubbleStart, but the gesture had already been started.");this.setStartBubble(t),this.mostRecentEvent=e}handleCommentStart(e,t){if(this.gestureHasStarted)throw Error("Tried to call gesture.handleCommentStart, but the gesture had already been started.");this.setStartComment(t),this.mostRecentEvent=e}doFieldClick(){if(!this.startField)throw Error("Cannot do a field click because the start field is undefined");this.currentDropdownOwner!==this.startField&&this.startField.showEditor(this.mostRecentEvent),this.bringBlockToFront()}doIconClick(){if(!this.startIcon)throw Error("Cannot do an icon click because the start icon is undefined");this.bringBlockToFront(),this.startIcon.onClick()}doBlockClick(){if(this.flyout&&this.flyout.autoClose){if(!this.targetBlock)throw Error("Cannot do a block click because the target block is undefined");if(this.targetBlock.isEnabled()){i.getGroup$$module$build$src$core$events$utils()||i.setGroup$$module$build$src$core$events$utils(!0);var e=this.flyout.createBlock(this.targetBlock);e.snapToGrid(),e.bumpNeighbours()}}else{if(!this.startWorkspace_)throw Error("Cannot do a block click because the start workspace is undefined");e=new(V(O.CLICK))(this.startBlock,this.startWorkspace_.id,"block"),z(e)}this.bringBlockToFront(),i.setGroup$$module$build$src$core$events$utils(!1)}doWorkspaceClick(e){e=this.creatorWorkspace,I()&&I().unselect(),this.fireWorkspaceClick(this.startWorkspace_||e)}bringBlockToFront(){this.targetBlock&&!this.flyout&&this.targetBlock.bringToFront()}setStartField(e){if(this.gestureHasStarted)throw Error("Tried to call gesture.setStartField, but the gesture had already been started.");this.startField||(this.startField=e)}setStartIcon(e){if(this.gestureHasStarted)throw Error("Tried to call gesture.setStartIcon, but the gesture had already been started.");this.startIcon||(this.startIcon=e)}setStartBubble(e){this.startBubble||(this.startBubble=e)}setStartComment(e){this.startComment||(this.startComment=e)}setStartBlock(e){this.startBlock||this.startBubble||(this.startBlock=e,i.setSelected$$module$build$src$core$common(this.startBlock),e.isInFlyout&&e!==e.getRootBlock()?this.setTargetBlock(e.getRootBlock()):this.setTargetBlock(e))}setTargetBlock(e){e.isShadow()?this.setTargetBlock(e.getParent()):this.targetBlock=e}setStartWorkspace(e){this.startWorkspace_||(this.startWorkspace_=e)}setStartFlyout(e){this.flyout||(this.flyout=e)}isBubbleClick(){return!!this.startBubble&&!this.hasExceededDragRadius}isCommentClick(){return!!this.startComment&&!this.hasExceededDragRadius}isBlockClick(){return!!this.startBlock&&!this.hasExceededDragRadius&&!this.isFieldClick()&&!this.isIconClick()}isFieldClick(){return this.startField?this.startField.isClickable()&&!this.hasExceededDragRadius&&(!this.flyout||this.startField.isClickableInFlyout(this.flyout.autoClose)):!1}isIconClick(){if(!this.startIcon)return!1;const e=!this.flyout||!this.startIcon.isClickableInFlyout||this.startIcon.isClickableInFlyout(this.flyout.autoClose);return!this.hasExceededDragRadius&&e}isWorkspaceClick(){return!this.startBlock&&!this.startBubble&&!this.startField&&!this.hasExceededDragRadius}getCurrentDragger(){let e,t;return(t=(e=this.workspaceDragger)!=null?e:this.dragger)!=null?t:null}isDragging(){return this.dragging}hasStarted(){return this.gestureHasStarted}static inProgress(){const e=ee();for(let t=0,o;o=e[t];t++)if(o.currentGesture_)return!0;return!1}},ep=class{constructor(e,t){this.pattern=e,this.scale=1;let o;this.spacing=(o=t.spacing)!=null?o:0;let n;this.length=(n=t.length)!=null?n:1,this.line2=(this.line1=e.firstChild)&&this.line1.nextSibling;let c;this.snapToGrid=(c=t.snap)!=null?c:!1}setSpacing(e){this.spacing=e,this.update(this.scale)}getSpacing(){return this.spacing}setLength(e){this.length=e,this.update(this.scale)}getLength(){return this.length}setSnapToGrid(e){this.snapToGrid=e}shouldSnap(){return this.snapToGrid}getPatternId(){return this.pattern.id}update(e){this.scale=e;var t=this.spacing*e;this.pattern.setAttribute("width",`${t}`),this.pattern.setAttribute("height",`${t}`),t=Math.floor(this.spacing/2)+.5;let o=t-this.length/2,n=t+this.length/2;t*=e,o*=e,n*=e,this.setLineAttributes(this.line1,e,o,n,t,t),this.setLineAttributes(this.line2,e,t,t,o,n)}setLineAttributes(e,t,o,n,c,h){e&&(e.setAttribute("stroke-width",`${t}`),e.setAttribute("x1",`${o}`),e.setAttribute("y1",`${c}`),e.setAttribute("x2",`${n}`),e.setAttribute("y2",`${h}`))}moveTo(e,t){this.pattern.setAttribute("x",`${e}`),this.pattern.setAttribute("y",`${t}`)}alignXY(e){var t=this.getSpacing();const o=t/2,n=Math.round(Math.round((e.x-o)/t)*t+o);return t=Math.round(Math.round((e.y-o)/t)*t+o),n===e.x&&t===e.y?e:new G(n,t)}static createDom(e,t,o){e=N(x.PATTERN,{id:"blocklyGridPattern"+e,patternUnits:"userSpaceOnUse"},o);let n,c;if(0<((n=t.length)!=null?n:1)&&0<((c=t.spacing)!=null?c:0)){N(x.LINE,{stroke:t.colour},e);let h;(h=t.length)!=null&&h&&N(x.LINE,{stroke:t.colour},e)}else N(x.LINE,{},e);return e}},KT=class{constructor(e){this.workspace=e,this.layers=new Map,(e=e.getInjectionDiv())&&(this.dragLayer=this.createDragLayer(e),this.animationLayer=this.createAnimationLayer(e)),e=this.createLayer(Do),ge(e,"blocklyBlockCanvas"),e=this.createLayer(Cl),ge(e,"blocklyBubbleCanvas")}createDragLayer(e){const t=N(x.SVG,{class:"blocklyBlockDragSurface",xmlns:rr,"xmlns:html":Fs,"xmlns:xlink":es,version:"1.1"});return e.append(t),N(x.G,{},t)}createAnimationLayer(e){const t=N(x.SVG,{class:"blocklyAnimationLayer",xmlns:rr,"xmlns:html":Fs,"xmlns:xlink":es,version:"1.1"});return e.append(t),N(x.G,{},t)}appendToAnimationLayer(e){let t;const o=(t=this.dragLayer)==null?void 0:t.getAttribute("transform");if(o){let c;(c=this.animationLayer)==null||c.setAttribute("transform",o)}let n;(n=this.animationLayer)==null||n.appendChild(e.getSvgRoot())}translateLayers(e,t){e=`translate(${e.x}, ${e.y}) scale(${t})`;let o;(o=this.dragLayer)==null||o.setAttribute("transform",e);for(const[,n]of this.layers)n.setAttribute("transform",e)}moveToDragLayer(e){let t;(t=this.dragLayer)==null||t.appendChild(e.getSvgRoot())}moveOffDragLayer(e,t){this.append(e,t)}append(e,t){this.layers.has(t)||this.createLayer(t);let o;(o=this.layers.get(t))==null||o.appendChild(e.getSvgRoot())}createLayer(e){const t=this.workspace.getSvgGroup(),o=N(x.G,{});let n=!1;const c=[...this.layers].sort((h,$)=>h[0]-$[0]);for(const[h,$]of c)if(et[1]===e)?e:(this.sourceBlock_&&console.warn("Cannot set the dropdown's value to an unavailable option. Block type: "+this.sourceBlock_.type+", Field name: "+this.name+", Value: "+e),null)}doValueUpdate_(e){super.doValueUpdate_(e),e=this.getOptions(!0);for(let t=0,o;o=e[t];t++)o[1]===this.value_&&(this.selectedOption=o)}applyColour(){const e=this.sourceBlock_;this.borderRect_&&(this.borderRect_.setAttribute("stroke",e.getColourTertiary()),this.menu_?this.borderRect_.setAttribute("fill",e.getColourTertiary()):this.borderRect_.setAttribute("fill","transparent")),e&&this.arrow&&(e.isShadow()?this.arrow.style.fill=e.getColourSecondary():this.arrow.style.fill=e.getColour())}render_(){this.getTextContent().nodeValue="",this.imageElement.style.display="none";const e=this.selectedOption&&this.selectedOption[0];e&&typeof e=="object"?this.renderSelectedImage(e):this.renderSelectedText(),this.positionBorderRect_()}renderSelectedImage(e){const t=this.getSourceBlock();if(!t)throw new ft;this.imageElement.style.display="",this.imageElement.setAttributeNS(es,"xlink:href",e.src),this.imageElement.setAttribute("height",String(e.height)),this.imageElement.setAttribute("width",String(e.width));const o=Number(e.height);e=Number(e.width);var n=!!this.borderRect_;const c=Math.max(n?this.getConstants().FIELD_DROPDOWN_BORDER_RECT_HEIGHT:0,o+qt.IMAGE_Y_PADDING);n=n?this.getConstants().FIELD_BORDER_RECT_X_PADDING:0;let h;h=this.svgArrow?this.positionSVGArrow(e+n,c/2-this.getConstants().FIELD_DROPDOWN_SVG_ARROW_SIZE/2):Nn(this.arrow,this.getConstants().FIELD_TEXT_FONTSIZE,this.getConstants().FIELD_TEXT_FONTWEIGHT,this.getConstants().FIELD_TEXT_FONTFAMILY),this.size_.width=e+h+2*n,this.size_.height=c;let $=0;t.RTL?this.imageElement.setAttribute("x",`${n+h}`):($=e+h,this.getTextElement().setAttribute("text-anchor","end"),this.imageElement.setAttribute("x",`${n}`)),this.imageElement.setAttribute("y",String(c/2-o/2)),this.positionTextElement_($+n,e+h)}renderSelectedText(){this.getTextContent().nodeValue=this.getDisplayText_();var e=this.getTextElement();ge(e,"blocklyDropdownText"),e.setAttribute("text-anchor","start");var t=!!this.borderRect_;e=Math.max(t?this.getConstants().FIELD_DROPDOWN_BORDER_RECT_HEIGHT:0,this.getConstants().FIELD_TEXT_HEIGHT);const o=Nn(this.getTextElement(),this.getConstants().FIELD_TEXT_FONTSIZE,this.getConstants().FIELD_TEXT_FONTWEIGHT,this.getConstants().FIELD_TEXT_FONTFAMILY);t=t?this.getConstants().FIELD_BORDER_RECT_X_PADDING:0;let n=0;this.svgArrow&&(n=this.positionSVGArrow(o+t,e/2-this.getConstants().FIELD_DROPDOWN_SVG_ARROW_SIZE/2)),this.size_.width=o+n+2*t,this.size_.height=e,this.positionTextElement_(t,o)}positionSVGArrow(e,t){if(!this.svgArrow)return 0;const o=this.getSourceBlock();if(!o)throw new ft;const n=this.borderRect_?this.getConstants().FIELD_BORDER_RECT_X_PADDING:0,c=this.getConstants().FIELD_DROPDOWN_SVG_ARROW_PADDING,h=this.getConstants().FIELD_DROPDOWN_SVG_ARROW_SIZE;return this.svgArrow.setAttribute("transform","translate("+(o.RTL?n:e+c)+","+t+")"),h+c}getText_(){if(!this.selectedOption)return null;const e=this.selectedOption[0];return typeof e=="object"?e.alt:e}static fromJson(e){if(!e.options)throw Error("options are required for the dropdown field. The options property must be assigned an array of [humanReadableValue, languageNeutralValue] tuples.");return new this(e.options,void 0,e)}trimOptions(e){let t=!1;const o=e.map(([$,T])=>typeof $=="string"?[pt($),T]:(t=!0,[$.alt!==null?Object.assign({},$,{alt:pt($.alt)}):Object.assign({},$),T]));if(t||2>e.length)return{options:o};var n=o.map(([$])=>$),c=Vn(n);e=Gu(n,c);const h=Vu(n,c);return!e&&!h||c<=e+h?{options:o}:(c=e?n[0].substring(0,e-1):void 0,n=h?n[0].substr(1-h):void 0,{options:this.applyTrim(o,e,h),prefix:c,suffix:n})}applyTrim(e,t,o){return e.map(([n,c])=>[n.substring(t,n.length-o),c])}validateOptions(e){if(!Array.isArray(e))throw TypeError("FieldDropdown options must be an array.");if(!e.length)throw TypeError("FieldDropdown options must not be an empty array.");let t=!1;for(let o=0;oe.width)return t;if(e=this.getWorkspaceViewRect(e),this.workspace.RTL){var o=this.anchor.x-t;o-this.size.widthe.right&&(t=-(e.right-this.anchor.x))}else{o=t+this.anchor.x;const n=o+this.size.width;oe.right&&(t=e.right-this.anchor.x-this.size.width)}return t}getOptimalRelativeTop(e){let t=-this.size.height/4;if(this.size.height>e.height)return t;const o=this.anchor.y+t,n=o+this.size.height;return e=this.getWorkspaceViewRect(e),oe.bottom&&(t=e.bottom-this.anchor.y-this.size.height),t}getWorkspaceViewRect(e){const t=e.top;let o=e.top+e.height,n=e.left;return e=e.left+e.width,o-=this.getScrollbarThickness(),this.workspace.RTL?n-=this.getScrollbarThickness():e-=this.getScrollbarThickness(),new qe(t,o,n,e)}getScrollbarThickness(){return mt.scrollbarThickness/this.workspace.scale}renderTail(){const e=[];var t=this.size.width/2,o=this.size.height/2,n=-this.relativeLeft,c=-this.relativeTop;if(t===n&&o===c)e.push("M "+t+","+o);else{c-=o,n-=t,this.workspace.RTL&&(n*=-1);var h=Math.sqrt(c*c+n*n),$=Math.acos(n/h);0>c&&($=2*Math.PI-$);var T=$+Math.PI/2;T>2*Math.PI&&(T-=2*Math.PI);var L=Math.sin(T);const nt=Math.cos(T);let it=(this.size.width+this.size.height)/ss.TAIL_THICKNESS;it=Math.min(it,this.size.width,this.size.height)/4,T=1-ss.ANCHOR_RADIUS/h,n=t+T*n,c=o+T*c,T=t+it*nt;const Xt=o+it*L;t-=it*nt,o-=it*L,L=Ia(this.workspace.RTL?-ss.TAIL_ANGLE:ss.TAIL_ANGLE),L=$+L,L>2*Math.PI&&(L-=2*Math.PI),$=Math.sin(L)*h/ss.TAIL_BEND,h=Math.cos(L)*h/ss.TAIL_BEND,e.push("M"+T+","+Xt),e.push("C"+(T+h)+","+(Xt+$)+" "+n+","+c+" "+n+","+c),e.push("C"+n+","+c+" "+(t+h)+","+(o+$)+" "+t+","+o)}e.push("z");let te;(te=this.tail)==null||te.setAttribute("d",e.join(" "))}bringToFront(){let e;const t=(e=this.svgRoot)==null?void 0:e.parentNode;return this.svgRoot&&(t==null?void 0:t.lastChild)!==this.svgRoot?(t==null||t.appendChild(this.svgRoot),!0):!1}getRelativeToSurfaceXY(){return new V(this.workspace.RTL?-this.relativeLeft+this.anchor.x-this.size.width:this.anchor.x+this.relativeLeft,this.anchor.y+this.relativeTop)}getSvgRoot(){return this.svgRoot}moveDuringDrag(e){this.moveTo(e.x,e.y),this.relativeLeft=this.workspace.RTL?this.anchor.x-e.x-this.size.width:e.x-this.anchor.x,this.relativeTop=e.y-this.anchor.y,this.renderTail()}setDragging(e){}setDeleteStyle(e){}isDeletable(){return!1}showContextMenu(e){}isMovable(){return!0}startDrag(){this.dragStrategy.startDrag()}drag(e){this.dragStrategy.drag(e)}endDrag(){this.dragStrategy.endDrag()}revertDrag(){this.dragStrategy.revertDrag()}select(){}unselect(){}};ss=Ye,Ye.BORDER_WIDTH=6,Ye.DOUBLE_BORDER=2*ss.BORDER_WIDTH,Ye.MIN_SIZE=ss.DOUBLE_BORDER,Ye.TAIL_THICKNESS=1,Ye.TAIL_ANGLE=20,Ye.TAIL_BEND=4,Ye.ANCHOR_RADIUS=8;var uo=class extends Ye{constructor(e,t,o,n){super(t,o,n),this.workspace=t,this.anchor=o,this.ownerRect=n,this.autoLayout=!0,t=new ds(e),this.validateWorkspaceOptions(t),this.svgDialog=N(x.SVG,{x:Ye.BORDER_WIDTH,y:Ye.BORDER_WIDTH},this.contentContainer),e.parentWorkspace=this.workspace,this.miniWorkspace=this.newWorkspaceSvg(new ds(e)),this.miniWorkspace.internalIsMutator=!0,e=this.miniWorkspace.createDom("blocklyMutatorBackground"),this.svgDialog.appendChild(e),t.languageTree&&(e.insertBefore(this.miniWorkspace.addFlyout(x.G),this.miniWorkspace.getCanvas()),e=this.miniWorkspace.getFlyout(),e==null||e.init(this.miniWorkspace),e==null||e.show(t.languageTree)),this.miniWorkspace.addChangeListener(this.onWorkspaceChange.bind(this));let c,h;(c=this.miniWorkspace.getFlyout())==null||(h=c.getWorkspace())==null||h.addChangeListener(this.onWorkspaceChange.bind(this)),this.updateBubbleSize()}dispose(){this.miniWorkspace.dispose(),super.dispose()}getWorkspace(){return this.miniWorkspace}addWorkspaceChangeListener(e){this.miniWorkspace.addChangeListener(e)}validateWorkspaceOptions(e){if(e.hasCategories)throw Error("The miniworkspace bubble does not support toolboxes with categories");if(e.hasTrashcan)throw Error("The miniworkspace bubble does not support trashcans");if(e.zoomOptions.controls||e.zoomOptions.wheel||e.zoomOptions.pinch)throw Error("The miniworkspace bubble does not support zooming");if(e.moveOptions.scrollbars||e.moveOptions.wheel||e.moveOptions.drag)throw Error("The miniworkspace bubble does not scrolling/moving the workspace");if(e.horizontalLayout)throw Error("The miniworkspace bubble does not support horizontal layouts")}onWorkspaceChange(){this.bumpBlocksIntoBounds(),this.updateBubbleSize()}bumpBlocksIntoBounds(){if(!this.miniWorkspace.isDragging())for(const e of this.miniWorkspace.getTopBlocks(!1)){const t=e.getRelativeToSurfaceXY();if(20>t.y&&e.moveBy(0,20-t.y),e.RTL){let o=-20;const n=this.miniWorkspace.getFlyout();n&&(o-=n.getWidth()),t.x>o&&e.moveBy(o-t.x,0)}else 20>t.x&&e.moveBy(20-t.x,0)}}updateBubbleSize(){if(!this.miniWorkspace.isDragging()){var e=this.getSize(),t=this.calculateWorkspaceSize();Math.abs(e.width-t.width)({kind:"block",type:o}))}),t}getAnchorLocation(){const e=Dl/2;return V.sum(this.workspaceLocation,new V(e,e))}getBubbleOwnerRect(){const e=this.sourceBlock.getSvgRoot().getBBox();return new qe(e.y,e.y+e.height,e.x,e.x+e.width)}createRootBlock(){if(!this.sourceBlock.decompose)throw Error("Blocks with mutator icons must include a decompose method");this.rootBlock=this.sourceBlock.decompose(this.miniWorkspaceBubble.getWorkspace());for(var e of this.rootBlock.getDescendants(!1))e.queueRender();this.rootBlock.setMovable(!1),this.rootBlock.setDeletable(!1);let t,o,n,c;e=(c=(t=this.miniWorkspaceBubble)==null||(o=t.getWorkspace())==null||(n=o.getFlyout())==null?void 0:n.getWidth())!=null?c:0,this.rootBlock.moveBy(this.rootBlock.RTL?-(e+Al):Al,Al)}addSaveConnectionsListener(){this.sourceBlock.saveConnections&&this.rootBlock&&(this.saveConnectionsListener=()=>{this.sourceBlock.saveConnections&&this.rootBlock&&this.sourceBlock.saveConnections(this.rootBlock)},this.saveConnectionsListener(),this.sourceBlock.workspace.addChangeListener(this.saveConnectionsListener))}createMiniWorkspaceChangeListener(){return e=>{i.MutatorIcon$$module$build$src$core$icons$mutator_icon.isIgnorableMutatorEvent(e)||this.updateWorkspacePid||(this.updateWorkspacePid=setTimeout(()=>{this.updateWorkspacePid=null,this.recomposeSourceBlock()},0))}}static isIgnorableMutatorEvent(e){return e.isUiEvent||w(e)||R(e)&&e.element==="disabled"}recomposeSourceBlock(){if(this.rootBlock){if(!this.sourceBlock.compose)throw Error("Blocks with mutator icons must include a compose method");var e=i.getGroup$$module$build$src$core$events$utils();e||i.setGroup$$module$build$src$core$events$utils(!0);var t=ri.getExtraBlockState_(this.sourceBlock);this.sourceBlock.compose(this.rootBlock);var o=ri.getExtraBlockState_(this.sourceBlock);t!==o&&z(new(G(O.BLOCK_CHANGE))(this.sourceBlock,"mutation",null,t,o)),i.setGroup$$module$build$src$core$events$utils(e)}}getWorkspace(){let e;return(e=this.miniWorkspaceBubble)==null?void 0:e.getWorkspace()}},i.MutatorIcon$$module$build$src$core$icons$mutator_icon.TYPE=yt.MUTATOR,i.MutatorIcon$$module$build$src$core$icons$mutator_icon.WEIGHT=1,i.MutatorIcon$$module$build$src$core$icons$mutator_icon;var sn=Object.create(null),qT={allExtensions:sn};i.register$$module$build$src$core$extensions("parent_tooltip_when_inline",x$);var Is={TEST_ONLY:qT};Is.apply=Ha,Is.buildTooltipForDropdown=i.buildTooltipForDropdown$$module$build$src$core$extensions,Is.buildTooltipWithFieldText=i.buildTooltipWithFieldText$$module$build$src$core$extensions,Is.isRegistered=_d,Is.register=i.register$$module$build$src$core$extensions,Is.registerMixin=i.registerMixin$$module$build$src$core$extensions,Is.registerMutator=i.registerMutator$$module$build$src$core$extensions,Is.runAfterPageLoad=E$,Is.unregister=w$;var Ae;(function(e){e[e.WIN_KEY_FF_LINUX=0]="WIN_KEY_FF_LINUX",e[e.MAC_ENTER=3]="MAC_ENTER",e[e.BACKSPACE=8]="BACKSPACE",e[e.TAB=9]="TAB",e[e.NUM_CENTER=12]="NUM_CENTER",e[e.ENTER=13]="ENTER",e[e.SHIFT=16]="SHIFT",e[e.CTRL=17]="CTRL",e[e.ALT=18]="ALT",e[e.PAUSE=19]="PAUSE",e[e.CAPS_LOCK=20]="CAPS_LOCK",e[e.ESC=27]="ESC",e[e.SPACE=32]="SPACE",e[e.PAGE_UP=33]="PAGE_UP",e[e.PAGE_DOWN=34]="PAGE_DOWN",e[e.END=35]="END",e[e.HOME=36]="HOME",e[e.LEFT=37]="LEFT",e[e.UP=38]="UP",e[e.RIGHT=39]="RIGHT",e[e.DOWN=40]="DOWN",e[e.PLUS_SIGN=43]="PLUS_SIGN",e[e.PRINT_SCREEN=44]="PRINT_SCREEN",e[e.INSERT=45]="INSERT",e[e.DELETE=46]="DELETE",e[e.ZERO=48]="ZERO",e[e.ONE=49]="ONE",e[e.TWO=50]="TWO",e[e.THREE=51]="THREE",e[e.FOUR=52]="FOUR",e[e.FIVE=53]="FIVE",e[e.SIX=54]="SIX",e[e.SEVEN=55]="SEVEN",e[e.EIGHT=56]="EIGHT",e[e.NINE=57]="NINE",e[e.FF_SEMICOLON=59]="FF_SEMICOLON",e[e.FF_EQUALS=61]="FF_EQUALS",e[e.FF_DASH=173]="FF_DASH",e[e.FF_HASH=163]="FF_HASH",e[e.QUESTION_MARK=63]="QUESTION_MARK",e[e.AT_SIGN=64]="AT_SIGN",e[e.A=65]="A",e[e.B=66]="B",e[e.C=67]="C",e[e.D=68]="D",e[e.E=69]="E",e[e.F=70]="F",e[e.G=71]="G",e[e.H=72]="H",e[e.I=73]="I",e[e.J=74]="J",e[e.K=75]="K",e[e.L=76]="L",e[e.M=77]="M",e[e.N=78]="N",e[e.O=79]="O",e[e.P=80]="P",e[e.Q=81]="Q",e[e.R=82]="R",e[e.S=83]="S",e[e.T=84]="T",e[e.U=85]="U",e[e.V=86]="V",e[e.W=87]="W",e[e.X=88]="X",e[e.Y=89]="Y",e[e.Z=90]="Z",e[e.META=91]="META",e[e.WIN_KEY_RIGHT=92]="WIN_KEY_RIGHT",e[e.CONTEXT_MENU=93]="CONTEXT_MENU",e[e.NUM_ZERO=96]="NUM_ZERO",e[e.NUM_ONE=97]="NUM_ONE",e[e.NUM_TWO=98]="NUM_TWO",e[e.NUM_THREE=99]="NUM_THREE",e[e.NUM_FOUR=100]="NUM_FOUR",e[e.NUM_FIVE=101]="NUM_FIVE",e[e.NUM_SIX=102]="NUM_SIX",e[e.NUM_SEVEN=103]="NUM_SEVEN",e[e.NUM_EIGHT=104]="NUM_EIGHT",e[e.NUM_NINE=105]="NUM_NINE",e[e.NUM_MULTIPLY=106]="NUM_MULTIPLY",e[e.NUM_PLUS=107]="NUM_PLUS",e[e.NUM_MINUS=109]="NUM_MINUS",e[e.NUM_PERIOD=110]="NUM_PERIOD",e[e.NUM_DIVISION=111]="NUM_DIVISION",e[e.F1=112]="F1",e[e.F2=113]="F2",e[e.F3=114]="F3",e[e.F4=115]="F4",e[e.F5=116]="F5",e[e.F6=117]="F6",e[e.F7=118]="F7",e[e.F8=119]="F8",e[e.F9=120]="F9",e[e.F10=121]="F10",e[e.F11=122]="F11",e[e.F12=123]="F12",e[e.NUMLOCK=144]="NUMLOCK",e[e.SCROLL_LOCK=145]="SCROLL_LOCK",e[e.FIRST_MEDIA_KEY=166]="FIRST_MEDIA_KEY",e[e.LAST_MEDIA_KEY=183]="LAST_MEDIA_KEY",e[e.SEMICOLON=186]="SEMICOLON",e[e.DASH=189]="DASH",e[e.EQUALS=187]="EQUALS",e[e.COMMA=188]="COMMA",e[e.PERIOD=190]="PERIOD",e[e.SLASH=191]="SLASH",e[e.APOSTROPHE=192]="APOSTROPHE",e[e.TILDE=192]="TILDE",e[e.SINGLE_QUOTE=222]="SINGLE_QUOTE",e[e.OPEN_SQUARE_BRACKET=219]="OPEN_SQUARE_BRACKET",e[e.BACKSLASH=220]="BACKSLASH",e[e.CLOSE_SQUARE_BRACKET=221]="CLOSE_SQUARE_BRACKET",e[e.WIN_KEY=224]="WIN_KEY",e[e.MAC_FF_META=224]="MAC_FF_META",e[e.MAC_WK_CMD_LEFT=91]="MAC_WK_CMD_LEFT",e[e.MAC_WK_CMD_RIGHT=93]="MAC_WK_CMD_RIGHT",e[e.WIN_IME=229]="WIN_IME",e[e.VK_NONAME=252]="VK_NONAME",e[e.PHANTOM=255]="PHANTOM"})(Ae||(Ae={}));var ho={};ho.arc=gt,ho.curve=Yt,ho.line=Fi,ho.lineOnAxis=ne,ho.lineTo=Bs,ho.moveBy=at,ho.moveTo=wt,ho.point=ue;var ut={};ut.Coordinate=V,ut.KeyCodes=Ae,ut.Rect=qe,ut.Size=Le,ut.Svg=x,ut.aria=cr,ut.array=Ob,ut.browserEvents=no,ut.colour=us,ut.deprecation=hb,ut.dom=xt,ut.extensions=Is,ut.idGenerator=ph,ut.math=gl,ut.object=$v,ut.parsing=br,ut.string=qi,ut.style=So,ut.svgMath=ti,ut.svgPaths=ho,ut.toolbox=Eo,ut.userAgent=LT,ut.xml=Hi;var yv=class extends Ye{constructor(e,t,o){super(e,t,o),this.workspace=e,this.anchor=t,this.ownerRect=o,this.resizePointerMoveListener=this.resizePointerUpListener=null,this.textChangeListeners=[],this.sizeChangeListeners=[],this.text="",this.DEFAULT_SIZE=new Le(160+Ye.DOUBLE_BORDER,80+Ye.DOUBLE_BORDER),this.MIN_SIZE=new Le(45+Ye.DOUBLE_BORDER,20+Ye.DOUBLE_BORDER),this.editable=!0,ge(this.svgRoot,"blocklyTextInputBubble"),{inputRoot:this.inputRoot,textArea:this.textArea}=this.createEditor(this.contentContainer),this.resizeGroup=this.createResizeHandle(this.svgRoot,e),this.setSize(this.DEFAULT_SIZE,!0)}getText(){return this.text}setText(e){this.text=e,this.textArea.value=e,this.onTextChange()}setEditable(e){(this.editable=e)?this.textArea.removeAttribute("readonly"):this.textArea.setAttribute("readonly","")}isEditable(){return this.editable}addTextChangeListener(e){this.textChangeListeners.push(e)}addSizeChangeListener(e){this.sizeChangeListeners.push(e)}createEditor(e){e=N(x.FOREIGNOBJECT,{x:Ye.BORDER_WIDTH,y:Ye.BORDER_WIDTH},e);const t=document.createElementNS(Fs,"body");t.setAttribute("xmlns",Fs),t.className="blocklyMinimalBody";const o=document.createElementNS(Fs,"textarea");return o.className="blocklyTextarea blocklyText",o.setAttribute("dir",this.workspace.RTL?"RTL":"LTR"),t.appendChild(o),e.appendChild(t),this.bindTextAreaEvents(o),setTimeout(()=>{o.focus()},0),{inputRoot:e,textArea:o}}bindTextAreaEvents(e){X(e,"wheel",this,t=>{t.stopPropagation()}),X(e,"focus",this,this.onStartEdit,!0),X(e,"change",this,this.onTextChange)}createResizeHandle(e,t){return e=N(x.IMAGE,{class:"blocklyResizeHandle",href:`${t.options.pathToMedia}resize-handle.svg`},e),X(e,"pointerdown",this,this.onResizePointerDown),e}setSize(e,t=!1){e.width=Math.max(e.width,this.MIN_SIZE.width),e.height=Math.max(e.height,this.MIN_SIZE.height);const o=e.width-Ye.DOUBLE_BORDER,n=e.height-Ye.DOUBLE_BORDER;this.inputRoot.setAttribute("width",`${o}`),this.inputRoot.setAttribute("height",`${n}`),this.resizeGroup.setAttribute("y",`${n}`),this.workspace.RTL?this.resizeGroup.setAttribute("x",`${-Ye.DOUBLE_BORDER}`):this.resizeGroup.setAttribute("x",`${o}`),super.setSize(e,t),this.onSizeChange()}getSize(){return super.getSize()}onResizePointerDown(e){this.bringToFront(),ve(e)||(Ba(this.workspace,e,new V(this.workspace.RTL?-this.getSize().width:this.getSize().width,this.getSize().height)),this.resizePointerUpListener=X(document,"pointerup",this,this.onResizePointerUp),this.resizePointerMoveListener=X(document,"pointermove",this,this.onResizePointerMove),this.workspace.hideChaff()),e.stopPropagation()}onResizePointerUp(e){ke(),this.resizePointerUpListener&&(ze(this.resizePointerUpListener),this.resizePointerUpListener=null),this.resizePointerMoveListener&&(ze(this.resizePointerMoveListener),this.resizePointerMoveListener=null)}onResizePointerMove(e){e=ja(this.workspace,e),this.setSize(new Le(this.workspace.RTL?-e.x:e.x,e.y),!1),this.onSizeChange()}onStartEdit(){this.bringToFront()&&this.textArea.focus()}onTextChange(){this.text=this.textArea.value;for(const e of this.textChangeListeners)e()}onSizeChange(){for(const e of this.sizeChangeListeners)e()}};Et(` + Found: ${n}`))}if(t)throw TypeError("Found invalid FieldDropdown options.")}};qt.CHECKMARK_OVERHANG=25,qt.MAX_MENU_HEIGHT_VH=.45,qt.ARROW_CHAR="▾",qt.IMAGE_Y_OFFSET=5,qt.IMAGE_Y_PADDING=2*qt.IMAGE_Y_OFFSET,Ps("field_dropdown",qt);var vv=class{constructor(e,t){this.bubble=e,this.workspace=t,this.startLoc=null,this.inGroup=!1}isMovable(){return!0}startDrag(){(this.inGroup=!!i.getGroup$$module$build$src$core$events$utils())||i.setGroup$$module$build$src$core$events$utils(!0),this.startLoc=this.bubble.getRelativeToSurfaceXY(),this.workspace.setResizesEnabled(!1);let e;(e=this.workspace.getLayerManager())==null||e.moveToDragLayer(this.bubble),this.bubble.setDragging&&this.bubble.setDragging(!0)}drag(e){this.bubble.moveDuringDrag(e)}endDrag(){this.workspace.setResizesEnabled(!0),this.inGroup||i.setGroup$$module$build$src$core$events$utils(!1);let e;(e=this.workspace.getLayerManager())==null||e.moveOffDragLayer(this.bubble,Cl),this.bubble.setDragging(!1)}revertDrag(){this.startLoc&&this.bubble.moveDuringDrag(this.startLoc)}},ss,Ye=class{constructor(e,t,o){this.workspace=e,this.anchor=t,this.ownerRect=o,this.size=new Le(0,0),this.colour="#ffffff",this.disposed=!1,this.relativeLeft=this.relativeTop=0,this.dragStrategy=new vv(this,this.workspace),this.id=k(),this.svgRoot=N(x.G,{class:"blocklyBubble"},e.getBubbleCanvas()),e=N(x.G,{filter:`url(#${this.workspace.getRenderer().getConstants().embossFilterId})`},this.svgRoot),this.tail=N(x.PATH,{class:"blocklyBubbleTail"},e),this.background=N(x.RECT,{class:"blocklyDraggable",x:0,y:0,rx:ss.BORDER_WIDTH,ry:ss.BORDER_WIDTH},e),this.contentContainer=N(x.G,{},this.svgRoot),X(this.background,"pointerdown",this,this.onMouseDown)}dispose(){Ke(this.svgRoot),this.disposed=!0}setAnchorLocation(e,t=!1){this.anchor=e,t?this.positionByRect(this.ownerRect):this.positionRelativeToAnchor(),this.renderTail()}setPositionRelativeToAnchor(e,t){this.relativeLeft=e,this.relativeTop=t,this.positionRelativeToAnchor(),this.renderTail()}getSize(){return this.size}setSize(e,t=!1){e.width=Math.max(e.width,ss.MIN_SIZE),e.height=Math.max(e.height,ss.MIN_SIZE),this.size=e,this.background.setAttribute("width",`${e.width}`),this.background.setAttribute("height",`${e.height}`),t?this.positionByRect(this.ownerRect):this.positionRelativeToAnchor(),this.renderTail()}getColour(){return this.colour}setColour(e){this.colour=e,this.tail.setAttribute("fill",e),this.background.setAttribute("fill",e)}onMouseDown(e){let t;(t=this.workspace.getGesture(e))==null||t.handleBubbleStart(e,this),this.bringToFront(),i.setSelected$$module$build$src$core$common(this)}positionRelativeToAnchor(){let e=this.anchor.x;e=this.workspace.RTL?e-(this.relativeLeft+this.size.width):e+this.relativeLeft,this.moveTo(e,this.relativeTop+this.anchor.y)}moveTo(e,t){this.svgRoot.setAttribute("transform",`translate(${e}, ${t})`)}positionByRect(e=new qe(0,0,0,0)){var t=this.workspace.getMetricsManager().getViewMetrics(!0),o=this.getOptimalRelativeLeft(t),n=this.getOptimalRelativeTop(t);const c={x:o,y:-this.size.height-this.workspace.getRenderer().getConstants().MIN_BLOCK_HEIGHT},h={x:-this.size.width-30,y:n};n={x:e.getWidth(),y:n};var $={x:o,y:e.getHeight()};o=e.getWidth()e.width)return t;if(e=this.getWorkspaceViewRect(e),this.workspace.RTL){var o=this.anchor.x-t;o-this.size.widthe.right&&(t=-(e.right-this.anchor.x))}else{o=t+this.anchor.x;const n=o+this.size.width;oe.right&&(t=e.right-this.anchor.x-this.size.width)}return t}getOptimalRelativeTop(e){let t=-this.size.height/4;if(this.size.height>e.height)return t;const o=this.anchor.y+t,n=o+this.size.height;return e=this.getWorkspaceViewRect(e),oe.bottom&&(t=e.bottom-this.anchor.y-this.size.height),t}getWorkspaceViewRect(e){const t=e.top;let o=e.top+e.height,n=e.left;return e=e.left+e.width,o-=this.getScrollbarThickness(),this.workspace.RTL?n-=this.getScrollbarThickness():e-=this.getScrollbarThickness(),new qe(t,o,n,e)}getScrollbarThickness(){return mt.scrollbarThickness/this.workspace.scale}renderTail(){const e=[];var t=this.size.width/2,o=this.size.height/2,n=-this.relativeLeft,c=-this.relativeTop;if(t===n&&o===c)e.push("M "+t+","+o);else{c-=o,n-=t,this.workspace.RTL&&(n*=-1);var h=Math.sqrt(c*c+n*n),$=Math.acos(n/h);0>c&&($=2*Math.PI-$);var T=$+Math.PI/2;T>2*Math.PI&&(T-=2*Math.PI);var L=Math.sin(T);const nt=Math.cos(T);let it=(this.size.width+this.size.height)/ss.TAIL_THICKNESS;it=Math.min(it,this.size.width,this.size.height)/4,T=1-ss.ANCHOR_RADIUS/h,n=t+T*n,c=o+T*c,T=t+it*nt;const Xt=o+it*L;t-=it*nt,o-=it*L,L=Ia(this.workspace.RTL?-ss.TAIL_ANGLE:ss.TAIL_ANGLE),L=$+L,L>2*Math.PI&&(L-=2*Math.PI),$=Math.sin(L)*h/ss.TAIL_BEND,h=Math.cos(L)*h/ss.TAIL_BEND,e.push("M"+T+","+Xt),e.push("C"+(T+h)+","+(Xt+$)+" "+n+","+c+" "+n+","+c),e.push("C"+n+","+c+" "+(t+h)+","+(o+$)+" "+t+","+o)}e.push("z");let te;(te=this.tail)==null||te.setAttribute("d",e.join(" "))}bringToFront(){let e;const t=(e=this.svgRoot)==null?void 0:e.parentNode;return this.svgRoot&&(t==null?void 0:t.lastChild)!==this.svgRoot?(t==null||t.appendChild(this.svgRoot),!0):!1}getRelativeToSurfaceXY(){return new G(this.workspace.RTL?-this.relativeLeft+this.anchor.x-this.size.width:this.anchor.x+this.relativeLeft,this.anchor.y+this.relativeTop)}getSvgRoot(){return this.svgRoot}moveDuringDrag(e){this.moveTo(e.x,e.y),this.relativeLeft=this.workspace.RTL?this.anchor.x-e.x-this.size.width:e.x-this.anchor.x,this.relativeTop=e.y-this.anchor.y,this.renderTail()}setDragging(e){}setDeleteStyle(e){}isDeletable(){return!1}showContextMenu(e){}isMovable(){return!0}startDrag(){this.dragStrategy.startDrag()}drag(e){this.dragStrategy.drag(e)}endDrag(){this.dragStrategy.endDrag()}revertDrag(){this.dragStrategy.revertDrag()}select(){}unselect(){}};ss=Ye,Ye.BORDER_WIDTH=6,Ye.DOUBLE_BORDER=2*ss.BORDER_WIDTH,Ye.MIN_SIZE=ss.DOUBLE_BORDER,Ye.TAIL_THICKNESS=1,Ye.TAIL_ANGLE=20,Ye.TAIL_BEND=4,Ye.ANCHOR_RADIUS=8;var uo=class extends Ye{constructor(e,t,o,n){super(t,o,n),this.workspace=t,this.anchor=o,this.ownerRect=n,this.autoLayout=!0,t=new ds(e),this.validateWorkspaceOptions(t),this.svgDialog=N(x.SVG,{x:Ye.BORDER_WIDTH,y:Ye.BORDER_WIDTH},this.contentContainer),e.parentWorkspace=this.workspace,this.miniWorkspace=this.newWorkspaceSvg(new ds(e)),this.miniWorkspace.internalIsMutator=!0,e=this.miniWorkspace.createDom("blocklyMutatorBackground"),this.svgDialog.appendChild(e),t.languageTree&&(e.insertBefore(this.miniWorkspace.addFlyout(x.G),this.miniWorkspace.getCanvas()),e=this.miniWorkspace.getFlyout(),e==null||e.init(this.miniWorkspace),e==null||e.show(t.languageTree)),this.miniWorkspace.addChangeListener(this.onWorkspaceChange.bind(this));let c,h;(c=this.miniWorkspace.getFlyout())==null||(h=c.getWorkspace())==null||h.addChangeListener(this.onWorkspaceChange.bind(this)),this.updateBubbleSize()}dispose(){this.miniWorkspace.dispose(),super.dispose()}getWorkspace(){return this.miniWorkspace}addWorkspaceChangeListener(e){this.miniWorkspace.addChangeListener(e)}validateWorkspaceOptions(e){if(e.hasCategories)throw Error("The miniworkspace bubble does not support toolboxes with categories");if(e.hasTrashcan)throw Error("The miniworkspace bubble does not support trashcans");if(e.zoomOptions.controls||e.zoomOptions.wheel||e.zoomOptions.pinch)throw Error("The miniworkspace bubble does not support zooming");if(e.moveOptions.scrollbars||e.moveOptions.wheel||e.moveOptions.drag)throw Error("The miniworkspace bubble does not scrolling/moving the workspace");if(e.horizontalLayout)throw Error("The miniworkspace bubble does not support horizontal layouts")}onWorkspaceChange(){this.bumpBlocksIntoBounds(),this.updateBubbleSize()}bumpBlocksIntoBounds(){if(!this.miniWorkspace.isDragging())for(const e of this.miniWorkspace.getTopBlocks(!1)){const t=e.getRelativeToSurfaceXY();if(20>t.y&&e.moveBy(0,20-t.y),e.RTL){let o=-20;const n=this.miniWorkspace.getFlyout();n&&(o-=n.getWidth()),t.x>o&&e.moveBy(o-t.x,0)}else 20>t.x&&e.moveBy(20-t.x,0)}}updateBubbleSize(){if(!this.miniWorkspace.isDragging()){var e=this.getSize(),t=this.calculateWorkspaceSize();Math.abs(e.width-t.width)({kind:"block",type:o}))}),t}getAnchorLocation(){const e=Dl/2;return G.sum(this.workspaceLocation,new G(e,e))}getBubbleOwnerRect(){const e=this.sourceBlock.getSvgRoot().getBBox();return new qe(e.y,e.y+e.height,e.x,e.x+e.width)}createRootBlock(){if(!this.sourceBlock.decompose)throw Error("Blocks with mutator icons must include a decompose method");this.rootBlock=this.sourceBlock.decompose(this.miniWorkspaceBubble.getWorkspace());for(var e of this.rootBlock.getDescendants(!1))e.queueRender();this.rootBlock.setMovable(!1),this.rootBlock.setDeletable(!1);let t,o,n,c;e=(c=(t=this.miniWorkspaceBubble)==null||(o=t.getWorkspace())==null||(n=o.getFlyout())==null?void 0:n.getWidth())!=null?c:0,this.rootBlock.moveBy(this.rootBlock.RTL?-(e+Al):Al,Al)}addSaveConnectionsListener(){this.sourceBlock.saveConnections&&this.rootBlock&&(this.saveConnectionsListener=()=>{this.sourceBlock.saveConnections&&this.rootBlock&&this.sourceBlock.saveConnections(this.rootBlock)},this.saveConnectionsListener(),this.sourceBlock.workspace.addChangeListener(this.saveConnectionsListener))}createMiniWorkspaceChangeListener(){return e=>{i.MutatorIcon$$module$build$src$core$icons$mutator_icon.isIgnorableMutatorEvent(e)||this.updateWorkspacePid||(this.updateWorkspacePid=setTimeout(()=>{this.updateWorkspacePid=null,this.recomposeSourceBlock()},0))}}static isIgnorableMutatorEvent(e){return e.isUiEvent||w(e)||R(e)&&e.element==="disabled"}recomposeSourceBlock(){if(this.rootBlock){if(!this.sourceBlock.compose)throw Error("Blocks with mutator icons must include a compose method");var e=i.getGroup$$module$build$src$core$events$utils();e||i.setGroup$$module$build$src$core$events$utils(!0);var t=ri.getExtraBlockState_(this.sourceBlock);this.sourceBlock.compose(this.rootBlock);var o=ri.getExtraBlockState_(this.sourceBlock);t!==o&&z(new(V(O.BLOCK_CHANGE))(this.sourceBlock,"mutation",null,t,o)),i.setGroup$$module$build$src$core$events$utils(e)}}getWorkspace(){let e;return(e=this.miniWorkspaceBubble)==null?void 0:e.getWorkspace()}},i.MutatorIcon$$module$build$src$core$icons$mutator_icon.TYPE=yt.MUTATOR,i.MutatorIcon$$module$build$src$core$icons$mutator_icon.WEIGHT=1,i.MutatorIcon$$module$build$src$core$icons$mutator_icon;var sn=Object.create(null),qT={allExtensions:sn};i.register$$module$build$src$core$extensions("parent_tooltip_when_inline",x$);var Is={TEST_ONLY:qT};Is.apply=Ha,Is.buildTooltipForDropdown=i.buildTooltipForDropdown$$module$build$src$core$extensions,Is.buildTooltipWithFieldText=i.buildTooltipWithFieldText$$module$build$src$core$extensions,Is.isRegistered=_d,Is.register=i.register$$module$build$src$core$extensions,Is.registerMixin=i.registerMixin$$module$build$src$core$extensions,Is.registerMutator=i.registerMutator$$module$build$src$core$extensions,Is.runAfterPageLoad=E$,Is.unregister=w$;var Ae;(function(e){e[e.WIN_KEY_FF_LINUX=0]="WIN_KEY_FF_LINUX",e[e.MAC_ENTER=3]="MAC_ENTER",e[e.BACKSPACE=8]="BACKSPACE",e[e.TAB=9]="TAB",e[e.NUM_CENTER=12]="NUM_CENTER",e[e.ENTER=13]="ENTER",e[e.SHIFT=16]="SHIFT",e[e.CTRL=17]="CTRL",e[e.ALT=18]="ALT",e[e.PAUSE=19]="PAUSE",e[e.CAPS_LOCK=20]="CAPS_LOCK",e[e.ESC=27]="ESC",e[e.SPACE=32]="SPACE",e[e.PAGE_UP=33]="PAGE_UP",e[e.PAGE_DOWN=34]="PAGE_DOWN",e[e.END=35]="END",e[e.HOME=36]="HOME",e[e.LEFT=37]="LEFT",e[e.UP=38]="UP",e[e.RIGHT=39]="RIGHT",e[e.DOWN=40]="DOWN",e[e.PLUS_SIGN=43]="PLUS_SIGN",e[e.PRINT_SCREEN=44]="PRINT_SCREEN",e[e.INSERT=45]="INSERT",e[e.DELETE=46]="DELETE",e[e.ZERO=48]="ZERO",e[e.ONE=49]="ONE",e[e.TWO=50]="TWO",e[e.THREE=51]="THREE",e[e.FOUR=52]="FOUR",e[e.FIVE=53]="FIVE",e[e.SIX=54]="SIX",e[e.SEVEN=55]="SEVEN",e[e.EIGHT=56]="EIGHT",e[e.NINE=57]="NINE",e[e.FF_SEMICOLON=59]="FF_SEMICOLON",e[e.FF_EQUALS=61]="FF_EQUALS",e[e.FF_DASH=173]="FF_DASH",e[e.FF_HASH=163]="FF_HASH",e[e.QUESTION_MARK=63]="QUESTION_MARK",e[e.AT_SIGN=64]="AT_SIGN",e[e.A=65]="A",e[e.B=66]="B",e[e.C=67]="C",e[e.D=68]="D",e[e.E=69]="E",e[e.F=70]="F",e[e.G=71]="G",e[e.H=72]="H",e[e.I=73]="I",e[e.J=74]="J",e[e.K=75]="K",e[e.L=76]="L",e[e.M=77]="M",e[e.N=78]="N",e[e.O=79]="O",e[e.P=80]="P",e[e.Q=81]="Q",e[e.R=82]="R",e[e.S=83]="S",e[e.T=84]="T",e[e.U=85]="U",e[e.V=86]="V",e[e.W=87]="W",e[e.X=88]="X",e[e.Y=89]="Y",e[e.Z=90]="Z",e[e.META=91]="META",e[e.WIN_KEY_RIGHT=92]="WIN_KEY_RIGHT",e[e.CONTEXT_MENU=93]="CONTEXT_MENU",e[e.NUM_ZERO=96]="NUM_ZERO",e[e.NUM_ONE=97]="NUM_ONE",e[e.NUM_TWO=98]="NUM_TWO",e[e.NUM_THREE=99]="NUM_THREE",e[e.NUM_FOUR=100]="NUM_FOUR",e[e.NUM_FIVE=101]="NUM_FIVE",e[e.NUM_SIX=102]="NUM_SIX",e[e.NUM_SEVEN=103]="NUM_SEVEN",e[e.NUM_EIGHT=104]="NUM_EIGHT",e[e.NUM_NINE=105]="NUM_NINE",e[e.NUM_MULTIPLY=106]="NUM_MULTIPLY",e[e.NUM_PLUS=107]="NUM_PLUS",e[e.NUM_MINUS=109]="NUM_MINUS",e[e.NUM_PERIOD=110]="NUM_PERIOD",e[e.NUM_DIVISION=111]="NUM_DIVISION",e[e.F1=112]="F1",e[e.F2=113]="F2",e[e.F3=114]="F3",e[e.F4=115]="F4",e[e.F5=116]="F5",e[e.F6=117]="F6",e[e.F7=118]="F7",e[e.F8=119]="F8",e[e.F9=120]="F9",e[e.F10=121]="F10",e[e.F11=122]="F11",e[e.F12=123]="F12",e[e.NUMLOCK=144]="NUMLOCK",e[e.SCROLL_LOCK=145]="SCROLL_LOCK",e[e.FIRST_MEDIA_KEY=166]="FIRST_MEDIA_KEY",e[e.LAST_MEDIA_KEY=183]="LAST_MEDIA_KEY",e[e.SEMICOLON=186]="SEMICOLON",e[e.DASH=189]="DASH",e[e.EQUALS=187]="EQUALS",e[e.COMMA=188]="COMMA",e[e.PERIOD=190]="PERIOD",e[e.SLASH=191]="SLASH",e[e.APOSTROPHE=192]="APOSTROPHE",e[e.TILDE=192]="TILDE",e[e.SINGLE_QUOTE=222]="SINGLE_QUOTE",e[e.OPEN_SQUARE_BRACKET=219]="OPEN_SQUARE_BRACKET",e[e.BACKSLASH=220]="BACKSLASH",e[e.CLOSE_SQUARE_BRACKET=221]="CLOSE_SQUARE_BRACKET",e[e.WIN_KEY=224]="WIN_KEY",e[e.MAC_FF_META=224]="MAC_FF_META",e[e.MAC_WK_CMD_LEFT=91]="MAC_WK_CMD_LEFT",e[e.MAC_WK_CMD_RIGHT=93]="MAC_WK_CMD_RIGHT",e[e.WIN_IME=229]="WIN_IME",e[e.VK_NONAME=252]="VK_NONAME",e[e.PHANTOM=255]="PHANTOM"})(Ae||(Ae={}));var ho={};ho.arc=gt,ho.curve=Yt,ho.line=Fi,ho.lineOnAxis=ne,ho.lineTo=Bs,ho.moveBy=at,ho.moveTo=wt,ho.point=ue;var ut={};ut.Coordinate=G,ut.KeyCodes=Ae,ut.Rect=qe,ut.Size=Le,ut.Svg=x,ut.aria=cr,ut.array=Ob,ut.browserEvents=no,ut.colour=us,ut.deprecation=hb,ut.dom=xt,ut.extensions=Is,ut.idGenerator=ph,ut.math=gl,ut.object=$v,ut.parsing=br,ut.string=qi,ut.style=So,ut.svgMath=ti,ut.svgPaths=ho,ut.toolbox=Eo,ut.userAgent=LT,ut.xml=Hi;var yv=class extends Ye{constructor(e,t,o){super(e,t,o),this.workspace=e,this.anchor=t,this.ownerRect=o,this.resizePointerMoveListener=this.resizePointerUpListener=null,this.textChangeListeners=[],this.sizeChangeListeners=[],this.text="",this.DEFAULT_SIZE=new Le(160+Ye.DOUBLE_BORDER,80+Ye.DOUBLE_BORDER),this.MIN_SIZE=new Le(45+Ye.DOUBLE_BORDER,20+Ye.DOUBLE_BORDER),this.editable=!0,ge(this.svgRoot,"blocklyTextInputBubble"),{inputRoot:this.inputRoot,textArea:this.textArea}=this.createEditor(this.contentContainer),this.resizeGroup=this.createResizeHandle(this.svgRoot,e),this.setSize(this.DEFAULT_SIZE,!0)}getText(){return this.text}setText(e){this.text=e,this.textArea.value=e,this.onTextChange()}setEditable(e){(this.editable=e)?this.textArea.removeAttribute("readonly"):this.textArea.setAttribute("readonly","")}isEditable(){return this.editable}addTextChangeListener(e){this.textChangeListeners.push(e)}addSizeChangeListener(e){this.sizeChangeListeners.push(e)}createEditor(e){e=N(x.FOREIGNOBJECT,{x:Ye.BORDER_WIDTH,y:Ye.BORDER_WIDTH},e);const t=document.createElementNS(Fs,"body");t.setAttribute("xmlns",Fs),t.className="blocklyMinimalBody";const o=document.createElementNS(Fs,"textarea");return o.className="blocklyTextarea blocklyText",o.setAttribute("dir",this.workspace.RTL?"RTL":"LTR"),t.appendChild(o),e.appendChild(t),this.bindTextAreaEvents(o),setTimeout(()=>{o.focus()},0),{inputRoot:e,textArea:o}}bindTextAreaEvents(e){X(e,"wheel",this,t=>{t.stopPropagation()}),X(e,"focus",this,this.onStartEdit,!0),X(e,"change",this,this.onTextChange)}createResizeHandle(e,t){return e=N(x.IMAGE,{class:"blocklyResizeHandle",href:`${t.options.pathToMedia}resize-handle.svg`},e),X(e,"pointerdown",this,this.onResizePointerDown),e}setSize(e,t=!1){e.width=Math.max(e.width,this.MIN_SIZE.width),e.height=Math.max(e.height,this.MIN_SIZE.height);const o=e.width-Ye.DOUBLE_BORDER,n=e.height-Ye.DOUBLE_BORDER;this.inputRoot.setAttribute("width",`${o}`),this.inputRoot.setAttribute("height",`${n}`),this.resizeGroup.setAttribute("y",`${n}`),this.workspace.RTL?this.resizeGroup.setAttribute("x",`${-Ye.DOUBLE_BORDER}`):this.resizeGroup.setAttribute("x",`${o}`),super.setSize(e,t),this.onSizeChange()}getSize(){return super.getSize()}onResizePointerDown(e){this.bringToFront(),ve(e)||(Ba(this.workspace,e,new G(this.workspace.RTL?-this.getSize().width:this.getSize().width,this.getSize().height)),this.resizePointerUpListener=X(document,"pointerup",this,this.onResizePointerUp),this.resizePointerMoveListener=X(document,"pointermove",this,this.onResizePointerMove),this.workspace.hideChaff()),e.stopPropagation()}onResizePointerUp(e){ke(),this.resizePointerUpListener&&(ze(this.resizePointerUpListener),this.resizePointerUpListener=null),this.resizePointerMoveListener&&(ze(this.resizePointerMoveListener),this.resizePointerMoveListener=null)}onResizePointerMove(e){e=ja(this.workspace,e),this.setSize(new Le(this.workspace.RTL?-e.x:e.x,e.y),!1),this.onSizeChange()}onStartEdit(){this.bringToFront()&&this.textArea.focus()}onTextChange(){this.text=this.textArea.value;for(const e of this.textChangeListeners)e()}onSizeChange(){for(const e of this.sizeChangeListeners)e()}};Et(` .blocklyTextInputBubble .blocklyTextarea { background-color: var(--commentFillColour); border: 0; @@ -855,13 +855,13 @@ children`),this.state=e}},sv=class extends Gi{constructor(e,t,o){super(`Cannot a width: 100%; height: 100%; } -`);var tp={};tp.register=Td,tp.unregister=D$;var sp=17,_v=160,wv=80,po=class extends xl{constructor(e){super(e),this.sourceBlock=e,this.textInputBubble=null,this.text="",this.bubbleSize=new Le(_v,wv),this.bubbleVisiblity=!1}getType(){return po.TYPE}initView(e){this.svgRoot||(super.initView(e),N(x.CIRCLE,{class:"blocklyIconShape",r:"8",cx:"8",cy:"8"},this.svgRoot),N(x.PATH,{class:"blocklyIconSymbol",d:"m6.8,10h2c0.003,-0.617 0.271,-0.962 0.633,-1.266 2.875,-2.4050.607,-5.534 -3.765,-3.874v1.7c3.12,-1.657 3.698,0.118 2.336,1.25-1.201,0.998 -1.201,1.528 -1.204,2.19z"},this.svgRoot),N(x.RECT,{class:"blocklyIconSymbol",x:"6.8",y:"10.78",height:"2",width:"2"},this.svgRoot),ge(this.svgRoot,"blockly-icon-comment"))}dispose(){super.dispose();let e;(e=this.textInputBubble)==null||e.dispose()}getWeight(){return po.WEIGHT}getSize(){return new Le(sp,sp)}applyColour(){super.applyColour();const e=this.sourceBlock.getColour();let t;(t=this.textInputBubble)==null||t.setColour(e)}updateEditable(){const e=this,t=()=>super.updateEditable;return j.asyncExecutePromiseGeneratorFunction(function*(){t().call(e),e.bubbleIsVisible()&&(yield e.setBubbleVisible(!1),yield e.setBubbleVisible(!0))})}onLocationChange(e){super.onLocationChange(e),e=this.getAnchorLocation();let t;(t=this.textInputBubble)==null||t.setAnchorLocation(e)}setText(e){const t=this.text;z(new(G(O.BLOCK_CHANGE))(this.sourceBlock,"comment",null,t,e)),this.text=e;let o;(o=this.textInputBubble)==null||o.setText(this.text)}getText(){return this.text}setBubbleSize(e){this.bubbleSize=e;let t;(t=this.textInputBubble)==null||t.setSize(this.bubbleSize,!0)}getBubbleSize(){return this.bubbleSize}saveState(){return this.text?{text:this.text,pinned:this.bubbleIsVisible(),height:this.bubbleSize.height,width:this.bubbleSize.width}:null}loadState(e){let t;this.text=(t=e.text)!=null?t:"";let o,n;this.bubbleSize=new Le((o=e.width)!=null?o:_v,(n=e.height)!=null?n:wv);let c;this.bubbleVisiblity=(c=e.pinned)!=null?c:!1,this.setBubbleVisible(this.bubbleVisiblity)}onClick(){super.onClick(),this.setBubbleVisible(!this.bubbleIsVisible())}isClickableInFlyout(){return!1}onTextChange(){if(this.textInputBubble){var e=this.textInputBubble.getText();this.text!==e&&(z(new(G(O.BLOCK_CHANGE))(this.sourceBlock,"comment",null,this.text,e)),this.text=e)}}onSizeChange(){this.textInputBubble&&(this.bubbleSize=this.textInputBubble.getSize())}bubbleIsVisible(){return this.bubbleVisiblity}setBubbleVisible(e){const t=this;return j.asyncExecutePromiseGeneratorFunction(function*(){t.bubbleVisiblity!==e&&(t.bubbleVisiblity=e,yield ws(),!t.sourceBlock.rendered||t.sourceBlock.isInFlyout||t.sourceBlock.isInsertionMarker()||(e?(t.sourceBlock.isEditable()?t.showEditableBubble():t.showNonEditableBubble(),t.applyColour()):t.hideBubble(),z(new(G(O.BUBBLE_OPEN))(t.sourceBlock,e,"comment"))))})}showEditableBubble(){this.createBubble();let e;(e=this.textInputBubble)==null||e.addTextChangeListener(()=>this.onTextChange());let t;(t=this.textInputBubble)==null||t.addSizeChangeListener(()=>this.onSizeChange())}showNonEditableBubble(){this.createBubble();let e;(e=this.textInputBubble)==null||e.setEditable(!1)}createBubble(){this.textInputBubble=new yv(this.sourceBlock.workspace,this.getAnchorLocation(),this.getBubbleOwnerRect()),this.textInputBubble.setText(this.getText()),this.textInputBubble.setSize(this.bubbleSize,!0)}hideBubble(){let e;(e=this.textInputBubble)==null||e.dispose(),this.textInputBubble=null}getAnchorLocation(){const e=sp/2;return V.sum(this.workspaceLocation,new V(e,e))}getBubbleOwnerRect(){return this.sourceBlock.getBoundingRectangleWithoutChildren()}};po.TYPE=yt.COMMENT,po.WEIGHT=3,Td(po.TYPE,po);var Cv=class extends Error{constructor(e){super(`Tried to append an icon of type ${e.getType()} when an icon of that type already exists on the block. Use getIcon to access the existing icon.`),this.icon=e}},Tv={};Tv.DuplicateIconType=Cv;var kv=class extends Ye{constructor(e,t,o,n){super(t,o,n),this.text=e,this.workspace=t,this.anchor=o,this.ownerRect=n,this.paragraph=this.stringToSvg(e,this.contentContainer),this.updateBubbleSize()}getText(){return this.text}setText(e){this.text=e,Ke(this.paragraph),this.paragraph=this.stringToSvg(e,this.contentContainer),this.updateBubbleSize()}stringToSvg(e,t){return t=this.createParagraph(t),e=this.createTextFragments(t,e),this.workspace.RTL&&this.rightAlignTextFragments(t.getBBox().width,e),t}createParagraph(e){return N(x.G,{class:"blocklyText blocklyBubbleText blocklyNoPointerEvents",transform:`translate(0,${Ye.BORDER_WIDTH})`,style:`direction: ${this.workspace.RTL?"rtl":"ltr"}`},e)}createTextFragments(e,t){let o=1;return t.split(` +`);var tp={};tp.register=Td,tp.unregister=D$;var sp=17,_v=160,wv=80,po=class extends xl{constructor(e){super(e),this.sourceBlock=e,this.textInputBubble=null,this.text="",this.bubbleSize=new Le(_v,wv),this.bubbleVisiblity=!1}getType(){return po.TYPE}initView(e){this.svgRoot||(super.initView(e),N(x.CIRCLE,{class:"blocklyIconShape",r:"8",cx:"8",cy:"8"},this.svgRoot),N(x.PATH,{class:"blocklyIconSymbol",d:"m6.8,10h2c0.003,-0.617 0.271,-0.962 0.633,-1.266 2.875,-2.4050.607,-5.534 -3.765,-3.874v1.7c3.12,-1.657 3.698,0.118 2.336,1.25-1.201,0.998 -1.201,1.528 -1.204,2.19z"},this.svgRoot),N(x.RECT,{class:"blocklyIconSymbol",x:"6.8",y:"10.78",height:"2",width:"2"},this.svgRoot),ge(this.svgRoot,"blockly-icon-comment"))}dispose(){super.dispose();let e;(e=this.textInputBubble)==null||e.dispose()}getWeight(){return po.WEIGHT}getSize(){return new Le(sp,sp)}applyColour(){super.applyColour();const e=this.sourceBlock.getColour();let t;(t=this.textInputBubble)==null||t.setColour(e)}updateEditable(){const e=this,t=()=>super.updateEditable;return j.asyncExecutePromiseGeneratorFunction(function*(){t().call(e),e.bubbleIsVisible()&&(yield e.setBubbleVisible(!1),yield e.setBubbleVisible(!0))})}onLocationChange(e){super.onLocationChange(e),e=this.getAnchorLocation();let t;(t=this.textInputBubble)==null||t.setAnchorLocation(e)}setText(e){const t=this.text;z(new(V(O.BLOCK_CHANGE))(this.sourceBlock,"comment",null,t,e)),this.text=e;let o;(o=this.textInputBubble)==null||o.setText(this.text)}getText(){return this.text}setBubbleSize(e){this.bubbleSize=e;let t;(t=this.textInputBubble)==null||t.setSize(this.bubbleSize,!0)}getBubbleSize(){return this.bubbleSize}saveState(){return this.text?{text:this.text,pinned:this.bubbleIsVisible(),height:this.bubbleSize.height,width:this.bubbleSize.width}:null}loadState(e){let t;this.text=(t=e.text)!=null?t:"";let o,n;this.bubbleSize=new Le((o=e.width)!=null?o:_v,(n=e.height)!=null?n:wv);let c;this.bubbleVisiblity=(c=e.pinned)!=null?c:!1,this.setBubbleVisible(this.bubbleVisiblity)}onClick(){super.onClick(),this.setBubbleVisible(!this.bubbleIsVisible())}isClickableInFlyout(){return!1}onTextChange(){if(this.textInputBubble){var e=this.textInputBubble.getText();this.text!==e&&(z(new(V(O.BLOCK_CHANGE))(this.sourceBlock,"comment",null,this.text,e)),this.text=e)}}onSizeChange(){this.textInputBubble&&(this.bubbleSize=this.textInputBubble.getSize())}bubbleIsVisible(){return this.bubbleVisiblity}setBubbleVisible(e){const t=this;return j.asyncExecutePromiseGeneratorFunction(function*(){t.bubbleVisiblity!==e&&(t.bubbleVisiblity=e,yield ws(),!t.sourceBlock.rendered||t.sourceBlock.isInFlyout||t.sourceBlock.isInsertionMarker()||(e?(t.sourceBlock.isEditable()?t.showEditableBubble():t.showNonEditableBubble(),t.applyColour()):t.hideBubble(),z(new(V(O.BUBBLE_OPEN))(t.sourceBlock,e,"comment"))))})}showEditableBubble(){this.createBubble();let e;(e=this.textInputBubble)==null||e.addTextChangeListener(()=>this.onTextChange());let t;(t=this.textInputBubble)==null||t.addSizeChangeListener(()=>this.onSizeChange())}showNonEditableBubble(){this.createBubble();let e;(e=this.textInputBubble)==null||e.setEditable(!1)}createBubble(){this.textInputBubble=new yv(this.sourceBlock.workspace,this.getAnchorLocation(),this.getBubbleOwnerRect()),this.textInputBubble.setText(this.getText()),this.textInputBubble.setSize(this.bubbleSize,!0)}hideBubble(){let e;(e=this.textInputBubble)==null||e.dispose(),this.textInputBubble=null}getAnchorLocation(){const e=sp/2;return G.sum(this.workspaceLocation,new G(e,e))}getBubbleOwnerRect(){return this.sourceBlock.getBoundingRectangleWithoutChildren()}};po.TYPE=yt.COMMENT,po.WEIGHT=3,Td(po.TYPE,po);var Cv=class extends Error{constructor(e){super(`Tried to append an icon of type ${e.getType()} when an icon of that type already exists on the block. Use getIcon to access the existing icon.`),this.icon=e}},Tv={};Tv.DuplicateIconType=Cv;var kv=class extends Ye{constructor(e,t,o,n){super(t,o,n),this.text=e,this.workspace=t,this.anchor=o,this.ownerRect=n,this.paragraph=this.stringToSvg(e,this.contentContainer),this.updateBubbleSize()}getText(){return this.text}setText(e){this.text=e,Ke(this.paragraph),this.paragraph=this.stringToSvg(e,this.contentContainer),this.updateBubbleSize()}stringToSvg(e,t){return t=this.createParagraph(t),e=this.createTextFragments(t,e),this.workspace.RTL&&this.rightAlignTextFragments(t.getBBox().width,e),t}createParagraph(e){return N(x.G,{class:"blocklyText blocklyBubbleText blocklyNoPointerEvents",transform:`translate(0,${Ye.BORDER_WIDTH})`,style:`direction: ${this.workspace.RTL?"rtl":"ltr"}`},e)}createTextFragments(e,t){let o=1;return t.split(` `).map(n=>{const c=N(x.TEXT,{y:`${o}em`,x:Ye.BORDER_WIDTH},e);return n=document.createTextNode(n),c.appendChild(n),o+=1,c})}rightAlignTextFragments(e,t){for(const o of t)o.setAttribute("text-anchor","start"),o.setAttribute("x",`${e+Ye.BORDER_WIDTH}`)}updateBubbleSize(){const e=this.paragraph.getBBox();this.setSize(new Le(e.width+2*Ye.BORDER_WIDTH,e.height+2*Ye.BORDER_WIDTH),!0)}},op=17,go=class extends xl{constructor(e){super(e),this.sourceBlock=e,this.textMap=new Map,this.textBubble=null}getType(){return go.TYPE}initView(e){this.svgRoot||(super.initView(e),N(x.PATH,{class:"blocklyIconShape",d:"M2,15Q-1,15 0.5,12L6.5,1.7Q8,-1 9.5,1.7L15.5,12Q17,15 14,15z"},this.svgRoot),N(x.PATH,{class:"blocklyIconSymbol",d:"m7,4.8v3.16l0.27,2.27h1.46l0.27,-2.27v-3.16z"},this.svgRoot),N(x.RECT,{class:"blocklyIconSymbol",x:"7",y:"11",height:"2",width:"2"},this.svgRoot),ge(this.svgRoot,"blockly-icon-warning"))}dispose(){super.dispose();let e;(e=this.textBubble)==null||e.dispose()}getWeight(){return go.WEIGHT}getSize(){return new Le(op,op)}applyColour(){super.applyColour();let e;(e=this.textBubble)==null||e.setColour(this.sourceBlock.getColour())}updateCollapsed(){}isShownWhenCollapsed(){return!0}onLocationChange(e){super.onLocationChange(e);let t;(t=this.textBubble)==null||t.setAnchorLocation(this.getAnchorLocation())}addMessage(e,t){if(this.textMap.get(t)===e)return this;e?this.textMap.set(t,e):this.textMap.delete(t);let o;return(o=this.textBubble)==null||o.setText(this.getText()),this}getText(){return[...this.textMap.values()].join(` -`)}onClick(){super.onClick(),this.setBubbleVisible(!this.bubbleIsVisible())}isClickableInFlyout(){return!1}bubbleIsVisible(){return!!this.textBubble}setBubbleVisible(e){const t=this;return j.asyncExecutePromiseGeneratorFunction(function*(){if(t.bubbleIsVisible()!==e){if(yield ws(),e)t.textBubble=new kv(t.getText(),t.sourceBlock.workspace,t.getAnchorLocation(),t.getBubbleOwnerRect()),t.applyColour();else{let o;(o=t.textBubble)==null||o.dispose(),t.textBubble=null}z(new(G(O.BUBBLE_OPEN))(t.sourceBlock,e,"warning"))}})}getAnchorLocation(){const e=op/2;return V.sum(this.workspaceLocation,new V(e,e))}getBubbleOwnerRect(){const e=this.sourceBlock.getSvgRoot().getBBox();return new qe(e.y,e.y+e.height,e.x,e.x+e.width)}};go.TYPE=yt.WARNING,go.WEIGHT=2;var Ao={};Ao.CommentIcon=po,Ao.Icon=xl,Ao.IconType=yt,Ao.MutatorIcon=i.MutatorIcon$$module$build$src$core$icons$mutator_icon,Ao.WarningIcon=go,Ao.exceptions=Tv,Ao.registry=tp,i.Names$$module$build$src$core$names=class{constructor(e,t){this.db=new Map,this.dbReverse=new Set,this.variableMap=null,this.variablePrefix=t||"",this.reservedWords=new Set(e?e.split(","):[])}reset(){this.db.clear(),this.dbReverse.clear(),this.variableMap=null}setVariableMap(e){this.variableMap=e}getNameForUserVariable(e){return this.variableMap?(e=this.variableMap.getVariableById(e))?e.name:null:(console.warn(`Deprecated call to Names.prototype.getName without defining a variable map. To fix, add the following code in your generator's init() function: -Blockly.YourGeneratorName.nameDB_.setVariableMap(workspace.getVariableMap());`),null)}populateVariables(e){e=i.allUsedVarModels$$module$build$src$core$variables(e);for(let t=0;trect,`,`${e} .blocklyEditableText>rect {`,`fill: ${this.FIELD_BORDER_RECT_COLOUR};`,"fill-opacity: .6;","stroke: none;","}",`${e} .blocklyNonEditableText>text,`,`${e} .blocklyEditableText>text {`,"fill: #000;","}",`${e} .blocklyFlyoutLabelText {`,"fill: #000;","}",`${e} .blocklyText.blocklyBubbleText {`,"fill: #000;","}",`${e} .blocklyEditableText:not(.editing):hover>rect {`,"stroke: #fff;","stroke-width: 2;","}",`${e} .blocklyHtmlInput {`,`font-family: ${this.FIELD_TEXT_FONTFAMILY};`,`font-weight: ${this.FIELD_TEXT_FONTWEIGHT};`,"}",`${e} .blocklySelected>.blocklyPath {`,"stroke: #fc3;","stroke-width: 3px;","}",`${e} .blocklyHighlightedConnectionPath {`,"stroke: #fc3;","}",`${e} .blocklyReplaceable .blocklyPath {`,"fill-opacity: .5;","}",`${e} .blocklyReplaceable .blocklyPathLight,`,`${e} .blocklyReplaceable .blocklyPathDark {`,"display: none;","}",`${e} .blocklyInsertionMarker>.blocklyPath {`,`fill-opacity: ${this.INSERTION_MARKER_OPACITY};`,"stroke: none;","}"]}},Nl=class{constructor(e,t){this.inlinePath_=this.outlinePath_="",this.block_=e,this.info_=t,this.topLeft_=e.getRelativeToSurfaceXY(),this.constants_=t.getRenderer().getConstants()}draw(){this.drawOutline_(),this.drawInternals_(),this.updateConnectionHighlights(),this.block_.pathObject.setPath(this.outlinePath_+` -`+this.inlinePath_),this.info_.RTL&&this.block_.pathObject.flipRTL(),this.recordSizeOnBlock_()}recordSizeOnBlock_(){this.block_.height=this.info_.height,this.block_.width=this.info_.widthWithChildren,this.block_.childlessWidth=this.info_.width}drawOutline_(){this.drawTop_();for(let e=1;ee||e>this.fieldRow.length)throw Error("index "+e+" out of bounds.");return(t||t===""&&o)&&(typeof t=="string"&&(t=i.fromJson$$module$build$src$core$field_registry({type:"field_label",text:t})),t.setSourceBlock(this.sourceBlock),this.sourceBlock.initialized&&this.initField(t),t.name=o,t.setVisible(this.isVisible()),t.prefixField&&(e=this.insertFieldAt(e,t.prefixField)),this.fieldRow.splice(e,0,t),e++,t.suffixField&&(e=this.insertFieldAt(e,t.suffixField)),this.sourceBlock.rendered&&this.sourceBlock.queueRender()),e}removeField(e,t){for(let o=0,n;n=this.fieldRow[o];o++)if(n.name===e)return n.dispose(),this.fieldRow.splice(o,1),this.sourceBlock.rendered&&this.sourceBlock.queueRender(),!0;if(t)return!1;throw Error('Field "'+e+'" not found.')}isVisible(){return this.visible}setVisible(e){let t=[];if(this.visible===e)return t;this.visible=e;for(let n=0,c;c=this.fieldRow[n];n++)c.setVisible(e);if(this.connection){var o=this.connection;e?t=o.startTrackingAll():o.stopTrackingAll(),(o=o.targetBlock())&&(o.getSvgRoot().style.display=e?"block":"none")}return t}markDirty(){for(let e=0,t;t=this.fieldRow[e];e++)t.markDirty()}setCheck(e){if(!this.connection)throw Error("This input does not have a connection.");return this.connection.setCheck(e),this}setAlign(e){return this.align=e,this.sourceBlock.rendered&&this.sourceBlock.queueRender(),this}setShadowDom(e){if(!this.connection)throw Error("This input does not have a connection.");return this.connection.setShadowDom(e),this}getShadowDom(){if(!this.connection)throw Error("This input does not have a connection.");return this.connection.getShadowDom()}init(){for(const e of this.fieldRow)e.init()}initModel(){for(const e of this.fieldRow)e.initModel()}initField(e){this.sourceBlock.rendered?e.init():e.initModel()}dispose(){for(let e=0,t;t=this.fieldRow[e];e++)t.dispose();this.connection&&this.connection.dispose()}makeConnection(e){return this.sourceBlock.makeConnection_(e)}},Us=class extends nn{constructor(e,t){super(e,t),this.name=e,this.type=i.inputTypes$$module$build$src$core$inputs$input_types.DUMMY}},fo=class extends nn{constructor(e,t){super(e,t),this.name=e,this.type=i.inputTypes$$module$build$src$core$inputs$input_types.END_ROW}},is=class extends nn{constructor(e,t){if(!e)throw Error("Statement inputs must have a non-empty name");super(e,t),this.name=e,this.type=i.inputTypes$$module$build$src$core$inputs$input_types.STATEMENT,this.connection=this.makeConnection(oe.NEXT_STATEMENT)}},Rv;i.ValueInput$$module$build$src$core$inputs$value_input=class extends nn{constructor(e,t){if(!e)throw Error("Value inputs must have a non-empty name");super(e,t),this.name=e,this.type=i.inputTypes$$module$build$src$core$inputs$input_types.VALUE,this.connection=this.makeConnection(oe.INPUT_VALUE)}},Rv={},Rv.ValueInput=i.ValueInput$$module$build$src$core$inputs$value_input;var kr=class{constructor(e,t){this.statementEdge=this.width=this.widthWithChildren=this.height=0,this.rows=[],this.inputRows=[],this.startY=this.startX=0,this.renderer_=e,this.block_=t,this.constants_=this.renderer_.getConstants(),this.outputConnection=t.outputConnection?new Dv(this.constants_,t.outputConnection):null,this.isInline=t.getInputsInline()&&!t.isCollapsed(),this.isCollapsed=t.isCollapsed(),this.isInsertionMarker=t.isInsertionMarker(),this.RTL=t.RTL,this.topRow=new cp(this.constants_),this.bottomRow=new ip(this.constants_)}getRenderer(){return this.renderer_}measure(){this.createRows_(),this.addElemSpacing_(),this.addRowSpacing_(),this.computeBounds_(),this.alignRowElements_(),this.finalize_()}createRows_(){this.populateTopRow_(),this.rows.push(this.topRow);let e=new ap(this.constants_);this.inputRows.push(e);var t=this.block_.getIcons();for(let o=0,n;n=t[o];o++){const c=new Ev(this.constants_,n);this.isCollapsed&&!n.isShownWhenCollapsed()||e.elements.push(c)}t=void 0;for(let o=0,n;n=this.block_.inputList[o];o++)if(n.isVisible()){this.shouldStartNewRow_(n,t)&&(this.rows.push(e),e=new ap(this.constants_),this.inputRows.push(e));for(let c=0,h;h=n.fieldRow[c];c++)e.elements.push(new on(this.constants_,h,n));this.addInput_(n,e),t=n}this.isCollapsed&&(e.hasJaggedEdge=!0,e.elements.push(new Iv(this.constants_))),(e.elements.length||e.hasDummyInput)&&this.rows.push(e),this.populateBottomRow_(),this.rows.push(this.bottomRow)}populateTopRow_(){var e=!!this.block_.previousConnection;const t=(this.block_.hat?this.block_.hat==="cap":this.constants_.ADD_START_HATS)&&!this.outputConnection&&!e;let o=this.topRow.hasLeftSquareCorner(this.block_)?Tr:Cr;this.topRow.elements.push(new o(this.constants_)),t?(e=new np(this.constants_),this.topRow.elements.push(e),this.topRow.capline=e.ascenderHeight):e&&(this.topRow.hasPreviousConnection=!0,this.topRow.connection=new Av(this.constants_,this.block_.previousConnection),this.topRow.elements.push(this.topRow.connection)),this.block_.inputList.length&&this.block_.inputList[0]instanceof is&&!this.block_.isCollapsed()?this.topRow.minHeight=this.constants_.TOP_ROW_PRECEDES_STATEMENT_MIN_HEIGHT:this.topRow.minHeight=this.constants_.TOP_ROW_MIN_HEIGHT,o=this.topRow.hasRightSquareCorner(this.block_)?Tr:Cr,this.topRow.elements.push(new o(this.constants_,"right"))}populateBottomRow_(){this.bottomRow.hasNextConnection=!!this.block_.nextConnection,this.bottomRow.minHeight=this.block_.inputList.length&&this.block_.inputList[this.block_.inputList.length-1]instanceof is?this.constants_.BOTTOM_ROW_AFTER_STATEMENT_MIN_HEIGHT:this.constants_.BOTTOM_ROW_MIN_HEIGHT,this.bottomRow.hasLeftSquareCorner(this.block_)?this.bottomRow.elements.push(new Tr(this.constants_)):this.bottomRow.elements.push(new Cr(this.constants_)),this.bottomRow.hasNextConnection&&(this.bottomRow.connection=new xv(this.constants_,this.block_.nextConnection),this.bottomRow.elements.push(this.bottomRow.connection)),this.bottomRow.hasRightSquareCorner(this.block_)?this.bottomRow.elements.push(new Tr(this.constants_,"right")):this.bottomRow.elements.push(new Cr(this.constants_,"right"))}addInput_(e,t){this.isInline&&e instanceof i.ValueInput$$module$build$src$core$inputs$value_input?(t.elements.push(new rp(this.constants_,e)),t.hasInlineInput=!0):e instanceof is?(t.elements.push(new wr(this.constants_,e)),t.hasStatement=!0):e instanceof i.ValueInput$$module$build$src$core$inputs$value_input?(t.elements.push(new Ol(this.constants_,e)),t.hasExternalInput=!0):(e instanceof Us||e instanceof fo)&&(t.minHeight=Math.max(t.minHeight,e.getSourceBlock()&&e.getSourceBlock().isShadow()?this.constants_.DUMMY_INPUT_SHADOW_MIN_HEIGHT:this.constants_.DUMMY_INPUT_MIN_HEIGHT),t.hasDummyInput=!0),t.align===null&&(t.align=e.align)}shouldStartNewRow_(e,t){return t?t instanceof fo||e instanceof is||t instanceof is?!0:e instanceof i.ValueInput$$module$build$src$core$inputs$value_input||e instanceof Us||t instanceof i.ValueInput$$module$build$src$core$inputs$value_input?!this.isInline:!1:!1}addElemSpacing_(){for(let e=0,t;t=this.rows[e];e++){const o=t.elements;if(t.elements=[],t.startsWithElemSpacer()&&t.elements.push(new os(this.constants_,this.getInRowSpacing_(null,o[0]))),o.length){for(let n=0;ne.disposeInternal()),this.inputList.forEach(e=>e.dispose()),this.inputList.length=0,this.getConnections_(!0).forEach(e=>e.dispose()),this.disposed=!0}isDeadOrDying(){return this.disposing||this.disposed}initModel(){if(!this.initialized){for(const e of this.inputList)e.initModel();this.initialized=!0}}unplug(e){this.outputConnection&&this.unplugFromRow(e),this.previousConnection&&this.unplugFromStack(e)}unplugFromRow(e){let t=null,o;(o=this.outputConnection)!=null&&o.isConnected()&&(t=this.outputConnection.targetConnection,this.outputConnection.disconnect()),t&&e&&(e=this.getOnlyValueConnection())&&e.isConnected()&&!e.targetBlock().isShadow()&&(e=e.targetConnection,e==null||e.disconnect(),this.workspace.connectionChecker.canConnect(e,t,!1)?t.connect(e):e==null||e.onFailedConnect(t))}getOnlyValueConnection(){let e=null;for(let t=0;t(n=n+(o==="("||c===")"?"":" ")+c,o=c[c.length-1],n),""),t=t.trim()||"???",e&&t.length>e&&(t=t.substring(0,e-3)+"..."),t}toTokens(e="?"){const t=[];for(const n of this.inputList)if(n.name!=ur){for(const c of n.fieldRow)t.push(c.getText());if(n.connection){const c=n.connection.targetBlock();if(c){var o=n.connection;let h=o.getCheck();!h&&o.targetConnection&&(h=o.targetConnection.getCheck()),(o=!!h&&(h.includes("Boolean")||h.includes("Number")))&&t.push("("),t.push(...c.toTokens(e)),o&&t.push(")")}else t.push(e)}}return t}appendValueInput(e){return this.appendInput(new i.ValueInput$$module$build$src$core$inputs$value_input(e,this))}appendStatementInput(e){return this.statementInputCount++,this.appendInput(new is(e,this))}appendDummyInput(e=""){return this.appendInput(new Us(e,this))}appendEndRowInput(e=""){return this.appendInput(new fo(e,this))}appendInput(e){return this.inputList.push(e),e}appendInputFromRegistry(e,t){return(e=m(F.INPUT,e,!1))?this.appendInput(new e(t,this)):null}jsonInit(e){var t=e.type?'Block "'+e.type+'": ':"";if(e.output&&e.previousStatement)throw Error(t+"Must not have both an output and a previousStatement.");for(var o=0;e["args"+o];){if(e["message"+o]===void 0)throw Error(t+`args${o} must have a corresponding message (message${o}).`);o++}if(e.style&&e.style.hat&&(this.hat=e.style.hat,e.style=null),e.style&&e.colour)throw Error(t+"Must not have both a colour and a style.");for(e.style?this.jsonInitStyle(e,t):this.jsonInitColour(e,t),o=0;e["message"+o]!==void 0;)this.interpolate(e["message"+o],e["args"+o]||[],e["implicitAlign"+o]||e["lastDummyAlign"+o],t),o++;if(e.inputsInline!==void 0&&(i.disable$$module$build$src$core$events$utils(),this.setInputsInline(e.inputsInline),i.enable$$module$build$src$core$events$utils()),e.output!==void 0&&this.setOutput(!0,e.output),e.outputShape!==void 0&&this.setOutputShape(e.outputShape),e.previousStatement!==void 0&&this.setPreviousStatement(!0,e.previousStatement),e.nextStatement!==void 0&&this.setNextStatement(!0,e.nextStatement),e.tooltip!==void 0&&(o=pt(e.tooltip),this.setTooltip(o)),e.enableContextMenu!==void 0&&(this.contextMenu=!!e.enableContextMenu),e.suppressPrefixSuffix!==void 0&&(this.suppressPrefixSuffix=!!e.suppressPrefixSuffix),e.helpUrl!==void 0&&(o=pt(e.helpUrl),this.setHelpUrl(o)),typeof e.extensions=="string"&&(console.warn(t+"JSON attribute 'extensions' should be an array of strings. Found raw string in JSON for '"+e.type+"' block."),e.extensions=[e.extensions]),e.mutator!==void 0&&Ha(e.mutator,this,!0),e=e.extensions,Array.isArray(e))for(t=0;th||h>t)throw Error('Block "'+this.type+'": Message index %'+h+" out of range.");if(o[h])throw Error('Block "'+this.type+'": Message index %'+h+" duplicated.");o[h]=!0,n++}}if(n!==t)throw Error('Block "'+this.type+'": Message does not reference all '+t+" arg(s).")}interpolateArguments(e,t,o){const n=[];for(let h=0;h=this.inputList.length)throw RangeError("Input index "+e+" out of bounds.");if(t>this.inputList.length)throw RangeError("Reference input "+t+" out of bounds.");const o=this.inputList[e];this.inputList.splice(e,1),et.getWeight()-o.getWeight()),e}removeIcon(e){if(!this.hasIcon(e))return!1;let t;return(t=this.getIcon(e))==null||t.dispose(),this.icons=this.icons.filter(o=>!o.getType().equals(e)),!0}hasIcon(e){return this.icons.some(t=>t.getType().equals(e))}getIcon(e){return e instanceof yt?this.icons.find(t=>t.getType().equals(e)):this.icons.find(t=>t.getType().toString()===e)}getIcons(){return[...this.icons]}getRelativeToSurfaceXY(){return this.xy}moveBy(e,t,o){if(this.parentBlock_)throw Error("Block has parent");const n=new(G(O.BLOCK_MOVE))(this);o&&n.setReason(o),this.xy.translate(e,t),n.recordNew(),z(n)}makeConnection_(e){return new Be(this,e)}allInputsFilled(e){if(e===void 0&&(e=!0),!e&&this.isShadow())return!1;for(let o=0,n;n=this.inputList[o];o++)if(n.connection){var t=n.connection.targetBlock();if(!t||!t.allInputsFilled(e))return!1}return(t=this.getNextBlock())?t.allInputsFilled(e):!0}toDevString(){let e=this.type?'"'+this.type+'" block':"Block";return this.id&&(e+=' (id="'+this.id+'")'),e}};Oo.COLLAPSED_INPUT_NAME=ur,Oo.COLLAPSED_FIELD_NAME=dl;var hs=class{constructor(e,t,o,n){this.workspace=e,this.targetWorkspace=t,this.isFlyoutLabel=n,this.onMouseUpWrapper=null,this.height=this.width=0,this.cursorSvg=this.svgText=this.svgGroup=null,this.text=o.text,this.position=new V(0,0),this.callbackKey=o.callbackKey||o.callbackkey,this.cssClass=o["web-class"]||null,this.info=o}createDom(){var e=this.isFlyoutLabel?"blocklyFlyoutLabel":"blocklyFlyoutButton";this.cssClass&&(e+=" "+this.cssClass),this.svgGroup=N(x.G,{class:e},this.workspace.getCanvas());let t;this.isFlyoutLabel||(t=N(x.RECT,{class:"blocklyFlyoutButtonShadow",rx:hs.BORDER_RADIUS,ry:hs.BORDER_RADIUS,x:1,y:1},this.svgGroup)),e=N(x.RECT,{class:this.isFlyoutLabel?"blocklyFlyoutLabelBackground":"blocklyFlyoutButtonBackground",rx:hs.BORDER_RADIUS,ry:hs.BORDER_RADIUS},this.svgGroup);const o=N(x.TEXT,{class:this.isFlyoutLabel?"blocklyFlyoutLabelText":"blocklyText",x:0,y:0,"text-anchor":"middle"},this.svgGroup);var n=pt(this.text);this.workspace.RTL&&(n+="‏"),o.textContent=n,this.isFlyoutLabel&&(this.svgText=o,this.workspace.getThemeManager().subscribe(this.svgText,"flyoutForegroundColour","fill"));const c=Ms(o,"fontSize"),h=Ms(o,"fontWeight"),$=Ms(o,"fontFamily");if(this.width=ua(o,c,h,$),n=da(n,c,h,$),this.height=n.height,!this.isFlyoutLabel){this.width+=2*hs.TEXT_MARGIN_X,this.height+=2*hs.TEXT_MARGIN_Y;let T;(T=t)==null||T.setAttribute("width",String(this.width));let L;(L=t)==null||L.setAttribute("height",String(this.height))}return e.setAttribute("width",String(this.width)),e.setAttribute("height",String(this.height)),o.setAttribute("x",String(this.width/2)),o.setAttribute("y",String(this.height/2-n.height/2+n.baseline)),this.updateTransform(),this.onMouseUpWrapper=X(this.svgGroup,"pointerup",this,this.onMouseUp),this.svgGroup}show(){this.updateTransform(),this.svgGroup.setAttribute("display","block")}updateTransform(){this.svgGroup.setAttribute("transform","translate("+this.position.x+","+this.position.y+")")}moveTo(e,t){this.position.x=e,this.position.y=t,this.updateTransform()}isLabel(){return this.isFlyoutLabel}getPosition(){return this.position}getButtonText(){return this.text}getTargetWorkspace(){return this.targetWorkspace}getWorkspace(){return this.workspace}dispose(){this.onMouseUpWrapper&&ze(this.onMouseUpWrapper),this.svgGroup&&Ke(this.svgGroup),this.svgText&&this.workspace.getThemeManager().unsubscribe(this.svgText)}setCursorSvg(e){e?this.svgGroup&&(this.svgGroup.appendChild(e),this.cursorSvg=e):this.cursorSvg=null}setMarkerSvg(){throw Error("Attempted to set a marker on a button.")}onMouseUp(e){(e=this.targetWorkspace.getGesture(e))&&e.cancel(),this.isFlyoutLabel&&this.callbackKey?console.warn("Labels should not have callbacks. Label text: "+this.text):this.isFlyoutLabel||this.callbackKey&&this.targetWorkspace.getButtonCallback(this.callbackKey)?this.isFlyoutLabel||(e=this.targetWorkspace.getButtonCallback(this.callbackKey))&&e(this):console.warn("Buttons should have callbacks. Button text: "+this.text)}};hs.TEXT_MARGIN_X=5,hs.TEXT_MARGIN_Y=2,hs.BORDER_RADIUS=4,Et(` +`+this.inlinePath_),this.info_.RTL&&this.block_.pathObject.flipRTL(),this.recordSizeOnBlock_()}recordSizeOnBlock_(){this.block_.height=this.info_.height,this.block_.width=this.info_.widthWithChildren,this.block_.childlessWidth=this.info_.width}drawOutline_(){this.drawTop_();for(let e=1;ee||e>this.fieldRow.length)throw Error("index "+e+" out of bounds.");return(t||t===""&&o)&&(typeof t=="string"&&(t=i.fromJson$$module$build$src$core$field_registry({type:"field_label",text:t})),t.setSourceBlock(this.sourceBlock),this.sourceBlock.initialized&&this.initField(t),t.name=o,t.setVisible(this.isVisible()),t.prefixField&&(e=this.insertFieldAt(e,t.prefixField)),this.fieldRow.splice(e,0,t),e++,t.suffixField&&(e=this.insertFieldAt(e,t.suffixField)),this.sourceBlock.rendered&&this.sourceBlock.queueRender()),e}removeField(e,t){for(let o=0,n;n=this.fieldRow[o];o++)if(n.name===e)return n.dispose(),this.fieldRow.splice(o,1),this.sourceBlock.rendered&&this.sourceBlock.queueRender(),!0;if(t)return!1;throw Error('Field "'+e+'" not found.')}isVisible(){return this.visible}setVisible(e){let t=[];if(this.visible===e)return t;this.visible=e;for(let n=0,c;c=this.fieldRow[n];n++)c.setVisible(e);if(this.connection){var o=this.connection;e?t=o.startTrackingAll():o.stopTrackingAll(),(o=o.targetBlock())&&(o.getSvgRoot().style.display=e?"block":"none")}return t}markDirty(){for(let e=0,t;t=this.fieldRow[e];e++)t.markDirty()}setCheck(e){if(!this.connection)throw Error("This input does not have a connection.");return this.connection.setCheck(e),this}setAlign(e){return this.align=e,this.sourceBlock.rendered&&this.sourceBlock.queueRender(),this}setShadowDom(e){if(!this.connection)throw Error("This input does not have a connection.");return this.connection.setShadowDom(e),this}getShadowDom(){if(!this.connection)throw Error("This input does not have a connection.");return this.connection.getShadowDom()}init(){for(const e of this.fieldRow)e.init()}initModel(){for(const e of this.fieldRow)e.initModel()}initField(e){this.sourceBlock.rendered?e.init():e.initModel()}dispose(){for(let e=0,t;t=this.fieldRow[e];e++)t.dispose();this.connection&&this.connection.dispose()}makeConnection(e){return this.sourceBlock.makeConnection_(e)}},Us=class extends nn{constructor(e,t){super(e,t),this.name=e,this.type=i.inputTypes$$module$build$src$core$inputs$input_types.DUMMY}},fo=class extends nn{constructor(e,t){super(e,t),this.name=e,this.type=i.inputTypes$$module$build$src$core$inputs$input_types.END_ROW}},is=class extends nn{constructor(e,t){if(!e)throw Error("Statement inputs must have a non-empty name");super(e,t),this.name=e,this.type=i.inputTypes$$module$build$src$core$inputs$input_types.STATEMENT,this.connection=this.makeConnection(oe.NEXT_STATEMENT)}},Rv;i.ValueInput$$module$build$src$core$inputs$value_input=class extends nn{constructor(e,t){if(!e)throw Error("Value inputs must have a non-empty name");super(e,t),this.name=e,this.type=i.inputTypes$$module$build$src$core$inputs$input_types.VALUE,this.connection=this.makeConnection(oe.INPUT_VALUE)}},Rv={},Rv.ValueInput=i.ValueInput$$module$build$src$core$inputs$value_input;var kr=class{constructor(e,t){this.statementEdge=this.width=this.widthWithChildren=this.height=0,this.rows=[],this.inputRows=[],this.startY=this.startX=0,this.renderer_=e,this.block_=t,this.constants_=this.renderer_.getConstants(),this.outputConnection=t.outputConnection?new Dv(this.constants_,t.outputConnection):null,this.isInline=t.getInputsInline()&&!t.isCollapsed(),this.isCollapsed=t.isCollapsed(),this.isInsertionMarker=t.isInsertionMarker(),this.RTL=t.RTL,this.topRow=new cp(this.constants_),this.bottomRow=new ip(this.constants_)}getRenderer(){return this.renderer_}measure(){this.createRows_(),this.addElemSpacing_(),this.addRowSpacing_(),this.computeBounds_(),this.alignRowElements_(),this.finalize_()}createRows_(){this.populateTopRow_(),this.rows.push(this.topRow);let e=new ap(this.constants_);this.inputRows.push(e);var t=this.block_.getIcons();for(let o=0,n;n=t[o];o++){const c=new Ev(this.constants_,n);this.isCollapsed&&!n.isShownWhenCollapsed()||e.elements.push(c)}t=void 0;for(let o=0,n;n=this.block_.inputList[o];o++)if(n.isVisible()){this.shouldStartNewRow_(n,t)&&(this.rows.push(e),e=new ap(this.constants_),this.inputRows.push(e));for(let c=0,h;h=n.fieldRow[c];c++)e.elements.push(new on(this.constants_,h,n));this.addInput_(n,e),t=n}this.isCollapsed&&(e.hasJaggedEdge=!0,e.elements.push(new Iv(this.constants_))),(e.elements.length||e.hasDummyInput)&&this.rows.push(e),this.populateBottomRow_(),this.rows.push(this.bottomRow)}populateTopRow_(){var e=!!this.block_.previousConnection;const t=(this.block_.hat?this.block_.hat==="cap":this.constants_.ADD_START_HATS)&&!this.outputConnection&&!e;let o=this.topRow.hasLeftSquareCorner(this.block_)?Tr:Cr;this.topRow.elements.push(new o(this.constants_)),t?(e=new np(this.constants_),this.topRow.elements.push(e),this.topRow.capline=e.ascenderHeight):e&&(this.topRow.hasPreviousConnection=!0,this.topRow.connection=new Av(this.constants_,this.block_.previousConnection),this.topRow.elements.push(this.topRow.connection)),this.block_.inputList.length&&this.block_.inputList[0]instanceof is&&!this.block_.isCollapsed()?this.topRow.minHeight=this.constants_.TOP_ROW_PRECEDES_STATEMENT_MIN_HEIGHT:this.topRow.minHeight=this.constants_.TOP_ROW_MIN_HEIGHT,o=this.topRow.hasRightSquareCorner(this.block_)?Tr:Cr,this.topRow.elements.push(new o(this.constants_,"right"))}populateBottomRow_(){this.bottomRow.hasNextConnection=!!this.block_.nextConnection,this.bottomRow.minHeight=this.block_.inputList.length&&this.block_.inputList[this.block_.inputList.length-1]instanceof is?this.constants_.BOTTOM_ROW_AFTER_STATEMENT_MIN_HEIGHT:this.constants_.BOTTOM_ROW_MIN_HEIGHT,this.bottomRow.hasLeftSquareCorner(this.block_)?this.bottomRow.elements.push(new Tr(this.constants_)):this.bottomRow.elements.push(new Cr(this.constants_)),this.bottomRow.hasNextConnection&&(this.bottomRow.connection=new xv(this.constants_,this.block_.nextConnection),this.bottomRow.elements.push(this.bottomRow.connection)),this.bottomRow.hasRightSquareCorner(this.block_)?this.bottomRow.elements.push(new Tr(this.constants_,"right")):this.bottomRow.elements.push(new Cr(this.constants_,"right"))}addInput_(e,t){this.isInline&&e instanceof i.ValueInput$$module$build$src$core$inputs$value_input?(t.elements.push(new rp(this.constants_,e)),t.hasInlineInput=!0):e instanceof is?(t.elements.push(new wr(this.constants_,e)),t.hasStatement=!0):e instanceof i.ValueInput$$module$build$src$core$inputs$value_input?(t.elements.push(new Ol(this.constants_,e)),t.hasExternalInput=!0):(e instanceof Us||e instanceof fo)&&(t.minHeight=Math.max(t.minHeight,e.getSourceBlock()&&e.getSourceBlock().isShadow()?this.constants_.DUMMY_INPUT_SHADOW_MIN_HEIGHT:this.constants_.DUMMY_INPUT_MIN_HEIGHT),t.hasDummyInput=!0),t.align===null&&(t.align=e.align)}shouldStartNewRow_(e,t){return t?t instanceof fo||e instanceof is||t instanceof is?!0:e instanceof i.ValueInput$$module$build$src$core$inputs$value_input||e instanceof Us||t instanceof i.ValueInput$$module$build$src$core$inputs$value_input?!this.isInline:!1:!1}addElemSpacing_(){for(let e=0,t;t=this.rows[e];e++){const o=t.elements;if(t.elements=[],t.startsWithElemSpacer()&&t.elements.push(new os(this.constants_,this.getInRowSpacing_(null,o[0]))),o.length){for(let n=0;ne.disposeInternal()),this.inputList.forEach(e=>e.dispose()),this.inputList.length=0,this.getConnections_(!0).forEach(e=>e.dispose()),this.disposed=!0}isDeadOrDying(){return this.disposing||this.disposed}initModel(){if(!this.initialized){for(const e of this.inputList)e.initModel();this.initialized=!0}}unplug(e){this.outputConnection&&this.unplugFromRow(e),this.previousConnection&&this.unplugFromStack(e)}unplugFromRow(e){let t=null,o;(o=this.outputConnection)!=null&&o.isConnected()&&(t=this.outputConnection.targetConnection,this.outputConnection.disconnect()),t&&e&&(e=this.getOnlyValueConnection())&&e.isConnected()&&!e.targetBlock().isShadow()&&(e=e.targetConnection,e==null||e.disconnect(),this.workspace.connectionChecker.canConnect(e,t,!1)?t.connect(e):e==null||e.onFailedConnect(t))}getOnlyValueConnection(){let e=null;for(let t=0;t(n=n+(o==="("||c===")"?"":" ")+c,o=c[c.length-1],n),""),t=t.trim()||"???",e&&t.length>e&&(t=t.substring(0,e-3)+"..."),t}toTokens(e="?"){const t=[];for(const n of this.inputList)if(n.name!=ur){for(const c of n.fieldRow)t.push(c.getText());if(n.connection){const c=n.connection.targetBlock();if(c){var o=n.connection;let h=o.getCheck();!h&&o.targetConnection&&(h=o.targetConnection.getCheck()),(o=!!h&&(h.includes("Boolean")||h.includes("Number")))&&t.push("("),t.push(...c.toTokens(e)),o&&t.push(")")}else t.push(e)}}return t}appendValueInput(e){return this.appendInput(new i.ValueInput$$module$build$src$core$inputs$value_input(e,this))}appendStatementInput(e){return this.statementInputCount++,this.appendInput(new is(e,this))}appendDummyInput(e=""){return this.appendInput(new Us(e,this))}appendEndRowInput(e=""){return this.appendInput(new fo(e,this))}appendInput(e){return this.inputList.push(e),e}appendInputFromRegistry(e,t){return(e=m(F.INPUT,e,!1))?this.appendInput(new e(t,this)):null}jsonInit(e){var t=e.type?'Block "'+e.type+'": ':"";if(e.output&&e.previousStatement)throw Error(t+"Must not have both an output and a previousStatement.");for(var o=0;e["args"+o];){if(e["message"+o]===void 0)throw Error(t+`args${o} must have a corresponding message (message${o}).`);o++}if(e.style&&e.style.hat&&(this.hat=e.style.hat,e.style=null),e.style&&e.colour)throw Error(t+"Must not have both a colour and a style.");for(e.style?this.jsonInitStyle(e,t):this.jsonInitColour(e,t),o=0;e["message"+o]!==void 0;)this.interpolate(e["message"+o],e["args"+o]||[],e["implicitAlign"+o]||e["lastDummyAlign"+o],t),o++;if(e.inputsInline!==void 0&&(i.disable$$module$build$src$core$events$utils(),this.setInputsInline(e.inputsInline),i.enable$$module$build$src$core$events$utils()),e.output!==void 0&&this.setOutput(!0,e.output),e.outputShape!==void 0&&this.setOutputShape(e.outputShape),e.previousStatement!==void 0&&this.setPreviousStatement(!0,e.previousStatement),e.nextStatement!==void 0&&this.setNextStatement(!0,e.nextStatement),e.tooltip!==void 0&&(o=pt(e.tooltip),this.setTooltip(o)),e.enableContextMenu!==void 0&&(this.contextMenu=!!e.enableContextMenu),e.suppressPrefixSuffix!==void 0&&(this.suppressPrefixSuffix=!!e.suppressPrefixSuffix),e.helpUrl!==void 0&&(o=pt(e.helpUrl),this.setHelpUrl(o)),typeof e.extensions=="string"&&(console.warn(t+"JSON attribute 'extensions' should be an array of strings. Found raw string in JSON for '"+e.type+"' block."),e.extensions=[e.extensions]),e.mutator!==void 0&&Ha(e.mutator,this,!0),e=e.extensions,Array.isArray(e))for(t=0;th||h>t)throw Error('Block "'+this.type+'": Message index %'+h+" out of range.");if(o[h])throw Error('Block "'+this.type+'": Message index %'+h+" duplicated.");o[h]=!0,n++}}if(n!==t)throw Error('Block "'+this.type+'": Message does not reference all '+t+" arg(s).")}interpolateArguments(e,t,o){const n=[];for(let h=0;h=this.inputList.length)throw RangeError("Input index "+e+" out of bounds.");if(t>this.inputList.length)throw RangeError("Reference input "+t+" out of bounds.");const o=this.inputList[e];this.inputList.splice(e,1),et.getWeight()-o.getWeight()),e}removeIcon(e){if(!this.hasIcon(e))return!1;let t;return(t=this.getIcon(e))==null||t.dispose(),this.icons=this.icons.filter(o=>!o.getType().equals(e)),!0}hasIcon(e){return this.icons.some(t=>t.getType().equals(e))}getIcon(e){return e instanceof yt?this.icons.find(t=>t.getType().equals(e)):this.icons.find(t=>t.getType().toString()===e)}getIcons(){return[...this.icons]}getRelativeToSurfaceXY(){return this.xy}moveBy(e,t,o){if(this.parentBlock_)throw Error("Block has parent");const n=new(V(O.BLOCK_MOVE))(this);o&&n.setReason(o),this.xy.translate(e,t),n.recordNew(),z(n)}makeConnection_(e){return new Be(this,e)}allInputsFilled(e){if(e===void 0&&(e=!0),!e&&this.isShadow())return!1;for(let o=0,n;n=this.inputList[o];o++)if(n.connection){var t=n.connection.targetBlock();if(!t||!t.allInputsFilled(e))return!1}return(t=this.getNextBlock())?t.allInputsFilled(e):!0}toDevString(){let e=this.type?'"'+this.type+'" block':"Block";return this.id&&(e+=' (id="'+this.id+'")'),e}};Oo.COLLAPSED_INPUT_NAME=ur,Oo.COLLAPSED_FIELD_NAME=dl;var hs=class{constructor(e,t,o,n){this.workspace=e,this.targetWorkspace=t,this.isFlyoutLabel=n,this.onMouseUpWrapper=null,this.height=this.width=0,this.cursorSvg=this.svgText=this.svgGroup=null,this.text=o.text,this.position=new G(0,0),this.callbackKey=o.callbackKey||o.callbackkey,this.cssClass=o["web-class"]||null,this.info=o}createDom(){var e=this.isFlyoutLabel?"blocklyFlyoutLabel":"blocklyFlyoutButton";this.cssClass&&(e+=" "+this.cssClass),this.svgGroup=N(x.G,{class:e},this.workspace.getCanvas());let t;this.isFlyoutLabel||(t=N(x.RECT,{class:"blocklyFlyoutButtonShadow",rx:hs.BORDER_RADIUS,ry:hs.BORDER_RADIUS,x:1,y:1},this.svgGroup)),e=N(x.RECT,{class:this.isFlyoutLabel?"blocklyFlyoutLabelBackground":"blocklyFlyoutButtonBackground",rx:hs.BORDER_RADIUS,ry:hs.BORDER_RADIUS},this.svgGroup);const o=N(x.TEXT,{class:this.isFlyoutLabel?"blocklyFlyoutLabelText":"blocklyText",x:0,y:0,"text-anchor":"middle"},this.svgGroup);var n=pt(this.text);this.workspace.RTL&&(n+="‏"),o.textContent=n,this.isFlyoutLabel&&(this.svgText=o,this.workspace.getThemeManager().subscribe(this.svgText,"flyoutForegroundColour","fill"));const c=Ms(o,"fontSize"),h=Ms(o,"fontWeight"),$=Ms(o,"fontFamily");if(this.width=ua(o,c,h,$),n=da(n,c,h,$),this.height=n.height,!this.isFlyoutLabel){this.width+=2*hs.TEXT_MARGIN_X,this.height+=2*hs.TEXT_MARGIN_Y;let T;(T=t)==null||T.setAttribute("width",String(this.width));let L;(L=t)==null||L.setAttribute("height",String(this.height))}return e.setAttribute("width",String(this.width)),e.setAttribute("height",String(this.height)),o.setAttribute("x",String(this.width/2)),o.setAttribute("y",String(this.height/2-n.height/2+n.baseline)),this.updateTransform(),this.onMouseUpWrapper=X(this.svgGroup,"pointerup",this,this.onMouseUp),this.svgGroup}show(){this.updateTransform(),this.svgGroup.setAttribute("display","block")}updateTransform(){this.svgGroup.setAttribute("transform","translate("+this.position.x+","+this.position.y+")")}moveTo(e,t){this.position.x=e,this.position.y=t,this.updateTransform()}isLabel(){return this.isFlyoutLabel}getPosition(){return this.position}getButtonText(){return this.text}getTargetWorkspace(){return this.targetWorkspace}getWorkspace(){return this.workspace}dispose(){this.onMouseUpWrapper&&ze(this.onMouseUpWrapper),this.svgGroup&&Ke(this.svgGroup),this.svgText&&this.workspace.getThemeManager().unsubscribe(this.svgText)}setCursorSvg(e){e?this.svgGroup&&(this.svgGroup.appendChild(e),this.cursorSvg=e):this.cursorSvg=null}setMarkerSvg(){throw Error("Attempted to set a marker on a button.")}onMouseUp(e){(e=this.targetWorkspace.getGesture(e))&&e.cancel(),this.isFlyoutLabel&&this.callbackKey?console.warn("Labels should not have callbacks. Label text: "+this.text):this.isFlyoutLabel||this.callbackKey&&this.targetWorkspace.getButtonCallback(this.callbackKey)?this.isFlyoutLabel||(e=this.targetWorkspace.getButtonCallback(this.callbackKey))&&e(this):console.warn("Buttons should have callbacks. Button text: "+this.text)}};hs.TEXT_MARGIN_X=5,hs.TEXT_MARGIN_Y=2,hs.BORDER_RADIUS=4,Et(` .blocklyFlyoutButton { fill: #888; cursor: default; @@ -882,16 +882,16 @@ Blockly.YourGeneratorName.nameDB_.setVariableMap(workspace.getVariableMap());`), .blocklyFlyoutLabelBackground { opacity: 0; } -`);var P=class{constructor(e,t,o){if(this.wsCoordinate=null,!t)throw Error("Cannot create a node without a location.");this.type=e,this.isConnectionLocation=P.isConnectionType(e),this.location=t,this.processParams(o||null)}processParams(e){e&&e.wsCoordinate&&(this.wsCoordinate=e.wsCoordinate)}getLocation(){return this.location}getType(){return this.type}getWsCoordinate(){return this.wsCoordinate}isConnection(){return this.isConnectionLocation}findNextForInput(){var e=this.location.getParentInput();const t=e.getSourceBlock();for(e=t.inputList.indexOf(e),e+=1;et instanceof Oo&&c.block===t||t instanceof hs&&c.button===t);return 0>n?null:(o=o?n+1:n-1,o===-1||o===e.length?null:e[o])}findTopASTNodeForBlock(e){const t=Qn(e);return t?P.createConnectionNode(t):P.createBlockNode(e)}getOutAstNodeForBlock(e){if(!e)return null;e=e.getTopStackBlock();const t=Qn(e);return t&&t.targetConnection&&t.targetConnection.getParentInput()?P.createInputNode(t.targetConnection.getParentInput()):P.createStackNode(e)}findFirstFieldOrInput(e){e=e.inputList;for(let t=0;t{Ua(o.getSourceBlock()),setTimeout(()=>{n.bringToFront()},0)})}}update(e,t){const o=this.getCandidate(e);((this.wouldDeleteBlock=this.shouldDelete(!!o,t))||this.shouldUpdatePreviews(o,e))&&(i.disable$$module$build$src$core$events$utils(),this.maybeHidePreview(o),this.maybeShowPreview(o),i.enable$$module$build$src$core$events$utils())}createMarkerBlock(e){i.disable$$module$build$src$core$events$utils();let t;try{const o=Qt(e,{addCoordinates:!1,addInputBlocks:!1,addNextBlocks:!1,doFullSerialization:!1});if(!o)throw Error(`Failed to serialize source block. ${e.toDevString()}`);t=eo(o,this.workspace);for(const n of t.getDescendants(!1))n.setInsertionMarker(!0);t.initSvg(),t.getSvgRoot().setAttribute("visibility","hidden")}finally{i.enable$$module$build$src$core$events$utils()}return t}initAvailableConnections(){const e=this.topBlock.getConnections_(!1),t=this.topBlock.lastConnectionInStack(!0);return t&&t!==this.topBlock.nextConnection&&(e.push(t),this.lastOnStack=t),e}shouldUpdatePreviews(e,t){if(!e)return!!this.activeCandidate;if(!this.activeCandidate)return!0;const{local:o,closest:n}=this.activeCandidate;if(n===e.closest&&o===e.local)return!1;const c=o.x+t.x-n.x;return t=o.y+t.y-n.y,e.radius{let L;(L=n)==null||L.positionNearConnection(T,h,$);let te;(te=n)==null||te.getSvgRoot().setAttribute("visibility","visible")}),this.markerConnection=c}hideInsertionMarker(){if(this.markerConnection){var e=this.markerConnection,t=e.getSourceBlock(),o=t.outputConnection,n;if((n=t.previousConnection)!=null&&n.targetConnection||o!=null&&o.targetConnection)t.unplug(!0);else{let c;(c=e.targetBlock())==null||c.unplug(!1)}if(e.targetConnection)throw Error("markerConnection still connected at the end of disconnectInsertionMarker");this.markerConnection=null,(e=t.getSvgRoot())&&e.setAttribute("visibility","hidden")}}showInsertionInputOutline(e){e=e.closest,this.highlightedBlock=e.getSourceBlock(),this.highlightedBlock.highlightShapeForInput(e,!0)}hideInsertionInputOutline(){if(this.highlightedBlock){if(!this.activeCandidate)throw Error("Cannot hide the insertion marker outline because there is no active candidate");this.highlightedBlock.highlightShapeForInput(this.activeCandidate.closest,!1),this.highlightedBlock=null}}showReplacementFade(e){if(this.fadedBlock=e.closest.targetBlock(),!this.fadedBlock)throw Error("Cannot show the replacement fade because the closest connection does not have a target block");this.fadedBlock.fadeForReplacement(!0)}hideReplacementFade(){this.fadedBlock&&(this.fadedBlock.fadeForReplacement(!1),this.fadedBlock=null)}getInsertionMarkers(){const e=[];return this.firstMarker&&e.push(this.firstMarker),this.lastMarker&&e.push(this.lastMarker),e}disposeInsertionMarker(e){if(e){i.disable$$module$build$src$core$events$utils();try{e.dispose()}finally{i.enable$$module$build$src$core$events$utils()}}}};(function(e){e=e.PREVIEW_TYPE||(e.PREVIEW_TYPE={}),e[e.INSERTION_MARKER=0]="INSERTION_MARKER",e[e.INPUT_OUTLINE=1]="INPUT_OUTLINE",e[e.REPLACEMENT_FADE=2]="REPLACEMENT_FADE"})(ps||(ps={})),ps.PREVIEW_TYPE;var Pl=class{constructor(e){this.overrides=null,this.name=e}getClassName(){return this.name+"-renderer"}init(e,t){this.constants_=this.makeConstants_(),t&&(this.overrides=t,Object.assign(this.constants_,t)),this.constants_.setTheme(e),this.constants_.init()}createDom(e,t){this.constants_.createDom(e,this.name+"-"+t.name,"."+this.getClassName()+"."+t.getClassName())}refreshDom(e,t){const o=this.getConstants();o.dispose(),this.constants_=this.makeConstants_(),this.overrides&&Object.assign(this.constants_,this.overrides),this.constants_.randomIdentifier=o.randomIdentifier,this.constants_.setTheme(t),this.constants_.init(),this.createDom(e,t)}dispose(){this.constants_&&this.constants_.dispose()}makeConstants_(){return new Ml}makeRenderInfo_(e){return new kr(this,e)}makeDrawer_(e,t){return new Nl(e,t)}makeMarkerDrawer(e,t){return new hp(e,this.getConstants(),t)}makePathObject(e,t){return new Ll(e,t,this.constants_)}getConstants(){return this.constants_}shouldHighlightConnection(e){return!0}orphanCanConnectAtEnd(e,t,o){return!!Be.getConnectionForOrphanedConnection(e,o===oe.OUTPUT_VALUE?t.outputConnection:t.previousConnection)}getConnectionPreviewMethod(e,t,o){return y("getConnectionPreviewMethod","v10","v12","an IConnectionPreviewer, if it fulfills your use case."),t.type===oe.OUTPUT_VALUE||t.type===oe.PREVIOUS_STATEMENT?!e.isConnected()||this.orphanCanConnectAtEnd(o,e.targetBlock(),t.type)?ps.PREVIEW_TYPE.INSERTION_MARKER:ps.PREVIEW_TYPE.REPLACEMENT_FADE:ps.PREVIEW_TYPE.INSERTION_MARKER}render(e){const t=this.makeRenderInfo_(e);t.measure(),this.makeDrawer_(e,t).draw()}},We={};We.BottomRow=ip,We.Connection=mo,We.ConstantProvider=Ml,We.Drawer=Nl,We.ExternalValueInput=Ol,We.Field=on,We.Hat=np,We.Icon=Ev,We.InRowSpacer=os,We.InlineInput=rp,We.InputConnection=Ro,We.InputRow=ap,We.JaggedEdge=Iv,We.MarkerSvg=hp,We.Measurable=zs,We.NextConnection=xv,We.OutputConnection=Dv,We.PathObject=Ll,We.PreviousConnection=Av,We.RenderInfo=kr,We.Renderer=Pl,We.RoundCorner=Cr,We.Row=_r,We.SpacerRow=lp,We.SquareCorner=Tr,We.StatementInput=wr,We.TopRow=cp,We.Types=S,We.init=Ad,We.register=er,We.unregister=F$;var Ov=class{constructor(e,t){this.workspace=e,this.theme=t,this.subscribedWorkspaces=[],this.componentDB=new Map}getTheme(){return this.theme}setTheme(e){var t=this.theme;this.theme=e,(e=this.workspace.getInjectionDiv())&&(t&&(t=t.getClassName())&&ot(e,t),(t=this.theme.getClassName())&&ge(e,t));for(let o=0,n;n=this.subscribedWorkspaces[o];o++)n.refreshTheme();for(const[o,n]of this.componentDB)for(const c of n){e=c.element,t=c.propertyName;const h=this.theme&&this.theme.getComponentStyle(o);e.style.setProperty(t,h||"")}for(const o of this.subscribedWorkspaces)o.hideChaff()}subscribeWorkspace(e){this.subscribedWorkspaces.push(e)}unsubscribeWorkspace(e){if(!St(this.subscribedWorkspaces,e))throw Error("Cannot unsubscribe a workspace that hasn't been subscribed.")}subscribe(e,t,o){this.componentDB.has(t)||this.componentDB.set(t,[]),this.componentDB.get(t).push({element:e,propertyName:o}),t=this.theme&&this.theme.getComponentStyle(t),e.style.setProperty(o,t||"")}unsubscribe(e){if(e)for(const[t,o]of this.componentDB){for(let n=o.length-1;0<=n;n--)o[n].element===e&&o.splice(n,1);o.length||this.componentDB.delete(t)}}dispose(){this.subscribedWorkspaces.length=0,this.componentDB.clear()}},pp="VARIABLE_DYNAMIC",pi={CATEGORY_NAME:pp};pi.flyoutCategory=qa,pi.flyoutCategoryBlocks=Nd,pi.onCreateVariableButtonClick_Colour=Md,pi.onCreateVariableButtonClick_Number=Od,pi.onCreateVariableButtonClick_String=Rd;var Mv=30,gi=[];gi[oe.INPUT_VALUE]=oe.OUTPUT_VALUE,gi[oe.OUTPUT_VALUE]=oe.INPUT_VALUE,gi[oe.NEXT_STATEMENT]=oe.PREVIOUS_STATEMENT,gi[oe.PREVIOUS_STATEMENT]=oe.NEXT_STATEMENT;var gp="RENAME_VARIABLE_ID",mp="DELETE_VARIABLE_ID",Nv=class{canConnect(e,t,o,n){return this.canConnectWithReason(e,t,o,n)===Be.CAN_CONNECT}canConnectWithReason(e,t,o,n){const c=this.doSafetyChecks(e,t);return c!==Be.CAN_CONNECT?c:this.doTypeChecks(e,t)?o&&!this.doDragChecks(e,t,n||0)?Be.REASON_DRAG_CHECKS_FAILED:Be.CAN_CONNECT:Be.REASON_CHECKS_FAILED}getErrorMessage(e,t,o){switch(e){case Be.REASON_SELF_CONNECTION:return"Attempted to connect a block to itself.";case Be.REASON_DIFFERENT_WORKSPACES:return"Blocks not on same workspace.";case Be.REASON_WRONG_TYPE:return"Attempt to connect incompatible types.";case Be.REASON_TARGET_NULL:return"Target connection is null.";case Be.REASON_CHECKS_FAILED:return"Connection checks failed. "+(t+" expected "+t.getCheck()+", found "+o.getCheck());case Be.REASON_SHADOW_PARENT:return"Connecting non-shadow to shadow block.";case Be.REASON_DRAG_CHECKS_FAILED:return"Drag checks failed.";case Be.REASON_PREVIOUS_AND_OUTPUT:return"Block would have an output and a previous connection.";default:return"Unknown connection failure: this should never happen!"}}doSafetyChecks(e,t){if(!e||!t)return Be.REASON_TARGET_NULL;let o,n,c;return e.isSuperior()?(o=e.getSourceBlock(),n=t.getSourceBlock(),c=t):(n=e.getSourceBlock(),o=t.getSourceBlock(),c=e,e=t),o===n?Be.REASON_SELF_CONNECTION:c.type!==gi[e.type]?Be.REASON_WRONG_TYPE:o.workspace!==n.workspace?Be.REASON_DIFFERENT_WORKSPACES:o.isShadow()&&!n.isShadow()?Be.REASON_SHADOW_PARENT:c.type===oe.OUTPUT_VALUE&&n.previousConnection&&n.previousConnection.isConnected()||c.type===oe.PREVIOUS_STATEMENT&&n.outputConnection&&n.outputConnection.isConnected()?Be.REASON_PREVIOUS_AND_OUTPUT:Be.CAN_CONNECT}doTypeChecks(e,t){if(e=e.getCheck(),t=t.getCheck(),!e||!t)return!0;for(let o=0;oo||t.getSourceBlock().isInsertionMarker())return!1;switch(t.type){case oe.PREVIOUS_STATEMENT:return this.canConnectToPrevious_(e,t);case oe.OUTPUT_VALUE:if(t.isConnected()&&!t.targetBlock().isInsertionMarker()||e.isConnected())return!1;break;case oe.INPUT_VALUE:if(t.isConnected()&&!t.targetBlock().isMovable()&&!t.targetBlock().isShadow())return!1;break;case oe.NEXT_STATEMENT:if(t.isConnected()&&!e.getSourceBlock().nextConnection&&!t.targetBlock().isShadow()&&t.targetBlock().nextConnection||t.targetBlock()&&!t.targetBlock().isMovable()&&!t.targetBlock().isShadow())return!1;break;default:return!1}return!nr.includes(t)}canConnectToPrevious_(e,t){return e.targetConnection||nr.includes(t)?!1:t.targetConnection?(e=t.targetBlock(),e.isInsertionMarker()?!e.getPreviousBlock():!1):!0}};r(F.CONNECTION_CHECKER,js,Nv);var fp=class extends dr{constructor(e){super(e),this.type=O.VAR_DELETE,e&&(this.varType=e.type,this.varName=e.name)}toJson(){const e=super.toJson();if(this.varType===void 0)throw Error("The var type is undefined. Either pass a variable to the constructor, or call fromJson");if(!this.varName)throw Error("The var name is undefined. Either pass a variable to the constructor, or call fromJson");return e.varType=this.varType,e.varName=this.varName,e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new fp),t.varType=e.varType,t.varName=e.varName,t}run(e){const t=this.getEventWorkspace_();if(!this.varId)throw Error("The var ID is undefined. Either pass a variable to the constructor, or call fromJson");if(!this.varName)throw Error("The var name is undefined. Either pass a variable to the constructor, or call fromJson");e?t.deleteVariableById(this.varId):t.createVariable(this.varName,this.varType,this.varId)}};r(F.EVENT,O.VAR_DELETE,fp);var $p=class extends dr{constructor(e,t){super(e),this.type=O.VAR_RENAME,e&&(this.oldName=e.name,this.newName=typeof t>"u"?"":t)}toJson(){const e=super.toJson();if(!this.oldName)throw Error("The old var name is undefined. Either pass a variable to the constructor, or call fromJson");if(!this.newName)throw Error("The new var name is undefined. Either pass a value to the constructor, or call fromJson");return e.oldName=this.oldName,e.newName=this.newName,e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new $p),t.oldName=e.oldName,t.newName=e.newName,t}run(e){const t=this.getEventWorkspace_();if(!this.varId)throw Error("The var ID is undefined. Either pass a variable to the constructor, or call fromJson");if(!this.oldName)throw Error("The old var name is undefined. Either pass a variable to the constructor, or call fromJson");if(!this.newName)throw Error("The new var name is undefined. Either pass a value to the constructor, or call fromJson");e?t.renameVariableById(this.varId,this.newName):t.renameVariableById(this.varId,this.oldName)}};r(F.EVENT,O.VAR_RENAME,$p);var bp=class{constructor(e){this.workspace=e,this.variableMap=new Map}clear(){for(const e of this.variableMap.values())for(;0{c&&t&&this.deleteVariableInternal(t,n)})):this.deleteVariableInternal(t,n)}else console.warn("Can't delete non-existent variable: "+e)}deleteVariableInternal(e,t){const o=i.getGroup$$module$build$src$core$events$utils();o||i.setGroup$$module$build$src$core$events$utils(!0);try{for(let n=0;ne.name)}getVariableUsesById(e){const t=[],o=this.workspace.getAllBlocks(!1);for(let n=0;n!o.isInsertionMarker())):[]}addTopComment(e){this.topComments.push(e),this.commentDB.has(e.id)&&console.warn('Overriding an existing comment on this workspace, with id "'+e.id+'"'),this.commentDB.set(e.id,e)}removeTopComment(e){if(!St(this.topComments,e))throw Error("Comment not present in workspace's list of top-most comments.");this.commentDB.delete(e.id)}getTopComments(e=!1){const t=[].concat(this.topComments);return e&&1!o.isInsertionMarker())}clear(){this.isClearing=!0;try{const e=i.getGroup$$module$build$src$core$events$utils();for(e||i.setGroup$$module$build$src$core$events$utils(!0);this.topBlocks.length;)this.topBlocks[0].dispose(!1);for(;this.topComments.length;)this.topComments[this.topComments.length-1].dispose();i.setGroup$$module$build$src$core$events$utils(e),this.variableMap.clear(),this.potentialVariableMap&&this.potentialVariableMap.clear()}finally{this.isClearing=!1}}renameVariableById(e,t){this.variableMap.renameVariableById(e,t)}createVariable(e,t,o){return this.variableMap.createVariable(e,t,o)}getVariableUsesById(e){return this.variableMap.getVariableUsesById(e)}deleteVariableById(e){this.variableMap.deleteVariableById(e)}getVariable(e,t){return this.variableMap.getVariable(e,t)}getVariableById(e){return this.variableMap.getVariableById(e)}getVariablesOfType(e){return this.variableMap.getVariablesOfType(e)}getVariableTypes(){return this.variableMap.getVariableTypes(this)}getAllVariables(){return this.variableMap.getAllVariables()}getAllVariableNames(){return this.variableMap.getAllVariableNames()}getWidth(){return 0}newBlock(e,t){throw Error("The implementation of newBlock should be monkey-patched in by blockly.ts")}newComment(e){throw Error("The implementation of newComment should be monkey-patched in by blockly.ts")}remainingCapacity(){return isNaN(this.options.maxBlocks)?1/0:this.options.maxBlocks-this.getAllBlocks(!1).length}remainingCapacityOfType(e){return this.options.maxInstances?(this.options.maxInstances[e]!==void 0?this.options.maxInstances[e]:1/0)-this.getBlocksByType(e,!1).length:1/0}isCapacityAvailable(e){if(!this.hasBlockLimits())return!0;let t=0;for(const o in e){if(e[o]>this.remainingCapacityOfType(o))return!1;t+=e[o]}return!(t>this.remainingCapacity())}hasBlockLimits(){return this.options.maxBlocks!==1/0||!!this.options.maxInstances}getUndoStack(){return this.undoStack_}getRedoStack(){return this.redoStack_}undo(e){var t=e?this.redoStack_:this.undoStack_,o=e?this.undoStack_:this.redoStack_;const n=t.pop();if(n){for(var c=[n];t.length&&n.group&&n.group===t[t.length-1].group;){const h=t.pop();h&&c.push(h)}for(t=0;tthis.MAX_UNDO&&0<=this.MAX_UNDO;)this.undoStack_.shift();for(let t=0;t!!t.getStyleName())),this.refreshToolboxSelection(),this.toolbox&&this.toolbox.refreshTheme(),this.isVisible()&&this.setVisible(!0);const e=new(G(O.THEME_CHANGE))(this.getTheme().name,this.id);z(e)}updateBlockStyles(e){for(let t=0,o;o=e[t];t++){const n=o.getStyleName();n&&o.setStyle(n)}}getInverseScreenCTM(){if(this.inverseScreenCTMDirty){const e=this.getParentSvg().getScreenCTM();e&&(this.inverseScreenCTM=e.inverse(),this.inverseScreenCTMDirty=!1)}return this.inverseScreenCTM}updateInverseScreenCTM(){this.inverseScreenCTMDirty=!0}isVisible(){return this.visible}getSvgXY(e){let t=0,o=0,n=1;(this.getCanvas().contains(e)||this.getBubbleCanvas().contains(e))&&(n=this.scale);do{const c=Pn(e);(e===this.getCanvas()||e===this.getBubbleCanvas())&&(n=1),t+=c.x*n,o+=c.y*n,e=e.parentNode}while(e&&e!==this.getParentSvg()&&e!==this.getInjectionDiv());return new V(t,o)}getCachedParentSvgSize(){const e=this.cachedParentSvgSize;return new Le(e.width,e.height)}getOriginOffsetInPixels(){return pa(this.getCanvas())}getInjectionDiv(){if(!this.injectionDiv){let e=this.svgGroup_;for(;e;){if((" "+(e.getAttribute("class")||"")+" ").includes(" injectionDiv ")){this.injectionDiv=e;break}e=e.parentNode}}return this.injectionDiv}getSvgGroup(){return this.svgGroup_}getBlockCanvas(){return this.getCanvas()}setResizeHandlerWrapper(e){this.resizeHandlerWrapper=e}createDom(e,t){return this.injectionDiv||(this.injectionDiv=t??null),this.svgGroup_=N(x.G,{class:"blocklyWorkspace"}),e&&(this.svgBackground_=N(x.RECT,{height:"100%",width:"100%",class:e},this.svgGroup_),e==="blocklyMainBackground"&&this.grid?this.svgBackground_.style.fill="url(#"+this.grid.getPatternId()+")":this.themeManager_.subscribe(this.svgBackground_,"workspaceBackgroundColour","fill")),this.layerManager=new KT(this),this.svgBlockCanvas_=this.layerManager.getBlockLayer(),this.svgBubbleCanvas_=this.layerManager.getBubbleLayer(),this.isFlyout||(X(this.svgGroup_,"pointerdown",this,this.onMouseDown,!1),this.dummyWheelListener=()=>{},document.body.addEventListener("wheel",this.dummyWheelListener),X(this.svgGroup_,"wheel",this,this.onMouseWheel)),this.options.hasCategories&&(this.toolbox=new(_(F.TOOLBOX,this.options,!0))(this)),this.grid&&this.grid.update(this.scale),this.recordDragTargets(),(e=_(F.CURSOR,this.options))&&this.markerManager.setCursor(new e),this.renderer.createDom(this.svgGroup_,this.getTheme()),this.svgGroup_}dispose(){if(this.rendered=!1,this.currentGesture_&&this.currentGesture_.cancel(),this.svgGroup_&&Ke(this.svgGroup_),this.toolbox&&(this.toolbox.dispose(),this.toolbox=null),this.flyout&&(this.flyout.dispose(),this.flyout=null),this.trashcan&&(this.trashcan.dispose(),this.trashcan=null),this.scrollbar&&(this.scrollbar.dispose(),this.scrollbar=null),this.zoomControls_&&this.zoomControls_.dispose(),this.audioManager&&this.audioManager.dispose(),this.grid&&(this.grid=null),this.renderer.dispose(),this.markerManager&&this.markerManager.dispose(),super.dispose(),this.themeManager_&&(this.themeManager_.unsubscribeWorkspace(this),this.themeManager_.unsubscribe(this.svgBackground_),this.options.parentWorkspace||this.themeManager_.dispose()),this.connectionDBList.length=0,this.toolboxCategoryCallbacks.clear(),this.flyoutButtonCallbacks.clear(),!this.options.parentWorkspace){const e=this.getParentSvg();e&&e.parentNode&&Ke(e.parentNode)}this.resizeHandlerWrapper&&(ze(this.resizeHandlerWrapper),this.resizeHandlerWrapper=null),this.dummyWheelListener&&(document.body.removeEventListener("wheel",this.dummyWheelListener),this.dummyWheelListener=null)}addTrashcan(){this.trashcan=ns.newTrashcan(this);const e=this.trashcan.createDom();this.svgGroup_.insertBefore(e,this.getCanvas())}static newTrashcan(e){throw Error("The implementation of newTrashcan should be monkey-patched in by blockly.ts")}addZoomControls(){this.zoomControls_=new Fb(this);const e=this.zoomControls_.createDom();this.svgGroup_.appendChild(e)}addFlyout(e){const t=new ds({parentWorkspace:this,rtl:this.RTL,oneBasedIndex:this.options.oneBasedIndex,horizontalLayout:this.horizontalLayout,renderer:this.options.renderer,rendererOverrides:this.options.rendererOverrides,move:{scrollbars:!0}});return t.toolboxPosition=this.options.toolboxPosition,this.flyout=this.horizontalLayout?new(_(F.FLYOUTS_HORIZONTAL_TOOLBOX,this.options,!0))(t):new(_(F.FLYOUTS_VERTICAL_TOOLBOX,this.options,!0))(t),this.flyout.autoClose=!1,this.flyout.getWorkspace().setVisible(!0),this.flyout.createDom(e)}getFlyout(e){return this.flyout||e?this.flyout:this.toolbox?this.toolbox.getFlyout():null}getToolbox(){return this.toolbox}updateScreenCalculations(){this.updateInverseScreenCTM(),this.recordDragTargets()}resizeContents(){this.resizesEnabled&&this.rendered&&(this.scrollbar&&this.scrollbar.resize(),this.updateInverseScreenCTM())}resize(){this.toolbox&&this.toolbox.position(),this.flyout&&this.flyout.position();const e=this.componentManager.getComponents(lt.Capability.POSITIONABLE,!0),t=this.getMetricsManager().getUiMetrics(),o=[];for(let n=0,c;c=e[n];n++){c.position(t,o);const h=c.getBoundingRectangle();h&&o.push(h)}this.scrollbar&&this.scrollbar.resize(),this.updateScreenCalculations()}updateScreenCalculationsIfScrolled(){const e=fu();V.equals(this.lastRecordedPageScroll,e)||(this.lastRecordedPageScroll=e,this.updateScreenCalculations())}getLayerManager(){return this.layerManager}getCanvas(){return this.layerManager.getBlockLayer()}setCachedParentSvgSize(e,t){const o=this.getParentSvg();e!=null&&(this.cachedParentSvgSize.width=e,o.setAttribute("data-cached-width",`${e}`)),t!=null&&(this.cachedParentSvgSize.height=t,o.setAttribute("data-cached-height",`${t}`))}getBubbleCanvas(){return this.layerManager.getBubbleLayer()}getParentSvg(){if(!this.cachedParentSvg){let e=this.svgGroup_;for(;e;){if(e.tagName==="svg"){this.cachedParentSvg=e;break}e=e.parentNode}}return this.cachedParentSvg}maybeFireViewportChangeEvent(){if(K()){var e=this.scale,t=-this.scrollY,o=-this.scrollX;if(!(e===this.oldScale&&1>Math.abs(t-this.oldTop)&&1>Math.abs(o-this.oldLeft))){var n=new(G(O.VIEWPORT_CHANGE))(t,o,e,this.id,this.oldScale);this.oldScale=e,this.oldTop=t,this.oldLeft=o,z(n)}}}translate(e,t){let o;(o=this.layerManager)==null||o.translateLayers(new V(e,t),this.scale);let n;(n=this.grid)==null||n.moveTo(e,t),this.maybeFireViewportChangeEvent()}getWidth(){const e=this.getMetrics();return e?e.viewWidth/this.scale:0}setVisible(e){this.visible=e,this.svgGroup_&&(this.scrollbar&&this.scrollbar.setContainerVisible(e),this.getFlyout()&&this.getFlyout().setContainerVisible(e),this.getParentSvg().style.display=e?"block":"none",this.toolbox&&this.toolbox.setVisible(e),e||this.hideChaff(!0))}render(){const e=this.getAllBlocks(!1);for(let t=e.length-1;0<=t;t--)e[t].queueRender();this.getTopBlocks().flatMap(t=>t.getDescendants(!1)).filter(t=>t.isInsertionMarker()).forEach(t=>t.queueRender()),ws().then(()=>{this.markerManager.updateMarkers()})}highlightBlock(e,t){if(t===void 0){for(let o=0,n;n=this.highlightedBlocks[o];o++)n.setHighlighted(!1);this.highlightedBlocks.length=0}(e=e?this.getBlockById(e):null)&&((t=t===void 0||t)?this.highlightedBlocks.includes(e)||this.highlightedBlocks.push(e):St(this.highlightedBlocks,e),e.setHighlighted(t))}refreshToolboxSelection(){const e=this.isFlyout?this.targetWorkspace:this;e&&!e.currentGesture_&&e.toolbox&&e.toolbox.getFlyout()&&e.toolbox.refreshSelection()}renameVariableById(e,t){super.renameVariableById(e,t),this.refreshToolboxSelection()}deleteVariableById(e){super.deleteVariableById(e),this.refreshToolboxSelection()}createVariable(e,t,o){return e=super.createVariable(e,t,o),this.refreshToolboxSelection(),e}recordDragTargets(){const e=this.componentManager.getComponents(lt.Capability.DRAG_TARGET,!0);this.dragTargetAreas=[];for(let t=0,o;o=e[t];t++){const n=o.getClientRect();n&&this.dragTargetAreas.push({component:o,clientRect:n})}}newBlock(e,t){throw Error("The implementation of newBlock should be monkey-patched in by blockly.ts")}newComment(e){throw Error("The implementation of newComment should be monkey-patched in by blockly.ts")}getDragTarget(e){for(let t=0,o;o=this.dragTargetAreas[t];t++)if(o.clientRect.contains(e.clientX,e.clientY))return o.component;return null}onMouseDown(e){const t=this.getGesture(e);t&&t.handleWsStart(e,this)}startDrag(e,t){Ba(this,e,t)}moveDrag(e){return ja(this,e)}isDragging(){return this.currentGesture_!==null&&this.currentGesture_.isDragging()}isDraggable(){return this.options.moveOptions&&this.options.moveOptions.drag}isMovable(){return this.options.moveOptions&&!!this.options.moveOptions.scrollbars||this.options.moveOptions&&this.options.moveOptions.wheel||this.options.moveOptions&&this.options.moveOptions.drag||this.options.zoomOptions&&this.options.zoomOptions.wheel||this.options.zoomOptions&&this.options.zoomOptions.pinch}isMovableHorizontally(){const e=!!this.scrollbar;return this.isMovable()&&(!e||e&&this.scrollbar.canScrollHorizontally())}isMovableVertically(){const e=!!this.scrollbar;return this.isMovable()&&(!e||e&&this.scrollbar.canScrollVertically())}onMouseWheel(e){if(co.inProgress())e.preventDefault(),e.stopPropagation();else{var t=this.options.zoomOptions&&this.options.zoomOptions.wheel,o=this.options.moveOptions&&this.options.moveOptions.wheel;if(t||o){var n=Zs(e);if(_h)var c=e.metaKey;t&&(e.ctrlKey||c||!o)?(n=-n.y/50,t=st(e,this.getParentSvg(),this.getInverseScreenCTM()),this.zoom(t.x,t.y,n)):(t=this.scrollX-n.x,o=this.scrollY-n.y,e.shiftKey&&!n.x&&(t=this.scrollX-n.y,o=this.scrollY),this.scroll(t,o)),e.preventDefault()}}}getBlocksBoundingBox(){const e=this.getTopBoundedElements();if(!e.length)return new qe(0,0,0,0);const t=e[0].getBoundingRectangle();for(let n=1;nt.bottom&&(t.bottom=o.bottom),o.leftt.right&&(t.right=o.right))}return t}cleanUp(){this.setResizesEnabled(!1),i.setGroup$$module$build$src$core$events$utils(!0);var e=this.getTopBlocks(!0),t=e.filter(h=>h.isMovable());const o=e.filter(h=>!h.isMovable()).map(h=>h.getBoundingRectangle());e=function(h){for(const $ of o)if(h.intersects($))return $;return null};var n=0;const c=this.renderer.getConstants().MIN_BLOCK_HEIGHT;for(const h of t){for(t=h.getBoundingRectangle(),h.moveBy(-t.left,n-t.top,["cleanup"]),h.snapToGrid(),t=h.getBoundingRectangle(),n=e(t);n!=null;)n=n.top+n.getHeight()+c,h.moveBy(0,n-t.top,["cleanup"]),h.snapToGrid(),t=h.getBoundingRectangle(),n=e(t);n=h.getRelativeToSurfaceXY().y+h.getHeightWidth().height+c}i.setGroup$$module$build$src$core$events$utils(!1),this.setResizesEnabled(!0)}showContextMenu(e){if(!this.options.readOnly&&!this.isFlyout){var t=xe.registry.getContextMenuOptions(xe.ScopeType.WORKSPACE,{workspace:this});this.configureContextMenu&&this.configureContextMenu(t,e),Jn(e,t,this.RTL,this)}}updateToolbox(e){if(e=ga(e)){if(!this.options.languageTree)throw Error("Existing toolbox is null. Can't create new toolbox.");if(ma(e)){if(!this.toolbox)throw Error("Existing toolbox has no categories. Can't change mode.");this.options.languageTree=e,this.toolbox.render(e)}else{if(!this.flyout)throw Error("Existing toolbox has categories. Can't change mode.");this.options.languageTree=e,this.flyout.show(e)}}else if(this.options.languageTree)throw Error("Can't nullify an existing toolbox.")}markFocused(){this.options.parentWorkspace?this.options.parentWorkspace.markFocused():(re(this),this.getParentSvg().focus({preventScroll:!0}))}zoom(e,t,o){o=Math.pow(this.options.zoomOptions.scaleSpeed,o);const n=this.scale*o;if(this.scale!==n){n>this.options.zoomOptions.maxScale?o=this.options.zoomOptions.maxScale/this.scale:nthis.options.zoomOptions.maxScale?e=this.options.zoomOptions.maxScale:this.options.zoomOptions.minScale&&et.autoHide(e))}static setTopLevelWorkspaceMetrics(e){const t=this.getMetrics();typeof e.x=="number"&&(this.scrollX=-(t.scrollLeft+(t.scrollWidth-t.viewWidth)*e.x)),typeof e.y=="number"&&(this.scrollY=-(t.scrollTop+(t.scrollHeight-t.viewHeight)*e.y)),this.translate(this.scrollX+t.absoluteLeft,this.scrollY+t.absoluteTop)}},vp=class extends Cs{constructor(e,t,o){super(o),this.type=O.SELECTED,this.oldElementId=e??void 0,this.newElementId=t??void 0}toJson(){const e=super.toJson();return e.oldElementId=this.oldElementId,e.newElementId=this.newElementId,e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new vp),t.oldElementId=e.oldElementId,t.newElementId=e.newElementId,t}};r(F.EVENT,O.SELECTED,vp);var Sr=class{paste(e,t,o){if(!t.isCapacityAvailable(e.typeCounts))return null;o&&(e.blockState.x=o.x,e.blockState.y=o.y),o=o||new V(e.blockState.x||0,e.blockState.y||0),i.disable$$module$build$src$core$events$utils();let n;try{n=eo(e.blockState,t),z$(n,o)}finally{i.enable$$module$build$src$core$events$utils()}return n&&(K()&&!n.isShadow()&&z(new(G(O.BLOCK_CREATE))(n)),i.setSelected$$module$build$src$core$common(n),n)}};Sr.TYPE="block",_a(Sr.TYPE,new Sr);var Bl={};Bl.bumpIntoBounds=zi,Bl.bumpIntoBoundsHandler=Ld,Bl.bumpTopObjectsIntoBounds=Xa;var Pv=class{constructor(e){this.block=e,this.connectionPreviewer=this.connectionCandidate=this.startLoc=this.startChildConn=this.startParentConn=null,this.dragging=!1,this.dragOffset=new V(0,0),this.inGroup=!1,this.workspace=e.workspace}isMovable(){if(this.block.isShadow()){let e,t;return(t=(e=this.block.getParent())==null?void 0:e.isMovable())!=null?t:!1}return this.block.isOwnMovable()&&!this.block.isDeadOrDying()&&!this.workspace.options.readOnly&&!this.block.isInFlyout}startDrag(e){if(this.block.isShadow())this.startDraggingShadow(e);else{this.dragging=!0,(this.inGroup=!!i.getGroup$$module$build$src$core$events$utils())||i.setGroup$$module$build$src$core$events$utils(!0),this.fireDragStartEvent(),this.startLoc=this.block.getRelativeToSurfaceXY(),this.connectionCandidate=null,this.connectionPreviewer=new(_(F.CONNECTION_PREVIEWER,this.workspace.options))(this.block),Ho(),this.workspace.setResizesEnabled(!1),ji(),e=!!e&&(e.altKey||e.ctrlKey||e.metaKey),this.shouldDisconnect(e)&&this.disconnectBlock(e),this.block.setDragging(!0);var t;(t=this.workspace.getLayerManager())==null||t.moveToDragLayer(this.block)}}startDraggingShadow(e){const t=this.block.getParent();if(!t)throw Error("Tried to drag a shadow block with no parent. Shadow blocks should always have parents.");this.dragOffset=V.difference(t.getRelativeToSurfaceXY(),this.block.getRelativeToSurfaceXY()),t.startDrag(e)}shouldDisconnect(e){return!!(this.block.getParent()||e&&this.block.nextConnection&&this.block.nextConnection.targetBlock())}disconnectBlock(e){let t,o,n;if(this.startParentConn=(n=(t=this.block.outputConnection)==null?void 0:t.targetConnection)!=null?n:(o=this.block.previousConnection)==null?void 0:o.targetConnection,e){let c;this.startChildConn=(c=this.block.nextConnection)==null?void 0:c.targetConnection}this.block.unplug(e),vd(this.block)}fireDragStartEvent(){const e=new(G(O.BLOCK_DRAG))(this.block,!0,this.block.getDescendants(!1));z(e)}fireDragEndEvent(){const e=new(G(O.BLOCK_DRAG))(this.block,!1,this.block.getDescendants(!1));z(e)}fireMoveEvent(){if(!this.block.isDeadOrDying()){var e=new(G(O.BLOCK_MOVE))(this.block);e.setReason(["drag"]),e.oldCoordinate=this.startLoc,e.recordNew(),z(e)}}drag(e){if(this.block.isShadow()){let t;(t=this.block.getParent())==null||t.drag(V.sum(e,this.dragOffset))}else this.block.moveDuringDrag(e),this.updateConnectionPreview(this.block,V.difference(e,this.startLoc))}updateConnectionPreview(e,t){var o=this.connectionCandidate;const n=this.getConnectionCandidate(e,t);if(n){this.connectionCandidate=t=o&&this.currCandidateIsBetter(o,t,n)?o:n;var{local:c,neighbour:h}=t;t=c.type===oe.OUTPUT_VALUE||c.type===oe.PREVIOUS_STATEMENT,o=h.isConnected()&&!h.targetBlock().isInsertionMarker(),t&&o&&!this.orphanCanConnectAtEnd(e,h.targetBlock(),c.type)?this.connectionPreviewer.previewReplacement(c,h,h.targetBlock()):this.connectionPreviewer.previewConnection(c,h)}else this.connectionPreviewer.hidePreview(),this.connectionCandidate=null}orphanCanConnectAtEnd(e,t,o){return!!Be.getConnectionForOrphanedConnection(e,o===oe.OUTPUT_VALUE?t.outputConnection:t.previousConnection)}currCandidateIsBetter(e,t,o){const{local:n,neighbour:c}=e;e=new V(n.x,n.y);const h=new V(c.x,c.y);return t=V.distance(V.sum(e,t),h),o.distance>t-i.config$$module$build$src$core$config.currentConnectionPreference}getConnectionCandidate(e,t){e=this.getLocalConnections(e);let o=this.connectionCandidate?i.config$$module$build$src$core$config.connectingSnapRadius:i.config$$module$build$src$core$config.snapRadius,n=null;for(const c of e){const{connection:h,radius:$}=c.closest(o,t);h&&(n={local:c,neighbour:h,distance:$},o=$)}return n}getLocalConnections(e){const t=e.getConnections_(!1),o=e.lastConnectionInStack(!0);return o&&o!==e.nextConnection&&t.push(o),t}endDrag(e){if(this.block.isShadow()){let t;(t=this.block.getParent())==null||t.endDrag(e)}else{if(this.fireDragEndEvent(),this.fireMoveEvent(),Wo(),ji(),this.connectionPreviewer.hidePreview(),!this.block.isDeadOrDying()&&this.dragging){let t;(t=this.workspace.getLayerManager())==null||t.moveOffDragLayer(this.block,Do),this.block.setDragging(!1)}this.connectionCandidate?(this.applyConnections(this.connectionCandidate),this.disposeStep()):this.block.queueRender().then(()=>this.disposeStep()),this.inGroup||i.setGroup$$module$build$src$core$events$utils(!1)}}disposeStep(){this.block.snapToGrid(),this.connectionPreviewer.dispose(),this.workspace.setResizesEnabled(!0)}applyConnections(e){const{local:t,neighbour:o}=e;t.connect(o);const n=t.isSuperior()?o:t,c=this.block.getRootBlock();ws().then(()=>{Ua(n.getSourceBlock()),setTimeout(()=>{c.bringToFront()},0)})}revertDrag(){if(this.block.isShadow()){let t;(t=this.block.getParent())==null||t.revertDrag()}else{var e;if((e=this.startChildConn)==null||e.connect(this.block.nextConnection),this.startParentConn)switch(this.startParentConn.type){case oe.INPUT_VALUE:this.startParentConn.connect(this.block.outputConnection);break;case oe.NEXT_STATEMENT:this.startParentConn.connect(this.block.previousConnection)}else{this.block.moveTo(this.startLoc,["drag"]);let t;(t=this.workspace.getLayerManager())==null||t.moveOffDragLayer(this.block,Do),zi(this.workspace,this.workspace.getMetricsManager().getScrollMetrics(!0),this.block)}this.startParentConn=this.startChildConn=null,this.connectionPreviewer.hidePreview(),this.connectionCandidate=null,this.block.setDragging(!1),this.dragging=!1}}},Bv=class{constructor(){this.drawer=this.curNode=this.colour=null,this.type="marker"}setDrawer(e){this.drawer=e}getDrawer(){return this.drawer}getCurNode(){return this.curNode}setCurNode(e){const t=this.curNode;this.curNode=e,this.drawer&&this.drawer.draw(t,this.curNode)}draw(){this.drawer&&this.drawer.draw(this.curNode,this.curNode)}hide(){this.drawer&&this.drawer.hide()}dispose(){this.getDrawer()&&this.getDrawer().dispose()}},yp=class extends Bv{constructor(){super(),this.type="cursor"}next(){var e=this.getCurNode();if(!e)return null;for(e=e.next();e&&e.next()&&(e.getType()===P.types.NEXT||e.getType()===P.types.BLOCK);)e=e.next();return e&&this.setCurNode(e),e}in(){var e=this.getCurNode();if(!e)return null;(e.getType()===P.types.PREVIOUS||e.getType()===P.types.OUTPUT)&&(e=e.next());let t,o;return(e=(o=(t=e)==null?void 0:t.in())!=null?o:null)&&this.setCurNode(e),e}prev(){var e=this.getCurNode();if(!e)return null;for(e=e.prev();e&&e.prev()&&(e.getType()===P.types.NEXT||e.getType()===P.types.BLOCK);)e=e.prev();return e&&this.setCurNode(e),e}out(){var e=this.getCurNode();return e?((e=e.out())&&e.getType()===P.types.BLOCK&&(e=e.prev()||e),e&&this.setCurNode(e),e):null}};r(F.CURSOR,js,yp);var Er=class extends yp{constructor(){super()}next(){var e=this.getCurNode();return e?((e=this.getNextNode_(e,this.validNode_))&&this.setCurNode(e),e):null}in(){return this.next()}prev(){var e=this.getCurNode();return e?((e=this.getPreviousNode_(e,this.validNode_))&&this.setCurNode(e),e):null}out(){return this.prev()}getNextNode_(e,t){if(!e)return null;const o=e.in()||e.next();return t(o)?o:o?this.getNextNode_(o,t):(e=this.findSiblingOrParent(e.out()),t(e)?e:e?this.getNextNode_(e,t):null)}getPreviousNode_(e,t){if(!e)return null;let o=e.prev();return o=o?this.getRightMostChild(o):e.out(),t(o)?o:o?this.getPreviousNode_(o,t):null}validNode_(e){let t=!1;return e=e&&e.getType(),(e===P.types.OUTPUT||e===P.types.INPUT||e===P.types.FIELD||e===P.types.NEXT||e===P.types.PREVIOUS||e===P.types.WORKSPACE)&&(t=!0),t}findSiblingOrParent(e){if(!e)return null;const t=e.next();return t||this.findSiblingOrParent(e.out())}getRightMostChild(e){if(!e.in())return e;for(e=e.in();e&&e.next();)e=e.next();return this.getRightMostChild(e)}};Er.registrationName="basicCursor",r(F.CURSOR,Er.registrationName,Er);var jv=class extends Er{validNode_(e){let t=!1;const o=e&&e.getType();return e&&(e=e.getLocation(),o===P.types.FIELD&&e&&e.isTabNavigable()&&e.isClickable()&&(t=!0)),t}},Fv=10,Ut=class extends Be{constructor(e,t){super(e,t),this.highlighted=!1,this.targetConnection=null,this.db=e.workspace.connectionDBList[t],this.dbOpposite=e.workspace.connectionDBList[gi[t]],this.offsetInBlock=new V(0,0),this.trackedState=Ut.TrackedState.WILL_TRACK}dispose(){super.dispose(),this.trackedState===Ut.TrackedState.TRACKED&&this.db.removeConnection(this,this.y);let e,t;(t=(e=this.sourceBlock_.pathObject).removeConnectionHighlight)==null||t.call(e,this)}getSourceBlock(){return super.getSourceBlock()}targetBlock(){return super.targetBlock()}distanceFrom(e){const t=this.x-e.x;return e=this.y-e.y,Math.sqrt(t*t+e*e)}bumpAwayFrom(e,t=!1){if(!this.sourceBlock_.workspace.isDragging()){var o=i.config$$module$build$src$core$config.snapRadius+Math.floor(Math.random()*Fv),n=i.config$$module$build$src$core$config.snapRadius+Math.floor(Math.random()*Fv),c=e.sourceBlock_.getRootBlock(),h=this.sourceBlock_.getRootBlock();if(!c.isInFlyout&&!h.isInFlyout){var $=!0;if(h.isMovable())c.isMovable()&&t&&(n=-n);else if(c.isMovable())$=!1,o=-o,n=-n;else return;t=$?e:this,e=$?this:e,c=$?h:c,(h=I()===c)||c.addSelect(),c.RTL&&(o=-o),c.moveBy(t.x+o-e.x,t.y+n-e.y,["bump"]),h||c.removeSelect()}}}moveTo(e,t){let o=!1;return this.trackedState===Ut.TrackedState.WILL_TRACK?(this.db.addConnection(this,t),this.trackedState=Ut.TrackedState.TRACKED,o=!0):this.trackedState===Ut.TrackedState.TRACKED&&(this.db.removeConnection(this,this.y),this.db.addConnection(this,t),o=!0),this.x=e,this.y=t,o}moveBy(e,t){return this.moveTo(this.x+e,this.y+t)}moveToOffset(e){return this.moveTo(e.x+this.offsetInBlock.x,e.y+this.offsetInBlock.y)}setOffsetInBlock(e,t){this.offsetInBlock.x=e,this.offsetInBlock.y=t}getOffsetInBlock(){return this.offsetInBlock}tightenEfficiently(){var e=this.targetConnection;const t=this.targetBlock();e&&t&&(e=V.difference(this.offsetInBlock,e.offsetInBlock),t.translate(e.x,e.y))}closest(e,t){return this.dbOpposite.searchForClosest(this,e,t)}highlight(){this.highlighted=!0,this.getSourceBlock().queueRender()}unhighlight(){this.highlighted=!1,this.getSourceBlock().queueRender()}isHighlighted(){return this.highlighted}setTracking(e){e&&this.trackedState===Ut.TrackedState.TRACKED||!e&&this.trackedState===Ut.TrackedState.UNTRACKED||this.sourceBlock_.isInFlyout||(e?(this.db.addConnection(this,this.y),this.trackedState=Ut.TrackedState.TRACKED):(this.trackedState===Ut.TrackedState.TRACKED&&this.db.removeConnection(this,this.y),this.trackedState=Ut.TrackedState.UNTRACKED))}stopTrackingAll(){if(this.setTracking(!1),this.targetConnection){const e=this.targetBlock().getDescendants(!1);for(let t=0;tclearTimeout(e)),this.warningTextDb.clear(),this.getIcons().forEach(e=>e.dispose())}checkAndDelete(){this.workspace.isFlyout||(i.setGroup$$module$build$src$core$events$utils(!0),this.workspace.hideChaff(),this.outputConnection?this.dispose(!1,!0):this.dispose(!0,!0),i.setGroup$$module$build$src$core$events$utils(!1))}toCopyData(){return this.isInsertionMarker_?null:{paster:Sr.TYPE,blockState:Qt(this,{addCoordinates:!0,addNextBlocks:!1}),typeCounts:be(this,!0)}}applyColour(){this.pathObject.applyColour(this);const e=this.getIcons();for(let t=0;t{this.isDeadOrDying()||(this.warningTextDb.delete(t),this.setWarningText(e,t))},100));else if(this.isInFlyout&&(e=null),o=this.getIcon(go.TYPE),e){let n=this.getSurroundParent(),c=null;for(;n;)n.isCollapsed()&&(c=n),n=n.getSurroundParent();c&&c.setWarningText(i.Msg$$module$build$src$core$msg.COLLAPSED_WARNINGS_WARNING,gs.COLLAPSED_WARNING_ID),o?o.addMessage(e,t):this.addIcon(new go(this).addMessage(e,t))}else o&&(t?(o.addMessage("",t),o.getText()||this.removeIcon(go.TYPE)):this.removeIcon(go.TYPE))}setMutator(e){this.removeIcon(i.MutatorIcon$$module$build$src$core$icons$mutator_icon.TYPE),e&&this.addIcon(e)}addIcon(e){return super.addIcon(e),e instanceof i.MutatorIcon$$module$build$src$core$icons$mutator_icon&&(this.mutator=e),e.initView(this.createIconPointerDownListener(e)),e.applyColour(),e.updateEditable(),this.queueRender(),e}createIconPointerDownListener(e){return t=>{this.isDeadOrDying()||(t=this.workspace.getGesture(t))&&t.setStartIcon(e)}}removeIcon(e){const t=super.removeIcon(e);return e.equals(i.MutatorIcon$$module$build$src$core$icons$mutator_icon.TYPE)&&(this.mutator=null),this.queueRender(),t}setEnabled(e){y("setEnabled","v11","v12","the setDisabledReason method of BlockSvg");const t=this.isEnabled();super.setEnabled(e),this.isEnabled()===t||this.getInheritedDisabled()||this.updateDisabled()}setDisabledReason(e,t){const o=this.isEnabled();super.setDisabledReason(e,t),this.isEnabled()===o||this.getInheritedDisabled()||this.updateDisabled()}setHighlighted(e){this.pathObject.updateHighlighted(e)}addSelect(){this.pathObject.updateSelected(!0)}removeSelect(){this.pathObject.updateSelected(!1)}setDeleteStyle(e){this.pathObject.updateDraggingDelete(e)}getColour(){return this.style.colourPrimary}setColour(e){super.setColour(e),e=this.workspace.getRenderer().getConstants().getBlockStyleForColour(this.colour_),this.pathObject.setStyle(e.style),this.style=e.style,this.styleName_=e.name,this.applyColour()}setStyle(e){const t=this.workspace.getRenderer().getConstants().getBlockStyle(e);if(this.styleName_=e,t)this.hat=t.hat,this.pathObject.setStyle(t),this.colour_=t.colourPrimary,this.style=t,this.applyColour();else throw Error("Invalid style name: "+e)}getStyle(){return this.style}bringToFront(e=!1){let t=this;if(!t.isDeadOrDying())do{const o=t.getSvgRoot(),n=o.parentNode,c=n.childNodes;if(c[c.length-1]!==o&&n.appendChild(o),e)break;t=t.getParent()}while(t)}setPreviousStatement(e,t){super.setPreviousStatement(e,t),this.queueRender()}setNextStatement(e,t){super.setNextStatement(e,t),this.queueRender()}setOutput(e,t){super.setOutput(e,t),this.queueRender()}setInputsInline(e){super.setInputsInline(e),this.queueRender()}removeInput(e,t){return e=super.removeInput(e,t),this.queueRender(),e}moveNumberedInputBefore(e,t){super.moveNumberedInputBefore(e,t),this.queueRender()}appendInput(e){return super.appendInput(e),this.queueRender(),e}setConnectionTracking(e){if(this.previousConnection&&this.previousConnection.setTracking(e),this.outputConnection&&this.outputConnection.setTracking(e),this.nextConnection){this.nextConnection.setTracking(e);var t=this.nextConnection.targetBlock();t&&t.setConnectionTracking(e)}if(!this.collapsed_)for(t=0;t=this.workspace.options.maxTrashcanContents||(e=new ds({scrollbars:!0,parentWorkspace:this.workspace,rtl:this.workspace.RTL,oneBasedIndex:this.workspace.options.oneBasedIndex,renderer:this.workspace.options.renderer,rendererOverrides:this.workspace.options.rendererOverrides,move:{scrollbars:!0}}),this.workspace.horizontalLayout?(e.toolboxPosition=this.workspace.toolboxPosition===Ee.TOP?Ee.BOTTOM:Ee.TOP,this.flyout=new(_(F.FLYOUTS_HORIZONTAL_TOOLBOX,this.workspace.options,!0))(e)):(e.toolboxPosition=this.workspace.toolboxPosition===Ee.RIGHT?Ee.LEFT:Ee.RIGHT,this.flyout=new(_(F.FLYOUTS_VERTICAL_TOOLBOX,this.workspace.options,!0))(e)),this.workspace.addChangeListener(this.onDelete.bind(this)))}createDom(){this.svgGroup=N(x.G,{class:"blocklyTrash"});let e;const t=String(Math.random()).substring(2);e=N(x.CLIPPATH,{id:"blocklyTrashBodyClipPath"+t},this.svgGroup),N(x.RECT,{width:an,height:Fl,y:ln},e);const o=N(x.IMAGE,{width:jt.width,x:-wp,height:jt.height,y:-Cp,"clip-path":"url(#blocklyTrashBodyClipPath"+t+")"},this.svgGroup);return o.setAttributeNS(es,"xlink:href",this.workspace.options.pathToMedia+jt.url),e=N(x.CLIPPATH,{id:"blocklyTrashLidClipPath"+t},this.svgGroup),N(x.RECT,{width:an,height:ln},e),this.svgLid=N(x.IMAGE,{width:jt.width,x:-wp,height:jt.height,y:-Cp,"clip-path":"url(#blocklyTrashLidClipPath"+t+")"},this.svgGroup),this.svgLid.setAttributeNS(es,"xlink:href",this.workspace.options.pathToMedia+jt.url),ct(this.svgGroup,"pointerdown",this,this.blockMouseDownWhenOpenable),ct(this.svgGroup,"pointerup",this,this.click),ct(o,"pointerover",this,this.mouseOver),ct(o,"pointerout",this,this.mouseOut),this.animateLid(),this.svgGroup}init(){0{let o;(o=this.flyout)==null||o.show(e),t.cursor="";let n;(n=this.workspace.scrollbar)==null||n.setVisible(!1)},10),this.fireUiEvent(!0)}}closeFlyout(){if(this.contentsIsOpen()){var e;(e=this.flyout)==null||e.hide();var t;(t=this.workspace.scrollbar)==null||t.setVisible(!0),this.fireUiEvent(!1),this.workspace.recordDragTargets()}}autoHide(e){!e&&this.flyout&&this.closeFlyout()}emptyContents(){this.hasContents()&&(this.contents.length=0,this.setMinOpenness(0),this.closeFlyout())}position(e,t){if(this.initialized){var o=va(this.workspace,e);e=ba(o,new Le(an,Fl+ln),ok,Hv,e,this.workspace),t=ya(e,Hv,o.vertical===lo.TOP?Io.DOWN:Io.UP,t),this.top=t.top,this.left=t.left;var n;(n=this.svgGroup)==null||n.setAttribute("transform","translate("+this.left+","+this.top+")");var c;(c=this.flyout)==null||c.position()}}getBoundingRectangle(){return new qe(this.top,this.top+Fl+ln,this.left,this.left+an)}getClientRect(){if(!this.svgGroup)return null;var e=this.svgGroup.getBoundingClientRect();const t=e.top+Cp-zl;return e=e.left+wp-zl,new qe(t,t+ln+Fl+2*zl,e,e+an+2*zl)}onDragOver(e){this.setLidOpen(this.wouldDelete_)}onDragExit(e){this.setLidOpen(!1)}onDrop(e){setTimeout(this.setLidOpen.bind(this,!1),100)}setLidOpen(e){this.isLidOpen!==e&&(this.lidTask&&clearTimeout(this.lidTask),this.isLidOpen=e,this.animateLid())}animateLid(){const e=rk;var t=1/(e+1);this.lidOpen+=this.isLidOpen?t:-t,this.lidOpen=Math.min(Math.max(this.lidOpen,this.minOpenness),1),this.setLidAngle(this.lidOpen*Vv),t=Wv+this.lidOpen*(ak-Wv),this.svgGroup&&(this.svgGroup.style.opacity=`${t}`),this.lidOpen>this.minOpenness&&1>this.lidOpen&&(this.lidTask=setTimeout(this.animateLid.bind(this),nk/e))}setLidAngle(e){const t=this.workspace.toolboxPosition===Ee.RIGHT||this.workspace.horizontalLayout&&this.workspace.RTL;let o;(o=this.svgLid)==null||o.setAttribute("transform","rotate("+(t?-e:e)+","+(t?4:an-4)+","+(ln-2)+")")}setMinOpenness(e){this.minOpenness=e,this.isLidOpen||this.setLidAngle(e*Vv)}closeLid(){this.setLidOpen(!1)}click(){this.hasContents()&&!this.workspace.isDragging()&&this.openFlyout()}fireUiEvent(e){e=new(G(O.TRASHCAN_OPEN))(e,this.workspace.id),z(e)}blockMouseDownWhenOpenable(e){!this.contentsIsOpen()&&this.hasContents()&&e.stopPropagation()}mouseOver(){this.hasContents()&&this.setLidOpen(!0)}mouseOut(){this.setLidOpen(!1)}onDelete(e){if(!(0>=this.workspace.options.maxTrashcanContents||!E(e)||e.wasShadow)){if(!e.oldJson)throw Error("Encountered a delete event without proper oldJson");if(e=JSON.stringify(this.cleanBlockJson(e.oldJson)),!this.contents.includes(e)){for(this.contents.unshift(e);this.contents.length>this.workspace.options.maxTrashcanContents;)this.contents.pop();this.setMinOpenness(ik)}}}cleanBlockJson(e){function t(o){if(o){if(delete o.id,delete o.x,delete o.y,delete o.enabled,delete o.disabledReasons,o.icons&&o.icons.comment){var n=o.icons.comment;delete n.height,delete n.width,delete n.pinned}n=o.inputs;for(var c in n){var h=n[c];const $=h.block;h=h.shadow,$&&t($),h&&t(h)}o.next&&(c=o.next,o=c.block,c=c.shadow,o&&t(o),c&&t(c))}}return e=JSON.parse(JSON.stringify(e)),t(e),Object.assign({},{kind:"BLOCK"},e)}},an=47,Fl=44,ln=16,Hv=20,ok=20,zl=10,wp=0,Cp=32,ik=.1,nk=80,rk=4,Wv=.4,ak=.8,Vv=45,He=class{constructor(){this.shortcuts=new Map,this.keyMap=new Map,this.reset()}reset(){this.shortcuts.clear(),this.keyMap.clear()}register(e,t){if(this.shortcuts.get(e.name)&&!t)throw Error(`Shortcut named "${e.name}" already exists.`);if(this.shortcuts.set(e.name,e),t=e.keyCodes,t!=null&&t.length)for(const o of t)this.addKeyMapping(o,e.name,!!e.allowCollision)}unregister(e){return this.shortcuts.get(e)?(this.removeAllKeyMappings(e),this.shortcuts.delete(e),!0):(console.warn(`Keyboard shortcut named "${e}" not found.`),!1)}addKeyMapping(e,t,o){e=`${e}`;const n=this.keyMap.get(e);if(n&&!o)throw Error(`Shortcut named "${t}" collides with shortcuts "${n}"`);n&&o?n.unshift(t):this.keyMap.set(e,[t])}removeKeyMapping(e,t,o){const n=this.keyMap.get(e);if(!n)return o||console.warn(`No keyboard shortcut named "${t}" registered with key code "${e}"`),!1;const c=n.indexOf(t);return-1Gd(t)),e.length?e:null}load(e,t){const o=t.getProcedureMap();for(const n of e)o.add(Kd(this.procedureModelClass,this.parameterModelClass,n,t))}clear(e){e.getProcedureMap().clear()}},Ul={};Ul.ProcedureSerializer=ck,Ul.loadProcedure=Kd,Ul.saveProcedure=Gd;var Gv=class{constructor(){this.priority=zb}save(e){const t=[];for(const o of e.getAllVariables())e={name:o.name,id:o.getId()},o.type&&(e.type=o.type),t.push(e);return t.length?t:null}load(e,t){for(const o of e)t.createVariable(o.name,o.type,o.id)}clear(e){e.getVariableMap().clear()}};jn("variables",new Gv);var Kv={};Kv.VariableSerializer=Gv;var Sp={};Sp.load=Y$,Sp.save=K$;var uk={blocks:gr,exceptions:ii,priorities:jT,procedures:Ul,registry:Ih,variables:Kv,workspaceComments:cl,workspaces:Sp},Ep=class{constructor(e,t,o,n,c){this.workspace=e,this.oldHostMetrics=this.corner_=this.vScroll=this.hScroll=null,t=t===void 0?!0:t,o=o===void 0?!0:o;const h=t&&o;t&&(this.hScroll=new mt(e,!0,h,n,c)),o&&(this.vScroll=new mt(e,!1,h,n,c)),h&&(this.corner_=N(x.RECT,{height:mt.scrollbarThickness,width:mt.scrollbarThickness,class:"blocklyScrollbarBackground"}),Uo(this.corner_,e.getBubbleCanvas()))}dispose(){Ke(this.corner_),this.oldHostMetrics=this.corner_=null,this.hScroll&&(this.hScroll.dispose(),this.hScroll=null),this.vScroll&&(this.vScroll.dispose(),this.vScroll=null)}resize(){const e=this.workspace.getMetrics();if(e){var t=!1,o=!1;if(this.oldHostMetrics&&this.oldHostMetrics.viewWidth===e.viewWidth&&this.oldHostMetrics.viewHeight===e.viewHeight&&this.oldHostMetrics.absoluteTop===e.absoluteTop&&this.oldHostMetrics.absoluteLeft===e.absoluteLeft?(this.oldHostMetrics&&this.oldHostMetrics.scrollWidth===e.scrollWidth&&this.oldHostMetrics.viewLeft===e.viewLeft&&this.oldHostMetrics.scrollLeft===e.scrollLeft||(t=!0),this.oldHostMetrics&&this.oldHostMetrics.scrollHeight===e.scrollHeight&&this.oldHostMetrics.viewTop===e.viewTop&&this.oldHostMetrics.scrollTop===e.scrollTop||(o=!0)):o=t=!0,t||o){try{i.disable$$module$build$src$core$events$utils(),this.hScroll&&t&&this.hScroll.resize(e),this.vScroll&&o&&this.vScroll.resize(e)}finally{i.enable$$module$build$src$core$events$utils()}this.workspace.maybeFireViewportChangeEvent()}if(this.hScroll&&this.vScroll){if(!this.oldHostMetrics||this.oldHostMetrics.viewWidth!==e.viewWidth||this.oldHostMetrics.absoluteLeft!==e.absoluteLeft){let n;(n=this.corner_)==null||n.setAttribute("x",String(this.vScroll.position.x))}if(!this.oldHostMetrics||this.oldHostMetrics.viewHeight!==e.viewHeight||this.oldHostMetrics.absoluteTop!==e.absoluteTop){let n;(n=this.corner_)==null||n.setAttribute("y",String(this.hScroll.position.y))}}this.oldHostMetrics=e}}canScrollHorizontally(){return!!this.hScroll}canScrollVertically(){return!!this.vScroll}setOrigin(e,t){this.hScroll&&this.hScroll.setOrigin(e,t),this.vScroll&&this.vScroll.setOrigin(e,t)}set(e,t,o){this.hScroll&&this.hScroll.set(e,!1),this.vScroll&&this.vScroll.set(t,!1),(o||o===void 0)&&(e={},this.hScroll&&(e.x=this.hScroll.getRatio_()),this.vScroll&&(e.y=this.vScroll.getRatio_()),this.workspace.setMetrics(e))}setX(e){this.hScroll&&this.hScroll.set(e,!0)}setY(e){this.vScroll&&this.vScroll.set(e,!0)}setContainerVisible(e){this.hScroll&&this.hScroll.setContainerVisible(e),this.vScroll&&this.vScroll.setContainerVisible(e)}isVisible(){let e=!1;return this.hScroll&&(e=this.hScroll.isVisible()),this.vScroll&&(e=e||this.vScroll.isVisible()),e}setVisible(e){this.hScroll&&this.hScroll.setVisibleInternal(e),this.vScroll&&this.vScroll.setVisibleInternal(e)}resizeContent(e){this.hScroll&&this.hScroll.resizeContentHorizontal(e),this.vScroll&&this.vScroll.resizeContentVertical(e)}resizeView(e){this.hScroll&&this.hScroll.resizeViewHorizontal(e),this.vScroll&&this.vScroll.resizeViewVertical(e)}},Ip=class{constructor(e){this.workspace_=e}getDimensionsPx_(e){let t=0,o=0;return e&&(t=e.getWidth(),o=e.getHeight()),new Le(t,o)}getFlyoutMetrics(e){return e=this.getDimensionsPx_(this.workspace_.getFlyout(e)),{width:e.width,height:e.height,position:this.workspace_.toolboxPosition}}getToolboxMetrics(){const e=this.getDimensionsPx_(this.workspace_.getToolbox());return{width:e.width,height:e.height,position:this.workspace_.toolboxPosition}}getSvgMetrics(){return this.workspace_.getCachedParentSvgSize()}getAbsoluteMetrics(){let e=0,t=0;const o=this.getToolboxMetrics(),n=this.getFlyoutMetrics(),c=!!this.workspace_.getToolbox();var h;const $=!((h=this.workspace_.getFlyout())!=null&&h.autoClose);h=c?o.position:n.position;const T=h===Ee.TOP;return h===Ee.LEFT&&(c&&(e+=o.width),$&&(e+=n.width)),T&&(c&&(t+=o.height),$&&(t+=n.height)),{top:t,left:e}}getViewMetrics(e){e=e?this.workspace_.scale:1;const t=this.getSvgMetrics(),o=this.getToolboxMetrics(),n=this.getFlyoutMetrics(),c=!!this.workspace_.getToolbox();var h;const $=!((h=this.workspace_.getFlyout())!=null&&h.autoClose);h=c?o.position:n.position;const T=h===Ee.LEFT||h===Ee.RIGHT;return(h===Ee.TOP||h===Ee.BOTTOM)&&(c&&(t.height-=o.height),$&&(t.height-=n.height)),T&&(c&&(t.width-=o.width),$&&(t.width-=n.width)),{height:t.height/e,width:t.width/e,top:-this.workspace_.scrollY/e,left:-this.workspace_.scrollX/e}}getContentMetrics(e){e=e?1:this.workspace_.scale;const t=this.workspace_.getBlocksBoundingBox();return{height:(t.bottom-t.top)*e,width:(t.right-t.left)*e,top:t.top*e,left:t.left*e}}hasFixedEdges(){return!this.workspace_.isMovableHorizontally()||!this.workspace_.isMovableVertically()}getComputedFixedEdges_(e){if(!this.hasFixedEdges())return{};const t=this.workspace_.isMovableHorizontally(),o=this.workspace_.isMovableVertically();e=e||this.getViewMetrics(!1);const n={};return o||(n.top=e.top,n.bottom=e.top+e.height),t||(n.left=e.left,n.right=e.left+e.width),n}getPaddedContent_(e,t){const o=t.top+t.height,n=t.left+t.width,c=e.width;e=e.height;const h=c/2,$=e/2;return{top:Math.min(t.top-$,o-e),bottom:Math.max(o+$,t.top+e),left:Math.min(t.left-h,n-c),right:Math.max(n+h,t.left+c)}}getScrollMetrics(e,t,o){e=e?this.workspace_.scale:1,t=t||this.getViewMetrics(!1);var n=o||this.getContentMetrics();o=this.getComputedFixedEdges_(t),t=this.getPaddedContent_(t,n),n=o.top!==void 0?o.top:t.top;const c=o.left!==void 0?o.left:t.left;return{top:n/e,left:c/e,width:((o.right!==void 0?o.right:t.right)-c)/e,height:((o.bottom!==void 0?o.bottom:t.bottom)-n)/e}}getUiMetrics(){return{viewMetrics:this.getViewMetrics(),absoluteMetrics:this.getAbsoluteMetrics(),toolboxMetrics:this.getToolboxMetrics()}}getMetrics(){const e=this.getToolboxMetrics(),t=this.getFlyoutMetrics(!0),o=this.getSvgMetrics(),n=this.getAbsoluteMetrics(),c=this.getViewMetrics(),h=this.getContentMetrics(),$=this.getScrollMetrics(!1,c,h);return{contentHeight:h.height,contentWidth:h.width,contentTop:h.top,contentLeft:h.left,scrollHeight:$.height,scrollWidth:$.width,scrollTop:$.top,scrollLeft:$.left,viewHeight:c.height,viewWidth:c.width,viewTop:c.top,viewLeft:c.left,absoluteTop:n.top,absoluteLeft:n.left,svgHeight:o.height,svgWidth:o.width,toolboxWidth:e.width,toolboxHeight:e.height,toolboxPosition:e.position,flyoutWidth:t.width,flyoutHeight:t.height}}};r(F.METRICS_MANAGER,js,Ip),"Blockly"in globalThis||(globalThis.Blockly={Msg:Xb});var Yv=class extends Ml{constructor(){super(),this.GRID_UNIT=4,this.CURSOR_COLOUR="#ffa200",this.CURSOR_RADIUS=5,this.JAGGED_TEETH_WIDTH=this.JAGGED_TEETH_HEIGHT=0,this.START_HAT_HEIGHT=22,this.START_HAT_WIDTH=96,this.SHAPES={HEXAGONAL:1,ROUND:2,SQUARE:3,PUZZLE:4,NOTCH:5},this.SHAPE_IN_SHAPE_PADDING={1:{0:5*this.GRID_UNIT,1:2*this.GRID_UNIT,2:5*this.GRID_UNIT,3:5*this.GRID_UNIT},2:{0:3*this.GRID_UNIT,1:3*this.GRID_UNIT,2:1*this.GRID_UNIT,3:2*this.GRID_UNIT},3:{0:2*this.GRID_UNIT,1:2*this.GRID_UNIT,2:2*this.GRID_UNIT,3:2*this.GRID_UNIT}},this.FULL_BLOCK_FIELDS=!0,this.FIELD_TEXT_FONTWEIGHT="bold",this.FIELD_TEXT_FONTFAMILY='"Helvetica Neue", "Segoe UI", Helvetica, sans-serif',this.FIELD_COLOUR_FULL_BLOCK=this.FIELD_TEXTINPUT_BOX_SHADOW=this.FIELD_DROPDOWN_SVG_ARROW=this.FIELD_DROPDOWN_COLOURED_DIV=this.FIELD_DROPDOWN_NO_BORDER_RECT_SHADOW=!0,this.SELECTED_GLOW_COLOUR="#fff200",this.SELECTED_GLOW_SIZE=.5,this.REPLACEMENT_GLOW_COLOUR="#fff200",this.REPLACEMENT_GLOW_SIZE=2,this.selectedGlowFilterId="",this.selectedGlowFilter=null,this.replacementGlowFilterId="",this.SQUARED=this.ROUNDED=this.HEXAGONAL=this.replacementGlowFilter=null,this.SMALL_PADDING=this.GRID_UNIT,this.MEDIUM_PADDING=2*this.GRID_UNIT,this.MEDIUM_LARGE_PADDING=3*this.GRID_UNIT,this.LARGE_PADDING=4*this.GRID_UNIT,this.CORNER_RADIUS=1*this.GRID_UNIT,this.NOTCH_WIDTH=9*this.GRID_UNIT,this.NOTCH_HEIGHT=2*this.GRID_UNIT,this.STATEMENT_INPUT_NOTCH_OFFSET=this.NOTCH_OFFSET_LEFT=3*this.GRID_UNIT,this.MIN_BLOCK_WIDTH=2*this.GRID_UNIT,this.MIN_BLOCK_HEIGHT=12*this.GRID_UNIT,this.EMPTY_STATEMENT_INPUT_HEIGHT=6*this.GRID_UNIT,this.TOP_ROW_MIN_HEIGHT=this.CORNER_RADIUS,this.TOP_ROW_PRECEDES_STATEMENT_MIN_HEIGHT=this.LARGE_PADDING,this.BOTTOM_ROW_MIN_HEIGHT=this.CORNER_RADIUS,this.BOTTOM_ROW_AFTER_STATEMENT_MIN_HEIGHT=6*this.GRID_UNIT,this.STATEMENT_BOTTOM_SPACER=-this.NOTCH_HEIGHT,this.STATEMENT_INPUT_SPACER_MIN_WIDTH=40*this.GRID_UNIT,this.STATEMENT_INPUT_PADDING_LEFT=4*this.GRID_UNIT,this.EMPTY_INLINE_INPUT_PADDING=4*this.GRID_UNIT,this.EMPTY_INLINE_INPUT_HEIGHT=8*this.GRID_UNIT,this.DUMMY_INPUT_MIN_HEIGHT=8*this.GRID_UNIT,this.DUMMY_INPUT_SHADOW_MIN_HEIGHT=6*this.GRID_UNIT,this.CURSOR_WS_WIDTH=20*this.GRID_UNIT,this.FIELD_TEXT_FONTSIZE=3*this.GRID_UNIT,this.FIELD_BORDER_RECT_RADIUS=this.CORNER_RADIUS,this.FIELD_BORDER_RECT_X_PADDING=2*this.GRID_UNIT,this.FIELD_BORDER_RECT_Y_PADDING=1.625*this.GRID_UNIT,this.FIELD_BORDER_RECT_HEIGHT=8*this.GRID_UNIT,this.FIELD_DROPDOWN_BORDER_RECT_HEIGHT=8*this.GRID_UNIT,this.FIELD_DROPDOWN_SVG_ARROW_PADDING=this.FIELD_BORDER_RECT_X_PADDING,this.FIELD_COLOUR_DEFAULT_WIDTH=6*this.GRID_UNIT,this.FIELD_COLOUR_DEFAULT_HEIGHT=8*this.GRID_UNIT,this.FIELD_CHECKBOX_X_OFFSET=1*this.GRID_UNIT,this.MAX_DYNAMIC_CONNECTION_SHAPE_WIDTH=12*this.GRID_UNIT}setFontConstants_(e){super.setFontConstants_(e),this.FIELD_DROPDOWN_BORDER_RECT_HEIGHT=this.FIELD_BORDER_RECT_HEIGHT=this.FIELD_TEXT_HEIGHT+2*this.FIELD_BORDER_RECT_Y_PADDING}init(){super.init(),this.HEXAGONAL=this.makeHexagonal(),this.ROUNDED=this.makeRounded(),this.SQUARED=this.makeSquared(),this.STATEMENT_INPUT_NOTCH_OFFSET=this.NOTCH_OFFSET_LEFT+this.INSIDE_CORNERS.rightWidth}setDynamicProperties_(e){super.setDynamicProperties_(e),this.SELECTED_GLOW_COLOUR=e.getComponentStyle("selectedGlowColour")||this.SELECTED_GLOW_COLOUR;const t=Number(e.getComponentStyle("selectedGlowSize"));this.SELECTED_GLOW_SIZE=t&&!isNaN(t)?t:this.SELECTED_GLOW_SIZE,this.REPLACEMENT_GLOW_COLOUR=e.getComponentStyle("replacementGlowColour")||this.REPLACEMENT_GLOW_COLOUR,this.REPLACEMENT_GLOW_SIZE=(e=Number(e.getComponentStyle("replacementGlowSize")))&&!isNaN(e)?e:this.REPLACEMENT_GLOW_SIZE}dispose(){super.dispose(),this.selectedGlowFilter&&Ke(this.selectedGlowFilter),this.replacementGlowFilter&&Ke(this.replacementGlowFilter)}makeStartHat(){const e=this.START_HAT_HEIGHT,t=this.START_HAT_WIDTH,o=Yt("c",[ue(25,-e),ue(71,-e),ue(t,0)]);return{height:e,width:t,path:o}}makeHexagonal(){function e(o,n,c){var h=o/2;return h=h>t?t:h,c=c?-1:1,o=(n?-1:1)*o/2,Bs(-c*h,o)+Bs(c*h,o)}const t=this.MAX_DYNAMIC_CONNECTION_SHAPE_WIDTH;return{type:this.SHAPES.HEXAGONAL,isDynamic:!0,width(o){return o/=2,o>t?t:o},height(o){return o},connectionOffsetY(o){return o/2},connectionOffsetX(o){return-o},pathDown(o){return e(o,!1,!1)},pathUp(o){return e(o,!0,!1)},pathRightDown(o){return e(o,!1,!0)},pathRightUp(o){return e(o,!1,!0)}}}makeRounded(){function e(n,c,h){const $=n>o?n-o:0;n=(n>o?o:n)/2;const T=h===c?"0":"1";return gt("a","0 0,"+T,n,ue((h?1:-1)*n,(c?-1:1)*n))+ne("v",(c?-1:1)*$)+gt("a","0 0,"+T,n,ue((h?-1:1)*n,(c?-1:1)*n))}const t=this.MAX_DYNAMIC_CONNECTION_SHAPE_WIDTH,o=2*t;return{type:this.SHAPES.ROUND,isDynamic:!0,width(n){return n/=2,n>t?t:n},height(n){return n},connectionOffsetY(n){return n/2},connectionOffsetX(n){return-n},pathDown(n){return e(n,!1,!1)},pathUp(n){return e(n,!0,!1)},pathRightDown(n){return e(n,!1,!0)},pathRightUp(n){return e(n,!1,!0)}}}makeSquared(){function e(o,n,c){o-=2*t;const h=c===n?"0":"1";return gt("a","0 0,"+h,t,ue((c?1:-1)*t,(n?-1:1)*t))+ne("v",(n?-1:1)*o)+gt("a","0 0,"+h,t,ue((c?-1:1)*t,(n?-1:1)*t))}const t=this.CORNER_RADIUS;return{type:this.SHAPES.SQUARE,isDynamic:!0,width(o){return t},height(o){return o},connectionOffsetY(o){return o/2},connectionOffsetX(o){return-o},pathDown(o){return e(o,!1,!1)},pathUp(o){return e(o,!0,!1)},pathRightDown(o){return e(o,!1,!0)},pathRightUp(o){return e(o,!1,!0)}}}shapeFor(e){let t=e.getCheck();switch(!t&&e.targetConnection&&(t=e.targetConnection.getCheck()),e.type){case oe.INPUT_VALUE:case oe.OUTPUT_VALUE:if(e=e.getSourceBlock().getOutputShape(),e!==null)switch(e){case this.SHAPES.HEXAGONAL:return this.HEXAGONAL;case this.SHAPES.ROUND:return this.ROUNDED;case this.SHAPES.SQUARE:return this.SQUARED}return t&&t.includes("Boolean")?this.HEXAGONAL:t&&t.includes("Number")?this.ROUNDED:(t&&t.includes("String"),this.ROUNDED);case oe.PREVIOUS_STATEMENT:case oe.NEXT_STATEMENT:return this.NOTCH;default:throw Error("Unknown type")}}makeNotch(){function e(te){return Yt("c",[ue(te*c/2,0),ue(te*c*3/4,$/2),ue(te*c,$)])+Fi([ue(te*c,h)])+Yt("c",[ue(te*c/4,$/2),ue(te*c/2,$),ue(te*c,$)])+ne("h",te*n)+Yt("c",[ue(te*c/2,0),ue(te*c*3/4,-($/2)),ue(te*c,-$)])+Fi([ue(te*c,-h)])+Yt("c",[ue(te*c/4,-($/2)),ue(te*c/2,-$),ue(te*c,-$)])}const t=this.NOTCH_WIDTH,o=this.NOTCH_HEIGHT,n=t/3,c=n/3,h=o/2,$=h/2,T=e(1),L=e(-1);return{type:this.SHAPES.NOTCH,width:t,height:o,pathLeft:T,pathRight:L}}makeInsideCorners(){const e=this.CORNER_RADIUS,t=gt("a","0 0,0",e,ue(-e,e)),o=gt("a","0 0,1",e,ue(-e,e)),n=gt("a","0 0,0",e,ue(e,e)),c=gt("a","0 0,1",e,ue(e,e));return{width:e,height:e,pathTop:t,pathBottom:n,rightWidth:e,rightHeight:e,pathTopRight:o,pathBottomRight:c}}generateSecondaryColour_(e){return Ko("#000",e,.15)||e}generateTertiaryColour_(e){return Ko("#000",e,.25)||e}createDom(e,t,o){super.createDom(e,t,o),e=N(x.DEFS,{},e),t=N(x.FILTER,{id:"blocklySelectedGlowFilter"+this.randomIdentifier,height:"160%",width:"180%",y:"-30%",x:"-40%"},e),N(x.FEGAUSSIANBLUR,{in:"SourceGraphic",stdDeviation:this.SELECTED_GLOW_SIZE},t),o=N(x.FECOMPONENTTRANSFER,{result:"outBlur"},t),N(x.FEFUNCA,{type:"table",tableValues:"0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1"},o),N(x.FEFLOOD,{"flood-color":this.SELECTED_GLOW_COLOUR,"flood-opacity":1,result:"outColor"},t),N(x.FECOMPOSITE,{in:"outColor",in2:"outBlur",operator:"in",result:"outGlow"},t),this.selectedGlowFilterId=t.id,this.selectedGlowFilter=t,e=N(x.FILTER,{id:"blocklyReplacementGlowFilter"+this.randomIdentifier,height:"160%",width:"180%",y:"-30%",x:"-40%"},e),N(x.FEGAUSSIANBLUR,{in:"SourceGraphic",stdDeviation:this.REPLACEMENT_GLOW_SIZE},e),t=N(x.FECOMPONENTTRANSFER,{result:"outBlur"},e),N(x.FEFUNCA,{type:"table",tableValues:"0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1"},t),N(x.FEFLOOD,{"flood-color":this.REPLACEMENT_GLOW_COLOUR,"flood-opacity":1,result:"outColor"},e),N(x.FECOMPOSITE,{in:"outColor",in2:"outBlur",operator:"in",result:"outGlow"},e),N(x.FECOMPOSITE,{in:"SourceGraphic",in2:"outGlow",operator:"over"},e),this.replacementGlowFilterId=e.id,this.replacementGlowFilter=e}getCSS_(e){return[`${e} .blocklyText,`,`${e} .blocklyFlyoutLabelText {`,`font: ${this.FIELD_TEXT_FONTWEIGHT} ${this.FIELD_TEXT_FONTSIZE}pt ${this.FIELD_TEXT_FONTFAMILY};`,"}",`${e} .blocklyTextInputBubble textarea {`,"font-weight: normal;","}",`${e} .blocklyText {`,"fill: #fff;","}",`${e} .blocklyNonEditableText>rect:not(.blocklyDropdownRect),`,`${e} .blocklyEditableText>rect:not(.blocklyDropdownRect) {`,`fill: ${this.FIELD_BORDER_RECT_COLOUR};`,"}",`${e} .blocklyNonEditableText>text,`,`${e} .blocklyEditableText>text,`,`${e} .blocklyNonEditableText>g>text,`,`${e} .blocklyEditableText>g>text {`,"fill: #575E75;","}",`${e} .blocklyFlyoutLabelText {`,"fill: #575E75;","}",`${e} .blocklyText.blocklyBubbleText {`,"fill: #575E75;","}",`${e} .blocklyDraggable:not(.blocklyDisabled)`," .blocklyEditableText:not(.editing):hover>rect,",`${e} .blocklyDraggable:not(.blocklyDisabled)`," .blocklyEditableText:not(.editing):hover>.blocklyPath {","stroke: #fff;","stroke-width: 2;","}",`${e} .blocklyHtmlInput {`,`font-family: ${this.FIELD_TEXT_FONTFAMILY};`,`font-weight: ${this.FIELD_TEXT_FONTWEIGHT};`,"color: #575E75;","}",`${e} .blocklyDropdownText {`,"fill: #fff !important;","}",`${e}.blocklyWidgetDiv .blocklyMenuItem,`,`${e}.blocklyDropDownDiv .blocklyMenuItem {`,`font-family: ${this.FIELD_TEXT_FONTFAMILY};`,"}",`${e}.blocklyDropDownDiv .blocklyMenuItemContent {`,"color: #fff;","}",`${e} .blocklyHighlightedConnectionPath {`,`stroke: ${this.SELECTED_GLOW_COLOUR};`,"}",`${e} .blocklyDisabled > .blocklyOutlinePath {`,`fill: url(#blocklyDisabledPattern${this.randomIdentifier})`,"}",`${e} .blocklyInsertionMarker>.blocklyPath {`,`fill-opacity: ${this.INSERTION_MARKER_OPACITY};`,"stroke: none;","}"]}},Jv=class extends Nl{constructor(e,t){super(e,t)}draw(){const e=this.block_.pathObject;e.beginDrawing(),this.drawOutline_(),this.drawInternals_(),this.updateConnectionHighlights(),e.setPath(this.outlinePath_+` -`+this.inlinePath_),this.info_.RTL&&e.flipRTL(),this.recordSizeOnBlock_(),this.info_.outputConnection&&(e.outputShapeType=this.info_.outputConnection.shape.type),e.endDrawing()}drawOutline_(){this.info_.outputConnection&&this.info_.outputConnection.isDynamicShape&&!this.info_.hasStatementInput&&!this.info_.bottomRow.hasNextConnection?(this.drawFlatTop_(),this.drawRightDynamicConnection_(),this.drawFlatBottom_(),this.drawLeftDynamicConnection_()):super.drawOutline_()}drawLeft_(){this.info_.outputConnection&&this.info_.outputConnection.isDynamicShape?this.drawLeftDynamicConnection_():super.drawLeft_()}drawRightSideRow_(e){if(!(0>=e.height)){if(S.isSpacer(e)){const n=e.precedesStatement;var t=e.followsStatement;if(n||t){const c=this.constants_.INSIDE_CORNERS;var o=c.rightHeight;o=e.height-(n?o:0),t=t?c.pathBottomRight:"",e=0=o||0>=t)throw Error("Height and width values of an image field must be greater than 0.");this.size_=new Le(t,o+mi.Y_PADDING),this.imageHeight=o,typeof c=="function"&&(this.clickHandler=c),e!==Qe.SKIP_SETUP&&($?this.configure_($):(this.flipRtl=!!h,this.altText=pt(n)||""),this.setValue(pt(e)))}configure_(e){super.configure_(e),e.flipRtl&&(this.flipRtl=e.flipRtl),e.alt&&(this.altText=pt(e.alt))}initView(){this.imageElement=N(x.IMAGE,{height:this.imageHeight+"px",width:this.size_.width+"px",alt:this.altText},this.fieldGroup_),this.imageElement.setAttributeNS(es,"xlink:href",this.value_),this.clickHandler&&(this.imageElement.style.cursor="pointer")}updateSize_(){}doClassValidation_(e){return typeof e!="string"?null:e}doValueUpdate_(e){this.value_=e,this.imageElement&&this.imageElement.setAttributeNS(es,"xlink:href",this.value_)}getFlipRtl(){return this.flipRtl}setAlt(e){e!==this.altText&&(this.altText=e||"",this.imageElement&&this.imageElement.setAttribute("alt",this.altText))}showEditor_(){this.clickHandler&&this.clickHandler(this)}setOnClickHandler(e){this.clickHandler=e}getText_(){return this.altText}static fromJson(e){if(!e.src||!e.width||!e.height)throw Error("src, width, and height values for an image field arerequired. The width and height must be non-zero.");return new this(e.src,e.width,e.height,void 0,void 0,void 0,e)}};mi.Y_PADDING=1,Ps("field_image",mi),mi.prototype.DEFAULT_VALUE="";var Hl=class extends Qe{constructor(e,t,o){super(Qe.SKIP_SETUP),this.spellcheck_=!0,this.htmlInput_=null,this.isTextValid_=this.isBeingEdited_=!1,this.onKeyInputWrapper=this.onKeyDownWrapper=this.valueWhenEditorWasOpened_=null,this.fullBlockClickTarget_=!1,this.workspace_=null,this.SERIALIZABLE=!0,this.CURSOR="text",e!==Qe.SKIP_SETUP&&(o&&this.configure_(o),this.setValue(e),t&&this.setValidator(t))}configure_(e){super.configure_(e),e.spellcheck!==void 0&&(this.spellcheck_=e.spellcheck)}initView(){if(!this.getSourceBlock())throw new ft;super.initView(),this.isFullBlockField()&&(this.clickTarget_=this.sourceBlock_.getSvgRoot())}isFullBlockField(){const e=this.getSourceBlock();if(!e)throw new ft;let t;return this.fullBlockClickTarget_=!((t=this.getConstants())==null||!t.FULL_BLOCK_FIELDS)&&e.isSimpleReporter()}doValueInvalid_(e,t=!0){this.isBeingEdited_&&(this.isDirty_=!0,this.isTextValid_=!1,e=this.value_,this.value_=this.valueWhenEditorWasOpened_,this.sourceBlock_&&K()&&this.value_!==e&&t&&z(new(G(O.BLOCK_CHANGE))(this.sourceBlock_,"field",this.name||null,e,this.value_)))}doValueUpdate_(e){this.isTextValid_=this.isDirty_=!0,this.value_=e}applyColour(){const e=this.getSourceBlock();if(!e)throw new ft;this.getConstants().FULL_BLOCK_FIELDS&&this.fieldGroup_&&(!this.isFullBlockField()&&this.borderRect_?(this.borderRect_.style.display="block",this.borderRect_.setAttribute("stroke",e.getColourTertiary())):(this.borderRect_.style.display="none",e.pathObject.svgPath.setAttribute("fill",this.getConstants().FIELD_BORDER_RECT_COLOUR)))}getSize(){let e;return(e=this.getConstants())!=null&&e.FULL_BLOCK_FIELDS&&(this.render_(),this.isDirty_=!1),super.getSize()}onLocationChange(){this.isBeingEdited_&&this.resizeEditor_()}render_(){if(super.render_(),this.isBeingEdited_){var e=this.htmlInput_;this.isTextValid_?(ot(e,"blocklyInvalidInput"),It(e,Ct.INVALID,!1)):(ge(e,"blocklyInvalidInput"),It(e,Ct.INVALID,!0))}if(e=this.getSourceBlock(),!e)throw new ft;this.getConstants().FULL_BLOCK_FIELDS&&e.applyColour()}setSpellcheck(e){e!==this.spellcheck_&&(this.spellcheck_=e,this.htmlInput_&&this.htmlInput_.setAttribute("spellcheck",this.spellcheck_))}showEditor_(e,t=!1){this.workspace_=this.sourceBlock_.workspace,!t&&this.workspace_.options.modalInputs&&(Db||yh||nl)?this.showPromptEditor():this.showInlineEditor(t)}showPromptEditor(){Ta(i.Msg$$module$build$src$core$msg.CHANGE_VALUE_TITLE,this.getText(),e=>{e!==null&&this.setValue(this.getValueFromEditorText_(e)),this.onFinishEditing_(this.value_)})}showInlineEditor(e){const t=this.getSourceBlock();if(!t)throw new ft;Pa(this,t.RTL,this.widgetDispose_.bind(this),this.workspace_),this.htmlInput_=this.widgetCreate_(),this.isBeingEdited_=!0,this.valueWhenEditorWasOpened_=this.value_,e||(this.htmlInput_.focus({preventScroll:!0}),this.htmlInput_.select())}widgetCreate_(){var e=this.getSourceBlock();if(!e)throw new ft;i.setGroup$$module$build$src$core$events$utils(!0);const t=Yo();var o=this.getClickTarget_();if(!o)throw Error("A click target has not been set.");ge(o,"editing"),o=document.createElement("input"),o.className="blocklyHtmlInput",o.setAttribute("spellcheck",this.spellcheck_);const n=this.workspace_.getScale();var c=this.getConstants().FIELD_TEXT_FONTSIZE*n+"pt";return t.style.fontSize=c,o.style.fontSize=c,c=Hl.BORDERRADIUS*n+"px",this.isFullBlockField()&&(c=this.getScaledBBox(),c=(c.bottom-c.top)/2+"px",e=e.getParent()?e.getParent().getColourTertiary():this.sourceBlock_.getColourTertiary(),o.style.border=1*n+"px solid "+e,t.style.borderRadius=c,t.style.transition="box-shadow 0.25s ease 0s",this.getConstants().FIELD_TEXTINPUT_BOX_SHADOW&&(t.style.boxShadow="rgba(255, 255, 255, 0.3) 0 0 0 "+4*n+"px")),o.style.borderRadius=c,t.appendChild(o),o.value=o.defaultValue=this.getEditorText_(this.value_),o.setAttribute("data-untyped-default-value",String(this.value_)),this.resizeEditor_(),this.bindInputEvents_(o),o}widgetDispose_(){this.isBeingEdited_=!1,this.isTextValid_=!0,this.forceRerender(),this.onFinishEditing_(this.value_),this.sourceBlock_&&K()&&this.valueWhenEditorWasOpened_!==null&&this.valueWhenEditorWasOpened_!==this.value_&&(z(new(G(O.BLOCK_CHANGE))(this.sourceBlock_,"field",this.name||null,this.valueWhenEditorWasOpened_,this.value_)),this.valueWhenEditorWasOpened_=null),i.setGroup$$module$build$src$core$events$utils(!1),this.unbindInputEvents_();var e=Yo().style;if(e.width="auto",e.height="auto",e.fontSize="",e.transition="",e.boxShadow="",this.htmlInput_=null,e=this.getClickTarget_(),!e)throw Error("A click target has not been set.");ot(e,"editing")}onFinishEditing_(e){}bindInputEvents_(e){this.onKeyDownWrapper=X(e,"keydown",this,this.onHtmlInputKeyDown_),this.onKeyInputWrapper=X(e,"input",this,this.onHtmlInputChange)}unbindInputEvents_(){this.onKeyDownWrapper&&(ze(this.onKeyDownWrapper),this.onKeyDownWrapper=null),this.onKeyInputWrapper&&(ze(this.onKeyInputWrapper),this.onKeyInputWrapper=null)}onHtmlInputKeyDown_(e){e.key==="Enter"?(Jo(this),Ns()):e.key==="Escape"?(this.setValue(this.htmlInput_.getAttribute("data-untyped-default-value"),!1),Jo(this),Ns()):e.key==="Tab"&&(Jo(this),Ns(),this.sourceBlock_.tab(this,!e.shiftKey),e.preventDefault())}onHtmlInputChange(e){e=this.value_,this.setValue(this.getValueFromEditorText_(this.htmlInput_.value),!1),this.sourceBlock_&&K()&&this.value_!==e&&z(new(G(O.BLOCK_FIELD_INTERMEDIATE_CHANGE))(this.sourceBlock_,this.name||null,e,this.value_))}setEditorValue_(e,t=!0){this.isDirty_=!0,this.isBeingEdited_&&(this.htmlInput_.value=this.getEditorText_(e)),this.setValue(e,t)}resizeEditor_(){ws().then(()=>{const e=this.getSourceBlock();if(!e)throw new ft;const t=Yo(),o=this.getScaledBBox();t.style.width=o.right-o.left+"px",t.style.height=o.bottom-o.top+"px";const n=o.top;t.style.left=`${e.RTL?o.right-t.offsetWidth:o.left}px`,t.style.top=`${n}px`})}repositionForWindowResize(){let e;const t=(e=this.getSourceBlock())==null?void 0:e.getRootBlock();return t instanceof gs?(zi(this.workspace_,this.workspace_.getMetricsManager().getViewMetrics(!0),t)||this.resizeEditor_(),!0):!1}isTabNavigable(){return!0}getText_(){return this.isBeingEdited_&&this.htmlInput_?this.htmlInput_.value:null}getEditorText_(e){return`${e}`}getValueFromEditorText_(e){return e}};Hl.BORDERRADIUS=4;var Wl=class extends Hl{constructor(e,t,o){super(e,t,o)}doClassValidation_(e){return e===void 0?null:`${e}`}static fromJson(e){return new this(pt(e.text),void 0,e)}};Ps("field_input",Wl),Wl.prototype.DEFAULT_VALUE="";var qv=class extends ip{constructor(e){super(e)}endsWithElemSpacer(){return!1}hasLeftSquareCorner(e){return!!e.outputConnection}hasRightSquareCorner(e){return!!e.outputConnection&&!e.statementInputCount&&!e.nextConnection}},Vl=class extends wr{constructor(e,t){if(super(e,t),this.connectedBottomNextConnection=!1,this.connectedBlock){for(e=this.connectedBlock;t=e.getNextBlock();)e=t;e.nextConnection||(this.height=this.connectedBlockHeight,this.connectedBottomNextConnection=!0)}}},Xv=class extends zs{constructor(e){super(e),this.width=this.height=0,this.type|=S.getType("RIGHT_CONNECTION")}},Zv=class extends cp{constructor(e){super(e)}endsWithElemSpacer(){return!1}hasLeftSquareCorner(e){const t=(e.hat?e.hat==="cap":this.constants_.ADD_START_HATS)&&!e.outputConnection&&!e.previousConnection;return!!e.outputConnection||t}hasRightSquareCorner(e){return!!e.outputConnection&&!e.statementInputCount&&!e.nextConnection}},Qv=class extends kr{constructor(e,t){super(e,t),this.isInline=!0,this.renderer_=e,this.constants_=this.renderer_.getConstants(),this.topRow=new Zv(this.constants_),this.bottomRow=new qv(this.constants_),this.isMultiRow=!t.getInputsInline()||t.isCollapsed(),this.hasStatementInput=0=this.rows.length-1?!!this.bottomRow.hasNextConnection:!!n.precedesStatement,S.isInputRow(h)&&h.hasStatement){h.measure();let $,T;t=h.width-((T=($=h.getLastInput())==null?void 0:$.width)!=null?T:0)+e}else if(o&&(c===2||n)&&S.isInputRow(h)&&!h.hasStatement){n=h.xPos,o=null;for(let $=0;$o?o:this.height/2,t-o*(1-Math.sin(Math.acos((o-this.constants_.SMALL_PADDING)/o)))):0;if(S.isInlineInput(e)&&e instanceof Ro){const c=e.connectedBlock;return e=c?c.pathObject.outputShapeType:e.shape.type,e==null||c&&c.outputConnection&&(c.statementInputCount||c.nextConnection)||o===n.SHAPES.HEXAGONAL&&o!==e?0:t-this.constants_.SHAPE_IN_SHAPE_PADDING[o][e]}return S.isField(e)&&e instanceof on?o===n.SHAPES.ROUND&&e.field instanceof Wl?t-2.75*n.GRID_UNIT:t-this.constants_.SHAPE_IN_SHAPE_PADDING[o][0]:S.isIcon(e)?this.constants_.SMALL_PADDING:0}finalizeVerticalAlignment_(){if(!this.outputConnection)for(let n=2;n=this.rows.length-1?!!this.bottomRow.hasNextConnection:!!$.precedesStatement;if(e?this.topRow.hasPreviousConnection:c.followsStatement){var o=h.elements[1];if(o=h.elements.length===3&&o instanceof on&&(o.field instanceof hi||o.field instanceof mi),!e&&o)c.height-=this.constants_.SMALL_PADDING,$.height-=this.constants_.SMALL_PADDING,h.height-=this.constants_.MEDIUM_PADDING;else if(!e&&!t)c.height+=this.constants_.SMALL_PADDING;else if(t){for(e=!1,t=0;t{if(!n.isDeadOrDying()){i.disable$$module$build$src$core$events$utils();try{n==null||n.positionNearConnection(c,h,$),n==null||n.getSvgRoot().setAttribute("visibility","visible")}finally{i.enable$$module$build$src$core$events$utils()}}}),c}createInsertionMarker(e){const t=Qt(e,{addCoordinates:!1,addInputBlocks:!1,addNextBlocks:!1,doFullSerialization:!1});if(!t)throw Error(`Failed to serialize source block. ${e.toDevString()}`);e=eo(t,this.workspace);for(const o of e.getDescendants(!1))o.setInsertionMarker(!0);return e.initSvg(),e.getSvgRoot().setAttribute("visibility","hidden"),e}getMatchingConnection(e,t,o){if(e=e.getConnections_(!0),t=t.getConnections_(!0),e.length!==t.length)return null;for(let n=0;nt instanceof Oo&&c.block===t||t instanceof hs&&c.button===t);return 0>n?null:(o=o?n+1:n-1,o===-1||o===e.length?null:e[o])}findTopASTNodeForBlock(e){const t=Qn(e);return t?P.createConnectionNode(t):P.createBlockNode(e)}getOutAstNodeForBlock(e){if(!e)return null;e=e.getTopStackBlock();const t=Qn(e);return t&&t.targetConnection&&t.targetConnection.getParentInput()?P.createInputNode(t.targetConnection.getParentInput()):P.createStackNode(e)}findFirstFieldOrInput(e){e=e.inputList;for(let t=0;t{Ua(o.getSourceBlock()),setTimeout(()=>{n.bringToFront()},0)})}}update(e,t){const o=this.getCandidate(e);((this.wouldDeleteBlock=this.shouldDelete(!!o,t))||this.shouldUpdatePreviews(o,e))&&(i.disable$$module$build$src$core$events$utils(),this.maybeHidePreview(o),this.maybeShowPreview(o),i.enable$$module$build$src$core$events$utils())}createMarkerBlock(e){i.disable$$module$build$src$core$events$utils();let t;try{const o=Qt(e,{addCoordinates:!1,addInputBlocks:!1,addNextBlocks:!1,doFullSerialization:!1});if(!o)throw Error(`Failed to serialize source block. ${e.toDevString()}`);t=eo(o,this.workspace);for(const n of t.getDescendants(!1))n.setInsertionMarker(!0);t.initSvg(),t.getSvgRoot().setAttribute("visibility","hidden")}finally{i.enable$$module$build$src$core$events$utils()}return t}initAvailableConnections(){const e=this.topBlock.getConnections_(!1),t=this.topBlock.lastConnectionInStack(!0);return t&&t!==this.topBlock.nextConnection&&(e.push(t),this.lastOnStack=t),e}shouldUpdatePreviews(e,t){if(!e)return!!this.activeCandidate;if(!this.activeCandidate)return!0;const{local:o,closest:n}=this.activeCandidate;if(n===e.closest&&o===e.local)return!1;const c=o.x+t.x-n.x;return t=o.y+t.y-n.y,e.radius{let L;(L=n)==null||L.positionNearConnection(T,h,$);let te;(te=n)==null||te.getSvgRoot().setAttribute("visibility","visible")}),this.markerConnection=c}hideInsertionMarker(){if(this.markerConnection){var e=this.markerConnection,t=e.getSourceBlock(),o=t.outputConnection,n;if((n=t.previousConnection)!=null&&n.targetConnection||o!=null&&o.targetConnection)t.unplug(!0);else{let c;(c=e.targetBlock())==null||c.unplug(!1)}if(e.targetConnection)throw Error("markerConnection still connected at the end of disconnectInsertionMarker");this.markerConnection=null,(e=t.getSvgRoot())&&e.setAttribute("visibility","hidden")}}showInsertionInputOutline(e){e=e.closest,this.highlightedBlock=e.getSourceBlock(),this.highlightedBlock.highlightShapeForInput(e,!0)}hideInsertionInputOutline(){if(this.highlightedBlock){if(!this.activeCandidate)throw Error("Cannot hide the insertion marker outline because there is no active candidate");this.highlightedBlock.highlightShapeForInput(this.activeCandidate.closest,!1),this.highlightedBlock=null}}showReplacementFade(e){if(this.fadedBlock=e.closest.targetBlock(),!this.fadedBlock)throw Error("Cannot show the replacement fade because the closest connection does not have a target block");this.fadedBlock.fadeForReplacement(!0)}hideReplacementFade(){this.fadedBlock&&(this.fadedBlock.fadeForReplacement(!1),this.fadedBlock=null)}getInsertionMarkers(){const e=[];return this.firstMarker&&e.push(this.firstMarker),this.lastMarker&&e.push(this.lastMarker),e}disposeInsertionMarker(e){if(e){i.disable$$module$build$src$core$events$utils();try{e.dispose()}finally{i.enable$$module$build$src$core$events$utils()}}}};(function(e){e=e.PREVIEW_TYPE||(e.PREVIEW_TYPE={}),e[e.INSERTION_MARKER=0]="INSERTION_MARKER",e[e.INPUT_OUTLINE=1]="INPUT_OUTLINE",e[e.REPLACEMENT_FADE=2]="REPLACEMENT_FADE"})(ps||(ps={})),ps.PREVIEW_TYPE;var Pl=class{constructor(e){this.overrides=null,this.name=e}getClassName(){return this.name+"-renderer"}init(e,t){this.constants_=this.makeConstants_(),t&&(this.overrides=t,Object.assign(this.constants_,t)),this.constants_.setTheme(e),this.constants_.init()}createDom(e,t){this.constants_.createDom(e,this.name+"-"+t.name,"."+this.getClassName()+"."+t.getClassName())}refreshDom(e,t){const o=this.getConstants();o.dispose(),this.constants_=this.makeConstants_(),this.overrides&&Object.assign(this.constants_,this.overrides),this.constants_.randomIdentifier=o.randomIdentifier,this.constants_.setTheme(t),this.constants_.init(),this.createDom(e,t)}dispose(){this.constants_&&this.constants_.dispose()}makeConstants_(){return new Ml}makeRenderInfo_(e){return new kr(this,e)}makeDrawer_(e,t){return new Nl(e,t)}makeMarkerDrawer(e,t){return new hp(e,this.getConstants(),t)}makePathObject(e,t){return new Ll(e,t,this.constants_)}getConstants(){return this.constants_}shouldHighlightConnection(e){return!0}orphanCanConnectAtEnd(e,t,o){return!!Be.getConnectionForOrphanedConnection(e,o===oe.OUTPUT_VALUE?t.outputConnection:t.previousConnection)}getConnectionPreviewMethod(e,t,o){return y("getConnectionPreviewMethod","v10","v12","an IConnectionPreviewer, if it fulfills your use case."),t.type===oe.OUTPUT_VALUE||t.type===oe.PREVIOUS_STATEMENT?!e.isConnected()||this.orphanCanConnectAtEnd(o,e.targetBlock(),t.type)?ps.PREVIEW_TYPE.INSERTION_MARKER:ps.PREVIEW_TYPE.REPLACEMENT_FADE:ps.PREVIEW_TYPE.INSERTION_MARKER}render(e){const t=this.makeRenderInfo_(e);t.measure(),this.makeDrawer_(e,t).draw()}},We={};We.BottomRow=ip,We.Connection=mo,We.ConstantProvider=Ml,We.Drawer=Nl,We.ExternalValueInput=Ol,We.Field=on,We.Hat=np,We.Icon=Ev,We.InRowSpacer=os,We.InlineInput=rp,We.InputConnection=Ro,We.InputRow=ap,We.JaggedEdge=Iv,We.MarkerSvg=hp,We.Measurable=zs,We.NextConnection=xv,We.OutputConnection=Dv,We.PathObject=Ll,We.PreviousConnection=Av,We.RenderInfo=kr,We.Renderer=Pl,We.RoundCorner=Cr,We.Row=_r,We.SpacerRow=lp,We.SquareCorner=Tr,We.StatementInput=wr,We.TopRow=cp,We.Types=S,We.init=Ad,We.register=er,We.unregister=F$;var Ov=class{constructor(e,t){this.workspace=e,this.theme=t,this.subscribedWorkspaces=[],this.componentDB=new Map}getTheme(){return this.theme}setTheme(e){var t=this.theme;this.theme=e,(e=this.workspace.getInjectionDiv())&&(t&&(t=t.getClassName())&&ot(e,t),(t=this.theme.getClassName())&&ge(e,t));for(let o=0,n;n=this.subscribedWorkspaces[o];o++)n.refreshTheme();for(const[o,n]of this.componentDB)for(const c of n){e=c.element,t=c.propertyName;const h=this.theme&&this.theme.getComponentStyle(o);e.style.setProperty(t,h||"")}for(const o of this.subscribedWorkspaces)o.hideChaff()}subscribeWorkspace(e){this.subscribedWorkspaces.push(e)}unsubscribeWorkspace(e){if(!St(this.subscribedWorkspaces,e))throw Error("Cannot unsubscribe a workspace that hasn't been subscribed.")}subscribe(e,t,o){this.componentDB.has(t)||this.componentDB.set(t,[]),this.componentDB.get(t).push({element:e,propertyName:o}),t=this.theme&&this.theme.getComponentStyle(t),e.style.setProperty(o,t||"")}unsubscribe(e){if(e)for(const[t,o]of this.componentDB){for(let n=o.length-1;0<=n;n--)o[n].element===e&&o.splice(n,1);o.length||this.componentDB.delete(t)}}dispose(){this.subscribedWorkspaces.length=0,this.componentDB.clear()}},pp="VARIABLE_DYNAMIC",pi={CATEGORY_NAME:pp};pi.flyoutCategory=qa,pi.flyoutCategoryBlocks=Nd,pi.onCreateVariableButtonClick_Colour=Md,pi.onCreateVariableButtonClick_Number=Od,pi.onCreateVariableButtonClick_String=Rd;var Mv=30,gi=[];gi[oe.INPUT_VALUE]=oe.OUTPUT_VALUE,gi[oe.OUTPUT_VALUE]=oe.INPUT_VALUE,gi[oe.NEXT_STATEMENT]=oe.PREVIOUS_STATEMENT,gi[oe.PREVIOUS_STATEMENT]=oe.NEXT_STATEMENT;var gp="RENAME_VARIABLE_ID",mp="DELETE_VARIABLE_ID",Nv=class{canConnect(e,t,o,n){return this.canConnectWithReason(e,t,o,n)===Be.CAN_CONNECT}canConnectWithReason(e,t,o,n){const c=this.doSafetyChecks(e,t);return c!==Be.CAN_CONNECT?c:this.doTypeChecks(e,t)?o&&!this.doDragChecks(e,t,n||0)?Be.REASON_DRAG_CHECKS_FAILED:Be.CAN_CONNECT:Be.REASON_CHECKS_FAILED}getErrorMessage(e,t,o){switch(e){case Be.REASON_SELF_CONNECTION:return"Attempted to connect a block to itself.";case Be.REASON_DIFFERENT_WORKSPACES:return"Blocks not on same workspace.";case Be.REASON_WRONG_TYPE:return"Attempt to connect incompatible types.";case Be.REASON_TARGET_NULL:return"Target connection is null.";case Be.REASON_CHECKS_FAILED:return"Connection checks failed. "+(t+" expected "+t.getCheck()+", found "+o.getCheck());case Be.REASON_SHADOW_PARENT:return"Connecting non-shadow to shadow block.";case Be.REASON_DRAG_CHECKS_FAILED:return"Drag checks failed.";case Be.REASON_PREVIOUS_AND_OUTPUT:return"Block would have an output and a previous connection.";default:return"Unknown connection failure: this should never happen!"}}doSafetyChecks(e,t){if(!e||!t)return Be.REASON_TARGET_NULL;let o,n,c;return e.isSuperior()?(o=e.getSourceBlock(),n=t.getSourceBlock(),c=t):(n=e.getSourceBlock(),o=t.getSourceBlock(),c=e,e=t),o===n?Be.REASON_SELF_CONNECTION:c.type!==gi[e.type]?Be.REASON_WRONG_TYPE:o.workspace!==n.workspace?Be.REASON_DIFFERENT_WORKSPACES:o.isShadow()&&!n.isShadow()?Be.REASON_SHADOW_PARENT:c.type===oe.OUTPUT_VALUE&&n.previousConnection&&n.previousConnection.isConnected()||c.type===oe.PREVIOUS_STATEMENT&&n.outputConnection&&n.outputConnection.isConnected()?Be.REASON_PREVIOUS_AND_OUTPUT:Be.CAN_CONNECT}doTypeChecks(e,t){if(e=e.getCheck(),t=t.getCheck(),!e||!t)return!0;for(let o=0;oo||t.getSourceBlock().isInsertionMarker())return!1;switch(t.type){case oe.PREVIOUS_STATEMENT:return this.canConnectToPrevious_(e,t);case oe.OUTPUT_VALUE:if(t.isConnected()&&!t.targetBlock().isInsertionMarker()||e.isConnected())return!1;break;case oe.INPUT_VALUE:if(t.isConnected()&&!t.targetBlock().isMovable()&&!t.targetBlock().isShadow())return!1;break;case oe.NEXT_STATEMENT:if(t.isConnected()&&!e.getSourceBlock().nextConnection&&!t.targetBlock().isShadow()&&t.targetBlock().nextConnection||t.targetBlock()&&!t.targetBlock().isMovable()&&!t.targetBlock().isShadow())return!1;break;default:return!1}return!nr.includes(t)}canConnectToPrevious_(e,t){return e.targetConnection||nr.includes(t)?!1:t.targetConnection?(e=t.targetBlock(),e.isInsertionMarker()?!e.getPreviousBlock():!1):!0}};r(F.CONNECTION_CHECKER,js,Nv);var fp=class extends dr{constructor(e){super(e),this.type=O.VAR_DELETE,e&&(this.varType=e.type,this.varName=e.name)}toJson(){const e=super.toJson();if(this.varType===void 0)throw Error("The var type is undefined. Either pass a variable to the constructor, or call fromJson");if(!this.varName)throw Error("The var name is undefined. Either pass a variable to the constructor, or call fromJson");return e.varType=this.varType,e.varName=this.varName,e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new fp),t.varType=e.varType,t.varName=e.varName,t}run(e){const t=this.getEventWorkspace_();if(!this.varId)throw Error("The var ID is undefined. Either pass a variable to the constructor, or call fromJson");if(!this.varName)throw Error("The var name is undefined. Either pass a variable to the constructor, or call fromJson");e?t.deleteVariableById(this.varId):t.createVariable(this.varName,this.varType,this.varId)}};r(F.EVENT,O.VAR_DELETE,fp);var $p=class extends dr{constructor(e,t){super(e),this.type=O.VAR_RENAME,e&&(this.oldName=e.name,this.newName=typeof t>"u"?"":t)}toJson(){const e=super.toJson();if(!this.oldName)throw Error("The old var name is undefined. Either pass a variable to the constructor, or call fromJson");if(!this.newName)throw Error("The new var name is undefined. Either pass a value to the constructor, or call fromJson");return e.oldName=this.oldName,e.newName=this.newName,e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new $p),t.oldName=e.oldName,t.newName=e.newName,t}run(e){const t=this.getEventWorkspace_();if(!this.varId)throw Error("The var ID is undefined. Either pass a variable to the constructor, or call fromJson");if(!this.oldName)throw Error("The old var name is undefined. Either pass a variable to the constructor, or call fromJson");if(!this.newName)throw Error("The new var name is undefined. Either pass a value to the constructor, or call fromJson");e?t.renameVariableById(this.varId,this.newName):t.renameVariableById(this.varId,this.oldName)}};r(F.EVENT,O.VAR_RENAME,$p);var bp=class{constructor(e){this.workspace=e,this.variableMap=new Map}clear(){for(const e of this.variableMap.values())for(;0{c&&t&&this.deleteVariableInternal(t,n)})):this.deleteVariableInternal(t,n)}else console.warn("Can't delete non-existent variable: "+e)}deleteVariableInternal(e,t){const o=i.getGroup$$module$build$src$core$events$utils();o||i.setGroup$$module$build$src$core$events$utils(!0);try{for(let n=0;ne.name)}getVariableUsesById(e){const t=[],o=this.workspace.getAllBlocks(!1);for(let n=0;n!o.isInsertionMarker())):[]}addTopComment(e){this.topComments.push(e),this.commentDB.has(e.id)&&console.warn('Overriding an existing comment on this workspace, with id "'+e.id+'"'),this.commentDB.set(e.id,e)}removeTopComment(e){if(!St(this.topComments,e))throw Error("Comment not present in workspace's list of top-most comments.");this.commentDB.delete(e.id)}getTopComments(e=!1){const t=[].concat(this.topComments);return e&&1!o.isInsertionMarker())}clear(){this.isClearing=!0;try{const e=i.getGroup$$module$build$src$core$events$utils();for(e||i.setGroup$$module$build$src$core$events$utils(!0);this.topBlocks.length;)this.topBlocks[0].dispose(!1);for(;this.topComments.length;)this.topComments[this.topComments.length-1].dispose();i.setGroup$$module$build$src$core$events$utils(e),this.variableMap.clear(),this.potentialVariableMap&&this.potentialVariableMap.clear()}finally{this.isClearing=!1}}renameVariableById(e,t){this.variableMap.renameVariableById(e,t)}createVariable(e,t,o){return this.variableMap.createVariable(e,t,o)}getVariableUsesById(e){return this.variableMap.getVariableUsesById(e)}deleteVariableById(e){this.variableMap.deleteVariableById(e)}getVariable(e,t){return this.variableMap.getVariable(e,t)}getVariableById(e){return this.variableMap.getVariableById(e)}getVariablesOfType(e){return this.variableMap.getVariablesOfType(e)}getVariableTypes(){return this.variableMap.getVariableTypes(this)}getAllVariables(){return this.variableMap.getAllVariables()}getAllVariableNames(){return this.variableMap.getAllVariableNames()}getWidth(){return 0}newBlock(e,t){throw Error("The implementation of newBlock should be monkey-patched in by blockly.ts")}newComment(e){throw Error("The implementation of newComment should be monkey-patched in by blockly.ts")}remainingCapacity(){return isNaN(this.options.maxBlocks)?1/0:this.options.maxBlocks-this.getAllBlocks(!1).length}remainingCapacityOfType(e){return this.options.maxInstances?(this.options.maxInstances[e]!==void 0?this.options.maxInstances[e]:1/0)-this.getBlocksByType(e,!1).length:1/0}isCapacityAvailable(e){if(!this.hasBlockLimits())return!0;let t=0;for(const o in e){if(e[o]>this.remainingCapacityOfType(o))return!1;t+=e[o]}return!(t>this.remainingCapacity())}hasBlockLimits(){return this.options.maxBlocks!==1/0||!!this.options.maxInstances}getUndoStack(){return this.undoStack_}getRedoStack(){return this.redoStack_}undo(e){var t=e?this.redoStack_:this.undoStack_,o=e?this.undoStack_:this.redoStack_;const n=t.pop();if(n){for(var c=[n];t.length&&n.group&&n.group===t[t.length-1].group;){const h=t.pop();h&&c.push(h)}for(t=0;tthis.MAX_UNDO&&0<=this.MAX_UNDO;)this.undoStack_.shift();for(let t=0;t!!t.getStyleName())),this.refreshToolboxSelection(),this.toolbox&&this.toolbox.refreshTheme(),this.isVisible()&&this.setVisible(!0);const e=new(V(O.THEME_CHANGE))(this.getTheme().name,this.id);z(e)}updateBlockStyles(e){for(let t=0,o;o=e[t];t++){const n=o.getStyleName();n&&o.setStyle(n)}}getInverseScreenCTM(){if(this.inverseScreenCTMDirty){const e=this.getParentSvg().getScreenCTM();e&&(this.inverseScreenCTM=e.inverse(),this.inverseScreenCTMDirty=!1)}return this.inverseScreenCTM}updateInverseScreenCTM(){this.inverseScreenCTMDirty=!0}isVisible(){return this.visible}getSvgXY(e){let t=0,o=0,n=1;(this.getCanvas().contains(e)||this.getBubbleCanvas().contains(e))&&(n=this.scale);do{const c=Pn(e);(e===this.getCanvas()||e===this.getBubbleCanvas())&&(n=1),t+=c.x*n,o+=c.y*n,e=e.parentNode}while(e&&e!==this.getParentSvg()&&e!==this.getInjectionDiv());return new G(t,o)}getCachedParentSvgSize(){const e=this.cachedParentSvgSize;return new Le(e.width,e.height)}getOriginOffsetInPixels(){return pa(this.getCanvas())}getInjectionDiv(){if(!this.injectionDiv){let e=this.svgGroup_;for(;e;){if((" "+(e.getAttribute("class")||"")+" ").includes(" injectionDiv ")){this.injectionDiv=e;break}e=e.parentNode}}return this.injectionDiv}getSvgGroup(){return this.svgGroup_}getBlockCanvas(){return this.getCanvas()}setResizeHandlerWrapper(e){this.resizeHandlerWrapper=e}createDom(e,t){return this.injectionDiv||(this.injectionDiv=t??null),this.svgGroup_=N(x.G,{class:"blocklyWorkspace"}),e&&(this.svgBackground_=N(x.RECT,{height:"100%",width:"100%",class:e},this.svgGroup_),e==="blocklyMainBackground"&&this.grid?this.svgBackground_.style.fill="url(#"+this.grid.getPatternId()+")":this.themeManager_.subscribe(this.svgBackground_,"workspaceBackgroundColour","fill")),this.layerManager=new KT(this),this.svgBlockCanvas_=this.layerManager.getBlockLayer(),this.svgBubbleCanvas_=this.layerManager.getBubbleLayer(),this.isFlyout||(X(this.svgGroup_,"pointerdown",this,this.onMouseDown,!1),this.dummyWheelListener=()=>{},document.body.addEventListener("wheel",this.dummyWheelListener),X(this.svgGroup_,"wheel",this,this.onMouseWheel)),this.options.hasCategories&&(this.toolbox=new(_(F.TOOLBOX,this.options,!0))(this)),this.grid&&this.grid.update(this.scale),this.recordDragTargets(),(e=_(F.CURSOR,this.options))&&this.markerManager.setCursor(new e),this.renderer.createDom(this.svgGroup_,this.getTheme()),this.svgGroup_}dispose(){if(this.rendered=!1,this.currentGesture_&&this.currentGesture_.cancel(),this.svgGroup_&&Ke(this.svgGroup_),this.toolbox&&(this.toolbox.dispose(),this.toolbox=null),this.flyout&&(this.flyout.dispose(),this.flyout=null),this.trashcan&&(this.trashcan.dispose(),this.trashcan=null),this.scrollbar&&(this.scrollbar.dispose(),this.scrollbar=null),this.zoomControls_&&this.zoomControls_.dispose(),this.audioManager&&this.audioManager.dispose(),this.grid&&(this.grid=null),this.renderer.dispose(),this.markerManager&&this.markerManager.dispose(),super.dispose(),this.themeManager_&&(this.themeManager_.unsubscribeWorkspace(this),this.themeManager_.unsubscribe(this.svgBackground_),this.options.parentWorkspace||this.themeManager_.dispose()),this.connectionDBList.length=0,this.toolboxCategoryCallbacks.clear(),this.flyoutButtonCallbacks.clear(),!this.options.parentWorkspace){const e=this.getParentSvg();e&&e.parentNode&&Ke(e.parentNode)}this.resizeHandlerWrapper&&(ze(this.resizeHandlerWrapper),this.resizeHandlerWrapper=null),this.dummyWheelListener&&(document.body.removeEventListener("wheel",this.dummyWheelListener),this.dummyWheelListener=null)}addTrashcan(){this.trashcan=ns.newTrashcan(this);const e=this.trashcan.createDom();this.svgGroup_.insertBefore(e,this.getCanvas())}static newTrashcan(e){throw Error("The implementation of newTrashcan should be monkey-patched in by blockly.ts")}addZoomControls(){this.zoomControls_=new Fb(this);const e=this.zoomControls_.createDom();this.svgGroup_.appendChild(e)}addFlyout(e){const t=new ds({parentWorkspace:this,rtl:this.RTL,oneBasedIndex:this.options.oneBasedIndex,horizontalLayout:this.horizontalLayout,renderer:this.options.renderer,rendererOverrides:this.options.rendererOverrides,move:{scrollbars:!0}});return t.toolboxPosition=this.options.toolboxPosition,this.flyout=this.horizontalLayout?new(_(F.FLYOUTS_HORIZONTAL_TOOLBOX,this.options,!0))(t):new(_(F.FLYOUTS_VERTICAL_TOOLBOX,this.options,!0))(t),this.flyout.autoClose=!1,this.flyout.getWorkspace().setVisible(!0),this.flyout.createDom(e)}getFlyout(e){return this.flyout||e?this.flyout:this.toolbox?this.toolbox.getFlyout():null}getToolbox(){return this.toolbox}updateScreenCalculations(){this.updateInverseScreenCTM(),this.recordDragTargets()}resizeContents(){this.resizesEnabled&&this.rendered&&(this.scrollbar&&this.scrollbar.resize(),this.updateInverseScreenCTM())}resize(){this.toolbox&&this.toolbox.position(),this.flyout&&this.flyout.position();const e=this.componentManager.getComponents(lt.Capability.POSITIONABLE,!0),t=this.getMetricsManager().getUiMetrics(),o=[];for(let n=0,c;c=e[n];n++){c.position(t,o);const h=c.getBoundingRectangle();h&&o.push(h)}this.scrollbar&&this.scrollbar.resize(),this.updateScreenCalculations()}updateScreenCalculationsIfScrolled(){const e=fu();G.equals(this.lastRecordedPageScroll,e)||(this.lastRecordedPageScroll=e,this.updateScreenCalculations())}getLayerManager(){return this.layerManager}getCanvas(){return this.layerManager.getBlockLayer()}setCachedParentSvgSize(e,t){const o=this.getParentSvg();e!=null&&(this.cachedParentSvgSize.width=e,o.setAttribute("data-cached-width",`${e}`)),t!=null&&(this.cachedParentSvgSize.height=t,o.setAttribute("data-cached-height",`${t}`))}getBubbleCanvas(){return this.layerManager.getBubbleLayer()}getParentSvg(){if(!this.cachedParentSvg){let e=this.svgGroup_;for(;e;){if(e.tagName==="svg"){this.cachedParentSvg=e;break}e=e.parentNode}}return this.cachedParentSvg}maybeFireViewportChangeEvent(){if(K()){var e=this.scale,t=-this.scrollY,o=-this.scrollX;if(!(e===this.oldScale&&1>Math.abs(t-this.oldTop)&&1>Math.abs(o-this.oldLeft))){var n=new(V(O.VIEWPORT_CHANGE))(t,o,e,this.id,this.oldScale);this.oldScale=e,this.oldTop=t,this.oldLeft=o,z(n)}}}translate(e,t){let o;(o=this.layerManager)==null||o.translateLayers(new G(e,t),this.scale);let n;(n=this.grid)==null||n.moveTo(e,t),this.maybeFireViewportChangeEvent()}getWidth(){const e=this.getMetrics();return e?e.viewWidth/this.scale:0}setVisible(e){this.visible=e,this.svgGroup_&&(this.scrollbar&&this.scrollbar.setContainerVisible(e),this.getFlyout()&&this.getFlyout().setContainerVisible(e),this.getParentSvg().style.display=e?"block":"none",this.toolbox&&this.toolbox.setVisible(e),e||this.hideChaff(!0))}render(){const e=this.getAllBlocks(!1);for(let t=e.length-1;0<=t;t--)e[t].queueRender();this.getTopBlocks().flatMap(t=>t.getDescendants(!1)).filter(t=>t.isInsertionMarker()).forEach(t=>t.queueRender()),ws().then(()=>{this.markerManager.updateMarkers()})}highlightBlock(e,t){if(t===void 0){for(let o=0,n;n=this.highlightedBlocks[o];o++)n.setHighlighted(!1);this.highlightedBlocks.length=0}(e=e?this.getBlockById(e):null)&&((t=t===void 0||t)?this.highlightedBlocks.includes(e)||this.highlightedBlocks.push(e):St(this.highlightedBlocks,e),e.setHighlighted(t))}refreshToolboxSelection(){const e=this.isFlyout?this.targetWorkspace:this;e&&!e.currentGesture_&&e.toolbox&&e.toolbox.getFlyout()&&e.toolbox.refreshSelection()}renameVariableById(e,t){super.renameVariableById(e,t),this.refreshToolboxSelection()}deleteVariableById(e){super.deleteVariableById(e),this.refreshToolboxSelection()}createVariable(e,t,o){return e=super.createVariable(e,t,o),this.refreshToolboxSelection(),e}recordDragTargets(){const e=this.componentManager.getComponents(lt.Capability.DRAG_TARGET,!0);this.dragTargetAreas=[];for(let t=0,o;o=e[t];t++){const n=o.getClientRect();n&&this.dragTargetAreas.push({component:o,clientRect:n})}}newBlock(e,t){throw Error("The implementation of newBlock should be monkey-patched in by blockly.ts")}newComment(e){throw Error("The implementation of newComment should be monkey-patched in by blockly.ts")}getDragTarget(e){for(let t=0,o;o=this.dragTargetAreas[t];t++)if(o.clientRect.contains(e.clientX,e.clientY))return o.component;return null}onMouseDown(e){const t=this.getGesture(e);t&&t.handleWsStart(e,this)}startDrag(e,t){Ba(this,e,t)}moveDrag(e){return ja(this,e)}isDragging(){return this.currentGesture_!==null&&this.currentGesture_.isDragging()}isDraggable(){return this.options.moveOptions&&this.options.moveOptions.drag}isMovable(){return this.options.moveOptions&&!!this.options.moveOptions.scrollbars||this.options.moveOptions&&this.options.moveOptions.wheel||this.options.moveOptions&&this.options.moveOptions.drag||this.options.zoomOptions&&this.options.zoomOptions.wheel||this.options.zoomOptions&&this.options.zoomOptions.pinch}isMovableHorizontally(){const e=!!this.scrollbar;return this.isMovable()&&(!e||e&&this.scrollbar.canScrollHorizontally())}isMovableVertically(){const e=!!this.scrollbar;return this.isMovable()&&(!e||e&&this.scrollbar.canScrollVertically())}onMouseWheel(e){if(co.inProgress())e.preventDefault(),e.stopPropagation();else{var t=this.options.zoomOptions&&this.options.zoomOptions.wheel,o=this.options.moveOptions&&this.options.moveOptions.wheel;if(t||o){var n=Zs(e);if(_h)var c=e.metaKey;t&&(e.ctrlKey||c||!o)?(n=-n.y/50,t=st(e,this.getParentSvg(),this.getInverseScreenCTM()),this.zoom(t.x,t.y,n)):(t=this.scrollX-n.x,o=this.scrollY-n.y,e.shiftKey&&!n.x&&(t=this.scrollX-n.y,o=this.scrollY),this.scroll(t,o)),e.preventDefault()}}}getBlocksBoundingBox(){const e=this.getTopBoundedElements();if(!e.length)return new qe(0,0,0,0);const t=e[0].getBoundingRectangle();for(let n=1;nt.bottom&&(t.bottom=o.bottom),o.leftt.right&&(t.right=o.right))}return t}cleanUp(){this.setResizesEnabled(!1),i.setGroup$$module$build$src$core$events$utils(!0);var e=this.getTopBlocks(!0),t=e.filter(h=>h.isMovable());const o=e.filter(h=>!h.isMovable()).map(h=>h.getBoundingRectangle());e=function(h){for(const $ of o)if(h.intersects($))return $;return null};var n=0;const c=this.renderer.getConstants().MIN_BLOCK_HEIGHT;for(const h of t){for(t=h.getBoundingRectangle(),h.moveBy(-t.left,n-t.top,["cleanup"]),h.snapToGrid(),t=h.getBoundingRectangle(),n=e(t);n!=null;)n=n.top+n.getHeight()+c,h.moveBy(0,n-t.top,["cleanup"]),h.snapToGrid(),t=h.getBoundingRectangle(),n=e(t);n=h.getRelativeToSurfaceXY().y+h.getHeightWidth().height+c}i.setGroup$$module$build$src$core$events$utils(!1),this.setResizesEnabled(!0)}showContextMenu(e){if(!this.options.readOnly&&!this.isFlyout){var t=xe.registry.getContextMenuOptions(xe.ScopeType.WORKSPACE,{workspace:this});this.configureContextMenu&&this.configureContextMenu(t,e),Jn(e,t,this.RTL,this)}}updateToolbox(e){if(e=ga(e)){if(!this.options.languageTree)throw Error("Existing toolbox is null. Can't create new toolbox.");if(ma(e)){if(!this.toolbox)throw Error("Existing toolbox has no categories. Can't change mode.");this.options.languageTree=e,this.toolbox.render(e)}else{if(!this.flyout)throw Error("Existing toolbox has categories. Can't change mode.");this.options.languageTree=e,this.flyout.show(e)}}else if(this.options.languageTree)throw Error("Can't nullify an existing toolbox.")}markFocused(){this.options.parentWorkspace?this.options.parentWorkspace.markFocused():(re(this),this.getParentSvg().focus({preventScroll:!0}))}zoom(e,t,o){o=Math.pow(this.options.zoomOptions.scaleSpeed,o);const n=this.scale*o;if(this.scale!==n){n>this.options.zoomOptions.maxScale?o=this.options.zoomOptions.maxScale/this.scale:nthis.options.zoomOptions.maxScale?e=this.options.zoomOptions.maxScale:this.options.zoomOptions.minScale&&et.autoHide(e))}static setTopLevelWorkspaceMetrics(e){const t=this.getMetrics();typeof e.x=="number"&&(this.scrollX=-(t.scrollLeft+(t.scrollWidth-t.viewWidth)*e.x)),typeof e.y=="number"&&(this.scrollY=-(t.scrollTop+(t.scrollHeight-t.viewHeight)*e.y)),this.translate(this.scrollX+t.absoluteLeft,this.scrollY+t.absoluteTop)}},vp=class extends Cs{constructor(e,t,o){super(o),this.type=O.SELECTED,this.oldElementId=e??void 0,this.newElementId=t??void 0}toJson(){const e=super.toJson();return e.oldElementId=this.oldElementId,e.newElementId=this.newElementId,e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new vp),t.oldElementId=e.oldElementId,t.newElementId=e.newElementId,t}};r(F.EVENT,O.SELECTED,vp);var Sr=class{paste(e,t,o){if(!t.isCapacityAvailable(e.typeCounts))return null;o&&(e.blockState.x=o.x,e.blockState.y=o.y),o=o||new G(e.blockState.x||0,e.blockState.y||0),i.disable$$module$build$src$core$events$utils();let n;try{n=eo(e.blockState,t),z$(n,o)}finally{i.enable$$module$build$src$core$events$utils()}return n&&(K()&&!n.isShadow()&&z(new(V(O.BLOCK_CREATE))(n)),i.setSelected$$module$build$src$core$common(n),n)}};Sr.TYPE="block",_a(Sr.TYPE,new Sr);var Bl={};Bl.bumpIntoBounds=zi,Bl.bumpIntoBoundsHandler=Ld,Bl.bumpTopObjectsIntoBounds=Xa;var Pv=class{constructor(e){this.block=e,this.connectionPreviewer=this.connectionCandidate=this.startLoc=this.startChildConn=this.startParentConn=null,this.dragging=!1,this.dragOffset=new G(0,0),this.inGroup=!1,this.workspace=e.workspace}isMovable(){if(this.block.isShadow()){let e,t;return(t=(e=this.block.getParent())==null?void 0:e.isMovable())!=null?t:!1}return this.block.isOwnMovable()&&!this.block.isDeadOrDying()&&!this.workspace.options.readOnly&&!this.block.isInFlyout}startDrag(e){if(this.block.isShadow())this.startDraggingShadow(e);else{this.dragging=!0,(this.inGroup=!!i.getGroup$$module$build$src$core$events$utils())||i.setGroup$$module$build$src$core$events$utils(!0),this.fireDragStartEvent(),this.startLoc=this.block.getRelativeToSurfaceXY(),this.connectionCandidate=null,this.connectionPreviewer=new(_(F.CONNECTION_PREVIEWER,this.workspace.options))(this.block),Ho(),this.workspace.setResizesEnabled(!1),ji(),e=!!e&&(e.altKey||e.ctrlKey||e.metaKey),this.shouldDisconnect(e)&&this.disconnectBlock(e),this.block.setDragging(!0);var t;(t=this.workspace.getLayerManager())==null||t.moveToDragLayer(this.block)}}startDraggingShadow(e){const t=this.block.getParent();if(!t)throw Error("Tried to drag a shadow block with no parent. Shadow blocks should always have parents.");this.dragOffset=G.difference(t.getRelativeToSurfaceXY(),this.block.getRelativeToSurfaceXY()),t.startDrag(e)}shouldDisconnect(e){return!!(this.block.getParent()||e&&this.block.nextConnection&&this.block.nextConnection.targetBlock())}disconnectBlock(e){let t,o,n;if(this.startParentConn=(n=(t=this.block.outputConnection)==null?void 0:t.targetConnection)!=null?n:(o=this.block.previousConnection)==null?void 0:o.targetConnection,e){let c;this.startChildConn=(c=this.block.nextConnection)==null?void 0:c.targetConnection}this.block.unplug(e),vd(this.block)}fireDragStartEvent(){const e=new(V(O.BLOCK_DRAG))(this.block,!0,this.block.getDescendants(!1));z(e)}fireDragEndEvent(){const e=new(V(O.BLOCK_DRAG))(this.block,!1,this.block.getDescendants(!1));z(e)}fireMoveEvent(){if(!this.block.isDeadOrDying()){var e=new(V(O.BLOCK_MOVE))(this.block);e.setReason(["drag"]),e.oldCoordinate=this.startLoc,e.recordNew(),z(e)}}drag(e){if(this.block.isShadow()){let t;(t=this.block.getParent())==null||t.drag(G.sum(e,this.dragOffset))}else this.block.moveDuringDrag(e),this.updateConnectionPreview(this.block,G.difference(e,this.startLoc))}updateConnectionPreview(e,t){var o=this.connectionCandidate;const n=this.getConnectionCandidate(e,t);if(n){this.connectionCandidate=t=o&&this.currCandidateIsBetter(o,t,n)?o:n;var{local:c,neighbour:h}=t;t=c.type===oe.OUTPUT_VALUE||c.type===oe.PREVIOUS_STATEMENT,o=h.isConnected()&&!h.targetBlock().isInsertionMarker(),t&&o&&!this.orphanCanConnectAtEnd(e,h.targetBlock(),c.type)?this.connectionPreviewer.previewReplacement(c,h,h.targetBlock()):this.connectionPreviewer.previewConnection(c,h)}else this.connectionPreviewer.hidePreview(),this.connectionCandidate=null}orphanCanConnectAtEnd(e,t,o){return!!Be.getConnectionForOrphanedConnection(e,o===oe.OUTPUT_VALUE?t.outputConnection:t.previousConnection)}currCandidateIsBetter(e,t,o){const{local:n,neighbour:c}=e;e=new G(n.x,n.y);const h=new G(c.x,c.y);return t=G.distance(G.sum(e,t),h),o.distance>t-i.config$$module$build$src$core$config.currentConnectionPreference}getConnectionCandidate(e,t){e=this.getLocalConnections(e);let o=this.connectionCandidate?i.config$$module$build$src$core$config.connectingSnapRadius:i.config$$module$build$src$core$config.snapRadius,n=null;for(const c of e){const{connection:h,radius:$}=c.closest(o,t);h&&(n={local:c,neighbour:h,distance:$},o=$)}return n}getLocalConnections(e){const t=e.getConnections_(!1),o=e.lastConnectionInStack(!0);return o&&o!==e.nextConnection&&t.push(o),t}endDrag(e){if(this.block.isShadow()){let t;(t=this.block.getParent())==null||t.endDrag(e)}else{if(this.fireDragEndEvent(),this.fireMoveEvent(),Wo(),ji(),this.connectionPreviewer.hidePreview(),!this.block.isDeadOrDying()&&this.dragging){let t;(t=this.workspace.getLayerManager())==null||t.moveOffDragLayer(this.block,Do),this.block.setDragging(!1)}this.connectionCandidate?(this.applyConnections(this.connectionCandidate),this.disposeStep()):this.block.queueRender().then(()=>this.disposeStep()),this.inGroup||i.setGroup$$module$build$src$core$events$utils(!1)}}disposeStep(){this.block.snapToGrid(),this.connectionPreviewer.dispose(),this.workspace.setResizesEnabled(!0)}applyConnections(e){const{local:t,neighbour:o}=e;t.connect(o);const n=t.isSuperior()?o:t,c=this.block.getRootBlock();ws().then(()=>{Ua(n.getSourceBlock()),setTimeout(()=>{c.bringToFront()},0)})}revertDrag(){if(this.block.isShadow()){let t;(t=this.block.getParent())==null||t.revertDrag()}else{var e;if((e=this.startChildConn)==null||e.connect(this.block.nextConnection),this.startParentConn)switch(this.startParentConn.type){case oe.INPUT_VALUE:this.startParentConn.connect(this.block.outputConnection);break;case oe.NEXT_STATEMENT:this.startParentConn.connect(this.block.previousConnection)}else{this.block.moveTo(this.startLoc,["drag"]);let t;(t=this.workspace.getLayerManager())==null||t.moveOffDragLayer(this.block,Do),zi(this.workspace,this.workspace.getMetricsManager().getScrollMetrics(!0),this.block)}this.startParentConn=this.startChildConn=null,this.connectionPreviewer.hidePreview(),this.connectionCandidate=null,this.block.setDragging(!1),this.dragging=!1}}},Bv=class{constructor(){this.drawer=this.curNode=this.colour=null,this.type="marker"}setDrawer(e){this.drawer=e}getDrawer(){return this.drawer}getCurNode(){return this.curNode}setCurNode(e){const t=this.curNode;this.curNode=e,this.drawer&&this.drawer.draw(t,this.curNode)}draw(){this.drawer&&this.drawer.draw(this.curNode,this.curNode)}hide(){this.drawer&&this.drawer.hide()}dispose(){this.getDrawer()&&this.getDrawer().dispose()}},yp=class extends Bv{constructor(){super(),this.type="cursor"}next(){var e=this.getCurNode();if(!e)return null;for(e=e.next();e&&e.next()&&(e.getType()===P.types.NEXT||e.getType()===P.types.BLOCK);)e=e.next();return e&&this.setCurNode(e),e}in(){var e=this.getCurNode();if(!e)return null;(e.getType()===P.types.PREVIOUS||e.getType()===P.types.OUTPUT)&&(e=e.next());let t,o;return(e=(o=(t=e)==null?void 0:t.in())!=null?o:null)&&this.setCurNode(e),e}prev(){var e=this.getCurNode();if(!e)return null;for(e=e.prev();e&&e.prev()&&(e.getType()===P.types.NEXT||e.getType()===P.types.BLOCK);)e=e.prev();return e&&this.setCurNode(e),e}out(){var e=this.getCurNode();return e?((e=e.out())&&e.getType()===P.types.BLOCK&&(e=e.prev()||e),e&&this.setCurNode(e),e):null}};r(F.CURSOR,js,yp);var Er=class extends yp{constructor(){super()}next(){var e=this.getCurNode();return e?((e=this.getNextNode_(e,this.validNode_))&&this.setCurNode(e),e):null}in(){return this.next()}prev(){var e=this.getCurNode();return e?((e=this.getPreviousNode_(e,this.validNode_))&&this.setCurNode(e),e):null}out(){return this.prev()}getNextNode_(e,t){if(!e)return null;const o=e.in()||e.next();return t(o)?o:o?this.getNextNode_(o,t):(e=this.findSiblingOrParent(e.out()),t(e)?e:e?this.getNextNode_(e,t):null)}getPreviousNode_(e,t){if(!e)return null;let o=e.prev();return o=o?this.getRightMostChild(o):e.out(),t(o)?o:o?this.getPreviousNode_(o,t):null}validNode_(e){let t=!1;return e=e&&e.getType(),(e===P.types.OUTPUT||e===P.types.INPUT||e===P.types.FIELD||e===P.types.NEXT||e===P.types.PREVIOUS||e===P.types.WORKSPACE)&&(t=!0),t}findSiblingOrParent(e){if(!e)return null;const t=e.next();return t||this.findSiblingOrParent(e.out())}getRightMostChild(e){if(!e.in())return e;for(e=e.in();e&&e.next();)e=e.next();return this.getRightMostChild(e)}};Er.registrationName="basicCursor",r(F.CURSOR,Er.registrationName,Er);var jv=class extends Er{validNode_(e){let t=!1;const o=e&&e.getType();return e&&(e=e.getLocation(),o===P.types.FIELD&&e&&e.isTabNavigable()&&e.isClickable()&&(t=!0)),t}},Fv=10,Ut=class extends Be{constructor(e,t){super(e,t),this.highlighted=!1,this.targetConnection=null,this.db=e.workspace.connectionDBList[t],this.dbOpposite=e.workspace.connectionDBList[gi[t]],this.offsetInBlock=new G(0,0),this.trackedState=Ut.TrackedState.WILL_TRACK}dispose(){super.dispose(),this.trackedState===Ut.TrackedState.TRACKED&&this.db.removeConnection(this,this.y);let e,t;(t=(e=this.sourceBlock_.pathObject).removeConnectionHighlight)==null||t.call(e,this)}getSourceBlock(){return super.getSourceBlock()}targetBlock(){return super.targetBlock()}distanceFrom(e){const t=this.x-e.x;return e=this.y-e.y,Math.sqrt(t*t+e*e)}bumpAwayFrom(e,t=!1){if(!this.sourceBlock_.workspace.isDragging()){var o=i.config$$module$build$src$core$config.snapRadius+Math.floor(Math.random()*Fv),n=i.config$$module$build$src$core$config.snapRadius+Math.floor(Math.random()*Fv),c=e.sourceBlock_.getRootBlock(),h=this.sourceBlock_.getRootBlock();if(!c.isInFlyout&&!h.isInFlyout){var $=!0;if(h.isMovable())c.isMovable()&&t&&(n=-n);else if(c.isMovable())$=!1,o=-o,n=-n;else return;t=$?e:this,e=$?this:e,c=$?h:c,(h=I()===c)||c.addSelect(),c.RTL&&(o=-o),c.moveBy(t.x+o-e.x,t.y+n-e.y,["bump"]),h||c.removeSelect()}}}moveTo(e,t){let o=!1;return this.trackedState===Ut.TrackedState.WILL_TRACK?(this.db.addConnection(this,t),this.trackedState=Ut.TrackedState.TRACKED,o=!0):this.trackedState===Ut.TrackedState.TRACKED&&(this.db.removeConnection(this,this.y),this.db.addConnection(this,t),o=!0),this.x=e,this.y=t,o}moveBy(e,t){return this.moveTo(this.x+e,this.y+t)}moveToOffset(e){return this.moveTo(e.x+this.offsetInBlock.x,e.y+this.offsetInBlock.y)}setOffsetInBlock(e,t){this.offsetInBlock.x=e,this.offsetInBlock.y=t}getOffsetInBlock(){return this.offsetInBlock}tightenEfficiently(){var e=this.targetConnection;const t=this.targetBlock();e&&t&&(e=G.difference(this.offsetInBlock,e.offsetInBlock),t.translate(e.x,e.y))}closest(e,t){return this.dbOpposite.searchForClosest(this,e,t)}highlight(){this.highlighted=!0,this.getSourceBlock().queueRender()}unhighlight(){this.highlighted=!1,this.getSourceBlock().queueRender()}isHighlighted(){return this.highlighted}setTracking(e){e&&this.trackedState===Ut.TrackedState.TRACKED||!e&&this.trackedState===Ut.TrackedState.UNTRACKED||this.sourceBlock_.isInFlyout||(e?(this.db.addConnection(this,this.y),this.trackedState=Ut.TrackedState.TRACKED):(this.trackedState===Ut.TrackedState.TRACKED&&this.db.removeConnection(this,this.y),this.trackedState=Ut.TrackedState.UNTRACKED))}stopTrackingAll(){if(this.setTracking(!1),this.targetConnection){const e=this.targetBlock().getDescendants(!1);for(let t=0;tclearTimeout(e)),this.warningTextDb.clear(),this.getIcons().forEach(e=>e.dispose())}checkAndDelete(){this.workspace.isFlyout||(i.setGroup$$module$build$src$core$events$utils(!0),this.workspace.hideChaff(),this.outputConnection?this.dispose(!1,!0):this.dispose(!0,!0),i.setGroup$$module$build$src$core$events$utils(!1))}toCopyData(){return this.isInsertionMarker_?null:{paster:Sr.TYPE,blockState:Qt(this,{addCoordinates:!0,addNextBlocks:!1}),typeCounts:be(this,!0)}}applyColour(){this.pathObject.applyColour(this);const e=this.getIcons();for(let t=0;t{this.isDeadOrDying()||(this.warningTextDb.delete(t),this.setWarningText(e,t))},100));else if(this.isInFlyout&&(e=null),o=this.getIcon(go.TYPE),e){let n=this.getSurroundParent(),c=null;for(;n;)n.isCollapsed()&&(c=n),n=n.getSurroundParent();c&&c.setWarningText(i.Msg$$module$build$src$core$msg.COLLAPSED_WARNINGS_WARNING,gs.COLLAPSED_WARNING_ID),o?o.addMessage(e,t):this.addIcon(new go(this).addMessage(e,t))}else o&&(t?(o.addMessage("",t),o.getText()||this.removeIcon(go.TYPE)):this.removeIcon(go.TYPE))}setMutator(e){this.removeIcon(i.MutatorIcon$$module$build$src$core$icons$mutator_icon.TYPE),e&&this.addIcon(e)}addIcon(e){return super.addIcon(e),e instanceof i.MutatorIcon$$module$build$src$core$icons$mutator_icon&&(this.mutator=e),e.initView(this.createIconPointerDownListener(e)),e.applyColour(),e.updateEditable(),this.queueRender(),e}createIconPointerDownListener(e){return t=>{this.isDeadOrDying()||(t=this.workspace.getGesture(t))&&t.setStartIcon(e)}}removeIcon(e){const t=super.removeIcon(e);return e.equals(i.MutatorIcon$$module$build$src$core$icons$mutator_icon.TYPE)&&(this.mutator=null),this.queueRender(),t}setEnabled(e){y("setEnabled","v11","v12","the setDisabledReason method of BlockSvg");const t=this.isEnabled();super.setEnabled(e),this.isEnabled()===t||this.getInheritedDisabled()||this.updateDisabled()}setDisabledReason(e,t){const o=this.isEnabled();super.setDisabledReason(e,t),this.isEnabled()===o||this.getInheritedDisabled()||this.updateDisabled()}setHighlighted(e){this.pathObject.updateHighlighted(e)}addSelect(){this.pathObject.updateSelected(!0)}removeSelect(){this.pathObject.updateSelected(!1)}setDeleteStyle(e){this.pathObject.updateDraggingDelete(e)}getColour(){return this.style.colourPrimary}setColour(e){super.setColour(e),e=this.workspace.getRenderer().getConstants().getBlockStyleForColour(this.colour_),this.pathObject.setStyle(e.style),this.style=e.style,this.styleName_=e.name,this.applyColour()}setStyle(e){const t=this.workspace.getRenderer().getConstants().getBlockStyle(e);if(this.styleName_=e,t)this.hat=t.hat,this.pathObject.setStyle(t),this.colour_=t.colourPrimary,this.style=t,this.applyColour();else throw Error("Invalid style name: "+e)}getStyle(){return this.style}bringToFront(e=!1){let t=this;if(!t.isDeadOrDying())do{const o=t.getSvgRoot(),n=o.parentNode,c=n.childNodes;if(c[c.length-1]!==o&&n.appendChild(o),e)break;t=t.getParent()}while(t)}setPreviousStatement(e,t){super.setPreviousStatement(e,t),this.queueRender()}setNextStatement(e,t){super.setNextStatement(e,t),this.queueRender()}setOutput(e,t){super.setOutput(e,t),this.queueRender()}setInputsInline(e){super.setInputsInline(e),this.queueRender()}removeInput(e,t){return e=super.removeInput(e,t),this.queueRender(),e}moveNumberedInputBefore(e,t){super.moveNumberedInputBefore(e,t),this.queueRender()}appendInput(e){return super.appendInput(e),this.queueRender(),e}setConnectionTracking(e){if(this.previousConnection&&this.previousConnection.setTracking(e),this.outputConnection&&this.outputConnection.setTracking(e),this.nextConnection){this.nextConnection.setTracking(e);var t=this.nextConnection.targetBlock();t&&t.setConnectionTracking(e)}if(!this.collapsed_)for(t=0;t=this.workspace.options.maxTrashcanContents||(e=new ds({scrollbars:!0,parentWorkspace:this.workspace,rtl:this.workspace.RTL,oneBasedIndex:this.workspace.options.oneBasedIndex,renderer:this.workspace.options.renderer,rendererOverrides:this.workspace.options.rendererOverrides,move:{scrollbars:!0}}),this.workspace.horizontalLayout?(e.toolboxPosition=this.workspace.toolboxPosition===Ee.TOP?Ee.BOTTOM:Ee.TOP,this.flyout=new(_(F.FLYOUTS_HORIZONTAL_TOOLBOX,this.workspace.options,!0))(e)):(e.toolboxPosition=this.workspace.toolboxPosition===Ee.RIGHT?Ee.LEFT:Ee.RIGHT,this.flyout=new(_(F.FLYOUTS_VERTICAL_TOOLBOX,this.workspace.options,!0))(e)),this.workspace.addChangeListener(this.onDelete.bind(this)))}createDom(){this.svgGroup=N(x.G,{class:"blocklyTrash"});let e;const t=String(Math.random()).substring(2);e=N(x.CLIPPATH,{id:"blocklyTrashBodyClipPath"+t},this.svgGroup),N(x.RECT,{width:an,height:Fl,y:ln},e);const o=N(x.IMAGE,{width:jt.width,x:-wp,height:jt.height,y:-Cp,"clip-path":"url(#blocklyTrashBodyClipPath"+t+")"},this.svgGroup);return o.setAttributeNS(es,"xlink:href",this.workspace.options.pathToMedia+jt.url),e=N(x.CLIPPATH,{id:"blocklyTrashLidClipPath"+t},this.svgGroup),N(x.RECT,{width:an,height:ln},e),this.svgLid=N(x.IMAGE,{width:jt.width,x:-wp,height:jt.height,y:-Cp,"clip-path":"url(#blocklyTrashLidClipPath"+t+")"},this.svgGroup),this.svgLid.setAttributeNS(es,"xlink:href",this.workspace.options.pathToMedia+jt.url),ct(this.svgGroup,"pointerdown",this,this.blockMouseDownWhenOpenable),ct(this.svgGroup,"pointerup",this,this.click),ct(o,"pointerover",this,this.mouseOver),ct(o,"pointerout",this,this.mouseOut),this.animateLid(),this.svgGroup}init(){0{let o;(o=this.flyout)==null||o.show(e),t.cursor="";let n;(n=this.workspace.scrollbar)==null||n.setVisible(!1)},10),this.fireUiEvent(!0)}}closeFlyout(){if(this.contentsIsOpen()){var e;(e=this.flyout)==null||e.hide();var t;(t=this.workspace.scrollbar)==null||t.setVisible(!0),this.fireUiEvent(!1),this.workspace.recordDragTargets()}}autoHide(e){!e&&this.flyout&&this.closeFlyout()}emptyContents(){this.hasContents()&&(this.contents.length=0,this.setMinOpenness(0),this.closeFlyout())}position(e,t){if(this.initialized){var o=va(this.workspace,e);e=ba(o,new Le(an,Fl+ln),ok,Hv,e,this.workspace),t=ya(e,Hv,o.vertical===lo.TOP?Io.DOWN:Io.UP,t),this.top=t.top,this.left=t.left;var n;(n=this.svgGroup)==null||n.setAttribute("transform","translate("+this.left+","+this.top+")");var c;(c=this.flyout)==null||c.position()}}getBoundingRectangle(){return new qe(this.top,this.top+Fl+ln,this.left,this.left+an)}getClientRect(){if(!this.svgGroup)return null;var e=this.svgGroup.getBoundingClientRect();const t=e.top+Cp-zl;return e=e.left+wp-zl,new qe(t,t+ln+Fl+2*zl,e,e+an+2*zl)}onDragOver(e){this.setLidOpen(this.wouldDelete_)}onDragExit(e){this.setLidOpen(!1)}onDrop(e){setTimeout(this.setLidOpen.bind(this,!1),100)}setLidOpen(e){this.isLidOpen!==e&&(this.lidTask&&clearTimeout(this.lidTask),this.isLidOpen=e,this.animateLid())}animateLid(){const e=rk;var t=1/(e+1);this.lidOpen+=this.isLidOpen?t:-t,this.lidOpen=Math.min(Math.max(this.lidOpen,this.minOpenness),1),this.setLidAngle(this.lidOpen*Gv),t=Wv+this.lidOpen*(ak-Wv),this.svgGroup&&(this.svgGroup.style.opacity=`${t}`),this.lidOpen>this.minOpenness&&1>this.lidOpen&&(this.lidTask=setTimeout(this.animateLid.bind(this),nk/e))}setLidAngle(e){const t=this.workspace.toolboxPosition===Ee.RIGHT||this.workspace.horizontalLayout&&this.workspace.RTL;let o;(o=this.svgLid)==null||o.setAttribute("transform","rotate("+(t?-e:e)+","+(t?4:an-4)+","+(ln-2)+")")}setMinOpenness(e){this.minOpenness=e,this.isLidOpen||this.setLidAngle(e*Gv)}closeLid(){this.setLidOpen(!1)}click(){this.hasContents()&&!this.workspace.isDragging()&&this.openFlyout()}fireUiEvent(e){e=new(V(O.TRASHCAN_OPEN))(e,this.workspace.id),z(e)}blockMouseDownWhenOpenable(e){!this.contentsIsOpen()&&this.hasContents()&&e.stopPropagation()}mouseOver(){this.hasContents()&&this.setLidOpen(!0)}mouseOut(){this.setLidOpen(!1)}onDelete(e){if(!(0>=this.workspace.options.maxTrashcanContents||!E(e)||e.wasShadow)){if(!e.oldJson)throw Error("Encountered a delete event without proper oldJson");if(e=JSON.stringify(this.cleanBlockJson(e.oldJson)),!this.contents.includes(e)){for(this.contents.unshift(e);this.contents.length>this.workspace.options.maxTrashcanContents;)this.contents.pop();this.setMinOpenness(ik)}}}cleanBlockJson(e){function t(o){if(o){if(delete o.id,delete o.x,delete o.y,delete o.enabled,delete o.disabledReasons,o.icons&&o.icons.comment){var n=o.icons.comment;delete n.height,delete n.width,delete n.pinned}n=o.inputs;for(var c in n){var h=n[c];const $=h.block;h=h.shadow,$&&t($),h&&t(h)}o.next&&(c=o.next,o=c.block,c=c.shadow,o&&t(o),c&&t(c))}}return e=JSON.parse(JSON.stringify(e)),t(e),Object.assign({},{kind:"BLOCK"},e)}},an=47,Fl=44,ln=16,Hv=20,ok=20,zl=10,wp=0,Cp=32,ik=.1,nk=80,rk=4,Wv=.4,ak=.8,Gv=45,He=class{constructor(){this.shortcuts=new Map,this.keyMap=new Map,this.reset()}reset(){this.shortcuts.clear(),this.keyMap.clear()}register(e,t){if(this.shortcuts.get(e.name)&&!t)throw Error(`Shortcut named "${e.name}" already exists.`);if(this.shortcuts.set(e.name,e),t=e.keyCodes,t!=null&&t.length)for(const o of t)this.addKeyMapping(o,e.name,!!e.allowCollision)}unregister(e){return this.shortcuts.get(e)?(this.removeAllKeyMappings(e),this.shortcuts.delete(e),!0):(console.warn(`Keyboard shortcut named "${e}" not found.`),!1)}addKeyMapping(e,t,o){e=`${e}`;const n=this.keyMap.get(e);if(n&&!o)throw Error(`Shortcut named "${t}" collides with shortcuts "${n}"`);n&&o?n.unshift(t):this.keyMap.set(e,[t])}removeKeyMapping(e,t,o){const n=this.keyMap.get(e);if(!n)return o||console.warn(`No keyboard shortcut named "${t}" registered with key code "${e}"`),!1;const c=n.indexOf(t);return-1Vd(t)),e.length?e:null}load(e,t){const o=t.getProcedureMap();for(const n of e)o.add(Kd(this.procedureModelClass,this.parameterModelClass,n,t))}clear(e){e.getProcedureMap().clear()}},Ul={};Ul.ProcedureSerializer=ck,Ul.loadProcedure=Kd,Ul.saveProcedure=Vd;var Vv=class{constructor(){this.priority=zb}save(e){const t=[];for(const o of e.getAllVariables())e={name:o.name,id:o.getId()},o.type&&(e.type=o.type),t.push(e);return t.length?t:null}load(e,t){for(const o of e)t.createVariable(o.name,o.type,o.id)}clear(e){e.getVariableMap().clear()}};jn("variables",new Vv);var Kv={};Kv.VariableSerializer=Vv;var Sp={};Sp.load=Y$,Sp.save=K$;var uk={blocks:gr,exceptions:ii,priorities:jT,procedures:Ul,registry:Ih,variables:Kv,workspaceComments:cl,workspaces:Sp},Ep=class{constructor(e,t,o,n,c){this.workspace=e,this.oldHostMetrics=this.corner_=this.vScroll=this.hScroll=null,t=t===void 0?!0:t,o=o===void 0?!0:o;const h=t&&o;t&&(this.hScroll=new mt(e,!0,h,n,c)),o&&(this.vScroll=new mt(e,!1,h,n,c)),h&&(this.corner_=N(x.RECT,{height:mt.scrollbarThickness,width:mt.scrollbarThickness,class:"blocklyScrollbarBackground"}),Uo(this.corner_,e.getBubbleCanvas()))}dispose(){Ke(this.corner_),this.oldHostMetrics=this.corner_=null,this.hScroll&&(this.hScroll.dispose(),this.hScroll=null),this.vScroll&&(this.vScroll.dispose(),this.vScroll=null)}resize(){const e=this.workspace.getMetrics();if(e){var t=!1,o=!1;if(this.oldHostMetrics&&this.oldHostMetrics.viewWidth===e.viewWidth&&this.oldHostMetrics.viewHeight===e.viewHeight&&this.oldHostMetrics.absoluteTop===e.absoluteTop&&this.oldHostMetrics.absoluteLeft===e.absoluteLeft?(this.oldHostMetrics&&this.oldHostMetrics.scrollWidth===e.scrollWidth&&this.oldHostMetrics.viewLeft===e.viewLeft&&this.oldHostMetrics.scrollLeft===e.scrollLeft||(t=!0),this.oldHostMetrics&&this.oldHostMetrics.scrollHeight===e.scrollHeight&&this.oldHostMetrics.viewTop===e.viewTop&&this.oldHostMetrics.scrollTop===e.scrollTop||(o=!0)):o=t=!0,t||o){try{i.disable$$module$build$src$core$events$utils(),this.hScroll&&t&&this.hScroll.resize(e),this.vScroll&&o&&this.vScroll.resize(e)}finally{i.enable$$module$build$src$core$events$utils()}this.workspace.maybeFireViewportChangeEvent()}if(this.hScroll&&this.vScroll){if(!this.oldHostMetrics||this.oldHostMetrics.viewWidth!==e.viewWidth||this.oldHostMetrics.absoluteLeft!==e.absoluteLeft){let n;(n=this.corner_)==null||n.setAttribute("x",String(this.vScroll.position.x))}if(!this.oldHostMetrics||this.oldHostMetrics.viewHeight!==e.viewHeight||this.oldHostMetrics.absoluteTop!==e.absoluteTop){let n;(n=this.corner_)==null||n.setAttribute("y",String(this.hScroll.position.y))}}this.oldHostMetrics=e}}canScrollHorizontally(){return!!this.hScroll}canScrollVertically(){return!!this.vScroll}setOrigin(e,t){this.hScroll&&this.hScroll.setOrigin(e,t),this.vScroll&&this.vScroll.setOrigin(e,t)}set(e,t,o){this.hScroll&&this.hScroll.set(e,!1),this.vScroll&&this.vScroll.set(t,!1),(o||o===void 0)&&(e={},this.hScroll&&(e.x=this.hScroll.getRatio_()),this.vScroll&&(e.y=this.vScroll.getRatio_()),this.workspace.setMetrics(e))}setX(e){this.hScroll&&this.hScroll.set(e,!0)}setY(e){this.vScroll&&this.vScroll.set(e,!0)}setContainerVisible(e){this.hScroll&&this.hScroll.setContainerVisible(e),this.vScroll&&this.vScroll.setContainerVisible(e)}isVisible(){let e=!1;return this.hScroll&&(e=this.hScroll.isVisible()),this.vScroll&&(e=e||this.vScroll.isVisible()),e}setVisible(e){this.hScroll&&this.hScroll.setVisibleInternal(e),this.vScroll&&this.vScroll.setVisibleInternal(e)}resizeContent(e){this.hScroll&&this.hScroll.resizeContentHorizontal(e),this.vScroll&&this.vScroll.resizeContentVertical(e)}resizeView(e){this.hScroll&&this.hScroll.resizeViewHorizontal(e),this.vScroll&&this.vScroll.resizeViewVertical(e)}},Ip=class{constructor(e){this.workspace_=e}getDimensionsPx_(e){let t=0,o=0;return e&&(t=e.getWidth(),o=e.getHeight()),new Le(t,o)}getFlyoutMetrics(e){return e=this.getDimensionsPx_(this.workspace_.getFlyout(e)),{width:e.width,height:e.height,position:this.workspace_.toolboxPosition}}getToolboxMetrics(){const e=this.getDimensionsPx_(this.workspace_.getToolbox());return{width:e.width,height:e.height,position:this.workspace_.toolboxPosition}}getSvgMetrics(){return this.workspace_.getCachedParentSvgSize()}getAbsoluteMetrics(){let e=0,t=0;const o=this.getToolboxMetrics(),n=this.getFlyoutMetrics(),c=!!this.workspace_.getToolbox();var h;const $=!((h=this.workspace_.getFlyout())!=null&&h.autoClose);h=c?o.position:n.position;const T=h===Ee.TOP;return h===Ee.LEFT&&(c&&(e+=o.width),$&&(e+=n.width)),T&&(c&&(t+=o.height),$&&(t+=n.height)),{top:t,left:e}}getViewMetrics(e){e=e?this.workspace_.scale:1;const t=this.getSvgMetrics(),o=this.getToolboxMetrics(),n=this.getFlyoutMetrics(),c=!!this.workspace_.getToolbox();var h;const $=!((h=this.workspace_.getFlyout())!=null&&h.autoClose);h=c?o.position:n.position;const T=h===Ee.LEFT||h===Ee.RIGHT;return(h===Ee.TOP||h===Ee.BOTTOM)&&(c&&(t.height-=o.height),$&&(t.height-=n.height)),T&&(c&&(t.width-=o.width),$&&(t.width-=n.width)),{height:t.height/e,width:t.width/e,top:-this.workspace_.scrollY/e,left:-this.workspace_.scrollX/e}}getContentMetrics(e){e=e?1:this.workspace_.scale;const t=this.workspace_.getBlocksBoundingBox();return{height:(t.bottom-t.top)*e,width:(t.right-t.left)*e,top:t.top*e,left:t.left*e}}hasFixedEdges(){return!this.workspace_.isMovableHorizontally()||!this.workspace_.isMovableVertically()}getComputedFixedEdges_(e){if(!this.hasFixedEdges())return{};const t=this.workspace_.isMovableHorizontally(),o=this.workspace_.isMovableVertically();e=e||this.getViewMetrics(!1);const n={};return o||(n.top=e.top,n.bottom=e.top+e.height),t||(n.left=e.left,n.right=e.left+e.width),n}getPaddedContent_(e,t){const o=t.top+t.height,n=t.left+t.width,c=e.width;e=e.height;const h=c/2,$=e/2;return{top:Math.min(t.top-$,o-e),bottom:Math.max(o+$,t.top+e),left:Math.min(t.left-h,n-c),right:Math.max(n+h,t.left+c)}}getScrollMetrics(e,t,o){e=e?this.workspace_.scale:1,t=t||this.getViewMetrics(!1);var n=o||this.getContentMetrics();o=this.getComputedFixedEdges_(t),t=this.getPaddedContent_(t,n),n=o.top!==void 0?o.top:t.top;const c=o.left!==void 0?o.left:t.left;return{top:n/e,left:c/e,width:((o.right!==void 0?o.right:t.right)-c)/e,height:((o.bottom!==void 0?o.bottom:t.bottom)-n)/e}}getUiMetrics(){return{viewMetrics:this.getViewMetrics(),absoluteMetrics:this.getAbsoluteMetrics(),toolboxMetrics:this.getToolboxMetrics()}}getMetrics(){const e=this.getToolboxMetrics(),t=this.getFlyoutMetrics(!0),o=this.getSvgMetrics(),n=this.getAbsoluteMetrics(),c=this.getViewMetrics(),h=this.getContentMetrics(),$=this.getScrollMetrics(!1,c,h);return{contentHeight:h.height,contentWidth:h.width,contentTop:h.top,contentLeft:h.left,scrollHeight:$.height,scrollWidth:$.width,scrollTop:$.top,scrollLeft:$.left,viewHeight:c.height,viewWidth:c.width,viewTop:c.top,viewLeft:c.left,absoluteTop:n.top,absoluteLeft:n.left,svgHeight:o.height,svgWidth:o.width,toolboxWidth:e.width,toolboxHeight:e.height,toolboxPosition:e.position,flyoutWidth:t.width,flyoutHeight:t.height}}};r(F.METRICS_MANAGER,js,Ip),"Blockly"in globalThis||(globalThis.Blockly={Msg:Xb});var Yv=class extends Ml{constructor(){super(),this.GRID_UNIT=4,this.CURSOR_COLOUR="#ffa200",this.CURSOR_RADIUS=5,this.JAGGED_TEETH_WIDTH=this.JAGGED_TEETH_HEIGHT=0,this.START_HAT_HEIGHT=22,this.START_HAT_WIDTH=96,this.SHAPES={HEXAGONAL:1,ROUND:2,SQUARE:3,PUZZLE:4,NOTCH:5},this.SHAPE_IN_SHAPE_PADDING={1:{0:5*this.GRID_UNIT,1:2*this.GRID_UNIT,2:5*this.GRID_UNIT,3:5*this.GRID_UNIT},2:{0:3*this.GRID_UNIT,1:3*this.GRID_UNIT,2:1*this.GRID_UNIT,3:2*this.GRID_UNIT},3:{0:2*this.GRID_UNIT,1:2*this.GRID_UNIT,2:2*this.GRID_UNIT,3:2*this.GRID_UNIT}},this.FULL_BLOCK_FIELDS=!0,this.FIELD_TEXT_FONTWEIGHT="bold",this.FIELD_TEXT_FONTFAMILY='"Helvetica Neue", "Segoe UI", Helvetica, sans-serif',this.FIELD_COLOUR_FULL_BLOCK=this.FIELD_TEXTINPUT_BOX_SHADOW=this.FIELD_DROPDOWN_SVG_ARROW=this.FIELD_DROPDOWN_COLOURED_DIV=this.FIELD_DROPDOWN_NO_BORDER_RECT_SHADOW=!0,this.SELECTED_GLOW_COLOUR="#fff200",this.SELECTED_GLOW_SIZE=.5,this.REPLACEMENT_GLOW_COLOUR="#fff200",this.REPLACEMENT_GLOW_SIZE=2,this.selectedGlowFilterId="",this.selectedGlowFilter=null,this.replacementGlowFilterId="",this.SQUARED=this.ROUNDED=this.HEXAGONAL=this.replacementGlowFilter=null,this.SMALL_PADDING=this.GRID_UNIT,this.MEDIUM_PADDING=2*this.GRID_UNIT,this.MEDIUM_LARGE_PADDING=3*this.GRID_UNIT,this.LARGE_PADDING=4*this.GRID_UNIT,this.CORNER_RADIUS=1*this.GRID_UNIT,this.NOTCH_WIDTH=9*this.GRID_UNIT,this.NOTCH_HEIGHT=2*this.GRID_UNIT,this.STATEMENT_INPUT_NOTCH_OFFSET=this.NOTCH_OFFSET_LEFT=3*this.GRID_UNIT,this.MIN_BLOCK_WIDTH=2*this.GRID_UNIT,this.MIN_BLOCK_HEIGHT=12*this.GRID_UNIT,this.EMPTY_STATEMENT_INPUT_HEIGHT=6*this.GRID_UNIT,this.TOP_ROW_MIN_HEIGHT=this.CORNER_RADIUS,this.TOP_ROW_PRECEDES_STATEMENT_MIN_HEIGHT=this.LARGE_PADDING,this.BOTTOM_ROW_MIN_HEIGHT=this.CORNER_RADIUS,this.BOTTOM_ROW_AFTER_STATEMENT_MIN_HEIGHT=6*this.GRID_UNIT,this.STATEMENT_BOTTOM_SPACER=-this.NOTCH_HEIGHT,this.STATEMENT_INPUT_SPACER_MIN_WIDTH=40*this.GRID_UNIT,this.STATEMENT_INPUT_PADDING_LEFT=4*this.GRID_UNIT,this.EMPTY_INLINE_INPUT_PADDING=4*this.GRID_UNIT,this.EMPTY_INLINE_INPUT_HEIGHT=8*this.GRID_UNIT,this.DUMMY_INPUT_MIN_HEIGHT=8*this.GRID_UNIT,this.DUMMY_INPUT_SHADOW_MIN_HEIGHT=6*this.GRID_UNIT,this.CURSOR_WS_WIDTH=20*this.GRID_UNIT,this.FIELD_TEXT_FONTSIZE=3*this.GRID_UNIT,this.FIELD_BORDER_RECT_RADIUS=this.CORNER_RADIUS,this.FIELD_BORDER_RECT_X_PADDING=2*this.GRID_UNIT,this.FIELD_BORDER_RECT_Y_PADDING=1.625*this.GRID_UNIT,this.FIELD_BORDER_RECT_HEIGHT=8*this.GRID_UNIT,this.FIELD_DROPDOWN_BORDER_RECT_HEIGHT=8*this.GRID_UNIT,this.FIELD_DROPDOWN_SVG_ARROW_PADDING=this.FIELD_BORDER_RECT_X_PADDING,this.FIELD_COLOUR_DEFAULT_WIDTH=6*this.GRID_UNIT,this.FIELD_COLOUR_DEFAULT_HEIGHT=8*this.GRID_UNIT,this.FIELD_CHECKBOX_X_OFFSET=1*this.GRID_UNIT,this.MAX_DYNAMIC_CONNECTION_SHAPE_WIDTH=12*this.GRID_UNIT}setFontConstants_(e){super.setFontConstants_(e),this.FIELD_DROPDOWN_BORDER_RECT_HEIGHT=this.FIELD_BORDER_RECT_HEIGHT=this.FIELD_TEXT_HEIGHT+2*this.FIELD_BORDER_RECT_Y_PADDING}init(){super.init(),this.HEXAGONAL=this.makeHexagonal(),this.ROUNDED=this.makeRounded(),this.SQUARED=this.makeSquared(),this.STATEMENT_INPUT_NOTCH_OFFSET=this.NOTCH_OFFSET_LEFT+this.INSIDE_CORNERS.rightWidth}setDynamicProperties_(e){super.setDynamicProperties_(e),this.SELECTED_GLOW_COLOUR=e.getComponentStyle("selectedGlowColour")||this.SELECTED_GLOW_COLOUR;const t=Number(e.getComponentStyle("selectedGlowSize"));this.SELECTED_GLOW_SIZE=t&&!isNaN(t)?t:this.SELECTED_GLOW_SIZE,this.REPLACEMENT_GLOW_COLOUR=e.getComponentStyle("replacementGlowColour")||this.REPLACEMENT_GLOW_COLOUR,this.REPLACEMENT_GLOW_SIZE=(e=Number(e.getComponentStyle("replacementGlowSize")))&&!isNaN(e)?e:this.REPLACEMENT_GLOW_SIZE}dispose(){super.dispose(),this.selectedGlowFilter&&Ke(this.selectedGlowFilter),this.replacementGlowFilter&&Ke(this.replacementGlowFilter)}makeStartHat(){const e=this.START_HAT_HEIGHT,t=this.START_HAT_WIDTH,o=Yt("c",[ue(25,-e),ue(71,-e),ue(t,0)]);return{height:e,width:t,path:o}}makeHexagonal(){function e(o,n,c){var h=o/2;return h=h>t?t:h,c=c?-1:1,o=(n?-1:1)*o/2,Bs(-c*h,o)+Bs(c*h,o)}const t=this.MAX_DYNAMIC_CONNECTION_SHAPE_WIDTH;return{type:this.SHAPES.HEXAGONAL,isDynamic:!0,width(o){return o/=2,o>t?t:o},height(o){return o},connectionOffsetY(o){return o/2},connectionOffsetX(o){return-o},pathDown(o){return e(o,!1,!1)},pathUp(o){return e(o,!0,!1)},pathRightDown(o){return e(o,!1,!0)},pathRightUp(o){return e(o,!1,!0)}}}makeRounded(){function e(n,c,h){const $=n>o?n-o:0;n=(n>o?o:n)/2;const T=h===c?"0":"1";return gt("a","0 0,"+T,n,ue((h?1:-1)*n,(c?-1:1)*n))+ne("v",(c?-1:1)*$)+gt("a","0 0,"+T,n,ue((h?-1:1)*n,(c?-1:1)*n))}const t=this.MAX_DYNAMIC_CONNECTION_SHAPE_WIDTH,o=2*t;return{type:this.SHAPES.ROUND,isDynamic:!0,width(n){return n/=2,n>t?t:n},height(n){return n},connectionOffsetY(n){return n/2},connectionOffsetX(n){return-n},pathDown(n){return e(n,!1,!1)},pathUp(n){return e(n,!0,!1)},pathRightDown(n){return e(n,!1,!0)},pathRightUp(n){return e(n,!1,!0)}}}makeSquared(){function e(o,n,c){o-=2*t;const h=c===n?"0":"1";return gt("a","0 0,"+h,t,ue((c?1:-1)*t,(n?-1:1)*t))+ne("v",(n?-1:1)*o)+gt("a","0 0,"+h,t,ue((c?-1:1)*t,(n?-1:1)*t))}const t=this.CORNER_RADIUS;return{type:this.SHAPES.SQUARE,isDynamic:!0,width(o){return t},height(o){return o},connectionOffsetY(o){return o/2},connectionOffsetX(o){return-o},pathDown(o){return e(o,!1,!1)},pathUp(o){return e(o,!0,!1)},pathRightDown(o){return e(o,!1,!0)},pathRightUp(o){return e(o,!1,!0)}}}shapeFor(e){let t=e.getCheck();switch(!t&&e.targetConnection&&(t=e.targetConnection.getCheck()),e.type){case oe.INPUT_VALUE:case oe.OUTPUT_VALUE:if(e=e.getSourceBlock().getOutputShape(),e!==null)switch(e){case this.SHAPES.HEXAGONAL:return this.HEXAGONAL;case this.SHAPES.ROUND:return this.ROUNDED;case this.SHAPES.SQUARE:return this.SQUARED}return t&&t.includes("Boolean")?this.HEXAGONAL:t&&t.includes("Number")?this.ROUNDED:(t&&t.includes("String"),this.ROUNDED);case oe.PREVIOUS_STATEMENT:case oe.NEXT_STATEMENT:return this.NOTCH;default:throw Error("Unknown type")}}makeNotch(){function e(te){return Yt("c",[ue(te*c/2,0),ue(te*c*3/4,$/2),ue(te*c,$)])+Fi([ue(te*c,h)])+Yt("c",[ue(te*c/4,$/2),ue(te*c/2,$),ue(te*c,$)])+ne("h",te*n)+Yt("c",[ue(te*c/2,0),ue(te*c*3/4,-($/2)),ue(te*c,-$)])+Fi([ue(te*c,-h)])+Yt("c",[ue(te*c/4,-($/2)),ue(te*c/2,-$),ue(te*c,-$)])}const t=this.NOTCH_WIDTH,o=this.NOTCH_HEIGHT,n=t/3,c=n/3,h=o/2,$=h/2,T=e(1),L=e(-1);return{type:this.SHAPES.NOTCH,width:t,height:o,pathLeft:T,pathRight:L}}makeInsideCorners(){const e=this.CORNER_RADIUS,t=gt("a","0 0,0",e,ue(-e,e)),o=gt("a","0 0,1",e,ue(-e,e)),n=gt("a","0 0,0",e,ue(e,e)),c=gt("a","0 0,1",e,ue(e,e));return{width:e,height:e,pathTop:t,pathBottom:n,rightWidth:e,rightHeight:e,pathTopRight:o,pathBottomRight:c}}generateSecondaryColour_(e){return Ko("#000",e,.15)||e}generateTertiaryColour_(e){return Ko("#000",e,.25)||e}createDom(e,t,o){super.createDom(e,t,o),e=N(x.DEFS,{},e),t=N(x.FILTER,{id:"blocklySelectedGlowFilter"+this.randomIdentifier,height:"160%",width:"180%",y:"-30%",x:"-40%"},e),N(x.FEGAUSSIANBLUR,{in:"SourceGraphic",stdDeviation:this.SELECTED_GLOW_SIZE},t),o=N(x.FECOMPONENTTRANSFER,{result:"outBlur"},t),N(x.FEFUNCA,{type:"table",tableValues:"0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1"},o),N(x.FEFLOOD,{"flood-color":this.SELECTED_GLOW_COLOUR,"flood-opacity":1,result:"outColor"},t),N(x.FECOMPOSITE,{in:"outColor",in2:"outBlur",operator:"in",result:"outGlow"},t),this.selectedGlowFilterId=t.id,this.selectedGlowFilter=t,e=N(x.FILTER,{id:"blocklyReplacementGlowFilter"+this.randomIdentifier,height:"160%",width:"180%",y:"-30%",x:"-40%"},e),N(x.FEGAUSSIANBLUR,{in:"SourceGraphic",stdDeviation:this.REPLACEMENT_GLOW_SIZE},e),t=N(x.FECOMPONENTTRANSFER,{result:"outBlur"},e),N(x.FEFUNCA,{type:"table",tableValues:"0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1"},t),N(x.FEFLOOD,{"flood-color":this.REPLACEMENT_GLOW_COLOUR,"flood-opacity":1,result:"outColor"},e),N(x.FECOMPOSITE,{in:"outColor",in2:"outBlur",operator:"in",result:"outGlow"},e),N(x.FECOMPOSITE,{in:"SourceGraphic",in2:"outGlow",operator:"over"},e),this.replacementGlowFilterId=e.id,this.replacementGlowFilter=e}getCSS_(e){return[`${e} .blocklyText,`,`${e} .blocklyFlyoutLabelText {`,`font: ${this.FIELD_TEXT_FONTWEIGHT} ${this.FIELD_TEXT_FONTSIZE}pt ${this.FIELD_TEXT_FONTFAMILY};`,"}",`${e} .blocklyTextInputBubble textarea {`,"font-weight: normal;","}",`${e} .blocklyText {`,"fill: #fff;","}",`${e} .blocklyNonEditableText>rect:not(.blocklyDropdownRect),`,`${e} .blocklyEditableText>rect:not(.blocklyDropdownRect) {`,`fill: ${this.FIELD_BORDER_RECT_COLOUR};`,"}",`${e} .blocklyNonEditableText>text,`,`${e} .blocklyEditableText>text,`,`${e} .blocklyNonEditableText>g>text,`,`${e} .blocklyEditableText>g>text {`,"fill: #575E75;","}",`${e} .blocklyFlyoutLabelText {`,"fill: #575E75;","}",`${e} .blocklyText.blocklyBubbleText {`,"fill: #575E75;","}",`${e} .blocklyDraggable:not(.blocklyDisabled)`," .blocklyEditableText:not(.editing):hover>rect,",`${e} .blocklyDraggable:not(.blocklyDisabled)`," .blocklyEditableText:not(.editing):hover>.blocklyPath {","stroke: #fff;","stroke-width: 2;","}",`${e} .blocklyHtmlInput {`,`font-family: ${this.FIELD_TEXT_FONTFAMILY};`,`font-weight: ${this.FIELD_TEXT_FONTWEIGHT};`,"color: #575E75;","}",`${e} .blocklyDropdownText {`,"fill: #fff !important;","}",`${e}.blocklyWidgetDiv .blocklyMenuItem,`,`${e}.blocklyDropDownDiv .blocklyMenuItem {`,`font-family: ${this.FIELD_TEXT_FONTFAMILY};`,"}",`${e}.blocklyDropDownDiv .blocklyMenuItemContent {`,"color: #fff;","}",`${e} .blocklyHighlightedConnectionPath {`,`stroke: ${this.SELECTED_GLOW_COLOUR};`,"}",`${e} .blocklyDisabled > .blocklyOutlinePath {`,`fill: url(#blocklyDisabledPattern${this.randomIdentifier})`,"}",`${e} .blocklyInsertionMarker>.blocklyPath {`,`fill-opacity: ${this.INSERTION_MARKER_OPACITY};`,"stroke: none;","}"]}},Jv=class extends Nl{constructor(e,t){super(e,t)}draw(){const e=this.block_.pathObject;e.beginDrawing(),this.drawOutline_(),this.drawInternals_(),this.updateConnectionHighlights(),e.setPath(this.outlinePath_+` +`+this.inlinePath_),this.info_.RTL&&e.flipRTL(),this.recordSizeOnBlock_(),this.info_.outputConnection&&(e.outputShapeType=this.info_.outputConnection.shape.type),e.endDrawing()}drawOutline_(){this.info_.outputConnection&&this.info_.outputConnection.isDynamicShape&&!this.info_.hasStatementInput&&!this.info_.bottomRow.hasNextConnection?(this.drawFlatTop_(),this.drawRightDynamicConnection_(),this.drawFlatBottom_(),this.drawLeftDynamicConnection_()):super.drawOutline_()}drawLeft_(){this.info_.outputConnection&&this.info_.outputConnection.isDynamicShape?this.drawLeftDynamicConnection_():super.drawLeft_()}drawRightSideRow_(e){if(!(0>=e.height)){if(S.isSpacer(e)){const n=e.precedesStatement;var t=e.followsStatement;if(n||t){const c=this.constants_.INSIDE_CORNERS;var o=c.rightHeight;o=e.height-(n?o:0),t=t?c.pathBottomRight:"",e=0=o||0>=t)throw Error("Height and width values of an image field must be greater than 0.");this.size_=new Le(t,o+mi.Y_PADDING),this.imageHeight=o,typeof c=="function"&&(this.clickHandler=c),e!==Qe.SKIP_SETUP&&($?this.configure_($):(this.flipRtl=!!h,this.altText=pt(n)||""),this.setValue(pt(e)))}configure_(e){super.configure_(e),e.flipRtl&&(this.flipRtl=e.flipRtl),e.alt&&(this.altText=pt(e.alt))}initView(){this.imageElement=N(x.IMAGE,{height:this.imageHeight+"px",width:this.size_.width+"px",alt:this.altText},this.fieldGroup_),this.imageElement.setAttributeNS(es,"xlink:href",this.value_),this.clickHandler&&(this.imageElement.style.cursor="pointer")}updateSize_(){}doClassValidation_(e){return typeof e!="string"?null:e}doValueUpdate_(e){this.value_=e,this.imageElement&&this.imageElement.setAttributeNS(es,"xlink:href",this.value_)}getFlipRtl(){return this.flipRtl}setAlt(e){e!==this.altText&&(this.altText=e||"",this.imageElement&&this.imageElement.setAttribute("alt",this.altText))}showEditor_(){this.clickHandler&&this.clickHandler(this)}setOnClickHandler(e){this.clickHandler=e}getText_(){return this.altText}static fromJson(e){if(!e.src||!e.width||!e.height)throw Error("src, width, and height values for an image field arerequired. The width and height must be non-zero.");return new this(e.src,e.width,e.height,void 0,void 0,void 0,e)}};mi.Y_PADDING=1,Ps("field_image",mi),mi.prototype.DEFAULT_VALUE="";var Hl=class extends Qe{constructor(e,t,o){super(Qe.SKIP_SETUP),this.spellcheck_=!0,this.htmlInput_=null,this.isTextValid_=this.isBeingEdited_=!1,this.onKeyInputWrapper=this.onKeyDownWrapper=this.valueWhenEditorWasOpened_=null,this.fullBlockClickTarget_=!1,this.workspace_=null,this.SERIALIZABLE=!0,this.CURSOR="text",e!==Qe.SKIP_SETUP&&(o&&this.configure_(o),this.setValue(e),t&&this.setValidator(t))}configure_(e){super.configure_(e),e.spellcheck!==void 0&&(this.spellcheck_=e.spellcheck)}initView(){if(!this.getSourceBlock())throw new ft;super.initView(),this.isFullBlockField()&&(this.clickTarget_=this.sourceBlock_.getSvgRoot())}isFullBlockField(){const e=this.getSourceBlock();if(!e)throw new ft;let t;return this.fullBlockClickTarget_=!((t=this.getConstants())==null||!t.FULL_BLOCK_FIELDS)&&e.isSimpleReporter()}doValueInvalid_(e,t=!0){this.isBeingEdited_&&(this.isDirty_=!0,this.isTextValid_=!1,e=this.value_,this.value_=this.valueWhenEditorWasOpened_,this.sourceBlock_&&K()&&this.value_!==e&&t&&z(new(V(O.BLOCK_CHANGE))(this.sourceBlock_,"field",this.name||null,e,this.value_)))}doValueUpdate_(e){this.isTextValid_=this.isDirty_=!0,this.value_=e}applyColour(){const e=this.getSourceBlock();if(!e)throw new ft;this.getConstants().FULL_BLOCK_FIELDS&&this.fieldGroup_&&(!this.isFullBlockField()&&this.borderRect_?(this.borderRect_.style.display="block",this.borderRect_.setAttribute("stroke",e.getColourTertiary())):(this.borderRect_.style.display="none",e.pathObject.svgPath.setAttribute("fill",this.getConstants().FIELD_BORDER_RECT_COLOUR)))}getSize(){let e;return(e=this.getConstants())!=null&&e.FULL_BLOCK_FIELDS&&(this.render_(),this.isDirty_=!1),super.getSize()}onLocationChange(){this.isBeingEdited_&&this.resizeEditor_()}render_(){if(super.render_(),this.isBeingEdited_){var e=this.htmlInput_;this.isTextValid_?(ot(e,"blocklyInvalidInput"),It(e,Ct.INVALID,!1)):(ge(e,"blocklyInvalidInput"),It(e,Ct.INVALID,!0))}if(e=this.getSourceBlock(),!e)throw new ft;this.getConstants().FULL_BLOCK_FIELDS&&e.applyColour()}setSpellcheck(e){e!==this.spellcheck_&&(this.spellcheck_=e,this.htmlInput_&&this.htmlInput_.setAttribute("spellcheck",this.spellcheck_))}showEditor_(e,t=!1){this.workspace_=this.sourceBlock_.workspace,!t&&this.workspace_.options.modalInputs&&(Db||yh||nl)?this.showPromptEditor():this.showInlineEditor(t)}showPromptEditor(){Ta(i.Msg$$module$build$src$core$msg.CHANGE_VALUE_TITLE,this.getText(),e=>{e!==null&&this.setValue(this.getValueFromEditorText_(e)),this.onFinishEditing_(this.value_)})}showInlineEditor(e){const t=this.getSourceBlock();if(!t)throw new ft;Pa(this,t.RTL,this.widgetDispose_.bind(this),this.workspace_),this.htmlInput_=this.widgetCreate_(),this.isBeingEdited_=!0,this.valueWhenEditorWasOpened_=this.value_,e||(this.htmlInput_.focus({preventScroll:!0}),this.htmlInput_.select())}widgetCreate_(){var e=this.getSourceBlock();if(!e)throw new ft;i.setGroup$$module$build$src$core$events$utils(!0);const t=Yo();var o=this.getClickTarget_();if(!o)throw Error("A click target has not been set.");ge(o,"editing"),o=document.createElement("input"),o.className="blocklyHtmlInput",o.setAttribute("spellcheck",this.spellcheck_);const n=this.workspace_.getScale();var c=this.getConstants().FIELD_TEXT_FONTSIZE*n+"pt";return t.style.fontSize=c,o.style.fontSize=c,c=Hl.BORDERRADIUS*n+"px",this.isFullBlockField()&&(c=this.getScaledBBox(),c=(c.bottom-c.top)/2+"px",e=e.getParent()?e.getParent().getColourTertiary():this.sourceBlock_.getColourTertiary(),o.style.border=1*n+"px solid "+e,t.style.borderRadius=c,t.style.transition="box-shadow 0.25s ease 0s",this.getConstants().FIELD_TEXTINPUT_BOX_SHADOW&&(t.style.boxShadow="rgba(255, 255, 255, 0.3) 0 0 0 "+4*n+"px")),o.style.borderRadius=c,t.appendChild(o),o.value=o.defaultValue=this.getEditorText_(this.value_),o.setAttribute("data-untyped-default-value",String(this.value_)),this.resizeEditor_(),this.bindInputEvents_(o),o}widgetDispose_(){this.isBeingEdited_=!1,this.isTextValid_=!0,this.forceRerender(),this.onFinishEditing_(this.value_),this.sourceBlock_&&K()&&this.valueWhenEditorWasOpened_!==null&&this.valueWhenEditorWasOpened_!==this.value_&&(z(new(V(O.BLOCK_CHANGE))(this.sourceBlock_,"field",this.name||null,this.valueWhenEditorWasOpened_,this.value_)),this.valueWhenEditorWasOpened_=null),i.setGroup$$module$build$src$core$events$utils(!1),this.unbindInputEvents_();var e=Yo().style;if(e.width="auto",e.height="auto",e.fontSize="",e.transition="",e.boxShadow="",this.htmlInput_=null,e=this.getClickTarget_(),!e)throw Error("A click target has not been set.");ot(e,"editing")}onFinishEditing_(e){}bindInputEvents_(e){this.onKeyDownWrapper=X(e,"keydown",this,this.onHtmlInputKeyDown_),this.onKeyInputWrapper=X(e,"input",this,this.onHtmlInputChange)}unbindInputEvents_(){this.onKeyDownWrapper&&(ze(this.onKeyDownWrapper),this.onKeyDownWrapper=null),this.onKeyInputWrapper&&(ze(this.onKeyInputWrapper),this.onKeyInputWrapper=null)}onHtmlInputKeyDown_(e){e.key==="Enter"?(Jo(this),Ns()):e.key==="Escape"?(this.setValue(this.htmlInput_.getAttribute("data-untyped-default-value"),!1),Jo(this),Ns()):e.key==="Tab"&&(Jo(this),Ns(),this.sourceBlock_.tab(this,!e.shiftKey),e.preventDefault())}onHtmlInputChange(e){e=this.value_,this.setValue(this.getValueFromEditorText_(this.htmlInput_.value),!1),this.sourceBlock_&&K()&&this.value_!==e&&z(new(V(O.BLOCK_FIELD_INTERMEDIATE_CHANGE))(this.sourceBlock_,this.name||null,e,this.value_))}setEditorValue_(e,t=!0){this.isDirty_=!0,this.isBeingEdited_&&(this.htmlInput_.value=this.getEditorText_(e)),this.setValue(e,t)}resizeEditor_(){ws().then(()=>{const e=this.getSourceBlock();if(!e)throw new ft;const t=Yo(),o=this.getScaledBBox();t.style.width=o.right-o.left+"px",t.style.height=o.bottom-o.top+"px";const n=o.top;t.style.left=`${e.RTL?o.right-t.offsetWidth:o.left}px`,t.style.top=`${n}px`})}repositionForWindowResize(){let e;const t=(e=this.getSourceBlock())==null?void 0:e.getRootBlock();return t instanceof gs?(zi(this.workspace_,this.workspace_.getMetricsManager().getViewMetrics(!0),t)||this.resizeEditor_(),!0):!1}isTabNavigable(){return!0}getText_(){return this.isBeingEdited_&&this.htmlInput_?this.htmlInput_.value:null}getEditorText_(e){return`${e}`}getValueFromEditorText_(e){return e}};Hl.BORDERRADIUS=4;var Wl=class extends Hl{constructor(e,t,o){super(e,t,o)}doClassValidation_(e){return e===void 0?null:`${e}`}static fromJson(e){return new this(pt(e.text),void 0,e)}};Ps("field_input",Wl),Wl.prototype.DEFAULT_VALUE="";var qv=class extends ip{constructor(e){super(e)}endsWithElemSpacer(){return!1}hasLeftSquareCorner(e){return!!e.outputConnection}hasRightSquareCorner(e){return!!e.outputConnection&&!e.statementInputCount&&!e.nextConnection}},Gl=class extends wr{constructor(e,t){if(super(e,t),this.connectedBottomNextConnection=!1,this.connectedBlock){for(e=this.connectedBlock;t=e.getNextBlock();)e=t;e.nextConnection||(this.height=this.connectedBlockHeight,this.connectedBottomNextConnection=!0)}}},Xv=class extends zs{constructor(e){super(e),this.width=this.height=0,this.type|=S.getType("RIGHT_CONNECTION")}},Zv=class extends cp{constructor(e){super(e)}endsWithElemSpacer(){return!1}hasLeftSquareCorner(e){const t=(e.hat?e.hat==="cap":this.constants_.ADD_START_HATS)&&!e.outputConnection&&!e.previousConnection;return!!e.outputConnection||t}hasRightSquareCorner(e){return!!e.outputConnection&&!e.statementInputCount&&!e.nextConnection}},Qv=class extends kr{constructor(e,t){super(e,t),this.isInline=!0,this.renderer_=e,this.constants_=this.renderer_.getConstants(),this.topRow=new Zv(this.constants_),this.bottomRow=new qv(this.constants_),this.isMultiRow=!t.getInputsInline()||t.isCollapsed(),this.hasStatementInput=0=this.rows.length-1?!!this.bottomRow.hasNextConnection:!!n.precedesStatement,S.isInputRow(h)&&h.hasStatement){h.measure();let $,T;t=h.width-((T=($=h.getLastInput())==null?void 0:$.width)!=null?T:0)+e}else if(o&&(c===2||n)&&S.isInputRow(h)&&!h.hasStatement){n=h.xPos,o=null;for(let $=0;$o?o:this.height/2,t-o*(1-Math.sin(Math.acos((o-this.constants_.SMALL_PADDING)/o)))):0;if(S.isInlineInput(e)&&e instanceof Ro){const c=e.connectedBlock;return e=c?c.pathObject.outputShapeType:e.shape.type,e==null||c&&c.outputConnection&&(c.statementInputCount||c.nextConnection)||o===n.SHAPES.HEXAGONAL&&o!==e?0:t-this.constants_.SHAPE_IN_SHAPE_PADDING[o][e]}return S.isField(e)&&e instanceof on?o===n.SHAPES.ROUND&&e.field instanceof Wl?t-2.75*n.GRID_UNIT:t-this.constants_.SHAPE_IN_SHAPE_PADDING[o][0]:S.isIcon(e)?this.constants_.SMALL_PADDING:0}finalizeVerticalAlignment_(){if(!this.outputConnection)for(let n=2;n=this.rows.length-1?!!this.bottomRow.hasNextConnection:!!$.precedesStatement;if(e?this.topRow.hasPreviousConnection:c.followsStatement){var o=h.elements[1];if(o=h.elements.length===3&&o instanceof on&&(o.field instanceof hi||o.field instanceof mi),!e&&o)c.height-=this.constants_.SMALL_PADDING,$.height-=this.constants_.SMALL_PADDING,h.height-=this.constants_.MEDIUM_PADDING;else if(!e&&!t)c.height+=this.constants_.SMALL_PADDING;else if(t){for(e=!1,t=0;t{if(!n.isDeadOrDying()){i.disable$$module$build$src$core$events$utils();try{n==null||n.positionNearConnection(c,h,$),n==null||n.getSvgRoot().setAttribute("visibility","visible")}finally{i.enable$$module$build$src$core$events$utils()}}}),c}createInsertionMarker(e){const t=Qt(e,{addCoordinates:!1,addInputBlocks:!1,addNextBlocks:!1,doFullSerialization:!1});if(!t)throw Error(`Failed to serialize source block. ${e.toDevString()}`);e=eo(t,this.workspace);for(const o of e.getDescendants(!1))o.setInsertionMarker(!0);return e.initSvg(),e.getSvgRoot().setAttribute("visibility","hidden"),e}getMatchingConnection(e,t,o){if(e=e.getConnections_(!0),t=t.getConnections_(!0),e.length!==t.length)return null;for(let n=0;n{this.targetWorkspace.isDragging()||t.addSelect()})),this.listeners.push(ct(e,"pointerleave",t,()=>{this.targetWorkspace.isDragging()||t.removeSelect()})),this.listeners.push(ct(o,"pointerenter",t,()=>{this.targetWorkspace.isDragging()||t.addSelect()})),this.listeners.push(ct(o,"pointerleave",t,()=>{this.targetWorkspace.isDragging()||t.removeSelect()}))}blockMouseDown(e){return t=>{const o=this.targetWorkspace.getGesture(t);o&&(o.setStartBlock(e),o.handleFlyoutStart(t,this))}}onMouseDown(e){const t=this.targetWorkspace.getGesture(e);t&&t.handleFlyoutStart(e,this)}isBlockCreatable(e){return e.isEnabled()}createBlock(e){let t=null;i.disable$$module$build$src$core$events$utils();var o=this.targetWorkspace.getAllVariables();this.targetWorkspace.setResizesEnabled(!1);try{t=this.placeNewBlock(e)}finally{i.enable$$module$build$src$core$events$utils()}if(this.targetWorkspace.hideChaff(),e=Hn(this.targetWorkspace,o),K()){for(i.setGroup$$module$build$src$core$events$utils(!0),o=0;o-t||e<-180+t||e>180-t}getClientRect(){if(!this.svgGroup_||this.autoClose||!this.isVisible())return null;const e=this.svgGroup_.getBoundingClientRect(),t=e.left;return this.toolboxPosition_===Ee.LEFT?new qe(-1e9,1e9,-1e9,t+e.width):new qe(-1e9,1e9,t,1e9)}reflowInternal_(){this.workspace_.scale=this.getFlyoutScale();let e=0;var t=this.workspace_.getTopBlocks(!1);for(let n=0,c;c=t[n];n++){var o=c.getHeightWidth().width;c.outputConnection&&(o-=this.tabWidth_),e=Math.max(e,o)}for(let n=0,c;c=this.buttons_[n];n++)e=Math.max(e,c.width);if(e+=1.5*this.MARGIN+this.tabWidth_,e*=this.workspace_.scale,e+=mt.scrollbarThickness,this.width_!==e){for(let n=0,c;c=t[n];n++){if(this.RTL){o=c.getRelativeToSurfaceXY().x;let h=e/this.workspace_.scale-this.MARGIN;c.outputConnection||(h-=this.tabWidth_),c.moveBy(h-o,0)}this.rectMap_.has(c)&&this.moveRectToBlock_(this.rectMap_.get(c),c)}if(this.RTL)for(let n=0,c;c=this.buttons_[n];n++)t=c.getPosition().y,c.moveTo(e/this.workspace_.scale-c.width-this.MARGIN-this.tabWidth_,t);this.targetWorkspace.scrollbar||this.autoClose||this.targetWorkspace.getFlyout()!==this||this.toolboxPosition_!==Ee.LEFT||this.targetWorkspace.translate(this.targetWorkspace.scrollX+e,this.targetWorkspace.scrollY),this.width_=e,this.position(),this.targetWorkspace.resizeContents(),this.targetWorkspace.recordDragTargets()}}};Dp.registryName="verticalFlyout",r(F.FLYOUTS_VERTICAL_TOOLBOX,js,Dp);var ry=class extends Gl{constructor(e){super(e),this.horizontalLayout=!0}setMetrics_(e){if(this.isVisible()){var t=this.workspace_.getMetricsManager(),o=t.getScrollMetrics(),n=t.getViewMetrics();t=t.getAbsoluteMetrics(),typeof e.x=="number"&&(this.workspace_.scrollX=-(o.left+(o.width-n.width)*e.x)),this.workspace_.translate(this.workspace_.scrollX+t.left,this.workspace_.scrollY+t.top)}}getX(){return 0}getY(){if(!this.isVisible())return 0;var e=this.targetWorkspace.getMetricsManager();const t=e.getAbsoluteMetrics(),o=e.getViewMetrics();e=e.getToolboxMetrics();const n=this.toolboxPosition_===Ee.TOP;return this.targetWorkspace.toolboxPosition===this.toolboxPosition_?this.targetWorkspace.getToolbox()?n?e.height:o.height-this.height_:n?0:o.height:n?0:o.height+t.top-this.height_}position(){if(this.isVisible()&&this.targetWorkspace.isVisible()){var e=this.targetWorkspace.getMetricsManager().getViewMetrics();this.width_=e.width,this.setBackgroundPath(e.width-2*this.CORNER_RADIUS,this.height_-this.CORNER_RADIUS),e=this.getX();var t=this.getY();this.positionAt_(this.width_,this.height_,e,t)}}setBackgroundPath(e,t){const o=this.toolboxPosition_===Ee.TOP,n=["M 0,"+(o?0:this.CORNER_RADIUS)];o?(n.push("h",e+2*this.CORNER_RADIUS),n.push("v",t),n.push("a",this.CORNER_RADIUS,this.CORNER_RADIUS,0,0,1,-this.CORNER_RADIUS,this.CORNER_RADIUS),n.push("h",-e),n.push("a",this.CORNER_RADIUS,this.CORNER_RADIUS,0,0,1,-this.CORNER_RADIUS,-this.CORNER_RADIUS)):(n.push("a",this.CORNER_RADIUS,this.CORNER_RADIUS,0,0,1,this.CORNER_RADIUS,-this.CORNER_RADIUS),n.push("h",e),n.push("a",this.CORNER_RADIUS,this.CORNER_RADIUS,0,0,1,this.CORNER_RADIUS,this.CORNER_RADIUS),n.push("v",t),n.push("h",-e-2*this.CORNER_RADIUS)),n.push("z"),this.svgBackground_.setAttribute("d",n.join(" "))}scrollToStart(){let e;(e=this.workspace_.scrollbar)==null||e.setX(this.RTL?1/0:0)}wheel_(e){var t=Zs(e);if(t=t.x||t.y){const o=this.workspace_.getMetricsManager(),n=o.getScrollMetrics();t=o.getViewMetrics().left-n.left+t;let c;(c=this.workspace_.scrollbar)==null||c.setX(t),Yn(this.workspace_),Ns()}e.preventDefault(),e.stopPropagation()}layout_(e,t){this.workspace_.scale=this.targetWorkspace.scale;const o=this.MARGIN;let n=o+this.tabWidth_;this.RTL&&(e=e.reverse());for(let T=0,L;L=e[T];T++)if(L.type==="block"){var c=L.block;if(c==null)continue;var h=c.getDescendants(!1);for(let nt=0,it;it=h[nt];nt++)it.isInFlyout=!0;h=c.getSvgRoot();const te=c.getHeightWidth();var $=c.outputConnection?this.tabWidth_:0;$=this.RTL?n+te.width:n-$,c.moveBy($,o),$=this.createRect_(c,$,o,te,T),n+=te.width+t[T],this.addBlockListeners_(h,c,$)}else L.type==="button"&&(c=L.button,this.initFlyoutButton_(c,n,o),n+=c.width+t[T])}isDragTowardWorkspace(e){e=Math.atan2(e.y,e.x)/Math.PI*180;const t=this.dragAngleRange_;return e<90+t&&e>90-t||e>-90-t&&e<-90+t}getClientRect(){if(!this.svgGroup_||this.autoClose||!this.isVisible())return null;const e=this.svgGroup_.getBoundingClientRect(),t=e.top;return this.toolboxPosition_===Ee.TOP?new qe(-1e9,t+e.height,-1e9,1e9):new qe(t,1e9,-1e9,1e9)}reflowInternal_(){this.workspace_.scale=this.getFlyoutScale();let e=0;const t=this.workspace_.getTopBlocks(!1);for(let n=0,c;c=t[n];n++)e=Math.max(e,c.getHeightWidth().height);const o=this.buttons_;for(let n=0,c;c=o[n];n++)e=Math.max(e,c.height);if(e+=1.5*this.MARGIN,e*=this.workspace_.scale,e+=mt.scrollbarThickness,this.height_!==e){for(let n=0,c;c=t[n];n++)this.rectMap_.has(c)&&this.moveRectToBlock_(this.rectMap_.get(c),c);this.targetWorkspace.scrollbar||this.autoClose||this.targetWorkspace.getFlyout()!==this||this.toolboxPosition_!==Ee.TOP||this.targetWorkspace.translate(this.targetWorkspace.scrollX,this.targetWorkspace.scrollY+e),this.height_=e,this.position(),this.targetWorkspace.resizeContents(),this.targetWorkspace.recordDragTargets()}}};r(F.FLYOUTS_HORIZONTAL_TOOLBOX,js,ry);var xr=class extends qt{constructor(e,t,o,n,c){super(Qe.SKIP_SETUP),this.defaultType="",this.variableTypes=[],this.variable=null,this.SERIALIZABLE=!0,this.menuGenerator_=xr.dropdownCreate,this.defaultVariableName=typeof e=="string"?e:"",this.size_=new Le(0,0),e!==Qe.SKIP_SETUP&&(c?this.configure_(c):this.setTypes(o,n),t&&this.setValidator(t))}configure_(e){super.configure_(e),this.setTypes(e.variableTypes,e.defaultType)}initModel(){var e=this.getSourceBlock();if(!e)throw new ft;this.variable||(e=i.getOrCreateVariablePackage$$module$build$src$core$variables(e.workspace,null,this.defaultVariableName,this.defaultType),this.doValueUpdate_(e.getId()))}shouldAddBorderRect_(){const e=this.getSourceBlock();if(!e)throw new ft;return super.shouldAddBorderRect_()&&(!this.getConstants().FIELD_DROPDOWN_NO_BORDER_RECT_SHADOW||e.type!=="variables_get")}fromXml(e){var t=this.getSourceBlock();if(!t)throw new ft;const o=e.getAttribute("id"),n=e.textContent,c=e.getAttribute("variabletype")||e.getAttribute("variableType")||"";if(t=i.getOrCreateVariablePackage$$module$build$src$core$variables(t.workspace,o,n,c),c!==null&&c!==t.type)throw Error("Serialized variable type with id '"+t.getId()+"' had type "+t.type+", and does not match variable field that references it: "+Ls(e)+".");this.setValue(t.getId())}toXml(e){return this.initModel(),e.id=this.variable.getId(),e.textContent=this.variable.name,this.variable.type&&e.setAttribute("variabletype",this.variable.type),e}saveState(e){var t=this.saveLegacyState(xr);return t!==null||(this.initModel(),t={id:this.variable.getId()},e&&(t.name=this.variable.name,t.type=this.variable.type)),t}loadState(e){const t=this.getSourceBlock();if(!t)throw new ft;this.loadLegacyState(xr,e)||(e=i.getOrCreateVariablePackage$$module$build$src$core$variables(t.workspace,e.id||null,e.name,e.type||""),this.setValue(e.getId()))}setSourceBlock(e){if(e.isShadow())throw Error("Variable fields are not allowed to exist on shadow blocks.");super.setSourceBlock(e)}getValue(){return this.variable?this.variable.getId():null}getText(){return this.variable?this.variable.name:""}getVariable(){return this.variable}getValidator(){return this.variable?this.validator_:null}doClassValidation_(e){if(e===null)return null;var t=this.getSourceBlock();if(!t)throw new ft;return t=i.getVariable$$module$build$src$core$variables(t.workspace,e),t?(t=t.type,this.typeIsAllowed(t)?e:(console.warn("Variable type doesn't match this field! Type was "+t),null)):(console.warn("Variable id doesn't point to a real variable! ID was "+e),null)}doValueUpdate_(e){const t=this.getSourceBlock();if(!t)throw new ft;this.variable=i.getVariable$$module$build$src$core$variables(t.workspace,e),super.doValueUpdate_(e)}typeIsAllowed(e){const t=this.getVariableTypes();if(!t)return!0;for(let o=0;othis.max_&&(e.max=`${this.max_}`,It(e,Ct.VALUEMAX,this.max_)),e}static fromJson(e){return new this(e.value,void 0,void 0,void 0,void 0,e)}};Ps("field_number",Ap),Ap.prototype.DEFAULT_VALUE=0;var ay=class extends hi{constructor(e,t,o){super(String(e??""),t,o),this.EDITABLE=!1,this.SERIALIZABLE=!0}static fromJson(e){return new this(pt(e.text),void 0,e)}};Ps("field_label_serializable",ay);var fi=class extends Qe{constructor(e,t,o){super(Qe.SKIP_SETUP),this.SERIALIZABLE=!0,this.CURSOR="default",this.value_=this.value_,this.checkChar=fi.CHECK_CHAR,e!==Qe.SKIP_SETUP&&(o&&this.configure_(o),this.setValue(e),t&&this.setValidator(t))}configure_(e){super.configure_(e),e.checkCharacter&&(this.checkChar=e.checkCharacter)}saveState(){const e=this.saveLegacyState(fi);return e!==null?e:this.getValueBoolean()}initView(){super.initView();const e=this.getTextElement();ge(e,"blocklyCheckbox"),e.style.display=this.value_?"block":"none"}render_(){this.textContent_&&(this.textContent_.nodeValue=this.getDisplayText_()),this.updateSize_(this.getConstants().FIELD_CHECKBOX_X_OFFSET)}getDisplayText_(){return this.checkChar}setCheckCharacter(e){this.checkChar=e||fi.CHECK_CHAR,this.forceRerender()}showEditor_(){this.setValue(!this.value_)}doClassValidation_(e){return e===!0||e==="TRUE"?"TRUE":e===!1||e==="FALSE"?"FALSE":null}doValueUpdate_(e){this.value_=this.convertValueToBool(e),this.textElement_&&(this.textElement_.style.display=this.value_?"block":"none")}getValue(){return this.value_?"TRUE":"FALSE"}getValueBoolean(){return this.value_}getText(){return String(this.convertValueToBool(this.value_))}convertValueToBool(e){return typeof e=="string"?e==="TRUE":!!e}static fromJson(e){return new this(e.checked,void 0,e)}};fi.CHECK_CHAR="✓",Ps("field_checkbox",fi),fi.prototype.DEFAULT_VALUE=!1;var ly=class{constructor(e,t){this.draggable=e,this.workspace=t,this.dragTarget=null,this.startLoc=e.getRelativeToSurfaceXY()}onDragStart(e){this.draggable.startDrag(e)}onDrag(e,t){this.moveDraggable(e,t),t=this.getRoot(this.draggable),ls(t)&&t.setDeleteStyle(this.wouldDeleteDraggable(e,t)),this.updateDragTarget(e)}updateDragTarget(e){e=this.workspace.getDragTarget(e);const t=this.getRoot(this.draggable);if(this.dragTarget!==e){let o;(o=this.dragTarget)==null||o.onDragExit(t),e==null||e.onDragEnter(t)}e==null||e.onDragOver(t),this.dragTarget=e}moveDraggable(e,t){t=this.pixelsToWorkspaceUnits(t),t=V.sum(this.startLoc,t),this.draggable.drag(t,e)}wouldDeleteDraggable(e,t){return(e=this.workspace.getDragTarget(e))&&this.workspace.getComponentManager().hasCapability(e.id,lt.Capability.DELETE_AREA)?e.wouldDelete(t):!1}onDragEnd(e){const t=i.getGroup$$module$build$src$core$events$utils();var o=this.workspace.getDragTarget(e);const n=this.getRoot(this.draggable);if(o){let c;(c=this.dragTarget)==null||c.onDrop(n)}this.shouldReturnToStart(e,n)&&this.draggable.revertDrag(),(o=ls(n)&&this.wouldDeleteDraggable(e,n))&&this.draggable instanceof gs&&za(this.draggable.getRootBlock()),this.draggable.endDrag(e),o&&ls(n)&&(e=i.getGroup$$module$build$src$core$events$utils(),i.setGroup$$module$build$src$core$events$utils(t),n.dispose(),i.setGroup$$module$build$src$core$events$utils(e))}getRoot(e){return e instanceof gs?e.getRootBlock():e}shouldReturnToStart(e,t){return(e=this.workspace.getDragTarget(e))?e.shouldPreventMove(t):!1}pixelsToWorkspaceUnits(e){return e=new V(e.x/this.workspace.scale,e.y/this.workspace.scale),this.workspace.isMutator&&e.scale(1/this.workspace.options.parentWorkspace.scale),e}};r(F.BLOCK_DRAGGER,js,ly);var Dr={};Dr.BlockDragStrategy=Pv,Dr.BubbleDragStrategy=vv,Dr.CommentDragStrategy=pv,Dr.Dragger=ly;var Rp=class extends Cs{constructor(e,t,o){super(e?e.workspace.id:void 0),this.type=O.BLOCK_DRAG,e&&(this.blockId=e.id,this.isStart=t,this.blocks=o)}toJson(){const e=super.toJson();if(this.isStart===void 0)throw Error("Whether this event is the start of a drag is undefined. Either pass the value to the constructor, or call fromJson");if(this.blockId===void 0)throw Error("The block ID is undefined. Either pass a block to the constructor, or call fromJson");return e.isStart=this.isStart,e.blockId=this.blockId,e.blocks=this.blocks,e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new Rp),t.isStart=e.isStart,t.blockId=e.blockId,t.blocks=e.blocks,t}};r(F.EVENT,O.BLOCK_DRAG,Rp);var Op=class extends ni{constructor(e,t,o,n){super(e),this.type=O.BLOCK_FIELD_INTERMEDIATE_CHANGE,this.recordUndo=!1,e&&(this.name=t,this.oldValue=o,this.newValue=n)}toJson(){const e=super.toJson();if(!this.name)throw Error("The changed field name is undefined. Either pass a name to the constructor, or call fromJson.");return e.name=this.name,e.oldValue=this.oldValue,e.newValue=this.newValue,e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new Op),t.name=e.name,t.oldValue=e.oldValue,t.newValue=e.newValue,t}isNull(){return this.oldValue===this.newValue}run(e){var t=this.getEventWorkspace_();if(!this.blockId)throw Error("The block ID is undefined. Either pass a block to the constructor, or call fromJson");if(t=t.getBlockById(this.blockId),!t)throw Error("The associated block is undefined. Either pass a block to the constructor, or call fromJson");e=e?this.newValue:this.oldValue,(t=t.getField(this.name))?t.setValue(e):console.warn("Can't set non-existent field: "+this.name)}};r(F.EVENT,O.BLOCK_FIELD_INTERMEDIATE_CHANGE,Op);var Mp=class extends ni{constructor(e){super(e),this.type=O.BLOCK_MOVE,e&&(e.isShadow()&&(this.recordUndo=!1),e=this.currentLocation(),this.oldParentId=e.parentId,this.oldInputName=e.inputName,this.oldCoordinate=e.coordinate)}toJson(){const e=super.toJson();return e.oldParentId=this.oldParentId,e.oldInputName=this.oldInputName,this.oldCoordinate&&(e.oldCoordinate=`${Math.round(this.oldCoordinate.x)}, ${Math.round(this.oldCoordinate.y)}`),e.newParentId=this.newParentId,e.newInputName=this.newInputName,this.newCoordinate&&(e.newCoordinate=`${Math.round(this.newCoordinate.x)}, ${Math.round(this.newCoordinate.y)}`),this.reason&&(e.reason=this.reason),this.recordUndo||(e.recordUndo=this.recordUndo),e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new Mp),t.oldParentId=e.oldParentId,t.oldInputName=e.oldInputName,e.oldCoordinate&&(o=e.oldCoordinate.split(","),t.oldCoordinate=new V(Number(o[0]),Number(o[1]))),t.newParentId=e.newParentId,t.newInputName=e.newInputName,e.newCoordinate&&(o=e.newCoordinate.split(","),t.newCoordinate=new V(Number(o[0]),Number(o[1]))),e.reason!==void 0&&(t.reason=e.reason),e.recordUndo!==void 0&&(t.recordUndo=e.recordUndo),t}recordNew(){const e=this.currentLocation();this.newParentId=e.parentId,this.newInputName=e.inputName,this.newCoordinate=e.coordinate}setReason(e){this.reason=e}currentLocation(){var e=this.getEventWorkspace_();if(!this.blockId)throw Error("The block ID is undefined. Either pass a block to the constructor, or call fromJson");var t=e.getBlockById(this.blockId);if(!t)throw Error("The block associated with the block move event could not be found");e={};const o=t.getParent();return o?(e.parentId=o.id,(t=o.getInputWithBlock(t))&&(e.inputName=t.name)):e.coordinate=t.getRelativeToSurfaceXY(),e}isNull(){return this.oldParentId===this.newParentId&&this.oldInputName===this.newInputName&&V.equals(this.oldCoordinate,this.newCoordinate)}run(e){var t=this.getEventWorkspace_();if(!this.blockId)throw Error("The block ID is undefined. Either pass a block to the constructor, or call fromJson");var o=t.getBlockById(this.blockId);if(o){var n=e?this.newParentId:this.oldParentId,c=e?this.newInputName:this.oldInputName;if(e=e?this.newCoordinate:this.oldCoordinate,n){var h=t.getBlockById(n);if(!h){console.warn("Can't connect to non-existent block: "+n);return}}if(o.getParent()&&o.unplug(),e)c=o.getRelativeToSurfaceXY(),o.moveBy(e.x-c.x,e.y-c.y,this.reason);else{t=o.outputConnection,(!t||o.previousConnection&&o.previousConnection.isConnected())&&(t=o.previousConnection);let $,T;o=(T=t)==null?void 0:T.type,c?(o=h.getInput(c))&&($=o.connection):o===oe.PREVIOUS_STATEMENT&&($=h.nextConnection),$&&t?t.connect($):console.warn("Can't connect to non-existent input: "+c)}}else console.warn("Can't move non-existent block: "+this.blockId)}};r(F.EVENT,O.BLOCK_MOVE,Mp);var Np=class extends Cs{constructor(e,t,o){super(e?e.workspace.id:void 0),this.type=O.BUBBLE_OPEN,e&&(this.blockId=e.id,this.isOpen=t,this.bubbleType=o)}toJson(){const e=super.toJson();if(this.isOpen===void 0)throw Error("Whether this event is for opening the bubble is undefined. Either pass the value to the constructor, or call fromJson");if(!this.bubbleType)throw Error("The type of bubble is undefined. Either pass the value to the constructor, or call fromJson");return e.isOpen=this.isOpen,e.bubbleType=this.bubbleType,e.blockId=this.blockId||"",e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new Np),t.isOpen=e.isOpen,t.bubbleType=e.bubbleType,t.blockId=e.blockId,t}},Lp;(function(e){e.MUTATOR="mutator",e.COMMENT="comment",e.WARNING="warning"})(Lp||(Lp={})),r(F.EVENT,O.BUBBLE_OPEN,Np);var Vs=class extends Ui{constructor(e){super(),this.isBlank=!e,e&&(this.commentId=e.id,this.workspaceId=e.workspace.id,this.group=i.getGroup$$module$build$src$core$events$utils(),this.recordUndo=me())}toJson(){const e=super.toJson();if(!this.commentId)throw Error("The comment ID is undefined. Either pass a comment to the constructor, or call fromJson");return e.commentId=this.commentId,e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new Vs),t.commentId=e.commentId,t}static CommentCreateDeleteHelper(e,t){const o=e.getEventWorkspace_();if(t){if(!e.json)throw Error("Encountered a comment event without proper json");Fn(e.json,o)}else{if(!e.commentId)throw Error("The comment ID is undefined. Either pass a comment to the constructor, or call fromJson");(t=o.getCommentById(e.commentId))?t.dispose():console.warn("Can't delete non-existent comment: "+e.commentId)}}},Pp=class extends Vs{constructor(e,t,o){super(e),this.type=O.COMMENT_CHANGE,e&&(this.oldContents_=typeof t>"u"?"":t,this.newContents_=typeof o>"u"?"":o)}toJson(){const e=super.toJson();if(!this.oldContents_)throw Error("The old contents is undefined. Either pass a value to the constructor, or call fromJson");if(!this.newContents_)throw Error("The new contents is undefined. Either pass a value to the constructor, or call fromJson");return e.oldContents=this.oldContents_,e.newContents=this.newContents_,e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new Pp),t.oldContents_=e.oldContents,t.newContents_=e.newContents,t}isNull(){return this.oldContents_===this.newContents_}run(e){var t=this.getEventWorkspace_();if(!this.commentId)throw Error("The comment ID is undefined. Either pass a comment to the constructor, or call fromJson");if(t=t.getCommentById(this.commentId)){var o=e?this.newContents_:this.oldContents_;if(o===void 0)throw Error(e?"The new contents is undefined. Either pass a value to the constructor, or call fromJson":"The old contents is undefined. Either pass a value to the constructor, or call fromJson");t.setText(o)}else console.warn("Can't change non-existent comment: "+this.commentId)}};r(F.EVENT,O.COMMENT_CHANGE,Pp);var Bp=class extends Vs{constructor(e,t){super(e),this.newCollapsed=t,this.type=O.COMMENT_COLLAPSE}toJson(){const e=super.toJson();if(this.newCollapsed===void 0)throw Error("The new collapse value undefined. Either call recordNew, or call fromJson");return e.newCollapsed=this.newCollapsed,e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new Bp),t.newCollapsed=e.newCollapsed,t}run(e){var t=this.getEventWorkspace_();if(!this.commentId)throw Error("The comment ID is undefined. Either pass a comment to the constructor, or call fromJson");(t=t.getCommentById(this.commentId))?t.setCollapsed(e?!!this.newCollapsed:!this.newCollapsed):console.warn("Can't collapse or uncollapse non-existent comment: "+this.commentId)}};r(F.EVENT,O.COMMENT_COLLAPSE,Bp);var jp=class extends Vs{constructor(e){super(e),this.type=O.COMMENT_CREATE,e&&(this.xml=Xn(e),this.json=xi(e,{addCoordinates:!0}))}toJson(){const e=super.toJson();if(!this.xml)throw Error("The comment XML is undefined. Either pass a comment to the constructor, or call fromJson");if(!this.json)throw Error("The comment JSON is undefined. Either pass a block to the constructor, or call fromJson");return e.xml=Ls(this.xml),e.json=this.json,e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new jp),t.xml=i.textToDom$$module$build$src$core$utils$xml(e.xml),t.json=e.json,t}run(e){Vs.CommentCreateDeleteHelper(this,e)}};r(F.EVENT,O.COMMENT_CREATE,jp);var Fp=class extends Vs{constructor(e){super(e),this.type=O.COMMENT_DELETE,e&&(this.xml=Xn(e),this.json=xi(e,{addCoordinates:!0}))}run(e){Vs.CommentCreateDeleteHelper(this,!e)}toJson(){const e=super.toJson();if(!this.xml)throw Error("The comment XML is undefined. Either pass a comment to the constructor, or call fromJson");if(!this.json)throw Error("The comment JSON is undefined. Either pass a block to the constructor, or call fromJson");return e.xml=Ls(this.xml),e.json=this.json,e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new Fp),t.xml=i.textToDom$$module$build$src$core$utils$xml(e.xml),t.json=e.json,t}};r(F.EVENT,O.COMMENT_DELETE,Fp);var zp=class extends Cs{constructor(e,t){super(e?e.workspace.id:void 0),this.type=O.COMMENT_DRAG,e&&(this.commentId=e.id,this.isStart=t)}toJson(){const e=super.toJson();if(this.isStart===void 0)throw Error("Whether this event is the start of a drag is undefined. Either pass the value to the constructor, or call fromJson");if(this.commentId===void 0)throw Error("The comment ID is undefined. Either pass a comment to the constructor, or call fromJson");return e.isStart=this.isStart,e.commentId=this.commentId,e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new zp),t.isStart=e.isStart,t.commentId=e.commentId,t}};r(F.EVENT,O.COMMENT_DRAG,zp);var Up=class extends Vs{constructor(e){super(e),this.type=O.COMMENT_MOVE,e&&(this.comment_=e,this.oldCoordinate_=e.getRelativeToSurfaceXY())}recordNew(){if(this.newCoordinate_)throw Error("Tried to record the new position of a comment on the same event twice.");if(!this.comment_)throw Error("The comment is undefined. Pass a comment to the constructor if you want to use the record functionality");this.newCoordinate_=this.comment_.getRelativeToSurfaceXY()}setReason(e){this.reason=e}setOldCoordinate(e){this.oldCoordinate_=e}toJson(){const e=super.toJson();if(!this.oldCoordinate_)throw Error("The old comment position is undefined. Either pass a comment to the constructor, or call fromJson");if(!this.newCoordinate_)throw Error("The new comment position is undefined. Either call recordNew, or call fromJson");return e.oldCoordinate=`${Math.round(this.oldCoordinate_.x)}, ${Math.round(this.oldCoordinate_.y)}`,e.newCoordinate=Math.round(this.newCoordinate_.x)+","+Math.round(this.newCoordinate_.y),e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new Up),o=e.oldCoordinate.split(","),t.oldCoordinate_=new V(Number(o[0]),Number(o[1])),o=e.newCoordinate.split(","),t.newCoordinate_=new V(Number(o[0]),Number(o[1])),t}isNull(){return V.equals(this.oldCoordinate_,this.newCoordinate_)}run(e){var t=this.getEventWorkspace_();if(!this.commentId)throw Error("The comment ID is undefined. Either pass a comment to the constructor, or call fromJson");if(t=t.getCommentById(this.commentId)){if(e=e?this.newCoordinate_:this.oldCoordinate_,!e)throw Error("Either oldCoordinate_ or newCoordinate_ is undefined. Either pass a comment to the constructor and call recordNew, or call fromJson");t.moveTo(e)}else console.warn("Can't move non-existent comment: "+this.commentId)}};r(F.EVENT,O.COMMENT_MOVE,Up);var Hp=class extends Vs{constructor(e){super(e),this.type=O.COMMENT_RESIZE,e&&(this.oldSize=e.getSize())}recordCurrentSizeAsNewSize(){if(this.newSize)throw Error("Tried to record the new size of a comment on the same event twice.");var e=this.getEventWorkspace_();if(!this.commentId)throw Error("The comment ID is undefined. Either pass a comment to the constructor, or call fromJson");if(e=e.getCommentById(this.commentId),!e)throw Error("The comment associated with the comment resize event could not be found");this.newSize=e.getSize()}toJson(){const e=super.toJson();if(!this.oldSize)throw Error("The old comment size is undefined. Either pass a comment to the constructor, or call fromJson");if(!this.newSize)throw Error("The new comment size is undefined. Either call recordCurrentSizeAsNewSize, or call fromJson");return e.oldWidth=Math.round(this.oldSize.width),e.oldHeight=Math.round(this.oldSize.height),e.newWidth=Math.round(this.newSize.width),e.newHeight=Math.round(this.newSize.height),e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new Hp),t.oldSize=new Le(e.oldWidth,e.oldHeight),t.newSize=new Le(e.newWidth,e.newHeight),t}isNull(){return Le.equals(this.oldSize,this.newSize)}run(e){var t=this.getEventWorkspace_();if(!this.commentId)throw Error("The comment ID is undefined. Either pass a comment to the constructor, or call fromJson");if(t=t.getCommentById(this.commentId)){if(e=e?this.newSize:this.oldSize,!e)throw Error("Either oldSize or newSize is undefined. Either pass a comment to the constructor and call recordCurrentSizeAsNewSize, or call fromJson");t.setSize(e)}else console.warn("Can't resize non-existent comment: "+this.commentId)}};r(F.EVENT,O.COMMENT_RESIZE,Hp);var Wp=class extends Cs{constructor(e,t,o){super(o),this.type=O.TOOLBOX_ITEM_SELECT,this.oldItem=e??void 0,this.newItem=t??void 0}toJson(){const e=super.toJson();return e.oldItem=this.oldItem,e.newItem=this.newItem,e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new Wp),t.oldItem=e.oldItem,t.newItem=e.newItem,t}};r(F.EVENT,O.TOOLBOX_ITEM_SELECT,Wp);var cy=class extends Ui{constructor(e){super(),this.isBlank=!0,this.recordUndo=!1,this.type=O.FINISHED_LOADING,this.isBlank=!!e,e&&(this.workspaceId=e.id)}};r(F.EVENT,O.FINISHED_LOADING,cy);var uy,dy,hy,py,gy,my,fy,$y,by,vy,yy,_y,wy,Cy,Ty,ky,Sy,Ey,Iy,xy,Dy,Ay,Ry,Oy,My,Q;i.BLOCK_CHANGE$$module$build$src$core$events$events=O.BLOCK_CHANGE,i.BLOCK_CREATE$$module$build$src$core$events$events=O.BLOCK_CREATE,i.BLOCK_DELETE$$module$build$src$core$events$events=O.BLOCK_DELETE,uy=O.BLOCK_DRAG,i.BLOCK_MOVE$$module$build$src$core$events$events=O.BLOCK_MOVE,dy=O.BLOCK_FIELD_INTERMEDIATE_CHANGE,hy=O.BUBBLE_OPEN,py=O.BLOCK_CHANGE,gy=O.CLICK,my=O.COMMENT_CHANGE,fy=O.COMMENT_CREATE,$y=O.COMMENT_DELETE,by=O.COMMENT_MOVE,vy=O.COMMENT_RESIZE,yy=O.COMMENT_DRAG,_y=O.BLOCK_CREATE,wy=O.BLOCK_DELETE,Cy=O.FINISHED_LOADING,Ty=O.MARKER_MOVE,ky=O.BLOCK_MOVE,Sy=O.SELECTED,Ey=O.THEME_CHANGE,Iy=O.TOOLBOX_ITEM_SELECT,xy=O.TRASHCAN_OPEN,Dy=O.UI,Ay=O.VAR_CREATE,Ry=O.VAR_DELETE,Oy=O.VAR_RENAME,My=O.VIEWPORT_CHANGE,Q={},Q.Abstract=Ui,Q.BLOCK_CHANGE=i.BLOCK_CHANGE$$module$build$src$core$events$events,Q.BLOCK_CREATE=i.BLOCK_CREATE$$module$build$src$core$events$events,Q.BLOCK_DELETE=i.BLOCK_DELETE$$module$build$src$core$events$events,Q.BLOCK_DRAG=uy,Q.BLOCK_FIELD_INTERMEDIATE_CHANGE=dy,Q.BLOCK_MOVE=i.BLOCK_MOVE$$module$build$src$core$events$events,Q.BUBBLE_OPEN=hy,Q.BUMP_EVENTS=ub,Q.BlockBase=ni,Q.BlockChange=ri,Q.BlockCreate=Xh,Q.BlockDelete=up,Q.BlockDrag=Rp,Q.BlockFieldIntermediateChange=Op,Q.BlockMove=Mp,Q.BubbleOpen=Np,Q.BubbleType=Lp,Q.CHANGE=py,Q.CLICK=gy,Q.COMMENT_CHANGE=my,Q.COMMENT_CREATE=fy,Q.COMMENT_DELETE=$y,Q.COMMENT_DRAG=yy,Q.COMMENT_MOVE=by,Q.COMMENT_RESIZE=vy,Q.CREATE=_y,Q.Click=fh,Q.ClickTarget=$h,Q.CommentBase=Vs,Q.CommentChange=Pp,Q.CommentCollapse=Bp,Q.CommentCreate=jp,Q.CommentDelete=Fp,Q.CommentDrag=zp,Q.CommentMove=Up,Q.CommentResize=Hp,Q.DELETE=wy,Q.FINISHED_LOADING=Cy,Q.FinishedLoading=cy,Q.MARKER_MOVE=Ty,Q.MOVE=ky,Q.MarkerMove=dp,Q.SELECTED=Sy,Q.Selected=vp,Q.THEME_CHANGE=Ey,Q.TOOLBOX_ITEM_SELECT=Iy,Q.TRASHCAN_OPEN=xy,Q.ThemeChange=Zh,Q.ToolboxItemSelect=Wp,Q.TrashcanOpen=_p,Q.UI=Dy,Q.UiBase=Cs,Q.VAR_CREATE=Ay,Q.VAR_DELETE=Ry,Q.VAR_RENAME=Oy,Q.VIEWPORT_CHANGE=My,Q.VarBase=dr,Q.VarCreate=Ph,Q.VarDelete=fp,Q.VarRename=$p,Q.ViewportChange=Qh,Q.clearPendingUndo=ce,Q.disable=i.disable$$module$build$src$core$events$utils,Q.disableOrphans=tt,Q.enable=i.enable$$module$build$src$core$events$utils,Q.filter=ae,Q.fire=z,Q.fromJson=je,Q.get=G,Q.getDescendantIds=he,Q.getGroup=i.getGroup$$module$build$src$core$events$utils,Q.getRecordUndo=me,Q.isEnabled=K,Q.setGroup=i.setGroup$$module$build$src$core$events$utils,Q.setRecordUndo=i.setRecordUndo$$module$build$src$core$events$utils;var xs={};xs.BottomRow=qv,xs.ConstantProvider=Yv,xs.Drawer=Jv,xs.MarkerSvg=ey,xs.PathObject=ty,xs.RenderInfo=Qv,xs.Renderer=xp,xs.RightConnectionShape=Xv,xs.StatementInput=Vl,xs.TopRow=Zv,hh();var Tt={};Tt.registerCleanup=qd,Tt.registerCollapse=Zd,Tt.registerCollapseExpandBlock=nh,Tt.registerComment=oh,Tt.registerCommentCreate=dh,Tt.registerCommentDelete=ch,Tt.registerCommentDuplicate=uh,Tt.registerCommentOptions=ib,Tt.registerDefaultOptions=hh,Tt.registerDelete=ah,Tt.registerDeleteAll=th,Tt.registerDisable=rh,Tt.registerDuplicate=sh,Tt.registerExpand=Qd,Tt.registerHelp=lh,Tt.registerInline=ih,Tt.registerRedo=Jd,Tt.registerUndo=Yd;var Kl={};Kl.CommentView=mv,Kl.RenderedWorkspaceComment=kl,Kl.WorkspaceComment=Tl;var Ar={};Ar.Bubble=Ye,Ar.MiniWorkspaceBubble=uo,Ar.TextBubble=kv,Ar.TextInputBubble=yv;var Ny=class extends Ml{constructor(){super(),this.FIELD_TEXT_BASELINE_CENTER=!1,this.DARK_PATH_OFFSET=1,this.MAX_BOTTOM_WIDTH=30,this.STATEMENT_BOTTOM_SPACER=-this.NOTCH_HEIGHT/2}getCSS_(e){return super.getCSS_(e).concat([`${e} .blocklyInsertionMarker>.blocklyPathLight,`,`${e} .blocklyInsertionMarker>.blocklyPathDark {`,`fill-opacity: ${this.INSERTION_MARKER_OPACITY};`,"stroke: none;","}"])}},Ly=class{constructor(e){this.inlineSteps_=this.steps_="",this.info_=e,this.RTL_=this.info_.RTL,e=e.getRenderer(),this.constants_=e.getConstants(),this.highlightConstants_=e.getHighlightConstants(),this.highlightOffset=this.highlightConstants_.OFFSET,this.outsideCornerPaths_=this.highlightConstants_.OUTSIDE_CORNER,this.insideCornerPaths_=this.highlightConstants_.INSIDE_CORNER,this.puzzleTabPaths_=this.highlightConstants_.PUZZLE_TAB,this.notchPaths_=this.highlightConstants_.NOTCH,this.startPaths_=this.highlightConstants_.START_HAT,this.jaggedTeethPaths_=this.highlightConstants_.JAGGED_TEETH}getPath(){return this.steps_+` +`)),t=t.trim().replace(this.FUNCTION_NAME_PLACEHOLDER_REGEXP_,o);let n;for(;n!==t;)n=t,t=t.replace(/^(( {2})*) {2}/gm,"$1\0");t=t.replace(/\0/g,this.INDENT),this.definitions_[e]=t}return this.functionNames_[e]}getVariableName(e){return this.getName(e,i.NameType$$module$build$src$core$names.VARIABLE)}getProcedureName(e){return this.getName(e,i.NameType$$module$build$src$core$names.PROCEDURE)}getName(e,t){if(!this.nameDB_)throw Error("Name database is not defined. You must initialize `nameDB_` in your generator class and call `init` first.");return this.nameDB_.getName(e,t)}init(e){this.definitions_=Object.create(null),this.functionNames_=Object.create(null)}scrub_(e,t,o){return t}finish(e){return this.definitions_=Object.create(null),this.functionNames_=Object.create(null),e}scrubNakedValue(e){return e}},iy={},iy.CodeGenerator=i.CodeGenerator$$module$build$src$core$generator;var ny=class extends Ip{constructor(e,t){super(e),this.flyout_=t}getBoundingBox(){let e;try{e=this.workspace_.getCanvas().getBBox()}catch{e={height:0,y:0,width:0,x:0}}return e}getContentMetrics(e){const t=this.getBoundingBox();return e=e?1:this.workspace_.scale,{height:t.height*e,width:t.width*e,top:t.y*e,left:t.x*e}}getScrollMetrics(e,t,o){return t=o||this.getContentMetrics(),o=this.flyout_.MARGIN*this.workspace_.scale,e=e?this.workspace_.scale:1,{height:(t.height+2*o)/e,width:(t.width+t.left+o)/e,top:0,left:0}}},un;(function(e){e.BLOCK="block",e.BUTTON="button"})(un||(un={}));var dk="WORKSPACE_AT_BLOCK_CAPACITY",Vl=class extends jl{constructor(e){super(),this.horizontalLayout=!1,this.boundEvents=[],this.filterWrapper=this.reflowWrapper=null,this.mats=[],this.buttons_=[],this.contents=[],this.listeners=[],this.permanentlyDisabled=[],this.recycledBlocks=[],this.autoClose=!0,this.visible=!1,this.containerVisible=!0,this.CORNER_RADIUS=8,this.SCROLLBAR_MARGIN=2.5,this.height_=this.width_=0,this.dragAngleRange_=70,this.svgGroup_=this.svgBackground_=null,e.setMetrics=this.setMetrics_.bind(this),this.workspace_=new ns(e),this.workspace_.setMetricsManager(new ny(this.workspace_,this)),this.workspace_.internalIsFlyout=!0,this.workspace_.setVisible(this.visible),this.id=C(),this.RTL=!!e.RTL,this.toolboxPosition_=e.toolboxPosition,this.tabWidth_=this.workspace_.getRenderer().getConstants().TAB_WIDTH,this.rectMap_=new WeakMap,this.MARGIN=this.CORNER_RADIUS,this.GAP_X=3*this.MARGIN,this.GAP_Y=3*this.MARGIN}createDom(e){return this.svgGroup_=N(e,{class:"blocklyFlyout"}),this.svgGroup_.style.display="none",this.svgBackground_=N(x.PATH,{class:"blocklyFlyoutBackground"},this.svgGroup_),this.svgGroup_.appendChild(this.workspace_.createDom()),this.workspace_.getThemeManager().subscribe(this.svgBackground_,"flyoutBackgroundColour","fill"),this.workspace_.getThemeManager().subscribe(this.svgBackground_,"flyoutOpacity","fill-opacity"),this.svgGroup_}init(e){this.targetWorkspace=e,this.workspace_.targetWorkspace=e,this.workspace_.scrollbar=new Ep(this.workspace_,this.horizontalLayout,!this.horizontalLayout,"blocklyFlyoutScrollbar",this.SCROLLBAR_MARGIN),this.hide(),this.boundEvents.push(X(this.svgGroup_,"wheel",this,this.wheel_)),this.filterWrapper=this.filterForCapacity.bind(this),this.targetWorkspace.addChangeListener(this.filterWrapper),this.boundEvents.push(X(this.svgBackground_,"pointerdown",this,this.onMouseDown)),this.workspace_.getGesture=this.targetWorkspace.getGesture.bind(this.targetWorkspace),this.workspace_.setVariableMap(this.targetWorkspace.getVariableMap()),this.workspace_.createPotentialVariableMap(),e.getComponentManager().addComponent({component:this,weight:lt.ComponentWeight.FLYOUT_WEIGHT,capabilities:[lt.Capability.AUTOHIDEABLE,lt.Capability.DELETE_AREA,lt.Capability.DRAG_TARGET]})}dispose(){this.hide(),this.targetWorkspace.getComponentManager().removeComponent(this.id);for(const e of this.boundEvents)ze(e);this.boundEvents.length=0,this.filterWrapper&&this.targetWorkspace.removeChangeListener(this.filterWrapper),this.workspace_&&(this.workspace_.getThemeManager().unsubscribe(this.svgBackground_),this.workspace_.dispose()),this.svgGroup_&&Ke(this.svgGroup_)}getWidth(){return this.width_}getHeight(){return this.height_}getFlyoutScale(){return this.targetWorkspace.scale}getWorkspace(){return this.workspace_}setAutoClose(e){this.autoClose=e,this.targetWorkspace.recordDragTargets(),this.targetWorkspace.resizeContents()}autoHide(e){!e&&this.targetWorkspace.getFlyout(!0)===this&&this.autoClose&&this.hide()}getTargetWorkspace(){return this.targetWorkspace}isVisible(){return this.visible}setVisible(e){const t=e!==this.isVisible();this.visible=e,t&&(this.autoClose||this.targetWorkspace.recordDragTargets(),this.updateDisplay())}setContainerVisible(e){const t=e!==this.containerVisible;this.containerVisible=e,t&&this.updateDisplay()}getContents(){return this.contents}setContents(e){this.contents=e}updateDisplay(){let e;e=this.containerVisible?this.isVisible():!1,this.svgGroup_&&(this.svgGroup_.style.display=e?"block":"none");let t;(t=this.workspace_.scrollbar)==null||t.setContainerVisible(e)}positionAt_(e,t,o,n){let c;(c=this.svgGroup_)==null||c.setAttribute("width",`${e}`);let h;(h=this.svgGroup_)==null||h.setAttribute("height",`${t}`),this.workspace_.setCachedParentSvgSize(e,t),this.svgGroup_&&ca(this.svgGroup_,"translate("+o+"px,"+n+"px)"),(e=this.workspace_.scrollbar)&&(e.setOrigin(o,n),e.resize(),e.hScroll&&e.hScroll.setPosition(e.hScroll.position.x,e.hScroll.position.y),e.vScroll&&e.vScroll.setPosition(e.vScroll.position.x,e.vScroll.position.y))}hide(){if(this.isVisible()){this.setVisible(!1);for(const e of this.listeners)ze(e);this.listeners.length=0,this.reflowWrapper&&(this.workspace_.removeChangeListener(this.reflowWrapper),this.reflowWrapper=null)}}show(e){this.workspace_.setResizesEnabled(!1),this.hide(),this.clearOldBlocks(),typeof e=="string"&&(e=this.getDynamicCategoryContents(e)),this.setVisible(!0),e=Bn(e),e=this.createFlyoutInfo(e),Qs(this.workspace_),this.setContents(e.contents),this.layout_(e.contents,e.gaps),this.horizontalLayout?this.height_=0:this.width_=0,this.workspace_.setResizesEnabled(!0),this.reflow(),this.filterForCapacity(),this.position(),this.reflowWrapper=this.reflow.bind(this),this.workspace_.addChangeListener(this.reflowWrapper),this.emptyRecycledBlocks()}createFlyoutInfo(e){const t=[],o=[];this.permanentlyDisabled.length=0;const n=this.horizontalLayout?this.GAP_X:this.GAP_Y;for(const c of e){if("custom"in c){e=this.getDynamicCategoryContents(c.custom),e=Bn(e);const{contents:h,gaps:$}=this.createFlyoutInfo(e);t.push(...h),o.push(...$)}switch(c.kind.toUpperCase()){case"BLOCK":e=c;const h=this.createFlyoutBlock(e);t.push({type:un.BLOCK,block:h}),this.addBlockGap(e,o,n);break;case"SEP":this.addSeparatorGap(c,o,n);break;case"LABEL":e=this.createButton(c,!0),t.push({type:un.BUTTON,button:e}),o.push(n);break;case"BUTTON":e=this.createButton(c,!1),t.push({type:un.BUTTON,button:e}),o.push(n)}}return{contents:t,gaps:o}}getDynamicCategoryContents(e){if(e=this.workspace_.targetWorkspace.getToolboxCategoryCallback(e),typeof e!="function")throw TypeError("Couldn't find a callback function when opening a toolbox category.");return e(this.workspace_.targetWorkspace)}createButton(e,t){return new hs(this.workspace_,this.targetWorkspace,e,t)}createFlyoutBlock(e){let t;return e.blockxml?(e=typeof e.blockxml=="string"?i.textToDom$$module$build$src$core$utils$xml(e.blockxml):e.blockxml,(t=this.getRecycledBlock(e.getAttribute("type")))||(t=qo(e,this.workspace_))):(t=this.getRecycledBlock(e.type),t||(e.enabled===void 0&&(e.enabled=e.disabled!=="true"&&e.disabled!==!0),e.disabledReasons===void 0&&e.enabled===!1&&(e.disabledReasons=[Ft]),t=Ri(e,this.workspace_))),t.isEnabled()||this.permanentlyDisabled.push(t),t}getRecycledBlock(e){let t=-1;for(let o=0;o{this.targetWorkspace.isDragging()||t.addSelect()})),this.listeners.push(ct(e,"pointerleave",t,()=>{this.targetWorkspace.isDragging()||t.removeSelect()})),this.listeners.push(ct(o,"pointerenter",t,()=>{this.targetWorkspace.isDragging()||t.addSelect()})),this.listeners.push(ct(o,"pointerleave",t,()=>{this.targetWorkspace.isDragging()||t.removeSelect()}))}blockMouseDown(e){return t=>{const o=this.targetWorkspace.getGesture(t);o&&(o.setStartBlock(e),o.handleFlyoutStart(t,this))}}onMouseDown(e){const t=this.targetWorkspace.getGesture(e);t&&t.handleFlyoutStart(e,this)}isBlockCreatable(e){return e.isEnabled()}createBlock(e){let t=null;i.disable$$module$build$src$core$events$utils();var o=this.targetWorkspace.getAllVariables();this.targetWorkspace.setResizesEnabled(!1);try{t=this.placeNewBlock(e)}finally{i.enable$$module$build$src$core$events$utils()}if(this.targetWorkspace.hideChaff(),e=Hn(this.targetWorkspace,o),K()){for(i.setGroup$$module$build$src$core$events$utils(!0),o=0;o-t||e<-180+t||e>180-t}getClientRect(){if(!this.svgGroup_||this.autoClose||!this.isVisible())return null;const e=this.svgGroup_.getBoundingClientRect(),t=e.left;return this.toolboxPosition_===Ee.LEFT?new qe(-1e9,1e9,-1e9,t+e.width):new qe(-1e9,1e9,t,1e9)}reflowInternal_(){this.workspace_.scale=this.getFlyoutScale();let e=0;var t=this.workspace_.getTopBlocks(!1);for(let n=0,c;c=t[n];n++){var o=c.getHeightWidth().width;c.outputConnection&&(o-=this.tabWidth_),e=Math.max(e,o)}for(let n=0,c;c=this.buttons_[n];n++)e=Math.max(e,c.width);if(e+=1.5*this.MARGIN+this.tabWidth_,e*=this.workspace_.scale,e+=mt.scrollbarThickness,this.width_!==e){for(let n=0,c;c=t[n];n++){if(this.RTL){o=c.getRelativeToSurfaceXY().x;let h=e/this.workspace_.scale-this.MARGIN;c.outputConnection||(h-=this.tabWidth_),c.moveBy(h-o,0)}this.rectMap_.has(c)&&this.moveRectToBlock_(this.rectMap_.get(c),c)}if(this.RTL)for(let n=0,c;c=this.buttons_[n];n++)t=c.getPosition().y,c.moveTo(e/this.workspace_.scale-c.width-this.MARGIN-this.tabWidth_,t);this.targetWorkspace.scrollbar||this.autoClose||this.targetWorkspace.getFlyout()!==this||this.toolboxPosition_!==Ee.LEFT||this.targetWorkspace.translate(this.targetWorkspace.scrollX+e,this.targetWorkspace.scrollY),this.width_=e,this.position(),this.targetWorkspace.resizeContents(),this.targetWorkspace.recordDragTargets()}}};Dp.registryName="verticalFlyout",r(F.FLYOUTS_VERTICAL_TOOLBOX,js,Dp);var ry=class extends Vl{constructor(e){super(e),this.horizontalLayout=!0}setMetrics_(e){if(this.isVisible()){var t=this.workspace_.getMetricsManager(),o=t.getScrollMetrics(),n=t.getViewMetrics();t=t.getAbsoluteMetrics(),typeof e.x=="number"&&(this.workspace_.scrollX=-(o.left+(o.width-n.width)*e.x)),this.workspace_.translate(this.workspace_.scrollX+t.left,this.workspace_.scrollY+t.top)}}getX(){return 0}getY(){if(!this.isVisible())return 0;var e=this.targetWorkspace.getMetricsManager();const t=e.getAbsoluteMetrics(),o=e.getViewMetrics();e=e.getToolboxMetrics();const n=this.toolboxPosition_===Ee.TOP;return this.targetWorkspace.toolboxPosition===this.toolboxPosition_?this.targetWorkspace.getToolbox()?n?e.height:o.height-this.height_:n?0:o.height:n?0:o.height+t.top-this.height_}position(){if(this.isVisible()&&this.targetWorkspace.isVisible()){var e=this.targetWorkspace.getMetricsManager().getViewMetrics();this.width_=e.width,this.setBackgroundPath(e.width-2*this.CORNER_RADIUS,this.height_-this.CORNER_RADIUS),e=this.getX();var t=this.getY();this.positionAt_(this.width_,this.height_,e,t)}}setBackgroundPath(e,t){const o=this.toolboxPosition_===Ee.TOP,n=["M 0,"+(o?0:this.CORNER_RADIUS)];o?(n.push("h",e+2*this.CORNER_RADIUS),n.push("v",t),n.push("a",this.CORNER_RADIUS,this.CORNER_RADIUS,0,0,1,-this.CORNER_RADIUS,this.CORNER_RADIUS),n.push("h",-e),n.push("a",this.CORNER_RADIUS,this.CORNER_RADIUS,0,0,1,-this.CORNER_RADIUS,-this.CORNER_RADIUS)):(n.push("a",this.CORNER_RADIUS,this.CORNER_RADIUS,0,0,1,this.CORNER_RADIUS,-this.CORNER_RADIUS),n.push("h",e),n.push("a",this.CORNER_RADIUS,this.CORNER_RADIUS,0,0,1,this.CORNER_RADIUS,this.CORNER_RADIUS),n.push("v",t),n.push("h",-e-2*this.CORNER_RADIUS)),n.push("z"),this.svgBackground_.setAttribute("d",n.join(" "))}scrollToStart(){let e;(e=this.workspace_.scrollbar)==null||e.setX(this.RTL?1/0:0)}wheel_(e){var t=Zs(e);if(t=t.x||t.y){const o=this.workspace_.getMetricsManager(),n=o.getScrollMetrics();t=o.getViewMetrics().left-n.left+t;let c;(c=this.workspace_.scrollbar)==null||c.setX(t),Yn(this.workspace_),Ns()}e.preventDefault(),e.stopPropagation()}layout_(e,t){this.workspace_.scale=this.targetWorkspace.scale;const o=this.MARGIN;let n=o+this.tabWidth_;this.RTL&&(e=e.reverse());for(let T=0,L;L=e[T];T++)if(L.type==="block"){var c=L.block;if(c==null)continue;var h=c.getDescendants(!1);for(let nt=0,it;it=h[nt];nt++)it.isInFlyout=!0;h=c.getSvgRoot();const te=c.getHeightWidth();var $=c.outputConnection?this.tabWidth_:0;$=this.RTL?n+te.width:n-$,c.moveBy($,o),$=this.createRect_(c,$,o,te,T),n+=te.width+t[T],this.addBlockListeners_(h,c,$)}else L.type==="button"&&(c=L.button,this.initFlyoutButton_(c,n,o),n+=c.width+t[T])}isDragTowardWorkspace(e){e=Math.atan2(e.y,e.x)/Math.PI*180;const t=this.dragAngleRange_;return e<90+t&&e>90-t||e>-90-t&&e<-90+t}getClientRect(){if(!this.svgGroup_||this.autoClose||!this.isVisible())return null;const e=this.svgGroup_.getBoundingClientRect(),t=e.top;return this.toolboxPosition_===Ee.TOP?new qe(-1e9,t+e.height,-1e9,1e9):new qe(t,1e9,-1e9,1e9)}reflowInternal_(){this.workspace_.scale=this.getFlyoutScale();let e=0;const t=this.workspace_.getTopBlocks(!1);for(let n=0,c;c=t[n];n++)e=Math.max(e,c.getHeightWidth().height);const o=this.buttons_;for(let n=0,c;c=o[n];n++)e=Math.max(e,c.height);if(e+=1.5*this.MARGIN,e*=this.workspace_.scale,e+=mt.scrollbarThickness,this.height_!==e){for(let n=0,c;c=t[n];n++)this.rectMap_.has(c)&&this.moveRectToBlock_(this.rectMap_.get(c),c);this.targetWorkspace.scrollbar||this.autoClose||this.targetWorkspace.getFlyout()!==this||this.toolboxPosition_!==Ee.TOP||this.targetWorkspace.translate(this.targetWorkspace.scrollX,this.targetWorkspace.scrollY+e),this.height_=e,this.position(),this.targetWorkspace.resizeContents(),this.targetWorkspace.recordDragTargets()}}};r(F.FLYOUTS_HORIZONTAL_TOOLBOX,js,ry);var xr=class extends qt{constructor(e,t,o,n,c){super(Qe.SKIP_SETUP),this.defaultType="",this.variableTypes=[],this.variable=null,this.SERIALIZABLE=!0,this.menuGenerator_=xr.dropdownCreate,this.defaultVariableName=typeof e=="string"?e:"",this.size_=new Le(0,0),e!==Qe.SKIP_SETUP&&(c?this.configure_(c):this.setTypes(o,n),t&&this.setValidator(t))}configure_(e){super.configure_(e),this.setTypes(e.variableTypes,e.defaultType)}initModel(){var e=this.getSourceBlock();if(!e)throw new ft;this.variable||(e=i.getOrCreateVariablePackage$$module$build$src$core$variables(e.workspace,null,this.defaultVariableName,this.defaultType),this.doValueUpdate_(e.getId()))}shouldAddBorderRect_(){const e=this.getSourceBlock();if(!e)throw new ft;return super.shouldAddBorderRect_()&&(!this.getConstants().FIELD_DROPDOWN_NO_BORDER_RECT_SHADOW||e.type!=="variables_get")}fromXml(e){var t=this.getSourceBlock();if(!t)throw new ft;const o=e.getAttribute("id"),n=e.textContent,c=e.getAttribute("variabletype")||e.getAttribute("variableType")||"";if(t=i.getOrCreateVariablePackage$$module$build$src$core$variables(t.workspace,o,n,c),c!==null&&c!==t.type)throw Error("Serialized variable type with id '"+t.getId()+"' had type "+t.type+", and does not match variable field that references it: "+Ls(e)+".");this.setValue(t.getId())}toXml(e){return this.initModel(),e.id=this.variable.getId(),e.textContent=this.variable.name,this.variable.type&&e.setAttribute("variabletype",this.variable.type),e}saveState(e){var t=this.saveLegacyState(xr);return t!==null||(this.initModel(),t={id:this.variable.getId()},e&&(t.name=this.variable.name,t.type=this.variable.type)),t}loadState(e){const t=this.getSourceBlock();if(!t)throw new ft;this.loadLegacyState(xr,e)||(e=i.getOrCreateVariablePackage$$module$build$src$core$variables(t.workspace,e.id||null,e.name,e.type||""),this.setValue(e.getId()))}setSourceBlock(e){if(e.isShadow())throw Error("Variable fields are not allowed to exist on shadow blocks.");super.setSourceBlock(e)}getValue(){return this.variable?this.variable.getId():null}getText(){return this.variable?this.variable.name:""}getVariable(){return this.variable}getValidator(){return this.variable?this.validator_:null}doClassValidation_(e){if(e===null)return null;var t=this.getSourceBlock();if(!t)throw new ft;return t=i.getVariable$$module$build$src$core$variables(t.workspace,e),t?(t=t.type,this.typeIsAllowed(t)?e:(console.warn("Variable type doesn't match this field! Type was "+t),null)):(console.warn("Variable id doesn't point to a real variable! ID was "+e),null)}doValueUpdate_(e){const t=this.getSourceBlock();if(!t)throw new ft;this.variable=i.getVariable$$module$build$src$core$variables(t.workspace,e),super.doValueUpdate_(e)}typeIsAllowed(e){const t=this.getVariableTypes();if(!t)return!0;for(let o=0;othis.max_&&(e.max=`${this.max_}`,It(e,Ct.VALUEMAX,this.max_)),e}static fromJson(e){return new this(e.value,void 0,void 0,void 0,void 0,e)}};Ps("field_number",Ap),Ap.prototype.DEFAULT_VALUE=0;var ay=class extends hi{constructor(e,t,o){super(String(e??""),t,o),this.EDITABLE=!1,this.SERIALIZABLE=!0}static fromJson(e){return new this(pt(e.text),void 0,e)}};Ps("field_label_serializable",ay);var fi=class extends Qe{constructor(e,t,o){super(Qe.SKIP_SETUP),this.SERIALIZABLE=!0,this.CURSOR="default",this.value_=this.value_,this.checkChar=fi.CHECK_CHAR,e!==Qe.SKIP_SETUP&&(o&&this.configure_(o),this.setValue(e),t&&this.setValidator(t))}configure_(e){super.configure_(e),e.checkCharacter&&(this.checkChar=e.checkCharacter)}saveState(){const e=this.saveLegacyState(fi);return e!==null?e:this.getValueBoolean()}initView(){super.initView();const e=this.getTextElement();ge(e,"blocklyCheckbox"),e.style.display=this.value_?"block":"none"}render_(){this.textContent_&&(this.textContent_.nodeValue=this.getDisplayText_()),this.updateSize_(this.getConstants().FIELD_CHECKBOX_X_OFFSET)}getDisplayText_(){return this.checkChar}setCheckCharacter(e){this.checkChar=e||fi.CHECK_CHAR,this.forceRerender()}showEditor_(){this.setValue(!this.value_)}doClassValidation_(e){return e===!0||e==="TRUE"?"TRUE":e===!1||e==="FALSE"?"FALSE":null}doValueUpdate_(e){this.value_=this.convertValueToBool(e),this.textElement_&&(this.textElement_.style.display=this.value_?"block":"none")}getValue(){return this.value_?"TRUE":"FALSE"}getValueBoolean(){return this.value_}getText(){return String(this.convertValueToBool(this.value_))}convertValueToBool(e){return typeof e=="string"?e==="TRUE":!!e}static fromJson(e){return new this(e.checked,void 0,e)}};fi.CHECK_CHAR="✓",Ps("field_checkbox",fi),fi.prototype.DEFAULT_VALUE=!1;var ly=class{constructor(e,t){this.draggable=e,this.workspace=t,this.dragTarget=null,this.startLoc=e.getRelativeToSurfaceXY()}onDragStart(e){this.draggable.startDrag(e)}onDrag(e,t){this.moveDraggable(e,t),t=this.getRoot(this.draggable),ls(t)&&t.setDeleteStyle(this.wouldDeleteDraggable(e,t)),this.updateDragTarget(e)}updateDragTarget(e){e=this.workspace.getDragTarget(e);const t=this.getRoot(this.draggable);if(this.dragTarget!==e){let o;(o=this.dragTarget)==null||o.onDragExit(t),e==null||e.onDragEnter(t)}e==null||e.onDragOver(t),this.dragTarget=e}moveDraggable(e,t){t=this.pixelsToWorkspaceUnits(t),t=G.sum(this.startLoc,t),this.draggable.drag(t,e)}wouldDeleteDraggable(e,t){return(e=this.workspace.getDragTarget(e))&&this.workspace.getComponentManager().hasCapability(e.id,lt.Capability.DELETE_AREA)?e.wouldDelete(t):!1}onDragEnd(e){const t=i.getGroup$$module$build$src$core$events$utils();var o=this.workspace.getDragTarget(e);const n=this.getRoot(this.draggable);if(o){let c;(c=this.dragTarget)==null||c.onDrop(n)}this.shouldReturnToStart(e,n)&&this.draggable.revertDrag(),(o=ls(n)&&this.wouldDeleteDraggable(e,n))&&this.draggable instanceof gs&&za(this.draggable.getRootBlock()),this.draggable.endDrag(e),o&&ls(n)&&(e=i.getGroup$$module$build$src$core$events$utils(),i.setGroup$$module$build$src$core$events$utils(t),n.dispose(),i.setGroup$$module$build$src$core$events$utils(e))}getRoot(e){return e instanceof gs?e.getRootBlock():e}shouldReturnToStart(e,t){return(e=this.workspace.getDragTarget(e))?e.shouldPreventMove(t):!1}pixelsToWorkspaceUnits(e){return e=new G(e.x/this.workspace.scale,e.y/this.workspace.scale),this.workspace.isMutator&&e.scale(1/this.workspace.options.parentWorkspace.scale),e}};r(F.BLOCK_DRAGGER,js,ly);var Dr={};Dr.BlockDragStrategy=Pv,Dr.BubbleDragStrategy=vv,Dr.CommentDragStrategy=pv,Dr.Dragger=ly;var Rp=class extends Cs{constructor(e,t,o){super(e?e.workspace.id:void 0),this.type=O.BLOCK_DRAG,e&&(this.blockId=e.id,this.isStart=t,this.blocks=o)}toJson(){const e=super.toJson();if(this.isStart===void 0)throw Error("Whether this event is the start of a drag is undefined. Either pass the value to the constructor, or call fromJson");if(this.blockId===void 0)throw Error("The block ID is undefined. Either pass a block to the constructor, or call fromJson");return e.isStart=this.isStart,e.blockId=this.blockId,e.blocks=this.blocks,e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new Rp),t.isStart=e.isStart,t.blockId=e.blockId,t.blocks=e.blocks,t}};r(F.EVENT,O.BLOCK_DRAG,Rp);var Op=class extends ni{constructor(e,t,o,n){super(e),this.type=O.BLOCK_FIELD_INTERMEDIATE_CHANGE,this.recordUndo=!1,e&&(this.name=t,this.oldValue=o,this.newValue=n)}toJson(){const e=super.toJson();if(!this.name)throw Error("The changed field name is undefined. Either pass a name to the constructor, or call fromJson.");return e.name=this.name,e.oldValue=this.oldValue,e.newValue=this.newValue,e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new Op),t.name=e.name,t.oldValue=e.oldValue,t.newValue=e.newValue,t}isNull(){return this.oldValue===this.newValue}run(e){var t=this.getEventWorkspace_();if(!this.blockId)throw Error("The block ID is undefined. Either pass a block to the constructor, or call fromJson");if(t=t.getBlockById(this.blockId),!t)throw Error("The associated block is undefined. Either pass a block to the constructor, or call fromJson");e=e?this.newValue:this.oldValue,(t=t.getField(this.name))?t.setValue(e):console.warn("Can't set non-existent field: "+this.name)}};r(F.EVENT,O.BLOCK_FIELD_INTERMEDIATE_CHANGE,Op);var Mp=class extends ni{constructor(e){super(e),this.type=O.BLOCK_MOVE,e&&(e.isShadow()&&(this.recordUndo=!1),e=this.currentLocation(),this.oldParentId=e.parentId,this.oldInputName=e.inputName,this.oldCoordinate=e.coordinate)}toJson(){const e=super.toJson();return e.oldParentId=this.oldParentId,e.oldInputName=this.oldInputName,this.oldCoordinate&&(e.oldCoordinate=`${Math.round(this.oldCoordinate.x)}, ${Math.round(this.oldCoordinate.y)}`),e.newParentId=this.newParentId,e.newInputName=this.newInputName,this.newCoordinate&&(e.newCoordinate=`${Math.round(this.newCoordinate.x)}, ${Math.round(this.newCoordinate.y)}`),this.reason&&(e.reason=this.reason),this.recordUndo||(e.recordUndo=this.recordUndo),e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new Mp),t.oldParentId=e.oldParentId,t.oldInputName=e.oldInputName,e.oldCoordinate&&(o=e.oldCoordinate.split(","),t.oldCoordinate=new G(Number(o[0]),Number(o[1]))),t.newParentId=e.newParentId,t.newInputName=e.newInputName,e.newCoordinate&&(o=e.newCoordinate.split(","),t.newCoordinate=new G(Number(o[0]),Number(o[1]))),e.reason!==void 0&&(t.reason=e.reason),e.recordUndo!==void 0&&(t.recordUndo=e.recordUndo),t}recordNew(){const e=this.currentLocation();this.newParentId=e.parentId,this.newInputName=e.inputName,this.newCoordinate=e.coordinate}setReason(e){this.reason=e}currentLocation(){var e=this.getEventWorkspace_();if(!this.blockId)throw Error("The block ID is undefined. Either pass a block to the constructor, or call fromJson");var t=e.getBlockById(this.blockId);if(!t)throw Error("The block associated with the block move event could not be found");e={};const o=t.getParent();return o?(e.parentId=o.id,(t=o.getInputWithBlock(t))&&(e.inputName=t.name)):e.coordinate=t.getRelativeToSurfaceXY(),e}isNull(){return this.oldParentId===this.newParentId&&this.oldInputName===this.newInputName&&G.equals(this.oldCoordinate,this.newCoordinate)}run(e){var t=this.getEventWorkspace_();if(!this.blockId)throw Error("The block ID is undefined. Either pass a block to the constructor, or call fromJson");var o=t.getBlockById(this.blockId);if(o){var n=e?this.newParentId:this.oldParentId,c=e?this.newInputName:this.oldInputName;if(e=e?this.newCoordinate:this.oldCoordinate,n){var h=t.getBlockById(n);if(!h){console.warn("Can't connect to non-existent block: "+n);return}}if(o.getParent()&&o.unplug(),e)c=o.getRelativeToSurfaceXY(),o.moveBy(e.x-c.x,e.y-c.y,this.reason);else{t=o.outputConnection,(!t||o.previousConnection&&o.previousConnection.isConnected())&&(t=o.previousConnection);let $,T;o=(T=t)==null?void 0:T.type,c?(o=h.getInput(c))&&($=o.connection):o===oe.PREVIOUS_STATEMENT&&($=h.nextConnection),$&&t?t.connect($):console.warn("Can't connect to non-existent input: "+c)}}else console.warn("Can't move non-existent block: "+this.blockId)}};r(F.EVENT,O.BLOCK_MOVE,Mp);var Np=class extends Cs{constructor(e,t,o){super(e?e.workspace.id:void 0),this.type=O.BUBBLE_OPEN,e&&(this.blockId=e.id,this.isOpen=t,this.bubbleType=o)}toJson(){const e=super.toJson();if(this.isOpen===void 0)throw Error("Whether this event is for opening the bubble is undefined. Either pass the value to the constructor, or call fromJson");if(!this.bubbleType)throw Error("The type of bubble is undefined. Either pass the value to the constructor, or call fromJson");return e.isOpen=this.isOpen,e.bubbleType=this.bubbleType,e.blockId=this.blockId||"",e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new Np),t.isOpen=e.isOpen,t.bubbleType=e.bubbleType,t.blockId=e.blockId,t}},Lp;(function(e){e.MUTATOR="mutator",e.COMMENT="comment",e.WARNING="warning"})(Lp||(Lp={})),r(F.EVENT,O.BUBBLE_OPEN,Np);var Gs=class extends Ui{constructor(e){super(),this.isBlank=!e,e&&(this.commentId=e.id,this.workspaceId=e.workspace.id,this.group=i.getGroup$$module$build$src$core$events$utils(),this.recordUndo=me())}toJson(){const e=super.toJson();if(!this.commentId)throw Error("The comment ID is undefined. Either pass a comment to the constructor, or call fromJson");return e.commentId=this.commentId,e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new Gs),t.commentId=e.commentId,t}static CommentCreateDeleteHelper(e,t){const o=e.getEventWorkspace_();if(t){if(!e.json)throw Error("Encountered a comment event without proper json");Fn(e.json,o)}else{if(!e.commentId)throw Error("The comment ID is undefined. Either pass a comment to the constructor, or call fromJson");(t=o.getCommentById(e.commentId))?t.dispose():console.warn("Can't delete non-existent comment: "+e.commentId)}}},Pp=class extends Gs{constructor(e,t,o){super(e),this.type=O.COMMENT_CHANGE,e&&(this.oldContents_=typeof t>"u"?"":t,this.newContents_=typeof o>"u"?"":o)}toJson(){const e=super.toJson();if(!this.oldContents_)throw Error("The old contents is undefined. Either pass a value to the constructor, or call fromJson");if(!this.newContents_)throw Error("The new contents is undefined. Either pass a value to the constructor, or call fromJson");return e.oldContents=this.oldContents_,e.newContents=this.newContents_,e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new Pp),t.oldContents_=e.oldContents,t.newContents_=e.newContents,t}isNull(){return this.oldContents_===this.newContents_}run(e){var t=this.getEventWorkspace_();if(!this.commentId)throw Error("The comment ID is undefined. Either pass a comment to the constructor, or call fromJson");if(t=t.getCommentById(this.commentId)){var o=e?this.newContents_:this.oldContents_;if(o===void 0)throw Error(e?"The new contents is undefined. Either pass a value to the constructor, or call fromJson":"The old contents is undefined. Either pass a value to the constructor, or call fromJson");t.setText(o)}else console.warn("Can't change non-existent comment: "+this.commentId)}};r(F.EVENT,O.COMMENT_CHANGE,Pp);var Bp=class extends Gs{constructor(e,t){super(e),this.newCollapsed=t,this.type=O.COMMENT_COLLAPSE}toJson(){const e=super.toJson();if(this.newCollapsed===void 0)throw Error("The new collapse value undefined. Either call recordNew, or call fromJson");return e.newCollapsed=this.newCollapsed,e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new Bp),t.newCollapsed=e.newCollapsed,t}run(e){var t=this.getEventWorkspace_();if(!this.commentId)throw Error("The comment ID is undefined. Either pass a comment to the constructor, or call fromJson");(t=t.getCommentById(this.commentId))?t.setCollapsed(e?!!this.newCollapsed:!this.newCollapsed):console.warn("Can't collapse or uncollapse non-existent comment: "+this.commentId)}};r(F.EVENT,O.COMMENT_COLLAPSE,Bp);var jp=class extends Gs{constructor(e){super(e),this.type=O.COMMENT_CREATE,e&&(this.xml=Xn(e),this.json=xi(e,{addCoordinates:!0}))}toJson(){const e=super.toJson();if(!this.xml)throw Error("The comment XML is undefined. Either pass a comment to the constructor, or call fromJson");if(!this.json)throw Error("The comment JSON is undefined. Either pass a block to the constructor, or call fromJson");return e.xml=Ls(this.xml),e.json=this.json,e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new jp),t.xml=i.textToDom$$module$build$src$core$utils$xml(e.xml),t.json=e.json,t}run(e){Gs.CommentCreateDeleteHelper(this,e)}};r(F.EVENT,O.COMMENT_CREATE,jp);var Fp=class extends Gs{constructor(e){super(e),this.type=O.COMMENT_DELETE,e&&(this.xml=Xn(e),this.json=xi(e,{addCoordinates:!0}))}run(e){Gs.CommentCreateDeleteHelper(this,!e)}toJson(){const e=super.toJson();if(!this.xml)throw Error("The comment XML is undefined. Either pass a comment to the constructor, or call fromJson");if(!this.json)throw Error("The comment JSON is undefined. Either pass a block to the constructor, or call fromJson");return e.xml=Ls(this.xml),e.json=this.json,e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new Fp),t.xml=i.textToDom$$module$build$src$core$utils$xml(e.xml),t.json=e.json,t}};r(F.EVENT,O.COMMENT_DELETE,Fp);var zp=class extends Cs{constructor(e,t){super(e?e.workspace.id:void 0),this.type=O.COMMENT_DRAG,e&&(this.commentId=e.id,this.isStart=t)}toJson(){const e=super.toJson();if(this.isStart===void 0)throw Error("Whether this event is the start of a drag is undefined. Either pass the value to the constructor, or call fromJson");if(this.commentId===void 0)throw Error("The comment ID is undefined. Either pass a comment to the constructor, or call fromJson");return e.isStart=this.isStart,e.commentId=this.commentId,e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new zp),t.isStart=e.isStart,t.commentId=e.commentId,t}};r(F.EVENT,O.COMMENT_DRAG,zp);var Up=class extends Gs{constructor(e){super(e),this.type=O.COMMENT_MOVE,e&&(this.comment_=e,this.oldCoordinate_=e.getRelativeToSurfaceXY())}recordNew(){if(this.newCoordinate_)throw Error("Tried to record the new position of a comment on the same event twice.");if(!this.comment_)throw Error("The comment is undefined. Pass a comment to the constructor if you want to use the record functionality");this.newCoordinate_=this.comment_.getRelativeToSurfaceXY()}setReason(e){this.reason=e}setOldCoordinate(e){this.oldCoordinate_=e}toJson(){const e=super.toJson();if(!this.oldCoordinate_)throw Error("The old comment position is undefined. Either pass a comment to the constructor, or call fromJson");if(!this.newCoordinate_)throw Error("The new comment position is undefined. Either call recordNew, or call fromJson");return e.oldCoordinate=`${Math.round(this.oldCoordinate_.x)}, ${Math.round(this.oldCoordinate_.y)}`,e.newCoordinate=Math.round(this.newCoordinate_.x)+","+Math.round(this.newCoordinate_.y),e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new Up),o=e.oldCoordinate.split(","),t.oldCoordinate_=new G(Number(o[0]),Number(o[1])),o=e.newCoordinate.split(","),t.newCoordinate_=new G(Number(o[0]),Number(o[1])),t}isNull(){return G.equals(this.oldCoordinate_,this.newCoordinate_)}run(e){var t=this.getEventWorkspace_();if(!this.commentId)throw Error("The comment ID is undefined. Either pass a comment to the constructor, or call fromJson");if(t=t.getCommentById(this.commentId)){if(e=e?this.newCoordinate_:this.oldCoordinate_,!e)throw Error("Either oldCoordinate_ or newCoordinate_ is undefined. Either pass a comment to the constructor and call recordNew, or call fromJson");t.moveTo(e)}else console.warn("Can't move non-existent comment: "+this.commentId)}};r(F.EVENT,O.COMMENT_MOVE,Up);var Hp=class extends Gs{constructor(e){super(e),this.type=O.COMMENT_RESIZE,e&&(this.oldSize=e.getSize())}recordCurrentSizeAsNewSize(){if(this.newSize)throw Error("Tried to record the new size of a comment on the same event twice.");var e=this.getEventWorkspace_();if(!this.commentId)throw Error("The comment ID is undefined. Either pass a comment to the constructor, or call fromJson");if(e=e.getCommentById(this.commentId),!e)throw Error("The comment associated with the comment resize event could not be found");this.newSize=e.getSize()}toJson(){const e=super.toJson();if(!this.oldSize)throw Error("The old comment size is undefined. Either pass a comment to the constructor, or call fromJson");if(!this.newSize)throw Error("The new comment size is undefined. Either call recordCurrentSizeAsNewSize, or call fromJson");return e.oldWidth=Math.round(this.oldSize.width),e.oldHeight=Math.round(this.oldSize.height),e.newWidth=Math.round(this.newSize.width),e.newHeight=Math.round(this.newSize.height),e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new Hp),t.oldSize=new Le(e.oldWidth,e.oldHeight),t.newSize=new Le(e.newWidth,e.newHeight),t}isNull(){return Le.equals(this.oldSize,this.newSize)}run(e){var t=this.getEventWorkspace_();if(!this.commentId)throw Error("The comment ID is undefined. Either pass a comment to the constructor, or call fromJson");if(t=t.getCommentById(this.commentId)){if(e=e?this.newSize:this.oldSize,!e)throw Error("Either oldSize or newSize is undefined. Either pass a comment to the constructor and call recordCurrentSizeAsNewSize, or call fromJson");t.setSize(e)}else console.warn("Can't resize non-existent comment: "+this.commentId)}};r(F.EVENT,O.COMMENT_RESIZE,Hp);var Wp=class extends Cs{constructor(e,t,o){super(o),this.type=O.TOOLBOX_ITEM_SELECT,this.oldItem=e??void 0,this.newItem=t??void 0}toJson(){const e=super.toJson();return e.oldItem=this.oldItem,e.newItem=this.newItem,e}static fromJson(e,t,o){return t=super.fromJson(e,t,o??new Wp),t.oldItem=e.oldItem,t.newItem=e.newItem,t}};r(F.EVENT,O.TOOLBOX_ITEM_SELECT,Wp);var cy=class extends Ui{constructor(e){super(),this.isBlank=!0,this.recordUndo=!1,this.type=O.FINISHED_LOADING,this.isBlank=!!e,e&&(this.workspaceId=e.id)}};r(F.EVENT,O.FINISHED_LOADING,cy);var uy,dy,hy,py,gy,my,fy,$y,by,vy,yy,_y,wy,Cy,Ty,ky,Sy,Ey,Iy,xy,Dy,Ay,Ry,Oy,My,Q;i.BLOCK_CHANGE$$module$build$src$core$events$events=O.BLOCK_CHANGE,i.BLOCK_CREATE$$module$build$src$core$events$events=O.BLOCK_CREATE,i.BLOCK_DELETE$$module$build$src$core$events$events=O.BLOCK_DELETE,uy=O.BLOCK_DRAG,i.BLOCK_MOVE$$module$build$src$core$events$events=O.BLOCK_MOVE,dy=O.BLOCK_FIELD_INTERMEDIATE_CHANGE,hy=O.BUBBLE_OPEN,py=O.BLOCK_CHANGE,gy=O.CLICK,my=O.COMMENT_CHANGE,fy=O.COMMENT_CREATE,$y=O.COMMENT_DELETE,by=O.COMMENT_MOVE,vy=O.COMMENT_RESIZE,yy=O.COMMENT_DRAG,_y=O.BLOCK_CREATE,wy=O.BLOCK_DELETE,Cy=O.FINISHED_LOADING,Ty=O.MARKER_MOVE,ky=O.BLOCK_MOVE,Sy=O.SELECTED,Ey=O.THEME_CHANGE,Iy=O.TOOLBOX_ITEM_SELECT,xy=O.TRASHCAN_OPEN,Dy=O.UI,Ay=O.VAR_CREATE,Ry=O.VAR_DELETE,Oy=O.VAR_RENAME,My=O.VIEWPORT_CHANGE,Q={},Q.Abstract=Ui,Q.BLOCK_CHANGE=i.BLOCK_CHANGE$$module$build$src$core$events$events,Q.BLOCK_CREATE=i.BLOCK_CREATE$$module$build$src$core$events$events,Q.BLOCK_DELETE=i.BLOCK_DELETE$$module$build$src$core$events$events,Q.BLOCK_DRAG=uy,Q.BLOCK_FIELD_INTERMEDIATE_CHANGE=dy,Q.BLOCK_MOVE=i.BLOCK_MOVE$$module$build$src$core$events$events,Q.BUBBLE_OPEN=hy,Q.BUMP_EVENTS=ub,Q.BlockBase=ni,Q.BlockChange=ri,Q.BlockCreate=Xh,Q.BlockDelete=up,Q.BlockDrag=Rp,Q.BlockFieldIntermediateChange=Op,Q.BlockMove=Mp,Q.BubbleOpen=Np,Q.BubbleType=Lp,Q.CHANGE=py,Q.CLICK=gy,Q.COMMENT_CHANGE=my,Q.COMMENT_CREATE=fy,Q.COMMENT_DELETE=$y,Q.COMMENT_DRAG=yy,Q.COMMENT_MOVE=by,Q.COMMENT_RESIZE=vy,Q.CREATE=_y,Q.Click=fh,Q.ClickTarget=$h,Q.CommentBase=Gs,Q.CommentChange=Pp,Q.CommentCollapse=Bp,Q.CommentCreate=jp,Q.CommentDelete=Fp,Q.CommentDrag=zp,Q.CommentMove=Up,Q.CommentResize=Hp,Q.DELETE=wy,Q.FINISHED_LOADING=Cy,Q.FinishedLoading=cy,Q.MARKER_MOVE=Ty,Q.MOVE=ky,Q.MarkerMove=dp,Q.SELECTED=Sy,Q.Selected=vp,Q.THEME_CHANGE=Ey,Q.TOOLBOX_ITEM_SELECT=Iy,Q.TRASHCAN_OPEN=xy,Q.ThemeChange=Zh,Q.ToolboxItemSelect=Wp,Q.TrashcanOpen=_p,Q.UI=Dy,Q.UiBase=Cs,Q.VAR_CREATE=Ay,Q.VAR_DELETE=Ry,Q.VAR_RENAME=Oy,Q.VIEWPORT_CHANGE=My,Q.VarBase=dr,Q.VarCreate=Ph,Q.VarDelete=fp,Q.VarRename=$p,Q.ViewportChange=Qh,Q.clearPendingUndo=ce,Q.disable=i.disable$$module$build$src$core$events$utils,Q.disableOrphans=tt,Q.enable=i.enable$$module$build$src$core$events$utils,Q.filter=ae,Q.fire=z,Q.fromJson=je,Q.get=V,Q.getDescendantIds=he,Q.getGroup=i.getGroup$$module$build$src$core$events$utils,Q.getRecordUndo=me,Q.isEnabled=K,Q.setGroup=i.setGroup$$module$build$src$core$events$utils,Q.setRecordUndo=i.setRecordUndo$$module$build$src$core$events$utils;var xs={};xs.BottomRow=qv,xs.ConstantProvider=Yv,xs.Drawer=Jv,xs.MarkerSvg=ey,xs.PathObject=ty,xs.RenderInfo=Qv,xs.Renderer=xp,xs.RightConnectionShape=Xv,xs.StatementInput=Gl,xs.TopRow=Zv,hh();var Tt={};Tt.registerCleanup=qd,Tt.registerCollapse=Zd,Tt.registerCollapseExpandBlock=nh,Tt.registerComment=oh,Tt.registerCommentCreate=dh,Tt.registerCommentDelete=ch,Tt.registerCommentDuplicate=uh,Tt.registerCommentOptions=ib,Tt.registerDefaultOptions=hh,Tt.registerDelete=ah,Tt.registerDeleteAll=th,Tt.registerDisable=rh,Tt.registerDuplicate=sh,Tt.registerExpand=Qd,Tt.registerHelp=lh,Tt.registerInline=ih,Tt.registerRedo=Jd,Tt.registerUndo=Yd;var Kl={};Kl.CommentView=mv,Kl.RenderedWorkspaceComment=kl,Kl.WorkspaceComment=Tl;var Ar={};Ar.Bubble=Ye,Ar.MiniWorkspaceBubble=uo,Ar.TextBubble=kv,Ar.TextInputBubble=yv;var Ny=class extends Ml{constructor(){super(),this.FIELD_TEXT_BASELINE_CENTER=!1,this.DARK_PATH_OFFSET=1,this.MAX_BOTTOM_WIDTH=30,this.STATEMENT_BOTTOM_SPACER=-this.NOTCH_HEIGHT/2}getCSS_(e){return super.getCSS_(e).concat([`${e} .blocklyInsertionMarker>.blocklyPathLight,`,`${e} .blocklyInsertionMarker>.blocklyPathDark {`,`fill-opacity: ${this.INSERTION_MARKER_OPACITY};`,"stroke: none;","}"])}},Ly=class{constructor(e){this.inlineSteps_=this.steps_="",this.info_=e,this.RTL_=this.info_.RTL,e=e.getRenderer(),this.constants_=e.getConstants(),this.highlightConstants_=e.getHighlightConstants(),this.highlightOffset=this.highlightConstants_.OFFSET,this.outsideCornerPaths_=this.highlightConstants_.OUTSIDE_CORNER,this.insideCornerPaths_=this.highlightConstants_.INSIDE_CORNER,this.puzzleTabPaths_=this.highlightConstants_.PUZZLE_TAB,this.notchPaths_=this.highlightConstants_.NOTCH,this.startPaths_=this.highlightConstants_.START_HAT,this.jaggedTeethPaths_=this.highlightConstants_.JAGGED_TEETH}getPath(){return this.steps_+` `+this.inlineSteps_}drawTopCorner(e){this.steps_+=at(e.xPos,this.info_.startY);for(let t=0,o;o=e.elements[t];t++)S.isLeftSquareCorner(o)?this.steps_+=this.highlightConstants_.START_POINT:S.isLeftRoundedCorner(o)?this.steps_+=this.outsideCornerPaths_.topLeft(this.RTL_):S.isPreviousConnection(o)?this.steps_+=this.notchPaths_.pathLeft:S.isHat(o)?this.steps_+=this.startPaths_.path(this.RTL_):S.isSpacer(o)&&o.width!==0&&(this.steps_+=ne("H",o.xPos+o.width-this.highlightOffset));this.steps_+=ne("H",e.xPos+e.width-this.highlightOffset)}drawJaggedEdge_(e){this.info_.RTL&&(this.steps_+=this.jaggedTeethPaths_.pathLeft+ne("v",e.height-this.jaggedTeethPaths_.height-this.highlightOffset))}drawValueInput(e){const t=e.getLastInput();if(this.RTL_){const o=e.height-t.connectionHeight;this.steps_+=wt(t.xPos+t.width-this.highlightOffset,e.yPos)+this.puzzleTabPaths_.pathDown(this.RTL_)+ne("v",o)}else this.steps_+=wt(t.xPos+t.width,e.yPos)+this.puzzleTabPaths_.pathDown(this.RTL_)}drawStatementInput(e){const t=e.getLastInput();if(t)if(this.RTL_){const o=e.height-2*this.insideCornerPaths_.height;this.steps_+=wt(t.xPos,e.yPos)+this.insideCornerPaths_.pathTop(this.RTL_)+ne("v",o)+this.insideCornerPaths_.pathBottom(this.RTL_)+Bs(e.width-t.xPos-this.insideCornerPaths_.width,0)}else this.steps_+=wt(t.xPos,e.yPos+e.height)+this.insideCornerPaths_.pathBottom(this.RTL_)+Bs(e.width-t.xPos-this.insideCornerPaths_.width,0)}drawRightSideRow(e){const t=e.xPos+e.width-this.highlightOffset;e instanceof lp&&e.followsStatement&&(this.steps_+=ne("H",t)),this.RTL_&&(this.steps_+=ne("H",t),e.height>this.highlightOffset&&(this.steps_+=ne("V",e.yPos+e.height-this.highlightOffset)))}drawBottomRow(e){if(this.RTL_)this.steps_+=ne("V",e.baseline-this.highlightOffset);else{const t=this.info_.bottomRow.elements[0];S.isLeftSquareCorner(t)?this.steps_+=wt(e.xPos+this.highlightOffset,e.baseline-this.highlightOffset):S.isLeftRoundedCorner(t)&&(this.steps_+=wt(e.xPos,e.baseline),this.steps_+=this.outsideCornerPaths_.bottomLeft())}}drawLeft(){var e=this.info_.outputConnection;e&&(e=e.connectionOffsetY+e.height,this.RTL_?this.steps_+=wt(this.info_.startX,e):(this.steps_+=wt(this.info_.startX+this.highlightOffset,this.info_.bottomRow.baseline-this.highlightOffset),this.steps_+=ne("V",e)),this.steps_+=this.puzzleTabPaths_.pathUp(this.RTL_)),this.RTL_||(e=this.info_.topRow,S.isLeftRoundedCorner(e.elements[0])?this.steps_+=ne("V",this.outsideCornerPaths_.height):this.steps_+=ne("V",e.capline+this.highlightOffset))}drawInlineInput(e){const t=this.highlightOffset,o=e.xPos+e.connectionWidth;var n=e.centerline-e.height/2;const c=e.width-e.connectionWidth,h=n+t;this.RTL_?(n=e.connectionOffsetY-t,e=e.height-(e.connectionOffsetY+e.connectionHeight)+t,this.inlineSteps_+=wt(o-t,h)+ne("v",n)+this.puzzleTabPaths_.pathDown(this.RTL_)+ne("v",e)+ne("h",c)):this.inlineSteps_+=wt(e.xPos+e.width+t,h)+ne("v",e.height)+ne("h",-c)+wt(o,n+e.connectionOffsetY)+this.puzzleTabPaths_.pathDown(this.RTL_)}},Py=class extends Nl{constructor(e,t){super(e,t),this.highlighter_=new Ly(t)}draw(){this.drawOutline_(),this.drawInternals_(),this.updateConnectionHighlights();const e=this.block_.pathObject;e.setPath(this.outlinePath_+` -`+this.inlinePath_),e.setHighlightPath(this.highlighter_.getPath()),this.info_.RTL&&e.flipRTL(),this.recordSizeOnBlock_()}drawTop_(){this.highlighter_.drawTopCorner(this.info_.topRow),this.highlighter_.drawRightSideRow(this.info_.topRow),super.drawTop_()}drawJaggedEdge_(e){this.highlighter_.drawJaggedEdge_(e),super.drawJaggedEdge_(e)}drawValueInput_(e){this.highlighter_.drawValueInput(e),super.drawValueInput_(e)}drawStatementInput_(e){this.highlighter_.drawStatementInput(e),super.drawStatementInput_(e)}drawRightSideRow_(e){this.highlighter_.drawRightSideRow(e),this.outlinePath_+=ne("H",e.xPos+e.width)+ne("V",e.yPos+e.height)}drawBottom_(){this.highlighter_.drawBottomRow(this.info_.bottomRow),super.drawBottom_()}drawLeft_(){this.highlighter_.drawLeft(),super.drawLeft_()}drawInlineInput_(e){this.highlighter_.drawInlineInput(e),super.drawInlineInput_(e)}positionInlineInputConnection_(e){const t=e.centerline-e.height/2;if(e.connectionModel){let o=e.xPos+e.connectionWidth+this.constants_.DARK_PATH_OFFSET;this.info_.RTL&&(o*=-1),e.connectionModel.setOffsetInBlock(o,t+e.connectionOffsetY+this.constants_.DARK_PATH_OFFSET)}}positionStatementInputConnection_(e){const t=e.getLastInput();if(t!=null&&t.connectionModel){let o=e.xPos+e.statementEdge+t.notchOffset;o=this.info_.RTL?-1*o:o+this.constants_.DARK_PATH_OFFSET,t.connectionModel.setOffsetInBlock(o,e.yPos+this.constants_.DARK_PATH_OFFSET)}}positionExternalValueConnection_(e){const t=e.getLastInput();if(t&&t.connectionModel){let o=e.xPos+e.width+this.constants_.DARK_PATH_OFFSET;this.info_.RTL&&(o*=-1),t.connectionModel.setOffsetInBlock(o,e.yPos)}}positionNextConnection_(){const e=this.info_.bottomRow;if(e.connection){const t=e.connection,o=t.xPos;t.connectionModel.setOffsetInBlock((this.info_.RTL?-o:o)+this.constants_.DARK_PATH_OFFSET/2,e.baseline+this.constants_.DARK_PATH_OFFSET)}}},By=class{constructor(e){this.OFFSET=.5,this.constantProvider=e,this.START_POINT=at(this.OFFSET,this.OFFSET)}init(){this.INSIDE_CORNER=this.makeInsideCorner(),this.OUTSIDE_CORNER=this.makeOutsideCorner(),this.PUZZLE_TAB=this.makePuzzleTab(),this.NOTCH=this.makeNotch(),this.JAGGED_TEETH=this.makeJaggedTeeth(),this.START_HAT=this.makeStartHat()}makeInsideCorner(){const e=this.constantProvider.CORNER_RADIUS,t=this.OFFSET,o=(1-Math.SQRT1_2)*(e+t)-t,n=at(o,o)+gt("a","0 0,0",e,ue(-o-t,e-o)),c=gt("a","0 0,0",e+t,ue(e+t,e+t)),h=at(o,-o)+gt("a","0 0,0",e+t,ue(e-o,o+t));return{width:e+t,height:e,pathTop($){return $?n:""},pathBottom($){return $?c:h}}}makeOutsideCorner(){const e=this.constantProvider.CORNER_RADIUS,t=this.OFFSET,o=(1-Math.SQRT1_2)*(e-t)+t,n=at(o,o)+gt("a","0 0,1",e-t,ue(e-o,-o+t)),c=at(t,e)+gt("a","0 0,1",e-t,ue(e,-e+t)),h=-o,$=at(o,h)+gt("a","0 0,1",e-t,ue(-o+t,-h-e));return{height:e,topLeft(T){return T?n:c},bottomLeft(){return $}}}makePuzzleTab(){const e=this.constantProvider.TAB_WIDTH,t=this.constantProvider.TAB_HEIGHT,o=at(-2,-t+3.4)+Bs(-.45*e,-2.1),n=ne("v",2.5)+at(.97*-e,2.5)+Yt("q",[ue(.05*-e,10),ue(.3*e,9.5)])+at(.67*e,-1.9)+ne("v",2.5),c=ne("v",-1.5)+at(-.92*e,-.5)+Yt("q",[ue(-.19*e,-5.5),ue(0,-11)])+at(.92*e,1),h=at(-5,t-.7)+Bs(.46*e,-2.1);return{width:e,height:t,pathUp($){return $?o:c},pathDown($){return $?n:h}}}makeNotch(){return{pathLeft:ne("h",this.OFFSET)+this.constantProvider.NOTCH.pathLeft}}makeJaggedTeeth(){return{pathLeft:Bs(5.1,2.6)+at(-10.2,6.8)+Bs(5.1,2.6),height:12,width:10.2}}makeStartHat(){const e=this.constantProvider.START_HAT.height,t=at(25,-8.7)+Yt("c",[ue(29.7,-6.2),ue(57.2,-.5),ue(75,8.7)]),o=Yt("c",[ue(17.8,-9.2),ue(45.3,-14.9),ue(75,-8.7)])+wt(100.5,e+.5);return{path(n){return n?t:o}}}},jy=class extends rp{constructor(e,t){super(e,t),this.constants_=e,this.connectedBlock&&(this.width+=this.constants_.DARK_PATH_OFFSET,this.height+=this.constants_.DARK_PATH_OFFSET)}},Fy=class extends wr{constructor(e,t){super(e,t),this.constants_=e,this.connectedBlock&&(this.height+=this.constants_.DARK_PATH_OFFSET)}},zy=class extends kr{constructor(e,t){super(e,t),this.renderer_=e}getRenderer(){return this.renderer_}populateBottomRow_(){super.populateBottomRow_(),this.block_.inputList.length&&this.block_.inputList[this.block_.inputList.length-1]instanceof is||(this.bottomRow.minHeight=this.constants_.MEDIUM_PADDING-this.constants_.DARK_PATH_OFFSET)}addInput_(e,t){this.isInline&&e instanceof i.ValueInput$$module$build$src$core$inputs$value_input?(t.elements.push(new jy(this.constants_,e)),t.hasInlineInput=!0):e instanceof is?(t.elements.push(new Fy(this.constants_,e)),t.hasStatement=!0):e instanceof i.ValueInput$$module$build$src$core$inputs$value_input?(t.elements.push(new Ol(this.constants_,e)),t.hasExternalInput=!0):(e instanceof Us||e instanceof fo)&&(t.minHeight=Math.max(t.minHeight,this.constants_.DUMMY_INPUT_MIN_HEIGHT),t.hasDummyInput=!0),this.isInline||t.align!==null||(t.align=e.align)}addElemSpacing_(){let e=!1;for(let o=0,n;n=this.rows[o];o++)n.hasExternalInput&&(e=!0);for(let o=0,n;n=this.rows[o];o++){var t=n.elements;if(n.elements=[],n.startsWithElemSpacer()&&n.elements.push(new os(this.constants_,this.getInRowSpacing_(null,t[0]))),t.length){for(let c=0;c>>/handdelete.cur"), auto; } @@ -1009,7 +1009,7 @@ Blockly.YourGeneratorName.nameDB_.setVariableMap(workspace.getVariableMap());`), .blocklyToolboxContents:focus { outline: none; } -`),r(F.TOOLBOX,js,Gy);var fk="11.2.2",$k=oe.INPUT_VALUE,bk=oe.OUTPUT_VALUE,vk=oe.NEXT_STATEMENT,yk=oe.PREVIOUS_STATEMENT,_k=Ee.TOP,wk=Ee.BOTTOM,Ck=Ee.LEFT,Tk=Ee.RIGHT;rn.prototype.newBlock=function(e,t){return new Oo(this,e,t)},ns.prototype.newBlock=function(e,t){return new gs(this,e,t)},rn.prototype.newComment=function(e){return new Tl(this,e)},ns.prototype.newComment=function(e){return new kl(this,e)},ns.newTrashcan=function(e){return new Uv(e)},uo.prototype.newWorkspaceSvg=function(e){return new ns(e)},i.Names$$module$build$src$core$names.prototype.populateProcedures=function(e){e=Ka(e),e=e[0].concat(e[1]);for(let t=0;t{this.setState({popper:b.I18n.t("Copied"),anchorEl:i}),setTimeout(()=>this.setState({popper:"",anchorEl:null}),1e3)},50)}render(){const s=new Blob([this.props.text],{type:"application/xml"}),i=`${this.props.scriptId.substring(10)}.xml`;return g.jsxs(Vt,{onClose:()=>!1,maxWidth:"lg",sx:{"& .MuiDialog-paper":Pr.dialog},fullWidth:!0,open:!0,"aria-labelledby":"export-dialog-title",children:[g.jsx(as,{id:"export-dialog-title",children:b.I18n.t("Export selected blocks")}),g.jsx(Gt,{style:Pr.overflowY,children:g.jsx("pre",{id:"export-text",style:{...Pr.textArea,...this.props.themeType==="dark"?void 0:Pr.textAreaLight},children:this.props.text})}),g.jsxs(Kt,{children:[g.jsx(De,{variant:"contained",color:"secondary",startIcon:g.jsx(vc,{}),children:g.jsx("a",{download:i,target:"_blank",rel:"noreferrer",href:URL.createObjectURL(s),style:{textDecoration:"inherit",color:"inherit"},children:b.I18n.t("Download as file")})}),g.jsx(De,{variant:"contained",onClick:r=>this.onCopy(r),color:"secondary",startIcon:g.jsx(nx,{}),children:b.I18n.t("Copy to clipboard")}),g.jsx(De,{variant:"contained",onClick:()=>this.handleCancel(),color:"primary",startIcon:g.jsx(qs,{}),children:b.I18n.t("Close")}),g.jsx(Vk,{id:"popper",style:{zIndex:1e4},open:!!this.state.popper,placement:"top",anchorEl:this.state.anchorEl,transition:!0,children:({TransitionProps:r})=>g.jsx(Gk,{...r,timeout:350,children:g.jsx(Dw,{children:g.jsx("p",{style:Pr.typography,children:this.state.popper})})})}),g.jsx("textarea",{id:"copy_input",readOnly:!0,style:{position:"absolute",left:-9999},tabIndex:-1,"aria-hidden":!0,value:this.props.text})]})]},"export-dialog")}}const Ot={textArea:{width:"calc(100% - 10px)",height:"calc(80% - 20px)",resize:"none",fontFamily:"monospace",fontSize:"1em",backgroundColor:"transparent",borderRadius:4,outline:"none"},dropzone:{marginTop:20,width:"100%",borderWidth:5,borderStyle:"dashed",borderColor:"#d0cccc",textAlign:"center",boxSizing:"border-box",paddingTop:45,borderRadius:10,height:"calc(100% - 10px)"},dropzoneDiv:{width:"100%",height:"20%",position:"relative"},dropzoneRejected:{borderColor:"#970000"},dropzoneAccepted:{borderColor:"#17cd02"},icon:{height:"80%",width:"80%",opacity:.3,color:"#eeeeee",position:"absolute",top:"50%",left:"50%",transform:"translate(-50%,-50%)",zIndex:0},iconError:{color:"#ffc3c6"},iconOk:{color:"#aaeebc"},text:{top:"50%",left:"50%",transform:"translate(-50%,-50%)",color:"#868686",position:"absolute",zIndex:1},dialog:{height:"95%"},fullHeight:{height:"100%",overflow:"hidden"}};class zm extends Y.Component{constructor(s){super(s),this.state={text:"",imageStatus:"",error:""}}componentDidMount(){setTimeout(()=>{var s;try{(s=window.document.getElementById("import-text-area"))==null||s.focus()}catch{}},100)}static readFileDataUrl(s,i){const r=new FileReader;r.onload=()=>{i(null,{data:r.result,name:s.name})},r.onabort=()=>{console.error("file reading was aborted"),i(b.I18n.t("file reading was aborted"))},r.onerror=l=>{console.error("file reading has failed"),i(b.I18n.t("file reading has failed: %s",l))},r.readAsText(s)}handleDropFile(s){if(!(s!=null&&s.length))return;const i=s[s.length-1];i&&zm.readFileDataUrl(i,(r,l)=>{var u;r||!l?this.setState({error:r||"No data"}):this.setState({text:((u=l.data)==null?void 0:u.toString())||""})})}handleCancel(){this.props.onClose()}handleOk(){this.props.onClose(this.state.text)}onChange(s){this.setState({text:s.target.value})}render(){const s={...Ot.dropzone,...this.state.imageStatus==="accepted"?Ot.dropzoneAccepted:this.state.imageStatus==="rejected"?Ot.dropzoneRejected:void 0};return g.jsxs(Vt,{onClose:()=>!1,maxWidth:"lg",sx:{"& .MuiDialog-paper":Ot.dialog},fullWidth:!0,open:!0,"aria-labelledby":"import-dialog-title",children:[g.jsx(as,{id:"import-dialog-title",children:b.I18n.t("Import blocks")}),g.jsxs(Gt,{style:Ot.fullHeight,children:[g.jsx("textarea",{autoFocus:!0,id:"import-text-area",placeholder:b.I18n.t("Paste your blocks here"),style:{...Ot.textArea,color:this.props.themeType==="dark"?"#ffffff":"#000000"},onChange:i=>this.onChange(i),value:this.state.text}),g.jsx(Mw,{maxSize:5e7,onDrop:(i,r)=>{var l,u,d;i.length?this.handleDropFile(i):window.alert(((d=(u=(l=r==null?void 0:r[0])==null?void 0:l.errors)==null?void 0:u[0])==null?void 0:d.message)||b.I18n.t("ra_Cannot upload"))},multiple:!1,accept:{"text/plain":[],"text/xml":[],"application/xml":[]},children:({getRootProps:i,getInputProps:r,isDragActive:l,isDragReject:u})=>u?(this.state.imageStatus!=="rejected"&&this.setState({imageStatus:"rejected"}),g.jsxs("div",{style:{...s,...Ot.dropzoneDiv},...i(),children:[g.jsx("input",{...r()}),g.jsx("span",{style:Ot.text,children:b.I18n.t("Some files will be rejected")},"text"),g.jsx(Wc,{style:{...Ot.icon,...Ot.iconError}},"icon")]})):l?(this.state.imageStatus!=="accepted"&&this.setState({imageStatus:"accepted"}),g.jsxs("div",{style:{...s,...Ot.dropzoneDiv},...i(),children:[g.jsx("input",{...r()}),g.jsx("span",{style:Ot.text,children:b.I18n.t("All files will be accepted")},"text"),g.jsx(Nw,{style:{...Ot.icon,...Ot.iconOk}},"icon")]})):(this.state.imageStatus!=="wait"&&this.setState({imageStatus:"wait"}),g.jsxs("div",{style:{...s,...Ot.dropzoneDiv},...i(),children:[g.jsx("input",{...r()}),g.jsx("span",{style:Ot.text,children:b.I18n.t("Drop some files here or click...")},"text"),g.jsx(Lw,{style:Ot.icon},"icon")]}))})]}),g.jsxs(Kt,{children:[g.jsx(De,{variant:"contained",disabled:!this.state.text,onClick:()=>this.handleOk(),color:"primary",startIcon:g.jsx(zo,{}),children:b.I18n.t("Import")}),g.jsx(De,{color:"grey",variant:"contained",onClick:()=>this.handleCancel(),startIcon:g.jsx(qs,{}),children:b.I18n.t("Close")})]})]})}}const we=window.Blockly;class mg extends Error{constructor(){super("The field has not yet been attached to its input. Call appendField to attach it.")}}class Ic extends we.Field{textGroup=null;borderRect_=null;maxLines_=1/0;isOverflowedY_=!1;constructor(s,i,r){super(s),s!==Symbol("SKIP_SETUP")&&(r&&this.configure_(r),this.SERIALIZABLE=!0,this.setValue((s==null?void 0:s.toString())||""),i&&this.setValidator(i))}configure_(s){super.configure_(s),s.maxLines&&this.setMaxLines(s.maxLines)}toXml(s){return s.textContent=this.getValue().replace(/\n/g," "),s}fromXml(s){this.setValue(s.textContent.replace(/ /g,` +`),r(F.TOOLBOX,js,Vy);var fk="11.2.2",$k=oe.INPUT_VALUE,bk=oe.OUTPUT_VALUE,vk=oe.NEXT_STATEMENT,yk=oe.PREVIOUS_STATEMENT,_k=Ee.TOP,wk=Ee.BOTTOM,Ck=Ee.LEFT,Tk=Ee.RIGHT;rn.prototype.newBlock=function(e,t){return new Oo(this,e,t)},ns.prototype.newBlock=function(e,t){return new gs(this,e,t)},rn.prototype.newComment=function(e){return new Tl(this,e)},ns.prototype.newComment=function(e){return new kl(this,e)},ns.newTrashcan=function(e){return new Uv(e)},uo.prototype.newWorkspaceSvg=function(e){return new ns(e)},i.Names$$module$build$src$core$names.prototype.populateProcedures=function(e){e=Ka(e),e=e[0].concat(e[1]);for(let t=0;t{this.setState({popper:b.I18n.t("Copied"),anchorEl:i}),setTimeout(()=>this.setState({popper:"",anchorEl:null}),1e3)},50)}render(){const s=new Blob([this.props.text],{type:"application/xml"}),i=`${this.props.scriptId.substring(10)}.xml`;return g.jsxs(Gt,{onClose:()=>!1,maxWidth:"lg",sx:{"& .MuiDialog-paper":Pr.dialog},fullWidth:!0,open:!0,"aria-labelledby":"export-dialog-title",children:[g.jsx(as,{id:"export-dialog-title",children:b.I18n.t("Export selected blocks")}),g.jsx(Vt,{style:Pr.overflowY,children:g.jsx("pre",{id:"export-text",style:{...Pr.textArea,...this.props.themeType==="dark"?void 0:Pr.textAreaLight},children:this.props.text})}),g.jsxs(Kt,{children:[g.jsx(De,{variant:"contained",color:"secondary",startIcon:g.jsx(vc,{}),children:g.jsx("a",{download:i,target:"_blank",rel:"noreferrer",href:URL.createObjectURL(s),style:{textDecoration:"inherit",color:"inherit"},children:b.I18n.t("Download as file")})}),g.jsx(De,{variant:"contained",onClick:r=>this.onCopy(r),color:"secondary",startIcon:g.jsx(rx,{}),children:b.I18n.t("Copy to clipboard")}),g.jsx(De,{variant:"contained",onClick:()=>this.handleCancel(),color:"primary",startIcon:g.jsx(qs,{}),children:b.I18n.t("Close")}),g.jsx(Gk,{id:"popper",style:{zIndex:1e4},open:!!this.state.popper,placement:"top",anchorEl:this.state.anchorEl,transition:!0,children:({TransitionProps:r})=>g.jsx(Vk,{...r,timeout:350,children:g.jsx(Dw,{children:g.jsx("p",{style:Pr.typography,children:this.state.popper})})})}),g.jsx("textarea",{id:"copy_input",readOnly:!0,style:{position:"absolute",left:-9999},tabIndex:-1,"aria-hidden":!0,value:this.props.text})]})]},"export-dialog")}}const Ot={textArea:{width:"calc(100% - 10px)",height:"calc(80% - 20px)",resize:"none",fontFamily:"monospace",fontSize:"1em",backgroundColor:"transparent",borderRadius:4,outline:"none"},dropzone:{marginTop:20,width:"100%",borderWidth:5,borderStyle:"dashed",borderColor:"#d0cccc",textAlign:"center",boxSizing:"border-box",paddingTop:45,borderRadius:10,height:"calc(100% - 10px)"},dropzoneDiv:{width:"100%",height:"20%",position:"relative"},dropzoneRejected:{borderColor:"#970000"},dropzoneAccepted:{borderColor:"#17cd02"},icon:{height:"80%",width:"80%",opacity:.3,color:"#eeeeee",position:"absolute",top:"50%",left:"50%",transform:"translate(-50%,-50%)",zIndex:0},iconError:{color:"#ffc3c6"},iconOk:{color:"#aaeebc"},text:{top:"50%",left:"50%",transform:"translate(-50%,-50%)",color:"#868686",position:"absolute",zIndex:1},dialog:{height:"95%"},fullHeight:{height:"100%",overflow:"hidden"}};class zm extends Y.Component{constructor(s){super(s),this.state={text:"",imageStatus:"",error:""}}componentDidMount(){setTimeout(()=>{var s;try{(s=window.document.getElementById("import-text-area"))==null||s.focus()}catch{}},100)}static readFileDataUrl(s,i){const r=new FileReader;r.onload=()=>{i(null,{data:r.result,name:s.name})},r.onabort=()=>{console.error("file reading was aborted"),i(b.I18n.t("file reading was aborted"))},r.onerror=l=>{console.error("file reading has failed"),i(b.I18n.t("file reading has failed: %s",l))},r.readAsText(s)}handleDropFile(s){if(!(s!=null&&s.length))return;const i=s[s.length-1];i&&zm.readFileDataUrl(i,(r,l)=>{var u;r||!l?this.setState({error:r||"No data"}):this.setState({text:((u=l.data)==null?void 0:u.toString())||""})})}handleCancel(){this.props.onClose()}handleOk(){this.props.onClose(this.state.text)}onChange(s){this.setState({text:s.target.value})}render(){const s={...Ot.dropzone,...this.state.imageStatus==="accepted"?Ot.dropzoneAccepted:this.state.imageStatus==="rejected"?Ot.dropzoneRejected:void 0};return g.jsxs(Gt,{onClose:()=>!1,maxWidth:"lg",sx:{"& .MuiDialog-paper":Ot.dialog},fullWidth:!0,open:!0,"aria-labelledby":"import-dialog-title",children:[g.jsx(as,{id:"import-dialog-title",children:b.I18n.t("Import blocks")}),g.jsxs(Vt,{style:Ot.fullHeight,children:[g.jsx("textarea",{autoFocus:!0,id:"import-text-area",placeholder:b.I18n.t("Paste your blocks here"),style:{...Ot.textArea,color:this.props.themeType==="dark"?"#ffffff":"#000000"},onChange:i=>this.onChange(i),value:this.state.text}),g.jsx(Mw,{maxSize:5e7,onDrop:(i,r)=>{var l,u,d;i.length?this.handleDropFile(i):window.alert(((d=(u=(l=r==null?void 0:r[0])==null?void 0:l.errors)==null?void 0:u[0])==null?void 0:d.message)||b.I18n.t("ra_Cannot upload"))},multiple:!1,accept:{"text/plain":[],"text/xml":[],"application/xml":[]},children:({getRootProps:i,getInputProps:r,isDragActive:l,isDragReject:u})=>u?(this.state.imageStatus!=="rejected"&&this.setState({imageStatus:"rejected"}),g.jsxs("div",{style:{...s,...Ot.dropzoneDiv},...i(),children:[g.jsx("input",{...r()}),g.jsx("span",{style:Ot.text,children:b.I18n.t("Some files will be rejected")},"text"),g.jsx(Wc,{style:{...Ot.icon,...Ot.iconError}},"icon")]})):l?(this.state.imageStatus!=="accepted"&&this.setState({imageStatus:"accepted"}),g.jsxs("div",{style:{...s,...Ot.dropzoneDiv},...i(),children:[g.jsx("input",{...r()}),g.jsx("span",{style:Ot.text,children:b.I18n.t("All files will be accepted")},"text"),g.jsx(Nw,{style:{...Ot.icon,...Ot.iconOk}},"icon")]})):(this.state.imageStatus!=="wait"&&this.setState({imageStatus:"wait"}),g.jsxs("div",{style:{...s,...Ot.dropzoneDiv},...i(),children:[g.jsx("input",{...r()}),g.jsx("span",{style:Ot.text,children:b.I18n.t("Drop some files here or click...")},"text"),g.jsx(Lw,{style:Ot.icon},"icon")]}))})]}),g.jsxs(Kt,{children:[g.jsx(De,{variant:"contained",disabled:!this.state.text,onClick:()=>this.handleOk(),color:"primary",startIcon:g.jsx(zo,{}),children:b.I18n.t("Import")}),g.jsx(De,{color:"grey",variant:"contained",onClick:()=>this.handleCancel(),startIcon:g.jsx(qs,{}),children:b.I18n.t("Close")})]})]})}}const we=window.Blockly;class mg extends Error{constructor(){super("The field has not yet been attached to its input. Call appendField to attach it.")}}class Ic extends we.Field{textGroup=null;borderRect_=null;maxLines_=1/0;isOverflowedY_=!1;constructor(s,i,r){super(s),s!==Symbol("SKIP_SETUP")&&(r&&this.configure_(r),this.SERIALIZABLE=!0,this.setValue((s==null?void 0:s.toString())||""),i&&this.setValidator(i))}configure_(s){super.configure_(s),s.maxLines&&this.setMaxLines(s.maxLines)}toXml(s){return s.textContent=this.getValue().replace(/\n/g," "),s}fromXml(s){this.setValue(s.textContent.replace(/ /g,` `))}saveState(){const s=this.saveLegacyState(Ic);return s!==null?s:this.getValue()}loadState(s){this.loadLegacyState(we.Field,s)||this.setValue(s)}initView(){this.createBorderRect_(),this.textGroup=we.utils.dom.createSvgElement(we.utils.Svg.G,{class:"blocklyEditableText"},this.fieldGroup_)}onHtmlInputKeyDownSuper_(s){s.key==="Enter"?(we.WidgetDiv.hideIfOwner(this),we.dropDownDiv.hideWithoutAnimation()):s.key==="Escape"?(this.setValue(this.htmlInput_.getAttribute("data-untyped-default-value"),!1),we.WidgetDiv.hideIfOwner(this),we.dropDownDiv.hideWithoutAnimation()):s.key==="Tab"&&(we.WidgetDiv.hideIfOwner(this),we.dropDownDiv.hideWithoutAnimation(),this.sourceBlock_.tab(this,!s.shiftKey),s.preventDefault())}onHtmlInputChange_(s){const i=this.value_;this.setValue(this.getValueFromEditorText_(this.htmlInput_.value),!1),this.sourceBlock_&&we.Events.isEnabled()&&this.value_!==i&&we.Events.fire(new(we.Events.get("block_field_intermediate_change"))(this.sourceBlock_,this.name||null,i,this.value_))}onFinishEditing_(s){}getValueFromEditorText_(s){return s}bindInputEvents_(s){this.onKeyDownWrapper_=we.browserEvents.conditionalBind(s,"keydown",this,this.onHtmlInputKeyDown_),this.onKeyInputWrapper_=we.browserEvents.conditionalBind(s,"input",this,this.onHtmlInputChange_)}getDisplayText_(){const s=this.getSourceBlock();if(!s)throw new Error("The field has not yet been attached to its input. Call appendField to attach it.");let i=this.getText();if(!i)return we.Field.NBSP;const r=i.split(` `);i="";const l=this.isOverflowedY_?this.maxLines_:r.length;for(let u=0;uthis.maxDisplayLength?d=`${d.substring(0,this.maxDisplayLength-4)}...`:this.isOverflowedY_&&u===l-1&&(d=`${d.substring(0,d.length-3)}...`),d=d.replace(/\s/g,we.Field.NBSP),i+=d,u!==l-1&&(i+=` `)}return s.RTL&&(i+="‏"),i}doValueUpdate_(s){super.doValueUpdate_(s),this.value_!==null&&(this.isOverflowedY_=this.value_.split(` @@ -1089,7 +1089,7 @@ function ${s.FUNCTION_NAME_PLACEHOLDER_}(c1, c2, ratio) { return '#' + r + g + b; } `)}(${i}, ${r}, ${l})`,2]}const gR=window.Blockly.common.createBlockDefinitionsFromJsonArray([hR]);gR[wT];function mR(){window.Blockly.FieldMultilineInput||(window.Blockly.fieldRegistry.register("field_multilinetext",Ic),window.Blockly.JavaScript.forBlock.text_multiline=tR,window.Blockly.FieldMultilineInput=Ic,Object.assign(window.Blockly.Blocks,window.Blockly.common.createBlockDefinitionsFromJsonArray([{type:"text_multiline",message0:"%1 %2",args0:[{type:"field_image",src:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAARCAYAAADpPU2iAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAdhgAAHYYBXaITgQAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMS42/U4J6AAAAP1JREFUOE+Vks0KQUEYhjmRIja4ABtZ2dm5A3t3Ia6AUm7CylYuQRaUhZSlLZJiQbFAyRnPN33y01HOW08z8873zpwzM4F3GWOCruvGIE4/rLaV+Nq1hVGMBqzhqlxgCys4wJA65xnogMHsQ5lujnYHTejBBCK2mE4abjCgMGhNxHgDFWjDSG07kdfVa2pZMf4ZyMAdWmpZMfYOsLiDMYMjlMB+K613QISRhTnITnsYg5yUd0DETmEoMlkFOeIT/A58iyK5E18BuTBfgYXfwNJv4P9/oEBerLylOnRhygmGdPpTTBZAPkde61lbQe4moWUvYUZYLfUNftIY4zwA5X2Z9AYnQrEAAAAASUVORK5CYII=",width:12,height:17,alt:"¶"},{type:"field_multilinetext",name:"TEXT",text:""}],output:"String",style:"text_blocks",helpUrl:"%{BKY_TEXT_TEXT_HELPURL}",tooltip:"%{BKY_TEXT_TEXT_TOOLTIP}",extensions:["parent_tooltip_when_inline"]}]))),window.Blockly.FieldColour||(window.Blockly.fieldRegistry.register("field_colour",im),window.Blockly.JavaScript.forBlock.colour_picker=iR,window.Blockly.JavaScript.forBlock.colour_blend=pR,window.Blockly.JavaScript.forBlock.colour_random=aR,window.Blockly.JavaScript.forBlock.colour_rgb=uR,window.Blockly.FieldColour=im,Object.assign(window.Blockly.Blocks,window.Blockly.common.createBlockDefinitionsFromJsonArray([{type:"colour_picker",message0:"%1",args0:[{type:"field_colour",name:"COLOUR",colour:"#ff0000"}],output:"Colour",helpUrl:"%{BKY_COLOUR_PICKER_HELPURL}",style:"colour_blocks",tooltip:"%{BKY_COLOUR_PICKER_TOOLTIP}",extensions:["parent_tooltip_when_inline"]}])),Object.assign(window.Blockly.Blocks,window.Blockly.common.createBlockDefinitionsFromJsonArray([{type:"colour_random",message0:"%{BKY_COLOUR_RANDOM_TITLE}",output:"Colour",helpUrl:"%{BKY_COLOUR_RANDOM_HELPURL}",style:"colour_blocks",tooltip:"%{BKY_COLOUR_RANDOM_TOOLTIP}"}])),Object.assign(window.Blockly.Blocks,window.Blockly.common.createBlockDefinitionsFromJsonArray([{type:"colour_rgb",message0:"%{BKY_COLOUR_RGB_TITLE} %{BKY_COLOUR_RGB_RED} %1 %{BKY_COLOUR_RGB_GREEN} %2 %{BKY_COLOUR_RGB_BLUE} %3",args0:[{type:"input_value",name:"RED",check:"Number",align:"RIGHT"},{type:"input_value",name:"GREEN",check:"Number",align:"RIGHT"},{type:"input_value",name:"BLUE",check:"Number",align:"RIGHT"}],output:"Colour",helpUrl:"%{BKY_COLOUR_RGB_HELPURL}",style:"colour_blocks",tooltip:"%{BKY_COLOUR_RGB_TOOLTIP}"}])),Object.assign(window.Blockly.Blocks,window.Blockly.common.createBlockDefinitionsFromJsonArray([{type:"colour_blend",message0:"%{BKY_COLOUR_BLEND_TITLE} %{BKY_COLOUR_BLEND_COLOUR1} %1 %{BKY_COLOUR_BLEND_COLOUR2} %2 %{BKY_COLOUR_BLEND_RATIO} %3",args0:[{type:"input_value",name:"COLOUR1",check:"Colour",align:"RIGHT"},{type:"input_value",name:"COLOUR2",check:"Colour",align:"RIGHT"},{type:"input_value",name:"RATIO",check:"Number",align:"RIGHT"}],output:"Colour",helpUrl:"%{BKY_COLOUR_BLEND_HELPURL}",style:"colour_blocks",tooltip:"%{BKY_COLOUR_BLEND_TOOLTIP}"}])));const a=window.Blockly.JavaScript;a.forBlock&&Object.keys(a).forEach(s=>{typeof a[s]=="function"&&(a.forBlock[s]||(console.log(`Migrating Blockly.JavaScript.${s} to Blockly.JavaScript.forBlock.${s}`),a.forBlock[s]=a[s],delete a[s]))})}let rc=!1,ac=!1,fg=null,$g=null;const dw=[];function CT(a,s,i,r){var l;if(r=r||[],(a.tagName==="BLOCK"||a.tagName==="block")&&(i=a.id),a.tagName==="FIELD"||a.tagName==="field")for(let u=0;uCT(u,s,i,r)),r}class Fe extends Y.Component{blockly=null;blocklyWorkspace=null;originalCode;someSelected=null;changeTimer=null;someSelectedTime=0;ignoreChanges=!1;blinkBlock;onResizeBind;didUpdate=null;lastCommand="";lastSearch;static Blockly=window.Blockly;constructor(s){super(s),this.state={languageOwnLoaded:ac,languageBlocklyLoaded:rc,changed:!1,message:"",error:"",themeType:this.props.themeType,exportText:"",importText:!1,searchText:this.props.searchText||"",showInputPrompt:null},this.originalCode=s.code||"",this.someSelected=null,this.onResizeBind=this.onResize.bind(this),this.lastSearch=this.props.searchText||"",this.blinkBlock=null,mR(),Fe.Blockly.dialog.setPrompt(this.onShowNameDialog),this.loadLanguages()}onShowNameDialog=(s,i,r)=>{this.setState({showInputPrompt:{promptText:s,defaultText:i,callback:r,value:i}})};static loadJS(s,i,r){const l=document.createElement("script");try{l.src=s,l.onload=i,l.onerror=i,(r||window.document.body).appendChild(l)}catch(u){console.error(`Cannot load ${s}: ${u}`),i&&i()}}static loadScripts(s,i){if(!(s!=null&&s.length)){i&&i();return}const r=s.pop();r&&!dw.includes(r)?(dw.push(r),Fe.loadJS(`../../adapter/${r}/blockly.js`,()=>setTimeout(()=>Fe.loadScripts(s,i),0))):setTimeout(()=>Fe.loadScripts(s,i),0)}static loadCustomBlockly(s,i){var l;const r=[];for(const u in s)!Object.prototype.hasOwnProperty.call(s,u)||!s[u]||!u.match(/^system\.adapter\./)||s[u].type!=="adapter"||(l=s[u].common)!=null&&l.blockly&&(console.log(`Detected custom blockly: ${s[u].common.name}`),r.push(s[u].common.name));Fe.loadScripts(r,i)}static loadXMLDoc(s){let i;return window.DOMParser?i=r=>new window.DOMParser().parseFromString(r,"text/xml"):typeof window.ActiveXObject<"u"&&new window.ActiveXObject("Microsoft.XMLDOM")?i=r=>{const l=new window.ActiveXObject("Microsoft.XMLDOM");return l.async="false",l.loadXML(r),l}:i=()=>null,i(s)}searchBlocks(s){if(this.blocklyWorkspace){const i=Fe.Blockly.Xml.workspaceToDom(this.blocklyWorkspace),r=CT(i,s.toLowerCase());return console.log(`Search "${s}" found blocks: ${r.length?JSON.stringify(r):"none"}`),r}return[]}searchId(){const s=this.lastSearch?this.searchBlocks(this.lastSearch):null;s!=null&&s.length?(this.someSelected=s,this.someSelected.forEach(i=>{var r;return(r=this.blocklyWorkspace)==null?void 0:r.highlightBlock(i,!0)}),this.someSelectedTime=Date.now()):this.someSelected&&(this.someSelected.forEach(i=>{var r;return(r=this.blocklyWorkspace)==null?void 0:r.highlightBlock(i,!1)}),this.someSelected=null)}UNSAFE_componentWillReceiveProps(s){s.command&&this.lastCommand!==s.command&&(this.lastCommand=s.command,setTimeout(()=>this.lastCommand="",300),this.lastCommand==="check"?this.blocklyCheckBlocks((i,r)=>{i?(r&&Fe.blocklyBlinkBlock(r),this.setState({error:{text:b.I18n.t(i),title:b.I18n.t("Error was found")}}),this.blinkBlock=r):this.setState({message:b.I18n.t("Ok")})}):this.lastCommand==="export"?this.exportBlocks():this.lastCommand==="import"&&this.importBlocks()),s.searchText!==this.lastSearch&&(this.lastSearch=s.searchText,this.searchId()),this.state.themeType!==s.themeType&&this.setState({themeType:s.themeType},()=>this.updateBackground()),this.originalCode!==s.code&&(this.originalCode=s.code||"",this.loadCode(),this.searchId())}loadLanguages(){if(!rc){const s=window.document.createElement("script");s.setAttribute("type","text/javascript"),s.setAttribute("src",`google-blockly/msg/js/${b.I18n.getLanguage()}.js`),s.onload=()=>{rc=!0,this.setState({languageBlocklyLoaded:rc})},window.document.getElementsByTagName("head")[0].appendChild(s)}if(!ac){const s=window.document.createElement("script");s.setAttribute("type","text/javascript"),s.setAttribute("src",`google-blockly/own/msg/${b.I18n.getLanguage()}.js`),s.onload=()=>{ac=!0,this.setState({languageOwnLoaded:ac})},window.document.getElementsByTagName("head")[0].appendChild(s)}}onResize(){this.blocklyWorkspace&&Fe.Blockly.svgResize(this.blocklyWorkspace)}static jsCode2Blockly(s){s=s||"";const i=s.split(/[\r\n]+|\r|\n/g);let r="";for(let u=i.length-1;u>=0;u--)if(i[u].substring(0,2)==="//"){r=i[u].substring(2);break}if(r.substring(0,4)==="s.select(),i),setTimeout(()=>s.unselect(),i+150)}blocklyRemoveOrphanedShadows(){if(this.blocklyWorkspace){const s=this.blocklyWorkspace.getAllBlocks();let i;for(let r=0;i=s[r];r++)if(i.isShadow()){const l=i.getConnections_(!0);let u;for(let d=0;u=l[d];d++)if(!u.targetConnection){i.dispose();break}}}}blocklyCheckBlocks(s){let i;if(!this.blocklyWorkspace||this.blocklyWorkspace.getAllBlocks().length===0)return s&&s("no blocks found"),!1;let r=this.blocklyGetUnconnectedBlock();return r?i="not properly connected":(r=this.blocklyGetBlockWithWarning(),r&&(i="warning on this block")),r?(s?s(i,r):Fe.blocklyBlinkBlock(r),!1):(s(),!0)}blocklyGetUnconnectedBlock(){var r;const s=(r=this.blocklyWorkspace)==null?void 0:r.getAllBlocks();let i;if(s)for(let l=0;i=s[l];l++){const u=i.getConnections_(!0);let d;for(let p=0;d=u[p];p++)if(!d.sourceBlock_||(d.type===Fe.Blockly.INPUT_VALUE||d.type===Fe.Blockly.OUTPUT_VALUE)&&!d.targetConnection&&!d._optional)return i}return null}blocklyGetBlockWithWarning(){var r;const s=(r=this.blocklyWorkspace)==null?void 0:r.getAllBlocks();let i;if(s){for(let l=0;i=s[l];l++)if(i.warning)return i}return null}blocklyCode2JSCode(s){if(!this.blocklyWorkspace)return"";let i=Fe.Blockly.JavaScript.workspaceToCode(this.blocklyWorkspace);if(!s){i+=` -`;const r=Fe.Blockly.Xml.workspaceToDom(this.blocklyWorkspace),l=Fe.Blockly.Xml.domToText(r);i+=`//${btoa(encodeURIComponent(l))}`}return i}exportBlocks(){if(!this.blocklyWorkspace)return;let s;const i=Fe.Blockly.getSelected();if(i){const r=Fe.Blockly.Xml.blockToDom(i),l=i.getRelativeToSurfaceXY();r.setAttribute("x",(i.RTL?-l.x:l.x).toString()),r.setAttribute("y",l.y.toString()),s=Fe.Blockly.Xml.domToPrettyText(r)}else{const r=Fe.Blockly.Xml.workspaceToDom(this.blocklyWorkspace);s=Fe.Blockly.Xml.domToPrettyText(r)}this.setState({exportText:s})}importBlocks(){this.setState({importText:!0})}onImportBlocks(s){if(this.blocklyWorkspace&&(s=(s||"").trim(),s))try{s.startsWith("${s}`),s=s.replace(/[\n\r]/g,"").replace(/.*<\/variables>/g,""),window.scripts.loading=!0;const i=Fe.Blockly.utils.xml.textToDom(s);Fe.Blockly.Xml.appendDomToWorkspace(i,this.blocklyWorkspace),window.scripts.loading=!1,this.onBlocklyChanged()}catch(i){this.setState({error:{text:i.toString(),title:b.I18n.t("Import error")}})}}loadCode(){if(this.blocklyWorkspace){this.ignoreChanges=!0,this.blocklyWorkspace.clear();try{const s=Fe.jsCode2Blockly(this.originalCode)||'';window.scripts.loading=!0;const i=Fe.Blockly.utils.xml.textToDom(s);Fe.Blockly.Xml.domToWorkspace(i,this.blocklyWorkspace),window.scripts.loading=!1}catch(s){console.error(s),setTimeout(()=>this.setState({error:b.I18n.t("Cannot extract Blockly code!")}))}setTimeout(()=>this.ignoreChanges=!1,100)}}onBlocklyChanged(){this.blocklyRemoveOrphanedShadows(),this.setState({changed:!0}),this.onChange()}async componentDidUpdate(){if(!this.blockly||(this.didUpdate&&(clearTimeout(this.didUpdate),this.didUpdate=null),this.blocklyWorkspace))return;window.addEventListener("resize",this.onResizeBind,!1),fg=fg||await this.getToolbox(),$g=$g||Fe.Blockly.utils.xml.textToDom(fg),this.blocklyWorkspace=Fe.Blockly.inject(this.blockly,{renderer:"thrasos",theme:this.state.themeType==="dark"?uw:"classic",media:"google-blockly/media/",toolbox:$g,zoom:{controls:!0,wheel:!1,startScale:1,maxScale:3,minScale:.3,scaleSpeed:1.2,pinch:!0},move:{scrollbars:{horizontal:!0,vertical:!0},drag:!0,wheel:!0},trashcan:!0,grid:{spacing:25,length:1,snap:!0},sounds:!1}),window.scripts={blocklyWorkspace:this.blocklyWorkspace},this.blocklyWorkspace.registerToolboxCategoryCallback("PROCEDURE",window.Blockly.Procedures.flyoutCategoryNew),this.blocklyWorkspace.addChangeListener(i=>{var r;if(this.someSelected&&Date.now()-this.someSelectedTime>500){const l=(r=this.blocklyWorkspace)==null?void 0:r.getAllBlocks();this.someSelected=null,l==null||l.forEach(u=>u.removeSelect())}[Fe.Blockly.Events.UI,Fe.Blockly.Events.CREATE,Fe.Blockly.Events.VIEWPORT_CHANGE].includes(i.type)||this.ignoreChanges||(this.changeTimer&&clearTimeout(this.changeTimer),this.changeTimer=setTimeout(()=>{this.changeTimer=null,this.onBlocklyChanged()},200))}),this.loadCode(),this.onResize();const s=document.getElementsByClassName("blocklyToolboxDiv")[0];this.blockly.appendChild(s),this.updateBackground(),setTimeout(()=>this.searchId(),200)}updateBackground(){var s;this.state.themeType==="dark"?(s=this.blocklyWorkspace)==null||s.setTheme(uw):this.blocklyWorkspace&&(this.blocklyWorkspace.getThemeManager(),this.blocklyWorkspace.setTheme(Fe.Blockly.Themes.Classic))}componentWillUnmount(){this.blocklyWorkspace&&(this.blocklyWorkspace.dispose(),this.blocklyWorkspace=null,this.changeTimer&&clearTimeout(this.changeTimer),this.changeTimer=null,window.removeEventListener("resize",this.onResizeBind))}onChange(){this.originalCode=this.blocklyCode2JSCode(),this.props.onChange&&this.props.onChange(this.originalCode)}async getToolbox(s){const i=window.document.getElementById("toolbox");let r=i==null?void 0:i.outerHTML;if(!r)return s?(console.error("Cannot load blocks!"),""):new Promise(l=>{setTimeout(()=>l(this.getToolbox(!0)),500)});if(r=r.replace(/{(\w+)}/g,(l,u)=>window.MSG[u]),window.Blockly.CustomBlocks){let l="";const u=b.I18n.getLanguage();for(let d=0;d`;for(const f in m.blocks)Object.prototype.hasOwnProperty.call(m.blocks,f)&&(l+=m.blocks[f]);l+=""}r=r.replace("%%CUSTOM_BLOCKS%%",l)}return r}renderMessageDialog(){return this.state.message?g.jsx(b.Message,{text:typeof this.state.message=="object"?this.state.message.text:this.state.message,title:typeof this.state.message=="object"?this.state.message.title:"",onClose:()=>this.setState({message:""})},"dialogMessage"):null}renderErrorDialog(){return this.state.error?g.jsx(Zc,{text:typeof this.state.error=="object"?this.state.error.text.toString():this.state.error,title:typeof this.state.error=="object"?this.state.error.title:"",onClose:()=>{this.blinkBlock&&(Fe.blocklyBlinkBlock(this.blinkBlock),this.blinkBlock=null),this.setState({error:""})}},"dialogError"):null}renderExportDialog(){return this.state.exportText?g.jsx(Q0,{themeType:this.state.themeType,onClose:()=>this.setState({exportText:""}),text:this.state.exportText,scriptId:this.props.scriptId},"dialogExport"):null}renderImportDialog(){return this.state.importText?g.jsx(zm,{themeType:this.props.themeType,onClose:s=>{this.setState({importText:!1}),this.onImportBlocks(s)}},"dialogImport"):null}renderDialogPrompt(){return this.state.showInputPrompt?g.jsxs(Vt,{onClose:()=>{var i;const s=(i=this.state.showInputPrompt)==null?void 0:i.callback;s&&s(null),this.setState({showInputPrompt:null})},maxWidth:"sm",fullWidth:!0,open:!0,children:[g.jsx(as,{children:this.state.showInputPrompt.promptText}),g.jsx(Gt,{children:g.jsx(vo,{variant:"standard",fullWidth:!0,autoFocus:!0,value:this.state.showInputPrompt.value,onKeyUp:s=>{var i,r;if(s.key==="Enter"){const l=(i=this.state.showInputPrompt)==null?void 0:i.callback,u=(r=this.state.showInputPrompt)==null?void 0:r.value;l&&l(u===void 0?null:u),this.setState({showInputPrompt:null})}},onChange:s=>{var r,l;const i={...this.state.showInputPrompt};(r=this.state.showInputPrompt)!=null&&r.callback&&(i.callback=(l=this.state.showInputPrompt)==null?void 0:l.callback),i.value=s.target.value,this.setState({showInputPrompt:i})}})}),g.jsxs(Kt,{children:[g.jsx(De,{variant:"contained",disabled:!this.state.showInputPrompt.value,onClick:()=>{var r,l;const s=(r=this.state.showInputPrompt)==null?void 0:r.callback,i=(l=this.state.showInputPrompt)==null?void 0:l.value;s&&s(i===void 0?null:i),this.setState({showInputPrompt:null})},color:"primary",startIcon:g.jsx(zo,{}),children:b.I18n.t("Apply")}),g.jsx(De,{color:"grey",variant:"contained",onClick:()=>{var i;const s=(i=this.state.showInputPrompt)==null?void 0:i.callback;s&&s(null),this.setState({showInputPrompt:null})},startIcon:g.jsx(qs,{}),children:b.I18n.t("Close")})]})]},"inputDialog"):null}render(){return this.state.languageBlocklyLoaded&&this.state.languageOwnLoaded?(this.didUpdate=setTimeout(()=>{this.didUpdate=null,this.componentDidUpdate()},100),[g.jsx("div",{ref:s=>this.blockly=s,style:{width:"100%",height:"100%",position:"relative"}},"blocklyDOM"),this.renderDialogPrompt(),this.renderMessageDialog(),this.renderErrorDialog(),this.renderExportDialog(),this.renderImportDialog()]):null}}const fR=Object.freeze(Object.defineProperty({__proto__:null,default:Fe},Symbol.toStringTag,{value:"Module"})),$R="_nameCard_15el3_28",bR="_iconThemCard_15el3_40",vR="_iconThemCardSelectable_15el3_49",yR="_iconHelp_15el3_53",_R="_blockName_15el3_64",wR="_controlMenuTop_15el3_123",CR="_debugInfo_15el3_132",TR="_tagCard_15el3_142",kR="_displayFlex_15el3_161",SR="_blockMarginTop_15el3_166",ER="_nameBlock_15el3_167",IR="_frontText_15el3_171",xR="_backText_15el3_177",DR="_iconTag_15el3_181",AR="_displayItalic_15el3_191",le={nameCard:$R,iconThemCard:bR,iconThemCardSelectable:vR,iconHelp:yR,blockName:_R,controlMenuTop:wR,debugInfo:CR,tagCard:TR,displayFlex:kR,blockMarginTop:SR,nameBlock:ER,frontText:IR,backText:xR,iconTag:DR,displayItalic:AR},RR="_root_1dr6a_1",OR="_square_1dr6a_11",MR="_icon_1dr6a_16",bg={root:RR,square:OR,icon:MR},Ur=({fullWidth:a,size:s,onClick:i,style:r,className:l,value:u,square:d,icon:p})=>g.jsx(De,{variant:"outlined",color:"primary",onClick:i,fullWidth:a,style:r,className:b.Utils.clsx(bg.root,l,d?bg.square:""),size:s||"medium",children:p?g.jsx(b.Icon,{className:bg.icon,src:p}):u}),NR="_root_1ucda_1",LR={root:NR},PR=({size:a,value:s,title:i,onChange:r,className:l,customValue:u,disabled:d})=>{const[p,m]=vt(!1);return g.jsxs(g.Fragment,{children:[g.jsx(bc,{disabled:d,checked:!!(u?s:p),className:b.Utils.clsx(LR.root,l),onChange:f=>{u&&m(f.target.checked),r&&r(f.target.checked)},size:a||"medium"}),i||null]})},TT=am(PR),BR="_root_19roy_1",hw={root:BR},bi=a=>{const[s,i]=vt(""),{value:r,type:l,error:u,className:d,icon:p,label:m,style:f,onChange:v,fullWidth:_,autoComplete:y,customValue:k,autoFocus:C,rows:w,size:E,variant:R,multiline:D,disabled:A}=Object.assign({value:"",type:"text",error:"",className:null,table:!1,native:{},variant:"standard",size:"medium",component:null,styleComponentBlock:null,fullWidth:!1,autoComplete:"",customValue:!1,autoFocus:!1,rows:1},a);return g.jsx(vo,{error:!!u,autoFocus:C,fullWidth:_,label:m,disabled:A,variant:R,multiline:D,rows:w,value:k?r:s,type:l,helperText:u,style:f,className:b.Utils.clsx(hw.root,d),autoComplete:y,onChange:J=>{!k&&i(J.target.value),v&&v(J.target.value)},slotProps:{input:{endAdornment:p?g.jsx(xw,{position:"end",children:g.jsx(b.Icon,{className:hw.icon,src:p})}):null}},margin:"normal",size:E})},jR={formControl:{m:"10px 0","& .MuiFormControl-marginNormal":{mt:0,mb:0},"& > *":{color:"#2d0440 !important"},"& .MuiSelect-icon":{color:"#81688c"},"& label.Mui-focused":{color:"#81688c"},"& .MuiInput-underline:after":{borderBottomColor:"#510573"},"& .MuiInput-underline:before":{borderBottomColor:"#81688c"},"& .MuiInput-underline:hover:before":{borderBottomColor:"#81688c"}}},FR=({multiple:a,value:s,customValue:i,socket:r,title:l,attr:u,adapter:d,style:p,onChange:m,onInstanceHide:f})=>{const[v,_]=vt(s||"test1"),[y,k]=vt([]);return Mt(()=>{r==null||r.getAdapterInstances(d).then(C=>{const w=C.map(E=>({value:E._id.replace("system.adapter.",""),title:E._id.replace("system.adapter.","")}));w.length===1?f(w[0].value):w.unshift({value:d,title:b.I18n.t("All")}),k(w)})},[r,d,f]),g.jsxs(_i,{sx:jR.formControl,fullWidth:!0,style:p,children:[g.jsx(wi,{variant:"standard",value:(i?s:v)||"_",fullWidth:!0,multiple:a,renderValue:C=>a&&Array.isArray(C)?C.join(", "):C,onChange:C=>{!i&&_(C.target.value),m(C.target.value)},input:u?g.jsx(Dn,{name:u,id:`${u}-helper`}):g.jsx(Dn,{name:u}),children:y.map(C=>g.jsx(Ve,{style:{placeContent:"space-between"},value:C.value||"_",children:b.I18n.t(C.title)},`key-${C.value}`))}),l?g.jsx(Aw,{children:b.I18n.t(l)}):null]})},zR="_modalWrapper_587ci_33",UR="_modalDialog_587ci_40",pw={modalWrapper:zR,modalDialog:UR},nm=({onClose:a,children:s,titleButtonApply:i,titleButtonClose:r,onApply:l,className:u,textInput:d,defaultValue:p,disabled:m})=>{const[f,v]=vt(p||""),[_]=vt(p||"");return g.jsxs(Vt,{open:!0,maxWidth:"md",disableEscapeKeyDown:!1,onClose:a,classes:{paper:pw.modalDialog},className:pw.modalWrapper,children:[g.jsxs(Gt,{children:[d&&g.jsx(bi,{className:u,autoComplete:"off",fullWidth:!0,variant:"outlined",size:"medium",rows:10,multiline:!0,value:f,onChange:v,customValue:!0}),!d&&s]}),g.jsxs(Kt,{children:[g.jsx(De,{disabled:m===void 0?_===f:m,onClick:()=>l(d?f:null),variant:"contained",color:"primary",children:b.I18n.t(i||"Ok")}),g.jsx(De,{color:"grey",onClick:a,variant:"contained",children:b.I18n.t(r||"Cancel")})]})]})},HR="_root_15mo1_1",WR={root:HR},VR=({multiple:a,value:s,customValue:i,title:r,attr:l,options:u,style:d,onChange:p,className:m,doNotTranslate:f,doNotTranslate2:v})=>{const[_,y]=vt(s===void 0?u[0].value:s),k=i?s:_,C=k===""||k===null||k===void 0?"_":k;return g.jsxs(_i,{variant:"standard",className:b.Utils.clsx(WR.root,m),fullWidth:!0,style:d,children:[g.jsxs(wi,{variant:"standard",value:C,fullWidth:!0,multiple:a,renderValue:w=>{if(a&&Array.isArray(w)){w.sort();let R=w.indexOf("0");R!==-1&&(w.splice(R,1),w.push("0")),R=w.indexOf("_"),R!==-1&&(w.splice(R,1),w.unshift("_"));const D=u.find(J=>J.only);return D&&w.includes(D.value)?D.titleShort?f?D.titleShort:b.I18n.t(D.titleShort):f?D.title:b.I18n.t(D.title):w.map(J=>u.find(ie=>ie.value===J||J==="_"&&ie.value==="")||J).map(J=>typeof J=="object"?J.titleShort?f?J.titleShort:b.I18n.t(J.titleShort):f?J.title:b.I18n.t(J.title):f?J:b.I18n.t(J)).join(", ")}const E=u?u.find(R=>R.value===w||w==="_"&&R.value===""):null;return E!=null&&E.title?f?E==null?void 0:E.title:b.I18n.t(E==null?void 0:E.title):w},onChange:w=>{if(i||y(w.target.value),a){const E=w.target.value,R=u.find(D=>D.only);if(R){const D=R.value;if(E.length===u.length-1&&E.includes(D))return p(E.filter(A=>A!==D),l);if(E.includes(D))return p(u.map(A=>A.value),l)}}p(w.target.value,l)},input:l?g.jsx(Dn,{name:l,id:`${l}-helper`}):g.jsx(Dn,{name:l}),children:[!a&&(u==null?void 0:u.map(w=>g.jsxs(Ve,{style:{placeContent:"space-between"},value:w.value===""||w.value===null||w.value===void 0?"_":w.value,children:[f?w.title:b.I18n.t(w.title),w.title2&&g.jsx("div",{children:v?w.title2:b.I18n.t(w.title2)})]},`key-${w.value}`))),a&&(u==null?void 0:u.map(w=>g.jsxs(Ve,{style:{placeContent:"space-between"},value:w.value||"_",children:[f?w.title:b.I18n.t(w.title)," ",g.jsx(TT,{customValue:!0,value:s==null?void 0:s.includes(w.value)})]},`key-${w.value}`)))]}),r?g.jsx(Aw,{children:b.I18n.t(r)}):null]})},GR="_root_1gt4d_1",KR="_mark_1gt4d_27",gw={root:GR,mark:KR},YR=({size:a,value:s,style:i,onChange:r,className:l,customValue:u,min:d,max:p,step:m,unit:f})=>{const[v,_]=vt(0);d=d!==void 0?d:0,p=p!==void 0?p:0,m=m!==void 0?m:(p-d)/100;const y=[{value:d,label:d+(f||"")},{value:p,label:p+(f||"")}];return g.jsx(Kk,{defaultValue:u?s:v,"aria-labelledby":"discrete-slider",valueLabelDisplay:"auto",classes:{mark:gw.mark},marks:y,step:m,min:d,max:p,value:u?s:v,style:i,className:b.Utils.clsx(gw.root,l),onChange:(k,C)=>{Array.isArray(C)?(!u&&_(C[0]),r(C[0])):(!u&&_(C),r(C))},size:a||"medium"})},JR="_root_rzul6_1",qR={root:JR},XR=({label:a,size:s,value:i,style:r,onChange:l,className:u,customValue:d})=>{const[p,m]=vt(!1);return g.jsx(Ag,{className:qR.root,control:g.jsx(Rw,{checked:d?i:p,style:r,className:u,onChange:f=>{d||m(f.target.checked),l(f.target.checked)},size:s||"medium"}),label:a??"all"})},ZR=am(XR),QR="_root_135pm_1",eO={root:QR},tO=({value:a,style:s,onChange:i,className:r})=>g.jsx(vo,{variant:"standard",id:"time",type:"time",onChange:l=>i(l.currentTarget.value),value:a,className:b.Utils.clsx(eO.root,r),fullWidth:!0,style:s,slotProps:{htmlInput:{step:300},inputLabel:{shrink:!0}}}),sO="_root_135pm_1",lc={root:sO},vg=[31,29,31,30,31,30,31,31,30,31,30,31],oO=({value:a,onChange:s,className:i,style:r})=>{const[l,u]=(a||"01.01").toString().split(".");let d=parseInt(u,10)||0,p=parseInt(l,10)||0;p>12?p=12:p<0&&(p=0),d>vg[p]?d=vg[p]:d<0&&(d=0);const m=[];for(let f=0;fs(`${f.target.value.toString().padStart(2,"0")}.${d.toString().padStart(2,"0")}`),value:p,children:[g.jsx(Ve,{style:{placeContent:"space-between"},value:0,children:b.I18n.t("Any month")},0),g.jsx(Ve,{style:{placeContent:"space-between"},value:1,children:b.I18n.t("January")},1),g.jsx(Ve,{style:{placeContent:"space-between"},value:2,children:b.I18n.t("February")},2),g.jsx(Ve,{style:{placeContent:"space-between"},value:3,children:b.I18n.t("March")},3),g.jsx(Ve,{style:{placeContent:"space-between"},value:4,children:b.I18n.t("April")},4),g.jsx(Ve,{style:{placeContent:"space-between"},value:5,children:b.I18n.t("May")},5),g.jsx(Ve,{style:{placeContent:"space-between"},value:6,children:b.I18n.t("June")},6),g.jsx(Ve,{style:{placeContent:"space-between"},value:7,children:b.I18n.t("July")},7),g.jsx(Ve,{style:{placeContent:"space-between"},value:8,children:b.I18n.t("August")},8),g.jsx(Ve,{style:{placeContent:"space-between"},value:9,children:b.I18n.t("September")},9),g.jsx(Ve,{style:{placeContent:"space-between"},value:10,children:b.I18n.t("October")},10),g.jsx(Ve,{style:{placeContent:"space-between"},value:11,children:b.I18n.t("November")},11),g.jsx(Ve,{style:{placeContent:"space-between"},value:12,children:b.I18n.t("December")},12)]})}),g.jsx(_i,{variant:"standard",className:b.Utils.clsx(lc.root,i),style:r,children:g.jsxs(wi,{variant:"standard",className:b.Utils.clsx(lc.root,i),margin:"dense",label:b.I18n.t("Date"),onChange:f=>s(`${p.toString().padStart(2,"0")}.${f.target.value.toString().padStart(2,"0")}`),value:d,children:[g.jsx(Ve,{style:{placeContent:"space-between"},value:0,children:b.I18n.t("Any")},"A"),m.map(f=>g.jsx(Ve,{style:{placeContent:"space-between"},value:f,children:f},f))]})})]})},yg={},iO={Shuffle:gx,Apps:sx,Functions:lx,Language:vS,AddBox:tx,Pause:gc,Subject:fx,PlayForWork:hx,Brightness3:ox,HelpOutline:dC,Storage:mx,AccessTime:ex,PlayArrow:Fg,FlashOn:rx};function mw({iconName:a,className:s,adapter:i,socket:r,onClick:l,style:u}){const[d,p]=vt("");if(Mt(()=>{i&&r&&(yg[i]instanceof Promise||(yg[i]=r.getObject(`system.adapter.${i}`)),yg[i].then(f=>{var v;return((v=f==null?void 0:f.common)==null?void 0:v.icon)&&p(`../../adapter/${i}/${f.common.icon}`)}))},[i,r]),i)return g.jsx("img",{onClick:f=>l&&l(f),src:d||"",className:s,style:u,alt:""});const m=a&&iO[a]||yS;return g.jsx(m,{className:s,style:u,onClick:f=>l&&l(f)})}let _g;function nO(a){return _g=_g||b.I18n.getLanguage(),a&&typeof a=="object"?a[_g]||a.en:a||""}function xn(a){return a===null?"null":a===void 0?"undefined":Array.isArray(a)?a.join(", "):typeof a=="object"?JSON.stringify(a):a.toString()}class Xe extends Ew{debugHideTimeout=null;lastObjectIdChange=0;enableSimulationProcessing=!1;lastDebugMessage=0;debugMessageTimeout=null;static getStaticData(){return{acceptedBy:"actions",name:"Not found",id:"ActionEmpty",icon:"Shuffle"}}static compile(s,i){return""}constructor(s,i){super(s),i||={};const r=s.settings||{tagCard:i.tagCardArray?typeof i.tagCardArray[0]!="string"?i.tagCardArray[0].title:i.tagCardArray[0]:""};!r.tagCard&&i.tagCardArray&&(r.tagCard=typeof i.tagCardArray[0]!="string"?i.tagCardArray[0].title:i.tagCardArray[0]),this.state={inputs:i.inputs||s.inputs||[],name:i.name||s.name||"",icon:i.icon||s.icon||"",adapter:i.adapter||s.adapter||"",helpDialog:i.helpDialog||s.helpDialog||"",tagCardArray:i.tagCardArray||[],openTagMenu:!1,openModal:!1,iconTag:!1,error:"",helpText:"",instanceSelectionOptions:[],instanceSelectionDef:"",hideAttributes:[],settings:r,debugMessage:null,enableSimulation:this.props.enableSimulation}}componentWillUnmount(){this.debugMessageTimeout&&(clearTimeout(this.debugMessageTimeout),this.debugMessageTimeout=null),this.debugHideTimeout&&(clearTimeout(this.debugHideTimeout),this.debugHideTimeout=null)}onTagChange(s,i,r,l,u){let d=!1;const p=JSON.parse(JSON.stringify(this.state.settings));this.state.inputs.forEach(m=>{const f=m.attr,v=m.defaultValue;f&&v!==void 0&&p[f]===void 0&&(d=!0,p[f]=v)}),d?(this.setState({settings:p},()=>i==null?void 0:i()),this.props.onChange(p)):i&&i()}onUpdate(){}onValueChanged(s,i){}renderText(s,i,r){const{className:l}=this.props,{attr:u,frontText:d,backText:p,nameBlock:m,name:f,doNotTranslate:v,doNotTranslateBack:_}=s;return g.jsxs(Sg,{children:[g.jsxs("div",{className:b.Utils.clsx(le.displayFlex,le.blockMarginTop),children:[d&&g.jsx("div",{className:le.frontText,children:v?d:b.I18n.t(d)}),g.jsx(bi,{className:l,autoComplete:"off",label:nO(f),variant:"outlined",size:"small",fullWidth:!0,value:i,onChange:r,customValue:!0}),p&&g.jsx("div",{className:le.backText,children:_?p:b.I18n.t(p)})]}),m&&g.jsx("div",{className:le.nameBlock,children:b.I18n.t(m)})]},u)}renderSwitch(s,i,r){const{className:l}=this.props,{attr:u,frontText:d,backText:p,nameBlock:m,doNotTranslate:f,doNotTranslateBack:v}=s;return g.jsxs("div",{children:[g.jsxs("div",{className:b.Utils.clsx(le.displayFlex,le.blockMarginTop),children:[d&&g.jsx("div",{className:le.frontText,children:f?d:b.I18n.t(d)}),g.jsx(ZR,{className:l,label:"",customValue:!0,value:i,onChange:r}),p&&g.jsx("div",{className:le.backText,children:v?p:b.I18n.t(p)})]}),m&&g.jsx("div",{className:le.nameBlock,children:b.I18n.t(m)})]},u)}renderNameText({attr:s,signature:i,doNotTranslate:r,defaultValue:l},u){return g.jsx("div",{className:b.Utils.clsx(i?le.displayItalic:le.displayFlex,le.blockMarginTop),children:u?r?u:b.I18n.t(u):r?l:b.I18n.t(l)},s)}renderNumber(s,i,r){const{className:l}=this.props,{settings:u}=this.state,{attr:d,backText:p,frontText:m,openCheckbox:f,doNotTranslate:v,doNotTranslateBack:_}=s;let y=!0;return f&&(y=typeof u.offset=="boolean"?u.offset:!0),y?g.jsxs("div",{className:b.Utils.clsx(le.displayFlex,le.blockMarginTop),children:[m&&g.jsx("div",{className:le.frontText,children:v?m:b.I18n.t(m)}),g.jsx(bi,{className:b.Utils.clsx(l,s.className),fullWidth:!0,autoComplete:"off",label:s.noHelperText?"":"number",variant:"outlined",size:"small",type:"number",value:i,onChange:r,customValue:!0}),p&&g.jsx("div",{className:le.backText,children:_?p:b.I18n.t(p)})]},d):null}renderColor(s,i,r){const{className:l}=this.props,{attr:u,backText:d,frontText:p,doNotTranslate:m,doNotTranslateBack:f}=s;return g.jsxs("div",{className:b.Utils.clsx(le.displayFlex,le.blockMarginTop),children:[p&&g.jsx("div",{className:le.frontText,children:m?p:b.I18n.t(p)}),g.jsx(bi,{className:l,autoComplete:"off",fullWidth:!0,variant:"outlined",size:"small",type:"color",value:i,onChange:r}),d&&g.jsx("div",{className:le.backText,children:f?d:b.I18n.t(d)})]},u)}renderCheckbox(s,i,r){const{className:l}=this.props,{settings:u}=this.state,{attr:d,backText:p,frontText:m,defaultValue:f,doNotTranslate:v,doNotTranslateBack:_}=s;return g.jsxs("div",{className:le.displayFlex,children:[m&&g.jsx("div",{className:le.frontText,children:v?m:b.I18n.t(m)}),g.jsx(TT,{className:l,size:"small",value:typeof u[d]=="boolean"?!!u[d]:!!f,customValue:!0,onChange:r}),p&&g.jsx("div",{onClick:()=>r(typeof u[d]=="boolean"?!u[d]:!f),className:le.backText,children:_?p:b.I18n.t(p)})]},d)}renderSlider(s,i,r){const{className:l}=this.props,{attr:u,frontText:d,backText:p,nameBlock:m,min:f,max:v,step:_,unit:y,doNotTranslate:k,doNotTranslateBack:C}=s;return g.jsxs("div",{children:[g.jsxs("div",{className:le.displayFlex,style:{marginRight:20},children:[d&&g.jsx("div",{className:le.frontText,children:k?d:b.I18n.t(d)}),g.jsx(YR,{customValue:!0,min:f,max:v,step:_,unit:y,className:l,autoComplete:"off",label:"number",variant:"outlined",size:"small",value:i,onChange:w=>{console.log(w),r(w)}}),p&&g.jsx("div",{style:{marginLeft:20},className:le.backText,children:C?p:b.I18n.t(p)})]}),m&&g.jsx("div",{className:le.nameBlock,children:b.I18n.t(m)})]},u)}renderButton(s,i,r){const{className:l}=this.props,{attr:u,frontText:d,backText:p,doNotTranslate:m,doNotTranslateBack:f}=s;return g.jsxs("div",{className:b.Utils.clsx(le.displayFlex,le.blockMarginTop),children:[d&&g.jsx("div",{className:le.frontText,children:m?d:b.I18n.t(d)}),g.jsx(Ur,{fullWidth:!0,value:i.toString(),className:l,onClick:()=>r(i)}),p&&g.jsx("div",{className:le.backText,children:f?p:b.I18n.t(p)})]},u)}async findIcon(s){var i;if(!s)return null;if((i=s.common)!=null&&i.icon)return b.getSelectIdIcon(s,"../..");if(s.type==="state"||s.type==="channel"){const r=s._id.split(".");r.pop();const l=r.join(".");try{const u=await this.props.socket.getObject(l);return await this.findIcon(u)}catch{return null}}return null}renderObjectID(s,i,r){const{attr:l,openCheckbox:u,checkReadOnly:d}=s,{settings:p}=this.state,m=this.state[`showSelectId${l}`],{className:f,socket:v,style:_}=this.props;let y=!0;u&&(y=typeof p.offset=="boolean"?p.offset:!0);const k=p[l],C=k?this.state[k]:void 0;return k&&!C&&C!==!1&&setTimeout(async w=>{var A;const E=await v.getObject(i),R=await this.findIcon(E),D={[w]:E||!1,[`${w}___icon`]:R,error:d&&this.lastObjectIdChange&&Date.now()-this.lastObjectIdChange<1e3&&((A=E==null?void 0:E.common)==null?void 0:A.write)===!1?b.I18n.t("Read only ID selected: %s",p[w]):""};this.setState(D)},0,k),y?g.jsxs("div",{className:le.blockMarginTop,children:[g.jsxs("div",{className:le.displayFlex,children:[s.title?g.jsx("div",{children:b.I18n.t(s.title)}):null,g.jsx(bi,{className:f,style:_,autoComplete:"off",fullWidth:!0,disabled:!0,variant:"outlined",size:"small",value:i,customValue:!0}),g.jsx(Ur,{icon:this.state[`${k}___icon`],square:!0,style:{..._||void 0,marginLeft:7},value:"...",className:f,onClick:()=>{const w={};w[`showSelectId${l}`]=!0,this.setState(w)}})]}),C?g.jsx("div",{className:b.Utils.clsx(le.nameBlock,le.displayItalic),children:b.Utils.getObjectNameFromObj(C,b.I18n.getLanguage())}):null,m?g.jsx(b.DialogSelectID,{theme:this.props.theme,imagePrefix:"../..",dialogName:"javascript",themeType:b.Utils.getThemeName(),socket:v,selected:i,onClose:()=>{const w={};w[`showSelectId${l}`]=!1,this.setState(w)},onOk:(w,E)=>{const R={};R[`showSelectId${l}`]=!1;const D=Array.isArray(w)?w[0]:w;this.setState(R,async()=>{var J,ie,se,me,z,Oe,Ne,Ze,ae,ce;const A=D?await v.getObject(D):void 0;this.lastObjectIdChange=Date.now(),r({[l]:w,[`${l}Role`]:(J=A==null?void 0:A.common)==null?void 0:J.role,[`${l}Type`]:(ie=A==null?void 0:A.common)==null?void 0:ie.type,[`${l}Unit`]:(se=A==null?void 0:A.common)==null?void 0:se.unit,[`${l}States`]:(me=A==null?void 0:A.common)==null?void 0:me.states,[`${l}Min`]:(z=A==null?void 0:A.common)==null?void 0:z.min,[`${l}Max`]:(Oe=A==null?void 0:A.common)==null?void 0:Oe.max,[`${l}Step`]:(Ne=A==null?void 0:A.common)==null?void 0:Ne.step,[`${l}Def`]:(Ze=A==null?void 0:A.common)==null?void 0:Ze.def,[`${l}Write`]:(ae=A==null?void 0:A.common)==null?void 0:ae.write,[`${l}Read`]:(ce=A==null?void 0:A.common)==null?void 0:ce.read},()=>this.props.setOnUpdate&&this.props.setOnUpdate(!0))})}}):null]},l):null}renderIconTag(){return g.jsx("div",{className:le.iconTag,onClick:s=>{this.state.settings.tagCard&&(this.state.tagCardArray.length<3?this.onChangeTag():this.setState({openTagMenu:s.currentTarget}))},children:this.state.settings.tagCard})}renderTime(s,i,r){const{attr:l,backText:u,frontText:d,doNotTranslate:p,doNotTranslateBack:m}=s;return g.jsxs("div",{className:le.displayFlex,style:{whiteSpace:"nowrap"},children:[d&&g.jsx("div",{className:le.frontText,children:p?d:b.I18n.t(d)}),g.jsx(tO,{value:i,onChange:r}),u&&g.jsx("div",{className:le.backText,children:m?u:b.I18n.t(u)})]},l)}renderSelect(s,i,r){const{className:l,style:u}=this.props,{name:d,options:p,frontText:m,backText:f,attr:v,multiple:_,doNotTranslate:y,doNotTranslate2:k,doNotTranslateBack:C}=s;return g.jsxs("div",{className:b.Utils.clsx(le.displayFlex,le.blockMarginTop),style:{whiteSpace:"nowrap"},children:[m&&g.jsx("div",{className:le.frontText,children:b.I18n.t(m)}),g.jsx(VR,{attr:v,doNotTranslate:y,doNotTranslate2:k,title:d,className:l,style:u,options:p,value:i,onChange:r,multiple:_,customValue:!0}),f&&g.jsx("div",{className:le.backText,children:C?f:b.I18n.t(f)})]},v)}renderInstance(s,i,r){const{socket:l}=this.props,{name:u,frontText:d,backText:p,attr:m,adapter:f,doNotTranslate:v,doNotTranslateBack:_}=s;return this.state.hideAttributes.includes(m)?null:g.jsxs("div",{className:b.Utils.clsx(le.displayFlex,le.blockMarginTop),style:{whiteSpace:"nowrap"},children:[d&&g.jsx("div",{className:le.frontText,children:v?d:b.I18n.t(d)}),g.jsx(FR,{attr:m,socket:l,adapter:f,title:u,value:i,onChange:y=>{r(Array.isArray(y)?y[0]:y)},customValue:!0,onInstanceHide:y=>this.setState({hideAttributes:[...this.state.hideAttributes,m]},()=>r(y))}),p&&g.jsx("div",{className:le.backText,children:_?p:b.I18n.t(p)})]},m)}renderDialog(s){const{onShowDialog:i,frontText:r,backText:l,attr:u,icon:d,doNotTranslate:p,doNotTranslateBack:m}=s;return g.jsxs("div",{className:b.Utils.clsx(le.displayFlex,le.blockMarginTop),style:{whiteSpace:"nowrap"},children:[r&&g.jsx("div",{className:le.frontText,children:p?r:b.I18n.t(r)}),g.jsx(mw,{iconName:d,className:b.Utils.clsx(le.iconDialog),onClick:()=>i&&i()}),l&&g.jsx("div",{className:le.backText,children:m?l:b.I18n.t(l)})]},u)}renderModalInput(s,i,r){const{openModal:l}=this.state,{className:u}=this.props,{attr:d,nameBlock:p,frontText:m,backText:f,noTextEdit:v,doNotTranslate:_,doNotTranslateBack:y}=s;return g.jsxs("div",{children:[g.jsxs("div",{className:b.Utils.clsx(le.displayFlex,le.blockMarginTop),children:[m&&g.jsx("div",{className:le.frontText,children:_?m:b.I18n.t(m)}),g.jsx(bi,{disabled:!!v,className:u,autoComplete:"off",fullWidth:!0,variant:"outlined",size:"small",value:i,onChange:r,customValue:!0}),g.jsx(Ur,{square:!0,style:{marginLeft:5},value:"...",className:u,onClick:()=>this.setState({openModal:!0})}),f&&g.jsx("div",{className:le.backText,children:y?f:b.I18n.t(f)})]}),l?g.jsx(nm,{onApply:k=>this.setState({openModal:!1},()=>k!=null&&r(k)),onClose:()=>this.setState({openModal:!1}),defaultValue:i,textInput:!0}):null,p&&g.jsx("div",{className:le.nameBlock,children:b.I18n.t(p)})]},d)}renderDate(s,i,r){const{attr:l,backText:u,frontText:d,doNotTranslate:p,doNotTranslateBack:m}=s;return g.jsxs("div",{className:le.displayFlex,style:{whiteSpace:"nowrap"},children:[d&&g.jsx("div",{className:le.frontText,children:p?d:b.I18n.t(d)}),g.jsx(oO,{value:i,onChange:r}),u&&g.jsx("div",{className:le.backText,children:m?u:b.I18n.t(u)})]},l)}static getReplacesInText(s){var r;let i="";return(r=s.trigger)!=null&&r.oidType?i=".replace(/%s/g, obj.state.val).replace(/%id/g, obj.id).replace(/%name/g, obj.common && obj.common.name).replace(/%old/g, obj.oldState.val)":s.conditionsStates.length&&(i=`.replace(/%s/g, ${s.conditionsStates[0].name}).replace(/%id/g, "${s.conditionsStates[0].id}")`),i}renderTags(){const{tagCardArray:s,openTagMenu:i}=this.state,{tagCard:r}=this.state.settings;let l=r!=="="&&r!=="<>"&&r!==">="&&r!=="()"&&r!=="."&&r!=="<="&&r!=="<"&&r!==">"&&r?b.I18n.t(r):r;return s.length>=3&&(l=g.jsxs("div",{children:[g.jsx("div",{"aria-controls":"simple-menu","aria-haspopup":"true",onClick:u=>{this.setState({openTagMenu:u.currentTarget},()=>{this.props.isTourOpen&&this.props.tourStep===As.openTagsMenu&&setTimeout(()=>this.props.setTourStep&&this.props.setTourStep(As.selectIntervalTag),300)})},children:l}),g.jsx(cm,{id:"simple-menu",anchorEl:i,keepMounted:!0,open:!!i,onClose:()=>this.setState({openTagMenu:null}),children:s.map((u,d)=>{let p;return typeof u!="string"?p=u.title:p=u,g.jsxs(Ve,{selected:p===r,className:`tag-card-${p}`,style:{placeContent:"space-between"},onClick:m=>{m.stopPropagation(),this.props.isTourOpen&&(this.props.tourStep===As.openTagsMenu||this.props.tourStep===As.selectIntervalTag)&&p==="interval"&&setTimeout(()=>{var v,_;return(_=(v=this.props).setTourStep)==null?void 0:_.call(v,As.selectActions)},500);const f=JSON.parse(JSON.stringify(this.state.settings));f.tagCard=p,this.setState({openTagMenu:null,settings:f},()=>{this.props.onChange(this.state.settings),this.onTagChange(this.state.settings.tagCard)})},children:[p.search(/>|<|<>|<=|>=|=/)!==-1?p:b.I18n.t(p),typeof u!="string"&&u.title2&&g.jsx("div",{style:{marginLeft:4},children:b.I18n.t(u.title2)})]},`${p}_${d}`)})})]})),l}getData(){return{acceptedBy:"triggers",name:"",id:""}}onChangeTag(){const{tagCardArray:s,settings:i,settings:{tagCard:r}}=this.state;let l;if(typeof s[0]!="string"?l=s.map(u=>u.title):l=[...s],r&&l.length<3){const u={...i},d=l[(l.indexOf(r)+1)%l.length];u.tagCard=d,this.setState({settings:u},()=>{this.props.onChange(u),this.onTagChange(d)})}}componentDidMount(){this.onTagChange()}componentDidUpdate(){this.props.acceptedBy!=="triggers"&&this.props.onUpdate&&setTimeout(()=>this.onUpdate(),0)}onChangeInput(s){return(i,r,l)=>{const u=JSON.parse(JSON.stringify(this.state.settings));typeof i=="object"&&(!r||typeof r=="function")?(Object.keys(i).forEach(d=>u[d]=i[d]),typeof r=="function"&&(l=r,r=void 0)):u[r||s]=i,u.id=this.getData().id,u._id=this.props._id,this.setState({settings:u},()=>{this.onValueChanged(i,r||s),this.props.onChange(u),l==null||l()})}}renderSpecific(){return null}renderDebug(s){return""}renderDebugInfo(){return this.state.debugMessage?g.jsx("div",{className:le.debugInfo,style:{opacity:1,height:22,bottom:-22},children:this.renderDebug?this.renderDebug(this.state.debugMessage):b.I18n.t("executed")},this.state.debugMessage.ts):null}renderCron(s,i,r){return null}renderWizard(s,i,r){return null}renderWriteState(){return null}renderInputElement(s,i){const{nameRender:r,defaultValue:l,attr:u}=s,{settings:d}=this.state;let p=u?d[u]:void 0;switch(p===void 0&&(p=l),r){case"renderTime":return u?this.renderTime(s,p,this.onChangeInput(u)):g.jsx("div",{children:b.I18n.t("Invalid renderTime")},`invalid_${i}`);case"renderNameText":return this.renderNameText(s,l);case"renderSelect":return u?this.renderSelect(s,p,this.onChangeInput(u)):g.jsx("div",{children:b.I18n.t("Invalid renderSelect")},`invalid_${i}`);case"renderModalInput":return u?this.renderModalInput(s,p,this.onChangeInput(u)):g.jsx("div",{children:b.I18n.t("Invalid renderModalInput")},`invalid_${i}`);case"renderObjectID":return u?this.renderObjectID(s,p,this.onChangeInput(u)):g.jsx("div",{children:b.I18n.t("Invalid renderObjectID")},`invalid_${i}`);case"renderDialog":return u?this.renderDialog(s):g.jsx("div",{children:b.I18n.t("Invalid renderDialog")},`invalid_${i}`);case"renderInstance":return u?this.renderInstance(s,p,this.onChangeInput(u)):g.jsx("div",{children:b.I18n.t("Invalid renderInstance")},`invalid_${i}`);case"renderText":return u?this.renderText(s,p,this.onChangeInput(u)):g.jsx("div",{children:b.I18n.t("Invalid renderText")},`invalid_${i}`);case"renderSlider":return u?this.renderSlider(s,p,this.onChangeInput(u)):g.jsx("div",{children:b.I18n.t("Invalid renderSlider")},`invalid_${i}`);case"renderCheckbox":return u?this.renderCheckbox(s,p,this.onChangeInput(u)):g.jsx("div",{children:b.I18n.t("Invalid renderCheckbox")},`invalid_${i}`);case"renderButton":return u?this.renderButton(s,p,this.onChangeInput(u)):g.jsx("div",{children:b.I18n.t("Invalid renderButton")},`invalid_${i}`);case"renderColor":return u?this.renderColor(s,p,this.onChangeInput(u)):g.jsx("div",{children:b.I18n.t("Invalid renderColor")},`invalid_${i}`);case"renderSwitch":return u?this.renderSwitch(s,p,this.onChangeInput(u)):g.jsx("div",{children:b.I18n.t("Invalid renderSwitch")},`invalid_${i}`);case"renderDate":return u?this.renderDate(s,p,this.onChangeInput(u)):g.jsx("div",{children:b.I18n.t("Invalid renderDate")},`invalid_${i}`);case"renderCron":return u?this.renderCron(s,p,this.onChangeInput(u)):g.jsx("div",{children:b.I18n.t("Invalid renderCron")},`invalid_${i}`);case"renderWizard":return u?this.renderWizard(s,p,this.onChangeInput(u)):g.jsx("div",{children:b.I18n.t("Invalid renderWizard")},`invalid_${i}`);case"renderWriteState":return this.renderWriteState();case"renderNumber":return u?this.renderNumber(s,p,this.onChangeInput(u)):g.jsx("div",{children:b.I18n.t("Invalid renderNumber")},`invalid_${i}`);default:return this[r]?this[r](s,p,u?this.onChangeInput(u):null):g.jsx("div",{children:b.I18n.t("Invalid input type: %s",r)},`invalid_${i}`)}}render(){var y;const{inputs:s,name:i,icon:r,iconTag:l,settings:u,adapter:d,settings:{tagCard:p},helpDialog:m}=this.state,{socket:f,notFound:v}=this.props;this.state.settings&&!this.state.settings.tagCard&&((y=this.state.tagCardArray)!=null&&y.length)&&setTimeout(()=>{const k=JSON.parse(JSON.stringify(this.state.settings));k.tagCard=typeof this.state.tagCardArray[0]!="string"?this.state.tagCardArray[0].title:this.state.tagCardArray[0],this.setState({settings:k})},50),this.state.enableSimulation!==this.props.enableSimulation&&!this.enableSimulationProcessing&&(this.enableSimulationProcessing=!0,setTimeout(()=>{this.setState({enableSimulation:this.props.enableSimulation},()=>{this.enableSimulationProcessing=!1})},50));let _;if(this.props.onDebugMessage)for(let k=this.props.onDebugMessage.length-1;k>=0;k--){const C=this.props.onDebugMessage[k];if(C.blockId===this.props._id&&C.ts>this.lastDebugMessage&&C.ts>Date.now()-1e3){_=C;break}}return _&&(this.lastDebugMessage=_.ts,this.debugMessageTimeout&&clearTimeout(this.debugMessageTimeout),this.debugHideTimeout&&(clearTimeout(this.debugHideTimeout),this.debugHideTimeout=null),this.debugMessageTimeout=setTimeout(k=>{const C=JSON.parse(k),w=C.hideTimeout||5e3;this.debugMessageTimeout=null,this.setState({debugMessage:C},()=>{this.debugHideTimeout&&clearTimeout(this.debugHideTimeout),this.debugHideTimeout=setTimeout(()=>{this.debugHideTimeout=null,this.setState({debugMessage:null})},w)})},50,JSON.stringify(_))),g.jsxs(Sg,{children:[l?this.renderIconTag():g.jsx(mw,{iconName:r,className:b.Utils.clsx(le.iconThemCard,p&&this.state.tagCardArray.length&&le.iconThemCardSelectable),adapter:d,socket:f,onClick:k=>{p&&(this.state.tagCardArray.length<3?this.onChangeTag():this.setState({openTagMenu:k.currentTarget}))}}),g.jsxs("div",{className:le.blockName,children:[g.jsxs("span",{className:le.nameCard,children:[b.I18n.t(i),v?b.I18n.t("%s not found",u.id):"",m?g.jsx(Me,{className:le.iconHelp,size:"small",onClick:()=>this.setState({helpText:b.I18n.t(m)}),children:g.jsx(dC,{})}):null]}),s.map((k,C)=>this.renderInputElement(k,C))]}),p&&g.jsx("div",{className:le.controlMenuTop,style:{opacity:1,height:22,top:-22},children:g.jsx("div",{onClick:()=>this.onChangeTag(),className:b.Utils.clsx(le.tagCard,"tag-card"),children:this.renderTags()})}),this.renderDebugInfo(),this.state.error?g.jsx(b.DialogError,{title:b.I18n.t("Warning"),text:this.state.error,onClose:()=>this.setState({error:""})}):null,this.state.helpText?g.jsx(b.DialogMessage,{title:b.I18n.t("Instructions"),text:this.state.helpText,onClose:()=>this.setState({helpText:""})}):null,this.renderSpecific()]})}}const fw={en:{name:"Google - English",engine:"google",params:[]},de:{name:"Google - Deutsch",engine:"google",params:[]},ru:{name:"Google - Русский",engine:"google",params:[]},it:{name:"Google - Italiano",engine:"google",params:[]},es:{name:"Google - Espaniol",engine:"google",params:[]},fr:{name:"Google - Français",engine:"google",params:[]},ru_YA:{name:"Yandex - Русский",engine:"yandex",params:["key","voice","emotion","ill","drunk","robot"],voice:["jane","zahar"],emotion:["none","good","neutral","evil","mixed"]},ru_YA_CLOUD:{name:"Yandex Cloud - Русский",engine:"yandexCloud",params:["key","folderID","voice","emotion"],voice:["alyss","oksana","jane","zahar"],emotion:["good","neutral","evil"]},"en-US":{name:"PicoTTS - Englisch US",engine:"PicoTTS",params:[]},"en-GB":{name:"PicoTTS - Englisch GB",engine:"PicoTTS",params:[]},"de-DE":{name:"PicoTTS - Deutsch",engine:"PicoTTS",params:[]},"it-IT":{name:"PicoTTS - Italiano",engine:"PicoTTS",params:[]},"es-ES":{name:"PicoTTS - Espaniol",engine:"PicoTTS",params:[]},"fr-FR":{name:"PicoTTS - Français",engine:"PicoTTS",params:[]},"ru-RU_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"ru-RU",ename:"Tatyana",ssml:!0,name:"Cloud - Русский - Татьяна"},"ru-RU_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"ru-RU",ename:"Maxim",ssml:!0,name:"Cloud - Русский - Максим"},"de-DE_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"de-DE",ename:"Marlene",ssml:!0,name:"Cloud - Deutsch - Marlene"},"de-DE_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"de-DE",ename:"Hans",ssml:!0,name:"Cloud - Deutsch - Hans"},"en-US_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"en-US",ename:"Salli",ssml:!0,name:"Cloud - en-US - Female - Salli"},"en-US_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"en-US",ename:"Joey",ssml:!0,name:"Cloud - en-US - Male - Joey"},"da-DK_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"da-DK",ename:"Naja",ssml:!0,name:"Cloud - da-DK - Female - Naja"},"da-DK_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"da-DK",ename:"Mads",ssml:!0,name:"Cloud - da-DK - Male - Mads"},"en-AU_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"en-AU",ename:"Nicole",ssml:!0,name:"Cloud - en-AU - Female - Nicole"},"en-AU_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"en-AU",ename:"Russell",ssml:!0,name:"Cloud - en-AU - Male - Russell"},"en-GB_CLOUD_Female_Amy":{gender:"Female",engine:"cloud",params:["cloud"],language:"en-GB",ename:"Amy",ssml:!0,name:"Cloud - en-GB - Female - Amy"},"en-GB_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"en-GB",ename:"Brian",ssml:!0,name:"Cloud - en-GB - Male - Brian"},"en-GB_CLOUD_Female_Emma":{gender:"Female",engine:"cloud",params:["cloud"],language:"en-GB",ename:"Emma",ssml:!0,name:"Cloud - en-GB - Female - Emma"},"en-GB-WLS_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"en-GB-WLS",ename:"Gwyneth",ssml:!0,name:"Cloud - en-GB-WLS - Female - Gwyneth"},"en-GB-WLS_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"en-GB-WLS",ename:"Geraint",ssml:!0,name:"Cloud - en-GB-WLS - Male - Geraint"},"cy-GB_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"cy-GB",ename:"Gwyneth",ssml:!0,name:"Cloud - cy-GB - Female - Gwyneth"},"cy-GB_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"cy-GB",ename:"Geraint",ssml:!0,name:"Cloud - cy-GB - Male - Geraint"},"en-IN_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"en-IN",ename:"Raveena",ssml:!0,name:"Cloud - en-IN - Female - Raveena"},"en-US_CLOUD_Male_Chipmunk":{gender:"Male",engine:"cloud",params:["cloud"],language:"en-US",ename:"Chipmunk",ssml:!0,name:"Cloud - en-US - Male - Chipmunk"},"en-US_CLOUD_Male_Eric":{gender:"Male",engine:"cloud",params:["cloud"],language:"en-US",ename:"Eric",ssml:!0,name:"Cloud - en-US - Male - Eric"},"en-US_CLOUD_Female_Ivy":{gender:"Female",engine:"cloud",params:["cloud"],language:"en-US",ename:"Ivy",ssml:!0,name:"Cloud - en-US - Female - Ivy"},"en-US_CLOUD_Female_Jennifer":{gender:"Female",engine:"cloud",params:["cloud"],language:"en-US",ename:"Jennifer",ssml:!0,name:"Cloud - en-US - Female - Jennifer"},"en-US_CLOUD_Male_Justin":{gender:"Male",engine:"cloud",params:["cloud"],language:"en-US",ename:"Justin",ssml:!0,name:"Cloud - en-US - Male - Justin"},"en-US_CLOUD_Female_Kendra":{gender:"Female",engine:"cloud",params:["cloud"],language:"en-US",ename:"Kendra",ssml:!0,name:"Cloud - en-US - Female - Kendra"},"en-US_CLOUD_Female_Kimberly":{gender:"Female",engine:"cloud",params:["cloud"],language:"en-US",ename:"Kimberly",ssml:!0,name:"Cloud - en-US - Female - Kimberly"},"es-ES_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"es-ES",ename:"Conchita",ssml:!0,name:"Cloud - es-ES - Female - Conchita"},"es-ES_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"es-ES",ename:"Enrique",ssml:!0,name:"Cloud - es-ES - Male - Enrique"},"es-US_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"es-US",ename:"Penelope",ssml:!0,name:"Cloud - es-US - Female - Penelope"},"es-US_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"es-US",ename:"Miguel",ssml:!0,name:"Cloud - es-US - Male - Miguel"},"fr-CA_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"fr-CA",ename:"Chantal",ssml:!0,name:"Cloud - fr-CA - Female - Chantal"},"fr-FR_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"fr-FR",ename:"Celine",ssml:!0,name:"Cloud - fr-FR - Female - Celine"},"fr-FR_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"fr-FR",ename:"Mathieu",ssml:!0,name:"Cloud - fr-FR - Male - Mathieu"},"is-IS_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"is-IS",ename:"Dora",ssml:!0,name:"Cloud - is-IS - Female - Dora"},"is-IS_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"is-IS",ename:"Karl",ssml:!0,name:"Cloud - is-IS - Male - Karl"},"it-IT_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"it-IT",ename:"Carla",ssml:!0,name:"Cloud - it-IT - Female - Carla"},"it-IT_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"it-IT",ename:"Giorgio",ssml:!0,name:"Cloud - it-IT - Male - Giorgio"},"nb-NO_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"nb-NO",ename:"Liv",ssml:!0,name:"Cloud - nb-NO - Female - Liv"},"nl-NL_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"nl-NL",ename:"Lotte",ssml:!0,name:"Cloud - nl-NL - Female - Lotte"},"nl-NL_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"nl-NL",ename:"Ruben",ssml:!0,name:"Cloud - nl-NL - Male - Ruben"},"pl-PL_CLOUD_Female_Agnieszka":{gender:"Female",engine:"cloud",params:["cloud"],language:"pl-PL",ename:"Agnieszka",ssml:!0,name:"Cloud - pl-PL - Female - Agnieszka"},"pl-PL_CLOUD_Male_Jacek":{gender:"Male",engine:"cloud",params:["cloud"],language:"pl-PL",ename:"Jacek",ssml:!0,name:"Cloud - pl-PL - Male - Jacek"},"pl-PL_CLOUD_Female_Ewa":{gender:"Female",engine:"cloud",params:["cloud"],language:"pl-PL",ename:"Ewa",ssml:!0,name:"Cloud - pl-PL - Female - Ewa"},"pl-PL_CLOUD_Male_Jan":{gender:"Male",engine:"cloud",params:["cloud"],language:"pl-PL",ename:"Jan",ssml:!0,name:"Cloud - pl-PL - Male - Jan"},"pl-PL_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"pl-PL",ename:"Maja",ssml:!0,name:"Cloud - pl-PL - Female - Maja"},"pt-BR_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"pt-BR",ename:"Vitoria",ssml:!0,name:"Cloud - pt-BR - Female - Vitoria"},"pt-BR_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"pt-BR",ename:"Ricardo",ssml:!0,name:"Cloud - pt-BR - Male - Ricardo"},"pt-PT_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"pt-PT",ename:"Cristiano",ssml:!0,name:"Cloud - pt-PT - Male - Cristiano"},"pt-PT_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"pt-PT",ename:"Ines",ssml:!0,name:"Cloud - pt-PT - Female - Ines"},"ro-RO_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"ro-RO",ename:"Carmen",ssml:!0,name:"Cloud - ro-RO - Female - Carmen"},"sv-SE_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"sv-SE",ename:"Astrid",ssml:!0,name:"Cloud - sv-SE - Female - Astrid"},"tr-TR_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"tr-TR",ename:"Filiz",ssml:!0,name:"Cloud - tr-TR - Female - Filiz"},"ru-RU_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"ru-RU",ename:"Tatyana",ssml:!0,name:"AWS Polly - Русский - Татьяна"},"ru-RU_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"ru-RU",ename:"Maxim",ssml:!0,name:"AWS Polly - Русский - Максим"},"de-DE_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"de-DE",ename:"Marlene",ssml:!0,name:"AWS Polly - Deutsch - Marlene"},"de-DE_AP_Female_Vicky":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"de-DE",ename:"Vicky",ssml:!0,name:"AWS Polly - Deutsch - Vicky"},"de-DE_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"de-DE",ename:"Hans",ssml:!0,name:"AWS Polly - Deutsch - Hans"},"en-US_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"en-US",ename:"Salli",ssml:!0,name:"AWS Polly - en-US - Female - Salli"},"en-US_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"en-US",ename:"Joey",ssml:!0,name:"AWS Polly - en-US - Male - Joey"},"da-DK_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"da-DK",ename:"Naja",ssml:!0,name:"AWS Polly - da-DK - Female - Naja"},"da-DK_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"da-DK",ename:"Mads",ssml:!0,name:"AWS Polly - da-DK - Male - Mads"},"en-AU_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"en-AU",ename:"Nicole",ssml:!0,name:"AWS Polly - en-AU - Female - Nicole"},"en-AU_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"en-AU",ename:"Russell",ssml:!0,name:"AWS Polly - en-AU - Male - Russell"},"en-GB_AP_Female_Amy":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"en-GB",ename:"Amy",ssml:!0,name:"AWS Polly - en-GB - Female - Amy"},"en-GB_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"en-GB",ename:"Brian",ssml:!0,name:"AWS Polly - en-GB - Male - Brian"},"en-GB_AP_Female_Emma":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"en-GB",ename:"Emma",ssml:!0,name:"AWS Polly - en-GB - Female - Emma"},"en-GB-WLS_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"en-GB-WLS",ename:"Gwyneth",ssml:!0,name:"AWS Polly - en-GB-WLS - Female - Gwyneth"},"en-GB-WLS_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"en-GB-WLS",ename:"Geraint",ssml:!0,name:"AWS Polly - en-GB-WLS - Male - Geraint"},"cy-GB_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"cy-GB",ename:"Gwyneth",ssml:!0,name:"AWS Polly - cy-GB - Female - Gwyneth"},"cy-GB_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"cy-GB",ename:"Geraint",ssml:!0,name:"AWS Polly - cy-GB - Male - Geraint"},"en-IN_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"en-IN",ename:"Raveena",ssml:!0,name:"AWS Polly - en-IN - Female - Raveena"},"en-US_AP_Male_Chipmunk":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"en-US",ename:"Chipmunk",ssml:!0,name:"AWS Polly - en-US - Male - Chipmunk"},"en-US_AP_Male_Eric":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"en-US",ename:"Eric",ssml:!0,name:"AWS Polly - en-US - Male - Eric"},"en-US_AP_Female_Ivy":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"en-US",ename:"Ivy",ssml:!0,name:"AWS Polly - en-US - Female - Ivy"},"en-US_AP_Female_Jennifer":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"en-US",ename:"Jennifer",ssml:!0,name:"AWS Polly - en-US - Female - Jennifer"},"en-US_AP_Male_Justin":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"en-US",ename:"Justin",ssml:!0,name:"AWS Polly - en-US - Male - Justin"},"en-US_AP_Female_Kendra":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"en-US",ename:"Kendra",ssml:!0,name:"AWS Polly - en-US - Female - Kendra"},"en-US_AP_Female_Kimberly":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"en-US",ename:"Kimberly",ssml:!0,name:"AWS Polly - en-US - Female - Kimberly"},"es-ES_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"es-ES",ename:"Conchita",ssml:!0,name:"AWS Polly - es-ES - Female - Conchita"},"es-ES_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"es-ES",ename:"Enrique",ssml:!0,name:"AWS Polly - es-ES - Male - Enrique"},"es-US_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"es-US",ename:"Penelope",ssml:!0,name:"AWS Polly - es-US - Female - Penelope"},"es-US_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"es-US",ename:"Miguel",ssml:!0,name:"AWS Polly - es-US - Male - Miguel"},"fr-CA_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"fr-CA",ename:"Chantal",ssml:!0,name:"AWS Polly - fr-CA - Female - Chantal"},"fr-FR_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"fr-FR",ename:"Celine",ssml:!0,name:"AWS Polly - fr-FR - Female - Celine"},"fr-FR_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"fr-FR",ename:"Mathieu",ssml:!0,name:"AWS Polly - fr-FR - Male - Mathieu"},"is-IS_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"is-IS",ename:"Dora",ssml:!0,name:"AWS Polly - is-IS - Female - Dora"},"is-IS_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"is-IS",ename:"Karl",ssml:!0,name:"AWS Polly - is-IS - Male - Karl"},"it-IT_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"it-IT",ename:"Carla",ssml:!0,name:"AWS Polly - it-IT - Female - Carla"},"it-IT_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"it-IT",ename:"Giorgio",ssml:!0,name:"AWS Polly - it-IT - Male - Giorgio"},"nb-NO_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"nb-NO",ename:"Liv",ssml:!0,name:"AWS Polly - nb-NO - Female - Liv"},"nl-NL_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"nl-NL",ename:"Lotte",ssml:!0,name:"AWS Polly - nl-NL - Female - Lotte"},"nl-NL_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"nl-NL",ename:"Ruben",ssml:!0,name:"AWS Polly - nl-NL - Male - Ruben"},"pl-PL_AP_Female_Agnieszka":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"pl-PL",ename:"Agnieszka",ssml:!0,name:"AWS Polly - pl-PL - Female - Agnieszka"},"pl-PL_AP_Male_Jacek":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"pl-PL",ename:"Jacek",ssml:!0,name:"AWS Polly - pl-PL - Male - Jacek"},"pl-PL_AP_Female_Ewa":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"pl-PL",ename:"Ewa",ssml:!0,name:"AWS Polly - pl-PL - Female - Ewa"},"pl-PL_AP_Male_Jan":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"pl-PL",ename:"Jan",ssml:!0,name:"AWS Polly - pl-PL - Male - Jan"},"pl-PL_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"pl-PL",ename:"Maja",ssml:!0,name:"AWS Polly - pl-PL - Female - Maja"},"pt-BR_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"pt-BR",ename:"Vitoria",ssml:!0,name:"AWS Polly - pt-BR - Female - Vitoria"},"pt-BR_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"pt-BR",ename:"Ricardo",ssml:!0,name:"AWS Polly - pt-BR - Male - Ricardo"},"pt-PT_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"pt-PT",ename:"Cristiano",ssml:!0,name:"AWS Polly - pt-PT - Male - Cristiano"},"pt-PT_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"pt-PT",ename:"Ines",ssml:!0,name:"AWS Polly - pt-PT - Female - Ines"},"ro-RO_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"ro-RO",ename:"Carmen",ssml:!0,name:"AWS Polly - ro-RO - Female - Carmen"},"sv-SE_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"sv-SE",ename:"Astrid",ssml:!0,name:"AWS Polly - sv-SE - Female - Astrid"},"tr-TR_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"tr-TR",ename:"Filiz",ssml:!0,name:"AWS Polly - tr-TR - Female - Filiz"}};class xc extends Xe{constructor(s){super(s,xc.getStaticData())}static compile(s,i){return s.text?`// Sayit ${s.text||""} +`;const r=Fe.Blockly.Xml.workspaceToDom(this.blocklyWorkspace),l=Fe.Blockly.Xml.domToText(r);i+=`//${btoa(encodeURIComponent(l))}`}return i}exportBlocks(){if(!this.blocklyWorkspace)return;let s;const i=Fe.Blockly.getSelected();if(i){const r=Fe.Blockly.Xml.blockToDom(i),l=i.getRelativeToSurfaceXY();r.setAttribute("x",(i.RTL?-l.x:l.x).toString()),r.setAttribute("y",l.y.toString()),s=Fe.Blockly.Xml.domToPrettyText(r)}else{const r=Fe.Blockly.Xml.workspaceToDom(this.blocklyWorkspace);s=Fe.Blockly.Xml.domToPrettyText(r)}this.setState({exportText:s})}importBlocks(){this.setState({importText:!0})}onImportBlocks(s){if(this.blocklyWorkspace&&(s=(s||"").trim(),s))try{s.startsWith("${s}`),s=s.replace(/[\n\r]/g,"").replace(/.*<\/variables>/g,""),window.scripts.loading=!0;const i=Fe.Blockly.utils.xml.textToDom(s);Fe.Blockly.Xml.appendDomToWorkspace(i,this.blocklyWorkspace),window.scripts.loading=!1,this.onBlocklyChanged()}catch(i){this.setState({error:{text:i.toString(),title:b.I18n.t("Import error")}})}}loadCode(){if(this.blocklyWorkspace){this.ignoreChanges=!0,this.blocklyWorkspace.clear();try{const s=Fe.jsCode2Blockly(this.originalCode)||'';window.scripts.loading=!0;const i=Fe.Blockly.utils.xml.textToDom(s);Fe.Blockly.Xml.domToWorkspace(i,this.blocklyWorkspace),window.scripts.loading=!1}catch(s){console.error(s),setTimeout(()=>this.setState({error:b.I18n.t("Cannot extract Blockly code!")}))}setTimeout(()=>this.ignoreChanges=!1,100)}}onBlocklyChanged(){this.blocklyRemoveOrphanedShadows(),this.setState({changed:!0}),this.onChange()}async componentDidUpdate(){if(!this.blockly||(this.didUpdate&&(clearTimeout(this.didUpdate),this.didUpdate=null),this.blocklyWorkspace))return;window.addEventListener("resize",this.onResizeBind,!1),fg=fg||await this.getToolbox(),$g=$g||Fe.Blockly.utils.xml.textToDom(fg),this.blocklyWorkspace=Fe.Blockly.inject(this.blockly,{renderer:"thrasos",theme:this.state.themeType==="dark"?uw:"classic",media:"google-blockly/media/",toolbox:$g,zoom:{controls:!0,wheel:!1,startScale:1,maxScale:3,minScale:.3,scaleSpeed:1.2,pinch:!0},move:{scrollbars:{horizontal:!0,vertical:!0},drag:!0,wheel:!0},trashcan:!0,grid:{spacing:25,length:1,snap:!0},sounds:!1}),window.scripts={blocklyWorkspace:this.blocklyWorkspace},this.blocklyWorkspace.registerToolboxCategoryCallback("PROCEDURE",window.Blockly.Procedures.flyoutCategoryNew),this.blocklyWorkspace.addChangeListener(i=>{var r;if(this.someSelected&&Date.now()-this.someSelectedTime>500){const l=(r=this.blocklyWorkspace)==null?void 0:r.getAllBlocks();this.someSelected=null,l==null||l.forEach(u=>u.removeSelect())}[Fe.Blockly.Events.UI,Fe.Blockly.Events.CREATE,Fe.Blockly.Events.VIEWPORT_CHANGE].includes(i.type)||this.ignoreChanges||(this.changeTimer&&clearTimeout(this.changeTimer),this.changeTimer=setTimeout(()=>{this.changeTimer=null,this.onBlocklyChanged()},200))}),this.loadCode(),this.onResize();const s=document.getElementsByClassName("blocklyToolboxDiv")[0];this.blockly.appendChild(s),this.updateBackground(),setTimeout(()=>this.searchId(),200)}updateBackground(){var s;this.state.themeType==="dark"?(s=this.blocklyWorkspace)==null||s.setTheme(uw):this.blocklyWorkspace&&(this.blocklyWorkspace.getThemeManager(),this.blocklyWorkspace.setTheme(Fe.Blockly.Themes.Classic))}componentWillUnmount(){this.blocklyWorkspace&&(this.blocklyWorkspace.dispose(),this.blocklyWorkspace=null,this.changeTimer&&clearTimeout(this.changeTimer),this.changeTimer=null,window.removeEventListener("resize",this.onResizeBind))}onChange(){this.originalCode=this.blocklyCode2JSCode(),this.props.onChange&&this.props.onChange(this.originalCode)}async getToolbox(s){const i=window.document.getElementById("toolbox");let r=i==null?void 0:i.outerHTML;if(!r)return s?(console.error("Cannot load blocks!"),""):new Promise(l=>{setTimeout(()=>l(this.getToolbox(!0)),500)});if(r=r.replace(/{(\w+)}/g,(l,u)=>window.MSG[u]),window.Blockly.CustomBlocks){let l="";const u=b.I18n.getLanguage();for(let d=0;d`;for(const f in m.blocks)Object.prototype.hasOwnProperty.call(m.blocks,f)&&(l+=m.blocks[f]);l+=""}r=r.replace("%%CUSTOM_BLOCKS%%",l)}return r}renderMessageDialog(){return this.state.message?g.jsx(b.Message,{text:typeof this.state.message=="object"?this.state.message.text:this.state.message,title:typeof this.state.message=="object"?this.state.message.title:"",onClose:()=>this.setState({message:""})},"dialogMessage"):null}renderErrorDialog(){return this.state.error?g.jsx(Zc,{text:typeof this.state.error=="object"?this.state.error.text.toString():this.state.error,title:typeof this.state.error=="object"?this.state.error.title:"",onClose:()=>{this.blinkBlock&&(Fe.blocklyBlinkBlock(this.blinkBlock),this.blinkBlock=null),this.setState({error:""})}},"dialogError"):null}renderExportDialog(){return this.state.exportText?g.jsx(Q0,{themeType:this.state.themeType,onClose:()=>this.setState({exportText:""}),text:this.state.exportText,scriptId:this.props.scriptId},"dialogExport"):null}renderImportDialog(){return this.state.importText?g.jsx(zm,{themeType:this.props.themeType,onClose:s=>{this.setState({importText:!1}),this.onImportBlocks(s)}},"dialogImport"):null}renderDialogPrompt(){return this.state.showInputPrompt?g.jsxs(Gt,{onClose:()=>{var i;const s=(i=this.state.showInputPrompt)==null?void 0:i.callback;s&&s(null),this.setState({showInputPrompt:null})},maxWidth:"sm",fullWidth:!0,open:!0,children:[g.jsx(as,{children:this.state.showInputPrompt.promptText}),g.jsx(Vt,{children:g.jsx(vo,{variant:"standard",fullWidth:!0,autoFocus:!0,value:this.state.showInputPrompt.value,onKeyUp:s=>{var i,r;if(s.key==="Enter"){const l=(i=this.state.showInputPrompt)==null?void 0:i.callback,u=(r=this.state.showInputPrompt)==null?void 0:r.value;l&&l(u===void 0?null:u),this.setState({showInputPrompt:null})}},onChange:s=>{var r,l;const i={...this.state.showInputPrompt};(r=this.state.showInputPrompt)!=null&&r.callback&&(i.callback=(l=this.state.showInputPrompt)==null?void 0:l.callback),i.value=s.target.value,this.setState({showInputPrompt:i})}})}),g.jsxs(Kt,{children:[g.jsx(De,{variant:"contained",disabled:!this.state.showInputPrompt.value,onClick:()=>{var r,l;const s=(r=this.state.showInputPrompt)==null?void 0:r.callback,i=(l=this.state.showInputPrompt)==null?void 0:l.value;s&&s(i===void 0?null:i),this.setState({showInputPrompt:null})},color:"primary",startIcon:g.jsx(zo,{}),children:b.I18n.t("Apply")}),g.jsx(De,{color:"grey",variant:"contained",onClick:()=>{var i;const s=(i=this.state.showInputPrompt)==null?void 0:i.callback;s&&s(null),this.setState({showInputPrompt:null})},startIcon:g.jsx(qs,{}),children:b.I18n.t("Close")})]})]},"inputDialog"):null}render(){return this.state.languageBlocklyLoaded&&this.state.languageOwnLoaded?(this.didUpdate=setTimeout(()=>{this.didUpdate=null,this.componentDidUpdate()},100),[g.jsx("div",{ref:s=>this.blockly=s,style:{width:"100%",height:"100%",position:"relative"}},"blocklyDOM"),this.renderDialogPrompt(),this.renderMessageDialog(),this.renderErrorDialog(),this.renderExportDialog(),this.renderImportDialog()]):null}}const fR=Object.freeze(Object.defineProperty({__proto__:null,default:Fe},Symbol.toStringTag,{value:"Module"})),$R="_nameCard_15el3_28",bR="_iconThemCard_15el3_40",vR="_iconThemCardSelectable_15el3_49",yR="_iconHelp_15el3_53",_R="_blockName_15el3_64",wR="_controlMenuTop_15el3_123",CR="_debugInfo_15el3_132",TR="_tagCard_15el3_142",kR="_displayFlex_15el3_161",SR="_blockMarginTop_15el3_166",ER="_nameBlock_15el3_167",IR="_frontText_15el3_171",xR="_backText_15el3_177",DR="_iconTag_15el3_181",AR="_displayItalic_15el3_191",le={nameCard:$R,iconThemCard:bR,iconThemCardSelectable:vR,iconHelp:yR,blockName:_R,controlMenuTop:wR,debugInfo:CR,tagCard:TR,displayFlex:kR,blockMarginTop:SR,nameBlock:ER,frontText:IR,backText:xR,iconTag:DR,displayItalic:AR},RR="_root_1dr6a_1",OR="_square_1dr6a_11",MR="_icon_1dr6a_16",bg={root:RR,square:OR,icon:MR},Ur=({fullWidth:a,size:s,onClick:i,style:r,className:l,value:u,square:d,icon:p})=>g.jsx(De,{variant:"outlined",color:"primary",onClick:i,fullWidth:a,style:r,className:b.Utils.clsx(bg.root,l,d?bg.square:""),size:s||"medium",children:p?g.jsx(b.Icon,{className:bg.icon,src:p}):u}),NR="_root_1ucda_1",LR={root:NR},PR=({size:a,value:s,title:i,onChange:r,className:l,customValue:u,disabled:d})=>{const[p,m]=vt(!1);return g.jsxs(g.Fragment,{children:[g.jsx(bc,{disabled:d,checked:!!(u?s:p),className:b.Utils.clsx(LR.root,l),onChange:f=>{u&&m(f.target.checked),r&&r(f.target.checked)},size:a||"medium"}),i||null]})},TT=am(PR),BR="_root_19roy_1",hw={root:BR},bi=a=>{const[s,i]=vt(""),{value:r,type:l,error:u,className:d,icon:p,label:m,style:f,onChange:v,fullWidth:_,autoComplete:y,customValue:k,autoFocus:C,rows:w,size:E,variant:R,multiline:D,disabled:A}=Object.assign({value:"",type:"text",error:"",className:null,table:!1,native:{},variant:"standard",size:"medium",component:null,styleComponentBlock:null,fullWidth:!1,autoComplete:"",customValue:!1,autoFocus:!1,rows:1},a);return g.jsx(vo,{error:!!u,autoFocus:C,fullWidth:_,label:m,disabled:A,variant:R,multiline:D,rows:w,value:k?r:s,type:l,helperText:u,style:f,className:b.Utils.clsx(hw.root,d),autoComplete:y,onChange:J=>{!k&&i(J.target.value),v&&v(J.target.value)},slotProps:{input:{endAdornment:p?g.jsx(xw,{position:"end",children:g.jsx(b.Icon,{className:hw.icon,src:p})}):null}},margin:"normal",size:E})},jR={formControl:{m:"10px 0","& .MuiFormControl-marginNormal":{mt:0,mb:0},"& > *":{color:"#2d0440 !important"},"& .MuiSelect-icon":{color:"#81688c"},"& label.Mui-focused":{color:"#81688c"},"& .MuiInput-underline:after":{borderBottomColor:"#510573"},"& .MuiInput-underline:before":{borderBottomColor:"#81688c"},"& .MuiInput-underline:hover:before":{borderBottomColor:"#81688c"}}},FR=({multiple:a,value:s,customValue:i,socket:r,title:l,attr:u,adapter:d,style:p,onChange:m,onInstanceHide:f})=>{const[v,_]=vt(s||"test1"),[y,k]=vt([]);return Mt(()=>{r==null||r.getAdapterInstances(d).then(C=>{const w=C.map(E=>({value:E._id.replace("system.adapter.",""),title:E._id.replace("system.adapter.","")}));w.length===1?f(w[0].value):w.unshift({value:d,title:b.I18n.t("All")}),k(w)})},[r,d,f]),g.jsxs(_i,{sx:jR.formControl,fullWidth:!0,style:p,children:[g.jsx(wi,{variant:"standard",value:(i?s:v)||"_",fullWidth:!0,multiple:a,renderValue:C=>a&&Array.isArray(C)?C.join(", "):C,onChange:C=>{!i&&_(C.target.value),m(C.target.value)},input:u?g.jsx(Dn,{name:u,id:`${u}-helper`}):g.jsx(Dn,{name:u}),children:y.map(C=>g.jsx(Ge,{style:{placeContent:"space-between"},value:C.value||"_",children:b.I18n.t(C.title)},`key-${C.value}`))}),l?g.jsx(Aw,{children:b.I18n.t(l)}):null]})},zR="_modalWrapper_587ci_33",UR="_modalDialog_587ci_40",pw={modalWrapper:zR,modalDialog:UR},nm=({onClose:a,children:s,titleButtonApply:i,titleButtonClose:r,onApply:l,className:u,textInput:d,defaultValue:p,disabled:m})=>{const[f,v]=vt(p||""),[_]=vt(p||"");return g.jsxs(Gt,{open:!0,maxWidth:"md",disableEscapeKeyDown:!1,onClose:a,classes:{paper:pw.modalDialog},className:pw.modalWrapper,children:[g.jsxs(Vt,{children:[d&&g.jsx(bi,{className:u,autoComplete:"off",fullWidth:!0,variant:"outlined",size:"medium",rows:10,multiline:!0,value:f,onChange:v,customValue:!0}),!d&&s]}),g.jsxs(Kt,{children:[g.jsx(De,{disabled:m===void 0?_===f:m,onClick:()=>l(d?f:null),variant:"contained",color:"primary",children:b.I18n.t(i||"Ok")}),g.jsx(De,{color:"grey",onClick:a,variant:"contained",children:b.I18n.t(r||"Cancel")})]})]})},HR="_root_15mo1_1",WR={root:HR},GR=({multiple:a,value:s,customValue:i,title:r,attr:l,options:u,style:d,onChange:p,className:m,doNotTranslate:f,doNotTranslate2:v})=>{const[_,y]=vt(s===void 0?u[0].value:s),k=i?s:_,C=k===""||k===null||k===void 0?"_":k;return g.jsxs(_i,{variant:"standard",className:b.Utils.clsx(WR.root,m),fullWidth:!0,style:d,children:[g.jsxs(wi,{variant:"standard",value:C,fullWidth:!0,multiple:a,renderValue:w=>{if(a&&Array.isArray(w)){w.sort();let R=w.indexOf("0");R!==-1&&(w.splice(R,1),w.push("0")),R=w.indexOf("_"),R!==-1&&(w.splice(R,1),w.unshift("_"));const D=u.find(J=>J.only);return D&&w.includes(D.value)?D.titleShort?f?D.titleShort:b.I18n.t(D.titleShort):f?D.title:b.I18n.t(D.title):w.map(J=>u.find(ie=>ie.value===J||J==="_"&&ie.value==="")||J).map(J=>typeof J=="object"?J.titleShort?f?J.titleShort:b.I18n.t(J.titleShort):f?J.title:b.I18n.t(J.title):f?J:b.I18n.t(J)).join(", ")}const E=u?u.find(R=>R.value===w||w==="_"&&R.value===""):null;return E!=null&&E.title?f?E==null?void 0:E.title:b.I18n.t(E==null?void 0:E.title):w},onChange:w=>{if(i||y(w.target.value),a){const E=w.target.value,R=u.find(D=>D.only);if(R){const D=R.value;if(E.length===u.length-1&&E.includes(D))return p(E.filter(A=>A!==D),l);if(E.includes(D))return p(u.map(A=>A.value),l)}}p(w.target.value,l)},input:l?g.jsx(Dn,{name:l,id:`${l}-helper`}):g.jsx(Dn,{name:l}),children:[!a&&(u==null?void 0:u.map(w=>g.jsxs(Ge,{style:{placeContent:"space-between"},value:w.value===""||w.value===null||w.value===void 0?"_":w.value,children:[f?w.title:b.I18n.t(w.title),w.title2&&g.jsx("div",{children:v?w.title2:b.I18n.t(w.title2)})]},`key-${w.value}`))),a&&(u==null?void 0:u.map(w=>g.jsxs(Ge,{style:{placeContent:"space-between"},value:w.value||"_",children:[f?w.title:b.I18n.t(w.title)," ",g.jsx(TT,{customValue:!0,value:s==null?void 0:s.includes(w.value)})]},`key-${w.value}`)))]}),r?g.jsx(Aw,{children:b.I18n.t(r)}):null]})},VR="_root_1gt4d_1",KR="_mark_1gt4d_27",gw={root:VR,mark:KR},YR=({size:a,value:s,style:i,onChange:r,className:l,customValue:u,min:d,max:p,step:m,unit:f})=>{const[v,_]=vt(0);d=d!==void 0?d:0,p=p!==void 0?p:0,m=m!==void 0?m:(p-d)/100;const y=[{value:d,label:d+(f||"")},{value:p,label:p+(f||"")}];return g.jsx(Kk,{defaultValue:u?s:v,"aria-labelledby":"discrete-slider",valueLabelDisplay:"auto",classes:{mark:gw.mark},marks:y,step:m,min:d,max:p,value:u?s:v,style:i,className:b.Utils.clsx(gw.root,l),onChange:(k,C)=>{Array.isArray(C)?(!u&&_(C[0]),r(C[0])):(!u&&_(C),r(C))},size:a||"medium"})},JR="_root_rzul6_1",qR={root:JR},XR=({label:a,size:s,value:i,style:r,onChange:l,className:u,customValue:d})=>{const[p,m]=vt(!1);return g.jsx(Ag,{className:qR.root,control:g.jsx(Rw,{checked:d?i:p,style:r,className:u,onChange:f=>{d||m(f.target.checked),l(f.target.checked)},size:s||"medium"}),label:a??"all"})},ZR=am(XR),QR="_root_135pm_1",eO={root:QR},tO=({value:a,style:s,onChange:i,className:r})=>g.jsx(vo,{variant:"standard",id:"time",type:"time",onChange:l=>i(l.currentTarget.value),value:a,className:b.Utils.clsx(eO.root,r),fullWidth:!0,style:s,slotProps:{htmlInput:{step:300},inputLabel:{shrink:!0}}}),sO="_root_135pm_1",lc={root:sO},vg=[31,29,31,30,31,30,31,31,30,31,30,31],oO=({value:a,onChange:s,className:i,style:r})=>{const[l,u]=(a||"01.01").toString().split(".");let d=parseInt(u,10)||0,p=parseInt(l,10)||0;p>12?p=12:p<0&&(p=0),d>vg[p]?d=vg[p]:d<0&&(d=0);const m=[];for(let f=0;fs(`${f.target.value.toString().padStart(2,"0")}.${d.toString().padStart(2,"0")}`),value:p,children:[g.jsx(Ge,{style:{placeContent:"space-between"},value:0,children:b.I18n.t("Any month")},0),g.jsx(Ge,{style:{placeContent:"space-between"},value:1,children:b.I18n.t("January")},1),g.jsx(Ge,{style:{placeContent:"space-between"},value:2,children:b.I18n.t("February")},2),g.jsx(Ge,{style:{placeContent:"space-between"},value:3,children:b.I18n.t("March")},3),g.jsx(Ge,{style:{placeContent:"space-between"},value:4,children:b.I18n.t("April")},4),g.jsx(Ge,{style:{placeContent:"space-between"},value:5,children:b.I18n.t("May")},5),g.jsx(Ge,{style:{placeContent:"space-between"},value:6,children:b.I18n.t("June")},6),g.jsx(Ge,{style:{placeContent:"space-between"},value:7,children:b.I18n.t("July")},7),g.jsx(Ge,{style:{placeContent:"space-between"},value:8,children:b.I18n.t("August")},8),g.jsx(Ge,{style:{placeContent:"space-between"},value:9,children:b.I18n.t("September")},9),g.jsx(Ge,{style:{placeContent:"space-between"},value:10,children:b.I18n.t("October")},10),g.jsx(Ge,{style:{placeContent:"space-between"},value:11,children:b.I18n.t("November")},11),g.jsx(Ge,{style:{placeContent:"space-between"},value:12,children:b.I18n.t("December")},12)]})}),g.jsx(_i,{variant:"standard",className:b.Utils.clsx(lc.root,i),style:r,children:g.jsxs(wi,{variant:"standard",className:b.Utils.clsx(lc.root,i),margin:"dense",label:b.I18n.t("Date"),onChange:f=>s(`${p.toString().padStart(2,"0")}.${f.target.value.toString().padStart(2,"0")}`),value:d,children:[g.jsx(Ge,{style:{placeContent:"space-between"},value:0,children:b.I18n.t("Any")},"A"),m.map(f=>g.jsx(Ge,{style:{placeContent:"space-between"},value:f,children:f},f))]})})]})},yg={},iO={Shuffle:mx,Apps:ox,Functions:cx,Language:yS,AddBox:sx,Pause:gc,Subject:$x,PlayForWork:px,Brightness3:ix,HelpOutline:dC,Storage:fx,AccessTime:tx,PlayArrow:Fg,FlashOn:ax};function mw({iconName:a,className:s,adapter:i,socket:r,onClick:l,style:u}){const[d,p]=vt("");if(Mt(()=>{i&&r&&(yg[i]instanceof Promise||(yg[i]=r.getObject(`system.adapter.${i}`)),yg[i].then(f=>{var v;return((v=f==null?void 0:f.common)==null?void 0:v.icon)&&p(`../../adapter/${i}/${f.common.icon}`)}))},[i,r]),i)return g.jsx("img",{onClick:f=>l&&l(f),src:d||"",className:s,style:u,alt:""});const m=a&&iO[a]||_S;return g.jsx(m,{className:s,style:u,onClick:f=>l&&l(f)})}let _g;function nO(a){return _g=_g||b.I18n.getLanguage(),a&&typeof a=="object"?a[_g]||a.en:a||""}function xn(a){return a===null?"null":a===void 0?"undefined":Array.isArray(a)?a.join(", "):typeof a=="object"?JSON.stringify(a):a.toString()}class Xe extends Ew{debugHideTimeout=null;lastObjectIdChange=0;enableSimulationProcessing=!1;lastDebugMessage=0;debugMessageTimeout=null;static getStaticData(){return{acceptedBy:"actions",name:"Not found",id:"ActionEmpty",icon:"Shuffle"}}static compile(s,i){return""}constructor(s,i){super(s),i||={};const r=s.settings||{tagCard:i.tagCardArray?typeof i.tagCardArray[0]!="string"?i.tagCardArray[0].title:i.tagCardArray[0]:""};!r.tagCard&&i.tagCardArray&&(r.tagCard=typeof i.tagCardArray[0]!="string"?i.tagCardArray[0].title:i.tagCardArray[0]),this.state={inputs:i.inputs||s.inputs||[],name:i.name||s.name||"",icon:i.icon||s.icon||"",adapter:i.adapter||s.adapter||"",helpDialog:i.helpDialog||s.helpDialog||"",tagCardArray:i.tagCardArray||[],openTagMenu:!1,openModal:!1,iconTag:!1,error:"",helpText:"",instanceSelectionOptions:[],instanceSelectionDef:"",hideAttributes:[],settings:r,debugMessage:null,enableSimulation:this.props.enableSimulation}}componentWillUnmount(){this.debugMessageTimeout&&(clearTimeout(this.debugMessageTimeout),this.debugMessageTimeout=null),this.debugHideTimeout&&(clearTimeout(this.debugHideTimeout),this.debugHideTimeout=null)}onTagChange(s,i,r,l,u){let d=!1;const p=JSON.parse(JSON.stringify(this.state.settings));this.state.inputs.forEach(m=>{const f=m.attr,v=m.defaultValue;f&&v!==void 0&&p[f]===void 0&&(d=!0,p[f]=v)}),d?(this.setState({settings:p},()=>i==null?void 0:i()),this.props.onChange(p)):i&&i()}onUpdate(){}onValueChanged(s,i){}renderText(s,i,r){const{className:l}=this.props,{attr:u,frontText:d,backText:p,nameBlock:m,name:f,doNotTranslate:v,doNotTranslateBack:_}=s;return g.jsxs(Sg,{children:[g.jsxs("div",{className:b.Utils.clsx(le.displayFlex,le.blockMarginTop),children:[d&&g.jsx("div",{className:le.frontText,children:v?d:b.I18n.t(d)}),g.jsx(bi,{className:l,autoComplete:"off",label:nO(f),variant:"outlined",size:"small",fullWidth:!0,value:i,onChange:r,customValue:!0}),p&&g.jsx("div",{className:le.backText,children:_?p:b.I18n.t(p)})]}),m&&g.jsx("div",{className:le.nameBlock,children:b.I18n.t(m)})]},u)}renderSwitch(s,i,r){const{className:l}=this.props,{attr:u,frontText:d,backText:p,nameBlock:m,doNotTranslate:f,doNotTranslateBack:v}=s;return g.jsxs("div",{children:[g.jsxs("div",{className:b.Utils.clsx(le.displayFlex,le.blockMarginTop),children:[d&&g.jsx("div",{className:le.frontText,children:f?d:b.I18n.t(d)}),g.jsx(ZR,{className:l,label:"",customValue:!0,value:i,onChange:r}),p&&g.jsx("div",{className:le.backText,children:v?p:b.I18n.t(p)})]}),m&&g.jsx("div",{className:le.nameBlock,children:b.I18n.t(m)})]},u)}renderNameText({attr:s,signature:i,doNotTranslate:r,defaultValue:l},u){return g.jsx("div",{className:b.Utils.clsx(i?le.displayItalic:le.displayFlex,le.blockMarginTop),children:u?r?u:b.I18n.t(u):r?l:b.I18n.t(l)},s)}renderNumber(s,i,r){const{className:l}=this.props,{settings:u}=this.state,{attr:d,backText:p,frontText:m,openCheckbox:f,doNotTranslate:v,doNotTranslateBack:_}=s;let y=!0;return f&&(y=typeof u.offset=="boolean"?u.offset:!0),y?g.jsxs("div",{className:b.Utils.clsx(le.displayFlex,le.blockMarginTop),children:[m&&g.jsx("div",{className:le.frontText,children:v?m:b.I18n.t(m)}),g.jsx(bi,{className:b.Utils.clsx(l,s.className),fullWidth:!0,autoComplete:"off",label:s.noHelperText?"":"number",variant:"outlined",size:"small",type:"number",value:i,onChange:r,customValue:!0}),p&&g.jsx("div",{className:le.backText,children:_?p:b.I18n.t(p)})]},d):null}renderColor(s,i,r){const{className:l}=this.props,{attr:u,backText:d,frontText:p,doNotTranslate:m,doNotTranslateBack:f}=s;return g.jsxs("div",{className:b.Utils.clsx(le.displayFlex,le.blockMarginTop),children:[p&&g.jsx("div",{className:le.frontText,children:m?p:b.I18n.t(p)}),g.jsx(bi,{className:l,autoComplete:"off",fullWidth:!0,variant:"outlined",size:"small",type:"color",value:i,onChange:r}),d&&g.jsx("div",{className:le.backText,children:f?d:b.I18n.t(d)})]},u)}renderCheckbox(s,i,r){const{className:l}=this.props,{settings:u}=this.state,{attr:d,backText:p,frontText:m,defaultValue:f,doNotTranslate:v,doNotTranslateBack:_}=s;return g.jsxs("div",{className:le.displayFlex,children:[m&&g.jsx("div",{className:le.frontText,children:v?m:b.I18n.t(m)}),g.jsx(TT,{className:l,size:"small",value:typeof u[d]=="boolean"?!!u[d]:!!f,customValue:!0,onChange:r}),p&&g.jsx("div",{onClick:()=>r(typeof u[d]=="boolean"?!u[d]:!f),className:le.backText,children:_?p:b.I18n.t(p)})]},d)}renderSlider(s,i,r){const{className:l}=this.props,{attr:u,frontText:d,backText:p,nameBlock:m,min:f,max:v,step:_,unit:y,doNotTranslate:k,doNotTranslateBack:C}=s;return g.jsxs("div",{children:[g.jsxs("div",{className:le.displayFlex,style:{marginRight:20},children:[d&&g.jsx("div",{className:le.frontText,children:k?d:b.I18n.t(d)}),g.jsx(YR,{customValue:!0,min:f,max:v,step:_,unit:y,className:l,autoComplete:"off",label:"number",variant:"outlined",size:"small",value:i,onChange:w=>{console.log(w),r(w)}}),p&&g.jsx("div",{style:{marginLeft:20},className:le.backText,children:C?p:b.I18n.t(p)})]}),m&&g.jsx("div",{className:le.nameBlock,children:b.I18n.t(m)})]},u)}renderButton(s,i,r){const{className:l}=this.props,{attr:u,frontText:d,backText:p,doNotTranslate:m,doNotTranslateBack:f}=s;return g.jsxs("div",{className:b.Utils.clsx(le.displayFlex,le.blockMarginTop),children:[d&&g.jsx("div",{className:le.frontText,children:m?d:b.I18n.t(d)}),g.jsx(Ur,{fullWidth:!0,value:i.toString(),className:l,onClick:()=>r(i)}),p&&g.jsx("div",{className:le.backText,children:f?p:b.I18n.t(p)})]},u)}async findIcon(s){var i;if(!s)return null;if((i=s.common)!=null&&i.icon)return b.getSelectIdIcon(s,"../..");if(s.type==="state"||s.type==="channel"){const r=s._id.split(".");r.pop();const l=r.join(".");try{const u=await this.props.socket.getObject(l);return await this.findIcon(u)}catch{return null}}return null}renderObjectID(s,i,r){const{attr:l,openCheckbox:u,checkReadOnly:d}=s,{settings:p}=this.state,m=this.state[`showSelectId${l}`],{className:f,socket:v,style:_}=this.props;let y=!0;u&&(y=typeof p.offset=="boolean"?p.offset:!0);const k=p[l],C=k?this.state[k]:void 0;return k&&!C&&C!==!1&&setTimeout(async w=>{var A;const E=await v.getObject(i),R=await this.findIcon(E),D={[w]:E||!1,[`${w}___icon`]:R,error:d&&this.lastObjectIdChange&&Date.now()-this.lastObjectIdChange<1e3&&((A=E==null?void 0:E.common)==null?void 0:A.write)===!1?b.I18n.t("Read only ID selected: %s",p[w]):""};this.setState(D)},0,k),y?g.jsxs("div",{className:le.blockMarginTop,children:[g.jsxs("div",{className:le.displayFlex,children:[s.title?g.jsx("div",{children:b.I18n.t(s.title)}):null,g.jsx(bi,{className:f,style:_,autoComplete:"off",fullWidth:!0,disabled:!0,variant:"outlined",size:"small",value:i,customValue:!0}),g.jsx(Ur,{icon:this.state[`${k}___icon`],square:!0,style:{..._||void 0,marginLeft:7},value:"...",className:f,onClick:()=>{const w={};w[`showSelectId${l}`]=!0,this.setState(w)}})]}),C?g.jsx("div",{className:b.Utils.clsx(le.nameBlock,le.displayItalic),children:b.Utils.getObjectNameFromObj(C,b.I18n.getLanguage())}):null,m?g.jsx(b.DialogSelectID,{theme:this.props.theme,imagePrefix:"../..",dialogName:"javascript",themeType:b.Utils.getThemeName(),socket:v,selected:i,onClose:()=>{const w={};w[`showSelectId${l}`]=!1,this.setState(w)},onOk:(w,E)=>{const R={};R[`showSelectId${l}`]=!1;const D=Array.isArray(w)?w[0]:w;this.setState(R,async()=>{var J,ie,se,me,z,Oe,Ne,Ze,ae,ce;const A=D?await v.getObject(D):void 0;this.lastObjectIdChange=Date.now(),r({[l]:w,[`${l}Role`]:(J=A==null?void 0:A.common)==null?void 0:J.role,[`${l}Type`]:(ie=A==null?void 0:A.common)==null?void 0:ie.type,[`${l}Unit`]:(se=A==null?void 0:A.common)==null?void 0:se.unit,[`${l}States`]:(me=A==null?void 0:A.common)==null?void 0:me.states,[`${l}Min`]:(z=A==null?void 0:A.common)==null?void 0:z.min,[`${l}Max`]:(Oe=A==null?void 0:A.common)==null?void 0:Oe.max,[`${l}Step`]:(Ne=A==null?void 0:A.common)==null?void 0:Ne.step,[`${l}Def`]:(Ze=A==null?void 0:A.common)==null?void 0:Ze.def,[`${l}Write`]:(ae=A==null?void 0:A.common)==null?void 0:ae.write,[`${l}Read`]:(ce=A==null?void 0:A.common)==null?void 0:ce.read},()=>this.props.setOnUpdate&&this.props.setOnUpdate(!0))})}}):null]},l):null}renderIconTag(){return g.jsx("div",{className:le.iconTag,onClick:s=>{this.state.settings.tagCard&&(this.state.tagCardArray.length<3?this.onChangeTag():this.setState({openTagMenu:s.currentTarget}))},children:this.state.settings.tagCard})}renderTime(s,i,r){const{attr:l,backText:u,frontText:d,doNotTranslate:p,doNotTranslateBack:m}=s;return g.jsxs("div",{className:le.displayFlex,style:{whiteSpace:"nowrap"},children:[d&&g.jsx("div",{className:le.frontText,children:p?d:b.I18n.t(d)}),g.jsx(tO,{value:i,onChange:r}),u&&g.jsx("div",{className:le.backText,children:m?u:b.I18n.t(u)})]},l)}renderSelect(s,i,r){const{className:l,style:u}=this.props,{name:d,options:p,frontText:m,backText:f,attr:v,multiple:_,doNotTranslate:y,doNotTranslate2:k,doNotTranslateBack:C}=s;return g.jsxs("div",{className:b.Utils.clsx(le.displayFlex,le.blockMarginTop),style:{whiteSpace:"nowrap"},children:[m&&g.jsx("div",{className:le.frontText,children:b.I18n.t(m)}),g.jsx(GR,{attr:v,doNotTranslate:y,doNotTranslate2:k,title:d,className:l,style:u,options:p,value:i,onChange:r,multiple:_,customValue:!0}),f&&g.jsx("div",{className:le.backText,children:C?f:b.I18n.t(f)})]},v)}renderInstance(s,i,r){const{socket:l}=this.props,{name:u,frontText:d,backText:p,attr:m,adapter:f,doNotTranslate:v,doNotTranslateBack:_}=s;return this.state.hideAttributes.includes(m)?null:g.jsxs("div",{className:b.Utils.clsx(le.displayFlex,le.blockMarginTop),style:{whiteSpace:"nowrap"},children:[d&&g.jsx("div",{className:le.frontText,children:v?d:b.I18n.t(d)}),g.jsx(FR,{attr:m,socket:l,adapter:f,title:u,value:i,onChange:y=>{r(Array.isArray(y)?y[0]:y)},customValue:!0,onInstanceHide:y=>this.setState({hideAttributes:[...this.state.hideAttributes,m]},()=>r(y))}),p&&g.jsx("div",{className:le.backText,children:_?p:b.I18n.t(p)})]},m)}renderDialog(s){const{onShowDialog:i,frontText:r,backText:l,attr:u,icon:d,doNotTranslate:p,doNotTranslateBack:m}=s;return g.jsxs("div",{className:b.Utils.clsx(le.displayFlex,le.blockMarginTop),style:{whiteSpace:"nowrap"},children:[r&&g.jsx("div",{className:le.frontText,children:p?r:b.I18n.t(r)}),g.jsx(mw,{iconName:d,className:b.Utils.clsx(le.iconDialog),onClick:()=>i&&i()}),l&&g.jsx("div",{className:le.backText,children:m?l:b.I18n.t(l)})]},u)}renderModalInput(s,i,r){const{openModal:l}=this.state,{className:u}=this.props,{attr:d,nameBlock:p,frontText:m,backText:f,noTextEdit:v,doNotTranslate:_,doNotTranslateBack:y}=s;return g.jsxs("div",{children:[g.jsxs("div",{className:b.Utils.clsx(le.displayFlex,le.blockMarginTop),children:[m&&g.jsx("div",{className:le.frontText,children:_?m:b.I18n.t(m)}),g.jsx(bi,{disabled:!!v,className:u,autoComplete:"off",fullWidth:!0,variant:"outlined",size:"small",value:i,onChange:r,customValue:!0}),g.jsx(Ur,{square:!0,style:{marginLeft:5},value:"...",className:u,onClick:()=>this.setState({openModal:!0})}),f&&g.jsx("div",{className:le.backText,children:y?f:b.I18n.t(f)})]}),l?g.jsx(nm,{onApply:k=>this.setState({openModal:!1},()=>k!=null&&r(k)),onClose:()=>this.setState({openModal:!1}),defaultValue:i,textInput:!0}):null,p&&g.jsx("div",{className:le.nameBlock,children:b.I18n.t(p)})]},d)}renderDate(s,i,r){const{attr:l,backText:u,frontText:d,doNotTranslate:p,doNotTranslateBack:m}=s;return g.jsxs("div",{className:le.displayFlex,style:{whiteSpace:"nowrap"},children:[d&&g.jsx("div",{className:le.frontText,children:p?d:b.I18n.t(d)}),g.jsx(oO,{value:i,onChange:r}),u&&g.jsx("div",{className:le.backText,children:m?u:b.I18n.t(u)})]},l)}static getReplacesInText(s){var r;let i="";return(r=s.trigger)!=null&&r.oidType?i=".replace(/%s/g, obj.state.val).replace(/%id/g, obj.id).replace(/%name/g, obj.common && obj.common.name).replace(/%old/g, obj.oldState.val)":s.conditionsStates.length&&(i=`.replace(/%s/g, ${s.conditionsStates[0].name}).replace(/%id/g, "${s.conditionsStates[0].id}")`),i}renderTags(){const{tagCardArray:s,openTagMenu:i}=this.state,{tagCard:r}=this.state.settings;let l=r!=="="&&r!=="<>"&&r!==">="&&r!=="()"&&r!=="."&&r!=="<="&&r!=="<"&&r!==">"&&r?b.I18n.t(r):r;return s.length>=3&&(l=g.jsxs("div",{children:[g.jsx("div",{"aria-controls":"simple-menu","aria-haspopup":"true",onClick:u=>{this.setState({openTagMenu:u.currentTarget},()=>{this.props.isTourOpen&&this.props.tourStep===As.openTagsMenu&&setTimeout(()=>this.props.setTourStep&&this.props.setTourStep(As.selectIntervalTag),300)})},children:l}),g.jsx(cm,{id:"simple-menu",anchorEl:i,keepMounted:!0,open:!!i,onClose:()=>this.setState({openTagMenu:null}),children:s.map((u,d)=>{let p;return typeof u!="string"?p=u.title:p=u,g.jsxs(Ge,{selected:p===r,className:`tag-card-${p}`,style:{placeContent:"space-between"},onClick:m=>{m.stopPropagation(),this.props.isTourOpen&&(this.props.tourStep===As.openTagsMenu||this.props.tourStep===As.selectIntervalTag)&&p==="interval"&&setTimeout(()=>{var v,_;return(_=(v=this.props).setTourStep)==null?void 0:_.call(v,As.selectActions)},500);const f=JSON.parse(JSON.stringify(this.state.settings));f.tagCard=p,this.setState({openTagMenu:null,settings:f},()=>{this.props.onChange(this.state.settings),this.onTagChange(this.state.settings.tagCard)})},children:[p.search(/>|<|<>|<=|>=|=/)!==-1?p:b.I18n.t(p),typeof u!="string"&&u.title2&&g.jsx("div",{style:{marginLeft:4},children:b.I18n.t(u.title2)})]},`${p}_${d}`)})})]})),l}getData(){return{acceptedBy:"triggers",name:"",id:""}}onChangeTag(){const{tagCardArray:s,settings:i,settings:{tagCard:r}}=this.state;let l;if(typeof s[0]!="string"?l=s.map(u=>u.title):l=[...s],r&&l.length<3){const u={...i},d=l[(l.indexOf(r)+1)%l.length];u.tagCard=d,this.setState({settings:u},()=>{this.props.onChange(u),this.onTagChange(d)})}}componentDidMount(){this.onTagChange()}componentDidUpdate(){this.props.acceptedBy!=="triggers"&&this.props.onUpdate&&setTimeout(()=>this.onUpdate(),0)}onChangeInput(s){return(i,r,l)=>{const u=JSON.parse(JSON.stringify(this.state.settings));typeof i=="object"&&(!r||typeof r=="function")?(Object.keys(i).forEach(d=>u[d]=i[d]),typeof r=="function"&&(l=r,r=void 0)):u[r||s]=i,u.id=this.getData().id,u._id=this.props._id,this.setState({settings:u},()=>{this.onValueChanged(i,r||s),this.props.onChange(u),l==null||l()})}}renderSpecific(){return null}renderDebug(s){return""}renderDebugInfo(){return this.state.debugMessage?g.jsx("div",{className:le.debugInfo,style:{opacity:1,height:22,bottom:-22},children:this.renderDebug?this.renderDebug(this.state.debugMessage):b.I18n.t("executed")},this.state.debugMessage.ts):null}renderCron(s,i,r){return null}renderWizard(s,i,r){return null}renderWriteState(){return null}renderInputElement(s,i){const{nameRender:r,defaultValue:l,attr:u}=s,{settings:d}=this.state;let p=u?d[u]:void 0;switch(p===void 0&&(p=l),r){case"renderTime":return u?this.renderTime(s,p,this.onChangeInput(u)):g.jsx("div",{children:b.I18n.t("Invalid renderTime")},`invalid_${i}`);case"renderNameText":return this.renderNameText(s,l);case"renderSelect":return u?this.renderSelect(s,p,this.onChangeInput(u)):g.jsx("div",{children:b.I18n.t("Invalid renderSelect")},`invalid_${i}`);case"renderModalInput":return u?this.renderModalInput(s,p,this.onChangeInput(u)):g.jsx("div",{children:b.I18n.t("Invalid renderModalInput")},`invalid_${i}`);case"renderObjectID":return u?this.renderObjectID(s,p,this.onChangeInput(u)):g.jsx("div",{children:b.I18n.t("Invalid renderObjectID")},`invalid_${i}`);case"renderDialog":return u?this.renderDialog(s):g.jsx("div",{children:b.I18n.t("Invalid renderDialog")},`invalid_${i}`);case"renderInstance":return u?this.renderInstance(s,p,this.onChangeInput(u)):g.jsx("div",{children:b.I18n.t("Invalid renderInstance")},`invalid_${i}`);case"renderText":return u?this.renderText(s,p,this.onChangeInput(u)):g.jsx("div",{children:b.I18n.t("Invalid renderText")},`invalid_${i}`);case"renderSlider":return u?this.renderSlider(s,p,this.onChangeInput(u)):g.jsx("div",{children:b.I18n.t("Invalid renderSlider")},`invalid_${i}`);case"renderCheckbox":return u?this.renderCheckbox(s,p,this.onChangeInput(u)):g.jsx("div",{children:b.I18n.t("Invalid renderCheckbox")},`invalid_${i}`);case"renderButton":return u?this.renderButton(s,p,this.onChangeInput(u)):g.jsx("div",{children:b.I18n.t("Invalid renderButton")},`invalid_${i}`);case"renderColor":return u?this.renderColor(s,p,this.onChangeInput(u)):g.jsx("div",{children:b.I18n.t("Invalid renderColor")},`invalid_${i}`);case"renderSwitch":return u?this.renderSwitch(s,p,this.onChangeInput(u)):g.jsx("div",{children:b.I18n.t("Invalid renderSwitch")},`invalid_${i}`);case"renderDate":return u?this.renderDate(s,p,this.onChangeInput(u)):g.jsx("div",{children:b.I18n.t("Invalid renderDate")},`invalid_${i}`);case"renderCron":return u?this.renderCron(s,p,this.onChangeInput(u)):g.jsx("div",{children:b.I18n.t("Invalid renderCron")},`invalid_${i}`);case"renderWizard":return u?this.renderWizard(s,p,this.onChangeInput(u)):g.jsx("div",{children:b.I18n.t("Invalid renderWizard")},`invalid_${i}`);case"renderWriteState":return this.renderWriteState();case"renderNumber":return u?this.renderNumber(s,p,this.onChangeInput(u)):g.jsx("div",{children:b.I18n.t("Invalid renderNumber")},`invalid_${i}`);default:return this[r]?this[r](s,p,u?this.onChangeInput(u):null):g.jsx("div",{children:b.I18n.t("Invalid input type: %s",r)},`invalid_${i}`)}}render(){var y;const{inputs:s,name:i,icon:r,iconTag:l,settings:u,adapter:d,settings:{tagCard:p},helpDialog:m}=this.state,{socket:f,notFound:v}=this.props;this.state.settings&&!this.state.settings.tagCard&&((y=this.state.tagCardArray)!=null&&y.length)&&setTimeout(()=>{const k=JSON.parse(JSON.stringify(this.state.settings));k.tagCard=typeof this.state.tagCardArray[0]!="string"?this.state.tagCardArray[0].title:this.state.tagCardArray[0],this.setState({settings:k})},50),this.state.enableSimulation!==this.props.enableSimulation&&!this.enableSimulationProcessing&&(this.enableSimulationProcessing=!0,setTimeout(()=>{this.setState({enableSimulation:this.props.enableSimulation},()=>{this.enableSimulationProcessing=!1})},50));let _;if(this.props.onDebugMessage)for(let k=this.props.onDebugMessage.length-1;k>=0;k--){const C=this.props.onDebugMessage[k];if(C.blockId===this.props._id&&C.ts>this.lastDebugMessage&&C.ts>Date.now()-1e3){_=C;break}}return _&&(this.lastDebugMessage=_.ts,this.debugMessageTimeout&&clearTimeout(this.debugMessageTimeout),this.debugHideTimeout&&(clearTimeout(this.debugHideTimeout),this.debugHideTimeout=null),this.debugMessageTimeout=setTimeout(k=>{const C=JSON.parse(k),w=C.hideTimeout||5e3;this.debugMessageTimeout=null,this.setState({debugMessage:C},()=>{this.debugHideTimeout&&clearTimeout(this.debugHideTimeout),this.debugHideTimeout=setTimeout(()=>{this.debugHideTimeout=null,this.setState({debugMessage:null})},w)})},50,JSON.stringify(_))),g.jsxs(Sg,{children:[l?this.renderIconTag():g.jsx(mw,{iconName:r,className:b.Utils.clsx(le.iconThemCard,p&&this.state.tagCardArray.length&&le.iconThemCardSelectable),adapter:d,socket:f,onClick:k=>{p&&(this.state.tagCardArray.length<3?this.onChangeTag():this.setState({openTagMenu:k.currentTarget}))}}),g.jsxs("div",{className:le.blockName,children:[g.jsxs("span",{className:le.nameCard,children:[b.I18n.t(i),v?b.I18n.t("%s not found",u.id):"",m?g.jsx(Me,{className:le.iconHelp,size:"small",onClick:()=>this.setState({helpText:b.I18n.t(m)}),children:g.jsx(dC,{})}):null]}),s.map((k,C)=>this.renderInputElement(k,C))]}),p&&g.jsx("div",{className:le.controlMenuTop,style:{opacity:1,height:22,top:-22},children:g.jsx("div",{onClick:()=>this.onChangeTag(),className:b.Utils.clsx(le.tagCard,"tag-card"),children:this.renderTags()})}),this.renderDebugInfo(),this.state.error?g.jsx(b.DialogError,{title:b.I18n.t("Warning"),text:this.state.error,onClose:()=>this.setState({error:""})}):null,this.state.helpText?g.jsx(b.DialogMessage,{title:b.I18n.t("Instructions"),text:this.state.helpText,onClose:()=>this.setState({helpText:""})}):null,this.renderSpecific()]})}}const fw={en:{name:"Google - English",engine:"google",params:[]},de:{name:"Google - Deutsch",engine:"google",params:[]},ru:{name:"Google - Русский",engine:"google",params:[]},it:{name:"Google - Italiano",engine:"google",params:[]},es:{name:"Google - Espaniol",engine:"google",params:[]},fr:{name:"Google - Français",engine:"google",params:[]},ru_YA:{name:"Yandex - Русский",engine:"yandex",params:["key","voice","emotion","ill","drunk","robot"],voice:["jane","zahar"],emotion:["none","good","neutral","evil","mixed"]},ru_YA_CLOUD:{name:"Yandex Cloud - Русский",engine:"yandexCloud",params:["key","folderID","voice","emotion"],voice:["alyss","oksana","jane","zahar"],emotion:["good","neutral","evil"]},"en-US":{name:"PicoTTS - Englisch US",engine:"PicoTTS",params:[]},"en-GB":{name:"PicoTTS - Englisch GB",engine:"PicoTTS",params:[]},"de-DE":{name:"PicoTTS - Deutsch",engine:"PicoTTS",params:[]},"it-IT":{name:"PicoTTS - Italiano",engine:"PicoTTS",params:[]},"es-ES":{name:"PicoTTS - Espaniol",engine:"PicoTTS",params:[]},"fr-FR":{name:"PicoTTS - Français",engine:"PicoTTS",params:[]},"ru-RU_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"ru-RU",ename:"Tatyana",ssml:!0,name:"Cloud - Русский - Татьяна"},"ru-RU_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"ru-RU",ename:"Maxim",ssml:!0,name:"Cloud - Русский - Максим"},"de-DE_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"de-DE",ename:"Marlene",ssml:!0,name:"Cloud - Deutsch - Marlene"},"de-DE_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"de-DE",ename:"Hans",ssml:!0,name:"Cloud - Deutsch - Hans"},"en-US_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"en-US",ename:"Salli",ssml:!0,name:"Cloud - en-US - Female - Salli"},"en-US_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"en-US",ename:"Joey",ssml:!0,name:"Cloud - en-US - Male - Joey"},"da-DK_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"da-DK",ename:"Naja",ssml:!0,name:"Cloud - da-DK - Female - Naja"},"da-DK_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"da-DK",ename:"Mads",ssml:!0,name:"Cloud - da-DK - Male - Mads"},"en-AU_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"en-AU",ename:"Nicole",ssml:!0,name:"Cloud - en-AU - Female - Nicole"},"en-AU_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"en-AU",ename:"Russell",ssml:!0,name:"Cloud - en-AU - Male - Russell"},"en-GB_CLOUD_Female_Amy":{gender:"Female",engine:"cloud",params:["cloud"],language:"en-GB",ename:"Amy",ssml:!0,name:"Cloud - en-GB - Female - Amy"},"en-GB_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"en-GB",ename:"Brian",ssml:!0,name:"Cloud - en-GB - Male - Brian"},"en-GB_CLOUD_Female_Emma":{gender:"Female",engine:"cloud",params:["cloud"],language:"en-GB",ename:"Emma",ssml:!0,name:"Cloud - en-GB - Female - Emma"},"en-GB-WLS_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"en-GB-WLS",ename:"Gwyneth",ssml:!0,name:"Cloud - en-GB-WLS - Female - Gwyneth"},"en-GB-WLS_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"en-GB-WLS",ename:"Geraint",ssml:!0,name:"Cloud - en-GB-WLS - Male - Geraint"},"cy-GB_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"cy-GB",ename:"Gwyneth",ssml:!0,name:"Cloud - cy-GB - Female - Gwyneth"},"cy-GB_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"cy-GB",ename:"Geraint",ssml:!0,name:"Cloud - cy-GB - Male - Geraint"},"en-IN_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"en-IN",ename:"Raveena",ssml:!0,name:"Cloud - en-IN - Female - Raveena"},"en-US_CLOUD_Male_Chipmunk":{gender:"Male",engine:"cloud",params:["cloud"],language:"en-US",ename:"Chipmunk",ssml:!0,name:"Cloud - en-US - Male - Chipmunk"},"en-US_CLOUD_Male_Eric":{gender:"Male",engine:"cloud",params:["cloud"],language:"en-US",ename:"Eric",ssml:!0,name:"Cloud - en-US - Male - Eric"},"en-US_CLOUD_Female_Ivy":{gender:"Female",engine:"cloud",params:["cloud"],language:"en-US",ename:"Ivy",ssml:!0,name:"Cloud - en-US - Female - Ivy"},"en-US_CLOUD_Female_Jennifer":{gender:"Female",engine:"cloud",params:["cloud"],language:"en-US",ename:"Jennifer",ssml:!0,name:"Cloud - en-US - Female - Jennifer"},"en-US_CLOUD_Male_Justin":{gender:"Male",engine:"cloud",params:["cloud"],language:"en-US",ename:"Justin",ssml:!0,name:"Cloud - en-US - Male - Justin"},"en-US_CLOUD_Female_Kendra":{gender:"Female",engine:"cloud",params:["cloud"],language:"en-US",ename:"Kendra",ssml:!0,name:"Cloud - en-US - Female - Kendra"},"en-US_CLOUD_Female_Kimberly":{gender:"Female",engine:"cloud",params:["cloud"],language:"en-US",ename:"Kimberly",ssml:!0,name:"Cloud - en-US - Female - Kimberly"},"es-ES_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"es-ES",ename:"Conchita",ssml:!0,name:"Cloud - es-ES - Female - Conchita"},"es-ES_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"es-ES",ename:"Enrique",ssml:!0,name:"Cloud - es-ES - Male - Enrique"},"es-US_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"es-US",ename:"Penelope",ssml:!0,name:"Cloud - es-US - Female - Penelope"},"es-US_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"es-US",ename:"Miguel",ssml:!0,name:"Cloud - es-US - Male - Miguel"},"fr-CA_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"fr-CA",ename:"Chantal",ssml:!0,name:"Cloud - fr-CA - Female - Chantal"},"fr-FR_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"fr-FR",ename:"Celine",ssml:!0,name:"Cloud - fr-FR - Female - Celine"},"fr-FR_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"fr-FR",ename:"Mathieu",ssml:!0,name:"Cloud - fr-FR - Male - Mathieu"},"is-IS_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"is-IS",ename:"Dora",ssml:!0,name:"Cloud - is-IS - Female - Dora"},"is-IS_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"is-IS",ename:"Karl",ssml:!0,name:"Cloud - is-IS - Male - Karl"},"it-IT_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"it-IT",ename:"Carla",ssml:!0,name:"Cloud - it-IT - Female - Carla"},"it-IT_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"it-IT",ename:"Giorgio",ssml:!0,name:"Cloud - it-IT - Male - Giorgio"},"nb-NO_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"nb-NO",ename:"Liv",ssml:!0,name:"Cloud - nb-NO - Female - Liv"},"nl-NL_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"nl-NL",ename:"Lotte",ssml:!0,name:"Cloud - nl-NL - Female - Lotte"},"nl-NL_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"nl-NL",ename:"Ruben",ssml:!0,name:"Cloud - nl-NL - Male - Ruben"},"pl-PL_CLOUD_Female_Agnieszka":{gender:"Female",engine:"cloud",params:["cloud"],language:"pl-PL",ename:"Agnieszka",ssml:!0,name:"Cloud - pl-PL - Female - Agnieszka"},"pl-PL_CLOUD_Male_Jacek":{gender:"Male",engine:"cloud",params:["cloud"],language:"pl-PL",ename:"Jacek",ssml:!0,name:"Cloud - pl-PL - Male - Jacek"},"pl-PL_CLOUD_Female_Ewa":{gender:"Female",engine:"cloud",params:["cloud"],language:"pl-PL",ename:"Ewa",ssml:!0,name:"Cloud - pl-PL - Female - Ewa"},"pl-PL_CLOUD_Male_Jan":{gender:"Male",engine:"cloud",params:["cloud"],language:"pl-PL",ename:"Jan",ssml:!0,name:"Cloud - pl-PL - Male - Jan"},"pl-PL_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"pl-PL",ename:"Maja",ssml:!0,name:"Cloud - pl-PL - Female - Maja"},"pt-BR_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"pt-BR",ename:"Vitoria",ssml:!0,name:"Cloud - pt-BR - Female - Vitoria"},"pt-BR_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"pt-BR",ename:"Ricardo",ssml:!0,name:"Cloud - pt-BR - Male - Ricardo"},"pt-PT_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"pt-PT",ename:"Cristiano",ssml:!0,name:"Cloud - pt-PT - Male - Cristiano"},"pt-PT_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"pt-PT",ename:"Ines",ssml:!0,name:"Cloud - pt-PT - Female - Ines"},"ro-RO_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"ro-RO",ename:"Carmen",ssml:!0,name:"Cloud - ro-RO - Female - Carmen"},"sv-SE_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"sv-SE",ename:"Astrid",ssml:!0,name:"Cloud - sv-SE - Female - Astrid"},"tr-TR_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"tr-TR",ename:"Filiz",ssml:!0,name:"Cloud - tr-TR - Female - Filiz"},"ru-RU_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"ru-RU",ename:"Tatyana",ssml:!0,name:"AWS Polly - Русский - Татьяна"},"ru-RU_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"ru-RU",ename:"Maxim",ssml:!0,name:"AWS Polly - Русский - Максим"},"de-DE_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"de-DE",ename:"Marlene",ssml:!0,name:"AWS Polly - Deutsch - Marlene"},"de-DE_AP_Female_Vicky":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"de-DE",ename:"Vicky",ssml:!0,name:"AWS Polly - Deutsch - Vicky"},"de-DE_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"de-DE",ename:"Hans",ssml:!0,name:"AWS Polly - Deutsch - Hans"},"en-US_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"en-US",ename:"Salli",ssml:!0,name:"AWS Polly - en-US - Female - Salli"},"en-US_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"en-US",ename:"Joey",ssml:!0,name:"AWS Polly - en-US - Male - Joey"},"da-DK_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"da-DK",ename:"Naja",ssml:!0,name:"AWS Polly - da-DK - Female - Naja"},"da-DK_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"da-DK",ename:"Mads",ssml:!0,name:"AWS Polly - da-DK - Male - Mads"},"en-AU_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"en-AU",ename:"Nicole",ssml:!0,name:"AWS Polly - en-AU - Female - Nicole"},"en-AU_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"en-AU",ename:"Russell",ssml:!0,name:"AWS Polly - en-AU - Male - Russell"},"en-GB_AP_Female_Amy":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"en-GB",ename:"Amy",ssml:!0,name:"AWS Polly - en-GB - Female - Amy"},"en-GB_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"en-GB",ename:"Brian",ssml:!0,name:"AWS Polly - en-GB - Male - Brian"},"en-GB_AP_Female_Emma":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"en-GB",ename:"Emma",ssml:!0,name:"AWS Polly - en-GB - Female - Emma"},"en-GB-WLS_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"en-GB-WLS",ename:"Gwyneth",ssml:!0,name:"AWS Polly - en-GB-WLS - Female - Gwyneth"},"en-GB-WLS_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"en-GB-WLS",ename:"Geraint",ssml:!0,name:"AWS Polly - en-GB-WLS - Male - Geraint"},"cy-GB_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"cy-GB",ename:"Gwyneth",ssml:!0,name:"AWS Polly - cy-GB - Female - Gwyneth"},"cy-GB_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"cy-GB",ename:"Geraint",ssml:!0,name:"AWS Polly - cy-GB - Male - Geraint"},"en-IN_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"en-IN",ename:"Raveena",ssml:!0,name:"AWS Polly - en-IN - Female - Raveena"},"en-US_AP_Male_Chipmunk":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"en-US",ename:"Chipmunk",ssml:!0,name:"AWS Polly - en-US - Male - Chipmunk"},"en-US_AP_Male_Eric":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"en-US",ename:"Eric",ssml:!0,name:"AWS Polly - en-US - Male - Eric"},"en-US_AP_Female_Ivy":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"en-US",ename:"Ivy",ssml:!0,name:"AWS Polly - en-US - Female - Ivy"},"en-US_AP_Female_Jennifer":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"en-US",ename:"Jennifer",ssml:!0,name:"AWS Polly - en-US - Female - Jennifer"},"en-US_AP_Male_Justin":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"en-US",ename:"Justin",ssml:!0,name:"AWS Polly - en-US - Male - Justin"},"en-US_AP_Female_Kendra":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"en-US",ename:"Kendra",ssml:!0,name:"AWS Polly - en-US - Female - Kendra"},"en-US_AP_Female_Kimberly":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"en-US",ename:"Kimberly",ssml:!0,name:"AWS Polly - en-US - Female - Kimberly"},"es-ES_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"es-ES",ename:"Conchita",ssml:!0,name:"AWS Polly - es-ES - Female - Conchita"},"es-ES_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"es-ES",ename:"Enrique",ssml:!0,name:"AWS Polly - es-ES - Male - Enrique"},"es-US_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"es-US",ename:"Penelope",ssml:!0,name:"AWS Polly - es-US - Female - Penelope"},"es-US_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"es-US",ename:"Miguel",ssml:!0,name:"AWS Polly - es-US - Male - Miguel"},"fr-CA_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"fr-CA",ename:"Chantal",ssml:!0,name:"AWS Polly - fr-CA - Female - Chantal"},"fr-FR_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"fr-FR",ename:"Celine",ssml:!0,name:"AWS Polly - fr-FR - Female - Celine"},"fr-FR_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"fr-FR",ename:"Mathieu",ssml:!0,name:"AWS Polly - fr-FR - Male - Mathieu"},"is-IS_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"is-IS",ename:"Dora",ssml:!0,name:"AWS Polly - is-IS - Female - Dora"},"is-IS_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"is-IS",ename:"Karl",ssml:!0,name:"AWS Polly - is-IS - Male - Karl"},"it-IT_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"it-IT",ename:"Carla",ssml:!0,name:"AWS Polly - it-IT - Female - Carla"},"it-IT_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"it-IT",ename:"Giorgio",ssml:!0,name:"AWS Polly - it-IT - Male - Giorgio"},"nb-NO_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"nb-NO",ename:"Liv",ssml:!0,name:"AWS Polly - nb-NO - Female - Liv"},"nl-NL_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"nl-NL",ename:"Lotte",ssml:!0,name:"AWS Polly - nl-NL - Female - Lotte"},"nl-NL_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"nl-NL",ename:"Ruben",ssml:!0,name:"AWS Polly - nl-NL - Male - Ruben"},"pl-PL_AP_Female_Agnieszka":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"pl-PL",ename:"Agnieszka",ssml:!0,name:"AWS Polly - pl-PL - Female - Agnieszka"},"pl-PL_AP_Male_Jacek":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"pl-PL",ename:"Jacek",ssml:!0,name:"AWS Polly - pl-PL - Male - Jacek"},"pl-PL_AP_Female_Ewa":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"pl-PL",ename:"Ewa",ssml:!0,name:"AWS Polly - pl-PL - Female - Ewa"},"pl-PL_AP_Male_Jan":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"pl-PL",ename:"Jan",ssml:!0,name:"AWS Polly - pl-PL - Male - Jan"},"pl-PL_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"pl-PL",ename:"Maja",ssml:!0,name:"AWS Polly - pl-PL - Female - Maja"},"pt-BR_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"pt-BR",ename:"Vitoria",ssml:!0,name:"AWS Polly - pt-BR - Female - Vitoria"},"pt-BR_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"pt-BR",ename:"Ricardo",ssml:!0,name:"AWS Polly - pt-BR - Male - Ricardo"},"pt-PT_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"pt-PT",ename:"Cristiano",ssml:!0,name:"AWS Polly - pt-PT - Male - Cristiano"},"pt-PT_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"pt-PT",ename:"Ines",ssml:!0,name:"AWS Polly - pt-PT - Female - Ines"},"ro-RO_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"ro-RO",ename:"Carmen",ssml:!0,name:"AWS Polly - ro-RO - Female - Carmen"},"sv-SE_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"sv-SE",ename:"Astrid",ssml:!0,name:"AWS Polly - sv-SE - Female - Astrid"},"tr-TR_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"tr-TR",ename:"Filiz",ssml:!0,name:"AWS Polly - tr-TR - Female - Filiz"}};class xc extends Xe{constructor(s){super(s,xc.getStaticData())}static compile(s,i){return s.text?`// Sayit ${s.text||""} const subActionVar${s._id} = "${s.language&&s.language!=="_"?`${s.language};`:""}${s.volume?`${s.volume};`:""}${(s.text||"").replace(/"/g,'\\"')}"${Xe.getReplacesInText(i)}; _sendToFrontEnd(${s._id}, {text: subActionVar${s._id}}); await setStateAsync("${s.instance}.tts.text", subActionVar${s._id});`:`// no text defined @@ -1171,7 +1171,7 @@ ${m}`),m}function Um(a,s){return s.find(i=>i.getStaticData&&i.getStaticData().id const demo = ${JSON.stringify(a,null,2).replace(/\*\//g,"* /")}; */ `,`${i} -//${JSON.stringify(a)}`}class Oc extends Xe{constructor(s){super(s,Oc.getStaticData())}static compile(s,i){return rO.replace('"__%%DEBUG_TRIGGER%%__"',`_sendToFrontEnd(${s._id}, {trigger: true})`)}renderDebug(){return b.I18n.t("Triggered")}onTagChange(s){this.setState({inputs:[{nameRender:"renderNameText",defaultValue:"On script save or adapter start",attr:"script"}]},()=>super.onTagChange())}static getStaticData(){return{acceptedBy:"triggers",name:"Start script",id:"TriggerScriptSave",icon:"PlayArrow",title:"Triggers the on script saving or the javascript instance restart"}}getData(){return Oc.getStaticData()}}var ET={exports:{}};(function(a,s){(function(){var i=Math.PI,r=Math.sin,l=Math.cos,u=Math.tan,d=Math.asin,p=Math.atan2,m=Math.acos,f=i/180,v=1e3*60*60*24,_=2440588,y=2451545;function k(q){return q.valueOf()/v-.5+_}function C(q){return new Date((q+.5-_)*v)}function w(q){return k(q)-y}var E=f*23.4397;function R(q,ee){return p(r(q)*l(E)-u(ee)*r(E),l(q))}function D(q,ee){return d(r(ee)*l(E)+l(ee)*r(E)*r(q))}function A(q,ee,B){return p(r(q),l(q)*r(ee)-u(B)*l(ee))}function J(q,ee,B){return d(r(ee)*r(B)+l(ee)*l(B)*l(q))}function ie(q,ee){return f*(280.16+360.9856235*q)-ee}function se(q){return q<0&&(q=0),2967e-7/Math.tan(q+.00312536/(q+.08901179))}function me(q){return f*(357.5291+.98560028*q)}function z(q){var ee=f*(1.9148*r(q)+.02*r(2*q)+3e-4*r(3*q)),B=f*102.9372;return q+ee+B+i}function Oe(q){var ee=me(q),B=z(ee);return{dec:D(B,0),ra:R(B,0)}}var Ne={};Ne.getPosition=function(q,ee,B){var H=f*-B,U=f*ee,re=w(q),I=Oe(re),de=ie(re,H)-I.ra;return{azimuth:A(de,U,I.dec),altitude:J(de,U,I.dec)}};var Ze=Ne.times=[[-.833,"sunrise","sunset"],[-.3,"sunriseEnd","sunsetStart"],[-6,"dawn","dusk"],[-12,"nauticalDawn","nauticalDusk"],[-18,"nightEnd","night"],[6,"goldenHourEnd","goldenHour"]];Ne.addTime=function(q,ee,B){Ze.push([q,ee,B])};var ae=9e-4;function ce(q,ee){return Math.round(q-ae-ee/(2*i))}function K(q,ee,B){return ae+(q+ee)/(2*i)+B}function ye(q,ee,B){return y+q+.0053*r(ee)-.0069*r(2*B)}function he(q,ee,B){return m((r(q)-r(ee)*r(B))/(l(ee)*l(B)))}function je(q,ee,B,H,U,re,I){var de=he(q,B,H),W=K(de,ee,U);return ye(W,re,I)}Ne.getTimes=function(q,ee,B){var H=f*-B,U=f*ee,re=w(q),I=ce(re,H),de=K(0,H,I),W=me(de),Ce=z(W),be=D(Ce,0),Se=ye(de,W,Ce),pe,Ge,Je,_e,ke,$e={solarNoon:C(Se),nadir:C(Se+.5)};for(pe=0,Ge=Ze.length;pe=0&&(bt=Math.sqrt(_e)/(Math.abs(Se)*2),$e=Ge-bt,Pe=Ge+bt,Math.abs($e)<=1&&ke++,Math.abs(Pe)<=1&&ke++,$e<-1&&($e=Pe)),ke===1?I<0?Ce=X+$e:be=X+$e:ke===2&&(Ce=X+(Je<0?Pe:$e),be=X+(Je<0?$e:Pe)),!(Ce&&be));X+=2)I=W;var ct={};return Ce&&(ct.rise=tt(U,Ce)),be&&(ct.set=tt(U,be)),!Ce&&!be&&(ct[Je>0?"alwaysUp":"alwaysDown"]=!0),ct},a.exports=Ne})()})(ET);var uO=ET.exports;const IT=Si(uO),dO='{"time":{"start":"00:00","end":"24:00","mode":"hours","interval":1},"period":{"days":1}}';class vi extends Xe{coordinates=null;constructor(s){super(s,vi.getStaticData())}static compile(s,i){var u;let r="",l=i.justCheck?kT:ST;if(l=l.replace('"__%%DEBUG_TRIGGER%%__"',`_sendToFrontEnd(${s._id}, {trigger: true})`),s.tagCard==="interval")r=`setInterval(${l}, ${s.interval||1} * ${s.unit==="s"?1e3:s.unit==="m"?6e4:36e5});`;else if(s.tagCard==="cron")r=`schedule("${s.cron}", ${l});`;else if(s.tagCard==="at"){const[d,p]=(s.at||"").split(":");let m="*";if((u=s==null?void 0:s.dow)!=null&&u.length&&!s.dow.includes("_")){const f=[...s.dow].map(k=>parseInt(k,10));f.sort();const v=[];let _=f[0],y=1;for(;y1?(_===f[y-1]?v.push(_.toString()):f[y-1]-_===1?v.push(`${_},${f[y-1]}`):v.push(`${_}-${f[y-1]}`),_=f[y]):y===f.length-1&&(_===f[y-1]||f[y]-_===1?v.push(`${_},${f[y]}`):v.push(`${_}-${f[y]}`));m=v.join(",")}r=`schedule("${p||"0"} ${d||"0"} * * ${m}", ${l});`}else s.tagCard==="astro"?r=`schedule({astro: "${s.astro}", shift: ${s.offset?s.offsetValue:0}}, ${l});`:s.tagCard==="wizard"&&(r=`schedule('${s.wizard}', ${l});`);return r}static _time2String(s){return s?`${s.getHours().toString().padStart(2,"0")}:${s.getMinutes().toString().padStart(2,"0")}`:"--:--"}async _setAstro(s,i,r){var m,f;if(s||=this.state.settings.astro||"solarNoon",i??=this.state.settings.offset,r??=this.state.settings.offsetValue,r=parseInt(r,10)||0,!this.coordinates){const v=await this.props.socket.getObject("system.adapter.javascript.0"),_=(m=v==null?void 0:v.native)==null?void 0:m.latitude,y=(f=v==null?void 0:v.native)==null?void 0:f.longitude;if(!_&&!y){const k=await this.props.socket.getObject("system.config");k!=null&&k.common&&(k.common.latitude||k.common.longitude)?this.coordinates={latitude:parseFloat(k.common.latitude),longitude:parseFloat(k.common.longitude)}:this.coordinates=null}else this.coordinates={latitude:parseFloat(_),longitude:parseFloat(y)}}const l=this.coordinates&&IT.getTimes(new Date,this.coordinates.latitude,this.coordinates.longitude),u=l?Object.keys(l).map(v=>({value:v,title:v,title2:`[${vi._time2String(l[v])}]`,order:l?vi._time2String(l[v]):"??:??"})):[];u.sort((v,_)=>v.order>_.order?1:v.order<_.order?-1:0);let d="--:--";if(s&&l&&l[s]){const v=new Date(l[s]);i&&v.setMinutes(v.getMinutes()+parseInt(r,10)),d=b.I18n.t("(at %s)",vi._time2String(v))}let p;i?p=[{frontText:"at",attr:"astro",nameRender:"renderSelect",options:u,defaultValue:"solarNoon",doNotTranslate2:!0},{backText:"with offset",nameRender:"renderCheckbox",attr:"offset"},{backText:r===1?"minute":"minutes",frontText:"offset",nameRender:"renderNumber",defaultValue:0,attr:"offsetValue",noHelperText:!0},{nameRender:"renderNameText",attr:"textTime",defaultValue:d,doNotTranslate:!0}]:p=[{frontText:"at",attr:"astro",nameRender:"renderSelect",options:u,doNotTranslate2:!0,defaultValue:"solarNoon"},{backText:"with offset",nameRender:"renderCheckbox",attr:"offset"},{nameRender:"renderNameText",attr:"textTime1",defaultValue:d,doNotTranslate:!0}],this.setState({inputs:p},()=>super.onTagChange())}_setInterval(s){s=parseInt(s||this.state.settings.interval,10)||30;let i;s===1?i=[{value:"s",title:"second"},{value:"m",title:"minute"},{value:"h",title:"hour"}]:i=[{value:"s",title:"seconds"},{value:"m",title:"minutes"},{value:"h",title:"hours"}],this.setState({inputs:[{nameRender:"renderNumber",attr:"interval",frontText:"every",defaultValue:30,className:"block-input-interval"},{nameRender:"renderSelect",attr:"unit",defaultValue:"s",options:i}]},()=>super.onTagChange())}renderDebug(s){return b.I18n.t("Triggered")}onValueChanged(s,i){this.state.settings.tagCard==="astro"?i==="astro"?this._setAstro(s):i==="offset"?this._setAstro(void 0,s):i==="offsetValue"&&this._setAstro(void 0,void 0,s):this.state.settings.tagCard==="interval"&&i==="interval"&&this._setInterval(s)}renderCron(s,i,r){const{className:l}=this.props;return g.jsxs("div",{children:[g.jsxs("div",{style:{display:"flex",alignItems:"baseline"},children:[g.jsx("div",{style:{width:"100%"},children:this.renderText({nameRender:"renderText",attr:"cron",defaultValue:i},this.state.settings.cron||i,r)}),g.jsx(Ur,{square:!0,style:{marginLeft:7},value:"...",className:l,onClick:()=>this.setState({openDialog:!0,textCron:this.state.settings.cron})})]}),this.state.openDialog?g.jsx(nm,{disabled:this.state.settings.cron===this.state.textCron,onApply:()=>{const u=this.state.textCron;r(u,"cron",()=>{r(b.convertCronToText(u,b.I18n.getLanguage()),"addText"),this.setState({openDialog:!1})})},onClose:()=>this.setState({openDialog:!1,textCron:""}),children:g.jsx(b.ComplexCron,{cronExpression:this.state.settings.cron,onChange:u=>this.setState({textCron:u}),language:b.I18n.getLanguage()})}):null,this.renderNameText({nameRender:"renderNameText",defaultValue:b.I18n.t("every hour at 0 minutes"),attr:"addText",signature:!0,doNotTranslate:!0},this.state.settings.addText||b.I18n.t("every hour at 0 minutes"))]},"cron")}renderWizard(s,i,r){const{className:l}=this.props;return g.jsxs("div",{children:[g.jsxs("div",{style:{display:"flex",alignItems:"center",marginTop:7},children:[g.jsx(bi,{className:l,autoComplete:"off",fullWidth:!0,variant:"outlined",size:"small",multiline:!0,rows:2,value:this.state.settings.wizardText,onChange:u=>r(u),customValue:!0}),g.jsx(Ur,{square:!0,style:{marginLeft:7},value:"...",className:l,onClick:()=>this.setState({openDialog:!0,wizard:this.state.settings.wizard,wizardText:b.Schedule.state2text(this.state.settings.wizard)})})]}),this.state.openDialog?g.jsx(nm,{disabled:this.state.settings.wizard===this.state.wizard,onApply:()=>this.setState({openDialog:!1},()=>{const u=JSON.parse(this.state.wizard);u.valid||={from:b.Schedule.now2string()},u.valid.from||=b.Schedule.now2string(),r({wizardText:this.state.wizardText,wizard:JSON.stringify(u)})}),onClose:()=>this.setState({openDialog:!1}),children:g.jsx(b.Schedule,{theme:this.props.theme,schedule:i,onChange:(u,d)=>this.setState({wizardText:d||"",wizard:u})})}):null]},"wizard")}onTagChange(s){switch(s||=this.state.settings.tagCard,s){case"interval":this._setInterval();break;case"cron":this.setState({inputs:[{nameRender:"renderCron",attr:"cron",defaultValue:"0 * * * *"}]},()=>super.onTagChange());break;case"wizard":{const i=JSON.parse(dO);i.valid||={from:b.Schedule.now2string()},i.valid.from||=b.Schedule.now2string(),this.setState({inputs:[{nameRender:"renderWizard",attr:"wizard",defaultValue:JSON.stringify(i)}]},()=>super.onTagChange(null,()=>{const r=b.Schedule.state2text(this.state.settings.wizard||i);if(this.state.settings.wizard!==r){const l=JSON.parse(JSON.stringify(this.state.settings));l.wizardText=r,this.setState({settings:l}),this.props.onChange(l)}}));break}case"at":this.setState({inputs:[{nameRender:"renderTime",prefix:"at",attr:"at",defaultValue:"07:30"},{nameRender:"renderSelect",attr:"dow",default:"",multiple:!0,defaultValue:["_","1","2","3","4","5","6","0"],options:[{value:"_",title:"Every day",only:!0},{value:"1",title:"Monday",titleShort:"Mo"},{value:"2",title:"Tuesday",titleShort:"Tu"},{value:"3",title:"Wednesday",titleShort:"We"},{value:"4",title:"Thursday",titleShort:"Th"},{value:"5",title:"Friday",titleShort:"Fr"},{value:"6",title:"Saturday",titleShort:"Sa"},{value:"0",title:"Sunday",titleShort:"Su"}]}]},()=>super.onTagChange());break;case"astro":this._setAstro();break}}static getStaticData(){return{acceptedBy:"triggers",name:"Schedule",id:"TriggerScheduleBlock",icon:"AccessTime",tagCardArray:["cron","wizard","interval","at","astro"],title:"Triggers the rule periodically or on some specific time"}}getData(){return vi.getStaticData()}}const yn={valueAck:{color:"#b02323"},valueNotAck:{color:"#12ac15"}},xT=Y.forwardRef((a,s)=>g.jsx(Yk,{direction:"up",ref:s,...a}));xT.displayName="Transition";class Mc extends Xe{inputRef;constructor(s){super(s,Mc.getStaticData()),this.inputRef=Y.createRef()}static compile(s,i){let r=i.justCheck?kT:ST;return r=r.replace('"__%%DEBUG_TRIGGER%%__"',`_sendToFrontEnd(${s._id}, {val: obj.state.val, ack: obj.state.ack, valOld: obj.oldState && obj.oldState.val, ackOld: obj.oldState && obj.oldState.ack})`),`on({id: "${s.oid||""}", change: "${s.tagCard==="on update"?"any":"ne"}"}, ${r});`}renderDebug(s){return s.data.valOld!==void 0?g.jsxs("span",{children:[b.I18n.t("Triggered")," ",g.jsx("span",{style:s.data.ackOld?yn.valueAck:yn.valueNotAck,children:xn(s.data.valOld)})," ","→"," ",g.jsx("span",{style:s.data.ack?yn.valueAck:yn.valueNotAck,children:xn(s.data.val)})]}):g.jsxs("span",{children:[b.I18n.t("Triggered")," ",g.jsx("span",{style:s.data.ack?yn.valueAck:yn.valueNotAck,children:xn(s.data.val)})]})}onWriteValue(){this.setState({openSimulate:!1});let s=this.state.simulateValue;window.localStorage.setItem(`javascript.app.${this.state.settings.oid}_ack`,this.state.simulateAck?"true":"false"),this.state.settings.oidType==="boolean"?(s=s===!0||s==="true"||s==="1",window.localStorage.setItem(`javascript.app.${this.state.settings.oid}`,s?"true":"false")):this.state.settings.oidType==="number"?(s=parseFloat(s)||0,window.localStorage.setItem(`javascript.app.${this.state.settings.oid}`,s.toString())):window.localStorage.setItem(`javascript.app.${this.state.settings.oid}`,(s==null?void 0:s.toString())||""),this.props.socket.setState(this.state.settings.oid,{val:s,ack:!!this.state.simulateAck})}renderWriteState(){return[g.jsx(De,{disabled:!this.state.settings.oid||!this.state.enableSimulation,variant:"contained",color:"primary",onClick:()=>{this.setState({openSimulate:!0,simulateValue:this.state.settings.oidType==="boolean"?window.localStorage.getItem(`javascript.app.${this.state.settings.oid}`)==="true":window.localStorage.getItem(`javascript.app.${this.state.settings.oid}`)||"",simulateAck:window.localStorage.getItem(`javascript.app.${this.state.settings.oid}_ack`)==="true"}),setTimeout(()=>{var s;return(s=this.inputRef.current)==null?void 0:s.focus()},200)},children:b.I18n.t("Simulate")},"buttonWrite"),g.jsxs(Vt,{open:!!this.state.openSimulate,TransitionComponent:xT,keepMounted:!0,onClose:()=>this.setState({openSimulate:!1}),"aria-labelledby":"simulate-dialog-slide-title","aria-describedby":"simulate-dialog-slide-description",children:[g.jsx(as,{id:"simulate-dialog-slide-title",children:b.I18n.t("Trigger with value")}),g.jsxs(Gt,{children:[this.state.settings.oidType==="boolean"?g.jsx(Ag,{control:g.jsx(Rw,{inputRef:this.inputRef,onKeyUp:s=>s.key==="Enter"&&this.onWriteValue(),value:!!this.state.simulateValue,onChange:s=>this.setState({simulateValue:s.target.checked})}),label:b.I18n.t("Value")}):g.jsx(vo,{variant:"standard",inputRef:this.inputRef,label:b.I18n.t("Value"),fullWidth:!0,onKeyUp:s=>s.key==="Enter"&&this.onWriteValue(),value:!this.state.simulateValue&&this.state.simulateValue!==0?"":this.state.simulateValue,onChange:s=>this.setState({simulateValue:s.target.value})}),g.jsx("br",{}),g.jsx(Ag,{control:g.jsx(bc,{checked:!!this.state.simulateAck,onChange:s=>this.setState({simulateAck:s.target.checked}),color:"primary"}),label:b.I18n.t("Ack")})]}),g.jsxs(Kt,{children:[g.jsxs(De,{variant:"contained",onClick:()=>this.onWriteValue(),color:"primary",children:[g.jsx(_S,{}),b.I18n.t("Write")]}),g.jsxs(De,{color:"grey",variant:"contained",onClick:()=>this.setState({openSimulate:!1}),children:[g.jsx(Wc,{}),b.I18n.t("Close")]})]})]},"dialogWrite")]}onTagChange(s){this.setState({inputs:[{nameRender:"renderObjectID",attr:"oid",defaultValue:""},{nameRender:"renderWriteState"}]},()=>{super.onTagChange()})}static getStaticData(){return{acceptedBy:"triggers",name:"State",id:"TriggerState",icon:"FlashOn",tagCardArray:["on change","on update"],title:"Triggers the rule on update or change of some state"}}getData(){return Mc.getStaticData()}}const hO=""+new URL("hysteresis-CLhhemcG.png",import.meta.url).href,bw=`function __hysteresis(val, limit, state, hist, comp) { +//${JSON.stringify(a)}`}class Oc extends Xe{constructor(s){super(s,Oc.getStaticData())}static compile(s,i){return rO.replace('"__%%DEBUG_TRIGGER%%__"',`_sendToFrontEnd(${s._id}, {trigger: true})`)}renderDebug(){return b.I18n.t("Triggered")}onTagChange(s){this.setState({inputs:[{nameRender:"renderNameText",defaultValue:"On script save or adapter start",attr:"script"}]},()=>super.onTagChange())}static getStaticData(){return{acceptedBy:"triggers",name:"Start script",id:"TriggerScriptSave",icon:"PlayArrow",title:"Triggers the on script saving or the javascript instance restart"}}getData(){return Oc.getStaticData()}}var ET={exports:{}};(function(a,s){(function(){var i=Math.PI,r=Math.sin,l=Math.cos,u=Math.tan,d=Math.asin,p=Math.atan2,m=Math.acos,f=i/180,v=1e3*60*60*24,_=2440588,y=2451545;function k(q){return q.valueOf()/v-.5+_}function C(q){return new Date((q+.5-_)*v)}function w(q){return k(q)-y}var E=f*23.4397;function R(q,ee){return p(r(q)*l(E)-u(ee)*r(E),l(q))}function D(q,ee){return d(r(ee)*l(E)+l(ee)*r(E)*r(q))}function A(q,ee,B){return p(r(q),l(q)*r(ee)-u(B)*l(ee))}function J(q,ee,B){return d(r(ee)*r(B)+l(ee)*l(B)*l(q))}function ie(q,ee){return f*(280.16+360.9856235*q)-ee}function se(q){return q<0&&(q=0),2967e-7/Math.tan(q+.00312536/(q+.08901179))}function me(q){return f*(357.5291+.98560028*q)}function z(q){var ee=f*(1.9148*r(q)+.02*r(2*q)+3e-4*r(3*q)),B=f*102.9372;return q+ee+B+i}function Oe(q){var ee=me(q),B=z(ee);return{dec:D(B,0),ra:R(B,0)}}var Ne={};Ne.getPosition=function(q,ee,B){var H=f*-B,U=f*ee,re=w(q),I=Oe(re),de=ie(re,H)-I.ra;return{azimuth:A(de,U,I.dec),altitude:J(de,U,I.dec)}};var Ze=Ne.times=[[-.833,"sunrise","sunset"],[-.3,"sunriseEnd","sunsetStart"],[-6,"dawn","dusk"],[-12,"nauticalDawn","nauticalDusk"],[-18,"nightEnd","night"],[6,"goldenHourEnd","goldenHour"]];Ne.addTime=function(q,ee,B){Ze.push([q,ee,B])};var ae=9e-4;function ce(q,ee){return Math.round(q-ae-ee/(2*i))}function K(q,ee,B){return ae+(q+ee)/(2*i)+B}function ye(q,ee,B){return y+q+.0053*r(ee)-.0069*r(2*B)}function he(q,ee,B){return m((r(q)-r(ee)*r(B))/(l(ee)*l(B)))}function je(q,ee,B,H,U,re,I){var de=he(q,B,H),W=K(de,ee,U);return ye(W,re,I)}Ne.getTimes=function(q,ee,B){var H=f*-B,U=f*ee,re=w(q),I=ce(re,H),de=K(0,H,I),W=me(de),Ce=z(W),be=D(Ce,0),Se=ye(de,W,Ce),pe,Ve,Je,_e,ke,$e={solarNoon:C(Se),nadir:C(Se+.5)};for(pe=0,Ve=Ze.length;pe=0&&(bt=Math.sqrt(_e)/(Math.abs(Se)*2),$e=Ve-bt,Pe=Ve+bt,Math.abs($e)<=1&&ke++,Math.abs(Pe)<=1&&ke++,$e<-1&&($e=Pe)),ke===1?I<0?Ce=X+$e:be=X+$e:ke===2&&(Ce=X+(Je<0?Pe:$e),be=X+(Je<0?$e:Pe)),!(Ce&&be));X+=2)I=W;var ct={};return Ce&&(ct.rise=tt(U,Ce)),be&&(ct.set=tt(U,be)),!Ce&&!be&&(ct[Je>0?"alwaysUp":"alwaysDown"]=!0),ct},a.exports=Ne})()})(ET);var uO=ET.exports;const IT=Si(uO),dO='{"time":{"start":"00:00","end":"24:00","mode":"hours","interval":1},"period":{"days":1}}';class vi extends Xe{coordinates=null;constructor(s){super(s,vi.getStaticData())}static compile(s,i){var u;let r="",l=i.justCheck?kT:ST;if(l=l.replace('"__%%DEBUG_TRIGGER%%__"',`_sendToFrontEnd(${s._id}, {trigger: true})`),s.tagCard==="interval")r=`setInterval(${l}, ${s.interval||1} * ${s.unit==="s"?1e3:s.unit==="m"?6e4:36e5});`;else if(s.tagCard==="cron")r=`schedule("${s.cron}", ${l});`;else if(s.tagCard==="at"){const[d,p]=(s.at||"").split(":");let m="*";if((u=s==null?void 0:s.dow)!=null&&u.length&&!s.dow.includes("_")){const f=[...s.dow].map(k=>parseInt(k,10));f.sort();const v=[];let _=f[0],y=1;for(;y1?(_===f[y-1]?v.push(_.toString()):f[y-1]-_===1?v.push(`${_},${f[y-1]}`):v.push(`${_}-${f[y-1]}`),_=f[y]):y===f.length-1&&(_===f[y-1]||f[y]-_===1?v.push(`${_},${f[y]}`):v.push(`${_}-${f[y]}`));m=v.join(",")}r=`schedule("${p||"0"} ${d||"0"} * * ${m}", ${l});`}else s.tagCard==="astro"?r=`schedule({astro: "${s.astro}", shift: ${s.offset?s.offsetValue:0}}, ${l});`:s.tagCard==="wizard"&&(r=`schedule('${s.wizard}', ${l});`);return r}static _time2String(s){return s?`${s.getHours().toString().padStart(2,"0")}:${s.getMinutes().toString().padStart(2,"0")}`:"--:--"}async _setAstro(s,i,r){var m,f;if(s||=this.state.settings.astro||"solarNoon",i??=this.state.settings.offset,r??=this.state.settings.offsetValue,r=parseInt(r,10)||0,!this.coordinates){const v=await this.props.socket.getObject("system.adapter.javascript.0"),_=(m=v==null?void 0:v.native)==null?void 0:m.latitude,y=(f=v==null?void 0:v.native)==null?void 0:f.longitude;if(!_&&!y){const k=await this.props.socket.getObject("system.config");k!=null&&k.common&&(k.common.latitude||k.common.longitude)?this.coordinates={latitude:parseFloat(k.common.latitude),longitude:parseFloat(k.common.longitude)}:this.coordinates=null}else this.coordinates={latitude:parseFloat(_),longitude:parseFloat(y)}}const l=this.coordinates&&IT.getTimes(new Date,this.coordinates.latitude,this.coordinates.longitude),u=l?Object.keys(l).map(v=>({value:v,title:v,title2:`[${vi._time2String(l[v])}]`,order:l?vi._time2String(l[v]):"??:??"})):[];u.sort((v,_)=>v.order>_.order?1:v.order<_.order?-1:0);let d="--:--";if(s&&l&&l[s]){const v=new Date(l[s]);i&&v.setMinutes(v.getMinutes()+parseInt(r,10)),d=b.I18n.t("(at %s)",vi._time2String(v))}let p;i?p=[{frontText:"at",attr:"astro",nameRender:"renderSelect",options:u,defaultValue:"solarNoon",doNotTranslate2:!0},{backText:"with offset",nameRender:"renderCheckbox",attr:"offset"},{backText:r===1?"minute":"minutes",frontText:"offset",nameRender:"renderNumber",defaultValue:0,attr:"offsetValue",noHelperText:!0},{nameRender:"renderNameText",attr:"textTime",defaultValue:d,doNotTranslate:!0}]:p=[{frontText:"at",attr:"astro",nameRender:"renderSelect",options:u,doNotTranslate2:!0,defaultValue:"solarNoon"},{backText:"with offset",nameRender:"renderCheckbox",attr:"offset"},{nameRender:"renderNameText",attr:"textTime1",defaultValue:d,doNotTranslate:!0}],this.setState({inputs:p},()=>super.onTagChange())}_setInterval(s){s=parseInt(s||this.state.settings.interval,10)||30;let i;s===1?i=[{value:"s",title:"second"},{value:"m",title:"minute"},{value:"h",title:"hour"}]:i=[{value:"s",title:"seconds"},{value:"m",title:"minutes"},{value:"h",title:"hours"}],this.setState({inputs:[{nameRender:"renderNumber",attr:"interval",frontText:"every",defaultValue:30,className:"block-input-interval"},{nameRender:"renderSelect",attr:"unit",defaultValue:"s",options:i}]},()=>super.onTagChange())}renderDebug(s){return b.I18n.t("Triggered")}onValueChanged(s,i){this.state.settings.tagCard==="astro"?i==="astro"?this._setAstro(s):i==="offset"?this._setAstro(void 0,s):i==="offsetValue"&&this._setAstro(void 0,void 0,s):this.state.settings.tagCard==="interval"&&i==="interval"&&this._setInterval(s)}renderCron(s,i,r){const{className:l}=this.props;return g.jsxs("div",{children:[g.jsxs("div",{style:{display:"flex",alignItems:"baseline"},children:[g.jsx("div",{style:{width:"100%"},children:this.renderText({nameRender:"renderText",attr:"cron",defaultValue:i},this.state.settings.cron||i,r)}),g.jsx(Ur,{square:!0,style:{marginLeft:7},value:"...",className:l,onClick:()=>this.setState({openDialog:!0,textCron:this.state.settings.cron})})]}),this.state.openDialog?g.jsx(nm,{disabled:this.state.settings.cron===this.state.textCron,onApply:()=>{const u=this.state.textCron;r(u,"cron",()=>{r(b.convertCronToText(u,b.I18n.getLanguage()),"addText"),this.setState({openDialog:!1})})},onClose:()=>this.setState({openDialog:!1,textCron:""}),children:g.jsx(b.ComplexCron,{cronExpression:this.state.settings.cron,onChange:u=>this.setState({textCron:u}),language:b.I18n.getLanguage()})}):null,this.renderNameText({nameRender:"renderNameText",defaultValue:b.I18n.t("every hour at 0 minutes"),attr:"addText",signature:!0,doNotTranslate:!0},this.state.settings.addText||b.I18n.t("every hour at 0 minutes"))]},"cron")}renderWizard(s,i,r){const{className:l}=this.props;return g.jsxs("div",{children:[g.jsxs("div",{style:{display:"flex",alignItems:"center",marginTop:7},children:[g.jsx(bi,{className:l,autoComplete:"off",fullWidth:!0,variant:"outlined",size:"small",multiline:!0,rows:2,value:this.state.settings.wizardText,onChange:u=>r(u),customValue:!0}),g.jsx(Ur,{square:!0,style:{marginLeft:7},value:"...",className:l,onClick:()=>this.setState({openDialog:!0,wizard:this.state.settings.wizard,wizardText:b.Schedule.state2text(this.state.settings.wizard)})})]}),this.state.openDialog?g.jsx(nm,{disabled:this.state.settings.wizard===this.state.wizard,onApply:()=>this.setState({openDialog:!1},()=>{const u=JSON.parse(this.state.wizard);u.valid||={from:b.Schedule.now2string()},u.valid.from||=b.Schedule.now2string(),r({wizardText:this.state.wizardText,wizard:JSON.stringify(u)})}),onClose:()=>this.setState({openDialog:!1}),children:g.jsx(b.Schedule,{theme:this.props.theme,schedule:i,onChange:(u,d)=>this.setState({wizardText:d||"",wizard:u})})}):null]},"wizard")}onTagChange(s){switch(s||=this.state.settings.tagCard,s){case"interval":this._setInterval();break;case"cron":this.setState({inputs:[{nameRender:"renderCron",attr:"cron",defaultValue:"0 * * * *"}]},()=>super.onTagChange());break;case"wizard":{const i=JSON.parse(dO);i.valid||={from:b.Schedule.now2string()},i.valid.from||=b.Schedule.now2string(),this.setState({inputs:[{nameRender:"renderWizard",attr:"wizard",defaultValue:JSON.stringify(i)}]},()=>super.onTagChange(null,()=>{const r=b.Schedule.state2text(this.state.settings.wizard||i);if(this.state.settings.wizard!==r){const l=JSON.parse(JSON.stringify(this.state.settings));l.wizardText=r,this.setState({settings:l}),this.props.onChange(l)}}));break}case"at":this.setState({inputs:[{nameRender:"renderTime",prefix:"at",attr:"at",defaultValue:"07:30"},{nameRender:"renderSelect",attr:"dow",default:"",multiple:!0,defaultValue:["_","1","2","3","4","5","6","0"],options:[{value:"_",title:"Every day",only:!0},{value:"1",title:"Monday",titleShort:"Mo"},{value:"2",title:"Tuesday",titleShort:"Tu"},{value:"3",title:"Wednesday",titleShort:"We"},{value:"4",title:"Thursday",titleShort:"Th"},{value:"5",title:"Friday",titleShort:"Fr"},{value:"6",title:"Saturday",titleShort:"Sa"},{value:"0",title:"Sunday",titleShort:"Su"}]}]},()=>super.onTagChange());break;case"astro":this._setAstro();break}}static getStaticData(){return{acceptedBy:"triggers",name:"Schedule",id:"TriggerScheduleBlock",icon:"AccessTime",tagCardArray:["cron","wizard","interval","at","astro"],title:"Triggers the rule periodically or on some specific time"}}getData(){return vi.getStaticData()}}const yn={valueAck:{color:"#b02323"},valueNotAck:{color:"#12ac15"}},xT=Y.forwardRef((a,s)=>g.jsx(Yk,{direction:"up",ref:s,...a}));xT.displayName="Transition";class Mc extends Xe{inputRef;constructor(s){super(s,Mc.getStaticData()),this.inputRef=Y.createRef()}static compile(s,i){let r=i.justCheck?kT:ST;return r=r.replace('"__%%DEBUG_TRIGGER%%__"',`_sendToFrontEnd(${s._id}, {val: obj.state.val, ack: obj.state.ack, valOld: obj.oldState && obj.oldState.val, ackOld: obj.oldState && obj.oldState.ack})`),`on({id: "${s.oid||""}", change: "${s.tagCard==="on update"?"any":"ne"}"}, ${r});`}renderDebug(s){return s.data.valOld!==void 0?g.jsxs("span",{children:[b.I18n.t("Triggered")," ",g.jsx("span",{style:s.data.ackOld?yn.valueAck:yn.valueNotAck,children:xn(s.data.valOld)})," ","→"," ",g.jsx("span",{style:s.data.ack?yn.valueAck:yn.valueNotAck,children:xn(s.data.val)})]}):g.jsxs("span",{children:[b.I18n.t("Triggered")," ",g.jsx("span",{style:s.data.ack?yn.valueAck:yn.valueNotAck,children:xn(s.data.val)})]})}onWriteValue(){this.setState({openSimulate:!1});let s=this.state.simulateValue;window.localStorage.setItem(`javascript.app.${this.state.settings.oid}_ack`,this.state.simulateAck?"true":"false"),this.state.settings.oidType==="boolean"?(s=s===!0||s==="true"||s==="1",window.localStorage.setItem(`javascript.app.${this.state.settings.oid}`,s?"true":"false")):this.state.settings.oidType==="number"?(s=parseFloat(s)||0,window.localStorage.setItem(`javascript.app.${this.state.settings.oid}`,s.toString())):window.localStorage.setItem(`javascript.app.${this.state.settings.oid}`,(s==null?void 0:s.toString())||""),this.props.socket.setState(this.state.settings.oid,{val:s,ack:!!this.state.simulateAck})}renderWriteState(){return[g.jsx(De,{disabled:!this.state.settings.oid||!this.state.enableSimulation,variant:"contained",color:"primary",onClick:()=>{this.setState({openSimulate:!0,simulateValue:this.state.settings.oidType==="boolean"?window.localStorage.getItem(`javascript.app.${this.state.settings.oid}`)==="true":window.localStorage.getItem(`javascript.app.${this.state.settings.oid}`)||"",simulateAck:window.localStorage.getItem(`javascript.app.${this.state.settings.oid}_ack`)==="true"}),setTimeout(()=>{var s;return(s=this.inputRef.current)==null?void 0:s.focus()},200)},children:b.I18n.t("Simulate")},"buttonWrite"),g.jsxs(Gt,{open:!!this.state.openSimulate,TransitionComponent:xT,keepMounted:!0,onClose:()=>this.setState({openSimulate:!1}),"aria-labelledby":"simulate-dialog-slide-title","aria-describedby":"simulate-dialog-slide-description",children:[g.jsx(as,{id:"simulate-dialog-slide-title",children:b.I18n.t("Trigger with value")}),g.jsxs(Vt,{children:[this.state.settings.oidType==="boolean"?g.jsx(Ag,{control:g.jsx(Rw,{inputRef:this.inputRef,onKeyUp:s=>s.key==="Enter"&&this.onWriteValue(),value:!!this.state.simulateValue,onChange:s=>this.setState({simulateValue:s.target.checked})}),label:b.I18n.t("Value")}):g.jsx(vo,{variant:"standard",inputRef:this.inputRef,label:b.I18n.t("Value"),fullWidth:!0,onKeyUp:s=>s.key==="Enter"&&this.onWriteValue(),value:!this.state.simulateValue&&this.state.simulateValue!==0?"":this.state.simulateValue,onChange:s=>this.setState({simulateValue:s.target.value})}),g.jsx("br",{}),g.jsx(Ag,{control:g.jsx(bc,{checked:!!this.state.simulateAck,onChange:s=>this.setState({simulateAck:s.target.checked}),color:"primary"}),label:b.I18n.t("Ack")})]}),g.jsxs(Kt,{children:[g.jsxs(De,{variant:"contained",onClick:()=>this.onWriteValue(),color:"primary",children:[g.jsx(wS,{}),b.I18n.t("Write")]}),g.jsxs(De,{color:"grey",variant:"contained",onClick:()=>this.setState({openSimulate:!1}),children:[g.jsx(Wc,{}),b.I18n.t("Close")]})]})]},"dialogWrite")]}onTagChange(s){this.setState({inputs:[{nameRender:"renderObjectID",attr:"oid",defaultValue:""},{nameRender:"renderWriteState"}]},()=>{super.onTagChange()})}static getStaticData(){return{acceptedBy:"triggers",name:"State",id:"TriggerState",icon:"FlashOn",tagCardArray:["on change","on update"],title:"Triggers the rule on update or change of some state"}}getData(){return Mc.getStaticData()}}const hO=""+new URL("hysteresis-CLhhemcG.png",import.meta.url).href,bw=`function __hysteresis(val, limit, state, hist, comp) { let cond1, cond2; if (comp === '>') { cond1 = val > limit + hist; @@ -1200,7 +1200,7 @@ const demo = ${JSON.stringify(a,null,2).replace(/\*\//g,"* /")}; } else { return state; } -}`;class Hr extends Xe{constructor(s){super(s,Hr.getStaticData())}isAllTriggersOnState(){var s,i,r,l;return!!((i=(s=this.props.userRules)==null?void 0:s.triggers)!=null&&i.find(u=>u.id==="TriggerState"))&&!((l=(r=this.props.userRules)==null?void 0:r.triggers)!=null&&l.find(u=>u.id!=="TriggerState"))}static compile(s,i){var d,p;let r=s.value;r==null&&(r=!1);let l,u;if(s.tagCard==="()")i.prelines||=[],i.prelines.find(m=>m!==bw)||i.prelines.push(bw),s.useTrigger?(l="obj.state.val",r===""&&(r=0),u=`__hysteresis(subCondVar${s._id}, ${r}, __%%STATE%%__, ${s.hist}, "${s.histComp}")`):(l=`(await getStateAsync("${s.oid}")).val`,r===""&&(r=0),typeof r=="string"&&parseFloat(r.trim()).toString()!==r.trim()&&(r=`"${r}"`),u=`__hysteresis(subCondVar${s._id}, ${r}, __%%STATE%%__, ${s.hist}, "${s.histComp}")`);else if(s.tagCard!=="includes"){const m=s.tagCard==="="?"==":s.tagCard==="<>"?"!=":s.tagCard;s.useTrigger?(l="obj.state.val",((d=i==null?void 0:i.trigger)==null?void 0:d.oidType)==="string"?(r=r.replace(/"/g,'\\"'),u=`subCondVar${s._id} ${m} "${r}"`):(r===""&&(r=0),typeof r=="string"&&parseFloat(r.trim()).toString()!==r.trim()&&(r=`"${r}"`),u=`subCondVar${s._id} ${m} ${r}`)):(l=`(await getStateAsync("${s.oid}")).val`,s.oidType==="string"?(r=r.replace(/"/g,'\\"'),u=`subCondVar${s._id} ${m} "${r}"`):(r===""&&(r=0),typeof r=="string"&&parseFloat(r.trim()).toString()!==r.trim()&&(r=`"${r}"`),u=`subCondVar${s._id} ${m} ${r}`))}else s.useTrigger?(l="obj.state.val",((p=i==null?void 0:i.trigger)==null?void 0:p.oidType)==="string"?(r=r.replace(/"/g,'\\"'),u=`obj.state.val.includes("${r}")`):u="false"):(l=`(await getStateAsync("${s.oid}")).val`,s.oidType==="string"?(r=r.replace(/"/g,'\\"'),u=`subCondVar${s._id}.includes("${r}")`):u="false");return i.conditionsStates.push({name:`subCondVar${s._id}`,id:s.oid}),i.conditionsVars.push(`const subCondVar${s._id} = ${l};`),i.conditionsVars.push(`const subCond${s._id} = ${u};`),i.conditionsDebug.push(`_sendToFrontEnd(${s._id}, {result: subCond${s._id}, value: subCondVar${s._id}, compareWith: "${r}"});`),`subCond${s._id}`}renderDebug(s){const i=this.state.settings.tagCard;return i!=="()"?`${s.data.result.toString().toUpperCase()} [${s.data.value} ${i} ${s.data.compareWith}]`:b.I18n.t("Triggered")}onShowHelp=()=>this.setState({showHysteresisHelp:!0});_setInputs(s,i,r,l,u){var w,E;const d=this.isAllTriggersOnState();i=i||this.state.settings.tagCard,r=r||this.state.settings.oidType,l=l||this.state.settings.oidUnit,u=u||this.state.settings.oidStates,s===void 0&&(s=this.state.settings.useTrigger),d&&s&&((E=(w=this.props.userRules)==null?void 0:w.triggers)==null?void 0:E.length)===1&&(r=this.props.userRules.triggers[0].oidType,l=this.props.userRules.triggers[0].oidUnit,u=this.props.userRules.triggers[0].oidStates);const p=Hr.getStaticData().tagCardArray,m=p.find(R=>R.title===i)||p[0];let f,v=null;r==="number"?(f=[{title:"=",title2:"[equal]",text:"equal to"},{title:">=",title2:"[greater or equal]",text:"greater or equal"},{title:">",title2:"[greater]",text:"greater than"},{title:"<=",title2:"[less or equal]",text:"less or equal"},{title:"<",title2:"[less]",text:"less than"},{title:"<>",title2:"[not equal]",text:"not equal to"},{title:"()",title2:"[hysteresis]",text:"hysteresis"}],u&&(v=Object.keys(u).map(R=>u?{value:R,title:u[R]}:null).filter(R=>R))):r==="boolean"?(f=[{title:"=",title2:"[equal]",text:"equal to"},{title:"<>",title2:"[not equal]",text:"not equal to"}],v=[{title:"false",value:!1},{title:"true",value:!0}]):(f=[{title:"=",title2:"[equal]",text:"equal to"},{title:">=",title2:"[greater or equal]",text:"greater or equal"},{title:">",title2:"[greater]",text:"greater than"},{title:"<=",title2:"[less or equal]",text:"less or equal"},{title:"<",title2:"[less]",text:"less than"},{title:"<>",title2:"[not equal]",text:"not equal to"},{title:".",title2:"[includes]",text:"includes"}],u&&(v=Object.keys(u).map(R=>({value:R,title:u?u[R]:R.toString()}))));let _=null;f.find(R=>R.title===i)||(i=f[0].title,_=_||{...this.state.settings},_.tagCard=i);let y,k={nameRender:"renderText",defaultValue:"",attr:"value",frontText:i==="()"?"Limit":(m==null?void 0:m.text)||"compare with",doNotTranslateBack:!0,backText:l};v&&(k={nameRender:"renderSelect",defaultValue:v[0].value,options:v,attr:"value",frontText:(m==null?void 0:m.text)||"compare with",doNotTranslateBack:!0,backText:l},v.find(R=>R.value===this.state.settings.value)||(_=_||{...this.state.settings},_.value=v[0].value),v.length<=2&&(f=[{title:"=",title2:"[equal]",text:"equal to"},{title:"<>",title2:"[not equal]",text:"not equal to"}])),d&&s?y=[{backText:"use trigger value",nameRender:"renderCheckbox",attr:"useTrigger",defaultValue:!1},k]:d?y=[{backText:"use trigger value",nameRender:"renderCheckbox",attr:"useTrigger"},{nameRender:"renderObjectID",attr:"oid",defaultValue:""},k]:y=[{nameRender:"renderObjectID",attr:"oid",defaultValue:""},k],i==="()"&&(y.splice(1,0,{nameRender:"renderDialog",icon:"HelpOutline",frontText:"Explanation",onShowDialog:this.onShowHelp}),y.splice(2,0,{nameRender:"renderSelect",attr:"histComp",defaultValue:">",frontText:"Condition",doNotTranslate:!0,options:[{title:">",value:">"},{title:">=",value:">="},{title:"<",value:"<"},{title:"<=",value:"<="},{title:"=",value:"="},{title:"<>",value:"<>"}]}),y.push({frontText:"Δ",doNotTranslate:!0,nameRender:"renderNumber",noHelperText:!0,attr:"hist",defaultValue:1,doNotTranslateBack:!0,backText:l}));const C={iconTag:!0,tagCardArray:f,inputs:y};this.setState(C,()=>super.onTagChange(null,()=>{_&&(this.setState({settings:_}),this.props.onChange(_))}))}onValueChanged(s,i){typeof s=="object"?this._setInputs(s.useTrigger,s.tagCard,s.oidType,s.states):i==="useTrigger"?this._setInputs(s):i==="oidType"?this._setInputs(void 0,void 0,s):i==="oidUnit"?this._setInputs(void 0,void 0,void 0,s):i==="oidStates"&&this._setInputs(void 0,void 0,void 0,void 0,s)}onUpdate(){this._setInputs(this.state.settings.useTrigger)}onTagChange(s){this._setInputs(this.state.settings.useTrigger,s)}static getStaticData(){return{acceptedBy:"conditions",name:"State condition",id:"ConditionState",icon:"Shuffle",tagCardArray:[{title:"=",title2:"[equal]",text:"equal to"},{title:">=",title2:"[greater or equal]",text:"greater or equal"},{title:">",title2:"[greater]",text:"greater than"},{title:"<=",title2:"[less or equal]",text:"less or equal"},{title:"<",title2:"[less]",text:"less than"},{title:"<>",title2:"[not equal]",text:"not equal to"},{title:".",title2:"[includes]",text:"includes"},{title:"()",title2:"[hysteresis]",text:"hysteresis"}],title:"Compares the state value with user defined value"}}getData(){return Hr.getStaticData()}renderSpecific(){return this.state.showHysteresisHelp?g.jsxs(Vt,{open:!0,maxWidth:"md",onClose:()=>this.setState({showHysteresisHelp:!1}),"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description",children:[g.jsx(Gt,{children:g.jsx(Iw,{id:"alert-dialog-description",children:g.jsx("img",{src:hO,alt:"Hysteresis"})})}),g.jsx(Kt,{children:g.jsx(De,{onClick:()=>this.setState({showHysteresisHelp:!1}),color:"primary",autoFocus:!0,children:b.I18n.t("OK")})})]}):null}}const vw=[31,29,31,30,31,30,31,31,30,31,30,31];class Wr extends Xe{constructor(s){super(s,Wr.getStaticData())}static compile(s,i){const r=s.tagCard==="="?"===":s.tagCard==="<>"?"!==":s.tagCard;let l;if(s.withDate){const[u,d]=(s.date||"01.01").toString().split(".");let p=parseInt(d,10)||0,m=parseInt(u,10)||0;m>12?m=12:m<0&&(m=0),p>vw[m]?p=vw[m]:p<0&&(p=0),p&&m?l=`formatDate(Date.now(), 'MM.DD-hh:mm') ${r} "${s.date}-${s.time}"`:p===0&&m?l=`formatDate(Date.now(), 'MM-hh:mm') ${r} "${m.toString().padStart(2,"0")}-${s.time}"`:m===0&&p?l=`formatDate(Date.now(), 'DD-hh:mm') ${r} "${p.toString().padStart(2,"0")}-${s.time}"`:l=`formatDate(Date.now(), 'hh:mm') ${r} "${s.time}"`}else l=`formatDate(Date.now(), 'hh:mm') ${r} "${s.time}"`;return i.conditionsVars.push(`const subCond${s._id} = ${l};`),i.conditionsDebug.push(`_sendToFrontEnd(${s._id}, {result: subCond${s._id}});`),`subCond${s._id}`}_setInputs(s,i){i=i===void 0?this.state.settings.withDate:i,s=s||this.state.settings.tagCard;const r=Wr.getStaticData().tagCardArray,l=r==null?void 0:r.find(d=>d.title===s),u=[{nameRender:"renderNameText",attr:"interval",defaultValue:"Actual time of day"},{frontText:(l==null?void 0:l.text)||s,nameRender:"renderTime",attr:"time",defaultValue:"12:00"},{frontText:"with date",nameRender:"renderCheckbox",attr:"withDate",defaultValue:!1}];i&&u.push({nameRender:"renderDate",attr:"date",defaultValue:"01.01"}),this.setState({inputs:u,iconTag:!0},()=>super.onTagChange())}onValueChanged(s,i){i==="withDate"&&this._setInputs(void 0,s)}onTagChange(s){this._setInputs(s)}static getStaticData(){return{acceptedBy:"conditions",name:"Time condition",id:"ConditionTime",icon:"Shuffle",tagCardArray:[{title:"=",title2:"[equal]",text:"equal to"},{title:">=",title2:"[greater or equal]",text:"greater or equal"},{title:">",title2:"[greater]",text:"greater than"},{title:"<=",title2:"[less or equal]",text:"less or equal"},{title:"<",title2:"[less]",text:"less than"},{title:"<>",title2:"[not equal]",text:"not equal to"}],title:"Compares current time with the user specific time"}}getData(){return Wr.getStaticData()}}class Po extends Xe{coordinates=null;constructor(s){super(s,Po.getStaticData())}static compile(s,i){const r=s.tagCard==="="?"===":s.tagCard==="<>"?"!==":s.tagCard;let l;s.offset&&(l=parseInt(s.offsetValue,10)||0);const u=`formatDate(Date.now(), 'hh:mm') ${r} formatDate(getAstroDate("${s.astro}"${l?`, undefined, ${l}`:""}), 'hh:mm')`;return i.conditionsVars.push(`const subCond${s._id} = ${u};`),i.conditionsDebug.push(`_sendToFrontEnd(${s._id}, {result: ${u}});`),u}static _time2String(s){return s?`${s.getHours().toString().padStart(2,"0")}:${s.getMinutes().toString().padStart(2,"0")}`:"--:--"}onValueChanged(s,i){i==="astro"?this._setAstro(s):i==="offset"?this._setAstro(void 0,s):i==="offsetValue"&&this._setAstro(void 0,void 0,s)}async _setAstro(s,i,r){if(s=s||this.state.settings.astro||"solarNoon",i=i===void 0?this.state.settings.offset:i,r=r===void 0?this.state.settings.offsetValue:r,r=parseInt(r,10)||0,!this.coordinates){const v=await this.props.socket.getObject("system.adapter.javascript.0");if(!(v!=null&&v.native.latitude)&&!(v!=null&&v.native.longitude)){const _=await this.props.socket.getObject("system.config");_&&(_.common.latitude||_.common.longitude)?this.coordinates={latitude:_.common.latitude,longitude:_.common.longitude}:this.coordinates=null}else this.coordinates={latitude:v==null?void 0:v.native.latitude,longitude:v==null?void 0:v.native.longitude}}const l=this.coordinates?IT.getTimes(new Date,this.coordinates.latitude,this.coordinates.longitude):null,u=l?Object.keys(l).map(v=>({value:v,title:v,title2:`[${Po._time2String(l[v])}]`,order:Po._time2String(l[v])})):[];u.sort((v,_)=>v.order>_.order?1:v.order<_.order?-1:0);const d=Po.getStaticData().tagCardArray,p=d.find(v=>v.title===this.state.settings.tagCard)||d[0];let m="--:--";if(s&&l&&l[s]){const v=new Date(l[s]);i&&v.setMinutes(v.getMinutes()+parseInt(r,10)),m=`(${b.I18n.t(p.text)} ${Po._time2String(v)})`}let f;i?f=[{nameRender:"renderNameText",defaultValue:"Actual time of day",attr:"text"},{frontText:p.text,attr:"astro",nameRender:"renderSelect",options:u,doNotTranslate2:!0,defaultValue:"solarNoon"},{backText:"with offset",nameRender:"renderCheckbox",attr:"offset"},{backText:r===1?"minute":"minutes",frontText:"offset",nameRender:"renderNumber",defaultValue:0,attr:"offsetValue",noHelperText:!0},{nameRender:"renderNameText",attr:"textTime",doNotTranslate:!0,defaultValue:m}]:f=[{nameRender:"renderNameText",defaultValue:"Actual time of day",attr:"text"},{frontText:p.text,attr:"astro",nameRender:"renderSelect",options:u,doNotTranslate2:!0,defaultValue:"solarNoon"},{backText:"with offset",nameRender:"renderCheckbox",attr:"offset"},{nameRender:"renderNameText",attr:"textTime",doNotTranslate:!0,defaultValue:m}],this.setState({inputs:f},()=>super.onTagChange())}onTagChange(){this._setAstro()}static getStaticData(){return{acceptedBy:"conditions",name:"Astronomical",id:"ConditionAstronomical",icon:"Brightness3",tagCardArray:[{title:"=",title2:"[equal]",text:"equal to"},{title:">=",title2:"[greater or equal]",text:"greater or equal to"},{title:">",title2:"[greater]",text:"greater than"},{title:"<=",title2:"[less or equal]",text:"less or equal to"},{title:"<",title2:"[less]",text:"less than"},{title:"<>",title2:"[not equal]",text:"not equal to"}],title:"Compares current time with astronomical event"}}getData(){return Po.getStaticData()}}const yw={valueAck:{color:"#b02323"},valueNotAck:{color:"#12ac15"}};class Nc extends Xe{constructor(s){super(s,Nc.getStaticData())}isAllTriggersOnState(){var s,i,r,l;return!!((i=(s=this.props.userRules)==null?void 0:s.triggers)!=null&&i.find(u=>u.id==="TriggerState"))&&!((l=(r=this.props.userRules)==null?void 0:r.triggers)!=null&&l.find(u=>u.id!=="TriggerState"))}static compile(s,i){let r=s.value;s.useTrigger?r=s.toggle?"!obj.state.val":"obj.state.val":(r==null&&(r=""),typeof s.value=="string"&&parseFloat(s.value).toString()!==s.value&&s.value!=="true"&&s.value!=="false"&&(r=`"${r.replace(/"/g,'\\"')}"${Xe.getReplacesInText(i)}`));let l;return s.toggle&&!s.useTrigger?l=`const subActionVar${s._id} = !(await getStateAsync("${s.oid}")).val`:l=`const subActionVar${s._id} = ${r}`,`// set state ${s.oid} to ${s.toggle&&!s.useTrigger?"toggle":r} +}`;class Hr extends Xe{constructor(s){super(s,Hr.getStaticData())}isAllTriggersOnState(){var s,i,r,l;return!!((i=(s=this.props.userRules)==null?void 0:s.triggers)!=null&&i.find(u=>u.id==="TriggerState"))&&!((l=(r=this.props.userRules)==null?void 0:r.triggers)!=null&&l.find(u=>u.id!=="TriggerState"))}static compile(s,i){var d,p;let r=s.value;r==null&&(r=!1);let l,u;if(s.tagCard==="()")i.prelines||=[],i.prelines.find(m=>m!==bw)||i.prelines.push(bw),s.useTrigger?(l="obj.state.val",r===""&&(r=0),u=`__hysteresis(subCondVar${s._id}, ${r}, __%%STATE%%__, ${s.hist}, "${s.histComp}")`):(l=`(await getStateAsync("${s.oid}")).val`,r===""&&(r=0),typeof r=="string"&&parseFloat(r.trim()).toString()!==r.trim()&&(r=`"${r}"`),u=`__hysteresis(subCondVar${s._id}, ${r}, __%%STATE%%__, ${s.hist}, "${s.histComp}")`);else if(s.tagCard!=="includes"){const m=s.tagCard==="="?"==":s.tagCard==="<>"?"!=":s.tagCard;s.useTrigger?(l="obj.state.val",((d=i==null?void 0:i.trigger)==null?void 0:d.oidType)==="string"?(r=r.replace(/"/g,'\\"'),u=`subCondVar${s._id} ${m} "${r}"`):(r===""&&(r=0),typeof r=="string"&&parseFloat(r.trim()).toString()!==r.trim()&&(r=`"${r}"`),u=`subCondVar${s._id} ${m} ${r}`)):(l=`(await getStateAsync("${s.oid}")).val`,s.oidType==="string"?(r=r.replace(/"/g,'\\"'),u=`subCondVar${s._id} ${m} "${r}"`):(r===""&&(r=0),typeof r=="string"&&parseFloat(r.trim()).toString()!==r.trim()&&(r=`"${r}"`),u=`subCondVar${s._id} ${m} ${r}`))}else s.useTrigger?(l="obj.state.val",((p=i==null?void 0:i.trigger)==null?void 0:p.oidType)==="string"?(r=r.replace(/"/g,'\\"'),u=`obj.state.val.includes("${r}")`):u="false"):(l=`(await getStateAsync("${s.oid}")).val`,s.oidType==="string"?(r=r.replace(/"/g,'\\"'),u=`subCondVar${s._id}.includes("${r}")`):u="false");return i.conditionsStates.push({name:`subCondVar${s._id}`,id:s.oid}),i.conditionsVars.push(`const subCondVar${s._id} = ${l};`),i.conditionsVars.push(`const subCond${s._id} = ${u};`),i.conditionsDebug.push(`_sendToFrontEnd(${s._id}, {result: subCond${s._id}, value: subCondVar${s._id}, compareWith: "${r}"});`),`subCond${s._id}`}renderDebug(s){const i=this.state.settings.tagCard;return i!=="()"?`${s.data.result.toString().toUpperCase()} [${s.data.value} ${i} ${s.data.compareWith}]`:b.I18n.t("Triggered")}onShowHelp=()=>this.setState({showHysteresisHelp:!0});_setInputs(s,i,r,l,u){var w,E;const d=this.isAllTriggersOnState();i=i||this.state.settings.tagCard,r=r||this.state.settings.oidType,l=l||this.state.settings.oidUnit,u=u||this.state.settings.oidStates,s===void 0&&(s=this.state.settings.useTrigger),d&&s&&((E=(w=this.props.userRules)==null?void 0:w.triggers)==null?void 0:E.length)===1&&(r=this.props.userRules.triggers[0].oidType,l=this.props.userRules.triggers[0].oidUnit,u=this.props.userRules.triggers[0].oidStates);const p=Hr.getStaticData().tagCardArray,m=p.find(R=>R.title===i)||p[0];let f,v=null;r==="number"?(f=[{title:"=",title2:"[equal]",text:"equal to"},{title:">=",title2:"[greater or equal]",text:"greater or equal"},{title:">",title2:"[greater]",text:"greater than"},{title:"<=",title2:"[less or equal]",text:"less or equal"},{title:"<",title2:"[less]",text:"less than"},{title:"<>",title2:"[not equal]",text:"not equal to"},{title:"()",title2:"[hysteresis]",text:"hysteresis"}],u&&(v=Object.keys(u).map(R=>u?{value:R,title:u[R]}:null).filter(R=>R))):r==="boolean"?(f=[{title:"=",title2:"[equal]",text:"equal to"},{title:"<>",title2:"[not equal]",text:"not equal to"}],v=[{title:"false",value:!1},{title:"true",value:!0}]):(f=[{title:"=",title2:"[equal]",text:"equal to"},{title:">=",title2:"[greater or equal]",text:"greater or equal"},{title:">",title2:"[greater]",text:"greater than"},{title:"<=",title2:"[less or equal]",text:"less or equal"},{title:"<",title2:"[less]",text:"less than"},{title:"<>",title2:"[not equal]",text:"not equal to"},{title:".",title2:"[includes]",text:"includes"}],u&&(v=Object.keys(u).map(R=>({value:R,title:u?u[R]:R.toString()}))));let _=null;f.find(R=>R.title===i)||(i=f[0].title,_=_||{...this.state.settings},_.tagCard=i);let y,k={nameRender:"renderText",defaultValue:"",attr:"value",frontText:i==="()"?"Limit":(m==null?void 0:m.text)||"compare with",doNotTranslateBack:!0,backText:l};v&&(k={nameRender:"renderSelect",defaultValue:v[0].value,options:v,attr:"value",frontText:(m==null?void 0:m.text)||"compare with",doNotTranslateBack:!0,backText:l},v.find(R=>R.value===this.state.settings.value)||(_=_||{...this.state.settings},_.value=v[0].value),v.length<=2&&(f=[{title:"=",title2:"[equal]",text:"equal to"},{title:"<>",title2:"[not equal]",text:"not equal to"}])),d&&s?y=[{backText:"use trigger value",nameRender:"renderCheckbox",attr:"useTrigger",defaultValue:!1},k]:d?y=[{backText:"use trigger value",nameRender:"renderCheckbox",attr:"useTrigger"},{nameRender:"renderObjectID",attr:"oid",defaultValue:""},k]:y=[{nameRender:"renderObjectID",attr:"oid",defaultValue:""},k],i==="()"&&(y.splice(1,0,{nameRender:"renderDialog",icon:"HelpOutline",frontText:"Explanation",onShowDialog:this.onShowHelp}),y.splice(2,0,{nameRender:"renderSelect",attr:"histComp",defaultValue:">",frontText:"Condition",doNotTranslate:!0,options:[{title:">",value:">"},{title:">=",value:">="},{title:"<",value:"<"},{title:"<=",value:"<="},{title:"=",value:"="},{title:"<>",value:"<>"}]}),y.push({frontText:"Δ",doNotTranslate:!0,nameRender:"renderNumber",noHelperText:!0,attr:"hist",defaultValue:1,doNotTranslateBack:!0,backText:l}));const C={iconTag:!0,tagCardArray:f,inputs:y};this.setState(C,()=>super.onTagChange(null,()=>{_&&(this.setState({settings:_}),this.props.onChange(_))}))}onValueChanged(s,i){typeof s=="object"?this._setInputs(s.useTrigger,s.tagCard,s.oidType,s.states):i==="useTrigger"?this._setInputs(s):i==="oidType"?this._setInputs(void 0,void 0,s):i==="oidUnit"?this._setInputs(void 0,void 0,void 0,s):i==="oidStates"&&this._setInputs(void 0,void 0,void 0,void 0,s)}onUpdate(){this._setInputs(this.state.settings.useTrigger)}onTagChange(s){this._setInputs(this.state.settings.useTrigger,s)}static getStaticData(){return{acceptedBy:"conditions",name:"State condition",id:"ConditionState",icon:"Shuffle",tagCardArray:[{title:"=",title2:"[equal]",text:"equal to"},{title:">=",title2:"[greater or equal]",text:"greater or equal"},{title:">",title2:"[greater]",text:"greater than"},{title:"<=",title2:"[less or equal]",text:"less or equal"},{title:"<",title2:"[less]",text:"less than"},{title:"<>",title2:"[not equal]",text:"not equal to"},{title:".",title2:"[includes]",text:"includes"},{title:"()",title2:"[hysteresis]",text:"hysteresis"}],title:"Compares the state value with user defined value"}}getData(){return Hr.getStaticData()}renderSpecific(){return this.state.showHysteresisHelp?g.jsxs(Gt,{open:!0,maxWidth:"md",onClose:()=>this.setState({showHysteresisHelp:!1}),"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description",children:[g.jsx(Vt,{children:g.jsx(Iw,{id:"alert-dialog-description",children:g.jsx("img",{src:hO,alt:"Hysteresis"})})}),g.jsx(Kt,{children:g.jsx(De,{onClick:()=>this.setState({showHysteresisHelp:!1}),color:"primary",autoFocus:!0,children:b.I18n.t("OK")})})]}):null}}const vw=[31,29,31,30,31,30,31,31,30,31,30,31];class Wr extends Xe{constructor(s){super(s,Wr.getStaticData())}static compile(s,i){const r=s.tagCard==="="?"===":s.tagCard==="<>"?"!==":s.tagCard;let l;if(s.withDate){const[u,d]=(s.date||"01.01").toString().split(".");let p=parseInt(d,10)||0,m=parseInt(u,10)||0;m>12?m=12:m<0&&(m=0),p>vw[m]?p=vw[m]:p<0&&(p=0),p&&m?l=`formatDate(Date.now(), 'MM.DD-hh:mm') ${r} "${s.date}-${s.time}"`:p===0&&m?l=`formatDate(Date.now(), 'MM-hh:mm') ${r} "${m.toString().padStart(2,"0")}-${s.time}"`:m===0&&p?l=`formatDate(Date.now(), 'DD-hh:mm') ${r} "${p.toString().padStart(2,"0")}-${s.time}"`:l=`formatDate(Date.now(), 'hh:mm') ${r} "${s.time}"`}else l=`formatDate(Date.now(), 'hh:mm') ${r} "${s.time}"`;return i.conditionsVars.push(`const subCond${s._id} = ${l};`),i.conditionsDebug.push(`_sendToFrontEnd(${s._id}, {result: subCond${s._id}});`),`subCond${s._id}`}_setInputs(s,i){i=i===void 0?this.state.settings.withDate:i,s=s||this.state.settings.tagCard;const r=Wr.getStaticData().tagCardArray,l=r==null?void 0:r.find(d=>d.title===s),u=[{nameRender:"renderNameText",attr:"interval",defaultValue:"Actual time of day"},{frontText:(l==null?void 0:l.text)||s,nameRender:"renderTime",attr:"time",defaultValue:"12:00"},{frontText:"with date",nameRender:"renderCheckbox",attr:"withDate",defaultValue:!1}];i&&u.push({nameRender:"renderDate",attr:"date",defaultValue:"01.01"}),this.setState({inputs:u,iconTag:!0},()=>super.onTagChange())}onValueChanged(s,i){i==="withDate"&&this._setInputs(void 0,s)}onTagChange(s){this._setInputs(s)}static getStaticData(){return{acceptedBy:"conditions",name:"Time condition",id:"ConditionTime",icon:"Shuffle",tagCardArray:[{title:"=",title2:"[equal]",text:"equal to"},{title:">=",title2:"[greater or equal]",text:"greater or equal"},{title:">",title2:"[greater]",text:"greater than"},{title:"<=",title2:"[less or equal]",text:"less or equal"},{title:"<",title2:"[less]",text:"less than"},{title:"<>",title2:"[not equal]",text:"not equal to"}],title:"Compares current time with the user specific time"}}getData(){return Wr.getStaticData()}}class Po extends Xe{coordinates=null;constructor(s){super(s,Po.getStaticData())}static compile(s,i){const r=s.tagCard==="="?"===":s.tagCard==="<>"?"!==":s.tagCard;let l;s.offset&&(l=parseInt(s.offsetValue,10)||0);const u=`formatDate(Date.now(), 'hh:mm') ${r} formatDate(getAstroDate("${s.astro}"${l?`, undefined, ${l}`:""}), 'hh:mm')`;return i.conditionsVars.push(`const subCond${s._id} = ${u};`),i.conditionsDebug.push(`_sendToFrontEnd(${s._id}, {result: ${u}});`),u}static _time2String(s){return s?`${s.getHours().toString().padStart(2,"0")}:${s.getMinutes().toString().padStart(2,"0")}`:"--:--"}onValueChanged(s,i){i==="astro"?this._setAstro(s):i==="offset"?this._setAstro(void 0,s):i==="offsetValue"&&this._setAstro(void 0,void 0,s)}async _setAstro(s,i,r){if(s=s||this.state.settings.astro||"solarNoon",i=i===void 0?this.state.settings.offset:i,r=r===void 0?this.state.settings.offsetValue:r,r=parseInt(r,10)||0,!this.coordinates){const v=await this.props.socket.getObject("system.adapter.javascript.0");if(!(v!=null&&v.native.latitude)&&!(v!=null&&v.native.longitude)){const _=await this.props.socket.getObject("system.config");_&&(_.common.latitude||_.common.longitude)?this.coordinates={latitude:_.common.latitude,longitude:_.common.longitude}:this.coordinates=null}else this.coordinates={latitude:v==null?void 0:v.native.latitude,longitude:v==null?void 0:v.native.longitude}}const l=this.coordinates?IT.getTimes(new Date,this.coordinates.latitude,this.coordinates.longitude):null,u=l?Object.keys(l).map(v=>({value:v,title:v,title2:`[${Po._time2String(l[v])}]`,order:Po._time2String(l[v])})):[];u.sort((v,_)=>v.order>_.order?1:v.order<_.order?-1:0);const d=Po.getStaticData().tagCardArray,p=d.find(v=>v.title===this.state.settings.tagCard)||d[0];let m="--:--";if(s&&l&&l[s]){const v=new Date(l[s]);i&&v.setMinutes(v.getMinutes()+parseInt(r,10)),m=`(${b.I18n.t(p.text)} ${Po._time2String(v)})`}let f;i?f=[{nameRender:"renderNameText",defaultValue:"Actual time of day",attr:"text"},{frontText:p.text,attr:"astro",nameRender:"renderSelect",options:u,doNotTranslate2:!0,defaultValue:"solarNoon"},{backText:"with offset",nameRender:"renderCheckbox",attr:"offset"},{backText:r===1?"minute":"minutes",frontText:"offset",nameRender:"renderNumber",defaultValue:0,attr:"offsetValue",noHelperText:!0},{nameRender:"renderNameText",attr:"textTime",doNotTranslate:!0,defaultValue:m}]:f=[{nameRender:"renderNameText",defaultValue:"Actual time of day",attr:"text"},{frontText:p.text,attr:"astro",nameRender:"renderSelect",options:u,doNotTranslate2:!0,defaultValue:"solarNoon"},{backText:"with offset",nameRender:"renderCheckbox",attr:"offset"},{nameRender:"renderNameText",attr:"textTime",doNotTranslate:!0,defaultValue:m}],this.setState({inputs:f},()=>super.onTagChange())}onTagChange(){this._setAstro()}static getStaticData(){return{acceptedBy:"conditions",name:"Astronomical",id:"ConditionAstronomical",icon:"Brightness3",tagCardArray:[{title:"=",title2:"[equal]",text:"equal to"},{title:">=",title2:"[greater or equal]",text:"greater or equal to"},{title:">",title2:"[greater]",text:"greater than"},{title:"<=",title2:"[less or equal]",text:"less or equal to"},{title:"<",title2:"[less]",text:"less than"},{title:"<>",title2:"[not equal]",text:"not equal to"}],title:"Compares current time with astronomical event"}}getData(){return Po.getStaticData()}}const yw={valueAck:{color:"#b02323"},valueNotAck:{color:"#12ac15"}};class Nc extends Xe{constructor(s){super(s,Nc.getStaticData())}isAllTriggersOnState(){var s,i,r,l;return!!((i=(s=this.props.userRules)==null?void 0:s.triggers)!=null&&i.find(u=>u.id==="TriggerState"))&&!((l=(r=this.props.userRules)==null?void 0:r.triggers)!=null&&l.find(u=>u.id!=="TriggerState"))}static compile(s,i){let r=s.value;s.useTrigger?r=s.toggle?"!obj.state.val":"obj.state.val":(r==null&&(r=""),typeof s.value=="string"&&parseFloat(s.value).toString()!==s.value&&s.value!=="true"&&s.value!=="false"&&(r=`"${r.replace(/"/g,'\\"')}"${Xe.getReplacesInText(i)}`));let l;return s.toggle&&!s.useTrigger?l=`const subActionVar${s._id} = !(await getStateAsync("${s.oid}")).val`:l=`const subActionVar${s._id} = ${r}`,`// set state ${s.oid} to ${s.toggle&&!s.useTrigger?"toggle":r} ${l}; _sendToFrontEnd(${s._id}, {val: subActionVar${s._id}, ack: ${s.tagCard==="update"}}); await setStateAsync("${s.oid}", subActionVar${s._id}, ${s.tagCard==="update"});`}renderDebug(s){return g.jsxs("span",{children:[b.I18n.t("Set:")," ",g.jsx("span",{style:s.data.ack?yw.valueAck:yw.valueNotAck,children:xn(s.data.val)})]})}_setInputs(s,i){const r=this.isAllTriggersOnState();i=i===void 0?this.state.settings.toggle:i,s=s===void 0?this.state.settings.useTrigger:s;let l="",u;const{oidType:d,oidUnit:p,oidStates:m,oidMax:f,oidMin:v,oidRole:_,oidWrite:y,oidStep:k}=this.state.settings;let C;d&&(d==="number"?(l="number",f!==void 0&&v!==void 0&&(l="slider")):d==="boolean"?(l="boolean",_&&_.includes("button")&&y&&(l="button")):(l="",_&&_.includes("color")&&(l="color")),m&&(u=Object.keys(m).map(E=>({value:E,title:m[E]})),l="select"));let w;if(r&&s)w=[{backText:"use trigger value",nameRender:"renderCheckbox",attr:"useTrigger",defaultValue:!1}],l==="boolean"&&w.push({backText:"toggle value",attr:"toggle",nameRender:"renderCheckbox",defaultValue:!1});else{switch(l){case"number":w=[{backText:p||"",frontText:"with",nameRender:"renderNumber",defaultValue:f===void 0?0:f,attr:"value"}],this.state.settings.value!==void 0&&isNaN(parseFloat(this.state.settings.value))&&(C={value:f===void 0?0:f});break;case"slider":{w=[{nameRender:"renderSlider",defaultValue:f,min:v,max:f,unit:p,step:k,attr:"value"}];const E=parseFloat(this.state.settings.value);this.state.settings.value!==void 0&&(isNaN(E)||Ef)&&(C={value:f});break}case"select":w=[{nameRender:"renderSelect",frontText:"with",options:u,defaultValue:(u==null?void 0:u[0].value)||"",attr:"value"}],this.state.settings.value!==void 0&&!(u!=null&&u.find(E=>E.value===this.state.settings.value))&&(C={value:(u==null?void 0:u[0].value)||""});break;case"boolean":w=[{backText:"toggle value",attr:"toggle",nameRender:"renderCheckbox",defaultValue:!1}],i||w.push({backText:"true",frontText:"false",nameRender:"renderSwitch",defaultValue:!1,attr:"value"}),this.state.settings.value!==void 0&&this.state.settings.value!==!1&&this.state.settings.value!==!0&&(C={value:!1});break;case"button":w=[{nameRender:"renderButton",defaultValue:!0,attr:"value"}],this.state.settings.value!==void 0&&this.state.settings.value!==!0&&(C={value:!0});break;case"color":w=[{nameRender:"renderColor",frontText:"with",defaultValue:"#FFFFFF",attr:"value"}],this.state.settings.value!==void 0&&(typeof this.state.settings.value!="string"||!this.state.settings.value.startsWith("#")&&!this.state.settings.value.startsWith("rgb"))&&(C={value:"#FFFFFF"});break;default:w=[{backText:p||"",frontText:"with",nameRender:"renderText",defaultValue:"",attr:"value"}];break}r&&w.unshift({backText:"use trigger value",nameRender:"renderCheckbox",attr:"useTrigger"})}return{inputs:w,newSettings:C}}onTagChange(s,i,r,l,u){u=u===void 0?this.state.settings.useTrigger:u;const{inputs:d,newSettings:p}=this._setInputs(u,l);d.unshift({nameRender:"renderObjectID",attr:"oid",defaultValue:"",checkReadOnly:!0}),this.setState({inputs:d},()=>super.onTagChange(null,()=>{if(p){const m=JSON.parse(JSON.stringify(this.state.settings));Object.assign(m,p),this.setState(m),this.props.onChange(m)}}))}onValueChanged(s,i){this.onTagChange(void 0,void 0,void 0,i==="toggle"?s:void 0,i==="useTrigger"?s:void 0)}onUpdate(){this.onTagChange()}static getStaticData(){return{acceptedBy:"actions",name:"Set state action",id:"ActionSetState",icon:"PlayForWork",tagCardArray:["control","update"],title:"Control or update some state",helpDialog:"You can use %s in the value to use the current trigger value or %id to display the triggered object ID"}}getData(){return Nc.getStaticData()}}class Lc extends Xe{constructor(s){super(s,Lc.getStaticData())}static compile(s,i){return`// exec "${s.exec}" @@ -1226,5 +1226,5 @@ const demo = ${JSON.stringify(a,null,2).replace(/\*\//g,"* /")}; ${i} ${r} _sendToFrontEnd(${s._id}, {val: val1_${s._id} ${s.operation} val2_${s._id}, ack: ${s.tagCard==="update"}}); - await setStateAsync("${s.oidResult}", val1_${s._id} ${s.operation} val2_${s._id}, ${s.tagCard==="update"});`}renderDebug(s){var i,r;return g.jsxs("span",{children:[b.I18n.t("Set:")," ",g.jsx("span",{className:s.data.ack?(i=this.props.classes)==null?void 0:i.valueAck:(r=this.props.classes)==null?void 0:r.valueNotAck,children:xn(s.data.val)})]})}onTagChange(){const s=[];s.push({nameRender:"renderObjectID",title:"ID1",attr:"oid1",defaultValue:"",checkReadOnly:!1}),s.push({nameRender:"renderSelect",options:[{value:"+",title:"+"},{value:"-",title:"-"},{value:"*",title:"*"},{value:"/",title:"/"}],doNotTranslate:!0,defaultValue:"+",attr:"operation"}),s.push({nameRender:"renderObjectID",title:"ID2",attr:"oid2",defaultValue:"",checkReadOnly:!1}),s.push({nameRender:"renderNameText",defaultValue:"store in",attr:"textEqual"}),s.push({nameRender:"renderObjectID",attr:"oidResult",defaultValue:"",checkReadOnly:!0}),this.setState({inputs:s},()=>super.onTagChange(null,()=>{const i=JSON.parse(JSON.stringify(this.state.settings));this.props.onChange(i)}))}onValueChanged(s,i){this.onTagChange()}onUpdate(){this.onTagChange()}static getStaticData(){return{acceptedBy:"actions",name:"Operate two states",id:"ActionOperateStates",icon:"AddBox",tagCardArray:["control","update"],title:"Operations with two states"}}getData(){return Uc.getStaticData()}}const pO=[vi,Oc,Mc,Hr,Wr,Po,Nc,Lc,Pc,Bc,jc,Fc,zc,Uc],cc={sayit:xc,pushover:Dc,"whatsapp-cmb":Ac,pushsafer:Rc},gO=rm({blocks:null,socket:null,onUpdate:!1,setOnUpdate:a=>{},setOnDebugMessage:a=>{},onDebugMessage:[],enableSimulation:!1,setEnableSimulation:a=>{},changedScripts:{},setChangedScripts:a=>{}}),mO=({children:a,socket:s})=>{const[i,r]=vt(null),[l,u]=vt(!1),[d,p]=vt([]),[m,f]=vt(!1),[v,_]=vt({});return Mt(()=>{l&&u(!1)},[l]),Mt(()=>{(async()=>{const y=await s.getAdapterInstances(),k=Object.keys(cc).filter(D=>y.find(A=>{var J;return((J=A==null?void 0:A.common)==null?void 0:J.name)===D})),C=[],w=y.filter(D=>D.common.javascriptRules),E=[];for(const D of w){if(E.includes(D.common.name)||!D.common.javascriptRules)continue;let A;if(D.common.javascriptRules.url.startsWith("http:")||D.common.javascriptRules.url.startsWith("https:")?A=D.common.javascriptRules.url:D.common.javascriptRules.url.startsWith("./")?A=`${window.location.protocol}//${window.location.host}${D.common.javascriptRules.url.replace(/^\./,"")}`:A=`${window.location.protocol}//${window.location.host}/adapter/${D.common.name}/${D.common.javascriptRules.url}`,D.common.javascriptRules.i18n===!0){const J=A.lastIndexOf("/");let ie;J!==-1?ie=A.substring(0,J):ie=A;const se=b.I18n.getLanguage(),me=`${ie}/i18n/${se}.json`;await fetch(me).then(z=>z.json()).then(z=>b.I18n.extendTranslations(z,se)).catch(z=>{if(se!=="en")return fetch(`${ie}/i18n/en.json`).then(Oe=>Oe.json()).then(Oe=>b.I18n.extendTranslations(Oe,se)).catch(Oe=>console.error(`Cannot load i18n "${me}": ${Oe}`));console.log(`Cannot load i18n "${me}": ${z}`)})}else if(D.common.javascriptRules.i18n&&typeof D.common.javascriptRules.i18n=="object")try{b.I18n.extendTranslations(D.common.javascriptRules.i18n)}catch(J){console.error(`Cannot import i18n for "${D.common.javascriptRules.name}": ${J}`)}try{Xy.registerRemotes([{name:D.common.javascriptRules.name,entry:A,type:D.common.javascriptRules.type}]);const J=(await Xy.loadRemote(`${D.common.javascriptRules.name}/${D.common.javascriptRules.name}`)).default;J&&(C.push(J),E.push(D.common.name),cc[D.common.name]=null)}catch(J){console.error(`Cannot load component "${D.common.javascriptRules.name}": ${J}`)}}const R=k.filter(D=>cc[D]).map(D=>cc[D]);r([...pO,...R,...C])})()},[]),g.jsx(gO.Provider,{value:{blocks:i,socket:s,onUpdate:l,setOnUpdate:u,onDebugMessage:d,setOnDebugMessage:p,enableSimulation:m,setEnableSimulation:f,changedScripts:v,setChangedScripts:_},children:a})},fO="Acknowledged",$O="Actions",bO="Add",vO="All",yO="Any",_O="Apply",wO="April",CO="Ask",TO="Astronomical",kO="August",SO="Cancel",EO="Close",IO="Condition",xO="Conditions",DO="Console",AO="Copied",RO="December",OO="Default",MO="Delay",NO="Delete",LO="Description",PO="Done",BO="Exec shell",jO="Explanation",FO="Export",zO="Februar",UO="February",HO="Filter",WO="Folder",VO="Fr",GO="Friday",KO="ID",YO="ID1",JO="ID2",qO="Import",XO="Instance",ZO="Instances",QO="Instructions",eM="Januar",tM="January",sM="July",oM="June",iM="Limit",nM="March",rM="May",aM="Menu",lM="Message",cM="Mo",uM="Model",dM="Monday",hM="Month",pM="More",gM="Name",mM="November",fM="OK",$M="October",bM="Ok",vM="Pause",yM="Pushover",_M="Pushsafer",wM="Rename",CM="Repeat",TM="Restart",kM="Result",SM="Sa",EM="Saturday",IM="Save",xM="Schedule",DM="Script",AM="September",RM="Simulate",OM="Stack",MM="Start",NM="State",LM="Su",PM="Sunday",BM="Telegram",jM="Th",FM="Thursday",zM="Time",UM="Triggered",HM="Triggers",WM="Tu",VM="Tuesday",GM="URL",KM="Value",YM="Volume",JM="We",qM="Wednesday",XM="Write",ZM="Yes",QM="acknowledgment",eN="all",tN="and",sN="Astro",oN="at",iN="control",nN="copy",rN="CRON",aN="Dawn",lN="This is a special mode in which states and objects will not change. But only information about each planned change will be displayed in the protocol.",cN="Debug",uN="Dusk",dN="easy",hN="every",pN="Function",gN="ID",mN="Name",fN="Role",$N="Room",bN="Golden hour",vN="End of golden hour",yN='The code will be executed only every time when condition is true. E.g. if triggering on the temperature sensor value and the condition is "if temperature is greater than 20°C", the "then" actions will be executed every time when sensor sends the temperature and it is over 20°C. By 21°C, by 22°C and so on.',_N='The code will be executed only if the condition result changes. E.g. if triggering on the temperature sensor value and the condition is "if temperature is greater than 20°C", the "then" actions will be executed once when temperature is over 20. Next time the "then" actions will be executed when the temperature fails under 20 and then rises over 20 again.',wN="hours",CN="includes",TN="interval",kN="magic",SN="milliseconds",EN="minutes",IN="ms",xN="Nadir",DN="Nautical dawn",AN="Nautical dusk",RN="Next Sunrise",ON="Next sunset",MN="Night",NN="Night end",LN="normal",PN="offset",BN="one",jN="or",FN="quiet",zN="search",UN="seconds",HN="Solar noon",WN="sunrise",VN="Sunrise end",GN="Sunset",KN="Sunset start",YN="then",JN="Acknowledge",qN="From",XN="Last changed",ZN="Quality",QN="Timestamp",eL="User",tL="Value",sL="two",oL="update",iL="Adds debug output to the log for many system commands",nL="Verbose log outputs",rL="when",aL="Wizard",lL="Retry",cL={"%s not found":"%s not found","()":"()","(at %s)":"(at %s)","(optional)":"(optional)","-":"-",".":".","AI code generator":"AI code generator",Ack:fO,Actions:$O,"Actual time of day":"Actual time of day",Add:bO,"Add new script":"Add new script",All:vO,"All files will be accepted":"All files will be accepted",Any:yO,"Any month":"Any month",Apply:_O,April:wO,"Are you sure?":"Are you sure?",Ask:CO,Astronomical:TO,"Astronomical events today":"Astronomical events today",August:kO,"Blockly description":"Creating rules by graphic blocks","Body:":"Body:",Cancel:SO,"Cannot delete non empty item!":"Cannot delete non empty item!","Change layout":"Change layout",'Change theme (actual "%s")':'Change theme (now - "%s")',"Check blocks":"Check blocks","Check is not active, because javascript adapter is disabled":"Check is not active, because Javascript adapter is disabled","Clear search input":"Clear search input","Click on this icon":"Click on this icon",Close:EO,"Close all but current":"Close all but current","Collapse all":"Collapse all","Compares current time with astronomical event":"Compares current time with astronomical event","Compares current time with the user specific time":"Compares current time with the user specific time","Compares the state value with user defined value":"Compares the state value with user defined value",Condition:IO,Conditions:xO,"Configuration not saved.":"Configuration not saved.",Console:DO,"Control or update some state":"Control or update some state","Control or update some state with delay":"Control or update some state with delay","Convert blockly to javascript for ever.":"Permanently convert Blockly to Javascript.",Copied:AO,"Copy script":"Copy script","Copy to clipboard":"Copy to clipboard","Create new":"Create new","Create new folder":"Create new folder","Create new script":"Create new script","Create or edit CRON or time wizard":"Create or edit CRON or time wizard","Dark Theme":"Dark theme","Dark style":"Dark style",Date:"Date","Debug instance":"Debug instance","Debug options":"Debug options",December:RO,Default:OO,"Define cron...":"Define cron...","Define schedule...":"Define schedule...",Delay:MO,Delete:NO,"Delete %s":"Delete %s...","Delete folder":"Delete folder","Delete script":"Delete script",Description:LO,"Deselect all":"Deselect all","Discard changes for %s":"Discard changes for %s",Done:PO,"Double click to write value":"Double click to write value","Download as file":"Download as file","Drop some files here or click...":"Drop some files here or click...","Duplicate name":"Duplicate name","Edit script or just double click":"Edit script or just double click","Empty name is not allowed":"Empty name is not allowed","End search mode":"End search mode","Enter your question":"Enter your request",Error:"Error","Error formatting code":"Error formatting code","Error was found":"Error was found","Every day":"Every day",Exec:BO,"Executes some shell command":"Executes some shell command","Existing scripts will be overwritten.":"Existing scripts will be overwritten.","Expand all":"Expand all","Expert mode":"Expert mode",Explanation:jO,Export:FO,"Export all scripts":"Export all scripts","Export blocks":"Export blocks","Export selected blocks":"Export selected blocks",Februar:zO,February:UO,Filter:HO,Folder:WO,Fr:VO,Friday:GO,Function:"Function","Function editor":"Function editor","Function: executed":"Function: executed","Go to next line":"Go to next line","HTTP Call":"HTTP Call","Hide logs":"Hide logs",ID:KO,ID1:YO,ID2:JO,Import:qO,"Import blocks":"Import blocks","Import error":"Import error","Import scripts":"Import scripts","Insert object ID":"Insert object ID",Instance:XO,"Instance is disabled":"Instance is disabled","Instance:":"Instance:",Instances:ZO,Instructions:QO,"Invalid CRON":"Invalid CRON","It will not be possible to revert this operation.":"It will not be possible to revert this operation.","JS description":"Creating rules by writing Javascript",Januar:eM,January:tM,July:sM,June:oM,"Just check":"Just check","Language:":"Language:","Learn More":"Learn More","Light style":"Light style",Limit:iM,"Local time":"Local time","Locate file":"Locate file","Log outputs":"Log outputs","Log text":"Log text","Log: %s":"Log: %s","Make a HTTP get request":"Make a HTTP get request","Make a pause between actions":"Make a pause between actions",March:nM,"March ":"March ",May:rM,Menu:aM,Message:lM,Mo:cM,Model:uM,Monday:dM,Month:hM,More:pM,Name:gM,"No API key found":"No API key found","No Chat GPT Key found":"No Chat GPT Key found","No active host found":"No active host found","Nothing found":"Nothing found",November:mM,OK:fM,October:$M,Ok:bM,"On condition change":"On condition result change","On script save or adapter start":"On script save or adapter start","On weekdays":"On weekdays","Open configuration":"Open configuration","Operate two states":"Operate two states","Operations with two states":"Operations with two states","Paste your blocks here":"Paste your blocks here",Pause:vM,"Pause execution":"Pause execution","Pause script":"Pause script","Phone:":"Phone:","Please select object ID...":"Please select object ID...","Press Ctrl+Enter to get the answer":"Press Ctrl+Enter to get the answer","Prettify the script":"Prettify the script","Print some text in log":"Print some text in log","Priority:":"Priority:",Pushover:yM,Pushsafer:_M,"Read only ID selected: %s":"Read only ID selected: %s",Rename:wM,"Reorder scripts in folders":"Reorder scripts in folders",Repeat:CM,Restart:TM,Result:kM,"Resume execution":"Resume execution","Root folder":"Root folder","Rules description":"Create rules with IF, THEN, ELSE blocks","Run script":"Run script",Sa:SM,Saturday:EM,Save:IM,"Save all":"Save all","Say It":"Say It","Say some text via sayit adapter":"Say some text via sayit adapter",Schedule:xM,Script:DM,"Script %s was modified on disk":"Script %s was modified on disk","Script is not running":"Script is not running","Search in scripts":"Search in scripts","Search...":"Search...","Select all":"Select all","Send email":"Send email","Sends an email":"Sends an email","Sends message via Pushsafer":"Sends message via Pushsafer","Sends message via pushover":"Sends message via pushover","Sends message via telegram":"Sends message via telegram","Sends message via whatsapp-cmb":"Sends message via whatsapp-cmb",September:AM,"Server time":"Server time","Set state action":"Set state action","Set with delay":"Set with delay","Shell command":"Shell command","Show astronomical events":"Show astronomical events","Show javascript code":"Show Javascript code","Show logs":"Show logs","Show only paused scripts":"Show only paused scripts","Show only running scripts":"Show only running scripts","Show only scripts with problems":"Show only scripts with problems",Simulate:RM,"Some files will be rejected":"Some files will be rejected","Sound:":"Sound:",Stack:OM,Start:MM,"Start script":"Start script",State:NM,"State condition":"State condition","Step into function":"Step into function","Step out from function":"Step out from function","Stop on exception":"Stop on exception",Su:LM,"Subject:":"Subject:",Sunday:PM,"TS description":"Creating rules by writing Typescript",Telegram:BM,"Text:":"Text:",Th:jM,"The script will be stopped and must be activated manually after debugging. Continue?":"The script will be stopped and must be activated manually after debugging. Continue?","This is advances option. You can write your own code here and it will be executed on trigger":"This is advances option. You can write your own code here and it will be executed on trigger",Thursday:FM,Time:zM,"Time condition":"Time condition","Title:":"Title:","To:":"To:","Trigger with value":"Trigger with value",Triggered:UM,Triggers:HM,"Triggers the on script saving or the javascript instance restart":"Triggers the on script saving or the javascript instance restart","Triggers the rule on update or change of some state":"Triggers the rule on update or change of some state","Triggers the rule periodically or on some specific time":"Triggers the rule periodically or on some specific time",Tu:WM,Tuesday:VM,URL:GM,"Unknown error":"Unknown error","Unknown error!":"Unknown error!","Use generated code":"Use generated code","User function":"User function","User:":"User:",Value:KM,"Vibration:":"Vibration:",Volume:YM,We:JM,Wednesday:qM,"Whatsapp-cmb":"Whatsapp-cmb",Write:XM,"Write your own code":"Write your own code",Yes:ZM,"Yet exists!":"Yet exists!","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"You can use %s in the URL to use current trigger value, %id to use the triggered object ID, %name to show triggered object ID name or %old to use old trigger value","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"You can use %s in the command to use current trigger value, %id to use the triggered object ID, %name to show triggered object ID name or %old to use old trigger value","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"You can use %s in the text to display current trigger value, %id to use the triggered object ID, %name to show triggered object ID name or %old to use old trigger value","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"You can use %s in the value to use the current trigger value, %id to use the triggered object ID, %name to show triggered object ID name or %old to use old trigger value","You have to enter OpenAI API key in the configuration of javascript adapter.":"You have to enter OpenAI API key in the configuration of javascript adapter.","You have to enter at least one API key in the configuration of javascript adapter.":"You have to enter at least one API key (OpenAI, Anthropic or Gemini) in the configuration of javascript adapter.","Please select a valid model":"Please select a valid model","[equal]":"[equal]","[greater or equal]":"[greater or equal]","[greater]":"[greater]","[hysteresis]":"[hysteresis]","[includes]":"[includes]","[less or equal]":"[less or equal]","[less]":"[less]","[not equal]":"[not equal]",acknowledgment:QM,all:eN,and:tN,astro:sN,at:oN,"clear running":"clear running",control:iN,copy:nN,cron:rN,dawn:aN,debug_help:lN,debug_label:cN,default:"default",dusk:uN,easy:dN,else:"else","equal to":"equal to",every:hN,"every hour at 0 minutes":"every hour at 0 minutes",false:"false","file reading has failed: %s":"file reading has failed: %s","file reading was aborted":"file reading was aborted",filter_func:pN,filter_id:gN,filter_name:mN,filter_role:fN,filter_room:$N,"for edit or create script":"for edit or create a new script","for professionals":"for professionals","for programmers":"for programmers",goldenHour:bN,goldenHourEnd:vN,"greater or equal":"greater or equal","greater or equal to":"greater or equal to","greater than":"greater than",help_just_check:yN,help_on_change:_N,"high priority":"high priority","high-priority":"high-priority","highest priority":"highest priority",hours:wN,includes:CN,interval:TN,"just check":"just check","less or equal":"less or equal","less or equal to":"less or equal to","less than":"less than","lower priority":"lower priority","lowest priority":"lowest priority",magic:kN,milliseconds:SN,minutes:EN,ms:IN,nadir:xN,nauticalDawn:DN,nauticalDusk:AN,nextSunrise:RN,nextSunset:ON,night:MN,nightEnd:NN,"no blocks found":"No blocks found","no group":"NO GROUP",normal:LN,"normal priority":"normal priority","not equal to":"not equal to","not properly connected":"This block is not properly connected to other blocks.",offset:PN,"on change":"on change","on condition change":"on condition change","on update":"on update",one:BN,or:jN,quiet:FN,"reset search":"reset search",search:zN,seconds:UN,solarNoon:HN,"store in":"store in",sunrise:WN,sunriseEnd:VN,sunset:GN,sunsetStart:KN,then:YN,"toggle value":"toggle value",tooltip_ack:JN,tooltip_from:qN,tooltip_lc:XN,tooltip_quality:ZN,tooltip_ts:QN,tooltip_user:eL,tooltip_value:tL,true:"true",two:sL,undefined:"undefined",update:oL,"use seconds":"use seconds","use trigger value":"use trigger value",verbose_help:iL,verbose_label:nL,when:rL,with:"with","with date":"with date","with offset":"with offset",wizard:aL,"Loading models...":"Loading models...","Could not connect to API at %s":"Could not connect to API at %s","Invalid API key":"Invalid API key","Access denied by API":"Access denied by API","API error: %s":"API error: %s",'Model "%s" not found':'Model "%s" not found',"Request failed: %s":"Request failed: %s",Retry:lL,"No running javascript instance found":"No running javascript instance found"},uL="Bestätigt",dL="Aktionen",hL="Hinzufügen",pL="Alle",gL="Egal",mL="Anwenden",fL="April",$L="Fragen",bL="Astronomisch",vL="August",yL="Abbrechen",_L="Schließen",wL="Bedingung",CL="Bedingungen",TL="Konsole",kL="Kopiert",SL="Dezember",EL="Standard",IL="Verzögerung",xL="Löschen",DL="Beschreibung",AL="Fertig",RL="Exec shell",OL="Erläuterung",ML="Export",NL="Februar",LL="Februar",PL="Filter",BL="Ordner",jL="Fr",FL="Freitag",zL="ID",UL="ID1",HL="ID2",WL="Import",VL="Instanz",GL="Instanzen",KL="Anleitung",YL="Januar",JL="Januar",qL="Juli",XL="Juni",ZL="Grenze",QL="März",e1="Mai",t1="Menü",s1="Nachricht",o1="Mo",i1="Modell",n1="Montag",r1="Monat",a1="Mehr",l1="Name",c1="November",u1="OK",d1="Oktober",h1="Ok",p1="Pause",g1="Pushover",m1="Pushsafer",f1="Umbenennen",$1="Wiederholen",b1="Neustart",v1="Ergebnis",y1="Sa",_1="Samstag",w1="Speichern",C1="Zeitplan",T1="Skript",k1="September",S1="Simulieren",E1="Stack",I1="Start",x1="Zustand",D1="So",A1="Sonntag",R1="Telegram",O1="Do",M1="Donnerstag",N1="Zeit",L1="Ausgelöst",P1="Löst aus",B1="Di",j1="Dienstag",F1="URL",z1="Wert",U1="Volumen",H1="Mi",W1="Mittwoch",V1="Schreiben",G1="Ja",K1="Wissen",Y1="alle",J1="und",q1="Astro",X1="um",Z1="Steuerung",Q1="Kopie",eP="CRON",tP="Morgendämmerung",sP="Dies ist ein spezieller Modus, in dem sich Zustände und Objekte nicht ändern. Im Protokoll werden jedoch nur Informationen zu jeder geplanten Änderung angezeigt.",oP="Debuggen",iP="Abenddämmerung",nP="einfach",rP="jeder",aP="Funktion",lP="ID",cP="Name",uP="Rolle",dP="Raum",hP="Goldene Abendstunde",pP="Vormittag",gP='Der Code wird jedes Mal ausgeführt, wenn die Bedingung erfüllt ist. z.B. wenn der Temperatur wert sich ändert und die Bedingung "Wenn die Temperatur größer als 20°C ist" lautet, werden die "Dann" -Aktionen jedes Mal ausgeführt, wenn der Sensor die Temperatur sendet und diese über 20°C liegt. Bei 21°C, bei 22°C und so weiter.',mP='Der Code wird nur ausgeführt, wenn sich das Ergebnis der Bedingung ändert. z.B. wenn sich der Temperatur wert ändert und die Bedingung "Wenn die Temperatur größer als 20°C ist" lautet, werden die "Dann" -Aktionen einmal ausgeführt, wenn die Temperatur über 20°C liegt. Das nächste Mal werden die "Dann" -Aktionen ausgeführt, wenn die Temperatur unter 20°C gefallen ist und dann wieder über 20°C ansteigt.',fP="Stunden",$P="beinhaltet",bP="Intervall",vP="Magie",yP="Millisekunden",_P="Minuten",wP="ms",CP="Nadir",TP="nautische Morgendämmerung",kP="nautische Abenddämmerung",SP="Nächster Sonnenaufgang",EP="Nächster Sonnenuntergang",IP="Nacht",xP="astronomische Morgendämmerung",DP="Normal",AP="Versatz",RP="einer",OP="oder",MP="ruhig",NP="Suche",LP="Sekunden",PP="(Nach-)Mittag",BP="Sonnenaufgang",jP="Goldene Morgenstunde",FP="Sonnenuntergang",zP="Sonnenuntergang (Anfang)",UP="dann",HP="Bestätigen",WP="Von",VP="Zuletzt geändert",GP="Qualität",KP="Zeitstempel",YP="Benutzer",JP="Wert",qP="zwei",XP="Aktualisieren",ZP="Fügt Debug-Ausgaben für viele Systembefehle zum Protokoll hinzu",QP="Ausführliche Protokollausgaben",eB="falls",tB="Assistent",sB="Erneut versuchen",oB={"%s not found":"%s nicht gefunden","()":"()","(at %s)":"(um %s)","(optional)":"(optional)","-":"-",".":".","AI code generator":"KI-Codegenerator",Ack:uL,Actions:dL,"Actual time of day":"Tatsächliche Tageszeit",Add:hL,"Add new script":"Neues Skript hinzufügen",All:pL,"All files will be accepted":"Alle Dateien werden akzeptiert",Any:gL,"Any month":"Jeden Monat",Apply:mL,April:fL,"Are you sure?":"Wirklich sicher?",Ask:$L,Astronomical:bL,"Astronomical events today":"Astronomische Ereignisse heute",August:vL,"Blockly description":"Erstellen von Regeln durch Grafikblöcke","Body:":"Körper:",Cancel:yL,"Cannot delete non empty item!":"Kann nicht gelöscht werden, weil noch einige Elementen darin sind!","Change layout":"Layout ändern",'Change theme (actual "%s")':'Thema ändern (jetzt - "%s")',"Check blocks":"Blöcke prüfen","Check is not active, because javascript adapter is disabled":"Syntax-Check ist nicht aktiv, weil der Javascript Adapter nicht aktiv ist.","Clear search input":"Sucheingabe löschen","Click on this icon":"Auf dieses Symbol klicken",Close:_L,"Close all but current":"Alle anderen außer dem Aktiven schließen","Collapse all":"Alles einklappen","Compares current time with astronomical event":"Vergleicht die aktuelle Zeit mit einem astronomischen Ereignis","Compares current time with the user specific time":"Vergleicht die aktuelle Zeit mit der benutzerspezifischen Zeit","Compares the state value with user defined value":"Vergleicht den Zustandswert mit dem benutzerdefinierten Wert",Condition:wL,Conditions:CL,"Configuration not saved.":"Die Konfiguration ist nicht gespeichert.",Console:TL,"Control or update some state":"Zustand steuern oder aktualisieren","Control or update some state with delay":"Zustand mit Verzögerung steuern oder aktualisieren","Convert blockly to javascript for ever.":"Blockly dauerhaft in Javascript konvertieren.",Copied:kL,"Copy script":"Skript kopieren","Copy to clipboard":"In die Zwischenablage kopieren","Create new":"Neu erstellen","Create new folder":"Neuen Ordner erstellen","Create new script":"Neues Skript erstellen","Create or edit CRON or time wizard":"CRON- oder Zeit-Assistenten erstellen oder bearbeiten","Dark Theme":"Dunkles Thema","Dark style":"Dunkler Stil",Date:"Datum","Debug instance":"Debug-Instanz","Debug options":"Debug-Optionen",December:SL,Default:EL,"Define cron...":"Cron definieren ...","Define schedule...":"Zeitplan definieren ...",Delay:IL,Delete:xL,"Delete %s":"Löschen %s...","Delete folder":"Ordner löschen","Delete script":"Skript löschen",Description:DL,"Deselect all":"Alles abwählen","Discard changes for %s":"Änderungen für %s verwerfen",Done:AL,"Double click to write value":"Doppelklick zum Schreiben des Wertes","Download as file":"Download als Datei","Drop some files here or click...":"Dateien hier ablegen oder klicken ...","Duplicate name":"Doppelter Name","Edit script or just double click":"Skript bearbeiten oder einfach doppelklicken","Empty name is not allowed":"Leerer Name ist nicht zulässig","End search mode":"Suchmodus beenden","Enter your question":"Anfrage eingeben",Error:"Fehler","Error formatting code":"Fehler beim Formatieren des Codes","Error was found":"Fehler wurde gefunden","Every day":"Täglich",Exec:RL,"Executes some shell command":"Führt einen Shell-Befehl aus","Existing scripts will be overwritten.":"Vorhandene Skripte werden überschrieben.","Expand all":"Alle erweitern","Expert mode":"Expertenmodus",Explanation:OL,Export:ML,"Export all scripts":"Alle Skripte exportieren","Export blocks":"Blöcke exportieren","Export selected blocks":"Ausgewählte Blöcke exportieren",Februar:NL,February:LL,Filter:PL,Folder:BL,Fr:jL,Friday:FL,Function:"Funktion","Function editor":"Funktions-Editor","Function: executed":"Funktion: ausgeführt","Go to next line":"Gehe zur nächsten Zeile","HTTP Call":"HTTP-Aufruf","Hide logs":"Protokoll ausblenden",ID:zL,ID1:UL,ID2:HL,Import:WL,"Import blocks":"Blöcke importieren","Import error":"Fehler beim Importieren","Import scripts":"Skripte importieren","Insert object ID":"Objekt-ID einfügen",Instance:VL,"Instance is disabled":"Instanz ist deaktiviert","Instance:":"Instanz:",Instances:GL,Instructions:KL,"Invalid CRON":"Ungültiger CRON","It will not be possible to revert this operation.":"Dieser Vorgang kann nicht rückgängig gemacht werden.","JS description":"Regeln erstellen mit JavaScript",Januar:YL,January:JL,July:qL,June:XL,"Just check":"Einfach überprüfen","Language:":"Sprache:","Learn More":"Mehr erfahren","Light style":"Heller Stil",Limit:ZL,"Local time":"Lokale Zeit","Locate file":"Datei zeigen","Log outputs":"Protokoll","Log text":"Protokolltext","Log: %s":"Log: %s","Make a HTTP get request":"Eine HTTP-Abrufanforderung stellen","Make a pause between actions":"Eine Pause zwischen den Aktionen machen",March:QL,"March ":"März ",May:e1,Menu:t1,Message:s1,Mo:o1,Model:i1,Monday:n1,Month:r1,More:a1,Name:l1,"No API key found":"Kein API-Schlüssel gefunden","No Chat GPT Key found":"Kein Chat-GPT-Schlüssel gefunden","No active host found":"Kein aktiver Host gefunden","Nothing found":"Nichts gefunden",November:c1,OK:u1,October:d1,Ok:h1,"On condition change":"Bei Änderung des Ergebnis der Bedingung","On script save or adapter start":"Beim Speichern des Skripts oder beim Starten des Adapters","On weekdays":"An Wochentagen","Open configuration":"Konfiguration öffnen","Operate two states":"Zwei Zustände operieren","Operations with two states":"Operationen mit zwei Zuständen","Paste your blocks here":"Fügen Sie Ihre Blöcke hier ein",Pause:p1,"Pause execution":"Ausführung pausieren","Pause script":"Skript anhalten","Phone:":"Telefon:","Please select object ID...":"Objekt-ID auswählen ...","Press Ctrl+Enter to get the answer":"Strg+Eingabetaste, um die Antwort zu erhalten","Prettify the script":"Verschönern Sie das Skript","Print some text in log":"Einen Text im Protokoll ausdrucken","Priority:":"Priorität:",Pushover:g1,Pushsafer:m1,"Read only ID selected: %s":"Schreibgeschützte ID ausgewählt: %s",Rename:f1,"Reorder scripts in folders":"Skripte in Ordnern neu ordnen",Repeat:$1,Restart:b1,Result:v1,"Resume execution":"Ausführung fortsetzen","Root folder":"Root-Verzeichnis","Rules description":"Regeln erstellen mit WENN-, DANN- und SONST-Blöcken","Run script":"Skript ausführen",Sa:y1,Saturday:_1,Save:w1,"Save all":"Alle speichern","Say It":"Say It","Say some text via sayit adapter":"Einen Text über den Sayit-Adapter sagen",Schedule:C1,Script:T1,"Script %s was modified on disk":'Skript "%s" wurde auf der Festplatte geändert',"Script is not running":"Skript läuft nicht","Search in scripts":"Suche in Skripten","Search...":"Suche...","Select all":"Alles auswählen","Send email":"E-Mail senden","Sends an email":"Sendet eine E-Mail","Sends message via Pushsafer":"Sendet eine Nachricht über Pushsafer","Sends message via pushover":"Sendet eine Nachricht per Pushover","Sends message via telegram":"Sendet eine Nachricht per telegram","Sends message via whatsapp-cmb":"Sendet eine Nachricht über WhatsApp-Cmb",September:k1,"Server time":"Server-Zeit","Set state action":"Zustand setzten","Set with delay":"Setzen mit Verzögerung","Shell command":"Shell-Befehl","Show astronomical events":"Astronomische Ereignisse anzeigen","Show javascript code":"Javascript-Code zeigen","Show logs":"Protokoll anzeigen","Show only paused scripts":"Nur angehaltene Skripte zeigen","Show only running scripts":"Nur laufende Skripte zeigen","Show only scripts with problems":"Nur Skripte mit Problemen zeigen",Simulate:S1,"Some files will be rejected":"Einige Dateien werden abgelehnt","Sound:":"Klang:",Stack:E1,Start:I1,"Start script":"Skript starten",State:x1,"State condition":"Zustandsbedingung","Step into function":"Schritt in die Funktion","Step out from function":"Raus aus der Funktion","Stop on exception":"Bei Ausnahme anhalten",Su:D1,"Subject:":"Gegenstand:",Sunday:A1,"TS description":"Regeln erstellen mit TypeScript",Telegram:R1,"Text:":"Text:",Th:O1,"The script will be stopped and must be activated manually after debugging. Continue?":"Das Skript wird gestoppt und muss nach dem Debuggen manuell aktiviert werden. Fortsetzen?","This is advances option. You can write your own code here and it will be executed on trigger":"Dies ist eine erweiterte Option. Sie können hier Ihren eigenen Code schreiben, der beim Auslösen ausgeführt wird",Thursday:M1,Time:N1,"Time condition":"Zeitbedingung","Title:":"Titel:","To:":"Zu:","Trigger with value":"Trigger mit Wert",Triggered:L1,Triggers:P1,"Triggers the on script saving or the javascript instance restart":"Löst das Speichern des Skripts oder den Neustart der Javascript-Instanz aus","Triggers the rule on update or change of some state":"Löst die Regel beim Aktualisieren oder Ändern eines Zustands aus","Triggers the rule periodically or on some specific time":"Löst periodisch oder zu einem bestimmten Zeitpunkt aus",Tu:B1,Tuesday:j1,URL:F1,"Unknown error":"Unbekannter Fehler","Unknown error!":"Unbekannter Fehler!","Use generated code":"Code verwenden","User function":"Benutzerfunktion","User:":"Benutzer:",Value:z1,"Vibration:":"Vibration:",Volume:U1,We:H1,Wednesday:W1,"Whatsapp-cmb":"WhatsApp-cmb",Write:V1,"Write your own code":"Eigenen Code schreiben",Yes:G1,"Yet exists!":"Existiert schon!","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"Sie können %s in der URL verwenden, um den aktuellen Triggerwert zu verwenden, %id, um die ausgelöste Objekt-ID zu verwenden, %name, um den ID-Namen des ausgelösten Objekts anzuzeigen, oder %old, um den alten Triggerwert zu verwenden","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"Sie können %s im Befehl verwenden, um den aktuellen Triggerwert zu verwenden, %id, um die ausgelöste Objekt-ID zu verwenden, %name, um den ID-Namen des ausgelösten Objekts anzuzeigen, oder %old, um den alten Triggerwert zu verwenden","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"Sie können %s im Text verwenden, um den aktuellen Triggerwert anzuzeigen, %id, um die ausgelöste Objekt-ID zu verwenden, %name, um den ID-Namen des ausgelösten Objekts anzuzeigen, oder %old, um den alten Triggerwert zu verwenden","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"Sie können %s im Wert verwenden, um den aktuellen Triggerwert zu verwenden, %id, um die ID des ausgelösten Objekts zu verwenden, %name, um den ID-Namen des ausgelösten Objekts anzuzeigen, oder %old, um den alten Triggerwert zu verwenden","You have to enter OpenAI API key in the configuration of javascript adapter.":"Sie müssen den OpenAI-API-Schlüssel in der Konfiguration des Javascript-Adapters eingeben.","You have to enter at least one API key in the configuration of javascript adapter.":"Sie müssen mindestens einen API-Schlüssel (OpenAI, Anthropic oder Gemini) in der Konfiguration des Javascript-Adapters eingeben.","Please select a valid model":"Bitte wählen Sie ein gültiges Modell aus","[equal]":"[gleich]","[greater or equal]":"[größer oder gleich]","[greater]":"[größer]","[hysteresis]":"[Hysterese]","[includes]":"[enthält]","[less or equal]":"[kleiner oder gleich]","[less]":"[kleiner]","[not equal]":"[ungleich]",acknowledgment:K1,all:Y1,and:J1,astro:q1,at:X1,"clear running":"laufende abbrechen",control:Z1,copy:Q1,cron:eP,dawn:tP,debug_help:sP,debug_label:oP,default:"Standard",dusk:iP,easy:nP,else:"sonst","equal to":"gleich",every:rP,"every hour at 0 minutes":"jede Stunde bei 0 Minuten",false:"falsch","file reading has failed: %s":"Das Lesen der Datei ist fehlgeschlagen: %s","file reading was aborted":"Das Lesen der Datei wurde abgebrochen",filter_func:aP,filter_id:lP,filter_name:cP,filter_role:uP,filter_room:dP,"for edit or create script":"zum Bearbeiten oder zum Erstellen eines neues Skripts","for professionals":"für Profis","for programmers":"für Programmierer",goldenHour:hP,goldenHourEnd:pP,"greater or equal":"größer oder gleich","greater or equal to":"größer oder gleich","greater than":"größer als",help_just_check:gP,help_on_change:mP,"high priority":"hohe Priorität","high-priority":"hohe Priorität","highest priority":"höchste Priorität",hours:fP,includes:$P,interval:bP,"just check":"einfach prüfen","less or equal":"kleiner oder gleich","less or equal to":"kleiner oder gleich","less than":"kleiner als","lower priority":"geringere Priorität","lowest priority":"niedrigste Priorität",magic:vP,milliseconds:yP,minutes:_P,ms:wP,nadir:CP,nauticalDawn:TP,nauticalDusk:kP,nextSunrise:SP,nextSunset:EP,night:IP,nightEnd:xP,"no blocks found":"Keine Blöcke gefunden","no group":"KEINE GRUPPE",normal:DP,"normal priority":"normale Priorität","not equal to":"ungleich","not properly connected":"Dieser Block ist mit anderen nicht richtig verbunden.",offset:AP,"on change":"bei Änderung","on condition change":"bei Zustandsänderung","on update":"beim Aktualisieren",one:RP,or:OP,quiet:MP,"reset search":"Suche zurücksetzen",search:NP,seconds:LP,solarNoon:PP,"store in":"speichern in",sunrise:BP,sunriseEnd:jP,sunset:FP,sunsetStart:zP,then:UP,"toggle value":"Wert umschalten",tooltip_ack:HP,tooltip_from:WP,tooltip_lc:VP,tooltip_quality:GP,tooltip_ts:KP,tooltip_user:YP,tooltip_value:JP,true:"wahr",two:qP,undefined:"nicht definiert",update:XP,"use seconds":"Sekunden verwenden","use trigger value":"Triggerwert benutzen",verbose_help:ZP,verbose_label:QP,when:eB,with:"mit","with date":"mit Datum","with offset":"mit Versatz",wizard:tB,"Loading models...":"Modelle werden geladen...","Could not connect to API at %s":"Verbindung zur API unter %s nicht möglich","Invalid API key":"Ungültiger API-Schlüssel","Access denied by API":"Zugriff von der API verweigert","API error: %s":"API-Fehler: %s",'Model "%s" not found':'Modell "%s" nicht gefunden',"Request failed: %s":"Anfrage fehlgeschlagen: %s",Retry:sB,"No running javascript instance found":"Keine laufende JavaScript-Instanz gefunden"},iB="Admitido",nB="Comportamiento",rB="Añadir",aB="Todos",lB="Alguna",cB="Apply",uB="abril",dB="Preguntar",hB="Astronómico",pB="agosto",gB="Cancelar",mB="Cerrar",fB="Condición",$B="Condiciones",bB="Consola",vB="Copiado",yB="diciembre",_B="Defecto",wB="Demora",CB="Eliminar",TB="Descripción",kB="Hecho",SB="Ejecutivo shell",EB="Explicación",IB="Exportar",xB="Februar",DB="febrero",AB="Filtrar",RB="Carpeta",OB="P.",MB="viernes",NB="CARNÉ DE IDENTIDAD",LB="ID1",PB="ID2",BB="Importar",jB="Ejemplo",FB="Instancias",zB="Instrucciones",UB="Enero",HB="enero",WB="julio",VB="junio",GB="Límite",KB="marzo",YB="Mayo",JB="Menú",qB="Mensaje",XB="Mes",ZB="Modelo",QB="lunes",ej="Mes",tj="Más",sj="Nombre",oj="noviembre",ij="OK",nj="octubre",rj="Okay",aj="Pausa",lj="Persona fácil de convencer",cj="Pushsafer",uj="Rebautizar",dj="Repetir",hj="Reiniciar",pj="Resultado",gj="Sa",mj="sábado",fj="Salvar",$j="Calendario",bj="Guión",vj="septiembre",yj="Simular",_j="Stack",wj="Comienzo",Cj="Expresar",Tj="Su",kj="domingo",Sj="Telegrama",Ej="4",Ij="jueves",xj="Tiempo",Dj="Motivado",Aj="Disparadores",Rj="Tu",Oj="martes",Mj="URL",Nj="Valor",Lj="Volumen",Pj="3",Bj="miércoles",jj="Escribir",Fj="sí",zj="Reconocimiento",Uj="todos",Hj="y",Wj="astro",Vj="a",Gj="control",Kj="Copiar",Yj="CRON",Jj="Amanecer",qj="Este es un modo especial en el que los estados y los objetos no cambiarán. Pero solo se mostrará información sobre cada cambio planificado en el protocolo.",Xj="Depurar",Zj="Oscuridad",Qj="fácil",eF="cada",tF="Función",sF="CARNÉ DE IDENTIDAD",oF="Nombre",iF="Papel",nF="Habitación",rF="hora dorada",aF="Fin de la hora dorada",lF='El código se ejecutará solo cada vez que la condición sea verdadera. P.ej. si se activa en el valor del sensor de temperatura y la condición es "si la temperatura es superior a 20 ° C", las acciones "entonces" se ejecutarán cada vez que el sensor envíe la temperatura y supere los 20 ° C. Por 21 ° C, por 22 ° C y así sucesivamente.',cF='El código se ejecutará solo si cambia el resultado de la condición. P.ej. si se activa en el valor del sensor de temperatura y la condición es "si la temperatura es superior a 20 ° C", las acciones "entonces" se ejecutarán una vez cuando la temperatura sea superior a 20. La próxima vez, las acciones "entonces" se ejecutarán cuando la temperatura falla por debajo de 20 y luego sube por encima de 20 nuevamente.',uF="horas",dF="incluye",hF="intervalo",pF="magia",gF="milisegundos",mF="minutos",fF="ms",$F="nadir",bF="Amanecer náutico",vF="Atardecer náutico",yF="próximo amanecer",_F="Próxima puesta de sol",wF="Noche",CF="Fin de la noche",TF="normal",kF="compensar",SF="uno",EF="o",IF="tranquilo",xF="buscar",DF="segundos",AF="Mediodía solar",RF="amanecer",OF="Final del amanecer",MF="puesta de sol",NF="Inicio al atardecer",LF="entonces",PF="Reconocer",BF="De",jF="Último cambio",FF="Calidad",zF="Marca de tiempo",UF="Usuario",HF="Valor",WF="dos",VF="actualizar",GF="Agrega salida de depuración al registro para muchos comandos del sistema",KF="Salidas de registro detalladas",YF="cuando",JF="Wizard",qF="Reintentar",XF={"%s not found":"%s no encontrado","()":"()","(at %s)":"(en %s)","(optional)":"(Opcional)","-":"-",".":".","AI code generator":"Generador de código de IA",Ack:iB,Actions:nB,"Actual time of day":"Hora real del día",Add:rB,"Add new script":"Agregar nuevo script",All:aB,"All files will be accepted":"Todos los archivos serán aceptados.",Any:lB,"Any month":"Cualquier mes",Apply:cB,April:uB,"Are you sure?":"¿Estás seguro?",Ask:dB,Astronomical:hB,"Astronomical events today":"Eventos astronómicos hoy",August:pB,"Blockly description":"Crear reglas por bloques gráficos","Body:":"Cuerpo:",Cancel:gB,"Cannot delete non empty item!":"¡No se puede eliminar un elemento no vacío!","Change layout":"Cambia el diseño",'Change theme (actual "%s")':'Cambiar tema (ahora - "%s")',"Check blocks":"Comprobar bloques","Check is not active, because javascript adapter is disabled":"La comprobación no está activa porque el adaptador Javascript está desactivado","Clear search input":"Borrar entrada de búsqueda","Click on this icon":"Haga clic en este ícono",Close:mB,"Close all but current":"Cerrar todo menos el actual","Collapse all":"Desplegar todo","Compares current time with astronomical event":"Compara la hora actual con un evento astronómico","Compares current time with the user specific time":"Compara la hora actual con la hora específica del usuario","Compares the state value with user defined value":"Compara el valor del estado con el valor definido por el usuario",Condition:fB,Conditions:$B,"Configuration not saved.":"Configuración no guardada.",Console:bB,"Control or update some state":"Controlar o actualizar algún estado","Control or update some state with delay":"Controlar o actualizar algún estado con retraso","Convert blockly to javascript for ever.":"Convierta instantáneamente en bloque a Javascript.",Copied:vB,"Copy script":"Copiar guion","Copy to clipboard":"Copiar al portapapeles","Create new":"Crear nuevo","Create new folder":"Crear nueva carpeta","Create new script":"Crear nuevo script","Create or edit CRON or time wizard":"Crear o editar CRON o asistente de tiempo","Dark Theme":"Tema oscuro","Dark style":"Estilo oscuro",Date:"Fecha","Debug instance":"Instancia de depuración","Debug options":"Opciones de depuración",December:yB,Default:_B,"Define cron...":"Definir cron ...","Define schedule...":"Definir horario ...",Delay:wB,Delete:CB,"Delete %s":"Eliminar %s ...","Delete folder":"Eliminar carpeta","Delete script":"Eliminar guión",Description:TB,"Deselect all":"Deseleccionar todo","Discard changes for %s":"Descartar cambios para %s",Done:kB,"Double click to write value":"Doble clic para escribir el valor","Download as file":"Descargar como archivo","Drop some files here or click...":"Suelta algunos archivos aquí o haz clic ...","Duplicate name":"Nombre duplicado","Edit script or just double click":"Editar guión o simplemente hacer doble clic","Empty name is not allowed":"No se permite el nombre vacío","End search mode":"Fin del modo de búsqueda","Enter your question":"Ingrese su solicitud",Error:"Error","Error formatting code":"Código de formato de error","Error was found":"Error encontrado","Every day":"Diario",Exec:SB,"Executes some shell command":"Ejecuta algún comando de shell","Existing scripts will be overwritten.":"Los guiones existentes se sobrescribirán.","Expand all":"Expandir todo","Expert mode":"Modo experto",Explanation:EB,Export:IB,"Export all scripts":"Exportar todos los scripts","Export blocks":"Exportar bloques","Export selected blocks":"Exportar bloques seleccionados",Februar:xB,February:DB,Filter:AB,Folder:RB,Fr:OB,Friday:MB,Function:"Función","Function editor":"Editor de funciones","Function: executed":"Función: ejecutada","Go to next line":"Ir a la siguiente línea","HTTP Call":"Llamada HTTP","Hide logs":"Ocultar registros",ID:NB,ID1:LB,ID2:PB,Import:BB,"Import blocks":"Importar bloques","Import error":"Error de importación","Import scripts":"Importar guiones","Insert object ID":"Insertar ID de objeto",Instance:jB,"Instance is disabled":"La instancia está deshabilitada","Instance:":"Ejemplo:",Instances:FB,Instructions:zB,"Invalid CRON":"CRON inválido","It will not be possible to revert this operation.":"No será posible revertir esta operación.","JS description":"Crear reglas escribiendo Javascript",Januar:UB,January:HB,July:WB,June:VB,"Just check":"Sólo revisa","Language:":"Idioma:","Learn More":"Aprende más","Light style":"Estilo ligero",Limit:GB,"Local time":"Hora local","Locate file":"Localizar el archivo","Log outputs":"Salidas de registro","Log text":"Texto de registro","Log: %s":"Log: %s","Make a HTTP get request":"Realizar una solicitud de obtención HTTP","Make a pause between actions":"Hacer una pausa entre acciones",March:KB,"March ":"marzo",May:YB,Menu:JB,Message:qB,Mo:XB,Model:ZB,Monday:QB,Month:ej,More:tj,Name:sj,"No API key found":"No se encontró ninguna clave API","No Chat GPT Key found":"No se ha encontrado ninguna clave GPT de chat","No active host found":"No se encontró un host activo","Nothing found":"Nada Encontrado",November:oj,OK:ij,October:nj,Ok:rj,"On condition change":"En condición de cambio","On script save or adapter start":"Al guardar el script o al iniciar el adaptador","On weekdays":"De lunes a viernes","Open configuration":"Configuración abierta","Operate two states":"Operar dos estados","Operations with two states":"Operaciones con dos estados","Paste your blocks here":"Pega tus bloques aquí",Pause:aj,"Pause execution":"Pausar ejecución","Pause script":"Pausar guion","Phone:":"Teléfono:","Please select object ID...":"Por favor, seleccione la ID del objeto ...","Press Ctrl+Enter to get the answer":"Presiona Ctrl+Enter para obtener la respuesta","Prettify the script":"Embellecer el guión","Print some text in log":"Imprime texto en el registro","Priority:":"Prioridad:",Pushover:lj,Pushsafer:cj,"Read only ID selected: %s":"ID de solo lectura seleccionado: %s",Rename:uj,"Reorder scripts in folders":"Reordenar guiones en carpetas",Repeat:dj,Restart:hj,Result:pj,"Resume execution":"Reanudar ejecución","Root folder":"Carpeta raíz","Rules description":"Crea reglas con bloques IF, THEN, ELSE","Run script":"Ejecutar guión",Sa:gj,Saturday:mj,Save:fj,"Save all":"Salvar a todos","Say It":"Say It","Say some text via sayit adapter":"Di un mensaje de texto a través del adaptador sayit",Schedule:$j,Script:bj,"Script %s was modified on disk":"El script %s fue modificado en el disco","Script is not running":"El script no se está ejecutando","Search in scripts":"Buscar en guiones","Search...":"Buscar...","Select all":"Seleccionar todo","Send email":"Enviar correo electrónico","Sends an email":"Envía un correo electrónico","Sends message via Pushsafer":"Envía mensaje a través de Pushsafer","Sends message via pushover":"Envía un mensaje a través de un pushover","Sends message via telegram":"Envía mensaje por telegrama","Sends message via whatsapp-cmb":"Envía mensaje vía whatsapp-cmb",September:vj,"Server time":"Tiempo del servidor","Set state action":"Establecer acción estatal","Set with delay":"Establecer con retraso","Shell command":"Comando de Shell","Show astronomical events":"Mostrar eventos astronómicos","Show javascript code":"Mostrar código Javascript","Show logs":"Mostrar registros","Show only paused scripts":"Mostrar solo secuencias de comandos pausadas","Show only running scripts":"Mostrar solo scripts en ejecución","Show only scripts with problems":"Mostrar solo guiones con problemas",Simulate:yj,"Some files will be rejected":"Algunos archivos serán rechazados","Sound:":"Sonido:",Stack:_j,Start:wj,"Start script":"Iniciar guion",State:Cj,"State condition":"Condición del estado","Step into function":"Entra en función","Step out from function":"Sal de la función","Stop on exception":"Deténgase en excepción",Su:Tj,"Subject:":"Sujeto:",Sunday:kj,"TS description":"Crear reglas escribiendo el mecanografiado",Telegram:Sj,"Text:":"Texto:",Th:Ej,"The script will be stopped and must be activated manually after debugging. Continue?":"El script se detendrá y deberá activarse manualmente después de la depuración. ¿Continuar?","This is advances option. You can write your own code here and it will be executed on trigger":"Esta es la opción de avances. Puede escribir su propio código aquí y se ejecutará en el disparador",Thursday:Ij,Time:xj,"Time condition":"Condición de tiempo","Title:":"Título:","To:":"A:","Trigger with value":"Activar con valor",Triggered:Dj,Triggers:Aj,"Triggers the on script saving or the javascript instance restart":"Activa el guardado de la secuencia de comandos o el reinicio de la instancia de JavaScript","Triggers the rule on update or change of some state":"Activa la regla de actualización o cambio de algún estado","Triggers the rule periodically or on some specific time":"Activa la regla periódicamente o en un momento específico",Tu:Rj,Tuesday:Oj,URL:Mj,"Unknown error":"Error desconocido","Unknown error!":"¡Error desconocido!","Use generated code":"Usar código generado","User function":"Función de usuario","User:":"Usuario:",Value:Nj,"Vibration:":"Vibración:",Volume:Lj,We:Pj,Wednesday:Bj,"Whatsapp-cmb":"Whatsapp-cmb",Write:jj,"Write your own code":"Escribe tu propio código",Yes:Fj,"Yet exists!":"¡Sin embargo existe!","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"Puede usar %s en la URL para usar el valor de activación actual, %id para usar el ID de objeto activado, %name para mostrar el nombre de ID de objeto activado o %old para usar el valor de activación antiguo","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"Puede usar %s en el comando para usar el valor de activación actual, %id para usar el ID de objeto activado, %name para mostrar el nombre de ID de objeto activado o %old para usar el valor de activación anterior","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"Puede usar %s en el texto para mostrar el valor de activación actual, %id para usar el ID de objeto activado, %name para mostrar el nombre de ID de objeto activado o %old para usar el valor de activación antiguo","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"Puede usar %s en el valor para usar el valor de activación actual, %id para usar el ID de objeto activado, %name para mostrar el nombre de ID de objeto activado o %old para usar el valor de activación antiguo","You have to enter OpenAI API key in the configuration of javascript adapter.":"Debe ingresar la clave API de OpenAI en la configuración del adaptador de JavaScript.","You have to enter at least one API key in the configuration of javascript adapter.":"Debe ingresar al menos una clave API (OpenAI, Anthropic o Gemini) en la configuración del adaptador de JavaScript.","Please select a valid model":"Seleccione un modelo válido","[equal]":"[igual]","[greater or equal]":"[mayor o igual]","[greater]":"[mayor que]","[hysteresis]":"[histéresis]","[includes]":"[incluye]","[less or equal]":"[menor o igual]","[less]":"[menos]","[not equal]":"[no es igual]",acknowledgment:zj,all:Uj,and:Hj,astro:Wj,at:Vj,"clear running":"carrera clara",control:Gj,copy:Kj,cron:Yj,dawn:Jj,debug_help:qj,debug_label:Xj,default:"defecto",dusk:Zj,easy:Qj,else:"demás","equal to":"igual a",every:eF,"every hour at 0 minutes":"cada hora a los 0 minutos",false:"falso","file reading has failed: %s":"la lectura del archivo ha fallado: %s","file reading was aborted":"la lectura del archivo fue abortada",filter_func:tF,filter_id:sF,filter_name:oF,filter_role:iF,filter_room:nF,"for edit or create script":"para editar o crear un nuevo script","for professionals":"para profesionales","for programmers":"para programadores",goldenHour:rF,goldenHourEnd:aF,"greater or equal":"mayor o igual","greater or equal to":"mayor o igual a","greater than":"mas grande que",help_just_check:lF,help_on_change:cF,"high priority":"alta prioridad","high-priority":"alta prioridad","highest priority":"más alta prioridad",hours:uF,includes:dF,interval:hF,"just check":"Sólo revisa","less or equal":"menor o igual","less or equal to":"menor o igual a","less than":"menos que","lower priority":"prioridad más baja","lowest priority":"prioridad más baja",magic:pF,milliseconds:gF,minutes:mF,ms:fF,nadir:$F,nauticalDawn:bF,nauticalDusk:vF,nextSunrise:yF,nextSunset:_F,night:wF,nightEnd:CF,"no blocks found":"No se encontraron bloques","no group":"NO GRUPO",normal:TF,"normal priority":"prioridad normal","not equal to":"no igual a","not properly connected":"Este bloque no está conectado correctamente a otros bloques.",offset:kF,"on change":"en el cambio","on condition change":"con cambio de condición","on update":"en actualización",one:SF,or:EF,quiet:IF,"reset search":"restablecer la búsqueda",search:xF,seconds:DF,solarNoon:AF,"store in":"almacenar en",sunrise:RF,sunriseEnd:OF,sunset:MF,sunsetStart:NF,then:LF,"toggle value":"alternar valor",tooltip_ack:PF,tooltip_from:BF,tooltip_lc:jF,tooltip_quality:FF,tooltip_ts:zF,tooltip_user:UF,tooltip_value:HF,true:"cierto",two:WF,undefined:"indefinido",update:VF,"use seconds":"usar segundos","use trigger value":"usar valor de activación",verbose_help:GF,verbose_label:KF,when:YF,with:"con","with date":"con fecha","with offset":"con desplazamiento",wizard:JF,"Loading models...":"Cargando modelos...","Could not connect to API at %s":"No se pudo conectar a la API en %s","Invalid API key":"Clave API no válida","Access denied by API":"Acceso denegado por la API","API error: %s":"Error de API: %s",'Model "%s" not found':'Modelo "%s" no encontrado',"Request failed: %s":"Solicitud fallida: %s",Retry:qF,"No running javascript instance found":"No se encontró ninguna instancia de JavaScript en ejecución"},ZF="Reconnu",QF="Actions",e2="Ajouter",t2="Tout",s2="Tout",o2="Postuler",i2="avril",n2="Demander",r2="Astronomique",a2="août",l2="Annuler",c2="proche",u2="État",d2="Conditions",h2="Console",p2="Copié",g2="décembre",m2="Défaut",f2="Retard",$2="Effacer",b2="Description",v2="Terminé",y2="Exec shell",_2="Explication",w2="Exportation",C2="Février",T2="février",k2="Filtre",S2="Dossier",E2="Fr",I2="Vendredi",x2="ID",D2="ID1",A2="ID2",R2="Importation",O2="Exemple",M2="Instances",N2="Instructions",L2="Janvier",P2="janvier",B2="juillet",j2="juin",F2="Limite",z2="Mars",U2="Mai",H2="M e n u",W2="Message",V2="Mo",G2="Modèle",K2="Lundi",Y2="Mois",J2="Plus",q2="Nom",X2="novembre",Z2="OK",Q2="octobre",ez="D'accord",tz="Pause",sz="Pushover",oz="Pushsafer",iz="Renommer",nz="Répéter",rz="Redémarrer",az="Résultat",lz="Sa",cz="samedi",uz="sauver",dz="Horaire",hz="Scénario",pz="septembre",gz="Simuler",mz="Stack",fz="Début",$z="État",bz="Su",vz="dimanche",yz="Télégramme",_z="4",wz="Jeudi",Cz="Temps",Tz="Déclenché",kz="Déclencheurs",Sz="Tu",Ez="Mardi",Iz="URL",xz="Valeur",Dz="Le volume",Az="3",Rz="Mercredi",Oz="Écrivez",Mz="Oui",Nz="reconnaissance",Lz="tout",Pz="et",Bz="astro",jz="à",Fz="contrôler",zz="copie",Uz="CRON",Hz="Aube",Wz="Il s'agit d'un mode spécial dans lequel les états et les objets ne changeront pas. Mais seules les informations sur chaque changement prévu seront affichées dans le protocole.",Vz="Déboguer",Gz="Crépuscule",Kz="facile",Yz="chaque",Jz="Une fonction",qz="ID",Xz="Nom",Zz="Rôle",Qz="Pièce",eU="Heure d'or",tU="Fin de l'heure d'or",sU="Le code ne sera exécuté que chaque fois que la condition est vraie. Par exemple. si déclenchement sur la valeur du capteur de température et que la condition est «si la température est supérieure à 20 ° C», les actions «alors» seront exécutées à chaque fois que le capteur envoie la température et qu'elle est supérieure à 20 ° C. À 21 ° C, à 22 ° C et ainsi de suite.",oU="Le code ne sera exécuté que si le résultat de la condition change. Par exemple. si le déclenchement sur la valeur du capteur de température et que la condition est «si la température est supérieure à 20 ° C», les actions «alors» seront exécutées une fois lorsque la température est supérieure à 20. La prochaine fois, les actions «alors» seront exécutées lorsque la température échoue sous 20 puis remonte au-dessus de 20.",iU="les heures",nU="comprend",rU="intervalle",aU="la magie",lU="millisecondes",cU="minutes",uU="ms",dU="nadir",hU="Aube nautique",pU="Crépuscule nautique",gU="Prochain lever de soleil",mU="Prochain coucher de soleil",fU="Nuit",$U="Fin de nuit",bU="Ordinaire",vU="décalage",yU="une",_U="ou",wU="calmer",CU="chercher",TU="secondes",kU="Midi solaire",SU="lever du soleil",EU="Fin du lever du soleil",IU="le coucher du soleil",xU="Début du coucher du soleil",DU="alors",AU="Reconnaître",RU="De",OU="Dernière modification",MU="Qualité",NU="Horodatage",LU="Utilisateur",PU="Valeur",BU="deux",jU="mettre à jour",FU="Ajoute une sortie de débogage au journal pour de nombreuses commandes système",zU="Sorties de journal détaillées",UU="lorsque",HU="Wizard",WU="Réessayer",VU={"%s not found":"%s non trouvé","()":"()","(at %s)":"(à %s)","(optional)":"(optionnel)","-":"-",".":".","AI code generator":"Générateur de code IA",Ack:ZF,Actions:QF,"Actual time of day":"Heure réelle de la journée",Add:e2,"Add new script":"Ajouter un nouveau script",All:t2,"All files will be accepted":"Tous les fichiers seront acceptés",Any:s2,"Any month":"N'importe quel mois",Apply:o2,April:i2,"Are you sure?":"Êtes-vous sûr?",Ask:n2,Astronomical:r2,"Astronomical events today":"Événements astronomiques aujourd'hui",August:a2,"Blockly description":"Création de règles par blocs graphiques","Body:":"Corps:",Cancel:l2,"Cannot delete non empty item!":"Impossible de supprimer un élément non vide!","Change layout":"Changer la disposition",'Change theme (actual "%s")':'Changer de thème (maintenant - "%s")',"Check blocks":"Vérifier les blocs","Check is not active, because javascript adapter is disabled":"La vérification n'est pas active, car l'adaptateur Javascript est désactivé","Clear search input":"Effacer la recherche","Click on this icon":"Cliquez sur cette icône",Close:c2,"Close all but current":"Ferme tout sauf courant","Collapse all":"Réduire tout","Compares current time with astronomical event":"Compare l'heure actuelle avec un événement astronomique","Compares current time with the user specific time":"Compare l'heure actuelle avec l'heure spécifique de l'utilisateur","Compares the state value with user defined value":"Compare la valeur d'état avec la valeur définie par l'utilisateur",Condition:u2,Conditions:d2,"Configuration not saved.":"Configuration non enregistrée.",Console:h2,"Control or update some state":"Contrôler ou mettre à jour un état","Control or update some state with delay":"Contrôler ou mettre à jour un état avec un délai","Convert blockly to javascript for ever.":"Convertissez instantanément en Javascript.",Copied:p2,"Copy script":"Copier le script","Copy to clipboard":"Copier dans le presse-papier","Create new":"Créer un nouveau","Create new folder":"Créer un nouveau dossier","Create new script":"Créer un nouveau script","Create or edit CRON or time wizard":"Créer ou éditer CRON ou un assistant de temps","Dark Theme":"Thème sombre","Dark style":"Style sombre",Date:"Date","Debug instance":"Instance de débogage","Debug options":"Options de débogage",December:g2,Default:m2,"Define cron...":"Définir le cron ...","Define schedule...":"Définir le calendrier ...",Delay:f2,Delete:$2,"Delete %s":"Supprimer %s ...","Delete folder":"Supprimer le dossier","Delete script":"Supprimer le script",Description:b2,"Deselect all":"Tout déselectionner","Discard changes for %s":"Ignorer les modifications pour %s",Done:v2,"Double click to write value":"Double clic pour écrire la valeur","Download as file":"Télécharger le fichier","Drop some files here or click...":"Déposer des fichiers ici ou cliquez sur ...","Duplicate name":"Nom en double","Edit script or just double click":"Modifiez le script ou double-cliquez simplement sur","Empty name is not allowed":"Le nom vide n'est pas autorisé","End search mode":"Fin du mode de recherche","Enter your question":"Entrez votre demande",Error:"Erreur","Error formatting code":"Erreur lors du formatage du code","Error was found":"Une erreur a été trouvée","Every day":"Tous les jours",Exec:y2,"Executes some shell command":"Exécute une commande shell","Existing scripts will be overwritten.":"Les scripts existants seront écrasés.","Expand all":"Développer tout","Expert mode":"Mode expert",Explanation:_2,Export:w2,"Export all scripts":"Exporter tous les scripts","Export blocks":"Blocs d'exportation","Export selected blocks":"Exporter les blocs sélectionnés",Februar:C2,February:T2,Filter:k2,Folder:S2,Fr:E2,Friday:I2,Function:"Fonction","Function editor":"Éditeur de fonction","Function: executed":"Fonction : exécutée","Go to next line":"Aller à la ligne suivante","HTTP Call":"Appel HTTP","Hide logs":"Masquer les journaux",ID:x2,ID1:D2,ID2:A2,Import:R2,"Import blocks":"Blocs d'importation","Import error":"Erreur d'importation","Import scripts":"Importer des scripts","Insert object ID":"Insérer un identifiant d'objet",Instance:O2,"Instance is disabled":"L'instance est désactivée","Instance:":"Exemple:",Instances:M2,Instructions:N2,"Invalid CRON":"CRON invalide","It will not be possible to revert this operation.":"Il ne sera pas possible de revenir sur cette opération.","JS description":"Créer des règles en écrivant du Javascript",Januar:L2,January:P2,July:B2,June:j2,"Just check":"Vérifiez simplement","Language:":"Langue:","Learn More":"Apprendre encore plus","Light style":"Style de lumière",Limit:F2,"Local time":"Heure locale","Locate file":"Localiser le fichier","Log outputs":"Journal des sorties","Log text":"Texte du journal","Log: %s":"Log : %s","Make a HTTP get request":"Faire une requête HTTP Get","Make a pause between actions":"Faites une pause entre les actions",March:z2,"March ":"mars",May:U2,Menu:H2,Message:W2,Mo:V2,Model:G2,Monday:K2,Month:Y2,More:J2,Name:q2,"No API key found":"Aucune clé API trouvée","No Chat GPT Key found":"Aucune clé GPT de chat trouvée","No active host found":"Aucun hôte actif trouvé","Nothing found":"Rien n'a été trouvé",November:X2,OK:Z2,October:Q2,Ok:ez,"On condition change":"En cas de changement de condition","On script save or adapter start":"Lors de l'enregistrement du script ou du démarrage de l'adaptateur","On weekdays":"En semaine","Open configuration":"Configuration ouverte","Operate two states":"Opérer deux états","Operations with two states":"Opérations à deux états","Paste your blocks here":"Collez vos blocs ici",Pause:tz,"Pause execution":"Suspendre l'exécution","Pause script":"Script de pause","Phone:":"Téléphone:","Please select object ID...":"Veuillez sélectionner l'ID d'objet ...","Press Ctrl+Enter to get the answer":"Appuyez sur Ctrl+Entrée pour obtenir la réponse","Prettify the script":"Embellir le scénario","Print some text in log":"Imprimer du texte dans le journal","Priority:":"Priorité:",Pushover:sz,Pushsafer:oz,"Read only ID selected: %s":"ID en lecture seule sélectionné: %s",Rename:iz,"Reorder scripts in folders":"Réorganiser les scripts dans des dossiers",Repeat:nz,Restart:rz,Result:az,"Resume execution":"Reprendre l'exécution","Root folder":"Dossier racine","Rules description":"Créer des règles avec des blocs IF, THEN, ELSE","Run script":"Script de lancement",Sa:lz,Saturday:cz,Save:uz,"Save all":"Sauver tous","Say It":"Say It","Say some text via sayit adapter":"Dites du texte via l'adaptateur sayit",Schedule:dz,Script:hz,"Script %s was modified on disk":"Le script %s a été modifié sur le disque","Script is not running":"Le script n'est pas en cours d'exécution","Search in scripts":"Rechercher dans les scripts","Search...":"Chercher...","Select all":"Tout sélectionner","Send email":"Envoyer un e-mail","Sends an email":"Envoie un e-mail","Sends message via Pushsafer":"Envoie un message via Pushsafer","Sends message via pushover":"Envoie un message via pushover","Sends message via telegram":"Envoie un message par télégramme","Sends message via whatsapp-cmb":"Envoie un message via whatsapp-cmb",September:pz,"Server time":"Heure du serveur","Set state action":"Définir l'action de l'état","Set with delay":"Set avec retard","Shell command":"Commande Shell","Show astronomical events":"Afficher les événements astronomiques","Show javascript code":"Afficher le code Javascript","Show logs":"Afficher les journaux","Show only paused scripts":"Afficher uniquement les scripts en pause","Show only running scripts":"Afficher uniquement les scripts en cours d'exécution","Show only scripts with problems":"Afficher uniquement les scripts avec des problèmes",Simulate:gz,"Some files will be rejected":"Certains fichiers seront rejetés","Sound:":"Sonner:",Stack:mz,Start:fz,"Start script":"Lancer le script",State:$z,"State condition":"État condition","Step into function":"Entrez dans la fonction","Step out from function":"Sortez de la fonction","Stop on exception":"Arrêt sur exception",Su:bz,"Subject:":"Sujet:",Sunday:vz,"TS description":"Créer des règles en écrivant des caractères dactylographiés",Telegram:yz,"Text:":"Texte:",Th:_z,"The script will be stopped and must be activated manually after debugging. Continue?":"Le script sera arrêté et doit être activé manuellement après le débogage. Continuez?","This is advances option. You can write your own code here and it will be executed on trigger":"C'est une option avancée. Vous pouvez écrire votre propre code ici et il sera exécuté au déclenchement",Thursday:wz,Time:Cz,"Time condition":"Condition de temps","Title:":"Titre:","To:":"À:","Trigger with value":"Déclencheur avec valeur",Triggered:Tz,Triggers:kz,"Triggers the on script saving or the javascript instance restart":"Déclenche l'enregistrement du script ou le redémarrage de l'instance javascript","Triggers the rule on update or change of some state":"Déclenche la règle sur la mise à jour ou le changement d'un état","Triggers the rule periodically or on some specific time":"Déclenche la règle périodiquement ou à une heure précise",Tu:Sz,Tuesday:Ez,URL:Iz,"Unknown error":"Erreur inconnue","Unknown error!":"Erreur inconnue!","Use generated code":"Utiliser le code généré","User function":"Fonction utilisateur","User:":"Utilisateur:",Value:xz,"Vibration:":"Vibration:",Volume:Dz,We:Az,Wednesday:Rz,"Whatsapp-cmb":"Whatsapp-cmb",Write:Oz,"Write your own code":"Écrivez votre propre code",Yes:Mz,"Yet exists!":"Pourtant existe!","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"Vous pouvez utiliser %s dans l'URL pour utiliser la valeur de déclenchement actuelle, %id pour utiliser l'ID de l'objet déclenché, %name pour afficher le nom de l'ID de l'objet déclenché ou %old pour utiliser l'ancienne valeur de déclenchement","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"Vous pouvez utiliser %s dans la commande pour utiliser la valeur de déclenchement actuelle, %id pour utiliser l'ID de l'objet déclenché, %name pour afficher le nom de l'ID de l'objet déclenché ou %old pour utiliser l'ancienne valeur de déclenchement","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"Vous pouvez utiliser %s dans le texte pour afficher la valeur de déclenchement actuelle, %id pour utiliser l'ID de l'objet déclenché, %name pour afficher le nom de l'ID de l'objet déclenché ou %old pour utiliser l'ancienne valeur de déclenchement","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"Vous pouvez utiliser %s dans la valeur pour utiliser la valeur de déclenchement actuelle, %id pour utiliser l'ID de l'objet déclenché, %name pour afficher le nom de l'ID de l'objet déclenché ou %old pour utiliser l'ancienne valeur de déclenchement","You have to enter OpenAI API key in the configuration of javascript adapter.":"Vous devez entrer la clé API OpenAI dans la configuration de l'adaptateur javascript.","You have to enter at least one API key in the configuration of javascript adapter.":"Vous devez entrer au moins une clé API (OpenAI, Anthropic ou Gemini) dans la configuration de l'adaptateur javascript.","Please select a valid model":"Veuillez sélectionner un modèle valide","[equal]":"[égal]","[greater or equal]":"[supérieur ou égal]","[greater]":"[plus grand]","[hysteresis]":"[hystérèse]","[includes]":"[comprend]","[less or equal]":"[inférieur ou égal]","[less]":"[moins]","[not equal]":"[inégal]",acknowledgment:Nz,all:Lz,and:Pz,astro:Bz,at:jz,"clear running":"course claire",control:Fz,copy:zz,cron:Uz,dawn:Hz,debug_help:Wz,debug_label:Vz,default:"défaut",dusk:Gz,easy:Kz,else:"autre","equal to":"égal à",every:Yz,"every hour at 0 minutes":"toutes les heures à 0 minute",false:"faux","file reading has failed: %s":"La lecture du fichier a échoué: %s","file reading was aborted":"la lecture du fichier a été abandonnée",filter_func:Jz,filter_id:qz,filter_name:Xz,filter_role:Zz,filter_room:Qz,"for edit or create script":"pour éditer ou créer un nouveau script","for professionals":"pour les professionnels","for programmers":"pour les programmeurs",goldenHour:eU,goldenHourEnd:tU,"greater or equal":"supérieur ou égal","greater or equal to":"supérieur ou égal à","greater than":"plus grand que",help_just_check:sU,help_on_change:oU,"high priority":"haute priorité","high-priority":"haute priorité","highest priority":"priorité la plus élevée",hours:iU,includes:nU,interval:rU,"just check":"Vérifiez simplement","less or equal":"inférieur ou égal","less or equal to":"inférieur ou égal à","less than":"moins que","lower priority":"priorité inférieure","lowest priority":"priorité la plus basse",magic:aU,milliseconds:lU,minutes:cU,ms:uU,nadir:dU,nauticalDawn:hU,nauticalDusk:pU,nextSunrise:gU,nextSunset:mU,night:fU,nightEnd:$U,"no blocks found":"Aucun bloc trouvé","no group":"PAS DE GROUPE",normal:bU,"normal priority":"priorité normale","not equal to":"pas égal à","not properly connected":"Ce bloc n'est pas correctement connecté à d'autres blocs.",offset:vU,"on change":"sur le changement","on condition change":"sur changement de condition","on update":"sur mise à jour",one:yU,or:_U,quiet:wU,"reset search":"Réinitialiser la recherche",search:CU,seconds:TU,solarNoon:kU,"store in":"stocker dans",sunrise:SU,sunriseEnd:EU,sunset:IU,sunsetStart:xU,then:DU,"toggle value":"valeur de bascule",tooltip_ack:AU,tooltip_from:RU,tooltip_lc:OU,tooltip_quality:MU,tooltip_ts:NU,tooltip_user:LU,tooltip_value:PU,true:"vrai",two:BU,undefined:"indéfini",update:jU,"use seconds":"utiliser les secondes","use trigger value":"use trigger value",verbose_help:FU,verbose_label:zU,when:UU,with:"avec","with date":"avec date","with offset":"avec offset",wizard:HU,"Loading models...":"Chargement des modèles...","Could not connect to API at %s":"Impossible de se connecter à l'API sur %s","Invalid API key":"Clé API invalide","Access denied by API":"Accès refusé par l'API","API error: %s":"Erreur API : %s",'Model "%s" not found':'Modèle "%s" introuvable',"Request failed: %s":"Requête échouée : %s",Retry:WU,"No running javascript instance found":"Aucune instance JavaScript en cours d'exécution trouvée"},GU="Riconosciuto",KU="Azioni",YU="Inserisci",JU="Tutti",qU="Qualunque",XU="Applica",ZU="aprile",QU="Chiedere",eH="Astronomico",tH="agosto",sH="Annulla",oH="Vicino",iH="Condizione",nH="Condizioni",rH="Console",aH="Copiato",lH="dicembre",cH="Predefinito",uH="Ritardo",dH="Elimina",hH="Descrizione",pH="Fatto",gH="Execshell",mH="Spiegazione",fH="Esportare",$H="Februar",bH="febbraio",vH="Filtro",yH="Cartella",_H="P",wH="Venerdì",CH="ID",TH="ID1",kH="ID2",SH="Importare",EH="Esempio",IH="istanze",xH="Istruzioni",DH="Januar",AH="gennaio",RH="luglio",OH="giugno",MH="Limite",NH="marzo",LH="Maggio",PH="Menu",BH="Messaggio",jH="Mo",FH="Modello",zH="Lunedi",UH="Mese",HH="Di più",WH="Nome",VH="novembre",GH="OK",KH="ottobre",YH="Ok",JH="Pausa",qH="Pushover",XH="Pushsafer",ZH="Rinominare",QH="Ripetere",eW="Ricomincia",tW="Risultato",sW="Sa",oW="Sabato",iW="Salva",nW="Programma",rW="copione",aW="settembre",lW="Simulare",cW="Stack",uW="Cominciare",dW="Stato",hW="Su",pW="Domenica",gW="Telegramma",mW="4",fW="giovedi",$W="Tempo",bW="Innescato",vW="Trigger",yW="Tu",_W="martedì",wW="URL",CW="Valore",TW="Volume",kW="3",SW="mercoledì",EW="Scrivi",IW="sì",xW="riconoscimento",DW="tutti",AW="e",RW="astro",OW="a",MW="controllo",NW="copia",LW="CRON",PW="alba",BW="Questa è una modalità speciale in cui gli stati e gli oggetti non cambieranno. Ma nel protocollo verranno visualizzate solo le informazioni su ogni modifica pianificata.",jW="Debug",FW="crepuscolo",zW="facile",UW="ogni",HW="Funzione",WW="ID",VW="Nome",GW="Ruolo",KW="Camera",YW="Ora d'oro",JW="Fine dell'ora d'oro",qW='Il codice verrà eseguito solo ogni volta che la condizione è vera. Per esempio. se si attiva il valore del sensore di temperatura e la condizione è "se la temperatura è maggiore di 20 ° C", le azioni "allora" verranno eseguite ogni volta che il sensore invia la temperatura e questa è superiore a 20 ° C. Di 21 ° C, di 22 ° C e così via.',XW='Il codice verrà eseguito solo se il risultato della condizione cambia. Per esempio. se si attiva il valore del sensore di temperatura e la condizione è "se la temperatura è maggiore di 20 ° C", le azioni "allora" verranno eseguite una volta quando la temperatura è superiore a 20. La prossima volta le azioni "allora" verranno eseguite quando la temperatura fallisce sotto 20 e poi sale di nuovo oltre 20.',ZW="ore",QW="include",eV="intervallo",tV="Magia",sV="millisecondi",oV="minuti",iV="ms",nV="nadir",rV="Alba nautica",aV="Crepuscolo nautico",lV="Prossima alba",cV="Prossimo tramonto",uV="Notte",dV="Fine della notte",hV="normale",pV="compensare",gV="uno",mV="o",fV="silenzioso",$V="ricerca",bV="secondi",vV="Mezzogiorno solare",yV="Alba",_V="Fine dell'alba",wV="tramonto",CV="Inizio del tramonto",TV="poi",kV="Riconoscere",SV="A partire dal",EV="Ultima modifica",IV="Qualità",xV="timestamp",DV="Utente",AV="Valore",RV="Due",OV="aggiornare",MV="Aggiunge l'output di debug al registro per molti comandi di sistema",NV="Output di log dettagliati",LV="quando",PV="procedura guidata",BV="Riprova",jV={"%s not found":"%s non trovato","()":"()","(at %s)":"(a %s)","(optional)":"(opzionale)","-":"-",".":".","AI code generator":"Generatore di codice AI",Ack:GU,Actions:KU,"Actual time of day":"Ora effettiva della giornata",Add:YU,"Add new script":"Aggiungi nuovo script",All:JU,"All files will be accepted":"Tutti i file saranno accettati",Any:qU,"Any month":"Ogni mese",Apply:XU,April:ZU,"Are you sure?":"Sei sicuro?",Ask:QU,Astronomical:eH,"Astronomical events today":"Eventi astronomici oggi",August:tH,"Blockly description":"Creazione di regole tramite blocchi grafici","Body:":"Corpo:",Cancel:sH,"Cannot delete non empty item!":"Impossibile eliminare l'elemento non vuoto!","Change layout":"Cambia layout",'Change theme (actual "%s")':'Cambia tema (ora - "%s")',"Check blocks":"Controlla i blocchi","Check is not active, because javascript adapter is disabled":"Il controllo non è attivo perché l'adattatore Javascript è disabilitato","Clear search input":"Cancella input di ricerca","Click on this icon":"Clicca su questa icona",Close:oH,"Close all but current":"Chiudi tutto tranne corrente","Collapse all":"Comprimi tutto","Compares current time with astronomical event":"Confronta l'ora corrente con l'evento astronomico","Compares current time with the user specific time":"Confronta l'ora corrente con l'ora specifica dell'utente","Compares the state value with user defined value":"Confronta il valore dello stato con il valore definito dall'utente",Condition:iH,Conditions:nH,"Configuration not saved.":"Configurazione non salvata.",Console:rH,"Control or update some state":"Controlla o aggiorna uno stato","Control or update some state with delay":"Controlla o aggiorna uno stato con ritardo","Convert blockly to javascript for ever.":"Converti istantaneamente a blocchi in Javascript.",Copied:aH,"Copy script":"Copia script","Copy to clipboard":"Copia negli appunti","Create new":"Creare nuovo","Create new folder":"Crea una nuova cartella","Create new script":"Crea nuovo script","Create or edit CRON or time wizard":"Crea o modifica la procedura guidata CRON o time","Dark Theme":"Tema scuro","Dark style":"Stile scuro",Date:"Data","Debug instance":"Istanza di debug","Debug options":"Opzioni di debug",December:lH,Default:cH,"Define cron...":"Definisci cron ...","Define schedule...":"Definisci programma ...",Delay:uH,Delete:dH,"Delete %s":"Elimina %s ...","Delete folder":"Elimina cartella","Delete script":"Elimina script",Description:hH,"Deselect all":"Deselezionare tutto","Discard changes for %s":"Annulla modifiche per %s",Done:pH,"Double click to write value":"Doppio clic per scrivere il valore","Download as file":"Scarica come file","Drop some files here or click...":"Trascina alcuni file qui o fai clic su ...","Duplicate name":"Nome duplicato","Edit script or just double click":"Modifica lo script o fai doppio clic","Empty name is not allowed":"Il nome vuoto non è consentito","End search mode":"Termina la modalità di ricerca","Enter your question":"Inserisci la tua richiesta",Error:"Errore","Error formatting code":"Errore di formattazione del codice","Error was found":"Errore trovato","Every day":"Ogni giorno",Exec:gH,"Executes some shell command":"Esegue alcuni comandi della shell","Existing scripts will be overwritten.":"Gli script esistenti verranno sovrascritti.","Expand all":"Espandi tutto","Expert mode":"Modalità esperto",Explanation:mH,Export:fH,"Export all scripts":"Esporta tutti gli script","Export blocks":"Esporta blocchi","Export selected blocks":"Esporta i blocchi selezionati",Februar:$H,February:bH,Filter:vH,Folder:yH,Fr:_H,Friday:wH,Function:"Funzione","Function editor":"Editor di funzioni","Function: executed":"Funzione: eseguita","Go to next line":"Vai alla riga successiva","HTTP Call":"Chiamata HTTP","Hide logs":"Nascondi i registri",ID:CH,ID1:TH,ID2:kH,Import:SH,"Import blocks":"Importa blocchi","Import error":"Errore di importazione","Import scripts":"Importa script","Insert object ID":"Inserisci l'ID oggetto",Instance:EH,"Instance is disabled":"L'istanza è disabilitata","Instance:":"Esempio:",Instances:IH,Instructions:xH,"Invalid CRON":"CRON non valido","It will not be possible to revert this operation.":"Non sarà possibile ripristinare questa operazione.","JS description":"Creare regole scrivendo Javascript",Januar:DH,January:AH,July:RH,June:OH,"Just check":"Controlla solamente","Language:":"Linguaggio:","Learn More":"Per saperne di più","Light style":"Stile leggero",Limit:MH,"Local time":"Ora locale","Locate file":"Localizza file","Log outputs":"Registra le uscite","Log text":"Testo del registro","Log: %s":"Log: %s","Make a HTTP get request":"Effettua una richiesta get HTTP","Make a pause between actions":"Fai una pausa tra le azioni",March:NH,"March ":"marzo",May:LH,Menu:PH,Message:BH,Mo:jH,Model:FH,Monday:zH,Month:UH,More:HH,Name:WH,"No API key found":"Nessuna chiave API trovata","No Chat GPT Key found":"Nessuna chiave GPT chat trovata","No active host found":"Nessun host attivo trovato","Nothing found":"Non abbiamo trovato nulla",November:VH,OK:GH,October:KH,Ok:YH,"On condition change":"A condizione che cambino","On script save or adapter start":"Al salvataggio dello script o all'avvio dell'adattatore","On weekdays":"Nei giorni della settimana","Open configuration":"Configurazione aperta","Operate two states":"Gestisci due stati","Operations with two states":"Operazioni con due stati","Paste your blocks here":"Incolla qui i tuoi blocchi",Pause:JH,"Pause execution":"Metti in pausa l'esecuzione","Pause script":"Metti in pausa lo script","Phone:":"Telefono:","Please select object ID...":"Seleziona l'ID oggetto ...","Press Ctrl+Enter to get the answer":"Premi Ctrl+Invio per ottenere la risposta","Prettify the script":"Abbellire la sceneggiatura","Print some text in log":"Stampa del testo nel registro","Priority:":"Priorità:",Pushover:qH,Pushsafer:XH,"Read only ID selected: %s":"ID di sola lettura selezionato: %s",Rename:ZH,"Reorder scripts in folders":"Riordina gli script nelle cartelle",Repeat:QH,Restart:eW,Result:tW,"Resume execution":"Riprendi esecuzione","Root folder":"Cartella root","Rules description":"Crea regole con i blocchi IF, THEN, ELSE","Run script":"Esegui script",Sa:sW,Saturday:oW,Save:iW,"Save all":"Salva tutto","Say It":"Say It","Say some text via sayit adapter":"Pronuncia del testo tramite l'adattatore sayit",Schedule:nW,Script:rW,"Script %s was modified on disk":"Lo script %s è stato modificato sul disco","Script is not running":"Lo script non è in esecuzione","Search in scripts":"Cerca negli script","Search...":"Ricerca...","Select all":"Seleziona tutto","Send email":"Invia una email","Sends an email":"Invia un'e-mail","Sends message via Pushsafer":"Invia messaggio tramite Pushsafer","Sends message via pushover":"Invia messaggio tramite pushover","Sends message via telegram":"Invia messaggio tramite telegramma","Sends message via whatsapp-cmb":"Invia messaggio tramite whatsapp-cmb",September:aW,"Server time":"Ora del server","Set state action":"Imposta l'azione dello stato","Set with delay":"Impostato con ritardo","Shell command":"Comando Shell","Show astronomical events":"Mostra eventi astronomici","Show javascript code":"Mostra codice Javascript","Show logs":"Mostra i log","Show only paused scripts":"Mostra solo script in pausa","Show only running scripts":"Mostra solo gli script in esecuzione","Show only scripts with problems":"Mostra solo script con problemi",Simulate:lW,"Some files will be rejected":"Alcuni file verranno rifiutati","Sound:":"Suono:",Stack:cW,Start:uW,"Start script":"Avvia script",State:dW,"State condition":"Condizione dello stato","Step into function":"Entra in funzione","Step out from function":"Esci dalla funzione","Stop on exception":"Ferma in caso di eccezione",Su:hW,"Subject:":"Soggetto:",Sunday:pW,"TS description":"Creare regole scrivendo dattiloscritto",Telegram:gW,"Text:":"Testo:",Th:mW,"The script will be stopped and must be activated manually after debugging. Continue?":"Lo script verrà interrotto e dovrà essere attivato manualmente dopo il debug. Continua?","This is advances option. You can write your own code here and it will be executed on trigger":"Questa è un'opzione anticipata. Puoi scrivere il tuo codice qui e verrà eseguito al trigger",Thursday:fW,Time:$W,"Time condition":"Condizione temporale","Title:":"Titolo:","To:":"Per:","Trigger with value":"Trigger con valore",Triggered:bW,Triggers:vW,"Triggers the on script saving or the javascript instance restart":"Attiva il salvataggio dello script o il riavvio dell'istanza javascript","Triggers the rule on update or change of some state":"Attiva la regola in caso di aggiornamento o modifica di uno stato","Triggers the rule periodically or on some specific time":"Attiva la regola periodicamente o in un momento specifico",Tu:yW,Tuesday:_W,URL:wW,"Unknown error":"Errore sconosciuto","Unknown error!":"Errore sconosciuto!","Use generated code":"Usa il codice generato","User function":"Funzione utente","User:":"Utente:",Value:CW,"Vibration:":"Vibrazione:",Volume:TW,We:kW,Wednesday:SW,"Whatsapp-cmb":"Whatsapp-cmb",Write:EW,"Write your own code":"Scrivi il tuo codice",Yes:IW,"Yet exists!":"Esiste ancora!","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"È possibile utilizzare %s nell'URL per utilizzare il valore di trigger corrente, %id per utilizzare l'ID dell'oggetto attivato, %name per mostrare il nome dell'ID dell'oggetto attivato o %old per utilizzare il vecchio valore di trigger","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"È possibile utilizzare %s nel comando per utilizzare il valore di trigger corrente, %id per utilizzare l'ID dell'oggetto attivato, %name per mostrare il nome dell'ID dell'oggetto attivato o %old per utilizzare il vecchio valore di trigger","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"È possibile utilizzare %s nel testo per visualizzare il valore di trigger corrente, %id per utilizzare l'ID dell'oggetto attivato, %name per mostrare il nome dell'ID dell'oggetto attivato o %old per utilizzare il vecchio valore di trigger","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"È possibile utilizzare %s nel valore per utilizzare il valore di trigger corrente, %id per utilizzare l'ID dell'oggetto attivato, %name per mostrare il nome dell'ID dell'oggetto attivato o %old per utilizzare il vecchio valore di trigger","You have to enter OpenAI API key in the configuration of javascript adapter.":"Devi inserire la chiave API OpenAI nella configurazione dell'adattatore javascript.","You have to enter at least one API key in the configuration of javascript adapter.":"Devi inserire almeno una chiave API (OpenAI, Anthropic o Gemini) nella configurazione dell'adattatore javascript.","Please select a valid model":"Seleziona un modello valido","[equal]":"[pari]","[greater or equal]":"[maggiore o uguale]","[greater]":"[maggiore]","[hysteresis]":"[isteresi]","[includes]":"[include]","[less or equal]":"[minore o uguale]","[less]":"[Di meno]","[not equal]":"[non uguale]",acknowledgment:xW,all:DW,and:AW,astro:RW,at:OW,"clear running":"chiara esecuzione",control:MW,copy:NW,cron:LW,dawn:PW,debug_help:BW,debug_label:jW,default:"predefinito",dusk:FW,easy:zW,else:"altro","equal to":"uguale a",every:UW,"every hour at 0 minutes":"ogni ora a 0 minuti",false:"falso","file reading has failed: %s":"lettura file non riuscita: %s","file reading was aborted":"la lettura del file è stata interrotta",filter_func:HW,filter_id:WW,filter_name:VW,filter_role:GW,filter_room:KW,"for edit or create script":"per modificare o creare un nuovo script","for professionals":"per i professionisti","for programmers":"per i programmatori",goldenHour:YW,goldenHourEnd:JW,"greater or equal":"maggiore o uguale","greater or equal to":"maggiore o uguale a","greater than":"più grande di",help_just_check:qW,help_on_change:XW,"high priority":"priorità alta","high-priority":"priorità alta","highest priority":"massima priorità",hours:ZW,includes:QW,interval:eV,"just check":"controlla solamente","less or equal":"inferiore o uguale","less or equal to":"minore o uguale a","less than":"meno di","lower priority":"priorità inferiore","lowest priority":"priorità più bassa",magic:tV,milliseconds:sV,minutes:oV,ms:iV,nadir:nV,nauticalDawn:rV,nauticalDusk:aV,nextSunrise:lV,nextSunset:cV,night:uV,nightEnd:dV,"no blocks found":"Nessun blocco trovato","no group":"NESSUN GRUPPO",normal:hV,"normal priority":"priorità normale","not equal to":"non uguale a","not properly connected":"Questo blocco non è correttamente collegato ad altri blocchi.",offset:pV,"on change":"sul cambiamento","on condition change":"a cambio di condizione","on update":"in aggiornamento",one:gV,or:mV,quiet:fV,"reset search":"resetta la ricerca",search:$V,seconds:bV,solarNoon:vV,"store in":"conservare in",sunrise:yV,sunriseEnd:_V,sunset:wV,sunsetStart:CV,then:TV,"toggle value":"alterna valore",tooltip_ack:kV,tooltip_from:SV,tooltip_lc:EV,tooltip_quality:IV,tooltip_ts:xV,tooltip_user:DV,tooltip_value:AV,true:"vero",two:RV,undefined:"non definito",update:OV,"use seconds":"usa i secondi","use trigger value":"usa il trigger",verbose_help:MV,verbose_label:NV,when:LV,with:"con","with date":"con data","with offset":"con offset",wizard:PV,"Loading models...":"Caricamento modelli...","Could not connect to API at %s":"Impossibile connettersi all'API su %s","Invalid API key":"Chiave API non valida","Access denied by API":"Accesso negato dall'API","API error: %s":"Errore API: %s",'Model "%s" not found':'Modello "%s" non trovato',"Request failed: %s":"Richiesta fallita: %s",Retry:BV,"No running javascript instance found":"Nessuna istanza JavaScript in esecuzione trovata"},FV="Erkend",zV="Acties",UV="Toevoegen",HV="Alle",WV="Ieder",VV="Solliciteer",GV="april",KV="Vragen",YV="Astronomisch",JV="augustus",qV="annuleren",XV="Dichtbij",ZV="Staat",QV="Voorwaarden",eG="Troosten",tG="Gekopieerd",sG="december",oG="Standaard",iG="Vertraging",nG="Verwijder",rG="Beschrijving",aG="Gedaan",lG="Exec shell",cG="Uitleg",uG="Exporteren",dG="Februari",hG="februari",pG="Filter",gG="Map",mG="Vr",fG="vrijdag",$G="ID kaart",bG="ID1",vG="ID2",yG="Importeren",_G="Voorbeeld",wG="Instanties",CG="Instructies",TG="Januar",kG="januari",SG="juli",EG="juni",IG="Begrenzing",xG="maart",DG="mei",AG="Menu",RG="Bericht",OG="Ma",MG="Model",NG="maandag",LG="Maand",PG="Meer",BG="Naam",jG="november",FG="OK",zG="oktober",UG="OK",HG="Pauze",WG="Pushover",VG="Duwijzer",GG="andere naam geven",KG="Herhaling",YG="Herstarten",JG="Resultaat",qG="Za",XG="zaterdag",ZG="Opslaan",QG="Schema",e5="Script",t5="september",s5="Simuleren",o5="Stack",i5="Begin",n5="Staat",r5="Zo",a5="zondag",l5="Telegram",c5="4",u5="donderdag",d5="Tijd",h5="Veroorzaakt",p5="Triggers",g5="Di",m5="dinsdag",f5="URL",$5="Waarde",b5="Volume",v5="3",y5="woensdag",_5="Schrijven",w5="Ja",C5="erkenning",T5="alle",k5="en",S5="astro",E5="Bij",I5="controle",x5="kopiëren",D5="cron",A5="dageraad",R5="Dit is een speciale modus waarin toestanden en objecten niet veranderen. Maar alleen informatie over elke geplande wijziging wordt in het protocol weergegeven.",O5="Debuggen",M5="schemer",N5="eenvoudig",L5="elke",P5="Functie",B5="ID kaart",j5="Naam",F5="Rol",z5="Kamer",U5="gouden uur",H5="Einde van gouden uur",W5='De code wordt alleen uitgevoerd als de voorwaarde waar is. Bijv. als het triggeren op de temperatuursensorwaarde en de conditie is "als de temperatuur hoger is dan 20 ° C", zullen de "dan" acties worden uitgevoerd elke keer dat de sensor de temperatuur verzendt en deze hoger is dan 20 ° C. Bij 21 ° C, bij 22 ° C enzovoort.',V5='De code wordt alleen uitgevoerd als het conditieresultaat verandert. Bijv. als de temperatuursensor wordt geactiveerd en de conditie is "als de temperatuur hoger is dan 20 ° C", worden de "dan" -acties eenmaal uitgevoerd wanneer de temperatuur hoger is dan 20. De volgende keer worden de "dan" -acties uitgevoerd wanneer de temperatuur faalt onder de 20 en stijgt dan weer boven de 20.',G5="uren",K5="omvat",Y5="interval",J5="magie",q5="milliseconden",X5="minuten",Z5="ms",Q5="nadir",e3="Nautische dageraad",t3="Nautische schemering",s3="Volgende zonsopgang",o3="Volgende zonsondergang",i3="nacht",n3="Einde van de nacht",r3="normaal",a3="compensatie",l3="een",c3="of",u3="stil",d3="zoeken",h3="seconden",p3="Zonne-middag",g3="zonsopkomst",m3="Einde zonsopgang",f3="zonsondergang",$3="Begin van de zonsondergang",b3="vervolgens",v3="Erkennen",y3="Van",_3="Laatst gewijzigd",w3="Kwaliteit",C3="tijdstempel",T3="Gebruiker",k3="Waarde",S3="twee",E3="bijwerken",I3="Voegt foutopsporingsuitvoer toe aan het logboek voor veel systeemopdrachten",x3="Uitgebreide log-uitgangen",D3="wanneer",A3="tovenaar",R3="Opnieuw proberen",O3={"%s not found":"%s niet gevonden","()":"()","(at %s)":"(op %s)","(optional)":"(optioneel)","-":"-",".":".","AI code generator":"AI-codegenerator",Ack:FV,Actions:zV,"Actual time of day":"Werkelijke tijd van de dag",Add:UV,"Add new script":"Nieuw script toevoegen",All:HV,"All files will be accepted":"Alle bestanden worden geaccepteerd",Any:WV,"Any month":"Elke maand",Apply:VV,April:GV,"Are you sure?":"Weet je zeker dat?",Ask:KV,Astronomical:YV,"Astronomical events today":"Astronomische gebeurtenissen vandaag",August:JV,"Blockly description":"Regels maken door grafische blokken","Body:":"Lichaam:",Cancel:qV,"Cannot delete non empty item!":"Kan niet leeg item niet verwijderen!","Change layout":"Opmaak veranderen",'Change theme (actual "%s")':'Thema wijzigen (nu - "%s")',"Check blocks":"Controleer blokken","Check is not active, because javascript adapter is disabled":"Controle is niet actief, omdat Javascript-adapter is uitgeschakeld","Clear search input":"Zoekopdracht wissen","Click on this icon":"Klik op dit pictogram",Close:XV,"Close all but current":"Alles sluiten behalve huidig","Collapse all":"Alles inklappen","Compares current time with astronomical event":"Vergelijkt huidige tijd met astronomische gebeurtenis","Compares current time with the user specific time":"Vergelijkt de huidige tijd met de gebruikerspecifieke tijd","Compares the state value with user defined value":"Vergelijkt de statuswaarde met de door de gebruiker gedefinieerde waarde",Condition:ZV,Conditions:QV,"Configuration not saved.":"Configuratie niet opgeslagen.",Console:eG,"Control or update some state":"Beheer of update een bepaalde staat","Control or update some state with delay":"Beheer of update een bepaalde staat met vertraging","Convert blockly to javascript for ever.":"Converteer direct blockly naar Javascript.",Copied:tG,"Copy script":"Kopieer script","Copy to clipboard":"Kopieer naar klembord","Create new":"Maak nieuw","Create new folder":"Maak een nieuwe map","Create new script":"Maak een nieuw script","Create or edit CRON or time wizard":"Creëer of bewerk CRON of tijdwizard","Dark Theme":"Donker thema","Dark style":"Donkere stijl",Date:"Datum","Debug instance":"Debug-instantie","Debug options":"Foutopsporingsopties",December:sG,Default:oG,"Define cron...":"Definieer cron ...","Define schedule...":"Definieer schema ...",Delay:iG,Delete:nG,"Delete %s":"%s verwijderen ...","Delete folder":"Verwijder map","Delete script":"Script verwijderen",Description:rG,"Deselect all":"Deselecteer alles","Discard changes for %s":"Wijzigingen voor %s annuleren",Done:aG,"Double click to write value":"Dubbelklikken om waarde te schrijven","Download as file":"Download","Drop some files here or click...":"Zet hier enkele bestanden neer of klik op ...","Duplicate name":"Dubbele naam","Edit script or just double click":"Bewerk het script of dubbelklik erop","Empty name is not allowed":"Lege naam is niet toegestaan","End search mode":"Zoekmodus beëindigen","Enter your question":"Voer uw verzoek in",Error:"Fout","Error formatting code":"Fout bij het opmaken van de code","Error was found":"Er is een fout gevonden","Every day":"Elke dag",Exec:lG,"Executes some shell command":"Voert een shell-commando uit","Existing scripts will be overwritten.":"Bestaande scripts worden overschreven.","Expand all":"Alles uitvouwen","Expert mode":"Expert modus",Explanation:cG,Export:uG,"Export all scripts":"Exporteer alle scripts","Export blocks":"Blokken exporteren","Export selected blocks":"Exporteer geselecteerde blokken",Februar:dG,February:hG,Filter:pG,Folder:gG,Fr:mG,Friday:fG,Function:"Functie","Function editor":"Functie-editor","Function: executed":"Functie: uitgevoerd","Go to next line":"Ga naar de volgende regel","HTTP Call":"HTTP-oproep","Hide logs":"Verberg logboeken",ID:$G,ID1:bG,ID2:vG,Import:yG,"Import blocks":"Blokken importeren","Import error":"Importfout","Import scripts":"Scripts importeren","Insert object ID":"Object-ID invoegen",Instance:_G,"Instance is disabled":"Exemplaar is uitgeschakeld","Instance:":"Voorbeeld:",Instances:wG,Instructions:CG,"Invalid CRON":"Ongeldige CRON","It will not be possible to revert this operation.":"Het is niet mogelijk om deze bewerking terug te zetten.","JS description":"Regels maken door Javascript te schrijven",Januar:TG,January:kG,July:SG,June:EG,"Just check":"Kijk maar","Language:":"Taal:","Learn More":"Leer meer","Light style":"Lichte stijl",Limit:IG,"Local time":"Lokale tijd","Locate file":"Vind het bestand","Log outputs":"Log uitgangen","Log text":"Log tekst","Log: %s":"Logboek: %s","Make a HTTP get request":"Maak een HTTP-ophaalverzoek","Make a pause between actions":"Pauzeer tussen acties",March:xG,"March ":"maart",May:DG,Menu:AG,Message:RG,Mo:OG,Model:MG,Monday:NG,Month:LG,More:PG,Name:BG,"No API key found":"Geen API-sleutel gevonden","No Chat GPT Key found":"Geen Chat GPT-sleutel gevonden","No active host found":"Geen actieve host gevonden","Nothing found":"Niets gevonden",November:jG,OK:FG,October:zG,Ok:UG,"On condition change":"Op voorwaarde verandering","On script save or adapter start":"Bij het opslaan van het script of het starten van de adapter","On weekdays":"Op weekdagen","Open configuration":"Configuratie openen","Operate two states":"Bedien twee toestanden:","Operations with two states":"Bewerkingen met twee toestanden","Paste your blocks here":"Plak hier je blokken",Pause:HG,"Pause execution":"Uitvoering pauzeren","Pause script":"Pauzeer script","Phone:":"Telefoon:","Please select object ID...":"Selecteer object-ID ...","Press Ctrl+Enter to get the answer":"Druk op Ctrl+Enter om het antwoord te krijgen","Prettify the script":"Maak het script mooier","Print some text in log":"Druk wat tekst af in het logboek","Priority:":"Prioriteit:",Pushover:WG,Pushsafer:VG,"Read only ID selected: %s":"Alleen-lezen ID geselecteerd: %s",Rename:GG,"Reorder scripts in folders":"Sorteer scripts in mappen opnieuw",Repeat:KG,Restart:YG,Result:JG,"Resume execution":"Uitvoering hervatten","Root folder":"Hoofdmap","Rules description":"Maak regels met IF, THEN, ELSE blokken","Run script":"Voer script uit",Sa:qG,Saturday:XG,Save:ZG,"Save all":"Sla alles op","Say It":"Say It","Say some text via sayit adapter":"Zeg wat tekst via de sayit-adapter",Schedule:QG,Script:e5,"Script %s was modified on disk":"Script %s is gewijzigd op schijf","Script is not running":"Script is niet actief","Search in scripts":"Zoeken in scripts","Search...":"Zoeken...","Select all":"Selecteer alles","Send email":"E-mail verzenden","Sends an email":"Stuurt een e-mail","Sends message via Pushsafer":"Stuurt bericht via Pushsafer","Sends message via pushover":"Stuurt bericht via pushover","Sends message via telegram":"Verzendt bericht via telegram","Sends message via whatsapp-cmb":"Stuurt bericht via whatsapp-cmb",September:t5,"Server time":"Servertijd","Set state action":"Stel statusactie in","Set with delay":"Met vertraging ingesteld","Shell command":"Shell-opdracht","Show astronomical events":"Laat astronomische gebeurtenissen zien","Show javascript code":"Javascript-code weergeven","Show logs":"Toon logboeken","Show only paused scripts":"Toon alleen onderbroken scripts","Show only running scripts":"Toon alleen actieve scripts","Show only scripts with problems":"Toon alleen scripts met problemen",Simulate:s5,"Some files will be rejected":"Sommige bestanden worden geweigerd","Sound:":"Geluid:",Stack:o5,Start:i5,"Start script":"Start het script",State:n5,"State condition":"Staat staat","Step into function":"Stap in functie","Step out from function":"Stap uit de functie","Stop on exception":"Stop bij uitzondering",Su:r5,"Subject:":"Onderwerpen:",Sunday:a5,"TS description":"Regels maken door Typescript te schrijven",Telegram:l5,"Text:":"Tekst:",Th:c5,"The script will be stopped and must be activated manually after debugging. Continue?":"Het script wordt gestopt en moet na het debuggen handmatig worden geactiveerd. Doorgaan met?","This is advances option. You can write your own code here and it will be executed on trigger":"Dit is een voorschotoptie. U kunt hier uw eigen code schrijven en deze wordt bij een trigger uitgevoerd",Thursday:u5,Time:d5,"Time condition":"Tijdsvoorwaarde","Title:":"Titel:","To:":"Naar:","Trigger with value":"Trigger met waarde",Triggered:h5,Triggers:p5,"Triggers the on script saving or the javascript instance restart":"Activeert het opslaan van het script of het opnieuw opstarten van de JavaScript-instantie","Triggers the rule on update or change of some state":"Activeert de regel voor het bijwerken of wijzigen van een bepaalde staat","Triggers the rule periodically or on some specific time":"Activeert de regel periodiek of op een specifieke tijd",Tu:g5,Tuesday:m5,URL:f5,"Unknown error":"Onbekende fout","Unknown error!":"Onbekende fout!","Use generated code":"Gebruik gegenereerde code","User function":"Gebruikersfunctie","User:":"Gebruiker:",Value:$5,"Vibration:":"Trilling:",Volume:b5,We:v5,Wednesday:y5,"Whatsapp-cmb":"Whatsapp-cmb",Write:_5,"Write your own code":"Schrijf je eigen code",Yes:w5,"Yet exists!":"Toch bestaat!","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"U kunt %s in de URL gebruiken om de huidige triggerwaarde te gebruiken, %id om de geactiveerde object-ID te gebruiken, %name om de geactiveerde object-ID-naam te tonen of %old om de oude triggerwaarde te gebruiken","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"U kunt %s in de opdracht gebruiken om de huidige triggerwaarde te gebruiken, %id om de getriggerde object-ID te gebruiken, %name om de getriggerde object-ID-naam te tonen of %old om de oude triggerwaarde te gebruiken","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"U kunt %s in de tekst gebruiken om de huidige triggerwaarde weer te geven, %id om de geactiveerde object-ID te gebruiken, %name om de geactiveerde object-ID-naam weer te geven of %old om de oude triggerwaarde te gebruiken","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"U kunt %s in de waarde gebruiken om de huidige triggerwaarde te gebruiken, %id om de geactiveerde object-ID te gebruiken, %name om de geactiveerde object-ID-naam te tonen of %old om de oude triggerwaarde te gebruiken","You have to enter OpenAI API key in the configuration of javascript adapter.":"U moet de OpenAI API-sleutel invoeren in de configuratie van de javascript-adapter.","You have to enter at least one API key in the configuration of javascript adapter.":"U moet ten minste één API-sleutel (OpenAI, Anthropic of Gemini) invoeren in de configuratie van de javascript-adapter.","Please select a valid model":"Selecteer een geldig model","[equal]":"[Gelijk]","[greater or equal]":"[groter of gelijk]","[greater]":"[groter]","[hysteresis]":"[hysterese]","[includes]":"[inclusief]","[less or equal]":"[minder of gelijk]","[less]":"[minder]","[not equal]":"[niet gelijk]",acknowledgment:C5,all:T5,and:k5,astro:S5,at:E5,"clear running":"duidelijk rennen",control:I5,copy:x5,cron:D5,dawn:A5,debug_help:R5,debug_label:O5,default:"standaard",dusk:M5,easy:N5,else:"anders","equal to":"gelijk aan",every:L5,"every hour at 0 minutes":"elk uur op 0 minuten",false:"false","file reading has failed: %s":"bestands lezen is mislukt: %s","file reading was aborted":"bestands lezen is afgebroken",filter_func:P5,filter_id:B5,filter_name:j5,filter_role:F5,filter_room:z5,"for edit or create script":"voor bewerken of een nieuw script maken","for professionals":"voor professionals","for programmers":"voor programmeurs",goldenHour:U5,goldenHourEnd:H5,"greater or equal":"groter of gelijk","greater or equal to":"groter of gelijk aan","greater than":"groter dan",help_just_check:W5,help_on_change:V5,"high priority":"hoge prioriteit","high-priority":"hoge prioriteit","highest priority":"hoogste prioriteit",hours:G5,includes:K5,interval:Y5,"just check":"kijk maar","less or equal":"minder of gelijk","less or equal to":"minder of gelijk aan","less than":"minder dan","lower priority":"lagere prioriteit","lowest priority":"laagste prioriteit",magic:J5,milliseconds:q5,minutes:X5,ms:Z5,nadir:Q5,nauticalDawn:e3,nauticalDusk:t3,nextSunrise:s3,nextSunset:o3,night:i3,nightEnd:n3,"no blocks found":"Geen blokken gevonden","no group":"GEEN GROEP",normal:r3,"normal priority":"normale prioriteit","not equal to":"niet gelijk aan","not properly connected":"Dit blok is niet correct verbonden met andere blokken.",offset:a3,"on change":"bij verandering","on condition change":"op voorwaarde verandering","on update":"bij update",one:l3,or:c3,quiet:u3,"reset search":"reset zoeken",search:d3,seconds:h3,solarNoon:p3,"store in":"opslaan in",sunrise:g3,sunriseEnd:m3,sunset:f3,sunsetStart:$3,then:b3,"toggle value":"schakelwaarde",tooltip_ack:v3,tooltip_from:y3,tooltip_lc:_3,tooltip_quality:w3,tooltip_ts:C3,tooltip_user:T3,tooltip_value:k3,true:"waar",two:S3,undefined:"ongedefinieerd",update:E3,"use seconds":"gebruik seconden","use trigger value":"triggerwaarde gebruiken",verbose_help:I3,verbose_label:x3,when:D3,with:"met","with date":"met datum","with offset":"met offset",wizard:A3,"Loading models...":"Modellen laden...","Could not connect to API at %s":"Kan geen verbinding maken met API op %s","Invalid API key":"Ongeldige API-sleutel","Access denied by API":"Toegang geweigerd door API","API error: %s":"API-fout: %s",'Model "%s" not found':'Model "%s" niet gevonden',"Request failed: %s":"Verzoek mislukt: %s",Retry:R3,"No running javascript instance found":"Geen draaiende JavaScript-instantie gevonden"},M3="Potwierdzony",N3="Działania",L3="Dodaj",P3="Wszystko",B3="Każdy",j3="Zastosuj",F3="Kwiecień",z3="Zapytać",U3="Astronomiczny",H3="Sierpień",W3="Odwołaj",V3="Zamknij",G3="Stan",K3="Warunki",Y3="Konsola",J3="Skopiowano",q3="Grudzień",X3="Domyślna",Z3="Opóźnienie",Q3="Usuń",e4="Opis",t4="Gotowe",s4="Uruchom shell",o4="Wyjaśnienie",i4="Eksport",n4="Luty",r4="Luty",a4="Filtr",l4="Folder",c4="Pt",u4="Piątek",d4="ID",h4="ID1",p4="ID2",g4="Import",m4="Instancja",f4="Instancje",$4="Instrukcje",b4="Styczeń",v4="Styczeń",y4="Lipiec",_4="Czerwiec",w4="Limit",C4="Marzec",T4="Maj",k4="Menu",S4="Wiadomość",E4="Po",I4="Model",x4="Poniedziałek",D4="Miesiąc",A4="Więcej",R4="Nazwa",O4="Listopad",M4="OK",N4="Październik",L4="Ok",P4="Pauza",B4="Pushover",j4="Pushsafer",F4="Przemianuj",z4="Powtórz",U4="Uruchom ponownie",H4="Wynik",W4="So",V4="Sobota",G4="Zapisz",K4="Harmonogram",Y4="Skrypt",J4="Wrzesień",q4="Symulacja",X4="Stos",Z4="Początek",Q4="Stan",e8="Nd",t8="Niedziela",s8="Telegram",o8="Cz",i8="Czwartek",n8="Czas",r8="Wyzwolony",a8="Wyzwalacze",l8="Wt",c8="Wtorek",u8="URL",d8="Wartość",h8="Wolumen",p8="Śr",g8="Środa",m8="Pisać",f8="Tak",$8="potwierdzenie",b8="wszystko",v8="i",y8="Astro",_8="w",w8="kontrola",C8="Kopiuj",T8="CRON",k8="Świt",S8="Jest to specjalny tryb, w którym stany i obiekty się nie zmieniają. Jednak w protokole będą wyświetlane tylko informacje o każdej planowanej zmianie.",E8="Odpluskwić",I8="Zmierzch",x8="łatwy",D8="każdy",A8="Funkcja",R8="ID",O8="Nazwa",M8="Rola",N8="Pokój",L8="Złota godzina",P8="Koniec złotej godziny",B8="Kod zostanie wykonany tylko za każdym razem, gdy warunek będzie spełniony. Na przykład. jeśli wyzwalanie na wartość czujnika temperatury i warunek to „jeśli temperatura jest wyższa niż 20 ° C”, to działania „następnie” będą wykonywane za każdym razem, gdy czujnik wyśle temperaturę i jest powyżej 20 ° C. O 21 ° C, o 22 ° C i tak dalej.",j8="Kod zostanie wykonany tylko wtedy, gdy wynik warunku ulegnie zmianie. Na przykład. jeśli wyzwalanie na wartość czujnika temperatury i warunek „jeśli temperatura jest wyższa niż 20 ° C”, to akcje „następnie” zostaną wykonane raz, gdy temperatura przekroczy 20. Następnym razem działania „następnie” zostaną wykonane, gdy temperatura nie udaje się poniżej 20, a następnie ponownie wzrasta powyżej 20.",F8="godziny",z8="zawiera",U8="interwał",H8="magia",W8="milisekund",V8="minuty",G8="ms",K8="Północ słoneczna",Y8="Żeglarski świt",J8="Żeglarski zmierzch",q8="Następny wschód słońca",X8="Następny zachód słońca",Z8="Noc",Q8="Koniec nocy",e6="normalny",t6="przesunięcie",s6="jeden",o6="lub",i6="cisza",n6="Szukaj",r6="sekundy",a6="Południe słoneczne",l6="Wschód słońca",c6="Koniec wschodu słońca",u6="Zachód słońca",d6="Początek zachodu słońca",h6="następnie",p6="Akceptuj",g6="Od",m6="Ostatnia zmiana",f6="Jakość",$6="Znacznik czasu",b6="Użytkownik",v6="Wartość",y6="dwa",_6="aktualizacja",w6="Dodaje wyniki debugowania do dziennika dla wielu poleceń systemowych",C6="Pełne dane wyjściowe dziennika",T6="gdy",k6="Wizard",S6="Ponów próbę",E6={"%s not found":"%s nie znaleziono","()":"()","(at %s)":"(w %s)","(optional)":"(opcjonalny)","-":"-",".":".","AI code generator":"Generator kodu AI",Ack:M3,Actions:N3,"Actual time of day":"Aktualna pora dnia",Add:L3,"Add new script":"Dodaj nowy skrypt",All:P3,"All files will be accepted":"Wszystkie pliki zostaną zaakceptowane",Any:B3,"Any month":"Dowolny miesiąc",Apply:j3,April:F3,"Are you sure?":"Jesteś pewny?",Ask:z3,Astronomical:U3,"Astronomical events today":"Wydarzenia astronomiczne dzisiaj",August:H3,"Blockly description":"Tworzenie reguł za pomocą bloków graficznych","Body:":"Treść:",Cancel:W3,"Cannot delete non empty item!":"Nie można usunąć niepustego elementu!","Change layout":"Zmiana układu",'Change theme (actual "%s")':"Zmień motyw (obecnie - „%s”)","Check blocks":"Sprawdź bloki","Check is not active, because javascript adapter is disabled":"Sprawdzanie nie jest aktywne, ponieważ adapter Javascript jest wyłączony","Clear search input":"Wyczyść dane wyszukiwania","Click on this icon":"Kliknij tę ikonę",Close:V3,"Close all but current":"Zamknij wszystkie oprócz bieżących","Collapse all":"Zwinąć wszystkie","Compares current time with astronomical event":"Porównuje aktualny czas z wydarzeniem astronomicznym","Compares current time with the user specific time":"Porównuje aktualny czas z czasem określonym przez użytkownika","Compares the state value with user defined value":"Porównuje wartość stanu z wartością zdefiniowaną przez użytkownika",Condition:G3,Conditions:K3,"Configuration not saved.":"Konfiguracja nie została zapisana.",Console:Y3,"Control or update some state":"Kontroluj lub aktualizuj stan","Control or update some state with delay":"Kontroluj lub aktualizuj jakiś stan z opóźnieniem","Convert blockly to javascript for ever.":"Bezpowrotna konwersja Blockly na Javascript.",Copied:J3,"Copy script":"Skopiuj skrypt","Copy to clipboard":"Skopiuj do schowka","Create new":"Utwórz nowy","Create new folder":"Utwórz nowy folder","Create new script":"Utwórz nowy skrypt","Create or edit CRON or time wizard":"Utwórz lub edytuj CRON lub kreator czasu","Dark Theme":"Ciemny schemat","Dark style":"Ciemny styl",Date:"Data","Debug instance":"Debuguj instancję","Debug options":"Opcje debugowania",December:q3,Default:X3,"Define cron...":"Zdefiniuj CRON ...","Define schedule...":"Zdefiniuj harmonogram ...",Delay:Z3,Delete:Q3,"Delete %s":"Usuń %s ...","Delete folder":"Usuń folder","Delete script":"Usuń skrypt",Description:e4,"Deselect all":"Odznacz wszystkie","Discard changes for %s":"Odrzuć zmiany dla %s",Done:t4,"Double click to write value":"Kliknij dwukrotnie, aby zapisać wartość","Download as file":"Download jako plik plik","Drop some files here or click...":"Upuść niektóre pliki tutaj lub kliknij ...","Duplicate name":"Duplikat nazwy","Edit script or just double click":"Edytuj skrypt lub po prostu kliknij dwukrotnie","Empty name is not allowed":"Pusta nazwa jest niedozwolona","End search mode":"Zakończ tryb wyszukiwania","Enter your question":"Wpisz swoją prośbę",Error:"Błąd","Error formatting code":"Błąd formatowania kodu","Error was found":"Błąd został znaleziony","Every day":"Codziennie",Exec:s4,"Executes some shell command":"Wykonuje polecenie powłoki","Existing scripts will be overwritten.":"Istniejące skrypty zostaną zastąpione.","Expand all":"Rozwiń wszystkie","Expert mode":"Tryb ekspercki",Explanation:o4,Export:i4,"Export all scripts":"Wyeksportuj wszystkie skrypty","Export blocks":"Eksportuj bloki","Export selected blocks":"Eksportuj wybrane bloki",Februar:n4,February:r4,Filter:a4,Folder:l4,Fr:c4,Friday:u4,Function:"Funkcja","Function editor":"Edytor funkcji","Function: executed":"Funkcja: wykonywana","Go to next line":"Przejdź do następnej linii","HTTP Call":"Połączenie HTTP","Hide logs":"Ukryj dzienniki",ID:d4,ID1:h4,ID2:p4,Import:g4,"Import blocks":"Importuj bloki","Import error":"Błąd importowania","Import scripts":"Importuj skrypty","Insert object ID":"Wstaw identyfikator obiektu",Instance:m4,"Instance is disabled":"Instancja jest wyłączona","Instance:":"Instancja:",Instances:f4,Instructions:$4,"Invalid CRON":"Nieprawidłowy CRON","It will not be possible to revert this operation.":"Cofnięcie tej operacji nie będzie możliwe.","JS description":"Tworzenie reguł w Javascript",Januar:b4,January:v4,July:y4,June:_4,"Just check":"Po prostu sprawdź","Language:":"Język:","Learn More":"Ucz się więcej","Light style":"Lekki styl",Limit:w4,"Local time":"Czas lokalny","Locate file":"Znajdź plik","Log outputs":"Log dziennika","Log text":"Tekst dziennika","Log: %s":"Dziennik: %s","Make a HTTP get request":"Złóż żądanie HTTP get","Make a pause between actions":"Zrób przerwę między czynnościami",March:C4,"March ":"Marzec ",May:T4,Menu:k4,Message:S4,Mo:E4,Model:I4,Monday:x4,Month:D4,More:A4,Name:R4,"No API key found":"Nie znaleziono klucza API","No Chat GPT Key found":"Nie znaleziono klucza GPT czatu","No active host found":"Nie znaleziono aktywnego hosta","Nothing found":"Nic nie znaleziono",November:O4,OK:M4,October:N4,Ok:L4,"On condition change":"W przypadku zmiany warunków","On script save or adapter start":"Podczas zapisywania skryptu lub uruchamiania adaptera","On weekdays":"W dni powszednie","Open configuration":"Otwarta konfiguracja","Operate two states":"Obsługuj dwa stany","Operations with two states":"Operacje z dwoma stanami","Paste your blocks here":"Wklej tutaj swoje bloki",Pause:P4,"Pause execution":"Wstrzymaj wykonanie","Pause script":"Wstrzymaj skrypt","Phone:":"Telefon:","Please select object ID...":"Wybierz identyfikator obiektu ...","Press Ctrl+Enter to get the answer":"Naciśnij klawisze Ctrl+Enter, aby uzyskać odpowiedź","Prettify the script":"Upiększ skrypt","Print some text in log":"Wydrukuj tekst w dzienniku","Priority:":"Priorytet:",Pushover:B4,Pushsafer:j4,"Read only ID selected: %s":"Wybrano identyfikator tylko do odczytu: %s",Rename:F4,"Reorder scripts in folders":"Zmień kolejność skryptów w folderach",Repeat:z4,Restart:U4,Result:H4,"Resume execution":"Wznów wykonanie","Root folder":"Folder główny","Rules description":"Twórz reguły z blokami IF, THEN, ELSE","Run script":"Uruchom skrypt",Sa:W4,Saturday:V4,Save:G4,"Save all":"Zapisz wszystko","Say It":"Wypowiedz","Say some text via sayit adapter":"Powiedz tekst przez adapter sayit",Schedule:K4,Script:Y4,"Script %s was modified on disk":"Skrypt %s został zmodyfikowany na dysku","Script is not running":"Skrypt nie działa","Search in scripts":"Szukaj w skryptach","Search...":"Szukaj...","Select all":"Zaznacz wszystko","Send email":"Wysłać email","Sends an email":"Wysyła e-mail","Sends message via Pushsafer":"Wysyła wiadomość przez Pushsafer","Sends message via pushover":"Wysyła wiadomość przez pushover","Sends message via telegram":"Wysyła wiadomość telegramem","Sends message via whatsapp-cmb":"Wysyła wiadomość przez WhatsApp-cmb",September:J4,"Server time":"Czas serwera","Set state action":"Ustaw stan działania","Set with delay":"Ustaw z opóźnieniem","Shell command":"Polecenie powłoki","Show astronomical events":"Pokaż wydarzenia astronomiczne","Show javascript code":"Pokaż kod JavaScript","Show logs":"Pokaż dzienniki","Show only paused scripts":"Pokaż tylko wstrzymane skrypty","Show only running scripts":"Pokaż tylko działające skrypty","Show only scripts with problems":"Pokaż tylko skrypty z problemami",Simulate:q4,"Some files will be rejected":"Niektóre pliki zostaną odrzucone","Sound:":"Dźwięk:",Stack:X4,Start:Z4,"Start script":"Uruchom skrypt",State:Q4,"State condition":"Warunek stanu","Step into function":"Wejdź do funkcji","Step out from function":"Wyjdź z funkcji","Stop on exception":"Zatrzymaj się na wyjątku",Su:e8,"Subject:":"Temat:",Sunday:t8,"TS description":"Tworzenie reguł w Typescript",Telegram:s8,"Text:":"Tekst:",Th:o8,"The script will be stopped and must be activated manually after debugging. Continue?":"Skrypt zostanie zatrzymany i należy go aktywować ręcznie po debugowaniu. Kontyntynuj?","This is advances option. You can write your own code here and it will be executed on trigger":"To jest opcja zaawansowana. Możesz tutaj napisać własny kod, który zostanie wykonany po wyzwoleniu",Thursday:i8,Time:n8,"Time condition":"Warunek czasowy","Title:":"Tytuł:","To:":"Do:","Trigger with value":"Wyzwalacz z wartością",Triggered:r8,Triggers:a8,"Triggers the on script saving or the javascript instance restart":"Uruchamia zapisywanie skryptu lub restart instancji javascript","Triggers the rule on update or change of some state":"Uruchamia regułę przy aktualizacji lub zmianie jakiegoś stanu","Triggers the rule periodically or on some specific time":"Uruchamia regułę okresowo lub w określonym czasie",Tu:l8,Tuesday:c8,URL:u8,"Unknown error":"Nieznany błąd","Unknown error!":"Nieznany błąd!","Use generated code":"Użyj wygenerowanego kodu","User function":"Funkcja użytkownika","User:":"Użytkownik:",Value:d8,"Vibration:":"Wibracja:",Volume:h8,We:p8,Wednesday:g8,"Whatsapp-cmb":"Whatsapp-cmb",Write:m8,"Write your own code":"Napisz swój własny kod",Yes:f8,"Yet exists!":"A jednak istnieje!","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"Możesz użyć %s w adresie URL, aby użyć bieżącej wartości wyzwalacza, %id, aby użyć wyzwalanego identyfikatora obiektu, %name, aby wyświetlić nazwę identyfikatora wyzwalanego obiektu, lub %old, aby użyć starej wartości wyzwalacza","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"Możesz użyć %s w poleceniu, aby użyć bieżącej wartości wyzwalającej, %id, aby użyć identyfikatora wyzwalanego obiektu, %name, aby wyświetlić nazwę identyfikatora wyzwalanego obiektu, lub %old, aby użyć starej wartości wyzwalającej","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"Możesz użyć %s w tekście, aby wyświetlić aktualną wartość wyzwalającą, %id, aby użyć identyfikatora wyzwolonego obiektu, %name, aby wyświetlić nazwę identyfikatora wyzwolonego obiektu lub %old, aby użyć starej wartości wyzwalającej","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"Możesz użyć %s w wartości, aby użyć bieżącej wartości wyzwalacza, %id, aby użyć identyfikatora wyzwalanego obiektu, %name, aby wyświetlić nazwę identyfikatora wyzwalanego obiektu, lub %old, aby użyć starej wartości wyzwalacza","You have to enter OpenAI API key in the configuration of javascript adapter.":"Należy wprowadzić klucz OpenAI API w konfiguracji adaptera javascript.","You have to enter at least one API key in the configuration of javascript adapter.":"Musisz wprowadzić co najmniej jeden klucz API (OpenAI, Anthropic lub Gemini) w konfiguracji adaptera javascript.","Please select a valid model":"Wybierz prawidłowy model","[equal]":"[równy]","[greater or equal]":"[większe lub równe]","[greater]":"[większe]","[hysteresis]":"[histereza]","[includes]":"[obejmuje]","[less or equal]":"[mniejsze lub równe]","[less]":"[mniejsze]","[not equal]":"[nie równe]",acknowledgment:$8,all:b8,and:v8,astro:y8,at:_8,"clear running":"czyste uruchomienie",control:w8,copy:C8,cron:T8,dawn:k8,debug_help:S8,debug_label:E8,default:"domyślna",dusk:I8,easy:x8,else:"inaczej","equal to":"równy",every:D8,"every hour at 0 minutes":"co godzinę po 0 minutach",false:"fałsz","file reading has failed: %s":"odczyt pliku nie powiódł się: %s","file reading was aborted":"odczyt pliku został przerwany",filter_func:A8,filter_id:R8,filter_name:O8,filter_role:M8,filter_room:N8,"for edit or create script":"do edycji lub utwórz nowy skrypt","for professionals":"dla profesjonalistów","for programmers":"dla programistów",goldenHour:L8,goldenHourEnd:P8,"greater or equal":"większe lub równe","greater or equal to":"więcej lub równo","greater than":"więcej niż",help_just_check:B8,help_on_change:j8,"high priority":"wysoki priorytet","high-priority":"wysoki priorytet","highest priority":"najwyższy priorytet",hours:F8,includes:z8,interval:U8,"just check":"po prostu sprawdź","less or equal":"mniejsze lub równe","less or equal to":"mniej lub równo","less than":"mniej niż","lower priority":"niższy priorytet","lowest priority":"najniższy priorytet",magic:H8,milliseconds:W8,minutes:V8,ms:G8,nadir:K8,nauticalDawn:Y8,nauticalDusk:J8,nextSunrise:q8,nextSunset:X8,night:Z8,nightEnd:Q8,"no blocks found":"Nie znaleziono bloków","no group":"BRAK GRUPY",normal:e6,"normal priority":"normalny priorytet","not equal to":"nie równa się","not properly connected":"Ten blok nie jest poprawnie podłączony do innych bloków.",offset:t6,"on change":"na zmianę","on condition change":"pod warunkiem zmiany warunków","on update":"po aktualizacji",one:s6,or:o6,quiet:i6,"reset search":"zresetuj wyszukiwanie",search:n6,seconds:r6,solarNoon:a6,"store in":"przechowaj w",sunrise:l6,sunriseEnd:c6,sunset:u6,sunsetStart:d6,then:h6,"toggle value":"wartość przełączania",tooltip_ack:p6,tooltip_from:g6,tooltip_lc:m6,tooltip_quality:f6,tooltip_ts:$6,tooltip_user:b6,tooltip_value:v6,true:"prawda",two:y6,undefined:"nieokreślony",update:_6,"use seconds":"użyj sekund","use trigger value":"użyj wartości wyzwalającej",verbose_help:w6,verbose_label:C6,when:T6,with:"z","with date":"z datą","with offset":"z przesunięciem",wizard:k6,"Loading models...":"Ładowanie modeli...","Could not connect to API at %s":"Nie można połączyć się z API pod adresem %s","Invalid API key":"Nieprawidłowy klucz API","Access denied by API":"Odmowa dostępu przez API","API error: %s":"Błąd API: %s",'Model "%s" not found':'Model "%s" nie znaleziony',"Request failed: %s":"Żądanie nie powiodło się: %s",Retry:S6,"No running javascript instance found":"Nie znaleziono uruchomionej instancji JavaScript"},I6="Reconhecido",x6="Ações",D6="Adicionar",A6="Todos",R6="Nenhum",O6="Aplique",M6="abril",N6="Perguntar",L6="Astronômico",P6="agosto",B6="Cancelar",j6="Fechar",F6="Doença",z6="Condições",U6="Console",H6="Copiado",W6="dezembro",V6="Predefinição",G6="Atraso",K6="Deletar",Y6="Descrição",J6="Pronto",q6="Exec shell",X6="Explicação",Z6="Exportação",Q6="Februar",e9="fevereiro",t9="Filtro",s9="Pasta",o9="Fr",i9="Sexta-feira",n9="ID",r9="ID1",a9="ID2",l9="Importar",c9="Instância",u9="Instâncias",d9="Instruções",h9="Januar",p9="janeiro",g9="julho",m9="junho",f9="Limite",$9="março",b9="maio",v9="Menu",y9="mensagem",_9="Mo",w9="Modelo",C9="Segunda-feira",T9="Mês",k9="Mais",S9="Nome",E9="novembro",I9="OK",x9="outubro",D9="Ok",A9="Pausa",R9="Pushover",O9="Pushsafer",M9="Renomear",N9="Repetir",L9="Reiniciar",P9="Resultado",B9="Sá",j9="Sábado",F9="Salve",z9="Cronograma",U9="Script",H9="setembro",W9="Simular",V9="Pilha",G9="Começar",K9="Estado",Y9="Su",J9="Domingo",q9="Telegrama",X9="4",Z9="Quinta-feira",Q9="Tempo",e7="Provocado",t7="Gatilhos",s7="Tu",o7="terça",i7="URL",n7="Valor",r7="Volume",a7="3",l7="quarta",c7="Escrever",u7="sim",d7="reconhecimento",h7="todos",p7="e",g7="astro",m7="no",f7="ao controle",$7="copiar",b7="CRON",v7="alvorecer",y7="Este é um modo especial no qual estados e objetos não serão alterados. Mas apenas as informações sobre cada mudança planejada serão exibidas no protocolo.",_7="Depurar",w7="Crepúsculo",C7="fácil",T7="cada",k7="Função",S7="ID",E7="Nome",I7="Tipo",x7="Quarto",D7="Hora dourada",A7="Fim da hora de ouro",R7='O código será executado apenas sempre que a condição for verdadeira. Por exemplo. se disparar no valor do sensor de temperatura e a condição for "se a temperatura for maior que 20 ° C", as ações "então" serão executadas toda vez que o sensor enviar a temperatura e ela estiver acima de 20 ° C. Por 21 ° C, por 22 ° C e assim por diante.',O7='O código será executado apenas se o resultado da condição mudar. Por exemplo. se disparar no valor do sensor de temperatura e a condição for "se a temperatura for maior que 20 ° C", as ações "então" serão executadas uma vez quando a temperatura estiver acima de 20. Na próxima vez, as ações "então" serão executadas quando a temperatura falha abaixo de 20 e sobe acima de 20 novamente.',M7="horas",N7="inclui",L7="intervalo",P7="Magia",B7="milissegundos",j7="minutos",F7="ms",z7="nadir",U7="Madrugada náutica",H7="Crepúsculo náutico",W7="próximo nascer do sol",V7="Próximo pôr do sol",G7="Noite",K7="Fim de noite",Y7="normal",J7="Deslocamento",q7="1",X7="ou",Z7="quieto",Q7="procurar",eK="segundos",tK="Meio-dia solar",sK="nascer do sol",oK="Fim do nascer do sol",iK="pôr do sol",nK="Começo do pôr do sol",rK="então",aK="reconhecer",lK="de",cK="Última alteração",uK="Qualidade",dK="timestamp",hK="usuário",pK="valor",gK="dois",mK="atualizar",fK="Adiciona saída de depuração ao log para muitos comandos do sistema",$K="Saídas de log detalhadas",bK="quando",vK="Wizard",yK="Tentar novamente",_K={"%s not found":"%s não encontrado","()":"()","(at %s)":"(em %s)","(optional)":"(opcional)","-":"-",".":".","AI code generator":"Gerador de código de IA",Ack:I6,Actions:x6,"Actual time of day":"Hora real do dia",Add:D6,"Add new script":"Adicionar novo script",All:A6,"All files will be accepted":"Todos os arquivos serão aceitos",Any:R6,"Any month":"Qualquer mês",Apply:O6,April:M6,"Are you sure?":"Você tem certeza?",Ask:N6,Astronomical:L6,"Astronomical events today":"Eventos astronômicos hoje",August:P6,"Blockly description":"Criando regras por blocos gráficos","Body:":"Corpo:",Cancel:B6,"Cannot delete non empty item!":"Não pode ser deletar, porque não está vazio!","Change layout":"Alterar layout",'Change theme (actual "%s")':'Alterar tema (agora - "%s")',"Check blocks":"Verificar blocos","Check is not active, because javascript adapter is disabled":"A verificação de sintaxe não está ativa porque o adaptador javascript não está rodando.","Clear search input":"Limpar entrada de pesquisa","Click on this icon":"Clique neste ícone",Close:j6,"Close all but current":"Fechar tudo, menos atual","Collapse all":"Recolher todos","Compares current time with astronomical event":"Compara o tempo atual com o evento astronômico","Compares current time with the user specific time":"Compara a hora atual com a hora específica do usuário","Compares the state value with user defined value":"Compara o valor do estado com o valor definido pelo usuário",Condition:F6,Conditions:z6,"Configuration not saved.":"Configuração não esta salva.",Console:U6,"Control or update some state":"Controlar ou atualizar algum estado","Control or update some state with delay":"Controlar ou atualizar algum estado com atraso","Convert blockly to javascript for ever.":"Converter Blockly em Javascript permanentemente.",Copied:H6,"Copy script":"Copiar script","Copy to clipboard":"Copiar para área de transferência","Create new":"Crie um novo","Create new folder":"Criar nova pasta","Create new script":"Criar novo script","Create or edit CRON or time wizard":"Criar ou editar o assistente cron ou o assistente de horário","Dark Theme":"Layout escuro","Dark style":"Estilo escuro",Date:"Encontro","Debug instance":"Instância de depuração","Debug options":"Opções de depuração",December:W6,Default:V6,"Define cron...":"Definir cron...","Define schedule...":"Definir agendamento ...",Delay:G6,Delete:K6,"Delete %s":"Deletar %s...","Delete folder":"Deletar pasta","Delete script":"Deletar script",Description:Y6,"Deselect all":"Desmarcar todos","Discard changes for %s":"Descartar alterações para %s",Done:J6,"Double click to write value":"Clique duas vezes para escrever o valor","Download as file":"Baixar como arquivo","Drop some files here or click...":"Solte alguns arquivos aqui ou clique em...","Duplicate name":"Nome duplicado","Edit script or just double click":"Edite o script ou clique duas vezes","Empty name is not allowed":"Nome vazio não é permitido","End search mode":"Finalizar modo de pesquisa","Enter your question":"Digite sua solicitação",Error:"Erro","Error formatting code":"Erro de formatação de código","Error was found":"Erro foi encontrado","Every day":"Todos os dias",Exec:q6,"Executes some shell command":"Executa algum comando shell","Existing scripts will be overwritten.":"Os scripts existentes serão substituídos.","Expand all":"Expandir todos","Expert mode":"Modo de especialista",Explanation:X6,Export:Z6,"Export all scripts":"Exportar todos os scripts","Export blocks":"Exportar blocos","Export selected blocks":"Exportar blocos selecionados",Februar:Q6,February:e9,Filter:t9,Folder:s9,Fr:o9,Friday:i9,Function:"Função","Function editor":"Editor de funções","Function: executed":"Função: executado","Go to next line":"Vá para a próxima linha","HTTP Call":"Chamada HTTP","Hide logs":"Ocultar logs",ID:n9,ID1:r9,ID2:a9,Import:l9,"Import blocks":"Importar blocos","Import error":"Erro de importação","Import scripts":"Importar script","Insert object ID":"Inserir ID do objeto",Instance:c9,"Instance is disabled":"Instância está desativada","Instance:":"Instância:",Instances:u9,Instructions:d9,"Invalid CRON":"CRON inválido","It will not be possible to revert this operation.":"Não será possível reverter esta operação.","JS description":"Criando regras escrevendo Javascript",Januar:h9,January:p9,July:g9,June:m9,"Just check":"Apenas verifique","Language:":"Língua:","Learn More":"Aprender mais","Light style":"Estilo claro",Limit:f9,"Local time":"Hora local","Locate file":"Localize o arquivo","Log outputs":"Saídas de log","Log text":"Texto de registro","Log: %s":"Log: %s","Make a HTTP get request":"Faça uma solicitação HTTP get","Make a pause between actions":"Faça uma pausa entre as ações",March:$9,"March ":"Março",May:b9,Menu:v9,Message:y9,Mo:_9,Model:w9,Monday:C9,Month:T9,More:k9,Name:S9,"No API key found":"Nenhuma chave API encontrada","No Chat GPT Key found":"Nenhuma chave GPT de bate-papo encontrada","No active host found":"Nenhum host ativo encontrado","Nothing found":"Nada encontrado",November:E9,OK:I9,October:x9,Ok:D9,"On condition change":"Na mudança de condição","On script save or adapter start":"Ao salvar o script ou iniciar o adaptador","On weekdays":"Nos dias úteis","Open configuration":"Configuração aberta","Operate two states":"Operar dois estados","Operations with two states":"Operações com dois estados","Paste your blocks here":"Cole seus blocos aqui",Pause:A9,"Pause execution":"Pausar a execução","Pause script":"Pausar script","Phone:":"Telefone:","Please select object ID...":"Selecione o ID do objeto...","Press Ctrl+Enter to get the answer":"Pressione Ctrl+Enter para obter a resposta","Prettify the script":"Embeleze o roteiro","Print some text in log":"Imprimir algum texto no log","Priority:":"Prioridade:",Pushover:R9,Pushsafer:O9,"Read only ID selected: %s":"ID somente leitura selecionada: %s",Rename:M9,"Reorder scripts in folders":"Reordenar scripts em pastas",Repeat:N9,Restart:L9,Result:P9,"Resume execution":"Retomar execução","Root folder":"Pasta principal","Rules description":"Crie regras com blocos IF, THEN, ELSE","Run script":"Executar script",Sa:B9,Saturday:j9,Save:F9,"Save all":"Salvar tudo","Say It":"Say It","Say some text via sayit adapter":"Diga algum texto através do adaptador sayit",Schedule:z9,Script:U9,"Script %s was modified on disk":'O script "%s" foi modificado no disco rígido',"Script is not running":"Script não está sendo executado","Search in scripts":"Pesquisa em scripts","Search...":"Procurar...","Select all":"Selecionar tudo","Send email":"Enviar email","Sends an email":"Envia um email","Sends message via Pushsafer":"Envia mensagem via Pushsafer","Sends message via pushover":"Envia mensagem via pushover","Sends message via telegram":"Envia mensagem via telegrama","Sends message via whatsapp-cmb":"Envia mensagem via whatsapp-cmb",September:H9,"Server time":"Tempo de servidor","Set state action":"Definir ação de estado","Set with delay":"Definido com atraso","Shell command":"Comando shell","Show astronomical events":"Mostrar eventos astronômicos","Show javascript code":"Mostrar código Javascript","Show logs":"Mostrar logs","Show only paused scripts":"Mostrar apenas scripts pausados","Show only running scripts":"Mostrar apenas scripts em execução","Show only scripts with problems":"Mostrar apenas scripts com problemas",Simulate:W9,"Some files will be rejected":"Alguns arquivos serão rejeitados","Sound:":"Som:",Stack:V9,Start:G9,"Start script":"Iniciar script",State:K9,"State condition":"Condição de estado","Step into function":"Entre na função","Step out from function":"Saia da função","Stop on exception":"Pare na exceção",Su:Y9,"Subject:":"Sujeito:",Sunday:J9,"TS description":"Criando regras escrevendo Typecript",Telegram:q9,"Text:":"Texto:",Th:X9,"The script will be stopped and must be activated manually after debugging. Continue?":"O script será interrompido e deve ser ativado manualmente após a depuração. Continuar?","This is advances option. You can write your own code here and it will be executed on trigger":"Esta é a opção de avanços. Você pode escrever seu próprio código aqui e ele será executado no gatilho",Thursday:Z9,Time:Q9,"Time condition":"Condição de tempo","Title:":"Título:","To:":"Para:","Trigger with value":"Trigger com valor",Triggered:e7,Triggers:t7,"Triggers the on script saving or the javascript instance restart":"Aciona o salvamento do script ou a reinicialização da instância javascript","Triggers the rule on update or change of some state":"Aciona a regra na atualização ou mudança de algum estado","Triggers the rule periodically or on some specific time":"Aciona a regra periodicamente ou em algum momento específico",Tu:s7,Tuesday:o7,URL:i7,"Unknown error":"Erro desconhecido","Unknown error!":"Erro desconhecido!","Use generated code":"Usar código gerado","User function":"Função do usuário","User:":"Do utilizador:",Value:n7,"Vibration:":"Vibração:",Volume:r7,We:a7,Wednesday:l7,"Whatsapp-cmb":"Whatsapp-cmb",Write:c7,"Write your own code":"Escreva seu próprio código",Yes:u7,"Yet exists!":"Ainda existe!","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"Você pode usar %s na URL para usar o valor do gatilho atual, %id para usar o ID do objeto acionado, %name para mostrar o nome do ID do objeto acionado ou %old para usar o valor do gatilho antigo","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"Você pode usar %s no comando para usar o valor do acionador atual, %id para usar o ID do objeto acionado, %name para mostrar o nome do ID do objeto acionado ou %old para usar o valor do acionador antigo","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"Você pode usar %s no texto para exibir o valor do acionador atual, %id para usar o ID do objeto acionado, %name para mostrar o nome do ID do objeto acionado ou %old para usar o valor do acionador antigo","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"Você pode usar %s no valor para usar o valor do acionador atual, %id para usar o ID do objeto acionado, %name para mostrar o nome do ID do objeto acionado ou %old para usar o valor do acionador antigo","You have to enter OpenAI API key in the configuration of javascript adapter.":"Você deve inserir a chave da API OpenAI na configuração do adaptador javascript.","You have to enter at least one API key in the configuration of javascript adapter.":"Você deve inserir pelo menos uma chave API (OpenAI, Anthropic ou Gemini) na configuração do adaptador javascript.","Please select a valid model":"Selecione um modelo válido","[equal]":"[igual]","[greater or equal]":"[maior ou igual]","[greater]":"[maior]","[hysteresis]":"[histerese]","[includes]":"[inclui]","[less or equal]":"[menor ou igual]","[less]":"[menos]","[not equal]":"[não igual]",acknowledgment:d7,all:h7,and:p7,astro:g7,at:m7,"clear running":"corrida limpa",control:f7,copy:$7,cron:b7,dawn:v7,debug_help:y7,debug_label:_7,default:"predefinição",dusk:w7,easy:C7,else:"outro","equal to":"igual a",every:T7,"every hour at 0 minutes":"a cada hora em 0 minutos",false:"falso","file reading has failed: %s":"a leitura do arquivo falhou: %s","file reading was aborted":"a leitura do arquivo foi abortada",filter_func:k7,filter_id:S7,filter_name:E7,filter_role:I7,filter_room:x7,"for edit or create script":"para editar ou criar um novo script","for professionals":"para profissionais","for programmers":"para programadores",goldenHour:D7,goldenHourEnd:A7,"greater or equal":"maior ou igual","greater or equal to":"maior ou igual a","greater than":"Maior que",help_just_check:R7,help_on_change:O7,"high priority":"prioridade máxima","high-priority":"prioridade máxima","highest priority":"Prioridade máxima",hours:M7,includes:N7,interval:L7,"just check":"Apenas verifique","less or equal":"menor ou igual","less or equal to":"menor ou igual a","less than":"Menor que","lower priority":"prioridade mais baixa","lowest priority":"prioridade mais baixa",magic:P7,milliseconds:B7,minutes:j7,ms:F7,nadir:z7,nauticalDawn:U7,nauticalDusk:H7,nextSunrise:W7,nextSunset:V7,night:G7,nightEnd:K7,"no blocks found":"Nenhum bloco encontrado","no group":"SEM GRUPO",normal:Y7,"normal priority":"prioridade normal","not equal to":"não é igual a","not properly connected":"Este bloco não está conectado corretamente com outros blocos.",offset:J7,"on change":"em mudança","on condition change":"na mudança de condição","on update":"em atualização",one:q7,or:X7,quiet:Z7,"reset search":"redefinir pesquisa",search:Q7,seconds:eK,solarNoon:tK,"store in":"armazenar em",sunrise:sK,sunriseEnd:oK,sunset:iK,sunsetStart:nK,then:rK,"toggle value":"valor de alternância",tooltip_ack:aK,tooltip_from:lK,tooltip_lc:cK,tooltip_quality:uK,tooltip_ts:dK,tooltip_user:hK,tooltip_value:pK,true:"verdade",two:gK,undefined:"Indefinido",update:mK,"use seconds":"use segundos","use trigger value":"use o gatilho",verbose_help:fK,verbose_label:$K,when:bK,with:"com","with date":"com data","with offset":"com deslocamento",wizard:vK,"Loading models...":"Carregando modelos...","Could not connect to API at %s":"Não foi possível conectar à API em %s","Invalid API key":"Chave API inválida","Access denied by API":"Acesso negado pela API","API error: %s":"Erro de API: %s",'Model "%s" not found':'Modelo "%s" não encontrado',"Request failed: %s":"Solicitação falhou: %s",Retry:yK,"No running javascript instance found":"Nenhuma instância JavaScript em execução encontrada"},wK="Подтверждение",CK="Действия",TK="Добавить",kK="Все",SK="Любая",EK="Применить",IK="Апрель",xK="Спросить",DK="Aстрономический",AK="Август",RK="Отмена",OK="Закрыть",MK="Условие",NK="Условия",LK="Приставка",PK="Скопировано",BK="Декабрь",jK="Дефолт",FK="Задержка",zK="Удалить",UK="Описание",HK="Готово",WK="Исполнить shell",VK="Объяснение",GK="Экспорт",KK="Февраль",YK="Февраль",JK="Фильтр",qK="Папка",XK="Пт",ZK="пятница",QK="ID",eY="ID1",tY="ID2",sY="Импорт",oY="Экземпляр",iY="Экземпляры",nY="Инструкции",rY="Январь",aY="Январь",lY="Июль",cY="Июнь",uY="Предел",dY="Март",hY="Май",pY="Меню",gY="Сообщение",mY="Пн",fY="Модель",$Y="понедельник",bY="Месяц",vY="Более",yY="Имя",_Y="Ноябрь",wY="Ок",CY="Октябрь",TY="Ok",kY="Пауза",SY="Pushover",EY="Pushsafer",IY="Переименовать",xY="Повторение",DY="Перезапустить",AY="Результат",RY="Сб",OY="суббота",MY="Сохранить",NY="Расписание",LY="скрипт",PY="Сентябрь",BY="Симулировать",jY="Stack",FY="Начинать",zY="Состояние",UY="Вс",HY="Воскресенье",WY="Telegram",VY="Чт",GY="Четверг",KY="Время",YY="Срабатывает",JY="Триггеры",qY="Вт",XY="вторник",ZY="URL",QY="Значение",eJ="Громкость",tJ="Ср",sJ="среда",oJ="Напишите",iJ="Да",nJ="подтверждение",rJ="все",aJ="и",lJ="Астро",cJ="в",uJ="контроль",dJ="копия",hJ="CRON",pJ="Рассвет",gJ="Это особый режим, в котором состояния и объекты не будут меняться. Но в протоколе будет отображаться только информация о каждом планируемом изменении.",mJ="Отлаживать",fJ="Сумерки",$J="легкий",bJ="каждые(ый)",vJ="Функция",yJ="ID",_J="Название",wJ="Роль",CJ="Комната",TJ="Золотой час",kJ="Конец золотого часа",SJ="Код будет выполняться только каждый раз, когда условие истинно. Например. при срабатывании по значению датчика температуры и условию «если температура выше 20°C», действия «затем» будут выполняться каждый раз, когда датчик отправляет значение температуры, и оно превышает 20°C. На 21°С, на 22°С и так далее.",EJ="Код будет выполнен только в случае изменения результата условия. Например, при срабатывании по значению датчика температуры и условию «если температура больше 20°C», действия «затем» будут выполнены один раз, когда температура превысит 20°C. В следующий раз действия «затем» будут выполнены, когда температура опустится ниже 20°C, а затем снова поднимается выше 20°C.",IJ="час(ов)",xJ="содержит",DJ="интервал",AJ="магия",RJ="миллисекунды",OJ="минут(у)",MJ="мс",NJ="Надир",LJ="Морской рассвет",PJ="Морские сумерки",BJ="Следующий восход",jJ="Следующий закат",FJ="Ночь",zJ="Конец ночи",UJ="нормальный",HJ="сдвиг",WJ="один",VJ="или",GJ="тихий",KJ="поиск",YJ="секунд",JJ="Солнечный полдень",qJ="Восход солнца",XJ="Конец восхода",ZJ="Закат солнца",QJ="Начало заката",eq="тогда",tq="Подтверждено",sq="От",oq="Последнее изменение",iq="Качественный",nq="Время",rq="Пользователь",aq="Значение",lq="два",cq="обновить",uq="Добавляет вывод отладки в журнал для многих системных команд.",dq="Подробный протокол",hq="если",pq="Мастер",gq="Повторить",mq={"%s not found":"%s не найден","()":"()","(at %s)":"(в %s)","(optional)":"(необязательный)","-":"-",".":".","AI code generator":"ИИ Генератор кода",Ack:wK,Actions:CK,"Actual time of day":"Фактическое время суток",Add:TK,"Add new script":"Добавить новый скрипт",All:kK,"All files will be accepted":"Все файлы будут приняты",Any:SK,"Any month":"В любой месяц",Apply:EK,April:IK,"Are you sure?":"Вы уверены?",Ask:xK,Astronomical:DK,"Astronomical events today":"Астрономические события сегодня",August:AK,"Blockly description":"Создание правил графическими блоками","Body:":"Тело:",Cancel:RK,"Cannot delete non empty item!":"Не удается удалить непустой элемент!","Change layout":"Изменить макет",'Change theme (actual "%s")':'Сменить тему (сейчас - "%s")',"Check blocks":"Проверить блоки","Check is not active, because javascript adapter is disabled":"Проверка неактивна, потому что адаптер Javascript отключен","Clear search input":"Очистить ввод","Click on this icon":"Нажмите на этот значок",Close:OK,"Close all but current":"Закрыть все кроме текущего","Collapse all":"Свернуть все","Compares current time with astronomical event":"Сравнивает текущее время с астрономическим событием","Compares current time with the user specific time":"Сравнивает текущее время с конкретным временем пользователя","Compares the state value with user defined value":"Сравнивает значение состояния с пользовательским значением",Condition:MK,Conditions:NK,"Configuration not saved.":"Конфигурация не сохранена.",Console:LK,"Control or update some state":"Контролировать или обновлять какое-то состояние","Control or update some state with delay":"Контролировать или обновлять какое-либо состояние с задержкой","Convert blockly to javascript for ever.":"Преобразовать blockly в Javascript навсегда.",Copied:PK,"Copy script":"Скопировать скрипт","Copy to clipboard":"Скопировать в буфер обмена","Create new":"Создать новый","Create new folder":"Создать новую папку","Create new script":"Создать новый скрипт","Create or edit CRON or time wizard":"Создание или редактирование CRON или мастера времени","Dark Theme":"Тёмная тема","Dark style":"Темный стиль",Date:"Дата","Debug instance":"Экземпляр отладки","Debug options":"Варианты отладки",December:BK,Default:jK,"Define cron...":"Задать правило ...","Define schedule...":"Задать расписание...",Delay:FK,Delete:zK,"Delete %s":"Удалить %s...","Delete folder":"Удалить папку","Delete script":"Удалить скрипт",Description:UK,"Deselect all":"Снять выбор со всех","Discard changes for %s":"Отменить изменения для %s",Done:HK,"Double click to write value":"Двойной щелчок для записи значения","Download as file":"Скачать как файл","Drop some files here or click...":"Перетыщите сюда файлы или нажмите ...","Duplicate name":"Повторяющееся имя","Edit script or just double click":"Редактировать скрипт или просто дважды щелкнуть","Empty name is not allowed":"Пустое имя не допускается","End search mode":"Закончить поиск","Enter your question":"Введи свою просьбу",Error:"Ошибка","Error formatting code":"Ошибка форматирования кода","Error was found":"Ошибка была найдена","Every day":"Каждый день",Exec:WK,"Executes some shell command":"Выполняет некоторую команду оболочки","Existing scripts will be overwritten.":"Существующие скрипты будут перезаписаны.","Expand all":"Открыть все","Expert mode":"Экспертный режим",Explanation:VK,Export:GK,"Export all scripts":"Экспорт всех скриптов","Export blocks":"Экспортировать блоки","Export selected blocks":"Экспортировать выбранные блоки",Februar:KK,February:YK,Filter:JK,Folder:qK,Fr:XK,Friday:ZK,Function:"Функция","Function editor":"Редактор функции","Function: executed":"Функция: выполнено","Go to next line":"Перейти к следующей строке","HTTP Call":"HTTP-вызов","Hide logs":"Скрыть журналы",ID:QK,ID1:eY,ID2:tY,Import:sY,"Import blocks":"Импортировать блоки","Import error":"Ошибка импорта","Import scripts":"Импорт скриптов","Insert object ID":"Вставить ID объекта",Instance:oY,"Instance is disabled":"Экземпляр отключен","Instance:":"Пример:",Instances:iY,Instructions:nY,"Invalid CRON":"Неправильный CRON","It will not be possible to revert this operation.":"Невозможно вернуть эту операцию.","JS description":"Создание правил путём написания Javascript",Januar:rY,January:aY,July:lY,June:cY,"Just check":"Просто проверить","Language:":"Язык:","Learn More":"Узнать больше","Light style":"Светлый стиль",Limit:uY,"Local time":"Местное время","Locate file":"Показать файл в дереве","Log outputs":"Журнал","Log text":"Текст журнала","Log: %s":"Журнал: %s","Make a HTTP get request":"Сделайте HTTP-запрос на получение","Make a pause between actions":"Сделайте паузу между действиями",March:dY,"March ":"Март ",May:hY,Menu:pY,Message:gY,Mo:mY,Model:fY,Monday:$Y,Month:bY,More:vY,Name:yY,"No API key found":"API-ключ не найден","No Chat GPT Key found":"Ключ GPT для чата не найден","No active host found":"Активный host не найден","Nothing found":"Ничего не найдено",November:_Y,OK:wY,October:CY,Ok:TY,"On condition change":"При изменении реузльтата условий","On script save or adapter start":"При сохранении скрипта или запуске адаптера","On weekdays":"По дням недели","Open configuration":"Открыть настройки","Operate two states":"Операции над двумя состояниями","Operations with two states":"Операции с двумя состояниями","Paste your blocks here":"Вставьте свои блоки сюда",Pause:kY,"Pause execution":"Приостановить выполнение","Pause script":"Остановить скрипт","Phone:":"Телефон:","Please select object ID...":"Пожалуйста, выберите ID объекта ...","Press Ctrl+Enter to get the answer":"Нажмите Ctrl+Enter, чтобы получить ответ","Prettify the script":"Украсьте сценарий","Print some text in log":"Напечатать текст в журнале","Priority:":"Приоритет:",Pushover:SY,Pushsafer:EY,"Read only ID selected: %s":"Выбран идентификатор только для чтения: %s",Rename:IY,"Reorder scripts in folders":"Сортировать скрипты в папках",Repeat:xY,Restart:DY,Result:AY,"Resume execution":"Возобновить выполнение","Root folder":"Корневая папка","Rules description":"Создавайте правила с блоками ЕСЛИ, ТО, ИНАЧЕ","Run script":"Запустить скрипт",Sa:RY,Saturday:OY,Save:MY,"Save all":"Сохранить все","Say It":"Say It","Say some text via sayit adapter":"Произнесите текст через адаптер Sayit",Schedule:NY,Script:LY,"Script %s was modified on disk":'Скрипт "%s" был изменен на диске',"Script is not running":"Сценарий не запущен","Search in scripts":"Поиск в скриптах","Search...":"Поиск...","Select all":"Выбрать все","Send email":"Отправить email","Sends an email":"Отправляет электронное письмо","Sends message via Pushsafer":"Отправляет сообщение через Pushsafer","Sends message via pushover":"Отправляет сообщение через пустышку","Sends message via telegram":"Отправляет сообщение в телеграмме","Sends message via whatsapp-cmb":"Отправляет сообщение через whatsapp-cmb",September:PY,"Server time":"Время сервера","Set state action":"Установить состояние","Set with delay":"Установить с задержкой","Shell command":"Команда оболочки","Show astronomical events":"Показать астрономические события","Show javascript code":"Показать код Javascript","Show logs":"Показать журналы","Show only paused scripts":"Показывать только приостановленные сценарии","Show only running scripts":"Показывать только запущенные скрипты","Show only scripts with problems":"Показывать только скрипты с проблемами",Simulate:BY,"Some files will be rejected":"Некоторые файлы будут отклонены","Sound:":"Звук:",Stack:jY,Start:FY,"Start script":"Старт скрипта",State:zY,"State condition":"Сравнение состояния","Step into function":"Шаг в функционирование","Step out from function":"Выйти из функции","Stop on exception":"Остановить при исключении",Su:UY,"Subject:":"Предмет:",Sunday:HY,"TS description":"Создание правил путём написания Typescript",Telegram:WY,"Text:":"Текст:",Th:VY,"The script will be stopped and must be activated manually after debugging. Continue?":"Cкрипт будет остановлен и должен быть активирован вручную после отладки. Продолжать?","This is advances option. You can write your own code here and it will be executed on trigger":"Это расширеный вариант. Вы можете написать здесь свой код и он будет выполняться по триггеру",Thursday:GY,Time:KY,"Time condition":"Условие времени","Title:":"Заголовок:","To:":"К:","Trigger with value":"Триггер со значением",Triggered:YY,Triggers:JY,"Triggers the on script saving or the javascript instance restart":"Запускает при сохранении скрипта или перезапуске экземпляра javascript","Triggers the rule on update or change of some state":"Запускает правило при обновлении или изменении какого-либо состояния","Triggers the rule periodically or on some specific time":"Срабатывает правило периодически или в определенное время",Tu:qY,Tuesday:XY,URL:ZY,"Unknown error":"Неизвестная ошибка","Unknown error!":"Неизвестная ошибка!","Use generated code":"Использовать сгенерированный код","User function":"Функция пользователя","User:":"Пользователь:",Value:QY,"Vibration:":"Вибрация:",Volume:eJ,We:tJ,Wednesday:sJ,"Whatsapp-cmb":"Whatsapp-cmb",Write:oJ,"Write your own code":"Напишите свой код",Yes:iJ,"Yet exists!":"Имя уже существует!","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"Вы можете использовать %s в URL-адресе, чтобы использовать текущее значение триггера, %id, чтобы использовать идентификатор инициированного объекта, %name, чтобы показать имя идентификатора инициированного объекта, или %old, чтобы использовать старое значение триггера.","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"Вы можете использовать %s в команде, чтобы использовать текущее значение триггера, %id, чтобы использовать идентификатор сработавшего объекта, %name, чтобы показать имя сработавшего идентификатора объекта, или %old, чтобы использовать старое значение триггера.","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"Вы можете использовать %s в тексте для отображения текущего значения триггера, %id для использования идентификатора сработавшего объекта, %name для отображения имени сработавшего идентификатора объекта или %old для использования старого значения триггера.","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"Вы можете использовать %s в значении, чтобы использовать текущее значение триггера, %id, чтобы использовать идентификатор инициированного объекта, %name, чтобы показать имя идентификатора инициированного объекта, или %old, чтобы использовать старое значение триггера.","You have to enter OpenAI API key in the configuration of javascript adapter.":"Вы должны ввести ключ OpenAI API в конфигурации адаптера javascript.","You have to enter at least one API key in the configuration of javascript adapter.":"Необходимо ввести хотя бы один API-ключ (OpenAI, Anthropic или Gemini) в конфигурации адаптера javascript.","Please select a valid model":"Пожалуйста, выберите допустимую модель","[equal]":"[равно]","[greater or equal]":"[больше или равно]","[greater]":"[больше]","[hysteresis]":"[гистерезис]","[includes]":"[содержит]","[less or equal]":"[меньше или равно]","[less]":"[меньше]","[not equal]":"[не равно]",acknowledgment:nJ,all:rJ,and:aJ,astro:lJ,at:cJ,"clear running":"остановить уже бегущие",control:uJ,copy:dJ,cron:hJ,dawn:pJ,debug_help:gJ,debug_label:mJ,default:"дефолт",dusk:fJ,easy:$J,else:"иначе","equal to":"равно",every:bJ,"every hour at 0 minutes":"каждый час через 0 минут",false:"false","file reading has failed: %s":"Ошибка чтения файла: %s","file reading was aborted":"Чтение файла было прервано",filter_func:vJ,filter_id:yJ,filter_name:_J,filter_role:wJ,filter_room:CJ,"for edit or create script":"для редактирования или создайте новый скрипт","for professionals":"для профессионалов","for programmers":"для программистов",goldenHour:TJ,goldenHourEnd:kJ,"greater or equal":"больше или равно","greater or equal to":"больше или равно","greater than":"больше чем",help_just_check:SJ,help_on_change:EJ,"high priority":"высокий приоритет","high-priority":"высокий-приоритет","highest priority":"высший приоритет",hours:IJ,includes:xJ,interval:DJ,"just check":"просто проверить","less or equal":"меньше или равно","less or equal to":"меньше или равно","less than":"меньше, чем","lower priority":"более низкий приоритет","lowest priority":"самый низкий приоритет",magic:AJ,milliseconds:RJ,minutes:OJ,ms:MJ,nadir:NJ,nauticalDawn:LJ,nauticalDusk:PJ,nextSunrise:BJ,nextSunset:jJ,night:FJ,nightEnd:zJ,"no blocks found":"Блоков нет","no group":"Нет группы",normal:UJ,"normal priority":"нормальный приоритет","not equal to":"не равно","not properly connected":"Этот блок неправильно соединён или не соединён с другими блоками.",offset:HJ,"on change":"по изменению","on condition change":"при изменении результата условия","on update":"при обновлении",one:WJ,or:VJ,quiet:GJ,"reset search":"Cбросить поиск",search:KJ,seconds:YJ,solarNoon:JJ,"store in":"сохранить в",sunrise:qJ,sunriseEnd:XJ,sunset:ZJ,sunsetStart:QJ,then:eq,"toggle value":"инвертировать текщее значение",tooltip_ack:tq,tooltip_from:sq,tooltip_lc:oq,tooltip_quality:iq,tooltip_ts:nq,tooltip_user:rq,tooltip_value:aq,true:"true",two:lq,undefined:"неопределенный",update:cq,"use seconds":"использовать секунды","use trigger value":"использовать значение триггера",verbose_help:uq,verbose_label:dq,when:hq,with:"с","with date":"с датой","with offset":"со сдвигом",wizard:pq,"Loading models...":"Загрузка моделей...","Could not connect to API at %s":"Не удалось подключиться к API по адресу %s","Invalid API key":"Недействительный ключ API","Access denied by API":"Доступ запрещён API","API error: %s":"Ошибка API: %s",'Model "%s" not found':'Модель "%s" не найдена',"Request failed: %s":"Запрос не удался: %s",Retry:gq,"No running javascript instance found":"Не найден работающий экземпляр JavaScript"},fq="Визнано",$q="Дії",bq="додати",vq="все",yq="Будь-який",_q="Застосувати",wq="квітень",Cq="Запитуйте",Tq="Астрономічний",kq="серпень",Sq="Скасувати",Eq="Закрити",Iq="Хвороба",xq="Умови",Dq="Консоль",Aq="Скопійовано",Rq="Грудень",Oq="За замовчуванням",Mq="Затримка",Nq="Видалити",Lq="опис",Pq="Готово",Bq="Виконавча оболонка",jq="Пояснення",Fq="Експорт",zq="Лютий",Uq="Лютий",Hq="фільтр",Wq="Папка",Vq="О",Gq="П'ятниця",Kq="ID",Yq="ID1",Jq="ID2",qq="Імпорт",Xq="Екземпляр",Zq="Примірники",Qq="Інструкції",eX="січень",tX="січня",sX="липень",oX="червень",iX="Ліміт",nX="березень",rX="Може",aX="Меню",lX="повідомлення",cX="пн",uX="Модель",dX="понеділок",hX="місяць",pX="Більше",gX="Ім'я",mX="Листопад",fX="в порядку",$X="жовтень",bX="В порядку",vX="Пауза",yX="Pushover",_X="Pushsafer",wX="Перейменувати",CX="Повторіть",TX="Перезапустіть",kX="Результат",SX="Sa",EX="Субота",IX="зберегти",xX="розклад",DX="Сценарій",AX="Вересень",RX="Симулювати",OX="Стек",MX="старт",NX="Держава",LX="Нд",PX="неділя",BX="Телеграма",jX="чт",FX="четвер",zX="час",UX="Спрацьовує",HX="Тригери",WX="вт",VX="вівторок",GX="URL",KX="Значення",YX="Обсяг",JX="ми",qX="Середа",XX="Напишіть",ZX="Так",QX="підтвердження",eZ="все",tZ="і",sZ="Астро",oZ="в",iZ="КОНТРОЛЬ",nZ="копія",rZ="CRON",aZ="Світанок",lZ="Це особливий режим, в якому стану та об'єкти не змінюватимуться. Але в протоколі відображатиметься лише інформація про кожну заплановану зміну.",cZ="Відлагоджувати",uZ="Сутінки",dZ="легко",hZ="кожен",pZ="функція",gZ="ID",mZ="Ім'я",fZ="Роль",$Z="Кімната",bZ="Золота година",vZ="Кінець золотої години",yZ="Код буде виконуватися лише щоразу, коли умова виконується. наприклад якщо спрацьовує значення датчика температури та умова «якщо температура перевищує 20°C», дії «тоді» виконуватимуться щоразу, коли датчик надсилає температуру, і вона перевищує 20°C. На 21°C, на 22°C і так далі.",_Z="Код буде виконано лише у разі зміни результату умови. наприклад якщо спрацьовує значення датчика температури та умова «якщо температура перевищує 20°C», дії «тоді» будуть виконані один раз, коли температура буде вище 20. Наступного разу дії «тоді» буде виконано, коли температура падає нижче 20, а потім знову піднімається вище 20.",wZ="години",CZ="включає в себе",TZ="інтервал",kZ="магія",SZ="мілісекунд",EZ="хвилин",IZ="РС",xZ="Надір",DZ="Морський світанок",AZ="Морські сутінки",RZ="Наступний схід сонця",OZ="Наступний захід сонця",MZ="ніч",NZ="Кінець ночі",LZ="нормально",PZ="зсув",BZ="один",jZ="або",FZ="тихо",zZ="пошук",UZ="секунд",HZ="Сонячний полудень",WZ="схід сонця",VZ="Кінець сходу сонця",GZ="Захід сонця",KZ="Початок заходу сонця",YZ="потім",JZ="Визнати",qZ="Від",XZ="Востаннє змінено",ZZ="якість",QZ="Мітка часу",eQ="Користувач",tQ="Значення",sQ="два",oQ="оновлення",iQ="Додає вихідні дані налагодження до журналу для багатьох системних команд",nQ="Докладні результати журналу",rQ="коли",aQ="майстер",lQ="Повторити",cQ={"%s not found":"%s не знайдено","()":"()","(at %s)":"(у %s)","(optional)":"(необов'язково)","-":"-",".":".","AI code generator":"Генератор коду ШІ",Ack:fq,Actions:$q,"Actual time of day":"Фактичний час доби",Add:bq,"Add new script":"Додати новий сценарій",All:vq,"All files will be accepted":"Усі файли будуть прийняті",Any:yq,"Any month":"Будь-який місяць",Apply:_q,April:wq,"Are you sure?":"Ти впевнений?",Ask:Cq,Astronomical:Tq,"Astronomical events today":"Астрономічні події сьогодні",August:kq,"Blockly description":"Створення правил за графічними блоками","Body:":"Тіло:",Cancel:Sq,"Cannot delete non empty item!":"Неможливо видалити непорожній елемент!","Change layout":"Змінити макет",'Change theme (actual "%s")':'Змінити тему (тепер - "%s")',"Check blocks":"Перевірте блоки","Check is not active, because javascript adapter is disabled":"Перевірка не активна, оскільки адаптер Javascript вимкнено","Clear search input":"Очистити пошуковий запит","Click on this icon":"Натисніть на цей значок",Close:Eq,"Close all but current":"Закрити всі, крім поточних","Collapse all":"Закрити всі","Compares current time with astronomical event":"Порівнює поточний час з астрономічною подією","Compares current time with the user specific time":"Порівнює поточний час із конкретним часом користувача","Compares the state value with user defined value":"Порівнює значення стану з визначеним користувачем значенням",Condition:Iq,Conditions:xq,"Configuration not saved.":"Конфігурація не збережена.",Console:Dq,"Control or update some state":"Контролюйте або оновлюйте певний стан","Control or update some state with delay":"Контролюйте або оновлюйте деякий стан із затримкою","Convert blockly to javascript for ever.":"Назавжди конвертуйте Blockly у Javascript.",Copied:Aq,"Copy script":"Копіювати сценарій","Copy to clipboard":"Копіювати в буфер обміну","Create new":"Створити новий","Create new folder":"Створити нову папку","Create new script":"Створіть новий сценарій","Create or edit CRON or time wizard":"Створення або редагування CRON або майстра часу","Dark Theme":"Темна тема","Dark style":"Темний стиль",Date:"Дата","Debug instance":"Екземпляр налагодження","Debug options":"Параметри налагодження",December:Rq,Default:Oq,"Define cron...":"Визначити cron...","Define schedule...":"Визначити розклад...",Delay:Mq,Delete:Nq,"Delete %s":"Видалити %s...","Delete folder":"Видалити папку","Delete script":"Видалити сценарій",Description:Lq,"Deselect all":"Зняти вибір із усіх","Discard changes for %s":"Скасувати зміни для %s",Done:Pq,"Double click to write value":"Двічі клацніть, щоб записати значення","Download as file":"Завантажити файл","Drop some files here or click...":"Перетягніть кілька файлів сюди або натисніть...","Duplicate name":"Повторюване ім'я","Edit script or just double click":"Відредагуйте сценарій або просто двічі клацніть","Empty name is not allowed":"Порожнє ім'я не допускається","End search mode":"Завершити режим пошуку","Enter your question":"Введи своє прохання",Error:"Помилка","Error formatting code":"Помилка форматування коду","Error was found":"Виявлено помилку","Every day":"Кожен день",Exec:Bq,"Executes some shell command":"Виконує певну команду оболонки","Existing scripts will be overwritten.":"Існуючі сценарії буде перезаписано.","Expand all":"Розгорнути все","Expert mode":"Експертний режим",Explanation:jq,Export:Fq,"Export all scripts":"Експортувати всі сценарії","Export blocks":"Експорт блоків","Export selected blocks":"Експортувати вибрані блоки",Februar:zq,February:Uq,Filter:Hq,Folder:Wq,Fr:Vq,Friday:Gq,Function:"функція","Function editor":"Редактор функцій","Function: executed":"Функція: виконано","Go to next line":"Перейти до наступного рядка","HTTP Call":"Виклик HTTP","Hide logs":"Приховати журнали",ID:Kq,ID1:Yq,ID2:Jq,Import:qq,"Import blocks":"Імпорт блоків","Import error":"Помилка імпорту","Import scripts":"Імпорт скриптів","Insert object ID":"Вставте ID об'єкта",Instance:Xq,"Instance is disabled":"Примірник вимкнено","Instance:":"екземпляр:",Instances:Zq,Instructions:Qq,"Invalid CRON":"Недійсний CRON","It will not be possible to revert this operation.":"Скасувати цю операцію буде неможливо.","JS description":"Створення правил шляхом написання Javascript",Januar:eX,January:tX,July:sX,June:oX,"Just check":"Просто перевірте","Language:":"Мову:","Learn More":"Вивчайте більше","Light style":"Легкий стиль",Limit:iX,"Local time":"Місцевий час","Locate file":"Знайти файл","Log outputs":"Виходи журналу","Log text":"Текст журналу","Log: %s":"Журнал: %s","Make a HTTP get request":"Зробіть HTTP-запит на отримання","Make a pause between actions":"Між діями робіть паузу",March:nX,"March ":"березень",May:rX,Menu:aX,Message:lX,Mo:cX,Model:uX,Monday:dX,Month:hX,More:pX,Name:gX,"No API key found":"API-ключ не знайдено","No Chat GPT Key found":"Ключ GPT для чату не знайдено","No active host found":"Активний хост не знайдено","Nothing found":"Нічого не знайдено",November:mX,OK:fX,October:$X,Ok:bX,"On condition change":"За умови зміни результату","On script save or adapter start":"Під час збереження сценарію або запуску адаптера","On weekdays":"В будні дні","Open configuration":"Відкрита конфігурація","Operate two states":"Керуйте двома станами","Operations with two states":"Операції з двома станами","Paste your blocks here":"Вставте сюди свої блоки",Pause:vX,"Pause execution":"Призупинити виконання","Pause script":"Призупинити сценарій","Phone:":"телефон:","Please select object ID...":"Виберіть ідентифікатор об'єкта...","Press Ctrl+Enter to get the answer":"Натисніть Ctrl+Enter, щоб отримати відповідь","Prettify the script":"Прикрасьте сценарій","Print some text in log":"Надрукувати текст у журналі","Priority:":"Пріоритет:",Pushover:yX,Pushsafer:_X,"Read only ID selected: %s":"Вибрано ідентифікатор лише для читання: %s",Rename:wX,"Reorder scripts in folders":"Зміна порядку сценаріїв у папках",Repeat:CX,Restart:TX,Result:kX,"Resume execution":"Відновити виконання","Root folder":"Коренева папка","Rules description":"Створюйте правила з блоками IF, THEN, ELSE","Run script":"Запустіть сценарій",Sa:SX,Saturday:EX,Save:IX,"Save all":"Зберегти все","Say It":"Скажи це","Say some text via sayit adapter":"Скажіть текст через адаптер sayit",Schedule:xX,Script:DX,"Script %s was modified on disk":"Сценарій %s змінено на диску","Script is not running":"Сценарій не працює","Search in scripts":"Пошук у скриптах","Search...":"пошук...","Select all":"Вибрати все","Send email":"Відправити лист","Sends an email":"Надсилає електронний лист","Sends message via Pushsafer":"Надсилає повідомлення через Pushsafer","Sends message via pushover":"Надсилає повідомлення через pushover","Sends message via telegram":"Надсилає повідомлення через телеграм","Sends message via whatsapp-cmb":"Надсилає повідомлення через whatsapp-cmb",September:AX,"Server time":"Час сервера","Set state action":"Встановити дію стану","Set with delay":"Встановити із затримкою","Shell command":"Команда оболонки","Show astronomical events":"Показати астрономічні події","Show javascript code":"Показати код Javascript","Show logs":"Показати журнали","Show only paused scripts":"Показувати лише призупинені сценарії","Show only running scripts":"Показувати лише запущені сценарії","Show only scripts with problems":"Показувати лише сценарії з проблемами",Simulate:RX,"Some files will be rejected":"Деякі файли буде відхилено","Sound:":"звук:",Stack:OX,Start:MX,"Start script":"Запустити сценарій",State:NX,"State condition":"Стан стану","Step into function":"Крок у функції","Step out from function":"Вийти з функції","Stop on exception":"Зупинка на винятках",Su:LX,"Subject:":"Тема:",Sunday:PX,"TS description":"Створення правил шляхом написання Typescript",Telegram:BX,"Text:":"Текст:",Th:jX,"The script will be stopped and must be activated manually after debugging. Continue?":"Сценарій буде зупинено, і його необхідно активувати вручну після налагодження. Продовжити?","This is advances option. You can write your own code here and it will be executed on trigger":"Це авансовий варіант. Ви можете написати тут свій власний код, і він буде виконано на тригері",Thursday:FX,Time:zX,"Time condition":"Умова часу","Title:":"Назва:","To:":"до:","Trigger with value":"Тригер зі значенням",Triggered:UX,Triggers:HX,"Triggers the on script saving or the javascript instance restart":"Ініціює збереження сценарію або перезапуск екземпляра JavaScript","Triggers the rule on update or change of some state":"Запускає правило при оновленні або зміні якогось стану","Triggers the rule periodically or on some specific time":"Спрацьовує правило періодично або в певний час",Tu:WX,Tuesday:VX,URL:GX,"Unknown error":"Невідома помилка","Unknown error!":"Невідома помилка!","Use generated code":"Використовуйте згенерований код","User function":"Функція користувача","User:":"Користувач:",Value:KX,"Vibration:":"Вібрація:",Volume:YX,We:JX,Wednesday:qX,"Whatsapp-cmb":"Whatsapp-cmb",Write:XX,"Write your own code":"Напишіть власний код",Yes:ZX,"Yet exists!":"Все ж існує!","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"Ви можете використовувати %s в URL-адресі, щоб використовувати поточне значення тригера, %id, щоб використовувати ідентифікатор активованого об’єкта, %name, щоб показати назву ідентифікатора активованого об’єкта, або %old, щоб використовувати старе значення тригера","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"Ви можете використовувати %s у команді, щоб використовувати поточне значення тригера, %id, щоб використовувати ідентифікатор активованого об’єкта, %name, щоб показати назву ідентифікатора активованого об’єкта, або %old, щоб використовувати старе значення тригера","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"Ви можете використовувати %s у тексті для відображення поточного значення тригера, %id для використання ідентифікатора активованого об’єкта, %name для відображення імені ідентифікатора активованого об’єкта або %old для використання старого значення тригера","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"Ви можете використовувати %s у значенні, щоб використовувати поточне значення тригера, %id, щоб використовувати ідентифікатор активованого об’єкта, %name, щоб показати назву ідентифікатора активованого об’єкта, або %old, щоб використовувати старе значення тригера","You have to enter OpenAI API key in the configuration of javascript adapter.":"Ви повинні ввести ключ OpenAI API у конфігурації адаптера JavaScript.","You have to enter at least one API key in the configuration of javascript adapter.":"Необхідно ввести хоча б один API-ключ (OpenAI, Anthropic або Gemini) у конфігурації адаптера JavaScript.","Please select a valid model":"Будь ласка, виберіть дійсну модель","[equal]":"[рівний]","[greater or equal]":"[більше або дорівнює]","[greater]":"[більший]","[hysteresis]":"[гістерезис]","[includes]":"[включає]","[less or equal]":"[менше або рівно]","[less]":"[менше]","[not equal]":"[не дорівнює]",acknowledgment:QX,all:eZ,and:tZ,astro:sZ,at:oZ,"clear running":"чіткий біг",control:iZ,copy:nZ,cron:rZ,dawn:aZ,debug_help:lZ,debug_label:cZ,default:"за замовчуванням",dusk:uZ,easy:dZ,else:"інше","equal to":"дорівнює",every:hZ,"every hour at 0 minutes":"щогодини о 0 хвилин",false:"помилковий","file reading has failed: %s":"не вдалося прочитати файл: %s","file reading was aborted":"читання файлу було перервано",filter_func:pZ,filter_id:gZ,filter_name:mZ,filter_role:fZ,filter_room:$Z,"for edit or create script":"для редагування або створення нового сценарію","for professionals":"для професіоналів","for programmers":"для програмістів",goldenHour:bZ,goldenHourEnd:vZ,"greater or equal":"більший або рівний","greater or equal to":"більше або дорівнює","greater than":"більше, ніж, величніше ніж, крутіший за",help_just_check:yZ,help_on_change:_Z,"high priority":"високий пріоритет","high-priority":"високий пріоритет","highest priority":"найвищий пріоритет",hours:wZ,includes:CZ,interval:TZ,"just check":"просто перевірте","less or equal":"менше або дорівнює","less or equal to":"менше або дорівнює","less than":"менше ніж","lower priority":"нижчий пріоритет","lowest priority":"найнижчий пріоритет",magic:kZ,milliseconds:SZ,minutes:EZ,ms:IZ,nadir:xZ,nauticalDawn:DZ,nauticalDusk:AZ,nextSunrise:RZ,nextSunset:OZ,night:MZ,nightEnd:NZ,"no blocks found":"Блоків не знайдено","no group":"НЕМАЄ ГРУПИ",normal:LZ,"normal priority":"нормальний пріоритет","not equal to":"не дорівнює","not properly connected":"Цей блок неправильно з’єднаний з іншими блоками.",offset:PZ,"on change":"на зміну","on condition change":"про зміну умов","on update":"на оновлення",one:BZ,or:jZ,quiet:FZ,"reset search":"скинути пошук",search:zZ,seconds:UZ,solarNoon:HZ,"store in":"зберігати в",sunrise:WZ,sunriseEnd:VZ,sunset:GZ,sunsetStart:KZ,then:YZ,"toggle value":"значення перемикання",tooltip_ack:JZ,tooltip_from:qZ,tooltip_lc:XZ,tooltip_quality:ZZ,tooltip_ts:QZ,tooltip_user:eQ,tooltip_value:tQ,true:"правда",two:sQ,undefined:"невизначений",update:oQ,"use seconds":"використовуйте секунди","use trigger value":"використовувати значення тригера",verbose_help:iQ,verbose_label:nQ,when:rQ,with:"з","with date":"з датою","with offset":"зі зміщенням",wizard:aQ,"Loading models...":"Завантаження моделей...","Could not connect to API at %s":"Не вдалося підключитися до API за адресою %s","Invalid API key":"Недійсний ключ API","Access denied by API":"Доступ заборонено API","API error: %s":"Помилка API: %s",'Model "%s" not found':'Модель "%s" не знайдено',"Request failed: %s":"Запит не вдався: %s",Retry:lQ,"No running javascript instance found":"Не знайдено запущеного екземпляра JavaScript"},uQ="确认",dQ="动作",hQ="添加",pQ="所有",gQ="任何",mQ="申请",fQ="四月",$Q="问",bQ="天文",vQ="八月",yQ="取消",_Q="关闭",wQ="健康)状况",CQ="情况",TQ="安慰",kQ="复制的",SQ="十二月",EQ="默认",IQ="延迟",xQ="删除",DQ="描述",AQ="完成",RQ="执行力",OQ="解释",MQ="导出",NQ="二月",LQ="二月",PQ="筛选",BQ="文件夹",jQ="r",FQ="星期五",zQ="ID",UQ="ID1",HQ="ID2",WQ="导入",VQ="实例",GQ="实例",KQ="指示",YQ="亚努尔",JQ="一月",qQ="七月",XQ="六月",ZQ="限制",QQ="三月",eee="五月",tee="菜单",see="信息",oee="莫",iee="模型",nee="星期一",ree="月",aee="更多的",lee="名称",cee="十一月",uee="好的",dee="十月",hee="确定",pee="暂停",gee="俯卧撑",mee="推安全",fee="重命名",$ee="重复",bee="重启",vee="结果",yee="萨",_ee="星期六",wee="保存",Cee="日程",Tee="脚本",kee="九月",See="模拟",Eee="堆",Iee="开始",xee="状态",Dee="苏",Aee="星期日",Ree="电报",Oee="4",Mee="星期四",Nee="时间",Lee="触发",Pee="扳机",Bee="涂",jee="星期二",Fee="网址",zee="价值",Uee="体积",Hee="3",Wee="星期三",Vee="写",Gee="是的",Kee="致谢",Yee="全部",Jee="和",qee="天文",Xee="在",Zee="控制",Qee="复制",ete="克朗",tte="黎明",ste="这是一种特殊模式,其中状态和对象不会改变。但只有有关每个计划更改的信息才会显示在协议中。",ote="调试",ite="黄昏",nte="简单的",rte="每一个",ate="功能",lte="ID",cte="名字",ute="角色",dte="房间",hte="黄金时段",pte="黄金时段结束",gte="仅在条件为真时才执行代码。例如。如果触发温度传感器值并且条件为“如果温度大于20°C”,则每次传感器发送温度且温度超过20°C时,将执行“然后”动作。 21°C,22°C等。",mte="仅当条件结果更改时,代码才会执行。例如。如果触发温度传感器值且条件为“如果温度大于20°C”,则温度超过20时将执行一次“则”动作,下一次,当温度超过20时将执行“则”动作低于20失败,然后再次超过20。",fte="小时",$te="包括",bte="间隔",vte="魔法",yte="毫秒",_te="分钟",wte="毫秒",Cte="最低点",Tte="航海黎明",kte="航海黄昏",Ste="下一个日出",Ete="下一个日落",Ite="夜晚",xte="夜晚结束",Dte="普通的",Ate="抵消",Rte="一",Ote="或",Mte="安静的",Nte="搜索",Lte="秒",Pte="星期日正午",Bte="日出",jte="日出结束",Fte="日落",zte="日落开始",Ute="然后",Hte="确认",Wte="从",Vte="上一次改变",Gte="质量",Kte="时间戳",Yte="用户",Jte="值",qte="二",Xte="更新",Zte="将调试输出添加到许多系统命令的日志中",Qte="详细日志输出",ese="什么时候",tse="巫师",sse="重试",ose={"%s not found":"%s 未找到","()":"()","(at %s)":"(在 %s)","(optional)":"(选修的)","-":"-",".":".","AI code generator":"AI代码生成器",Ack:uQ,Actions:dQ,"Actual time of day":"一天中的实际时间",Add:hQ,"Add new script":"添加新脚本",All:pQ,"All files will be accepted":"所有文件都将被接受",Any:gQ,"Any month":"任何月份",Apply:mQ,April:fQ,"Are you sure?":"你确定吗?",Ask:$Q,Astronomical:bQ,"Astronomical events today":"今天的天文事件",August:vQ,"Blockly description":"按图形块创建规则","Body:":"身体:",Cancel:yQ,"Cannot delete non empty item!":"无法删除非空项目!","Change layout":"变更版面",'Change theme (actual "%s")':"更改主题(现在为“%s”)","Check blocks":"检查块","Check is not active, because javascript adapter is disabled":"检查未激活,因为禁用了Javascript适配器","Clear search input":"清除搜索输入","Click on this icon":"单击此图标",Close:_Q,"Close all but current":"关闭所有(当前除外)","Collapse all":"全部收缩","Compares current time with astronomical event":"将当前时间与天文事件进行比较","Compares current time with the user specific time":"将当前时间与用户特定时间进行比较","Compares the state value with user defined value":"比较状态值和用户定义的值",Condition:wQ,Conditions:CQ,"Configuration not saved.":"配置未保存。",Console:TQ,"Control or update some state":"控制或更新某些状态","Control or update some state with delay":"延迟控制或更新某些状态","Convert blockly to javascript for ever.":"立即将blockly转换为Javascript。",Copied:kQ,"Copy script":"复制脚本","Copy to clipboard":"复制到剪贴板","Create new":"创建新的","Create new folder":"创建新文件夹","Create new script":"创建新脚本","Create or edit CRON or time wizard":"创建或编辑周期任务或时间向导","Dark Theme":"深色调主题","Dark style":"深色调风格",Date:"日期","Debug instance":"调试实例","Debug options":"调试选项",December:SQ,Default:EQ,"Define cron...":"定义周期任务...","Define schedule...":"定义调度器......",Delay:IQ,Delete:xQ,"Delete %s":"删除%s...","Delete folder":"删除文件夹","Delete script":"删除脚本",Description:DQ,"Deselect all":"取消全选","Discard changes for %s":"放弃%s的更改",Done:AQ,"Double click to write value":"Double click to write value","Download as file":"档案","Drop some files here or click...":"将文件拖拽到这里或单击......","Duplicate name":"重名","Edit script or just double click":"双击编辑脚本","Empty name is not allowed":"不允许使用空名称","End search mode":"结束搜索模式","Enter your question":"输入您的要求",Error:"错误","Error formatting code":"代码格式错误","Error was found":"发现错误","Every day":"每天",Exec:RQ,"Executes some shell command":"执行一些shell命令","Existing scripts will be overwritten.":"现有脚本将被覆盖。","Expand all":"展开全部","Expert mode":"专家模式",Explanation:OQ,Export:MQ,"Export all scripts":"导出所有脚本","Export blocks":"导出块","Export selected blocks":"导出选定的块",Februar:NQ,February:LQ,Filter:PQ,Folder:BQ,Fr:jQ,Friday:FQ,Function:"功能","Function editor":"功能编辑器","Function: executed":"功能:执行","Go to next line":"转到下一行","HTTP Call":"HTTP呼叫","Hide logs":"隐藏日志",ID:zQ,ID1:UQ,ID2:HQ,Import:WQ,"Import blocks":"导入块","Import error":"导入错误","Import scripts":"导入脚本","Insert object ID":"插入对象ID",Instance:VQ,"Instance is disabled":"实例已禁用","Instance:":"实例:",Instances:GQ,Instructions:KQ,"Invalid CRON":"无效的周期任务","It will not be possible to revert this operation.":"无法恢复此操作。","JS description":"通过编写Javascript来创建规则",Januar:YQ,January:JQ,July:qQ,June:XQ,"Just check":"只是检查","Language:":"语言:","Learn More":"了解更多","Light style":"浅色调风格",Limit:ZQ,"Local time":"当地时间","Locate file":"定位文件","Log outputs":"记录输出","Log text":"记录文字","Log: %s":"日志:%s","Make a HTTP get request":"发出HTTP获取请求","Make a pause between actions":"在动作之间暂停",March:QQ,"March ":"行进",May:eee,Menu:tee,Message:see,Mo:oee,Model:iee,Monday:nee,Month:ree,More:aee,Name:lee,"No API key found":"未找到 API 密钥","No Chat GPT Key found":"找不到聊天 GPT 密钥","No active host found":"找不到活动主机","Nothing found":"没有发现",November:cee,OK:uee,October:dee,Ok:hee,"On condition change":"条件变化时","On script save or adapter start":"在脚本保存或适配器启动时","On weekdays":"在工作日","Open configuration":"开放配置","Operate two states":"操作两种状态","Operations with two states":"具有两种状态的操作","Paste your blocks here":"在此处粘贴您的区块",Pause:pee,"Pause execution":"暂停执行","Pause script":"暂停脚本","Phone:":"电话:","Please select object ID...":"请选择对象ID...","Press Ctrl+Enter to get the answer":"按 Ctrl+Enter 即可得到答案","Prettify the script":"美化脚本","Print some text in log":"在日志中打印一些文本","Priority:":"优先:",Pushover:gee,Pushsafer:mee,"Read only ID selected: %s":"选择的只读ID:%s",Rename:fee,"Reorder scripts in folders":"重新排序文件夹中的脚本",Repeat:$ee,Restart:bee,Result:vee,"Resume execution":"恢复执行","Root folder":"根文件夹","Rules description":"使用IF,THEN,ELSE块创建规则","Run script":"运行脚本",Sa:yee,Saturday:_ee,Save:wee,"Save all":"保存全部","Say It":"Say It","Say some text via sayit adapter":"通过sayit适配器说一些文字",Schedule:Cee,Script:Tee,"Script %s was modified on disk":"脚本%s已在磁盘上修改","Script is not running":"脚本没有运行","Search in scripts":"在脚本中搜索","Search...":"搜索...","Select all":"全选","Send email":"发送电子邮件","Sends an email":"发送邮件","Sends message via Pushsafer":"通过Pushsafer发送消息","Sends message via pushover":"通过推播发送消息","Sends message via telegram":"通过电报发送消息","Sends message via whatsapp-cmb":"通过whatsapp-cmb发送消息",September:kee,"Server time":"服务器时间","Set state action":"设定状态动作","Set with delay":"延迟设置","Shell command":"Shell命令","Show astronomical events":"显示天文事件","Show javascript code":"显示Javascript代码","Show logs":"显示记录","Show only paused scripts":"仅显示暂停的脚本","Show only running scripts":"仅显示正在运行的脚本","Show only scripts with problems":"仅显示有问题的脚本",Simulate:See,"Some files will be rejected":"有些文件将被拒绝","Sound:":"声音:",Stack:Eee,Start:Iee,"Start script":"启动脚本",State:xee,"State condition":"状态条件","Step into function":"进入功能","Step out from function":"退出函数","Stop on exception":"异常停止",Su:Dee,"Subject:":"学科:",Sunday:Aee,"TS description":"通过编写Typescript来创建规则",Telegram:Ree,"Text:":"文本:",Th:Oee,"The script will be stopped and must be activated manually after debugging. Continue?":"该脚本将停止,并且必须在调试后手动激活。继续?","This is advances option. You can write your own code here and it will be executed on trigger":"这是高级选项。您可以在此处编写自己的代码,它将在触发器上执行",Thursday:Mee,Time:Nee,"Time condition":"时间条件","Title:":"标题:","To:":"到:","Trigger with value":"用值触发",Triggered:Lee,Triggers:Pee,"Triggers the on script saving or the javascript instance restart":"触发脚本保存或javascript实例重启","Triggers the rule on update or change of some state":"在某些状态的更新或更改时触发规则","Triggers the rule periodically or on some specific time":"定期或在特定时间触发规则",Tu:Bee,Tuesday:jee,URL:Fee,"Unknown error":"未知错误","Unknown error!":"未知错误!","Use generated code":"使用生成的代码","User function":"用户功能","User:":"用户:",Value:zee,"Vibration:":"振动:",Volume:Uee,We:Hee,Wednesday:Wee,"Whatsapp-cmb":"Whatsapp的cmb",Write:Vee,"Write your own code":"编写自己的代码",Yes:Gee,"Yet exists!":"不存在!","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"您可以在 URL 中使用 %s 以使用当前触发值,%id 以使用触发对象 ID,%name 以显示触发对象 ID 名称或 %old 以使用旧触发值","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"您可以在命令中使用 %s 以使用当前触发值,%id 使用触发对象 ID,%name 显示触发对象 ID 名称或 %old 使用旧触发值","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"您可以在文本中使用 %s 显示当前触发值,%id 使用触发对象 ID,%name 显示触发对象 ID 名称或 %old 使用旧触发值","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"您可以在值中使用 %s 以使用当前触发器值,%id 使用触发对象 ID,%name 显示触发对象 ID 名称或 %old 使用旧触发器值","You have to enter OpenAI API key in the configuration of javascript adapter.":"您必须在 javascript 适配器的配置中输入 OpenAI API 密钥。","You have to enter at least one API key in the configuration of javascript adapter.":"您必须在 javascript 适配器的配置中输入至少一个 API 密钥(OpenAI、Anthropic 或 Gemini)。","Please select a valid model":"请选择一个有效的模型","[equal]":"[平等的]","[greater or equal]":"[大于等于]","[greater]":"[更大]","[hysteresis]":"[磁滞]","[includes]":"[包括]","[less or equal]":"[小于或等于]","[less]":"[较少的]","[not equal]":"[不相等]",acknowledgment:Kee,all:Yee,and:Jee,astro:qee,at:Xee,"clear running":"畅通无阻",control:Zee,copy:Qee,cron:ete,dawn:tte,debug_help:ste,debug_label:ote,default:"默认",dusk:ite,easy:nte,else:"别的","equal to":"等于",every:rte,"every hour at 0 minutes":"每小时0分钟",false:"错误的","file reading has failed: %s":"文件读取失败:%s","file reading was aborted":"文件读取中止",filter_func:ate,filter_id:lte,filter_name:cte,filter_role:ute,filter_room:dte,"for edit or create script":"用于编辑或创建脚本","for professionals":"对于专业人士","for programmers":"对于程序员",goldenHour:hte,goldenHourEnd:pte,"greater or equal":"大于或等于","greater or equal to":"大于或等于","greater than":"比...更棒",help_just_check:gte,help_on_change:mte,"high priority":"高优先级","high-priority":"高优先级","highest priority":"最高优先级",hours:fte,includes:$te,interval:bte,"just check":"只是检查","less or equal":"小于或等于","less or equal to":"小于或等于","less than":"少于","lower priority":"低优先级","lowest priority":"最低优先级",magic:vte,milliseconds:yte,minutes:_te,ms:wte,nadir:Cte,nauticalDawn:Tte,nauticalDusk:kte,nextSunrise:Ste,nextSunset:Ete,night:Ite,nightEnd:xte,"no blocks found":"找不到块","no group":"没有组",normal:Dte,"normal priority":"正常优先","not equal to":"不等于","not properly connected":"此块未正确连接到其他块。",offset:Ate,"on change":"在变化","on condition change":"在条件变化时","on update":"更新时",one:Rte,or:Ote,quiet:Mte,"reset search":"重置搜索",search:Nte,seconds:Lte,solarNoon:Pte,"store in":"存放在",sunrise:Bte,sunriseEnd:jte,sunset:Fte,sunsetStart:zte,then:Ute,"toggle value":"切换值",tooltip_ack:Hte,tooltip_from:Wte,tooltip_lc:Vte,tooltip_quality:Gte,tooltip_ts:Kte,tooltip_user:Yte,tooltip_value:Jte,true:"真的",two:qte,undefined:"不明确的",update:Xte,"use seconds":"精确到秒","use trigger value":"使用触发值",verbose_help:Zte,verbose_label:Qte,when:ese,with:"和","with date":"有日期","with offset":"带偏移",wizard:tse,"Loading models...":"加载模型...","Could not connect to API at %s":"无法连接到 %s 的 API","Invalid API key":"无效的 API 密钥","Access denied by API":"API 拒绝访问","API error: %s":"API 错误:%s",'Model "%s" not found':'未找到模型 "%s"',"Request failed: %s":"请求失败:%s",Retry:sse,"No running javascript instance found":"未找到正在运行的 JavaScript 实例"};function ise(a){const[s,i]=Y.useState(""),[r,l]=Y.useState("");return Mt(()=>{a.socket.decrypt(a.systemConfig.native.javascriptPassword).then(u=>l(u))},[a.systemConfig,a.socket]),g.jsxs(Vt,{open:!0,onClose:()=>a.onEntered(null),fullWidth:!0,maxWidth:"sm",children:[g.jsx(as,{children:b.I18n.t("Please enter a password for expert mode")}),g.jsx(Gt,{children:g.jsx(vo,{autoFocus:!0,margin:"dense",variant:"standard",label:b.I18n.t("Password"),type:"password",fullWidth:!0,value:s,onKeyDown:u=>{u.key==="Enter"&&s&&(u.preventDefault(),u.stopPropagation(),r===s?a.onEntered(s):a.onEntered(""))},onChange:u=>i(u.target.value)})}),g.jsxs(Kt,{children:[g.jsx(De,{variant:"contained",disabled:!s,onClick:()=>{r===s?a.onEntered(s):a.onEntered("")},startIcon:g.jsx(zo,{}),children:b.I18n.t("Ok")}),g.jsx(De,{color:"grey",variant:"contained",onClick:()=>a.onEntered(null),startIcon:g.jsx(qs,{}),children:b.I18n.t("Cancel")})]})]})}const Br={root:{flexGrow:1,display:"flex",width:"100%",height:"100%"},mainDiv:{width:"100%",height:"100%",overflow:"hidden"},content:a=>({width:"100%",height:"100%",backgroundColor:a.palette.background&&a.palette.background.default,position:"relative"}),menuOpenCloseButton:a=>({position:"absolute",left:0,borderRadius:"0 5px 5px 0",top:6,pt:1,cursor:"pointer",zIndex:1,height:25,width:20,background:a.palette.secondary.main,color:a.palette.primary.main,pl:"3px","&:hover":{color:"white"}}),showLogButton:a=>({position:"absolute",right:3,borderRadius:"5px 5px 0 0",bottom:0,pt:"3px",cursor:"pointer",zIndex:10,height:20,width:25,background:a.palette.secondary.main,color:a.palette.primary.main,pl:1,"&:hover":{color:"white"}})};class nse extends b.GenericApp{hosts=[];importFile=null;scripts={};confirmCallback=null;changedScripts={};javascriptPassword="";constructor(s){super(s,{Connection:b.AdminConnection,translations:{en:cL,de:oB,es:XF,fr:VU,it:jV,nl:O3,pl:E6,pt:_K,ru:mq,uk:cQ,"zh-cn":ose},bottomButtons:!1,socket:{autoSubscribeLog:!0},sentryDSN:window.sentryDSN});const i=window.localStorage.getItem("JS.logSizes");let r=[80,20];if(i)try{r=JSON.parse(i)}catch{}const l=window.localStorage.getItem("JS.splitSizes");let u=[20,80];if(l)try{u=JSON.parse(l)}catch{}this.state={...this.state,splitSizes:u,logSizes:r},window.alert=d=>{console.error(d),this.showJsError(d.toString())}}onScriptsChanged=(s,i)=>{if(!s)return;let r=!1;const l={};s.startsWith("script.js.")&&(i?JSON.stringify(this.scripts[s])!==JSON.stringify(i)&&(this.scripts[s]=i,r=!0,l.scriptsHash=this.state.scriptsHash+1):this.scripts[s]&&(delete this.scripts[s],r=!0,l.scriptsHash=this.state.scriptsHash+1)),r&&this.setState(l)};onInstanceChanged=(s,i)=>{var u;if(!s)return;let r=!1;const l={};if(s.match(/^system\.adapter\.[-_\w\d]+\$/)){if(s.startsWith(`system.adapter.${this.adapterName}.`)){const d=parseInt(s.split(".").pop()||"0",10)||0;if((i==null?void 0:i.type)==="instance")this.state.instances.includes(d)||(l.instances=[...this.state.instances],l.instances.push(d),l.instances.sort(),r=!0,this.socket.subscribeState(`${i._id}.alive`,this.onInstanceAliveChange));else if(!i&&this.state.instances.includes(d)){this.socket.unsubscribeState(`${s}.alive`,this.onInstanceAliveChange),l.instances=[...this.state.instances];const p=l.instances.indexOf(d);l.instances.splice(p,1),r=!0}}(u=i==null?void 0:i.common)!=null&&u.blockly&&(this.confirmCallback=d=>d&&window.location.reload(),l.confirm=b.I18n.t("Some blocks were updated. Reload admin?"),r=!0)}r&&this.setState(l)};onHostChanged=(s,i)=>{if(s&&s.startsWith("system.host.")){if((i==null?void 0:i.type)==="host")this.hosts.includes(s)||(this.hosts.push(s),this.hosts.sort());else if(!i&&this.hosts.includes(s)){const r=this.hosts.indexOf(s);this.hosts.splice(r,1)}}};onConnectionReady(){window.systemLang=this.socket.systemLang,this.setState({ready:!1,scriptsHash:0,instances:[],updating:!1,resizing:!1,selected:null,logMessage:{},editing:[],menuOpened:window.localStorage.getItem("App.menuOpened")!=="false",menuSelectId:"",expertMode:window.localStorage.getItem("App.expertMode")==="true",logHorzLayout:window.localStorage.getItem("App.logHorzLayout")==="true",runningInstances:{},confirm:"",importFile:!1,message:"",searchText:"",hideLog:window.localStorage.getItem("App.hideLog")==="true",debugMode:!1,debugInstance:null,splitSizes:[20,80],password:""},async()=>{var d;const s={},i=await this.subscribeOnInstances();s.instances=i.instances,s.runningInstances=i.runningInstances,this.javascriptPassword=((d=this.socket.systemConfig)==null?void 0:d.native.javascriptPassword)||"",await this.readAdaptersWithBlockly();const r=await this.socket.getHosts();this.hosts=r.map(p=>p._id);const l=await this.readAllScripts();window.localStorage.getItem("App.expertMode")!=="true"&&window.localStorage.getItem("App.expertMode")!=="false"&&!this.javascriptPassword?Object.keys(l).find(p=>p.startsWith("script.js.global.")&&l[p].type==="script")&&(s.expertMode=!0):this.javascriptPassword&&(s.expertMode=!1),this.scripts=l;let u=this.state.scriptsHash;this.compareScripts(l)&&u++,s.scriptsHash=u,s.ready=!0,this.setState(s),await this.socket.subscribeObject("script.*",this.onScriptsChanged),await this.socket.subscribeObject("system.adapter.*",this.onInstanceChanged),await this.socket.subscribeObject("system.host.*",this.onHostChanged)})}async subscribeOnInstances(){const i=(await this.socket.getAdapterInstances(this.adapterName)).map(l=>parseInt(l._id.split(".").pop()||"0")).sort(),r={};i.forEach(l=>r[`system.adapter.${this.adapterName}.${l}`]=!1);for(let l=0;ls[r]=i[r]),s}async readAdaptersWithBlockly(){const s=await this.socket.getObjectViewSystem("adapter","system.adapter.","system.adapter.香");return new Promise(i=>Fe.loadCustomBlockly(s,()=>i()))}onInstanceAliveChange=(s,i)=>{if(s&&(s=s?s.substring(0,s.length-6):"",this.state.runningInstances[s]!==(i?i.val:!1))){const r=JSON.parse(JSON.stringify(this.state.runningInstances));r[s]=i?!!i.val:!1,this.setState({runningInstances:r})}};compareScripts(s){const i=Object.keys(this.scripts),r=Object.keys(s);if(i.length!==r.length)return this.scripts=s,!0;if(JSON.stringify(i)!==JSON.stringify(r))return this.scripts=s,!0;for(let l=0;l ${i}`),this.setState({updating:!0});try{if(((u=this.scripts[s])==null?void 0:u.type)==="script"){const d=JSON.parse(JSON.stringify(this.scripts[s].common));d.name=r||d.name,l!==void 0&&(d.engine=`system.adapter.javascript.${l}`);const p=i.split(".");p.pop();const m=p.join(".");this.scripts[m]&&this.scripts[m].type==="script"&&(p.pop(),i=`${p.join(".")}.${i.split(".").pop()}`),await this.updateScript(s,i,d)}else await this.renameGroup(s,i,r)}catch(d){d.toString().includes("canceled")||this.showJsError(d)}this.setState({updating:!1})}async renameGroup(s,i,r,l){if(l){if(l.length){let u=l.pop();if(u){const d=await this.socket.getObject(u);if(d){try{await this.socket.delObject(u)}catch{}u=i+u.substring(s.length),d._id=u,d.common=d.common||{},d.common.expert=!0,await this.socket.setObject(u,d),await this.renameGroup(s,i,r,l)}}}}else{l=[],l=Object.keys(this.scripts).filter(d=>d.startsWith(`${s}.`));let u=await this.socket.getObject(s);u=u||{common:{},type:"channel"},u.common.name=r||u.common.name||s.split(".").pop()||"",u._id=i;try{await this.socket.delObject(s)}catch{}try{await this.socket.setObject(i,u),await this.renameGroup(s,i,r,l)}catch(d){console.log(d);const p={_id:i,type:"channel",common:{name:r||s.split(".").pop()||"",expert:!0},native:{}};await this.socket.setObject(i,p),await this.renameGroup(s,i,r,l)}}}async onUpdateScript(s,i){var r;if(((r=this.scripts[s])==null?void 0:r.type)==="script")try{await this.updateScript(s,s,i)}catch(l){l.toString().includes("canceled")||this.showJsError(l)}}onSelect(s){this.scripts[s]&&this.scripts[s].common&&this.scripts[s].type==="script"&&this.setState({selected:s,menuSelectId:s},()=>setTimeout(()=>this.setState({menuSelectId:""}),300))}renderPasswordDialog(){return this.state.showPasswordDialog?g.jsx(ise,{socket:this.socket,systemConfig:this.socket.systemConfig,onEntered:s=>{s===null?this.setState({showPasswordDialog:!1,expertMode:!1,password:""}):s?this.setState({expertMode:!0,showPasswordDialog:!1,password:s}):this.setState({showPasswordDialog:!1,expertMode:!1,message:b.I18n.t("Wrong password"),password:""})}},"passwordDialog"):null}onExpertModeChange(s){var i;if(this.state.expertMode!==s)if(s&&this.javascriptPassword)this.setState({showPasswordDialog:!0});else{let r=this.state.selected;r&&!s&&((i=this.scripts[r].native)!=null&&i.protected)&&(r=this.state.editing.find(l=>{var u;return this.scripts[l]&&!((u=this.scripts[l].native)!=null&&u.protected)})||null),window.localStorage.setItem("App.expertMode",s?"true":"false"),this.setState({expertMode:s,password:"",selected:r})}}showJsError(s){this.setState({errorText:s?s.toString():""})}showMessage(s){this.setState({message:s?s.toString():""})}onDelete(s){this.socket.delObject(s).catch(i=>this.showJsError(i))}onEdit(s){this.state.selected!==s&&this.setState({selected:s})}onAddNew(s,i,r,l,u,d){const p=new RegExp(`^${s}\\.`);if(Object.keys(this.scripts).find(m=>s===m||p.test(s)))return this.showJsError(b.I18n.t("Yet exists!"));r?this.socket.setObject(s,{_id:s,type:"channel",common:{name:i,expert:!0},native:{}}).then(()=>setTimeout(()=>this.setState({menuSelectId:s},()=>setTimeout(()=>this.setState({menuSelectId:""}),300)),1e3)).catch(m=>this.showJsError(m)):(u==="Blockly"&&!d&&(d=` -//${btoa(encodeURIComponent(''))}`),this.socket.setObject(s,{_id:s,type:"script",common:{name:i,expert:!0,engineType:u||"Javascript/js",enabled:!1,engine:`system.adapter.javascript.${l||0}`,source:d||"",debug:!1,verbose:!1},native:{}}).then(()=>setTimeout(()=>this.onSelect(s),1e3)).catch(m=>this.showJsError(m)))}async updateScript(s,i,r){let l=await this.socket.getObject(s);const u={common:{}};if(r.engine!==void 0&&(u.common.engine=r.engine),r.enabled!==void 0&&(u.common.enabled=r.enabled),r.source!==void 0&&(u.common.source=r.source),r.debug!==void 0&&(u.common.debug=r.debug),r.verbose!==void 0&&(u.common.verbose=r.verbose),u.from="system.adapter.admin.0",s===i&&(l!=null&&l.common)&&r.name===l.common.name){(!r.engineType||r.engineType!==l.common.engineType)&&r.engineType!==void 0&&(u.common.engineType=r.engineType||"Javascript/js"),u.type="script",await this.socket.extendObject(s,u);return}if(l!=null&&l.common){l.common.engineType=r.engineType||l.common.engineType||"Javascript/js",await this.socket.delObject(s),u.common.engine!==void 0&&(l.common.engine=u.common.engine),u.common.enabled!==void 0&&(l.common.enabled=u.common.enabled),u.common.source!==void 0&&(l.common.source=u.common.source),u.common.name!==void 0&&(l.common.name=u.common.name),u.common.debug!==void 0&&(l.common.debug=u.common.debug),u.common.verbose!==void 0&&(l.common.verbose=u.common.verbose),l._rev!==void 0&&delete l._rev,l.common.name=r.name,l.common.expert=!0,l.type="script",l._id=i,await this.socket.setObject(i,l);return}l=u,l.common.name=r.name,l.common.expert=!0,l.type="script",l._id=i,await this.socket.setObject(i,l)}onEnableDisable(s,i){var r;if(((r=this.scripts[s])==null?void 0:r.type)==="script"){const l=this.scripts[s].common;l.enabled=i,l.expert=!0,this.updateScript(s,s,l).catch(u=>u!=="canceled"&&this.showJsError(u))}}async getLiveHost(){for(let s=0;s{if(typeof u=="string"){const d=document.createElement("a");d.href=`../../files/${u}`,document.body.appendChild(d),d.click(),d.remove()}else if(u.error&&this.showJsError(u.error),u.data){const d=document.createElement("a");d.href=`data: application/zip;base64,${u.data}`,d.download=`${r}scripts.zip`,document.body.appendChild(d),d.click(),d.remove()}})}onImport(s){this.importFile=s||null,s?(this.confirmCallback=this.onImportConfirmed.bind(this),this.setState({importFile:!1,confirm:b.I18n.t("Existing scripts will be overwritten.")})):this.setState({importFile:!1})}async onImportConfirmed(s){let i=this.importFile;if(this.importFile=null,s&&i){i=i.split(",")[1];const r=await this.getLiveHost();if(!r){this.showJsError(b.I18n.t("No active host found"));return}this.socket.getRawSocket().emit("sendToHost",r,"writeObjectsAsZip",{data:i,adapter:"javascript",id:"script.js"},l=>{l==="permissionError"?this.showJsError(b.I18n.t(l)):!l||l.error?this.showJsError(l?b.I18n.t(l.error||""):b.I18n.t("Unknown error")):this.showMessage(b.I18n.t("Done"))})}}toggleLogLayout(){window.localStorage.setItem("App.logHorzLayout",this.state.logHorzLayout?"false":"true"),this.setState({logHorzLayout:!this.state.logHorzLayout})}renderEditor(){var i;const s=Object.keys(this.scripts).reduce((r,l)=>r+(this.scripts[l].common.engineType==="Rules"?1:0),0);return g.jsx(kn,{scriptsHash:this.state.scriptsHash,debugMode:this.state.debugMode,onDebugModeChange:r=>{r?this.setState({debugMode:!0}):this.setState({debugMode:!1,debugInstance:null})},visible:!this.state.resizing,socket:this.socket,adapterName:this.adapterName,onLocate:r=>this.setState({menuSelectId:r}),password:this.state.password,runningInstances:this.state.runningInstances,menuOpened:this.state.menuOpened,searchText:this.state.searchText,themeType:this.state.themeType,themeName:this.state.themeName,theme:this.state.theme,expertMode:this.state.expertMode,onChange:(r,l)=>this.onUpdateScript(r,l),isAnyRulesExists:s,debugInstance:this.state.debugInstance,onSelectedChange:(r,l)=>{const u={};let d=!1;r!==this.state.selected&&(d=!0,u.selected=r),JSON.stringify(l)!==JSON.stringify(this.state.editing)&&(d=!0,u.editing=[...l]),d&&this.setState(u)},onRestart:r=>this.socket.extendObject(r,{common:{enabled:!0}}),selected:this.state.selected&&((i=this.scripts[this.state.selected])==null?void 0:i.type)==="script"?this.state.selected:"",objects:this.scripts,resizing:this.state.resizing,onChangedChanged:r=>this.changedScripts=r},"editor")}showLogButton(){return g.jsx($t,{title:b.I18n.t("Show logs"),sx:Br.showLogButton,onClick:()=>{window.localStorage.setItem("App.hideLog","false"),this.setState({hideLog:!1,resizing:!0}),setTimeout(()=>this.setState({resizing:!1}),300)},children:g.jsx(wS,{})},"showLog")}renderErrorDialog(){return this.state.errorText?g.jsx(Zc,{onClose:()=>this.setState({errorText:""}),text:this.state.errorText},"dialogError"):null}renderMain(){let s;return this.state.debugMode||this.state.hideLog?s=g.jsxs(g.Fragment,{children:[!this.state.debugMode&&this.state.hideLog?this.showLogButton():void 0,this.renderEditor()]}):s=g.jsxs(l_,{direction:this.state.logHorzLayout?dt.Horizontal:dt.Vertical,initialSizes:this.state.logSizes,minWidths:[500,100],minHeights:[150,50],onResizeStarted:()=>this.setState({resizing:!0}),onResizeFinished:(i,r)=>{this.setState({logSizes:r,resizing:!1}),window.localStorage.setItem("JS.logSizes",JSON.stringify(r))},gutterClassName:this.state.themeType==="dark"?"Dark visGutter":"Light visGutter",children:[this.renderEditor(),g.jsx(bm,{verticalLayout:!this.state.logHorzLayout,onLayoutChange:()=>this.toggleLogLayout(),editing:this.state.editing,socket:this.socket,selected:this.state.selected,onHideLog:()=>{window.localStorage.setItem("App.hideLog","true"),this.setState({hideLog:!0,resizing:!0}),setTimeout(()=>this.setState({resizing:!1}),300)}},"log")]}),g.jsxs($t,{sx:Br.content,className:"iobVerticalSplitter",children:[g.jsx($t,{sx:Br.menuOpenCloseButton,onClick:()=>{window.localStorage.setItem("App.menuOpened",this.state.menuOpened?"false":"true"),this.setState({menuOpened:!this.state.menuOpened,resizing:!0}),setTimeout(()=>this.setState({resizing:!1}),300)},children:this.state.menuOpened?g.jsx(CS,{}):g.jsx(TS,{})},"closeMenu"),this.state.message?g.jsx(b.Message,{onClose:()=>this.setState({message:""}),text:this.state.message},"dialogMessage"):null,this.renderErrorDialog(),this.state.importFile?g.jsx(jm,{onClose:i=>this.onImport(i)},"dialogImportFile"):null,this.state.confirm?g.jsx(b.Confirm,{onClose:i=>{this.state.confirm&&this.setState({confirm:""}),this.confirmCallback&&this.confirmCallback(i),this.confirmCallback=null},text:this.state.confirm},"dialogConfirm"):null,this.renderPasswordDialog(),s]},"main")}render(){if(!this.state.ready)return g.jsx(i_,{injectFirst:!0,children:g.jsx(n_,{theme:this.state.theme,children:g.jsx(b.Loader,{themeType:this.state.themeType})})});let s;return this.state.menuOpened?s=g.jsxs(l_,{direction:dt.Horizontal,initialSizes:this.state.splitSizes,minWidths:[270,400],onResizeFinished:(i,r)=>{this.setState({splitSizes:r}),window.localStorage.setItem("JS.splitSizes",JSON.stringify(r))},gutterClassName:this.state.themeType==="dark"?"Dark visGutter":"Light visGutter",children:[g.jsx("div",{style:Br.mainDiv,children:g.jsx(bo,{password:this.state.password,debugMode:this.state.debugMode,onDebugInstance:i=>this.setState({debugInstance:i,debugMode:!!i}),scripts:this.scripts,scriptsHash:this.state.scriptsHash,instances:this.state.instances,onRename:this.onRename.bind(this),socket:this.socket,selectId:this.state.menuSelectId,onEdit:this.onEdit.bind(this),expertMode:this.state.expertMode,themeName:this.state.themeName,onThemeChange:i=>{b.Utils.setThemeName(i);const r=b.Utils.getThemeType(i);this.setState({themeName:i,themeType:r},()=>this.toggleTheme(i))},runningInstances:this.state.runningInstances,onExpertModeChange:i=>this.onExpertModeChange(i),onDelete:this.onDelete.bind(this),onAddNew:this.onAddNew.bind(this),onEnableDisable:this.onEnableDisable.bind(this),onExport:this.onExport.bind(this),width:500,onImport:()=>this.setState({importFile:!0}),onSearch:i=>this.setState({searchText:i}),version:this.props.version,changedScripts:this.changedScripts},"sidemenu")},"menu"),this.renderMain()]}):s=this.renderMain(),g.jsx(i_,{injectFirst:!0,children:g.jsx(n_,{theme:this.state.theme,children:g.jsx("div",{style:Br.root,children:g.jsx(mO,{socket:this.socket,children:s})})})})}}window.location.hostname==="localhost"||window.location.hostname==="[::1]"||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/);function rse(){"serviceWorker"in navigator&&navigator.serviceWorker.ready.then(a=>{a.unregister()})}const ase="9.0.18",DT={version:ase};var Fo;(function(a){a.mouse="mouse",a.touch="touch",a.keyboard="keyboard"})(Fo||(Fo={}));class lse{get delay(){var s;return(s=this.args.delay)!==null&&s!==void 0?s:0}get scrollAngleRanges(){return this.args.scrollAngleRanges}get getDropTargetElementsAtPoint(){return this.args.getDropTargetElementsAtPoint}get ignoreContextMenu(){var s;return(s=this.args.ignoreContextMenu)!==null&&s!==void 0?s:!1}get enableHoverOutsideTarget(){var s;return(s=this.args.enableHoverOutsideTarget)!==null&&s!==void 0?s:!1}get enableKeyboardEvents(){var s;return(s=this.args.enableKeyboardEvents)!==null&&s!==void 0?s:!1}get enableMouseEvents(){var s;return(s=this.args.enableMouseEvents)!==null&&s!==void 0?s:!1}get enableTouchEvents(){var s;return(s=this.args.enableTouchEvents)!==null&&s!==void 0?s:!0}get touchSlop(){return this.args.touchSlop||0}get delayTouchStart(){var s,i,r,l;return(l=(r=(s=this.args)===null||s===void 0?void 0:s.delayTouchStart)!==null&&r!==void 0?r:(i=this.args)===null||i===void 0?void 0:i.delay)!==null&&l!==void 0?l:0}get delayMouseStart(){var s,i,r,l;return(l=(r=(s=this.args)===null||s===void 0?void 0:s.delayMouseStart)!==null&&r!==void 0?r:(i=this.args)===null||i===void 0?void 0:i.delay)!==null&&l!==void 0?l:0}get window(){if(this.context&&this.context.window)return this.context.window;if(typeof window<"u")return window}get document(){var s;if(!((s=this.context)===null||s===void 0)&&s.document)return this.context.document;if(this.window)return this.window.document}get rootElement(){var s;return((s=this.args)===null||s===void 0?void 0:s.rootElement)||this.document}constructor(s,i){this.args=s,this.context=i}}function cse(a,s,i,r){return Math.sqrt(Math.pow(Math.abs(i-a),2)+Math.pow(Math.abs(r-s),2))}function use(a,s,i,r,l){if(!l)return!1;const u=Math.atan2(r-s,i-a)*180/Math.PI+180;for(let d=0;d=p.start)&&(p.end==null||u<=p.end))return!0}return!1}const dse={Left:1},hse={Left:0};function Cg(a){return a.button===void 0||a.button===hse.Left}function pse(a){return a.buttons===void 0||(a.buttons&dse.Left)===0}function AT(a){return!!a.targetTouches}const gse=1;function mse(a){const s=a.nodeType===gse?a:a.parentElement;if(!s)return;const{top:i,left:r}=s.getBoundingClientRect();return{x:r,y:i}}function fse(a,s){if(a.targetTouches.length===1)return Hc(a.targetTouches[0]);if(s&&a.touches.length===1&&a.touches[0].target===s.target)return Hc(a.touches[0])}function Hc(a,s){return AT(a)?fse(a,s):{x:a.clientX,y:a.clientY}}const _w=(()=>{let a=!1;try{addEventListener("test",()=>{},Object.defineProperty({},"passive",{get(){return a=!0,!0}}))}catch{}return a})(),jr={[Fo.mouse]:{start:"mousedown",move:"mousemove",end:"mouseup",contextmenu:"contextmenu"},[Fo.touch]:{start:"touchstart",move:"touchmove",end:"touchend"},[Fo.keyboard]:{keydown:"keydown"}};class Vr{profile(){var s;return{sourceNodes:this.sourceNodes.size,sourcePreviewNodes:this.sourcePreviewNodes.size,sourcePreviewNodeOptions:this.sourcePreviewNodeOptions.size,targetNodes:this.targetNodes.size,dragOverTargetIds:((s=this.dragOverTargetIds)===null||s===void 0?void 0:s.length)||0}}get document(){return this.options.document}setup(){const s=this.options.rootElement;s&&(Ie(!Vr.isSetUp,"Cannot have two Touch backends at the same time."),Vr.isSetUp=!0,this.addEventListener(s,"start",this.getTopMoveStartHandler()),this.addEventListener(s,"start",this.handleTopMoveStartCapture,!0),this.addEventListener(s,"move",this.handleTopMove),this.addEventListener(s,"move",this.handleTopMoveCapture,!0),this.addEventListener(s,"end",this.handleTopMoveEndCapture,!0),this.options.enableMouseEvents&&!this.options.ignoreContextMenu&&this.addEventListener(s,"contextmenu",this.handleTopMoveEndCapture),this.options.enableKeyboardEvents&&this.addEventListener(s,"keydown",this.handleCancelOnEscape,!0))}teardown(){const s=this.options.rootElement;s&&(Vr.isSetUp=!1,this._mouseClientOffset={},this.removeEventListener(s,"start",this.handleTopMoveStartCapture,!0),this.removeEventListener(s,"start",this.handleTopMoveStart),this.removeEventListener(s,"move",this.handleTopMoveCapture,!0),this.removeEventListener(s,"move",this.handleTopMove),this.removeEventListener(s,"end",this.handleTopMoveEndCapture,!0),this.options.enableMouseEvents&&!this.options.ignoreContextMenu&&this.removeEventListener(s,"contextmenu",this.handleTopMoveEndCapture),this.options.enableKeyboardEvents&&this.removeEventListener(s,"keydown",this.handleCancelOnEscape,!0),this.uninstallSourceNodeRemovalObserver())}addEventListener(s,i,r,l=!1){const u=_w?{capture:l,passive:!1}:l;this.listenerTypes.forEach(function(d){const p=jr[d][i];p&&s.addEventListener(p,r,u)})}removeEventListener(s,i,r,l=!1){const u=_w?{capture:l,passive:!1}:l;this.listenerTypes.forEach(function(d){const p=jr[d][i];p&&s.removeEventListener(p,r,u)})}connectDragSource(s,i){const r=this.handleMoveStart.bind(this,s);return this.sourceNodes.set(s,i),this.addEventListener(i,"start",r),()=>{this.sourceNodes.delete(s),this.removeEventListener(i,"start",r)}}connectDragPreview(s,i,r){return this.sourcePreviewNodeOptions.set(s,r),this.sourcePreviewNodes.set(s,i),()=>{this.sourcePreviewNodes.delete(s),this.sourcePreviewNodeOptions.delete(s)}}connectDropTarget(s,i){const r=this.options.rootElement;if(!this.document||!r)return()=>{};const l=u=>{if(!this.document||!r||!this.monitor.isDragging())return;let d;switch(u.type){case jr.mouse.move:d={x:u.clientX,y:u.clientY};break;case jr.touch.move:var p,m;d={x:((p=u.touches[0])===null||p===void 0?void 0:p.clientX)||0,y:((m=u.touches[0])===null||m===void 0?void 0:m.clientY)||0};break}const f=d!=null?this.document.elementFromPoint(d.x,d.y):void 0,v=f&&i.contains(f);if(f===i||v)return this.handleMove(u,s)};return this.addEventListener(this.document.body,"move",l),this.targetNodes.set(s,i),()=>{this.document&&(this.targetNodes.delete(s),this.removeEventListener(this.document.body,"move",l))}}getTopMoveStartHandler(){return!this.options.delayTouchStart&&!this.options.delayMouseStart?this.handleTopMoveStart:this.handleTopMoveStartDelay}installSourceNodeRemovalObserver(s){this.uninstallSourceNodeRemovalObserver(),this.draggedSourceNode=s,this.draggedSourceNodeRemovalObserver=new MutationObserver(()=>{s&&!s.parentElement&&(this.resurrectSourceNode(),this.uninstallSourceNodeRemovalObserver())}),!(!s||!s.parentElement)&&this.draggedSourceNodeRemovalObserver.observe(s.parentElement,{childList:!0})}resurrectSourceNode(){this.document&&this.draggedSourceNode&&(this.draggedSourceNode.style.display="none",this.draggedSourceNode.removeAttribute("data-reactid"),this.document.body.appendChild(this.draggedSourceNode))}uninstallSourceNodeRemovalObserver(){this.draggedSourceNodeRemovalObserver&&this.draggedSourceNodeRemovalObserver.disconnect(),this.draggedSourceNodeRemovalObserver=void 0,this.draggedSourceNode=void 0}constructor(s,i,r){this.getSourceClientOffset=l=>{const u=this.sourceNodes.get(l);return u&&mse(u)},this.handleTopMoveStartCapture=l=>{Cg(l)&&(this.moveStartSourceIds=[])},this.handleMoveStart=l=>{Array.isArray(this.moveStartSourceIds)&&this.moveStartSourceIds.unshift(l)},this.handleTopMoveStart=l=>{if(!Cg(l))return;const u=Hc(l);u&&(AT(l)&&(this.lastTargetTouchFallback=l.targetTouches[0]),this._mouseClientOffset=u),this.waitingForDelay=!1},this.handleTopMoveStartDelay=l=>{if(!Cg(l))return;const u=l.type===jr.touch.start?this.options.delayTouchStart:this.options.delayMouseStart;this.timeout=setTimeout(this.handleTopMoveStart.bind(this,l),u),this.waitingForDelay=!0},this.handleTopMoveCapture=()=>{this.dragOverTargetIds=[]},this.handleMove=(l,u)=>{this.dragOverTargetIds&&this.dragOverTargetIds.unshift(u)},this.handleTopMove=l=>{if(this.timeout&&clearTimeout(this.timeout),!this.document||this.waitingForDelay)return;const{moveStartSourceIds:u,dragOverTargetIds:d}=this,p=this.options.enableHoverOutsideTarget,m=Hc(l,this.lastTargetTouchFallback);if(!m)return;if(this._isScrolling||!this.monitor.isDragging()&&use(this._mouseClientOffset.x||0,this._mouseClientOffset.y||0,m.x,m.y,this.options.scrollAngleRanges)){this._isScrolling=!0;return}if(!this.monitor.isDragging()&&this._mouseClientOffset.hasOwnProperty("x")&&u&&cse(this._mouseClientOffset.x||0,this._mouseClientOffset.y||0,m.x,m.y)>(this.options.touchSlop?this.options.touchSlop:0)&&(this.moveStartSourceIds=void 0,this.actions.beginDrag(u,{clientOffset:this._mouseClientOffset,getSourceClientOffset:this.getSourceClientOffset,publishSource:!1})),!this.monitor.isDragging())return;const f=this.sourceNodes.get(this.monitor.getSourceId());this.installSourceNodeRemovalObserver(f),this.actions.publishDragSource(),l.cancelable&&l.preventDefault();const v=(d||[]).map(C=>this.targetNodes.get(C)).filter(C=>!!C),_=this.options.getDropTargetElementsAtPoint?this.options.getDropTargetElementsAtPoint(m.x,m.y,v):this.document.elementsFromPoint(m.x,m.y),y=[];for(const C in _){if(!_.hasOwnProperty(C))continue;let w=_[C];for(w!=null&&y.push(w);w;)w=w.parentElement,w&&y.indexOf(w)===-1&&y.push(w)}const k=y.filter(C=>v.indexOf(C)>-1).map(C=>this._getDropTargetId(C)).filter(C=>!!C).filter((C,w,E)=>E.indexOf(C)===w);if(p)for(const C in this.targetNodes){const w=this.targetNodes.get(C);if(f&&w&&w.contains(f)&&k.indexOf(C)===-1){k.unshift(C);break}}k.reverse(),this.actions.hover(k,{clientOffset:m})},this._getDropTargetId=l=>{const u=this.targetNodes.keys();let d=u.next();for(;d.done===!1;){const p=d.value;if(l===this.targetNodes.get(p))return p;d=u.next()}},this.handleTopMoveEndCapture=l=>{if(this._isScrolling=!1,this.lastTargetTouchFallback=void 0,!!pse(l)){if(!this.monitor.isDragging()||this.monitor.didDrop()){this.moveStartSourceIds=void 0;return}l.cancelable&&l.preventDefault(),this._mouseClientOffset={},this.uninstallSourceNodeRemovalObserver(),this.actions.drop(),this.actions.endDrag()}},this.handleCancelOnEscape=l=>{l.key==="Escape"&&this.monitor.isDragging()&&(this._mouseClientOffset={},this.uninstallSourceNodeRemovalObserver(),this.actions.endDrag())},this.options=new lse(r,i),this.actions=s.getActions(),this.monitor=s.getMonitor(),this.sourceNodes=new Map,this.sourcePreviewNodes=new Map,this.sourcePreviewNodeOptions=new Map,this.targetNodes=new Map,this.listenerTypes=[],this._mouseClientOffset={},this._isScrolling=!1,this.options.enableMouseEvents&&this.listenerTypes.push(Fo.mouse),this.options.enableTouchEvents&&this.listenerTypes.push(Fo.touch),this.options.enableKeyboardEvents&&this.listenerTypes.push(Fo.keyboard)}}const $se=function(s,i={},r={}){return new Vr(s,i,r)};window.GenericBlock=Xe;window.adapterName="javascript";window.sentryDSN="https://504499a725eb4898930d3b9e9da95740@sentry.iobroker.net/56";console.log(`iobroker.${window.adapterName}@${DT.version}`);const bse=window.innerWidth<600,ww=document.getElementById("root");ww&&Pw(ww).render(g.jsx(Zw,{backend:bse?$se:uC,children:g.jsx(nse,{version:DT.version})}));rse();const uc=window.loadDynamicScript;uc&&uc(window.location.port==="3000"?`${window.location.protocol}//${window.location.hostname}:8081/lib/js/socket.io.js`:"./../../lib/js/socket.io.js",()=>uc("vs/loader.js",()=>uc("vs/configure.js",()=>typeof window.socketLoadedHandler=="function"&&window.socketLoadedHandler())));export{gO as C,Q0 as D,Xe as G,dC as I,mw as M,As as S,pI as a,RI as b,FI as c,bi as d,cne as e,zm as f,Zc as g,nx as h,une as j,l_ as m,Mn as u,dt as z}; + await setStateAsync("${s.oidResult}", val1_${s._id} ${s.operation} val2_${s._id}, ${s.tagCard==="update"});`}renderDebug(s){var i,r;return g.jsxs("span",{children:[b.I18n.t("Set:")," ",g.jsx("span",{className:s.data.ack?(i=this.props.classes)==null?void 0:i.valueAck:(r=this.props.classes)==null?void 0:r.valueNotAck,children:xn(s.data.val)})]})}onTagChange(){const s=[];s.push({nameRender:"renderObjectID",title:"ID1",attr:"oid1",defaultValue:"",checkReadOnly:!1}),s.push({nameRender:"renderSelect",options:[{value:"+",title:"+"},{value:"-",title:"-"},{value:"*",title:"*"},{value:"/",title:"/"}],doNotTranslate:!0,defaultValue:"+",attr:"operation"}),s.push({nameRender:"renderObjectID",title:"ID2",attr:"oid2",defaultValue:"",checkReadOnly:!1}),s.push({nameRender:"renderNameText",defaultValue:"store in",attr:"textEqual"}),s.push({nameRender:"renderObjectID",attr:"oidResult",defaultValue:"",checkReadOnly:!0}),this.setState({inputs:s},()=>super.onTagChange(null,()=>{const i=JSON.parse(JSON.stringify(this.state.settings));this.props.onChange(i)}))}onValueChanged(s,i){this.onTagChange()}onUpdate(){this.onTagChange()}static getStaticData(){return{acceptedBy:"actions",name:"Operate two states",id:"ActionOperateStates",icon:"AddBox",tagCardArray:["control","update"],title:"Operations with two states"}}getData(){return Uc.getStaticData()}}const pO=[vi,Oc,Mc,Hr,Wr,Po,Nc,Lc,Pc,Bc,jc,Fc,zc,Uc],cc={sayit:xc,pushover:Dc,"whatsapp-cmb":Ac,pushsafer:Rc},gO=rm({blocks:null,socket:null,onUpdate:!1,setOnUpdate:a=>{},setOnDebugMessage:a=>{},onDebugMessage:[],enableSimulation:!1,setEnableSimulation:a=>{},changedScripts:{},setChangedScripts:a=>{}}),mO=({children:a,socket:s})=>{const[i,r]=vt(null),[l,u]=vt(!1),[d,p]=vt([]),[m,f]=vt(!1),[v,_]=vt({});return Mt(()=>{l&&u(!1)},[l]),Mt(()=>{(async()=>{const y=await s.getAdapterInstances(),k=Object.keys(cc).filter(D=>y.find(A=>{var J;return((J=A==null?void 0:A.common)==null?void 0:J.name)===D})),C=[],w=y.filter(D=>D.common.javascriptRules),E=[];for(const D of w){if(E.includes(D.common.name)||!D.common.javascriptRules)continue;let A;if(D.common.javascriptRules.url.startsWith("http:")||D.common.javascriptRules.url.startsWith("https:")?A=D.common.javascriptRules.url:D.common.javascriptRules.url.startsWith("./")?A=`${window.location.protocol}//${window.location.host}${D.common.javascriptRules.url.replace(/^\./,"")}`:A=`${window.location.protocol}//${window.location.host}/adapter/${D.common.name}/${D.common.javascriptRules.url}`,D.common.javascriptRules.i18n===!0){const J=A.lastIndexOf("/");let ie;J!==-1?ie=A.substring(0,J):ie=A;const se=b.I18n.getLanguage(),me=`${ie}/i18n/${se}.json`;await fetch(me).then(z=>z.json()).then(z=>b.I18n.extendTranslations(z,se)).catch(z=>{if(se!=="en")return fetch(`${ie}/i18n/en.json`).then(Oe=>Oe.json()).then(Oe=>b.I18n.extendTranslations(Oe,se)).catch(Oe=>console.error(`Cannot load i18n "${me}": ${Oe}`));console.log(`Cannot load i18n "${me}": ${z}`)})}else if(D.common.javascriptRules.i18n&&typeof D.common.javascriptRules.i18n=="object")try{b.I18n.extendTranslations(D.common.javascriptRules.i18n)}catch(J){console.error(`Cannot import i18n for "${D.common.javascriptRules.name}": ${J}`)}try{Xy.registerRemotes([{name:D.common.javascriptRules.name,entry:A,type:D.common.javascriptRules.type}]);const J=(await Xy.loadRemote(`${D.common.javascriptRules.name}/${D.common.javascriptRules.name}`)).default;J&&(C.push(J),E.push(D.common.name),cc[D.common.name]=null)}catch(J){console.error(`Cannot load component "${D.common.javascriptRules.name}": ${J}`)}}const R=k.filter(D=>cc[D]).map(D=>cc[D]);r([...pO,...R,...C])})()},[]),g.jsx(gO.Provider,{value:{blocks:i,socket:s,onUpdate:l,setOnUpdate:u,onDebugMessage:d,setOnDebugMessage:p,enableSimulation:m,setEnableSimulation:f,changedScripts:v,setChangedScripts:_},children:a})},fO="Acknowledged",$O="Actions",bO="Add",vO="All",yO="Any",_O="Apply",wO="April",CO="Ask",TO="Astronomical",kO="August",SO="Cancel",EO="Close",IO="Condition",xO="Conditions",DO="Console",AO="Copied",RO="December",OO="Default",MO="Delay",NO="Delete",LO="Description",PO="Done",BO="Exec shell",jO="Explanation",FO="Export",zO="Februar",UO="February",HO="Filter",WO="Folder",GO="Fr",VO="Friday",KO="ID",YO="ID1",JO="ID2",qO="Import",XO="Instance",ZO="Instances",QO="Instructions",eM="Januar",tM="January",sM="July",oM="June",iM="Limit",nM="March",rM="May",aM="Menu",lM="Message",cM="Mo",uM="Model",dM="Monday",hM="Month",pM="More",gM="Name",mM="November",fM="OK",$M="October",bM="Ok",vM="Pause",yM="Pushover",_M="Pushsafer",wM="Rename",CM="Repeat",TM="Restart",kM="Result",SM="Sa",EM="Saturday",IM="Save",xM="Schedule",DM="Script",AM="September",RM="Simulate",OM="Stack",MM="Start",NM="State",LM="Su",PM="Sunday",BM="Telegram",jM="Th",FM="Thursday",zM="Time",UM="Triggered",HM="Triggers",WM="Tu",GM="Tuesday",VM="URL",KM="Value",YM="Volume",JM="We",qM="Wednesday",XM="Write",ZM="Yes",QM="acknowledgment",eN="all",tN="and",sN="Astro",oN="at",iN="control",nN="copy",rN="CRON",aN="Dawn",lN="This is a special mode in which states and objects will not change. But only information about each planned change will be displayed in the protocol.",cN="Debug",uN="Dusk",dN="easy",hN="every",pN="Function",gN="ID",mN="Name",fN="Role",$N="Room",bN="Golden hour",vN="End of golden hour",yN='The code will be executed only every time when condition is true. E.g. if triggering on the temperature sensor value and the condition is "if temperature is greater than 20°C", the "then" actions will be executed every time when sensor sends the temperature and it is over 20°C. By 21°C, by 22°C and so on.',_N='The code will be executed only if the condition result changes. E.g. if triggering on the temperature sensor value and the condition is "if temperature is greater than 20°C", the "then" actions will be executed once when temperature is over 20. Next time the "then" actions will be executed when the temperature fails under 20 and then rises over 20 again.',wN="hours",CN="includes",TN="interval",kN="magic",SN="milliseconds",EN="minutes",IN="ms",xN="Nadir",DN="Nautical dawn",AN="Nautical dusk",RN="Next Sunrise",ON="Next sunset",MN="Night",NN="Night end",LN="normal",PN="offset",BN="one",jN="or",FN="quiet",zN="search",UN="seconds",HN="Solar noon",WN="sunrise",GN="Sunrise end",VN="Sunset",KN="Sunset start",YN="then",JN="Acknowledge",qN="From",XN="Last changed",ZN="Quality",QN="Timestamp",eL="User",tL="Value",sL="two",oL="update",iL="Adds debug output to the log for many system commands",nL="Verbose log outputs",rL="when",aL="Wizard",lL="Retry",cL={"%s not found":"%s not found","()":"()","(at %s)":"(at %s)","(optional)":"(optional)","-":"-",".":".","AI code generator":"AI code generator",Ack:fO,Actions:$O,"Actual time of day":"Actual time of day",Add:bO,"Add new script":"Add new script",All:vO,"All files will be accepted":"All files will be accepted",Any:yO,"Any month":"Any month",Apply:_O,April:wO,"Are you sure?":"Are you sure?",Ask:CO,Astronomical:TO,"Astronomical events today":"Astronomical events today",August:kO,"Blockly description":"Creating rules by graphic blocks","Body:":"Body:",Cancel:SO,"Cannot delete non empty item!":"Cannot delete non empty item!","Change layout":"Change layout",'Change theme (actual "%s")':'Change theme (now - "%s")',"Check blocks":"Check blocks","Check is not active, because javascript adapter is disabled":"Check is not active, because Javascript adapter is disabled","Clear search input":"Clear search input","Click on this icon":"Click on this icon",Close:EO,"Close all but current":"Close all but current","Collapse all":"Collapse all","Compares current time with astronomical event":"Compares current time with astronomical event","Compares current time with the user specific time":"Compares current time with the user specific time","Compares the state value with user defined value":"Compares the state value with user defined value",Condition:IO,Conditions:xO,"Configuration not saved.":"Configuration not saved.",Console:DO,"Control or update some state":"Control or update some state","Control or update some state with delay":"Control or update some state with delay","Convert blockly to javascript for ever.":"Permanently convert Blockly to Javascript.",Copied:AO,"Copy script":"Copy script","Copy to clipboard":"Copy to clipboard","Create new":"Create new","Create new folder":"Create new folder","Create new script":"Create new script","Create or edit CRON or time wizard":"Create or edit CRON or time wizard","Dark Theme":"Dark theme","Dark style":"Dark style",Date:"Date","Debug instance":"Debug instance","Debug options":"Debug options",December:RO,Default:OO,"Define cron...":"Define cron...","Define schedule...":"Define schedule...",Delay:MO,Delete:NO,"Delete %s":"Delete %s...","Delete folder":"Delete folder","Delete script":"Delete script",Description:LO,"Deselect all":"Deselect all","Discard changes for %s":"Discard changes for %s",Done:PO,"Double click to write value":"Double click to write value","Download as file":"Download as file","Drop some files here or click...":"Drop some files here or click...","Duplicate name":"Duplicate name","Edit script or just double click":"Edit script or just double click","Empty name is not allowed":"Empty name is not allowed","End search mode":"End search mode","Enter your question":"Enter your request",Error:"Error","Error formatting code":"Error formatting code","Error was found":"Error was found","Every day":"Every day",Exec:BO,"Executes some shell command":"Executes some shell command","Existing scripts will be overwritten.":"Existing scripts will be overwritten.","Expand all":"Expand all","Expert mode":"Expert mode",Explanation:jO,Export:FO,"Export all scripts":"Export all scripts","Export blocks":"Export blocks","Export selected blocks":"Export selected blocks",Februar:zO,February:UO,Filter:HO,Folder:WO,Fr:GO,Friday:VO,Function:"Function","Function editor":"Function editor","Function: executed":"Function: executed","Go to next line":"Go to next line","HTTP Call":"HTTP Call","Hide logs":"Hide logs",ID:KO,ID1:YO,ID2:JO,Import:qO,"Import blocks":"Import blocks","Import error":"Import error","Import scripts":"Import scripts","Insert object ID":"Insert object ID",Instance:XO,"Instance is disabled":"Instance is disabled","Instance:":"Instance:",Instances:ZO,Instructions:QO,"Invalid CRON":"Invalid CRON","It will not be possible to revert this operation.":"It will not be possible to revert this operation.","JS description":"Creating rules by writing Javascript",Januar:eM,January:tM,July:sM,June:oM,"Just check":"Just check","Language:":"Language:","Learn More":"Learn More","Light style":"Light style",Limit:iM,"Local time":"Local time","Locate file":"Locate file","Log outputs":"Log outputs","Log text":"Log text","Log: %s":"Log: %s","Make a HTTP get request":"Make a HTTP get request","Make a pause between actions":"Make a pause between actions",March:nM,"March ":"March ",May:rM,Menu:aM,Message:lM,Mo:cM,Model:uM,Monday:dM,Month:hM,More:pM,Name:gM,"No API key found":"No API key found","No Chat GPT Key found":"No Chat GPT Key found","No active host found":"No active host found","Nothing found":"Nothing found",November:mM,OK:fM,October:$M,Ok:bM,"On condition change":"On condition result change","On script save or adapter start":"On script save or adapter start","On weekdays":"On weekdays","Open configuration":"Open configuration","Operate two states":"Operate two states","Operations with two states":"Operations with two states","Paste your blocks here":"Paste your blocks here",Pause:vM,"Pause execution":"Pause execution","Pause script":"Pause script","Phone:":"Phone:","Please select object ID...":"Please select object ID...","Press Ctrl+Enter to get the answer":"Press Ctrl+Enter to get the answer","Prettify the script":"Prettify the script","Print some text in log":"Print some text in log","Priority:":"Priority:",Pushover:yM,Pushsafer:_M,"Read only ID selected: %s":"Read only ID selected: %s",Rename:wM,"Reorder scripts in folders":"Reorder scripts in folders",Repeat:CM,Restart:TM,Result:kM,"Resume execution":"Resume execution","Root folder":"Root folder","Rules description":"Create rules with IF, THEN, ELSE blocks","Run script":"Run script",Sa:SM,Saturday:EM,Save:IM,"Save all":"Save all","Say It":"Say It","Say some text via sayit adapter":"Say some text via sayit adapter",Schedule:xM,Script:DM,"Script %s was modified on disk":"Script %s was modified on disk","Script is not running":"Script is not running","Search in scripts":"Search in scripts","Search...":"Search...","Select all":"Select all","Send email":"Send email","Sends an email":"Sends an email","Sends message via Pushsafer":"Sends message via Pushsafer","Sends message via pushover":"Sends message via pushover","Sends message via telegram":"Sends message via telegram","Sends message via whatsapp-cmb":"Sends message via whatsapp-cmb",September:AM,"Server time":"Server time","Set state action":"Set state action","Set with delay":"Set with delay","Shell command":"Shell command","Show astronomical events":"Show astronomical events","Show javascript code":"Show Javascript code","Show logs":"Show logs","Show only paused scripts":"Show only paused scripts","Show only running scripts":"Show only running scripts","Show only scripts with problems":"Show only scripts with problems",Simulate:RM,"Some files will be rejected":"Some files will be rejected","Sound:":"Sound:",Stack:OM,Start:MM,"Start script":"Start script",State:NM,"State condition":"State condition","Step into function":"Step into function","Step out from function":"Step out from function","Stop on exception":"Stop on exception",Su:LM,"Subject:":"Subject:",Sunday:PM,"TS description":"Creating rules by writing Typescript",Telegram:BM,"Text:":"Text:",Th:jM,"The script will be stopped and must be activated manually after debugging. Continue?":"The script will be stopped and must be activated manually after debugging. Continue?","This is advances option. You can write your own code here and it will be executed on trigger":"This is advances option. You can write your own code here and it will be executed on trigger",Thursday:FM,Time:zM,"Time condition":"Time condition","Title:":"Title:","To:":"To:","Trigger with value":"Trigger with value",Triggered:UM,Triggers:HM,"Triggers the on script saving or the javascript instance restart":"Triggers the on script saving or the javascript instance restart","Triggers the rule on update or change of some state":"Triggers the rule on update or change of some state","Triggers the rule periodically or on some specific time":"Triggers the rule periodically or on some specific time",Tu:WM,Tuesday:GM,URL:VM,"Unknown error":"Unknown error","Unknown error!":"Unknown error!","Use generated code":"Use generated code","User function":"User function","User:":"User:",Value:KM,"Vibration:":"Vibration:",Volume:YM,We:JM,Wednesday:qM,"Whatsapp-cmb":"Whatsapp-cmb",Write:XM,"Write your own code":"Write your own code",Yes:ZM,"Yet exists!":"Yet exists!","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"You can use %s in the URL to use current trigger value, %id to use the triggered object ID, %name to show triggered object ID name or %old to use old trigger value","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"You can use %s in the command to use current trigger value, %id to use the triggered object ID, %name to show triggered object ID name or %old to use old trigger value","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"You can use %s in the text to display current trigger value, %id to use the triggered object ID, %name to show triggered object ID name or %old to use old trigger value","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"You can use %s in the value to use the current trigger value, %id to use the triggered object ID, %name to show triggered object ID name or %old to use old trigger value","You have to enter OpenAI API key in the configuration of javascript adapter.":"You have to enter OpenAI API key in the configuration of javascript adapter.","You have to enter at least one API key in the configuration of javascript adapter.":"You have to enter at least one API key (OpenAI, Anthropic or Gemini) in the configuration of javascript adapter.","Please select a valid model":"Please select a valid model","[equal]":"[equal]","[greater or equal]":"[greater or equal]","[greater]":"[greater]","[hysteresis]":"[hysteresis]","[includes]":"[includes]","[less or equal]":"[less or equal]","[less]":"[less]","[not equal]":"[not equal]",acknowledgment:QM,all:eN,and:tN,astro:sN,at:oN,"clear running":"clear running",control:iN,copy:nN,cron:rN,dawn:aN,debug_help:lN,debug_label:cN,default:"default",dusk:uN,easy:dN,else:"else","equal to":"equal to",every:hN,"every hour at 0 minutes":"every hour at 0 minutes",false:"false","file reading has failed: %s":"file reading has failed: %s","file reading was aborted":"file reading was aborted",filter_func:pN,filter_id:gN,filter_name:mN,filter_role:fN,filter_room:$N,"for edit or create script":"for edit or create a new script","for professionals":"for professionals","for programmers":"for programmers",goldenHour:bN,goldenHourEnd:vN,"greater or equal":"greater or equal","greater or equal to":"greater or equal to","greater than":"greater than",help_just_check:yN,help_on_change:_N,"high priority":"high priority","high-priority":"high-priority","highest priority":"highest priority",hours:wN,includes:CN,interval:TN,"just check":"just check","less or equal":"less or equal","less or equal to":"less or equal to","less than":"less than","lower priority":"lower priority","lowest priority":"lowest priority",magic:kN,milliseconds:SN,minutes:EN,ms:IN,nadir:xN,nauticalDawn:DN,nauticalDusk:AN,nextSunrise:RN,nextSunset:ON,night:MN,nightEnd:NN,"no blocks found":"No blocks found","no group":"NO GROUP",normal:LN,"normal priority":"normal priority","not equal to":"not equal to","not properly connected":"This block is not properly connected to other blocks.",offset:PN,"on change":"on change","on condition change":"on condition change","on update":"on update",one:BN,or:jN,quiet:FN,"reset search":"reset search",search:zN,seconds:UN,solarNoon:HN,"store in":"store in",sunrise:WN,sunriseEnd:GN,sunset:VN,sunsetStart:KN,then:YN,"toggle value":"toggle value",tooltip_ack:JN,tooltip_from:qN,tooltip_lc:XN,tooltip_quality:ZN,tooltip_ts:QN,tooltip_user:eL,tooltip_value:tL,true:"true",two:sL,undefined:"undefined",update:oL,"use seconds":"use seconds","use trigger value":"use trigger value",verbose_help:iL,verbose_label:nL,when:rL,with:"with","with date":"with date","with offset":"with offset",wizard:aL,"Loading models...":"Loading models...","Could not connect to API at %s":"Could not connect to API at %s","Invalid API key":"Invalid API key","Access denied by API":"Access denied by API","API error: %s":"API error: %s",'Model "%s" not found':'Model "%s" not found',"Request failed: %s":"Request failed: %s",Retry:lL,"No running javascript instance found":"No running javascript instance found"},uL="Bestätigt",dL="Aktionen",hL="Hinzufügen",pL="Alle",gL="Egal",mL="Anwenden",fL="April",$L="Fragen",bL="Astronomisch",vL="August",yL="Abbrechen",_L="Schließen",wL="Bedingung",CL="Bedingungen",TL="Konsole",kL="Kopiert",SL="Dezember",EL="Standard",IL="Verzögerung",xL="Löschen",DL="Beschreibung",AL="Fertig",RL="Exec shell",OL="Erläuterung",ML="Export",NL="Februar",LL="Februar",PL="Filter",BL="Ordner",jL="Fr",FL="Freitag",zL="ID",UL="ID1",HL="ID2",WL="Import",GL="Instanz",VL="Instanzen",KL="Anleitung",YL="Januar",JL="Januar",qL="Juli",XL="Juni",ZL="Grenze",QL="März",e1="Mai",t1="Menü",s1="Nachricht",o1="Mo",i1="Modell",n1="Montag",r1="Monat",a1="Mehr",l1="Name",c1="November",u1="OK",d1="Oktober",h1="Ok",p1="Pause",g1="Pushover",m1="Pushsafer",f1="Umbenennen",$1="Wiederholen",b1="Neustart",v1="Ergebnis",y1="Sa",_1="Samstag",w1="Speichern",C1="Zeitplan",T1="Skript",k1="September",S1="Simulieren",E1="Stack",I1="Start",x1="Zustand",D1="So",A1="Sonntag",R1="Telegram",O1="Do",M1="Donnerstag",N1="Zeit",L1="Ausgelöst",P1="Löst aus",B1="Di",j1="Dienstag",F1="URL",z1="Wert",U1="Volumen",H1="Mi",W1="Mittwoch",G1="Schreiben",V1="Ja",K1="Wissen",Y1="alle",J1="und",q1="Astro",X1="um",Z1="Steuerung",Q1="Kopie",eP="CRON",tP="Morgendämmerung",sP="Dies ist ein spezieller Modus, in dem sich Zustände und Objekte nicht ändern. Im Protokoll werden jedoch nur Informationen zu jeder geplanten Änderung angezeigt.",oP="Debuggen",iP="Abenddämmerung",nP="einfach",rP="jeder",aP="Funktion",lP="ID",cP="Name",uP="Rolle",dP="Raum",hP="Goldene Abendstunde",pP="Vormittag",gP='Der Code wird jedes Mal ausgeführt, wenn die Bedingung erfüllt ist. z.B. wenn der Temperatur wert sich ändert und die Bedingung "Wenn die Temperatur größer als 20°C ist" lautet, werden die "Dann" -Aktionen jedes Mal ausgeführt, wenn der Sensor die Temperatur sendet und diese über 20°C liegt. Bei 21°C, bei 22°C und so weiter.',mP='Der Code wird nur ausgeführt, wenn sich das Ergebnis der Bedingung ändert. z.B. wenn sich der Temperatur wert ändert und die Bedingung "Wenn die Temperatur größer als 20°C ist" lautet, werden die "Dann" -Aktionen einmal ausgeführt, wenn die Temperatur über 20°C liegt. Das nächste Mal werden die "Dann" -Aktionen ausgeführt, wenn die Temperatur unter 20°C gefallen ist und dann wieder über 20°C ansteigt.',fP="Stunden",$P="beinhaltet",bP="Intervall",vP="Magie",yP="Millisekunden",_P="Minuten",wP="ms",CP="Nadir",TP="nautische Morgendämmerung",kP="nautische Abenddämmerung",SP="Nächster Sonnenaufgang",EP="Nächster Sonnenuntergang",IP="Nacht",xP="astronomische Morgendämmerung",DP="Normal",AP="Versatz",RP="einer",OP="oder",MP="ruhig",NP="Suche",LP="Sekunden",PP="(Nach-)Mittag",BP="Sonnenaufgang",jP="Goldene Morgenstunde",FP="Sonnenuntergang",zP="Sonnenuntergang (Anfang)",UP="dann",HP="Bestätigen",WP="Von",GP="Zuletzt geändert",VP="Qualität",KP="Zeitstempel",YP="Benutzer",JP="Wert",qP="zwei",XP="Aktualisieren",ZP="Fügt Debug-Ausgaben für viele Systembefehle zum Protokoll hinzu",QP="Ausführliche Protokollausgaben",eB="falls",tB="Assistent",sB="Erneut versuchen",oB={"%s not found":"%s nicht gefunden","()":"()","(at %s)":"(um %s)","(optional)":"(optional)","-":"-",".":".","AI code generator":"KI-Codegenerator",Ack:uL,Actions:dL,"Actual time of day":"Tatsächliche Tageszeit",Add:hL,"Add new script":"Neues Skript hinzufügen",All:pL,"All files will be accepted":"Alle Dateien werden akzeptiert",Any:gL,"Any month":"Jeden Monat",Apply:mL,April:fL,"Are you sure?":"Wirklich sicher?",Ask:$L,Astronomical:bL,"Astronomical events today":"Astronomische Ereignisse heute",August:vL,"Blockly description":"Erstellen von Regeln durch Grafikblöcke","Body:":"Körper:",Cancel:yL,"Cannot delete non empty item!":"Kann nicht gelöscht werden, weil noch einige Elementen darin sind!","Change layout":"Layout ändern",'Change theme (actual "%s")':'Thema ändern (jetzt - "%s")',"Check blocks":"Blöcke prüfen","Check is not active, because javascript adapter is disabled":"Syntax-Check ist nicht aktiv, weil der Javascript Adapter nicht aktiv ist.","Clear search input":"Sucheingabe löschen","Click on this icon":"Auf dieses Symbol klicken",Close:_L,"Close all but current":"Alle anderen außer dem Aktiven schließen","Collapse all":"Alles einklappen","Compares current time with astronomical event":"Vergleicht die aktuelle Zeit mit einem astronomischen Ereignis","Compares current time with the user specific time":"Vergleicht die aktuelle Zeit mit der benutzerspezifischen Zeit","Compares the state value with user defined value":"Vergleicht den Zustandswert mit dem benutzerdefinierten Wert",Condition:wL,Conditions:CL,"Configuration not saved.":"Die Konfiguration ist nicht gespeichert.",Console:TL,"Control or update some state":"Zustand steuern oder aktualisieren","Control or update some state with delay":"Zustand mit Verzögerung steuern oder aktualisieren","Convert blockly to javascript for ever.":"Blockly dauerhaft in Javascript konvertieren.",Copied:kL,"Copy script":"Skript kopieren","Copy to clipboard":"In die Zwischenablage kopieren","Create new":"Neu erstellen","Create new folder":"Neuen Ordner erstellen","Create new script":"Neues Skript erstellen","Create or edit CRON or time wizard":"CRON- oder Zeit-Assistenten erstellen oder bearbeiten","Dark Theme":"Dunkles Thema","Dark style":"Dunkler Stil",Date:"Datum","Debug instance":"Debug-Instanz","Debug options":"Debug-Optionen",December:SL,Default:EL,"Define cron...":"Cron definieren ...","Define schedule...":"Zeitplan definieren ...",Delay:IL,Delete:xL,"Delete %s":"Löschen %s...","Delete folder":"Ordner löschen","Delete script":"Skript löschen",Description:DL,"Deselect all":"Alles abwählen","Discard changes for %s":"Änderungen für %s verwerfen",Done:AL,"Double click to write value":"Doppelklick zum Schreiben des Wertes","Download as file":"Download als Datei","Drop some files here or click...":"Dateien hier ablegen oder klicken ...","Duplicate name":"Doppelter Name","Edit script or just double click":"Skript bearbeiten oder einfach doppelklicken","Empty name is not allowed":"Leerer Name ist nicht zulässig","End search mode":"Suchmodus beenden","Enter your question":"Anfrage eingeben",Error:"Fehler","Error formatting code":"Fehler beim Formatieren des Codes","Error was found":"Fehler wurde gefunden","Every day":"Täglich",Exec:RL,"Executes some shell command":"Führt einen Shell-Befehl aus","Existing scripts will be overwritten.":"Vorhandene Skripte werden überschrieben.","Expand all":"Alle erweitern","Expert mode":"Expertenmodus",Explanation:OL,Export:ML,"Export all scripts":"Alle Skripte exportieren","Export blocks":"Blöcke exportieren","Export selected blocks":"Ausgewählte Blöcke exportieren",Februar:NL,February:LL,Filter:PL,Folder:BL,Fr:jL,Friday:FL,Function:"Funktion","Function editor":"Funktions-Editor","Function: executed":"Funktion: ausgeführt","Go to next line":"Gehe zur nächsten Zeile","HTTP Call":"HTTP-Aufruf","Hide logs":"Protokoll ausblenden",ID:zL,ID1:UL,ID2:HL,Import:WL,"Import blocks":"Blöcke importieren","Import error":"Fehler beim Importieren","Import scripts":"Skripte importieren","Insert object ID":"Objekt-ID einfügen",Instance:GL,"Instance is disabled":"Instanz ist deaktiviert","Instance:":"Instanz:",Instances:VL,Instructions:KL,"Invalid CRON":"Ungültiger CRON","It will not be possible to revert this operation.":"Dieser Vorgang kann nicht rückgängig gemacht werden.","JS description":"Regeln erstellen mit JavaScript",Januar:YL,January:JL,July:qL,June:XL,"Just check":"Einfach überprüfen","Language:":"Sprache:","Learn More":"Mehr erfahren","Light style":"Heller Stil",Limit:ZL,"Local time":"Lokale Zeit","Locate file":"Datei zeigen","Log outputs":"Protokoll","Log text":"Protokolltext","Log: %s":"Log: %s","Make a HTTP get request":"Eine HTTP-Abrufanforderung stellen","Make a pause between actions":"Eine Pause zwischen den Aktionen machen",March:QL,"March ":"März ",May:e1,Menu:t1,Message:s1,Mo:o1,Model:i1,Monday:n1,Month:r1,More:a1,Name:l1,"No API key found":"Kein API-Schlüssel gefunden","No Chat GPT Key found":"Kein Chat-GPT-Schlüssel gefunden","No active host found":"Kein aktiver Host gefunden","Nothing found":"Nichts gefunden",November:c1,OK:u1,October:d1,Ok:h1,"On condition change":"Bei Änderung des Ergebnis der Bedingung","On script save or adapter start":"Beim Speichern des Skripts oder beim Starten des Adapters","On weekdays":"An Wochentagen","Open configuration":"Konfiguration öffnen","Operate two states":"Zwei Zustände operieren","Operations with two states":"Operationen mit zwei Zuständen","Paste your blocks here":"Fügen Sie Ihre Blöcke hier ein",Pause:p1,"Pause execution":"Ausführung pausieren","Pause script":"Skript anhalten","Phone:":"Telefon:","Please select object ID...":"Objekt-ID auswählen ...","Press Ctrl+Enter to get the answer":"Strg+Eingabetaste, um die Antwort zu erhalten","Prettify the script":"Verschönern Sie das Skript","Print some text in log":"Einen Text im Protokoll ausdrucken","Priority:":"Priorität:",Pushover:g1,Pushsafer:m1,"Read only ID selected: %s":"Schreibgeschützte ID ausgewählt: %s",Rename:f1,"Reorder scripts in folders":"Skripte in Ordnern neu ordnen",Repeat:$1,Restart:b1,Result:v1,"Resume execution":"Ausführung fortsetzen","Root folder":"Root-Verzeichnis","Rules description":"Regeln erstellen mit WENN-, DANN- und SONST-Blöcken","Run script":"Skript ausführen",Sa:y1,Saturday:_1,Save:w1,"Save all":"Alle speichern","Say It":"Say It","Say some text via sayit adapter":"Einen Text über den Sayit-Adapter sagen",Schedule:C1,Script:T1,"Script %s was modified on disk":'Skript "%s" wurde auf der Festplatte geändert',"Script is not running":"Skript läuft nicht","Search in scripts":"Suche in Skripten","Search...":"Suche...","Select all":"Alles auswählen","Send email":"E-Mail senden","Sends an email":"Sendet eine E-Mail","Sends message via Pushsafer":"Sendet eine Nachricht über Pushsafer","Sends message via pushover":"Sendet eine Nachricht per Pushover","Sends message via telegram":"Sendet eine Nachricht per telegram","Sends message via whatsapp-cmb":"Sendet eine Nachricht über WhatsApp-Cmb",September:k1,"Server time":"Server-Zeit","Set state action":"Zustand setzten","Set with delay":"Setzen mit Verzögerung","Shell command":"Shell-Befehl","Show astronomical events":"Astronomische Ereignisse anzeigen","Show javascript code":"Javascript-Code zeigen","Show logs":"Protokoll anzeigen","Show only paused scripts":"Nur angehaltene Skripte zeigen","Show only running scripts":"Nur laufende Skripte zeigen","Show only scripts with problems":"Nur Skripte mit Problemen zeigen",Simulate:S1,"Some files will be rejected":"Einige Dateien werden abgelehnt","Sound:":"Klang:",Stack:E1,Start:I1,"Start script":"Skript starten",State:x1,"State condition":"Zustandsbedingung","Step into function":"Schritt in die Funktion","Step out from function":"Raus aus der Funktion","Stop on exception":"Bei Ausnahme anhalten",Su:D1,"Subject:":"Gegenstand:",Sunday:A1,"TS description":"Regeln erstellen mit TypeScript",Telegram:R1,"Text:":"Text:",Th:O1,"The script will be stopped and must be activated manually after debugging. Continue?":"Das Skript wird gestoppt und muss nach dem Debuggen manuell aktiviert werden. Fortsetzen?","This is advances option. You can write your own code here and it will be executed on trigger":"Dies ist eine erweiterte Option. Sie können hier Ihren eigenen Code schreiben, der beim Auslösen ausgeführt wird",Thursday:M1,Time:N1,"Time condition":"Zeitbedingung","Title:":"Titel:","To:":"Zu:","Trigger with value":"Trigger mit Wert",Triggered:L1,Triggers:P1,"Triggers the on script saving or the javascript instance restart":"Löst das Speichern des Skripts oder den Neustart der Javascript-Instanz aus","Triggers the rule on update or change of some state":"Löst die Regel beim Aktualisieren oder Ändern eines Zustands aus","Triggers the rule periodically or on some specific time":"Löst periodisch oder zu einem bestimmten Zeitpunkt aus",Tu:B1,Tuesday:j1,URL:F1,"Unknown error":"Unbekannter Fehler","Unknown error!":"Unbekannter Fehler!","Use generated code":"Code verwenden","User function":"Benutzerfunktion","User:":"Benutzer:",Value:z1,"Vibration:":"Vibration:",Volume:U1,We:H1,Wednesday:W1,"Whatsapp-cmb":"WhatsApp-cmb",Write:G1,"Write your own code":"Eigenen Code schreiben",Yes:V1,"Yet exists!":"Existiert schon!","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"Sie können %s in der URL verwenden, um den aktuellen Triggerwert zu verwenden, %id, um die ausgelöste Objekt-ID zu verwenden, %name, um den ID-Namen des ausgelösten Objekts anzuzeigen, oder %old, um den alten Triggerwert zu verwenden","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"Sie können %s im Befehl verwenden, um den aktuellen Triggerwert zu verwenden, %id, um die ausgelöste Objekt-ID zu verwenden, %name, um den ID-Namen des ausgelösten Objekts anzuzeigen, oder %old, um den alten Triggerwert zu verwenden","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"Sie können %s im Text verwenden, um den aktuellen Triggerwert anzuzeigen, %id, um die ausgelöste Objekt-ID zu verwenden, %name, um den ID-Namen des ausgelösten Objekts anzuzeigen, oder %old, um den alten Triggerwert zu verwenden","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"Sie können %s im Wert verwenden, um den aktuellen Triggerwert zu verwenden, %id, um die ID des ausgelösten Objekts zu verwenden, %name, um den ID-Namen des ausgelösten Objekts anzuzeigen, oder %old, um den alten Triggerwert zu verwenden","You have to enter OpenAI API key in the configuration of javascript adapter.":"Sie müssen den OpenAI-API-Schlüssel in der Konfiguration des Javascript-Adapters eingeben.","You have to enter at least one API key in the configuration of javascript adapter.":"Sie müssen mindestens einen API-Schlüssel (OpenAI, Anthropic oder Gemini) in der Konfiguration des Javascript-Adapters eingeben.","Please select a valid model":"Bitte wählen Sie ein gültiges Modell aus","[equal]":"[gleich]","[greater or equal]":"[größer oder gleich]","[greater]":"[größer]","[hysteresis]":"[Hysterese]","[includes]":"[enthält]","[less or equal]":"[kleiner oder gleich]","[less]":"[kleiner]","[not equal]":"[ungleich]",acknowledgment:K1,all:Y1,and:J1,astro:q1,at:X1,"clear running":"laufende abbrechen",control:Z1,copy:Q1,cron:eP,dawn:tP,debug_help:sP,debug_label:oP,default:"Standard",dusk:iP,easy:nP,else:"sonst","equal to":"gleich",every:rP,"every hour at 0 minutes":"jede Stunde bei 0 Minuten",false:"falsch","file reading has failed: %s":"Das Lesen der Datei ist fehlgeschlagen: %s","file reading was aborted":"Das Lesen der Datei wurde abgebrochen",filter_func:aP,filter_id:lP,filter_name:cP,filter_role:uP,filter_room:dP,"for edit or create script":"zum Bearbeiten oder zum Erstellen eines neues Skripts","for professionals":"für Profis","for programmers":"für Programmierer",goldenHour:hP,goldenHourEnd:pP,"greater or equal":"größer oder gleich","greater or equal to":"größer oder gleich","greater than":"größer als",help_just_check:gP,help_on_change:mP,"high priority":"hohe Priorität","high-priority":"hohe Priorität","highest priority":"höchste Priorität",hours:fP,includes:$P,interval:bP,"just check":"einfach prüfen","less or equal":"kleiner oder gleich","less or equal to":"kleiner oder gleich","less than":"kleiner als","lower priority":"geringere Priorität","lowest priority":"niedrigste Priorität",magic:vP,milliseconds:yP,minutes:_P,ms:wP,nadir:CP,nauticalDawn:TP,nauticalDusk:kP,nextSunrise:SP,nextSunset:EP,night:IP,nightEnd:xP,"no blocks found":"Keine Blöcke gefunden","no group":"KEINE GRUPPE",normal:DP,"normal priority":"normale Priorität","not equal to":"ungleich","not properly connected":"Dieser Block ist mit anderen nicht richtig verbunden.",offset:AP,"on change":"bei Änderung","on condition change":"bei Zustandsänderung","on update":"beim Aktualisieren",one:RP,or:OP,quiet:MP,"reset search":"Suche zurücksetzen",search:NP,seconds:LP,solarNoon:PP,"store in":"speichern in",sunrise:BP,sunriseEnd:jP,sunset:FP,sunsetStart:zP,then:UP,"toggle value":"Wert umschalten",tooltip_ack:HP,tooltip_from:WP,tooltip_lc:GP,tooltip_quality:VP,tooltip_ts:KP,tooltip_user:YP,tooltip_value:JP,true:"wahr",two:qP,undefined:"nicht definiert",update:XP,"use seconds":"Sekunden verwenden","use trigger value":"Triggerwert benutzen",verbose_help:ZP,verbose_label:QP,when:eB,with:"mit","with date":"mit Datum","with offset":"mit Versatz",wizard:tB,"Loading models...":"Modelle werden geladen...","Could not connect to API at %s":"Verbindung zur API unter %s nicht möglich","Invalid API key":"Ungültiger API-Schlüssel","Access denied by API":"Zugriff von der API verweigert","API error: %s":"API-Fehler: %s",'Model "%s" not found':'Modell "%s" nicht gefunden',"Request failed: %s":"Anfrage fehlgeschlagen: %s",Retry:sB,"No running javascript instance found":"Keine laufende JavaScript-Instanz gefunden"},iB="Admitido",nB="Comportamiento",rB="Añadir",aB="Todos",lB="Alguna",cB="Apply",uB="abril",dB="Preguntar",hB="Astronómico",pB="agosto",gB="Cancelar",mB="Cerrar",fB="Condición",$B="Condiciones",bB="Consola",vB="Copiado",yB="diciembre",_B="Defecto",wB="Demora",CB="Eliminar",TB="Descripción",kB="Hecho",SB="Ejecutivo shell",EB="Explicación",IB="Exportar",xB="Februar",DB="febrero",AB="Filtrar",RB="Carpeta",OB="P.",MB="viernes",NB="CARNÉ DE IDENTIDAD",LB="ID1",PB="ID2",BB="Importar",jB="Ejemplo",FB="Instancias",zB="Instrucciones",UB="Enero",HB="enero",WB="julio",GB="junio",VB="Límite",KB="marzo",YB="Mayo",JB="Menú",qB="Mensaje",XB="Mes",ZB="Modelo",QB="lunes",ej="Mes",tj="Más",sj="Nombre",oj="noviembre",ij="OK",nj="octubre",rj="Okay",aj="Pausa",lj="Persona fácil de convencer",cj="Pushsafer",uj="Rebautizar",dj="Repetir",hj="Reiniciar",pj="Resultado",gj="Sa",mj="sábado",fj="Salvar",$j="Calendario",bj="Guión",vj="septiembre",yj="Simular",_j="Stack",wj="Comienzo",Cj="Expresar",Tj="Su",kj="domingo",Sj="Telegrama",Ej="4",Ij="jueves",xj="Tiempo",Dj="Motivado",Aj="Disparadores",Rj="Tu",Oj="martes",Mj="URL",Nj="Valor",Lj="Volumen",Pj="3",Bj="miércoles",jj="Escribir",Fj="sí",zj="Reconocimiento",Uj="todos",Hj="y",Wj="astro",Gj="a",Vj="control",Kj="Copiar",Yj="CRON",Jj="Amanecer",qj="Este es un modo especial en el que los estados y los objetos no cambiarán. Pero solo se mostrará información sobre cada cambio planificado en el protocolo.",Xj="Depurar",Zj="Oscuridad",Qj="fácil",eF="cada",tF="Función",sF="CARNÉ DE IDENTIDAD",oF="Nombre",iF="Papel",nF="Habitación",rF="hora dorada",aF="Fin de la hora dorada",lF='El código se ejecutará solo cada vez que la condición sea verdadera. P.ej. si se activa en el valor del sensor de temperatura y la condición es "si la temperatura es superior a 20 ° C", las acciones "entonces" se ejecutarán cada vez que el sensor envíe la temperatura y supere los 20 ° C. Por 21 ° C, por 22 ° C y así sucesivamente.',cF='El código se ejecutará solo si cambia el resultado de la condición. P.ej. si se activa en el valor del sensor de temperatura y la condición es "si la temperatura es superior a 20 ° C", las acciones "entonces" se ejecutarán una vez cuando la temperatura sea superior a 20. La próxima vez, las acciones "entonces" se ejecutarán cuando la temperatura falla por debajo de 20 y luego sube por encima de 20 nuevamente.',uF="horas",dF="incluye",hF="intervalo",pF="magia",gF="milisegundos",mF="minutos",fF="ms",$F="nadir",bF="Amanecer náutico",vF="Atardecer náutico",yF="próximo amanecer",_F="Próxima puesta de sol",wF="Noche",CF="Fin de la noche",TF="normal",kF="compensar",SF="uno",EF="o",IF="tranquilo",xF="buscar",DF="segundos",AF="Mediodía solar",RF="amanecer",OF="Final del amanecer",MF="puesta de sol",NF="Inicio al atardecer",LF="entonces",PF="Reconocer",BF="De",jF="Último cambio",FF="Calidad",zF="Marca de tiempo",UF="Usuario",HF="Valor",WF="dos",GF="actualizar",VF="Agrega salida de depuración al registro para muchos comandos del sistema",KF="Salidas de registro detalladas",YF="cuando",JF="Wizard",qF="Reintentar",XF={"%s not found":"%s no encontrado","()":"()","(at %s)":"(en %s)","(optional)":"(Opcional)","-":"-",".":".","AI code generator":"Generador de código de IA",Ack:iB,Actions:nB,"Actual time of day":"Hora real del día",Add:rB,"Add new script":"Agregar nuevo script",All:aB,"All files will be accepted":"Todos los archivos serán aceptados.",Any:lB,"Any month":"Cualquier mes",Apply:cB,April:uB,"Are you sure?":"¿Estás seguro?",Ask:dB,Astronomical:hB,"Astronomical events today":"Eventos astronómicos hoy",August:pB,"Blockly description":"Crear reglas por bloques gráficos","Body:":"Cuerpo:",Cancel:gB,"Cannot delete non empty item!":"¡No se puede eliminar un elemento no vacío!","Change layout":"Cambia el diseño",'Change theme (actual "%s")':'Cambiar tema (ahora - "%s")',"Check blocks":"Comprobar bloques","Check is not active, because javascript adapter is disabled":"La comprobación no está activa porque el adaptador Javascript está desactivado","Clear search input":"Borrar entrada de búsqueda","Click on this icon":"Haga clic en este ícono",Close:mB,"Close all but current":"Cerrar todo menos el actual","Collapse all":"Desplegar todo","Compares current time with astronomical event":"Compara la hora actual con un evento astronómico","Compares current time with the user specific time":"Compara la hora actual con la hora específica del usuario","Compares the state value with user defined value":"Compara el valor del estado con el valor definido por el usuario",Condition:fB,Conditions:$B,"Configuration not saved.":"Configuración no guardada.",Console:bB,"Control or update some state":"Controlar o actualizar algún estado","Control or update some state with delay":"Controlar o actualizar algún estado con retraso","Convert blockly to javascript for ever.":"Convierta instantáneamente en bloque a Javascript.",Copied:vB,"Copy script":"Copiar guion","Copy to clipboard":"Copiar al portapapeles","Create new":"Crear nuevo","Create new folder":"Crear nueva carpeta","Create new script":"Crear nuevo script","Create or edit CRON or time wizard":"Crear o editar CRON o asistente de tiempo","Dark Theme":"Tema oscuro","Dark style":"Estilo oscuro",Date:"Fecha","Debug instance":"Instancia de depuración","Debug options":"Opciones de depuración",December:yB,Default:_B,"Define cron...":"Definir cron ...","Define schedule...":"Definir horario ...",Delay:wB,Delete:CB,"Delete %s":"Eliminar %s ...","Delete folder":"Eliminar carpeta","Delete script":"Eliminar guión",Description:TB,"Deselect all":"Deseleccionar todo","Discard changes for %s":"Descartar cambios para %s",Done:kB,"Double click to write value":"Doble clic para escribir el valor","Download as file":"Descargar como archivo","Drop some files here or click...":"Suelta algunos archivos aquí o haz clic ...","Duplicate name":"Nombre duplicado","Edit script or just double click":"Editar guión o simplemente hacer doble clic","Empty name is not allowed":"No se permite el nombre vacío","End search mode":"Fin del modo de búsqueda","Enter your question":"Ingrese su solicitud",Error:"Error","Error formatting code":"Código de formato de error","Error was found":"Error encontrado","Every day":"Diario",Exec:SB,"Executes some shell command":"Ejecuta algún comando de shell","Existing scripts will be overwritten.":"Los guiones existentes se sobrescribirán.","Expand all":"Expandir todo","Expert mode":"Modo experto",Explanation:EB,Export:IB,"Export all scripts":"Exportar todos los scripts","Export blocks":"Exportar bloques","Export selected blocks":"Exportar bloques seleccionados",Februar:xB,February:DB,Filter:AB,Folder:RB,Fr:OB,Friday:MB,Function:"Función","Function editor":"Editor de funciones","Function: executed":"Función: ejecutada","Go to next line":"Ir a la siguiente línea","HTTP Call":"Llamada HTTP","Hide logs":"Ocultar registros",ID:NB,ID1:LB,ID2:PB,Import:BB,"Import blocks":"Importar bloques","Import error":"Error de importación","Import scripts":"Importar guiones","Insert object ID":"Insertar ID de objeto",Instance:jB,"Instance is disabled":"La instancia está deshabilitada","Instance:":"Ejemplo:",Instances:FB,Instructions:zB,"Invalid CRON":"CRON inválido","It will not be possible to revert this operation.":"No será posible revertir esta operación.","JS description":"Crear reglas escribiendo Javascript",Januar:UB,January:HB,July:WB,June:GB,"Just check":"Sólo revisa","Language:":"Idioma:","Learn More":"Aprende más","Light style":"Estilo ligero",Limit:VB,"Local time":"Hora local","Locate file":"Localizar el archivo","Log outputs":"Salidas de registro","Log text":"Texto de registro","Log: %s":"Log: %s","Make a HTTP get request":"Realizar una solicitud de obtención HTTP","Make a pause between actions":"Hacer una pausa entre acciones",March:KB,"March ":"marzo",May:YB,Menu:JB,Message:qB,Mo:XB,Model:ZB,Monday:QB,Month:ej,More:tj,Name:sj,"No API key found":"No se encontró ninguna clave API","No Chat GPT Key found":"No se ha encontrado ninguna clave GPT de chat","No active host found":"No se encontró un host activo","Nothing found":"Nada Encontrado",November:oj,OK:ij,October:nj,Ok:rj,"On condition change":"En condición de cambio","On script save or adapter start":"Al guardar el script o al iniciar el adaptador","On weekdays":"De lunes a viernes","Open configuration":"Configuración abierta","Operate two states":"Operar dos estados","Operations with two states":"Operaciones con dos estados","Paste your blocks here":"Pega tus bloques aquí",Pause:aj,"Pause execution":"Pausar ejecución","Pause script":"Pausar guion","Phone:":"Teléfono:","Please select object ID...":"Por favor, seleccione la ID del objeto ...","Press Ctrl+Enter to get the answer":"Presiona Ctrl+Enter para obtener la respuesta","Prettify the script":"Embellecer el guión","Print some text in log":"Imprime texto en el registro","Priority:":"Prioridad:",Pushover:lj,Pushsafer:cj,"Read only ID selected: %s":"ID de solo lectura seleccionado: %s",Rename:uj,"Reorder scripts in folders":"Reordenar guiones en carpetas",Repeat:dj,Restart:hj,Result:pj,"Resume execution":"Reanudar ejecución","Root folder":"Carpeta raíz","Rules description":"Crea reglas con bloques IF, THEN, ELSE","Run script":"Ejecutar guión",Sa:gj,Saturday:mj,Save:fj,"Save all":"Salvar a todos","Say It":"Say It","Say some text via sayit adapter":"Di un mensaje de texto a través del adaptador sayit",Schedule:$j,Script:bj,"Script %s was modified on disk":"El script %s fue modificado en el disco","Script is not running":"El script no se está ejecutando","Search in scripts":"Buscar en guiones","Search...":"Buscar...","Select all":"Seleccionar todo","Send email":"Enviar correo electrónico","Sends an email":"Envía un correo electrónico","Sends message via Pushsafer":"Envía mensaje a través de Pushsafer","Sends message via pushover":"Envía un mensaje a través de un pushover","Sends message via telegram":"Envía mensaje por telegrama","Sends message via whatsapp-cmb":"Envía mensaje vía whatsapp-cmb",September:vj,"Server time":"Tiempo del servidor","Set state action":"Establecer acción estatal","Set with delay":"Establecer con retraso","Shell command":"Comando de Shell","Show astronomical events":"Mostrar eventos astronómicos","Show javascript code":"Mostrar código Javascript","Show logs":"Mostrar registros","Show only paused scripts":"Mostrar solo secuencias de comandos pausadas","Show only running scripts":"Mostrar solo scripts en ejecución","Show only scripts with problems":"Mostrar solo guiones con problemas",Simulate:yj,"Some files will be rejected":"Algunos archivos serán rechazados","Sound:":"Sonido:",Stack:_j,Start:wj,"Start script":"Iniciar guion",State:Cj,"State condition":"Condición del estado","Step into function":"Entra en función","Step out from function":"Sal de la función","Stop on exception":"Deténgase en excepción",Su:Tj,"Subject:":"Sujeto:",Sunday:kj,"TS description":"Crear reglas escribiendo el mecanografiado",Telegram:Sj,"Text:":"Texto:",Th:Ej,"The script will be stopped and must be activated manually after debugging. Continue?":"El script se detendrá y deberá activarse manualmente después de la depuración. ¿Continuar?","This is advances option. You can write your own code here and it will be executed on trigger":"Esta es la opción de avances. Puede escribir su propio código aquí y se ejecutará en el disparador",Thursday:Ij,Time:xj,"Time condition":"Condición de tiempo","Title:":"Título:","To:":"A:","Trigger with value":"Activar con valor",Triggered:Dj,Triggers:Aj,"Triggers the on script saving or the javascript instance restart":"Activa el guardado de la secuencia de comandos o el reinicio de la instancia de JavaScript","Triggers the rule on update or change of some state":"Activa la regla de actualización o cambio de algún estado","Triggers the rule periodically or on some specific time":"Activa la regla periódicamente o en un momento específico",Tu:Rj,Tuesday:Oj,URL:Mj,"Unknown error":"Error desconocido","Unknown error!":"¡Error desconocido!","Use generated code":"Usar código generado","User function":"Función de usuario","User:":"Usuario:",Value:Nj,"Vibration:":"Vibración:",Volume:Lj,We:Pj,Wednesday:Bj,"Whatsapp-cmb":"Whatsapp-cmb",Write:jj,"Write your own code":"Escribe tu propio código",Yes:Fj,"Yet exists!":"¡Sin embargo existe!","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"Puede usar %s en la URL para usar el valor de activación actual, %id para usar el ID de objeto activado, %name para mostrar el nombre de ID de objeto activado o %old para usar el valor de activación antiguo","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"Puede usar %s en el comando para usar el valor de activación actual, %id para usar el ID de objeto activado, %name para mostrar el nombre de ID de objeto activado o %old para usar el valor de activación anterior","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"Puede usar %s en el texto para mostrar el valor de activación actual, %id para usar el ID de objeto activado, %name para mostrar el nombre de ID de objeto activado o %old para usar el valor de activación antiguo","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"Puede usar %s en el valor para usar el valor de activación actual, %id para usar el ID de objeto activado, %name para mostrar el nombre de ID de objeto activado o %old para usar el valor de activación antiguo","You have to enter OpenAI API key in the configuration of javascript adapter.":"Debe ingresar la clave API de OpenAI en la configuración del adaptador de JavaScript.","You have to enter at least one API key in the configuration of javascript adapter.":"Debe ingresar al menos una clave API (OpenAI, Anthropic o Gemini) en la configuración del adaptador de JavaScript.","Please select a valid model":"Seleccione un modelo válido","[equal]":"[igual]","[greater or equal]":"[mayor o igual]","[greater]":"[mayor que]","[hysteresis]":"[histéresis]","[includes]":"[incluye]","[less or equal]":"[menor o igual]","[less]":"[menos]","[not equal]":"[no es igual]",acknowledgment:zj,all:Uj,and:Hj,astro:Wj,at:Gj,"clear running":"carrera clara",control:Vj,copy:Kj,cron:Yj,dawn:Jj,debug_help:qj,debug_label:Xj,default:"defecto",dusk:Zj,easy:Qj,else:"demás","equal to":"igual a",every:eF,"every hour at 0 minutes":"cada hora a los 0 minutos",false:"falso","file reading has failed: %s":"la lectura del archivo ha fallado: %s","file reading was aborted":"la lectura del archivo fue abortada",filter_func:tF,filter_id:sF,filter_name:oF,filter_role:iF,filter_room:nF,"for edit or create script":"para editar o crear un nuevo script","for professionals":"para profesionales","for programmers":"para programadores",goldenHour:rF,goldenHourEnd:aF,"greater or equal":"mayor o igual","greater or equal to":"mayor o igual a","greater than":"mas grande que",help_just_check:lF,help_on_change:cF,"high priority":"alta prioridad","high-priority":"alta prioridad","highest priority":"más alta prioridad",hours:uF,includes:dF,interval:hF,"just check":"Sólo revisa","less or equal":"menor o igual","less or equal to":"menor o igual a","less than":"menos que","lower priority":"prioridad más baja","lowest priority":"prioridad más baja",magic:pF,milliseconds:gF,minutes:mF,ms:fF,nadir:$F,nauticalDawn:bF,nauticalDusk:vF,nextSunrise:yF,nextSunset:_F,night:wF,nightEnd:CF,"no blocks found":"No se encontraron bloques","no group":"NO GRUPO",normal:TF,"normal priority":"prioridad normal","not equal to":"no igual a","not properly connected":"Este bloque no está conectado correctamente a otros bloques.",offset:kF,"on change":"en el cambio","on condition change":"con cambio de condición","on update":"en actualización",one:SF,or:EF,quiet:IF,"reset search":"restablecer la búsqueda",search:xF,seconds:DF,solarNoon:AF,"store in":"almacenar en",sunrise:RF,sunriseEnd:OF,sunset:MF,sunsetStart:NF,then:LF,"toggle value":"alternar valor",tooltip_ack:PF,tooltip_from:BF,tooltip_lc:jF,tooltip_quality:FF,tooltip_ts:zF,tooltip_user:UF,tooltip_value:HF,true:"cierto",two:WF,undefined:"indefinido",update:GF,"use seconds":"usar segundos","use trigger value":"usar valor de activación",verbose_help:VF,verbose_label:KF,when:YF,with:"con","with date":"con fecha","with offset":"con desplazamiento",wizard:JF,"Loading models...":"Cargando modelos...","Could not connect to API at %s":"No se pudo conectar a la API en %s","Invalid API key":"Clave API no válida","Access denied by API":"Acceso denegado por la API","API error: %s":"Error de API: %s",'Model "%s" not found':'Modelo "%s" no encontrado',"Request failed: %s":"Solicitud fallida: %s",Retry:qF,"No running javascript instance found":"No se encontró ninguna instancia de JavaScript en ejecución"},ZF="Reconnu",QF="Actions",e2="Ajouter",t2="Tout",s2="Tout",o2="Postuler",i2="avril",n2="Demander",r2="Astronomique",a2="août",l2="Annuler",c2="proche",u2="État",d2="Conditions",h2="Console",p2="Copié",g2="décembre",m2="Défaut",f2="Retard",$2="Effacer",b2="Description",v2="Terminé",y2="Exec shell",_2="Explication",w2="Exportation",C2="Février",T2="février",k2="Filtre",S2="Dossier",E2="Fr",I2="Vendredi",x2="ID",D2="ID1",A2="ID2",R2="Importation",O2="Exemple",M2="Instances",N2="Instructions",L2="Janvier",P2="janvier",B2="juillet",j2="juin",F2="Limite",z2="Mars",U2="Mai",H2="M e n u",W2="Message",G2="Mo",V2="Modèle",K2="Lundi",Y2="Mois",J2="Plus",q2="Nom",X2="novembre",Z2="OK",Q2="octobre",ez="D'accord",tz="Pause",sz="Pushover",oz="Pushsafer",iz="Renommer",nz="Répéter",rz="Redémarrer",az="Résultat",lz="Sa",cz="samedi",uz="sauver",dz="Horaire",hz="Scénario",pz="septembre",gz="Simuler",mz="Stack",fz="Début",$z="État",bz="Su",vz="dimanche",yz="Télégramme",_z="4",wz="Jeudi",Cz="Temps",Tz="Déclenché",kz="Déclencheurs",Sz="Tu",Ez="Mardi",Iz="URL",xz="Valeur",Dz="Le volume",Az="3",Rz="Mercredi",Oz="Écrivez",Mz="Oui",Nz="reconnaissance",Lz="tout",Pz="et",Bz="astro",jz="à",Fz="contrôler",zz="copie",Uz="CRON",Hz="Aube",Wz="Il s'agit d'un mode spécial dans lequel les états et les objets ne changeront pas. Mais seules les informations sur chaque changement prévu seront affichées dans le protocole.",Gz="Déboguer",Vz="Crépuscule",Kz="facile",Yz="chaque",Jz="Une fonction",qz="ID",Xz="Nom",Zz="Rôle",Qz="Pièce",eU="Heure d'or",tU="Fin de l'heure d'or",sU="Le code ne sera exécuté que chaque fois que la condition est vraie. Par exemple. si déclenchement sur la valeur du capteur de température et que la condition est «si la température est supérieure à 20 ° C», les actions «alors» seront exécutées à chaque fois que le capteur envoie la température et qu'elle est supérieure à 20 ° C. À 21 ° C, à 22 ° C et ainsi de suite.",oU="Le code ne sera exécuté que si le résultat de la condition change. Par exemple. si le déclenchement sur la valeur du capteur de température et que la condition est «si la température est supérieure à 20 ° C», les actions «alors» seront exécutées une fois lorsque la température est supérieure à 20. La prochaine fois, les actions «alors» seront exécutées lorsque la température échoue sous 20 puis remonte au-dessus de 20.",iU="les heures",nU="comprend",rU="intervalle",aU="la magie",lU="millisecondes",cU="minutes",uU="ms",dU="nadir",hU="Aube nautique",pU="Crépuscule nautique",gU="Prochain lever de soleil",mU="Prochain coucher de soleil",fU="Nuit",$U="Fin de nuit",bU="Ordinaire",vU="décalage",yU="une",_U="ou",wU="calmer",CU="chercher",TU="secondes",kU="Midi solaire",SU="lever du soleil",EU="Fin du lever du soleil",IU="le coucher du soleil",xU="Début du coucher du soleil",DU="alors",AU="Reconnaître",RU="De",OU="Dernière modification",MU="Qualité",NU="Horodatage",LU="Utilisateur",PU="Valeur",BU="deux",jU="mettre à jour",FU="Ajoute une sortie de débogage au journal pour de nombreuses commandes système",zU="Sorties de journal détaillées",UU="lorsque",HU="Wizard",WU="Réessayer",GU={"%s not found":"%s non trouvé","()":"()","(at %s)":"(à %s)","(optional)":"(optionnel)","-":"-",".":".","AI code generator":"Générateur de code IA",Ack:ZF,Actions:QF,"Actual time of day":"Heure réelle de la journée",Add:e2,"Add new script":"Ajouter un nouveau script",All:t2,"All files will be accepted":"Tous les fichiers seront acceptés",Any:s2,"Any month":"N'importe quel mois",Apply:o2,April:i2,"Are you sure?":"Êtes-vous sûr?",Ask:n2,Astronomical:r2,"Astronomical events today":"Événements astronomiques aujourd'hui",August:a2,"Blockly description":"Création de règles par blocs graphiques","Body:":"Corps:",Cancel:l2,"Cannot delete non empty item!":"Impossible de supprimer un élément non vide!","Change layout":"Changer la disposition",'Change theme (actual "%s")':'Changer de thème (maintenant - "%s")',"Check blocks":"Vérifier les blocs","Check is not active, because javascript adapter is disabled":"La vérification n'est pas active, car l'adaptateur Javascript est désactivé","Clear search input":"Effacer la recherche","Click on this icon":"Cliquez sur cette icône",Close:c2,"Close all but current":"Ferme tout sauf courant","Collapse all":"Réduire tout","Compares current time with astronomical event":"Compare l'heure actuelle avec un événement astronomique","Compares current time with the user specific time":"Compare l'heure actuelle avec l'heure spécifique de l'utilisateur","Compares the state value with user defined value":"Compare la valeur d'état avec la valeur définie par l'utilisateur",Condition:u2,Conditions:d2,"Configuration not saved.":"Configuration non enregistrée.",Console:h2,"Control or update some state":"Contrôler ou mettre à jour un état","Control or update some state with delay":"Contrôler ou mettre à jour un état avec un délai","Convert blockly to javascript for ever.":"Convertissez instantanément en Javascript.",Copied:p2,"Copy script":"Copier le script","Copy to clipboard":"Copier dans le presse-papier","Create new":"Créer un nouveau","Create new folder":"Créer un nouveau dossier","Create new script":"Créer un nouveau script","Create or edit CRON or time wizard":"Créer ou éditer CRON ou un assistant de temps","Dark Theme":"Thème sombre","Dark style":"Style sombre",Date:"Date","Debug instance":"Instance de débogage","Debug options":"Options de débogage",December:g2,Default:m2,"Define cron...":"Définir le cron ...","Define schedule...":"Définir le calendrier ...",Delay:f2,Delete:$2,"Delete %s":"Supprimer %s ...","Delete folder":"Supprimer le dossier","Delete script":"Supprimer le script",Description:b2,"Deselect all":"Tout déselectionner","Discard changes for %s":"Ignorer les modifications pour %s",Done:v2,"Double click to write value":"Double clic pour écrire la valeur","Download as file":"Télécharger le fichier","Drop some files here or click...":"Déposer des fichiers ici ou cliquez sur ...","Duplicate name":"Nom en double","Edit script or just double click":"Modifiez le script ou double-cliquez simplement sur","Empty name is not allowed":"Le nom vide n'est pas autorisé","End search mode":"Fin du mode de recherche","Enter your question":"Entrez votre demande",Error:"Erreur","Error formatting code":"Erreur lors du formatage du code","Error was found":"Une erreur a été trouvée","Every day":"Tous les jours",Exec:y2,"Executes some shell command":"Exécute une commande shell","Existing scripts will be overwritten.":"Les scripts existants seront écrasés.","Expand all":"Développer tout","Expert mode":"Mode expert",Explanation:_2,Export:w2,"Export all scripts":"Exporter tous les scripts","Export blocks":"Blocs d'exportation","Export selected blocks":"Exporter les blocs sélectionnés",Februar:C2,February:T2,Filter:k2,Folder:S2,Fr:E2,Friday:I2,Function:"Fonction","Function editor":"Éditeur de fonction","Function: executed":"Fonction : exécutée","Go to next line":"Aller à la ligne suivante","HTTP Call":"Appel HTTP","Hide logs":"Masquer les journaux",ID:x2,ID1:D2,ID2:A2,Import:R2,"Import blocks":"Blocs d'importation","Import error":"Erreur d'importation","Import scripts":"Importer des scripts","Insert object ID":"Insérer un identifiant d'objet",Instance:O2,"Instance is disabled":"L'instance est désactivée","Instance:":"Exemple:",Instances:M2,Instructions:N2,"Invalid CRON":"CRON invalide","It will not be possible to revert this operation.":"Il ne sera pas possible de revenir sur cette opération.","JS description":"Créer des règles en écrivant du Javascript",Januar:L2,January:P2,July:B2,June:j2,"Just check":"Vérifiez simplement","Language:":"Langue:","Learn More":"Apprendre encore plus","Light style":"Style de lumière",Limit:F2,"Local time":"Heure locale","Locate file":"Localiser le fichier","Log outputs":"Journal des sorties","Log text":"Texte du journal","Log: %s":"Log : %s","Make a HTTP get request":"Faire une requête HTTP Get","Make a pause between actions":"Faites une pause entre les actions",March:z2,"March ":"mars",May:U2,Menu:H2,Message:W2,Mo:G2,Model:V2,Monday:K2,Month:Y2,More:J2,Name:q2,"No API key found":"Aucune clé API trouvée","No Chat GPT Key found":"Aucune clé GPT de chat trouvée","No active host found":"Aucun hôte actif trouvé","Nothing found":"Rien n'a été trouvé",November:X2,OK:Z2,October:Q2,Ok:ez,"On condition change":"En cas de changement de condition","On script save or adapter start":"Lors de l'enregistrement du script ou du démarrage de l'adaptateur","On weekdays":"En semaine","Open configuration":"Configuration ouverte","Operate two states":"Opérer deux états","Operations with two states":"Opérations à deux états","Paste your blocks here":"Collez vos blocs ici",Pause:tz,"Pause execution":"Suspendre l'exécution","Pause script":"Script de pause","Phone:":"Téléphone:","Please select object ID...":"Veuillez sélectionner l'ID d'objet ...","Press Ctrl+Enter to get the answer":"Appuyez sur Ctrl+Entrée pour obtenir la réponse","Prettify the script":"Embellir le scénario","Print some text in log":"Imprimer du texte dans le journal","Priority:":"Priorité:",Pushover:sz,Pushsafer:oz,"Read only ID selected: %s":"ID en lecture seule sélectionné: %s",Rename:iz,"Reorder scripts in folders":"Réorganiser les scripts dans des dossiers",Repeat:nz,Restart:rz,Result:az,"Resume execution":"Reprendre l'exécution","Root folder":"Dossier racine","Rules description":"Créer des règles avec des blocs IF, THEN, ELSE","Run script":"Script de lancement",Sa:lz,Saturday:cz,Save:uz,"Save all":"Sauver tous","Say It":"Say It","Say some text via sayit adapter":"Dites du texte via l'adaptateur sayit",Schedule:dz,Script:hz,"Script %s was modified on disk":"Le script %s a été modifié sur le disque","Script is not running":"Le script n'est pas en cours d'exécution","Search in scripts":"Rechercher dans les scripts","Search...":"Chercher...","Select all":"Tout sélectionner","Send email":"Envoyer un e-mail","Sends an email":"Envoie un e-mail","Sends message via Pushsafer":"Envoie un message via Pushsafer","Sends message via pushover":"Envoie un message via pushover","Sends message via telegram":"Envoie un message par télégramme","Sends message via whatsapp-cmb":"Envoie un message via whatsapp-cmb",September:pz,"Server time":"Heure du serveur","Set state action":"Définir l'action de l'état","Set with delay":"Set avec retard","Shell command":"Commande Shell","Show astronomical events":"Afficher les événements astronomiques","Show javascript code":"Afficher le code Javascript","Show logs":"Afficher les journaux","Show only paused scripts":"Afficher uniquement les scripts en pause","Show only running scripts":"Afficher uniquement les scripts en cours d'exécution","Show only scripts with problems":"Afficher uniquement les scripts avec des problèmes",Simulate:gz,"Some files will be rejected":"Certains fichiers seront rejetés","Sound:":"Sonner:",Stack:mz,Start:fz,"Start script":"Lancer le script",State:$z,"State condition":"État condition","Step into function":"Entrez dans la fonction","Step out from function":"Sortez de la fonction","Stop on exception":"Arrêt sur exception",Su:bz,"Subject:":"Sujet:",Sunday:vz,"TS description":"Créer des règles en écrivant des caractères dactylographiés",Telegram:yz,"Text:":"Texte:",Th:_z,"The script will be stopped and must be activated manually after debugging. Continue?":"Le script sera arrêté et doit être activé manuellement après le débogage. Continuez?","This is advances option. You can write your own code here and it will be executed on trigger":"C'est une option avancée. Vous pouvez écrire votre propre code ici et il sera exécuté au déclenchement",Thursday:wz,Time:Cz,"Time condition":"Condition de temps","Title:":"Titre:","To:":"À:","Trigger with value":"Déclencheur avec valeur",Triggered:Tz,Triggers:kz,"Triggers the on script saving or the javascript instance restart":"Déclenche l'enregistrement du script ou le redémarrage de l'instance javascript","Triggers the rule on update or change of some state":"Déclenche la règle sur la mise à jour ou le changement d'un état","Triggers the rule periodically or on some specific time":"Déclenche la règle périodiquement ou à une heure précise",Tu:Sz,Tuesday:Ez,URL:Iz,"Unknown error":"Erreur inconnue","Unknown error!":"Erreur inconnue!","Use generated code":"Utiliser le code généré","User function":"Fonction utilisateur","User:":"Utilisateur:",Value:xz,"Vibration:":"Vibration:",Volume:Dz,We:Az,Wednesday:Rz,"Whatsapp-cmb":"Whatsapp-cmb",Write:Oz,"Write your own code":"Écrivez votre propre code",Yes:Mz,"Yet exists!":"Pourtant existe!","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"Vous pouvez utiliser %s dans l'URL pour utiliser la valeur de déclenchement actuelle, %id pour utiliser l'ID de l'objet déclenché, %name pour afficher le nom de l'ID de l'objet déclenché ou %old pour utiliser l'ancienne valeur de déclenchement","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"Vous pouvez utiliser %s dans la commande pour utiliser la valeur de déclenchement actuelle, %id pour utiliser l'ID de l'objet déclenché, %name pour afficher le nom de l'ID de l'objet déclenché ou %old pour utiliser l'ancienne valeur de déclenchement","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"Vous pouvez utiliser %s dans le texte pour afficher la valeur de déclenchement actuelle, %id pour utiliser l'ID de l'objet déclenché, %name pour afficher le nom de l'ID de l'objet déclenché ou %old pour utiliser l'ancienne valeur de déclenchement","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"Vous pouvez utiliser %s dans la valeur pour utiliser la valeur de déclenchement actuelle, %id pour utiliser l'ID de l'objet déclenché, %name pour afficher le nom de l'ID de l'objet déclenché ou %old pour utiliser l'ancienne valeur de déclenchement","You have to enter OpenAI API key in the configuration of javascript adapter.":"Vous devez entrer la clé API OpenAI dans la configuration de l'adaptateur javascript.","You have to enter at least one API key in the configuration of javascript adapter.":"Vous devez entrer au moins une clé API (OpenAI, Anthropic ou Gemini) dans la configuration de l'adaptateur javascript.","Please select a valid model":"Veuillez sélectionner un modèle valide","[equal]":"[égal]","[greater or equal]":"[supérieur ou égal]","[greater]":"[plus grand]","[hysteresis]":"[hystérèse]","[includes]":"[comprend]","[less or equal]":"[inférieur ou égal]","[less]":"[moins]","[not equal]":"[inégal]",acknowledgment:Nz,all:Lz,and:Pz,astro:Bz,at:jz,"clear running":"course claire",control:Fz,copy:zz,cron:Uz,dawn:Hz,debug_help:Wz,debug_label:Gz,default:"défaut",dusk:Vz,easy:Kz,else:"autre","equal to":"égal à",every:Yz,"every hour at 0 minutes":"toutes les heures à 0 minute",false:"faux","file reading has failed: %s":"La lecture du fichier a échoué: %s","file reading was aborted":"la lecture du fichier a été abandonnée",filter_func:Jz,filter_id:qz,filter_name:Xz,filter_role:Zz,filter_room:Qz,"for edit or create script":"pour éditer ou créer un nouveau script","for professionals":"pour les professionnels","for programmers":"pour les programmeurs",goldenHour:eU,goldenHourEnd:tU,"greater or equal":"supérieur ou égal","greater or equal to":"supérieur ou égal à","greater than":"plus grand que",help_just_check:sU,help_on_change:oU,"high priority":"haute priorité","high-priority":"haute priorité","highest priority":"priorité la plus élevée",hours:iU,includes:nU,interval:rU,"just check":"Vérifiez simplement","less or equal":"inférieur ou égal","less or equal to":"inférieur ou égal à","less than":"moins que","lower priority":"priorité inférieure","lowest priority":"priorité la plus basse",magic:aU,milliseconds:lU,minutes:cU,ms:uU,nadir:dU,nauticalDawn:hU,nauticalDusk:pU,nextSunrise:gU,nextSunset:mU,night:fU,nightEnd:$U,"no blocks found":"Aucun bloc trouvé","no group":"PAS DE GROUPE",normal:bU,"normal priority":"priorité normale","not equal to":"pas égal à","not properly connected":"Ce bloc n'est pas correctement connecté à d'autres blocs.",offset:vU,"on change":"sur le changement","on condition change":"sur changement de condition","on update":"sur mise à jour",one:yU,or:_U,quiet:wU,"reset search":"Réinitialiser la recherche",search:CU,seconds:TU,solarNoon:kU,"store in":"stocker dans",sunrise:SU,sunriseEnd:EU,sunset:IU,sunsetStart:xU,then:DU,"toggle value":"valeur de bascule",tooltip_ack:AU,tooltip_from:RU,tooltip_lc:OU,tooltip_quality:MU,tooltip_ts:NU,tooltip_user:LU,tooltip_value:PU,true:"vrai",two:BU,undefined:"indéfini",update:jU,"use seconds":"utiliser les secondes","use trigger value":"use trigger value",verbose_help:FU,verbose_label:zU,when:UU,with:"avec","with date":"avec date","with offset":"avec offset",wizard:HU,"Loading models...":"Chargement des modèles...","Could not connect to API at %s":"Impossible de se connecter à l'API sur %s","Invalid API key":"Clé API invalide","Access denied by API":"Accès refusé par l'API","API error: %s":"Erreur API : %s",'Model "%s" not found':'Modèle "%s" introuvable',"Request failed: %s":"Requête échouée : %s",Retry:WU,"No running javascript instance found":"Aucune instance JavaScript en cours d'exécution trouvée"},VU="Riconosciuto",KU="Azioni",YU="Inserisci",JU="Tutti",qU="Qualunque",XU="Applica",ZU="aprile",QU="Chiedere",eH="Astronomico",tH="agosto",sH="Annulla",oH="Vicino",iH="Condizione",nH="Condizioni",rH="Console",aH="Copiato",lH="dicembre",cH="Predefinito",uH="Ritardo",dH="Elimina",hH="Descrizione",pH="Fatto",gH="Execshell",mH="Spiegazione",fH="Esportare",$H="Februar",bH="febbraio",vH="Filtro",yH="Cartella",_H="P",wH="Venerdì",CH="ID",TH="ID1",kH="ID2",SH="Importare",EH="Esempio",IH="istanze",xH="Istruzioni",DH="Januar",AH="gennaio",RH="luglio",OH="giugno",MH="Limite",NH="marzo",LH="Maggio",PH="Menu",BH="Messaggio",jH="Mo",FH="Modello",zH="Lunedi",UH="Mese",HH="Di più",WH="Nome",GH="novembre",VH="OK",KH="ottobre",YH="Ok",JH="Pausa",qH="Pushover",XH="Pushsafer",ZH="Rinominare",QH="Ripetere",eW="Ricomincia",tW="Risultato",sW="Sa",oW="Sabato",iW="Salva",nW="Programma",rW="copione",aW="settembre",lW="Simulare",cW="Stack",uW="Cominciare",dW="Stato",hW="Su",pW="Domenica",gW="Telegramma",mW="4",fW="giovedi",$W="Tempo",bW="Innescato",vW="Trigger",yW="Tu",_W="martedì",wW="URL",CW="Valore",TW="Volume",kW="3",SW="mercoledì",EW="Scrivi",IW="sì",xW="riconoscimento",DW="tutti",AW="e",RW="astro",OW="a",MW="controllo",NW="copia",LW="CRON",PW="alba",BW="Questa è una modalità speciale in cui gli stati e gli oggetti non cambieranno. Ma nel protocollo verranno visualizzate solo le informazioni su ogni modifica pianificata.",jW="Debug",FW="crepuscolo",zW="facile",UW="ogni",HW="Funzione",WW="ID",GW="Nome",VW="Ruolo",KW="Camera",YW="Ora d'oro",JW="Fine dell'ora d'oro",qW='Il codice verrà eseguito solo ogni volta che la condizione è vera. Per esempio. se si attiva il valore del sensore di temperatura e la condizione è "se la temperatura è maggiore di 20 ° C", le azioni "allora" verranno eseguite ogni volta che il sensore invia la temperatura e questa è superiore a 20 ° C. Di 21 ° C, di 22 ° C e così via.',XW='Il codice verrà eseguito solo se il risultato della condizione cambia. Per esempio. se si attiva il valore del sensore di temperatura e la condizione è "se la temperatura è maggiore di 20 ° C", le azioni "allora" verranno eseguite una volta quando la temperatura è superiore a 20. La prossima volta le azioni "allora" verranno eseguite quando la temperatura fallisce sotto 20 e poi sale di nuovo oltre 20.',ZW="ore",QW="include",eG="intervallo",tG="Magia",sG="millisecondi",oG="minuti",iG="ms",nG="nadir",rG="Alba nautica",aG="Crepuscolo nautico",lG="Prossima alba",cG="Prossimo tramonto",uG="Notte",dG="Fine della notte",hG="normale",pG="compensare",gG="uno",mG="o",fG="silenzioso",$G="ricerca",bG="secondi",vG="Mezzogiorno solare",yG="Alba",_G="Fine dell'alba",wG="tramonto",CG="Inizio del tramonto",TG="poi",kG="Riconoscere",SG="A partire dal",EG="Ultima modifica",IG="Qualità",xG="timestamp",DG="Utente",AG="Valore",RG="Due",OG="aggiornare",MG="Aggiunge l'output di debug al registro per molti comandi di sistema",NG="Output di log dettagliati",LG="quando",PG="procedura guidata",BG="Riprova",jG={"%s not found":"%s non trovato","()":"()","(at %s)":"(a %s)","(optional)":"(opzionale)","-":"-",".":".","AI code generator":"Generatore di codice AI",Ack:VU,Actions:KU,"Actual time of day":"Ora effettiva della giornata",Add:YU,"Add new script":"Aggiungi nuovo script",All:JU,"All files will be accepted":"Tutti i file saranno accettati",Any:qU,"Any month":"Ogni mese",Apply:XU,April:ZU,"Are you sure?":"Sei sicuro?",Ask:QU,Astronomical:eH,"Astronomical events today":"Eventi astronomici oggi",August:tH,"Blockly description":"Creazione di regole tramite blocchi grafici","Body:":"Corpo:",Cancel:sH,"Cannot delete non empty item!":"Impossibile eliminare l'elemento non vuoto!","Change layout":"Cambia layout",'Change theme (actual "%s")':'Cambia tema (ora - "%s")',"Check blocks":"Controlla i blocchi","Check is not active, because javascript adapter is disabled":"Il controllo non è attivo perché l'adattatore Javascript è disabilitato","Clear search input":"Cancella input di ricerca","Click on this icon":"Clicca su questa icona",Close:oH,"Close all but current":"Chiudi tutto tranne corrente","Collapse all":"Comprimi tutto","Compares current time with astronomical event":"Confronta l'ora corrente con l'evento astronomico","Compares current time with the user specific time":"Confronta l'ora corrente con l'ora specifica dell'utente","Compares the state value with user defined value":"Confronta il valore dello stato con il valore definito dall'utente",Condition:iH,Conditions:nH,"Configuration not saved.":"Configurazione non salvata.",Console:rH,"Control or update some state":"Controlla o aggiorna uno stato","Control or update some state with delay":"Controlla o aggiorna uno stato con ritardo","Convert blockly to javascript for ever.":"Converti istantaneamente a blocchi in Javascript.",Copied:aH,"Copy script":"Copia script","Copy to clipboard":"Copia negli appunti","Create new":"Creare nuovo","Create new folder":"Crea una nuova cartella","Create new script":"Crea nuovo script","Create or edit CRON or time wizard":"Crea o modifica la procedura guidata CRON o time","Dark Theme":"Tema scuro","Dark style":"Stile scuro",Date:"Data","Debug instance":"Istanza di debug","Debug options":"Opzioni di debug",December:lH,Default:cH,"Define cron...":"Definisci cron ...","Define schedule...":"Definisci programma ...",Delay:uH,Delete:dH,"Delete %s":"Elimina %s ...","Delete folder":"Elimina cartella","Delete script":"Elimina script",Description:hH,"Deselect all":"Deselezionare tutto","Discard changes for %s":"Annulla modifiche per %s",Done:pH,"Double click to write value":"Doppio clic per scrivere il valore","Download as file":"Scarica come file","Drop some files here or click...":"Trascina alcuni file qui o fai clic su ...","Duplicate name":"Nome duplicato","Edit script or just double click":"Modifica lo script o fai doppio clic","Empty name is not allowed":"Il nome vuoto non è consentito","End search mode":"Termina la modalità di ricerca","Enter your question":"Inserisci la tua richiesta",Error:"Errore","Error formatting code":"Errore di formattazione del codice","Error was found":"Errore trovato","Every day":"Ogni giorno",Exec:gH,"Executes some shell command":"Esegue alcuni comandi della shell","Existing scripts will be overwritten.":"Gli script esistenti verranno sovrascritti.","Expand all":"Espandi tutto","Expert mode":"Modalità esperto",Explanation:mH,Export:fH,"Export all scripts":"Esporta tutti gli script","Export blocks":"Esporta blocchi","Export selected blocks":"Esporta i blocchi selezionati",Februar:$H,February:bH,Filter:vH,Folder:yH,Fr:_H,Friday:wH,Function:"Funzione","Function editor":"Editor di funzioni","Function: executed":"Funzione: eseguita","Go to next line":"Vai alla riga successiva","HTTP Call":"Chiamata HTTP","Hide logs":"Nascondi i registri",ID:CH,ID1:TH,ID2:kH,Import:SH,"Import blocks":"Importa blocchi","Import error":"Errore di importazione","Import scripts":"Importa script","Insert object ID":"Inserisci l'ID oggetto",Instance:EH,"Instance is disabled":"L'istanza è disabilitata","Instance:":"Esempio:",Instances:IH,Instructions:xH,"Invalid CRON":"CRON non valido","It will not be possible to revert this operation.":"Non sarà possibile ripristinare questa operazione.","JS description":"Creare regole scrivendo Javascript",Januar:DH,January:AH,July:RH,June:OH,"Just check":"Controlla solamente","Language:":"Linguaggio:","Learn More":"Per saperne di più","Light style":"Stile leggero",Limit:MH,"Local time":"Ora locale","Locate file":"Localizza file","Log outputs":"Registra le uscite","Log text":"Testo del registro","Log: %s":"Log: %s","Make a HTTP get request":"Effettua una richiesta get HTTP","Make a pause between actions":"Fai una pausa tra le azioni",March:NH,"March ":"marzo",May:LH,Menu:PH,Message:BH,Mo:jH,Model:FH,Monday:zH,Month:UH,More:HH,Name:WH,"No API key found":"Nessuna chiave API trovata","No Chat GPT Key found":"Nessuna chiave GPT chat trovata","No active host found":"Nessun host attivo trovato","Nothing found":"Non abbiamo trovato nulla",November:GH,OK:VH,October:KH,Ok:YH,"On condition change":"A condizione che cambino","On script save or adapter start":"Al salvataggio dello script o all'avvio dell'adattatore","On weekdays":"Nei giorni della settimana","Open configuration":"Configurazione aperta","Operate two states":"Gestisci due stati","Operations with two states":"Operazioni con due stati","Paste your blocks here":"Incolla qui i tuoi blocchi",Pause:JH,"Pause execution":"Metti in pausa l'esecuzione","Pause script":"Metti in pausa lo script","Phone:":"Telefono:","Please select object ID...":"Seleziona l'ID oggetto ...","Press Ctrl+Enter to get the answer":"Premi Ctrl+Invio per ottenere la risposta","Prettify the script":"Abbellire la sceneggiatura","Print some text in log":"Stampa del testo nel registro","Priority:":"Priorità:",Pushover:qH,Pushsafer:XH,"Read only ID selected: %s":"ID di sola lettura selezionato: %s",Rename:ZH,"Reorder scripts in folders":"Riordina gli script nelle cartelle",Repeat:QH,Restart:eW,Result:tW,"Resume execution":"Riprendi esecuzione","Root folder":"Cartella root","Rules description":"Crea regole con i blocchi IF, THEN, ELSE","Run script":"Esegui script",Sa:sW,Saturday:oW,Save:iW,"Save all":"Salva tutto","Say It":"Say It","Say some text via sayit adapter":"Pronuncia del testo tramite l'adattatore sayit",Schedule:nW,Script:rW,"Script %s was modified on disk":"Lo script %s è stato modificato sul disco","Script is not running":"Lo script non è in esecuzione","Search in scripts":"Cerca negli script","Search...":"Ricerca...","Select all":"Seleziona tutto","Send email":"Invia una email","Sends an email":"Invia un'e-mail","Sends message via Pushsafer":"Invia messaggio tramite Pushsafer","Sends message via pushover":"Invia messaggio tramite pushover","Sends message via telegram":"Invia messaggio tramite telegramma","Sends message via whatsapp-cmb":"Invia messaggio tramite whatsapp-cmb",September:aW,"Server time":"Ora del server","Set state action":"Imposta l'azione dello stato","Set with delay":"Impostato con ritardo","Shell command":"Comando Shell","Show astronomical events":"Mostra eventi astronomici","Show javascript code":"Mostra codice Javascript","Show logs":"Mostra i log","Show only paused scripts":"Mostra solo script in pausa","Show only running scripts":"Mostra solo gli script in esecuzione","Show only scripts with problems":"Mostra solo script con problemi",Simulate:lW,"Some files will be rejected":"Alcuni file verranno rifiutati","Sound:":"Suono:",Stack:cW,Start:uW,"Start script":"Avvia script",State:dW,"State condition":"Condizione dello stato","Step into function":"Entra in funzione","Step out from function":"Esci dalla funzione","Stop on exception":"Ferma in caso di eccezione",Su:hW,"Subject:":"Soggetto:",Sunday:pW,"TS description":"Creare regole scrivendo dattiloscritto",Telegram:gW,"Text:":"Testo:",Th:mW,"The script will be stopped and must be activated manually after debugging. Continue?":"Lo script verrà interrotto e dovrà essere attivato manualmente dopo il debug. Continua?","This is advances option. You can write your own code here and it will be executed on trigger":"Questa è un'opzione anticipata. Puoi scrivere il tuo codice qui e verrà eseguito al trigger",Thursday:fW,Time:$W,"Time condition":"Condizione temporale","Title:":"Titolo:","To:":"Per:","Trigger with value":"Trigger con valore",Triggered:bW,Triggers:vW,"Triggers the on script saving or the javascript instance restart":"Attiva il salvataggio dello script o il riavvio dell'istanza javascript","Triggers the rule on update or change of some state":"Attiva la regola in caso di aggiornamento o modifica di uno stato","Triggers the rule periodically or on some specific time":"Attiva la regola periodicamente o in un momento specifico",Tu:yW,Tuesday:_W,URL:wW,"Unknown error":"Errore sconosciuto","Unknown error!":"Errore sconosciuto!","Use generated code":"Usa il codice generato","User function":"Funzione utente","User:":"Utente:",Value:CW,"Vibration:":"Vibrazione:",Volume:TW,We:kW,Wednesday:SW,"Whatsapp-cmb":"Whatsapp-cmb",Write:EW,"Write your own code":"Scrivi il tuo codice",Yes:IW,"Yet exists!":"Esiste ancora!","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"È possibile utilizzare %s nell'URL per utilizzare il valore di trigger corrente, %id per utilizzare l'ID dell'oggetto attivato, %name per mostrare il nome dell'ID dell'oggetto attivato o %old per utilizzare il vecchio valore di trigger","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"È possibile utilizzare %s nel comando per utilizzare il valore di trigger corrente, %id per utilizzare l'ID dell'oggetto attivato, %name per mostrare il nome dell'ID dell'oggetto attivato o %old per utilizzare il vecchio valore di trigger","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"È possibile utilizzare %s nel testo per visualizzare il valore di trigger corrente, %id per utilizzare l'ID dell'oggetto attivato, %name per mostrare il nome dell'ID dell'oggetto attivato o %old per utilizzare il vecchio valore di trigger","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"È possibile utilizzare %s nel valore per utilizzare il valore di trigger corrente, %id per utilizzare l'ID dell'oggetto attivato, %name per mostrare il nome dell'ID dell'oggetto attivato o %old per utilizzare il vecchio valore di trigger","You have to enter OpenAI API key in the configuration of javascript adapter.":"Devi inserire la chiave API OpenAI nella configurazione dell'adattatore javascript.","You have to enter at least one API key in the configuration of javascript adapter.":"Devi inserire almeno una chiave API (OpenAI, Anthropic o Gemini) nella configurazione dell'adattatore javascript.","Please select a valid model":"Seleziona un modello valido","[equal]":"[pari]","[greater or equal]":"[maggiore o uguale]","[greater]":"[maggiore]","[hysteresis]":"[isteresi]","[includes]":"[include]","[less or equal]":"[minore o uguale]","[less]":"[Di meno]","[not equal]":"[non uguale]",acknowledgment:xW,all:DW,and:AW,astro:RW,at:OW,"clear running":"chiara esecuzione",control:MW,copy:NW,cron:LW,dawn:PW,debug_help:BW,debug_label:jW,default:"predefinito",dusk:FW,easy:zW,else:"altro","equal to":"uguale a",every:UW,"every hour at 0 minutes":"ogni ora a 0 minuti",false:"falso","file reading has failed: %s":"lettura file non riuscita: %s","file reading was aborted":"la lettura del file è stata interrotta",filter_func:HW,filter_id:WW,filter_name:GW,filter_role:VW,filter_room:KW,"for edit or create script":"per modificare o creare un nuovo script","for professionals":"per i professionisti","for programmers":"per i programmatori",goldenHour:YW,goldenHourEnd:JW,"greater or equal":"maggiore o uguale","greater or equal to":"maggiore o uguale a","greater than":"più grande di",help_just_check:qW,help_on_change:XW,"high priority":"priorità alta","high-priority":"priorità alta","highest priority":"massima priorità",hours:ZW,includes:QW,interval:eG,"just check":"controlla solamente","less or equal":"inferiore o uguale","less or equal to":"minore o uguale a","less than":"meno di","lower priority":"priorità inferiore","lowest priority":"priorità più bassa",magic:tG,milliseconds:sG,minutes:oG,ms:iG,nadir:nG,nauticalDawn:rG,nauticalDusk:aG,nextSunrise:lG,nextSunset:cG,night:uG,nightEnd:dG,"no blocks found":"Nessun blocco trovato","no group":"NESSUN GRUPPO",normal:hG,"normal priority":"priorità normale","not equal to":"non uguale a","not properly connected":"Questo blocco non è correttamente collegato ad altri blocchi.",offset:pG,"on change":"sul cambiamento","on condition change":"a cambio di condizione","on update":"in aggiornamento",one:gG,or:mG,quiet:fG,"reset search":"resetta la ricerca",search:$G,seconds:bG,solarNoon:vG,"store in":"conservare in",sunrise:yG,sunriseEnd:_G,sunset:wG,sunsetStart:CG,then:TG,"toggle value":"alterna valore",tooltip_ack:kG,tooltip_from:SG,tooltip_lc:EG,tooltip_quality:IG,tooltip_ts:xG,tooltip_user:DG,tooltip_value:AG,true:"vero",two:RG,undefined:"non definito",update:OG,"use seconds":"usa i secondi","use trigger value":"usa il trigger",verbose_help:MG,verbose_label:NG,when:LG,with:"con","with date":"con data","with offset":"con offset",wizard:PG,"Loading models...":"Caricamento modelli...","Could not connect to API at %s":"Impossibile connettersi all'API su %s","Invalid API key":"Chiave API non valida","Access denied by API":"Accesso negato dall'API","API error: %s":"Errore API: %s",'Model "%s" not found':'Modello "%s" non trovato',"Request failed: %s":"Richiesta fallita: %s",Retry:BG,"No running javascript instance found":"Nessuna istanza JavaScript in esecuzione trovata"},FG="Erkend",zG="Acties",UG="Toevoegen",HG="Alle",WG="Ieder",GG="Solliciteer",VG="april",KG="Vragen",YG="Astronomisch",JG="augustus",qG="annuleren",XG="Dichtbij",ZG="Staat",QG="Voorwaarden",eV="Troosten",tV="Gekopieerd",sV="december",oV="Standaard",iV="Vertraging",nV="Verwijder",rV="Beschrijving",aV="Gedaan",lV="Exec shell",cV="Uitleg",uV="Exporteren",dV="Februari",hV="februari",pV="Filter",gV="Map",mV="Vr",fV="vrijdag",$V="ID kaart",bV="ID1",vV="ID2",yV="Importeren",_V="Voorbeeld",wV="Instanties",CV="Instructies",TV="Januar",kV="januari",SV="juli",EV="juni",IV="Begrenzing",xV="maart",DV="mei",AV="Menu",RV="Bericht",OV="Ma",MV="Model",NV="maandag",LV="Maand",PV="Meer",BV="Naam",jV="november",FV="OK",zV="oktober",UV="OK",HV="Pauze",WV="Pushover",GV="Duwijzer",VV="andere naam geven",KV="Herhaling",YV="Herstarten",JV="Resultaat",qV="Za",XV="zaterdag",ZV="Opslaan",QV="Schema",e5="Script",t5="september",s5="Simuleren",o5="Stack",i5="Begin",n5="Staat",r5="Zo",a5="zondag",l5="Telegram",c5="4",u5="donderdag",d5="Tijd",h5="Veroorzaakt",p5="Triggers",g5="Di",m5="dinsdag",f5="URL",$5="Waarde",b5="Volume",v5="3",y5="woensdag",_5="Schrijven",w5="Ja",C5="erkenning",T5="alle",k5="en",S5="astro",E5="Bij",I5="controle",x5="kopiëren",D5="cron",A5="dageraad",R5="Dit is een speciale modus waarin toestanden en objecten niet veranderen. Maar alleen informatie over elke geplande wijziging wordt in het protocol weergegeven.",O5="Debuggen",M5="schemer",N5="eenvoudig",L5="elke",P5="Functie",B5="ID kaart",j5="Naam",F5="Rol",z5="Kamer",U5="gouden uur",H5="Einde van gouden uur",W5='De code wordt alleen uitgevoerd als de voorwaarde waar is. Bijv. als het triggeren op de temperatuursensorwaarde en de conditie is "als de temperatuur hoger is dan 20 ° C", zullen de "dan" acties worden uitgevoerd elke keer dat de sensor de temperatuur verzendt en deze hoger is dan 20 ° C. Bij 21 ° C, bij 22 ° C enzovoort.',G5='De code wordt alleen uitgevoerd als het conditieresultaat verandert. Bijv. als de temperatuursensor wordt geactiveerd en de conditie is "als de temperatuur hoger is dan 20 ° C", worden de "dan" -acties eenmaal uitgevoerd wanneer de temperatuur hoger is dan 20. De volgende keer worden de "dan" -acties uitgevoerd wanneer de temperatuur faalt onder de 20 en stijgt dan weer boven de 20.',V5="uren",K5="omvat",Y5="interval",J5="magie",q5="milliseconden",X5="minuten",Z5="ms",Q5="nadir",e3="Nautische dageraad",t3="Nautische schemering",s3="Volgende zonsopgang",o3="Volgende zonsondergang",i3="nacht",n3="Einde van de nacht",r3="normaal",a3="compensatie",l3="een",c3="of",u3="stil",d3="zoeken",h3="seconden",p3="Zonne-middag",g3="zonsopkomst",m3="Einde zonsopgang",f3="zonsondergang",$3="Begin van de zonsondergang",b3="vervolgens",v3="Erkennen",y3="Van",_3="Laatst gewijzigd",w3="Kwaliteit",C3="tijdstempel",T3="Gebruiker",k3="Waarde",S3="twee",E3="bijwerken",I3="Voegt foutopsporingsuitvoer toe aan het logboek voor veel systeemopdrachten",x3="Uitgebreide log-uitgangen",D3="wanneer",A3="tovenaar",R3="Opnieuw proberen",O3={"%s not found":"%s niet gevonden","()":"()","(at %s)":"(op %s)","(optional)":"(optioneel)","-":"-",".":".","AI code generator":"AI-codegenerator",Ack:FG,Actions:zG,"Actual time of day":"Werkelijke tijd van de dag",Add:UG,"Add new script":"Nieuw script toevoegen",All:HG,"All files will be accepted":"Alle bestanden worden geaccepteerd",Any:WG,"Any month":"Elke maand",Apply:GG,April:VG,"Are you sure?":"Weet je zeker dat?",Ask:KG,Astronomical:YG,"Astronomical events today":"Astronomische gebeurtenissen vandaag",August:JG,"Blockly description":"Regels maken door grafische blokken","Body:":"Lichaam:",Cancel:qG,"Cannot delete non empty item!":"Kan niet leeg item niet verwijderen!","Change layout":"Opmaak veranderen",'Change theme (actual "%s")':'Thema wijzigen (nu - "%s")',"Check blocks":"Controleer blokken","Check is not active, because javascript adapter is disabled":"Controle is niet actief, omdat Javascript-adapter is uitgeschakeld","Clear search input":"Zoekopdracht wissen","Click on this icon":"Klik op dit pictogram",Close:XG,"Close all but current":"Alles sluiten behalve huidig","Collapse all":"Alles inklappen","Compares current time with astronomical event":"Vergelijkt huidige tijd met astronomische gebeurtenis","Compares current time with the user specific time":"Vergelijkt de huidige tijd met de gebruikerspecifieke tijd","Compares the state value with user defined value":"Vergelijkt de statuswaarde met de door de gebruiker gedefinieerde waarde",Condition:ZG,Conditions:QG,"Configuration not saved.":"Configuratie niet opgeslagen.",Console:eV,"Control or update some state":"Beheer of update een bepaalde staat","Control or update some state with delay":"Beheer of update een bepaalde staat met vertraging","Convert blockly to javascript for ever.":"Converteer direct blockly naar Javascript.",Copied:tV,"Copy script":"Kopieer script","Copy to clipboard":"Kopieer naar klembord","Create new":"Maak nieuw","Create new folder":"Maak een nieuwe map","Create new script":"Maak een nieuw script","Create or edit CRON or time wizard":"Creëer of bewerk CRON of tijdwizard","Dark Theme":"Donker thema","Dark style":"Donkere stijl",Date:"Datum","Debug instance":"Debug-instantie","Debug options":"Foutopsporingsopties",December:sV,Default:oV,"Define cron...":"Definieer cron ...","Define schedule...":"Definieer schema ...",Delay:iV,Delete:nV,"Delete %s":"%s verwijderen ...","Delete folder":"Verwijder map","Delete script":"Script verwijderen",Description:rV,"Deselect all":"Deselecteer alles","Discard changes for %s":"Wijzigingen voor %s annuleren",Done:aV,"Double click to write value":"Dubbelklikken om waarde te schrijven","Download as file":"Download","Drop some files here or click...":"Zet hier enkele bestanden neer of klik op ...","Duplicate name":"Dubbele naam","Edit script or just double click":"Bewerk het script of dubbelklik erop","Empty name is not allowed":"Lege naam is niet toegestaan","End search mode":"Zoekmodus beëindigen","Enter your question":"Voer uw verzoek in",Error:"Fout","Error formatting code":"Fout bij het opmaken van de code","Error was found":"Er is een fout gevonden","Every day":"Elke dag",Exec:lV,"Executes some shell command":"Voert een shell-commando uit","Existing scripts will be overwritten.":"Bestaande scripts worden overschreven.","Expand all":"Alles uitvouwen","Expert mode":"Expert modus",Explanation:cV,Export:uV,"Export all scripts":"Exporteer alle scripts","Export blocks":"Blokken exporteren","Export selected blocks":"Exporteer geselecteerde blokken",Februar:dV,February:hV,Filter:pV,Folder:gV,Fr:mV,Friday:fV,Function:"Functie","Function editor":"Functie-editor","Function: executed":"Functie: uitgevoerd","Go to next line":"Ga naar de volgende regel","HTTP Call":"HTTP-oproep","Hide logs":"Verberg logboeken",ID:$V,ID1:bV,ID2:vV,Import:yV,"Import blocks":"Blokken importeren","Import error":"Importfout","Import scripts":"Scripts importeren","Insert object ID":"Object-ID invoegen",Instance:_V,"Instance is disabled":"Exemplaar is uitgeschakeld","Instance:":"Voorbeeld:",Instances:wV,Instructions:CV,"Invalid CRON":"Ongeldige CRON","It will not be possible to revert this operation.":"Het is niet mogelijk om deze bewerking terug te zetten.","JS description":"Regels maken door Javascript te schrijven",Januar:TV,January:kV,July:SV,June:EV,"Just check":"Kijk maar","Language:":"Taal:","Learn More":"Leer meer","Light style":"Lichte stijl",Limit:IV,"Local time":"Lokale tijd","Locate file":"Vind het bestand","Log outputs":"Log uitgangen","Log text":"Log tekst","Log: %s":"Logboek: %s","Make a HTTP get request":"Maak een HTTP-ophaalverzoek","Make a pause between actions":"Pauzeer tussen acties",March:xV,"March ":"maart",May:DV,Menu:AV,Message:RV,Mo:OV,Model:MV,Monday:NV,Month:LV,More:PV,Name:BV,"No API key found":"Geen API-sleutel gevonden","No Chat GPT Key found":"Geen Chat GPT-sleutel gevonden","No active host found":"Geen actieve host gevonden","Nothing found":"Niets gevonden",November:jV,OK:FV,October:zV,Ok:UV,"On condition change":"Op voorwaarde verandering","On script save or adapter start":"Bij het opslaan van het script of het starten van de adapter","On weekdays":"Op weekdagen","Open configuration":"Configuratie openen","Operate two states":"Bedien twee toestanden:","Operations with two states":"Bewerkingen met twee toestanden","Paste your blocks here":"Plak hier je blokken",Pause:HV,"Pause execution":"Uitvoering pauzeren","Pause script":"Pauzeer script","Phone:":"Telefoon:","Please select object ID...":"Selecteer object-ID ...","Press Ctrl+Enter to get the answer":"Druk op Ctrl+Enter om het antwoord te krijgen","Prettify the script":"Maak het script mooier","Print some text in log":"Druk wat tekst af in het logboek","Priority:":"Prioriteit:",Pushover:WV,Pushsafer:GV,"Read only ID selected: %s":"Alleen-lezen ID geselecteerd: %s",Rename:VV,"Reorder scripts in folders":"Sorteer scripts in mappen opnieuw",Repeat:KV,Restart:YV,Result:JV,"Resume execution":"Uitvoering hervatten","Root folder":"Hoofdmap","Rules description":"Maak regels met IF, THEN, ELSE blokken","Run script":"Voer script uit",Sa:qV,Saturday:XV,Save:ZV,"Save all":"Sla alles op","Say It":"Say It","Say some text via sayit adapter":"Zeg wat tekst via de sayit-adapter",Schedule:QV,Script:e5,"Script %s was modified on disk":"Script %s is gewijzigd op schijf","Script is not running":"Script is niet actief","Search in scripts":"Zoeken in scripts","Search...":"Zoeken...","Select all":"Selecteer alles","Send email":"E-mail verzenden","Sends an email":"Stuurt een e-mail","Sends message via Pushsafer":"Stuurt bericht via Pushsafer","Sends message via pushover":"Stuurt bericht via pushover","Sends message via telegram":"Verzendt bericht via telegram","Sends message via whatsapp-cmb":"Stuurt bericht via whatsapp-cmb",September:t5,"Server time":"Servertijd","Set state action":"Stel statusactie in","Set with delay":"Met vertraging ingesteld","Shell command":"Shell-opdracht","Show astronomical events":"Laat astronomische gebeurtenissen zien","Show javascript code":"Javascript-code weergeven","Show logs":"Toon logboeken","Show only paused scripts":"Toon alleen onderbroken scripts","Show only running scripts":"Toon alleen actieve scripts","Show only scripts with problems":"Toon alleen scripts met problemen",Simulate:s5,"Some files will be rejected":"Sommige bestanden worden geweigerd","Sound:":"Geluid:",Stack:o5,Start:i5,"Start script":"Start het script",State:n5,"State condition":"Staat staat","Step into function":"Stap in functie","Step out from function":"Stap uit de functie","Stop on exception":"Stop bij uitzondering",Su:r5,"Subject:":"Onderwerpen:",Sunday:a5,"TS description":"Regels maken door Typescript te schrijven",Telegram:l5,"Text:":"Tekst:",Th:c5,"The script will be stopped and must be activated manually after debugging. Continue?":"Het script wordt gestopt en moet na het debuggen handmatig worden geactiveerd. Doorgaan met?","This is advances option. You can write your own code here and it will be executed on trigger":"Dit is een voorschotoptie. U kunt hier uw eigen code schrijven en deze wordt bij een trigger uitgevoerd",Thursday:u5,Time:d5,"Time condition":"Tijdsvoorwaarde","Title:":"Titel:","To:":"Naar:","Trigger with value":"Trigger met waarde",Triggered:h5,Triggers:p5,"Triggers the on script saving or the javascript instance restart":"Activeert het opslaan van het script of het opnieuw opstarten van de JavaScript-instantie","Triggers the rule on update or change of some state":"Activeert de regel voor het bijwerken of wijzigen van een bepaalde staat","Triggers the rule periodically or on some specific time":"Activeert de regel periodiek of op een specifieke tijd",Tu:g5,Tuesday:m5,URL:f5,"Unknown error":"Onbekende fout","Unknown error!":"Onbekende fout!","Use generated code":"Gebruik gegenereerde code","User function":"Gebruikersfunctie","User:":"Gebruiker:",Value:$5,"Vibration:":"Trilling:",Volume:b5,We:v5,Wednesday:y5,"Whatsapp-cmb":"Whatsapp-cmb",Write:_5,"Write your own code":"Schrijf je eigen code",Yes:w5,"Yet exists!":"Toch bestaat!","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"U kunt %s in de URL gebruiken om de huidige triggerwaarde te gebruiken, %id om de geactiveerde object-ID te gebruiken, %name om de geactiveerde object-ID-naam te tonen of %old om de oude triggerwaarde te gebruiken","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"U kunt %s in de opdracht gebruiken om de huidige triggerwaarde te gebruiken, %id om de getriggerde object-ID te gebruiken, %name om de getriggerde object-ID-naam te tonen of %old om de oude triggerwaarde te gebruiken","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"U kunt %s in de tekst gebruiken om de huidige triggerwaarde weer te geven, %id om de geactiveerde object-ID te gebruiken, %name om de geactiveerde object-ID-naam weer te geven of %old om de oude triggerwaarde te gebruiken","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"U kunt %s in de waarde gebruiken om de huidige triggerwaarde te gebruiken, %id om de geactiveerde object-ID te gebruiken, %name om de geactiveerde object-ID-naam te tonen of %old om de oude triggerwaarde te gebruiken","You have to enter OpenAI API key in the configuration of javascript adapter.":"U moet de OpenAI API-sleutel invoeren in de configuratie van de javascript-adapter.","You have to enter at least one API key in the configuration of javascript adapter.":"U moet ten minste één API-sleutel (OpenAI, Anthropic of Gemini) invoeren in de configuratie van de javascript-adapter.","Please select a valid model":"Selecteer een geldig model","[equal]":"[Gelijk]","[greater or equal]":"[groter of gelijk]","[greater]":"[groter]","[hysteresis]":"[hysterese]","[includes]":"[inclusief]","[less or equal]":"[minder of gelijk]","[less]":"[minder]","[not equal]":"[niet gelijk]",acknowledgment:C5,all:T5,and:k5,astro:S5,at:E5,"clear running":"duidelijk rennen",control:I5,copy:x5,cron:D5,dawn:A5,debug_help:R5,debug_label:O5,default:"standaard",dusk:M5,easy:N5,else:"anders","equal to":"gelijk aan",every:L5,"every hour at 0 minutes":"elk uur op 0 minuten",false:"false","file reading has failed: %s":"bestands lezen is mislukt: %s","file reading was aborted":"bestands lezen is afgebroken",filter_func:P5,filter_id:B5,filter_name:j5,filter_role:F5,filter_room:z5,"for edit or create script":"voor bewerken of een nieuw script maken","for professionals":"voor professionals","for programmers":"voor programmeurs",goldenHour:U5,goldenHourEnd:H5,"greater or equal":"groter of gelijk","greater or equal to":"groter of gelijk aan","greater than":"groter dan",help_just_check:W5,help_on_change:G5,"high priority":"hoge prioriteit","high-priority":"hoge prioriteit","highest priority":"hoogste prioriteit",hours:V5,includes:K5,interval:Y5,"just check":"kijk maar","less or equal":"minder of gelijk","less or equal to":"minder of gelijk aan","less than":"minder dan","lower priority":"lagere prioriteit","lowest priority":"laagste prioriteit",magic:J5,milliseconds:q5,minutes:X5,ms:Z5,nadir:Q5,nauticalDawn:e3,nauticalDusk:t3,nextSunrise:s3,nextSunset:o3,night:i3,nightEnd:n3,"no blocks found":"Geen blokken gevonden","no group":"GEEN GROEP",normal:r3,"normal priority":"normale prioriteit","not equal to":"niet gelijk aan","not properly connected":"Dit blok is niet correct verbonden met andere blokken.",offset:a3,"on change":"bij verandering","on condition change":"op voorwaarde verandering","on update":"bij update",one:l3,or:c3,quiet:u3,"reset search":"reset zoeken",search:d3,seconds:h3,solarNoon:p3,"store in":"opslaan in",sunrise:g3,sunriseEnd:m3,sunset:f3,sunsetStart:$3,then:b3,"toggle value":"schakelwaarde",tooltip_ack:v3,tooltip_from:y3,tooltip_lc:_3,tooltip_quality:w3,tooltip_ts:C3,tooltip_user:T3,tooltip_value:k3,true:"waar",two:S3,undefined:"ongedefinieerd",update:E3,"use seconds":"gebruik seconden","use trigger value":"triggerwaarde gebruiken",verbose_help:I3,verbose_label:x3,when:D3,with:"met","with date":"met datum","with offset":"met offset",wizard:A3,"Loading models...":"Modellen laden...","Could not connect to API at %s":"Kan geen verbinding maken met API op %s","Invalid API key":"Ongeldige API-sleutel","Access denied by API":"Toegang geweigerd door API","API error: %s":"API-fout: %s",'Model "%s" not found':'Model "%s" niet gevonden',"Request failed: %s":"Verzoek mislukt: %s",Retry:R3,"No running javascript instance found":"Geen draaiende JavaScript-instantie gevonden"},M3="Potwierdzony",N3="Działania",L3="Dodaj",P3="Wszystko",B3="Każdy",j3="Zastosuj",F3="Kwiecień",z3="Zapytać",U3="Astronomiczny",H3="Sierpień",W3="Odwołaj",G3="Zamknij",V3="Stan",K3="Warunki",Y3="Konsola",J3="Skopiowano",q3="Grudzień",X3="Domyślna",Z3="Opóźnienie",Q3="Usuń",e4="Opis",t4="Gotowe",s4="Uruchom shell",o4="Wyjaśnienie",i4="Eksport",n4="Luty",r4="Luty",a4="Filtr",l4="Folder",c4="Pt",u4="Piątek",d4="ID",h4="ID1",p4="ID2",g4="Import",m4="Instancja",f4="Instancje",$4="Instrukcje",b4="Styczeń",v4="Styczeń",y4="Lipiec",_4="Czerwiec",w4="Limit",C4="Marzec",T4="Maj",k4="Menu",S4="Wiadomość",E4="Po",I4="Model",x4="Poniedziałek",D4="Miesiąc",A4="Więcej",R4="Nazwa",O4="Listopad",M4="OK",N4="Październik",L4="Ok",P4="Pauza",B4="Pushover",j4="Pushsafer",F4="Przemianuj",z4="Powtórz",U4="Uruchom ponownie",H4="Wynik",W4="So",G4="Sobota",V4="Zapisz",K4="Harmonogram",Y4="Skrypt",J4="Wrzesień",q4="Symulacja",X4="Stos",Z4="Początek",Q4="Stan",e8="Nd",t8="Niedziela",s8="Telegram",o8="Cz",i8="Czwartek",n8="Czas",r8="Wyzwolony",a8="Wyzwalacze",l8="Wt",c8="Wtorek",u8="URL",d8="Wartość",h8="Wolumen",p8="Śr",g8="Środa",m8="Pisać",f8="Tak",$8="potwierdzenie",b8="wszystko",v8="i",y8="Astro",_8="w",w8="kontrola",C8="Kopiuj",T8="CRON",k8="Świt",S8="Jest to specjalny tryb, w którym stany i obiekty się nie zmieniają. Jednak w protokole będą wyświetlane tylko informacje o każdej planowanej zmianie.",E8="Odpluskwić",I8="Zmierzch",x8="łatwy",D8="każdy",A8="Funkcja",R8="ID",O8="Nazwa",M8="Rola",N8="Pokój",L8="Złota godzina",P8="Koniec złotej godziny",B8="Kod zostanie wykonany tylko za każdym razem, gdy warunek będzie spełniony. Na przykład. jeśli wyzwalanie na wartość czujnika temperatury i warunek to „jeśli temperatura jest wyższa niż 20 ° C”, to działania „następnie” będą wykonywane za każdym razem, gdy czujnik wyśle temperaturę i jest powyżej 20 ° C. O 21 ° C, o 22 ° C i tak dalej.",j8="Kod zostanie wykonany tylko wtedy, gdy wynik warunku ulegnie zmianie. Na przykład. jeśli wyzwalanie na wartość czujnika temperatury i warunek „jeśli temperatura jest wyższa niż 20 ° C”, to akcje „następnie” zostaną wykonane raz, gdy temperatura przekroczy 20. Następnym razem działania „następnie” zostaną wykonane, gdy temperatura nie udaje się poniżej 20, a następnie ponownie wzrasta powyżej 20.",F8="godziny",z8="zawiera",U8="interwał",H8="magia",W8="milisekund",G8="minuty",V8="ms",K8="Północ słoneczna",Y8="Żeglarski świt",J8="Żeglarski zmierzch",q8="Następny wschód słońca",X8="Następny zachód słońca",Z8="Noc",Q8="Koniec nocy",e6="normalny",t6="przesunięcie",s6="jeden",o6="lub",i6="cisza",n6="Szukaj",r6="sekundy",a6="Południe słoneczne",l6="Wschód słońca",c6="Koniec wschodu słońca",u6="Zachód słońca",d6="Początek zachodu słońca",h6="następnie",p6="Akceptuj",g6="Od",m6="Ostatnia zmiana",f6="Jakość",$6="Znacznik czasu",b6="Użytkownik",v6="Wartość",y6="dwa",_6="aktualizacja",w6="Dodaje wyniki debugowania do dziennika dla wielu poleceń systemowych",C6="Pełne dane wyjściowe dziennika",T6="gdy",k6="Wizard",S6="Ponów próbę",E6={"%s not found":"%s nie znaleziono","()":"()","(at %s)":"(w %s)","(optional)":"(opcjonalny)","-":"-",".":".","AI code generator":"Generator kodu AI",Ack:M3,Actions:N3,"Actual time of day":"Aktualna pora dnia",Add:L3,"Add new script":"Dodaj nowy skrypt",All:P3,"All files will be accepted":"Wszystkie pliki zostaną zaakceptowane",Any:B3,"Any month":"Dowolny miesiąc",Apply:j3,April:F3,"Are you sure?":"Jesteś pewny?",Ask:z3,Astronomical:U3,"Astronomical events today":"Wydarzenia astronomiczne dzisiaj",August:H3,"Blockly description":"Tworzenie reguł za pomocą bloków graficznych","Body:":"Treść:",Cancel:W3,"Cannot delete non empty item!":"Nie można usunąć niepustego elementu!","Change layout":"Zmiana układu",'Change theme (actual "%s")':"Zmień motyw (obecnie - „%s”)","Check blocks":"Sprawdź bloki","Check is not active, because javascript adapter is disabled":"Sprawdzanie nie jest aktywne, ponieważ adapter Javascript jest wyłączony","Clear search input":"Wyczyść dane wyszukiwania","Click on this icon":"Kliknij tę ikonę",Close:G3,"Close all but current":"Zamknij wszystkie oprócz bieżących","Collapse all":"Zwinąć wszystkie","Compares current time with astronomical event":"Porównuje aktualny czas z wydarzeniem astronomicznym","Compares current time with the user specific time":"Porównuje aktualny czas z czasem określonym przez użytkownika","Compares the state value with user defined value":"Porównuje wartość stanu z wartością zdefiniowaną przez użytkownika",Condition:V3,Conditions:K3,"Configuration not saved.":"Konfiguracja nie została zapisana.",Console:Y3,"Control or update some state":"Kontroluj lub aktualizuj stan","Control or update some state with delay":"Kontroluj lub aktualizuj jakiś stan z opóźnieniem","Convert blockly to javascript for ever.":"Bezpowrotna konwersja Blockly na Javascript.",Copied:J3,"Copy script":"Skopiuj skrypt","Copy to clipboard":"Skopiuj do schowka","Create new":"Utwórz nowy","Create new folder":"Utwórz nowy folder","Create new script":"Utwórz nowy skrypt","Create or edit CRON or time wizard":"Utwórz lub edytuj CRON lub kreator czasu","Dark Theme":"Ciemny schemat","Dark style":"Ciemny styl",Date:"Data","Debug instance":"Debuguj instancję","Debug options":"Opcje debugowania",December:q3,Default:X3,"Define cron...":"Zdefiniuj CRON ...","Define schedule...":"Zdefiniuj harmonogram ...",Delay:Z3,Delete:Q3,"Delete %s":"Usuń %s ...","Delete folder":"Usuń folder","Delete script":"Usuń skrypt",Description:e4,"Deselect all":"Odznacz wszystkie","Discard changes for %s":"Odrzuć zmiany dla %s",Done:t4,"Double click to write value":"Kliknij dwukrotnie, aby zapisać wartość","Download as file":"Download jako plik plik","Drop some files here or click...":"Upuść niektóre pliki tutaj lub kliknij ...","Duplicate name":"Duplikat nazwy","Edit script or just double click":"Edytuj skrypt lub po prostu kliknij dwukrotnie","Empty name is not allowed":"Pusta nazwa jest niedozwolona","End search mode":"Zakończ tryb wyszukiwania","Enter your question":"Wpisz swoją prośbę",Error:"Błąd","Error formatting code":"Błąd formatowania kodu","Error was found":"Błąd został znaleziony","Every day":"Codziennie",Exec:s4,"Executes some shell command":"Wykonuje polecenie powłoki","Existing scripts will be overwritten.":"Istniejące skrypty zostaną zastąpione.","Expand all":"Rozwiń wszystkie","Expert mode":"Tryb ekspercki",Explanation:o4,Export:i4,"Export all scripts":"Wyeksportuj wszystkie skrypty","Export blocks":"Eksportuj bloki","Export selected blocks":"Eksportuj wybrane bloki",Februar:n4,February:r4,Filter:a4,Folder:l4,Fr:c4,Friday:u4,Function:"Funkcja","Function editor":"Edytor funkcji","Function: executed":"Funkcja: wykonywana","Go to next line":"Przejdź do następnej linii","HTTP Call":"Połączenie HTTP","Hide logs":"Ukryj dzienniki",ID:d4,ID1:h4,ID2:p4,Import:g4,"Import blocks":"Importuj bloki","Import error":"Błąd importowania","Import scripts":"Importuj skrypty","Insert object ID":"Wstaw identyfikator obiektu",Instance:m4,"Instance is disabled":"Instancja jest wyłączona","Instance:":"Instancja:",Instances:f4,Instructions:$4,"Invalid CRON":"Nieprawidłowy CRON","It will not be possible to revert this operation.":"Cofnięcie tej operacji nie będzie możliwe.","JS description":"Tworzenie reguł w Javascript",Januar:b4,January:v4,July:y4,June:_4,"Just check":"Po prostu sprawdź","Language:":"Język:","Learn More":"Ucz się więcej","Light style":"Lekki styl",Limit:w4,"Local time":"Czas lokalny","Locate file":"Znajdź plik","Log outputs":"Log dziennika","Log text":"Tekst dziennika","Log: %s":"Dziennik: %s","Make a HTTP get request":"Złóż żądanie HTTP get","Make a pause between actions":"Zrób przerwę między czynnościami",March:C4,"March ":"Marzec ",May:T4,Menu:k4,Message:S4,Mo:E4,Model:I4,Monday:x4,Month:D4,More:A4,Name:R4,"No API key found":"Nie znaleziono klucza API","No Chat GPT Key found":"Nie znaleziono klucza GPT czatu","No active host found":"Nie znaleziono aktywnego hosta","Nothing found":"Nic nie znaleziono",November:O4,OK:M4,October:N4,Ok:L4,"On condition change":"W przypadku zmiany warunków","On script save or adapter start":"Podczas zapisywania skryptu lub uruchamiania adaptera","On weekdays":"W dni powszednie","Open configuration":"Otwarta konfiguracja","Operate two states":"Obsługuj dwa stany","Operations with two states":"Operacje z dwoma stanami","Paste your blocks here":"Wklej tutaj swoje bloki",Pause:P4,"Pause execution":"Wstrzymaj wykonanie","Pause script":"Wstrzymaj skrypt","Phone:":"Telefon:","Please select object ID...":"Wybierz identyfikator obiektu ...","Press Ctrl+Enter to get the answer":"Naciśnij klawisze Ctrl+Enter, aby uzyskać odpowiedź","Prettify the script":"Upiększ skrypt","Print some text in log":"Wydrukuj tekst w dzienniku","Priority:":"Priorytet:",Pushover:B4,Pushsafer:j4,"Read only ID selected: %s":"Wybrano identyfikator tylko do odczytu: %s",Rename:F4,"Reorder scripts in folders":"Zmień kolejność skryptów w folderach",Repeat:z4,Restart:U4,Result:H4,"Resume execution":"Wznów wykonanie","Root folder":"Folder główny","Rules description":"Twórz reguły z blokami IF, THEN, ELSE","Run script":"Uruchom skrypt",Sa:W4,Saturday:G4,Save:V4,"Save all":"Zapisz wszystko","Say It":"Wypowiedz","Say some text via sayit adapter":"Powiedz tekst przez adapter sayit",Schedule:K4,Script:Y4,"Script %s was modified on disk":"Skrypt %s został zmodyfikowany na dysku","Script is not running":"Skrypt nie działa","Search in scripts":"Szukaj w skryptach","Search...":"Szukaj...","Select all":"Zaznacz wszystko","Send email":"Wysłać email","Sends an email":"Wysyła e-mail","Sends message via Pushsafer":"Wysyła wiadomość przez Pushsafer","Sends message via pushover":"Wysyła wiadomość przez pushover","Sends message via telegram":"Wysyła wiadomość telegramem","Sends message via whatsapp-cmb":"Wysyła wiadomość przez WhatsApp-cmb",September:J4,"Server time":"Czas serwera","Set state action":"Ustaw stan działania","Set with delay":"Ustaw z opóźnieniem","Shell command":"Polecenie powłoki","Show astronomical events":"Pokaż wydarzenia astronomiczne","Show javascript code":"Pokaż kod JavaScript","Show logs":"Pokaż dzienniki","Show only paused scripts":"Pokaż tylko wstrzymane skrypty","Show only running scripts":"Pokaż tylko działające skrypty","Show only scripts with problems":"Pokaż tylko skrypty z problemami",Simulate:q4,"Some files will be rejected":"Niektóre pliki zostaną odrzucone","Sound:":"Dźwięk:",Stack:X4,Start:Z4,"Start script":"Uruchom skrypt",State:Q4,"State condition":"Warunek stanu","Step into function":"Wejdź do funkcji","Step out from function":"Wyjdź z funkcji","Stop on exception":"Zatrzymaj się na wyjątku",Su:e8,"Subject:":"Temat:",Sunday:t8,"TS description":"Tworzenie reguł w Typescript",Telegram:s8,"Text:":"Tekst:",Th:o8,"The script will be stopped and must be activated manually after debugging. Continue?":"Skrypt zostanie zatrzymany i należy go aktywować ręcznie po debugowaniu. Kontyntynuj?","This is advances option. You can write your own code here and it will be executed on trigger":"To jest opcja zaawansowana. Możesz tutaj napisać własny kod, który zostanie wykonany po wyzwoleniu",Thursday:i8,Time:n8,"Time condition":"Warunek czasowy","Title:":"Tytuł:","To:":"Do:","Trigger with value":"Wyzwalacz z wartością",Triggered:r8,Triggers:a8,"Triggers the on script saving or the javascript instance restart":"Uruchamia zapisywanie skryptu lub restart instancji javascript","Triggers the rule on update or change of some state":"Uruchamia regułę przy aktualizacji lub zmianie jakiegoś stanu","Triggers the rule periodically or on some specific time":"Uruchamia regułę okresowo lub w określonym czasie",Tu:l8,Tuesday:c8,URL:u8,"Unknown error":"Nieznany błąd","Unknown error!":"Nieznany błąd!","Use generated code":"Użyj wygenerowanego kodu","User function":"Funkcja użytkownika","User:":"Użytkownik:",Value:d8,"Vibration:":"Wibracja:",Volume:h8,We:p8,Wednesday:g8,"Whatsapp-cmb":"Whatsapp-cmb",Write:m8,"Write your own code":"Napisz swój własny kod",Yes:f8,"Yet exists!":"A jednak istnieje!","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"Możesz użyć %s w adresie URL, aby użyć bieżącej wartości wyzwalacza, %id, aby użyć wyzwalanego identyfikatora obiektu, %name, aby wyświetlić nazwę identyfikatora wyzwalanego obiektu, lub %old, aby użyć starej wartości wyzwalacza","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"Możesz użyć %s w poleceniu, aby użyć bieżącej wartości wyzwalającej, %id, aby użyć identyfikatora wyzwalanego obiektu, %name, aby wyświetlić nazwę identyfikatora wyzwalanego obiektu, lub %old, aby użyć starej wartości wyzwalającej","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"Możesz użyć %s w tekście, aby wyświetlić aktualną wartość wyzwalającą, %id, aby użyć identyfikatora wyzwolonego obiektu, %name, aby wyświetlić nazwę identyfikatora wyzwolonego obiektu lub %old, aby użyć starej wartości wyzwalającej","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"Możesz użyć %s w wartości, aby użyć bieżącej wartości wyzwalacza, %id, aby użyć identyfikatora wyzwalanego obiektu, %name, aby wyświetlić nazwę identyfikatora wyzwalanego obiektu, lub %old, aby użyć starej wartości wyzwalacza","You have to enter OpenAI API key in the configuration of javascript adapter.":"Należy wprowadzić klucz OpenAI API w konfiguracji adaptera javascript.","You have to enter at least one API key in the configuration of javascript adapter.":"Musisz wprowadzić co najmniej jeden klucz API (OpenAI, Anthropic lub Gemini) w konfiguracji adaptera javascript.","Please select a valid model":"Wybierz prawidłowy model","[equal]":"[równy]","[greater or equal]":"[większe lub równe]","[greater]":"[większe]","[hysteresis]":"[histereza]","[includes]":"[obejmuje]","[less or equal]":"[mniejsze lub równe]","[less]":"[mniejsze]","[not equal]":"[nie równe]",acknowledgment:$8,all:b8,and:v8,astro:y8,at:_8,"clear running":"czyste uruchomienie",control:w8,copy:C8,cron:T8,dawn:k8,debug_help:S8,debug_label:E8,default:"domyślna",dusk:I8,easy:x8,else:"inaczej","equal to":"równy",every:D8,"every hour at 0 minutes":"co godzinę po 0 minutach",false:"fałsz","file reading has failed: %s":"odczyt pliku nie powiódł się: %s","file reading was aborted":"odczyt pliku został przerwany",filter_func:A8,filter_id:R8,filter_name:O8,filter_role:M8,filter_room:N8,"for edit or create script":"do edycji lub utwórz nowy skrypt","for professionals":"dla profesjonalistów","for programmers":"dla programistów",goldenHour:L8,goldenHourEnd:P8,"greater or equal":"większe lub równe","greater or equal to":"więcej lub równo","greater than":"więcej niż",help_just_check:B8,help_on_change:j8,"high priority":"wysoki priorytet","high-priority":"wysoki priorytet","highest priority":"najwyższy priorytet",hours:F8,includes:z8,interval:U8,"just check":"po prostu sprawdź","less or equal":"mniejsze lub równe","less or equal to":"mniej lub równo","less than":"mniej niż","lower priority":"niższy priorytet","lowest priority":"najniższy priorytet",magic:H8,milliseconds:W8,minutes:G8,ms:V8,nadir:K8,nauticalDawn:Y8,nauticalDusk:J8,nextSunrise:q8,nextSunset:X8,night:Z8,nightEnd:Q8,"no blocks found":"Nie znaleziono bloków","no group":"BRAK GRUPY",normal:e6,"normal priority":"normalny priorytet","not equal to":"nie równa się","not properly connected":"Ten blok nie jest poprawnie podłączony do innych bloków.",offset:t6,"on change":"na zmianę","on condition change":"pod warunkiem zmiany warunków","on update":"po aktualizacji",one:s6,or:o6,quiet:i6,"reset search":"zresetuj wyszukiwanie",search:n6,seconds:r6,solarNoon:a6,"store in":"przechowaj w",sunrise:l6,sunriseEnd:c6,sunset:u6,sunsetStart:d6,then:h6,"toggle value":"wartość przełączania",tooltip_ack:p6,tooltip_from:g6,tooltip_lc:m6,tooltip_quality:f6,tooltip_ts:$6,tooltip_user:b6,tooltip_value:v6,true:"prawda",two:y6,undefined:"nieokreślony",update:_6,"use seconds":"użyj sekund","use trigger value":"użyj wartości wyzwalającej",verbose_help:w6,verbose_label:C6,when:T6,with:"z","with date":"z datą","with offset":"z przesunięciem",wizard:k6,"Loading models...":"Ładowanie modeli...","Could not connect to API at %s":"Nie można połączyć się z API pod adresem %s","Invalid API key":"Nieprawidłowy klucz API","Access denied by API":"Odmowa dostępu przez API","API error: %s":"Błąd API: %s",'Model "%s" not found':'Model "%s" nie znaleziony',"Request failed: %s":"Żądanie nie powiodło się: %s",Retry:S6,"No running javascript instance found":"Nie znaleziono uruchomionej instancji JavaScript"},I6="Reconhecido",x6="Ações",D6="Adicionar",A6="Todos",R6="Nenhum",O6="Aplique",M6="abril",N6="Perguntar",L6="Astronômico",P6="agosto",B6="Cancelar",j6="Fechar",F6="Doença",z6="Condições",U6="Console",H6="Copiado",W6="dezembro",G6="Predefinição",V6="Atraso",K6="Deletar",Y6="Descrição",J6="Pronto",q6="Exec shell",X6="Explicação",Z6="Exportação",Q6="Februar",e9="fevereiro",t9="Filtro",s9="Pasta",o9="Fr",i9="Sexta-feira",n9="ID",r9="ID1",a9="ID2",l9="Importar",c9="Instância",u9="Instâncias",d9="Instruções",h9="Januar",p9="janeiro",g9="julho",m9="junho",f9="Limite",$9="março",b9="maio",v9="Menu",y9="mensagem",_9="Mo",w9="Modelo",C9="Segunda-feira",T9="Mês",k9="Mais",S9="Nome",E9="novembro",I9="OK",x9="outubro",D9="Ok",A9="Pausa",R9="Pushover",O9="Pushsafer",M9="Renomear",N9="Repetir",L9="Reiniciar",P9="Resultado",B9="Sá",j9="Sábado",F9="Salve",z9="Cronograma",U9="Script",H9="setembro",W9="Simular",G9="Pilha",V9="Começar",K9="Estado",Y9="Su",J9="Domingo",q9="Telegrama",X9="4",Z9="Quinta-feira",Q9="Tempo",eK="Provocado",tK="Gatilhos",sK="Tu",oK="terça",iK="URL",nK="Valor",rK="Volume",aK="3",lK="quarta",cK="Escrever",uK="sim",dK="reconhecimento",hK="todos",pK="e",gK="astro",mK="no",fK="ao controle",$K="copiar",bK="CRON",vK="alvorecer",yK="Este é um modo especial no qual estados e objetos não serão alterados. Mas apenas as informações sobre cada mudança planejada serão exibidas no protocolo.",_K="Depurar",wK="Crepúsculo",CK="fácil",TK="cada",kK="Função",SK="ID",EK="Nome",IK="Tipo",xK="Quarto",DK="Hora dourada",AK="Fim da hora de ouro",RK='O código será executado apenas sempre que a condição for verdadeira. Por exemplo. se disparar no valor do sensor de temperatura e a condição for "se a temperatura for maior que 20 ° C", as ações "então" serão executadas toda vez que o sensor enviar a temperatura e ela estiver acima de 20 ° C. Por 21 ° C, por 22 ° C e assim por diante.',OK='O código será executado apenas se o resultado da condição mudar. Por exemplo. se disparar no valor do sensor de temperatura e a condição for "se a temperatura for maior que 20 ° C", as ações "então" serão executadas uma vez quando a temperatura estiver acima de 20. Na próxima vez, as ações "então" serão executadas quando a temperatura falha abaixo de 20 e sobe acima de 20 novamente.',MK="horas",NK="inclui",LK="intervalo",PK="Magia",BK="milissegundos",jK="minutos",FK="ms",zK="nadir",UK="Madrugada náutica",HK="Crepúsculo náutico",WK="próximo nascer do sol",GK="Próximo pôr do sol",VK="Noite",KK="Fim de noite",YK="normal",JK="Deslocamento",qK="1",XK="ou",ZK="quieto",QK="procurar",eY="segundos",tY="Meio-dia solar",sY="nascer do sol",oY="Fim do nascer do sol",iY="pôr do sol",nY="Começo do pôr do sol",rY="então",aY="reconhecer",lY="de",cY="Última alteração",uY="Qualidade",dY="timestamp",hY="usuário",pY="valor",gY="dois",mY="atualizar",fY="Adiciona saída de depuração ao log para muitos comandos do sistema",$Y="Saídas de log detalhadas",bY="quando",vY="Wizard",yY="Tentar novamente",_Y={"%s not found":"%s não encontrado","()":"()","(at %s)":"(em %s)","(optional)":"(opcional)","-":"-",".":".","AI code generator":"Gerador de código de IA",Ack:I6,Actions:x6,"Actual time of day":"Hora real do dia",Add:D6,"Add new script":"Adicionar novo script",All:A6,"All files will be accepted":"Todos os arquivos serão aceitos",Any:R6,"Any month":"Qualquer mês",Apply:O6,April:M6,"Are you sure?":"Você tem certeza?",Ask:N6,Astronomical:L6,"Astronomical events today":"Eventos astronômicos hoje",August:P6,"Blockly description":"Criando regras por blocos gráficos","Body:":"Corpo:",Cancel:B6,"Cannot delete non empty item!":"Não pode ser deletar, porque não está vazio!","Change layout":"Alterar layout",'Change theme (actual "%s")':'Alterar tema (agora - "%s")',"Check blocks":"Verificar blocos","Check is not active, because javascript adapter is disabled":"A verificação de sintaxe não está ativa porque o adaptador javascript não está rodando.","Clear search input":"Limpar entrada de pesquisa","Click on this icon":"Clique neste ícone",Close:j6,"Close all but current":"Fechar tudo, menos atual","Collapse all":"Recolher todos","Compares current time with astronomical event":"Compara o tempo atual com o evento astronômico","Compares current time with the user specific time":"Compara a hora atual com a hora específica do usuário","Compares the state value with user defined value":"Compara o valor do estado com o valor definido pelo usuário",Condition:F6,Conditions:z6,"Configuration not saved.":"Configuração não esta salva.",Console:U6,"Control or update some state":"Controlar ou atualizar algum estado","Control or update some state with delay":"Controlar ou atualizar algum estado com atraso","Convert blockly to javascript for ever.":"Converter Blockly em Javascript permanentemente.",Copied:H6,"Copy script":"Copiar script","Copy to clipboard":"Copiar para área de transferência","Create new":"Crie um novo","Create new folder":"Criar nova pasta","Create new script":"Criar novo script","Create or edit CRON or time wizard":"Criar ou editar o assistente cron ou o assistente de horário","Dark Theme":"Layout escuro","Dark style":"Estilo escuro",Date:"Encontro","Debug instance":"Instância de depuração","Debug options":"Opções de depuração",December:W6,Default:G6,"Define cron...":"Definir cron...","Define schedule...":"Definir agendamento ...",Delay:V6,Delete:K6,"Delete %s":"Deletar %s...","Delete folder":"Deletar pasta","Delete script":"Deletar script",Description:Y6,"Deselect all":"Desmarcar todos","Discard changes for %s":"Descartar alterações para %s",Done:J6,"Double click to write value":"Clique duas vezes para escrever o valor","Download as file":"Baixar como arquivo","Drop some files here or click...":"Solte alguns arquivos aqui ou clique em...","Duplicate name":"Nome duplicado","Edit script or just double click":"Edite o script ou clique duas vezes","Empty name is not allowed":"Nome vazio não é permitido","End search mode":"Finalizar modo de pesquisa","Enter your question":"Digite sua solicitação",Error:"Erro","Error formatting code":"Erro de formatação de código","Error was found":"Erro foi encontrado","Every day":"Todos os dias",Exec:q6,"Executes some shell command":"Executa algum comando shell","Existing scripts will be overwritten.":"Os scripts existentes serão substituídos.","Expand all":"Expandir todos","Expert mode":"Modo de especialista",Explanation:X6,Export:Z6,"Export all scripts":"Exportar todos os scripts","Export blocks":"Exportar blocos","Export selected blocks":"Exportar blocos selecionados",Februar:Q6,February:e9,Filter:t9,Folder:s9,Fr:o9,Friday:i9,Function:"Função","Function editor":"Editor de funções","Function: executed":"Função: executado","Go to next line":"Vá para a próxima linha","HTTP Call":"Chamada HTTP","Hide logs":"Ocultar logs",ID:n9,ID1:r9,ID2:a9,Import:l9,"Import blocks":"Importar blocos","Import error":"Erro de importação","Import scripts":"Importar script","Insert object ID":"Inserir ID do objeto",Instance:c9,"Instance is disabled":"Instância está desativada","Instance:":"Instância:",Instances:u9,Instructions:d9,"Invalid CRON":"CRON inválido","It will not be possible to revert this operation.":"Não será possível reverter esta operação.","JS description":"Criando regras escrevendo Javascript",Januar:h9,January:p9,July:g9,June:m9,"Just check":"Apenas verifique","Language:":"Língua:","Learn More":"Aprender mais","Light style":"Estilo claro",Limit:f9,"Local time":"Hora local","Locate file":"Localize o arquivo","Log outputs":"Saídas de log","Log text":"Texto de registro","Log: %s":"Log: %s","Make a HTTP get request":"Faça uma solicitação HTTP get","Make a pause between actions":"Faça uma pausa entre as ações",March:$9,"March ":"Março",May:b9,Menu:v9,Message:y9,Mo:_9,Model:w9,Monday:C9,Month:T9,More:k9,Name:S9,"No API key found":"Nenhuma chave API encontrada","No Chat GPT Key found":"Nenhuma chave GPT de bate-papo encontrada","No active host found":"Nenhum host ativo encontrado","Nothing found":"Nada encontrado",November:E9,OK:I9,October:x9,Ok:D9,"On condition change":"Na mudança de condição","On script save or adapter start":"Ao salvar o script ou iniciar o adaptador","On weekdays":"Nos dias úteis","Open configuration":"Configuração aberta","Operate two states":"Operar dois estados","Operations with two states":"Operações com dois estados","Paste your blocks here":"Cole seus blocos aqui",Pause:A9,"Pause execution":"Pausar a execução","Pause script":"Pausar script","Phone:":"Telefone:","Please select object ID...":"Selecione o ID do objeto...","Press Ctrl+Enter to get the answer":"Pressione Ctrl+Enter para obter a resposta","Prettify the script":"Embeleze o roteiro","Print some text in log":"Imprimir algum texto no log","Priority:":"Prioridade:",Pushover:R9,Pushsafer:O9,"Read only ID selected: %s":"ID somente leitura selecionada: %s",Rename:M9,"Reorder scripts in folders":"Reordenar scripts em pastas",Repeat:N9,Restart:L9,Result:P9,"Resume execution":"Retomar execução","Root folder":"Pasta principal","Rules description":"Crie regras com blocos IF, THEN, ELSE","Run script":"Executar script",Sa:B9,Saturday:j9,Save:F9,"Save all":"Salvar tudo","Say It":"Say It","Say some text via sayit adapter":"Diga algum texto através do adaptador sayit",Schedule:z9,Script:U9,"Script %s was modified on disk":'O script "%s" foi modificado no disco rígido',"Script is not running":"Script não está sendo executado","Search in scripts":"Pesquisa em scripts","Search...":"Procurar...","Select all":"Selecionar tudo","Send email":"Enviar email","Sends an email":"Envia um email","Sends message via Pushsafer":"Envia mensagem via Pushsafer","Sends message via pushover":"Envia mensagem via pushover","Sends message via telegram":"Envia mensagem via telegrama","Sends message via whatsapp-cmb":"Envia mensagem via whatsapp-cmb",September:H9,"Server time":"Tempo de servidor","Set state action":"Definir ação de estado","Set with delay":"Definido com atraso","Shell command":"Comando shell","Show astronomical events":"Mostrar eventos astronômicos","Show javascript code":"Mostrar código Javascript","Show logs":"Mostrar logs","Show only paused scripts":"Mostrar apenas scripts pausados","Show only running scripts":"Mostrar apenas scripts em execução","Show only scripts with problems":"Mostrar apenas scripts com problemas",Simulate:W9,"Some files will be rejected":"Alguns arquivos serão rejeitados","Sound:":"Som:",Stack:G9,Start:V9,"Start script":"Iniciar script",State:K9,"State condition":"Condição de estado","Step into function":"Entre na função","Step out from function":"Saia da função","Stop on exception":"Pare na exceção",Su:Y9,"Subject:":"Sujeito:",Sunday:J9,"TS description":"Criando regras escrevendo Typecript",Telegram:q9,"Text:":"Texto:",Th:X9,"The script will be stopped and must be activated manually after debugging. Continue?":"O script será interrompido e deve ser ativado manualmente após a depuração. Continuar?","This is advances option. You can write your own code here and it will be executed on trigger":"Esta é a opção de avanços. Você pode escrever seu próprio código aqui e ele será executado no gatilho",Thursday:Z9,Time:Q9,"Time condition":"Condição de tempo","Title:":"Título:","To:":"Para:","Trigger with value":"Trigger com valor",Triggered:eK,Triggers:tK,"Triggers the on script saving or the javascript instance restart":"Aciona o salvamento do script ou a reinicialização da instância javascript","Triggers the rule on update or change of some state":"Aciona a regra na atualização ou mudança de algum estado","Triggers the rule periodically or on some specific time":"Aciona a regra periodicamente ou em algum momento específico",Tu:sK,Tuesday:oK,URL:iK,"Unknown error":"Erro desconhecido","Unknown error!":"Erro desconhecido!","Use generated code":"Usar código gerado","User function":"Função do usuário","User:":"Do utilizador:",Value:nK,"Vibration:":"Vibração:",Volume:rK,We:aK,Wednesday:lK,"Whatsapp-cmb":"Whatsapp-cmb",Write:cK,"Write your own code":"Escreva seu próprio código",Yes:uK,"Yet exists!":"Ainda existe!","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"Você pode usar %s na URL para usar o valor do gatilho atual, %id para usar o ID do objeto acionado, %name para mostrar o nome do ID do objeto acionado ou %old para usar o valor do gatilho antigo","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"Você pode usar %s no comando para usar o valor do acionador atual, %id para usar o ID do objeto acionado, %name para mostrar o nome do ID do objeto acionado ou %old para usar o valor do acionador antigo","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"Você pode usar %s no texto para exibir o valor do acionador atual, %id para usar o ID do objeto acionado, %name para mostrar o nome do ID do objeto acionado ou %old para usar o valor do acionador antigo","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"Você pode usar %s no valor para usar o valor do acionador atual, %id para usar o ID do objeto acionado, %name para mostrar o nome do ID do objeto acionado ou %old para usar o valor do acionador antigo","You have to enter OpenAI API key in the configuration of javascript adapter.":"Você deve inserir a chave da API OpenAI na configuração do adaptador javascript.","You have to enter at least one API key in the configuration of javascript adapter.":"Você deve inserir pelo menos uma chave API (OpenAI, Anthropic ou Gemini) na configuração do adaptador javascript.","Please select a valid model":"Selecione um modelo válido","[equal]":"[igual]","[greater or equal]":"[maior ou igual]","[greater]":"[maior]","[hysteresis]":"[histerese]","[includes]":"[inclui]","[less or equal]":"[menor ou igual]","[less]":"[menos]","[not equal]":"[não igual]",acknowledgment:dK,all:hK,and:pK,astro:gK,at:mK,"clear running":"corrida limpa",control:fK,copy:$K,cron:bK,dawn:vK,debug_help:yK,debug_label:_K,default:"predefinição",dusk:wK,easy:CK,else:"outro","equal to":"igual a",every:TK,"every hour at 0 minutes":"a cada hora em 0 minutos",false:"falso","file reading has failed: %s":"a leitura do arquivo falhou: %s","file reading was aborted":"a leitura do arquivo foi abortada",filter_func:kK,filter_id:SK,filter_name:EK,filter_role:IK,filter_room:xK,"for edit or create script":"para editar ou criar um novo script","for professionals":"para profissionais","for programmers":"para programadores",goldenHour:DK,goldenHourEnd:AK,"greater or equal":"maior ou igual","greater or equal to":"maior ou igual a","greater than":"Maior que",help_just_check:RK,help_on_change:OK,"high priority":"prioridade máxima","high-priority":"prioridade máxima","highest priority":"Prioridade máxima",hours:MK,includes:NK,interval:LK,"just check":"Apenas verifique","less or equal":"menor ou igual","less or equal to":"menor ou igual a","less than":"Menor que","lower priority":"prioridade mais baixa","lowest priority":"prioridade mais baixa",magic:PK,milliseconds:BK,minutes:jK,ms:FK,nadir:zK,nauticalDawn:UK,nauticalDusk:HK,nextSunrise:WK,nextSunset:GK,night:VK,nightEnd:KK,"no blocks found":"Nenhum bloco encontrado","no group":"SEM GRUPO",normal:YK,"normal priority":"prioridade normal","not equal to":"não é igual a","not properly connected":"Este bloco não está conectado corretamente com outros blocos.",offset:JK,"on change":"em mudança","on condition change":"na mudança de condição","on update":"em atualização",one:qK,or:XK,quiet:ZK,"reset search":"redefinir pesquisa",search:QK,seconds:eY,solarNoon:tY,"store in":"armazenar em",sunrise:sY,sunriseEnd:oY,sunset:iY,sunsetStart:nY,then:rY,"toggle value":"valor de alternância",tooltip_ack:aY,tooltip_from:lY,tooltip_lc:cY,tooltip_quality:uY,tooltip_ts:dY,tooltip_user:hY,tooltip_value:pY,true:"verdade",two:gY,undefined:"Indefinido",update:mY,"use seconds":"use segundos","use trigger value":"use o gatilho",verbose_help:fY,verbose_label:$Y,when:bY,with:"com","with date":"com data","with offset":"com deslocamento",wizard:vY,"Loading models...":"Carregando modelos...","Could not connect to API at %s":"Não foi possível conectar à API em %s","Invalid API key":"Chave API inválida","Access denied by API":"Acesso negado pela API","API error: %s":"Erro de API: %s",'Model "%s" not found':'Modelo "%s" não encontrado',"Request failed: %s":"Solicitação falhou: %s",Retry:yY,"No running javascript instance found":"Nenhuma instância JavaScript em execução encontrada"},wY="Подтверждение",CY="Действия",TY="Добавить",kY="Все",SY="Любая",EY="Применить",IY="Апрель",xY="Спросить",DY="Aстрономический",AY="Август",RY="Отмена",OY="Закрыть",MY="Условие",NY="Условия",LY="Приставка",PY="Скопировано",BY="Декабрь",jY="Дефолт",FY="Задержка",zY="Удалить",UY="Описание",HY="Готово",WY="Исполнить shell",GY="Объяснение",VY="Экспорт",KY="Февраль",YY="Февраль",JY="Фильтр",qY="Папка",XY="Пт",ZY="пятница",QY="ID",eJ="ID1",tJ="ID2",sJ="Импорт",oJ="Экземпляр",iJ="Экземпляры",nJ="Инструкции",rJ="Январь",aJ="Январь",lJ="Июль",cJ="Июнь",uJ="Предел",dJ="Март",hJ="Май",pJ="Меню",gJ="Сообщение",mJ="Пн",fJ="Модель",$J="понедельник",bJ="Месяц",vJ="Более",yJ="Имя",_J="Ноябрь",wJ="Ок",CJ="Октябрь",TJ="Ok",kJ="Пауза",SJ="Pushover",EJ="Pushsafer",IJ="Переименовать",xJ="Повторение",DJ="Перезапустить",AJ="Результат",RJ="Сб",OJ="суббота",MJ="Сохранить",NJ="Расписание",LJ="скрипт",PJ="Сентябрь",BJ="Симулировать",jJ="Stack",FJ="Начинать",zJ="Состояние",UJ="Вс",HJ="Воскресенье",WJ="Telegram",GJ="Чт",VJ="Четверг",KJ="Время",YJ="Срабатывает",JJ="Триггеры",qJ="Вт",XJ="вторник",ZJ="URL",QJ="Значение",e7="Громкость",t7="Ср",s7="среда",o7="Напишите",i7="Да",n7="подтверждение",r7="все",a7="и",l7="Астро",c7="в",u7="контроль",d7="копия",h7="CRON",p7="Рассвет",g7="Это особый режим, в котором состояния и объекты не будут меняться. Но в протоколе будет отображаться только информация о каждом планируемом изменении.",m7="Отлаживать",f7="Сумерки",$7="легкий",b7="каждые(ый)",v7="Функция",y7="ID",_7="Название",w7="Роль",C7="Комната",T7="Золотой час",k7="Конец золотого часа",S7="Код будет выполняться только каждый раз, когда условие истинно. Например. при срабатывании по значению датчика температуры и условию «если температура выше 20°C», действия «затем» будут выполняться каждый раз, когда датчик отправляет значение температуры, и оно превышает 20°C. На 21°С, на 22°С и так далее.",E7="Код будет выполнен только в случае изменения результата условия. Например, при срабатывании по значению датчика температуры и условию «если температура больше 20°C», действия «затем» будут выполнены один раз, когда температура превысит 20°C. В следующий раз действия «затем» будут выполнены, когда температура опустится ниже 20°C, а затем снова поднимается выше 20°C.",I7="час(ов)",x7="содержит",D7="интервал",A7="магия",R7="миллисекунды",O7="минут(у)",M7="мс",N7="Надир",L7="Морской рассвет",P7="Морские сумерки",B7="Следующий восход",j7="Следующий закат",F7="Ночь",z7="Конец ночи",U7="нормальный",H7="сдвиг",W7="один",G7="или",V7="тихий",K7="поиск",Y7="секунд",J7="Солнечный полдень",q7="Восход солнца",X7="Конец восхода",Z7="Закат солнца",Q7="Начало заката",eq="тогда",tq="Подтверждено",sq="От",oq="Последнее изменение",iq="Качественный",nq="Время",rq="Пользователь",aq="Значение",lq="два",cq="обновить",uq="Добавляет вывод отладки в журнал для многих системных команд.",dq="Подробный протокол",hq="если",pq="Мастер",gq="Повторить",mq={"%s not found":"%s не найден","()":"()","(at %s)":"(в %s)","(optional)":"(необязательный)","-":"-",".":".","AI code generator":"ИИ Генератор кода",Ack:wY,Actions:CY,"Actual time of day":"Фактическое время суток",Add:TY,"Add new script":"Добавить новый скрипт",All:kY,"All files will be accepted":"Все файлы будут приняты",Any:SY,"Any month":"В любой месяц",Apply:EY,April:IY,"Are you sure?":"Вы уверены?",Ask:xY,Astronomical:DY,"Astronomical events today":"Астрономические события сегодня",August:AY,"Blockly description":"Создание правил графическими блоками","Body:":"Тело:",Cancel:RY,"Cannot delete non empty item!":"Не удается удалить непустой элемент!","Change layout":"Изменить макет",'Change theme (actual "%s")':'Сменить тему (сейчас - "%s")',"Check blocks":"Проверить блоки","Check is not active, because javascript adapter is disabled":"Проверка неактивна, потому что адаптер Javascript отключен","Clear search input":"Очистить ввод","Click on this icon":"Нажмите на этот значок",Close:OY,"Close all but current":"Закрыть все кроме текущего","Collapse all":"Свернуть все","Compares current time with astronomical event":"Сравнивает текущее время с астрономическим событием","Compares current time with the user specific time":"Сравнивает текущее время с конкретным временем пользователя","Compares the state value with user defined value":"Сравнивает значение состояния с пользовательским значением",Condition:MY,Conditions:NY,"Configuration not saved.":"Конфигурация не сохранена.",Console:LY,"Control or update some state":"Контролировать или обновлять какое-то состояние","Control or update some state with delay":"Контролировать или обновлять какое-либо состояние с задержкой","Convert blockly to javascript for ever.":"Преобразовать blockly в Javascript навсегда.",Copied:PY,"Copy script":"Скопировать скрипт","Copy to clipboard":"Скопировать в буфер обмена","Create new":"Создать новый","Create new folder":"Создать новую папку","Create new script":"Создать новый скрипт","Create or edit CRON or time wizard":"Создание или редактирование CRON или мастера времени","Dark Theme":"Тёмная тема","Dark style":"Темный стиль",Date:"Дата","Debug instance":"Экземпляр отладки","Debug options":"Варианты отладки",December:BY,Default:jY,"Define cron...":"Задать правило ...","Define schedule...":"Задать расписание...",Delay:FY,Delete:zY,"Delete %s":"Удалить %s...","Delete folder":"Удалить папку","Delete script":"Удалить скрипт",Description:UY,"Deselect all":"Снять выбор со всех","Discard changes for %s":"Отменить изменения для %s",Done:HY,"Double click to write value":"Двойной щелчок для записи значения","Download as file":"Скачать как файл","Drop some files here or click...":"Перетыщите сюда файлы или нажмите ...","Duplicate name":"Повторяющееся имя","Edit script or just double click":"Редактировать скрипт или просто дважды щелкнуть","Empty name is not allowed":"Пустое имя не допускается","End search mode":"Закончить поиск","Enter your question":"Введи свою просьбу",Error:"Ошибка","Error formatting code":"Ошибка форматирования кода","Error was found":"Ошибка была найдена","Every day":"Каждый день",Exec:WY,"Executes some shell command":"Выполняет некоторую команду оболочки","Existing scripts will be overwritten.":"Существующие скрипты будут перезаписаны.","Expand all":"Открыть все","Expert mode":"Экспертный режим",Explanation:GY,Export:VY,"Export all scripts":"Экспорт всех скриптов","Export blocks":"Экспортировать блоки","Export selected blocks":"Экспортировать выбранные блоки",Februar:KY,February:YY,Filter:JY,Folder:qY,Fr:XY,Friday:ZY,Function:"Функция","Function editor":"Редактор функции","Function: executed":"Функция: выполнено","Go to next line":"Перейти к следующей строке","HTTP Call":"HTTP-вызов","Hide logs":"Скрыть журналы",ID:QY,ID1:eJ,ID2:tJ,Import:sJ,"Import blocks":"Импортировать блоки","Import error":"Ошибка импорта","Import scripts":"Импорт скриптов","Insert object ID":"Вставить ID объекта",Instance:oJ,"Instance is disabled":"Экземпляр отключен","Instance:":"Пример:",Instances:iJ,Instructions:nJ,"Invalid CRON":"Неправильный CRON","It will not be possible to revert this operation.":"Невозможно вернуть эту операцию.","JS description":"Создание правил путём написания Javascript",Januar:rJ,January:aJ,July:lJ,June:cJ,"Just check":"Просто проверить","Language:":"Язык:","Learn More":"Узнать больше","Light style":"Светлый стиль",Limit:uJ,"Local time":"Местное время","Locate file":"Показать файл в дереве","Log outputs":"Журнал","Log text":"Текст журнала","Log: %s":"Журнал: %s","Make a HTTP get request":"Сделайте HTTP-запрос на получение","Make a pause between actions":"Сделайте паузу между действиями",March:dJ,"March ":"Март ",May:hJ,Menu:pJ,Message:gJ,Mo:mJ,Model:fJ,Monday:$J,Month:bJ,More:vJ,Name:yJ,"No API key found":"API-ключ не найден","No Chat GPT Key found":"Ключ GPT для чата не найден","No active host found":"Активный host не найден","Nothing found":"Ничего не найдено",November:_J,OK:wJ,October:CJ,Ok:TJ,"On condition change":"При изменении реузльтата условий","On script save or adapter start":"При сохранении скрипта или запуске адаптера","On weekdays":"По дням недели","Open configuration":"Открыть настройки","Operate two states":"Операции над двумя состояниями","Operations with two states":"Операции с двумя состояниями","Paste your blocks here":"Вставьте свои блоки сюда",Pause:kJ,"Pause execution":"Приостановить выполнение","Pause script":"Остановить скрипт","Phone:":"Телефон:","Please select object ID...":"Пожалуйста, выберите ID объекта ...","Press Ctrl+Enter to get the answer":"Нажмите Ctrl+Enter, чтобы получить ответ","Prettify the script":"Украсьте сценарий","Print some text in log":"Напечатать текст в журнале","Priority:":"Приоритет:",Pushover:SJ,Pushsafer:EJ,"Read only ID selected: %s":"Выбран идентификатор только для чтения: %s",Rename:IJ,"Reorder scripts in folders":"Сортировать скрипты в папках",Repeat:xJ,Restart:DJ,Result:AJ,"Resume execution":"Возобновить выполнение","Root folder":"Корневая папка","Rules description":"Создавайте правила с блоками ЕСЛИ, ТО, ИНАЧЕ","Run script":"Запустить скрипт",Sa:RJ,Saturday:OJ,Save:MJ,"Save all":"Сохранить все","Say It":"Say It","Say some text via sayit adapter":"Произнесите текст через адаптер Sayit",Schedule:NJ,Script:LJ,"Script %s was modified on disk":'Скрипт "%s" был изменен на диске',"Script is not running":"Сценарий не запущен","Search in scripts":"Поиск в скриптах","Search...":"Поиск...","Select all":"Выбрать все","Send email":"Отправить email","Sends an email":"Отправляет электронное письмо","Sends message via Pushsafer":"Отправляет сообщение через Pushsafer","Sends message via pushover":"Отправляет сообщение через пустышку","Sends message via telegram":"Отправляет сообщение в телеграмме","Sends message via whatsapp-cmb":"Отправляет сообщение через whatsapp-cmb",September:PJ,"Server time":"Время сервера","Set state action":"Установить состояние","Set with delay":"Установить с задержкой","Shell command":"Команда оболочки","Show astronomical events":"Показать астрономические события","Show javascript code":"Показать код Javascript","Show logs":"Показать журналы","Show only paused scripts":"Показывать только приостановленные сценарии","Show only running scripts":"Показывать только запущенные скрипты","Show only scripts with problems":"Показывать только скрипты с проблемами",Simulate:BJ,"Some files will be rejected":"Некоторые файлы будут отклонены","Sound:":"Звук:",Stack:jJ,Start:FJ,"Start script":"Старт скрипта",State:zJ,"State condition":"Сравнение состояния","Step into function":"Шаг в функционирование","Step out from function":"Выйти из функции","Stop on exception":"Остановить при исключении",Su:UJ,"Subject:":"Предмет:",Sunday:HJ,"TS description":"Создание правил путём написания Typescript",Telegram:WJ,"Text:":"Текст:",Th:GJ,"The script will be stopped and must be activated manually after debugging. Continue?":"Cкрипт будет остановлен и должен быть активирован вручную после отладки. Продолжать?","This is advances option. You can write your own code here and it will be executed on trigger":"Это расширеный вариант. Вы можете написать здесь свой код и он будет выполняться по триггеру",Thursday:VJ,Time:KJ,"Time condition":"Условие времени","Title:":"Заголовок:","To:":"К:","Trigger with value":"Триггер со значением",Triggered:YJ,Triggers:JJ,"Triggers the on script saving or the javascript instance restart":"Запускает при сохранении скрипта или перезапуске экземпляра javascript","Triggers the rule on update or change of some state":"Запускает правило при обновлении или изменении какого-либо состояния","Triggers the rule periodically or on some specific time":"Срабатывает правило периодически или в определенное время",Tu:qJ,Tuesday:XJ,URL:ZJ,"Unknown error":"Неизвестная ошибка","Unknown error!":"Неизвестная ошибка!","Use generated code":"Использовать сгенерированный код","User function":"Функция пользователя","User:":"Пользователь:",Value:QJ,"Vibration:":"Вибрация:",Volume:e7,We:t7,Wednesday:s7,"Whatsapp-cmb":"Whatsapp-cmb",Write:o7,"Write your own code":"Напишите свой код",Yes:i7,"Yet exists!":"Имя уже существует!","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"Вы можете использовать %s в URL-адресе, чтобы использовать текущее значение триггера, %id, чтобы использовать идентификатор инициированного объекта, %name, чтобы показать имя идентификатора инициированного объекта, или %old, чтобы использовать старое значение триггера.","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"Вы можете использовать %s в команде, чтобы использовать текущее значение триггера, %id, чтобы использовать идентификатор сработавшего объекта, %name, чтобы показать имя сработавшего идентификатора объекта, или %old, чтобы использовать старое значение триггера.","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"Вы можете использовать %s в тексте для отображения текущего значения триггера, %id для использования идентификатора сработавшего объекта, %name для отображения имени сработавшего идентификатора объекта или %old для использования старого значения триггера.","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"Вы можете использовать %s в значении, чтобы использовать текущее значение триггера, %id, чтобы использовать идентификатор инициированного объекта, %name, чтобы показать имя идентификатора инициированного объекта, или %old, чтобы использовать старое значение триггера.","You have to enter OpenAI API key in the configuration of javascript adapter.":"Вы должны ввести ключ OpenAI API в конфигурации адаптера javascript.","You have to enter at least one API key in the configuration of javascript adapter.":"Необходимо ввести хотя бы один API-ключ (OpenAI, Anthropic или Gemini) в конфигурации адаптера javascript.","Please select a valid model":"Пожалуйста, выберите допустимую модель","[equal]":"[равно]","[greater or equal]":"[больше или равно]","[greater]":"[больше]","[hysteresis]":"[гистерезис]","[includes]":"[содержит]","[less or equal]":"[меньше или равно]","[less]":"[меньше]","[not equal]":"[не равно]",acknowledgment:n7,all:r7,and:a7,astro:l7,at:c7,"clear running":"остановить уже бегущие",control:u7,copy:d7,cron:h7,dawn:p7,debug_help:g7,debug_label:m7,default:"дефолт",dusk:f7,easy:$7,else:"иначе","equal to":"равно",every:b7,"every hour at 0 minutes":"каждый час через 0 минут",false:"false","file reading has failed: %s":"Ошибка чтения файла: %s","file reading was aborted":"Чтение файла было прервано",filter_func:v7,filter_id:y7,filter_name:_7,filter_role:w7,filter_room:C7,"for edit or create script":"для редактирования или создайте новый скрипт","for professionals":"для профессионалов","for programmers":"для программистов",goldenHour:T7,goldenHourEnd:k7,"greater or equal":"больше или равно","greater or equal to":"больше или равно","greater than":"больше чем",help_just_check:S7,help_on_change:E7,"high priority":"высокий приоритет","high-priority":"высокий-приоритет","highest priority":"высший приоритет",hours:I7,includes:x7,interval:D7,"just check":"просто проверить","less or equal":"меньше или равно","less or equal to":"меньше или равно","less than":"меньше, чем","lower priority":"более низкий приоритет","lowest priority":"самый низкий приоритет",magic:A7,milliseconds:R7,minutes:O7,ms:M7,nadir:N7,nauticalDawn:L7,nauticalDusk:P7,nextSunrise:B7,nextSunset:j7,night:F7,nightEnd:z7,"no blocks found":"Блоков нет","no group":"Нет группы",normal:U7,"normal priority":"нормальный приоритет","not equal to":"не равно","not properly connected":"Этот блок неправильно соединён или не соединён с другими блоками.",offset:H7,"on change":"по изменению","on condition change":"при изменении результата условия","on update":"при обновлении",one:W7,or:G7,quiet:V7,"reset search":"Cбросить поиск",search:K7,seconds:Y7,solarNoon:J7,"store in":"сохранить в",sunrise:q7,sunriseEnd:X7,sunset:Z7,sunsetStart:Q7,then:eq,"toggle value":"инвертировать текщее значение",tooltip_ack:tq,tooltip_from:sq,tooltip_lc:oq,tooltip_quality:iq,tooltip_ts:nq,tooltip_user:rq,tooltip_value:aq,true:"true",two:lq,undefined:"неопределенный",update:cq,"use seconds":"использовать секунды","use trigger value":"использовать значение триггера",verbose_help:uq,verbose_label:dq,when:hq,with:"с","with date":"с датой","with offset":"со сдвигом",wizard:pq,"Loading models...":"Загрузка моделей...","Could not connect to API at %s":"Не удалось подключиться к API по адресу %s","Invalid API key":"Недействительный ключ API","Access denied by API":"Доступ запрещён API","API error: %s":"Ошибка API: %s",'Model "%s" not found':'Модель "%s" не найдена',"Request failed: %s":"Запрос не удался: %s",Retry:gq,"No running javascript instance found":"Не найден работающий экземпляр JavaScript"},fq="Визнано",$q="Дії",bq="додати",vq="все",yq="Будь-який",_q="Застосувати",wq="квітень",Cq="Запитуйте",Tq="Астрономічний",kq="серпень",Sq="Скасувати",Eq="Закрити",Iq="Хвороба",xq="Умови",Dq="Консоль",Aq="Скопійовано",Rq="Грудень",Oq="За замовчуванням",Mq="Затримка",Nq="Видалити",Lq="опис",Pq="Готово",Bq="Виконавча оболонка",jq="Пояснення",Fq="Експорт",zq="Лютий",Uq="Лютий",Hq="фільтр",Wq="Папка",Gq="О",Vq="П'ятниця",Kq="ID",Yq="ID1",Jq="ID2",qq="Імпорт",Xq="Екземпляр",Zq="Примірники",Qq="Інструкції",eX="січень",tX="січня",sX="липень",oX="червень",iX="Ліміт",nX="березень",rX="Може",aX="Меню",lX="повідомлення",cX="пн",uX="Модель",dX="понеділок",hX="місяць",pX="Більше",gX="Ім'я",mX="Листопад",fX="в порядку",$X="жовтень",bX="В порядку",vX="Пауза",yX="Pushover",_X="Pushsafer",wX="Перейменувати",CX="Повторіть",TX="Перезапустіть",kX="Результат",SX="Sa",EX="Субота",IX="зберегти",xX="розклад",DX="Сценарій",AX="Вересень",RX="Симулювати",OX="Стек",MX="старт",NX="Держава",LX="Нд",PX="неділя",BX="Телеграма",jX="чт",FX="четвер",zX="час",UX="Спрацьовує",HX="Тригери",WX="вт",GX="вівторок",VX="URL",KX="Значення",YX="Обсяг",JX="ми",qX="Середа",XX="Напишіть",ZX="Так",QX="підтвердження",eZ="все",tZ="і",sZ="Астро",oZ="в",iZ="КОНТРОЛЬ",nZ="копія",rZ="CRON",aZ="Світанок",lZ="Це особливий режим, в якому стану та об'єкти не змінюватимуться. Але в протоколі відображатиметься лише інформація про кожну заплановану зміну.",cZ="Відлагоджувати",uZ="Сутінки",dZ="легко",hZ="кожен",pZ="функція",gZ="ID",mZ="Ім'я",fZ="Роль",$Z="Кімната",bZ="Золота година",vZ="Кінець золотої години",yZ="Код буде виконуватися лише щоразу, коли умова виконується. наприклад якщо спрацьовує значення датчика температури та умова «якщо температура перевищує 20°C», дії «тоді» виконуватимуться щоразу, коли датчик надсилає температуру, і вона перевищує 20°C. На 21°C, на 22°C і так далі.",_Z="Код буде виконано лише у разі зміни результату умови. наприклад якщо спрацьовує значення датчика температури та умова «якщо температура перевищує 20°C», дії «тоді» будуть виконані один раз, коли температура буде вище 20. Наступного разу дії «тоді» буде виконано, коли температура падає нижче 20, а потім знову піднімається вище 20.",wZ="години",CZ="включає в себе",TZ="інтервал",kZ="магія",SZ="мілісекунд",EZ="хвилин",IZ="РС",xZ="Надір",DZ="Морський світанок",AZ="Морські сутінки",RZ="Наступний схід сонця",OZ="Наступний захід сонця",MZ="ніч",NZ="Кінець ночі",LZ="нормально",PZ="зсув",BZ="один",jZ="або",FZ="тихо",zZ="пошук",UZ="секунд",HZ="Сонячний полудень",WZ="схід сонця",GZ="Кінець сходу сонця",VZ="Захід сонця",KZ="Початок заходу сонця",YZ="потім",JZ="Визнати",qZ="Від",XZ="Востаннє змінено",ZZ="якість",QZ="Мітка часу",eQ="Користувач",tQ="Значення",sQ="два",oQ="оновлення",iQ="Додає вихідні дані налагодження до журналу для багатьох системних команд",nQ="Докладні результати журналу",rQ="коли",aQ="майстер",lQ="Повторити",cQ={"%s not found":"%s не знайдено","()":"()","(at %s)":"(у %s)","(optional)":"(необов'язково)","-":"-",".":".","AI code generator":"Генератор коду ШІ",Ack:fq,Actions:$q,"Actual time of day":"Фактичний час доби",Add:bq,"Add new script":"Додати новий сценарій",All:vq,"All files will be accepted":"Усі файли будуть прийняті",Any:yq,"Any month":"Будь-який місяць",Apply:_q,April:wq,"Are you sure?":"Ти впевнений?",Ask:Cq,Astronomical:Tq,"Astronomical events today":"Астрономічні події сьогодні",August:kq,"Blockly description":"Створення правил за графічними блоками","Body:":"Тіло:",Cancel:Sq,"Cannot delete non empty item!":"Неможливо видалити непорожній елемент!","Change layout":"Змінити макет",'Change theme (actual "%s")':'Змінити тему (тепер - "%s")',"Check blocks":"Перевірте блоки","Check is not active, because javascript adapter is disabled":"Перевірка не активна, оскільки адаптер Javascript вимкнено","Clear search input":"Очистити пошуковий запит","Click on this icon":"Натисніть на цей значок",Close:Eq,"Close all but current":"Закрити всі, крім поточних","Collapse all":"Закрити всі","Compares current time with astronomical event":"Порівнює поточний час з астрономічною подією","Compares current time with the user specific time":"Порівнює поточний час із конкретним часом користувача","Compares the state value with user defined value":"Порівнює значення стану з визначеним користувачем значенням",Condition:Iq,Conditions:xq,"Configuration not saved.":"Конфігурація не збережена.",Console:Dq,"Control or update some state":"Контролюйте або оновлюйте певний стан","Control or update some state with delay":"Контролюйте або оновлюйте деякий стан із затримкою","Convert blockly to javascript for ever.":"Назавжди конвертуйте Blockly у Javascript.",Copied:Aq,"Copy script":"Копіювати сценарій","Copy to clipboard":"Копіювати в буфер обміну","Create new":"Створити новий","Create new folder":"Створити нову папку","Create new script":"Створіть новий сценарій","Create or edit CRON or time wizard":"Створення або редагування CRON або майстра часу","Dark Theme":"Темна тема","Dark style":"Темний стиль",Date:"Дата","Debug instance":"Екземпляр налагодження","Debug options":"Параметри налагодження",December:Rq,Default:Oq,"Define cron...":"Визначити cron...","Define schedule...":"Визначити розклад...",Delay:Mq,Delete:Nq,"Delete %s":"Видалити %s...","Delete folder":"Видалити папку","Delete script":"Видалити сценарій",Description:Lq,"Deselect all":"Зняти вибір із усіх","Discard changes for %s":"Скасувати зміни для %s",Done:Pq,"Double click to write value":"Двічі клацніть, щоб записати значення","Download as file":"Завантажити файл","Drop some files here or click...":"Перетягніть кілька файлів сюди або натисніть...","Duplicate name":"Повторюване ім'я","Edit script or just double click":"Відредагуйте сценарій або просто двічі клацніть","Empty name is not allowed":"Порожнє ім'я не допускається","End search mode":"Завершити режим пошуку","Enter your question":"Введи своє прохання",Error:"Помилка","Error formatting code":"Помилка форматування коду","Error was found":"Виявлено помилку","Every day":"Кожен день",Exec:Bq,"Executes some shell command":"Виконує певну команду оболонки","Existing scripts will be overwritten.":"Існуючі сценарії буде перезаписано.","Expand all":"Розгорнути все","Expert mode":"Експертний режим",Explanation:jq,Export:Fq,"Export all scripts":"Експортувати всі сценарії","Export blocks":"Експорт блоків","Export selected blocks":"Експортувати вибрані блоки",Februar:zq,February:Uq,Filter:Hq,Folder:Wq,Fr:Gq,Friday:Vq,Function:"функція","Function editor":"Редактор функцій","Function: executed":"Функція: виконано","Go to next line":"Перейти до наступного рядка","HTTP Call":"Виклик HTTP","Hide logs":"Приховати журнали",ID:Kq,ID1:Yq,ID2:Jq,Import:qq,"Import blocks":"Імпорт блоків","Import error":"Помилка імпорту","Import scripts":"Імпорт скриптів","Insert object ID":"Вставте ID об'єкта",Instance:Xq,"Instance is disabled":"Примірник вимкнено","Instance:":"екземпляр:",Instances:Zq,Instructions:Qq,"Invalid CRON":"Недійсний CRON","It will not be possible to revert this operation.":"Скасувати цю операцію буде неможливо.","JS description":"Створення правил шляхом написання Javascript",Januar:eX,January:tX,July:sX,June:oX,"Just check":"Просто перевірте","Language:":"Мову:","Learn More":"Вивчайте більше","Light style":"Легкий стиль",Limit:iX,"Local time":"Місцевий час","Locate file":"Знайти файл","Log outputs":"Виходи журналу","Log text":"Текст журналу","Log: %s":"Журнал: %s","Make a HTTP get request":"Зробіть HTTP-запит на отримання","Make a pause between actions":"Між діями робіть паузу",March:nX,"March ":"березень",May:rX,Menu:aX,Message:lX,Mo:cX,Model:uX,Monday:dX,Month:hX,More:pX,Name:gX,"No API key found":"API-ключ не знайдено","No Chat GPT Key found":"Ключ GPT для чату не знайдено","No active host found":"Активний хост не знайдено","Nothing found":"Нічого не знайдено",November:mX,OK:fX,October:$X,Ok:bX,"On condition change":"За умови зміни результату","On script save or adapter start":"Під час збереження сценарію або запуску адаптера","On weekdays":"В будні дні","Open configuration":"Відкрита конфігурація","Operate two states":"Керуйте двома станами","Operations with two states":"Операції з двома станами","Paste your blocks here":"Вставте сюди свої блоки",Pause:vX,"Pause execution":"Призупинити виконання","Pause script":"Призупинити сценарій","Phone:":"телефон:","Please select object ID...":"Виберіть ідентифікатор об'єкта...","Press Ctrl+Enter to get the answer":"Натисніть Ctrl+Enter, щоб отримати відповідь","Prettify the script":"Прикрасьте сценарій","Print some text in log":"Надрукувати текст у журналі","Priority:":"Пріоритет:",Pushover:yX,Pushsafer:_X,"Read only ID selected: %s":"Вибрано ідентифікатор лише для читання: %s",Rename:wX,"Reorder scripts in folders":"Зміна порядку сценаріїв у папках",Repeat:CX,Restart:TX,Result:kX,"Resume execution":"Відновити виконання","Root folder":"Коренева папка","Rules description":"Створюйте правила з блоками IF, THEN, ELSE","Run script":"Запустіть сценарій",Sa:SX,Saturday:EX,Save:IX,"Save all":"Зберегти все","Say It":"Скажи це","Say some text via sayit adapter":"Скажіть текст через адаптер sayit",Schedule:xX,Script:DX,"Script %s was modified on disk":"Сценарій %s змінено на диску","Script is not running":"Сценарій не працює","Search in scripts":"Пошук у скриптах","Search...":"пошук...","Select all":"Вибрати все","Send email":"Відправити лист","Sends an email":"Надсилає електронний лист","Sends message via Pushsafer":"Надсилає повідомлення через Pushsafer","Sends message via pushover":"Надсилає повідомлення через pushover","Sends message via telegram":"Надсилає повідомлення через телеграм","Sends message via whatsapp-cmb":"Надсилає повідомлення через whatsapp-cmb",September:AX,"Server time":"Час сервера","Set state action":"Встановити дію стану","Set with delay":"Встановити із затримкою","Shell command":"Команда оболонки","Show astronomical events":"Показати астрономічні події","Show javascript code":"Показати код Javascript","Show logs":"Показати журнали","Show only paused scripts":"Показувати лише призупинені сценарії","Show only running scripts":"Показувати лише запущені сценарії","Show only scripts with problems":"Показувати лише сценарії з проблемами",Simulate:RX,"Some files will be rejected":"Деякі файли буде відхилено","Sound:":"звук:",Stack:OX,Start:MX,"Start script":"Запустити сценарій",State:NX,"State condition":"Стан стану","Step into function":"Крок у функції","Step out from function":"Вийти з функції","Stop on exception":"Зупинка на винятках",Su:LX,"Subject:":"Тема:",Sunday:PX,"TS description":"Створення правил шляхом написання Typescript",Telegram:BX,"Text:":"Текст:",Th:jX,"The script will be stopped and must be activated manually after debugging. Continue?":"Сценарій буде зупинено, і його необхідно активувати вручну після налагодження. Продовжити?","This is advances option. You can write your own code here and it will be executed on trigger":"Це авансовий варіант. Ви можете написати тут свій власний код, і він буде виконано на тригері",Thursday:FX,Time:zX,"Time condition":"Умова часу","Title:":"Назва:","To:":"до:","Trigger with value":"Тригер зі значенням",Triggered:UX,Triggers:HX,"Triggers the on script saving or the javascript instance restart":"Ініціює збереження сценарію або перезапуск екземпляра JavaScript","Triggers the rule on update or change of some state":"Запускає правило при оновленні або зміні якогось стану","Triggers the rule periodically or on some specific time":"Спрацьовує правило періодично або в певний час",Tu:WX,Tuesday:GX,URL:VX,"Unknown error":"Невідома помилка","Unknown error!":"Невідома помилка!","Use generated code":"Використовуйте згенерований код","User function":"Функція користувача","User:":"Користувач:",Value:KX,"Vibration:":"Вібрація:",Volume:YX,We:JX,Wednesday:qX,"Whatsapp-cmb":"Whatsapp-cmb",Write:XX,"Write your own code":"Напишіть власний код",Yes:ZX,"Yet exists!":"Все ж існує!","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"Ви можете використовувати %s в URL-адресі, щоб використовувати поточне значення тригера, %id, щоб використовувати ідентифікатор активованого об’єкта, %name, щоб показати назву ідентифікатора активованого об’єкта, або %old, щоб використовувати старе значення тригера","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"Ви можете використовувати %s у команді, щоб використовувати поточне значення тригера, %id, щоб використовувати ідентифікатор активованого об’єкта, %name, щоб показати назву ідентифікатора активованого об’єкта, або %old, щоб використовувати старе значення тригера","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"Ви можете використовувати %s у тексті для відображення поточного значення тригера, %id для використання ідентифікатора активованого об’єкта, %name для відображення імені ідентифікатора активованого об’єкта або %old для використання старого значення тригера","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"Ви можете використовувати %s у значенні, щоб використовувати поточне значення тригера, %id, щоб використовувати ідентифікатор активованого об’єкта, %name, щоб показати назву ідентифікатора активованого об’єкта, або %old, щоб використовувати старе значення тригера","You have to enter OpenAI API key in the configuration of javascript adapter.":"Ви повинні ввести ключ OpenAI API у конфігурації адаптера JavaScript.","You have to enter at least one API key in the configuration of javascript adapter.":"Необхідно ввести хоча б один API-ключ (OpenAI, Anthropic або Gemini) у конфігурації адаптера JavaScript.","Please select a valid model":"Будь ласка, виберіть дійсну модель","[equal]":"[рівний]","[greater or equal]":"[більше або дорівнює]","[greater]":"[більший]","[hysteresis]":"[гістерезис]","[includes]":"[включає]","[less or equal]":"[менше або рівно]","[less]":"[менше]","[not equal]":"[не дорівнює]",acknowledgment:QX,all:eZ,and:tZ,astro:sZ,at:oZ,"clear running":"чіткий біг",control:iZ,copy:nZ,cron:rZ,dawn:aZ,debug_help:lZ,debug_label:cZ,default:"за замовчуванням",dusk:uZ,easy:dZ,else:"інше","equal to":"дорівнює",every:hZ,"every hour at 0 minutes":"щогодини о 0 хвилин",false:"помилковий","file reading has failed: %s":"не вдалося прочитати файл: %s","file reading was aborted":"читання файлу було перервано",filter_func:pZ,filter_id:gZ,filter_name:mZ,filter_role:fZ,filter_room:$Z,"for edit or create script":"для редагування або створення нового сценарію","for professionals":"для професіоналів","for programmers":"для програмістів",goldenHour:bZ,goldenHourEnd:vZ,"greater or equal":"більший або рівний","greater or equal to":"більше або дорівнює","greater than":"більше, ніж, величніше ніж, крутіший за",help_just_check:yZ,help_on_change:_Z,"high priority":"високий пріоритет","high-priority":"високий пріоритет","highest priority":"найвищий пріоритет",hours:wZ,includes:CZ,interval:TZ,"just check":"просто перевірте","less or equal":"менше або дорівнює","less or equal to":"менше або дорівнює","less than":"менше ніж","lower priority":"нижчий пріоритет","lowest priority":"найнижчий пріоритет",magic:kZ,milliseconds:SZ,minutes:EZ,ms:IZ,nadir:xZ,nauticalDawn:DZ,nauticalDusk:AZ,nextSunrise:RZ,nextSunset:OZ,night:MZ,nightEnd:NZ,"no blocks found":"Блоків не знайдено","no group":"НЕМАЄ ГРУПИ",normal:LZ,"normal priority":"нормальний пріоритет","not equal to":"не дорівнює","not properly connected":"Цей блок неправильно з’єднаний з іншими блоками.",offset:PZ,"on change":"на зміну","on condition change":"про зміну умов","on update":"на оновлення",one:BZ,or:jZ,quiet:FZ,"reset search":"скинути пошук",search:zZ,seconds:UZ,solarNoon:HZ,"store in":"зберігати в",sunrise:WZ,sunriseEnd:GZ,sunset:VZ,sunsetStart:KZ,then:YZ,"toggle value":"значення перемикання",tooltip_ack:JZ,tooltip_from:qZ,tooltip_lc:XZ,tooltip_quality:ZZ,tooltip_ts:QZ,tooltip_user:eQ,tooltip_value:tQ,true:"правда",two:sQ,undefined:"невизначений",update:oQ,"use seconds":"використовуйте секунди","use trigger value":"використовувати значення тригера",verbose_help:iQ,verbose_label:nQ,when:rQ,with:"з","with date":"з датою","with offset":"зі зміщенням",wizard:aQ,"Loading models...":"Завантаження моделей...","Could not connect to API at %s":"Не вдалося підключитися до API за адресою %s","Invalid API key":"Недійсний ключ API","Access denied by API":"Доступ заборонено API","API error: %s":"Помилка API: %s",'Model "%s" not found':'Модель "%s" не знайдено',"Request failed: %s":"Запит не вдався: %s",Retry:lQ,"No running javascript instance found":"Не знайдено запущеного екземпляра JavaScript"},uQ="确认",dQ="动作",hQ="添加",pQ="所有",gQ="任何",mQ="申请",fQ="四月",$Q="问",bQ="天文",vQ="八月",yQ="取消",_Q="关闭",wQ="健康)状况",CQ="情况",TQ="安慰",kQ="复制的",SQ="十二月",EQ="默认",IQ="延迟",xQ="删除",DQ="描述",AQ="完成",RQ="执行力",OQ="解释",MQ="导出",NQ="二月",LQ="二月",PQ="筛选",BQ="文件夹",jQ="r",FQ="星期五",zQ="ID",UQ="ID1",HQ="ID2",WQ="导入",GQ="实例",VQ="实例",KQ="指示",YQ="亚努尔",JQ="一月",qQ="七月",XQ="六月",ZQ="限制",QQ="三月",eee="五月",tee="菜单",see="信息",oee="莫",iee="模型",nee="星期一",ree="月",aee="更多的",lee="名称",cee="十一月",uee="好的",dee="十月",hee="确定",pee="暂停",gee="俯卧撑",mee="推安全",fee="重命名",$ee="重复",bee="重启",vee="结果",yee="萨",_ee="星期六",wee="保存",Cee="日程",Tee="脚本",kee="九月",See="模拟",Eee="堆",Iee="开始",xee="状态",Dee="苏",Aee="星期日",Ree="电报",Oee="4",Mee="星期四",Nee="时间",Lee="触发",Pee="扳机",Bee="涂",jee="星期二",Fee="网址",zee="价值",Uee="体积",Hee="3",Wee="星期三",Gee="写",Vee="是的",Kee="致谢",Yee="全部",Jee="和",qee="天文",Xee="在",Zee="控制",Qee="复制",ete="克朗",tte="黎明",ste="这是一种特殊模式,其中状态和对象不会改变。但只有有关每个计划更改的信息才会显示在协议中。",ote="调试",ite="黄昏",nte="简单的",rte="每一个",ate="功能",lte="ID",cte="名字",ute="角色",dte="房间",hte="黄金时段",pte="黄金时段结束",gte="仅在条件为真时才执行代码。例如。如果触发温度传感器值并且条件为“如果温度大于20°C”,则每次传感器发送温度且温度超过20°C时,将执行“然后”动作。 21°C,22°C等。",mte="仅当条件结果更改时,代码才会执行。例如。如果触发温度传感器值且条件为“如果温度大于20°C”,则温度超过20时将执行一次“则”动作,下一次,当温度超过20时将执行“则”动作低于20失败,然后再次超过20。",fte="小时",$te="包括",bte="间隔",vte="魔法",yte="毫秒",_te="分钟",wte="毫秒",Cte="最低点",Tte="航海黎明",kte="航海黄昏",Ste="下一个日出",Ete="下一个日落",Ite="夜晚",xte="夜晚结束",Dte="普通的",Ate="抵消",Rte="一",Ote="或",Mte="安静的",Nte="搜索",Lte="秒",Pte="星期日正午",Bte="日出",jte="日出结束",Fte="日落",zte="日落开始",Ute="然后",Hte="确认",Wte="从",Gte="上一次改变",Vte="质量",Kte="时间戳",Yte="用户",Jte="值",qte="二",Xte="更新",Zte="将调试输出添加到许多系统命令的日志中",Qte="详细日志输出",ese="什么时候",tse="巫师",sse="重试",ose={"%s not found":"%s 未找到","()":"()","(at %s)":"(在 %s)","(optional)":"(选修的)","-":"-",".":".","AI code generator":"AI代码生成器",Ack:uQ,Actions:dQ,"Actual time of day":"一天中的实际时间",Add:hQ,"Add new script":"添加新脚本",All:pQ,"All files will be accepted":"所有文件都将被接受",Any:gQ,"Any month":"任何月份",Apply:mQ,April:fQ,"Are you sure?":"你确定吗?",Ask:$Q,Astronomical:bQ,"Astronomical events today":"今天的天文事件",August:vQ,"Blockly description":"按图形块创建规则","Body:":"身体:",Cancel:yQ,"Cannot delete non empty item!":"无法删除非空项目!","Change layout":"变更版面",'Change theme (actual "%s")':"更改主题(现在为“%s”)","Check blocks":"检查块","Check is not active, because javascript adapter is disabled":"检查未激活,因为禁用了Javascript适配器","Clear search input":"清除搜索输入","Click on this icon":"单击此图标",Close:_Q,"Close all but current":"关闭所有(当前除外)","Collapse all":"全部收缩","Compares current time with astronomical event":"将当前时间与天文事件进行比较","Compares current time with the user specific time":"将当前时间与用户特定时间进行比较","Compares the state value with user defined value":"比较状态值和用户定义的值",Condition:wQ,Conditions:CQ,"Configuration not saved.":"配置未保存。",Console:TQ,"Control or update some state":"控制或更新某些状态","Control or update some state with delay":"延迟控制或更新某些状态","Convert blockly to javascript for ever.":"立即将blockly转换为Javascript。",Copied:kQ,"Copy script":"复制脚本","Copy to clipboard":"复制到剪贴板","Create new":"创建新的","Create new folder":"创建新文件夹","Create new script":"创建新脚本","Create or edit CRON or time wizard":"创建或编辑周期任务或时间向导","Dark Theme":"深色调主题","Dark style":"深色调风格",Date:"日期","Debug instance":"调试实例","Debug options":"调试选项",December:SQ,Default:EQ,"Define cron...":"定义周期任务...","Define schedule...":"定义调度器......",Delay:IQ,Delete:xQ,"Delete %s":"删除%s...","Delete folder":"删除文件夹","Delete script":"删除脚本",Description:DQ,"Deselect all":"取消全选","Discard changes for %s":"放弃%s的更改",Done:AQ,"Double click to write value":"Double click to write value","Download as file":"档案","Drop some files here or click...":"将文件拖拽到这里或单击......","Duplicate name":"重名","Edit script or just double click":"双击编辑脚本","Empty name is not allowed":"不允许使用空名称","End search mode":"结束搜索模式","Enter your question":"输入您的要求",Error:"错误","Error formatting code":"代码格式错误","Error was found":"发现错误","Every day":"每天",Exec:RQ,"Executes some shell command":"执行一些shell命令","Existing scripts will be overwritten.":"现有脚本将被覆盖。","Expand all":"展开全部","Expert mode":"专家模式",Explanation:OQ,Export:MQ,"Export all scripts":"导出所有脚本","Export blocks":"导出块","Export selected blocks":"导出选定的块",Februar:NQ,February:LQ,Filter:PQ,Folder:BQ,Fr:jQ,Friday:FQ,Function:"功能","Function editor":"功能编辑器","Function: executed":"功能:执行","Go to next line":"转到下一行","HTTP Call":"HTTP呼叫","Hide logs":"隐藏日志",ID:zQ,ID1:UQ,ID2:HQ,Import:WQ,"Import blocks":"导入块","Import error":"导入错误","Import scripts":"导入脚本","Insert object ID":"插入对象ID",Instance:GQ,"Instance is disabled":"实例已禁用","Instance:":"实例:",Instances:VQ,Instructions:KQ,"Invalid CRON":"无效的周期任务","It will not be possible to revert this operation.":"无法恢复此操作。","JS description":"通过编写Javascript来创建规则",Januar:YQ,January:JQ,July:qQ,June:XQ,"Just check":"只是检查","Language:":"语言:","Learn More":"了解更多","Light style":"浅色调风格",Limit:ZQ,"Local time":"当地时间","Locate file":"定位文件","Log outputs":"记录输出","Log text":"记录文字","Log: %s":"日志:%s","Make a HTTP get request":"发出HTTP获取请求","Make a pause between actions":"在动作之间暂停",March:QQ,"March ":"行进",May:eee,Menu:tee,Message:see,Mo:oee,Model:iee,Monday:nee,Month:ree,More:aee,Name:lee,"No API key found":"未找到 API 密钥","No Chat GPT Key found":"找不到聊天 GPT 密钥","No active host found":"找不到活动主机","Nothing found":"没有发现",November:cee,OK:uee,October:dee,Ok:hee,"On condition change":"条件变化时","On script save or adapter start":"在脚本保存或适配器启动时","On weekdays":"在工作日","Open configuration":"开放配置","Operate two states":"操作两种状态","Operations with two states":"具有两种状态的操作","Paste your blocks here":"在此处粘贴您的区块",Pause:pee,"Pause execution":"暂停执行","Pause script":"暂停脚本","Phone:":"电话:","Please select object ID...":"请选择对象ID...","Press Ctrl+Enter to get the answer":"按 Ctrl+Enter 即可得到答案","Prettify the script":"美化脚本","Print some text in log":"在日志中打印一些文本","Priority:":"优先:",Pushover:gee,Pushsafer:mee,"Read only ID selected: %s":"选择的只读ID:%s",Rename:fee,"Reorder scripts in folders":"重新排序文件夹中的脚本",Repeat:$ee,Restart:bee,Result:vee,"Resume execution":"恢复执行","Root folder":"根文件夹","Rules description":"使用IF,THEN,ELSE块创建规则","Run script":"运行脚本",Sa:yee,Saturday:_ee,Save:wee,"Save all":"保存全部","Say It":"Say It","Say some text via sayit adapter":"通过sayit适配器说一些文字",Schedule:Cee,Script:Tee,"Script %s was modified on disk":"脚本%s已在磁盘上修改","Script is not running":"脚本没有运行","Search in scripts":"在脚本中搜索","Search...":"搜索...","Select all":"全选","Send email":"发送电子邮件","Sends an email":"发送邮件","Sends message via Pushsafer":"通过Pushsafer发送消息","Sends message via pushover":"通过推播发送消息","Sends message via telegram":"通过电报发送消息","Sends message via whatsapp-cmb":"通过whatsapp-cmb发送消息",September:kee,"Server time":"服务器时间","Set state action":"设定状态动作","Set with delay":"延迟设置","Shell command":"Shell命令","Show astronomical events":"显示天文事件","Show javascript code":"显示Javascript代码","Show logs":"显示记录","Show only paused scripts":"仅显示暂停的脚本","Show only running scripts":"仅显示正在运行的脚本","Show only scripts with problems":"仅显示有问题的脚本",Simulate:See,"Some files will be rejected":"有些文件将被拒绝","Sound:":"声音:",Stack:Eee,Start:Iee,"Start script":"启动脚本",State:xee,"State condition":"状态条件","Step into function":"进入功能","Step out from function":"退出函数","Stop on exception":"异常停止",Su:Dee,"Subject:":"学科:",Sunday:Aee,"TS description":"通过编写Typescript来创建规则",Telegram:Ree,"Text:":"文本:",Th:Oee,"The script will be stopped and must be activated manually after debugging. Continue?":"该脚本将停止,并且必须在调试后手动激活。继续?","This is advances option. You can write your own code here and it will be executed on trigger":"这是高级选项。您可以在此处编写自己的代码,它将在触发器上执行",Thursday:Mee,Time:Nee,"Time condition":"时间条件","Title:":"标题:","To:":"到:","Trigger with value":"用值触发",Triggered:Lee,Triggers:Pee,"Triggers the on script saving or the javascript instance restart":"触发脚本保存或javascript实例重启","Triggers the rule on update or change of some state":"在某些状态的更新或更改时触发规则","Triggers the rule periodically or on some specific time":"定期或在特定时间触发规则",Tu:Bee,Tuesday:jee,URL:Fee,"Unknown error":"未知错误","Unknown error!":"未知错误!","Use generated code":"使用生成的代码","User function":"用户功能","User:":"用户:",Value:zee,"Vibration:":"振动:",Volume:Uee,We:Hee,Wednesday:Wee,"Whatsapp-cmb":"Whatsapp的cmb",Write:Gee,"Write your own code":"编写自己的代码",Yes:Vee,"Yet exists!":"不存在!","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"您可以在 URL 中使用 %s 以使用当前触发值,%id 以使用触发对象 ID,%name 以显示触发对象 ID 名称或 %old 以使用旧触发值","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"您可以在命令中使用 %s 以使用当前触发值,%id 使用触发对象 ID,%name 显示触发对象 ID 名称或 %old 使用旧触发值","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"您可以在文本中使用 %s 显示当前触发值,%id 使用触发对象 ID,%name 显示触发对象 ID 名称或 %old 使用旧触发值","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"您可以在值中使用 %s 以使用当前触发器值,%id 使用触发对象 ID,%name 显示触发对象 ID 名称或 %old 使用旧触发器值","You have to enter OpenAI API key in the configuration of javascript adapter.":"您必须在 javascript 适配器的配置中输入 OpenAI API 密钥。","You have to enter at least one API key in the configuration of javascript adapter.":"您必须在 javascript 适配器的配置中输入至少一个 API 密钥(OpenAI、Anthropic 或 Gemini)。","Please select a valid model":"请选择一个有效的模型","[equal]":"[平等的]","[greater or equal]":"[大于等于]","[greater]":"[更大]","[hysteresis]":"[磁滞]","[includes]":"[包括]","[less or equal]":"[小于或等于]","[less]":"[较少的]","[not equal]":"[不相等]",acknowledgment:Kee,all:Yee,and:Jee,astro:qee,at:Xee,"clear running":"畅通无阻",control:Zee,copy:Qee,cron:ete,dawn:tte,debug_help:ste,debug_label:ote,default:"默认",dusk:ite,easy:nte,else:"别的","equal to":"等于",every:rte,"every hour at 0 minutes":"每小时0分钟",false:"错误的","file reading has failed: %s":"文件读取失败:%s","file reading was aborted":"文件读取中止",filter_func:ate,filter_id:lte,filter_name:cte,filter_role:ute,filter_room:dte,"for edit or create script":"用于编辑或创建脚本","for professionals":"对于专业人士","for programmers":"对于程序员",goldenHour:hte,goldenHourEnd:pte,"greater or equal":"大于或等于","greater or equal to":"大于或等于","greater than":"比...更棒",help_just_check:gte,help_on_change:mte,"high priority":"高优先级","high-priority":"高优先级","highest priority":"最高优先级",hours:fte,includes:$te,interval:bte,"just check":"只是检查","less or equal":"小于或等于","less or equal to":"小于或等于","less than":"少于","lower priority":"低优先级","lowest priority":"最低优先级",magic:vte,milliseconds:yte,minutes:_te,ms:wte,nadir:Cte,nauticalDawn:Tte,nauticalDusk:kte,nextSunrise:Ste,nextSunset:Ete,night:Ite,nightEnd:xte,"no blocks found":"找不到块","no group":"没有组",normal:Dte,"normal priority":"正常优先","not equal to":"不等于","not properly connected":"此块未正确连接到其他块。",offset:Ate,"on change":"在变化","on condition change":"在条件变化时","on update":"更新时",one:Rte,or:Ote,quiet:Mte,"reset search":"重置搜索",search:Nte,seconds:Lte,solarNoon:Pte,"store in":"存放在",sunrise:Bte,sunriseEnd:jte,sunset:Fte,sunsetStart:zte,then:Ute,"toggle value":"切换值",tooltip_ack:Hte,tooltip_from:Wte,tooltip_lc:Gte,tooltip_quality:Vte,tooltip_ts:Kte,tooltip_user:Yte,tooltip_value:Jte,true:"真的",two:qte,undefined:"不明确的",update:Xte,"use seconds":"精确到秒","use trigger value":"使用触发值",verbose_help:Zte,verbose_label:Qte,when:ese,with:"和","with date":"有日期","with offset":"带偏移",wizard:tse,"Loading models...":"加载模型...","Could not connect to API at %s":"无法连接到 %s 的 API","Invalid API key":"无效的 API 密钥","Access denied by API":"API 拒绝访问","API error: %s":"API 错误:%s",'Model "%s" not found':'未找到模型 "%s"',"Request failed: %s":"请求失败:%s",Retry:sse,"No running javascript instance found":"未找到正在运行的 JavaScript 实例"};function ise(a){const[s,i]=Y.useState(""),[r,l]=Y.useState("");return Mt(()=>{a.socket.decrypt(a.systemConfig.native.javascriptPassword).then(u=>l(u))},[a.systemConfig,a.socket]),g.jsxs(Gt,{open:!0,onClose:()=>a.onEntered(null),fullWidth:!0,maxWidth:"sm",children:[g.jsx(as,{children:b.I18n.t("Please enter a password for expert mode")}),g.jsx(Vt,{children:g.jsx(vo,{autoFocus:!0,margin:"dense",variant:"standard",label:b.I18n.t("Password"),type:"password",fullWidth:!0,value:s,onKeyDown:u=>{u.key==="Enter"&&s&&(u.preventDefault(),u.stopPropagation(),r===s?a.onEntered(s):a.onEntered(""))},onChange:u=>i(u.target.value)})}),g.jsxs(Kt,{children:[g.jsx(De,{variant:"contained",disabled:!s,onClick:()=>{r===s?a.onEntered(s):a.onEntered("")},startIcon:g.jsx(zo,{}),children:b.I18n.t("Ok")}),g.jsx(De,{color:"grey",variant:"contained",onClick:()=>a.onEntered(null),startIcon:g.jsx(qs,{}),children:b.I18n.t("Cancel")})]})]})}const Br={root:{flexGrow:1,display:"flex",width:"100%",height:"100%"},mainDiv:{width:"100%",height:"100%",overflow:"hidden"},content:a=>({width:"100%",height:"100%",backgroundColor:a.palette.background&&a.palette.background.default,position:"relative"}),menuOpenCloseButton:a=>({position:"absolute",left:0,borderRadius:"0 5px 5px 0",top:6,pt:1,cursor:"pointer",zIndex:1,height:25,width:20,background:a.palette.secondary.main,color:a.palette.primary.main,pl:"3px","&:hover":{color:"white"}}),showLogButton:a=>({position:"absolute",right:3,borderRadius:"5px 5px 0 0",bottom:0,pt:"3px",cursor:"pointer",zIndex:10,height:20,width:25,background:a.palette.secondary.main,color:a.palette.primary.main,pl:1,"&:hover":{color:"white"}})};class nse extends b.GenericApp{hosts=[];importFile=null;scripts={};confirmCallback=null;changedScripts={};javascriptPassword="";constructor(s){super(s,{Connection:b.AdminConnection,translations:{en:cL,de:oB,es:XF,fr:GU,it:jG,nl:O3,pl:E6,pt:_Y,ru:mq,uk:cQ,"zh-cn":ose},bottomButtons:!1,socket:{autoSubscribeLog:!0},sentryDSN:window.sentryDSN});const i=window.localStorage.getItem("JS.logSizes");let r=[80,20];if(i)try{r=JSON.parse(i)}catch{}const l=window.localStorage.getItem("JS.splitSizes");let u=[20,80];if(l)try{u=JSON.parse(l)}catch{}this.state={...this.state,splitSizes:u,logSizes:r},window.alert=d=>{console.error(d),this.showJsError(d.toString())}}onScriptsChanged=(s,i)=>{if(!s)return;let r=!1;const l={};s.startsWith("script.js.")&&(i?JSON.stringify(this.scripts[s])!==JSON.stringify(i)&&(this.scripts[s]=i,r=!0,l.scriptsHash=this.state.scriptsHash+1):this.scripts[s]&&(delete this.scripts[s],r=!0,l.scriptsHash=this.state.scriptsHash+1)),r&&this.setState(l)};onInstanceChanged=(s,i)=>{var u;if(!s)return;let r=!1;const l={};if(s.match(/^system\.adapter\.[-_\w\d]+\$/)){if(s.startsWith(`system.adapter.${this.adapterName}.`)){const d=parseInt(s.split(".").pop()||"0",10)||0;if((i==null?void 0:i.type)==="instance")this.state.instances.includes(d)||(l.instances=[...this.state.instances],l.instances.push(d),l.instances.sort(),r=!0,this.socket.subscribeState(`${i._id}.alive`,this.onInstanceAliveChange));else if(!i&&this.state.instances.includes(d)){this.socket.unsubscribeState(`${s}.alive`,this.onInstanceAliveChange),l.instances=[...this.state.instances];const p=l.instances.indexOf(d);l.instances.splice(p,1),r=!0}}(u=i==null?void 0:i.common)!=null&&u.blockly&&(this.confirmCallback=d=>d&&window.location.reload(),l.confirm=b.I18n.t("Some blocks were updated. Reload admin?"),r=!0)}r&&this.setState(l)};onHostChanged=(s,i)=>{if(s&&s.startsWith("system.host.")){if((i==null?void 0:i.type)==="host")this.hosts.includes(s)||(this.hosts.push(s),this.hosts.sort());else if(!i&&this.hosts.includes(s)){const r=this.hosts.indexOf(s);this.hosts.splice(r,1)}}};onConnectionReady(){window.systemLang=this.socket.systemLang,this.setState({ready:!1,scriptsHash:0,instances:[],updating:!1,resizing:!1,selected:null,logMessage:{},editing:[],menuOpened:window.localStorage.getItem("App.menuOpened")!=="false",menuSelectId:"",expertMode:window.localStorage.getItem("App.expertMode")==="true",logHorzLayout:window.localStorage.getItem("App.logHorzLayout")==="true",runningInstances:{},confirm:"",importFile:!1,message:"",searchText:"",hideLog:window.localStorage.getItem("App.hideLog")==="true",debugMode:!1,debugInstance:null,splitSizes:[20,80],password:""},async()=>{var d;const s={},i=await this.subscribeOnInstances();s.instances=i.instances,s.runningInstances=i.runningInstances,this.javascriptPassword=((d=this.socket.systemConfig)==null?void 0:d.native.javascriptPassword)||"",await this.readAdaptersWithBlockly();const r=await this.socket.getHosts();this.hosts=r.map(p=>p._id);const l=await this.readAllScripts();window.localStorage.getItem("App.expertMode")!=="true"&&window.localStorage.getItem("App.expertMode")!=="false"&&!this.javascriptPassword?Object.keys(l).find(p=>p.startsWith("script.js.global.")&&l[p].type==="script")&&(s.expertMode=!0):this.javascriptPassword&&(s.expertMode=!1),this.scripts=l;let u=this.state.scriptsHash;this.compareScripts(l)&&u++,s.scriptsHash=u,s.ready=!0,this.setState(s),await this.socket.subscribeObject("script.*",this.onScriptsChanged),await this.socket.subscribeObject("system.adapter.*",this.onInstanceChanged),await this.socket.subscribeObject("system.host.*",this.onHostChanged)})}async subscribeOnInstances(){const i=(await this.socket.getAdapterInstances(this.adapterName)).map(l=>parseInt(l._id.split(".").pop()||"0")).sort(),r={};i.forEach(l=>r[`system.adapter.${this.adapterName}.${l}`]=!1);for(let l=0;ls[r]=i[r]),s}async readAdaptersWithBlockly(){const s=await this.socket.getObjectViewSystem("adapter","system.adapter.","system.adapter.香");return new Promise(i=>Fe.loadCustomBlockly(s,()=>i()))}onInstanceAliveChange=(s,i)=>{if(s&&(s=s?s.substring(0,s.length-6):"",this.state.runningInstances[s]!==(i?i.val:!1))){const r=JSON.parse(JSON.stringify(this.state.runningInstances));r[s]=i?!!i.val:!1,this.setState({runningInstances:r})}};compareScripts(s){const i=Object.keys(this.scripts),r=Object.keys(s);if(i.length!==r.length)return this.scripts=s,!0;if(JSON.stringify(i)!==JSON.stringify(r))return this.scripts=s,!0;for(let l=0;l ${i}`),this.setState({updating:!0});try{if(((u=this.scripts[s])==null?void 0:u.type)==="script"){const d=JSON.parse(JSON.stringify(this.scripts[s].common));d.name=r||d.name,l!==void 0&&(d.engine=`system.adapter.javascript.${l}`);const p=i.split(".");p.pop();const m=p.join(".");this.scripts[m]&&this.scripts[m].type==="script"&&(p.pop(),i=`${p.join(".")}.${i.split(".").pop()}`),await this.updateScript(s,i,d)}else await this.renameGroup(s,i,r)}catch(d){d.toString().includes("canceled")||this.showJsError(d)}this.setState({updating:!1})}async renameGroup(s,i,r,l){if(l){if(l.length){let u=l.pop();if(u){const d=await this.socket.getObject(u);if(d){try{await this.socket.delObject(u)}catch{}u=i+u.substring(s.length),d._id=u,d.common=d.common||{},d.common.expert=!0,await this.socket.setObject(u,d),await this.renameGroup(s,i,r,l)}}}}else{l=[],l=Object.keys(this.scripts).filter(d=>d.startsWith(`${s}.`));let u=await this.socket.getObject(s);u=u||{common:{},type:"channel"},u.common.name=r||u.common.name||s.split(".").pop()||"",u._id=i;try{await this.socket.delObject(s)}catch{}try{await this.socket.setObject(i,u),await this.renameGroup(s,i,r,l)}catch(d){console.log(d);const p={_id:i,type:"channel",common:{name:r||s.split(".").pop()||"",expert:!0},native:{}};await this.socket.setObject(i,p),await this.renameGroup(s,i,r,l)}}}async onUpdateScript(s,i){var r;if(((r=this.scripts[s])==null?void 0:r.type)==="script")try{await this.updateScript(s,s,i)}catch(l){l.toString().includes("canceled")||this.showJsError(l)}}onSelect(s){this.scripts[s]&&this.scripts[s].common&&this.scripts[s].type==="script"&&this.setState({selected:s,menuSelectId:s},()=>setTimeout(()=>this.setState({menuSelectId:""}),300))}renderPasswordDialog(){return this.state.showPasswordDialog?g.jsx(ise,{socket:this.socket,systemConfig:this.socket.systemConfig,onEntered:s=>{s===null?this.setState({showPasswordDialog:!1,expertMode:!1,password:""}):s?this.setState({expertMode:!0,showPasswordDialog:!1,password:s}):this.setState({showPasswordDialog:!1,expertMode:!1,message:b.I18n.t("Wrong password"),password:""})}},"passwordDialog"):null}onExpertModeChange(s){var i;if(this.state.expertMode!==s)if(s&&this.javascriptPassword)this.setState({showPasswordDialog:!0});else{let r=this.state.selected;r&&!s&&((i=this.scripts[r].native)!=null&&i.protected)&&(r=this.state.editing.find(l=>{var u;return this.scripts[l]&&!((u=this.scripts[l].native)!=null&&u.protected)})||null),window.localStorage.setItem("App.expertMode",s?"true":"false"),this.setState({expertMode:s,password:"",selected:r})}}showJsError(s){this.setState({errorText:s?s.toString():""})}showMessage(s){this.setState({message:s?s.toString():""})}onDelete(s){this.socket.delObject(s).catch(i=>this.showJsError(i))}onEdit(s){this.state.selected!==s&&this.setState({selected:s})}onAddNew(s,i,r,l,u,d){const p=new RegExp(`^${s}\\.`);if(Object.keys(this.scripts).find(m=>s===m||p.test(s)))return this.showJsError(b.I18n.t("Yet exists!"));r?this.socket.setObject(s,{_id:s,type:"channel",common:{name:i,expert:!0},native:{}}).then(()=>setTimeout(()=>this.setState({menuSelectId:s},()=>setTimeout(()=>this.setState({menuSelectId:""}),300)),1e3)).catch(m=>this.showJsError(m)):(u==="Blockly"&&!d&&(d=` +//${btoa(encodeURIComponent(''))}`),this.socket.setObject(s,{_id:s,type:"script",common:{name:i,expert:!0,engineType:u||"Javascript/js",enabled:!1,engine:`system.adapter.javascript.${l||0}`,source:d||"",debug:!1,verbose:!1},native:{}}).then(()=>setTimeout(()=>this.onSelect(s),1e3)).catch(m=>this.showJsError(m)))}async updateScript(s,i,r){let l=await this.socket.getObject(s);const u={common:{}};if(r.engine!==void 0&&(u.common.engine=r.engine),r.enabled!==void 0&&(u.common.enabled=r.enabled),r.source!==void 0&&(u.common.source=r.source),r.debug!==void 0&&(u.common.debug=r.debug),r.verbose!==void 0&&(u.common.verbose=r.verbose),u.from="system.adapter.admin.0",s===i&&(l!=null&&l.common)&&r.name===l.common.name){(!r.engineType||r.engineType!==l.common.engineType)&&r.engineType!==void 0&&(u.common.engineType=r.engineType||"Javascript/js"),u.type="script",await this.socket.extendObject(s,u);return}if(l!=null&&l.common){l.common.engineType=r.engineType||l.common.engineType||"Javascript/js",await this.socket.delObject(s),u.common.engine!==void 0&&(l.common.engine=u.common.engine),u.common.enabled!==void 0&&(l.common.enabled=u.common.enabled),u.common.source!==void 0&&(l.common.source=u.common.source),u.common.name!==void 0&&(l.common.name=u.common.name),u.common.debug!==void 0&&(l.common.debug=u.common.debug),u.common.verbose!==void 0&&(l.common.verbose=u.common.verbose),l._rev!==void 0&&delete l._rev,l.common.name=r.name,l.common.expert=!0,l.type="script",l._id=i,await this.socket.setObject(i,l);return}l=u,l.common.name=r.name,l.common.expert=!0,l.type="script",l._id=i,await this.socket.setObject(i,l)}onEnableDisable(s,i){var r;if(((r=this.scripts[s])==null?void 0:r.type)==="script"){const l=this.scripts[s].common;l.enabled=i,l.expert=!0,this.updateScript(s,s,l).catch(u=>u!=="canceled"&&this.showJsError(u))}}async getLiveHost(){for(let s=0;s{if(typeof u=="string"){const d=document.createElement("a");d.href=`../../files/${u}`,document.body.appendChild(d),d.click(),d.remove()}else if(u.error&&this.showJsError(u.error),u.data){const d=document.createElement("a");d.href=`data: application/zip;base64,${u.data}`,d.download=`${r}scripts.zip`,document.body.appendChild(d),d.click(),d.remove()}})}onImport(s){this.importFile=s||null,s?(this.confirmCallback=this.onImportConfirmed.bind(this),this.setState({importFile:!1,confirm:b.I18n.t("Existing scripts will be overwritten.")})):this.setState({importFile:!1})}async onImportConfirmed(s){let i=this.importFile;if(this.importFile=null,s&&i){i=i.split(",")[1];const r=await this.getLiveHost();if(!r){this.showJsError(b.I18n.t("No active host found"));return}this.socket.getRawSocket().emit("sendToHost",r,"writeObjectsAsZip",{data:i,adapter:"javascript",id:"script.js"},l=>{l==="permissionError"?this.showJsError(b.I18n.t(l)):!l||l.error?this.showJsError(l?b.I18n.t(l.error||""):b.I18n.t("Unknown error")):this.showMessage(b.I18n.t("Done"))})}}toggleLogLayout(){window.localStorage.setItem("App.logHorzLayout",this.state.logHorzLayout?"false":"true"),this.setState({logHorzLayout:!this.state.logHorzLayout})}renderEditor(){var i;const s=Object.keys(this.scripts).reduce((r,l)=>r+(this.scripts[l].common.engineType==="Rules"?1:0),0);return g.jsx(kn,{scriptsHash:this.state.scriptsHash,debugMode:this.state.debugMode,onDebugModeChange:r=>{r?this.setState({debugMode:!0}):this.setState({debugMode:!1,debugInstance:null})},visible:!this.state.resizing,socket:this.socket,adapterName:this.adapterName,onLocate:r=>this.setState({menuSelectId:r}),password:this.state.password,runningInstances:this.state.runningInstances,menuOpened:this.state.menuOpened,searchText:this.state.searchText,themeType:this.state.themeType,themeName:this.state.themeName,theme:this.state.theme,expertMode:this.state.expertMode,onChange:(r,l)=>this.onUpdateScript(r,l),isAnyRulesExists:s,debugInstance:this.state.debugInstance,onSelectedChange:(r,l)=>{const u={};let d=!1;r!==this.state.selected&&(d=!0,u.selected=r),JSON.stringify(l)!==JSON.stringify(this.state.editing)&&(d=!0,u.editing=[...l]),d&&this.setState(u)},onRestart:r=>this.socket.extendObject(r,{common:{enabled:!0}}),selected:this.state.selected&&((i=this.scripts[this.state.selected])==null?void 0:i.type)==="script"?this.state.selected:"",objects:this.scripts,resizing:this.state.resizing,onChangedChanged:r=>this.changedScripts=r},"editor")}showLogButton(){return g.jsx($t,{title:b.I18n.t("Show logs"),sx:Br.showLogButton,onClick:()=>{window.localStorage.setItem("App.hideLog","false"),this.setState({hideLog:!1,resizing:!0}),setTimeout(()=>this.setState({resizing:!1}),300)},children:g.jsx(CS,{})},"showLog")}renderErrorDialog(){return this.state.errorText?g.jsx(Zc,{onClose:()=>this.setState({errorText:""}),text:this.state.errorText},"dialogError"):null}renderMain(){let s;return this.state.debugMode||this.state.hideLog?s=g.jsxs(g.Fragment,{children:[!this.state.debugMode&&this.state.hideLog?this.showLogButton():void 0,this.renderEditor()]}):s=g.jsxs(l_,{direction:this.state.logHorzLayout?dt.Horizontal:dt.Vertical,initialSizes:this.state.logSizes,minWidths:[500,100],minHeights:[150,50],onResizeStarted:()=>this.setState({resizing:!0}),onResizeFinished:(i,r)=>{this.setState({logSizes:r,resizing:!1}),window.localStorage.setItem("JS.logSizes",JSON.stringify(r))},gutterClassName:this.state.themeType==="dark"?"Dark visGutter":"Light visGutter",children:[this.renderEditor(),g.jsx(bm,{verticalLayout:!this.state.logHorzLayout,onLayoutChange:()=>this.toggleLogLayout(),editing:this.state.editing,socket:this.socket,selected:this.state.selected,onHideLog:()=>{window.localStorage.setItem("App.hideLog","true"),this.setState({hideLog:!0,resizing:!0}),setTimeout(()=>this.setState({resizing:!1}),300)}},"log")]}),g.jsxs($t,{sx:Br.content,className:"iobVerticalSplitter",children:[g.jsx($t,{sx:Br.menuOpenCloseButton,onClick:()=>{window.localStorage.setItem("App.menuOpened",this.state.menuOpened?"false":"true"),this.setState({menuOpened:!this.state.menuOpened,resizing:!0}),setTimeout(()=>this.setState({resizing:!1}),300)},children:this.state.menuOpened?g.jsx(TS,{}):g.jsx(kS,{})},"closeMenu"),this.state.message?g.jsx(b.Message,{onClose:()=>this.setState({message:""}),text:this.state.message},"dialogMessage"):null,this.renderErrorDialog(),this.state.importFile?g.jsx(jm,{onClose:i=>this.onImport(i)},"dialogImportFile"):null,this.state.confirm?g.jsx(b.Confirm,{onClose:i=>{this.state.confirm&&this.setState({confirm:""}),this.confirmCallback&&this.confirmCallback(i),this.confirmCallback=null},text:this.state.confirm},"dialogConfirm"):null,this.renderPasswordDialog(),s]},"main")}render(){if(!this.state.ready)return g.jsx(i_,{injectFirst:!0,children:g.jsx(n_,{theme:this.state.theme,children:g.jsx(b.Loader,{themeType:this.state.themeType})})});let s;return this.state.menuOpened?s=g.jsxs(l_,{direction:dt.Horizontal,initialSizes:this.state.splitSizes,minWidths:[270,400],onResizeFinished:(i,r)=>{this.setState({splitSizes:r}),window.localStorage.setItem("JS.splitSizes",JSON.stringify(r))},gutterClassName:this.state.themeType==="dark"?"Dark visGutter":"Light visGutter",children:[g.jsx("div",{style:Br.mainDiv,children:g.jsx(bo,{password:this.state.password,debugMode:this.state.debugMode,onDebugInstance:i=>this.setState({debugInstance:i,debugMode:!!i}),scripts:this.scripts,scriptsHash:this.state.scriptsHash,instances:this.state.instances,onRename:this.onRename.bind(this),socket:this.socket,selectId:this.state.menuSelectId,onEdit:this.onEdit.bind(this),expertMode:this.state.expertMode,themeName:this.state.themeName,onThemeChange:i=>{b.Utils.setThemeName(i);const r=b.Utils.getThemeType(i);this.setState({themeName:i,themeType:r},()=>this.toggleTheme(i))},runningInstances:this.state.runningInstances,onExpertModeChange:i=>this.onExpertModeChange(i),onDelete:this.onDelete.bind(this),onAddNew:this.onAddNew.bind(this),onEnableDisable:this.onEnableDisable.bind(this),onExport:this.onExport.bind(this),width:500,onImport:()=>this.setState({importFile:!0}),onSearch:i=>this.setState({searchText:i}),version:this.props.version,changedScripts:this.changedScripts},"sidemenu")},"menu"),this.renderMain()]}):s=this.renderMain(),g.jsx(i_,{injectFirst:!0,children:g.jsx(n_,{theme:this.state.theme,children:g.jsx("div",{style:Br.root,children:g.jsx(mO,{socket:this.socket,children:s})})})})}}window.location.hostname==="localhost"||window.location.hostname==="[::1]"||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/);function rse(){"serviceWorker"in navigator&&navigator.serviceWorker.ready.then(a=>{a.unregister()})}const ase="9.1.0",DT={version:ase};var Fo;(function(a){a.mouse="mouse",a.touch="touch",a.keyboard="keyboard"})(Fo||(Fo={}));class lse{get delay(){var s;return(s=this.args.delay)!==null&&s!==void 0?s:0}get scrollAngleRanges(){return this.args.scrollAngleRanges}get getDropTargetElementsAtPoint(){return this.args.getDropTargetElementsAtPoint}get ignoreContextMenu(){var s;return(s=this.args.ignoreContextMenu)!==null&&s!==void 0?s:!1}get enableHoverOutsideTarget(){var s;return(s=this.args.enableHoverOutsideTarget)!==null&&s!==void 0?s:!1}get enableKeyboardEvents(){var s;return(s=this.args.enableKeyboardEvents)!==null&&s!==void 0?s:!1}get enableMouseEvents(){var s;return(s=this.args.enableMouseEvents)!==null&&s!==void 0?s:!1}get enableTouchEvents(){var s;return(s=this.args.enableTouchEvents)!==null&&s!==void 0?s:!0}get touchSlop(){return this.args.touchSlop||0}get delayTouchStart(){var s,i,r,l;return(l=(r=(s=this.args)===null||s===void 0?void 0:s.delayTouchStart)!==null&&r!==void 0?r:(i=this.args)===null||i===void 0?void 0:i.delay)!==null&&l!==void 0?l:0}get delayMouseStart(){var s,i,r,l;return(l=(r=(s=this.args)===null||s===void 0?void 0:s.delayMouseStart)!==null&&r!==void 0?r:(i=this.args)===null||i===void 0?void 0:i.delay)!==null&&l!==void 0?l:0}get window(){if(this.context&&this.context.window)return this.context.window;if(typeof window<"u")return window}get document(){var s;if(!((s=this.context)===null||s===void 0)&&s.document)return this.context.document;if(this.window)return this.window.document}get rootElement(){var s;return((s=this.args)===null||s===void 0?void 0:s.rootElement)||this.document}constructor(s,i){this.args=s,this.context=i}}function cse(a,s,i,r){return Math.sqrt(Math.pow(Math.abs(i-a),2)+Math.pow(Math.abs(r-s),2))}function use(a,s,i,r,l){if(!l)return!1;const u=Math.atan2(r-s,i-a)*180/Math.PI+180;for(let d=0;d=p.start)&&(p.end==null||u<=p.end))return!0}return!1}const dse={Left:1},hse={Left:0};function Cg(a){return a.button===void 0||a.button===hse.Left}function pse(a){return a.buttons===void 0||(a.buttons&dse.Left)===0}function AT(a){return!!a.targetTouches}const gse=1;function mse(a){const s=a.nodeType===gse?a:a.parentElement;if(!s)return;const{top:i,left:r}=s.getBoundingClientRect();return{x:r,y:i}}function fse(a,s){if(a.targetTouches.length===1)return Hc(a.targetTouches[0]);if(s&&a.touches.length===1&&a.touches[0].target===s.target)return Hc(a.touches[0])}function Hc(a,s){return AT(a)?fse(a,s):{x:a.clientX,y:a.clientY}}const _w=(()=>{let a=!1;try{addEventListener("test",()=>{},Object.defineProperty({},"passive",{get(){return a=!0,!0}}))}catch{}return a})(),jr={[Fo.mouse]:{start:"mousedown",move:"mousemove",end:"mouseup",contextmenu:"contextmenu"},[Fo.touch]:{start:"touchstart",move:"touchmove",end:"touchend"},[Fo.keyboard]:{keydown:"keydown"}};class Gr{profile(){var s;return{sourceNodes:this.sourceNodes.size,sourcePreviewNodes:this.sourcePreviewNodes.size,sourcePreviewNodeOptions:this.sourcePreviewNodeOptions.size,targetNodes:this.targetNodes.size,dragOverTargetIds:((s=this.dragOverTargetIds)===null||s===void 0?void 0:s.length)||0}}get document(){return this.options.document}setup(){const s=this.options.rootElement;s&&(Ie(!Gr.isSetUp,"Cannot have two Touch backends at the same time."),Gr.isSetUp=!0,this.addEventListener(s,"start",this.getTopMoveStartHandler()),this.addEventListener(s,"start",this.handleTopMoveStartCapture,!0),this.addEventListener(s,"move",this.handleTopMove),this.addEventListener(s,"move",this.handleTopMoveCapture,!0),this.addEventListener(s,"end",this.handleTopMoveEndCapture,!0),this.options.enableMouseEvents&&!this.options.ignoreContextMenu&&this.addEventListener(s,"contextmenu",this.handleTopMoveEndCapture),this.options.enableKeyboardEvents&&this.addEventListener(s,"keydown",this.handleCancelOnEscape,!0))}teardown(){const s=this.options.rootElement;s&&(Gr.isSetUp=!1,this._mouseClientOffset={},this.removeEventListener(s,"start",this.handleTopMoveStartCapture,!0),this.removeEventListener(s,"start",this.handleTopMoveStart),this.removeEventListener(s,"move",this.handleTopMoveCapture,!0),this.removeEventListener(s,"move",this.handleTopMove),this.removeEventListener(s,"end",this.handleTopMoveEndCapture,!0),this.options.enableMouseEvents&&!this.options.ignoreContextMenu&&this.removeEventListener(s,"contextmenu",this.handleTopMoveEndCapture),this.options.enableKeyboardEvents&&this.removeEventListener(s,"keydown",this.handleCancelOnEscape,!0),this.uninstallSourceNodeRemovalObserver())}addEventListener(s,i,r,l=!1){const u=_w?{capture:l,passive:!1}:l;this.listenerTypes.forEach(function(d){const p=jr[d][i];p&&s.addEventListener(p,r,u)})}removeEventListener(s,i,r,l=!1){const u=_w?{capture:l,passive:!1}:l;this.listenerTypes.forEach(function(d){const p=jr[d][i];p&&s.removeEventListener(p,r,u)})}connectDragSource(s,i){const r=this.handleMoveStart.bind(this,s);return this.sourceNodes.set(s,i),this.addEventListener(i,"start",r),()=>{this.sourceNodes.delete(s),this.removeEventListener(i,"start",r)}}connectDragPreview(s,i,r){return this.sourcePreviewNodeOptions.set(s,r),this.sourcePreviewNodes.set(s,i),()=>{this.sourcePreviewNodes.delete(s),this.sourcePreviewNodeOptions.delete(s)}}connectDropTarget(s,i){const r=this.options.rootElement;if(!this.document||!r)return()=>{};const l=u=>{if(!this.document||!r||!this.monitor.isDragging())return;let d;switch(u.type){case jr.mouse.move:d={x:u.clientX,y:u.clientY};break;case jr.touch.move:var p,m;d={x:((p=u.touches[0])===null||p===void 0?void 0:p.clientX)||0,y:((m=u.touches[0])===null||m===void 0?void 0:m.clientY)||0};break}const f=d!=null?this.document.elementFromPoint(d.x,d.y):void 0,v=f&&i.contains(f);if(f===i||v)return this.handleMove(u,s)};return this.addEventListener(this.document.body,"move",l),this.targetNodes.set(s,i),()=>{this.document&&(this.targetNodes.delete(s),this.removeEventListener(this.document.body,"move",l))}}getTopMoveStartHandler(){return!this.options.delayTouchStart&&!this.options.delayMouseStart?this.handleTopMoveStart:this.handleTopMoveStartDelay}installSourceNodeRemovalObserver(s){this.uninstallSourceNodeRemovalObserver(),this.draggedSourceNode=s,this.draggedSourceNodeRemovalObserver=new MutationObserver(()=>{s&&!s.parentElement&&(this.resurrectSourceNode(),this.uninstallSourceNodeRemovalObserver())}),!(!s||!s.parentElement)&&this.draggedSourceNodeRemovalObserver.observe(s.parentElement,{childList:!0})}resurrectSourceNode(){this.document&&this.draggedSourceNode&&(this.draggedSourceNode.style.display="none",this.draggedSourceNode.removeAttribute("data-reactid"),this.document.body.appendChild(this.draggedSourceNode))}uninstallSourceNodeRemovalObserver(){this.draggedSourceNodeRemovalObserver&&this.draggedSourceNodeRemovalObserver.disconnect(),this.draggedSourceNodeRemovalObserver=void 0,this.draggedSourceNode=void 0}constructor(s,i,r){this.getSourceClientOffset=l=>{const u=this.sourceNodes.get(l);return u&&mse(u)},this.handleTopMoveStartCapture=l=>{Cg(l)&&(this.moveStartSourceIds=[])},this.handleMoveStart=l=>{Array.isArray(this.moveStartSourceIds)&&this.moveStartSourceIds.unshift(l)},this.handleTopMoveStart=l=>{if(!Cg(l))return;const u=Hc(l);u&&(AT(l)&&(this.lastTargetTouchFallback=l.targetTouches[0]),this._mouseClientOffset=u),this.waitingForDelay=!1},this.handleTopMoveStartDelay=l=>{if(!Cg(l))return;const u=l.type===jr.touch.start?this.options.delayTouchStart:this.options.delayMouseStart;this.timeout=setTimeout(this.handleTopMoveStart.bind(this,l),u),this.waitingForDelay=!0},this.handleTopMoveCapture=()=>{this.dragOverTargetIds=[]},this.handleMove=(l,u)=>{this.dragOverTargetIds&&this.dragOverTargetIds.unshift(u)},this.handleTopMove=l=>{if(this.timeout&&clearTimeout(this.timeout),!this.document||this.waitingForDelay)return;const{moveStartSourceIds:u,dragOverTargetIds:d}=this,p=this.options.enableHoverOutsideTarget,m=Hc(l,this.lastTargetTouchFallback);if(!m)return;if(this._isScrolling||!this.monitor.isDragging()&&use(this._mouseClientOffset.x||0,this._mouseClientOffset.y||0,m.x,m.y,this.options.scrollAngleRanges)){this._isScrolling=!0;return}if(!this.monitor.isDragging()&&this._mouseClientOffset.hasOwnProperty("x")&&u&&cse(this._mouseClientOffset.x||0,this._mouseClientOffset.y||0,m.x,m.y)>(this.options.touchSlop?this.options.touchSlop:0)&&(this.moveStartSourceIds=void 0,this.actions.beginDrag(u,{clientOffset:this._mouseClientOffset,getSourceClientOffset:this.getSourceClientOffset,publishSource:!1})),!this.monitor.isDragging())return;const f=this.sourceNodes.get(this.monitor.getSourceId());this.installSourceNodeRemovalObserver(f),this.actions.publishDragSource(),l.cancelable&&l.preventDefault();const v=(d||[]).map(C=>this.targetNodes.get(C)).filter(C=>!!C),_=this.options.getDropTargetElementsAtPoint?this.options.getDropTargetElementsAtPoint(m.x,m.y,v):this.document.elementsFromPoint(m.x,m.y),y=[];for(const C in _){if(!_.hasOwnProperty(C))continue;let w=_[C];for(w!=null&&y.push(w);w;)w=w.parentElement,w&&y.indexOf(w)===-1&&y.push(w)}const k=y.filter(C=>v.indexOf(C)>-1).map(C=>this._getDropTargetId(C)).filter(C=>!!C).filter((C,w,E)=>E.indexOf(C)===w);if(p)for(const C in this.targetNodes){const w=this.targetNodes.get(C);if(f&&w&&w.contains(f)&&k.indexOf(C)===-1){k.unshift(C);break}}k.reverse(),this.actions.hover(k,{clientOffset:m})},this._getDropTargetId=l=>{const u=this.targetNodes.keys();let d=u.next();for(;d.done===!1;){const p=d.value;if(l===this.targetNodes.get(p))return p;d=u.next()}},this.handleTopMoveEndCapture=l=>{if(this._isScrolling=!1,this.lastTargetTouchFallback=void 0,!!pse(l)){if(!this.monitor.isDragging()||this.monitor.didDrop()){this.moveStartSourceIds=void 0;return}l.cancelable&&l.preventDefault(),this._mouseClientOffset={},this.uninstallSourceNodeRemovalObserver(),this.actions.drop(),this.actions.endDrag()}},this.handleCancelOnEscape=l=>{l.key==="Escape"&&this.monitor.isDragging()&&(this._mouseClientOffset={},this.uninstallSourceNodeRemovalObserver(),this.actions.endDrag())},this.options=new lse(r,i),this.actions=s.getActions(),this.monitor=s.getMonitor(),this.sourceNodes=new Map,this.sourcePreviewNodes=new Map,this.sourcePreviewNodeOptions=new Map,this.targetNodes=new Map,this.listenerTypes=[],this._mouseClientOffset={},this._isScrolling=!1,this.options.enableMouseEvents&&this.listenerTypes.push(Fo.mouse),this.options.enableTouchEvents&&this.listenerTypes.push(Fo.touch),this.options.enableKeyboardEvents&&this.listenerTypes.push(Fo.keyboard)}}const $se=function(s,i={},r={}){return new Gr(s,i,r)};window.GenericBlock=Xe;window.adapterName="javascript";window.sentryDSN="https://504499a725eb4898930d3b9e9da95740@sentry.iobroker.net/56";console.log(`iobroker.${window.adapterName}@${DT.version}`);const bse=window.innerWidth<600,ww=document.getElementById("root");ww&&Pw(ww).render(g.jsx(Zw,{backend:bse?$se:uC,children:g.jsx(nse,{version:DT.version})}));rse();const uc=window.loadDynamicScript;uc&&uc(window.location.port==="3000"?`${window.location.protocol}//${window.location.hostname}:8081/lib/js/socket.io.js`:"./../../lib/js/socket.io.js",()=>uc("vs/loader.js",()=>uc("vs/configure.js",()=>typeof window.socketLoadedHandler=="function"&&window.socketLoadedHandler())));export{gO as C,Q0 as D,Xe as G,dC as I,mw as M,As as S,gI as a,OI as b,zI as c,bi as d,cne as e,zm as f,Zc as g,rx as h,une as j,l_ as m,Mn as u,dt as z}; diff --git a/admin/assets/index-C49cpVll.js b/admin/assets/index-C49cpVll.js new file mode 100644 index 000000000..26453c5da --- /dev/null +++ b/admin/assets/index-C49cpVll.js @@ -0,0 +1,5 @@ +import{c as z,j as k}from"./createSvgIcon-DPvF8xqu.js";import{a as E,n as jt,u as Ht,o as Dt,l as B,b as G,_ as Ct,c as ia,k as y}from"./iobroker_javascript__loadShare__react__loadShare__.mjs-CTZOFJS2.js";import{P as s}from"./iobroker_javascript__loadShare__prop_mf_2_types__loadShare__.mjs-BCtSFofY.js";var ct={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},Ga=E.createContext&&E.createContext(ct),Et=["attr","size","title"];function Lt(a,t){if(a==null)return{};var i,n,e=Ft(a,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(a);for(n=0;nE.createElement(t.tag,ea({key:i},t.attr),lt(t.child)))}function p(a){return t=>E.createElement(Vt,na({attr:ea({},a.attr)},t),lt(a.child))}function Vt(a){var t=i=>{var{attr:n,size:e,title:c}=a,r=Lt(a,Et),d=e||i.size||"1em",u;return i.className&&(u=i.className),a.className&&(u=(u?u+" ":"")+a.className),E.createElement("svg",na({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},i.attr,n,r,{className:u,style:ea(ea({color:a.color||i.color},i.style),a.style),height:d,width:d,xmlns:"http://www.w3.org/2000/svg"}),c&&E.createElement("title",null,c),a.children)};return Ga!==void 0?E.createElement(Ga.Consumer,null,i=>t(i)):t(ct)}function Ai(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M17.65 6.35A7.958 7.958 0 0 0 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08A5.99 5.99 0 0 1 12 18c-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z"},child:[]}]})(a)}function _i(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"},child:[]}]})(a)}function Vi(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"},child:[]}]})(a)}function Pi(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"},child:[]}]})(a)}function Si(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z"},child:[]}]})(a)}function Bi(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"m4 12 1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8-8 8z"},child:[]}]})(a)}function Ii(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"m12 4-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z"},child:[]}]})(a)}function Ti(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"m20 12-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z"},child:[]}]})(a)}function qi(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z"},child:[]}]})(a)}function Ri(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"circle",attr:{cx:"12",cy:"19",r:"2"},child:[]},{tag:"path",attr:{d:"M10 3h4v12h-4z"},child:[]}]})(a)}function $i(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"m21.41 10.59-7.99-8c-.78-.78-2.05-.78-2.83 0l-8.01 8c-.78.78-.78 2.05 0 2.83l8.01 8c.78.78 2.05.78 2.83 0l7.99-8c.79-.79.79-2.05 0-2.83zM13.5 14.5V12H10v3H8v-4c0-.55.45-1 1-1h4.5V7.5L17 11l-3.5 3.5z"},child:[]}]})(a)}function Ki(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69zM12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6c3.31 0 6 2.69 6 6s-2.69 6-6 6z"},child:[]}]})(a)}function Wi(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M7.5 5.6 10 7 8.6 4.5 10 2 7.5 3.4 5 2l1.4 2.5L5 7zm12 9.8L17 14l1.4 2.5L17 19l2.5-1.4L22 19l-1.4-2.5L22 14zM22 2l-2.5 1.4L17 2l1.4 2.5L17 7l2.5-1.4L22 7l-1.4-2.5zm-7.63 5.29a.996.996 0 0 0-1.41 0L1.29 18.96a.996.996 0 0 0 0 1.41l2.34 2.34c.39.39 1.02.39 1.41 0L16.7 11.05a.996.996 0 0 0 0-1.41l-2.33-2.35zm-1.03 5.49-2.12-2.12 2.44-2.44 2.12 2.12-2.44 2.44z"},child:[]}]})(a)}function Gi(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M9 16h6v-6h4l-7-7-7 7h4zm-4 2h14v2H5z"},child:[]}]})(a)}function Ni(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"m17 16-4-4V8.82C14.16 8.4 15 7.3 15 6c0-1.66-1.34-3-3-3S9 4.34 9 6c0 1.3.84 2.4 2 2.82V12l-4 4H3v5h5v-3.05l4-4.2 4 4.2V21h5v-5h-4z"},child:[]}]})(a)}function Ui(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M17 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14c1.1 0 2-.9 2-2V7l-4-4zm-5 16c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3zm3-10H5V5h10v4z"},child:[]}]})(a)}function Yi(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"},child:[]}]})(a)}function Zi(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"},child:[]}]})(a)}function Ji(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M16 13h-3V3h-2v10H8l4 4 4-4zM4 19v2h16v-2H4z"},child:[]}]})(a)}function Qi(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M15 16v1.26l-6-3v-3.17L11.7 8H16V2h-6v4.9L7.3 10H3v6h5l7 3.5V22h6v-6z"},child:[]}]})(a)}function Xi(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M16.56 8.94 7.62 0 6.21 1.41l2.38 2.38-5.15 5.15a1.49 1.49 0 0 0 0 2.12l5.5 5.5c.29.29.68.44 1.06.44s.77-.15 1.06-.44l5.5-5.5c.59-.58.59-1.53 0-2.12zM5.21 10 10 5.21 14.79 10H5.21zM19 11.5s-2 2.17-2 3.5c0 1.1.9 2 2 2s2-.9 2-2c0-1.33-2-3.5-2-3.5zM2 20h20v4H2v-4z"},child:[]}]})(a)}function an(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M8.4 18.2c.38.5.6 1.12.6 1.8 0 1.66-1.34 3-3 3s-3-1.34-3-3 1.34-3 3-3c.44 0 .85.09 1.23.26l1.41-1.77a4.504 4.504 0 0 1-1.09-3.69l-2.03-.68A2.997 2.997 0 0 1 0 9.5c0-1.66 1.34-3 3-3s3 1.34 3 3c0 .07 0 .14-.01.21l2.03.68a4.468 4.468 0 0 1 3.22-2.32V5.91A3.018 3.018 0 0 1 9 3c0-1.66 1.34-3 3-3s3 1.34 3 3c0 1.4-.96 2.57-2.25 2.91v2.16c1.4.23 2.58 1.11 3.22 2.32L18 9.71V9.5c0-1.66 1.34-3 3-3s3 1.34 3 3-1.34 3-3 3c-1.06 0-1.98-.55-2.52-1.37l-2.03.68a4.49 4.49 0 0 1-1.09 3.69l1.41 1.77c.38-.18.79-.27 1.23-.27 1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3c0-.68.22-1.3.6-1.8l-1.41-1.77c-1.35.75-3.01.76-4.37 0L8.4 18.2z"},child:[]}]})(a)}function tn(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M5 13h14v-2H5v2zm-2 4h14v-2H3v2zM7 7v2h14V7H7z"},child:[]}]})(a)}function nn(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z"},child:[]}]})(a)}function en(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"},child:[]}]})(a)}function on(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 8c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm8.94 3A8.994 8.994 0 0 0 13 3.06V1h-2v2.06A8.994 8.994 0 0 0 3.06 11H1v2h2.06A8.994 8.994 0 0 0 11 20.94V23h2v-2.06A8.994 8.994 0 0 0 20.94 13H23v-2h-2.06zM12 19c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7z"},child:[]}]})(a)}function pn(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M7 5h10v2h2V3c0-1.1-.9-1.99-2-1.99L7 1c-1.1 0-2 .9-2 2v4h2V5zm8.41 11.59L20 12l-4.59-4.59L14 8.83 17.17 12 14 15.17l1.41 1.42zM10 15.17 6.83 12 10 8.83 8.59 7.41 4 12l4.59 4.59L10 15.17zM17 19H7v-2H5v4c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2v-4h-2v2z"},child:[]}]})(a)}function cn(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M15.67 4H14V2h-4v2H8.33C7.6 4 7 4.6 7 5.33v15.33C7 21.4 7.6 22 8.33 22h7.33c.74 0 1.34-.6 1.34-1.33V5.33C17 4.6 16.4 4 15.67 4zM13 18h-2v-2h2v2zm0-4h-2V9h2v5z"},child:[]}]})(a)}function ln(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M3 10h11v2H3zM3 6h11v2H3zM3 14h7v2H3zM20.59 11.93l-4.25 4.24-2.12-2.12-1.41 1.41L16.34 19 22 13.34z"},child:[]}]})(a)}function rn(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M8 5v14l11-7z"},child:[]}]})(a)}function dn(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M6 19h4V5H6v14zm8-14v14h4V5h-4z"},child:[]}]})(a)}function sn(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M15.54 5.54 13.77 7.3 12 5.54 10.23 7.3 8.46 5.54 12 2zm2.92 10-1.76-1.77L18.46 12l-1.76-1.77 1.76-1.77L22 12zm-10 2.92 1.77-1.76L12 18.46l1.77-1.76 1.77 1.76L12 22zm-2.92-10 1.76 1.77L5.54 12l1.76 1.77-1.76 1.77L2 12z"},child:[]},{tag:"circle",attr:{cx:"12",cy:"12",r:"3"},child:[]}]})(a)}function mn(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M20 6h-4V4c0-1.11-.89-2-2-2h-4c-1.11 0-2 .89-2 2v2H4c-1.11 0-1.99.89-1.99 2L2 19c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V8c0-1.11-.89-2-2-2zm-6 0h-4V4h4v2z"},child:[]}]})(a)}function vn(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0zm0 0h24v24H0zm0 0h24v24H0zm0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46A11.804 11.804 0 0 0 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78 3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z"},child:[]}]})(a)}function un(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z"},child:[]}]})(a)}function fn(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M11.07 12.85c.77-1.39 2.25-2.21 3.11-3.44.91-1.29.4-3.7-2.18-3.7-1.69 0-2.52 1.28-2.87 2.34L6.54 6.96C7.25 4.83 9.18 3 11.99 3c2.35 0 3.96 1.07 4.78 2.41.7 1.15 1.11 3.3.03 4.9-1.2 1.77-2.35 2.31-2.97 3.45-.25.46-.35.76-.35 2.24h-2.89c-.01-.78-.13-2.05.48-3.15zM14 20c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2z"},child:[]}]})(a)}function xn(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 3C6.95 3 3.15 4.85 0 7.23L12 22 24 7.25C20.85 4.87 17.05 3 12 3zm1 13h-2v-6h2v6zm-2-8V6h2v2h-2z"},child:[]}]})(a)}function hn(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M21 3.01H3c-1.1 0-2 .9-2 2V9h2V4.99h18v14.03H3V15H1v4.01c0 1.1.9 1.98 2 1.98h18c1.1 0 2-.88 2-1.98v-14a2 2 0 0 0-2-2zM11 16l4-4-4-4v3H1v2h10v3z"},child:[]}]})(a)}function gn(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M21 4H11l-1-3H3c-1.1 0-2 .9-2 2v15c0 1.1.9 2 2 2h8l1 3h9c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zM7 16c-2.76 0-5-2.24-5-5s2.24-5 5-5c1.35 0 2.48.5 3.35 1.3L9.03 8.57c-.38-.36-1.04-.78-2.03-.78-1.74 0-3.15 1.44-3.15 3.21S5.26 14.21 7 14.21c2.01 0 2.84-1.44 2.92-2.41H7v-1.71h4.68c.07.31.12.61.12 1.02C11.8 13.97 9.89 16 7 16zm6.17-5.42h3.7c-.43 1.25-1.11 2.43-2.05 3.47-.31-.35-.6-.72-.86-1.1l-.79-2.37zm8.33 9.92c0 .55-.45 1-1 1H14l2-2.5-1.04-3.1 3.1 3.1.92-.92-3.3-3.25.02-.02c1.13-1.25 1.93-2.69 2.4-4.22H20v-1.3h-4.53V8h-1.29v1.29h-1.44L11.46 5.5h9.04c.55 0 1 .45 1 1v14z"},child:[]},{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0zm0 0h24v24H0z"},child:[]}]})(a)}function bn(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zm2.46-7.12 1.41-1.41L12 12.59l2.12-2.12 1.41 1.41L13.41 14l2.12 2.12-1.41 1.41L12 15.41l-2.12 2.12-1.41-1.41L10.59 14l-2.13-2.12zM15.5 4l-1-1h-5l-1 1H5v2h14V4z"},child:[]}]})(a)}function wn(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z"},child:[]}]})(a)}function yn(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"M9.4 16.6 4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0 4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z"},child:[]}]})(a)}function zn(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z",clipRule:"evenodd"},child:[]},{tag:"path",attr:{d:"m22.7 19-9.1-9.1c.9-2.3.4-5-1.5-6.9-2-2-5-2.4-7.4-1.3L9 6 6 9 1.6 4.7C.4 7.1.9 10.1 2.9 12.1c1.9 1.9 4.6 2.4 6.9 1.5l9.1 9.1c.4.4 1 .4 1.4 0l2.3-2.3c.5-.4.5-1.1.1-1.4z"},child:[]}]})(a)}function kn(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M20 8h-2.81a5.985 5.985 0 0 0-1.82-1.96L17 4.41 15.59 3l-2.17 2.17C12.96 5.06 12.49 5 12 5c-.49 0-.96.06-1.41.17L8.41 3 7 4.41l1.62 1.63C7.88 6.55 7.26 7.22 6.81 8H4v2h2.09c-.05.33-.09.66-.09 1v1H4v2h2v1c0 .34.04.67.09 1H4v2h2.81c1.04 1.79 2.97 3 5.19 3s4.15-1.21 5.19-3H20v-2h-2.09c.05-.33.09-.66.09-1v-1h2v-2h-2v-1c0-.34-.04-.67-.09-1H20V8zm-6 8h-4v-2h4v2zm0-4h-4v-2h4v2z"},child:[]}]})(a)}function Mn(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"M12 8c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm8.94 3A8.994 8.994 0 0 0 13 3.06V1h-2v2.06A8.994 8.994 0 0 0 3.06 11H1v2h2.06A8.994 8.994 0 0 0 11 20.94V23h2v-2.06A8.994 8.994 0 0 0 20.94 13H23v-2h-2.06zM12 19c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7z"},child:[]}]})(a)}const jn=z(k.jsx("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6z"}),"Add"),Hn=z(k.jsx("path",{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2m5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12z"}),"Cancel"),Dn=z(k.jsx("path",{d:"M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"}),"Check"),Cn=z(k.jsx("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Clear"),En=z(k.jsx("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close"),Ln=z(k.jsx("path",{d:"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2m0 16H8V7h11z"}),"ContentCopy"),Fn=z(k.jsx("path",{d:"M20 6h-8l-2-2H4c-1.11 0-1.99.89-1.99 2L2 18c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V8c0-1.11-.89-2-2-2m-1 8h-3v3h-2v-3h-3v-2h3V9h2v3h3z"}),"CreateNewFolder"),On=z(k.jsx("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6zM19 4h-3.5l-1-1h-5l-1 1H5v2h14z"}),"Delete"),An=z(k.jsx("path",{d:"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34a.996.996 0 0 0-1.41 0l-1.83 1.83 3.75 3.75z"}),"Edit"),_n=z(k.jsx("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 17h-2v-2h2zm2.07-7.75-.9.92C13.45 12.9 13 13.5 13 15h-2v-.5c0-1.1.45-2.1 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41 0-1.1-.9-2-2-2s-2 .9-2 2H8c0-2.21 1.79-4 4-4s4 1.79 4 4c0 .88-.36 1.68-.93 2.25"}),"Help"),Vn=z(k.jsx("path",{d:"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2m6.93 6h-2.95c-.32-1.25-.78-2.45-1.38-3.56 1.84.63 3.37 1.91 4.33 3.56M12 4.04c.83 1.2 1.48 2.53 1.91 3.96h-3.82c.43-1.43 1.08-2.76 1.91-3.96M4.26 14C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2zm.82 2h2.95c.32 1.25.78 2.45 1.38 3.56-1.84-.63-3.37-1.9-4.33-3.56m2.95-8H5.08c.96-1.66 2.49-2.93 4.33-3.56C8.81 5.55 8.35 6.75 8.03 8M12 19.96c-.83-1.2-1.48-2.53-1.91-3.96h3.82c-.43 1.43-1.08 2.76-1.91 3.96M14.34 14H9.66c-.09-.66-.16-1.32-.16-2s.07-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2m.25 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95c-.96 1.65-2.49 2.93-4.33 3.56M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2z"}),"Language");function Pn(a){return p({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M507.73 109.1c-2.24-9.03-13.54-12.09-20.12-5.51l-74.36 74.36-67.88-11.31-11.31-67.88 74.36-74.36c6.62-6.62 3.43-17.9-5.66-20.16-47.38-11.74-99.55.91-136.58 37.93-39.64 39.64-50.55 97.1-34.05 147.2L18.74 402.76c-24.99 24.99-24.99 65.51 0 90.5 24.99 24.99 65.51 24.99 90.5 0l213.21-213.21c50.12 16.71 107.47 5.68 147.37-34.22 37.07-37.07 49.7-89.32 37.91-136.73zM64 472c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z"},child:[]}]})(a)}function Sn(a){return p({attr:{viewBox:"0 0 576 512"},child:[{tag:"path",attr:{d:"M215.03 71.05L126.06 160H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V88.02c0-21.46-25.96-31.98-40.97-16.97zm233.32-51.08c-11.17-7.33-26.18-4.24-33.51 6.95-7.34 11.17-4.22 26.18 6.95 33.51 66.27 43.49 105.82 116.6 105.82 195.58 0 78.98-39.55 152.09-105.82 195.58-11.17 7.32-14.29 22.34-6.95 33.5 7.04 10.71 21.93 14.56 33.51 6.95C528.27 439.58 576 351.33 576 256S528.27 72.43 448.35 19.97zM480 256c0-63.53-32.06-121.94-85.77-156.24-11.19-7.14-26.03-3.82-33.12 7.46s-3.78 26.21 7.41 33.36C408.27 165.97 432 209.11 432 256s-23.73 90.03-63.48 115.42c-11.19 7.14-14.5 22.07-7.41 33.36 6.51 10.36 21.12 15.14 33.12 7.46C447.94 377.94 480 319.54 480 256zm-141.77-76.87c-11.58-6.33-26.19-2.16-32.61 9.45-6.39 11.61-2.16 26.2 9.45 32.61C327.98 228.28 336 241.63 336 256c0 14.38-8.02 27.72-20.92 34.81-11.61 6.41-15.84 21-9.45 32.61 6.43 11.66 21.05 15.8 32.61 9.45 28.23-15.55 45.77-45 45.77-76.88s-17.54-61.32-45.78-76.86z"},child:[]}]})(a)}function Bn(a){return p({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M215.03 71.05L126.06 160H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V88.02c0-21.46-25.96-31.98-40.97-16.97zM461.64 256l45.64-45.64c6.3-6.3 6.3-16.52 0-22.82l-22.82-22.82c-6.3-6.3-16.52-6.3-22.82 0L416 210.36l-45.64-45.64c-6.3-6.3-16.52-6.3-22.82 0l-22.82 22.82c-6.3 6.3-6.3 16.52 0 22.82L370.36 256l-45.63 45.63c-6.3 6.3-6.3 16.52 0 22.82l22.82 22.82c6.3 6.3 16.52 6.3 22.82 0L416 301.64l45.64 45.64c6.3 6.3 16.52 6.3 22.82 0l22.82-22.82c6.3-6.3 6.3-16.52 0-22.82L461.64 256z"},child:[]}]})(a)}function In(a){return p({attr:{viewBox:"0 0 384 512"},child:[{tag:"path",attr:{d:"M215.03 72.04L126.06 161H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V89.02c0-21.47-25.96-31.98-40.97-16.98zm123.2 108.08c-11.58-6.33-26.19-2.16-32.61 9.45-6.39 11.61-2.16 26.2 9.45 32.61C327.98 229.28 336 242.62 336 257c0 14.38-8.02 27.72-20.92 34.81-11.61 6.41-15.84 21-9.45 32.61 6.43 11.66 21.05 15.8 32.61 9.45 28.23-15.55 45.77-45 45.77-76.88s-17.54-61.32-45.78-76.87z"},child:[]}]})(a)}function Tn(a){return p({attr:{viewBox:"0 0 576 512"},child:[{tag:"path",attr:{d:"M384 64H192C86 64 0 150 0 256s86 192 192 192h192c106 0 192-86 192-192S490 64 384 64zm0 320c-70.8 0-128-57.3-128-128 0-70.8 57.3-128 128-128 70.8 0 128 57.3 128 128 0 70.8-57.3 128-128 128z"},child:[]}]})(a)}function qn(a){return p({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M256 160c-52.9 0-96 43.1-96 96s43.1 96 96 96 96-43.1 96-96-43.1-96-96-96zm246.4 80.5l-94.7-47.3 33.5-100.4c4.5-13.6-8.4-26.5-21.9-21.9l-100.4 33.5-47.4-94.8c-6.4-12.8-24.6-12.8-31 0l-47.3 94.7L92.7 70.8c-13.6-4.5-26.5 8.4-21.9 21.9l33.5 100.4-94.7 47.4c-12.8 6.4-12.8 24.6 0 31l94.7 47.3-33.5 100.5c-4.5 13.6 8.4 26.5 21.9 21.9l100.4-33.5 47.3 94.7c6.4 12.8 24.6 12.8 31 0l47.3-94.7 100.4 33.5c13.6 4.5 26.5-8.4 21.9-21.9l-33.5-100.4 94.7-47.3c13-6.5 13-24.7.2-31.1zm-155.9 106c-49.9 49.9-131.1 49.9-181 0-49.9-49.9-49.9-131.1 0-181 49.9-49.9 131.1-49.9 181 0 49.9 49.9 49.9 131.1 0 181z"},child:[]}]})(a)}function Rn(a){return p({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M367.9 329.76c-4.62 5.3-9.78 10.1-15.9 13.65v22.94c66.52 9.34 112 28.05 112 49.65 0 30.93-93.12 56-208 56S48 446.93 48 416c0-21.6 45.48-40.3 112-49.65v-22.94c-6.12-3.55-11.28-8.35-15.9-13.65C58.87 345.34 0 378.05 0 416c0 53.02 114.62 96 256 96s256-42.98 256-96c0-37.95-58.87-70.66-144.1-86.24zM256 128c35.35 0 64-28.65 64-64S291.35 0 256 0s-64 28.65-64 64 28.65 64 64 64zm-64 192v96c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-96c17.67 0 32-14.33 32-32v-96c0-26.51-21.49-48-48-48h-11.8c-11.07 5.03-23.26 8-36.2 8s-25.13-2.97-36.2-8H208c-26.51 0-48 21.49-48 48v96c0 17.67 14.33 32 32 32z"},child:[]}]})(a)}function $n(a){return p({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M384 44v424c0 6.6-5.4 12-12 12h-48c-6.6 0-12-5.4-12-12V291.6l-195.5 181C95.9 489.7 64 475.4 64 448V64c0-27.4 31.9-41.7 52.5-24.6L312 219.3V44c0-6.6 5.4-12 12-12h48c6.6 0 12 5.4 12 12z"},child:[]}]})(a)}function Kn(a){return p({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M496 384H160v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h80v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h336c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160h-80v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h336v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h80c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160H288V48c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16C7.2 64 0 71.2 0 80v32c0 8.8 7.2 16 16 16h208v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h208c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16z"},child:[]}]})(a)}function Wn(a){return p({attr:{viewBox:"0 0 416 512"},child:[{tag:"path",attr:{d:"M272 96c26.51 0 48-21.49 48-48S298.51 0 272 0s-48 21.49-48 48 21.49 48 48 48zM113.69 317.47l-14.8 34.52H32c-17.67 0-32 14.33-32 32s14.33 32 32 32h77.45c19.25 0 36.58-11.44 44.11-29.09l8.79-20.52-10.67-6.3c-17.32-10.23-30.06-25.37-37.99-42.61zM384 223.99h-44.03l-26.06-53.25c-12.5-25.55-35.45-44.23-61.78-50.94l-71.08-21.14c-28.3-6.8-57.77-.55-80.84 17.14l-39.67 30.41c-14.03 10.75-16.69 30.83-5.92 44.86s30.84 16.66 44.86 5.92l39.69-30.41c7.67-5.89 17.44-8 25.27-6.14l14.7 4.37-37.46 87.39c-12.62 29.48-1.31 64.01 26.3 80.31l84.98 50.17-27.47 87.73c-5.28 16.86 4.11 34.81 20.97 40.09 3.19 1 6.41 1.48 9.58 1.48 13.61 0 26.23-8.77 30.52-22.45l31.64-101.06c5.91-20.77-2.89-43.08-21.64-54.39l-61.24-36.14 31.31-78.28 20.27 41.43c8 16.34 24.92 26.89 43.11 26.89H384c17.67 0 32-14.33 32-32s-14.33-31.99-32-31.99z"},child:[]}]})(a)}function Gn(a){return p({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M400 224h-24v-72C376 68.2 307.8 0 224 0S72 68.2 72 152v72H48c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48zm-104 0H152v-72c0-39.7 32.3-72 72-72s72 32.3 72 72v72z"},child:[]}]})(a)}function Nn(a){return p({attr:{viewBox:"0 0 352 512"},child:[{tag:"path",attr:{d:"M96.06 454.35c.01 6.29 1.87 12.45 5.36 17.69l17.09 25.69a31.99 31.99 0 0 0 26.64 14.28h61.71a31.99 31.99 0 0 0 26.64-14.28l17.09-25.69a31.989 31.989 0 0 0 5.36-17.69l.04-38.35H96.01l.05 38.35zM0 176c0 44.37 16.45 84.85 43.56 115.78 16.52 18.85 42.36 58.23 52.21 91.45.04.26.07.52.11.78h160.24c.04-.26.07-.51.11-.78 9.85-33.22 35.69-72.6 52.21-91.45C335.55 260.85 352 220.37 352 176 352 78.61 272.91-.3 175.45 0 73.44.31 0 82.97 0 176zm176-80c-44.11 0-80 35.89-80 80 0 8.84-7.16 16-16 16s-16-7.16-16-16c0-61.76 50.24-112 112-112 8.84 0 16 7.16 16 16s-7.16 16-16 16z"},child:[]}]})(a)}function Un(a){return p({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z"},child:[]}]})(a)}function Yn(a){return p({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M464 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48zM112 120c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56zM64 384h384V272l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L208 320l-55.515-55.515c-4.686-4.686-12.284-4.686-16.971 0L64 336v48z"},child:[]}]})(a)}function Zn(a){return p({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M464 128H272l-64-64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V176c0-26.51-21.49-48-48-48z"},child:[]}]})(a)}function Jn(a){return p({attr:{viewBox:"0 0 576 512"},child:[{tag:"path",attr:{d:"M572.694 292.093L500.27 416.248A63.997 63.997 0 0 1 444.989 448H45.025c-18.523 0-30.064-20.093-20.731-36.093l72.424-124.155A64 64 0 0 1 152 256h399.964c18.523 0 30.064 20.093 20.73 36.093zM152 224h328v-48c0-26.51-21.49-48-48-48H272l-64-64H48C21.49 64 0 85.49 0 112v278.046l69.077-118.418C86.214 242.25 117.989 224 152 224z"},child:[]}]})(a)}function Qn(a){return p({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M243.2 189.9V258c26.1 5.9 49.3 15.6 73.6 22.3v-68.2c-26-5.8-49.4-15.5-73.6-22.2zm223.3-123c-34.3 15.9-76.5 31.9-117 31.9C296 98.8 251.7 64 184.3 64c-25 0-47.3 4.4-68 12 2.8-7.3 4.1-15.2 3.6-23.6C118.1 24 94.8 1.2 66.3 0 34.3-1.3 8 24.3 8 56c0 19 9.5 35.8 24 45.9V488c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24v-94.4c28.3-12.1 63.6-22.1 114.4-22.1 53.6 0 97.8 34.8 165.2 34.8 48.2 0 86.7-16.3 122.5-40.9 8.7-6 13.8-15.8 13.8-26.4V95.9c.1-23.3-24.2-38.8-45.4-29zM169.6 325.5c-25.8 2.7-50 8.2-73.6 16.6v-70.5c26.2-9.3 47.5-15 73.6-17.4zM464 191c-23.6 9.8-46.3 19.5-73.6 23.9V286c24.8-3.4 51.4-11.8 73.6-26v70.5c-25.1 16.1-48.5 24.7-73.6 27.1V286c-27 3.7-47.9 1.5-73.6-5.6v67.4c-23.9-7.4-47.3-16.7-73.6-21.3V258c-19.7-4.4-40.8-6.8-73.6-3.8v-70c-22.4 3.1-44.6 10.2-73.6 20.9v-70.5c33.2-12.2 50.1-19.8 73.6-22v71.6c27-3.7 48.4-1.3 73.6 5.7v-67.4c23.7 7.4 47.2 16.7 73.6 21.3v68.4c23.7 5.3 47.6 6.9 73.6 2.7V143c27-4.8 52.3-13.6 73.6-22.5z"},child:[]}]})(a)}function Xn(a){return p({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M16 288c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h112v-64zm489-183L407.1 7c-4.5-4.5-10.6-7-17-7H384v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H152c-13.3 0-24 10.7-24 24v264h128v-65.2c0-14.3 17.3-21.4 27.4-11.3L379 308c6.6 6.7 6.6 17.4 0 24l-95.7 96.4c-10.1 10.1-27.4 3-27.4-11.3V352H128v136c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H376c-13.2 0-24-10.8-24-24z"},child:[]}]})(a)}function ae(a){return p({attr:{viewBox:"0 0 576 512"},child:[{tag:"path",attr:{d:"M384 121.9c0-6.3-2.5-12.4-7-16.9L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128zM571 308l-95.7-96.4c-10.1-10.1-27.4-3-27.4 11.3V288h-64v64h64v65.2c0 14.3 17.3 21.4 27.4 11.3L571 332c6.6-6.6 6.6-17.4 0-24zm-379 28v-32c0-8.8 7.2-16 16-16h176V160H248c-13.2 0-24-10.8-24-24V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V352H208c-8.8 0-16-7.2-16-16z"},child:[]}]})(a)}function te(a){return p({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M352.57 128c-28.09 0-54.09 4.52-77.06 12.86l12.41-123.11C289 7.31 279.81-1.18 269.33.13 189.63 10.13 128 77.64 128 159.43c0 28.09 4.52 54.09 12.86 77.06L17.75 224.08C7.31 223-1.18 232.19.13 242.67c10 79.7 77.51 141.33 159.3 141.33 28.09 0 54.09-4.52 77.06-12.86l-12.41 123.11c-1.05 10.43 8.11 18.93 18.59 17.62 79.7-10 141.33-77.51 141.33-159.3 0-28.09-4.52-54.09-12.86-77.06l123.11 12.41c10.44 1.05 18.93-8.11 17.62-18.59-10-79.7-77.51-141.33-159.3-141.33zM256 288a32 32 0 1 1 32-32 32 32 0 0 1-32 32z"},child:[]}]})(a)}function ie(a){return p({attr:{viewBox:"0 0 640 512"},child:[{tag:"path",attr:{d:"M624 448h-80V113.45C544 86.19 522.47 64 496 64H384v64h96v384h144c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM312.24 1.01l-192 49.74C105.99 54.44 96 67.7 96 82.92V448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h336V33.18c0-21.58-19.56-37.41-39.76-32.17zM264 288c-13.25 0-24-14.33-24-32s10.75-32 24-32 24 14.33 24 32-10.75 32-24 32z"},child:[]}]})(a)}function ne(a){return p({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M436 192H312c-13.3 0-24-10.7-24-24V44c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v84h84c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12zm-276-24V44c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v84H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h124c13.3 0 24-10.7 24-24zm0 300V344c0-13.3-10.7-24-24-24H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h84v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm192 0v-84h84c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12H312c-13.3 0-24 10.7-24 24v124c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12z"},child:[]}]})(a)}function ee(a){return p({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M200 288H88c-21.4 0-32.1 25.8-17 41l32.9 31-99.2 99.3c-6.2 6.2-6.2 16.4 0 22.6l25.4 25.4c6.2 6.2 16.4 6.2 22.6 0L152 408l31.1 33c15.1 15.1 40.9 4.4 40.9-17V312c0-13.3-10.7-24-24-24zm112-64h112c21.4 0 32.1-25.9 17-41l-33-31 99.3-99.3c6.2-6.2 6.2-16.4 0-22.6L481.9 4.7c-6.2-6.2-16.4-6.2-22.6 0L360 104l-31.1-33C313.8 55.9 288 66.6 288 88v112c0 13.3 10.7 24 24 24zm96 136l33-31.1c15.1-15.1 4.4-40.9-17-40.9H312c-13.3 0-24 10.7-24 24v112c0 21.4 25.9 32.1 41 17l31-32.9 99.3 99.3c6.2 6.2 16.4 6.2 22.6 0l25.4-25.4c6.2-6.2 6.2-16.4 0-22.6L408 360zM183 71.1L152 104 52.7 4.7c-6.2-6.2-16.4-6.2-22.6 0L4.7 30.1c-6.2 6.2-6.2 16.4 0 22.6L104 152l-33 31.1C55.9 198.2 66.6 224 88 224h112c13.3 0 24-10.7 24-24V88c0-21.3-25.9-32-41-16.9z"},child:[]}]})(a)}function oe(a){return p({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M256,8C119,8,8,119,8,256S119,504,256,504,504,393,504,256,393,8,256,8Zm92.49,313h0l-20,25a16,16,0,0,1-22.49,2.5h0l-67-49.72a40,40,0,0,1-15-31.23V112a16,16,0,0,1,16-16h32a16,16,0,0,1,16,16V256l58,42.5A16,16,0,0,1,348.49,321Z"},child:[]}]})(a)}function pe(a){return p({attr:{viewBox:"0 0 384 512"},child:[{tag:"path",attr:{d:"M336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM96 424c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm0-96c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm0-96c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm96-192c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm128 368c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16z"},child:[]}]})(a)}function ce(a){return p({attr:{viewBox:"0 0 352 512"},child:[{tag:"path",attr:{d:"M176 80c-52.94 0-96 43.06-96 96 0 8.84 7.16 16 16 16s16-7.16 16-16c0-35.3 28.72-64 64-64 8.84 0 16-7.16 16-16s-7.16-16-16-16zM96.06 459.17c0 3.15.93 6.22 2.68 8.84l24.51 36.84c2.97 4.46 7.97 7.14 13.32 7.14h78.85c5.36 0 10.36-2.68 13.32-7.14l24.51-36.84c1.74-2.62 2.67-5.7 2.68-8.84l.05-43.18H96.02l.04 43.18zM176 0C73.72 0 0 82.97 0 176c0 44.37 16.45 84.85 43.56 115.78 16.64 18.99 42.74 58.8 52.42 92.16v.06h48v-.12c-.01-4.77-.72-9.51-2.15-14.07-5.59-17.81-22.82-64.77-62.17-109.67-20.54-23.43-31.52-53.15-31.61-84.14-.2-73.64 59.67-128 127.95-128 70.58 0 128 57.42 128 128 0 30.97-11.24 60.85-31.65 84.14-39.11 44.61-56.42 91.47-62.1 109.46a47.507 47.507 0 0 0-2.22 14.3v.1h48v-.05c9.68-33.37 35.78-73.18 52.42-92.16C335.55 260.85 352 220.37 352 176 352 78.8 273.2 0 176 0z"},child:[]}]})(a)}var Ua=function(){return Ua=Object.assign||function(t){for(var i,n=1,e=arguments.length;n0?e:`./${a.name}`;return typeof n.path!="string"&&Ya(n,"path",c),Ya(n,"relativePath",c),n}function St(a){const{name:t}=a;if(t&&t.lastIndexOf(".")!==-1&&!a.type){const n=t.split(".").pop().toLowerCase(),e=Pt.get(n);e&&Object.defineProperty(a,"type",{value:e,writable:!1,configurable:!1,enumerable:!0})}return a}function Ya(a,t,i){Object.defineProperty(a,t,{value:i,writable:!1,configurable:!1,enumerable:!0})}const Bt=[".DS_Store","Thumbs.db"];function It(a){return _(this,void 0,void 0,function*(){return oa(a)&&Tt(a.dataTransfer)?Kt(a.dataTransfer,a.type):qt(a)?Rt(a):Array.isArray(a)&&a.every(t=>"getFile"in t&&typeof t.getFile=="function")?$t(a):[]})}function Tt(a){return oa(a)}function qt(a){return oa(a)&&oa(a.target)}function oa(a){return typeof a=="object"&&a!==null}function Rt(a){return Ma(a.target.files).map(t=>I(t))}function $t(a){return _(this,void 0,void 0,function*(){return(yield Promise.all(a.map(i=>i.getFile()))).map(i=>I(i))})}function Kt(a,t){return _(this,void 0,void 0,function*(){if(a.items){const i=Ma(a.items).filter(e=>e.kind==="file");if(t!=="drop")return i;const n=yield Promise.all(i.map(Wt));return Za(rt(n))}return Za(Ma(a.files).map(i=>I(i)))})}function Za(a){return a.filter(t=>Bt.indexOf(t.name)===-1)}function Ma(a){if(a===null)return[];const t=[];for(let i=0;i[...t,...Array.isArray(i)?rt(i):[i]],[])}function Ja(a,t){return _(this,void 0,void 0,function*(){var i;if(globalThis.isSecureContext&&typeof a.getAsFileSystemHandle=="function"){const c=yield a.getAsFileSystemHandle();if(c===null)throw new Error(`${a} is not a File`);if(c!==void 0){const r=yield c.getFile();return r.handle=c,I(r)}}const n=a.getAsFile();if(!n)throw new Error(`${a} is not a File`);return I(n,(i=t==null?void 0:t.fullPath)!==null&&i!==void 0?i:void 0)})}function Gt(a){return _(this,void 0,void 0,function*(){return a.isDirectory?dt(a):Nt(a)})}function dt(a){const t=a.createReader();return new Promise((i,n)=>{const e=[];function c(){t.readEntries(r=>_(this,void 0,void 0,function*(){if(r.length){const d=Promise.all(r.map(Gt));e.push(d),c()}else try{const d=yield Promise.all(e);i(d)}catch(d){n(d)}}),r=>{n(r)})}c()})}function Nt(a){return _(this,void 0,void 0,function*(){return new Promise((t,i)=>{a.file(n=>{const e=I(n,a.fullPath);t(e)},n=>{i(n)})})})}var za=function(a,t){if(a&&t){var i=Array.isArray(t)?t:t.split(",");if(i.length===0)return!0;var n=a.name||"",e=(a.type||"").toLowerCase(),c=e.replace(/\/.*$/,"");return i.some(function(r){var d=r.trim().toLowerCase();return d.charAt(0)==="."?n.toLowerCase().endsWith(d):d.endsWith("/*")?c===d.replace(/\/.*$/,""):e===d})}return!0};function Qa(a){return Zt(a)||Yt(a)||mt(a)||Ut()}function Ut(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Yt(a){if(typeof Symbol<"u"&&a[Symbol.iterator]!=null||a["@@iterator"]!=null)return Array.from(a)}function Zt(a){if(Array.isArray(a))return ja(a)}function Xa(a,t){var i=Object.keys(a);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(a);t&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(a,e).enumerable})),i.push.apply(i,n)}return i}function at(a){for(var t=1;ta.length)&&(t=a.length);for(var i=0,n=new Array(t);i0&&arguments[0]!==void 0?arguments[0]:"",i=t.split(","),n=i.length>1?"one of ".concat(i.join(", ")):i[0];return{code:ti,message:"File type must be ".concat(n)}},tt=function(t){return{code:ii,message:"File is larger than ".concat(t," ").concat(t===1?"byte":"bytes")}},it=function(t){return{code:ni,message:"File is smaller than ".concat(t," ").concat(t===1?"byte":"bytes")}},pi={code:ei,message:"Too many files"};function ci(a){return a.type===""&&typeof a.getAsFile=="function"}function vt(a,t){var i=a.type==="application/x-moz-file"||ai(a,t)||ci(a);return[i,i?null:oi(t)]}function ut(a,t,i){if(A(a.size))if(A(t)&&A(i)){if(a.size>i)return[!1,tt(i)];if(a.sizei)return[!1,tt(i)]}return[!0,null]}function A(a){return a!=null}function li(a){var t=a.files,i=a.accept,n=a.minSize,e=a.maxSize,c=a.multiple,r=a.maxFiles,d=a.validator;return!c&&t.length>1||c&&r>=1&&t.length>r?!1:t.every(function(u){var H=vt(u,i),b=U(H,1),D=b[0],T=ut(u,n,e),q=U(T,1),R=q[0],$=d?d(u):null;return D&&R&&!$})}function pa(a){return typeof a.isPropagationStopped=="function"?a.isPropagationStopped():typeof a.cancelBubble<"u"?a.cancelBubble:!1}function N(a){return a.dataTransfer?Array.prototype.some.call(a.dataTransfer.types,function(t){return t==="Files"||t==="application/x-moz-file"}):!!a.target&&!!a.target.files}function nt(a){a.preventDefault()}function ri(a){return a.indexOf("MSIE")!==-1||a.indexOf("Trident/")!==-1}function di(a){return a.indexOf("Edge/")!==-1}function si(){var a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:window.navigator.userAgent;return ri(a)||di(a)}function j(){for(var a=arguments.length,t=new Array(a),i=0;i1?e-1:0),r=1;ra.length)&&(t=a.length);for(var i=0,n=new Array(t);i=0)&&Object.prototype.propertyIsEnumerable.call(a,n)&&(i[n]=a[n])}return i}function Di(a,t){if(a==null)return{};var i={},n=Object.keys(a),e,c;for(c=0;c=0)&&(i[e]=a[e]);return i}var Ea=jt(function(a,t){var i=a.children,n=ca(a,hi),e=Ci(n),c=e.open,r=ca(e,gi);return Ht(t,function(){return{open:c}},[c]),E.createElement(Dt,null,i(m(m({},r),{},{open:c})))});Ea.displayName="Dropzone";var gt={disabled:!1,getFilesFromEvent:It,maxSize:1/0,minSize:0,multiple:!0,maxFiles:0,preventDropOnDocument:!0,noClick:!1,noKeyboard:!1,noDrag:!1,noDragEventsBubbling:!1,validator:null,useFsAccessApi:!1,autoFocus:!1};Ea.defaultProps=gt;Ea.propTypes={children:s.func,accept:s.objectOf(s.arrayOf(s.string)),multiple:s.bool,preventDropOnDocument:s.bool,noClick:s.bool,noKeyboard:s.bool,noDrag:s.bool,noDragEventsBubbling:s.bool,minSize:s.number,maxSize:s.number,maxFiles:s.number,disabled:s.bool,getFilesFromEvent:s.func,onFileDialogCancel:s.func,onFileDialogOpen:s.func,useFsAccessApi:s.bool,autoFocus:s.bool,onDragEnter:s.func,onDragLeave:s.func,onDragOver:s.func,onDrop:s.func,onDropAccepted:s.func,onDropRejected:s.func,onError:s.func,validator:s.func};var Ca={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,isDragGlobal:!1,acceptedFiles:[],fileRejections:[]};function Ci(){var a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=m(m({},gt),a),i=t.accept,n=t.disabled,e=t.getFilesFromEvent,c=t.maxSize,r=t.minSize,d=t.multiple,u=t.maxFiles,H=t.onDragEnter,b=t.onDragLeave,D=t.onDragOver,T=t.onDrop,q=t.onDropAccepted,R=t.onDropRejected,$=t.onFileDialogCancel,la=t.onFileDialogOpen,La=t.useFsAccessApi,Fa=t.autoFocus,ra=t.preventDropOnDocument,Oa=t.noClick,da=t.noKeyboard,Aa=t.noDrag,L=t.noDragEventsBubbling,sa=t.onError,K=t.validator,W=B(function(){return ui(i)},[i]),_a=B(function(){return vi(i)},[i]),ma=B(function(){return typeof la=="function"?la:pt},[la]),Y=B(function(){return typeof $=="function"?$:pt},[$]),g=G(null),w=G(null),bt=Ct(Ei,Ca),Va=ka(bt,2),va=Va[0],x=Va[1],wt=va.isFocused,Pa=va.isFileDialogActive,Z=G(typeof window<"u"&&window.isSecureContext&&La&&mi()),Sa=function(){!Z.current&&Pa&&setTimeout(function(){if(w.current){var l=w.current.files;l.length||(x({type:"closeDialog"}),Y())}},300)};ia(function(){return window.addEventListener("focus",Sa,!1),function(){window.removeEventListener("focus",Sa,!1)}},[w,Pa,Y,Z]);var V=G([]),F=G([]),Ba=function(l){g.current&&g.current.contains(l.target)||(l.preventDefault(),V.current=[])};ia(function(){return ra&&(document.addEventListener("dragover",nt,!1),document.addEventListener("drop",Ba,!1)),function(){ra&&(document.removeEventListener("dragover",nt),document.removeEventListener("drop",Ba))}},[g,ra]),ia(function(){var o=function(M){F.current=[].concat(et(F.current),[M.target]),N(M)&&x({isDragGlobal:!0,type:"setDragGlobal"})},l=function(M){F.current=F.current.filter(function(C){return C!==M.target&&C!==null}),!(F.current.length>0)&&x({isDragGlobal:!1,type:"setDragGlobal"})},v=function(){F.current=[],x({isDragGlobal:!1,type:"setDragGlobal"})},f=function(){F.current=[],x({isDragGlobal:!1,type:"setDragGlobal"})};return document.addEventListener("dragenter",o,!1),document.addEventListener("dragleave",l,!1),document.addEventListener("dragend",v,!1),document.addEventListener("drop",f,!1),function(){document.removeEventListener("dragenter",o),document.removeEventListener("dragleave",l),document.removeEventListener("dragend",v),document.removeEventListener("drop",f)}},[g]),ia(function(){return!n&&Fa&&g.current&&g.current.focus(),function(){}},[g,Fa,n]);var O=y(function(o){sa?sa(o):console.error(o)},[sa]),Ia=y(function(o){o.preventDefault(),o.persist(),aa(o),V.current=[].concat(et(V.current),[o.target]),N(o)&&Promise.resolve(e(o)).then(function(l){if(!(pa(o)&&!L)){var v=l.length,f=v>0&&li({files:l,accept:W,minSize:r,maxSize:c,multiple:d,maxFiles:u,validator:K}),h=v>0&&!f;x({isDragAccept:f,isDragReject:h,isDragActive:!0,type:"setDraggedFiles"}),H&&H(o)}}).catch(function(l){return O(l)})},[e,H,O,L,W,r,c,d,u,K]),Ta=y(function(o){o.preventDefault(),o.persist(),aa(o);var l=N(o);if(l&&o.dataTransfer)try{o.dataTransfer.dropEffect="copy"}catch{}return l&&D&&D(o),!1},[D,L]),qa=y(function(o){o.preventDefault(),o.persist(),aa(o);var l=V.current.filter(function(f){return g.current&&g.current.contains(f)}),v=l.indexOf(o.target);v!==-1&&l.splice(v,1),V.current=l,!(l.length>0)&&(x({type:"setDraggedFiles",isDragActive:!1,isDragAccept:!1,isDragReject:!1}),N(o)&&b&&b(o))},[g,b,L]),J=y(function(o,l){var v=[],f=[];o.forEach(function(h){var M=vt(h,W),C=ka(M,2),fa=C[0],xa=C[1],ha=ut(h,r,c),ta=ka(ha,2),ga=ta[0],ba=ta[1],wa=K?K(h):null;if(fa&&ga&&!wa)v.push(h);else{var ya=[xa,ba];wa&&(ya=ya.concat(wa)),f.push({file:h,errors:ya.filter(function(Mt){return Mt})})}}),(!d&&v.length>1||d&&u>=1&&v.length>u)&&(v.forEach(function(h){f.push({file:h,errors:[pi]})}),v.splice(0)),x({acceptedFiles:v,fileRejections:f,type:"setFiles"}),T&&T(v,f,l),f.length>0&&R&&R(f,l),v.length>0&&q&&q(v,l)},[x,d,W,r,c,u,T,q,R,K]),Q=y(function(o){o.preventDefault(),o.persist(),aa(o),V.current=[],N(o)&&Promise.resolve(e(o)).then(function(l){pa(o)&&!L||J(l,o)}).catch(function(l){return O(l)}),x({type:"reset"})},[e,J,O,L]),P=y(function(){if(Z.current){x({type:"openDialog"}),ma();var o={multiple:d,types:_a};window.showOpenFilePicker(o).then(function(l){return e(l)}).then(function(l){J(l,null),x({type:"closeDialog"})}).catch(function(l){fi(l)?(Y(l),x({type:"closeDialog"})):xi(l)?(Z.current=!1,w.current?(w.current.value=null,w.current.click()):O(new Error("Cannot open the file picker because the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API is not supported and no was provided."))):O(l)});return}w.current&&(x({type:"openDialog"}),ma(),w.current.value=null,w.current.click())},[x,ma,Y,La,J,O,_a,d]),Ra=y(function(o){!g.current||!g.current.isEqualNode(o.target)||(o.key===" "||o.key==="Enter"||o.keyCode===32||o.keyCode===13)&&(o.preventDefault(),P())},[g,P]),$a=y(function(){x({type:"focus"})},[]),Ka=y(function(){x({type:"blur"})},[]),Wa=y(function(){Oa||(si()?setTimeout(P,0):P())},[Oa,P]),S=function(l){return n?null:l},ua=function(l){return da?null:S(l)},X=function(l){return Aa?null:S(l)},aa=function(l){L&&l.stopPropagation()},yt=B(function(){return function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},l=o.refKey,v=l===void 0?"ref":l,f=o.role,h=o.onKeyDown,M=o.onFocus,C=o.onBlur,fa=o.onClick,xa=o.onDragEnter,ha=o.onDragOver,ta=o.onDragLeave,ga=o.onDrop,ba=ca(o,bi);return m(m(Da({onKeyDown:ua(j(h,Ra)),onFocus:ua(j(M,$a)),onBlur:ua(j(C,Ka)),onClick:S(j(fa,Wa)),onDragEnter:X(j(xa,Ia)),onDragOver:X(j(ha,Ta)),onDragLeave:X(j(ta,qa)),onDrop:X(j(ga,Q)),role:typeof f=="string"&&f!==""?f:"presentation"},v,g),!n&&!da?{tabIndex:0}:{}),ba)}},[g,Ra,$a,Ka,Wa,Ia,Ta,qa,Q,da,Aa,n]),zt=y(function(o){o.stopPropagation()},[]),kt=B(function(){return function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},l=o.refKey,v=l===void 0?"ref":l,f=o.onChange,h=o.onClick,M=ca(o,wi),C=Da({accept:W,multiple:d,type:"file",style:{border:0,clip:"rect(0, 0, 0, 0)",clipPath:"inset(50%)",height:"1px",margin:"0 -1px -1px 0",overflow:"hidden",padding:0,position:"absolute",width:"1px",whiteSpace:"nowrap"},onChange:S(j(f,Q)),onClick:S(j(h,zt)),tabIndex:-1},v,w);return m(m({},C),M)}},[w,i,d,Q,n]);return m(m({},va),{},{isFocused:wt&&!n,getRootProps:yt,getInputProps:kt,rootRef:g,inputRef:w,open:S(P)})}function Ei(a,t){switch(t.type){case"focus":return m(m({},a),{},{isFocused:!0});case"blur":return m(m({},a),{},{isFocused:!1});case"openDialog":return m(m({},Ca),{},{isFileDialogActive:!0});case"closeDialog":return m(m({},a),{},{isFileDialogActive:!1});case"setDraggedFiles":return m(m({},a),{},{isDragActive:t.isDragActive,isDragAccept:t.isDragAccept,isDragReject:t.isDragReject});case"setFiles":return m(m({},a),{},{acceptedFiles:t.acceptedFiles,fileRejections:t.fileRejections,isDragReject:!1});case"setDragGlobal":return m(m({},a),{},{isDragGlobal:t.isDragGlobal});case"reset":return m({},Ca);default:return a}}function pt(){}export{sn as $,oe as A,Wi as B,Cn as C,Ki as D,pe as E,Jn as F,zn as G,Ea as H,Dn as I,Zi as J,Gi as K,Vn as L,Ji as M,_n as N,Pi as O,un as P,qi as Q,_i as R,wn as S,Ii as T,Ti as U,Bi as V,nn as W,gn as X,Ci as Y,p as Z,Ua as _,Hn as a,an as a0,Qi as a1,Ni as a2,Pn as a3,fn as a4,Sn as a5,In as a6,Kn as a7,Xi as a8,$n as a9,Mn as aa,Rn as ab,Gn as ac,Nn as ad,Un as ae,ce as af,Yn as ag,te as ah,qn as ai,Wn as aj,pn as ak,mn as al,cn as am,ie as an,Tn as ao,Bn as ap,ne as aq,ee as ar,xn as as,$i as at,en as au,Ri as av,On as b,En as c,Zn as d,ae as e,Xn as f,Ln as g,jn as h,Fn as i,An as j,bn as k,Yi as l,vn as m,Vi as n,tn as o,hn as p,kn as q,ln as r,on as s,Ai as t,dn as u,rn as v,Ui as w,Si as x,yn as y,Qn as z}; diff --git a/admin/assets/index-CrP4fDhH.js b/admin/assets/index-CrP4fDhH.js deleted file mode 100644 index 5df1b4c4b..000000000 --- a/admin/assets/index-CrP4fDhH.js +++ /dev/null @@ -1 +0,0 @@ -import{j as t}from"./createSvgIcon-DPvF8xqu.js";import{c as E,h as Dn,j as M,m as tn,k as fn,l as kn,b as xn,o as bn}from"./iobroker_javascript__loadShare__react__loadShare__.mjs-CTZOFJS2.js";import{_ as u}from"./iobroker_javascript__loadShare___mf_0_iobroker_mf_1_adapter_mf_2_react_mf_2_v5__loadShare__.mjs-DkBjPSMw.js";import{u as Sn,a as Nn,M as Y,C as en,G as $n,b as qn,c as wn,I as Bn,S as J,d as Mn,e as mn,j as Hn,D as Wn,f as Tn}from"./index-lco9qhq6.js";import{_ as Cn,b as vn,h as jn,i as In,p as En,f as Pn,g as hn,o as Un,Y as Fn,Z as Jn,C as Ln,D as sn}from"./iobroker_javascript__loadShare___mf_0_mui_mf_1_material__loadShare__.mjs-QWG5Arqe.js";import{I as zn}from"./index-Cu-TydZj.js";import"./iobroker_javascript__loadShare__react__loadShare__.mjs_commonjs-proxy-CE9lvhW8.js";import"./iobroker_javascript__loadShare__prop_mf_2_types__loadShare__.mjs-BCtSFofY.js";import"./virtual_mf-REMOTE_ENTRY_ID_iobroker_javascript__remoteEntry_js-C9suQF96.js";import"./preload-helper-BDBacUwf.js";import"./iobroker_javascript__loadShare__react_mf_2_dom__loadShare__.mjs_commonjs-proxy-RQRRZMX5.js";import"./iobroker_javascript__loadShare__react_mf_2_dom__loadShare__.mjs-DeVAS-oa.js";import"./inheritsLoose-B0Ba5G9z.js";function Gn(e){const s=Sn().getMonitor(),[i,a]=Nn(s,e);return E(()=>s.subscribeToOffsetChange(a)),E(()=>s.subscribeToStateChange(a)),i}let V;function Kn(){return V||(V=new Image,V.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="),V}const Qn="_wrapperRules_nnott_1",Yn="_rootWrapper_nnott_9",Zn="_addClass_nnott_14",on={wrapperRules:Qn,rootWrapper:Yn,addClass:Zn},Xn="_switchesItem_10ls3_1",Vn="_switchesItemActive_10ls3_28",Rn="_iconTheme_10ls3_36",cn={switchesItem:Xn,switchesItemActive:Vn,iconTheme:Rn},On=({name:e,id:n,active:s,icon:i,adapter:a,socket:o,onDoubleClick:c,title:l,onTouchMove:d,style:j})=>t.jsxs("div",{onDoubleClick:c,onTouchMove:d,title:l?u.I18n.t(l):void 0,className:u.Utils.clsx(cn.switchesItem,s&&cn.switchesItemActive,`block-${n}`),children:[t.jsx(Y,{iconName:i,className:cn.iconTheme,adapter:a,socket:o,style:j}),t.jsx("span",{children:e?u.I18n.t(e):""})]},n),nt="_cardStyle_8rq8v_1",tt="_cardStyleActive_8rq8v_17",et="_controlMenu_8rq8v_22",st="_closeBtn_8rq8v_31",ot="_isDelete_8rq8v_73",it="_drag_mobile_8rq8v_90",G={cardStyle:nt,cardStyleActive:tt,controlMenu:et,closeBtn:st,isDelete:ot,drag_mobile:it};function K(e,n,s){let i;switch(e){case"actions":if(s==="else")return i={...n,actions:{...n[e],else:[...n[e].else]}},i;if(s==="then")return i={...n,actions:{...n[e],then:[...n[e].then]}},i;throw console.error(`Unknown additionalParameter: ${s}`),new Error(`Unknown additionalParameter: ${s}`);case"triggers":return i={...n,triggers:[...n.triggers]},i;case"conditions":return i={...n,conditions:[...n.conditions]},i;default:throw new Error(`Unknown name: ${e}`)}}function z(e,n,s,i){var a;switch(e){case"actions":return n.actions[s]=n.actions[s].filter(o=>o._id!==i),n;case"conditions":return n.conditions[s]=(a=n.conditions[s])==null?void 0:a.filter(o=>o._id!==i),n;default:return n.triggers=n.triggers.filter(o=>o._id!==i),n}}function ct(e,n,s){const{_id:i,acceptedBy:a}=e;let o;if(!a||!n[a])return console.warn(`Cannot find ${a}`),n;switch(a){case"actions":if(o=n.actions[s].find(c=>c._id===i),!o)console.warn(`Cannot find ${i}`);else{const c=n.actions[s].indexOf(o);n.actions[s][c]=e}return n;case"conditions":if(o=n.conditions[s].find(c=>c._id===i),!o)console.warn(`Cannot find ${i}`);else{const c=n.conditions[s].indexOf(o);n.conditions[s][c]=e}return n;default:if(o=n.triggers.find(c=>c._id===i),!o)console.warn(`Cannot find ${i}`);else{const c=n.triggers.indexOf(o);n.triggers[c]=e}return n}}const yn=Dn(e=>{var N;const{setUserRules:n,userRules:s,_id:i,id:a,blockValue:o,active:c,acceptedBy:l,isTourOpen:d,setTourStep:j,tourStep:O}=e,[I,_]=M(null),{blocks:r,socket:k,onUpdate:H,setOnUpdate:w,onDebugMessage:f,enableSimulation:x}=tn(en),p=fn(h=>r==null?void 0:r.find(b=>b.getStaticData().id===h),[r]),m=fn(h=>{const b=ct(h,s,o);b&&n(b)},[s]),C=h=>{h.currentTarget!==I&&_(h.currentTarget)},q=()=>_(null),T=kn(()=>{const h=p(a)||$n;return t.jsx(h,{...e,notFound:!p(a),isTourOpen:d,setTourStep:j,tourStep:O,onUpdate:H,setOnUpdate:w,enableSimulation:x,onDebugMessage:f,onChange:m,className:void 0,socket:k})},[s,H,f,x]),[S,B]=M(!1);return t.jsxs("div",{onMouseMove:C,onMouseEnter:C,onMouseLeave:q,onMouseDown:h=>{if(h.ctrlKey){let b;const v=K(l,s,o);l==="conditions"?(b=v.conditions[o].find(g=>g._id===i),b&&v.conditions[o].splice(v.conditions[o].indexOf(b),0,{...b,_id:Date.now()})):l==="actions"?(b=v.actions[o].find(g=>g._id===i),b&&v.actions[o].splice(v.actions[o].indexOf(b),0,{...b,_id:Date.now()})):(b=v.triggers.find(g=>g._id===i),b&&v.triggers.splice(v[l].indexOf(b),0,{...b,_id:Date.now()})),n(v)}},id:"height",style:c?{width:(((N=document.getElementById("width"))==null?void 0:N.clientWidth)||0)-70}:void 0,className:`${G.cardStyle} ${c?G.cardStyleActive:null} ${S?G.isDelete:null}`,children:[t.jsx("div",{className:G.drag_mobile}),T,n&&t.jsx("div",{className:G.controlMenu,style:I?{opacity:1}:{opacity:0},children:t.jsx("div",{onClick:()=>{let h=K(l,s,o);h=z(l,h,o,i),B(!0),setTimeout(()=>{l==="triggers"&&w(!0),n(h)},300)},className:G.closeBtn})})]})}),rt={position:"fixed",pointerEvents:"none",zIndex:100,left:0,top:0,width:"100%",height:"100%"},at=(e,n,s)=>{if(!e||!n)return{display:"none"};let{x:i,y:a}=n;const o=`translate(${i}px, ${a}px)`;return{transform:o,WebkitTransform:o}},lt=e=>{const{itemType:n,isDragging:s,item:i,initialOffset:a,currentOffset:o,targetIds:c}=Gn(d=>({item:d.getItem(),itemType:d.getItemType(),initialOffset:d.getInitialSourceClientOffset(),currentOffset:d.getSourceClientOffset(),isDragging:d.isDragging(),targetIds:d.getTargetIds()})),l=()=>n==="box"?c.length?t.jsx(yn,{active:!0,...i,allBlocks:e.allBlocks}):t.jsx(On,{active:!0,...i,socket:e.socket}):null;return s?t.jsx("div",{style:rt,children:t.jsx("div",{style:at(a,o),children:l()})}):null},dt="_border_wrpm3_1",ft="_emptyBlockStyle_wrpm3_6",gt="_emptyBlock_wrpm3_6",mt="_selectOnChange_wrpm3_22",ht="_selectOnChangeHelp_wrpm3_28",_t="_selectOnChangeHelpIcon_wrpm3_34",pt="_emptyBlockNone_wrpm3_49",ut="_mainBlockItemRules_wrpm3_55",xt="_nameBlockItems_wrpm3_63",bt="_contentBlockItem_wrpm3_73",wt="_wrapperMargin_wrpm3_81",Ct="_contentHeightOn_wrpm3_87",vt="_contentHeightOff_wrpm3_99",jt="_cardAdd_wrpm3_105",It="_blockCardAdd_wrpm3_125",Ot="_addClassOverflow_wrpm3_136",yt="_addClassHeight_wrpm3_140",D={border:dt,emptyBlockStyle:ft,emptyBlock:gt,selectOnChange:mt,selectOnChangeHelp:ht,selectOnChangeHelpIcon:_t,emptyBlockNone:pt,mainBlockItemRules:ut,nameBlockItems:xt,contentBlockItem:bt,wrapperMargin:wt,contentHeightOn:Ct,contentHeightOff:vt,cardAdd:jt,blockCardAdd:It,addClassOverflow:Ot,addClassHeight:yt};function gn(e,n){const[s,i]=M(window.localStorage.getItem(n)?JSON.parse(window.localStorage.getItem(n)||""):e);return[s,o=>{window.localStorage.setItem(n,JSON.stringify(o)),i(o)},!!window.localStorage.getItem(n)]}function At(e,n){let s=0,i=null,a;return function(...o){const c=Date.now();a=o,c-s>=n?(s=c,e.apply(this,o)):i||(i=setTimeout(()=>{s=Date.now(),i=null,e.apply(this,a)},n-(c-s)))}}function nn(e){if(Array.isArray(e))return e.map(n=>nn(n));if(typeof e=="function")return e.bind(null);if(e&&typeof e=="object"){const n={};return Object.keys(e).forEach(s=>{n[s]=nn(e[s])}),n}return e}const rn=At((e,n)=>e(n),0);function R(e,n){const s=n.find(i=>i._id===e);return{card:s,index:s?n.indexOf(s):-1}}function an(e,n,s,i,a,o,c,l,d){const{card:j,index:O}=R(e,s);if(!(On&&l>d)&&j&&O!==n){const I=nn(s);I.splice(O,1),I.splice(n,0,j);const _=nn(a);switch(o){case"actions":_.actions[c]=I,rn(i,_);return;case"conditions":_.conditions[c]=I,rn(i,_);return;default:_.triggers=I,rn(i,_);return}}}const Dt="_drag_7xfhc_1",kt="_root_7xfhc_11",_n={drag:Dt,root:kt},An=({typeBlock:e,allProperties:n,id:s,isActive:i,setUserRules:a,userRules:o,children:c,_id:l,blockValue:d})=>{const{setOnUpdate:j}=tn(en),[{opacity:O},I,_]=qn({type:"box",item:()=>({...n,id:s,isActive:i,_id:l}),end:(w,f)=>{const{acceptedBy:x}=w,p=f.getDropResult();let m;if(!p)return typeof l=="number"&&!f.getTargetIds().length&&(m=K(x,o,d),m=z(x,m,d,l),a(m)),null;if(p.blockValue!==d){const C=typeof l=="number"?l:Date.now();m=K(x,o,p.blockValue);const q={id:w.id,acceptedBy:w.acceptedBy};switch(x){case"actions":return d&&(m=z("actions",m,d,C)),m=z("actions",m,p.blockValue,C),m.actions[p.blockValue].push({...q,_id:C}),a(m);case"conditions":return typeof d=="number"&&(m=z("conditions",m,d,C)),m=z("conditions",m,p.blockValue,C),m.conditions[p.blockValue].push({...q,_id:C}),a(m);default:return j(!0),m=z("triggers",m,p.blockValue,C),m.triggers.push({...q,_id:C}),a(m)}}},collect:w=>({opacity:w.isDragging()?.4:1,isDragging:w.isDragging()})}),r=xn(null),[,k]=wn({accept:"box",canDrop:()=>!1,hover({_id:w,acceptedBy:f},x){var T;if(!r.current||e!==f)return;const p=(T=r.current)==null?void 0:T.getBoundingClientRect(),m=(p.bottom-p.top)/2,C=x.getClientOffset(),q=((C==null?void 0:C.y)||0)-p.top;if(l&&w!==l)switch(f){case"actions":if(d==="then"||d==="else"){const{index:S}=R(l,o.actions[d]);S!==w&&an(w,S,o[f][d],a,o,f,d,q,m)}return;case"conditions":if(typeof d=="number"){const{index:S}=R(l,o[f][d]);S!==w&&an(w,S,o[f][d],a,o,f,d,q,m)}return;default:{const{index:S}=R(l,o[f]);S!==w&&an(w,S,o[f],a,o,f,void 0,q,m);return}}}});E(()=>{_(Kn(),{captureDraggingState:!0})},[]),I(k(r));const H=window.innerWidth<600;return t.jsxs("div",{ref:H&&l?null:r,className:_n.root,style:{opacity:O},children:[t.jsx("div",{className:l?_n.drag:null,ref:l&&H?r:null}),c]})},St=({onClose:e,open:n})=>t.jsxs(Cn,{open:n,onClose:e,"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description",children:[t.jsx(vn,{children:t.jsxs("div",{style:{fontSize:"1rem",fontFamily:'"Roboto", "Helvetica", "Arial", sans-serif',fontWeight:400,lineHeight:1.5,letterSpacing:"0.00938em"},children:[t.jsx("h3",{children:u.I18n.t("On condition change")}),t.jsx("div",{children:u.I18n.t("help_on_change")}),t.jsx("h3",{children:u.I18n.t("Just check")}),t.jsx("div",{children:u.I18n.t("help_just_check")})]})}),t.jsx(jn,{children:t.jsx(In,{onClick:e,color:"primary",autoFocus:!0,startIcon:t.jsx(zn,{}),children:u.I18n.t("OK")})})]}),Nt=({onClose:e,open:n})=>t.jsxs(Cn,{open:n,onClose:e,"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description",children:[t.jsx(vn,{children:t.jsxs(En,{id:"alert-dialog-description",children:[t.jsx("h3",{children:u.I18n.t("On condition change")}),t.jsx("div",{children:u.I18n.t("help_on_change")}),t.jsx("h3",{children:u.I18n.t("Just check")}),t.jsx("div",{children:u.I18n.t("help_just_check")})]})}),t.jsx(jn,{children:t.jsx(In,{onClick:e,color:"primary",autoFocus:!0,children:u.I18n.t("OK")})})]}),pn=({size:e,blockValue:n,boolean:s,typeBlock:i,userRules:a,setUserRules:o,animation:c,setTourStep:l,tourStep:d,isTourOpen:j,theme:O,themeType:I,themeName:_})=>{var W;const[r,k]=M(!1),[H,w]=M(!1),[f,x]=M(!1),[p,m]=M("");s===void 0&&(s=!0);const C=wn({accept:"box",drop:()=>({blockValue:n}),hover:({acceptedBy:y,_id:L},Z)=>{k(y===i),x(!!L),m(Z.getHandlerId()||"")},canDrop:({acceptedBy:y})=>(w(y===i),y===i),collect:y=>{var L;return{isOver:y.isOver(),canDrop:((L=y.getItem())==null?void 0:L.acceptedBy)===i,offset:y.getClientOffset(),targetId:y.getHandlerId()}}}),q=C[0],{canDrop:T,isOver:S,offset:B,targetId:N}=q,h=C[1];E(()=>{m("")},[B]);const b=T&&S;let v="";b?v=r?"#00fb003d":"#fb00002e":T?v=H?"#00fb003d":"#fb00002e":B&&(v=N===p?"#fb00002e":"");let g;return i==="actions"?g=a.actions[n]:i==="conditions"?g=a.conditions[n]:g=a.triggers,t.jsx("div",{ref:h,style:{backgroundColor:v},className:`${u.Utils.clsx(D.contentBlockItem,e&&D.addClassHeight)} ${s?c?D.contentHeightOn:null:D.contentHeightOff}`,children:t.jsxs("div",{className:D.wrapperMargin,children:[g.map(y=>t.jsx(An,{typeBlock:i,...y,blockValue:n,allProperties:y,userRules:a,setUserRules:o,children:t.jsx(yn,{...y,isTourOpen:j,setTourStep:l,tourStep:d,settings:y,blockValue:n,userRules:a,setUserRules:o,theme:O,themeType:I,themeName:_})},y._id)),t.jsx("div",{style:b&&r&&!f?{height:((W=document.getElementById("height"))==null?void 0:W.clientHeight)||200}:void 0,className:`${D.emptyBlockStyle} ${b&&r&&!f?D.emptyBlock:D.emptyBlockNone}`})]})})},ln=({size:e,typeBlock:n,name:s,nameAdditionally:i,additionally:a,border:o,userRules:c,setUserRules:l,iconName:d,adapter:j,socket:O,setTourStep:I,tourStep:_,isTourOpen:r,theme:k,themeType:H,themeName:w})=>{const[f,x,p]=gn(n==="actions"?!1:[],`additionallyClickItems_${n}`),[m,C]=M(!1),[q,T]=M(!1);E(()=>{if(n==="conditions"&&(f==null?void 0:f.length)!==c.conditions.length-1){const N=[];c.conditions.forEach((h,b)=>{b>0&&N.push({_id:Date.now(),open:!0})}),x([...f,...N])}n==="actions"&&!p&&c.actions.else.length&&x(!0)},[]);const[S,B]=M(!1);return t.jsxs("div",{className:`${u.Utils.clsx(D.mainBlockItemRules,e&&D.addClassOverflow)} ${o&&!e?D.border:null}`,children:[t.jsxs("span",{id:"width",className:D.nameBlockItems,children:[t.jsx(Y,{iconName:d,className:D.iconThemCard,adapter:j,socket:O}),s]}),n==="conditions"?t.jsxs("div",{style:{width:"100%"},children:[t.jsxs(Pn,{variant:"standard",className:D.selectOnChange,value:c.justCheck||!1,onChange:N=>{const h=K("conditions",c);h.justCheck=N.target.value==="true",l(h)},children:[t.jsx(hn,{value:"false",children:u.I18n.t("on condition change")}),t.jsx(hn,{value:"true",children:u.I18n.t("just check")})]}),t.jsx(Un,{size:"small",title:u.I18n.t("Explanation"),className:D.selectOnChangeHelp,onClick:()=>C(!0),children:t.jsx(Bn,{className:D.selectOnChangeHelpIcon})})]}):null,t.jsx(pn,{setTourStep:I,tourStep:_,isTourOpen:r,blockValue:n==="actions"?"then":n==="conditions"?0:n,typeBlock:n,setUserRules:l,userRules:c,theme:k,themeName:w,themeType:H,size:e}),a&&[...Array(n==="actions"?1:c.conditions.length-1)].map((N,h)=>{const b=(v=h)=>n==="actions"?!!f:!!f.find((g,W)=>W===v&&g.open);return t.jsxs(bn,{children:[t.jsxs("div",{onClick:()=>{if(n==="actions")return x(!f),null;let v=JSON.parse(JSON.stringify(f));if(c.conditions[h+1].length)return v[h].open=!v[h].open,x(v),null;v=v.filter((g,W)=>W!==h),x(v),B(h),setTimeout(()=>{B(!1),l({...c,conditions:[...c.conditions.filter((g,W)=>W!==h+1)]})},250)},className:D.blockCardAdd,children:[b()?"-":"+",t.jsx("div",{className:D.cardAdd,children:i})]},h),t.jsx(pn,{blockValue:n==="actions"?"else":n==="conditions"?h+1:n,typeBlock:n,setUserRules:l,userRules:c,boolean:b(),animation:S===h,size:e,theme:k,themeName:w,themeType:H})]},`${h}_block_${n}`)}),a&&n==="conditions"&&t.jsxs("div",{onClick:()=>{x([...f,{_id:Date.now(),open:!0}]),l({...c,conditions:[...c.conditions,[]]}),B(c.conditions.length-1),setTimeout(()=>B(!1),1e3)},className:D.blockCardAdd,children:["+",t.jsx("div",{className:D.cardAdd,children:i})]}),t.jsx(St,{open:m,onClose:()=>C(!1)}),t.jsx(Nt,{open:q,onClose:()=>T(!1)})]})},$t="_menuRules_1qqcb_1",qt="_switchesRenderWrapper_1qqcb_13",Bt="_menuOff_1qqcb_22",Mt="_menuTitle_1qqcb_28",Ht="_marginAuto_1qqcb_42",Wt="_inputWidth_1qqcb_47",Tt="_menuWrapper_1qqcb_52",Et="_hamburgerWrapper_1qqcb_57",Pt="_hamburgerOff_1qqcb_74",Ut="_nothingFound_1qqcb_82",Ft="_resetSearch_1qqcb_89",Jt="_controlPanel_1qqcb_101",Lt="_controlPanelAppBar_1qqcb_112",zt="_addClassMenu_1qqcb_126",Gt="_addClassBackground_1qqcb_132",Kt="_addClassPosition_1qqcb_136",$={menuRules:$t,switchesRenderWrapper:qt,menuOff:Bt,menuTitle:Mt,marginAuto:Ht,inputWidth:Wt,menuWrapper:Tt,hamburgerWrapper:Et,hamburgerOff:Pt,nothingFound:Ut,resetSearch:Ft,controlPanel:Jt,controlPanelAppBar:Lt,addClassMenu:zt,addClassBackground:Gt,addClassPosition:Kt},Qt=e=>{const{allProperties:n,allProperties:{acceptedBy:s,id:i},setUserRules:a,userRules:o,setTourStep:c,tourStep:l,isTourOpen:d,onTouchMove:j,isActive:O}=e;return t.jsx(An,{allProperties:n,id:n.id,isActive:O,setUserRules:a,userRules:o,children:t.jsx(On,{onDoubleClick:()=>{d&&l===J.addScheduleByDoubleClick&&i==="TriggerScheduleBlock"&&c(J.openTagsMenu),d&&l===J.addActionPrintText&&i==="ActionPrintText"&&c(J.showJavascript);const I=Date.now();let _;switch(s){case"actions":_="then";break;case"conditions":_=o[s].length-1;break}const r=K(s,o,_),k={id:i,_id:I,acceptedBy:s};_!==void 0?s==="actions"?r.actions[_].push({...k}):s==="conditions"&&r.conditions[_].push({...k}):r.triggers.push({...k}),a(r)},...e,...n,onTouchMove:j})})},Yt="_hamburgerMenu_hqnsm_8",Zt="_animate_hqnsm_21",un={hamburgerMenu:Yt,animate:Zt};function Xt({bool:e}){return t.jsx("div",{className:`${un.hamburgerMenu} ${e?un.animate:""}`})}const Vt=({addClass:e,setAllBlocks:n,allBlocks:s,userRules:i,onChangeBlocks:a,setTourStep:o,tourStep:c,isTourOpen:l})=>{const{blocks:d,socket:j}=tn(en),[O,I]=gn(!1,"hamburgerOnOff"),[_,r]=gn({text:"",type:"triggers",index:0},"filterControlPanel"),k=(f=_.text,x=_.type)=>{if(!d)return;let p=[...d];p=p.filter(m=>{if(!f)return!0;const{name:C}=m.getStaticData();return C&&u.I18n.t(C).toLowerCase().includes(f.toLowerCase())}),p=p.filter(m=>x===m.getStaticData().acceptedBy),n(p)},H=(f,x)=>{l&&x===0&&c===J.selectTriggers&&o(J.addScheduleByDoubleClick),l&&x===2&&c===J.selectActions&&o(J.addActionPrintText),r({..._,index:x,type:["triggers","conditions","actions"][x]}),k(_.text,["triggers","conditions","actions"][x])},w=f=>({id:`scrollable-force-tab-${f}`,"aria-controls":`scrollable-force-tabpanel-${f}`});return E(()=>{k()},[d]),t.jsx(Fn,{mouseEvent:!1,touchEvent:"onTouchStart",onClickAway:()=>I(!0),children:t.jsxs("div",{className:u.Utils.clsx($.menuWrapper,e[1035]&&$.addClassMenu),children:[t.jsx("div",{className:`${$.hamburgerWrapper} ${O?$.hamburgerOff:null}`,onClick:()=>I(!O),children:t.jsx(Xt,{bool:!O})}),t.jsxs("div",{className:`${u.Utils.clsx($.menuRules,e[1035]&&$.addClassBackground,e[835]&&$.addClassPosition)} ${O?$.menuOff:null}`,children:[t.jsx("div",{className:$.controlPanel,children:t.jsx(Jn,{className:$.controlPanelAppBar,position:"static",children:t.jsxs(Ln,{value:_.index,onChange:H,children:[t.jsx(sn,{className:"blocks-triggers",title:u.I18n.t("Triggers"),icon:t.jsx(Y,{iconName:"FlashOn"}),...w(0)}),t.jsx(sn,{title:u.I18n.t("Conditions"),className:"blocks-conditions",icon:t.jsx(Y,{iconName:"Help"}),...w(1)}),t.jsx(sn,{title:u.I18n.t("Actions"),className:"blocks-actions",icon:t.jsx(Y,{iconName:"PlayForWork"}),...w(2)})]})})}),t.jsx("div",{className:$.switchesRenderWrapper,children:t.jsxs("span",{children:[s.map(f=>{const{name:x,id:p,icon:m,adapter:C}=f.getStaticData();return t.jsx(bn,{children:t.jsx(Qt,{adapter:C,allProperties:f.getStaticData(),icon:m,id:p,isActive:!1,isTourOpen:l,name:x,onTouchMove:()=>I(!0),setTourStep:o,setUserRules:a,socket:j,tourStep:c,userRules:i})},p)}),!s.length&&t.jsxs("div",{className:$.nothingFound,children:[u.I18n.t("Nothing found"),"...",t.jsx("div",{className:$.resetSearch,onClick:()=>{r({..._,text:""}),k("")},children:u.I18n.t("reset search")})]})]})}),t.jsx("div",{className:u.Utils.clsx($.menuTitle,$.marginAuto)}),t.jsx(Mn,{className:$.inputWidth,fullWidth:!0,customValue:!0,value:_.text,size:"small",autoComplete:"off",label:u.I18n.t("search"),variant:"outlined",onChange:f=>{r({..._,text:f}),k(f)}})]})]})})};let dn=[];const ge=({code:e,onChange:n,themeName:s,themeType:i,theme:a,setTourStep:o,tourStep:c,isTourOpen:l,command:d,scriptId:j,changed:O,running:I})=>{var v;const{blocks:_,socket:r,setOnUpdate:k,setOnDebugMessage:H,setEnableSimulation:w}=tn(en),[f,x]=M([]),[p,m]=M(mn(e)),[C,q]=M(""),[T,S]=M(!1);E(()=>{let g,W;const y=(U,A)=>{U===`${g}.alive`&&W!==(A==null?void 0:A.val)&&(W=!!(A!=null&&A.val),W&&g&&(r==null||r.sendTo(g.replace(/^system\.adapter\./,""),"rulesOn",j)))},L=(U,A)=>{var F,Q;r&&g!==((F=A==null?void 0:A.common)==null?void 0:F.engine)&&(g&&(r.unsubscribeState(`${g}.alive`,y),W&&r.sendTo(g.replace(/^system\.adapter\./,""),"rulesOn",j)),g=(Q=A==null?void 0:A.common)==null?void 0:Q.engine,g&&g&&r.subscribeState(`${g}.alive`,y))},Z=(U,A)=>{if(A)try{const F=JSON.parse(A.val),Q=Date.now();if(F.ruleId===j&&Q-F.ts<1e3){const P=[...dn,{blockId:F.blockId,data:F.data,ts:F.ts}];P.length>200&&P.splice(0,200-P.length);for(let X=P.length-1;X>=0;X--)if(P[X].ts{var A;g=(A=U==null?void 0:U.common)==null?void 0:A.engine,r.subscribeObject(j,L),g&&(r.subscribeState(`${g}.alive`,y),r.subscribeState(`${g.replace(/^system\.adapter\./,"")}.debug.rules`,Z))}),function(){r==null||r.unsubscribeState(j,y),g&&(r==null||r.unsubscribeObject(`${g}.alive`,L),W&&(r==null||r.sendTo(g.replace(/^system\.adapter\./,""),"rulesOff",j)),r==null||r.unsubscribeState(`${g.replace(/^system\.adapter\./,"")}.debug.rules`,Z))}},[]),E(()=>{w(!O&&I)},[O,I,w]),E(()=>{d&&(q(d),T||S(!0))},[d]),E(()=>{const g=mn(e);JSON.stringify(g)!==JSON.stringify(p)&&(m(g),k(!0))},[e]),E(()=>{document.getElementsByTagName("HTML")[0].className=s||"blue"},[s]);const B=fn(g=>{m(g),_&&n(Hn(g,_))},[_,n]),N=xn(null),[h,b]=M({835:!1,1035:!1});return E(()=>{N.current&&(N.current.clientWidth<=1035&&b({835:!1,1035:!0}),N.current.clientWidth<=835&&b({1035:!0,835:!0}),N.current.clientWidth>1035&&b({835:!1,1035:!1}))},[((v=N.current)==null?void 0:v.clientWidth)||0]),!_||!r?null:t.jsxs("div",{className:on.wrapperRules,ref:N,children:[t.jsx(lt,{allBlocks:f,socket:r}),T?C==="export"?t.jsx(Wn,{scriptId:j,themeType:i,onClose:()=>S(!1),text:JSON.stringify(p,null,2)}):t.jsx(Tn,{themeType:i,onClose:g=>{S(!1),g&&B(JSON.parse(g))}}):null,t.jsxs("div",{className:u.Utils.clsx(on.rootWrapper,h[835]&&on.addClass),children:[t.jsx(Vt,{setAllBlocks:x,allBlocks:f,userRules:p,onChangeBlocks:B,setTourStep:o,tourStep:c,addClass:h,isTourOpen:l}),t.jsx(ln,{socket:r,setUserRules:B,userRules:p,isTourOpen:l,setTourStep:o,tourStep:c,name:`${u.I18n.t("when")}...`,typeBlock:"triggers",iconName:"FlashOn",size:h[835],themeType:i,themeName:s,theme:a}),t.jsx(ln,{socket:r,setUserRules:B,isTourOpen:l,setTourStep:o,tourStep:c,userRules:p,name:`...${u.I18n.t("and")}...`,typeBlock:"conditions",iconName:"Help",nameAdditionally:u.I18n.t("or"),additionally:!0,border:!0,size:h[835],themeType:i,themeName:s,theme:a}),t.jsx(ln,{socket:r,setUserRules:B,isTourOpen:l,setTourStep:o,tourStep:c,userRules:p,name:`...${u.I18n.t("then")}`,typeBlock:"actions",iconName:"PlayForWork",nameAdditionally:u.I18n.t("else"),additionally:!0,size:h[835],themeType:i,themeName:s,theme:a})]})]},"rulesEditor")};export{ge as default}; diff --git a/admin/assets/index-Cu-TydZj.js b/admin/assets/index-Cu-TydZj.js deleted file mode 100644 index 8e4cd588d..000000000 --- a/admin/assets/index-Cu-TydZj.js +++ /dev/null @@ -1,5 +0,0 @@ -import{c as z,j as k}from"./createSvgIcon-DPvF8xqu.js";import{a as E,n as jt,u as Dt,o as Ht,l as B,b as G,_ as Ct,c as ia,k as y}from"./iobroker_javascript__loadShare__react__loadShare__.mjs-CTZOFJS2.js";import{P as s}from"./iobroker_javascript__loadShare__prop_mf_2_types__loadShare__.mjs-BCtSFofY.js";var ct={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},Ga=E.createContext&&E.createContext(ct),Et=["attr","size","title"];function Ot(a,t){if(a==null)return{};var i,n,e=Ft(a,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(a);for(n=0;nE.createElement(t.tag,ea({key:i},t.attr),lt(t.child)))}function p(a){return t=>E.createElement(Vt,na({attr:ea({},a.attr)},t),lt(a.child))}function Vt(a){var t=i=>{var{attr:n,size:e,title:c}=a,r=Ot(a,Et),d=e||i.size||"1em",u;return i.className&&(u=i.className),a.className&&(u=(u?u+" ":"")+a.className),E.createElement("svg",na({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},i.attr,n,r,{className:u,style:ea(ea({color:a.color||i.color},i.style),a.style),height:d,width:d,xmlns:"http://www.w3.org/2000/svg"}),c&&E.createElement("title",null,c),a.children)};return Ga!==void 0?E.createElement(Ga.Consumer,null,i=>t(i)):t(ct)}function Li(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M17.65 6.35A7.958 7.958 0 0 0 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08A5.99 5.99 0 0 1 12 18c-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z"},child:[]}]})(a)}function _i(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"},child:[]}]})(a)}function Vi(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"},child:[]}]})(a)}function Pi(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"},child:[]}]})(a)}function Si(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z"},child:[]}]})(a)}function Bi(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"m4 12 1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8-8 8z"},child:[]}]})(a)}function Ii(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"m12 4-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z"},child:[]}]})(a)}function Ti(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"m20 12-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z"},child:[]}]})(a)}function qi(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z"},child:[]}]})(a)}function Ri(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"circle",attr:{cx:"12",cy:"19",r:"2"},child:[]},{tag:"path",attr:{d:"M10 3h4v12h-4z"},child:[]}]})(a)}function $i(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"m21.41 10.59-7.99-8c-.78-.78-2.05-.78-2.83 0l-8.01 8c-.78.78-.78 2.05 0 2.83l8.01 8c.78.78 2.05.78 2.83 0l7.99-8c.79-.79.79-2.05 0-2.83zM13.5 14.5V12H10v3H8v-4c0-.55.45-1 1-1h4.5V7.5L17 11l-3.5 3.5z"},child:[]}]})(a)}function Ki(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69zM12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6c3.31 0 6 2.69 6 6s-2.69 6-6 6z"},child:[]}]})(a)}function Wi(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M9 16h6v-6h4l-7-7-7 7h4zm-4 2h14v2H5z"},child:[]}]})(a)}function Gi(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"m17 16-4-4V8.82C14.16 8.4 15 7.3 15 6c0-1.66-1.34-3-3-3S9 4.34 9 6c0 1.3.84 2.4 2 2.82V12l-4 4H3v5h5v-3.05l4-4.2 4 4.2V21h5v-5h-4z"},child:[]}]})(a)}function Ni(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M17 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14c1.1 0 2-.9 2-2V7l-4-4zm-5 16c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3zm3-10H5V5h10v4z"},child:[]}]})(a)}function Ui(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"},child:[]}]})(a)}function Yi(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"},child:[]}]})(a)}function Zi(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M16 13h-3V3h-2v10H8l4 4 4-4zM4 19v2h16v-2H4z"},child:[]}]})(a)}function Ji(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M15 16v1.26l-6-3v-3.17L11.7 8H16V2h-6v4.9L7.3 10H3v6h5l7 3.5V22h6v-6z"},child:[]}]})(a)}function Qi(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M16.56 8.94 7.62 0 6.21 1.41l2.38 2.38-5.15 5.15a1.49 1.49 0 0 0 0 2.12l5.5 5.5c.29.29.68.44 1.06.44s.77-.15 1.06-.44l5.5-5.5c.59-.58.59-1.53 0-2.12zM5.21 10 10 5.21 14.79 10H5.21zM19 11.5s-2 2.17-2 3.5c0 1.1.9 2 2 2s2-.9 2-2c0-1.33-2-3.5-2-3.5zM2 20h20v4H2v-4z"},child:[]}]})(a)}function Xi(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M8.4 18.2c.38.5.6 1.12.6 1.8 0 1.66-1.34 3-3 3s-3-1.34-3-3 1.34-3 3-3c.44 0 .85.09 1.23.26l1.41-1.77a4.504 4.504 0 0 1-1.09-3.69l-2.03-.68A2.997 2.997 0 0 1 0 9.5c0-1.66 1.34-3 3-3s3 1.34 3 3c0 .07 0 .14-.01.21l2.03.68a4.468 4.468 0 0 1 3.22-2.32V5.91A3.018 3.018 0 0 1 9 3c0-1.66 1.34-3 3-3s3 1.34 3 3c0 1.4-.96 2.57-2.25 2.91v2.16c1.4.23 2.58 1.11 3.22 2.32L18 9.71V9.5c0-1.66 1.34-3 3-3s3 1.34 3 3-1.34 3-3 3c-1.06 0-1.98-.55-2.52-1.37l-2.03.68a4.49 4.49 0 0 1-1.09 3.69l1.41 1.77c.38-.18.79-.27 1.23-.27 1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3c0-.68.22-1.3.6-1.8l-1.41-1.77c-1.35.75-3.01.76-4.37 0L8.4 18.2z"},child:[]}]})(a)}function an(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M5 13h14v-2H5v2zm-2 4h14v-2H3v2zM7 7v2h14V7H7z"},child:[]}]})(a)}function tn(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z"},child:[]}]})(a)}function nn(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"},child:[]}]})(a)}function en(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 8c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm8.94 3A8.994 8.994 0 0 0 13 3.06V1h-2v2.06A8.994 8.994 0 0 0 3.06 11H1v2h2.06A8.994 8.994 0 0 0 11 20.94V23h2v-2.06A8.994 8.994 0 0 0 20.94 13H23v-2h-2.06zM12 19c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7z"},child:[]}]})(a)}function on(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M7 5h10v2h2V3c0-1.1-.9-1.99-2-1.99L7 1c-1.1 0-2 .9-2 2v4h2V5zm8.41 11.59L20 12l-4.59-4.59L14 8.83 17.17 12 14 15.17l1.41 1.42zM10 15.17 6.83 12 10 8.83 8.59 7.41 4 12l4.59 4.59L10 15.17zM17 19H7v-2H5v4c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2v-4h-2v2z"},child:[]}]})(a)}function pn(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M15.67 4H14V2h-4v2H8.33C7.6 4 7 4.6 7 5.33v15.33C7 21.4 7.6 22 8.33 22h7.33c.74 0 1.34-.6 1.34-1.33V5.33C17 4.6 16.4 4 15.67 4zM13 18h-2v-2h2v2zm0-4h-2V9h2v5z"},child:[]}]})(a)}function cn(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M3 10h11v2H3zM3 6h11v2H3zM3 14h7v2H3zM20.59 11.93l-4.25 4.24-2.12-2.12-1.41 1.41L16.34 19 22 13.34z"},child:[]}]})(a)}function ln(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M8 5v14l11-7z"},child:[]}]})(a)}function rn(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M6 19h4V5H6v14zm8-14v14h4V5h-4z"},child:[]}]})(a)}function dn(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M15.54 5.54 13.77 7.3 12 5.54 10.23 7.3 8.46 5.54 12 2zm2.92 10-1.76-1.77L18.46 12l-1.76-1.77 1.76-1.77L22 12zm-10 2.92 1.77-1.76L12 18.46l1.77-1.76 1.77 1.76L12 22zm-2.92-10 1.76 1.77L5.54 12l1.76 1.77-1.76 1.77L2 12z"},child:[]},{tag:"circle",attr:{cx:"12",cy:"12",r:"3"},child:[]}]})(a)}function sn(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M20 6h-4V4c0-1.11-.89-2-2-2h-4c-1.11 0-2 .89-2 2v2H4c-1.11 0-1.99.89-1.99 2L2 19c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V8c0-1.11-.89-2-2-2zm-6 0h-4V4h4v2z"},child:[]}]})(a)}function mn(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0zm0 0h24v24H0zm0 0h24v24H0zm0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46A11.804 11.804 0 0 0 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78 3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z"},child:[]}]})(a)}function vn(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z"},child:[]}]})(a)}function un(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M11.07 12.85c.77-1.39 2.25-2.21 3.11-3.44.91-1.29.4-3.7-2.18-3.7-1.69 0-2.52 1.28-2.87 2.34L6.54 6.96C7.25 4.83 9.18 3 11.99 3c2.35 0 3.96 1.07 4.78 2.41.7 1.15 1.11 3.3.03 4.9-1.2 1.77-2.35 2.31-2.97 3.45-.25.46-.35.76-.35 2.24h-2.89c-.01-.78-.13-2.05.48-3.15zM14 20c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2z"},child:[]}]})(a)}function fn(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 3C6.95 3 3.15 4.85 0 7.23L12 22 24 7.25C20.85 4.87 17.05 3 12 3zm1 13h-2v-6h2v6zm-2-8V6h2v2h-2z"},child:[]}]})(a)}function xn(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M21 3.01H3c-1.1 0-2 .9-2 2V9h2V4.99h18v14.03H3V15H1v4.01c0 1.1.9 1.98 2 1.98h18c1.1 0 2-.88 2-1.98v-14a2 2 0 0 0-2-2zM11 16l4-4-4-4v3H1v2h10v3z"},child:[]}]})(a)}function hn(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M21 4H11l-1-3H3c-1.1 0-2 .9-2 2v15c0 1.1.9 2 2 2h8l1 3h9c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zM7 16c-2.76 0-5-2.24-5-5s2.24-5 5-5c1.35 0 2.48.5 3.35 1.3L9.03 8.57c-.38-.36-1.04-.78-2.03-.78-1.74 0-3.15 1.44-3.15 3.21S5.26 14.21 7 14.21c2.01 0 2.84-1.44 2.92-2.41H7v-1.71h4.68c.07.31.12.61.12 1.02C11.8 13.97 9.89 16 7 16zm6.17-5.42h3.7c-.43 1.25-1.11 2.43-2.05 3.47-.31-.35-.6-.72-.86-1.1l-.79-2.37zm8.33 9.92c0 .55-.45 1-1 1H14l2-2.5-1.04-3.1 3.1 3.1.92-.92-3.3-3.25.02-.02c1.13-1.25 1.93-2.69 2.4-4.22H20v-1.3h-4.53V8h-1.29v1.29h-1.44L11.46 5.5h9.04c.55 0 1 .45 1 1v14z"},child:[]},{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0zm0 0h24v24H0z"},child:[]}]})(a)}function gn(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zm2.46-7.12 1.41-1.41L12 12.59l2.12-2.12 1.41 1.41L13.41 14l2.12 2.12-1.41 1.41L12 15.41l-2.12 2.12-1.41-1.41L10.59 14l-2.13-2.12zM15.5 4l-1-1h-5l-1 1H5v2h14V4z"},child:[]}]})(a)}function bn(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z"},child:[]}]})(a)}function wn(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"M9.4 16.6 4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0 4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z"},child:[]}]})(a)}function yn(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z",clipRule:"evenodd"},child:[]},{tag:"path",attr:{d:"m22.7 19-9.1-9.1c.9-2.3.4-5-1.5-6.9-2-2-5-2.4-7.4-1.3L9 6 6 9 1.6 4.7C.4 7.1.9 10.1 2.9 12.1c1.9 1.9 4.6 2.4 6.9 1.5l9.1 9.1c.4.4 1 .4 1.4 0l2.3-2.3c.5-.4.5-1.1.1-1.4z"},child:[]}]})(a)}function zn(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M20 8h-2.81a5.985 5.985 0 0 0-1.82-1.96L17 4.41 15.59 3l-2.17 2.17C12.96 5.06 12.49 5 12 5c-.49 0-.96.06-1.41.17L8.41 3 7 4.41l1.62 1.63C7.88 6.55 7.26 7.22 6.81 8H4v2h2.09c-.05.33-.09.66-.09 1v1H4v2h2v1c0 .34.04.67.09 1H4v2h2.81c1.04 1.79 2.97 3 5.19 3s4.15-1.21 5.19-3H20v-2h-2.09c.05-.33.09-.66.09-1v-1h2v-2h-2v-1c0-.34-.04-.67-.09-1H20V8zm-6 8h-4v-2h4v2zm0-4h-4v-2h4v2z"},child:[]}]})(a)}function kn(a){return p({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"M12 8c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm8.94 3A8.994 8.994 0 0 0 13 3.06V1h-2v2.06A8.994 8.994 0 0 0 3.06 11H1v2h2.06A8.994 8.994 0 0 0 11 20.94V23h2v-2.06A8.994 8.994 0 0 0 20.94 13H23v-2h-2.06zM12 19c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7z"},child:[]}]})(a)}const Mn=z(k.jsx("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6z"}),"Add"),jn=z(k.jsx("path",{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2m5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12z"}),"Cancel"),Dn=z(k.jsx("path",{d:"M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"}),"Check"),Hn=z(k.jsx("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Clear"),Cn=z(k.jsx("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close"),En=z(k.jsx("path",{d:"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2m0 16H8V7h11z"}),"ContentCopy"),On=z(k.jsx("path",{d:"M20 6h-8l-2-2H4c-1.11 0-1.99.89-1.99 2L2 18c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V8c0-1.11-.89-2-2-2m-1 8h-3v3h-2v-3h-3v-2h3V9h2v3h3z"}),"CreateNewFolder"),Fn=z(k.jsx("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6zM19 4h-3.5l-1-1h-5l-1 1H5v2h14z"}),"Delete"),An=z(k.jsx("path",{d:"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34a.996.996 0 0 0-1.41 0l-1.83 1.83 3.75 3.75z"}),"Edit"),Ln=z(k.jsx("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 17h-2v-2h2zm2.07-7.75-.9.92C13.45 12.9 13 13.5 13 15h-2v-.5c0-1.1.45-2.1 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41 0-1.1-.9-2-2-2s-2 .9-2 2H8c0-2.21 1.79-4 4-4s4 1.79 4 4c0 .88-.36 1.68-.93 2.25"}),"Help"),_n=z(k.jsx("path",{d:"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2m6.93 6h-2.95c-.32-1.25-.78-2.45-1.38-3.56 1.84.63 3.37 1.91 4.33 3.56M12 4.04c.83 1.2 1.48 2.53 1.91 3.96h-3.82c.43-1.43 1.08-2.76 1.91-3.96M4.26 14C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2zm.82 2h2.95c.32 1.25.78 2.45 1.38 3.56-1.84-.63-3.37-1.9-4.33-3.56m2.95-8H5.08c.96-1.66 2.49-2.93 4.33-3.56C8.81 5.55 8.35 6.75 8.03 8M12 19.96c-.83-1.2-1.48-2.53-1.91-3.96h3.82c-.43 1.43-1.08 2.76-1.91 3.96M14.34 14H9.66c-.09-.66-.16-1.32-.16-2s.07-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2m.25 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95c-.96 1.65-2.49 2.93-4.33 3.56M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2z"}),"Language");function Vn(a){return p({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M507.73 109.1c-2.24-9.03-13.54-12.09-20.12-5.51l-74.36 74.36-67.88-11.31-11.31-67.88 74.36-74.36c6.62-6.62 3.43-17.9-5.66-20.16-47.38-11.74-99.55.91-136.58 37.93-39.64 39.64-50.55 97.1-34.05 147.2L18.74 402.76c-24.99 24.99-24.99 65.51 0 90.5 24.99 24.99 65.51 24.99 90.5 0l213.21-213.21c50.12 16.71 107.47 5.68 147.37-34.22 37.07-37.07 49.7-89.32 37.91-136.73zM64 472c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z"},child:[]}]})(a)}function Pn(a){return p({attr:{viewBox:"0 0 576 512"},child:[{tag:"path",attr:{d:"M215.03 71.05L126.06 160H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V88.02c0-21.46-25.96-31.98-40.97-16.97zm233.32-51.08c-11.17-7.33-26.18-4.24-33.51 6.95-7.34 11.17-4.22 26.18 6.95 33.51 66.27 43.49 105.82 116.6 105.82 195.58 0 78.98-39.55 152.09-105.82 195.58-11.17 7.32-14.29 22.34-6.95 33.5 7.04 10.71 21.93 14.56 33.51 6.95C528.27 439.58 576 351.33 576 256S528.27 72.43 448.35 19.97zM480 256c0-63.53-32.06-121.94-85.77-156.24-11.19-7.14-26.03-3.82-33.12 7.46s-3.78 26.21 7.41 33.36C408.27 165.97 432 209.11 432 256s-23.73 90.03-63.48 115.42c-11.19 7.14-14.5 22.07-7.41 33.36 6.51 10.36 21.12 15.14 33.12 7.46C447.94 377.94 480 319.54 480 256zm-141.77-76.87c-11.58-6.33-26.19-2.16-32.61 9.45-6.39 11.61-2.16 26.2 9.45 32.61C327.98 228.28 336 241.63 336 256c0 14.38-8.02 27.72-20.92 34.81-11.61 6.41-15.84 21-9.45 32.61 6.43 11.66 21.05 15.8 32.61 9.45 28.23-15.55 45.77-45 45.77-76.88s-17.54-61.32-45.78-76.86z"},child:[]}]})(a)}function Sn(a){return p({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M215.03 71.05L126.06 160H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V88.02c0-21.46-25.96-31.98-40.97-16.97zM461.64 256l45.64-45.64c6.3-6.3 6.3-16.52 0-22.82l-22.82-22.82c-6.3-6.3-16.52-6.3-22.82 0L416 210.36l-45.64-45.64c-6.3-6.3-16.52-6.3-22.82 0l-22.82 22.82c-6.3 6.3-6.3 16.52 0 22.82L370.36 256l-45.63 45.63c-6.3 6.3-6.3 16.52 0 22.82l22.82 22.82c6.3 6.3 16.52 6.3 22.82 0L416 301.64l45.64 45.64c6.3 6.3 16.52 6.3 22.82 0l22.82-22.82c6.3-6.3 6.3-16.52 0-22.82L461.64 256z"},child:[]}]})(a)}function Bn(a){return p({attr:{viewBox:"0 0 384 512"},child:[{tag:"path",attr:{d:"M215.03 72.04L126.06 161H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V89.02c0-21.47-25.96-31.98-40.97-16.98zm123.2 108.08c-11.58-6.33-26.19-2.16-32.61 9.45-6.39 11.61-2.16 26.2 9.45 32.61C327.98 229.28 336 242.62 336 257c0 14.38-8.02 27.72-20.92 34.81-11.61 6.41-15.84 21-9.45 32.61 6.43 11.66 21.05 15.8 32.61 9.45 28.23-15.55 45.77-45 45.77-76.88s-17.54-61.32-45.78-76.87z"},child:[]}]})(a)}function In(a){return p({attr:{viewBox:"0 0 576 512"},child:[{tag:"path",attr:{d:"M384 64H192C86 64 0 150 0 256s86 192 192 192h192c106 0 192-86 192-192S490 64 384 64zm0 320c-70.8 0-128-57.3-128-128 0-70.8 57.3-128 128-128 70.8 0 128 57.3 128 128 0 70.8-57.3 128-128 128z"},child:[]}]})(a)}function Tn(a){return p({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M256 160c-52.9 0-96 43.1-96 96s43.1 96 96 96 96-43.1 96-96-43.1-96-96-96zm246.4 80.5l-94.7-47.3 33.5-100.4c4.5-13.6-8.4-26.5-21.9-21.9l-100.4 33.5-47.4-94.8c-6.4-12.8-24.6-12.8-31 0l-47.3 94.7L92.7 70.8c-13.6-4.5-26.5 8.4-21.9 21.9l33.5 100.4-94.7 47.4c-12.8 6.4-12.8 24.6 0 31l94.7 47.3-33.5 100.5c-4.5 13.6 8.4 26.5 21.9 21.9l100.4-33.5 47.3 94.7c6.4 12.8 24.6 12.8 31 0l47.3-94.7 100.4 33.5c13.6 4.5 26.5-8.4 21.9-21.9l-33.5-100.4 94.7-47.3c13-6.5 13-24.7.2-31.1zm-155.9 106c-49.9 49.9-131.1 49.9-181 0-49.9-49.9-49.9-131.1 0-181 49.9-49.9 131.1-49.9 181 0 49.9 49.9 49.9 131.1 0 181z"},child:[]}]})(a)}function qn(a){return p({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M367.9 329.76c-4.62 5.3-9.78 10.1-15.9 13.65v22.94c66.52 9.34 112 28.05 112 49.65 0 30.93-93.12 56-208 56S48 446.93 48 416c0-21.6 45.48-40.3 112-49.65v-22.94c-6.12-3.55-11.28-8.35-15.9-13.65C58.87 345.34 0 378.05 0 416c0 53.02 114.62 96 256 96s256-42.98 256-96c0-37.95-58.87-70.66-144.1-86.24zM256 128c35.35 0 64-28.65 64-64S291.35 0 256 0s-64 28.65-64 64 28.65 64 64 64zm-64 192v96c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-96c17.67 0 32-14.33 32-32v-96c0-26.51-21.49-48-48-48h-11.8c-11.07 5.03-23.26 8-36.2 8s-25.13-2.97-36.2-8H208c-26.51 0-48 21.49-48 48v96c0 17.67 14.33 32 32 32z"},child:[]}]})(a)}function Rn(a){return p({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M384 44v424c0 6.6-5.4 12-12 12h-48c-6.6 0-12-5.4-12-12V291.6l-195.5 181C95.9 489.7 64 475.4 64 448V64c0-27.4 31.9-41.7 52.5-24.6L312 219.3V44c0-6.6 5.4-12 12-12h48c6.6 0 12 5.4 12 12z"},child:[]}]})(a)}function $n(a){return p({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M496 384H160v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h80v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h336c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160h-80v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h336v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h80c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160H288V48c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16C7.2 64 0 71.2 0 80v32c0 8.8 7.2 16 16 16h208v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h208c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16z"},child:[]}]})(a)}function Kn(a){return p({attr:{viewBox:"0 0 416 512"},child:[{tag:"path",attr:{d:"M272 96c26.51 0 48-21.49 48-48S298.51 0 272 0s-48 21.49-48 48 21.49 48 48 48zM113.69 317.47l-14.8 34.52H32c-17.67 0-32 14.33-32 32s14.33 32 32 32h77.45c19.25 0 36.58-11.44 44.11-29.09l8.79-20.52-10.67-6.3c-17.32-10.23-30.06-25.37-37.99-42.61zM384 223.99h-44.03l-26.06-53.25c-12.5-25.55-35.45-44.23-61.78-50.94l-71.08-21.14c-28.3-6.8-57.77-.55-80.84 17.14l-39.67 30.41c-14.03 10.75-16.69 30.83-5.92 44.86s30.84 16.66 44.86 5.92l39.69-30.41c7.67-5.89 17.44-8 25.27-6.14l14.7 4.37-37.46 87.39c-12.62 29.48-1.31 64.01 26.3 80.31l84.98 50.17-27.47 87.73c-5.28 16.86 4.11 34.81 20.97 40.09 3.19 1 6.41 1.48 9.58 1.48 13.61 0 26.23-8.77 30.52-22.45l31.64-101.06c5.91-20.77-2.89-43.08-21.64-54.39l-61.24-36.14 31.31-78.28 20.27 41.43c8 16.34 24.92 26.89 43.11 26.89H384c17.67 0 32-14.33 32-32s-14.33-31.99-32-31.99z"},child:[]}]})(a)}function Wn(a){return p({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M400 224h-24v-72C376 68.2 307.8 0 224 0S72 68.2 72 152v72H48c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48zm-104 0H152v-72c0-39.7 32.3-72 72-72s72 32.3 72 72v72z"},child:[]}]})(a)}function Gn(a){return p({attr:{viewBox:"0 0 352 512"},child:[{tag:"path",attr:{d:"M96.06 454.35c.01 6.29 1.87 12.45 5.36 17.69l17.09 25.69a31.99 31.99 0 0 0 26.64 14.28h61.71a31.99 31.99 0 0 0 26.64-14.28l17.09-25.69a31.989 31.989 0 0 0 5.36-17.69l.04-38.35H96.01l.05 38.35zM0 176c0 44.37 16.45 84.85 43.56 115.78 16.52 18.85 42.36 58.23 52.21 91.45.04.26.07.52.11.78h160.24c.04-.26.07-.51.11-.78 9.85-33.22 35.69-72.6 52.21-91.45C335.55 260.85 352 220.37 352 176 352 78.61 272.91-.3 175.45 0 73.44.31 0 82.97 0 176zm176-80c-44.11 0-80 35.89-80 80 0 8.84-7.16 16-16 16s-16-7.16-16-16c0-61.76 50.24-112 112-112 8.84 0 16 7.16 16 16s-7.16 16-16 16z"},child:[]}]})(a)}function Nn(a){return p({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z"},child:[]}]})(a)}function Un(a){return p({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M464 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48zM112 120c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56zM64 384h384V272l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L208 320l-55.515-55.515c-4.686-4.686-12.284-4.686-16.971 0L64 336v48z"},child:[]}]})(a)}function Yn(a){return p({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M464 128H272l-64-64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V176c0-26.51-21.49-48-48-48z"},child:[]}]})(a)}function Zn(a){return p({attr:{viewBox:"0 0 576 512"},child:[{tag:"path",attr:{d:"M572.694 292.093L500.27 416.248A63.997 63.997 0 0 1 444.989 448H45.025c-18.523 0-30.064-20.093-20.731-36.093l72.424-124.155A64 64 0 0 1 152 256h399.964c18.523 0 30.064 20.093 20.73 36.093zM152 224h328v-48c0-26.51-21.49-48-48-48H272l-64-64H48C21.49 64 0 85.49 0 112v278.046l69.077-118.418C86.214 242.25 117.989 224 152 224z"},child:[]}]})(a)}function Jn(a){return p({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M243.2 189.9V258c26.1 5.9 49.3 15.6 73.6 22.3v-68.2c-26-5.8-49.4-15.5-73.6-22.2zm223.3-123c-34.3 15.9-76.5 31.9-117 31.9C296 98.8 251.7 64 184.3 64c-25 0-47.3 4.4-68 12 2.8-7.3 4.1-15.2 3.6-23.6C118.1 24 94.8 1.2 66.3 0 34.3-1.3 8 24.3 8 56c0 19 9.5 35.8 24 45.9V488c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24v-94.4c28.3-12.1 63.6-22.1 114.4-22.1 53.6 0 97.8 34.8 165.2 34.8 48.2 0 86.7-16.3 122.5-40.9 8.7-6 13.8-15.8 13.8-26.4V95.9c.1-23.3-24.2-38.8-45.4-29zM169.6 325.5c-25.8 2.7-50 8.2-73.6 16.6v-70.5c26.2-9.3 47.5-15 73.6-17.4zM464 191c-23.6 9.8-46.3 19.5-73.6 23.9V286c24.8-3.4 51.4-11.8 73.6-26v70.5c-25.1 16.1-48.5 24.7-73.6 27.1V286c-27 3.7-47.9 1.5-73.6-5.6v67.4c-23.9-7.4-47.3-16.7-73.6-21.3V258c-19.7-4.4-40.8-6.8-73.6-3.8v-70c-22.4 3.1-44.6 10.2-73.6 20.9v-70.5c33.2-12.2 50.1-19.8 73.6-22v71.6c27-3.7 48.4-1.3 73.6 5.7v-67.4c23.7 7.4 47.2 16.7 73.6 21.3v68.4c23.7 5.3 47.6 6.9 73.6 2.7V143c27-4.8 52.3-13.6 73.6-22.5z"},child:[]}]})(a)}function Qn(a){return p({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M16 288c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h112v-64zm489-183L407.1 7c-4.5-4.5-10.6-7-17-7H384v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H152c-13.3 0-24 10.7-24 24v264h128v-65.2c0-14.3 17.3-21.4 27.4-11.3L379 308c6.6 6.7 6.6 17.4 0 24l-95.7 96.4c-10.1 10.1-27.4 3-27.4-11.3V352H128v136c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H376c-13.2 0-24-10.8-24-24z"},child:[]}]})(a)}function Xn(a){return p({attr:{viewBox:"0 0 576 512"},child:[{tag:"path",attr:{d:"M384 121.9c0-6.3-2.5-12.4-7-16.9L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128zM571 308l-95.7-96.4c-10.1-10.1-27.4-3-27.4 11.3V288h-64v64h64v65.2c0 14.3 17.3 21.4 27.4 11.3L571 332c6.6-6.6 6.6-17.4 0-24zm-379 28v-32c0-8.8 7.2-16 16-16h176V160H248c-13.2 0-24-10.8-24-24V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V352H208c-8.8 0-16-7.2-16-16z"},child:[]}]})(a)}function ae(a){return p({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M352.57 128c-28.09 0-54.09 4.52-77.06 12.86l12.41-123.11C289 7.31 279.81-1.18 269.33.13 189.63 10.13 128 77.64 128 159.43c0 28.09 4.52 54.09 12.86 77.06L17.75 224.08C7.31 223-1.18 232.19.13 242.67c10 79.7 77.51 141.33 159.3 141.33 28.09 0 54.09-4.52 77.06-12.86l-12.41 123.11c-1.05 10.43 8.11 18.93 18.59 17.62 79.7-10 141.33-77.51 141.33-159.3 0-28.09-4.52-54.09-12.86-77.06l123.11 12.41c10.44 1.05 18.93-8.11 17.62-18.59-10-79.7-77.51-141.33-159.3-141.33zM256 288a32 32 0 1 1 32-32 32 32 0 0 1-32 32z"},child:[]}]})(a)}function te(a){return p({attr:{viewBox:"0 0 640 512"},child:[{tag:"path",attr:{d:"M624 448h-80V113.45C544 86.19 522.47 64 496 64H384v64h96v384h144c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM312.24 1.01l-192 49.74C105.99 54.44 96 67.7 96 82.92V448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h336V33.18c0-21.58-19.56-37.41-39.76-32.17zM264 288c-13.25 0-24-14.33-24-32s10.75-32 24-32 24 14.33 24 32-10.75 32-24 32z"},child:[]}]})(a)}function ie(a){return p({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M436 192H312c-13.3 0-24-10.7-24-24V44c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v84h84c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12zm-276-24V44c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v84H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h124c13.3 0 24-10.7 24-24zm0 300V344c0-13.3-10.7-24-24-24H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h84v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm192 0v-84h84c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12H312c-13.3 0-24 10.7-24 24v124c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12z"},child:[]}]})(a)}function ne(a){return p({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M200 288H88c-21.4 0-32.1 25.8-17 41l32.9 31-99.2 99.3c-6.2 6.2-6.2 16.4 0 22.6l25.4 25.4c6.2 6.2 16.4 6.2 22.6 0L152 408l31.1 33c15.1 15.1 40.9 4.4 40.9-17V312c0-13.3-10.7-24-24-24zm112-64h112c21.4 0 32.1-25.9 17-41l-33-31 99.3-99.3c6.2-6.2 6.2-16.4 0-22.6L481.9 4.7c-6.2-6.2-16.4-6.2-22.6 0L360 104l-31.1-33C313.8 55.9 288 66.6 288 88v112c0 13.3 10.7 24 24 24zm96 136l33-31.1c15.1-15.1 4.4-40.9-17-40.9H312c-13.3 0-24 10.7-24 24v112c0 21.4 25.9 32.1 41 17l31-32.9 99.3 99.3c6.2 6.2 16.4 6.2 22.6 0l25.4-25.4c6.2-6.2 6.2-16.4 0-22.6L408 360zM183 71.1L152 104 52.7 4.7c-6.2-6.2-16.4-6.2-22.6 0L4.7 30.1c-6.2 6.2-6.2 16.4 0 22.6L104 152l-33 31.1C55.9 198.2 66.6 224 88 224h112c13.3 0 24-10.7 24-24V88c0-21.3-25.9-32-41-16.9z"},child:[]}]})(a)}function ee(a){return p({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M256,8C119,8,8,119,8,256S119,504,256,504,504,393,504,256,393,8,256,8Zm92.49,313h0l-20,25a16,16,0,0,1-22.49,2.5h0l-67-49.72a40,40,0,0,1-15-31.23V112a16,16,0,0,1,16-16h32a16,16,0,0,1,16,16V256l58,42.5A16,16,0,0,1,348.49,321Z"},child:[]}]})(a)}function oe(a){return p({attr:{viewBox:"0 0 384 512"},child:[{tag:"path",attr:{d:"M336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM96 424c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm0-96c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm0-96c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm96-192c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm128 368c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16z"},child:[]}]})(a)}function pe(a){return p({attr:{viewBox:"0 0 352 512"},child:[{tag:"path",attr:{d:"M176 80c-52.94 0-96 43.06-96 96 0 8.84 7.16 16 16 16s16-7.16 16-16c0-35.3 28.72-64 64-64 8.84 0 16-7.16 16-16s-7.16-16-16-16zM96.06 459.17c0 3.15.93 6.22 2.68 8.84l24.51 36.84c2.97 4.46 7.97 7.14 13.32 7.14h78.85c5.36 0 10.36-2.68 13.32-7.14l24.51-36.84c1.74-2.62 2.67-5.7 2.68-8.84l.05-43.18H96.02l.04 43.18zM176 0C73.72 0 0 82.97 0 176c0 44.37 16.45 84.85 43.56 115.78 16.64 18.99 42.74 58.8 52.42 92.16v.06h48v-.12c-.01-4.77-.72-9.51-2.15-14.07-5.59-17.81-22.82-64.77-62.17-109.67-20.54-23.43-31.52-53.15-31.61-84.14-.2-73.64 59.67-128 127.95-128 70.58 0 128 57.42 128 128 0 30.97-11.24 60.85-31.65 84.14-39.11 44.61-56.42 91.47-62.1 109.46a47.507 47.507 0 0 0-2.22 14.3v.1h48v-.05c9.68-33.37 35.78-73.18 52.42-92.16C335.55 260.85 352 220.37 352 176 352 78.8 273.2 0 176 0z"},child:[]}]})(a)}var Ua=function(){return Ua=Object.assign||function(t){for(var i,n=1,e=arguments.length;n0?e:`./${a.name}`;return typeof n.path!="string"&&Ya(n,"path",c),Ya(n,"relativePath",c),n}function St(a){const{name:t}=a;if(t&&t.lastIndexOf(".")!==-1&&!a.type){const n=t.split(".").pop().toLowerCase(),e=Pt.get(n);e&&Object.defineProperty(a,"type",{value:e,writable:!1,configurable:!1,enumerable:!0})}return a}function Ya(a,t,i){Object.defineProperty(a,t,{value:i,writable:!1,configurable:!1,enumerable:!0})}const Bt=[".DS_Store","Thumbs.db"];function It(a){return _(this,void 0,void 0,function*(){return oa(a)&&Tt(a.dataTransfer)?Kt(a.dataTransfer,a.type):qt(a)?Rt(a):Array.isArray(a)&&a.every(t=>"getFile"in t&&typeof t.getFile=="function")?$t(a):[]})}function Tt(a){return oa(a)}function qt(a){return oa(a)&&oa(a.target)}function oa(a){return typeof a=="object"&&a!==null}function Rt(a){return Ma(a.target.files).map(t=>I(t))}function $t(a){return _(this,void 0,void 0,function*(){return(yield Promise.all(a.map(i=>i.getFile()))).map(i=>I(i))})}function Kt(a,t){return _(this,void 0,void 0,function*(){if(a.items){const i=Ma(a.items).filter(e=>e.kind==="file");if(t!=="drop")return i;const n=yield Promise.all(i.map(Wt));return Za(rt(n))}return Za(Ma(a.files).map(i=>I(i)))})}function Za(a){return a.filter(t=>Bt.indexOf(t.name)===-1)}function Ma(a){if(a===null)return[];const t=[];for(let i=0;i[...t,...Array.isArray(i)?rt(i):[i]],[])}function Ja(a,t){return _(this,void 0,void 0,function*(){var i;if(globalThis.isSecureContext&&typeof a.getAsFileSystemHandle=="function"){const c=yield a.getAsFileSystemHandle();if(c===null)throw new Error(`${a} is not a File`);if(c!==void 0){const r=yield c.getFile();return r.handle=c,I(r)}}const n=a.getAsFile();if(!n)throw new Error(`${a} is not a File`);return I(n,(i=t==null?void 0:t.fullPath)!==null&&i!==void 0?i:void 0)})}function Gt(a){return _(this,void 0,void 0,function*(){return a.isDirectory?dt(a):Nt(a)})}function dt(a){const t=a.createReader();return new Promise((i,n)=>{const e=[];function c(){t.readEntries(r=>_(this,void 0,void 0,function*(){if(r.length){const d=Promise.all(r.map(Gt));e.push(d),c()}else try{const d=yield Promise.all(e);i(d)}catch(d){n(d)}}),r=>{n(r)})}c()})}function Nt(a){return _(this,void 0,void 0,function*(){return new Promise((t,i)=>{a.file(n=>{const e=I(n,a.fullPath);t(e)},n=>{i(n)})})})}var za=function(a,t){if(a&&t){var i=Array.isArray(t)?t:t.split(",");if(i.length===0)return!0;var n=a.name||"",e=(a.type||"").toLowerCase(),c=e.replace(/\/.*$/,"");return i.some(function(r){var d=r.trim().toLowerCase();return d.charAt(0)==="."?n.toLowerCase().endsWith(d):d.endsWith("/*")?c===d.replace(/\/.*$/,""):e===d})}return!0};function Qa(a){return Zt(a)||Yt(a)||mt(a)||Ut()}function Ut(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Yt(a){if(typeof Symbol<"u"&&a[Symbol.iterator]!=null||a["@@iterator"]!=null)return Array.from(a)}function Zt(a){if(Array.isArray(a))return ja(a)}function Xa(a,t){var i=Object.keys(a);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(a);t&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(a,e).enumerable})),i.push.apply(i,n)}return i}function at(a){for(var t=1;ta.length)&&(t=a.length);for(var i=0,n=new Array(t);i0&&arguments[0]!==void 0?arguments[0]:"",i=t.split(","),n=i.length>1?"one of ".concat(i.join(", ")):i[0];return{code:ti,message:"File type must be ".concat(n)}},tt=function(t){return{code:ii,message:"File is larger than ".concat(t," ").concat(t===1?"byte":"bytes")}},it=function(t){return{code:ni,message:"File is smaller than ".concat(t," ").concat(t===1?"byte":"bytes")}},pi={code:ei,message:"Too many files"};function ci(a){return a.type===""&&typeof a.getAsFile=="function"}function vt(a,t){var i=a.type==="application/x-moz-file"||ai(a,t)||ci(a);return[i,i?null:oi(t)]}function ut(a,t,i){if(L(a.size))if(L(t)&&L(i)){if(a.size>i)return[!1,tt(i)];if(a.sizei)return[!1,tt(i)]}return[!0,null]}function L(a){return a!=null}function li(a){var t=a.files,i=a.accept,n=a.minSize,e=a.maxSize,c=a.multiple,r=a.maxFiles,d=a.validator;return!c&&t.length>1||c&&r>=1&&t.length>r?!1:t.every(function(u){var D=vt(u,i),b=U(D,1),H=b[0],T=ut(u,n,e),q=U(T,1),R=q[0],$=d?d(u):null;return H&&R&&!$})}function pa(a){return typeof a.isPropagationStopped=="function"?a.isPropagationStopped():typeof a.cancelBubble<"u"?a.cancelBubble:!1}function N(a){return a.dataTransfer?Array.prototype.some.call(a.dataTransfer.types,function(t){return t==="Files"||t==="application/x-moz-file"}):!!a.target&&!!a.target.files}function nt(a){a.preventDefault()}function ri(a){return a.indexOf("MSIE")!==-1||a.indexOf("Trident/")!==-1}function di(a){return a.indexOf("Edge/")!==-1}function si(){var a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:window.navigator.userAgent;return ri(a)||di(a)}function j(){for(var a=arguments.length,t=new Array(a),i=0;i1?e-1:0),r=1;ra.length)&&(t=a.length);for(var i=0,n=new Array(t);i=0)&&Object.prototype.propertyIsEnumerable.call(a,n)&&(i[n]=a[n])}return i}function Hi(a,t){if(a==null)return{};var i={},n=Object.keys(a),e,c;for(c=0;c=0)&&(i[e]=a[e]);return i}var Ea=jt(function(a,t){var i=a.children,n=ca(a,hi),e=Ci(n),c=e.open,r=ca(e,gi);return Dt(t,function(){return{open:c}},[c]),E.createElement(Ht,null,i(m(m({},r),{},{open:c})))});Ea.displayName="Dropzone";var gt={disabled:!1,getFilesFromEvent:It,maxSize:1/0,minSize:0,multiple:!0,maxFiles:0,preventDropOnDocument:!0,noClick:!1,noKeyboard:!1,noDrag:!1,noDragEventsBubbling:!1,validator:null,useFsAccessApi:!1,autoFocus:!1};Ea.defaultProps=gt;Ea.propTypes={children:s.func,accept:s.objectOf(s.arrayOf(s.string)),multiple:s.bool,preventDropOnDocument:s.bool,noClick:s.bool,noKeyboard:s.bool,noDrag:s.bool,noDragEventsBubbling:s.bool,minSize:s.number,maxSize:s.number,maxFiles:s.number,disabled:s.bool,getFilesFromEvent:s.func,onFileDialogCancel:s.func,onFileDialogOpen:s.func,useFsAccessApi:s.bool,autoFocus:s.bool,onDragEnter:s.func,onDragLeave:s.func,onDragOver:s.func,onDrop:s.func,onDropAccepted:s.func,onDropRejected:s.func,onError:s.func,validator:s.func};var Ca={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,isDragGlobal:!1,acceptedFiles:[],fileRejections:[]};function Ci(){var a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=m(m({},gt),a),i=t.accept,n=t.disabled,e=t.getFilesFromEvent,c=t.maxSize,r=t.minSize,d=t.multiple,u=t.maxFiles,D=t.onDragEnter,b=t.onDragLeave,H=t.onDragOver,T=t.onDrop,q=t.onDropAccepted,R=t.onDropRejected,$=t.onFileDialogCancel,la=t.onFileDialogOpen,Oa=t.useFsAccessApi,Fa=t.autoFocus,ra=t.preventDropOnDocument,Aa=t.noClick,da=t.noKeyboard,La=t.noDrag,O=t.noDragEventsBubbling,sa=t.onError,K=t.validator,W=B(function(){return ui(i)},[i]),_a=B(function(){return vi(i)},[i]),ma=B(function(){return typeof la=="function"?la:pt},[la]),Y=B(function(){return typeof $=="function"?$:pt},[$]),g=G(null),w=G(null),bt=Ct(Ei,Ca),Va=ka(bt,2),va=Va[0],x=Va[1],wt=va.isFocused,Pa=va.isFileDialogActive,Z=G(typeof window<"u"&&window.isSecureContext&&Oa&&mi()),Sa=function(){!Z.current&&Pa&&setTimeout(function(){if(w.current){var l=w.current.files;l.length||(x({type:"closeDialog"}),Y())}},300)};ia(function(){return window.addEventListener("focus",Sa,!1),function(){window.removeEventListener("focus",Sa,!1)}},[w,Pa,Y,Z]);var V=G([]),F=G([]),Ba=function(l){g.current&&g.current.contains(l.target)||(l.preventDefault(),V.current=[])};ia(function(){return ra&&(document.addEventListener("dragover",nt,!1),document.addEventListener("drop",Ba,!1)),function(){ra&&(document.removeEventListener("dragover",nt),document.removeEventListener("drop",Ba))}},[g,ra]),ia(function(){var o=function(M){F.current=[].concat(et(F.current),[M.target]),N(M)&&x({isDragGlobal:!0,type:"setDragGlobal"})},l=function(M){F.current=F.current.filter(function(C){return C!==M.target&&C!==null}),!(F.current.length>0)&&x({isDragGlobal:!1,type:"setDragGlobal"})},v=function(){F.current=[],x({isDragGlobal:!1,type:"setDragGlobal"})},f=function(){F.current=[],x({isDragGlobal:!1,type:"setDragGlobal"})};return document.addEventListener("dragenter",o,!1),document.addEventListener("dragleave",l,!1),document.addEventListener("dragend",v,!1),document.addEventListener("drop",f,!1),function(){document.removeEventListener("dragenter",o),document.removeEventListener("dragleave",l),document.removeEventListener("dragend",v),document.removeEventListener("drop",f)}},[g]),ia(function(){return!n&&Fa&&g.current&&g.current.focus(),function(){}},[g,Fa,n]);var A=y(function(o){sa?sa(o):console.error(o)},[sa]),Ia=y(function(o){o.preventDefault(),o.persist(),aa(o),V.current=[].concat(et(V.current),[o.target]),N(o)&&Promise.resolve(e(o)).then(function(l){if(!(pa(o)&&!O)){var v=l.length,f=v>0&&li({files:l,accept:W,minSize:r,maxSize:c,multiple:d,maxFiles:u,validator:K}),h=v>0&&!f;x({isDragAccept:f,isDragReject:h,isDragActive:!0,type:"setDraggedFiles"}),D&&D(o)}}).catch(function(l){return A(l)})},[e,D,A,O,W,r,c,d,u,K]),Ta=y(function(o){o.preventDefault(),o.persist(),aa(o);var l=N(o);if(l&&o.dataTransfer)try{o.dataTransfer.dropEffect="copy"}catch{}return l&&H&&H(o),!1},[H,O]),qa=y(function(o){o.preventDefault(),o.persist(),aa(o);var l=V.current.filter(function(f){return g.current&&g.current.contains(f)}),v=l.indexOf(o.target);v!==-1&&l.splice(v,1),V.current=l,!(l.length>0)&&(x({type:"setDraggedFiles",isDragActive:!1,isDragAccept:!1,isDragReject:!1}),N(o)&&b&&b(o))},[g,b,O]),J=y(function(o,l){var v=[],f=[];o.forEach(function(h){var M=vt(h,W),C=ka(M,2),fa=C[0],xa=C[1],ha=ut(h,r,c),ta=ka(ha,2),ga=ta[0],ba=ta[1],wa=K?K(h):null;if(fa&&ga&&!wa)v.push(h);else{var ya=[xa,ba];wa&&(ya=ya.concat(wa)),f.push({file:h,errors:ya.filter(function(Mt){return Mt})})}}),(!d&&v.length>1||d&&u>=1&&v.length>u)&&(v.forEach(function(h){f.push({file:h,errors:[pi]})}),v.splice(0)),x({acceptedFiles:v,fileRejections:f,type:"setFiles"}),T&&T(v,f,l),f.length>0&&R&&R(f,l),v.length>0&&q&&q(v,l)},[x,d,W,r,c,u,T,q,R,K]),Q=y(function(o){o.preventDefault(),o.persist(),aa(o),V.current=[],N(o)&&Promise.resolve(e(o)).then(function(l){pa(o)&&!O||J(l,o)}).catch(function(l){return A(l)}),x({type:"reset"})},[e,J,A,O]),P=y(function(){if(Z.current){x({type:"openDialog"}),ma();var o={multiple:d,types:_a};window.showOpenFilePicker(o).then(function(l){return e(l)}).then(function(l){J(l,null),x({type:"closeDialog"})}).catch(function(l){fi(l)?(Y(l),x({type:"closeDialog"})):xi(l)?(Z.current=!1,w.current?(w.current.value=null,w.current.click()):A(new Error("Cannot open the file picker because the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API is not supported and no was provided."))):A(l)});return}w.current&&(x({type:"openDialog"}),ma(),w.current.value=null,w.current.click())},[x,ma,Y,Oa,J,A,_a,d]),Ra=y(function(o){!g.current||!g.current.isEqualNode(o.target)||(o.key===" "||o.key==="Enter"||o.keyCode===32||o.keyCode===13)&&(o.preventDefault(),P())},[g,P]),$a=y(function(){x({type:"focus"})},[]),Ka=y(function(){x({type:"blur"})},[]),Wa=y(function(){Aa||(si()?setTimeout(P,0):P())},[Aa,P]),S=function(l){return n?null:l},ua=function(l){return da?null:S(l)},X=function(l){return La?null:S(l)},aa=function(l){O&&l.stopPropagation()},yt=B(function(){return function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},l=o.refKey,v=l===void 0?"ref":l,f=o.role,h=o.onKeyDown,M=o.onFocus,C=o.onBlur,fa=o.onClick,xa=o.onDragEnter,ha=o.onDragOver,ta=o.onDragLeave,ga=o.onDrop,ba=ca(o,bi);return m(m(Ha({onKeyDown:ua(j(h,Ra)),onFocus:ua(j(M,$a)),onBlur:ua(j(C,Ka)),onClick:S(j(fa,Wa)),onDragEnter:X(j(xa,Ia)),onDragOver:X(j(ha,Ta)),onDragLeave:X(j(ta,qa)),onDrop:X(j(ga,Q)),role:typeof f=="string"&&f!==""?f:"presentation"},v,g),!n&&!da?{tabIndex:0}:{}),ba)}},[g,Ra,$a,Ka,Wa,Ia,Ta,qa,Q,da,La,n]),zt=y(function(o){o.stopPropagation()},[]),kt=B(function(){return function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},l=o.refKey,v=l===void 0?"ref":l,f=o.onChange,h=o.onClick,M=ca(o,wi),C=Ha({accept:W,multiple:d,type:"file",style:{border:0,clip:"rect(0, 0, 0, 0)",clipPath:"inset(50%)",height:"1px",margin:"0 -1px -1px 0",overflow:"hidden",padding:0,position:"absolute",width:"1px",whiteSpace:"nowrap"},onChange:S(j(f,Q)),onClick:S(j(h,zt)),tabIndex:-1},v,w);return m(m({},C),M)}},[w,i,d,Q,n]);return m(m({},va),{},{isFocused:wt&&!n,getRootProps:yt,getInputProps:kt,rootRef:g,inputRef:w,open:S(P)})}function Ei(a,t){switch(t.type){case"focus":return m(m({},a),{},{isFocused:!0});case"blur":return m(m({},a),{},{isFocused:!1});case"openDialog":return m(m({},Ca),{},{isFileDialogActive:!0});case"closeDialog":return m(m({},a),{},{isFileDialogActive:!1});case"setDraggedFiles":return m(m({},a),{},{isDragActive:t.isDragActive,isDragAccept:t.isDragAccept,isDragReject:t.isDragReject});case"setFiles":return m(m({},a),{},{acceptedFiles:t.acceptedFiles,fileRejections:t.fileRejections,isDragReject:!1});case"setDragGlobal":return m(m({},a),{},{isDragGlobal:t.isDragGlobal});case"reset":return m({},Ca);default:return a}}function pt(){}export{Xi as $,ee as A,Ki as B,Hn as C,oe as D,yn as E,Zn as F,Ea as G,Yi as H,Dn as I,Wi as J,Ln as K,_n as L,Zi as M,Pi as N,vn as O,qi as P,_i as Q,bn as R,Ii as S,Ti as T,Bi as U,tn as V,hn as W,Ci as X,p as Y,dn as Z,Ua as _,jn as a,Ji as a0,Gi as a1,Vn as a2,un as a3,Pn as a4,Bn as a5,$n as a6,Qi as a7,Rn as a8,kn as a9,qn as aa,Wn as ab,Gn as ac,Nn as ad,pe as ae,Un as af,ae as ag,Tn as ah,Kn as ai,on as aj,sn as ak,pn as al,te as am,In as an,Sn as ao,ie as ap,ne as aq,fn as ar,$i as as,nn as at,Ri as au,Fn as b,Cn as c,Yn as d,Xn as e,Qn as f,En as g,Mn as h,On as i,An as j,gn as k,Ui as l,mn as m,Vi as n,an as o,xn as p,zn as q,cn as r,en as s,Li as t,rn as u,ln as v,Ni as w,Si as x,wn as y,Jn as z}; diff --git a/admin/assets/index-c_pDs-29.js b/admin/assets/index-DnWxMXLc.js similarity index 99% rename from admin/assets/index-c_pDs-29.js rename to admin/assets/index-DnWxMXLc.js index 63beb76de..f641af6a1 100644 --- a/admin/assets/index-c_pDs-29.js +++ b/admin/assets/index-DnWxMXLc.js @@ -1,4 +1,4 @@ -import{j as M}from"./createSvgIcon-DPvF8xqu.js";import{a as ft}from"./iobroker_javascript__loadShare__react__loadShare__.mjs-CTZOFJS2.js";import{m as Rt,z as Bt,g as Ut}from"./index-lco9qhq6.js";import{z as Ze,o as Te,v as Nt,w as Mt,s as Lt,u as Vt,r as zt,_ as Ht,a as Gt,C as Pt,D as _t,F as Yt,G as wt,H as Qt}from"./iobroker_javascript__loadShare___mf_0_mui_mf_1_material__loadShare__.mjs-QWG5Arqe.js";import{M as Zt,k as Xt,l as ea,N as Tt,R as ta,H as aa,n as ra,t as na,v as sa,u as oa,S as ia,T as la,U as ca,V as ua}from"./index-Cu-TydZj.js";import{_ as we}from"./iobroker_javascript__loadShare___mf_0_iobroker_mf_1_adapter_mf_2_react_mf_2_v5__loadShare__.mjs-DkBjPSMw.js";import pa from"./ScriptEditorVanillaMonaco-yq11eIYC.js";import{r as fa}from"./iobroker_javascript__loadShare__react__loadShare__.mjs_commonjs-proxy-CE9lvhW8.js";function da(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}import"./iobroker_javascript__loadShare__prop_mf_2_types__loadShare__.mjs-BCtSFofY.js";import"./virtual_mf-REMOTE_ENTRY_ID_iobroker_javascript__remoteEntry_js-C9suQF96.js";import"./preload-helper-BDBacUwf.js";import"./iobroker_javascript__loadShare__react_mf_2_dom__loadShare__.mjs_commonjs-proxy-RQRRZMX5.js";import"./iobroker_javascript__loadShare__react_mf_2_dom__loadShare__.mjs-DeVAS-oa.js";import"./inheritsLoose-B0Ba5G9z.js";const ba={editorDiv:{height:"100%",width:"100%",overflow:"hidden",position:"relative"}};class ha extends ft.Component{constructor(v){super(v),this.state={lines:(this.props.script||"").split(/\r\n|\n/)}}render(){return M.jsx("div",{style:ba.editorDiv,children:M.jsx(pa,{triggerPrettier:1,name:this.props.scriptName,adapterName:this.props.adapterName,readOnly:!0,code:this.props.script||"",isDark:this.props.themeType==="dark",socket:this.props.socket,runningInstances:this.props.runningInstances,language:"javascript",breakpoints:this.props.breakpoints,location:this.props.paused?this.props.location:null,onToggleBreakpoint:v=>this.props.onToggleBreakpoint(v)},"scriptEditor2")},"scriptEditorDiv2")}}const Dt=34,Ke={logBox:{width:"100%",height:"100%",position:"relative",overflow:"hidden"},logBoxInner:Z=>({display:"inline-block",color:Z.palette.mode==="dark"?"white":"black",width:`calc(100% - ${Dt}px)`,height:"100%",overflow:"auto",position:"relative",verticalAlign:"top"}),info:Z=>({background:Z.palette.mode==="dark"?"darkgrey":"lightgrey",color:(Z.palette.mode==="dark","black")}),error:Z=>({background:"#FF0000",color:Z.palette.mode==="dark"?"black":"white"}),warn:Z=>({background:"#FF8000",color:Z.palette.mode==="dark"?"black":"white"}),debug:Z=>({background:"gray",opacity:.8,color:Z.palette.mode==="dark"?"black":"white"}),silly:Z=>({background:"gray",opacity:.6,color:Z.palette.mode==="dark"?"black":"white"}),table:{fontFamily:"monospace",width:"100%"},toolbox:{width:Dt,height:"100%",boxShadow:"2px 0px 4px -1px rgba(0, 0, 0, 0.2), 4px 0px 5px 0px rgba(0, 0, 0, 0.14), 1px 0px 10px 0px rgba(0, 0, 0, 0.12)",display:"inline-block",verticalAlign:"top",overflow:"hidden"},trTime:{width:90},trSeverity:{width:40,fontWeight:"bold"},iconButtons:{width:32,height:32,padding:4}};function ma(Z){let v,g=Z.getHours();return g<10&&(g=`0${g.toString()}`),v=`${g}:`,g=Z.getMinutes(),g<10&&(g=`0${g.toString()}`),v+=`${g}:`,g=Z.getSeconds(),g<10&&(g=`0${g.toString()}`),v+=`${g}.`,g=Z.getMilliseconds(),g<10?g=`00${g.toString()}`:g<100&&(g=`0${g.toString()}`),v+=g,v}class Ct extends ft.Component{messagesEnd;constructor(v){super(v),this.state={goBottom:!0},this.messagesEnd=ft.createRef()}static generateLine(v){return M.jsxs(Ze,{component:"tr",sx:Ke[v.severity],children:[M.jsx("td",{style:Ke.trTime,children:ma(new Date(v.ts))}),M.jsx("td",{style:Ke.trSeverity,children:v.severity}),M.jsx("td",{children:v.text})]},`tr_${v.ts}_${v.text.substring(v.text.length-10,v.text.length)}`)}renderLogList(v){return v!=null&&v.length?M.jsxs(Ze,{sx:Ke.logBoxInner,children:[M.jsx("table",{style:Ke.table,children:M.jsx("tbody",{children:v.map(g=>Ct.generateLine(g))})},"logTable"),M.jsx("div",{ref:this.messagesEnd,style:{float:"left",clear:"both"}},"logScrollPoint")]},"logList"):M.jsx(Ze,{sx:Ke.logBoxInner,style:{paddingLeft:10},children:we.I18n.t("Log outputs")},"logList")}onCopy(){we.Utils.copyToClipboard(this.props.console.join(` +import{j as M}from"./createSvgIcon-DPvF8xqu.js";import{a as ft}from"./iobroker_javascript__loadShare__react__loadShare__.mjs-CTZOFJS2.js";import{m as Rt,z as Bt,g as Ut}from"./index-3e3k-1o_.js";import{z as Ze,o as Te,v as Nt,w as Mt,s as Lt,u as Vt,r as zt,_ as Ht,a as Gt,C as Pt,D as _t,F as Yt,G as wt,H as Qt}from"./iobroker_javascript__loadShare___mf_0_mui_mf_1_material__loadShare__.mjs-QWG5Arqe.js";import{M as Zt,k as Xt,l as ea,O as Tt,S as ta,J as aa,n as ra,t as na,v as sa,u as oa,T as ia,U as la,V as ca,W as ua}from"./index-C49cpVll.js";import{_ as we}from"./iobroker_javascript__loadShare___mf_0_iobroker_mf_1_adapter_mf_2_react_mf_2_v5__loadShare__.mjs-DkBjPSMw.js";import pa from"./ScriptEditorVanillaMonaco-BvDS5a34.js";import{r as fa}from"./iobroker_javascript__loadShare__react__loadShare__.mjs_commonjs-proxy-CE9lvhW8.js";function da(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}import"./iobroker_javascript__loadShare__prop_mf_2_types__loadShare__.mjs-BCtSFofY.js";import"./virtual_mf-REMOTE_ENTRY_ID_iobroker_javascript__remoteEntry_js-D-eF6r8M.js";import"./preload-helper-BDBacUwf.js";import"./iobroker_javascript__loadShare__react_mf_2_dom__loadShare__.mjs_commonjs-proxy-RQRRZMX5.js";import"./iobroker_javascript__loadShare__react_mf_2_dom__loadShare__.mjs-DeVAS-oa.js";import"./inheritsLoose-B0Ba5G9z.js";const ba={editorDiv:{height:"100%",width:"100%",overflow:"hidden",position:"relative"}};class ha extends ft.Component{constructor(v){super(v),this.state={lines:(this.props.script||"").split(/\r\n|\n/)}}render(){return M.jsx("div",{style:ba.editorDiv,children:M.jsx(pa,{triggerPrettier:1,name:this.props.scriptName,adapterName:this.props.adapterName,readOnly:!0,code:this.props.script||"",isDark:this.props.themeType==="dark",socket:this.props.socket,runningInstances:this.props.runningInstances,language:"javascript",breakpoints:this.props.breakpoints,location:this.props.paused?this.props.location:null,onToggleBreakpoint:v=>this.props.onToggleBreakpoint(v)},"scriptEditor2")},"scriptEditorDiv2")}}const Dt=34,Ke={logBox:{width:"100%",height:"100%",position:"relative",overflow:"hidden"},logBoxInner:Z=>({display:"inline-block",color:Z.palette.mode==="dark"?"white":"black",width:`calc(100% - ${Dt}px)`,height:"100%",overflow:"auto",position:"relative",verticalAlign:"top"}),info:Z=>({background:Z.palette.mode==="dark"?"darkgrey":"lightgrey",color:(Z.palette.mode==="dark","black")}),error:Z=>({background:"#FF0000",color:Z.palette.mode==="dark"?"black":"white"}),warn:Z=>({background:"#FF8000",color:Z.palette.mode==="dark"?"black":"white"}),debug:Z=>({background:"gray",opacity:.8,color:Z.palette.mode==="dark"?"black":"white"}),silly:Z=>({background:"gray",opacity:.6,color:Z.palette.mode==="dark"?"black":"white"}),table:{fontFamily:"monospace",width:"100%"},toolbox:{width:Dt,height:"100%",boxShadow:"2px 0px 4px -1px rgba(0, 0, 0, 0.2), 4px 0px 5px 0px rgba(0, 0, 0, 0.14), 1px 0px 10px 0px rgba(0, 0, 0, 0.12)",display:"inline-block",verticalAlign:"top",overflow:"hidden"},trTime:{width:90},trSeverity:{width:40,fontWeight:"bold"},iconButtons:{width:32,height:32,padding:4}};function ma(Z){let v,g=Z.getHours();return g<10&&(g=`0${g.toString()}`),v=`${g}:`,g=Z.getMinutes(),g<10&&(g=`0${g.toString()}`),v+=`${g}:`,g=Z.getSeconds(),g<10&&(g=`0${g.toString()}`),v+=`${g}.`,g=Z.getMilliseconds(),g<10?g=`00${g.toString()}`:g<100&&(g=`0${g.toString()}`),v+=g,v}class Ct extends ft.Component{messagesEnd;constructor(v){super(v),this.state={goBottom:!0},this.messagesEnd=ft.createRef()}static generateLine(v){return M.jsxs(Ze,{component:"tr",sx:Ke[v.severity],children:[M.jsx("td",{style:Ke.trTime,children:ma(new Date(v.ts))}),M.jsx("td",{style:Ke.trSeverity,children:v.severity}),M.jsx("td",{children:v.text})]},`tr_${v.ts}_${v.text.substring(v.text.length-10,v.text.length)}`)}renderLogList(v){return v!=null&&v.length?M.jsxs(Ze,{sx:Ke.logBoxInner,children:[M.jsx("table",{style:Ke.table,children:M.jsx("tbody",{children:v.map(g=>Ct.generateLine(g))})},"logTable"),M.jsx("div",{ref:this.messagesEnd,style:{float:"left",clear:"both"}},"logScrollPoint")]},"logList"):M.jsx(Ze,{sx:Ke.logBoxInner,style:{paddingLeft:10},children:we.I18n.t("Log outputs")},"logList")}onCopy(){we.Utils.copyToClipboard(this.props.console.join(` `))}scrollToBottom(){var v,g;(g=(v=this.messagesEnd)==null?void 0:v.current)==null||g.scrollIntoView({behavior:"smooth"})}componentDidUpdate(){this.state.goBottom&&this.scrollToBottom()}render(){const v=this.props.console;return M.jsxs("div",{style:Ke.logBox,children:[M.jsxs("div",{style:Ke.toolbox,children:[M.jsx(Te,{style:Ke.iconButtons,onClick:()=>this.setState({goBottom:!this.state.goBottom}),color:this.state.goBottom?"secondary":void 0,size:"medium",children:M.jsx(Zt,{})}),v!=null&&v.length?M.jsx(Te,{style:Ke.iconButtons,onClick:()=>this.props.onClearAllLogs(),size:"medium",children:M.jsx(Xt,{})}):null,v!=null&&v.length?M.jsx(Te,{style:Ke.iconButtons,onClick:()=>this.onCopy(),size:"medium",children:M.jsx(ea,{})}):null]},"toolbox"),this.renderLogList(v)]})}}var It={exports:{}},va=It.exports;(function(Z,v){(function(g,a){Z.exports=a(fa)})(va,(function(g){return(function(a){var t={};function e(s){if(t[s])return t[s].exports;var c=t[s]={i:s,l:!1,exports:{}};return a[s].call(c.exports,c,c.exports,e),c.l=!0,c.exports}return e.m=a,e.c=t,e.d=function(s,c,d){e.o(s,c)||Object.defineProperty(s,c,{enumerable:!0,get:d})},e.r=function(s){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(s,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(s,"__esModule",{value:!0})},e.t=function(s,c){if(1&c&&(s=e(s)),8&c||4&c&&typeof s=="object"&&s&&s.__esModule)return s;var d=Object.create(null);if(e.r(d),Object.defineProperty(d,"default",{enumerable:!0,value:s}),2&c&&typeof s!="string")for(var p in s)e.d(d,p,function(f){return s[f]}.bind(null,p));return d},e.n=function(s){var c=s&&s.__esModule?function(){return s.default}:function(){return s};return e.d(c,"a",c),c},e.o=function(s,c){return Object.prototype.hasOwnProperty.call(s,c)},e.p="",e(e.s=48)})([function(a,t){a.exports=g},function(a,t){var e=a.exports={version:"2.6.12"};typeof __e=="number"&&(__e=e)},function(a,t,e){var s=e(26)("wks"),c=e(17),d=e(3).Symbol,p=typeof d=="function";(a.exports=function(f){return s[f]||(s[f]=p&&d[f]||(p?d:c)("Symbol."+f))}).store=s},function(a,t){var e=a.exports=typeof window<"u"&&window.Math==Math?window:typeof self<"u"&&self.Math==Math?self:Function("return this")();typeof __g=="number"&&(__g=e)},function(a,t,e){a.exports=!e(8)((function(){return Object.defineProperty({},"a",{get:function(){return 7}}).a!=7}))},function(a,t){var e={}.hasOwnProperty;a.exports=function(s,c){return e.call(s,c)}},function(a,t,e){var s=e(7),c=e(16);a.exports=e(4)?function(d,p,f){return s.f(d,p,c(1,f))}:function(d,p,f){return d[p]=f,d}},function(a,t,e){var s=e(10),c=e(35),d=e(23),p=Object.defineProperty;t.f=e(4)?Object.defineProperty:function(f,h,S){if(s(f),h=d(h,!0),s(S),c)try{return p(f,h,S)}catch{}if("get"in S||"set"in S)throw TypeError("Accessors not supported!");return"value"in S&&(f[h]=S.value),f}},function(a,t){a.exports=function(e){try{return!!e()}catch{return!0}}},function(a,t,e){var s=e(40),c=e(22);a.exports=function(d){return s(c(d))}},function(a,t,e){var s=e(11);a.exports=function(c){if(!s(c))throw TypeError(c+" is not an object!");return c}},function(a,t){a.exports=function(e){return typeof e=="object"?e!==null:typeof e=="function"}},function(a,t){a.exports={}},function(a,t,e){var s=e(39),c=e(27);a.exports=Object.keys||function(d){return s(d,c)}},function(a,t){a.exports=!0},function(a,t,e){var s=e(3),c=e(1),d=e(53),p=e(6),f=e(5),h=function(S,b,w){var I,R,H,L=S&h.F,X=S&h.G,r=S&h.S,D=S&h.P,V=S&h.B,z=S&h.W,q=X?c:c[b]||(c[b]={}),k=q.prototype,A=X?s:r?s[b]:(s[b]||{}).prototype;for(I in X&&(w=b),w)(R=!L&&A&&A[I]!==void 0)&&f(q,I)||(H=R?A[I]:w[I],q[I]=X&&typeof A[I]!="function"?w[I]:V&&R?d(H,s):z&&A[I]==H?(function(T){var W=function(E,ee,J){if(this instanceof T){switch(arguments.length){case 0:return new T;case 1:return new T(E);case 2:return new T(E,ee)}return new T(E,ee,J)}return T.apply(this,arguments)};return W.prototype=T.prototype,W})(H):D&&typeof H=="function"?d(Function.call,H):H,D&&((q.virtual||(q.virtual={}))[I]=H,S&h.R&&k&&!k[I]&&p(k,I,H)))};h.F=1,h.G=2,h.S=4,h.P=8,h.B=16,h.W=32,h.U=64,h.R=128,a.exports=h},function(a,t){a.exports=function(e,s){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:s}}},function(a,t){var e=0,s=Math.random();a.exports=function(c){return"Symbol(".concat(c===void 0?"":c,")_",(++e+s).toString(36))}},function(a,t,e){var s=e(22);a.exports=function(c){return Object(s(c))}},function(a,t){t.f={}.propertyIsEnumerable},function(a,t,e){var s=e(52)(!0);e(34)(String,"String",(function(c){this._t=String(c),this._i=0}),(function(){var c,d=this._t,p=this._i;return p>=d.length?{value:void 0,done:!0}:(c=s(d,p),this._i+=c.length,{value:c,done:!1})}))},function(a,t){var e=Math.ceil,s=Math.floor;a.exports=function(c){return isNaN(c=+c)?0:(c>0?s:e)(c)}},function(a,t){a.exports=function(e){if(e==null)throw TypeError("Can't call method on "+e);return e}},function(a,t,e){var s=e(11);a.exports=function(c,d){if(!s(c))return c;var p,f;if(d&&typeof(p=c.toString)=="function"&&!s(f=p.call(c))||typeof(p=c.valueOf)=="function"&&!s(f=p.call(c))||!d&&typeof(p=c.toString)=="function"&&!s(f=p.call(c)))return f;throw TypeError("Can't convert object to primitive value")}},function(a,t){var e={}.toString;a.exports=function(s){return e.call(s).slice(8,-1)}},function(a,t,e){var s=e(26)("keys"),c=e(17);a.exports=function(d){return s[d]||(s[d]=c(d))}},function(a,t,e){var s=e(1),c=e(3),d=c["__core-js_shared__"]||(c["__core-js_shared__"]={});(a.exports=function(p,f){return d[p]||(d[p]=f!==void 0?f:{})})("versions",[]).push({version:s.version,mode:e(14)?"pure":"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})},function(a,t){a.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(a,t,e){var s=e(7).f,c=e(5),d=e(2)("toStringTag");a.exports=function(p,f,h){p&&!c(p=h?p:p.prototype,d)&&s(p,d,{configurable:!0,value:f})}},function(a,t,e){e(62);for(var s=e(3),c=e(6),d=e(12),p=e(2)("toStringTag"),f="CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList".split(","),h=0;hdocument.F=Object<\/script>"),S.close(),h=S.F;w--;)delete h.prototype[d[w]];return h()};a.exports=Object.create||function(S,b){var w;return S!==null?(f.prototype=s(S),w=new f,f.prototype=null,w[p]=S):w=h(),b===void 0?w:c(w,b)}},function(a,t,e){var s=e(5),c=e(9),d=e(57)(!1),p=e(25)("IE_PROTO");a.exports=function(f,h){var S,b=c(f),w=0,I=[];for(S in b)S!=p&&s(b,S)&&I.push(S);for(;h.length>w;)s(b,S=h[w++])&&(~d(I,S)||I.push(S));return I}},function(a,t,e){var s=e(24);a.exports=Object("z").propertyIsEnumerable(0)?Object:function(c){return s(c)=="String"?c.split(""):Object(c)}},function(a,t,e){var s=e(39),c=e(27).concat("length","prototype");t.f=Object.getOwnPropertyNames||function(d){return s(d,c)}},function(a,t,e){var s=e(24),c=e(2)("toStringTag"),d=s((function(){return arguments})())=="Arguments";a.exports=function(p){var f,h,S;return p===void 0?"Undefined":p===null?"Null":typeof(h=(function(b,w){try{return b[w]}catch{}})(f=Object(p),c))=="string"?h:d?s(f):(S=s(f))=="Object"&&typeof f.callee=="function"?"Arguments":S}},function(a,t){var e;e=(function(){return this})();try{e=e||new Function("return this")()}catch{typeof window=="object"&&(e=window)}a.exports=e},function(a,t){var e=/-?\d+(\.\d+)?%?/g;a.exports=function(s){return s.match(e)}},function(a,t,e){Object.defineProperty(t,"__esModule",{value:!0}),t.getBase16Theme=t.createStyling=t.invertTheme=void 0;var s=R(e(49)),c=R(e(76)),d=R(e(81)),p=R(e(89)),f=R(e(93)),h=(function(k){if(k&&k.__esModule)return k;var A={};if(k!=null)for(var T in k)Object.prototype.hasOwnProperty.call(k,T)&&(A[T]=k[T]);return A.default=k,A})(e(94)),S=R(e(132)),b=R(e(133)),w=R(e(138)),I=e(139);function R(k){return k&&k.__esModule?k:{default:k}}var H=h.default,L=(0,p.default)(H),X=(0,w.default)(b.default,I.rgb2yuv,(function(k){var A,T=(0,d.default)(k,3),W=T[0],E=T[1],ee=T[2];return[(A=W,A<.25?1:A<.5?.9-A:1.1-A),E,ee]}),I.yuv2rgb,S.default),r=function(k){return function(A){return{className:[A.className,k.className].filter(Boolean).join(" "),style:(0,c.default)({},A.style||{},k.style||{})}}},D=function(k,A){var T=(0,p.default)(A);for(var W in k)T.indexOf(W)===-1&&T.push(W);return T.reduce((function(E,ee){return E[ee]=(function(J,C){if(J===void 0)return C;if(C===void 0)return J;var Y=J===void 0?"undefined":(0,s.default)(J),be=C===void 0?"undefined":(0,s.default)(C);switch(Y){case"string":switch(be){case"string":return[C,J].filter(Boolean).join(" ");case"object":return r({className:J,style:C});case"function":return function(ce){for(var U=arguments.length,le=Array(U>1?U-1:0),Q=1;Q1?U-1:0),Q=1;Q1?U-1:0),Q=1;Q1?U-1:0),Q=1;Q1?U-1:0),Q=1;Q2?T-2:0),E=2;E3?A-3:0),W=3;W1&&arguments[1]!==void 0?arguments[1]:{},ee=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},J=E.defaultBase16,C=J===void 0?H:J,Y=E.base16Themes,be=Y===void 0?null:Y,ce=q(ee,be);ce&&(ee=(0,c.default)({},ce,ee));var U=L.reduce((function(ve,Ne){return ve[Ne]=ee[Ne]||C[Ne],ve}),{}),le=(0,p.default)(ee).reduce((function(ve,Ne){return L.indexOf(Ne)===-1&&(ve[Ne]=ee[Ne]),ve}),{}),Q=k(U),he=D(le,Q);return(0,f.default)(V,2).apply(void 0,[he].concat(T))}),3),t.getBase16Theme=function(k,A){if(k&&k.extend&&(k=k.extend),typeof k=="string"){var T=k.split(":"),W=(0,d.default)(T,2),E=W[0],ee=W[1];k=(A||{})[E]||h[E],ee==="inverted"&&(k=z(k))}return k&&k.hasOwnProperty("base00")?k:void 0})},function(a,t,e){var s,c=typeof Reflect=="object"?Reflect:null,d=c&&typeof c.apply=="function"?c.apply:function(r,D,V){return Function.prototype.apply.call(r,D,V)};s=c&&typeof c.ownKeys=="function"?c.ownKeys:Object.getOwnPropertySymbols?function(r){return Object.getOwnPropertyNames(r).concat(Object.getOwnPropertySymbols(r))}:function(r){return Object.getOwnPropertyNames(r)};var p=Number.isNaN||function(r){return r!=r};function f(){f.init.call(this)}a.exports=f,a.exports.once=function(r,D){return new Promise((function(V,z){function q(){k!==void 0&&r.removeListener("error",k),V([].slice.call(arguments))}var k;D!=="error"&&(k=function(A){r.removeListener(D,q),z(A)},r.once("error",k)),r.once(D,q)}))},f.EventEmitter=f,f.prototype._events=void 0,f.prototype._eventsCount=0,f.prototype._maxListeners=void 0;var h=10;function S(r){if(typeof r!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof r)}function b(r){return r._maxListeners===void 0?f.defaultMaxListeners:r._maxListeners}function w(r,D,V,z){var q,k,A,T;if(S(V),(k=r._events)===void 0?(k=r._events=Object.create(null),r._eventsCount=0):(k.newListener!==void 0&&(r.emit("newListener",D,V.listener?V.listener:V),k=r._events),A=k[D]),A===void 0)A=k[D]=V,++r._eventsCount;else if(typeof A=="function"?A=k[D]=z?[V,A]:[A,V]:z?A.unshift(V):A.push(V),(q=b(r))>0&&A.length>q&&!A.warned){A.warned=!0;var W=new Error("Possible EventEmitter memory leak detected. "+A.length+" "+String(D)+" listeners added. Use emitter.setMaxListeners() to increase limit");W.name="MaxListenersExceededWarning",W.emitter=r,W.type=D,W.count=A.length,T=W,console&&console.warn&&console.warn(T)}return r}function I(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function R(r,D,V){var z={fired:!1,wrapFn:void 0,target:r,type:D,listener:V},q=I.bind(z);return q.listener=V,z.wrapFn=q,q}function H(r,D,V){var z=r._events;if(z===void 0)return[];var q=z[D];return q===void 0?[]:typeof q=="function"?V?[q.listener||q]:[q]:V?(function(k){for(var A=new Array(k.length),T=0;T0&&(k=D[0]),k instanceof Error)throw k;var A=new Error("Unhandled error."+(k?" ("+k.message+")":""));throw A.context=k,A}var T=q[r];if(T===void 0)return!1;if(typeof T=="function")d(T,this,D);else{var W=T.length,E=X(T,W);for(V=0;V=0;k--)if(V[k]===D||V[k].listener===D){A=V[k].listener,q=k;break}if(q<0)return this;q===0?V.shift():(function(T,W){for(;W+1=0;z--)this.removeListener(r,D[z]);return this},f.prototype.listeners=function(r){return H(this,r,!0)},f.prototype.rawListeners=function(r){return H(this,r,!1)},f.listenerCount=function(r,D){return typeof r.listenerCount=="function"?r.listenerCount(D):L.call(r,D)},f.prototype.listenerCount=L,f.prototype.eventNames=function(){return this._eventsCount>0?s(this._events):[]}},function(a,t,e){a.exports.Dispatcher=e(140)},function(a,t,e){a.exports=e(142)},function(a,t,e){t.__esModule=!0;var s=p(e(50)),c=p(e(65)),d=typeof c.default=="function"&&typeof s.default=="symbol"?function(f){return typeof f}:function(f){return f&&typeof c.default=="function"&&f.constructor===c.default&&f!==c.default.prototype?"symbol":typeof f};function p(f){return f&&f.__esModule?f:{default:f}}t.default=typeof c.default=="function"&&d(s.default)==="symbol"?function(f){return f===void 0?"undefined":d(f)}:function(f){return f&&typeof c.default=="function"&&f.constructor===c.default&&f!==c.default.prototype?"symbol":f===void 0?"undefined":d(f)}},function(a,t,e){a.exports={default:e(51),__esModule:!0}},function(a,t,e){e(20),e(29),a.exports=e(30).f("iterator")},function(a,t,e){var s=e(21),c=e(22);a.exports=function(d){return function(p,f){var h,S,b=String(c(p)),w=s(f),I=b.length;return w<0||w>=I?d?"":void 0:(h=b.charCodeAt(w))<55296||h>56319||w+1===I||(S=b.charCodeAt(w+1))<56320||S>57343?d?b.charAt(w):h:d?b.slice(w,w+2):S-56320+(h-55296<<10)+65536}}},function(a,t,e){var s=e(54);a.exports=function(c,d,p){if(s(c),d===void 0)return c;switch(p){case 1:return function(f){return c.call(d,f)};case 2:return function(f,h){return c.call(d,f,h)};case 3:return function(f,h,S){return c.call(d,f,h,S)}}return function(){return c.apply(d,arguments)}}},function(a,t){a.exports=function(e){if(typeof e!="function")throw TypeError(e+" is not a function!");return e}},function(a,t,e){var s=e(38),c=e(16),d=e(28),p={};e(6)(p,e(2)("iterator"),(function(){return this})),a.exports=function(f,h,S){f.prototype=s(p,{next:c(1,S)}),d(f,h+" Iterator")}},function(a,t,e){var s=e(7),c=e(10),d=e(13);a.exports=e(4)?Object.defineProperties:function(p,f){c(p);for(var h,S=d(f),b=S.length,w=0;b>w;)s.f(p,h=S[w++],f[h]);return p}},function(a,t,e){var s=e(9),c=e(58),d=e(59);a.exports=function(p){return function(f,h,S){var b,w=s(f),I=c(w.length),R=d(S,I);if(p&&h!=h){for(;I>R;)if((b=w[R++])!=b)return!0}else for(;I>R;R++)if((p||R in w)&&w[R]===h)return p||R||0;return!p&&-1}}},function(a,t,e){var s=e(21),c=Math.min;a.exports=function(d){return d>0?c(s(d),9007199254740991):0}},function(a,t,e){var s=e(21),c=Math.max,d=Math.min;a.exports=function(p,f){return(p=s(p))<0?c(p+f,0):d(p,f)}},function(a,t,e){var s=e(3).document;a.exports=s&&s.documentElement},function(a,t,e){var s=e(5),c=e(18),d=e(25)("IE_PROTO"),p=Object.prototype;a.exports=Object.getPrototypeOf||function(f){return f=c(f),s(f,d)?f[d]:typeof f.constructor=="function"&&f instanceof f.constructor?f.constructor.prototype:f instanceof Object?p:null}},function(a,t,e){var s=e(63),c=e(64),d=e(12),p=e(9);a.exports=e(34)(Array,"Array",(function(f,h){this._t=p(f),this._i=0,this._k=h}),(function(){var f=this._t,h=this._k,S=this._i++;return!f||S>=f.length?(this._t=void 0,c(1)):c(0,h=="keys"?S:h=="values"?f[S]:[S,f[S]])}),"values"),d.Arguments=d.Array,s("keys"),s("values"),s("entries")},function(a,t){a.exports=function(){}},function(a,t){a.exports=function(e,s){return{value:s,done:!!e}}},function(a,t,e){a.exports={default:e(66),__esModule:!0}},function(a,t,e){e(67),e(73),e(74),e(75),a.exports=e(1).Symbol},function(a,t,e){var s=e(3),c=e(5),d=e(4),p=e(15),f=e(37),h=e(68).KEY,S=e(8),b=e(26),w=e(28),I=e(17),R=e(2),H=e(30),L=e(31),X=e(69),r=e(70),D=e(10),V=e(11),z=e(18),q=e(9),k=e(23),A=e(16),T=e(38),W=e(71),E=e(72),ee=e(32),J=e(7),C=e(13),Y=E.f,be=J.f,ce=W.f,U=s.Symbol,le=s.JSON,Q=le&&le.stringify,he=R("_hidden"),ve=R("toPrimitive"),Ne={}.propertyIsEnumerable,Ee=b("symbol-registry"),Oe=b("symbols"),fe=b("op-symbols"),ge=Object.prototype,De=typeof U=="function"&&!!ee.f,Ue=s.QObject,Xe=!Ue||!Ue.prototype||!Ue.prototype.findChild,et=d&&S((function(){return T(be({},"a",{get:function(){return be(this,"a",{value:7}).a}})).a!=7}))?function(j,N,B){var K=Y(ge,N);K&&delete ge[N],be(j,N,B),K&&j!==ge&&be(ge,N,K)}:be,tt=function(j){var N=Oe[j]=T(U.prototype);return N._k=j,N},at=De&&typeof U.iterator=="symbol"?function(j){return typeof j=="symbol"}:function(j){return j instanceof U},He=function(j,N,B){return j===ge&&He(fe,N,B),D(j),N=k(N,!0),D(B),c(Oe,N)?(B.enumerable?(c(j,he)&&j[he][N]&&(j[he][N]=!1),B=T(B,{enumerable:A(0,!1)})):(c(j,he)||be(j,he,A(1,{})),j[he][N]=!0),et(j,N,B)):be(j,N,B)},st=function(j,N){D(j);for(var B,K=X(N=q(N)),re=0,te=K.length;te>re;)He(j,B=K[re++],N[B]);return j},ot=function(j){var N=Ne.call(this,j=k(j,!0));return!(this===ge&&c(Oe,j)&&!c(fe,j))&&(!(N||!c(this,j)||!c(Oe,j)||c(this,he)&&this[he][j])||N)},rt=function(j,N){if(j=q(j),N=k(N,!0),j!==ge||!c(Oe,N)||c(fe,N)){var B=Y(j,N);return!B||!c(Oe,N)||c(j,he)&&j[he][N]||(B.enumerable=!0),B}},it=function(j){for(var N,B=ce(q(j)),K=[],re=0;B.length>re;)c(Oe,N=B[re++])||N==he||N==h||K.push(N);return K},Ge=function(j){for(var N,B=j===ge,K=ce(B?fe:q(j)),re=[],te=0;K.length>te;)!c(Oe,N=K[te++])||B&&!c(ge,N)||re.push(Oe[N]);return re};De||(f((U=function(){if(this instanceof U)throw TypeError("Symbol is not a constructor!");var j=I(arguments.length>0?arguments[0]:void 0),N=function(B){this===ge&&N.call(fe,B),c(this,he)&&c(this[he],j)&&(this[he][j]=!1),et(this,j,A(1,B))};return d&&Xe&&et(ge,j,{configurable:!0,set:N}),tt(j)}).prototype,"toString",(function(){return this._k})),E.f=rt,J.f=He,e(41).f=W.f=it,e(19).f=ot,ee.f=Ge,d&&!e(14)&&f(ge,"propertyIsEnumerable",ot,!0),H.f=function(j){return tt(R(j))}),p(p.G+p.W+p.F*!De,{Symbol:U});for(var Ve="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),Ce=0;Ve.length>Ce;)R(Ve[Ce++]);for(var nt=C(R.store),F=0;nt.length>F;)L(nt[F++]);p(p.S+p.F*!De,"Symbol",{for:function(j){return c(Ee,j+="")?Ee[j]:Ee[j]=U(j)},keyFor:function(j){if(!at(j))throw TypeError(j+" is not a symbol!");for(var N in Ee)if(Ee[N]===j)return N},useSetter:function(){Xe=!0},useSimple:function(){Xe=!1}}),p(p.S+p.F*!De,"Object",{create:function(j,N){return N===void 0?T(j):st(T(j),N)},defineProperty:He,defineProperties:st,getOwnPropertyDescriptor:rt,getOwnPropertyNames:it,getOwnPropertySymbols:Ge});var x=S((function(){ee.f(1)}));p(p.S+p.F*x,"Object",{getOwnPropertySymbols:function(j){return ee.f(z(j))}}),le&&p(p.S+p.F*(!De||S((function(){var j=U();return Q([j])!="[null]"||Q({a:j})!="{}"||Q(Object(j))!="{}"}))),"JSON",{stringify:function(j){for(var N,B,K=[j],re=1;arguments.length>re;)K.push(arguments[re++]);if(B=N=K[1],(V(N)||j!==void 0)&&!at(j))return r(N)||(N=function(te,ue){if(typeof B=="function"&&(ue=B.call(this,te,ue)),!at(ue))return ue}),K[1]=N,Q.apply(le,K)}}),U.prototype[ve]||e(6)(U.prototype,ve,U.prototype.valueOf),w(U,"Symbol"),w(Math,"Math",!0),w(s.JSON,"JSON",!0)},function(a,t,e){var s=e(17)("meta"),c=e(11),d=e(5),p=e(7).f,f=0,h=Object.isExtensible||function(){return!0},S=!e(8)((function(){return h(Object.preventExtensions({}))})),b=function(I){p(I,s,{value:{i:"O"+ ++f,w:{}}})},w=a.exports={KEY:s,NEED:!1,fastKey:function(I,R){if(!c(I))return typeof I=="symbol"?I:(typeof I=="string"?"S":"P")+I;if(!d(I,s)){if(!h(I))return"F";if(!R)return"E";b(I)}return I[s].i},getWeak:function(I,R){if(!d(I,s)){if(!h(I))return!0;if(!R)return!1;b(I)}return I[s].w},onFreeze:function(I){return S&&w.NEED&&h(I)&&!d(I,s)&&b(I),I}}},function(a,t,e){var s=e(13),c=e(32),d=e(19);a.exports=function(p){var f=s(p),h=c.f;if(h)for(var S,b=h(p),w=d.f,I=0;b.length>I;)w.call(p,S=b[I++])&&f.push(S);return f}},function(a,t,e){var s=e(24);a.exports=Array.isArray||function(c){return s(c)=="Array"}},function(a,t,e){var s=e(9),c=e(41).f,d={}.toString,p=typeof window=="object"&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];a.exports.f=function(f){return p&&d.call(f)=="[object Window]"?(function(h){try{return c(h)}catch{return p.slice()}})(f):c(s(f))}},function(a,t,e){var s=e(19),c=e(16),d=e(9),p=e(23),f=e(5),h=e(35),S=Object.getOwnPropertyDescriptor;t.f=e(4)?S:function(b,w){if(b=d(b),w=p(w,!0),h)try{return S(b,w)}catch{}if(f(b,w))return c(!s.f.call(b,w),b[w])}},function(a,t){},function(a,t,e){e(31)("asyncIterator")},function(a,t,e){e(31)("observable")},function(a,t,e){t.__esModule=!0;var s,c=e(77),d=(s=c)&&s.__esModule?s:{default:s};t.default=d.default||function(p){for(var f=1;fH;)for(var r,D=h(arguments[H++]),V=L?c(D).concat(L(D)):c(D),z=V.length,q=0;z>q;)r=V[q++],s&&!X.call(D,r)||(I[r]=D[r]);return I}:S},function(a,t,e){t.__esModule=!0;var s=d(e(82)),c=d(e(85));function d(p){return p&&p.__esModule?p:{default:p}}t.default=function(p,f){if(Array.isArray(p))return p;if((0,s.default)(Object(p)))return(function(h,S){var b=[],w=!0,I=!1,R=void 0;try{for(var H,L=(0,c.default)(h);!(w=(H=L.next()).done)&&(b.push(H.value),!S||b.length!==S);w=!0);}catch(X){I=!0,R=X}finally{try{!w&&L.return&&L.return()}finally{if(I)throw R}}return b})(p,f);throw new TypeError("Invalid attempt to destructure non-iterable instance")}},function(a,t,e){a.exports={default:e(83),__esModule:!0}},function(a,t,e){e(29),e(20),a.exports=e(84)},function(a,t,e){var s=e(42),c=e(2)("iterator"),d=e(12);a.exports=e(1).isIterable=function(p){var f=Object(p);return f[c]!==void 0||"@@iterator"in f||d.hasOwnProperty(s(f))}},function(a,t,e){a.exports={default:e(86),__esModule:!0}},function(a,t,e){e(29),e(20),a.exports=e(87)},function(a,t,e){var s=e(10),c=e(88);a.exports=e(1).getIterator=function(d){var p=c(d);if(typeof p!="function")throw TypeError(d+" is not iterable!");return s(p.call(d))}},function(a,t,e){var s=e(42),c=e(2)("iterator"),d=e(12);a.exports=e(1).getIteratorMethod=function(p){if(p!=null)return p[c]||p["@@iterator"]||d[s(p)]}},function(a,t,e){a.exports={default:e(90),__esModule:!0}},function(a,t,e){e(91),a.exports=e(1).Object.keys},function(a,t,e){var s=e(18),c=e(13);e(92)("keys",(function(){return function(d){return c(s(d))}}))},function(a,t,e){var s=e(15),c=e(1),d=e(8);a.exports=function(p,f){var h=(c.Object||{})[p]||Object[p],S={};S[p]=f(h),s(s.S+s.F*d((function(){h(1)})),"Object",S)}},function(a,t,e){(function(s){var c=[["ary",128],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",32],["partialRight",64],["rearg",256]],d=/^\s+|\s+$/g,p=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,f=/\{\n\/\* \[wrapped with (.+)\] \*/,h=/,? & /,S=/^[-+]0x[0-9a-f]+$/i,b=/^0b[01]+$/i,w=/^\[object .+?Constructor\]$/,I=/^0o[0-7]+$/i,R=/^(?:0|[1-9]\d*)$/,H=parseInt,L=typeof s=="object"&&s&&s.Object===Object&&s,X=typeof self=="object"&&self&&self.Object===Object&&self,r=L||X||Function("return this")();function D(F,x,j){switch(j.length){case 0:return F.call(x);case 1:return F.call(x,j[0]);case 2:return F.call(x,j[0],j[1]);case 3:return F.call(x,j[0],j[1],j[2])}return F.apply(x,j)}function V(F,x){return!!(F&&F.length)&&(function(j,N,B){if(N!=N)return(function(te,ue,ye,xe){for(var Ie=te.length,me=ye+-1;++me-1}function z(F){return F!=F}function q(F,x){for(var j=F.length,N=0;j--;)F[j]===x&&N++;return N}function k(F,x){for(var j=-1,N=F.length,B=0,K=[];++j2?T:void 0);function Ne(F){return Ve(F)?le(F):{}}function Ee(F){return!(!Ve(F)||(function(x){return!!C&&C in x})(F))&&((function(x){var j=Ve(x)?ce.call(x):"";return j=="[object Function]"||j=="[object GeneratorFunction]"})(F)||(function(x){var j=!1;if(x!=null&&typeof x.toString!="function")try{j=!!(x+"")}catch{}return j})(F)?U:w).test((function(x){if(x!=null){try{return Y.call(x)}catch{}try{return x+""}catch{}}return""})(F))}function Oe(F,x,j,N){for(var B=-1,K=F.length,re=j.length,te=-1,ue=x.length,ye=Q(K-re,0),xe=Array(ue+ye),Ie=!N;++te1&&se.reverse(),xe&&ue1?"& ":"")+x[N],x=x.join(j>2?", ":" "),F.replace(p,`{ /* [wrapped with `+x+`] */ `)}function st(F,x){return!!(x=x??9007199254740991)&&(typeof F=="number"||R.test(F))&&F>-1&&F%1==0&&F1&&d--,f=6*d<1?s+6*(c-s)*d:2*d<1?c:3*d<2?s+(c-s)*(2/3-d)*6:s,p[w]=255*f;return p}},function(a,t,e){(function(s){var c=typeof s=="object"&&s&&s.Object===Object&&s,d=typeof self=="object"&&self&&self.Object===Object&&self,p=c||d||Function("return this")();function f(k,A,T){switch(T.length){case 0:return k.call(A);case 1:return k.call(A,T[0]);case 2:return k.call(A,T[0],T[1]);case 3:return k.call(A,T[0],T[1],T[2])}return k.apply(A,T)}function h(k,A){for(var T=-1,W=A.length,E=k.length;++T-1&&E%1==0&&E<=9007199254740991})(W.length)&&!(function(E){var ee=(function(J){var C=typeof J;return!!J&&(C=="object"||C=="function")})(E)?w.call(E):"";return ee=="[object Function]"||ee=="[object GeneratorFunction]"})(W)})(T)})(A)&&b.call(A,"callee")&&(!R.call(A,"callee")||w.call(A)=="[object Arguments]")})(k)||!!(H&&k&&k[H])}var r=Array.isArray,D,V,z,q=(V=function(k){var A=(k=(function(E,ee,J,C,Y){var be=-1,ce=E.length;for(J||(J=X),Y||(Y=[]);++be2?d-2:0),f=2;f"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch{return!1}})();return function(){var n,o=w(l);if(u){var i=w(this).constructor;n=Reflect.construct(o,arguments,i)}else n=o.apply(this,arguments);return H(this,n)}}e.r(t);var X=e(0),r=e.n(X);function D(){var l=this.constructor.getDerivedStateFromProps(this.props,this.state);l!=null&&this.setState(l)}function V(l){this.setState(function(u){var n=this.constructor.getDerivedStateFromProps(l,u);return n??null}.bind(this))}function z(l,u){try{var n=this.props,o=this.state;this.props=l,this.state=u,this.__reactInternalSnapshotFlag=!0,this.__reactInternalSnapshot=this.getSnapshotBeforeUpdate(n,o)}finally{this.props=n,this.state=o}}function q(l){var u=l.prototype;if(!u||!u.isReactComponent)throw new Error("Can only polyfill class components");if(typeof l.getDerivedStateFromProps!="function"&&typeof u.getSnapshotBeforeUpdate!="function")return l;var n=null,o=null,i=null;if(typeof u.componentWillMount=="function"?n="componentWillMount":typeof u.UNSAFE_componentWillMount=="function"&&(n="UNSAFE_componentWillMount"),typeof u.componentWillReceiveProps=="function"?o="componentWillReceiveProps":typeof u.UNSAFE_componentWillReceiveProps=="function"&&(o="UNSAFE_componentWillReceiveProps"),typeof u.componentWillUpdate=="function"?i="componentWillUpdate":typeof u.UNSAFE_componentWillUpdate=="function"&&(i="UNSAFE_componentWillUpdate"),n!==null||o!==null||i!==null){var y=l.displayName||l.name,O=typeof l.getDerivedStateFromProps=="function"?"getDerivedStateFromProps()":"getSnapshotBeforeUpdate()";throw Error(`Unsafe legacy lifecycles will not be called for components using new component APIs. diff --git a/admin/assets/index-WMcL3d55.js b/admin/assets/index-WMcL3d55.js new file mode 100644 index 000000000..136f7160f --- /dev/null +++ b/admin/assets/index-WMcL3d55.js @@ -0,0 +1 @@ +import{j as n}from"./createSvgIcon-DPvF8xqu.js";import{c as E,h as yt,j as M,m as nt,k as lt,l as Dt,b as ut,o as xt}from"./iobroker_javascript__loadShare__react__loadShare__.mjs-CTZOFJS2.js";import{_ as u}from"./iobroker_javascript__loadShare___mf_0_iobroker_mf_1_adapter_mf_2_react_mf_2_v5__loadShare__.mjs-DkBjPSMw.js";import{u as kt,a as St,M as Y,C as et,G as Nt,b as $t,c as bt,I as qt,S as J,d as Bt,e as ft,j as Mt,D as Ht,f as Wt}from"./index-3e3k-1o_.js";import{_ as wt,b as Ct,h as vt,i as jt,p as Tt,f as Et,g as mt,o as Pt,Y as Ut,Z as Ft,C as Jt,D as st}from"./iobroker_javascript__loadShare___mf_0_mui_mf_1_material__loadShare__.mjs-QWG5Arqe.js";import{I as Lt}from"./index-C49cpVll.js";import"./iobroker_javascript__loadShare__react__loadShare__.mjs_commonjs-proxy-CE9lvhW8.js";import"./iobroker_javascript__loadShare__prop_mf_2_types__loadShare__.mjs-BCtSFofY.js";import"./virtual_mf-REMOTE_ENTRY_ID_iobroker_javascript__remoteEntry_js-D-eF6r8M.js";import"./preload-helper-BDBacUwf.js";import"./iobroker_javascript__loadShare__react_mf_2_dom__loadShare__.mjs_commonjs-proxy-RQRRZMX5.js";import"./iobroker_javascript__loadShare__react_mf_2_dom__loadShare__.mjs-DeVAS-oa.js";import"./inheritsLoose-B0Ba5G9z.js";function zt(e){const s=kt().getMonitor(),[i,a]=St(s,e);return E(()=>s.subscribeToOffsetChange(a)),E(()=>s.subscribeToStateChange(a)),i}let V;function Gt(){return V||(V=new Image,V.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="),V}const Kt="_wrapperRules_nnott_1",Qt="_rootWrapper_nnott_9",Yt="_addClass_nnott_14",ot={wrapperRules:Kt,rootWrapper:Qt,addClass:Yt},Zt="_switchesItem_10ls3_1",Xt="_switchesItemActive_10ls3_28",Vt="_iconTheme_10ls3_36",it={switchesItem:Zt,switchesItemActive:Xt,iconTheme:Vt},It=({name:e,id:t,active:s,icon:i,adapter:a,socket:o,onDoubleClick:c,title:l,onTouchMove:d,style:j})=>n.jsxs("div",{onDoubleClick:c,onTouchMove:d,title:l?u.I18n.t(l):void 0,className:u.Utils.clsx(it.switchesItem,s&&it.switchesItemActive,`block-${t}`),children:[n.jsx(Y,{iconName:i,className:it.iconTheme,adapter:a,socket:o,style:j}),n.jsx("span",{children:e?u.I18n.t(e):""})]},t),Rt="_cardStyle_8rq8v_1",tn="_cardStyleActive_8rq8v_17",nn="_controlMenu_8rq8v_22",en="_closeBtn_8rq8v_31",sn="_isDelete_8rq8v_73",on="_drag_mobile_8rq8v_90",G={cardStyle:Rt,cardStyleActive:tn,controlMenu:nn,closeBtn:en,isDelete:sn,drag_mobile:on};function K(e,t,s){let i;switch(e){case"actions":if(s==="else")return i={...t,actions:{...t[e],else:[...t[e].else]}},i;if(s==="then")return i={...t,actions:{...t[e],then:[...t[e].then]}},i;throw console.error(`Unknown additionalParameter: ${s}`),new Error(`Unknown additionalParameter: ${s}`);case"triggers":return i={...t,triggers:[...t.triggers]},i;case"conditions":return i={...t,conditions:[...t.conditions]},i;default:throw new Error(`Unknown name: ${e}`)}}function z(e,t,s,i){var a;switch(e){case"actions":return t.actions[s]=t.actions[s].filter(o=>o._id!==i),t;case"conditions":return t.conditions[s]=(a=t.conditions[s])==null?void 0:a.filter(o=>o._id!==i),t;default:return t.triggers=t.triggers.filter(o=>o._id!==i),t}}function cn(e,t,s){const{_id:i,acceptedBy:a}=e;let o;if(!a||!t[a])return console.warn(`Cannot find ${a}`),t;switch(a){case"actions":if(o=t.actions[s].find(c=>c._id===i),!o)console.warn(`Cannot find ${i}`);else{const c=t.actions[s].indexOf(o);t.actions[s][c]=e}return t;case"conditions":if(o=t.conditions[s].find(c=>c._id===i),!o)console.warn(`Cannot find ${i}`);else{const c=t.conditions[s].indexOf(o);t.conditions[s][c]=e}return t;default:if(o=t.triggers.find(c=>c._id===i),!o)console.warn(`Cannot find ${i}`);else{const c=t.triggers.indexOf(o);t.triggers[c]=e}return t}}const Ot=yt(e=>{var N;const{setUserRules:t,userRules:s,_id:i,id:a,blockValue:o,active:c,acceptedBy:l,isTourOpen:d,setTourStep:j,tourStep:O}=e,[I,_]=M(null),{blocks:r,socket:k,onUpdate:H,setOnUpdate:w,onDebugMessage:f,enableSimulation:x}=nt(et),p=lt(h=>r==null?void 0:r.find(b=>b.getStaticData().id===h),[r]),g=lt(h=>{const b=cn(h,s,o);b&&t(b)},[s]),C=h=>{h.currentTarget!==I&&_(h.currentTarget)},q=()=>_(null),T=Dt(()=>{const h=p(a)||Nt;return n.jsx(h,{...e,notFound:!p(a),isTourOpen:d,setTourStep:j,tourStep:O,onUpdate:H,setOnUpdate:w,enableSimulation:x,onDebugMessage:f,onChange:g,className:void 0,socket:k})},[s,H,f,x]),[S,B]=M(!1);return n.jsxs("div",{onMouseMove:C,onMouseEnter:C,onMouseLeave:q,onMouseDown:h=>{if(h.ctrlKey){let b;const v=K(l,s,o);l==="conditions"?(b=v.conditions[o].find(m=>m._id===i),b&&v.conditions[o].splice(v.conditions[o].indexOf(b),0,{...b,_id:Date.now()})):l==="actions"?(b=v.actions[o].find(m=>m._id===i),b&&v.actions[o].splice(v.actions[o].indexOf(b),0,{...b,_id:Date.now()})):(b=v.triggers.find(m=>m._id===i),b&&v.triggers.splice(v[l].indexOf(b),0,{...b,_id:Date.now()})),t(v)}},id:"height",style:c?{width:(((N=document.getElementById("width"))==null?void 0:N.clientWidth)||0)-70}:void 0,className:`${G.cardStyle} ${c?G.cardStyleActive:null} ${S?G.isDelete:null}`,children:[n.jsx("div",{className:G.drag_mobile}),T,t&&n.jsx("div",{className:G.controlMenu,style:I?{opacity:1}:{opacity:0},children:n.jsx("div",{onClick:()=>{let h=K(l,s,o);h=z(l,h,o,i),B(!0),setTimeout(()=>{l==="triggers"&&w(!0),t(h)},300)},className:G.closeBtn})})]})}),rn={position:"fixed",pointerEvents:"none",zIndex:100,left:0,top:0,width:"100%",height:"100%"},an=(e,t,s)=>{if(!e||!t)return{display:"none"};let{x:i,y:a}=t;const o=`translate(${i}px, ${a}px)`;return{transform:o,WebkitTransform:o}},ln=e=>{const{itemType:t,isDragging:s,item:i,initialOffset:a,currentOffset:o,targetIds:c}=zt(d=>({item:d.getItem(),itemType:d.getItemType(),initialOffset:d.getInitialSourceClientOffset(),currentOffset:d.getSourceClientOffset(),isDragging:d.isDragging(),targetIds:d.getTargetIds()})),l=()=>t==="box"?c.length?n.jsx(Ot,{active:!0,...i,allBlocks:e.allBlocks}):n.jsx(It,{active:!0,...i,socket:e.socket}):null;return s?n.jsx("div",{style:rn,children:n.jsx("div",{style:an(a,o),children:l()})}):null},dn="_border_wrpm3_1",fn="_emptyBlockStyle_wrpm3_6",mn="_emptyBlock_wrpm3_6",gn="_selectOnChange_wrpm3_22",hn="_selectOnChangeHelp_wrpm3_28",_n="_selectOnChangeHelpIcon_wrpm3_34",pn="_emptyBlockNone_wrpm3_49",un="_mainBlockItemRules_wrpm3_55",xn="_nameBlockItems_wrpm3_63",bn="_contentBlockItem_wrpm3_73",wn="_wrapperMargin_wrpm3_81",Cn="_contentHeightOn_wrpm3_87",vn="_contentHeightOff_wrpm3_99",jn="_cardAdd_wrpm3_105",In="_blockCardAdd_wrpm3_125",On="_addClassOverflow_wrpm3_136",An="_addClassHeight_wrpm3_140",D={border:dn,emptyBlockStyle:fn,emptyBlock:mn,selectOnChange:gn,selectOnChangeHelp:hn,selectOnChangeHelpIcon:_n,emptyBlockNone:pn,mainBlockItemRules:un,nameBlockItems:xn,contentBlockItem:bn,wrapperMargin:wn,contentHeightOn:Cn,contentHeightOff:vn,cardAdd:jn,blockCardAdd:In,addClassOverflow:On,addClassHeight:An};function dt(e,t){const[s,i]=M(window.localStorage.getItem(t)?JSON.parse(window.localStorage.getItem(t)||""):e);return[s,o=>{window.localStorage.setItem(t,JSON.stringify(o)),i(o)},!!window.localStorage.getItem(t)]}function yn(e,t){let s=0,i=null,a;return function(...o){const c=Date.now();a=o,c-s>=t?(s=c,e.apply(this,o)):i||(i=setTimeout(()=>{s=Date.now(),i=null,e.apply(this,a)},t-(c-s)))}}function tt(e){if(Array.isArray(e))return e.map(t=>tt(t));if(typeof e=="function")return e.bind(null);if(e&&typeof e=="object"){const t={};return Object.keys(e).forEach(s=>{t[s]=tt(e[s])}),t}return e}const ct=yn((e,t)=>e(t),0);function R(e,t){const s=t.find(i=>i._id===e);return{card:s,index:s?t.indexOf(s):-1}}function rt(e,t,s,i,a,o,c,l,d){const{card:j,index:O}=R(e,s);if(!(Ot&&l>d)&&j&&O!==t){const I=tt(s);I.splice(O,1),I.splice(t,0,j);const _=tt(a);switch(o){case"actions":_.actions[c]=I,ct(i,_);return;case"conditions":_.conditions[c]=I,ct(i,_);return;default:_.triggers=I,ct(i,_);return}}}const Dn="_drag_7xfhc_1",kn="_root_7xfhc_11",gt={drag:Dn,root:kn},At=({typeBlock:e,allProperties:t,id:s,isActive:i,setUserRules:a,userRules:o,children:c,_id:l,blockValue:d})=>{const{setOnUpdate:j}=nt(et),[{opacity:O},I,_]=$t({type:"box",item:()=>({...t,id:s,isActive:i,_id:l}),end:(w,f)=>{const{acceptedBy:x}=w,p=f.getDropResult();let g;if(!p)return typeof l=="number"&&!f.getTargetIds().length&&(g=K(x,o,d),g=z(x,g,d,l),a(g)),null;if(p.blockValue!==d){const C=typeof l=="number"?l:Date.now();g=K(x,o,p.blockValue);const q={id:w.id,acceptedBy:w.acceptedBy};switch(x){case"actions":return d&&(g=z("actions",g,d,C)),g=z("actions",g,p.blockValue,C),g.actions[p.blockValue].push({...q,_id:C}),a(g);case"conditions":return typeof d=="number"&&(g=z("conditions",g,d,C)),g=z("conditions",g,p.blockValue,C),g.conditions[p.blockValue].push({...q,_id:C}),a(g);default:return j(!0),g=z("triggers",g,p.blockValue,C),g.triggers.push({...q,_id:C}),a(g)}}},collect:w=>({opacity:w.isDragging()?.4:1,isDragging:w.isDragging()})}),r=ut(null),[,k]=bt({accept:"box",canDrop:()=>!1,hover({_id:w,acceptedBy:f},x){var T;if(!r.current||e!==f)return;const p=(T=r.current)==null?void 0:T.getBoundingClientRect(),g=(p.bottom-p.top)/2,C=x.getClientOffset(),q=((C==null?void 0:C.y)||0)-p.top;if(l&&w!==l)switch(f){case"actions":if(d==="then"||d==="else"){const{index:S}=R(l,o.actions[d]);S!==w&&rt(w,S,o[f][d],a,o,f,d,q,g)}return;case"conditions":if(typeof d=="number"){const{index:S}=R(l,o[f][d]);S!==w&&rt(w,S,o[f][d],a,o,f,d,q,g)}return;default:{const{index:S}=R(l,o[f]);S!==w&&rt(w,S,o[f],a,o,f,void 0,q,g);return}}}});E(()=>{_(Gt(),{captureDraggingState:!0})},[]),I(k(r));const H=window.innerWidth<600;return n.jsxs("div",{ref:H&&l?null:r,className:gt.root,style:{opacity:O},children:[n.jsx("div",{className:l?gt.drag:null,ref:l&&H?r:null}),c]})},Sn=({onClose:e,open:t})=>n.jsxs(wt,{open:t,onClose:e,"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description",children:[n.jsx(Ct,{children:n.jsxs("div",{style:{fontSize:"1rem",fontFamily:'"Roboto", "Helvetica", "Arial", sans-serif',fontWeight:400,lineHeight:1.5,letterSpacing:"0.00938em"},children:[n.jsx("h3",{children:u.I18n.t("On condition change")}),n.jsx("div",{children:u.I18n.t("help_on_change")}),n.jsx("h3",{children:u.I18n.t("Just check")}),n.jsx("div",{children:u.I18n.t("help_just_check")})]})}),n.jsx(vt,{children:n.jsx(jt,{onClick:e,color:"primary",autoFocus:!0,startIcon:n.jsx(Lt,{}),children:u.I18n.t("OK")})})]}),Nn=({onClose:e,open:t})=>n.jsxs(wt,{open:t,onClose:e,"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description",children:[n.jsx(Ct,{children:n.jsxs(Tt,{id:"alert-dialog-description",children:[n.jsx("h3",{children:u.I18n.t("On condition change")}),n.jsx("div",{children:u.I18n.t("help_on_change")}),n.jsx("h3",{children:u.I18n.t("Just check")}),n.jsx("div",{children:u.I18n.t("help_just_check")})]})}),n.jsx(vt,{children:n.jsx(jt,{onClick:e,color:"primary",autoFocus:!0,children:u.I18n.t("OK")})})]}),ht=({size:e,blockValue:t,boolean:s,typeBlock:i,userRules:a,setUserRules:o,animation:c,setTourStep:l,tourStep:d,isTourOpen:j,theme:O,themeType:I,themeName:_})=>{var W;const[r,k]=M(!1),[H,w]=M(!1),[f,x]=M(!1),[p,g]=M("");s===void 0&&(s=!0);const C=bt({accept:"box",drop:()=>({blockValue:t}),hover:({acceptedBy:A,_id:L},Z)=>{k(A===i),x(!!L),g(Z.getHandlerId()||"")},canDrop:({acceptedBy:A})=>(w(A===i),A===i),collect:A=>{var L;return{isOver:A.isOver(),canDrop:((L=A.getItem())==null?void 0:L.acceptedBy)===i,offset:A.getClientOffset(),targetId:A.getHandlerId()}}}),q=C[0],{canDrop:T,isOver:S,offset:B,targetId:N}=q,h=C[1];E(()=>{g("")},[B]);const b=T&&S;let v="";b?v=r?"#00fb003d":"#fb00002e":T?v=H?"#00fb003d":"#fb00002e":B&&(v=N===p?"#fb00002e":"");let m;return i==="actions"?m=a.actions[t]:i==="conditions"?m=a.conditions[t]:m=a.triggers,n.jsx("div",{ref:h,style:{backgroundColor:v},className:`${u.Utils.clsx(D.contentBlockItem,e&&D.addClassHeight)} ${s?c?D.contentHeightOn:null:D.contentHeightOff}`,children:n.jsxs("div",{className:D.wrapperMargin,children:[m.map(A=>n.jsx(At,{typeBlock:i,...A,blockValue:t,allProperties:A,userRules:a,setUserRules:o,children:n.jsx(Ot,{...A,isTourOpen:j,setTourStep:l,tourStep:d,settings:A,blockValue:t,userRules:a,setUserRules:o,theme:O,themeType:I,themeName:_})},A._id)),n.jsx("div",{style:b&&r&&!f?{height:((W=document.getElementById("height"))==null?void 0:W.clientHeight)||200}:void 0,className:`${D.emptyBlockStyle} ${b&&r&&!f?D.emptyBlock:D.emptyBlockNone}`})]})})},at=({size:e,typeBlock:t,name:s,nameAdditionally:i,additionally:a,border:o,userRules:c,setUserRules:l,iconName:d,adapter:j,socket:O,setTourStep:I,tourStep:_,isTourOpen:r,theme:k,themeType:H,themeName:w})=>{const[f,x,p]=dt(t==="actions"?!1:[],`additionallyClickItems_${t}`),[g,C]=M(!1),[q,T]=M(!1);E(()=>{if(t==="conditions"&&(f==null?void 0:f.length)!==c.conditions.length-1){const N=[];c.conditions.forEach((h,b)=>{b>0&&N.push({_id:Date.now(),open:!0})}),x([...f,...N])}t==="actions"&&!p&&c.actions.else.length&&x(!0)},[]);const[S,B]=M(!1);return n.jsxs("div",{className:`${u.Utils.clsx(D.mainBlockItemRules,e&&D.addClassOverflow)} ${o&&!e?D.border:null}`,children:[n.jsxs("span",{id:"width",className:D.nameBlockItems,children:[n.jsx(Y,{iconName:d,className:D.iconThemCard,adapter:j,socket:O}),s]}),t==="conditions"?n.jsxs("div",{style:{width:"100%"},children:[n.jsxs(Et,{variant:"standard",className:D.selectOnChange,value:c.justCheck||!1,onChange:N=>{const h=K("conditions",c);h.justCheck=N.target.value==="true",l(h)},children:[n.jsx(mt,{value:"false",children:u.I18n.t("on condition change")}),n.jsx(mt,{value:"true",children:u.I18n.t("just check")})]}),n.jsx(Pt,{size:"small",title:u.I18n.t("Explanation"),className:D.selectOnChangeHelp,onClick:()=>C(!0),children:n.jsx(qt,{className:D.selectOnChangeHelpIcon})})]}):null,n.jsx(ht,{setTourStep:I,tourStep:_,isTourOpen:r,blockValue:t==="actions"?"then":t==="conditions"?0:t,typeBlock:t,setUserRules:l,userRules:c,theme:k,themeName:w,themeType:H,size:e}),a&&[...Array(t==="actions"?1:c.conditions.length-1)].map((N,h)=>{const b=(v=h)=>t==="actions"?!!f:!!f.find((m,W)=>W===v&&m.open);return n.jsxs(xt,{children:[n.jsxs("div",{onClick:()=>{if(t==="actions")return x(!f),null;let v=JSON.parse(JSON.stringify(f));if(c.conditions[h+1].length)return v[h].open=!v[h].open,x(v),null;v=v.filter((m,W)=>W!==h),x(v),B(h),setTimeout(()=>{B(!1),l({...c,conditions:[...c.conditions.filter((m,W)=>W!==h+1)]})},250)},className:D.blockCardAdd,children:[b()?"-":"+",n.jsx("div",{className:D.cardAdd,children:i})]},h),n.jsx(ht,{blockValue:t==="actions"?"else":t==="conditions"?h+1:t,typeBlock:t,setUserRules:l,userRules:c,boolean:b(),animation:S===h,size:e,theme:k,themeName:w,themeType:H})]},`${h}_block_${t}`)}),a&&t==="conditions"&&n.jsxs("div",{onClick:()=>{x([...f,{_id:Date.now(),open:!0}]),l({...c,conditions:[...c.conditions,[]]}),B(c.conditions.length-1),setTimeout(()=>B(!1),1e3)},className:D.blockCardAdd,children:["+",n.jsx("div",{className:D.cardAdd,children:i})]}),n.jsx(Sn,{open:g,onClose:()=>C(!1)}),n.jsx(Nn,{open:q,onClose:()=>T(!1)})]})},$n="_menuRules_1qqcb_1",qn="_switchesRenderWrapper_1qqcb_13",Bn="_menuOff_1qqcb_22",Mn="_menuTitle_1qqcb_28",Hn="_marginAuto_1qqcb_42",Wn="_inputWidth_1qqcb_47",Tn="_menuWrapper_1qqcb_52",En="_hamburgerWrapper_1qqcb_57",Pn="_hamburgerOff_1qqcb_74",Un="_nothingFound_1qqcb_82",Fn="_resetSearch_1qqcb_89",Jn="_controlPanel_1qqcb_101",Ln="_controlPanelAppBar_1qqcb_112",zn="_addClassMenu_1qqcb_126",Gn="_addClassBackground_1qqcb_132",Kn="_addClassPosition_1qqcb_136",$={menuRules:$n,switchesRenderWrapper:qn,menuOff:Bn,menuTitle:Mn,marginAuto:Hn,inputWidth:Wn,menuWrapper:Tn,hamburgerWrapper:En,hamburgerOff:Pn,nothingFound:Un,resetSearch:Fn,controlPanel:Jn,controlPanelAppBar:Ln,addClassMenu:zn,addClassBackground:Gn,addClassPosition:Kn},Qn=e=>{const{allProperties:t,allProperties:{acceptedBy:s,id:i},setUserRules:a,userRules:o,setTourStep:c,tourStep:l,isTourOpen:d,onTouchMove:j,isActive:O}=e;return n.jsx(At,{allProperties:t,id:t.id,isActive:O,setUserRules:a,userRules:o,children:n.jsx(It,{onDoubleClick:()=>{d&&l===J.addScheduleByDoubleClick&&i==="TriggerScheduleBlock"&&c(J.openTagsMenu),d&&l===J.addActionPrintText&&i==="ActionPrintText"&&c(J.showJavascript);const I=Date.now();let _;switch(s){case"actions":_="then";break;case"conditions":_=o[s].length-1;break}const r=K(s,o,_),k={id:i,_id:I,acceptedBy:s};_!==void 0?s==="actions"?r.actions[_].push({...k}):s==="conditions"&&r.conditions[_].push({...k}):r.triggers.push({...k}),a(r)},...e,...t,onTouchMove:j})})},Yn="_hamburgerMenu_hqnsm_8",Zn="_animate_hqnsm_21",_t={hamburgerMenu:Yn,animate:Zn};function Xn({bool:e}){return n.jsx("div",{className:`${_t.hamburgerMenu} ${e?_t.animate:""}`})}const Vn=({addClass:e,setAllBlocks:t,allBlocks:s,userRules:i,onChangeBlocks:a,setTourStep:o,tourStep:c,isTourOpen:l})=>{const{blocks:d,socket:j}=nt(et),[O,I]=dt(!1,"hamburgerOnOff"),[_,r]=dt({text:"",type:"triggers",index:0},"filterControlPanel"),k=(f=_.text,x=_.type)=>{if(!d)return;let p=[...d];p=p.filter(g=>{if(!f)return!0;const{name:C}=g.getStaticData();return C&&u.I18n.t(C).toLowerCase().includes(f.toLowerCase())}),p=p.filter(g=>x===g.getStaticData().acceptedBy),t(p)},H=(f,x)=>{l&&x===0&&c===J.selectTriggers&&o(J.addScheduleByDoubleClick),l&&x===2&&c===J.selectActions&&o(J.addActionPrintText),r({..._,index:x,type:["triggers","conditions","actions"][x]}),k(_.text,["triggers","conditions","actions"][x])},w=f=>({id:`scrollable-force-tab-${f}`,"aria-controls":`scrollable-force-tabpanel-${f}`});return E(()=>{k()},[d]),n.jsx(Ut,{mouseEvent:!1,touchEvent:"onTouchStart",onClickAway:()=>I(!0),children:n.jsxs("div",{className:u.Utils.clsx($.menuWrapper,e[1035]&&$.addClassMenu),children:[n.jsx("div",{className:`${$.hamburgerWrapper} ${O?$.hamburgerOff:null}`,onClick:()=>I(!O),children:n.jsx(Xn,{bool:!O})}),n.jsxs("div",{className:`${u.Utils.clsx($.menuRules,e[1035]&&$.addClassBackground,e[835]&&$.addClassPosition)} ${O?$.menuOff:null}`,children:[n.jsx("div",{className:$.controlPanel,children:n.jsx(Ft,{className:$.controlPanelAppBar,position:"static",children:n.jsxs(Jt,{value:_.index,onChange:H,children:[n.jsx(st,{className:"blocks-triggers",title:u.I18n.t("Triggers"),icon:n.jsx(Y,{iconName:"FlashOn"}),...w(0)}),n.jsx(st,{title:u.I18n.t("Conditions"),className:"blocks-conditions",icon:n.jsx(Y,{iconName:"Help"}),...w(1)}),n.jsx(st,{title:u.I18n.t("Actions"),className:"blocks-actions",icon:n.jsx(Y,{iconName:"PlayForWork"}),...w(2)})]})})}),n.jsx("div",{className:$.switchesRenderWrapper,children:n.jsxs("span",{children:[s.map(f=>{const{name:x,id:p,icon:g,adapter:C}=f.getStaticData();return n.jsx(xt,{children:n.jsx(Qn,{adapter:C,allProperties:f.getStaticData(),icon:g,id:p,isActive:!1,isTourOpen:l,name:x,onTouchMove:()=>I(!0),setTourStep:o,setUserRules:a,socket:j,tourStep:c,userRules:i})},p)}),!s.length&&n.jsxs("div",{className:$.nothingFound,children:[u.I18n.t("Nothing found"),"...",n.jsx("div",{className:$.resetSearch,onClick:()=>{r({..._,text:""}),k("")},children:u.I18n.t("reset search")})]})]})}),n.jsx("div",{className:u.Utils.clsx($.menuTitle,$.marginAuto)}),n.jsx(Bt,{className:$.inputWidth,fullWidth:!0,customValue:!0,value:_.text,size:"small",autoComplete:"off",label:u.I18n.t("search"),variant:"outlined",onChange:f=>{r({..._,text:f}),k(f)}})]})]})})};let pt=[];const me=({code:e,onChange:t,themeName:s,themeType:i,theme:a,setTourStep:o,tourStep:c,isTourOpen:l,command:d,scriptId:j,changed:O,running:I})=>{var v;const{blocks:_,socket:r,setOnUpdate:k,setOnDebugMessage:H,setEnableSimulation:w}=nt(et),[f,x]=M([]),[p,g]=M(ft(e)),[C,q]=M(""),[T,S]=M(!1);E(()=>{let m,W;const A=(P,y)=>{P===`${m}.alive`&&W!==(y==null?void 0:y.val)&&(W=!!(y!=null&&y.val),W&&m&&(r==null||r.sendTo(m.replace(/^system\.adapter\./,""),"rulesOn",j)))},L=(P,y)=>{var U,Q;r&&m!==((U=y==null?void 0:y.common)==null?void 0:U.engine)&&(m&&(r.unsubscribeState(`${m}.alive`,A),W&&r.sendTo(m.replace(/^system\.adapter\./,""),"rulesOn",j)),m=(Q=y==null?void 0:y.common)==null?void 0:Q.engine,m&&m&&r.subscribeState(`${m}.alive`,A))},Z=(P,y)=>{if(y)try{const U=JSON.parse(y.val),Q=Date.now();if(U.ruleId===j&&Q-U.ts<1e3){const F=[...pt,{blockId:U.blockId,data:U.data,ts:U.ts}];F.length>200&&F.splice(0,200-F.length);for(let X=F.length-1;X>=0;X--)if(F[X].ts{var y;m=(y=P==null?void 0:P.common)==null?void 0:y.engine,r.subscribeObject(j,L),m&&(r.subscribeState(`${m}.alive`,A),r.subscribeState(`${m.replace(/^system\.adapter\./,"")}.debug.rules`,Z))}),function(){r==null||r.unsubscribeObject(j,L),m&&(r==null||r.unsubscribeState(`${m}.alive`,A),W&&(r==null||r.sendTo(m.replace(/^system\.adapter\./,""),"rulesOff",j)),r==null||r.unsubscribeState(`${m.replace(/^system\.adapter\./,"")}.debug.rules`,Z))}},[]),E(()=>{w(!O&&I)},[O,I,w]),E(()=>{d&&(q(d),T||S(!0))},[d]),E(()=>{const m=ft(e);JSON.stringify(m)!==JSON.stringify(p)&&(g(m),k(!0))},[e]),E(()=>{document.getElementsByTagName("HTML")[0].className=s||"blue"},[s]);const B=lt(m=>{g(m),_&&t(Mt(m,_))},[_,t]),N=ut(null),[h,b]=M({835:!1,1035:!1});return E(()=>{N.current&&(N.current.clientWidth<=1035&&b({835:!1,1035:!0}),N.current.clientWidth<=835&&b({1035:!0,835:!0}),N.current.clientWidth>1035&&b({835:!1,1035:!1}))},[((v=N.current)==null?void 0:v.clientWidth)||0]),!_||!r?null:n.jsxs("div",{className:ot.wrapperRules,ref:N,children:[n.jsx(ln,{allBlocks:f,socket:r}),T?C==="export"?n.jsx(Ht,{scriptId:j,themeType:i,onClose:()=>S(!1),text:JSON.stringify(p,null,2)}):n.jsx(Wt,{themeType:i,onClose:m=>{S(!1),m&&B(JSON.parse(m))}}):null,n.jsxs("div",{className:u.Utils.clsx(ot.rootWrapper,h[835]&&ot.addClass),children:[n.jsx(Vn,{setAllBlocks:x,allBlocks:f,userRules:p,onChangeBlocks:B,setTourStep:o,tourStep:c,addClass:h,isTourOpen:l}),n.jsx(at,{socket:r,setUserRules:B,userRules:p,isTourOpen:l,setTourStep:o,tourStep:c,name:`${u.I18n.t("when")}...`,typeBlock:"triggers",iconName:"FlashOn",size:h[835],themeType:i,themeName:s,theme:a}),n.jsx(at,{socket:r,setUserRules:B,isTourOpen:l,setTourStep:o,tourStep:c,userRules:p,name:`...${u.I18n.t("and")}...`,typeBlock:"conditions",iconName:"Help",nameAdditionally:u.I18n.t("or"),additionally:!0,border:!0,size:h[835],themeType:i,themeName:s,theme:a}),n.jsx(at,{socket:r,setUserRules:B,isTourOpen:l,setTourStep:o,tourStep:c,userRules:p,name:`...${u.I18n.t("then")}`,typeBlock:"actions",iconName:"PlayForWork",nameAdditionally:u.I18n.t("else"),additionally:!0,size:h[835],themeType:i,themeName:s,theme:a})]})]},"rulesEditor")};export{me as default}; diff --git a/admin/assets/index-Dnbw7_L3.js b/admin/assets/index-q6iFaoFb.js similarity index 96% rename from admin/assets/index-Dnbw7_L3.js rename to admin/assets/index-q6iFaoFb.js index 8307f413a..5a86bb0f2 100644 --- a/admin/assets/index-Dnbw7_L3.js +++ b/admin/assets/index-q6iFaoFb.js @@ -1,4 +1,4 @@ -import{c as P,j as b,o as st,a as fc,b as Oc,d as Ec}from"./createSvgIcon-DPvF8xqu.js";import{a,c as Ce,r as De,e as dN,p as hr,j as Ka,q as Sg,_ as kg,b as et,k as Kt,f as vg,s as hN,i as Yg,l as Qg}from"./iobroker_javascript__loadShare__react__loadShare__.mjs-CTZOFJS2.js";import{$ as So,F as zN,a0 as bt,_ as Ae,a as fe,b as _e,p as as,V,E as ue,h as xe,i as q,Q as Zn,o as W,z as J,c as Te,y as ws,f as nt,g as re,Z as bg,C as Ug,D as Us,a1 as $g,a2 as wN,P as Le,t as Xt,u as dt,a3 as Pg,v as qt,H as Wg,d as Qt,e as yi,J as IN,q as ts,s as _c,W as br,r as xc,G as Sc,x as Jg,a4 as Bg,a5 as Me,a6 as Nn,a7 as Rg,K as CN,N as it,M as kc,L as Fg,a8 as vc,O as Gg}from"./iobroker_javascript__loadShare___mf_0_mui_mf_1_material__loadShare__.mjs-QWG5Arqe.js";import{S as Xn}from"./Save-Cld9qv9i.js";import{c as we,I as We,b as wt,L as Hg,g as Vg,j as or,i as pN,G as AN,C as mN,X as Zg,Y as te,Z as Xg,$ as Kg,a0 as qg,a1 as ej,V as Yc,a2 as tj,a3 as sj,a4 as ij,a5 as rj,a6 as Qc,a7 as bc,a8 as oj,a9 as nj,aa as aj,ab as Mj,ac as cj,ad as uj,ae as lj,af as Nj,ag as Lj,ah as gj,ai as jj,aj as yj,ak as Uc,al as $c,am as Tj,an as Pc,s as Dj,ao as dj,ap as hj,aq as zj,ar as Wc,as as wj,at as Ij,au as Cj,K as pj,h as Kn,a as zr}from"./index-Cu-TydZj.js";import{c as Ur,r as ko}from"./iobroker_javascript__loadShare__react__loadShare__.mjs_commonjs-proxy-CE9lvhW8.js";function Aj(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}import{P as _}from"./iobroker_javascript__loadShare__prop_mf_2_types__loadShare__.mjs-BCtSFofY.js";import{u as mj}from"./useTheme-hy6f3gra.js";import{R as fN,b as G}from"./index-gIA8x-8f.js";const fj=P(b.jsx("path",{d:"M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20z"}),"ArrowBack"),Oj=P(b.jsx("path",{d:"m10 17 5-5-5-5z"}),"ArrowRight"),Ej=P(b.jsx("path",{d:"M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8zm2 11h-3v3.75c0 1.24-1.01 2.25-2.25 2.25S8.5 17.99 8.5 16.75s1.01-2.25 2.25-2.25c.46 0 .89.14 1.25.38V11h4zm-3-4V3.5L18.5 9z"}),"AudioFile"),_j=P([b.jsx("path",{d:"M16.5 12h-9c-.55 0-1 .45-1 1v1h11v-1c0-.55-.45-1-1-1M7.25 8.5h4v2h-4zm5.5 0h4v2h-4z"},"0"),b.jsx("path",{d:"M20 2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2m-1 15h-1.5v-1.5h-11V17H5v-3.83c0-.66.25-1.26.65-1.72V9c0-1.1.9-2 2-2H11c.37 0 .72.12 1 .32.28-.2.63-.32 1-.32h3.35c1.1 0 2 .9 2 2v2.45c.4.46.65 1.06.65 1.72z"},"1")],"BedroomParent"),xj=P(b.jsx("path",{d:"M17 3H7c-1.1 0-1.99.9-1.99 2L5 21l7-3 7 3V5c0-1.1-.9-2-2-2"}),"Bookmark"),Sj=P(b.jsx("path",{d:"M17 3H7c-1.1 0-1.99.9-1.99 2L5 21l7-3 7 3V5c0-1.1-.9-2-2-2m0 15-5-2.18L7 18V5h10z"}),"BookmarkBorder"),kj=P(b.jsx("path",{d:"M22 24H2v-4h20zM13.06 5.19l3.75 3.75L7.75 18H4v-3.75zm4.82 2.68-3.75-3.75 1.83-1.83c.39-.39 1.02-.39 1.41 0l2.34 2.34c.39.39.39 1.02 0 1.41z"}),"BorderColor"),vj=P(b.jsx("path",{d:"M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zM12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6c3.31 0 6 2.69 6 6s-2.69 6-6 6"}),"Brightness4"),Yj=P(b.jsx("path",{d:"M20 15.31 23.31 12 20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20zM12 18c-3.31 0-6-2.69-6-6s2.69-6 6-6 6 2.69 6 6-2.69 6-6 6"}),"Brightness5"),qa=P(b.jsx("path",{d:"M20 15.31 23.31 12 20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20zM12 18V6c3.31 0 6 2.69 6 6s-2.69 6-6 6"}),"Brightness6"),Qj=P(b.jsx("path",{d:"M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zM12 18c-3.31 0-6-2.69-6-6s2.69-6 6-6 6 2.69 6 6-2.69 6-6 6m0-10c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4"}),"Brightness7"),bj=P(b.jsx("path",{d:"m22.7 19-9.1-9.1c.9-2.3.4-5-1.5-6.9-2-2-5-2.4-7.4-1.3L9 6 6 9 1.6 4.7C.4 7.1.9 10.1 2.9 12.1c1.9 1.9 4.6 2.4 6.9 1.5l9.1 9.1c.4.4 1 .4 1.4 0l2.3-2.3c.5-.4.5-1.1.1-1.4"}),"Build"),Uj=P(b.jsx("path",{d:"M20 3h-1V1h-2v2H7V1H5v2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2m0 18H4V8h16z"}),"CalendarToday"),eM=P(b.jsx("path",{d:"M9.4 16.6 4.8 12l4.6-4.6L8 6l-6 6 6 6zm5.2 0 4.6-4.6-4.6-4.6L16 6l6 6-6 6z"}),"Code"),$j=P(b.jsx("path",{d:"m20.71 5.63-2.34-2.34a.996.996 0 0 0-1.41 0l-3.12 3.12-1.93-1.91-1.41 1.41 1.42 1.42L3 16.25V21h4.75l8.92-8.92 1.42 1.42 1.41-1.41-1.92-1.92 3.12-3.12c.4-.4.4-1.03.01-1.42M6.92 19 5 17.08l8.06-8.06 1.92 1.92z"}),"Colorize"),Pj=P(b.jsx("path",{d:"m13.7826 15.1719 2.1213-2.1213 5.9963 5.9962-2.1213 2.1213zM17.5 10c1.93 0 3.5-1.57 3.5-3.5 0-.58-.16-1.12-.41-1.6l-2.7 2.7-1.49-1.49 2.7-2.7c-.48-.25-1.02-.41-1.6-.41C15.57 3 14 4.57 14 6.5c0 .41.08.8.21 1.16l-1.85 1.85-1.78-1.78.71-.71-1.41-1.41L12 3.49c-1.17-1.17-3.07-1.17-4.24 0L4.22 7.03l1.41 1.41H2.81l-.71.71 3.54 3.54.71-.71V9.15l1.41 1.41.71-.71 1.78 1.78-7.41 7.41 2.12 2.12L16.34 9.79c.36.13.75.21 1.16.21"}),"Construction"),Wj=P(b.jsx("path",{d:"M19 2h-4.18C14.4.84 13.3 0 12 0S9.6.84 9.18 2H5c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2m-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1m7 18H5V4h2v3h10V4h2z"}),"ContentPaste"),Jj=P(b.jsx("path",{d:"M17 15h2V7c0-1.1-.9-2-2-2H9v2h8zM7 17V1H5v4H1v2h4v10c0 1.1.9 2 2 2h10v4h2v-4h4v-2z"}),"Crop"),Bj=P(b.jsx("path",{d:"M4 7v2c0 .55-.45 1-1 1H2v4h1c.55 0 1 .45 1 1v2c0 1.65 1.35 3 3 3h3v-2H7c-.55 0-1-.45-1-1v-2c0-1.3-.84-2.42-2-2.83v-.34C5.16 11.42 6 10.3 6 9V7c0-.55.45-1 1-1h3V4H7C5.35 4 4 5.35 4 7m17 3c-.55 0-1-.45-1-1V7c0-1.65-1.35-3-3-3h-3v2h3c.55 0 1 .45 1 1v2c0 1.3.84 2.42 2 2.83v.34c-1.16.41-2 1.52-2 2.83v2c0 .55-.45 1-1 1h-3v2h3c1.65 0 3-1.35 3-3v-2c0-.55.45-1 1-1h1v-4z"}),"DataObject"),vo=P(b.jsx("path",{d:"M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8zm2 16H8v-2h8zm0-4H8v-2h8zm-3-5V3.5L18.5 9z"}),"Description"),Rj=P(b.jsx("path",{d:"M18.41 5.8 17.2 4.59c-.78-.78-2.05-.78-2.83 0l-2.68 2.68L3 15.96V20h4.04l8.74-8.74 2.63-2.63c.79-.78.79-2.05 0-2.83M6.21 18H5v-1.21l8.66-8.66 1.21 1.21zM11 20l4-4h6v4z"}),"DriveFileRenameOutline"),Fj=P(b.jsx("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 15h-2v-2h2zm0-4h-2V7h2z"}),"Error"),Gj=P(b.jsx("path",{d:"M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z"}),"ExpandMore"),Hj=P(b.jsx("path",{d:"M20 19.59V8l-6-6H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c.45 0 .85-.15 1.19-.4l-4.43-4.43c-.8.52-1.74.83-2.76.83-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5c0 1.02-.31 1.96-.83 2.75zM9 13c0 1.66 1.34 3 3 3s3-1.34 3-3-1.34-3-3-3-3 1.34-3 3"}),"FindInPage"),Vj=P(b.jsx("path",{d:"M20 6h-8l-2-2H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2m0 12H4V8h16z"}),"FolderOpen"),Zj=P(b.jsx("path",{d:"M20 6h-8l-2-2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2m-2.06 11L15 15.28 12.06 17l.78-3.33-2.59-2.24 3.41-.29L15 8l1.34 3.14 3.41.29-2.59 2.24z"}),"FolderSpecial"),Xj=P(b.jsx("path",{d:"M9.93 13.5h4.14L12 7.98zM20 2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2m-4.05 16.5-1.14-3H9.17l-1.12 3H5.96l5.11-13h1.86l5.11 13z"}),"FontDownload"),Kj=P(b.jsx("path",{d:"M10 4v3h2.21l-3.42 8H6v3h8v-3h-2.21l3.42-8H18V4z"}),"FormatItalic"),qj=P(b.jsx("path",{d:"M21 19V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2M8.5 13.5l2.5 3.01L14.5 12l4.5 6H5z"}),"Image"),tM=P(b.jsx("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 15h-2v-6h2zm0-8h-2V7h2z"}),"Info"),ON=P(b.jsx("path",{d:"M6 2c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm7 7V3.5L18.5 9z"}),"InsertDriveFile"),ey=P(b.jsx("path",{d:"M19 7v4H5.83l3.58-3.59L8 6l-6 6 6 6 1.41-1.41L5.83 13H21V7z"}),"KeyboardReturn"),EN=P(b.jsx("path",{d:"M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1M8 13h8v-2H8zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5"}),"Link"),ty=P(b.jsx("path",{d:"M3 13h2v-2H3zm0 4h2v-2H3zm0-8h2V7H3zm4 4h14v-2H7zm0 4h14v-2H7zM7 7v2h14V7z"}),"List"),sy=P(b.jsx("path",{d:"M19 5v14H5V5zm1.1-2H3.9c-.5 0-.9.4-.9.9v16.2c0 .4.4.9.9.9h16.2c.4 0 .9-.5.9-.9V3.9c0-.5-.5-.9-.9-.9M11 7h6v2h-6zm0 4h6v2h-6zm0 4h6v2h-6zM7 7h2v2H7zm0 4h2v2H7zm0 4h2v2H7z"}),"ListAlt"),iy=P(b.jsx("path",{d:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2m-5 14h-2V9h-2V7h4z"}),"LooksOne"),ry=P(b.jsx("path",{d:"M12 3v10.55c-.59-.34-1.27-.55-2-.55-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4V7h4V3z"}),"MusicNote"),oy=P(b.jsx("path",{d:"M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"}),"NavigateNext"),sM=P(b.jsx("path",{d:"M12 6c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2m0 10c2.7 0 5.8 1.29 6 2H6c.23-.72 3.31-2 6-2m0-12C9.79 4 8 5.79 8 8s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4m0 10c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4"}),"PersonOutlined"),ny=P(b.jsx("path",{d:"M21 19V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2M8.5 13.5l2.5 3.01L14.5 12l4.5 6H5z"}),"Photo"),Lo=P(b.jsx("path",{d:"M5 4v2h14V4zm0 10h4v6h6v-6h4l-7-7z"}),"Publish"),iM=P(b.jsx("path",{d:"m20.2 5.9.8-.8C19.6 3.7 17.8 3 16 3s-3.6.7-5 2.1l.8.8C13 4.8 14.5 4.2 16 4.2s3 .6 4.2 1.7m-.9.8c-.9-.9-2.1-1.4-3.3-1.4s-2.4.5-3.3 1.4l.8.8c.7-.7 1.6-1 2.5-1s1.8.3 2.5 1zM19 13h-2V9h-2v4H5c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-4c0-1.1-.9-2-2-2M8 18H6v-2h2zm3.5 0h-2v-2h2zm3.5 0h-2v-2h2z"}),"Router"),ay=P(b.jsx("path",{d:"M19 12v7H5v-7H3v7c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-7zm-6 .67 2.59-2.58L17 11.5l-5 5-5-5 1.41-1.41L11 12.67V3h2z"}),"SaveAlt"),qn=P(b.jsx("path",{d:"M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58c.18-.14.23-.41.12-.61l-1.92-3.32c-.12-.22-.37-.29-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54c-.04-.24-.24-.41-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58c-.18.14-.23.41-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6"}),"Settings"),go=P(b.jsx("path",{d:"M12 10c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m7-7H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2m-1.75 9c0 .23-.02.46-.05.68l1.48 1.16c.13.11.17.3.08.45l-1.4 2.42c-.09.15-.27.21-.43.15l-1.74-.7c-.36.28-.76.51-1.18.69l-.26 1.85c-.03.17-.18.3-.35.3h-2.8c-.17 0-.32-.13-.35-.29l-.26-1.85c-.43-.18-.82-.41-1.18-.69l-1.74.7c-.16.06-.34 0-.43-.15l-1.4-2.42c-.09-.15-.05-.34.08-.45l1.48-1.16c-.03-.23-.05-.46-.05-.69s.02-.46.05-.68l-1.48-1.16c-.13-.11-.17-.3-.08-.45l1.4-2.42c.09-.15.27-.21.43-.15l1.74.7c.36-.28.76-.51 1.18-.69l.26-1.85c.03-.17.18-.3.35-.3h2.8c.17 0 .32.13.35.29l.26 1.85c.43.18.82.41 1.18.69l1.74-.7c.16-.06.34 0 .43.15l1.4 2.42c.09.15.05.34-.08.45l-1.48 1.16c.03.23.05.46.05.69"}),"SettingsApplications"),My=P(b.jsx("path",{d:"m3.5 18.49 6-6.01 4 4L22 6.92l-1.41-1.41-7.09 7.97-4-4L2 16.99z"}),"ShowChart"),rM=P(b.jsx("path",{d:"M11.99 2c-5.52 0-10 4.48-10 10s4.48 10 10 10 10-4.48 10-10-4.48-10-10-10m3.61 6.34c1.07 0 1.93.86 1.93 1.93s-.86 1.93-1.93 1.93-1.93-.86-1.93-1.93c-.01-1.07.86-1.93 1.93-1.93m-6-1.58c1.3 0 2.36 1.06 2.36 2.36s-1.06 2.36-2.36 2.36-2.36-1.06-2.36-2.36c0-1.31 1.05-2.36 2.36-2.36m0 9.13v3.75c-2.4-.75-4.3-2.6-5.14-4.96 1.05-1.12 3.67-1.69 5.14-1.69.53 0 1.2.08 1.9.22-1.64.87-1.9 2.02-1.9 2.68M11.99 20c-.27 0-.53-.01-.79-.04v-4.07c0-1.42 2.94-2.13 4.4-2.13 1.07 0 2.92.39 3.84 1.15-1.17 2.97-4.06 5.09-7.45 5.09"}),"SupervisedUserCircle"),cy=P(b.jsx("path",{d:"M2.5 4v3h5v12h3V7h5V4zm19 5h-9v3h3v7h3v-7h3z"}),"TextFields"),uy=P(b.jsx("path",{d:"M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8zm4 18H6V4h7v5h5zM8 15.01l1.41 1.41L11 14.84V19h2v-4.16l1.59 1.59L16 15.01 12.01 11z"}),"UploadFile"),ly=P(b.jsx("path",{d:"M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8zm4 18H6V4h7v5h5zM8 15.01l1.41 1.41L11 14.84V19h2v-4.16l1.59 1.59L16 15.01 12.01 11z"}),"UploadFileOutlined"),Ny=P(b.jsx("path",{d:"M16 13h-3V3h-2v10H8l4 4zM4 19v2h16v-2z"}),"VerticalAlignBottom"),Ly=P(b.jsx("path",{d:"M8 11h3v10h2V11h3l-4-4zM4 3v2h16V3z"}),"VerticalAlignTop"),gy=P(b.jsx("path",{d:"M17 10.5V7c0-.55-.45-1-1-1H4c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1v-3.5l4 4v-11z"}),"Videocam"),jy=P(b.jsx("path",{d:"M14.67 5v14H9.33V5zm1 14H21V5h-5.33zm-7.34 0V5H3v14z"}),"ViewColumn"),yy=P(b.jsx("path",{d:"M4 15h16v-2H4zm0 4h16v-2H4zm0-8h16V9H4zm0-6v2h16V5z"}),"ViewHeadline"),Ty=P(b.jsx("path",{d:"M14.67 5v6.5H9.33V5zm1 6.5H21V5h-5.33zm-1 7.5v-6.5H9.33V19zm1-6.5V19H21v-6.5zm-7.34 0H3V19h5.33zm0-1V5H3v6.5z"}),"ViewModule"),Dy=P(b.jsx("path",{d:"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5M12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5m0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3"}),"Visibility"),dy=P(b.jsx("path",{d:"M1 21h22L12 2zm12-3h-2v-2h2zm0-4h-2v-4h2z"}),"Warning"),li=P(b.jsx("path",{d:"m1 9 2 2c4.97-4.97 13.03-4.97 18 0l2-2C16.93 2.93 7.08 2.93 1 9m8 8 3 3 3-3c-1.65-1.66-4.34-1.66-6 0m-4-4 2 2c2.76-2.76 7.24-2.76 10 0l2-2C15.14 9.14 8.87 9.14 5 13"}),"Wifi"),$r=P(b.jsx("path",{d:"M22.99 9C19.15 5.16 13.8 3.76 8.84 4.78l2.52 2.52c3.47-.17 6.99 1.05 9.63 3.7zm-4 4c-1.29-1.29-2.84-2.13-4.49-2.56l3.53 3.53zM2 3.05 5.07 6.1C3.6 6.82 2.22 7.78 1 9l1.99 2c1.24-1.24 2.67-2.16 4.2-2.77l2.24 2.24C7.81 10.89 6.27 11.73 5 13v.01L6.99 15c1.36-1.36 3.14-2.04 4.92-2.06L18.98 20l1.27-1.26L3.29 1.79zM9 17l3 3 3-3c-1.65-1.66-4.34-1.66-6 0"}),"WifiOff"),Ln=11/23/100;function Jc(s){const e={r:0,g:0,b:0};if(s.length===7)e.r=parseInt(s.substring(1,3),16),e.g=parseInt(s.substring(3,5),16),e.b=parseInt(s.substring(5,7),16);else if(s.length===4){const t=s[1],i=s[2],r=s[3];e.r=parseInt(t+t,16),e.g=parseInt(i+i,16),e.b=parseInt(r+r,16)}return e}function hy(s){return`#${Math.round(s.r).toString(16)}${Math.round(s.g).toString(16)}${Math.round(s.b).toString(16)}`}function zy(s,e,t){const i=Jc(s),r=Jc(e);return i.r+=r.r*(.05+Ln*(t-1)),i.g+=r.g*(.05+Ln*(t-1)),i.b+=r.b*(.05+Ln*(t-1)),hy(i)}function gn(s,e){const t={};for(let i=1;i<=24;i++)t[`elevation${i}`]={backgroundColor:zy(s,e,i)};return t}function wy(s,e){var n,M,c,l,N,u,L,g,j,y,T;let t,i;s==="dark"?(i={MuiAppBar:{colorDefault:{backgroundColor:"#272727"}},MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:st[200],"&:hover":{color:st[100]}}},MuiPaper:gn("#121212","#fff")},t={name:s,palette:{mode:"dark",background:{paper:"#121212",default:"#121212"},primary:{main:"#4dabf5"},secondary:{main:"#436a93"},expert:"#14bb00",text:{primary:"#ffffff",secondary:"#ffffff"}}}):s==="blue"?(i={MuiAppBar:{colorDefault:{backgroundColor:"#3399CC"}},MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:st[400],"&:hover":{color:st[300]}}}},t={name:s,palette:{mode:"dark",background:{paper:"#151d21",default:"#151d21"},primary:{main:"#4dabf5"},secondary:{main:"#436a93"},expert:"#14bb00",text:{primary:"#ffffff",secondary:"#ffffff"}}}):s==="colored"?(i={MuiAppBar:{colorDefault:{backgroundColor:"#2a3135"}},MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:st[200],"&:hover":{color:st[100]}}},MuiPaper:gn("#151d21","#fff")},t={name:s,palette:{mode:"light",primary:{main:"#3399CC"},secondary:{main:"#164477"},expert:"#96fc96"}}):s==="PT"?(i={MuiAppBar:{colorDefault:{backgroundColor:"#0F99DE"}},MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:st[400],"&:hover":{color:st[300]}}}},t={name:s,palette:{mode:"light",primary:{main:"#0F99DE"},secondary:{main:"#88A536"},expert:"#BD1B24"}}):s==="NW"?(i={MuiAppBar:{colorDefault:{backgroundColor:"#272727"}},MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:st[400],"&:hover":{color:st[300]}}},MuiPaper:gn("#121212","#fff")},t={name:s,palette:{mode:"dark",background:{paper:"#121212",default:"#121212"},primary:{main:"#00af78"},secondary:{main:"#005a40"},expert:"#14bb00",text:{primary:"#ffffff",secondary:"#ffffff"}}}):(i={MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:st[400],"&:hover":{color:st[300]}}}},t={name:s,palette:{mode:"light",primary:{main:"#3399CC",dark:"#256c97",light:"#76d0fd"},secondary:{main:"#164477"},expert:"#14bb00"}}),t.toolbar={height:48},t.saveToolbar={background:(M=(n=t.palette)==null?void 0:n.primary)==null?void 0:M.main,button:{borderRadius:3,height:32}},t.palette&&(t.palette.grey={main:fc[300],dark:fc[400]});const r=Oc(t),o=r.palette;return Oc(r,{...e||void 0,components:{...i,MuiButton:{variants:[{props:{variant:"contained",color:"grey"},style:{backgroundColor:(c=o.grey)==null?void 0:c[300],color:o.getContrastText&&((l=o.grey)!=null&&l[300])?o.getContrastText(o.grey[300]):void 0}},{props:{variant:"outlined",color:"grey"},style:{color:(N=o.text)==null?void 0:N.primary,borderColor:o.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)","&.Mui-disabled":{border:`1px solid ${(u=o.action)==null?void 0:u.disabledBackground}`},"&:hover":{borderColor:o.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)",backgroundColor:Ec(((L=o.text)==null?void 0:L.primary)||"",((g=o.action)==null?void 0:g.hoverOpacity)||.04)}}},{props:{variant:"text",color:"grey"},style:{color:(j=o.text)==null?void 0:j.primary,"&:hover":{backgroundColor:Ec(((y=o.text)==null?void 0:y.primary)||"",((T=o.action)==null?void 0:T.hoverOpacity)||.04)}}}]},...(e==null?void 0:e.components)||void 0}})}function Iy(){let s,e;const t=new Promise((i,r)=>{s=i,e=r});return t.resolve=s,t.reject=e,t}function ea(s){return(s==null?void 0:s.rows.map(e=>e.value).filter(e=>!!e))??[]}function vt(s){return s!=null&&s.startsWith("system.host.")||(s=`system.host.${s}`),s}function Pi(s){return s!=null&&s.startsWith("system.host.")&&(s=s.substring(12)),s}function Bc(s){return new Promise(e=>{setTimeout(e,s)})}function Pr(s){s=(s||"").toString();const e=s[0]==="*",t=s[s.length-1]==="*";return s=s.replace(/[-/\\^$+?.()|[\]{}]/g,"\\$&").replace(/\*/g,".*"),(e?"":"^")+s+(t?"":"$")}typeof globalThis.process<"u"&&(globalThis.location||={href:"http://localhost:8081/",protocol:"http:",host:"localhost:8081",pathname:"/",hostname:"localhost",reload:()=>{}},globalThis.localStorage||={_keys:{},setItem:(s,e)=>{globalThis.localStorage._keys[s]=e},getItem:s=>s in globalThis.localStorage._keys?globalThis.localStorage._keys[s]:null,removeItem:s=>{s in globalThis.localStorage._keys&&delete globalThis.localStorage._keys[s]}},globalThis.sessionStorage||=globalThis.localStorage,globalThis.navigator||={language:"en"});var ht;(function(s){s[s.CONNECTING=0]="CONNECTING",s[s.CONNECTED=1]="CONNECTED",s[s.OBJECTS_LOADED=2]="OBJECTS_LOADED",s[s.READY=3]="READY"})(ht||(ht={}));var Qe;(function(s){s.PERMISSION_ERROR="permissionError",s.NOT_CONNECTED="notConnectedError",s.TIMEOUT="timeout",s.NOT_ADMIN="Allowed only in admin",s.NOT_SUPPORTED="Not supported"})(Qe||(Qe={}));const lve=Qe.PERMISSION_ERROR;Qe.NOT_CONNECTED;const Cy=["material","echarts","vis"];class ke{props;connId;lastAccessToken=null;ignoreState="";connected=!1;subscribed=!1;firstConnect=!0;waitForRestart=!1;loaded=!1;simStates={};objectViewCached;constructor(e){this.props=this.applyDefaultProps(e),this.connId=`${this.props.name?`${this.props.name}-`:""}${Math.round(Math.random()*1e6).toString().padStart(6,"0")}`,this.waitForSocketLib().then(()=>this.startSocket()).catch(t=>{alert(`Socket connection could not be initialized: ${t}`)})}applyDefaultProps(e){return{...e,protocol:e.protocol||globalThis.location.protocol,host:e.host||globalThis.location.hostname,port:e.port||(globalThis.location.port==="3000"?8081:globalThis.location.port),ioTimeout:Math.max(e.ioTimeout||2e4,2e4),cmdTimeout:Math.max(e.cmdTimeout||5e3,5e3),admin5only:e.admin5only||!1,autoSubscribes:e.autoSubscribes??[],autoSubscribeLog:e.autoSubscribeLog??!1,doNotLoadACL:e.doNotLoadACL??!0,doNotLoadAllObjects:e.doNotLoadAllObjects??!0}}statesSubscribes={};filesSubscribes={};objectsSubscribes={};objects={};states={};acl=null;isSecure=!1;onReadyDone=!1;onConnectionHandlers=[];onLogHandlers=[];onCmdStdoutHandler;onCmdStderrHandler;onCmdExitHandler;onError(e){(this.props.onError??console.error)(e)}_socket;_waitForSocketPromise;_waitForFirstConnectionPromise=Iy();_instanceSubscriptions={};_promises={};_authTimer=null;_refreshTimer=null;_systemConfig;get systemConfig(){return this._systemConfig}systemLang="en";static isWeb(){return globalThis.socketUrl!==void 0}waitForSocketLib(){return this._waitForSocketPromise?this._waitForSocketPromise:(this._waitForSocketPromise=new Promise(async(e,t)=>{if(this.props.connect){e();return}if(typeof globalThis.io>"u"&&typeof globalThis.iob>"u")if(typeof globalThis.registerSocketOnLoad=="function")globalThis.registerSocketOnLoad(()=>e());else{for(let i=1;i<=30;i++){if(globalThis.io||globalThis.iob)return e();await Bc(100)}t(new Error("Socket library could not be loaded!"))}else e()}),this._waitForSocketPromise)}async startSocket(){if(this._socket)return;let e=this.props.host,t=this.props.port,i=(this.props.protocol||globalThis.location.protocol).replace(":",""),r=globalThis.location.pathname;if(globalThis.location.hostname==="iobroker.net"||globalThis.location.hostname==="iobroker.pro")r="";else{if(globalThis.socketUrl){const c=new globalThis.URL(globalThis.socketUrl);e=c.hostname,t=c.port,i=c.protocol.replace(":","")}const M=r.lastIndexOf("/");if(M!==-1&&(r=r.substring(0,M+1)),ke.isWeb()){const c=r.split("/");c.length>2&&(c.pop(),c.pop(),Cy.includes(c[c.length-1])&&c.pop(),r=c.join("/"),r.endsWith("/")||(r+="/"))}}const o=t?`${i}://${e}:${t}`:`${i}://${e}`,n=this.props.connect||(globalThis.io||globalThis.iob).connect;return this._socket=n(o,{path:r.endsWith("/")?`${r}socket.io`:`${r}/socket.io`,query:"ws=true",name:this.props.name,timeout:this.props.ioTimeout,uuid:this.props.uuid,token:this.props.token}),this._socket.on("connect",M=>{var l;(l=globalThis.addEventListener)==null||l.call(globalThis,"storage",this.onAccessTokenUpdated);const c=ke.readTokens();if(c&&!c.owner){const N=Date.now();this.saveTokens({access_token:c.access_token,refresh_token:c.refresh_token,expires_in:Math.round((c.expires_in.getTime()-N)/1e3),refresh_token_expires_in:Math.round((c.refresh_token_expires_in.getTime()-N)/1e3),token_type:"Bearer"},c.stayLoggedIn)}this.onReadyDone=!1,M!==!0?(this.connected=!0,setTimeout(()=>this.getVersion().then(N=>{const[u,L,g]=N.version.split(".");parseInt(u,10)*1e4+parseInt(L,10)*100+parseInt(g,10)<40102?(this._authTimer=null,this.onPreConnect(!1,!1)):this._socket.emit("authenticate",(y,T)=>this.onPreConnect(y,T))}).catch(N=>this.onError({message:N.toString(),operation:"getVersion"})),500)):this._socket.emit("authenticate",(N,u)=>{this.onPreConnect(N,u)})}),this._socket.on("reconnect",()=>{var M,c;this.onReadyDone=!1,(c=(M=this.props).onProgress)==null||c.call(M,ht.READY),this.connected=!0,this.waitForRestart?globalThis.location.reload():(this._subscribe(!0),this.onConnectionHandlers.forEach(l=>l(!0)))}),this._socket.on("disconnect",()=>{var M,c;this.onReadyDone=!1,this.connected=!1,this.subscribed=!1,(c=(M=this.props).onProgress)==null||c.call(M,ht.CONNECTING),this.onConnectionHandlers.forEach(l=>l(!1))}),this._socket.on("reauthenticate",()=>this.authenticate()),this._socket.on("log",M=>{var c,l;(l=(c=this.props).onLog)==null||l.call(c,M),this.onLogHandlers.forEach(N=>N(M))}),this._socket.on("error",M=>{let c;M==null?c="":typeof M.toString=="function"?c=M.toString():(c=JSON.stringify(M),console.error(`Received strange error: ${c}`)),c.includes("User not authorized")?this.authenticate():c.includes("websocket error")?(console.error(`Socket Error => reload: ${M}`),globalThis.location.reload()):console.error(`Socket Error: ${M}`)}),this._socket.on("connect_error",M=>console.error(`Connect error: ${M}`)),this._socket.on("permissionError",M=>this.onError({message:"no permission",operation:M.operation,type:M.type,id:M.id||""})),this._socket.on("objectChange",(M,c)=>{setTimeout(()=>this.objectChange(M,c),0)}),this._socket.on("stateChange",(M,c)=>{setTimeout(()=>this.stateChange(M,c),0)}),this._socket.on("im",(M,c,l)=>{setTimeout(()=>this.instanceMessage(M,c,l),0)}),this._socket.on("fileChange",(M,c,l)=>{setTimeout(()=>this.fileChange(M,c,l),0)}),this._socket.on("cmdStdout",(M,c)=>{var l;(l=this.onCmdStdoutHandler)==null||l.call(this,M,c)}),this._socket.on("cmdStderr",(M,c)=>{var l;(l=this.onCmdStderrHandler)==null||l.call(this,M,c)}),this._socket.on("cmdExit",(M,c)=>{var l;(l=this.onCmdExitHandler)==null||l.call(this,M,c)}),Promise.resolve()}onPreConnect(e,t){var i,r;this._authTimer&&(clearTimeout(this._authTimer),this._authTimer=null),this.connected=!0,this.isSecure=t,this.waitForRestart?globalThis.location.reload():(this.firstConnect?this.loadData().catch(o=>{console.error(`Cannot load data: ${o}`)}):(r=(i=this.props).onProgress)==null||r.call(i,ht.READY),this._subscribe(!0),this.onConnectionHandlers.forEach(o=>o(!0)),this.checkAccessTokenExpire()),this._waitForFirstConnectionPromise.resolve()}static readTokens(){let e=globalThis.sessionStorage.getItem("iob_tokens");const t=!e;if(e||(e=globalThis.localStorage.getItem("iob_tokens")),!e)return null;const[i,r,o,n,M]=e.split(";"),c=new Date(r);return c.getTime(){if(e.key==="iob_tokens"){const t=ke.readTokens();t&&(console.log(`Tab ${this.connId} received updated token: ${t.access_token}`),this.updateTokenExpiration(t.access_token))}};updateTokenExpiration(e){this.lastAccessToken!==e&&(this.lastAccessToken=e,this._socket.emit("updateTokenExpiration",e,(t,i)=>{t?(console.error(`[UPDATE/${new Date().toISOString()}] cannot say to server about new token: ${t}`),globalThis.location.reload()):i?console.log(`[UPDATE/${new Date().toISOString()}] server accepted new token: ${e}`):(console.error(`[UPDATE/${new Date().toISOString()}] cannot say to server about new token`),globalThis.location.reload())})),this.checkAccessTokenExpire()}refreshTokens(e,t){if(!e){console.log(`[REFRESH/${new Date().toISOString()}] No token structure found => reloading the page`),setTimeout(()=>globalThis.location.reload(),500);return}t||!e.owner||e.owner===this.connId?(console.log(`[REFRESH/${new Date().toISOString()}] claim ownership of the token`),this.acquireTokenLock()?(console.log(`[REFRESH/${new Date().toISOString()}] refreshing token`),fetch("./oauth/token",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:`grant_type=refresh_token&refresh_token=${e.refresh_token}&client_id=ioBroker&stayloggedin=${e.stayLoggedIn}`}).then(i=>{if(i.ok)return i.json();throw new Error("Cannot refresh access token")}).then(i=>{if(i.access_token)console.log(`[REFRESH/${new Date().toISOString()}] received new token: ${i.access_token}`),this.saveTokens(i,e.stayLoggedIn),this.releaseTokenLock(),this.updateTokenExpiration(i.access_token);else throw new Error("Cannot get access token")}).catch(i=>{console.warn(`[REFRESH/${new Date().toISOString()}] cannot refresh token: ${i}`),this.releaseTokenLock(),this.deleteTokens(e.stayLoggedIn),console.error(i),globalThis.location.reload()})):(console.log(`[REFRESH/${new Date().toISOString()}] Someone else is updating the token, so wait for the next check`),this.checkAccessTokenExpire())):this.lastAccessToken!==e.access_token&&this.updateTokenExpiration(e.access_token)}acquireTokenLock(){const e=Date.now(),t=globalThis.localStorage.getItem("iob_token_semaphore");if(t)try{const r=JSON.parse(t);if(e{r?(console.log(`[TOKEN/${new Date().toISOString()}] Token will be prolonged`),this.refreshTokens(e,i)):(console.log(`[TOKEN/${new Date().toISOString()}] Token will not be prolonged. Reloading the page`),setTimeout(()=>globalThis.location.reload(),Date.now()>t?500:t-Date.now()))})):(console.log(`[TOKEN/${new Date().toISOString()}] No tokenTimeoutHandler defined. Prolonging the token`),this.refreshTokens(e,i))):this.lastAccessToken!==e.access_token?(console.log(`[TOKEN/${new Date().toISOString()}] We are not the owner of the token, but we will inform the server about new token`),this.refreshTokens(e)):(console.log(`[TOKEN/${new Date().toISOString()}] We are not the owner of the token and the token did not change. Check in 3 seconds if the owner updated the token`),this._refreshTimer=setTimeout(()=>{this._refreshTimer=null,this.checkAccessTokenExpire()},3e3)):(console.log(`[TOKEN/${new Date().toISOString()}] We do not have a refresh token, so we need to reauthenticate`),setTimeout(()=>globalThis.location.reload(),Date.now()>t?500:t-Date.now()))}else this._refreshTimer=setTimeout(()=>{this._refreshTimer=null,this.checkAccessTokenExpire()},t-Date.now()-3e4>12e4?12e4:t-Date.now()-3e4)}}}static isCloud(){return globalThis.location.hostname.includes("amazonaws.com")||globalThis.location.hostname.includes("iobroker.in")?!0:typeof globalThis.socketUrl>"u"?!1:globalThis.socketUrl.includes("iobroker.in")||globalThis.socketUrl.includes("amazonaws")}isConnected(){return this.connected}waitForFirstConnection(){return this._waitForFirstConnectionPromise}async getUserPermissions(){return this.request({commandTimeout:!1,executor:(e,t)=>{this._socket.emit("getUserPermissions",(i,r)=>{i?t(i):e(r||null)})}})}async loadData(){if(this.loaded)return;const e=10;for(let t=1;t<=e;t++){if(this.doLoadData().catch(i=>console.error(`Cannot load data: ${i}`)),this.loaded)return;await Bc(ke.isCloud()?5e3:1e3)}}async doLoadData(){var e,t,i,r,o,n,M,c,l;if(!this.loaded){if(!this.props.doNotLoadACL)try{this.acl=await this.getUserPermissions()}catch(N){this.onError(`Cannot read user permissions: ${N}`);return}try{this.props.admin5only&&!ke.isWeb()&&(!globalThis.vendorPrefix||globalThis.vendorPrefix==="@@vendorPrefix@@")?this._systemConfig=await this.getCompactSystemConfig():this._systemConfig=await this.getSystemConfig()}catch(N){this.onError(`Cannot read system config: ${N}`);return}this._systemConfig&&(this.systemLang=(e=this._systemConfig.common)==null?void 0:e.language,this.systemLang||(this.systemLang=globalThis.navigator.userLanguage||globalThis.navigator.language,/^(en|de|ru|pt|nl|fr|it|es|pl|uk)-?/.test(this.systemLang)?this.systemLang=this.systemLang.substring(0,2):/^(en|de|ru|pt|nl|fr|it|es|pl|uk|zh-cn)$/.test(this.systemLang)||(this.systemLang="en"),this._systemConfig.common.language=this.systemLang)),(i=(t=this.props).onLanguage)==null||i.call(t,this.systemLang),this.loaded=!0,(o=(r=this.props).onProgress)==null||o.call(r,ht.CONNECTED),this.firstConnect=!1,this.props.doNotLoadAllObjects?this.props.admin5only?this.objects={}:this.objects={"system.config":this._systemConfig}:this.objects=await this.getObjects(),(M=(n=this.props).onProgress)==null||M.call(n,ht.READY),this.onReadyDone||(this.onReadyDone=!0,(l=(c=this.props).onReady)==null||l.call(c,this.objects))}}authenticate(){globalThis.location.search.includes("&href=")?globalThis.location.href=`${globalThis.location.protocol}//${globalThis.location.host}${globalThis.location.pathname}${globalThis.location.search}`:globalThis.location.href=`${globalThis.location.protocol}//${globalThis.location.host}${globalThis.location.pathname}?login&href=${encodeURIComponent(globalThis.location.search+globalThis.location.hash)}`}async subscribeState(...e){let t,i,r;e.length===3?[t,i,r]=e:([t,r]=e,i=!1);let o;if(Array.isArray(t)?o=t:o=[t],typeof r!="function")throw new Error("The state change handler must be a function!");const n=[];for(let M=0;MM.includes("*"))){let M;for(let c=0;cconsole.error(`Cannot call state change handler: ${L}`))}}}else try{const M=await(ke.isWeb()?this.getStates(o):this.getForeignStates(o));if(M)for(const[c,l]of Object.entries(M)){const N=r(c,l);N instanceof Promise&&N.catch(u=>console.error(`Cannot call state change handler: ${u}`))}}catch(M){console.error(`Cannot getState "${o.join(", ")}": ${M.message}`);return}}async subscribeStateAsync(e,t){return this.subscribeState(e,t)}unsubscribeState(e,t){var o;let i;Array.isArray(e)?i=e:i=[e];const r=[];for(let n=0;n{try{const N=l(e,t,i);N instanceof Promise&&N.catch(u=>console.error(`Cannot call object change handler: ${u}`))}catch(N){console.error(`Error by callback of objectChange: ${N}`)}});if(r){const M=(n=(o=this.props).onObjectChange)==null?void 0:n.call(o,e,t);M instanceof Promise&&M.catch(c=>console.error(`Cannot call object change handler: ${c}`))}}stateChange(e,t){for(const i of Object.values(this.statesSubscribes))if(i.reg.test(e))for(const r of i.cbs)try{const o=r(e,t??null);o instanceof Promise&&o.catch(n=>console.error(`Cannot call state change handler: ${n}`))}catch(o){console.error(`Error by callback of stateChanged: ${o}`)}}instanceMessage(e,t,i){var r;(r=this._instanceSubscriptions[t])==null||r.forEach(o=>{if(o.messageType===e){const n=o.callback(i,t,e);n instanceof Promise&&n.catch(M=>console.error(`Cannot call instance message handler: ${M}`))}})}fileChange(e,t,i){for(const r of Object.values(this.filesSubscribes))if(r.regId.test(e)&&r.regFilePattern.test(t))for(const o of r.cbs)try{o(e,t,i)}catch(n){console.error(`Error by callback of fileChange: ${n}`)}}async subscribeFiles(e,t,i){if(typeof i!="function")throw new Error("The state change handler must be a function!");let r;Array.isArray(t)?r=t:r=[t];const o=[];for(let n=0;n{const u={elapsed:!1,clearTimeout:()=>{}};let L;i!==!1&&(L=setTimeout(()=>{u.elapsed=!0,r==null||r(),e&&this._promises[e]instanceof Promise&&delete this._promises[e],N(new Error(Qe.TIMEOUT))},i??this.props.cmdTimeout),u.clearTimeout=()=>{clearTimeout(L)});try{await M(l,N,u)}catch(g){e&&this._promises[e]instanceof Promise&&delete this._promises[e],N(new Error(g.toString()))}});return e&&(this._promises[e]=c),c}resetCache(e,t){t?Object.keys(this._promises).filter(i=>i.startsWith(e)).forEach(i=>{delete this._promises[i]}):delete this._promises[e]}getStates(e){return this.request({commandTimeout:!1,executor:(t,i)=>{this._socket.emit("getStates",e,(r,o)=>{this.states=o??{},r?i(r):t(this.states)})}})}getState(e){return this.request({commandTimeout:!1,executor:(t,i)=>{if(e&&e===this.ignoreState){t(this.simStates[e]||{val:null,ack:!0});return}this._socket.emit("getState",e,(r,o)=>{r?i(r):t(o)})}})}getBinaryState(e){return this.request({commandTimeout:!1,executor:(t,i)=>{this._socket.emit("getBinaryState",e,(r,o)=>{r?i(r):t(o)})}})}setBinaryState(e,t){return this.request({commandTimeout:!1,executor:(i,r)=>{this._socket.emit("setBinaryState",e,t,o=>{o?r(o):i()})}})}setState(e,t,i){return typeof i=="boolean"&&(t={val:t,ack:i}),this.request({commandTimeout:!1,executor:(r,o)=>{if(e&&e===this.ignoreState){let n;if(typeof i=="boolean"||typeof t=="object"&&t.val!==void 0?n=t:n={val:t,ack:!1,ts:Date.now(),lc:Date.now(),from:"system.adapter.vis.0"},this.simStates[e]=n,this.statesSubscribes[e])for(const M of this.statesSubscribes[e].cbs)try{const c=M(e,n);c instanceof Promise&&c.catch(l=>console.error(`Cannot call state change handler: ${l}`))}catch(c){console.error(`Error by callback of stateChanged: ${c}`)}r();return}this._socket.emit("setState",e,t,n=>{n?o(n):r()})}})}getObjects(e,t){return this.request({commandTimeout:!1,executor:(i,r)=>{if(!e&&this.objects){i(this.objects);return}this._socket.emit(ke.isWeb()?"getObjects":"getAllObjects",(o,n)=>{var M,c;t||(c=(M=this.props).onProgress)==null||c.call(M,ht.OBJECTS_LOADED),o?r(o):(this.objects=n??{},i(this.objects))})}})}getObjectsById(e){return this.request({commandTimeout:!1,executor:(t,i)=>{this._socket.emit("getObjects",e,(r,o)=>{r?i(r):t(o)})}})}_subscribe(e){var t,i;if(e&&!this.subscribed){this.subscribed=!0,(t=this.props.autoSubscribes)!=null&&t.length&&this._socket.emit("subscribeObjects",this.props.autoSubscribes);const r=Object.keys(this.objectsSubscribes);r.length&&this._socket.emit("subscribeObjects",r),Object.keys(this.objectsSubscribes).forEach(o=>this._socket.emit("subscribeObjects",o)),this.props.autoSubscribeLog&&this._socket.emit("requireLog",!0),Object.keys(this.statesSubscribes).forEach(o=>this._socket.emit("subscribe",o)),Object.keys(this.filesSubscribes).forEach(o=>{const[n,M]=o.split("$%$");this._socket.emit("subscribeFiles",n,M)})}else if(!e&&this.subscribed){this.subscribed=!1,(i=this.props.autoSubscribes)!=null&&i.length&&this._socket.emit("unsubscribeObjects",this.props.autoSubscribes);const r=Object.keys(this.objectsSubscribes);r.length&&this._socket.emit("unsubscribeObjects",r),this.props.autoSubscribeLog&&this._socket.emit("requireLog",!1),Object.keys(this.statesSubscribes).forEach(o=>this._socket.emit("unsubscribe",o)),Object.keys(this.filesSubscribes).forEach(o=>{const[n,M]=o.split("$%$");this._socket.emit("unsubscribeFiles",n,M)})}}requireLog(e){return this.request({commandTimeout:!1,executor:(t,i)=>{this._socket.emit("requireLog",e,r=>{r?i(r):t()})}})}delObject(e,t=!1){return this.request({commandTimeout:!1,executor:(i,r)=>{this._socket.emit("delObject",e,{maintenance:t},o=>{o?r(o):i()})}})}delObjects(e,t){return this.request({commandTimeout:!1,executor:(i,r)=>{this._socket.emit("delObjects",e,{maintenance:t},o=>{o?r(o):i()})}})}setObject(e,t){return t?(t=JSON.parse(JSON.stringify(t)),delete t.from,delete t.user,delete t.ts,this.request({commandTimeout:!1,executor:(i,r)=>{this._socket.emit("setObject",e,t,o=>{o?r(o):i()})}})):Promise.reject(new Error("Null object is not allowed"))}getObject(e){return this.request({commandTimeout:!1,executor:(t,i)=>{if(e&&e===this.ignoreState){t({_id:this.ignoreState,type:"state",common:{name:"ignored state",type:"mixed"}});return}this._socket.emit("getObject",e,(r,o)=>{r?i(r):t(o)})}})}sendTo(e,t,i){return this.request({commandTimeout:!1,executor:r=>{this._socket.emit("sendTo",e,t,i,o=>{r(o)})}})}extendObject(e,t){return t?(t=JSON.parse(JSON.stringify(t)),delete t.from,delete t.user,delete t.ts,this.request({commandTimeout:!1,executor:(i,r)=>{this._socket.emit("extendObject",e,t,o=>{o?r(o):i()})}})):Promise.reject(new Error("Null object is not allowed"))}registerLogHandler(e){this.onLogHandlers.includes(e)||this.onLogHandlers.push(e)}unregisterLogHandler(e){const t=this.onLogHandlers.indexOf(e);t!==-1&&this.onLogHandlers.splice(t,1)}registerConnectionHandler(e){this.onConnectionHandlers.includes(e)||this.onConnectionHandlers.push(e)}unregisterConnectionHandler(e){const t=this.onConnectionHandlers.indexOf(e);t!==-1&&this.onConnectionHandlers.splice(t,1)}registerCmdStdoutHandler(e){this.onCmdStdoutHandler=e}unregisterCmdStdoutHandler(){this.onCmdStdoutHandler=void 0}registerCmdStderrHandler(e){this.onCmdStderrHandler=e}unregisterCmdStderrHandler(){this.onCmdStderrHandler=void 0}registerCmdExitHandler(e){this.onCmdExitHandler=e}unregisterCmdExitHandler(){this.onCmdExitHandler=void 0}getEnums(e,t){return this.request({cacheKey:`enums_${e||"all"}`,forceUpdate:t,commandTimeout:!1,executor:(i,r)=>{this._socket.emit("getObjectView","system","enum",{startkey:`enum.${e||""}`,endkey:e?`enum.${e}.香`:"enum.香"},(o,n)=>{if(o)r(o);else{const M={};if(n)for(let c=0;c{i||="",r||="香",this._socket.emit("getObjectView",e,t,{startkey:i,endkey:r},(M,c)=>{if(M)n(M);else{const l={};if(c&&c.rows)for(let N=0;N{this._socket.emit("getObjectView","system","meta",{startkey:"",endkey:"香"},(i,r)=>{var o;i?t(i):e((o=r.rows)==null?void 0:o.map(n=>n.value).filter(n=>!!n))})}})}readDir(e,t){return this.request({commandTimeout:!1,executor:(i,r)=>{this._socket.emit("readDir",e,t,(o,n)=>{o?r(o):i(n)})}})}readFile(e,t,i){return this.request({commandTimeout:!1,executor:(r,o)=>{this._socket.emit(i?"readFile64":"readFile",e,t,(n,M,c)=>{n?o(n):r({file:M,mimeType:c})})}})}writeFile64(e,t,i){return this.request({commandTimeout:!1,executor:(r,o)=>{if(typeof i=="string")this._socket.emit("writeFile",e,t,i,n=>{n?o(n):r()});else{const n=btoa(new Uint8Array(i).reduce((M,c)=>M+String.fromCharCode(c),""));this._socket.emit("writeFile64",e,t,n,M=>{M?o(M):r()})}}})}deleteFile(e,t){return this.request({commandTimeout:!1,executor:(i,r)=>{this._socket.emit("deleteFile",e,t,o=>{o?r(o):i()})}})}deleteFolder(e,t){return this.request({commandTimeout:!1,executor:(i,r)=>{this._socket.emit("deleteFolder",e,t,o=>{o?r(o):i()})}})}rename(e,t,i){return this.request({commandTimeout:!1,executor:(r,o)=>{this._socket.emit("rename",e,t,i,n=>{n?o(n):r()})}})}renameFile(e,t,i){return this.request({commandTimeout:!1,executor:(r,o)=>{this._socket.emit("renameFile",e,t,i,n=>{n?o(n):r()})}})}cmdExec(e,t,i,r){return this.request({commandTimeout:r,executor:(o,n,M)=>{e=vt(e),this._socket.emit("cmdExec",e,i,t,c=>{M.elapsed||(M.clearTimeout(),c?n(c):o())})}})}getSystemConfig(e){return this.request({cacheKey:"systemConfig",forceUpdate:e,commandTimeout:!1,executor:async t=>{let i=await this.getObject("system.config");i??={},i.common??={},i.native??={},t(i)}})}getCompactSystemConfig(e){return this.request({cacheKey:"systemConfigCommon",forceUpdate:e,commandTimeout:!1,requireAdmin:!0,executor:(t,i)=>{this._socket.emit("getCompactSystemConfig",(r,o)=>{r?i(r):(o??={},o.common??={},o.native??={},t(o))})}})}getForeignStates(e){return this.request({commandTimeout:!1,executor:(t,i)=>{this._socket.emit("getForeignStates",e||"*",(r,o)=>{r?i(r):t(o??{})})}})}getForeignObjects(e,t){return this.request({commandTimeout:!1,executor:(i,r)=>{this._socket.emit("getForeignObjects",e||"*",t,(o,n)=>{o?r(o):i(n)})}})}setSystemConfig(e){return this.setObject("system.config",e)}getRawSocket(){return this._socket}getHistory(e,t){return this.request({commandTimeout:!1,executor:(i,r)=>{this._socket.emit("getHistory",e,t,(o,n)=>{o?r(o):i(n)})}})}getHistoryEx(e,t){return this.request({commandTimeout:!1,executor:(i,r)=>{this._socket.emit("getHistory",e,t,(o,n,M,c)=>{o?r(o):i({values:n,sessionId:c,step:M})})}})}getIpAddresses(e,t){return e=vt(e),this.request({cacheKey:`IPs_${e}`,forceUpdate:t,commandTimeout:!1,executor:async i=>{const r=await this.getObject(e);i((r==null?void 0:r.common.address)??[])}})}getVersion(e){return this.request({cacheKey:"version",forceUpdate:e,commandTimeout:!1,executor:(t,i)=>{this._socket.emit("getVersion",(r,o,n)=>{r&&!o&&typeof r=="string"&&r.match(/\d+\.\d+\.\d+/)?t({version:r,serverName:"socketio"}):r?i(r):t({version:o,serverName:n})})}})}getWebServerName(){return this.request({cacheKey:"webName",commandTimeout:!1,executor:(e,t)=>{this._socket.emit("getAdapterName",(i,r)=>{i?t(i):e(r)})}})}fileExists(e,t){return this.request({commandTimeout:!1,executor:(i,r)=>{this._socket.emit("fileExists",e,t,(o,n)=>{o?r(o):i(!!n)})}})}getCurrentUser(){return this.request({commandTimeout:!1,executor:e=>{this._socket.emit("authEnabled",(t,i)=>{e(i)})}})}getUuid(){return this.request({cacheKey:"uuid",commandTimeout:!1,executor:async e=>{var i;const t=await this.getObject("system.meta.uuid");e((i=t==null?void 0:t.native)==null?void 0:i.uuid)}})}checkFeatureSupported(e,t){return this.request({cacheKey:`supportedFeatures_${e}`,forceUpdate:t,commandTimeout:!1,executor:(i,r)=>{this._socket.emit("checkFeatureSupported",e,(o,n)=>{o?r(o):i(n)})}})}getAdapterInstances(e,t){return typeof e=="boolean"&&(t=e,e=""),e||="",this.request({cacheKey:`instances_${e}`,forceUpdate:t,commandTimeout:!1,executor:async i=>{const r=e?`system.adapter.${e}.`:"system.adapter.",o=`${r}香`,n=await this.getObjectViewSystem("instance",r,o),M=Object.values(n);i(e?M.filter(c=>c.common.name===e):M)}})}getAdapters(e,t){return typeof e=="boolean"&&(t=e,e=""),e||="",this.request({cacheKey:`adapter_${e}`,forceUpdate:t,commandTimeout:!1,executor:async i=>{const r=await this.getObjectViewSystem("adapter",`system.adapter.${e||""}`,`system.adapter.${e||"香"}`),o=Object.values(r);i(e?o.filter(n=>n.common.name===e):o)}})}getGroups(e){return this.request({cacheKey:"groups",forceUpdate:e,commandTimeout:!1,executor:(t,i)=>{this._socket.emit("getObjectView","system","group",{startkey:"system.group.",endkey:"system.group.香"},(r,o)=>{r?i(r):t(ea(o))})}})}logout(){return this.request({commandTimeout:!1,executor:(e,t)=>{this._socket.emit("logout",i=>{i?t(i):e(null)})}})}subscribeOnInstance(e,t,i,r){return this.request({commandTimeout:!1,executor:(o,n)=>{this._socket.emit("clientSubscribe",e,t,i,(M,c)=>{M?n(M):c&&(c.error?n(c.error):(e.startsWith("system.adapter.")||(e=`system.adapter.${e}`),this._instanceSubscriptions[e]=this._instanceSubscriptions[e]||[],this._instanceSubscriptions[e].find(l=>l.messageType===t&&l.callback===r)||this._instanceSubscriptions[e].push({messageType:t,callback:r}),o(c)))})}})}unsubscribeFromInstance(e,t,i){var n;e.startsWith("system.adapter.")||(e=`system.adapter.${e}`);let r;const o=[];do{r=!1;const M=(n=this._instanceSubscriptions[e])==null?void 0:n.findIndex(c=>(!t||c.messageType===t)&&(!i||c.callback===i));if(M!=null&&M!==-1){r=!0;const c=this._instanceSubscriptions[e][M].messageType;this._instanceSubscriptions[e].splice(M,1),this._instanceSubscriptions[e].length||delete this._instanceSubscriptions[e],this._instanceSubscriptions[e]&&this._instanceSubscriptions[e].find(N=>N.messageType===c)||o.push(this.request({commandTimeout:!1,executor:(N,u)=>{this._socket.emit("clientUnsubscribe",e,t,(L,g)=>L?u(L):N(g))}}))}}while(r&&(!i||!t));return o.length?Promise.all(o).then(M=>!!M.find(c=>c)):Promise.resolve(!1)}log(e,t){return e?this.request({commandTimeout:!1,executor:i=>(this._socket.emit("log",e,t),i(null))}):Promise.resolve(null)}setStateToIgnore(e){this.ignoreState=e}destroy(){var e;if(this._socket){const t=this._socket;try{typeof t.destroy=="function"?t.destroy():typeof t.close=="function"&&t.close(!0)}catch{}}(e=globalThis.removeEventListener)==null||e.call(globalThis,"storage",this.onAccessTokenUpdated),this._authTimer&&(clearTimeout(this._authTimer),this._authTimer=null),this._refreshTimer&&(clearTimeout(this._refreshTimer),this._refreshTimer=null),this.onConnectionHandlers.length=0,this.onLogHandlers.length=0;for(const t of Object.keys(this.statesSubscribes))delete this.statesSubscribes[t];for(const t of Object.keys(this.objectsSubscribes))delete this.objectsSubscribes[t];for(const t of Object.keys(this.filesSubscribes))delete this.filesSubscribes[t];this._instanceSubscriptions={},this.connected=!1,this.onReadyDone=!1}}function py(s,e){if(!e)return;let t;if(e.length<700&&(e.indexOf("/")!==-1||e.indexOf("\\")!==-1))if(s.toLowerCase().includes("private"))t="private";else if(e.toLowerCase().includes("private"))t="private";else if(s.toLowerCase().includes("public"))t="public";else if(e.toLowerCase().includes("public"))t="public";else if(s.toLowerCase().includes("chain"))t="chained";else if(e.toLowerCase().includes("chain"))t="chained";else return;else t=e.substring(0,26)==="-----BEGIN RSA PRIVATE KEY"||e.substring(0,22)==="-----BEGIN PRIVATE KEY"?"private":"public",t==="public"&&e.split("-----END CERTIFICATE-----").filter(r=>r.replace(/\r\n|\r|\n/,"").trim()).length>1&&(t="chained");return{name:s,type:t}}function Ay(s){var i,r,o,n;const e=[{name:"[IPv4] 0.0.0.0 - Listen on all IPs",address:"0.0.0.0",family:"ipv4"}],t=[{name:"[IPv6] :: - Listen on all IPs",address:"::",family:"ipv6"}];if((r=(i=s.native)==null?void 0:i.hardware)!=null&&r.networkInterfaces){const M=(n=(o=s.native)==null?void 0:o.hardware)==null?void 0:n.networkInterfaces;Object.keys(M).forEach(c=>{var l;(l=M[c])==null||l.forEach(N=>{N.family!=="IPv6"?e.push({name:`[${N.family}] ${N.address} - ${c}`,address:N.address,family:"ipv4"}):t.push({name:`[${N.family}] ${N.address} - ${c}`,address:N.address,family:"ipv6"})})})}return{IPs4:e,IPs6:t}}class Nve extends ke{constructor(e){super(e)}request(e){return super.request({requireAdmin:!0,...e})}getCertificates(e){return this.request({cacheKey:"cert",forceUpdate:e,commandTimeout:!1,executor:async t=>{var r;const i=await this.getObject("system.certificates");(r=i==null?void 0:i.native)!=null&&r.certificates?t(Object.entries(i.native.certificates).map(([o,n])=>py(o,n)).filter(o=>!!o)):t([])}})}getLogs(e,t=200){return this.request({commandTimeout:!1,executor:i=>{this._socket.emit("sendToHost",e,"getLogs",t||200,r=>{i(r)})}})}upgradeAdapterWithWebserver(e,t){return this.request({commandTimeout:!1,executor:i=>{this._socket.emit("sendToHost",e,"upgradeAdapterWithWebserver",t,r=>{i(r)})}})}upgradeController(e,t,i){return this.request({commandTimeout:!1,executor:(r,o)=>{this._socket.emit("sendToHost",e,"upgradeController",{version:t,adminInstance:i},n=>{const M=n;M.error?o(M.error):r(M.result)})}})}updateLicenses(e,t){return this.request({commandTimeout:!1,executor:(i,r)=>{this._socket.emit("updateLicenses",e,t,(o,n)=>{o?r(o):i(n)})}})}upgradeOsPackages(e,t,i){return this.request({commandTimeout:!1,executor:r=>{this._socket.emit("sendToHost",e,"upgradeOsPackages",{packages:t,restart:!!i},o=>{r(o)})}})}getLogsFiles(e){return this.request({commandTimeout:!1,executor:(t,i)=>{this._socket.emit("readLogs",e,(r,o)=>{r&&i(r),t(o)})}})}delLogs(e){return this.request({commandTimeout:!1,executor:(t,i)=>{this._socket.emit("sendToHost",e,"delLogs",null,r=>{r&&i(r),t()})}})}deleteFile(e,t){return this.request({commandTimeout:!1,executor:(i,r)=>{this._socket.emit("deleteFile",e,t,o=>{o&&r(o),i()})}})}deleteFolder(e,t){return this.request({commandTimeout:!1,executor:(i,r)=>{this._socket.emit("deleteFolder",e,t,o=>{o&&r(o),i()})}})}rename(e,t,i){return this.request({commandTimeout:!1,executor:(r,o)=>{this._socket.emit("rename",e,t,i,n=>{n&&o(n),r()})}})}renameFile(e,t,i){return this.request({commandTimeout:!1,executor:(r,o)=>{this._socket.emit("renameFile",e,t,i,n=>{n&&o(n),r()})}})}getHosts(e){return this.request({cacheKey:"hosts",forceUpdate:e,commandTimeout:!1,executor:(t,i)=>{this._socket.emit("getObjectView","system","host",{startkey:"system.host.",endkey:"system.host.香"},(r,o)=>{r?i(r):t(ea(o))})}})}getUsers(e){return this.request({cacheKey:"users",forceUpdate:e,commandTimeout:!1,executor:(t,i)=>{this._socket.emit("getObjectView","system","user",{startkey:"system.user.",endkey:"system.user.香"},(r,o)=>{r?i(r):t(ea(o))})}})}renameGroup(e,t,i){return this.request({commandTimeout:!1,executor:async r=>{const o=await this.getGroups(!0),n=o.filter(c=>c._id.startsWith(`${e}.`));for(const c of n){const l=c._id,N=t+c._id.substring(e.length);c._id=N,await this.setObject(N,c),await this.delObject(l)}const M=o.find(c=>c._id===e);if(M){const c=M._id;M._id=t,i!==void 0&&(M.common??={},M.common.name=i),await this.setObject(t,M),await this.delObject(c)}r()}})}getHostInfo(e,t,i){return e=vt(e),this.request({cacheKey:`hostInfo_${e}`,forceUpdate:t,commandTimeout:i,executor:(r,o,n)=>{this._socket.emit("sendToHost",e,"getHostInfo",null,M=>{n.elapsed||(n.clearTimeout(),M===Qe.PERMISSION_ERROR?o('May not read "getHostInfo"'):M?r(M):o('Cannot read "getHostInfo"'))})}})}getHostInfoShort(e,t,i){return e=vt(e),this.request({cacheKey:`hostInfoShort_${e}`,forceUpdate:t,commandTimeout:i,executor:(r,o,n)=>{this._socket.emit("sendToHost",e,"getHostInfoShort",null,M=>{n.elapsed||(n.clearTimeout(),M===Qe.PERMISSION_ERROR?o('May not read "getHostInfoShort"'):M?r(M):o('Cannot read "getHostInfoShort"'))})}})}getRepository(e,t,i,r){return this.request({cacheKey:`repository_${e}`,forceUpdate:i,commandTimeout:r,executor:(o,n,M)=>{this._socket.emit("sendToHost",e,"getRepository",t,c=>{M.elapsed||(M.clearTimeout(),c===Qe.PERMISSION_ERROR?n('May not read "getRepository"'):c?o(c):n('Cannot read "getRepository"'))})}})}getInstalled(e,t,i){return e=vt(e),this.request({cacheKey:`installed_${e}`,forceUpdate:t,commandTimeout:i,executor:(r,o,n)=>{this._socket.emit("sendToHost",e,"getInstalled",null,M=>{n.elapsed||(n.clearTimeout(),M===Qe.PERMISSION_ERROR?o('May not read "getInstalled"'):M?r(M):o('Cannot read "getInstalled"'))})}})}cmdExec(e,t,i,r){return this.request({commandTimeout:r,executor:(o,n,M)=>{e=vt(e),this._socket.emit("cmdExec",e,i,t,c=>{M.elapsed||(M.clearTimeout(),c&&n(c),o())})}})}readBaseSettings(e){return e=Pi(e),this.request({requireFeatures:["CONTROLLER_READWRITE_BASE_SETTINGS"],executor:(t,i,r)=>{this._socket.emit("sendToHost",e,"readBaseSettings",null,o=>{r.elapsed||(r.clearTimeout(),o===Qe.PERMISSION_ERROR?i('May not read "BaseSettings"'):o?o.error?i(new Error(o.error)):t(o):i('Cannot read "BaseSettings"'))})}})}writeBaseSettings(e,t){return e=Pi(e),this.request({requireFeatures:["CONTROLLER_READWRITE_BASE_SETTINGS"],executor:(i,r,o)=>{this._socket.emit("sendToHost",e,"writeBaseSettings",t,n=>{o.elapsed||(o.clearTimeout(),n===Qe.PERMISSION_ERROR?r('May not write "BaseSettings"'):n?i(n):r('Cannot write "BaseSettings"'))})}})}restartController(e){return e=Pi(e),this.request({executor:(t,i,r)=>{this._socket.emit("sendToHost",e,"restartController",null,()=>{r.elapsed||(r.clearTimeout(),t(!0))})}})}getDiagData(e,t){return e=Pi(e),this.request({executor:(i,r,o)=>{this._socket.emit("sendToHost",e,"getDiagData",t,n=>{o.elapsed||(o.clearTimeout(),i(n||null))})}})}changePassword(e,t){return this.request({executor:(i,r,o)=>{this._socket.emit("changePassword",e,t,n=>{o.elapsed||(o.clearTimeout(),n&&r(n),i())})}})}getIpAddresses(e,t){return e=vt(e),this.request({cacheKey:`IPs_${e}`,forceUpdate:t,commandTimeout:!1,executor:async i=>{const r=await this.getObject(e);i((r==null?void 0:r.common.address)??[])}})}getHostByIp(e,t){return e=Pi(e),this.request({cacheKey:`rIPs_${e}`,forceUpdate:t,executor:(i,r,o)=>{this._socket.emit("getHostByIp",e,(n,M)=>{if(o.elapsed)return;o.clearTimeout();const{IPs4:c,IPs6:l}=Ay(M);i([...c,...l])})}})}encrypt(e){return this.request({executor:(t,i,r)=>{this._socket.emit("encrypt",e,(o,n)=>{r.elapsed||(r.clearTimeout(),o&&i(o),t(n))})}})}decrypt(e){return this.request({executor:(t,i,r)=>{this._socket.emit("decrypt",e,(o,n)=>{r.elapsed||(r.clearTimeout(),o&&i(o),t(n))})}})}chmodFile(e,t,i){return this.request({executor:(r,o,n)=>{this._socket.emit("chmodFile",e,t,i,(M,c)=>{n.elapsed||(n.clearTimeout(),M&&o(M),r(c))})}})}chownFile(e,t,i){return this.request({executor:(r,o,n)=>{this._socket.emit("chownFile",e,t,i,(M,c)=>{n.elapsed||(n.clearTimeout(),M&&o(M),r(c))})}})}getNotifications(e,t){return this.request({executor:(i,r,o)=>{this._socket.emit("sendToHost",e,"getNotifications",{category:t},n=>{o.elapsed||(o.clearTimeout(),i(n))})}})}clearNotifications(e,t){return this.request({executor:(i,r,o)=>{this._socket.emit("sendToHost",e,"clearNotifications",{category:t},n=>{o.elapsed||(o.clearTimeout(),i(n))})}})}getIsEasyModeStrict(){return this.request({executor:(e,t,i)=>{this._socket.emit("getIsEasyModeStrict",(r,o)=>{i.elapsed||(i.clearTimeout(),r&&t(r),e(!!o))})}})}getEasyMode(){return this.request({executor:(e,t,i)=>{this._socket.emit("getEasyMode",(r,o)=>{i.elapsed||(i.clearTimeout(),r?t(new Error(r)):e(o))})}})}getRatings(e){return this.request({executor:(t,i,r)=>{this._socket.emit("getRatings",!!e,(o,n)=>{r.elapsed||(r.clearTimeout(),o?i(new Error(o)):t(n))})}})}getCurrentSession(e){const t=new AbortController;return this.request({commandTimeout:e||5e3,onTimeout:()=>{t.abort()},executor:async(i,r,o)=>{try{const n=await fetch("./session",{signal:t.signal});if(o.elapsed)return;o.clearTimeout();const M=await n.json();i(M)}catch(n){r(`getCurrentSession: ${n}`)}}})}getCurrentInstance(){return this.request({cacheKey:"currentInstance",executor:(e,t,i)=>{this._socket.emit("getCurrentInstance",(r,o)=>{i.elapsed||(i.clearTimeout(),r?t(r):e(o))})}})}getAdapterInstances(e,t){let i;return typeof e=="boolean"?(t=e,i=""):i=e||"",this.request({cacheKey:`instances_${i}`,forceUpdate:t,executor:(r,o,n)=>{this._socket.emit("getAdapterInstances",i,(M,c)=>{n.elapsed||(n.clearTimeout(),M&&o(M),r(c))})}})}getAdapters(e,t){let i;return typeof e=="boolean"?(t=e,i=""):i=e||"",this.request({cacheKey:`adapter_${i}`,forceUpdate:t,executor:(r,o,n)=>{this._socket.emit("getAdapters",i,(M,c)=>{n.elapsed||(n.clearTimeout(),M&&o(M),r(c))})}})}getCompactAdapters(e){return this.request({cacheKey:"compactAdapters",forceUpdate:e,executor:(t,i,r)=>{this._socket.emit("getCompactAdapters",(o,n)=>{r.elapsed||(r.clearTimeout(),o&&i(o),t(n))})}})}getAdaptersResetCache(e){e=e??"",this.resetCache(`adapter_${e}`),this.resetCache("compactAdapters")}getCompactInstances(e){return this.request({cacheKey:"compactInstances",forceUpdate:e,executor:(t,i,r)=>{this._socket.emit("getCompactInstances",(o,n)=>{r.elapsed||(r.clearTimeout(),o&&i(o),t(n))})}})}getAdapterInstancesResetCache(e){e=e??"",this.resetCache(`instances_${e}`),this.resetCache("compactInstances")}getCompactInstalled(e,t,i){return e=vt(e),this.request({cacheKey:`installedCompact_${e}`,forceUpdate:t,commandTimeout:i,executor:(r,o,n)=>{this._socket.emit("getCompactInstalled",e,M=>{n.elapsed||(n.clearTimeout(),M===Qe.PERMISSION_ERROR?o('May not read "getCompactInstalled"'):M?r(M):o('Cannot read "getCompactInstalled"'))})}})}getInstalledResetCache(e){e?(this.resetCache(`installedCompact_${e}`),this.resetCache(`installed_${e}`)):(this.resetCache("installedCompact_",!0),this.resetCache("installed_",!0))}getCompactRepository(e,t,i){return e=vt(e),this.request({cacheKey:`repositoryCompact_${e}`,forceUpdate:t,commandTimeout:i,executor:(r,o,n)=>{this._socket.emit("getCompactRepository",e,M=>{n.elapsed||(n.clearTimeout(),M===Qe.PERMISSION_ERROR?o('May not read "getCompactRepository"'):M?r(M):o('Cannot read "getCompactRepository"'))})}})}getRepositoryResetCache(e){e?(this.resetCache(`repositoryCompact_${e}`),this.resetCache(`repository_${e}`)):(this.resetCache("repositoryCompact_",!0),this.resetCache("repository_",!0))}getCompactHosts(e){return this.request({cacheKey:"hostsCompact",forceUpdate:e,executor:(t,i,r)=>{this._socket.emit("getCompactHosts",(o,n)=>{r.elapsed||(r.clearTimeout(),o&&i(o),t(n))})}})}getCompactSystemRepositories(e){return this.request({cacheKey:"repositoriesCompact",forceUpdate:e,executor:(t,i,r)=>{this._socket.emit("getCompactSystemRepositories",(o,n)=>{r.elapsed||(r.clearTimeout(),o&&i(o),t(n))})}})}}const X=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__,ae=globalThis,Is="10.44.0";function Yo(){return Qo(ae),ae}function Qo(s){const e=s.__SENTRY__=s.__SENTRY__||{};return e.version=e.version||Is,e[Is]=e[Is]||{}}function Ci(s,e,t=ae){const i=t.__SENTRY__=t.__SENTRY__||{},r=i[Is]=i[Is]||{};return r[s]||(r[s]=e())}const my=["debug","info","warn","error","log","assert","trace"],fy="Sentry Logger ",jo={};function pi(s){if(!("console"in ae))return s();const e=ae.console,t={},i=Object.keys(jo);i.forEach(r=>{const o=jo[r];t[r]=e[r],e[r]=o});try{return s()}finally{i.forEach(r=>{e[r]=t[r]})}}function Oy(){nM().enabled=!0}function Ey(){nM().enabled=!1}function _N(){return nM().enabled}function _y(...s){oM("log",...s)}function xy(...s){oM("warn",...s)}function Sy(...s){oM("error",...s)}function oM(s,...e){X&&_N()&&pi(()=>{ae.console[s](`${fy}[${s}]:`,...e)})}function nM(){return X?Ci("loggerSettings",()=>({enabled:!1})):{enabled:!1}}const F={enable:Oy,disable:Ey,isEnabled:_N,log:_y,warn:xy,error:Sy},xN=50,Cs="?",Rc=/\(error: (.*)\)/,Fc=/captureMessage|captureException/;function SN(...s){const e=s.sort((t,i)=>t[0]-i[0]).map(t=>t[1]);return(t,i=0,r=0)=>{const o=[],n=t.split(` +import{c as P,j as b,o as st,a as fc,b as Oc,d as Ec}from"./createSvgIcon-DPvF8xqu.js";import{a,c as Ce,r as De,e as dN,p as hr,j as Ka,q as Sg,_ as kg,b as et,k as Kt,f as vg,s as hN,i as Yg,l as Qg}from"./iobroker_javascript__loadShare__react__loadShare__.mjs-CTZOFJS2.js";import{$ as So,F as zN,a0 as bt,_ as Ae,a as fe,b as _e,p as as,V,E as ue,h as xe,i as q,Q as Zn,o as W,z as J,c as Te,y as ws,f as nt,g as re,Z as bg,C as Ug,D as Us,a1 as $g,a2 as wN,P as Le,t as Xt,u as dt,a3 as Pg,v as qt,H as Wg,d as Qt,e as yi,J as IN,q as ts,s as _c,W as br,r as xc,G as Sc,x as Jg,a4 as Bg,a5 as Me,a6 as Nn,a7 as Rg,K as CN,N as it,M as kc,L as Fg,a8 as vc,O as Gg}from"./iobroker_javascript__loadShare___mf_0_mui_mf_1_material__loadShare__.mjs-QWG5Arqe.js";import{S as Xn}from"./Save-Cld9qv9i.js";import{c as we,I as We,b as wt,L as Hg,g as Vg,j as or,i as pN,H as AN,C as mN,Y as Zg,Z as te,$ as Xg,a0 as Kg,a1 as qg,a2 as ej,W as Yc,a3 as tj,a4 as sj,a5 as ij,a6 as rj,a7 as Qc,a8 as bc,a9 as oj,aa as nj,ab as aj,ac as Mj,ad as cj,ae as uj,af as lj,ag as Nj,ah as Lj,ai as gj,aj as jj,ak as yj,al as Uc,am as $c,an as Tj,ao as Pc,s as Dj,ap as dj,aq as hj,ar as zj,as as Wc,at as wj,au as Ij,av as Cj,N as pj,h as Kn,a as zr}from"./index-C49cpVll.js";import{c as Ur,r as ko}from"./iobroker_javascript__loadShare__react__loadShare__.mjs_commonjs-proxy-CE9lvhW8.js";function Aj(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}import{P as _}from"./iobroker_javascript__loadShare__prop_mf_2_types__loadShare__.mjs-BCtSFofY.js";import{u as mj}from"./useTheme-hy6f3gra.js";import{R as fN,b as G}from"./index-gIA8x-8f.js";const fj=P(b.jsx("path",{d:"M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20z"}),"ArrowBack"),Oj=P(b.jsx("path",{d:"m10 17 5-5-5-5z"}),"ArrowRight"),Ej=P(b.jsx("path",{d:"M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8zm2 11h-3v3.75c0 1.24-1.01 2.25-2.25 2.25S8.5 17.99 8.5 16.75s1.01-2.25 2.25-2.25c.46 0 .89.14 1.25.38V11h4zm-3-4V3.5L18.5 9z"}),"AudioFile"),_j=P([b.jsx("path",{d:"M16.5 12h-9c-.55 0-1 .45-1 1v1h11v-1c0-.55-.45-1-1-1M7.25 8.5h4v2h-4zm5.5 0h4v2h-4z"},"0"),b.jsx("path",{d:"M20 2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2m-1 15h-1.5v-1.5h-11V17H5v-3.83c0-.66.25-1.26.65-1.72V9c0-1.1.9-2 2-2H11c.37 0 .72.12 1 .32.28-.2.63-.32 1-.32h3.35c1.1 0 2 .9 2 2v2.45c.4.46.65 1.06.65 1.72z"},"1")],"BedroomParent"),xj=P(b.jsx("path",{d:"M17 3H7c-1.1 0-1.99.9-1.99 2L5 21l7-3 7 3V5c0-1.1-.9-2-2-2"}),"Bookmark"),Sj=P(b.jsx("path",{d:"M17 3H7c-1.1 0-1.99.9-1.99 2L5 21l7-3 7 3V5c0-1.1-.9-2-2-2m0 15-5-2.18L7 18V5h10z"}),"BookmarkBorder"),kj=P(b.jsx("path",{d:"M22 24H2v-4h20zM13.06 5.19l3.75 3.75L7.75 18H4v-3.75zm4.82 2.68-3.75-3.75 1.83-1.83c.39-.39 1.02-.39 1.41 0l2.34 2.34c.39.39.39 1.02 0 1.41z"}),"BorderColor"),vj=P(b.jsx("path",{d:"M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zM12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6c3.31 0 6 2.69 6 6s-2.69 6-6 6"}),"Brightness4"),Yj=P(b.jsx("path",{d:"M20 15.31 23.31 12 20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20zM12 18c-3.31 0-6-2.69-6-6s2.69-6 6-6 6 2.69 6 6-2.69 6-6 6"}),"Brightness5"),qa=P(b.jsx("path",{d:"M20 15.31 23.31 12 20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20zM12 18V6c3.31 0 6 2.69 6 6s-2.69 6-6 6"}),"Brightness6"),Qj=P(b.jsx("path",{d:"M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zM12 18c-3.31 0-6-2.69-6-6s2.69-6 6-6 6 2.69 6 6-2.69 6-6 6m0-10c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4"}),"Brightness7"),bj=P(b.jsx("path",{d:"m22.7 19-9.1-9.1c.9-2.3.4-5-1.5-6.9-2-2-5-2.4-7.4-1.3L9 6 6 9 1.6 4.7C.4 7.1.9 10.1 2.9 12.1c1.9 1.9 4.6 2.4 6.9 1.5l9.1 9.1c.4.4 1 .4 1.4 0l2.3-2.3c.5-.4.5-1.1.1-1.4"}),"Build"),Uj=P(b.jsx("path",{d:"M20 3h-1V1h-2v2H7V1H5v2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2m0 18H4V8h16z"}),"CalendarToday"),eM=P(b.jsx("path",{d:"M9.4 16.6 4.8 12l4.6-4.6L8 6l-6 6 6 6zm5.2 0 4.6-4.6-4.6-4.6L16 6l6 6-6 6z"}),"Code"),$j=P(b.jsx("path",{d:"m20.71 5.63-2.34-2.34a.996.996 0 0 0-1.41 0l-3.12 3.12-1.93-1.91-1.41 1.41 1.42 1.42L3 16.25V21h4.75l8.92-8.92 1.42 1.42 1.41-1.41-1.92-1.92 3.12-3.12c.4-.4.4-1.03.01-1.42M6.92 19 5 17.08l8.06-8.06 1.92 1.92z"}),"Colorize"),Pj=P(b.jsx("path",{d:"m13.7826 15.1719 2.1213-2.1213 5.9963 5.9962-2.1213 2.1213zM17.5 10c1.93 0 3.5-1.57 3.5-3.5 0-.58-.16-1.12-.41-1.6l-2.7 2.7-1.49-1.49 2.7-2.7c-.48-.25-1.02-.41-1.6-.41C15.57 3 14 4.57 14 6.5c0 .41.08.8.21 1.16l-1.85 1.85-1.78-1.78.71-.71-1.41-1.41L12 3.49c-1.17-1.17-3.07-1.17-4.24 0L4.22 7.03l1.41 1.41H2.81l-.71.71 3.54 3.54.71-.71V9.15l1.41 1.41.71-.71 1.78 1.78-7.41 7.41 2.12 2.12L16.34 9.79c.36.13.75.21 1.16.21"}),"Construction"),Wj=P(b.jsx("path",{d:"M19 2h-4.18C14.4.84 13.3 0 12 0S9.6.84 9.18 2H5c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2m-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1m7 18H5V4h2v3h10V4h2z"}),"ContentPaste"),Jj=P(b.jsx("path",{d:"M17 15h2V7c0-1.1-.9-2-2-2H9v2h8zM7 17V1H5v4H1v2h4v10c0 1.1.9 2 2 2h10v4h2v-4h4v-2z"}),"Crop"),Bj=P(b.jsx("path",{d:"M4 7v2c0 .55-.45 1-1 1H2v4h1c.55 0 1 .45 1 1v2c0 1.65 1.35 3 3 3h3v-2H7c-.55 0-1-.45-1-1v-2c0-1.3-.84-2.42-2-2.83v-.34C5.16 11.42 6 10.3 6 9V7c0-.55.45-1 1-1h3V4H7C5.35 4 4 5.35 4 7m17 3c-.55 0-1-.45-1-1V7c0-1.65-1.35-3-3-3h-3v2h3c.55 0 1 .45 1 1v2c0 1.3.84 2.42 2 2.83v.34c-1.16.41-2 1.52-2 2.83v2c0 .55-.45 1-1 1h-3v2h3c1.65 0 3-1.35 3-3v-2c0-.55.45-1 1-1h1v-4z"}),"DataObject"),vo=P(b.jsx("path",{d:"M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8zm2 16H8v-2h8zm0-4H8v-2h8zm-3-5V3.5L18.5 9z"}),"Description"),Rj=P(b.jsx("path",{d:"M18.41 5.8 17.2 4.59c-.78-.78-2.05-.78-2.83 0l-2.68 2.68L3 15.96V20h4.04l8.74-8.74 2.63-2.63c.79-.78.79-2.05 0-2.83M6.21 18H5v-1.21l8.66-8.66 1.21 1.21zM11 20l4-4h6v4z"}),"DriveFileRenameOutline"),Fj=P(b.jsx("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 15h-2v-2h2zm0-4h-2V7h2z"}),"Error"),Gj=P(b.jsx("path",{d:"M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z"}),"ExpandMore"),Hj=P(b.jsx("path",{d:"M20 19.59V8l-6-6H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c.45 0 .85-.15 1.19-.4l-4.43-4.43c-.8.52-1.74.83-2.76.83-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5c0 1.02-.31 1.96-.83 2.75zM9 13c0 1.66 1.34 3 3 3s3-1.34 3-3-1.34-3-3-3-3 1.34-3 3"}),"FindInPage"),Vj=P(b.jsx("path",{d:"M20 6h-8l-2-2H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2m0 12H4V8h16z"}),"FolderOpen"),Zj=P(b.jsx("path",{d:"M20 6h-8l-2-2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2m-2.06 11L15 15.28 12.06 17l.78-3.33-2.59-2.24 3.41-.29L15 8l1.34 3.14 3.41.29-2.59 2.24z"}),"FolderSpecial"),Xj=P(b.jsx("path",{d:"M9.93 13.5h4.14L12 7.98zM20 2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2m-4.05 16.5-1.14-3H9.17l-1.12 3H5.96l5.11-13h1.86l5.11 13z"}),"FontDownload"),Kj=P(b.jsx("path",{d:"M10 4v3h2.21l-3.42 8H6v3h8v-3h-2.21l3.42-8H18V4z"}),"FormatItalic"),qj=P(b.jsx("path",{d:"M21 19V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2M8.5 13.5l2.5 3.01L14.5 12l4.5 6H5z"}),"Image"),tM=P(b.jsx("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 15h-2v-6h2zm0-8h-2V7h2z"}),"Info"),ON=P(b.jsx("path",{d:"M6 2c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm7 7V3.5L18.5 9z"}),"InsertDriveFile"),ey=P(b.jsx("path",{d:"M19 7v4H5.83l3.58-3.59L8 6l-6 6 6 6 1.41-1.41L5.83 13H21V7z"}),"KeyboardReturn"),EN=P(b.jsx("path",{d:"M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1M8 13h8v-2H8zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5"}),"Link"),ty=P(b.jsx("path",{d:"M3 13h2v-2H3zm0 4h2v-2H3zm0-8h2V7H3zm4 4h14v-2H7zm0 4h14v-2H7zM7 7v2h14V7z"}),"List"),sy=P(b.jsx("path",{d:"M19 5v14H5V5zm1.1-2H3.9c-.5 0-.9.4-.9.9v16.2c0 .4.4.9.9.9h16.2c.4 0 .9-.5.9-.9V3.9c0-.5-.5-.9-.9-.9M11 7h6v2h-6zm0 4h6v2h-6zm0 4h6v2h-6zM7 7h2v2H7zm0 4h2v2H7zm0 4h2v2H7z"}),"ListAlt"),iy=P(b.jsx("path",{d:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2m-5 14h-2V9h-2V7h4z"}),"LooksOne"),ry=P(b.jsx("path",{d:"M12 3v10.55c-.59-.34-1.27-.55-2-.55-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4V7h4V3z"}),"MusicNote"),oy=P(b.jsx("path",{d:"M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"}),"NavigateNext"),sM=P(b.jsx("path",{d:"M12 6c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2m0 10c2.7 0 5.8 1.29 6 2H6c.23-.72 3.31-2 6-2m0-12C9.79 4 8 5.79 8 8s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4m0 10c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4"}),"PersonOutlined"),ny=P(b.jsx("path",{d:"M21 19V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2M8.5 13.5l2.5 3.01L14.5 12l4.5 6H5z"}),"Photo"),Lo=P(b.jsx("path",{d:"M5 4v2h14V4zm0 10h4v6h6v-6h4l-7-7z"}),"Publish"),iM=P(b.jsx("path",{d:"m20.2 5.9.8-.8C19.6 3.7 17.8 3 16 3s-3.6.7-5 2.1l.8.8C13 4.8 14.5 4.2 16 4.2s3 .6 4.2 1.7m-.9.8c-.9-.9-2.1-1.4-3.3-1.4s-2.4.5-3.3 1.4l.8.8c.7-.7 1.6-1 2.5-1s1.8.3 2.5 1zM19 13h-2V9h-2v4H5c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-4c0-1.1-.9-2-2-2M8 18H6v-2h2zm3.5 0h-2v-2h2zm3.5 0h-2v-2h2z"}),"Router"),ay=P(b.jsx("path",{d:"M19 12v7H5v-7H3v7c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-7zm-6 .67 2.59-2.58L17 11.5l-5 5-5-5 1.41-1.41L11 12.67V3h2z"}),"SaveAlt"),qn=P(b.jsx("path",{d:"M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58c.18-.14.23-.41.12-.61l-1.92-3.32c-.12-.22-.37-.29-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54c-.04-.24-.24-.41-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58c-.18.14-.23.41-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6"}),"Settings"),go=P(b.jsx("path",{d:"M12 10c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m7-7H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2m-1.75 9c0 .23-.02.46-.05.68l1.48 1.16c.13.11.17.3.08.45l-1.4 2.42c-.09.15-.27.21-.43.15l-1.74-.7c-.36.28-.76.51-1.18.69l-.26 1.85c-.03.17-.18.3-.35.3h-2.8c-.17 0-.32-.13-.35-.29l-.26-1.85c-.43-.18-.82-.41-1.18-.69l-1.74.7c-.16.06-.34 0-.43-.15l-1.4-2.42c-.09-.15-.05-.34.08-.45l1.48-1.16c-.03-.23-.05-.46-.05-.69s.02-.46.05-.68l-1.48-1.16c-.13-.11-.17-.3-.08-.45l1.4-2.42c.09-.15.27-.21.43-.15l1.74.7c.36-.28.76-.51 1.18-.69l.26-1.85c.03-.17.18-.3.35-.3h2.8c.17 0 .32.13.35.29l.26 1.85c.43.18.82.41 1.18.69l1.74-.7c.16-.06.34 0 .43.15l1.4 2.42c.09.15.05.34-.08.45l-1.48 1.16c.03.23.05.46.05.69"}),"SettingsApplications"),My=P(b.jsx("path",{d:"m3.5 18.49 6-6.01 4 4L22 6.92l-1.41-1.41-7.09 7.97-4-4L2 16.99z"}),"ShowChart"),rM=P(b.jsx("path",{d:"M11.99 2c-5.52 0-10 4.48-10 10s4.48 10 10 10 10-4.48 10-10-4.48-10-10-10m3.61 6.34c1.07 0 1.93.86 1.93 1.93s-.86 1.93-1.93 1.93-1.93-.86-1.93-1.93c-.01-1.07.86-1.93 1.93-1.93m-6-1.58c1.3 0 2.36 1.06 2.36 2.36s-1.06 2.36-2.36 2.36-2.36-1.06-2.36-2.36c0-1.31 1.05-2.36 2.36-2.36m0 9.13v3.75c-2.4-.75-4.3-2.6-5.14-4.96 1.05-1.12 3.67-1.69 5.14-1.69.53 0 1.2.08 1.9.22-1.64.87-1.9 2.02-1.9 2.68M11.99 20c-.27 0-.53-.01-.79-.04v-4.07c0-1.42 2.94-2.13 4.4-2.13 1.07 0 2.92.39 3.84 1.15-1.17 2.97-4.06 5.09-7.45 5.09"}),"SupervisedUserCircle"),cy=P(b.jsx("path",{d:"M2.5 4v3h5v12h3V7h5V4zm19 5h-9v3h3v7h3v-7h3z"}),"TextFields"),uy=P(b.jsx("path",{d:"M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8zm4 18H6V4h7v5h5zM8 15.01l1.41 1.41L11 14.84V19h2v-4.16l1.59 1.59L16 15.01 12.01 11z"}),"UploadFile"),ly=P(b.jsx("path",{d:"M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8zm4 18H6V4h7v5h5zM8 15.01l1.41 1.41L11 14.84V19h2v-4.16l1.59 1.59L16 15.01 12.01 11z"}),"UploadFileOutlined"),Ny=P(b.jsx("path",{d:"M16 13h-3V3h-2v10H8l4 4zM4 19v2h16v-2z"}),"VerticalAlignBottom"),Ly=P(b.jsx("path",{d:"M8 11h3v10h2V11h3l-4-4zM4 3v2h16V3z"}),"VerticalAlignTop"),gy=P(b.jsx("path",{d:"M17 10.5V7c0-.55-.45-1-1-1H4c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1v-3.5l4 4v-11z"}),"Videocam"),jy=P(b.jsx("path",{d:"M14.67 5v14H9.33V5zm1 14H21V5h-5.33zm-7.34 0V5H3v14z"}),"ViewColumn"),yy=P(b.jsx("path",{d:"M4 15h16v-2H4zm0 4h16v-2H4zm0-8h16V9H4zm0-6v2h16V5z"}),"ViewHeadline"),Ty=P(b.jsx("path",{d:"M14.67 5v6.5H9.33V5zm1 6.5H21V5h-5.33zm-1 7.5v-6.5H9.33V19zm1-6.5V19H21v-6.5zm-7.34 0H3V19h5.33zm0-1V5H3v6.5z"}),"ViewModule"),Dy=P(b.jsx("path",{d:"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5M12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5m0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3"}),"Visibility"),dy=P(b.jsx("path",{d:"M1 21h22L12 2zm12-3h-2v-2h2zm0-4h-2v-4h2z"}),"Warning"),li=P(b.jsx("path",{d:"m1 9 2 2c4.97-4.97 13.03-4.97 18 0l2-2C16.93 2.93 7.08 2.93 1 9m8 8 3 3 3-3c-1.65-1.66-4.34-1.66-6 0m-4-4 2 2c2.76-2.76 7.24-2.76 10 0l2-2C15.14 9.14 8.87 9.14 5 13"}),"Wifi"),$r=P(b.jsx("path",{d:"M22.99 9C19.15 5.16 13.8 3.76 8.84 4.78l2.52 2.52c3.47-.17 6.99 1.05 9.63 3.7zm-4 4c-1.29-1.29-2.84-2.13-4.49-2.56l3.53 3.53zM2 3.05 5.07 6.1C3.6 6.82 2.22 7.78 1 9l1.99 2c1.24-1.24 2.67-2.16 4.2-2.77l2.24 2.24C7.81 10.89 6.27 11.73 5 13v.01L6.99 15c1.36-1.36 3.14-2.04 4.92-2.06L18.98 20l1.27-1.26L3.29 1.79zM9 17l3 3 3-3c-1.65-1.66-4.34-1.66-6 0"}),"WifiOff"),Ln=11/23/100;function Jc(s){const e={r:0,g:0,b:0};if(s.length===7)e.r=parseInt(s.substring(1,3),16),e.g=parseInt(s.substring(3,5),16),e.b=parseInt(s.substring(5,7),16);else if(s.length===4){const t=s[1],i=s[2],r=s[3];e.r=parseInt(t+t,16),e.g=parseInt(i+i,16),e.b=parseInt(r+r,16)}return e}function hy(s){return`#${Math.round(s.r).toString(16)}${Math.round(s.g).toString(16)}${Math.round(s.b).toString(16)}`}function zy(s,e,t){const i=Jc(s),r=Jc(e);return i.r+=r.r*(.05+Ln*(t-1)),i.g+=r.g*(.05+Ln*(t-1)),i.b+=r.b*(.05+Ln*(t-1)),hy(i)}function gn(s,e){const t={};for(let i=1;i<=24;i++)t[`elevation${i}`]={backgroundColor:zy(s,e,i)};return t}function wy(s,e){var n,M,c,l,N,u,L,g,j,y,T;let t,i;s==="dark"?(i={MuiAppBar:{colorDefault:{backgroundColor:"#272727"}},MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:st[200],"&:hover":{color:st[100]}}},MuiPaper:gn("#121212","#fff")},t={name:s,palette:{mode:"dark",background:{paper:"#121212",default:"#121212"},primary:{main:"#4dabf5"},secondary:{main:"#436a93"},expert:"#14bb00",text:{primary:"#ffffff",secondary:"#ffffff"}}}):s==="blue"?(i={MuiAppBar:{colorDefault:{backgroundColor:"#3399CC"}},MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:st[400],"&:hover":{color:st[300]}}}},t={name:s,palette:{mode:"dark",background:{paper:"#151d21",default:"#151d21"},primary:{main:"#4dabf5"},secondary:{main:"#436a93"},expert:"#14bb00",text:{primary:"#ffffff",secondary:"#ffffff"}}}):s==="colored"?(i={MuiAppBar:{colorDefault:{backgroundColor:"#2a3135"}},MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:st[200],"&:hover":{color:st[100]}}},MuiPaper:gn("#151d21","#fff")},t={name:s,palette:{mode:"light",primary:{main:"#3399CC"},secondary:{main:"#164477"},expert:"#96fc96"}}):s==="PT"?(i={MuiAppBar:{colorDefault:{backgroundColor:"#0F99DE"}},MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:st[400],"&:hover":{color:st[300]}}}},t={name:s,palette:{mode:"light",primary:{main:"#0F99DE"},secondary:{main:"#88A536"},expert:"#BD1B24"}}):s==="NW"?(i={MuiAppBar:{colorDefault:{backgroundColor:"#272727"}},MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:st[400],"&:hover":{color:st[300]}}},MuiPaper:gn("#121212","#fff")},t={name:s,palette:{mode:"dark",background:{paper:"#121212",default:"#121212"},primary:{main:"#00af78"},secondary:{main:"#005a40"},expert:"#14bb00",text:{primary:"#ffffff",secondary:"#ffffff"}}}):(i={MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:st[400],"&:hover":{color:st[300]}}}},t={name:s,palette:{mode:"light",primary:{main:"#3399CC",dark:"#256c97",light:"#76d0fd"},secondary:{main:"#164477"},expert:"#14bb00"}}),t.toolbar={height:48},t.saveToolbar={background:(M=(n=t.palette)==null?void 0:n.primary)==null?void 0:M.main,button:{borderRadius:3,height:32}},t.palette&&(t.palette.grey={main:fc[300],dark:fc[400]});const r=Oc(t),o=r.palette;return Oc(r,{...e||void 0,components:{...i,MuiButton:{variants:[{props:{variant:"contained",color:"grey"},style:{backgroundColor:(c=o.grey)==null?void 0:c[300],color:o.getContrastText&&((l=o.grey)!=null&&l[300])?o.getContrastText(o.grey[300]):void 0}},{props:{variant:"outlined",color:"grey"},style:{color:(N=o.text)==null?void 0:N.primary,borderColor:o.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)","&.Mui-disabled":{border:`1px solid ${(u=o.action)==null?void 0:u.disabledBackground}`},"&:hover":{borderColor:o.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)",backgroundColor:Ec(((L=o.text)==null?void 0:L.primary)||"",((g=o.action)==null?void 0:g.hoverOpacity)||.04)}}},{props:{variant:"text",color:"grey"},style:{color:(j=o.text)==null?void 0:j.primary,"&:hover":{backgroundColor:Ec(((y=o.text)==null?void 0:y.primary)||"",((T=o.action)==null?void 0:T.hoverOpacity)||.04)}}}]},...(e==null?void 0:e.components)||void 0}})}function Iy(){let s,e;const t=new Promise((i,r)=>{s=i,e=r});return t.resolve=s,t.reject=e,t}function ea(s){return(s==null?void 0:s.rows.map(e=>e.value).filter(e=>!!e))??[]}function vt(s){return s!=null&&s.startsWith("system.host.")||(s=`system.host.${s}`),s}function Pi(s){return s!=null&&s.startsWith("system.host.")&&(s=s.substring(12)),s}function Bc(s){return new Promise(e=>{setTimeout(e,s)})}function Pr(s){s=(s||"").toString();const e=s[0]==="*",t=s[s.length-1]==="*";return s=s.replace(/[-/\\^$+?.()|[\]{}]/g,"\\$&").replace(/\*/g,".*"),(e?"":"^")+s+(t?"":"$")}typeof globalThis.process<"u"&&(globalThis.location||={href:"http://localhost:8081/",protocol:"http:",host:"localhost:8081",pathname:"/",hostname:"localhost",reload:()=>{}},globalThis.localStorage||={_keys:{},setItem:(s,e)=>{globalThis.localStorage._keys[s]=e},getItem:s=>s in globalThis.localStorage._keys?globalThis.localStorage._keys[s]:null,removeItem:s=>{s in globalThis.localStorage._keys&&delete globalThis.localStorage._keys[s]}},globalThis.sessionStorage||=globalThis.localStorage,globalThis.navigator||={language:"en"});var ht;(function(s){s[s.CONNECTING=0]="CONNECTING",s[s.CONNECTED=1]="CONNECTED",s[s.OBJECTS_LOADED=2]="OBJECTS_LOADED",s[s.READY=3]="READY"})(ht||(ht={}));var Qe;(function(s){s.PERMISSION_ERROR="permissionError",s.NOT_CONNECTED="notConnectedError",s.TIMEOUT="timeout",s.NOT_ADMIN="Allowed only in admin",s.NOT_SUPPORTED="Not supported"})(Qe||(Qe={}));const lve=Qe.PERMISSION_ERROR;Qe.NOT_CONNECTED;const Cy=["material","echarts","vis"];class ke{props;connId;lastAccessToken=null;ignoreState="";connected=!1;subscribed=!1;firstConnect=!0;waitForRestart=!1;loaded=!1;simStates={};objectViewCached;constructor(e){this.props=this.applyDefaultProps(e),this.connId=`${this.props.name?`${this.props.name}-`:""}${Math.round(Math.random()*1e6).toString().padStart(6,"0")}`,this.waitForSocketLib().then(()=>this.startSocket()).catch(t=>{alert(`Socket connection could not be initialized: ${t}`)})}applyDefaultProps(e){return{...e,protocol:e.protocol||globalThis.location.protocol,host:e.host||globalThis.location.hostname,port:e.port||(globalThis.location.port==="3000"?8081:globalThis.location.port),ioTimeout:Math.max(e.ioTimeout||2e4,2e4),cmdTimeout:Math.max(e.cmdTimeout||5e3,5e3),admin5only:e.admin5only||!1,autoSubscribes:e.autoSubscribes??[],autoSubscribeLog:e.autoSubscribeLog??!1,doNotLoadACL:e.doNotLoadACL??!0,doNotLoadAllObjects:e.doNotLoadAllObjects??!0}}statesSubscribes={};filesSubscribes={};objectsSubscribes={};objects={};states={};acl=null;isSecure=!1;onReadyDone=!1;onConnectionHandlers=[];onLogHandlers=[];onCmdStdoutHandler;onCmdStderrHandler;onCmdExitHandler;onError(e){(this.props.onError??console.error)(e)}_socket;_waitForSocketPromise;_waitForFirstConnectionPromise=Iy();_instanceSubscriptions={};_promises={};_authTimer=null;_refreshTimer=null;_systemConfig;get systemConfig(){return this._systemConfig}systemLang="en";static isWeb(){return globalThis.socketUrl!==void 0}waitForSocketLib(){return this._waitForSocketPromise?this._waitForSocketPromise:(this._waitForSocketPromise=new Promise(async(e,t)=>{if(this.props.connect){e();return}if(typeof globalThis.io>"u"&&typeof globalThis.iob>"u")if(typeof globalThis.registerSocketOnLoad=="function")globalThis.registerSocketOnLoad(()=>e());else{for(let i=1;i<=30;i++){if(globalThis.io||globalThis.iob)return e();await Bc(100)}t(new Error("Socket library could not be loaded!"))}else e()}),this._waitForSocketPromise)}async startSocket(){if(this._socket)return;let e=this.props.host,t=this.props.port,i=(this.props.protocol||globalThis.location.protocol).replace(":",""),r=globalThis.location.pathname;if(globalThis.location.hostname==="iobroker.net"||globalThis.location.hostname==="iobroker.pro")r="";else{if(globalThis.socketUrl){const c=new globalThis.URL(globalThis.socketUrl);e=c.hostname,t=c.port,i=c.protocol.replace(":","")}const M=r.lastIndexOf("/");if(M!==-1&&(r=r.substring(0,M+1)),ke.isWeb()){const c=r.split("/");c.length>2&&(c.pop(),c.pop(),Cy.includes(c[c.length-1])&&c.pop(),r=c.join("/"),r.endsWith("/")||(r+="/"))}}const o=t?`${i}://${e}:${t}`:`${i}://${e}`,n=this.props.connect||(globalThis.io||globalThis.iob).connect;return this._socket=n(o,{path:r.endsWith("/")?`${r}socket.io`:`${r}/socket.io`,query:"ws=true",name:this.props.name,timeout:this.props.ioTimeout,uuid:this.props.uuid,token:this.props.token}),this._socket.on("connect",M=>{var l;(l=globalThis.addEventListener)==null||l.call(globalThis,"storage",this.onAccessTokenUpdated);const c=ke.readTokens();if(c&&!c.owner){const N=Date.now();this.saveTokens({access_token:c.access_token,refresh_token:c.refresh_token,expires_in:Math.round((c.expires_in.getTime()-N)/1e3),refresh_token_expires_in:Math.round((c.refresh_token_expires_in.getTime()-N)/1e3),token_type:"Bearer"},c.stayLoggedIn)}this.onReadyDone=!1,M!==!0?(this.connected=!0,setTimeout(()=>this.getVersion().then(N=>{const[u,L,g]=N.version.split(".");parseInt(u,10)*1e4+parseInt(L,10)*100+parseInt(g,10)<40102?(this._authTimer=null,this.onPreConnect(!1,!1)):this._socket.emit("authenticate",(y,T)=>this.onPreConnect(y,T))}).catch(N=>this.onError({message:N.toString(),operation:"getVersion"})),500)):this._socket.emit("authenticate",(N,u)=>{this.onPreConnect(N,u)})}),this._socket.on("reconnect",()=>{var M,c;this.onReadyDone=!1,(c=(M=this.props).onProgress)==null||c.call(M,ht.READY),this.connected=!0,this.waitForRestart?globalThis.location.reload():(this._subscribe(!0),this.onConnectionHandlers.forEach(l=>l(!0)))}),this._socket.on("disconnect",()=>{var M,c;this.onReadyDone=!1,this.connected=!1,this.subscribed=!1,(c=(M=this.props).onProgress)==null||c.call(M,ht.CONNECTING),this.onConnectionHandlers.forEach(l=>l(!1))}),this._socket.on("reauthenticate",()=>this.authenticate()),this._socket.on("log",M=>{var c,l;(l=(c=this.props).onLog)==null||l.call(c,M),this.onLogHandlers.forEach(N=>N(M))}),this._socket.on("error",M=>{let c;M==null?c="":typeof M.toString=="function"?c=M.toString():(c=JSON.stringify(M),console.error(`Received strange error: ${c}`)),c.includes("User not authorized")?this.authenticate():c.includes("websocket error")?(console.error(`Socket Error => reload: ${M}`),globalThis.location.reload()):console.error(`Socket Error: ${M}`)}),this._socket.on("connect_error",M=>console.error(`Connect error: ${M}`)),this._socket.on("permissionError",M=>this.onError({message:"no permission",operation:M.operation,type:M.type,id:M.id||""})),this._socket.on("objectChange",(M,c)=>{setTimeout(()=>this.objectChange(M,c),0)}),this._socket.on("stateChange",(M,c)=>{setTimeout(()=>this.stateChange(M,c),0)}),this._socket.on("im",(M,c,l)=>{setTimeout(()=>this.instanceMessage(M,c,l),0)}),this._socket.on("fileChange",(M,c,l)=>{setTimeout(()=>this.fileChange(M,c,l),0)}),this._socket.on("cmdStdout",(M,c)=>{var l;(l=this.onCmdStdoutHandler)==null||l.call(this,M,c)}),this._socket.on("cmdStderr",(M,c)=>{var l;(l=this.onCmdStderrHandler)==null||l.call(this,M,c)}),this._socket.on("cmdExit",(M,c)=>{var l;(l=this.onCmdExitHandler)==null||l.call(this,M,c)}),Promise.resolve()}onPreConnect(e,t){var i,r;this._authTimer&&(clearTimeout(this._authTimer),this._authTimer=null),this.connected=!0,this.isSecure=t,this.waitForRestart?globalThis.location.reload():(this.firstConnect?this.loadData().catch(o=>{console.error(`Cannot load data: ${o}`)}):(r=(i=this.props).onProgress)==null||r.call(i,ht.READY),this._subscribe(!0),this.onConnectionHandlers.forEach(o=>o(!0)),this.checkAccessTokenExpire()),this._waitForFirstConnectionPromise.resolve()}static readTokens(){let e=globalThis.sessionStorage.getItem("iob_tokens");const t=!e;if(e||(e=globalThis.localStorage.getItem("iob_tokens")),!e)return null;const[i,r,o,n,M]=e.split(";"),c=new Date(r);return c.getTime(){if(e.key==="iob_tokens"){const t=ke.readTokens();t&&(console.log(`Tab ${this.connId} received updated token: ${t.access_token}`),this.updateTokenExpiration(t.access_token))}};updateTokenExpiration(e){this.lastAccessToken!==e&&(this.lastAccessToken=e,this._socket.emit("updateTokenExpiration",e,(t,i)=>{t?(console.error(`[UPDATE/${new Date().toISOString()}] cannot say to server about new token: ${t}`),globalThis.location.reload()):i?console.log(`[UPDATE/${new Date().toISOString()}] server accepted new token: ${e}`):(console.error(`[UPDATE/${new Date().toISOString()}] cannot say to server about new token`),globalThis.location.reload())})),this.checkAccessTokenExpire()}refreshTokens(e,t){if(!e){console.log(`[REFRESH/${new Date().toISOString()}] No token structure found => reloading the page`),setTimeout(()=>globalThis.location.reload(),500);return}t||!e.owner||e.owner===this.connId?(console.log(`[REFRESH/${new Date().toISOString()}] claim ownership of the token`),this.acquireTokenLock()?(console.log(`[REFRESH/${new Date().toISOString()}] refreshing token`),fetch("./oauth/token",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:`grant_type=refresh_token&refresh_token=${e.refresh_token}&client_id=ioBroker&stayloggedin=${e.stayLoggedIn}`}).then(i=>{if(i.ok)return i.json();throw new Error("Cannot refresh access token")}).then(i=>{if(i.access_token)console.log(`[REFRESH/${new Date().toISOString()}] received new token: ${i.access_token}`),this.saveTokens(i,e.stayLoggedIn),this.releaseTokenLock(),this.updateTokenExpiration(i.access_token);else throw new Error("Cannot get access token")}).catch(i=>{console.warn(`[REFRESH/${new Date().toISOString()}] cannot refresh token: ${i}`),this.releaseTokenLock(),this.deleteTokens(e.stayLoggedIn),console.error(i),globalThis.location.reload()})):(console.log(`[REFRESH/${new Date().toISOString()}] Someone else is updating the token, so wait for the next check`),this.checkAccessTokenExpire())):this.lastAccessToken!==e.access_token&&this.updateTokenExpiration(e.access_token)}acquireTokenLock(){const e=Date.now(),t=globalThis.localStorage.getItem("iob_token_semaphore");if(t)try{const r=JSON.parse(t);if(e{r?(console.log(`[TOKEN/${new Date().toISOString()}] Token will be prolonged`),this.refreshTokens(e,i)):(console.log(`[TOKEN/${new Date().toISOString()}] Token will not be prolonged. Reloading the page`),setTimeout(()=>globalThis.location.reload(),Date.now()>t?500:t-Date.now()))})):(console.log(`[TOKEN/${new Date().toISOString()}] No tokenTimeoutHandler defined. Prolonging the token`),this.refreshTokens(e,i))):this.lastAccessToken!==e.access_token?(console.log(`[TOKEN/${new Date().toISOString()}] We are not the owner of the token, but we will inform the server about new token`),this.refreshTokens(e)):(console.log(`[TOKEN/${new Date().toISOString()}] We are not the owner of the token and the token did not change. Check in 3 seconds if the owner updated the token`),this._refreshTimer=setTimeout(()=>{this._refreshTimer=null,this.checkAccessTokenExpire()},3e3)):(console.log(`[TOKEN/${new Date().toISOString()}] We do not have a refresh token, so we need to reauthenticate`),setTimeout(()=>globalThis.location.reload(),Date.now()>t?500:t-Date.now()))}else this._refreshTimer=setTimeout(()=>{this._refreshTimer=null,this.checkAccessTokenExpire()},t-Date.now()-3e4>12e4?12e4:t-Date.now()-3e4)}}}static isCloud(){return globalThis.location.hostname.includes("amazonaws.com")||globalThis.location.hostname.includes("iobroker.in")?!0:typeof globalThis.socketUrl>"u"?!1:globalThis.socketUrl.includes("iobroker.in")||globalThis.socketUrl.includes("amazonaws")}isConnected(){return this.connected}waitForFirstConnection(){return this._waitForFirstConnectionPromise}async getUserPermissions(){return this.request({commandTimeout:!1,executor:(e,t)=>{this._socket.emit("getUserPermissions",(i,r)=>{i?t(i):e(r||null)})}})}async loadData(){if(this.loaded)return;const e=10;for(let t=1;t<=e;t++){if(this.doLoadData().catch(i=>console.error(`Cannot load data: ${i}`)),this.loaded)return;await Bc(ke.isCloud()?5e3:1e3)}}async doLoadData(){var e,t,i,r,o,n,M,c,l;if(!this.loaded){if(!this.props.doNotLoadACL)try{this.acl=await this.getUserPermissions()}catch(N){this.onError(`Cannot read user permissions: ${N}`);return}try{this.props.admin5only&&!ke.isWeb()&&(!globalThis.vendorPrefix||globalThis.vendorPrefix==="@@vendorPrefix@@")?this._systemConfig=await this.getCompactSystemConfig():this._systemConfig=await this.getSystemConfig()}catch(N){this.onError(`Cannot read system config: ${N}`);return}this._systemConfig&&(this.systemLang=(e=this._systemConfig.common)==null?void 0:e.language,this.systemLang||(this.systemLang=globalThis.navigator.userLanguage||globalThis.navigator.language,/^(en|de|ru|pt|nl|fr|it|es|pl|uk)-?/.test(this.systemLang)?this.systemLang=this.systemLang.substring(0,2):/^(en|de|ru|pt|nl|fr|it|es|pl|uk|zh-cn)$/.test(this.systemLang)||(this.systemLang="en"),this._systemConfig.common.language=this.systemLang)),(i=(t=this.props).onLanguage)==null||i.call(t,this.systemLang),this.loaded=!0,(o=(r=this.props).onProgress)==null||o.call(r,ht.CONNECTED),this.firstConnect=!1,this.props.doNotLoadAllObjects?this.props.admin5only?this.objects={}:this.objects={"system.config":this._systemConfig}:this.objects=await this.getObjects(),(M=(n=this.props).onProgress)==null||M.call(n,ht.READY),this.onReadyDone||(this.onReadyDone=!0,(l=(c=this.props).onReady)==null||l.call(c,this.objects))}}authenticate(){globalThis.location.search.includes("&href=")?globalThis.location.href=`${globalThis.location.protocol}//${globalThis.location.host}${globalThis.location.pathname}${globalThis.location.search}`:globalThis.location.href=`${globalThis.location.protocol}//${globalThis.location.host}${globalThis.location.pathname}?login&href=${encodeURIComponent(globalThis.location.search+globalThis.location.hash)}`}async subscribeState(...e){let t,i,r;e.length===3?[t,i,r]=e:([t,r]=e,i=!1);let o;if(Array.isArray(t)?o=t:o=[t],typeof r!="function")throw new Error("The state change handler must be a function!");const n=[];for(let M=0;MM.includes("*"))){let M;for(let c=0;cconsole.error(`Cannot call state change handler: ${L}`))}}}else try{const M=await(ke.isWeb()?this.getStates(o):this.getForeignStates(o));if(M)for(const[c,l]of Object.entries(M)){const N=r(c,l);N instanceof Promise&&N.catch(u=>console.error(`Cannot call state change handler: ${u}`))}}catch(M){console.error(`Cannot getState "${o.join(", ")}": ${M.message}`);return}}async subscribeStateAsync(e,t){return this.subscribeState(e,t)}unsubscribeState(e,t){var o;let i;Array.isArray(e)?i=e:i=[e];const r=[];for(let n=0;n{try{const N=l(e,t,i);N instanceof Promise&&N.catch(u=>console.error(`Cannot call object change handler: ${u}`))}catch(N){console.error(`Error by callback of objectChange: ${N}`)}});if(r){const M=(n=(o=this.props).onObjectChange)==null?void 0:n.call(o,e,t);M instanceof Promise&&M.catch(c=>console.error(`Cannot call object change handler: ${c}`))}}stateChange(e,t){for(const i of Object.values(this.statesSubscribes))if(i.reg.test(e))for(const r of i.cbs)try{const o=r(e,t??null);o instanceof Promise&&o.catch(n=>console.error(`Cannot call state change handler: ${n}`))}catch(o){console.error(`Error by callback of stateChanged: ${o}`)}}instanceMessage(e,t,i){var r;(r=this._instanceSubscriptions[t])==null||r.forEach(o=>{if(o.messageType===e){const n=o.callback(i,t,e);n instanceof Promise&&n.catch(M=>console.error(`Cannot call instance message handler: ${M}`))}})}fileChange(e,t,i){for(const r of Object.values(this.filesSubscribes))if(r.regId.test(e)&&r.regFilePattern.test(t))for(const o of r.cbs)try{o(e,t,i)}catch(n){console.error(`Error by callback of fileChange: ${n}`)}}async subscribeFiles(e,t,i){if(typeof i!="function")throw new Error("The state change handler must be a function!");let r;Array.isArray(t)?r=t:r=[t];const o=[];for(let n=0;n{const u={elapsed:!1,clearTimeout:()=>{}};let L;i!==!1&&(L=setTimeout(()=>{u.elapsed=!0,r==null||r(),e&&this._promises[e]instanceof Promise&&delete this._promises[e],N(new Error(Qe.TIMEOUT))},i??this.props.cmdTimeout),u.clearTimeout=()=>{clearTimeout(L)});try{await M(l,N,u)}catch(g){e&&this._promises[e]instanceof Promise&&delete this._promises[e],N(new Error(g.toString()))}});return e&&(this._promises[e]=c),c}resetCache(e,t){t?Object.keys(this._promises).filter(i=>i.startsWith(e)).forEach(i=>{delete this._promises[i]}):delete this._promises[e]}getStates(e){return this.request({commandTimeout:!1,executor:(t,i)=>{this._socket.emit("getStates",e,(r,o)=>{this.states=o??{},r?i(r):t(this.states)})}})}getState(e){return this.request({commandTimeout:!1,executor:(t,i)=>{if(e&&e===this.ignoreState){t(this.simStates[e]||{val:null,ack:!0});return}this._socket.emit("getState",e,(r,o)=>{r?i(r):t(o)})}})}getBinaryState(e){return this.request({commandTimeout:!1,executor:(t,i)=>{this._socket.emit("getBinaryState",e,(r,o)=>{r?i(r):t(o)})}})}setBinaryState(e,t){return this.request({commandTimeout:!1,executor:(i,r)=>{this._socket.emit("setBinaryState",e,t,o=>{o?r(o):i()})}})}setState(e,t,i){return typeof i=="boolean"&&(t={val:t,ack:i}),this.request({commandTimeout:!1,executor:(r,o)=>{if(e&&e===this.ignoreState){let n;if(typeof i=="boolean"||typeof t=="object"&&t.val!==void 0?n=t:n={val:t,ack:!1,ts:Date.now(),lc:Date.now(),from:"system.adapter.vis.0"},this.simStates[e]=n,this.statesSubscribes[e])for(const M of this.statesSubscribes[e].cbs)try{const c=M(e,n);c instanceof Promise&&c.catch(l=>console.error(`Cannot call state change handler: ${l}`))}catch(c){console.error(`Error by callback of stateChanged: ${c}`)}r();return}this._socket.emit("setState",e,t,n=>{n?o(n):r()})}})}getObjects(e,t){return this.request({commandTimeout:!1,executor:(i,r)=>{if(!e&&this.objects){i(this.objects);return}this._socket.emit(ke.isWeb()?"getObjects":"getAllObjects",(o,n)=>{var M,c;t||(c=(M=this.props).onProgress)==null||c.call(M,ht.OBJECTS_LOADED),o?r(o):(this.objects=n??{},i(this.objects))})}})}getObjectsById(e){return this.request({commandTimeout:!1,executor:(t,i)=>{this._socket.emit("getObjects",e,(r,o)=>{r?i(r):t(o)})}})}_subscribe(e){var t,i;if(e&&!this.subscribed){this.subscribed=!0,(t=this.props.autoSubscribes)!=null&&t.length&&this._socket.emit("subscribeObjects",this.props.autoSubscribes);const r=Object.keys(this.objectsSubscribes);r.length&&this._socket.emit("subscribeObjects",r),Object.keys(this.objectsSubscribes).forEach(o=>this._socket.emit("subscribeObjects",o)),this.props.autoSubscribeLog&&this._socket.emit("requireLog",!0),Object.keys(this.statesSubscribes).forEach(o=>this._socket.emit("subscribe",o)),Object.keys(this.filesSubscribes).forEach(o=>{const[n,M]=o.split("$%$");this._socket.emit("subscribeFiles",n,M)})}else if(!e&&this.subscribed){this.subscribed=!1,(i=this.props.autoSubscribes)!=null&&i.length&&this._socket.emit("unsubscribeObjects",this.props.autoSubscribes);const r=Object.keys(this.objectsSubscribes);r.length&&this._socket.emit("unsubscribeObjects",r),this.props.autoSubscribeLog&&this._socket.emit("requireLog",!1),Object.keys(this.statesSubscribes).forEach(o=>this._socket.emit("unsubscribe",o)),Object.keys(this.filesSubscribes).forEach(o=>{const[n,M]=o.split("$%$");this._socket.emit("unsubscribeFiles",n,M)})}}requireLog(e){return this.request({commandTimeout:!1,executor:(t,i)=>{this._socket.emit("requireLog",e,r=>{r?i(r):t()})}})}delObject(e,t=!1){return this.request({commandTimeout:!1,executor:(i,r)=>{this._socket.emit("delObject",e,{maintenance:t},o=>{o?r(o):i()})}})}delObjects(e,t){return this.request({commandTimeout:!1,executor:(i,r)=>{this._socket.emit("delObjects",e,{maintenance:t},o=>{o?r(o):i()})}})}setObject(e,t){return t?(t=JSON.parse(JSON.stringify(t)),delete t.from,delete t.user,delete t.ts,this.request({commandTimeout:!1,executor:(i,r)=>{this._socket.emit("setObject",e,t,o=>{o?r(o):i()})}})):Promise.reject(new Error("Null object is not allowed"))}getObject(e){return this.request({commandTimeout:!1,executor:(t,i)=>{if(e&&e===this.ignoreState){t({_id:this.ignoreState,type:"state",common:{name:"ignored state",type:"mixed"}});return}this._socket.emit("getObject",e,(r,o)=>{r?i(r):t(o)})}})}sendTo(e,t,i){return this.request({commandTimeout:!1,executor:r=>{this._socket.emit("sendTo",e,t,i,o=>{r(o)})}})}extendObject(e,t){return t?(t=JSON.parse(JSON.stringify(t)),delete t.from,delete t.user,delete t.ts,this.request({commandTimeout:!1,executor:(i,r)=>{this._socket.emit("extendObject",e,t,o=>{o?r(o):i()})}})):Promise.reject(new Error("Null object is not allowed"))}registerLogHandler(e){this.onLogHandlers.includes(e)||this.onLogHandlers.push(e)}unregisterLogHandler(e){const t=this.onLogHandlers.indexOf(e);t!==-1&&this.onLogHandlers.splice(t,1)}registerConnectionHandler(e){this.onConnectionHandlers.includes(e)||this.onConnectionHandlers.push(e)}unregisterConnectionHandler(e){const t=this.onConnectionHandlers.indexOf(e);t!==-1&&this.onConnectionHandlers.splice(t,1)}registerCmdStdoutHandler(e){this.onCmdStdoutHandler=e}unregisterCmdStdoutHandler(){this.onCmdStdoutHandler=void 0}registerCmdStderrHandler(e){this.onCmdStderrHandler=e}unregisterCmdStderrHandler(){this.onCmdStderrHandler=void 0}registerCmdExitHandler(e){this.onCmdExitHandler=e}unregisterCmdExitHandler(){this.onCmdExitHandler=void 0}getEnums(e,t){return this.request({cacheKey:`enums_${e||"all"}`,forceUpdate:t,commandTimeout:!1,executor:(i,r)=>{this._socket.emit("getObjectView","system","enum",{startkey:`enum.${e||""}`,endkey:e?`enum.${e}.香`:"enum.香"},(o,n)=>{if(o)r(o);else{const M={};if(n)for(let c=0;c{i||="",r||="香",this._socket.emit("getObjectView",e,t,{startkey:i,endkey:r},(M,c)=>{if(M)n(M);else{const l={};if(c&&c.rows)for(let N=0;N{this._socket.emit("getObjectView","system","meta",{startkey:"",endkey:"香"},(i,r)=>{var o;i?t(i):e((o=r.rows)==null?void 0:o.map(n=>n.value).filter(n=>!!n))})}})}readDir(e,t){return this.request({commandTimeout:!1,executor:(i,r)=>{this._socket.emit("readDir",e,t,(o,n)=>{o?r(o):i(n)})}})}readFile(e,t,i){return this.request({commandTimeout:!1,executor:(r,o)=>{this._socket.emit(i?"readFile64":"readFile",e,t,(n,M,c)=>{n?o(n):r({file:M,mimeType:c})})}})}writeFile64(e,t,i){return this.request({commandTimeout:!1,executor:(r,o)=>{if(typeof i=="string")this._socket.emit("writeFile",e,t,i,n=>{n?o(n):r()});else{const n=btoa(new Uint8Array(i).reduce((M,c)=>M+String.fromCharCode(c),""));this._socket.emit("writeFile64",e,t,n,M=>{M?o(M):r()})}}})}deleteFile(e,t){return this.request({commandTimeout:!1,executor:(i,r)=>{this._socket.emit("deleteFile",e,t,o=>{o?r(o):i()})}})}deleteFolder(e,t){return this.request({commandTimeout:!1,executor:(i,r)=>{this._socket.emit("deleteFolder",e,t,o=>{o?r(o):i()})}})}rename(e,t,i){return this.request({commandTimeout:!1,executor:(r,o)=>{this._socket.emit("rename",e,t,i,n=>{n?o(n):r()})}})}renameFile(e,t,i){return this.request({commandTimeout:!1,executor:(r,o)=>{this._socket.emit("renameFile",e,t,i,n=>{n?o(n):r()})}})}cmdExec(e,t,i,r){return this.request({commandTimeout:r,executor:(o,n,M)=>{e=vt(e),this._socket.emit("cmdExec",e,i,t,c=>{M.elapsed||(M.clearTimeout(),c?n(c):o())})}})}getSystemConfig(e){return this.request({cacheKey:"systemConfig",forceUpdate:e,commandTimeout:!1,executor:async t=>{let i=await this.getObject("system.config");i??={},i.common??={},i.native??={},t(i)}})}getCompactSystemConfig(e){return this.request({cacheKey:"systemConfigCommon",forceUpdate:e,commandTimeout:!1,requireAdmin:!0,executor:(t,i)=>{this._socket.emit("getCompactSystemConfig",(r,o)=>{r?i(r):(o??={},o.common??={},o.native??={},t(o))})}})}getForeignStates(e){return this.request({commandTimeout:!1,executor:(t,i)=>{this._socket.emit("getForeignStates",e||"*",(r,o)=>{r?i(r):t(o??{})})}})}getForeignObjects(e,t){return this.request({commandTimeout:!1,executor:(i,r)=>{this._socket.emit("getForeignObjects",e||"*",t,(o,n)=>{o?r(o):i(n)})}})}setSystemConfig(e){return this.setObject("system.config",e)}getRawSocket(){return this._socket}getHistory(e,t){return this.request({commandTimeout:!1,executor:(i,r)=>{this._socket.emit("getHistory",e,t,(o,n)=>{o?r(o):i(n)})}})}getHistoryEx(e,t){return this.request({commandTimeout:!1,executor:(i,r)=>{this._socket.emit("getHistory",e,t,(o,n,M,c)=>{o?r(o):i({values:n,sessionId:c,step:M})})}})}getIpAddresses(e,t){return e=vt(e),this.request({cacheKey:`IPs_${e}`,forceUpdate:t,commandTimeout:!1,executor:async i=>{const r=await this.getObject(e);i((r==null?void 0:r.common.address)??[])}})}getVersion(e){return this.request({cacheKey:"version",forceUpdate:e,commandTimeout:!1,executor:(t,i)=>{this._socket.emit("getVersion",(r,o,n)=>{r&&!o&&typeof r=="string"&&r.match(/\d+\.\d+\.\d+/)?t({version:r,serverName:"socketio"}):r?i(r):t({version:o,serverName:n})})}})}getWebServerName(){return this.request({cacheKey:"webName",commandTimeout:!1,executor:(e,t)=>{this._socket.emit("getAdapterName",(i,r)=>{i?t(i):e(r)})}})}fileExists(e,t){return this.request({commandTimeout:!1,executor:(i,r)=>{this._socket.emit("fileExists",e,t,(o,n)=>{o?r(o):i(!!n)})}})}getCurrentUser(){return this.request({commandTimeout:!1,executor:e=>{this._socket.emit("authEnabled",(t,i)=>{e(i)})}})}getUuid(){return this.request({cacheKey:"uuid",commandTimeout:!1,executor:async e=>{var i;const t=await this.getObject("system.meta.uuid");e((i=t==null?void 0:t.native)==null?void 0:i.uuid)}})}checkFeatureSupported(e,t){return this.request({cacheKey:`supportedFeatures_${e}`,forceUpdate:t,commandTimeout:!1,executor:(i,r)=>{this._socket.emit("checkFeatureSupported",e,(o,n)=>{o?r(o):i(n)})}})}getAdapterInstances(e,t){return typeof e=="boolean"&&(t=e,e=""),e||="",this.request({cacheKey:`instances_${e}`,forceUpdate:t,commandTimeout:!1,executor:async i=>{const r=e?`system.adapter.${e}.`:"system.adapter.",o=`${r}香`,n=await this.getObjectViewSystem("instance",r,o),M=Object.values(n);i(e?M.filter(c=>c.common.name===e):M)}})}getAdapters(e,t){return typeof e=="boolean"&&(t=e,e=""),e||="",this.request({cacheKey:`adapter_${e}`,forceUpdate:t,commandTimeout:!1,executor:async i=>{const r=await this.getObjectViewSystem("adapter",`system.adapter.${e||""}`,`system.adapter.${e||"香"}`),o=Object.values(r);i(e?o.filter(n=>n.common.name===e):o)}})}getGroups(e){return this.request({cacheKey:"groups",forceUpdate:e,commandTimeout:!1,executor:(t,i)=>{this._socket.emit("getObjectView","system","group",{startkey:"system.group.",endkey:"system.group.香"},(r,o)=>{r?i(r):t(ea(o))})}})}logout(){return this.request({commandTimeout:!1,executor:(e,t)=>{this._socket.emit("logout",i=>{i?t(i):e(null)})}})}subscribeOnInstance(e,t,i,r){return this.request({commandTimeout:!1,executor:(o,n)=>{this._socket.emit("clientSubscribe",e,t,i,(M,c)=>{M?n(M):c&&(c.error?n(c.error):(e.startsWith("system.adapter.")||(e=`system.adapter.${e}`),this._instanceSubscriptions[e]=this._instanceSubscriptions[e]||[],this._instanceSubscriptions[e].find(l=>l.messageType===t&&l.callback===r)||this._instanceSubscriptions[e].push({messageType:t,callback:r}),o(c)))})}})}unsubscribeFromInstance(e,t,i){var n;e.startsWith("system.adapter.")||(e=`system.adapter.${e}`);let r;const o=[];do{r=!1;const M=(n=this._instanceSubscriptions[e])==null?void 0:n.findIndex(c=>(!t||c.messageType===t)&&(!i||c.callback===i));if(M!=null&&M!==-1){r=!0;const c=this._instanceSubscriptions[e][M].messageType;this._instanceSubscriptions[e].splice(M,1),this._instanceSubscriptions[e].length||delete this._instanceSubscriptions[e],this._instanceSubscriptions[e]&&this._instanceSubscriptions[e].find(N=>N.messageType===c)||o.push(this.request({commandTimeout:!1,executor:(N,u)=>{this._socket.emit("clientUnsubscribe",e,t,(L,g)=>L?u(L):N(g))}}))}}while(r&&(!i||!t));return o.length?Promise.all(o).then(M=>!!M.find(c=>c)):Promise.resolve(!1)}log(e,t){return e?this.request({commandTimeout:!1,executor:i=>(this._socket.emit("log",e,t),i(null))}):Promise.resolve(null)}setStateToIgnore(e){this.ignoreState=e}destroy(){var e;if(this._socket){const t=this._socket;try{typeof t.destroy=="function"?t.destroy():typeof t.close=="function"&&t.close(!0)}catch{}}(e=globalThis.removeEventListener)==null||e.call(globalThis,"storage",this.onAccessTokenUpdated),this._authTimer&&(clearTimeout(this._authTimer),this._authTimer=null),this._refreshTimer&&(clearTimeout(this._refreshTimer),this._refreshTimer=null),this.onConnectionHandlers.length=0,this.onLogHandlers.length=0;for(const t of Object.keys(this.statesSubscribes))delete this.statesSubscribes[t];for(const t of Object.keys(this.objectsSubscribes))delete this.objectsSubscribes[t];for(const t of Object.keys(this.filesSubscribes))delete this.filesSubscribes[t];this._instanceSubscriptions={},this.connected=!1,this.onReadyDone=!1}}function py(s,e){if(!e)return;let t;if(e.length<700&&(e.indexOf("/")!==-1||e.indexOf("\\")!==-1))if(s.toLowerCase().includes("private"))t="private";else if(e.toLowerCase().includes("private"))t="private";else if(s.toLowerCase().includes("public"))t="public";else if(e.toLowerCase().includes("public"))t="public";else if(s.toLowerCase().includes("chain"))t="chained";else if(e.toLowerCase().includes("chain"))t="chained";else return;else t=e.substring(0,26)==="-----BEGIN RSA PRIVATE KEY"||e.substring(0,22)==="-----BEGIN PRIVATE KEY"?"private":"public",t==="public"&&e.split("-----END CERTIFICATE-----").filter(r=>r.replace(/\r\n|\r|\n/,"").trim()).length>1&&(t="chained");return{name:s,type:t}}function Ay(s){var i,r,o,n;const e=[{name:"[IPv4] 0.0.0.0 - Listen on all IPs",address:"0.0.0.0",family:"ipv4"}],t=[{name:"[IPv6] :: - Listen on all IPs",address:"::",family:"ipv6"}];if((r=(i=s.native)==null?void 0:i.hardware)!=null&&r.networkInterfaces){const M=(n=(o=s.native)==null?void 0:o.hardware)==null?void 0:n.networkInterfaces;Object.keys(M).forEach(c=>{var l;(l=M[c])==null||l.forEach(N=>{N.family!=="IPv6"?e.push({name:`[${N.family}] ${N.address} - ${c}`,address:N.address,family:"ipv4"}):t.push({name:`[${N.family}] ${N.address} - ${c}`,address:N.address,family:"ipv6"})})})}return{IPs4:e,IPs6:t}}class Nve extends ke{constructor(e){super(e)}request(e){return super.request({requireAdmin:!0,...e})}getCertificates(e){return this.request({cacheKey:"cert",forceUpdate:e,commandTimeout:!1,executor:async t=>{var r;const i=await this.getObject("system.certificates");(r=i==null?void 0:i.native)!=null&&r.certificates?t(Object.entries(i.native.certificates).map(([o,n])=>py(o,n)).filter(o=>!!o)):t([])}})}getLogs(e,t=200){return this.request({commandTimeout:!1,executor:i=>{this._socket.emit("sendToHost",e,"getLogs",t||200,r=>{i(r)})}})}upgradeAdapterWithWebserver(e,t){return this.request({commandTimeout:!1,executor:i=>{this._socket.emit("sendToHost",e,"upgradeAdapterWithWebserver",t,r=>{i(r)})}})}upgradeController(e,t,i){return this.request({commandTimeout:!1,executor:(r,o)=>{this._socket.emit("sendToHost",e,"upgradeController",{version:t,adminInstance:i},n=>{const M=n;M.error?o(M.error):r(M.result)})}})}updateLicenses(e,t){return this.request({commandTimeout:!1,executor:(i,r)=>{this._socket.emit("updateLicenses",e,t,(o,n)=>{o?r(o):i(n)})}})}upgradeOsPackages(e,t,i){return this.request({commandTimeout:!1,executor:r=>{this._socket.emit("sendToHost",e,"upgradeOsPackages",{packages:t,restart:!!i},o=>{r(o)})}})}getLogsFiles(e){return this.request({commandTimeout:!1,executor:(t,i)=>{this._socket.emit("readLogs",e,(r,o)=>{r&&i(r),t(o)})}})}delLogs(e){return this.request({commandTimeout:!1,executor:(t,i)=>{this._socket.emit("sendToHost",e,"delLogs",null,r=>{r&&i(r),t()})}})}deleteFile(e,t){return this.request({commandTimeout:!1,executor:(i,r)=>{this._socket.emit("deleteFile",e,t,o=>{o&&r(o),i()})}})}deleteFolder(e,t){return this.request({commandTimeout:!1,executor:(i,r)=>{this._socket.emit("deleteFolder",e,t,o=>{o&&r(o),i()})}})}rename(e,t,i){return this.request({commandTimeout:!1,executor:(r,o)=>{this._socket.emit("rename",e,t,i,n=>{n&&o(n),r()})}})}renameFile(e,t,i){return this.request({commandTimeout:!1,executor:(r,o)=>{this._socket.emit("renameFile",e,t,i,n=>{n&&o(n),r()})}})}getHosts(e){return this.request({cacheKey:"hosts",forceUpdate:e,commandTimeout:!1,executor:(t,i)=>{this._socket.emit("getObjectView","system","host",{startkey:"system.host.",endkey:"system.host.香"},(r,o)=>{r?i(r):t(ea(o))})}})}getUsers(e){return this.request({cacheKey:"users",forceUpdate:e,commandTimeout:!1,executor:(t,i)=>{this._socket.emit("getObjectView","system","user",{startkey:"system.user.",endkey:"system.user.香"},(r,o)=>{r?i(r):t(ea(o))})}})}renameGroup(e,t,i){return this.request({commandTimeout:!1,executor:async r=>{const o=await this.getGroups(!0),n=o.filter(c=>c._id.startsWith(`${e}.`));for(const c of n){const l=c._id,N=t+c._id.substring(e.length);c._id=N,await this.setObject(N,c),await this.delObject(l)}const M=o.find(c=>c._id===e);if(M){const c=M._id;M._id=t,i!==void 0&&(M.common??={},M.common.name=i),await this.setObject(t,M),await this.delObject(c)}r()}})}getHostInfo(e,t,i){return e=vt(e),this.request({cacheKey:`hostInfo_${e}`,forceUpdate:t,commandTimeout:i,executor:(r,o,n)=>{this._socket.emit("sendToHost",e,"getHostInfo",null,M=>{n.elapsed||(n.clearTimeout(),M===Qe.PERMISSION_ERROR?o('May not read "getHostInfo"'):M?r(M):o('Cannot read "getHostInfo"'))})}})}getHostInfoShort(e,t,i){return e=vt(e),this.request({cacheKey:`hostInfoShort_${e}`,forceUpdate:t,commandTimeout:i,executor:(r,o,n)=>{this._socket.emit("sendToHost",e,"getHostInfoShort",null,M=>{n.elapsed||(n.clearTimeout(),M===Qe.PERMISSION_ERROR?o('May not read "getHostInfoShort"'):M?r(M):o('Cannot read "getHostInfoShort"'))})}})}getRepository(e,t,i,r){return this.request({cacheKey:`repository_${e}`,forceUpdate:i,commandTimeout:r,executor:(o,n,M)=>{this._socket.emit("sendToHost",e,"getRepository",t,c=>{M.elapsed||(M.clearTimeout(),c===Qe.PERMISSION_ERROR?n('May not read "getRepository"'):c?o(c):n('Cannot read "getRepository"'))})}})}getInstalled(e,t,i){return e=vt(e),this.request({cacheKey:`installed_${e}`,forceUpdate:t,commandTimeout:i,executor:(r,o,n)=>{this._socket.emit("sendToHost",e,"getInstalled",null,M=>{n.elapsed||(n.clearTimeout(),M===Qe.PERMISSION_ERROR?o('May not read "getInstalled"'):M?r(M):o('Cannot read "getInstalled"'))})}})}cmdExec(e,t,i,r){return this.request({commandTimeout:r,executor:(o,n,M)=>{e=vt(e),this._socket.emit("cmdExec",e,i,t,c=>{M.elapsed||(M.clearTimeout(),c&&n(c),o())})}})}readBaseSettings(e){return e=Pi(e),this.request({requireFeatures:["CONTROLLER_READWRITE_BASE_SETTINGS"],executor:(t,i,r)=>{this._socket.emit("sendToHost",e,"readBaseSettings",null,o=>{r.elapsed||(r.clearTimeout(),o===Qe.PERMISSION_ERROR?i('May not read "BaseSettings"'):o?o.error?i(new Error(o.error)):t(o):i('Cannot read "BaseSettings"'))})}})}writeBaseSettings(e,t){return e=Pi(e),this.request({requireFeatures:["CONTROLLER_READWRITE_BASE_SETTINGS"],executor:(i,r,o)=>{this._socket.emit("sendToHost",e,"writeBaseSettings",t,n=>{o.elapsed||(o.clearTimeout(),n===Qe.PERMISSION_ERROR?r('May not write "BaseSettings"'):n?i(n):r('Cannot write "BaseSettings"'))})}})}restartController(e){return e=Pi(e),this.request({executor:(t,i,r)=>{this._socket.emit("sendToHost",e,"restartController",null,()=>{r.elapsed||(r.clearTimeout(),t(!0))})}})}getDiagData(e,t){return e=Pi(e),this.request({executor:(i,r,o)=>{this._socket.emit("sendToHost",e,"getDiagData",t,n=>{o.elapsed||(o.clearTimeout(),i(n||null))})}})}changePassword(e,t){return this.request({executor:(i,r,o)=>{this._socket.emit("changePassword",e,t,n=>{o.elapsed||(o.clearTimeout(),n&&r(n),i())})}})}getIpAddresses(e,t){return e=vt(e),this.request({cacheKey:`IPs_${e}`,forceUpdate:t,commandTimeout:!1,executor:async i=>{const r=await this.getObject(e);i((r==null?void 0:r.common.address)??[])}})}getHostByIp(e,t){return e=Pi(e),this.request({cacheKey:`rIPs_${e}`,forceUpdate:t,executor:(i,r,o)=>{this._socket.emit("getHostByIp",e,(n,M)=>{if(o.elapsed)return;o.clearTimeout();const{IPs4:c,IPs6:l}=Ay(M);i([...c,...l])})}})}encrypt(e){return this.request({executor:(t,i,r)=>{this._socket.emit("encrypt",e,(o,n)=>{r.elapsed||(r.clearTimeout(),o&&i(o),t(n))})}})}decrypt(e){return this.request({executor:(t,i,r)=>{this._socket.emit("decrypt",e,(o,n)=>{r.elapsed||(r.clearTimeout(),o&&i(o),t(n))})}})}chmodFile(e,t,i){return this.request({executor:(r,o,n)=>{this._socket.emit("chmodFile",e,t,i,(M,c)=>{n.elapsed||(n.clearTimeout(),M&&o(M),r(c))})}})}chownFile(e,t,i){return this.request({executor:(r,o,n)=>{this._socket.emit("chownFile",e,t,i,(M,c)=>{n.elapsed||(n.clearTimeout(),M&&o(M),r(c))})}})}getNotifications(e,t){return this.request({executor:(i,r,o)=>{this._socket.emit("sendToHost",e,"getNotifications",{category:t},n=>{o.elapsed||(o.clearTimeout(),i(n))})}})}clearNotifications(e,t){return this.request({executor:(i,r,o)=>{this._socket.emit("sendToHost",e,"clearNotifications",{category:t},n=>{o.elapsed||(o.clearTimeout(),i(n))})}})}getIsEasyModeStrict(){return this.request({executor:(e,t,i)=>{this._socket.emit("getIsEasyModeStrict",(r,o)=>{i.elapsed||(i.clearTimeout(),r&&t(r),e(!!o))})}})}getEasyMode(){return this.request({executor:(e,t,i)=>{this._socket.emit("getEasyMode",(r,o)=>{i.elapsed||(i.clearTimeout(),r?t(new Error(r)):e(o))})}})}getRatings(e){return this.request({executor:(t,i,r)=>{this._socket.emit("getRatings",!!e,(o,n)=>{r.elapsed||(r.clearTimeout(),o?i(new Error(o)):t(n))})}})}getCurrentSession(e){const t=new AbortController;return this.request({commandTimeout:e||5e3,onTimeout:()=>{t.abort()},executor:async(i,r,o)=>{try{const n=await fetch("./session",{signal:t.signal});if(o.elapsed)return;o.clearTimeout();const M=await n.json();i(M)}catch(n){r(`getCurrentSession: ${n}`)}}})}getCurrentInstance(){return this.request({cacheKey:"currentInstance",executor:(e,t,i)=>{this._socket.emit("getCurrentInstance",(r,o)=>{i.elapsed||(i.clearTimeout(),r?t(r):e(o))})}})}getAdapterInstances(e,t){let i;return typeof e=="boolean"?(t=e,i=""):i=e||"",this.request({cacheKey:`instances_${i}`,forceUpdate:t,executor:(r,o,n)=>{this._socket.emit("getAdapterInstances",i,(M,c)=>{n.elapsed||(n.clearTimeout(),M&&o(M),r(c))})}})}getAdapters(e,t){let i;return typeof e=="boolean"?(t=e,i=""):i=e||"",this.request({cacheKey:`adapter_${i}`,forceUpdate:t,executor:(r,o,n)=>{this._socket.emit("getAdapters",i,(M,c)=>{n.elapsed||(n.clearTimeout(),M&&o(M),r(c))})}})}getCompactAdapters(e){return this.request({cacheKey:"compactAdapters",forceUpdate:e,executor:(t,i,r)=>{this._socket.emit("getCompactAdapters",(o,n)=>{r.elapsed||(r.clearTimeout(),o&&i(o),t(n))})}})}getAdaptersResetCache(e){e=e??"",this.resetCache(`adapter_${e}`),this.resetCache("compactAdapters")}getCompactInstances(e){return this.request({cacheKey:"compactInstances",forceUpdate:e,executor:(t,i,r)=>{this._socket.emit("getCompactInstances",(o,n)=>{r.elapsed||(r.clearTimeout(),o&&i(o),t(n))})}})}getAdapterInstancesResetCache(e){e=e??"",this.resetCache(`instances_${e}`),this.resetCache("compactInstances")}getCompactInstalled(e,t,i){return e=vt(e),this.request({cacheKey:`installedCompact_${e}`,forceUpdate:t,commandTimeout:i,executor:(r,o,n)=>{this._socket.emit("getCompactInstalled",e,M=>{n.elapsed||(n.clearTimeout(),M===Qe.PERMISSION_ERROR?o('May not read "getCompactInstalled"'):M?r(M):o('Cannot read "getCompactInstalled"'))})}})}getInstalledResetCache(e){e?(this.resetCache(`installedCompact_${e}`),this.resetCache(`installed_${e}`)):(this.resetCache("installedCompact_",!0),this.resetCache("installed_",!0))}getCompactRepository(e,t,i){return e=vt(e),this.request({cacheKey:`repositoryCompact_${e}`,forceUpdate:t,commandTimeout:i,executor:(r,o,n)=>{this._socket.emit("getCompactRepository",e,M=>{n.elapsed||(n.clearTimeout(),M===Qe.PERMISSION_ERROR?o('May not read "getCompactRepository"'):M?r(M):o('Cannot read "getCompactRepository"'))})}})}getRepositoryResetCache(e){e?(this.resetCache(`repositoryCompact_${e}`),this.resetCache(`repository_${e}`)):(this.resetCache("repositoryCompact_",!0),this.resetCache("repository_",!0))}getCompactHosts(e){return this.request({cacheKey:"hostsCompact",forceUpdate:e,executor:(t,i,r)=>{this._socket.emit("getCompactHosts",(o,n)=>{r.elapsed||(r.clearTimeout(),o&&i(o),t(n))})}})}getCompactSystemRepositories(e){return this.request({cacheKey:"repositoriesCompact",forceUpdate:e,executor:(t,i,r)=>{this._socket.emit("getCompactSystemRepositories",(o,n)=>{r.elapsed||(r.clearTimeout(),o&&i(o),t(n))})}})}}const X=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__,ae=globalThis,Is="10.44.0";function Yo(){return Qo(ae),ae}function Qo(s){const e=s.__SENTRY__=s.__SENTRY__||{};return e.version=e.version||Is,e[Is]=e[Is]||{}}function Ci(s,e,t=ae){const i=t.__SENTRY__=t.__SENTRY__||{},r=i[Is]=i[Is]||{};return r[s]||(r[s]=e())}const my=["debug","info","warn","error","log","assert","trace"],fy="Sentry Logger ",jo={};function pi(s){if(!("console"in ae))return s();const e=ae.console,t={},i=Object.keys(jo);i.forEach(r=>{const o=jo[r];t[r]=e[r],e[r]=o});try{return s()}finally{i.forEach(r=>{e[r]=t[r]})}}function Oy(){nM().enabled=!0}function Ey(){nM().enabled=!1}function _N(){return nM().enabled}function _y(...s){oM("log",...s)}function xy(...s){oM("warn",...s)}function Sy(...s){oM("error",...s)}function oM(s,...e){X&&_N()&&pi(()=>{ae.console[s](`${fy}[${s}]:`,...e)})}function nM(){return X?Ci("loggerSettings",()=>({enabled:!1})):{enabled:!1}}const F={enable:Oy,disable:Ey,isEnabled:_N,log:_y,warn:xy,error:Sy},xN=50,Cs="?",Rc=/\(error: (.*)\)/,Fc=/captureMessage|captureException/;function SN(...s){const e=s.sort((t,i)=>t[0]-i[0]).map(t=>t[1]);return(t,i=0,r=0)=>{const o=[],n=t.split(` `);for(let M=i;M1024&&(c=c.slice(0,1024));const l=Rc.test(c)?c.replace(Rc,"$1"):c;if(!l.match(/\S*Error: /)){for(const N of e){const u=N(l);if(u){o.push(u);break}}if(o.length>=xN+r)break}}return vy(o.slice(r))}}function ky(s){return Array.isArray(s)?SN(...s):s}function vy(s){if(!s.length)return[];const e=Array.from(s);return/sentryWrapped/.test(Wr(e).function||"")&&e.pop(),e.reverse(),Fc.test(Wr(e).function||"")&&(e.pop(),Fc.test(Wr(e).function||"")&&e.pop()),e.slice(0,xN).map(t=>({...t,filename:t.filename||Wr(e).filename,function:t.function||Cs}))}function Wr(s){return s[s.length-1]||{}}const jn="";function Ms(s){try{return!s||typeof s!="function"?jn:s.name||jn}catch{return jn}}function Gc(s){const e=s.exception;if(e){const t=[];try{return e.values.forEach(i=>{i.stacktrace.frames&&t.push(...i.stacktrace.frames)}),t}catch{return}}}function kN(s){return"__v_isVNode"in s&&s.__v_isVNode?"[VueVNode]":"[VueViewModel]"}const ro={},Hc={};function fs(s,e){ro[s]=ro[s]||[],ro[s].push(e)}function Os(s,e){if(!Hc[s]){Hc[s]=!0;try{e()}catch(t){X&&F.error(`Error while instrumenting ${s}`,t)}}}function gt(s,e){const t=s&&ro[s];if(t)for(const i of t)try{i(e)}catch(r){X&&F.error(`Error while triggering instrumentation handler. Type: ${s} Name: ${Ms(i)} diff --git a/admin/assets/localSharedImportMap-AxgBkrOR.js b/admin/assets/localSharedImportMap-xmSu9Qkg.js similarity index 94% rename from admin/assets/localSharedImportMap-AxgBkrOR.js rename to admin/assets/localSharedImportMap-xmSu9Qkg.js index f0a921d9b..6e7802ee2 100644 --- a/admin/assets/localSharedImportMap-AxgBkrOR.js +++ b/admin/assets/localSharedImportMap-xmSu9Qkg.js @@ -1 +1 @@ -import"./virtual_mf-REMOTE_ENTRY_ID_iobroker_javascript__remoteEntry_js-C9suQF96.js";const a={"@iobroker/adapter-react-v5":async()=>await import("./index-Dnbw7_L3.js"),"@mui/material":async()=>await import("./index-DlDUIfpA.js"),"prop-types":async()=>await import("./index-CVZSzCXy.js").then(t=>t.i),react:async()=>await import("./index-Dsh1HfIY.js").then(t=>t.i),"react-dom":async()=>await import("./index-BkyLyaYT.js").then(t=>t.i)},n={"@iobroker/adapter-react-v5":{name:"@iobroker/adapter-react-v5",version:"8.1.3",scope:["default"],loaded:!1,from:"iobroker_javascript",async get(){n["@iobroker/adapter-react-v5"].loaded=!0;const{"@iobroker/adapter-react-v5":e}=a,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"@mui/material":{name:"@mui/material",version:"6.5.0",scope:["default"],loaded:!1,from:"iobroker_javascript",async get(){n["@mui/material"].loaded=!0;const{"@mui/material":e}=a,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"prop-types":{name:"prop-types",version:"15.8.1",scope:["default"],loaded:!1,from:"iobroker_javascript",async get(){n["prop-types"].loaded=!0;const{"prop-types":e}=a,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},react:{name:"react",version:"18.3.1",scope:["default"],loaded:!1,from:"iobroker_javascript",async get(){n.react.loaded=!0;const{react:e}=a,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"react-dom":{name:"react-dom",version:"18.3.1",scope:["default"],loaded:!1,from:"iobroker_javascript",async get(){n["react-dom"].loaded=!0;const{"react-dom":e}=a,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}}},u=[];export{u as usedRemotes,n as usedShared}; +import"./virtual_mf-REMOTE_ENTRY_ID_iobroker_javascript__remoteEntry_js-D-eF6r8M.js";const a={"@iobroker/adapter-react-v5":async()=>await import("./index-q6iFaoFb.js"),"@mui/material":async()=>await import("./index-DlDUIfpA.js"),"prop-types":async()=>await import("./index-CVZSzCXy.js").then(t=>t.i),react:async()=>await import("./index-Dsh1HfIY.js").then(t=>t.i),"react-dom":async()=>await import("./index-BkyLyaYT.js").then(t=>t.i)},n={"@iobroker/adapter-react-v5":{name:"@iobroker/adapter-react-v5",version:"8.1.3",scope:["default"],loaded:!1,from:"iobroker_javascript",async get(){n["@iobroker/adapter-react-v5"].loaded=!0;const{"@iobroker/adapter-react-v5":e}=a,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"@mui/material":{name:"@mui/material",version:"6.5.0",scope:["default"],loaded:!1,from:"iobroker_javascript",async get(){n["@mui/material"].loaded=!0;const{"@mui/material":e}=a,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"prop-types":{name:"prop-types",version:"15.8.1",scope:["default"],loaded:!1,from:"iobroker_javascript",async get(){n["prop-types"].loaded=!0;const{"prop-types":e}=a,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},react:{name:"react",version:"18.3.1",scope:["default"],loaded:!1,from:"iobroker_javascript",async get(){n.react.loaded=!0;const{react:e}=a,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"react-dom":{name:"react-dom",version:"18.3.1",scope:["default"],loaded:!1,from:"iobroker_javascript",async get(){n["react-dom"].loaded=!0;const{"react-dom":e}=a,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}}},u=[];export{u as usedRemotes,n as usedShared}; diff --git a/admin/assets/virtual_mf-REMOTE_ENTRY_ID_iobroker_javascript__remoteEntry_js-C9suQF96.js b/admin/assets/virtual_mf-REMOTE_ENTRY_ID_iobroker_javascript__remoteEntry_js-D-eF6r8M.js similarity index 99% rename from admin/assets/virtual_mf-REMOTE_ENTRY_ID_iobroker_javascript__remoteEntry_js-C9suQF96.js rename to admin/assets/virtual_mf-REMOTE_ENTRY_ID_iobroker_javascript__remoteEntry_js-D-eF6r8M.js index a1c131057..b44eed789 100644 --- a/admin/assets/virtual_mf-REMOTE_ENTRY_ID_iobroker_javascript__remoteEntry_js-C9suQF96.js +++ b/admin/assets/virtual_mf-REMOTE_ENTRY_ID_iobroker_javascript__remoteEntry_js-D-eF6r8M.js @@ -1,8 +1,8 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./localSharedImportMap-AxgBkrOR.js","./preload-helper-BDBacUwf.js"])))=>i.map(i=>d[i]); +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./localSharedImportMap-xmSu9Qkg.js","./preload-helper-BDBacUwf.js"])))=>i.map(i=>d[i]); import{_ as sr}from"./preload-helper-BDBacUwf.js";var ir={},ar={},Tt={},M={},D={},P={};const ln="federation-manifest.json",cn=".json",un="FEDERATION_DEBUG",j={AT:"@",HYPHEN:"-",SLASH:"/"},De={[j.AT]:"scope_",[j.HYPHEN]:"_",[j.SLASH]:"__"},fn={[De[j.AT]]:j.AT,[De[j.HYPHEN]]:j.HYPHEN,[De[j.SLASH]]:j.SLASH},dn=":",hn="mf-manifest.json",mn="mf-stats.json",_n={NPM:"npm",APP:"app"},gn="__MF_DEVTOOLS_MODULE_INFO__",pn="ENCODE_NAME_PREFIX",yn=".federation",En={identifier:"MFDataPrefetch",globalKey:"__PREFETCH__",library:"mf-data-prefetch",exportsKey:"__PREFETCH_EXPORTS__",fileName:"bootstrap.js"};let Sn=(function(e){return e[e.UNKNOWN=1]="UNKNOWN",e[e.CALCULATED=2]="CALCULATED",e[e.NO_USE=0]="NO_USE",e})({});P.BROWSER_LOG_KEY=un;P.ENCODE_NAME_PREFIX=pn;P.EncodedNameTransformMap=fn;P.FederationModuleManifest=ln;P.MANIFEST_EXT=cn;P.MFModuleType=_n;P.MFPrefetchCommon=En;P.MODULE_DEVTOOL_IDENTIFIER=gn;P.ManifestFileName=hn;P.NameTransformMap=De;P.NameTransformSymbol=j;P.SEPARATOR=dn;P.StatsFileName=mn;P.TEMP_DIR=yn;P.TreeShakingStatus=Sn;var lr={},re={},kt=Object.defineProperty,bn=(e,t)=>{let r={};for(var n in e)kt(r,n,{get:e[n],enumerable:!0});return t||kt(r,Symbol.toStringTag,{value:"Module"}),r};re.__exportAll=bn;(function(e){var r=re.__exportAll({});Object.defineProperty(e,"ContainerPlugin_exports",{enumerable:!0,get:function(){return r}})})(lr);var cr={};(function(e){var r=re.__exportAll({});Object.defineProperty(e,"ContainerReferencePlugin_exports",{enumerable:!0,get:function(){return r}})})(cr);var ur={};(function(e){var r=re.__exportAll({});Object.defineProperty(e,"ModuleFederationPlugin_exports",{enumerable:!0,get:function(){return r}})})(ur);var fr={};(function(e){var r=re.__exportAll({});Object.defineProperty(e,"SharePlugin_exports",{enumerable:!0,get:function(){return r}})})(fr);var dr={};(function(e){var r=re.__exportAll({});Object.defineProperty(e,"ConsumeSharedPlugin_exports",{enumerable:!0,get:function(){return r}})})(dr);var hr={};(function(e){var r=re.__exportAll({});Object.defineProperty(e,"ProvideSharedPlugin_exports",{enumerable:!0,get:function(){return r}})})(hr);var J={},be={};const Rn=P,mr=!0;function _r(){return mr}function Tn(){return typeof navigator<"u"&&(navigator==null?void 0:navigator.product)==="ReactNative"}function In(){try{if(_r()&&window.localStorage)return!!localStorage.getItem(Rn.BROWSER_LOG_KEY)}catch{return!1}return!1}function $n(){return typeof process<"u"&&be&&be.FEDERATION_DEBUG?!!be.FEDERATION_DEBUG:typeof FEDERATION_DEBUG<"u"&&FEDERATION_DEBUG?!0:In()}const Nn=function(){return typeof process<"u"&&be?be:{}};J.getProcessEnv=Nn;J.isBrowserEnv=_r;J.isBrowserEnvValue=mr;J.isDebugMode=$n;J.isReactNativeEnv=Tn;var H={};const S=P,dt=J,gr="[ Federation Runtime ]",Mn=(e,t,r=S.SEPARATOR)=>{const n=e.split(r),o=dt.getProcessEnv().NODE_ENV==="development"&&t,s="*",i=a=>a.startsWith("http")||a.includes(S.MANIFEST_EXT);if(n.length>=2){let[a,...c]=n;e.startsWith(r)&&(a=n.slice(0,2).join(r),c=[o||n.slice(2).join(r)]);let l=o||c.join(r);return i(l)?{name:a,entry:l}:{name:a,version:l||s}}else if(n.length===1){const[a]=n;return o&&i(o)?{name:a,entry:o}:{name:a,version:o||s}}else throw`Invalid entry value: ${e}`},Pn=function(...e){return e.length?e.reduce((t,r)=>r?t?`${t}${S.SEPARATOR}${r}`:r:t,""):""},It=function(e,t="",r=!1){try{const n=r?".js":"";return`${t}${e.replace(new RegExp(`${S.NameTransformSymbol.AT}`,"g"),S.NameTransformMap[S.NameTransformSymbol.AT]).replace(new RegExp(`${S.NameTransformSymbol.HYPHEN}`,"g"),S.NameTransformMap[S.NameTransformSymbol.HYPHEN]).replace(new RegExp(`${S.NameTransformSymbol.SLASH}`,"g"),S.NameTransformMap[S.NameTransformSymbol.SLASH])}${n}`}catch(n){throw n}},vn=function(e,t,r){try{let n=e;if(t){if(!n.startsWith(t))return n;n=n.replace(new RegExp(t,"g"),"")}return n=n.replace(new RegExp(`${S.NameTransformMap[S.NameTransformSymbol.AT]}`,"g"),S.EncodedNameTransformMap[S.NameTransformMap[S.NameTransformSymbol.AT]]).replace(new RegExp(`${S.NameTransformMap[S.NameTransformSymbol.SLASH]}`,"g"),S.EncodedNameTransformMap[S.NameTransformMap[S.NameTransformSymbol.SLASH]]).replace(new RegExp(`${S.NameTransformMap[S.NameTransformSymbol.HYPHEN]}`,"g"),S.EncodedNameTransformMap[S.NameTransformMap[S.NameTransformSymbol.HYPHEN]]),r&&(n=n.replace(".js","")),n}catch(n){throw n}},An=(e,t)=>{if(!e)return"";let r=e;return r==="."&&(r="default_export"),r.startsWith("./")&&(r=r.replace("./","")),It(r,"__federation_expose_",t)},kn=(e,t)=>e?It(e,"__federation_shared_",t):"",On=(e,t)=>{if("getPublicPath"in e){let r;return e.getPublicPath.startsWith("function")?r=new Function("return "+e.getPublicPath)()():r=new Function(e.getPublicPath)(),`${r}${t}`}else return"publicPath"in e?!dt.isBrowserEnv()&&!dt.isReactNativeEnv()&&"ssrPublicPath"in e&&typeof e.ssrPublicPath=="string"?`${e.ssrPublicPath}${t}`:`${e.publicPath}${t}`:(console.warn("Cannot get resource URL. If in debug mode, please ignore.",e,t),"")},wn=(e,t)=>{e||pr(t)},pr=e=>{throw new Error(`${gr}: ${e}`)},Fn=e=>{console.warn(`${gr}: ${e}`)};function Ln(e){try{return JSON.stringify(e,null,2)}catch{return""}}const Dn=/^([\d^=v<>~]|[*xX]$)/;function Hn(e){return Dn.test(e)}H.assert=wn;H.composeKeyWithSeparator=Pn;H.decodeName=vn;H.encodeName=It;H.error=pr;H.generateExposeFilename=An;H.generateShareFilename=kn;H.getResourceUrl=On;H.isRequiredVersion=Hn;H.parseEntry=Mn;H.safeToString=Ln;H.warn=Fn;var ue={};const ye=P,Q=(e,t)=>{if(!e)return t;const n=(o=>{if(o===".")return"";if(o.startsWith("./"))return o.replace("./","");if(o.startsWith("/")){const s=o.slice(1);return s.endsWith("/")?s.slice(0,-1):s}return o})(e);return n?n.endsWith("/")?`${n}${t}`:`${n}/${t}`:t};function yr(e){return e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/")}function Cn(e,t={}){var E,I,O;const{remotes:r={},overrides:n={},version:o}=t;let s;const i=()=>"publicPath"in e.metaData?(e.metaData.publicPath==="auto"||e.metaData.publicPath==="")&&o?yr(o):e.metaData.publicPath:e.metaData.getPublicPath,a=Object.keys(n);let c={};Object.keys(r).length||(c=((E=e.remotes)==null?void 0:E.reduce((y,N)=>{let R;const v=N.federationContainerName;return a.includes(v)?R=n[v]:"version"in N?R=N.version:R=N.entry,y[v]={matchedVersion:R},y},{}))||{}),Object.keys(r).forEach(y=>c[y]={matchedVersion:a.includes(y)?n[y]:r[y]});const{remoteEntry:{path:l,name:u,type:d},types:f={path:"",name:"",zip:"",api:""},buildInfo:{buildVersion:h},globalName:m,ssrRemoteEntry:_}=e.metaData,{exposes:g}=e;let p={version:o||"",buildVersion:h,globalName:m,remoteEntry:Q(l,u),remoteEntryType:d,remoteTypes:Q(f.path,f.name),remoteTypesZip:f.zip||"",remoteTypesAPI:f.api||"",remotesInfo:c,shared:e==null?void 0:e.shared.map(y=>({assets:y.assets,sharedName:y.name,version:y.version,usedExports:y.referenceExports||[]})),modules:g==null?void 0:g.map(y=>({moduleName:y.name,modulePath:y.path,assets:y.assets}))};if((I=e.metaData)!=null&&I.prefetchInterface){const y=e.metaData.prefetchInterface;p={...p,prefetchInterface:y}}if((O=e.metaData)!=null&&O.prefetchEntry){const{path:y,name:N,type:R}=e.metaData.prefetchEntry;p={...p,prefetchEntry:Q(y,N),prefetchEntryType:R}}if("publicPath"in e.metaData?(s={...p,publicPath:i()},typeof e.metaData.ssrPublicPath=="string"&&(s.ssrPublicPath=e.metaData.ssrPublicPath)):s={...p,getPublicPath:i()},_){const y=Q(_.path,_.name);s.ssrRemoteEntry=y,s.ssrRemoteEntryType=_.type||"commonjs-module"}return s}function qn(e){return!!("remoteEntry"in e&&e.remoteEntry.includes(ye.MANIFEST_EXT))}function Gn(e){if(!e)return{statsFileName:ye.StatsFileName,manifestFileName:ye.ManifestFileName};let t=typeof e=="boolean"?"":e.filePath||"",r=typeof e=="boolean"?"":e.fileName||"";const n=".json",o=a=>a.endsWith(n)?a:`${a}${n}`,s=(a,c)=>a.replace(n,`${c}${n}`),i=r?o(r):ye.ManifestFileName;return{statsFileName:Q(t,r?s(i,"-stats"):ye.StatsFileName),manifestFileName:Q(t,i)}}ue.generateSnapshotFromManifest=Cn;ue.getManifestFileName=Gn;ue.inferAutoPublicPath=yr;ue.isManifestProvider=qn;ue.simpleJoinRemoteEntry=Q;var fe={};const Ot=J,Er="[ Module Federation ]",ge=console,Un=["logger.ts","logger.js","captureStackTrace","Logger.emit","Logger.log","Logger.info","Logger.warn","Logger.error","Logger.debug"];function Wn(){try{const e=new Error().stack;if(!e)return;const[,...t]=e.split(` `),r=t.filter(n=>!Un.some(o=>n.includes(o)));return r.length?`Stack trace: ${r.slice(0,5).join(` `)}`:void 0}catch{return}}var Sr=class{constructor(e,t=ge){this.prefix=e,this.delegate=t??ge}setPrefix(e){this.prefix=e}setDelegate(e){this.delegate=e??ge}emit(e,t){const r=this.delegate,n=Ot.isDebugMode()?Wn():void 0,o=n?[...t,n]:t,s=(()=>{switch(e){case"log":return["log","info"];case"info":return["info","log"];case"warn":return["warn","info","log"];case"error":return["error","warn","log"];default:return["debug","log"]}})();for(const i of s){const a=r[i];if(typeof a=="function"){a.call(r,this.prefix,...o);return}}for(const i of s){const a=ge[i];if(typeof a=="function"){a.call(ge,this.prefix,...o);return}}}log(...e){this.emit("log",e)}warn(...e){this.emit("warn",e)}error(...e){this.emit("error",e)}success(...e){this.emit("info",e)}info(...e){this.emit("info",e)}ready(...e){this.emit("info",e)}debug(...e){Ot.isDebugMode()&&this.emit("debug",e)}};function br(e){return new Sr(e)}function Rr(e){const t=new Sr(e);return Object.defineProperty(t,"__mf_infrastructure_logger__",{value:!0,enumerable:!1,configurable:!1}),t}function Bn(e,t,r){if(e.__mf_infrastructure_logger__&&t!=null&&t.getInfrastructureLogger)try{const n=t.getInfrastructureLogger(r);n&&typeof n=="object"&&(typeof n.log=="function"||typeof n.info=="function"||typeof n.warn=="function"||typeof n.error=="function")&&e.setDelegate(n)}catch{e.setDelegate(void 0)}}const jn=br(Er),Vn=Rr(Er);fe.bindLoggerToCompiler=Bn;fe.createInfrastructureLogger=Rr;fe.createLogger=br;fe.infrastructureLogger=Vn;fe.logger=jn;var de={};const Xn=H;async function $t(e,t){try{return await e()}catch(r){!t&&Xn.warn(r);return}}function Ue(e,t){const r=/^(https?:)?\/\//i;return e.replace(r,"").replace(/\/$/,"")===t.replace(r,"").replace(/\/$/,"")}function Tr(e){let t=null,r=!0,n=2e4,o;const s=document.getElementsByTagName("script");for(let l=0;l{t&&(d==="async"||d==="defer"?t[d]=l[d]:t.getAttribute(d)||t.setAttribute(d,l[d]))})}let i=null;const a=typeof window<"u"?l=>{if(l.filename&&Ue(l.filename,e.url)){const u=new Error(`ScriptExecutionError: Script "${e.url}" loaded but threw a runtime error during execution: ${l.message} (${l.filename}:${l.lineno}:${l.colno})`);u.name="ScriptExecutionError",i=u}}:null;a&&window.addEventListener("error",a);const c=async(l,u)=>{clearTimeout(o),a&&window.removeEventListener("error",a);const d=()=>{if((u==null?void 0:u.type)==="error"){const f=new Error(`ScriptNetworkError: Failed to load script "${e.url}" - the script URL is unreachable or the server returned an error (network failure, 404, CORS, etc.)`);f.name="ScriptNetworkError",e!=null&&e.onErrorCallback&&(e==null||e.onErrorCallback(f))}else i?e!=null&&e.onErrorCallback&&(e==null||e.onErrorCallback(i)):e!=null&&e.cb&&(e==null||e.cb())};if(t&&(t.onerror=null,t.onload=null,$t(()=>{const{needDeleteScript:f=!0}=e;f&&t!=null&&t.parentNode&&t.parentNode.removeChild(t)}),l&&typeof l=="function")){const f=l(u);if(f instanceof Promise){const h=await f;return d(),h}return d(),f}d()};return t.onerror=c.bind(null,t.onerror),t.onload=c.bind(null,t.onload),o=setTimeout(()=>{c(null,new Error(`Remote script "${e.url}" time-outed.`))},n),{script:t,needAttach:r}}function xn(e){let t=null,r=!0;const n=document.getElementsByTagName("link");for(let s=0;s{t&&!t.getAttribute(a)&&t.setAttribute(a,i[a])})}const o=(s,i)=>{const a=()=>{(i==null?void 0:i.type)==="error"?e!=null&&e.onErrorCallback&&(e==null||e.onErrorCallback(i)):e!=null&&e.cb&&(e==null||e.cb())};if(t&&(t.onerror=null,t.onload=null,$t(()=>{const{needDeleteLink:c=!0}=e;c&&t!=null&&t.parentNode&&t.parentNode.removeChild(t)}),s)){const c=s(i);return a(),c}a()};return t.onerror=o.bind(null,t.onerror),t.onload=o.bind(null,t.onload),{link:t,needAttach:r}}function Kn(e,t){const{attrs:r={},createScriptHook:n}=t;return new Promise((o,s)=>{const{script:i,needAttach:a}=Tr({url:e,cb:o,onErrorCallback:s,attrs:{fetchpriority:"high",...r},createScriptHook:n,needDeleteScript:!0});a&&document.head.appendChild(i)})}de.createLink=xn;de.createScript=Tr;de.isStaticResourcesEqual=Ue;de.loadScript=Kn;de.safeWrapper=$t;var Nt={};const Yn=(e,t,r,n)=>{t(new Error("createScriptNode is disabled in non-Node.js environment"))},zn=(e,t)=>{throw new Error("loadScriptNode is disabled in non-Node.js environment")};Nt.createScriptNode=Yn;Nt.loadScriptNode=zn;var Ir={};function Jn(e,t,r){return function(n){if(n===!1)return!1;if(typeof n>"u")return e?t:!1;if(n===!0)return t;if(n&&typeof n=="object")return{...t,...n};throw new Error(`Unexpected type for \`${r}\`, expect boolean/undefined/object, got: ${typeof n}`)}}Ir.normalizeOptions=Jn;var $r={};const Zn=e=>e;$r.createModuleFederationConfig=Zn;(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=P,r=lr,n=cr,o=ur,s=fr,i=dr,a=hr,c=J,l=H,u=ue,d=fe,f=de,h=Nt,m=Ir,_=$r;e.BROWSER_LOG_KEY=t.BROWSER_LOG_KEY,e.ENCODE_NAME_PREFIX=t.ENCODE_NAME_PREFIX,e.EncodedNameTransformMap=t.EncodedNameTransformMap,e.FederationModuleManifest=t.FederationModuleManifest,e.MANIFEST_EXT=t.MANIFEST_EXT,e.MFModuleType=t.MFModuleType,e.MFPrefetchCommon=t.MFPrefetchCommon,e.MODULE_DEVTOOL_IDENTIFIER=t.MODULE_DEVTOOL_IDENTIFIER,e.ManifestFileName=t.ManifestFileName,e.NameTransformMap=t.NameTransformMap,e.NameTransformSymbol=t.NameTransformSymbol,e.SEPARATOR=t.SEPARATOR,e.StatsFileName=t.StatsFileName,e.TEMP_DIR=t.TEMP_DIR,e.TreeShakingStatus=t.TreeShakingStatus,e.assert=l.assert,e.bindLoggerToCompiler=d.bindLoggerToCompiler,e.composeKeyWithSeparator=l.composeKeyWithSeparator,Object.defineProperty(e,"consumeSharedPlugin",{enumerable:!0,get:function(){return i.ConsumeSharedPlugin_exports}}),Object.defineProperty(e,"containerPlugin",{enumerable:!0,get:function(){return r.ContainerPlugin_exports}}),Object.defineProperty(e,"containerReferencePlugin",{enumerable:!0,get:function(){return n.ContainerReferencePlugin_exports}}),e.createInfrastructureLogger=d.createInfrastructureLogger,e.createLink=f.createLink,e.createLogger=d.createLogger,e.createModuleFederationConfig=_.createModuleFederationConfig,e.createScript=f.createScript,e.createScriptNode=h.createScriptNode,e.decodeName=l.decodeName,e.encodeName=l.encodeName,e.error=l.error,e.generateExposeFilename=l.generateExposeFilename,e.generateShareFilename=l.generateShareFilename,e.generateSnapshotFromManifest=u.generateSnapshotFromManifest,e.getManifestFileName=u.getManifestFileName,e.getProcessEnv=c.getProcessEnv,e.getResourceUrl=l.getResourceUrl,e.inferAutoPublicPath=u.inferAutoPublicPath,e.infrastructureLogger=d.infrastructureLogger,e.isBrowserEnv=c.isBrowserEnv,e.isBrowserEnvValue=c.isBrowserEnvValue,e.isDebugMode=c.isDebugMode,e.isManifestProvider=u.isManifestProvider,e.isReactNativeEnv=c.isReactNativeEnv,e.isRequiredVersion=l.isRequiredVersion,e.isStaticResourcesEqual=f.isStaticResourcesEqual,e.loadScript=f.loadScript,e.loadScriptNode=h.loadScriptNode,e.logger=d.logger,Object.defineProperty(e,"moduleFederationPlugin",{enumerable:!0,get:function(){return o.ModuleFederationPlugin_exports}}),e.normalizeOptions=m.normalizeOptions,e.parseEntry=l.parseEntry,Object.defineProperty(e,"provideSharedPlugin",{enumerable:!0,get:function(){return a.ProvideSharedPlugin_exports}}),e.safeToString=l.safeToString,e.safeWrapper=f.safeWrapper,Object.defineProperty(e,"sharePlugin",{enumerable:!0,get:function(){return s.SharePlugin_exports}}),e.simpleJoinRemoteEntry=u.simpleJoinRemoteEntry,e.warn=l.warn})(D);var Nr={},Mt={};const Qn=e=>`View the docs to see how to solve: https://module-federation.io/guide/troubleshooting/${e.split("-")[0].toLowerCase()}#${e.toLowerCase()}`,eo=(e,t,r,n)=>{const o=[`${[t[e]]} #${e}`];return r&&o.push(`args: ${JSON.stringify(r)}`),o.push(Qn(e)),n&&o.push(`Original Error Message: ${n}`),o.join(` `)};Mt.getShortErrorMsg=eo;(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=Mt;function r(n,o,s,i,a,c){return i(t.getShortErrorMsg(n,o,s,a))}e.logAndReport=r})(Nr);let to=D,ro=Nr;const ee="[ Federation Runtime ]",ht=(0,to.createLogger)(ee);function no(e,t,r,n,o){e||(r!==void 0?mt(t,r,n,void 0,o):mt(t))}function mt(e,t,r,n,o){if(t!==void 0)return(0,ro.logAndReport)(e,t,r??{},i=>{throw new Error(`${ee}: ${i}`)},n,o);const s=e;throw s instanceof Error?(s.message.startsWith(ee)||(s.message=`${ee}: ${s.message}`),s):new Error(`${ee}: ${s}`)}function oo(e){e instanceof Error&&(e.message.startsWith(ee)||(e.message=`${ee}: ${e.message}`)),ht.warn(e)}M.assert=no;M.error=mt;M.logger=ht;M.warn=oo;var $={};const so=M;let wt=D;function io(e,t){return e.findIndex(r=>r===t)===-1&&e.push(t),e}function ao(e){return"version"in e&&e.version?`${e.name}:${e.version}`:"entry"in e&&e.entry?`${e.name}:${e.entry}`:`${e.name}`}function lo(e){return typeof e.entry<"u"}function co(e){return!e.entry.includes(".json")}async function uo(e,t){try{return await e()}catch(r){!t&&so.warn(r);return}}function fo(e){return e&&typeof e=="object"}const Mr=Object.prototype.toString;function ho(e){return Mr.call(e)==="[object Object]"}function mo(e,t){const r=/^(https?:)?\/\//i;return e.replace(r,"").replace(/\/$/,"")===t.replace(r,"").replace(/\/$/,"")}function _o(e){return Array.isArray(e)?e:[e]}function go(e){const t={url:"",type:"global",globalName:""};return wt.isBrowserEnvValue||(0,wt.isReactNativeEnv)()||!("ssrRemoteEntry"in e)?"remoteEntry"in e?{url:e.remoteEntry,type:e.remoteEntryType,globalName:e.globalName}:t:"ssrRemoteEntry"in e?{url:e.ssrRemoteEntry||t.url,type:e.ssrRemoteEntryType||t.type,globalName:e.globalName}:t}const po=(e,t)=>{let r;return e.endsWith("/")?r=e.slice(0,-1):r=e,t.startsWith(".")&&(t=t.slice(1)),r=r+t,r};$.addUniqueItem=io;$.arrayOptions=_o;$.getFMId=ao;$.getRemoteEntryInfoFromSnapshot=go;$.isObject=fo;$.isPlainObject=ho;$.isPureRemoteEntry=co;$.isRemoteInfoWithEntry=lo;$.isStaticResourcesEqual=mo;$.objectToString=Mr;$.processModuleAlias=po;$.safeWrapper=uo;var b={};const Pr=M,_t=$;let yo=D;const k=typeof globalThis=="object"?globalThis:window,C=(()=>{try{return document.defaultView}catch{return k}})(),Eo=C;function He(e,t,r){Object.defineProperty(e,t,{value:r,configurable:!1,writable:!0})}function Ce(e,t){return Object.hasOwnProperty.call(e,t)}Ce(k,"__GLOBAL_LOADING_REMOTE_ENTRY__")||He(k,"__GLOBAL_LOADING_REMOTE_ENTRY__",{});const gt=k.__GLOBAL_LOADING_REMOTE_ENTRY__;function vr(e){Ce(e,"__VMOK__")&&!Ce(e,"__FEDERATION__")&&He(e,"__FEDERATION__",e.__VMOK__),Ce(e,"__FEDERATION__")||(He(e,"__FEDERATION__",{__GLOBAL_PLUGIN__:[],__INSTANCES__:[],moduleInfo:{},__SHARE__:{},__MANIFEST_LOADING__:{},__PRELOADED_MAP__:new Map}),He(e,"__VMOK__",e.__FEDERATION__)),e.__FEDERATION__.__GLOBAL_PLUGIN__??=[],e.__FEDERATION__.__INSTANCES__??=[],e.__FEDERATION__.moduleInfo??={},e.__FEDERATION__.__SHARE__??={},e.__FEDERATION__.__MANIFEST_LOADING__??={},e.__FEDERATION__.__PRELOADED_MAP__??=new Map}vr(k);vr(C);function So(){k.__FEDERATION__.__GLOBAL_PLUGIN__=[],k.__FEDERATION__.__INSTANCES__=[],k.__FEDERATION__.moduleInfo={},k.__FEDERATION__.__SHARE__={},k.__FEDERATION__.__MANIFEST_LOADING__={},Object.keys(gt).forEach(e=>{delete gt[e]})}function bo(e){k.__FEDERATION__.__INSTANCES__.push(e)}function Ro(){return k.__FEDERATION__.__DEBUG_CONSTRUCTOR__}function To(e,t=(0,yo.isDebugMode)()){t&&(k.__FEDERATION__.__DEBUG_CONSTRUCTOR__=e,k.__FEDERATION__.__DEBUG_CONSTRUCTOR_VERSION__="2.2.2")}function pt(e,t){if(typeof t=="string"){if(e[t])return{value:e[t],key:t};{const r=Object.keys(e);for(const n of r){const[o,s]=n.split(":"),i=`${o}:${t}`,a=e[i];if(a)return{value:a,key:i}}return{value:void 0,key:t}}}else Pr.error(`getInfoWithoutType: "key" must be a string, got ${typeof t} (${JSON.stringify(t)}).`)}const Io=()=>C.__FEDERATION__.moduleInfo,Ar=(e,t)=>{const r=pt(t,_t.getFMId(e)).value;if(r&&!r.version&&"version"in e&&e.version&&(r.version=e.version),r)return r;if("version"in e&&e.version){const{version:n,...o}=e,s=_t.getFMId(o),i=pt(C.__FEDERATION__.moduleInfo,s).value;if((i==null?void 0:i.version)===n)return i}},$o=e=>Ar(e,C.__FEDERATION__.moduleInfo),No=(e,t)=>{const r=_t.getFMId(e);return C.__FEDERATION__.moduleInfo[r]=t,C.__FEDERATION__.moduleInfo},Mo=e=>(C.__FEDERATION__.moduleInfo={...C.__FEDERATION__.moduleInfo,...e},()=>{const t=Object.keys(e);for(const r of t)delete C.__FEDERATION__.moduleInfo[r]}),Po=(e,t)=>{const r=t||`__FEDERATION_${e}:custom__`;return{remoteEntryKey:r,entryExports:k[r]}},vo=e=>{const{__GLOBAL_PLUGIN__:t}=C.__FEDERATION__;e.forEach(r=>{t.findIndex(n=>n.name===r.name)===-1?t.push(r):Pr.warn(`The plugin ${r.name} has been registered.`)})},Ao=()=>C.__FEDERATION__.__GLOBAL_PLUGIN__,ko=e=>k.__FEDERATION__.__PRELOADED_MAP__.get(e),Oo=e=>k.__FEDERATION__.__PRELOADED_MAP__.set(e,!0);b.CurrentGlobal=k;b.Global=Eo;b.addGlobalSnapshot=Mo;b.getGlobalFederationConstructor=Ro;b.getGlobalHostPlugins=Ao;b.getGlobalSnapshot=Io;b.getGlobalSnapshotInfoByModuleInfo=$o;b.getInfoWithoutType=pt;b.getPreloaded=ko;b.getRemoteEntryExports=Po;b.getTargetSnapshotInfoByModuleInfo=Ar;b.globalLoading=gt;b.nativeGlobal=C;b.registerGlobalPlugins=vo;b.resetFederationGlobalInfo=So;b.setGlobalFederationConstructor=To;b.setGlobalFederationInstance=bo;b.setGlobalSnapshotInfoByModuleInfo=No;b.setPreloaded=Oo;var Pt={},ne={},W={};const Ft="[0-9A-Za-z-]+",vt=`(?:\\+(${Ft}(?:\\.${Ft})*))`,Re="0|[1-9]\\d*",qe="[0-9]+",kr="\\d*[a-zA-Z-][a-zA-Z0-9-]*",Lt=`(?:${qe}|${kr})`,wo=`(?:-?(${Lt}(?:\\.${Lt})*))`,Dt=`(?:${Re}|${kr})`,Or=`(?:-(${Dt}(?:\\.${Dt})*))`,ze=`${Re}|x|X|\\*`,ce=`[v=\\s]*(${ze})(?:\\.(${ze})(?:\\.(${ze})(?:${Or})?${vt}?)?)?`,Fo=`^\\s*(${ce})\\s+-\\s+(${ce})\\s*$`,Lo=`[v=\\s]*${`(${qe})\\.(${qe})\\.(${qe})`}${wo}?${vt}?`,At="((?:<|>)?=?)",Do=`(\\s*)${At}\\s*(${Lo}|${ce})`,wr="(?:~>?)",Ho=`(\\s*)${wr}\\s+`,Fr="(?:\\^)",Co=`(\\s*)${Fr}\\s+`,qo="(<|>)?=?\\s*\\*",Go=`^${Fr}${ce}$`,Uo=`v?${`(${Re})\\.(${Re})\\.(${Re})`}${Or}?${vt}?`,Wo=`^${wr}${ce}$`,Bo=`^${At}\\s*${ce}$`,jo=`^${At}\\s*(${Uo})$|^$`,Vo="^\\s*>=\\s*0.0.0\\s*$";W.caret=Go;W.caretTrim=Co;W.comparator=jo;W.comparatorTrim=Do;W.gte0=Vo;W.hyphenRange=Fo;W.star=qo;W.tilde=Wo;W.tildeTrim=Ho;W.xRange=Bo;const Xo=W;function Lr(e){return new RegExp(e)}function xo(e){return!e||e.toLowerCase()==="x"||e==="*"}function Ko(...e){return t=>e.reduce((r,n)=>n(r),t)}function Yo(e){return e.match(Lr(Xo.comparator))}function zo(e,t,r,n){const o=`${e}.${t}.${r}`;return n?`${o}-${n}`:o}ne.combineVersion=zo;ne.extractComparator=Yo;ne.isXVersion=xo;ne.parseRegex=Lr;ne.pipe=Ko;var V={};const x=W,T=ne;function Jo(e){return e.replace(T.parseRegex(x.hyphenRange),(t,r,n,o,s,i,a,c,l,u,d,f)=>(T.isXVersion(n)?r="":T.isXVersion(o)?r=`>=${n}.0.0`:T.isXVersion(s)?r=`>=${n}.${o}.0`:r=`>=${r}`,T.isXVersion(l)?c="":T.isXVersion(u)?c=`<${Number(l)+1}.0.0-0`:T.isXVersion(d)?c=`<${l}.${Number(u)+1}.0-0`:f?c=`<=${l}.${u}.${d}-${f}`:c=`<=${c}`,`${r} ${c}`.trim()))}function Zo(e){return e.replace(T.parseRegex(x.comparatorTrim),"$1$2$3")}function Qo(e){return e.replace(T.parseRegex(x.tildeTrim),"$1~")}function es(e){return e.replace(T.parseRegex(x.caretTrim),"$1^")}function ts(e){return e.trim().split(/\s+/).map(t=>t.replace(T.parseRegex(x.caret),(r,n,o,s,i)=>T.isXVersion(n)?"":T.isXVersion(o)?`>=${n}.0.0 <${Number(n)+1}.0.0-0`:T.isXVersion(s)?n==="0"?`>=${n}.${o}.0 <${n}.${Number(o)+1}.0-0`:`>=${n}.${o}.0 <${Number(n)+1}.0.0-0`:i?n==="0"?o==="0"?`>=${n}.${o}.${s}-${i} <${n}.${o}.${Number(s)+1}-0`:`>=${n}.${o}.${s}-${i} <${n}.${Number(o)+1}.0-0`:`>=${n}.${o}.${s}-${i} <${Number(n)+1}.0.0-0`:n==="0"?o==="0"?`>=${n}.${o}.${s} <${n}.${o}.${Number(s)+1}-0`:`>=${n}.${o}.${s} <${n}.${Number(o)+1}.0-0`:`>=${n}.${o}.${s} <${Number(n)+1}.0.0-0`)).join(" ")}function rs(e){return e.trim().split(/\s+/).map(t=>t.replace(T.parseRegex(x.tilde),(r,n,o,s,i)=>T.isXVersion(n)?"":T.isXVersion(o)?`>=${n}.0.0 <${Number(n)+1}.0.0-0`:T.isXVersion(s)?`>=${n}.${o}.0 <${n}.${Number(o)+1}.0-0`:i?`>=${n}.${o}.${s}-${i} <${n}.${Number(o)+1}.0-0`:`>=${n}.${o}.${s} <${n}.${Number(o)+1}.0-0`)).join(" ")}function ns(e){return e.split(/\s+/).map(t=>t.trim().replace(T.parseRegex(x.xRange),(r,n,o,s,i,a)=>{const c=T.isXVersion(o),l=c||T.isXVersion(s),u=l||T.isXVersion(i);return n==="="&&u&&(n=""),a="",c?n===">"||n==="<"?"<0.0.0-0":"*":n&&u?(l&&(s=0),i=0,n===">"?(n=">=",l?(o=Number(o)+1,s=0,i=0):(s=Number(s)+1,i=0)):n==="<="&&(n="<",l?o=Number(o)+1:s=Number(s)+1),n==="<"&&(a="-0"),`${n+o}.${s}.${i}${a}`):l?`>=${o}.0.0${a} <${Number(o)+1}.0.0-0`:u?`>=${o}.${s}.0${a} <${o}.${Number(s)+1}.0-0`:r})).join(" ")}function os(e){return e.trim().replace(T.parseRegex(x.star),"")}function ss(e){return e.trim().replace(T.parseRegex(x.gte0),"")}V.parseCaretTrim=es;V.parseCarets=ts;V.parseComparatorTrim=Zo;V.parseGTE0=ss;V.parseHyphen=Jo;V.parseStar=os;V.parseTildeTrim=Qo;V.parseTildes=rs;V.parseXRanges=ns;var Dr={};function Ge(e,t){return e=Number(e)||e,t=Number(t)||t,e>t?1:e===t?0:-1}function is(e,t){const{preRelease:r}=e,{preRelease:n}=t;if(r===void 0&&n)return 1;if(r&&n===void 0)return-1;if(r===void 0&&n===void 0)return 0;for(let o=0,s=r.length;o<=s;o++){const i=r[o],a=n[o];if(i!==a)return i===void 0&&a===void 0?0:i?a?Ge(i,a):-1:1}return 0}function Oe(e,t){return Ge(e.major,t.major)||Ge(e.minor,t.minor)||Ge(e.patch,t.patch)||is(e,t)}function Je(e,t){return e.version===t.version}function as(e,t){switch(e.operator){case"":case"=":return Je(e,t);case">":return Oe(e,t)<0;case">=":return Je(e,t)||Oe(e,t)<0;case"<":return Oe(e,t)>0;case"<=":return Je(e,t)||Oe(e,t)>0;case void 0:return!0;default:return!1}}Dr.compare=as;const ae=ne,X=V,ls=Dr;function cs(e){return ae.pipe(X.parseCarets,X.parseTildes,X.parseXRanges,X.parseStar)(e)}function us(e){return ae.pipe(X.parseHyphen,X.parseComparatorTrim,X.parseTildeTrim,X.parseCaretTrim)(e.trim()).split(/\s+/).join(" ")}function fs(e,t){if(!e)return!1;const r=ae.extractComparator(e);if(!r)return!1;const[,n,,o,s,i,a]=r,c={operator:n,version:ae.combineVersion(o,s,i,a),major:o,minor:s,patch:i,preRelease:a==null?void 0:a.split(".")},l=t.split("||");for(const u of l){const d=u.trim();if(!d||d==="*"||d==="x")return!0;try{const f=us(d);if(!f.trim())return!0;const h=f.split(" ").map(g=>cs(g)).join(" ");if(!h.trim())return!0;const m=h.split(/\s+/).map(g=>X.parseGTE0(g)).filter(Boolean);if(m.length===0)continue;let _=!0;for(const g of m){const p=ae.extractComparator(g);if(!p){_=!1;break}const[,E,,I,O,y,N]=p;if(!ls.compare({operator:E,version:ae.combineVersion(I,O,y,N),major:I,minor:O,patch:y,preRelease:N==null?void 0:N.split(".")},c)){_=!1;break}}if(_)return!0}catch(f){console.error(`[semver] Error processing range part "${d}":`,f);continue}}return!1}Pt.satisfy=fs;var q={},oe={};const ds="default",hs="global";oe.DEFAULT_REMOTE_TYPE=hs;oe.DEFAULT_SCOPE=ds;const We=M,Hr=$,Cr=b,ms=oe,Ee=Pt;let yt=D;function _s(e,t,r,n){var s,i;let o;return"get"in e?o=e.get:"lib"in e?o=()=>Promise.resolve(e.lib):o=()=>Promise.resolve(()=>{We.error(`Cannot get shared "${r}" from "${t}": neither "get" nor "lib" is provided in the share config.`)}),(s=e.shareConfig)!=null&&s.eager&&((i=e.treeShaking)!=null&&i.mode)&&We.error(`Invalid shared config for "${r}" from "${t}": cannot use both "eager: true" and "treeShaking.mode" simultaneously. Choose one strategy.`),{deps:[],useIn:[],from:t,loading:null,...e,shareConfig:{requiredVersion:`^${e.version}`,singleton:!1,eager:!1,strictVersion:!1,...e.shareConfig},get:o,loaded:e!=null&&e.loaded||"lib"in e?!0:void 0,version:e.version??"0",scope:Array.isArray(e.scope)?e.scope:[e.scope??"default"],strategy:(e.strategy??n)||"version-first",treeShaking:e.treeShaking?{...e.treeShaking,mode:e.treeShaking.mode??"server-calc",status:e.treeShaking.status??yt.TreeShakingStatus.UNKNOWN,useIn:[]}:void 0}}function gs(e,t){const r=t.shared||{},n=t.name,o=Object.keys(r).reduce((i,a)=>{const c=Hr.arrayOptions(r[a]);return i[a]=i[a]||[],c.forEach(l=>{i[a].push(_s(l,n,a,t.shareStrategy))}),i},{}),s={...e.shared};return Object.keys(o).forEach(i=>{s[i]?o[i].forEach(a=>{s[i].find(c=>c.version===a.version)||s[i].push(a)}):s[i]=o[i]}),{allShareInfos:s,newShareInfos:o}}function Te(e,t){if(!e)return!1;const{status:r,mode:n}=e;return r===yt.TreeShakingStatus.NO_USE?!1:r===yt.TreeShakingStatus.CALCULATED?!0:n==="runtime-infer"?t?ys(e,t):!0:!1}function te(e,t){const r=n=>{if(!Number.isNaN(Number(n))){const o=n.split(".");let s=n;for(let i=0;i<3-o.length;i++)s+=".0";return s}return n};return!!Ee.satisfy(r(e),`<=${r(t)}`)}const Ie=(e,t)=>{const r=t||function(n,o){return te(n,o)};return Object.keys(e).reduce((n,o)=>!n||r(n,o)||n==="0"?o:n,0)},Be=e=>!!e.loaded||typeof e.lib=="function",ps=e=>!!e.loading,ys=(e,t)=>{if(!e||!t)return!1;const{usedExports:r}=e;return r?!!t.every(n=>r.includes(n)):!1};function Es(e,t,r,n){const o=e[t][r];let s="",i=Te(n);const a=function(c,l){return i?o[c].treeShaking?o[l].treeShaking?!Be(o[c].treeShaking)&&te(c,l):!1:!0:!Be(o[c])&&te(c,l)};if(i){if(s=Ie(e[t][r],a),s)return{version:s,useTreesShaking:i};i=!1}return{version:Ie(e[t][r],a),useTreesShaking:i}}const se=e=>Be(e)||ps(e);function Ss(e,t,r,n){const o=e[t][r];let s="",i=Te(n);const a=function(c,l){if(i){if(!o[c].treeShaking)return!0;if(!o[l].treeShaking)return!1;if(se(o[l].treeShaking))return se(o[c].treeShaking)?!!te(c,l):!0;if(se(o[c].treeShaking))return!1}return se(o[l])?se(o[c])?!!te(c,l):!0:se(o[c])?!1:te(c,l)};if(i){if(s=Ie(e[t][r],a),s)return{version:s,useTreesShaking:i};i=!1}return{version:Ie(e[t][r],a),useTreesShaking:i}}function bs(e){return e==="loaded-first"?Ss:Es}function Rs(e,t,r,n){if(!e)return;const{shareConfig:o,scope:s=ms.DEFAULT_SCOPE,strategy:i,treeShaking:a}=r,c=Array.isArray(s)?s:[s];for(const l of c)if(o&&e[l]&&e[l][t]){const{requiredVersion:u}=o,{version:d,useTreesShaking:f}=bs(i)(e,l,t,a),h=()=>{const _=e[l][t][d];if(o.singleton){if(typeof u=="string"&&!Ee.satisfy(d,u)){const g=`Version ${d} from ${d&&_.from} of shared singleton module ${t} does not satisfy the requirement of ${r.from} which needs ${u})`;o.strictVersion?We.error(g):We.warn(g)}return{shared:_,useTreesShaking:f}}else{if(u===!1||u==="*")return{shared:_,useTreesShaking:f};if(Ee.satisfy(d,u))return{shared:_,useTreesShaking:f};const g=Te(a);if(g){for(const[p,E]of Object.entries(e[l][t]))if(Te(E.treeShaking,a==null?void 0:a.usedExports)&&Ee.satisfy(p,u))return{shared:E,useTreesShaking:g}}for(const[p,E]of Object.entries(e[l][t]))if(Ee.satisfy(p,u))return{shared:E,useTreesShaking:!1}}},m={shareScopeMap:e,scope:l,pkgName:t,version:d,GlobalFederation:Cr.Global.__FEDERATION__,shareInfo:r,resolver:h};return(n.emit(m)||m).resolver()}}function Ts(){return Cr.Global.__FEDERATION__.__SHARE__}function Is(e){const{pkgName:t,extraOptions:r,shareInfos:n}=e,o=c=>{if(!c)return;const l={};return c.forEach(d=>{l[d.version]=d}),l[Ie(l,function(d,f){return!Be(l[d])&&te(d,f)})]},s=(r==null?void 0:r.resolver)??o,i=c=>c!==null&&typeof c=="object"&&!Array.isArray(c),a=(...c)=>{const l={};for(const u of c)if(u)for(const[d,f]of Object.entries(u)){const h=l[d];i(h)&&i(f)?l[d]=a(h,f):f!==void 0&&(l[d]=f)}return l};return a(s(n[t]),r==null?void 0:r.customShareInfo)}const $s=(e,t)=>{e.useIn||(e.useIn=[]),Hr.addUniqueItem(e.useIn,t)};function Ns(e,t){return t&&e.treeShaking?e.treeShaking:e}q.addUseIn=$s;q.directShare=Ns;q.formatShareConfigs=gs;q.getGlobalShareScope=Ts;q.getRegisteredShare=Rs;q.getTargetSharedOptions=Is;q.shouldUseTreeShaking=Te;var he={};function Ms(e,t){for(const r of e){const n=t.startsWith(r.name);let o=t.replace(r.name,"");if(n){if(o.startsWith("/")){const a=r.name;return o=`.${o}`,{pkgNameOrAlias:a,expose:o,remote:r}}else if(o==="")return{pkgNameOrAlias:r.name,expose:".",remote:r}}const s=r.alias&&t.startsWith(r.alias);let i=r.alias&&t.replace(r.alias,"");if(r.alias&&s){if(i&&i.startsWith("/")){const a=r.alias;return i=`.${i}`,{pkgNameOrAlias:a,expose:i,remote:r}}else if(i==="")return{pkgNameOrAlias:r.alias,expose:".",remote:r}}}}function Ps(e,t){for(const r of e)if(t===r.name||r.alias&&t===r.alias)return r}he.matchRemote=Ps;he.matchRemoteWithNameAndExpose=Ms;var K={},Y={},F={};const vs="RUNTIME-001",As="RUNTIME-002",ks="RUNTIME-003",Os="RUNTIME-004",ws="RUNTIME-005",Fs="RUNTIME-006",Ls="RUNTIME-007",Ds="RUNTIME-008",Hs="RUNTIME-009",Cs="RUNTIME-010",qs="RUNTIME-011",Gs="TYPE-001",Us="BUILD-001",Ws="BUILD-002";F.BUILD_001=Us;F.BUILD_002=Ws;F.RUNTIME_001=vs;F.RUNTIME_002=As;F.RUNTIME_003=ks;F.RUNTIME_004=Os;F.RUNTIME_005=ws;F.RUNTIME_006=Fs;F.RUNTIME_007=Ls;F.RUNTIME_008=Ds;F.RUNTIME_009=Hs;F.RUNTIME_010=Cs;F.RUNTIME_011=qs;F.TYPE_001=Gs;var Me={};const L=F,qr={[L.RUNTIME_001]:"Failed to get remoteEntry exports.",[L.RUNTIME_002]:'The remote entry interface does not contain "init"',[L.RUNTIME_003]:"Failed to get manifest.",[L.RUNTIME_004]:"Failed to locate remote.",[L.RUNTIME_005]:"Invalid loadShareSync function call from bundler runtime",[L.RUNTIME_006]:"Invalid loadShareSync function call from runtime",[L.RUNTIME_007]:"Failed to get remote snapshot.",[L.RUNTIME_008]:"Failed to load script resources.",[L.RUNTIME_009]:"Please call createInstance first.",[L.RUNTIME_010]:'The name option cannot be changed after initialization. If you want to create a new instance with a different name, please use "createInstance" api.',[L.RUNTIME_011]:"The remoteEntry URL is missing from the remote snapshot."},Gr={[L.TYPE_001]:"Failed to generate type declaration. Execute the below cmd to reproduce and fix the error."},Ur={[L.BUILD_001]:"Failed to find expose module.",[L.BUILD_002]:"PublicPath is required in prod mode."},Bs={...qr,...Gr,...Ur};Me.buildDescMap=Ur;Me.errorDescMap=Bs;Me.runtimeDescMap=qr;Me.typeDescMap=Gr;(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=F,r=Mt,n=Me;e.BUILD_001=t.BUILD_001,e.BUILD_002=t.BUILD_002,e.RUNTIME_001=t.RUNTIME_001,e.RUNTIME_002=t.RUNTIME_002,e.RUNTIME_003=t.RUNTIME_003,e.RUNTIME_004=t.RUNTIME_004,e.RUNTIME_005=t.RUNTIME_005,e.RUNTIME_006=t.RUNTIME_006,e.RUNTIME_007=t.RUNTIME_007,e.RUNTIME_008=t.RUNTIME_008,e.RUNTIME_009=t.RUNTIME_009,e.RUNTIME_010=t.RUNTIME_010,e.RUNTIME_011=t.RUNTIME_011,e.TYPE_001=t.TYPE_001,e.buildDescMap=n.buildDescMap,e.errorDescMap=n.errorDescMap,e.getShortErrorMsg=r.getShortErrorMsg,e.runtimeDescMap=n.runtimeDescMap,e.typeDescMap=n.typeDescMap})(Y);const Ve=M,le=b,Ht=oe;let Wr=D,$e=Y;const Br=".then(callbacks[0]).catch(callbacks[1])";async function js({entry:e,remoteEntryExports:t}){return new Promise((r,n)=>{try{t?r(t):typeof FEDERATION_ALLOW_NEW_FUNCTION<"u"?new Function("callbacks",`import("${e}")${Br}`)([r,n]):import(e).then(r).catch(n)}catch(o){Ve.error(`Failed to load ESM entry from "${e}". ${o instanceof Error?o.message:String(o)}`)}})}async function Vs({entry:e,remoteEntryExports:t}){return new Promise((r,n)=>{try{t?r(t):typeof __system_context__>"u"?System.import(e).then(r).catch(n):new Function("callbacks",`System.import("${e}")${Br}`)([r,n])}catch(o){Ve.error(`Failed to load SystemJS entry from "${e}". ${o instanceof Error?o.message:String(o)}`)}})}function Xs(e,t,r){const{remoteEntryKey:n,entryExports:o}=le.getRemoteEntryExports(e,t);return o||Ve.error($e.RUNTIME_001,$e.runtimeDescMap,{remoteName:e,remoteEntryUrl:r,remoteEntryKey:n}),o}async function xs({name:e,globalName:t,entry:r,loaderHook:n,getEntryUrl:o}){const{entryExports:s}=le.getRemoteEntryExports(e,t);if(s)return s;const i=o?o(r):r;return(0,Wr.loadScript)(i,{attrs:{},createScriptHook:(a,c)=>{const l=n.lifecycle.createScript.emit({url:a,attrs:c});if(l&&(l instanceof HTMLScriptElement||"script"in l||"timeout"in l))return l}}).then(()=>Xs(e,t,r),a=>{const c=a instanceof Error?a.message:String(a);Ve.error($e.RUNTIME_008,$e.runtimeDescMap,{remoteName:e,resourceUrl:i},c)})}async function Ks({remoteInfo:e,remoteEntryExports:t,loaderHook:r,getEntryUrl:n}){const{entry:o,entryGlobalName:s,name:i,type:a}=e;switch(a){case"esm":case"module":return js({entry:o,remoteEntryExports:t});case"system":return Vs({entry:o,remoteEntryExports:t});default:return xs({entry:o,globalName:s,name:i,loaderHook:r,getEntryUrl:n})}}function Et(e){const{entry:t,name:r}=e;return(0,Wr.composeKeyWithSeparator)(r,t)}async function jr(e){const{origin:t,remoteEntryExports:r,remoteInfo:n,getEntryUrl:o,_inErrorHandling:s=!1}=e,i=Et(n);if(r)return r;if(!le.globalLoading[i]){const a=t.remoteHandler.hooks.lifecycle.loadEntry,c=t.loaderHook;le.globalLoading[i]=a.emit({loaderHook:c,remoteInfo:n,remoteEntryExports:r}).then(l=>l||Ks({remoteInfo:n,remoteEntryExports:r,loaderHook:c,getEntryUrl:o})).catch(async l=>{const u=Et(n),d=l instanceof Error&&l.message.includes("ScriptExecutionError");if(l instanceof Error&&l.message.includes($e.RUNTIME_008)&&!d&&!s){const f=m=>jr({...m,_inErrorHandling:!0}),h=await t.loaderHook.lifecycle.loadEntryError.emit({getRemoteEntry:f,origin:t,remoteInfo:n,remoteEntryExports:r,globalLoading:le.globalLoading,uniqueKey:u});if(h)return h}throw l})}return le.globalLoading[i]}function Ys(e){return{...e,entry:"entry"in e?e.entry:"",type:e.type||Ht.DEFAULT_REMOTE_TYPE,entryGlobalName:e.entryGlobalName||e.name,shareScope:e.shareScope||Ht.DEFAULT_SCOPE}}K.getRemoteEntry=jr;K.getRemoteEntryUniqueKey=Et;K.getRemoteInfo=Ys;var Vr={};function zs(){return typeof FEDERATION_BUILD_IDENTIFIER<"u"?FEDERATION_BUILD_IDENTIFIER:""}Vr.getBuilderId=zs;var Xr={};const Js=b;function Zs(e,t){const r=Js.getGlobalHostPlugins(),n=[t.hooks,t.remoteHandler.hooks,t.sharedHandler.hooks,t.snapshotHandler.hooks,t.loaderHook,t.bridgeHook];return r.length>0&&r.forEach(o=>{e!=null&&e.find(s=>s.name!==o.name)&&e.push(o)}),e&&e.length>0&&e.forEach(o=>{n.forEach(s=>{s.applyPlugin(o,t)})}),e}Xr.registerPlugins=Zs;var Pe={};function Qs(e){return{name:e.name,alias:e.alias,entry:"entry"in e?e.entry:void 0,version:"version"in e?e.version:void 0,type:e.type,entryGlobalName:e.entryGlobalName,shareScope:e.shareScope}}function ei(e){var r,n,o,s,i,a;const t={};for(const[c,l]of Object.entries(e.shared)){const u=l[0];u&&(t[c]={version:u.version,singleton:(r=u.shareConfig)==null?void 0:r.singleton,requiredVersion:((n=u.shareConfig)==null?void 0:n.requiredVersion)===!1?!1:(o=u.shareConfig)==null?void 0:o.requiredVersion,eager:u.eager,strictVersion:(s=u.shareConfig)==null?void 0:s.strictVersion})}return{project:{name:e.name,mfRole:((i=e.remotes)==null?void 0:i.length)>0?"host":"unknown"},mfConfig:{name:e.name,remotes:((a=e.remotes)==null?void 0:a.map(Qs))??[],shared:t}}}Pe.optionsToMFContext=ei;var xr={},Z={};const ti=M,ri=he,Ct=K;let Se=D;function Kr(e){return{resourceCategory:"sync",share:!0,depsRemote:!0,prefetchInterface:!1,...e}}function ni(e,t){return t.map(r=>{const n=ri.matchRemote(e,r.nameOrAlias);return ti.assert(n,`Unable to preload ${r.nameOrAlias} as it is not included in ${!n&&(0,Se.safeToString)({remoteInfo:n,remotes:e})}`),{remote:n,preloadConfig:Kr(r)}})}function oi(e){return e?e.map(t=>t==="."?t:t.startsWith("./")?t.replace("./",""):t):[]}function si(e,t,r,n=!0){const{cssAssets:o,jsAssetsWithoutEntry:s,entryAssets:i}=r;if(t.options.inBrowser){if(i.forEach(a=>{const{moduleInfo:c}=a,l=t.moduleCache.get(e.name);l?Ct.getRemoteEntry({origin:t,remoteInfo:c,remoteEntryExports:l.remoteEntryExports}):Ct.getRemoteEntry({origin:t,remoteInfo:c,remoteEntryExports:void 0})}),n){const a={rel:"preload",as:"style"};o.forEach(c=>{const{link:l,needAttach:u}=(0,Se.createLink)({url:c,cb:()=>{},attrs:a,createLinkHook:(d,f)=>{const h=t.loaderHook.lifecycle.createLink.emit({url:d,attrs:f});if(h instanceof HTMLLinkElement)return h}});u&&document.head.appendChild(l)})}else{const a={rel:"stylesheet",type:"text/css"};o.forEach(c=>{const{link:l,needAttach:u}=(0,Se.createLink)({url:c,cb:()=>{},attrs:a,createLinkHook:(d,f)=>{const h=t.loaderHook.lifecycle.createLink.emit({url:d,attrs:f});if(h instanceof HTMLLinkElement)return h},needDeleteLink:!1});u&&document.head.appendChild(l)})}if(n){const a={rel:"preload",as:"script"};s.forEach(c=>{const{link:l,needAttach:u}=(0,Se.createLink)({url:c,cb:()=>{},attrs:a,createLinkHook:(d,f)=>{const h=t.loaderHook.lifecycle.createLink.emit({url:d,attrs:f});if(h instanceof HTMLLinkElement)return h}});u&&document.head.appendChild(l)})}else{const a={fetchpriority:"high",type:(e==null?void 0:e.type)==="module"?"module":"text/javascript"};s.forEach(c=>{const{script:l,needAttach:u}=(0,Se.createScript)({url:c,cb:()=>{},attrs:a,createScriptHook:(d,f)=>{const h=t.loaderHook.lifecycle.createScript.emit({url:d,attrs:f});if(h instanceof HTMLScriptElement)return h},needDeleteScript:!0});u&&document.head.appendChild(l)})}}}Z.defaultPreloadArgs=Kr;Z.formatPreloadArgs=ni;Z.normalizePreloadExposes=oi;Z.preloadAssets=si;const w=b,qt=q,ii=he,ai=K,li=Z,ci={getRegisteredShare:qt.getRegisteredShare,getGlobalShareScope:qt.getGlobalShareScope},ui={Global:w.Global,nativeGlobal:w.nativeGlobal,resetFederationGlobalInfo:w.resetFederationGlobalInfo,setGlobalFederationInstance:w.setGlobalFederationInstance,getGlobalFederationConstructor:w.getGlobalFederationConstructor,setGlobalFederationConstructor:w.setGlobalFederationConstructor,getInfoWithoutType:w.getInfoWithoutType,getGlobalSnapshot:w.getGlobalSnapshot,getTargetSnapshotInfoByModuleInfo:w.getTargetSnapshotInfoByModuleInfo,getGlobalSnapshotInfoByModuleInfo:w.getGlobalSnapshotInfoByModuleInfo,setGlobalSnapshotInfoByModuleInfo:w.setGlobalSnapshotInfoByModuleInfo,addGlobalSnapshot:w.addGlobalSnapshot,getRemoteEntryExports:w.getRemoteEntryExports,registerGlobalPlugins:w.registerGlobalPlugins,getGlobalHostPlugins:w.getGlobalHostPlugins,getPreloaded:w.getPreloaded,setPreloaded:w.setPreloaded};var fi={global:ui,share:ci,utils:{matchRemoteWithNameAndExpose:ii.matchRemoteWithNameAndExpose,preloadAssets:li.preloadAssets,getRemoteInfo:ai.getRemoteInfo}};xr.default=fi;var Xe={};const Ze=M,Gt=$,di=K,hi=Pe;let mi=D,Ut=Y;function _i(e,t,r){const n=t,o=Array.isArray(e.shareScope)?e.shareScope:[e.shareScope];o.length||o.push("default"),o.forEach(i=>{n[i]||(n[i]={})});const s={version:e.version||"",shareScopeKeys:Array.isArray(e.shareScope)?o:e.shareScope||"default"};return Object.defineProperty(s,"shareScopeMap",{value:n,enumerable:!1}),{remoteEntryInitOptions:s,shareScope:n[o[0]],initScope:r??[]}}var gi=class{constructor({remoteInfo:e,host:t}){this.inited=!1,this.initing=!1,this.lib=void 0,this.remoteInfo=e,this.host=t}async getEntry(){if(this.remoteEntryExports)return this.remoteEntryExports;const e=await di.getRemoteEntry({origin:this.host,remoteInfo:this.remoteInfo,remoteEntryExports:this.remoteEntryExports});return Ze.assert(e,`remoteEntryExports is undefined - ${(0,mi.safeToString)(this.remoteInfo)}`),this.remoteEntryExports=e,this.remoteEntryExports}async init(e,t,r){const n=await this.getEntry();if(this.inited)return n;if(this.initPromise)return await this.initPromise,n;this.initing=!0,this.initPromise=(async()=>{const{remoteEntryInitOptions:o,shareScope:s,initScope:i}=_i(this.remoteInfo,this.host.shareScopeMap,r),a=await this.host.hooks.lifecycle.beforeInitContainer.emit({shareScope:s,remoteEntryInitOptions:o,initScope:i,remoteInfo:this.remoteInfo,origin:this.host});typeof(n==null?void 0:n.init)>"u"&&Ze.error(Ut.RUNTIME_002,Ut.runtimeDescMap,{hostName:this.host.name,remoteName:this.remoteInfo.name,remoteEntryUrl:this.remoteInfo.entry,remoteEntryKey:this.remoteInfo.entryGlobalName},void 0,hi.optionsToMFContext(this.host.options)),await n.init(a.shareScope,a.initScope,a.remoteEntryInitOptions),await this.host.hooks.lifecycle.initContainer.emit({...a,id:e,remoteSnapshot:t,remoteEntryExports:n}),this.inited=!0})();try{await this.initPromise}finally{this.initing=!1,this.initPromise=void 0}return n}async get(e,t,r,n){const{loadFactory:o=!0}=r||{loadFactory:!0},s=await this.init(e,n);this.lib=s;let i;i=await this.host.loaderHook.lifecycle.getModuleFactory.emit({remoteEntryExports:s,expose:t,moduleInfo:this.remoteInfo}),i||(i=await s.get(t)),Ze.assert(i,`${Gt.getFMId(this.remoteInfo)} remote don't export ${t}.`);const a=Gt.processModuleAlias(this.remoteInfo.name,t),c=this.wraperFactory(i,a);return o?await c():c}wraperFactory(e,t){function r(n,o){n&&typeof n=="object"&&Object.isExtensible(n)&&!Object.getOwnPropertyDescriptor(n,Symbol.for("mf_module_id"))&&Object.defineProperty(n,Symbol.for("mf_module_id"),{value:o,enumerable:!1})}return e instanceof Promise?async()=>{const n=await e();return r(n,t),n}:()=>{const n=e();return r(n,t),n}}};Xe.Module=gi;var Yr={},me={},pi=class{constructor(e){this.type="",this.listeners=new Set,e&&(this.type=e)}on(e){typeof e=="function"&&this.listeners.add(e)}once(e){const t=this;this.on(function r(...n){return t.remove(r),e.apply(null,n)})}emit(...e){let t;return this.listeners.size>0&&this.listeners.forEach(r=>{t=r(...e)}),t}remove(e){this.listeners.delete(e)}removeAll(){this.listeners.clear()}};me.SyncHook=pi;var ve={};const yi=me;var Ei=class extends yi.SyncHook{emit(...e){let t;const r=Array.from(this.listeners);if(r.length>0){let n=0;const o=s=>s===!1?!1:n0){let r=0;const n=s=>(et.warn(s),this.onerror(s),e),o=s=>{if(Ii.checkReturnData(e,s)){if(e=s,r{const s=e[o];s&&this.lifecycle[o].on(s)}))}removePlugin(e){we.assert(e,"A name is required.");const t=this.registerPlugins[e];we.assert(t,`The plugin "${e}" is not registered.`),Object.keys(t).forEach(r=>{r!=="name"&&this.lifecycle[r].remove(t[r])})}};ke.PluginSystem=Mi;var xe={};const Pi=M,St=$,vi=Z;let Wt=D,Bt=Y;function Zr(e,t){const r=St.getRemoteEntryInfoFromSnapshot(t);r.url||Pi.error(Bt.RUNTIME_011,Bt.runtimeDescMap,{remoteName:e.name});let n=(0,Wt.getResourceUrl)(t,r.url);!Wt.isBrowserEnvValue&&!n.startsWith("http")&&(n=`https:${n}`),e.type=r.type,e.entryGlobalName=r.globalName,e.entry=n,e.version=t.version,e.buildVersion=t.buildVersion}function Ai(){return{name:"snapshot-plugin",async afterResolve(e){const{remote:t,pkgNameOrAlias:r,expose:n,origin:o,remoteInfo:s,id:i}=e;if(!St.isRemoteInfoWithEntry(t)||!St.isPureRemoteEntry(t)){const{remoteSnapshot:a,globalSnapshot:c}=await o.snapshotHandler.loadRemoteSnapshotInfo({moduleInfo:t,id:i});Zr(s,a);const l={remote:t,preloadConfig:{nameOrAlias:r,exposes:[n],resourceCategory:"sync",share:!1,depsRemote:!1}},u=await o.remoteHandler.hooks.lifecycle.generatePreloadAssets.emit({origin:o,preloadOptions:l,remoteInfo:s,remote:t,remoteSnapshot:a,globalSnapshot:c});return u&&vi.preloadAssets(s,o,u,!1),{...e,remoteSnapshot:a}}return e}}}xe.assignRemoteInfo=Zr;xe.snapshotPlugin=Ai;var Qr={};const Ne=$,bt=b,ki=q,jt=Z,Oi=xe;let je=D;function wi(e){const t=e.split(":");return t.length===1?{name:t[0],version:void 0}:t.length===2?{name:t[0],version:t[1]}:{name:t[1],version:t[2]}}function en(e,t,r,n,o={},s){const{value:i}=bt.getInfoWithoutType(e,Ne.getFMId(t)),a=s||i;if(a&&!(0,je.isManifestProvider)(a)&&(r(a,t,n),a.remotesInfo)){const c=Object.keys(a.remotesInfo);for(const l of c){if(o[l])continue;o[l]=!0;const u=wi(l),d=a.remotesInfo[l];en(e,{name:u.name,version:d.matchedVersion},r,!1,o,void 0)}}}const tt=(e,t)=>document.querySelector(`${e}[${e==="link"?"href":"src"}="${t}"]`);function Fi(e,t,r,n,o){const s=[],i=[],a=[],c=new Set,l=new Set,{options:u}=e,{preloadConfig:d}=t,{depsRemote:f}=d;if(en(n,r,(m,_,g)=>{var N;let p;if(g)p=d;else if(Array.isArray(f)){const R=f.find(v=>v.nameOrAlias===_.name||v.nameOrAlias===_.alias);if(!R)return;p=jt.defaultPreloadArgs(R)}else if(f===!0)p=d;else return;const E=(0,je.getResourceUrl)(m,Ne.getRemoteEntryInfoFromSnapshot(m).url);E&&a.push({name:_.name,moduleInfo:{name:_.name,entry:E,type:"remoteEntryType"in m?m.remoteEntryType:"global",entryGlobalName:"globalName"in m?m.globalName:_.name,shareScope:"",version:"version"in m?m.version:void 0},url:E});let I="modules"in m?m.modules:[];const O=jt.normalizePreloadExposes(p.exposes);O.length&&"modules"in m&&(I=(N=m==null?void 0:m.modules)==null?void 0:N.reduce((R,v)=>((O==null?void 0:O.indexOf(v.moduleName))!==-1&&R.push(v),R),[]));function y(R){const v=R.map(B=>(0,je.getResourceUrl)(m,B));return p.filter?v.filter(p.filter):v}if(I){const R=I.length;for(let v=0;v0){const m=(_,g)=>{const{shared:p}=ki.getRegisteredShare(e.shareScopeMap,g.sharedName,_,e.sharedHandler.hooks.lifecycle.resolveShare)||{};p&&typeof p.lib=="function"&&(g.assets.js.sync.forEach(E=>{c.add(E)}),g.assets.css.sync.forEach(E=>{l.add(E)}))};o.shared.forEach(_=>{var E;const g=(E=u.shared)==null?void 0:E[_.sharedName];if(!g)return;const p=_.version?g.find(I=>I.version===_.version):g;p&&Ne.arrayOptions(p).forEach(I=>{m(I,_)})})}const h=i.filter(m=>!c.has(m)&&!tt("script",m));return{cssAssets:s.filter(m=>!l.has(m)&&!tt("link",m)),jsAssetsWithoutEntry:h,entryAssets:a.filter(m=>!tt("script",m.url))}}const Li=function(){return{name:"generate-preload-assets-plugin",async generatePreloadAssets(e){const{origin:t,preloadOptions:r,remoteInfo:n,remote:o,globalSnapshot:s,remoteSnapshot:i}=e;return je.isBrowserEnvValue?Ne.isRemoteInfoWithEntry(o)&&Ne.isPureRemoteEntry(o)?{cssAssets:[],jsAssetsWithoutEntry:[],entryAssets:[{name:o.name,url:o.entry,moduleInfo:{name:n.name,entry:o.entry,type:n.type||"global",entryGlobalName:"",shareScope:""}}]}:(Oi.assignRemoteInfo(n,i),Fi(t,r,n,s,i)):{cssAssets:[],jsAssetsWithoutEntry:[],entryAssets:[]}}}};Qr.generatePreloadAssetsPlugin=Li;var Ke={};const rt=M,Di=$,U=b,Vt=Pe,Hi=ve,nt=Ae,Ci=ke;let ot=D,Fe=Y;function tn(e,t){const r=U.getGlobalSnapshotInfoByModuleInfo({name:t.name,version:t.options.version}),n=r&&"remotesInfo"in r&&r.remotesInfo&&U.getInfoWithoutType(r.remotesInfo,e.name).value;return n&&n.matchedVersion?{hostGlobalSnapshot:r,globalSnapshot:U.getGlobalSnapshot(),remoteSnapshot:U.getGlobalSnapshotInfoByModuleInfo({name:e.name,version:n.matchedVersion})}:{hostGlobalSnapshot:void 0,globalSnapshot:U.getGlobalSnapshot(),remoteSnapshot:U.getGlobalSnapshotInfoByModuleInfo({name:e.name,version:"version"in e?e.version:void 0})}}var qi=class{constructor(e){this.loadingHostSnapshot=null,this.manifestCache=new Map,this.hooks=new Ci.PluginSystem({beforeLoadRemoteSnapshot:new Hi.AsyncHook("beforeLoadRemoteSnapshot"),loadSnapshot:new nt.AsyncWaterfallHook("loadGlobalSnapshot"),loadRemoteSnapshot:new nt.AsyncWaterfallHook("loadRemoteSnapshot"),afterLoadSnapshot:new nt.AsyncWaterfallHook("afterLoadSnapshot")}),this.manifestLoading=U.Global.__FEDERATION__.__MANIFEST_LOADING__,this.HostInstance=e,this.loaderHook=e.loaderHook}async loadRemoteSnapshotInfo({moduleInfo:e,id:t,expose:r}){const{options:n}=this.HostInstance;await this.hooks.lifecycle.beforeLoadRemoteSnapshot.emit({options:n,moduleInfo:e});let o=U.getGlobalSnapshotInfoByModuleInfo({name:this.HostInstance.options.name,version:this.HostInstance.options.version});o||(o={version:this.HostInstance.options.version||"",remoteEntry:"",remotesInfo:{}},U.addGlobalSnapshot({[this.HostInstance.options.name]:o})),o&&"remotesInfo"in o&&!U.getInfoWithoutType(o.remotesInfo,e.name).value&&("version"in e||"entry"in e)&&(o.remotesInfo={...o==null?void 0:o.remotesInfo,[e.name]:{matchedVersion:"version"in e?e.version:e.entry}});const{hostGlobalSnapshot:s,remoteSnapshot:i,globalSnapshot:a}=this.getGlobalRemoteInfo(e),{remoteSnapshot:c,globalSnapshot:l}=await this.hooks.lifecycle.loadSnapshot.emit({options:n,moduleInfo:e,hostGlobalSnapshot:s,remoteSnapshot:i,globalSnapshot:a});let u,d;if(c)if((0,ot.isManifestProvider)(c)){const f=ot.isBrowserEnvValue?c.remoteEntry:c.ssrRemoteEntry||c.remoteEntry||"",h=await this.getManifestJson(f,e,{}),m=U.setGlobalSnapshotInfoByModuleInfo({...e,entry:f},h);u=h,d=m}else{const{remoteSnapshot:f}=await this.hooks.lifecycle.loadRemoteSnapshot.emit({options:this.HostInstance.options,moduleInfo:e,remoteSnapshot:c,from:"global"});u=f,d=l}else if(Di.isRemoteInfoWithEntry(e)){const f=await this.getManifestJson(e.entry,e,{}),h=U.setGlobalSnapshotInfoByModuleInfo(e,f),{remoteSnapshot:m}=await this.hooks.lifecycle.loadRemoteSnapshot.emit({options:this.HostInstance.options,moduleInfo:e,remoteSnapshot:f,from:"global"});u=m,d=h}else rt.error(Fe.RUNTIME_007,Fe.runtimeDescMap,{remoteName:e.name,remoteVersion:e.version,hostName:this.HostInstance.options.name,globalSnapshot:JSON.stringify(l)},void 0,Vt.optionsToMFContext(this.HostInstance.options));return await this.hooks.lifecycle.afterLoadSnapshot.emit({id:t,host:this.HostInstance,options:n,moduleInfo:e,remoteSnapshot:u}),{remoteSnapshot:u,globalSnapshot:d}}getGlobalRemoteInfo(e){return tn(e,this.HostInstance)}async getManifestJson(e,t,r){const n=async()=>{let s=this.manifestCache.get(e);if(s)return s;try{let i=await this.loaderHook.lifecycle.fetch.emit(e,{});(!i||!(i instanceof Response))&&(i=await fetch(e,{})),s=await i.json()}catch(i){s=await this.HostInstance.remoteHandler.hooks.lifecycle.errorLoadRemote.emit({id:e,error:i,from:"runtime",lifecycle:"afterResolve",origin:this.HostInstance}),s||(delete this.manifestLoading[e],rt.error(Fe.RUNTIME_003,Fe.runtimeDescMap,{manifestUrl:e,moduleName:t.name,hostName:this.HostInstance.options.name},`${i}`,Vt.optionsToMFContext(this.HostInstance.options)))}return rt.assert(s.metaData&&s.exposes&&s.shared,`"${e}" is not a valid federation manifest for remote "${t.name}". Missing required fields: ${[!s.metaData&&"metaData",!s.exposes&&"exposes",!s.shared&&"shared"].filter(Boolean).join(", ")}.`),this.manifestCache.set(e,s),s},o=async()=>{const s=await n(),i=(0,ot.generateSnapshotFromManifest)(s,{version:e}),{remoteSnapshot:a}=await this.hooks.lifecycle.loadRemoteSnapshot.emit({options:this.HostInstance.options,moduleInfo:t,manifestJson:s,remoteSnapshot:i,manifestUrl:e,from:"manifest"});return a};return this.manifestLoading[e]||(this.manifestLoading[e]=o().then(s=>s)),this.manifestLoading[e]}};Ke.SnapshotHandler=qi;Ke.getGlobalRemoteInfo=tn;var rn={};const st=M,Gi=oe,A=q,Xt=Pe,Ui=ve,it=_e,xt=Ae,Wi=ke;let pe=Y;var Bi=class{constructor(e){this.hooks=new Wi.PluginSystem({beforeRegisterShare:new it.SyncWaterfallHook("beforeRegisterShare"),afterResolve:new xt.AsyncWaterfallHook("afterResolve"),beforeLoadShare:new xt.AsyncWaterfallHook("beforeLoadShare"),loadShare:new Ui.AsyncHook,resolveShare:new it.SyncWaterfallHook("resolveShare"),initContainerShareScopeMap:new it.SyncWaterfallHook("initContainerShareScopeMap")}),this.host=e,this.shareScopeMap={},this.initTokens={},this._setGlobalShareScopeMap(e.options)}registerShared(e,t){const{newShareInfos:r,allShareInfos:n}=A.formatShareConfigs(e,t);return Object.keys(r).forEach(o=>{r[o].forEach(s=>{s.scope.forEach(i=>{var a;this.hooks.lifecycle.beforeRegisterShare.emit({origin:this.host,pkgName:o,shared:s}),(a=this.shareScopeMap[i])!=null&&a[o]||this.setShared({pkgName:o,lib:s.lib,get:s.get,loaded:s.loaded||!!s.lib,shared:s,from:t.name})})})}),{newShareInfos:r,allShareInfos:n}}async loadShare(e,t){const{host:r}=this,n=A.getTargetSharedOptions({pkgName:e,extraOptions:t,shareInfos:r.options.shared});n!=null&&n.scope&&await Promise.all(n.scope.map(async a=>{await Promise.all(this.initializeSharing(a,{strategy:n.strategy}))}));const{shareInfo:o}=await this.hooks.lifecycle.beforeLoadShare.emit({pkgName:e,shareInfo:n,shared:r.options.shared,origin:r});st.assert(o,`Cannot find shared "${e}" in host "${r.options.name}". Ensure the shared config for "${e}" is declared in the federation plugin options and the host has been initialized before loading shares.`);const{shared:s,useTreesShaking:i}=A.getRegisteredShare(this.shareScopeMap,e,o,this.hooks.lifecycle.resolveShare)||{};if(s){const a=A.directShare(s,i);if(a.lib)return A.addUseIn(a,r.options.name),a.lib;if(a.loading&&!a.loaded){const c=await a.loading;return a.loaded=!0,a.lib||(a.lib=c),A.addUseIn(a,r.options.name),c}else{const l=(async()=>{const u=await a.get();return A.addUseIn(a,r.options.name),a.loaded=!0,a.lib=u,u})();return this.setShared({pkgName:e,loaded:!1,shared:s,from:r.options.name,lib:null,loading:l,treeShaking:i?a:void 0}),l}}else{if(t!=null&&t.customShareInfo)return!1;const a=A.shouldUseTreeShaking(o.treeShaking),c=A.directShare(o,a),u=(async()=>{const d=await c.get();c.lib=d,c.loaded=!0,A.addUseIn(c,r.options.name);const{shared:f,useTreesShaking:h}=A.getRegisteredShare(this.shareScopeMap,e,o,this.hooks.lifecycle.resolveShare)||{};if(f){const m=A.directShare(f,h);m.lib=d,m.loaded=!0,f.from=o.from}return d})();return this.setShared({pkgName:e,loaded:!1,shared:o,from:r.options.name,lib:null,loading:u,treeShaking:a?c:void 0}),u}}initializeSharing(e=Gi.DEFAULT_SCOPE,t){const{host:r}=this,n=t==null?void 0:t.from,o=t==null?void 0:t.strategy;let s=t==null?void 0:t.initScope;const i=[];if(n!=="build"){const{initTokens:f}=this;s||(s=[]);let h=f[e];if(h||(h=f[e]={from:this.host.name}),s.indexOf(h)>=0)return i;s.push(h)}const a=this.shareScopeMap,c=r.options.name;a[e]||(a[e]={});const l=a[e],u=(f,h)=>{var I;const{version:m,eager:_}=h;l[f]=l[f]||{};const g=l[f],p=g[m]&&A.directShare(g[m]),E=!!(p&&("eager"in p&&p.eager||"shareConfig"in p&&((I=p.shareConfig)!=null&&I.eager)));(!p||p.strategy!=="loaded-first"&&!p.loaded&&(!_!=!E?_:c>g[m].from))&&(g[m]=h)},d=async f=>{const{module:h}=await r.remoteHandler.getRemoteModuleAndOptions({id:f});let m;try{m=await h.getEntry()}catch(_){if(m=await r.remoteHandler.hooks.lifecycle.errorLoadRemote.emit({id:f,error:_,from:"runtime",lifecycle:"beforeLoadShare",origin:r}),!m)return}finally{m!=null&&m.init&&!h.initing&&(h.remoteEntryExports=m,await h.init(void 0,void 0,s))}};return Object.keys(r.options.shared).forEach(f=>{r.options.shared[f].forEach(h=>{h.scope.includes(e)&&u(f,h)})}),(r.options.shareStrategy==="version-first"||o==="version-first")&&r.options.remotes.forEach(f=>{f.shareScope===e&&i.push(d(f.name))}),i}loadShareSync(e,t){const{host:r}=this,n=A.getTargetSharedOptions({pkgName:e,extraOptions:t,shareInfos:r.options.shared});n!=null&&n.scope&&n.scope.forEach(i=>{this.initializeSharing(i,{strategy:n.strategy})});const{shared:o,useTreesShaking:s}=A.getRegisteredShare(this.shareScopeMap,e,n,this.hooks.lifecycle.resolveShare)||{};if(o){if(typeof o.lib=="function")return A.addUseIn(o,r.options.name),o.loaded||(o.loaded=!0,o.from===r.options.name&&(n.loaded=!0)),o.lib;if(typeof o.get=="function"){const i=o.get();if(!(i instanceof Promise))return A.addUseIn(o,r.options.name),this.setShared({pkgName:e,loaded:!0,from:r.options.name,lib:i,shared:o}),i}}if(n.lib)return n.loaded||(n.loaded=!0),n.lib;if(n.get){const i=n.get();return i instanceof Promise&&st.error((t==null?void 0:t.from)==="build"?pe.RUNTIME_005:pe.RUNTIME_006,pe.runtimeDescMap,{hostName:r.options.name,sharedPkgName:e},void 0,Xt.optionsToMFContext(r.options)),n.lib=i,this.setShared({pkgName:e,loaded:!0,from:r.options.name,lib:n.lib,shared:n}),n.lib}st.error(pe.RUNTIME_006,pe.runtimeDescMap,{hostName:r.options.name,sharedPkgName:e},void 0,Xt.optionsToMFContext(r.options))}initShareScopeMap(e,t,r={}){const{host:n}=this;this.shareScopeMap[e]=t,this.hooks.lifecycle.initContainerShareScopeMap.emit({shareScope:t,options:n.options,origin:n,scopeName:e,hostShareScopeMap:r.hostShareScopeMap})}setShared({pkgName:e,shared:t,from:r,lib:n,loading:o,loaded:s,get:i,treeShaking:a}){const{version:c,scope:l="default",...u}=t,d=Array.isArray(l)?l:[l],f=h=>{const m=(g,p,E)=>{E&&!g[p]&&(g[p]=E)},_=a?h.treeShaking:h;m(_,"loaded",s),m(_,"loading",o),m(_,"get",i)};d.forEach(h=>{this.shareScopeMap[h]||(this.shareScopeMap[h]={}),this.shareScopeMap[h][e]||(this.shareScopeMap[h][e]={}),this.shareScopeMap[h][e][c]||(this.shareScopeMap[h][e][c]={version:c,scope:[h],...u,lib:n});const m=this.shareScopeMap[h][e][c];f(m),r&&m.from!==r&&(m.from=r)})}_setGlobalShareScopeMap(e){const t=A.getGlobalShareScope(),r=e.id||e.name;r&&!t[r]&&(t[r]=this.shareScopeMap)}};rn.SharedHandler=Bi;var nn={};const Le=M,G=b,Kt=oe,ji=q,Vi=he,at=K,Xi=Pe,Yt=Z,xi=Xe,Ki=me,ie=ve,zt=_e,Yi=Ae,zi=ke,Ji=Ke;let lt=D,Jt=Y;var Zi=class{constructor(e){this.hooks=new zi.PluginSystem({beforeRegisterRemote:new zt.SyncWaterfallHook("beforeRegisterRemote"),registerRemote:new zt.SyncWaterfallHook("registerRemote"),beforeRequest:new Yi.AsyncWaterfallHook("beforeRequest"),onLoad:new ie.AsyncHook("onLoad"),handlePreloadModule:new Ki.SyncHook("handlePreloadModule"),errorLoadRemote:new ie.AsyncHook("errorLoadRemote"),beforePreloadRemote:new ie.AsyncHook("beforePreloadRemote"),generatePreloadAssets:new ie.AsyncHook("generatePreloadAssets"),afterPreloadRemote:new ie.AsyncHook,loadEntry:new ie.AsyncHook}),this.host=e,this.idToRemoteMap={}}formatAndRegisterRemote(e,t){return(t.remotes||[]).reduce((r,n)=>(this.registerRemote(n,r,{force:!1}),r),e.remotes)}setIdToRemoteMap(e,t){const{remote:r,expose:n}=t,{name:o,alias:s}=r;if(this.idToRemoteMap[e]={name:r.name,expose:n},s&&e.startsWith(o)){const i=e.replace(o,s);this.idToRemoteMap[i]={name:r.name,expose:n};return}if(s&&e.startsWith(s)){const i=e.replace(s,o);this.idToRemoteMap[i]={name:r.name,expose:n}}}async loadRemote(e,t){const{host:r}=this;try{const{loadFactory:n=!0}=t||{loadFactory:!0},{module:o,moduleOptions:s,remoteMatchInfo:i}=await this.getRemoteModuleAndOptions({id:e}),{pkgNameOrAlias:a,remote:c,expose:l,id:u,remoteSnapshot:d}=i,f=await o.get(u,l,t,d),h=await this.hooks.lifecycle.onLoad.emit({id:u,pkgNameOrAlias:a,expose:l,exposeModule:n?f:void 0,exposeModuleFactory:n?void 0:f,remote:c,options:s,moduleInstance:o,origin:r});return this.setIdToRemoteMap(e,i),typeof h=="function"?h:f}catch(n){const{from:o="runtime"}=t||{from:"runtime"},s=await this.hooks.lifecycle.errorLoadRemote.emit({id:e,error:n,from:o,lifecycle:"onLoad",origin:r});if(!s)throw n;return s}}async preloadRemote(e){const{host:t}=this;await this.hooks.lifecycle.beforePreloadRemote.emit({preloadOps:e,options:t.options,origin:t});const r=Yt.formatPreloadArgs(t.options.remotes,e);await Promise.all(r.map(async n=>{const{remote:o}=n,s=at.getRemoteInfo(o),{globalSnapshot:i,remoteSnapshot:a}=await t.snapshotHandler.loadRemoteSnapshotInfo({moduleInfo:o}),c=await this.hooks.lifecycle.generatePreloadAssets.emit({origin:t,preloadOptions:n,remote:o,remoteInfo:s,globalSnapshot:i,remoteSnapshot:a});c&&Yt.preloadAssets(s,t,c)}))}registerRemotes(e,t){const{host:r}=this;e.forEach(n=>{this.registerRemote(n,r.options.remotes,{force:t==null?void 0:t.force})})}async getRemoteModuleAndOptions(e){const{host:t}=this,{id:r}=e;let n;try{n=await this.hooks.lifecycle.beforeRequest.emit({id:r,options:t.options,origin:t})}catch(h){if(n=await this.hooks.lifecycle.errorLoadRemote.emit({id:r,options:t.options,origin:t,from:"runtime",error:h,lifecycle:"beforeRequest"}),!n)throw h}const{id:o}=n,s=Vi.matchRemoteWithNameAndExpose(t.options.remotes,o);s||Le.error(Jt.RUNTIME_004,Jt.runtimeDescMap,{hostName:t.options.name,requestId:o},void 0,Xi.optionsToMFContext(t.options));const{remote:i}=s,a=at.getRemoteInfo(i),c=await t.sharedHandler.hooks.lifecycle.afterResolve.emit({id:o,...s,options:t.options,origin:t,remoteInfo:a}),{remote:l,expose:u}=c;Le.assert(l&&u,`The 'beforeRequest' hook was executed, but it failed to return the correct 'remote' and 'expose' values while loading ${o}.`);let d=t.moduleCache.get(l.name);const f={host:t,remoteInfo:a};return d||(d=new xi.Module(f),t.moduleCache.set(l.name,d)),{module:d,moduleOptions:f,remoteMatchInfo:c}}registerRemote(e,t,r){const{host:n}=this,o=()=>{if(e.alias){const i=t.find(a=>{var c;return e.alias&&(a.name.startsWith(e.alias)||((c=a.alias)==null?void 0:c.startsWith(e.alias)))});Le.assert(!i,`The alias ${e.alias} of remote ${e.name} is not allowed to be the prefix of ${i&&i.name} name or alias`)}"entry"in e&<.isBrowserEnvValue&&typeof window<"u"&&!e.entry.startsWith("http")&&(e.entry=new URL(e.entry,window.location.origin).href),e.shareScope||(e.shareScope=Kt.DEFAULT_SCOPE),e.type||(e.type=Kt.DEFAULT_REMOTE_TYPE)};this.hooks.lifecycle.beforeRegisterRemote.emit({remote:e,origin:n});const s=t.find(i=>i.name===e.name);if(!s)o(),t.push(e),this.hooks.lifecycle.registerRemote.emit({remote:e,origin:n});else{const i=[`The remote "${e.name}" is already registered.`,"Please note that overriding it may cause unexpected errors."];r!=null&&r.force&&(this.removeRemote(s),o(),t.push(e),this.hooks.lifecycle.registerRemote.emit({remote:e,origin:n}),(0,lt.warn)(i.join(" ")))}}removeRemote(e){var t;try{const{host:r}=this,{name:n}=e,o=r.options.remotes.findIndex(i=>i.name===n);o!==-1&&r.options.remotes.splice(o,1);const s=r.moduleCache.get(e.name);if(s){const i=s.remoteInfo,a=i.entryGlobalName;G.CurrentGlobal[a]&&((t=Object.getOwnPropertyDescriptor(G.CurrentGlobal,a))!=null&&t.configurable?delete G.CurrentGlobal[a]:G.CurrentGlobal[a]=void 0);const c=at.getRemoteEntryUniqueKey(s.remoteInfo);G.globalLoading[c]&&delete G.globalLoading[c],r.snapshotHandler.manifestCache.delete(i.entry);let l=i.buildVersion?(0,lt.composeKeyWithSeparator)(i.name,i.buildVersion):i.name;const u=G.CurrentGlobal.__FEDERATION__.__INSTANCES__.findIndex(f=>i.buildVersion?f.options.id===l:f.name===l);if(u!==-1){const f=G.CurrentGlobal.__FEDERATION__.__INSTANCES__[u];l=f.options.id||l;const h=ji.getGlobalShareScope();let m=!0;const _=[];Object.keys(h).forEach(g=>{const p=h[g];p&&Object.keys(p).forEach(E=>{const I=p[E];I&&Object.keys(I).forEach(O=>{const y=I[O];y&&Object.keys(y).forEach(N=>{const R=y[N];R&&typeof R=="object"&&R.from===i.name&&(R.loaded||R.loading?(R.useIn=R.useIn.filter(v=>v!==i.name),R.useIn.length?m=!1:_.push([g,E,O,N])):_.push([g,E,O,N]))})})})}),m&&(f.shareScopeMap={},delete h[l]),_.forEach(([g,p,E,I])=>{var O,y,N;(N=(y=(O=h[g])==null?void 0:O[p])==null?void 0:y[E])==null||delete N[I]}),G.CurrentGlobal.__FEDERATION__.__INSTANCES__.splice(u,1)}const{hostGlobalSnapshot:d}=Ji.getGlobalRemoteInfo(e,r);if(d){const f=d&&"remotesInfo"in d&&d.remotesInfo&&G.getInfoWithoutType(d.remotesInfo,e.name).key;f&&(delete d.remotesInfo[f],G.Global.__FEDERATION__.__MANIFEST_LOADING__[f]&&delete G.Global.__FEDERATION__.__MANIFEST_LOADING__[f])}r.moduleCache.delete(e.name)}}catch(r){Le.logger.error(`removeRemote failed: ${r instanceof Error?r.message:String(r)}`)}}};nn.RemoteHandler=Zi;const Qi=M,ea=oe,ta=q,ra=Vr,na=Xr,oa=K,sa=Xe,z=me,ct=ve,ia=_e,Zt=Ae,ut=ke,aa=xe,la=Qr,ca=Ke,ua=rn,fa=nn;let da=D,ft=Y;const ha=typeof FEDERATION_OPTIMIZE_NO_SNAPSHOT_PLUGIN=="boolean"?!FEDERATION_OPTIMIZE_NO_SNAPSHOT_PLUGIN:!0;var ma=class{constructor(e){this.hooks=new ut.PluginSystem({beforeInit:new ia.SyncWaterfallHook("beforeInit"),init:new z.SyncHook,beforeInitContainer:new Zt.AsyncWaterfallHook("beforeInitContainer"),initContainer:new Zt.AsyncWaterfallHook("initContainer")}),this.version="2.2.2",this.moduleCache=new Map,this.loaderHook=new ut.PluginSystem({getModuleInfo:new z.SyncHook,createScript:new z.SyncHook,createLink:new z.SyncHook,fetch:new ct.AsyncHook,loadEntryError:new ct.AsyncHook,getModuleFactory:new ct.AsyncHook}),this.bridgeHook=new ut.PluginSystem({beforeBridgeRender:new z.SyncHook,afterBridgeRender:new z.SyncHook,beforeBridgeDestroy:new z.SyncHook,afterBridgeDestroy:new z.SyncHook});const t=ha?[aa.snapshotPlugin(),la.generatePreloadAssetsPlugin()]:[],r={id:ra.getBuilderId(),name:e.name,plugins:t,remotes:[],shared:{},inBrowser:da.isBrowserEnvValue};this.name=e.name,this.options=r,this.snapshotHandler=new ca.SnapshotHandler(this),this.sharedHandler=new ua.SharedHandler(this),this.remoteHandler=new fa.RemoteHandler(this),this.shareScopeMap=this.sharedHandler.shareScopeMap,this.registerPlugins([...r.plugins,...e.plugins||[]]),this.options=this.formatOptions(r,e)}initOptions(e){e.name&&e.name!==this.options.name&&Qi.error((0,ft.getShortErrorMsg)(ft.RUNTIME_010,ft.runtimeDescMap)),this.registerPlugins(e.plugins);const t=this.formatOptions(this.options,e);return this.options=t,t}async loadShare(e,t){return this.sharedHandler.loadShare(e,t)}loadShareSync(e,t){return this.sharedHandler.loadShareSync(e,t)}initializeSharing(e=ea.DEFAULT_SCOPE,t){return this.sharedHandler.initializeSharing(e,t)}initRawContainer(e,t,r){const n=oa.getRemoteInfo({name:e,entry:t}),o=new sa.Module({host:this,remoteInfo:n});return o.remoteEntryExports=r,this.moduleCache.set(e,o),o}async loadRemote(e,t){return this.remoteHandler.loadRemote(e,t)}async preloadRemote(e){return this.remoteHandler.preloadRemote(e)}initShareScopeMap(e,t,r={}){this.sharedHandler.initShareScopeMap(e,t,r)}formatOptions(e,t){const{allShareInfos:r}=ta.formatShareConfigs(e,t),{userOptions:n,options:o}=this.hooks.lifecycle.beforeInit.emit({origin:this,userOptions:t,options:e,shareInfo:r}),s=this.remoteHandler.formatAndRegisterRemote(o,n),{allShareInfos:i}=this.sharedHandler.registerShared(o,n),a=[...o.plugins];n.plugins&&n.plugins.forEach(l=>{a.includes(l)||a.push(l)});const c={...e,...t,plugins:a,remotes:s,shared:i};return this.hooks.lifecycle.init.emit({origin:this,options:c}),c}registerPlugins(e){const t=na.registerPlugins(e,this);this.options.plugins=this.options.plugins.reduce((r,n)=>(n&&r&&!r.find(o=>o.name===n.name)&&r.push(n),r),t||[])}registerRemotes(e,t){return this.remoteHandler.registerRemotes(e,t)}registerShared(e){this.sharedHandler.registerShared(this.options,{...this.options,shared:e})}};Yr.ModuleFederation=ma;var on={},sn={},Qt=Object.defineProperty,_a=(e,t)=>{let r={};for(var n in e)Qt(r,n,{get:e[n],enumerable:!0});return t||Qt(r,Symbol.toStringTag,{value:"Module"}),r};sn.__exportAll=_a;(function(e){var r=sn.__exportAll({});Object.defineProperty(e,"type_exports",{enumerable:!0,get:function(){return r}})})(on);(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=M,r=$,n=b,o=Pt,s=q,i=he,a=K,c=xr,l=Xe,u=Yr,d=on;let f=D;const h=c.default;e.CurrentGlobal=n.CurrentGlobal,e.Global=n.Global,e.Module=l.Module,e.ModuleFederation=u.ModuleFederation,e.addGlobalSnapshot=n.addGlobalSnapshot,e.assert=t.assert,e.error=t.error,e.getGlobalFederationConstructor=n.getGlobalFederationConstructor,e.getGlobalSnapshot=n.getGlobalSnapshot,e.getInfoWithoutType=n.getInfoWithoutType,e.getRegisteredShare=s.getRegisteredShare,e.getRemoteEntry=a.getRemoteEntry,e.getRemoteInfo=a.getRemoteInfo,e.helpers=h,e.isStaticResourcesEqual=r.isStaticResourcesEqual,Object.defineProperty(e,"loadScript",{enumerable:!0,get:function(){return f.loadScript}}),Object.defineProperty(e,"loadScriptNode",{enumerable:!0,get:function(){return f.loadScriptNode}}),e.matchRemoteWithNameAndExpose=i.matchRemoteWithNameAndExpose,e.registerGlobalPlugins=n.registerGlobalPlugins,e.resetFederationGlobalInfo=n.resetFederationGlobalInfo,e.safeWrapper=r.safeWrapper,e.satisfy=o.satisfy,e.setGlobalFederationConstructor=n.setGlobalFederationConstructor,e.setGlobalFederationInstance=n.setGlobalFederationInstance,Object.defineProperty(e,"types",{enumerable:!0,get:function(){return d.type_exports}})})(Tt);let ga=Tt;function pa(){return typeof FEDERATION_BUILD_IDENTIFIER<"u"?FEDERATION_BUILD_IDENTIFIER:""}function ya(e,t){const r=pa();return ga.CurrentGlobal.__FEDERATION__.__INSTANCES__.find(n=>!!(r&&n.options.id===r||n.options.name===e&&!n.options.version&&!t||n.options.name===e&&t&&n.options.version===t))}ar.getGlobalFederationInstance=ya;(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=ar;let r=Tt,n=Y;function o(_){const g=new((0,r.getGlobalFederationConstructor)()||r.ModuleFederation)(_);return(0,r.setGlobalFederationInstance)(g),g}let s=null;function i(_){const g=t.getGlobalFederationInstance(_.name,_.version);return g?(g.initOptions(_),s||(s=g),g):(s=o(_),s)}function a(..._){return(0,r.assert)(s,n.RUNTIME_009,n.runtimeDescMap),s.loadRemote.apply(s,_)}function c(..._){return(0,r.assert)(s,n.RUNTIME_009,n.runtimeDescMap),s.loadShare.apply(s,_)}function l(..._){return(0,r.assert)(s,n.RUNTIME_009,n.runtimeDescMap),s.loadShareSync.apply(s,_)}function u(..._){return(0,r.assert)(s,n.RUNTIME_009,n.runtimeDescMap),s.preloadRemote.apply(s,_)}function d(..._){return(0,r.assert)(s,n.RUNTIME_009,n.runtimeDescMap),s.registerRemotes.apply(s,_)}function f(..._){return(0,r.assert)(s,n.RUNTIME_009,n.runtimeDescMap),s.registerPlugins.apply(s,_)}function h(){return s}function m(..._){return(0,r.assert)(s,n.RUNTIME_009,n.runtimeDescMap),s.registerShared.apply(s,_)}(0,r.setGlobalFederationConstructor)(r.ModuleFederation),Object.defineProperty(e,"Module",{enumerable:!0,get:function(){return r.Module}}),e.ModuleFederation=r.ModuleFederation,e.createInstance=o,e.getInstance=h,Object.defineProperty(e,"getRemoteEntry",{enumerable:!0,get:function(){return r.getRemoteEntry}}),Object.defineProperty(e,"getRemoteInfo",{enumerable:!0,get:function(){return r.getRemoteInfo}}),e.init=i,e.loadRemote=a,Object.defineProperty(e,"loadScript",{enumerable:!0,get:function(){return r.loadScript}}),Object.defineProperty(e,"loadScriptNode",{enumerable:!0,get:function(){return r.loadScriptNode}}),e.loadShare=c,e.loadShareSync=l,e.preloadRemote=u,Object.defineProperty(e,"registerGlobalPlugins",{enumerable:!0,get:function(){return r.registerGlobalPlugins}}),e.registerPlugins=f,e.registerRemotes=d,e.registerShared=m})(ir);const an="__mf_init____mf__virtual/iobroker_javascript__mf_v__runtimeInit__mf_v__.js__";let Rt=globalThis[an];if(!Rt){let e,t;const r=new Promise((n,o)=>{e=n,t=o});Rt=globalThis[an]={initPromise:r,initResolve:e,initReject:t},typeof window>"u"&&e({loadRemote:function(){return Promise.resolve(void 0)},loadShare:function(){return Promise.resolve(void 0)}})}const Ea=Rt.initResolve,er={},tr="default",rr="iobroker_javascript";let nr,or;async function Sa(){return nr??=sr(()=>import("./localSharedImportMap-AxgBkrOR.js"),__vite__mapDeps([0,1]),import.meta.url),nr}async function ba(){return or??=sr(()=>import("./virtualExposes-BPsCufin.js"),[],import.meta.url).then(e=>e.default??e),or}async function Ta(e={},t=[]){const{usedShared:r,usedRemotes:n}=await Sa(),o=ir.init({name:rr,remotes:n,shared:r,plugins:[],shareStrategy:"version-first"});var s=er[tr];if(s||(s=er[tr]={from:rr}),!(t.indexOf(s)>=0)){t.push(s),o.initShareScopeMap("default",e),Ea(o);try{await Promise.all(await o.initializeSharing("default",{strategy:"version-first",from:"build",initScope:t}))}catch(i){console.error(i)}return o}}async function Ia(e){const t=await ba();if(!(e in t))throw new Error(`Module ${e} does not exist in container.`);return t[e]().then(r=>()=>r)}export{ir as d,Ia as g,Ta as i}; + ${(0,mi.safeToString)(this.remoteInfo)}`),this.remoteEntryExports=e,this.remoteEntryExports}async init(e,t,r){const n=await this.getEntry();if(this.inited)return n;if(this.initPromise)return await this.initPromise,n;this.initing=!0,this.initPromise=(async()=>{const{remoteEntryInitOptions:o,shareScope:s,initScope:i}=_i(this.remoteInfo,this.host.shareScopeMap,r),a=await this.host.hooks.lifecycle.beforeInitContainer.emit({shareScope:s,remoteEntryInitOptions:o,initScope:i,remoteInfo:this.remoteInfo,origin:this.host});typeof(n==null?void 0:n.init)>"u"&&Ze.error(Ut.RUNTIME_002,Ut.runtimeDescMap,{hostName:this.host.name,remoteName:this.remoteInfo.name,remoteEntryUrl:this.remoteInfo.entry,remoteEntryKey:this.remoteInfo.entryGlobalName},void 0,hi.optionsToMFContext(this.host.options)),await n.init(a.shareScope,a.initScope,a.remoteEntryInitOptions),await this.host.hooks.lifecycle.initContainer.emit({...a,id:e,remoteSnapshot:t,remoteEntryExports:n}),this.inited=!0})();try{await this.initPromise}finally{this.initing=!1,this.initPromise=void 0}return n}async get(e,t,r,n){const{loadFactory:o=!0}=r||{loadFactory:!0},s=await this.init(e,n);this.lib=s;let i;i=await this.host.loaderHook.lifecycle.getModuleFactory.emit({remoteEntryExports:s,expose:t,moduleInfo:this.remoteInfo}),i||(i=await s.get(t)),Ze.assert(i,`${Gt.getFMId(this.remoteInfo)} remote don't export ${t}.`);const a=Gt.processModuleAlias(this.remoteInfo.name,t),c=this.wraperFactory(i,a);return o?await c():c}wraperFactory(e,t){function r(n,o){n&&typeof n=="object"&&Object.isExtensible(n)&&!Object.getOwnPropertyDescriptor(n,Symbol.for("mf_module_id"))&&Object.defineProperty(n,Symbol.for("mf_module_id"),{value:o,enumerable:!1})}return e instanceof Promise?async()=>{const n=await e();return r(n,t),n}:()=>{const n=e();return r(n,t),n}}};Xe.Module=gi;var Yr={},me={},pi=class{constructor(e){this.type="",this.listeners=new Set,e&&(this.type=e)}on(e){typeof e=="function"&&this.listeners.add(e)}once(e){const t=this;this.on(function r(...n){return t.remove(r),e.apply(null,n)})}emit(...e){let t;return this.listeners.size>0&&this.listeners.forEach(r=>{t=r(...e)}),t}remove(e){this.listeners.delete(e)}removeAll(){this.listeners.clear()}};me.SyncHook=pi;var ve={};const yi=me;var Ei=class extends yi.SyncHook{emit(...e){let t;const r=Array.from(this.listeners);if(r.length>0){let n=0;const o=s=>s===!1?!1:n0){let r=0;const n=s=>(et.warn(s),this.onerror(s),e),o=s=>{if(Ii.checkReturnData(e,s)){if(e=s,r{const s=e[o];s&&this.lifecycle[o].on(s)}))}removePlugin(e){we.assert(e,"A name is required.");const t=this.registerPlugins[e];we.assert(t,`The plugin "${e}" is not registered.`),Object.keys(t).forEach(r=>{r!=="name"&&this.lifecycle[r].remove(t[r])})}};ke.PluginSystem=Mi;var xe={};const Pi=M,St=$,vi=Z;let Wt=D,Bt=Y;function Zr(e,t){const r=St.getRemoteEntryInfoFromSnapshot(t);r.url||Pi.error(Bt.RUNTIME_011,Bt.runtimeDescMap,{remoteName:e.name});let n=(0,Wt.getResourceUrl)(t,r.url);!Wt.isBrowserEnvValue&&!n.startsWith("http")&&(n=`https:${n}`),e.type=r.type,e.entryGlobalName=r.globalName,e.entry=n,e.version=t.version,e.buildVersion=t.buildVersion}function Ai(){return{name:"snapshot-plugin",async afterResolve(e){const{remote:t,pkgNameOrAlias:r,expose:n,origin:o,remoteInfo:s,id:i}=e;if(!St.isRemoteInfoWithEntry(t)||!St.isPureRemoteEntry(t)){const{remoteSnapshot:a,globalSnapshot:c}=await o.snapshotHandler.loadRemoteSnapshotInfo({moduleInfo:t,id:i});Zr(s,a);const l={remote:t,preloadConfig:{nameOrAlias:r,exposes:[n],resourceCategory:"sync",share:!1,depsRemote:!1}},u=await o.remoteHandler.hooks.lifecycle.generatePreloadAssets.emit({origin:o,preloadOptions:l,remoteInfo:s,remote:t,remoteSnapshot:a,globalSnapshot:c});return u&&vi.preloadAssets(s,o,u,!1),{...e,remoteSnapshot:a}}return e}}}xe.assignRemoteInfo=Zr;xe.snapshotPlugin=Ai;var Qr={};const Ne=$,bt=b,ki=q,jt=Z,Oi=xe;let je=D;function wi(e){const t=e.split(":");return t.length===1?{name:t[0],version:void 0}:t.length===2?{name:t[0],version:t[1]}:{name:t[1],version:t[2]}}function en(e,t,r,n,o={},s){const{value:i}=bt.getInfoWithoutType(e,Ne.getFMId(t)),a=s||i;if(a&&!(0,je.isManifestProvider)(a)&&(r(a,t,n),a.remotesInfo)){const c=Object.keys(a.remotesInfo);for(const l of c){if(o[l])continue;o[l]=!0;const u=wi(l),d=a.remotesInfo[l];en(e,{name:u.name,version:d.matchedVersion},r,!1,o,void 0)}}}const tt=(e,t)=>document.querySelector(`${e}[${e==="link"?"href":"src"}="${t}"]`);function Fi(e,t,r,n,o){const s=[],i=[],a=[],c=new Set,l=new Set,{options:u}=e,{preloadConfig:d}=t,{depsRemote:f}=d;if(en(n,r,(m,_,g)=>{var N;let p;if(g)p=d;else if(Array.isArray(f)){const R=f.find(v=>v.nameOrAlias===_.name||v.nameOrAlias===_.alias);if(!R)return;p=jt.defaultPreloadArgs(R)}else if(f===!0)p=d;else return;const E=(0,je.getResourceUrl)(m,Ne.getRemoteEntryInfoFromSnapshot(m).url);E&&a.push({name:_.name,moduleInfo:{name:_.name,entry:E,type:"remoteEntryType"in m?m.remoteEntryType:"global",entryGlobalName:"globalName"in m?m.globalName:_.name,shareScope:"",version:"version"in m?m.version:void 0},url:E});let I="modules"in m?m.modules:[];const O=jt.normalizePreloadExposes(p.exposes);O.length&&"modules"in m&&(I=(N=m==null?void 0:m.modules)==null?void 0:N.reduce((R,v)=>((O==null?void 0:O.indexOf(v.moduleName))!==-1&&R.push(v),R),[]));function y(R){const v=R.map(B=>(0,je.getResourceUrl)(m,B));return p.filter?v.filter(p.filter):v}if(I){const R=I.length;for(let v=0;v0){const m=(_,g)=>{const{shared:p}=ki.getRegisteredShare(e.shareScopeMap,g.sharedName,_,e.sharedHandler.hooks.lifecycle.resolveShare)||{};p&&typeof p.lib=="function"&&(g.assets.js.sync.forEach(E=>{c.add(E)}),g.assets.css.sync.forEach(E=>{l.add(E)}))};o.shared.forEach(_=>{var E;const g=(E=u.shared)==null?void 0:E[_.sharedName];if(!g)return;const p=_.version?g.find(I=>I.version===_.version):g;p&&Ne.arrayOptions(p).forEach(I=>{m(I,_)})})}const h=i.filter(m=>!c.has(m)&&!tt("script",m));return{cssAssets:s.filter(m=>!l.has(m)&&!tt("link",m)),jsAssetsWithoutEntry:h,entryAssets:a.filter(m=>!tt("script",m.url))}}const Li=function(){return{name:"generate-preload-assets-plugin",async generatePreloadAssets(e){const{origin:t,preloadOptions:r,remoteInfo:n,remote:o,globalSnapshot:s,remoteSnapshot:i}=e;return je.isBrowserEnvValue?Ne.isRemoteInfoWithEntry(o)&&Ne.isPureRemoteEntry(o)?{cssAssets:[],jsAssetsWithoutEntry:[],entryAssets:[{name:o.name,url:o.entry,moduleInfo:{name:n.name,entry:o.entry,type:n.type||"global",entryGlobalName:"",shareScope:""}}]}:(Oi.assignRemoteInfo(n,i),Fi(t,r,n,s,i)):{cssAssets:[],jsAssetsWithoutEntry:[],entryAssets:[]}}}};Qr.generatePreloadAssetsPlugin=Li;var Ke={};const rt=M,Di=$,U=b,Vt=Pe,Hi=ve,nt=Ae,Ci=ke;let ot=D,Fe=Y;function tn(e,t){const r=U.getGlobalSnapshotInfoByModuleInfo({name:t.name,version:t.options.version}),n=r&&"remotesInfo"in r&&r.remotesInfo&&U.getInfoWithoutType(r.remotesInfo,e.name).value;return n&&n.matchedVersion?{hostGlobalSnapshot:r,globalSnapshot:U.getGlobalSnapshot(),remoteSnapshot:U.getGlobalSnapshotInfoByModuleInfo({name:e.name,version:n.matchedVersion})}:{hostGlobalSnapshot:void 0,globalSnapshot:U.getGlobalSnapshot(),remoteSnapshot:U.getGlobalSnapshotInfoByModuleInfo({name:e.name,version:"version"in e?e.version:void 0})}}var qi=class{constructor(e){this.loadingHostSnapshot=null,this.manifestCache=new Map,this.hooks=new Ci.PluginSystem({beforeLoadRemoteSnapshot:new Hi.AsyncHook("beforeLoadRemoteSnapshot"),loadSnapshot:new nt.AsyncWaterfallHook("loadGlobalSnapshot"),loadRemoteSnapshot:new nt.AsyncWaterfallHook("loadRemoteSnapshot"),afterLoadSnapshot:new nt.AsyncWaterfallHook("afterLoadSnapshot")}),this.manifestLoading=U.Global.__FEDERATION__.__MANIFEST_LOADING__,this.HostInstance=e,this.loaderHook=e.loaderHook}async loadRemoteSnapshotInfo({moduleInfo:e,id:t,expose:r}){const{options:n}=this.HostInstance;await this.hooks.lifecycle.beforeLoadRemoteSnapshot.emit({options:n,moduleInfo:e});let o=U.getGlobalSnapshotInfoByModuleInfo({name:this.HostInstance.options.name,version:this.HostInstance.options.version});o||(o={version:this.HostInstance.options.version||"",remoteEntry:"",remotesInfo:{}},U.addGlobalSnapshot({[this.HostInstance.options.name]:o})),o&&"remotesInfo"in o&&!U.getInfoWithoutType(o.remotesInfo,e.name).value&&("version"in e||"entry"in e)&&(o.remotesInfo={...o==null?void 0:o.remotesInfo,[e.name]:{matchedVersion:"version"in e?e.version:e.entry}});const{hostGlobalSnapshot:s,remoteSnapshot:i,globalSnapshot:a}=this.getGlobalRemoteInfo(e),{remoteSnapshot:c,globalSnapshot:l}=await this.hooks.lifecycle.loadSnapshot.emit({options:n,moduleInfo:e,hostGlobalSnapshot:s,remoteSnapshot:i,globalSnapshot:a});let u,d;if(c)if((0,ot.isManifestProvider)(c)){const f=ot.isBrowserEnvValue?c.remoteEntry:c.ssrRemoteEntry||c.remoteEntry||"",h=await this.getManifestJson(f,e,{}),m=U.setGlobalSnapshotInfoByModuleInfo({...e,entry:f},h);u=h,d=m}else{const{remoteSnapshot:f}=await this.hooks.lifecycle.loadRemoteSnapshot.emit({options:this.HostInstance.options,moduleInfo:e,remoteSnapshot:c,from:"global"});u=f,d=l}else if(Di.isRemoteInfoWithEntry(e)){const f=await this.getManifestJson(e.entry,e,{}),h=U.setGlobalSnapshotInfoByModuleInfo(e,f),{remoteSnapshot:m}=await this.hooks.lifecycle.loadRemoteSnapshot.emit({options:this.HostInstance.options,moduleInfo:e,remoteSnapshot:f,from:"global"});u=m,d=h}else rt.error(Fe.RUNTIME_007,Fe.runtimeDescMap,{remoteName:e.name,remoteVersion:e.version,hostName:this.HostInstance.options.name,globalSnapshot:JSON.stringify(l)},void 0,Vt.optionsToMFContext(this.HostInstance.options));return await this.hooks.lifecycle.afterLoadSnapshot.emit({id:t,host:this.HostInstance,options:n,moduleInfo:e,remoteSnapshot:u}),{remoteSnapshot:u,globalSnapshot:d}}getGlobalRemoteInfo(e){return tn(e,this.HostInstance)}async getManifestJson(e,t,r){const n=async()=>{let s=this.manifestCache.get(e);if(s)return s;try{let i=await this.loaderHook.lifecycle.fetch.emit(e,{});(!i||!(i instanceof Response))&&(i=await fetch(e,{})),s=await i.json()}catch(i){s=await this.HostInstance.remoteHandler.hooks.lifecycle.errorLoadRemote.emit({id:e,error:i,from:"runtime",lifecycle:"afterResolve",origin:this.HostInstance}),s||(delete this.manifestLoading[e],rt.error(Fe.RUNTIME_003,Fe.runtimeDescMap,{manifestUrl:e,moduleName:t.name,hostName:this.HostInstance.options.name},`${i}`,Vt.optionsToMFContext(this.HostInstance.options)))}return rt.assert(s.metaData&&s.exposes&&s.shared,`"${e}" is not a valid federation manifest for remote "${t.name}". Missing required fields: ${[!s.metaData&&"metaData",!s.exposes&&"exposes",!s.shared&&"shared"].filter(Boolean).join(", ")}.`),this.manifestCache.set(e,s),s},o=async()=>{const s=await n(),i=(0,ot.generateSnapshotFromManifest)(s,{version:e}),{remoteSnapshot:a}=await this.hooks.lifecycle.loadRemoteSnapshot.emit({options:this.HostInstance.options,moduleInfo:t,manifestJson:s,remoteSnapshot:i,manifestUrl:e,from:"manifest"});return a};return this.manifestLoading[e]||(this.manifestLoading[e]=o().then(s=>s)),this.manifestLoading[e]}};Ke.SnapshotHandler=qi;Ke.getGlobalRemoteInfo=tn;var rn={};const st=M,Gi=oe,A=q,Xt=Pe,Ui=ve,it=_e,xt=Ae,Wi=ke;let pe=Y;var Bi=class{constructor(e){this.hooks=new Wi.PluginSystem({beforeRegisterShare:new it.SyncWaterfallHook("beforeRegisterShare"),afterResolve:new xt.AsyncWaterfallHook("afterResolve"),beforeLoadShare:new xt.AsyncWaterfallHook("beforeLoadShare"),loadShare:new Ui.AsyncHook,resolveShare:new it.SyncWaterfallHook("resolveShare"),initContainerShareScopeMap:new it.SyncWaterfallHook("initContainerShareScopeMap")}),this.host=e,this.shareScopeMap={},this.initTokens={},this._setGlobalShareScopeMap(e.options)}registerShared(e,t){const{newShareInfos:r,allShareInfos:n}=A.formatShareConfigs(e,t);return Object.keys(r).forEach(o=>{r[o].forEach(s=>{s.scope.forEach(i=>{var a;this.hooks.lifecycle.beforeRegisterShare.emit({origin:this.host,pkgName:o,shared:s}),(a=this.shareScopeMap[i])!=null&&a[o]||this.setShared({pkgName:o,lib:s.lib,get:s.get,loaded:s.loaded||!!s.lib,shared:s,from:t.name})})})}),{newShareInfos:r,allShareInfos:n}}async loadShare(e,t){const{host:r}=this,n=A.getTargetSharedOptions({pkgName:e,extraOptions:t,shareInfos:r.options.shared});n!=null&&n.scope&&await Promise.all(n.scope.map(async a=>{await Promise.all(this.initializeSharing(a,{strategy:n.strategy}))}));const{shareInfo:o}=await this.hooks.lifecycle.beforeLoadShare.emit({pkgName:e,shareInfo:n,shared:r.options.shared,origin:r});st.assert(o,`Cannot find shared "${e}" in host "${r.options.name}". Ensure the shared config for "${e}" is declared in the federation plugin options and the host has been initialized before loading shares.`);const{shared:s,useTreesShaking:i}=A.getRegisteredShare(this.shareScopeMap,e,o,this.hooks.lifecycle.resolveShare)||{};if(s){const a=A.directShare(s,i);if(a.lib)return A.addUseIn(a,r.options.name),a.lib;if(a.loading&&!a.loaded){const c=await a.loading;return a.loaded=!0,a.lib||(a.lib=c),A.addUseIn(a,r.options.name),c}else{const l=(async()=>{const u=await a.get();return A.addUseIn(a,r.options.name),a.loaded=!0,a.lib=u,u})();return this.setShared({pkgName:e,loaded:!1,shared:s,from:r.options.name,lib:null,loading:l,treeShaking:i?a:void 0}),l}}else{if(t!=null&&t.customShareInfo)return!1;const a=A.shouldUseTreeShaking(o.treeShaking),c=A.directShare(o,a),u=(async()=>{const d=await c.get();c.lib=d,c.loaded=!0,A.addUseIn(c,r.options.name);const{shared:f,useTreesShaking:h}=A.getRegisteredShare(this.shareScopeMap,e,o,this.hooks.lifecycle.resolveShare)||{};if(f){const m=A.directShare(f,h);m.lib=d,m.loaded=!0,f.from=o.from}return d})();return this.setShared({pkgName:e,loaded:!1,shared:o,from:r.options.name,lib:null,loading:u,treeShaking:a?c:void 0}),u}}initializeSharing(e=Gi.DEFAULT_SCOPE,t){const{host:r}=this,n=t==null?void 0:t.from,o=t==null?void 0:t.strategy;let s=t==null?void 0:t.initScope;const i=[];if(n!=="build"){const{initTokens:f}=this;s||(s=[]);let h=f[e];if(h||(h=f[e]={from:this.host.name}),s.indexOf(h)>=0)return i;s.push(h)}const a=this.shareScopeMap,c=r.options.name;a[e]||(a[e]={});const l=a[e],u=(f,h)=>{var I;const{version:m,eager:_}=h;l[f]=l[f]||{};const g=l[f],p=g[m]&&A.directShare(g[m]),E=!!(p&&("eager"in p&&p.eager||"shareConfig"in p&&((I=p.shareConfig)!=null&&I.eager)));(!p||p.strategy!=="loaded-first"&&!p.loaded&&(!_!=!E?_:c>g[m].from))&&(g[m]=h)},d=async f=>{const{module:h}=await r.remoteHandler.getRemoteModuleAndOptions({id:f});let m;try{m=await h.getEntry()}catch(_){if(m=await r.remoteHandler.hooks.lifecycle.errorLoadRemote.emit({id:f,error:_,from:"runtime",lifecycle:"beforeLoadShare",origin:r}),!m)return}finally{m!=null&&m.init&&!h.initing&&(h.remoteEntryExports=m,await h.init(void 0,void 0,s))}};return Object.keys(r.options.shared).forEach(f=>{r.options.shared[f].forEach(h=>{h.scope.includes(e)&&u(f,h)})}),(r.options.shareStrategy==="version-first"||o==="version-first")&&r.options.remotes.forEach(f=>{f.shareScope===e&&i.push(d(f.name))}),i}loadShareSync(e,t){const{host:r}=this,n=A.getTargetSharedOptions({pkgName:e,extraOptions:t,shareInfos:r.options.shared});n!=null&&n.scope&&n.scope.forEach(i=>{this.initializeSharing(i,{strategy:n.strategy})});const{shared:o,useTreesShaking:s}=A.getRegisteredShare(this.shareScopeMap,e,n,this.hooks.lifecycle.resolveShare)||{};if(o){if(typeof o.lib=="function")return A.addUseIn(o,r.options.name),o.loaded||(o.loaded=!0,o.from===r.options.name&&(n.loaded=!0)),o.lib;if(typeof o.get=="function"){const i=o.get();if(!(i instanceof Promise))return A.addUseIn(o,r.options.name),this.setShared({pkgName:e,loaded:!0,from:r.options.name,lib:i,shared:o}),i}}if(n.lib)return n.loaded||(n.loaded=!0),n.lib;if(n.get){const i=n.get();return i instanceof Promise&&st.error((t==null?void 0:t.from)==="build"?pe.RUNTIME_005:pe.RUNTIME_006,pe.runtimeDescMap,{hostName:r.options.name,sharedPkgName:e},void 0,Xt.optionsToMFContext(r.options)),n.lib=i,this.setShared({pkgName:e,loaded:!0,from:r.options.name,lib:n.lib,shared:n}),n.lib}st.error(pe.RUNTIME_006,pe.runtimeDescMap,{hostName:r.options.name,sharedPkgName:e},void 0,Xt.optionsToMFContext(r.options))}initShareScopeMap(e,t,r={}){const{host:n}=this;this.shareScopeMap[e]=t,this.hooks.lifecycle.initContainerShareScopeMap.emit({shareScope:t,options:n.options,origin:n,scopeName:e,hostShareScopeMap:r.hostShareScopeMap})}setShared({pkgName:e,shared:t,from:r,lib:n,loading:o,loaded:s,get:i,treeShaking:a}){const{version:c,scope:l="default",...u}=t,d=Array.isArray(l)?l:[l],f=h=>{const m=(g,p,E)=>{E&&!g[p]&&(g[p]=E)},_=a?h.treeShaking:h;m(_,"loaded",s),m(_,"loading",o),m(_,"get",i)};d.forEach(h=>{this.shareScopeMap[h]||(this.shareScopeMap[h]={}),this.shareScopeMap[h][e]||(this.shareScopeMap[h][e]={}),this.shareScopeMap[h][e][c]||(this.shareScopeMap[h][e][c]={version:c,scope:[h],...u,lib:n});const m=this.shareScopeMap[h][e][c];f(m),r&&m.from!==r&&(m.from=r)})}_setGlobalShareScopeMap(e){const t=A.getGlobalShareScope(),r=e.id||e.name;r&&!t[r]&&(t[r]=this.shareScopeMap)}};rn.SharedHandler=Bi;var nn={};const Le=M,G=b,Kt=oe,ji=q,Vi=he,at=K,Xi=Pe,Yt=Z,xi=Xe,Ki=me,ie=ve,zt=_e,Yi=Ae,zi=ke,Ji=Ke;let lt=D,Jt=Y;var Zi=class{constructor(e){this.hooks=new zi.PluginSystem({beforeRegisterRemote:new zt.SyncWaterfallHook("beforeRegisterRemote"),registerRemote:new zt.SyncWaterfallHook("registerRemote"),beforeRequest:new Yi.AsyncWaterfallHook("beforeRequest"),onLoad:new ie.AsyncHook("onLoad"),handlePreloadModule:new Ki.SyncHook("handlePreloadModule"),errorLoadRemote:new ie.AsyncHook("errorLoadRemote"),beforePreloadRemote:new ie.AsyncHook("beforePreloadRemote"),generatePreloadAssets:new ie.AsyncHook("generatePreloadAssets"),afterPreloadRemote:new ie.AsyncHook,loadEntry:new ie.AsyncHook}),this.host=e,this.idToRemoteMap={}}formatAndRegisterRemote(e,t){return(t.remotes||[]).reduce((r,n)=>(this.registerRemote(n,r,{force:!1}),r),e.remotes)}setIdToRemoteMap(e,t){const{remote:r,expose:n}=t,{name:o,alias:s}=r;if(this.idToRemoteMap[e]={name:r.name,expose:n},s&&e.startsWith(o)){const i=e.replace(o,s);this.idToRemoteMap[i]={name:r.name,expose:n};return}if(s&&e.startsWith(s)){const i=e.replace(s,o);this.idToRemoteMap[i]={name:r.name,expose:n}}}async loadRemote(e,t){const{host:r}=this;try{const{loadFactory:n=!0}=t||{loadFactory:!0},{module:o,moduleOptions:s,remoteMatchInfo:i}=await this.getRemoteModuleAndOptions({id:e}),{pkgNameOrAlias:a,remote:c,expose:l,id:u,remoteSnapshot:d}=i,f=await o.get(u,l,t,d),h=await this.hooks.lifecycle.onLoad.emit({id:u,pkgNameOrAlias:a,expose:l,exposeModule:n?f:void 0,exposeModuleFactory:n?void 0:f,remote:c,options:s,moduleInstance:o,origin:r});return this.setIdToRemoteMap(e,i),typeof h=="function"?h:f}catch(n){const{from:o="runtime"}=t||{from:"runtime"},s=await this.hooks.lifecycle.errorLoadRemote.emit({id:e,error:n,from:o,lifecycle:"onLoad",origin:r});if(!s)throw n;return s}}async preloadRemote(e){const{host:t}=this;await this.hooks.lifecycle.beforePreloadRemote.emit({preloadOps:e,options:t.options,origin:t});const r=Yt.formatPreloadArgs(t.options.remotes,e);await Promise.all(r.map(async n=>{const{remote:o}=n,s=at.getRemoteInfo(o),{globalSnapshot:i,remoteSnapshot:a}=await t.snapshotHandler.loadRemoteSnapshotInfo({moduleInfo:o}),c=await this.hooks.lifecycle.generatePreloadAssets.emit({origin:t,preloadOptions:n,remote:o,remoteInfo:s,globalSnapshot:i,remoteSnapshot:a});c&&Yt.preloadAssets(s,t,c)}))}registerRemotes(e,t){const{host:r}=this;e.forEach(n=>{this.registerRemote(n,r.options.remotes,{force:t==null?void 0:t.force})})}async getRemoteModuleAndOptions(e){const{host:t}=this,{id:r}=e;let n;try{n=await this.hooks.lifecycle.beforeRequest.emit({id:r,options:t.options,origin:t})}catch(h){if(n=await this.hooks.lifecycle.errorLoadRemote.emit({id:r,options:t.options,origin:t,from:"runtime",error:h,lifecycle:"beforeRequest"}),!n)throw h}const{id:o}=n,s=Vi.matchRemoteWithNameAndExpose(t.options.remotes,o);s||Le.error(Jt.RUNTIME_004,Jt.runtimeDescMap,{hostName:t.options.name,requestId:o},void 0,Xi.optionsToMFContext(t.options));const{remote:i}=s,a=at.getRemoteInfo(i),c=await t.sharedHandler.hooks.lifecycle.afterResolve.emit({id:o,...s,options:t.options,origin:t,remoteInfo:a}),{remote:l,expose:u}=c;Le.assert(l&&u,`The 'beforeRequest' hook was executed, but it failed to return the correct 'remote' and 'expose' values while loading ${o}.`);let d=t.moduleCache.get(l.name);const f={host:t,remoteInfo:a};return d||(d=new xi.Module(f),t.moduleCache.set(l.name,d)),{module:d,moduleOptions:f,remoteMatchInfo:c}}registerRemote(e,t,r){const{host:n}=this,o=()=>{if(e.alias){const i=t.find(a=>{var c;return e.alias&&(a.name.startsWith(e.alias)||((c=a.alias)==null?void 0:c.startsWith(e.alias)))});Le.assert(!i,`The alias ${e.alias} of remote ${e.name} is not allowed to be the prefix of ${i&&i.name} name or alias`)}"entry"in e&<.isBrowserEnvValue&&typeof window<"u"&&!e.entry.startsWith("http")&&(e.entry=new URL(e.entry,window.location.origin).href),e.shareScope||(e.shareScope=Kt.DEFAULT_SCOPE),e.type||(e.type=Kt.DEFAULT_REMOTE_TYPE)};this.hooks.lifecycle.beforeRegisterRemote.emit({remote:e,origin:n});const s=t.find(i=>i.name===e.name);if(!s)o(),t.push(e),this.hooks.lifecycle.registerRemote.emit({remote:e,origin:n});else{const i=[`The remote "${e.name}" is already registered.`,"Please note that overriding it may cause unexpected errors."];r!=null&&r.force&&(this.removeRemote(s),o(),t.push(e),this.hooks.lifecycle.registerRemote.emit({remote:e,origin:n}),(0,lt.warn)(i.join(" ")))}}removeRemote(e){var t;try{const{host:r}=this,{name:n}=e,o=r.options.remotes.findIndex(i=>i.name===n);o!==-1&&r.options.remotes.splice(o,1);const s=r.moduleCache.get(e.name);if(s){const i=s.remoteInfo,a=i.entryGlobalName;G.CurrentGlobal[a]&&((t=Object.getOwnPropertyDescriptor(G.CurrentGlobal,a))!=null&&t.configurable?delete G.CurrentGlobal[a]:G.CurrentGlobal[a]=void 0);const c=at.getRemoteEntryUniqueKey(s.remoteInfo);G.globalLoading[c]&&delete G.globalLoading[c],r.snapshotHandler.manifestCache.delete(i.entry);let l=i.buildVersion?(0,lt.composeKeyWithSeparator)(i.name,i.buildVersion):i.name;const u=G.CurrentGlobal.__FEDERATION__.__INSTANCES__.findIndex(f=>i.buildVersion?f.options.id===l:f.name===l);if(u!==-1){const f=G.CurrentGlobal.__FEDERATION__.__INSTANCES__[u];l=f.options.id||l;const h=ji.getGlobalShareScope();let m=!0;const _=[];Object.keys(h).forEach(g=>{const p=h[g];p&&Object.keys(p).forEach(E=>{const I=p[E];I&&Object.keys(I).forEach(O=>{const y=I[O];y&&Object.keys(y).forEach(N=>{const R=y[N];R&&typeof R=="object"&&R.from===i.name&&(R.loaded||R.loading?(R.useIn=R.useIn.filter(v=>v!==i.name),R.useIn.length?m=!1:_.push([g,E,O,N])):_.push([g,E,O,N]))})})})}),m&&(f.shareScopeMap={},delete h[l]),_.forEach(([g,p,E,I])=>{var O,y,N;(N=(y=(O=h[g])==null?void 0:O[p])==null?void 0:y[E])==null||delete N[I]}),G.CurrentGlobal.__FEDERATION__.__INSTANCES__.splice(u,1)}const{hostGlobalSnapshot:d}=Ji.getGlobalRemoteInfo(e,r);if(d){const f=d&&"remotesInfo"in d&&d.remotesInfo&&G.getInfoWithoutType(d.remotesInfo,e.name).key;f&&(delete d.remotesInfo[f],G.Global.__FEDERATION__.__MANIFEST_LOADING__[f]&&delete G.Global.__FEDERATION__.__MANIFEST_LOADING__[f])}r.moduleCache.delete(e.name)}}catch(r){Le.logger.error(`removeRemote failed: ${r instanceof Error?r.message:String(r)}`)}}};nn.RemoteHandler=Zi;const Qi=M,ea=oe,ta=q,ra=Vr,na=Xr,oa=K,sa=Xe,z=me,ct=ve,ia=_e,Zt=Ae,ut=ke,aa=xe,la=Qr,ca=Ke,ua=rn,fa=nn;let da=D,ft=Y;const ha=typeof FEDERATION_OPTIMIZE_NO_SNAPSHOT_PLUGIN=="boolean"?!FEDERATION_OPTIMIZE_NO_SNAPSHOT_PLUGIN:!0;var ma=class{constructor(e){this.hooks=new ut.PluginSystem({beforeInit:new ia.SyncWaterfallHook("beforeInit"),init:new z.SyncHook,beforeInitContainer:new Zt.AsyncWaterfallHook("beforeInitContainer"),initContainer:new Zt.AsyncWaterfallHook("initContainer")}),this.version="2.2.2",this.moduleCache=new Map,this.loaderHook=new ut.PluginSystem({getModuleInfo:new z.SyncHook,createScript:new z.SyncHook,createLink:new z.SyncHook,fetch:new ct.AsyncHook,loadEntryError:new ct.AsyncHook,getModuleFactory:new ct.AsyncHook}),this.bridgeHook=new ut.PluginSystem({beforeBridgeRender:new z.SyncHook,afterBridgeRender:new z.SyncHook,beforeBridgeDestroy:new z.SyncHook,afterBridgeDestroy:new z.SyncHook});const t=ha?[aa.snapshotPlugin(),la.generatePreloadAssetsPlugin()]:[],r={id:ra.getBuilderId(),name:e.name,plugins:t,remotes:[],shared:{},inBrowser:da.isBrowserEnvValue};this.name=e.name,this.options=r,this.snapshotHandler=new ca.SnapshotHandler(this),this.sharedHandler=new ua.SharedHandler(this),this.remoteHandler=new fa.RemoteHandler(this),this.shareScopeMap=this.sharedHandler.shareScopeMap,this.registerPlugins([...r.plugins,...e.plugins||[]]),this.options=this.formatOptions(r,e)}initOptions(e){e.name&&e.name!==this.options.name&&Qi.error((0,ft.getShortErrorMsg)(ft.RUNTIME_010,ft.runtimeDescMap)),this.registerPlugins(e.plugins);const t=this.formatOptions(this.options,e);return this.options=t,t}async loadShare(e,t){return this.sharedHandler.loadShare(e,t)}loadShareSync(e,t){return this.sharedHandler.loadShareSync(e,t)}initializeSharing(e=ea.DEFAULT_SCOPE,t){return this.sharedHandler.initializeSharing(e,t)}initRawContainer(e,t,r){const n=oa.getRemoteInfo({name:e,entry:t}),o=new sa.Module({host:this,remoteInfo:n});return o.remoteEntryExports=r,this.moduleCache.set(e,o),o}async loadRemote(e,t){return this.remoteHandler.loadRemote(e,t)}async preloadRemote(e){return this.remoteHandler.preloadRemote(e)}initShareScopeMap(e,t,r={}){this.sharedHandler.initShareScopeMap(e,t,r)}formatOptions(e,t){const{allShareInfos:r}=ta.formatShareConfigs(e,t),{userOptions:n,options:o}=this.hooks.lifecycle.beforeInit.emit({origin:this,userOptions:t,options:e,shareInfo:r}),s=this.remoteHandler.formatAndRegisterRemote(o,n),{allShareInfos:i}=this.sharedHandler.registerShared(o,n),a=[...o.plugins];n.plugins&&n.plugins.forEach(l=>{a.includes(l)||a.push(l)});const c={...e,...t,plugins:a,remotes:s,shared:i};return this.hooks.lifecycle.init.emit({origin:this,options:c}),c}registerPlugins(e){const t=na.registerPlugins(e,this);this.options.plugins=this.options.plugins.reduce((r,n)=>(n&&r&&!r.find(o=>o.name===n.name)&&r.push(n),r),t||[])}registerRemotes(e,t){return this.remoteHandler.registerRemotes(e,t)}registerShared(e){this.sharedHandler.registerShared(this.options,{...this.options,shared:e})}};Yr.ModuleFederation=ma;var on={},sn={},Qt=Object.defineProperty,_a=(e,t)=>{let r={};for(var n in e)Qt(r,n,{get:e[n],enumerable:!0});return t||Qt(r,Symbol.toStringTag,{value:"Module"}),r};sn.__exportAll=_a;(function(e){var r=sn.__exportAll({});Object.defineProperty(e,"type_exports",{enumerable:!0,get:function(){return r}})})(on);(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=M,r=$,n=b,o=Pt,s=q,i=he,a=K,c=xr,l=Xe,u=Yr,d=on;let f=D;const h=c.default;e.CurrentGlobal=n.CurrentGlobal,e.Global=n.Global,e.Module=l.Module,e.ModuleFederation=u.ModuleFederation,e.addGlobalSnapshot=n.addGlobalSnapshot,e.assert=t.assert,e.error=t.error,e.getGlobalFederationConstructor=n.getGlobalFederationConstructor,e.getGlobalSnapshot=n.getGlobalSnapshot,e.getInfoWithoutType=n.getInfoWithoutType,e.getRegisteredShare=s.getRegisteredShare,e.getRemoteEntry=a.getRemoteEntry,e.getRemoteInfo=a.getRemoteInfo,e.helpers=h,e.isStaticResourcesEqual=r.isStaticResourcesEqual,Object.defineProperty(e,"loadScript",{enumerable:!0,get:function(){return f.loadScript}}),Object.defineProperty(e,"loadScriptNode",{enumerable:!0,get:function(){return f.loadScriptNode}}),e.matchRemoteWithNameAndExpose=i.matchRemoteWithNameAndExpose,e.registerGlobalPlugins=n.registerGlobalPlugins,e.resetFederationGlobalInfo=n.resetFederationGlobalInfo,e.safeWrapper=r.safeWrapper,e.satisfy=o.satisfy,e.setGlobalFederationConstructor=n.setGlobalFederationConstructor,e.setGlobalFederationInstance=n.setGlobalFederationInstance,Object.defineProperty(e,"types",{enumerable:!0,get:function(){return d.type_exports}})})(Tt);let ga=Tt;function pa(){return typeof FEDERATION_BUILD_IDENTIFIER<"u"?FEDERATION_BUILD_IDENTIFIER:""}function ya(e,t){const r=pa();return ga.CurrentGlobal.__FEDERATION__.__INSTANCES__.find(n=>!!(r&&n.options.id===r||n.options.name===e&&!n.options.version&&!t||n.options.name===e&&t&&n.options.version===t))}ar.getGlobalFederationInstance=ya;(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=ar;let r=Tt,n=Y;function o(_){const g=new((0,r.getGlobalFederationConstructor)()||r.ModuleFederation)(_);return(0,r.setGlobalFederationInstance)(g),g}let s=null;function i(_){const g=t.getGlobalFederationInstance(_.name,_.version);return g?(g.initOptions(_),s||(s=g),g):(s=o(_),s)}function a(..._){return(0,r.assert)(s,n.RUNTIME_009,n.runtimeDescMap),s.loadRemote.apply(s,_)}function c(..._){return(0,r.assert)(s,n.RUNTIME_009,n.runtimeDescMap),s.loadShare.apply(s,_)}function l(..._){return(0,r.assert)(s,n.RUNTIME_009,n.runtimeDescMap),s.loadShareSync.apply(s,_)}function u(..._){return(0,r.assert)(s,n.RUNTIME_009,n.runtimeDescMap),s.preloadRemote.apply(s,_)}function d(..._){return(0,r.assert)(s,n.RUNTIME_009,n.runtimeDescMap),s.registerRemotes.apply(s,_)}function f(..._){return(0,r.assert)(s,n.RUNTIME_009,n.runtimeDescMap),s.registerPlugins.apply(s,_)}function h(){return s}function m(..._){return(0,r.assert)(s,n.RUNTIME_009,n.runtimeDescMap),s.registerShared.apply(s,_)}(0,r.setGlobalFederationConstructor)(r.ModuleFederation),Object.defineProperty(e,"Module",{enumerable:!0,get:function(){return r.Module}}),e.ModuleFederation=r.ModuleFederation,e.createInstance=o,e.getInstance=h,Object.defineProperty(e,"getRemoteEntry",{enumerable:!0,get:function(){return r.getRemoteEntry}}),Object.defineProperty(e,"getRemoteInfo",{enumerable:!0,get:function(){return r.getRemoteInfo}}),e.init=i,e.loadRemote=a,Object.defineProperty(e,"loadScript",{enumerable:!0,get:function(){return r.loadScript}}),Object.defineProperty(e,"loadScriptNode",{enumerable:!0,get:function(){return r.loadScriptNode}}),e.loadShare=c,e.loadShareSync=l,e.preloadRemote=u,Object.defineProperty(e,"registerGlobalPlugins",{enumerable:!0,get:function(){return r.registerGlobalPlugins}}),e.registerPlugins=f,e.registerRemotes=d,e.registerShared=m})(ir);const an="__mf_init____mf__virtual/iobroker_javascript__mf_v__runtimeInit__mf_v__.js__";let Rt=globalThis[an];if(!Rt){let e,t;const r=new Promise((n,o)=>{e=n,t=o});Rt=globalThis[an]={initPromise:r,initResolve:e,initReject:t},typeof window>"u"&&e({loadRemote:function(){return Promise.resolve(void 0)},loadShare:function(){return Promise.resolve(void 0)}})}const Ea=Rt.initResolve,er={},tr="default",rr="iobroker_javascript";let nr,or;async function Sa(){return nr??=sr(()=>import("./localSharedImportMap-xmSu9Qkg.js"),__vite__mapDeps([0,1]),import.meta.url),nr}async function ba(){return or??=sr(()=>import("./virtualExposes-BPsCufin.js"),[],import.meta.url).then(e=>e.default??e),or}async function Ta(e={},t=[]){const{usedShared:r,usedRemotes:n}=await Sa(),o=ir.init({name:rr,remotes:n,shared:r,plugins:[],shareStrategy:"version-first"});var s=er[tr];if(s||(s=er[tr]={from:rr}),!(t.indexOf(s)>=0)){t.push(s),o.initShareScopeMap("default",e),Ea(o);try{await Promise.all(await o.initializeSharing("default",{strategy:"version-first",from:"build",initScope:t}))}catch(i){console.error(i)}return o}}async function Ia(e){const t=await ba();if(!(e in t))throw new Error(`Module ${e} does not exist in container.`);return t[e]().then(r=>()=>r)}export{ir as d,Ia as g,Ta as i}; diff --git a/admin/custom/assets/Components-FfVbavBM.js b/admin/custom/assets/Components-B8x6wOMD.js similarity index 86% rename from admin/custom/assets/Components-FfVbavBM.js rename to admin/custom/assets/Components-B8x6wOMD.js index 0916a294e..cae912048 100644 --- a/admin/custom/assets/Components-FfVbavBM.js +++ b/admin/custom/assets/Components-B8x6wOMD.js @@ -1 +1 @@ -import{j as r}from"./jsx-runtime-DfVU3AZG.js";import{_ as pe,a as S}from"./ConfigCustomJavascriptSet__loadShare___mf_0_mui_mf_1_x_mf_2_date_mf_2_pickers__loadShare__.mjs-DgHZUNxn.js";import{_ as ve,a as we,b as T,c as P,d as k,e as q,f as v,g as Y}from"./ConfigCustomJavascriptSet__loadShare___mf_0_mui_mf_1_material__loadShare__.mjs-KsT5vKjV.js";import{_ as d}from"./ConfigCustomJavascriptSet__loadShare___mf_0_iobroker_mf_1_adapter_mf_2_react_mf_2_v5__loadShare__.mjs-B7D2xOvV.js";import{_}from"./ConfigCustomJavascriptSet__loadShare___mf_0_iobroker_mf_1_json_mf_2_config__loadShare__.mjs-ClsgYnEX.js";import{_ as j,a as $,b as ye,c as be,d as ie,e as re,f as B,g as Me,h as G,i as Pe}from"./ConfigCustomJavascriptSet__loadShare__react__loadShare__.mjs-0SjJESw9.js";import{_ as oe}from"./ConfigCustomJavascriptSet__loadShare__leaflet__loadShare__.mjs-BYONkEgA.js";import"./ConfigCustomJavascriptSet__loadShare__react_mf_2_dom__loadShare__.mjs-CL--xmjC.js";import{T as ke}from"./ThemeProvider-B4G3jidj.js";import{l as xe,e as se,p as We,i as ze,f as je,a as $e,b as De,c as Se,d as Te,g as Ce,h as E,j as Q,k as U,m as L,n as Ne,s as Ae,o as Ee,q as Le,r as He,t as Oe,u as Ge,v as Ve,w as Fe,x as Ie,y as Xe,z as Re,A as Je,B as qe,C as Ye,D as _e,E as Be,F as Qe,G as Ue,H as Ke,I as Ze,J as et,K as tt,L as at,M as nt,N as it,O as rt,P as ot,Q as st,R as dt,S as l,T as o,U as s,V as y,W as M,X as de}from"./isSameWeek-DDsSIa_t.js";import{_ as ut}from"./DefaultPropsProvider-CGb21NGY.js";import"./ConfigCustomJavascriptSet__loadShare__react__loadShare__.mjs_commonjs-proxy-CInLgMWW.js";import"./createTheme-Wd4QxQE0.js";import"./blue-CagzI6CQ.js";import"./index-AZB1OHDH.js";import"./useTheme-DWZ6jNyq.js";const mt={y:{sectionType:"year",contentType:"digit",maxLength:4},yy:"year",yyy:{sectionType:"year",contentType:"digit",maxLength:4},yyyy:"year",M:{sectionType:"month",contentType:"digit",maxLength:2},MM:"month",MMMM:{sectionType:"month",contentType:"letter"},MMM:{sectionType:"month",contentType:"letter"},L:{sectionType:"month",contentType:"digit",maxLength:2},LL:"month",LLL:{sectionType:"month",contentType:"letter"},LLLL:{sectionType:"month",contentType:"letter"},d:{sectionType:"day",contentType:"digit",maxLength:2},dd:"day",do:{sectionType:"day",contentType:"digit-with-letter"},E:{sectionType:"weekDay",contentType:"letter"},EE:{sectionType:"weekDay",contentType:"letter"},EEE:{sectionType:"weekDay",contentType:"letter"},EEEE:{sectionType:"weekDay",contentType:"letter"},EEEEE:{sectionType:"weekDay",contentType:"letter"},i:{sectionType:"weekDay",contentType:"digit",maxLength:1},ii:"weekDay",iii:{sectionType:"weekDay",contentType:"letter"},iiii:{sectionType:"weekDay",contentType:"letter"},e:{sectionType:"weekDay",contentType:"digit",maxLength:1},ee:"weekDay",eee:{sectionType:"weekDay",contentType:"letter"},eeee:{sectionType:"weekDay",contentType:"letter"},eeeee:{sectionType:"weekDay",contentType:"letter"},eeeeee:{sectionType:"weekDay",contentType:"letter"},c:{sectionType:"weekDay",contentType:"digit",maxLength:1},cc:"weekDay",ccc:{sectionType:"weekDay",contentType:"letter"},cccc:{sectionType:"weekDay",contentType:"letter"},ccccc:{sectionType:"weekDay",contentType:"letter"},cccccc:{sectionType:"weekDay",contentType:"letter"},a:"meridiem",aa:"meridiem",aaa:"meridiem",H:{sectionType:"hours",contentType:"digit",maxLength:2},HH:"hours",h:{sectionType:"hours",contentType:"digit",maxLength:2},hh:"hours",m:{sectionType:"minutes",contentType:"digit",maxLength:2},mm:"minutes",s:{sectionType:"seconds",contentType:"digit",maxLength:2},ss:"seconds"},lt={year:"yyyy",month:"LLLL",monthShort:"MMM",dayOfMonth:"d",dayOfMonthFull:"do",weekday:"EEEE",weekdayShort:"EEEEEE",hours24h:"HH",hours12h:"hh",meridiem:"aa",minutes:"mm",seconds:"ss",fullDate:"PP",keyboardDate:"P",shortDate:"MMM d",normalDate:"d MMMM",normalDateWithWeekday:"EEE, MMM d",fullTime:"p",fullTime12h:"hh:mm aa",fullTime24h:"HH:mm",keyboardDateTime:"P p",keyboardDateTime12h:"P hh:mm aa",keyboardDateTime24h:"P HH:mm"};class ct{constructor(a){this.isMUIAdapter=!0,this.isTimezoneCompatible=!1,this.lib=void 0,this.locale=void 0,this.formats=void 0,this.formatTokenMap=mt,this.escapedCharacters={start:"'",end:"'"},this.longFormatters=void 0,this.date=m=>typeof m>"u"?new Date:m===null?null:new Date(m),this.getInvalidDate=()=>new Date("Invalid Date"),this.getTimezone=()=>"default",this.setTimezone=m=>m,this.toJsDate=m=>m,this.getCurrentLocaleCode=()=>this.locale.code,this.is12HourCycleInCurrentLocale=()=>/a/.test(this.locale.formatLong.time({width:"short"})),this.expandFormat=m=>{const g=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;return m.match(g).map(h=>{const w=h[0];if(w==="p"||w==="P"){const x=this.longFormatters[w];return x(h,this.locale.formatLong)}return h}).join("")},this.formatNumber=m=>m,this.getDayOfWeek=m=>m.getDay()+1;const{locale:n,formats:t,longFormatters:i,lib:c}=a;this.locale=n,this.formats=ut({},lt,t),this.longFormatters=i,this.lib=c||"date-fns"}}class ht extends ct{constructor({locale:a,formats:n}={}){super({locale:a??se,formats:n,longFormatters:xe}),this.parse=(t,i)=>t===""?null:We(t,i,new Date,{locale:this.locale}),this.isValid=t=>t==null?!1:ze(t),this.format=(t,i)=>this.formatByString(t,this.formats[i]),this.formatByString=(t,i)=>je(t,i,{locale:this.locale}),this.isEqual=(t,i)=>t===null&&i===null?!0:t===null||i===null?!1:$e(t,i),this.isSameYear=(t,i)=>De(t,i),this.isSameMonth=(t,i)=>Se(t,i),this.isSameDay=(t,i)=>Te(t,i),this.isSameHour=(t,i)=>Ce(t,i),this.isAfter=(t,i)=>E(t,i),this.isAfterYear=(t,i)=>E(t,Q(i)),this.isAfterDay=(t,i)=>E(t,U(i)),this.isBefore=(t,i)=>L(t,i),this.isBeforeYear=(t,i)=>L(t,this.startOfYear(i)),this.isBeforeDay=(t,i)=>L(t,this.startOfDay(i)),this.isWithinRange=(t,[i,c])=>Ne(t,{start:i,end:c}),this.startOfYear=t=>Ae(t),this.startOfMonth=t=>Ee(t),this.startOfWeek=t=>Le(t,{locale:this.locale}),this.startOfDay=t=>He(t),this.endOfYear=t=>Q(t),this.endOfMonth=t=>Oe(t),this.endOfWeek=t=>Ge(t,{locale:this.locale}),this.endOfDay=t=>U(t),this.addYears=(t,i)=>Ve(t,i),this.addMonths=(t,i)=>Fe(t,i),this.addWeeks=(t,i)=>Ie(t,i),this.addDays=(t,i)=>Xe(t,i),this.addHours=(t,i)=>Re(t,i),this.addMinutes=(t,i)=>Je(t,i),this.addSeconds=(t,i)=>qe(t,i),this.getYear=t=>Ye(t),this.getMonth=t=>_e(t),this.getDate=t=>Be(t),this.getHours=t=>Qe(t),this.getMinutes=t=>Ue(t),this.getSeconds=t=>Ke(t),this.getMilliseconds=t=>Ze(t),this.setYear=(t,i)=>et(t,i),this.setMonth=(t,i)=>tt(t,i),this.setDate=(t,i)=>at(t,i),this.setHours=(t,i)=>nt(t,i),this.setMinutes=(t,i)=>it(t,i),this.setSeconds=(t,i)=>rt(t,i),this.setMilliseconds=(t,i)=>ot(t,i),this.getDaysInMonth=t=>st(t),this.getWeekArray=t=>{const i=this.startOfWeek(this.startOfMonth(t)),c=this.endOfWeek(this.endOfMonth(t));let m=0,g=i;const h=[];for(;this.isBefore(g,c);){const w=Math.floor(m/7);h[w]=h[w]||[],h[w].push(g),g=this.addDays(g,1),m+=1}return h},this.getWeekNumber=t=>dt(t,{locale:this.locale}),this.getYearRange=([t,i])=>{const c=this.startOfYear(t),m=this.endOfYear(i),g=[];let h=c;for(;this.isBefore(h,m);)g.push(h),h=this.addYears(h,1);return g}}}const K={lessThanXSeconds:{standalone:{one:"weniger als 1 Sekunde",other:"weniger als {{count}} Sekunden"},withPreposition:{one:"weniger als 1 Sekunde",other:"weniger als {{count}} Sekunden"}},xSeconds:{standalone:{one:"1 Sekunde",other:"{{count}} Sekunden"},withPreposition:{one:"1 Sekunde",other:"{{count}} Sekunden"}},halfAMinute:{standalone:"eine halbe Minute",withPreposition:"einer halben Minute"},lessThanXMinutes:{standalone:{one:"weniger als 1 Minute",other:"weniger als {{count}} Minuten"},withPreposition:{one:"weniger als 1 Minute",other:"weniger als {{count}} Minuten"}},xMinutes:{standalone:{one:"1 Minute",other:"{{count}} Minuten"},withPreposition:{one:"1 Minute",other:"{{count}} Minuten"}},aboutXHours:{standalone:{one:"etwa 1 Stunde",other:"etwa {{count}} Stunden"},withPreposition:{one:"etwa 1 Stunde",other:"etwa {{count}} Stunden"}},xHours:{standalone:{one:"1 Stunde",other:"{{count}} Stunden"},withPreposition:{one:"1 Stunde",other:"{{count}} Stunden"}},xDays:{standalone:{one:"1 Tag",other:"{{count}} Tage"},withPreposition:{one:"1 Tag",other:"{{count}} Tagen"}},aboutXWeeks:{standalone:{one:"etwa 1 Woche",other:"etwa {{count}} Wochen"},withPreposition:{one:"etwa 1 Woche",other:"etwa {{count}} Wochen"}},xWeeks:{standalone:{one:"1 Woche",other:"{{count}} Wochen"},withPreposition:{one:"1 Woche",other:"{{count}} Wochen"}},aboutXMonths:{standalone:{one:"etwa 1 Monat",other:"etwa {{count}} Monate"},withPreposition:{one:"etwa 1 Monat",other:"etwa {{count}} Monaten"}},xMonths:{standalone:{one:"1 Monat",other:"{{count}} Monate"},withPreposition:{one:"1 Monat",other:"{{count}} Monaten"}},aboutXYears:{standalone:{one:"etwa 1 Jahr",other:"etwa {{count}} Jahre"},withPreposition:{one:"etwa 1 Jahr",other:"etwa {{count}} Jahren"}},xYears:{standalone:{one:"1 Jahr",other:"{{count}} Jahre"},withPreposition:{one:"1 Jahr",other:"{{count}} Jahren"}},overXYears:{standalone:{one:"mehr als 1 Jahr",other:"mehr als {{count}} Jahre"},withPreposition:{one:"mehr als 1 Jahr",other:"mehr als {{count}} Jahren"}},almostXYears:{standalone:{one:"fast 1 Jahr",other:"fast {{count}} Jahre"},withPreposition:{one:"fast 1 Jahr",other:"fast {{count}} Jahren"}}},gt=(e,a,n)=>{let t;const i=n!=null&&n.addSuffix?K[e].withPreposition:K[e].standalone;return typeof i=="string"?t=i:a===1?t=i.one:t=i.other.replace("{{count}}",String(a)),n!=null&&n.addSuffix?n.comparison&&n.comparison>0?"in "+t:"vor "+t:t},ft={full:"EEEE, do MMMM y",long:"do MMMM y",medium:"do MMM y",short:"dd.MM.y"},pt={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},vt={full:"{{date}} 'um' {{time}}",long:"{{date}} 'um' {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},wt={date:l({formats:ft,defaultWidth:"full"}),time:l({formats:pt,defaultWidth:"full"}),dateTime:l({formats:vt,defaultWidth:"full"})},yt={lastWeek:"'letzten' eeee 'um' p",yesterday:"'gestern um' p",today:"'heute um' p",tomorrow:"'morgen um' p",nextWeek:"eeee 'um' p",other:"P"},bt=(e,a,n,t)=>yt[e],Mt={narrow:["v.Chr.","n.Chr."],abbreviated:["v.Chr.","n.Chr."],wide:["vor Christus","nach Christus"]},Pt={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1. Quartal","2. Quartal","3. Quartal","4. Quartal"]},V={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],wide:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"]},kt={narrow:V.narrow,abbreviated:["Jan.","Feb.","März","Apr.","Mai","Juni","Juli","Aug.","Sep.","Okt.","Nov.","Dez."],wide:V.wide},xt={narrow:["S","M","D","M","D","F","S"],short:["So","Mo","Di","Mi","Do","Fr","Sa"],abbreviated:["So.","Mo.","Di.","Mi.","Do.","Fr.","Sa."],wide:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"]},Wt={narrow:{am:"vm.",pm:"nm.",midnight:"Mitternacht",noon:"Mittag",morning:"Morgen",afternoon:"Nachm.",evening:"Abend",night:"Nacht"},abbreviated:{am:"vorm.",pm:"nachm.",midnight:"Mitternacht",noon:"Mittag",morning:"Morgen",afternoon:"Nachmittag",evening:"Abend",night:"Nacht"},wide:{am:"vormittags",pm:"nachmittags",midnight:"Mitternacht",noon:"Mittag",morning:"Morgen",afternoon:"Nachmittag",evening:"Abend",night:"Nacht"}},zt={narrow:{am:"vm.",pm:"nm.",midnight:"Mitternacht",noon:"Mittag",morning:"morgens",afternoon:"nachm.",evening:"abends",night:"nachts"},abbreviated:{am:"vorm.",pm:"nachm.",midnight:"Mitternacht",noon:"Mittag",morning:"morgens",afternoon:"nachmittags",evening:"abends",night:"nachts"},wide:{am:"vormittags",pm:"nachmittags",midnight:"Mitternacht",noon:"Mittag",morning:"morgens",afternoon:"nachmittags",evening:"abends",night:"nachts"}},jt=e=>Number(e)+".",$t={ordinalNumber:jt,era:o({values:Mt,defaultWidth:"wide"}),quarter:o({values:Pt,defaultWidth:"wide",argumentCallback:e=>e-1}),month:o({values:V,formattingValues:kt,defaultWidth:"wide"}),day:o({values:xt,defaultWidth:"wide"}),dayPeriod:o({values:Wt,defaultWidth:"wide",formattingValues:zt,defaultFormattingWidth:"wide"})},Dt=/^(\d+)(\.)?/i,St=/\d+/i,Tt={narrow:/^(v\.? ?Chr\.?|n\.? ?Chr\.?)/i,abbreviated:/^(v\.? ?Chr\.?|n\.? ?Chr\.?)/i,wide:/^(vor Christus|vor unserer Zeitrechnung|nach Christus|unserer Zeitrechnung)/i},Ct={any:[/^v/i,/^n/i]},Nt={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](\.)? Quartal/i},At={any:[/1/i,/2/i,/3/i,/4/i]},Et={narrow:/^[jfmasond]/i,abbreviated:/^(j[aä]n|feb|mär[z]?|apr|mai|jun[i]?|jul[i]?|aug|sep|okt|nov|dez)\.?/i,wide:/^(januar|februar|märz|april|mai|juni|juli|august|september|oktober|november|dezember)/i},Lt={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^j[aä]/i,/^f/i,/^mär/i,/^ap/i,/^mai/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},Ht={narrow:/^[smdmf]/i,short:/^(so|mo|di|mi|do|fr|sa)/i,abbreviated:/^(son?|mon?|die?|mit?|don?|fre?|sam?)\.?/i,wide:/^(sonntag|montag|dienstag|mittwoch|donnerstag|freitag|samstag)/i},Ot={any:[/^so/i,/^mo/i,/^di/i,/^mi/i,/^do/i,/^f/i,/^sa/i]},Gt={narrow:/^(vm\.?|nm\.?|Mitternacht|Mittag|morgens|nachm\.?|abends|nachts)/i,abbreviated:/^(vorm\.?|nachm\.?|Mitternacht|Mittag|morgens|nachm\.?|abends|nachts)/i,wide:/^(vormittags|nachmittags|Mitternacht|Mittag|morgens|nachmittags|abends|nachts)/i},Vt={any:{am:/^v/i,pm:/^n/i,midnight:/^Mitte/i,noon:/^Mitta/i,morning:/morgens/i,afternoon:/nachmittags/i,evening:/abends/i,night:/nachts/i}},Ft={ordinalNumber:y({matchPattern:Dt,parsePattern:St,valueCallback:e=>parseInt(e)}),era:s({matchPatterns:Tt,defaultMatchWidth:"wide",parsePatterns:Ct,defaultParseWidth:"any"}),quarter:s({matchPatterns:Nt,defaultMatchWidth:"wide",parsePatterns:At,defaultParseWidth:"any",valueCallback:e=>e+1}),month:s({matchPatterns:Et,defaultMatchWidth:"wide",parsePatterns:Lt,defaultParseWidth:"any"}),day:s({matchPatterns:Ht,defaultMatchWidth:"wide",parsePatterns:Ot,defaultParseWidth:"any"}),dayPeriod:s({matchPatterns:Gt,defaultMatchWidth:"wide",parsePatterns:Vt,defaultParseWidth:"any"})},It={code:"de",formatDistance:gt,formatLong:wt,formatRelative:bt,localize:$t,match:Ft,options:{weekStartsOn:1,firstWeekContainsDate:4}},Xt={lessThanXSeconds:{one:"menos de un segundo",other:"menos de {{count}} segundos"},xSeconds:{one:"1 segundo",other:"{{count}} segundos"},halfAMinute:"medio minuto",lessThanXMinutes:{one:"menos de un minuto",other:"menos de {{count}} minutos"},xMinutes:{one:"1 minuto",other:"{{count}} minutos"},aboutXHours:{one:"alrededor de 1 hora",other:"alrededor de {{count}} horas"},xHours:{one:"1 hora",other:"{{count}} horas"},xDays:{one:"1 día",other:"{{count}} días"},aboutXWeeks:{one:"alrededor de 1 semana",other:"alrededor de {{count}} semanas"},xWeeks:{one:"1 semana",other:"{{count}} semanas"},aboutXMonths:{one:"alrededor de 1 mes",other:"alrededor de {{count}} meses"},xMonths:{one:"1 mes",other:"{{count}} meses"},aboutXYears:{one:"alrededor de 1 año",other:"alrededor de {{count}} años"},xYears:{one:"1 año",other:"{{count}} años"},overXYears:{one:"más de 1 año",other:"más de {{count}} años"},almostXYears:{one:"casi 1 año",other:"casi {{count}} años"}},Rt=(e,a,n)=>{let t;const i=Xt[e];return typeof i=="string"?t=i:a===1?t=i.one:t=i.other.replace("{{count}}",a.toString()),n!=null&&n.addSuffix?n.comparison&&n.comparison>0?"en "+t:"hace "+t:t},Jt={full:"EEEE, d 'de' MMMM 'de' y",long:"d 'de' MMMM 'de' y",medium:"d MMM y",short:"dd/MM/y"},qt={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},Yt={full:"{{date}} 'a las' {{time}}",long:"{{date}} 'a las' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},_t={date:l({formats:Jt,defaultWidth:"full"}),time:l({formats:qt,defaultWidth:"full"}),dateTime:l({formats:Yt,defaultWidth:"full"})},Bt={lastWeek:"'el' eeee 'pasado a la' p",yesterday:"'ayer a la' p",today:"'hoy a la' p",tomorrow:"'mañana a la' p",nextWeek:"eeee 'a la' p",other:"P"},Qt={lastWeek:"'el' eeee 'pasado a las' p",yesterday:"'ayer a las' p",today:"'hoy a las' p",tomorrow:"'mañana a las' p",nextWeek:"eeee 'a las' p",other:"P"},Ut=(e,a,n,t)=>a.getHours()!==1?Qt[e]:Bt[e],Kt={narrow:["AC","DC"],abbreviated:["AC","DC"],wide:["antes de cristo","después de cristo"]},Zt={narrow:["1","2","3","4"],abbreviated:["T1","T2","T3","T4"],wide:["1º trimestre","2º trimestre","3º trimestre","4º trimestre"]},ea={narrow:["e","f","m","a","m","j","j","a","s","o","n","d"],abbreviated:["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic"],wide:["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"]},ta={narrow:["d","l","m","m","j","v","s"],short:["do","lu","ma","mi","ju","vi","sá"],abbreviated:["dom","lun","mar","mié","jue","vie","sáb"],wide:["domingo","lunes","martes","miércoles","jueves","viernes","sábado"]},aa={narrow:{am:"a",pm:"p",midnight:"mn",noon:"md",morning:"mañana",afternoon:"tarde",evening:"tarde",night:"noche"},abbreviated:{am:"AM",pm:"PM",midnight:"medianoche",noon:"mediodia",morning:"mañana",afternoon:"tarde",evening:"tarde",night:"noche"},wide:{am:"a.m.",pm:"p.m.",midnight:"medianoche",noon:"mediodia",morning:"mañana",afternoon:"tarde",evening:"tarde",night:"noche"}},na={narrow:{am:"a",pm:"p",midnight:"mn",noon:"md",morning:"de la mañana",afternoon:"de la tarde",evening:"de la tarde",night:"de la noche"},abbreviated:{am:"AM",pm:"PM",midnight:"medianoche",noon:"mediodia",morning:"de la mañana",afternoon:"de la tarde",evening:"de la tarde",night:"de la noche"},wide:{am:"a.m.",pm:"p.m.",midnight:"medianoche",noon:"mediodia",morning:"de la mañana",afternoon:"de la tarde",evening:"de la tarde",night:"de la noche"}},ia=(e,a)=>Number(e)+"º",ra={ordinalNumber:ia,era:o({values:Kt,defaultWidth:"wide"}),quarter:o({values:Zt,defaultWidth:"wide",argumentCallback:e=>Number(e)-1}),month:o({values:ea,defaultWidth:"wide"}),day:o({values:ta,defaultWidth:"wide"}),dayPeriod:o({values:aa,defaultWidth:"wide",formattingValues:na,defaultFormattingWidth:"wide"})},oa=/^(\d+)(º)?/i,sa=/\d+/i,da={narrow:/^(ac|dc|a|d)/i,abbreviated:/^(a\.?\s?c\.?|a\.?\s?e\.?\s?c\.?|d\.?\s?c\.?|e\.?\s?c\.?)/i,wide:/^(antes de cristo|antes de la era com[uú]n|despu[eé]s de cristo|era com[uú]n)/i},ua={any:[/^ac/i,/^dc/i],wide:[/^(antes de cristo|antes de la era com[uú]n)/i,/^(despu[eé]s de cristo|era com[uú]n)/i]},ma={narrow:/^[1234]/i,abbreviated:/^T[1234]/i,wide:/^[1234](º)? trimestre/i},la={any:[/1/i,/2/i,/3/i,/4/i]},ca={narrow:/^[efmajsond]/i,abbreviated:/^(ene|feb|mar|abr|may|jun|jul|ago|sep|oct|nov|dic)/i,wide:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i},ha={narrow:[/^e/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^en/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i]},ga={narrow:/^[dlmjvs]/i,short:/^(do|lu|ma|mi|ju|vi|s[áa])/i,abbreviated:/^(dom|lun|mar|mi[ée]|jue|vie|s[áa]b)/i,wide:/^(domingo|lunes|martes|mi[ée]rcoles|jueves|viernes|s[áa]bado)/i},fa={narrow:[/^d/i,/^l/i,/^m/i,/^m/i,/^j/i,/^v/i,/^s/i],any:[/^do/i,/^lu/i,/^ma/i,/^mi/i,/^ju/i,/^vi/i,/^sa/i]},pa={narrow:/^(a|p|mn|md|(de la|a las) (mañana|tarde|noche))/i,any:/^([ap]\.?\s?m\.?|medianoche|mediodia|(de la|a las) (mañana|tarde|noche))/i},va={any:{am:/^a/i,pm:/^p/i,midnight:/^mn/i,noon:/^md/i,morning:/mañana/i,afternoon:/tarde/i,evening:/tarde/i,night:/noche/i}},wa={ordinalNumber:y({matchPattern:oa,parsePattern:sa,valueCallback:function(e){return parseInt(e,10)}}),era:s({matchPatterns:da,defaultMatchWidth:"wide",parsePatterns:ua,defaultParseWidth:"any"}),quarter:s({matchPatterns:ma,defaultMatchWidth:"wide",parsePatterns:la,defaultParseWidth:"any",valueCallback:e=>e+1}),month:s({matchPatterns:ca,defaultMatchWidth:"wide",parsePatterns:ha,defaultParseWidth:"any"}),day:s({matchPatterns:ga,defaultMatchWidth:"wide",parsePatterns:fa,defaultParseWidth:"any"}),dayPeriod:s({matchPatterns:pa,defaultMatchWidth:"any",parsePatterns:va,defaultParseWidth:"any"})},ya={code:"es",formatDistance:Rt,formatLong:_t,formatRelative:Ut,localize:ra,match:wa,options:{weekStartsOn:1,firstWeekContainsDate:1}},ba={lessThanXSeconds:{one:"moins d’une seconde",other:"moins de {{count}} secondes"},xSeconds:{one:"1 seconde",other:"{{count}} secondes"},halfAMinute:"30 secondes",lessThanXMinutes:{one:"moins d’une minute",other:"moins de {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"environ 1 heure",other:"environ {{count}} heures"},xHours:{one:"1 heure",other:"{{count}} heures"},xDays:{one:"1 jour",other:"{{count}} jours"},aboutXWeeks:{one:"environ 1 semaine",other:"environ {{count}} semaines"},xWeeks:{one:"1 semaine",other:"{{count}} semaines"},aboutXMonths:{one:"environ 1 mois",other:"environ {{count}} mois"},xMonths:{one:"1 mois",other:"{{count}} mois"},aboutXYears:{one:"environ 1 an",other:"environ {{count}} ans"},xYears:{one:"1 an",other:"{{count}} ans"},overXYears:{one:"plus d’un an",other:"plus de {{count}} ans"},almostXYears:{one:"presqu’un an",other:"presque {{count}} ans"}},Ma=(e,a,n)=>{let t;const i=ba[e];return typeof i=="string"?t=i:a===1?t=i.one:t=i.other.replace("{{count}}",String(a)),n!=null&&n.addSuffix?n.comparison&&n.comparison>0?"dans "+t:"il y a "+t:t},Pa={full:"EEEE d MMMM y",long:"d MMMM y",medium:"d MMM y",short:"dd/MM/y"},ka={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},xa={full:"{{date}} 'à' {{time}}",long:"{{date}} 'à' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},Wa={date:l({formats:Pa,defaultWidth:"full"}),time:l({formats:ka,defaultWidth:"full"}),dateTime:l({formats:xa,defaultWidth:"full"})},za={lastWeek:"eeee 'dernier à' p",yesterday:"'hier à' p",today:"'aujourd’hui à' p",tomorrow:"'demain à' p'",nextWeek:"eeee 'prochain à' p",other:"P"},ja=(e,a,n,t)=>za[e],$a={narrow:["av. J.-C","ap. J.-C"],abbreviated:["av. J.-C","ap. J.-C"],wide:["avant Jésus-Christ","après Jésus-Christ"]},Da={narrow:["T1","T2","T3","T4"],abbreviated:["1er trim.","2ème trim.","3ème trim.","4ème trim."],wide:["1er trimestre","2ème trimestre","3ème trimestre","4ème trimestre"]},Sa={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc."],wide:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"]},Ta={narrow:["D","L","M","M","J","V","S"],short:["di","lu","ma","me","je","ve","sa"],abbreviated:["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],wide:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"]},Ca={narrow:{am:"AM",pm:"PM",midnight:"minuit",noon:"midi",morning:"mat.",afternoon:"ap.m.",evening:"soir",night:"mat."},abbreviated:{am:"AM",pm:"PM",midnight:"minuit",noon:"midi",morning:"matin",afternoon:"après-midi",evening:"soir",night:"matin"},wide:{am:"AM",pm:"PM",midnight:"minuit",noon:"midi",morning:"du matin",afternoon:"de l’après-midi",evening:"du soir",night:"du matin"}},Na=(e,a)=>{const n=Number(e),t=a==null?void 0:a.unit;if(n===0)return"0";const i=["year","week","hour","minute","second"];let c;return n===1?c=t&&i.includes(t)?"ère":"er":c="ème",n+c},Aa=["MMM","MMMM"],Ea={preprocessor:(e,a)=>e.getDate()===1||!a.some(t=>t.isToken&&Aa.includes(t.value))?a:a.map(t=>t.isToken&&t.value==="do"?{isToken:!0,value:"d"}:t),ordinalNumber:Na,era:o({values:$a,defaultWidth:"wide"}),quarter:o({values:Da,defaultWidth:"wide",argumentCallback:e=>e-1}),month:o({values:Sa,defaultWidth:"wide"}),day:o({values:Ta,defaultWidth:"wide"}),dayPeriod:o({values:Ca,defaultWidth:"wide"})},La=/^(\d+)(ième|ère|ème|er|e)?/i,Ha=/\d+/i,Oa={narrow:/^(av\.J\.C|ap\.J\.C|ap\.J\.-C)/i,abbreviated:/^(av\.J\.-C|av\.J-C|apr\.J\.-C|apr\.J-C|ap\.J-C)/i,wide:/^(avant Jésus-Christ|après Jésus-Christ)/i},Ga={any:[/^av/i,/^ap/i]},Va={narrow:/^T?[1234]/i,abbreviated:/^[1234](er|ème|e)? trim\.?/i,wide:/^[1234](er|ème|e)? trimestre/i},Fa={any:[/1/i,/2/i,/3/i,/4/i]},Ia={narrow:/^[jfmasond]/i,abbreviated:/^(janv|févr|mars|avr|mai|juin|juill|juil|août|sept|oct|nov|déc)\.?/i,wide:/^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i},Xa={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^av/i,/^ma/i,/^juin/i,/^juil/i,/^ao/i,/^s/i,/^o/i,/^n/i,/^d/i]},Ra={narrow:/^[lmjvsd]/i,short:/^(di|lu|ma|me|je|ve|sa)/i,abbreviated:/^(dim|lun|mar|mer|jeu|ven|sam)\.?/i,wide:/^(dimanche|lundi|mardi|mercredi|jeudi|vendredi|samedi)/i},Ja={narrow:[/^d/i,/^l/i,/^m/i,/^m/i,/^j/i,/^v/i,/^s/i],any:[/^di/i,/^lu/i,/^ma/i,/^me/i,/^je/i,/^ve/i,/^sa/i]},qa={narrow:/^(a|p|minuit|midi|mat\.?|ap\.?m\.?|soir|nuit)/i,any:/^([ap]\.?\s?m\.?|du matin|de l'après[-\s]midi|du soir|de la nuit)/i},Ya={any:{am:/^a/i,pm:/^p/i,midnight:/^min/i,noon:/^mid/i,morning:/mat/i,afternoon:/ap/i,evening:/soir/i,night:/nuit/i}},_a={ordinalNumber:y({matchPattern:La,parsePattern:Ha,valueCallback:e=>parseInt(e)}),era:s({matchPatterns:Oa,defaultMatchWidth:"wide",parsePatterns:Ga,defaultParseWidth:"any"}),quarter:s({matchPatterns:Va,defaultMatchWidth:"wide",parsePatterns:Fa,defaultParseWidth:"any",valueCallback:e=>e+1}),month:s({matchPatterns:Ia,defaultMatchWidth:"wide",parsePatterns:Xa,defaultParseWidth:"any"}),day:s({matchPatterns:Ra,defaultMatchWidth:"wide",parsePatterns:Ja,defaultParseWidth:"any"}),dayPeriod:s({matchPatterns:qa,defaultMatchWidth:"any",parsePatterns:Ya,defaultParseWidth:"any"})},Ba={code:"fr",formatDistance:Ma,formatLong:Wa,formatRelative:ja,localize:Ea,match:_a,options:{weekStartsOn:1,firstWeekContainsDate:4}},Qa={lessThanXSeconds:{one:"meno di un secondo",other:"meno di {{count}} secondi"},xSeconds:{one:"un secondo",other:"{{count}} secondi"},halfAMinute:"alcuni secondi",lessThanXMinutes:{one:"meno di un minuto",other:"meno di {{count}} minuti"},xMinutes:{one:"un minuto",other:"{{count}} minuti"},aboutXHours:{one:"circa un'ora",other:"circa {{count}} ore"},xHours:{one:"un'ora",other:"{{count}} ore"},xDays:{one:"un giorno",other:"{{count}} giorni"},aboutXWeeks:{one:"circa una settimana",other:"circa {{count}} settimane"},xWeeks:{one:"una settimana",other:"{{count}} settimane"},aboutXMonths:{one:"circa un mese",other:"circa {{count}} mesi"},xMonths:{one:"un mese",other:"{{count}} mesi"},aboutXYears:{one:"circa un anno",other:"circa {{count}} anni"},xYears:{one:"un anno",other:"{{count}} anni"},overXYears:{one:"più di un anno",other:"più di {{count}} anni"},almostXYears:{one:"quasi un anno",other:"quasi {{count}} anni"}},Ua=(e,a,n)=>{let t;const i=Qa[e];return typeof i=="string"?t=i:a===1?t=i.one:t=i.other.replace("{{count}}",a.toString()),n!=null&&n.addSuffix?n.comparison&&n.comparison>0?"tra "+t:t+" fa":t},Ka={full:"EEEE d MMMM y",long:"d MMMM y",medium:"d MMM y",short:"dd/MM/y"},Za={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},en={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},tn={date:l({formats:Ka,defaultWidth:"full"}),time:l({formats:Za,defaultWidth:"full"}),dateTime:l({formats:en,defaultWidth:"full"})},I=["domenica","lunedì","martedì","mercoledì","giovedì","venerdì","sabato"];function an(e){return e===0?"'domenica scorsa alle' p":"'"+I[e]+" scorso alle' p"}function Z(e){return"'"+I[e]+" alle' p"}function nn(e){return e===0?"'domenica prossima alle' p":"'"+I[e]+" prossimo alle' p"}const rn={lastWeek:(e,a,n)=>{const t=e.getDay();return M(e,a,n)?Z(t):an(t)},yesterday:"'ieri alle' p",today:"'oggi alle' p",tomorrow:"'domani alle' p",nextWeek:(e,a,n)=>{const t=e.getDay();return M(e,a,n)?Z(t):nn(t)},other:"P"},on=(e,a,n,t)=>{const i=rn[e];return typeof i=="function"?i(a,n,t):i},sn={narrow:["aC","dC"],abbreviated:["a.C.","d.C."],wide:["avanti Cristo","dopo Cristo"]},dn={narrow:["1","2","3","4"],abbreviated:["T1","T2","T3","T4"],wide:["1º trimestre","2º trimestre","3º trimestre","4º trimestre"]},un={narrow:["G","F","M","A","M","G","L","A","S","O","N","D"],abbreviated:["gen","feb","mar","apr","mag","giu","lug","ago","set","ott","nov","dic"],wide:["gennaio","febbraio","marzo","aprile","maggio","giugno","luglio","agosto","settembre","ottobre","novembre","dicembre"]},mn={narrow:["D","L","M","M","G","V","S"],short:["dom","lun","mar","mer","gio","ven","sab"],abbreviated:["dom","lun","mar","mer","gio","ven","sab"],wide:["domenica","lunedì","martedì","mercoledì","giovedì","venerdì","sabato"]},ln={narrow:{am:"m.",pm:"p.",midnight:"mezzanotte",noon:"mezzogiorno",morning:"mattina",afternoon:"pomeriggio",evening:"sera",night:"notte"},abbreviated:{am:"AM",pm:"PM",midnight:"mezzanotte",noon:"mezzogiorno",morning:"mattina",afternoon:"pomeriggio",evening:"sera",night:"notte"},wide:{am:"AM",pm:"PM",midnight:"mezzanotte",noon:"mezzogiorno",morning:"mattina",afternoon:"pomeriggio",evening:"sera",night:"notte"}},cn={narrow:{am:"m.",pm:"p.",midnight:"mezzanotte",noon:"mezzogiorno",morning:"di mattina",afternoon:"del pomeriggio",evening:"di sera",night:"di notte"},abbreviated:{am:"AM",pm:"PM",midnight:"mezzanotte",noon:"mezzogiorno",morning:"di mattina",afternoon:"del pomeriggio",evening:"di sera",night:"di notte"},wide:{am:"AM",pm:"PM",midnight:"mezzanotte",noon:"mezzogiorno",morning:"di mattina",afternoon:"del pomeriggio",evening:"di sera",night:"di notte"}},hn=(e,a)=>{const n=Number(e);return String(n)},gn={ordinalNumber:hn,era:o({values:sn,defaultWidth:"wide"}),quarter:o({values:dn,defaultWidth:"wide",argumentCallback:e=>e-1}),month:o({values:un,defaultWidth:"wide"}),day:o({values:mn,defaultWidth:"wide"}),dayPeriod:o({values:ln,defaultWidth:"wide",formattingValues:cn,defaultFormattingWidth:"wide"})},fn=/^(\d+)(º)?/i,pn=/\d+/i,vn={narrow:/^(aC|dC)/i,abbreviated:/^(a\.?\s?C\.?|a\.?\s?e\.?\s?v\.?|d\.?\s?C\.?|e\.?\s?v\.?)/i,wide:/^(avanti Cristo|avanti Era Volgare|dopo Cristo|Era Volgare)/i},wn={any:[/^a/i,/^(d|e)/i]},yn={narrow:/^[1234]/i,abbreviated:/^t[1234]/i,wide:/^[1234](º)? trimestre/i},bn={any:[/1/i,/2/i,/3/i,/4/i]},Mn={narrow:/^[gfmalsond]/i,abbreviated:/^(gen|feb|mar|apr|mag|giu|lug|ago|set|ott|nov|dic)/i,wide:/^(gennaio|febbraio|marzo|aprile|maggio|giugno|luglio|agosto|settembre|ottobre|novembre|dicembre)/i},Pn={narrow:[/^g/i,/^f/i,/^m/i,/^a/i,/^m/i,/^g/i,/^l/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ge/i,/^f/i,/^mar/i,/^ap/i,/^mag/i,/^gi/i,/^l/i,/^ag/i,/^s/i,/^o/i,/^n/i,/^d/i]},kn={narrow:/^[dlmgvs]/i,short:/^(do|lu|ma|me|gi|ve|sa)/i,abbreviated:/^(dom|lun|mar|mer|gio|ven|sab)/i,wide:/^(domenica|luned[i|ì]|marted[i|ì]|mercoled[i|ì]|gioved[i|ì]|venerd[i|ì]|sabato)/i},xn={narrow:[/^d/i,/^l/i,/^m/i,/^m/i,/^g/i,/^v/i,/^s/i],any:[/^d/i,/^l/i,/^ma/i,/^me/i,/^g/i,/^v/i,/^s/i]},Wn={narrow:/^(a|m\.|p|mezzanotte|mezzogiorno|(di|del) (mattina|pomeriggio|sera|notte))/i,any:/^([ap]\.?\s?m\.?|mezzanotte|mezzogiorno|(di|del) (mattina|pomeriggio|sera|notte))/i},zn={any:{am:/^a/i,pm:/^p/i,midnight:/^mezza/i,noon:/^mezzo/i,morning:/mattina/i,afternoon:/pomeriggio/i,evening:/sera/i,night:/notte/i}},jn={ordinalNumber:y({matchPattern:fn,parsePattern:pn,valueCallback:e=>parseInt(e,10)}),era:s({matchPatterns:vn,defaultMatchWidth:"wide",parsePatterns:wn,defaultParseWidth:"any"}),quarter:s({matchPatterns:yn,defaultMatchWidth:"wide",parsePatterns:bn,defaultParseWidth:"any",valueCallback:e=>e+1}),month:s({matchPatterns:Mn,defaultMatchWidth:"wide",parsePatterns:Pn,defaultParseWidth:"any"}),day:s({matchPatterns:kn,defaultMatchWidth:"wide",parsePatterns:xn,defaultParseWidth:"any"}),dayPeriod:s({matchPatterns:Wn,defaultMatchWidth:"any",parsePatterns:zn,defaultParseWidth:"any"})},$n={code:"it",formatDistance:Ua,formatLong:tn,formatRelative:on,localize:gn,match:jn,options:{weekStartsOn:1,firstWeekContainsDate:4}},Dn={lessThanXSeconds:{one:"minder dan een seconde",other:"minder dan {{count}} seconden"},xSeconds:{one:"1 seconde",other:"{{count}} seconden"},halfAMinute:"een halve minuut",lessThanXMinutes:{one:"minder dan een minuut",other:"minder dan {{count}} minuten"},xMinutes:{one:"een minuut",other:"{{count}} minuten"},aboutXHours:{one:"ongeveer 1 uur",other:"ongeveer {{count}} uur"},xHours:{one:"1 uur",other:"{{count}} uur"},xDays:{one:"1 dag",other:"{{count}} dagen"},aboutXWeeks:{one:"ongeveer 1 week",other:"ongeveer {{count}} weken"},xWeeks:{one:"1 week",other:"{{count}} weken"},aboutXMonths:{one:"ongeveer 1 maand",other:"ongeveer {{count}} maanden"},xMonths:{one:"1 maand",other:"{{count}} maanden"},aboutXYears:{one:"ongeveer 1 jaar",other:"ongeveer {{count}} jaar"},xYears:{one:"1 jaar",other:"{{count}} jaar"},overXYears:{one:"meer dan 1 jaar",other:"meer dan {{count}} jaar"},almostXYears:{one:"bijna 1 jaar",other:"bijna {{count}} jaar"}},Sn=(e,a,n)=>{let t;const i=Dn[e];return typeof i=="string"?t=i:a===1?t=i.one:t=i.other.replace("{{count}}",String(a)),n!=null&&n.addSuffix?n.comparison&&n.comparison>0?"over "+t:t+" geleden":t},Tn={full:"EEEE d MMMM y",long:"d MMMM y",medium:"d MMM y",short:"dd-MM-y"},Cn={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},Nn={full:"{{date}} 'om' {{time}}",long:"{{date}} 'om' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},An={date:l({formats:Tn,defaultWidth:"full"}),time:l({formats:Cn,defaultWidth:"full"}),dateTime:l({formats:Nn,defaultWidth:"full"})},En={lastWeek:"'afgelopen' eeee 'om' p",yesterday:"'gisteren om' p",today:"'vandaag om' p",tomorrow:"'morgen om' p",nextWeek:"eeee 'om' p",other:"P"},Ln=(e,a,n,t)=>En[e],Hn={narrow:["v.C.","n.C."],abbreviated:["v.Chr.","n.Chr."],wide:["voor Christus","na Christus"]},On={narrow:["1","2","3","4"],abbreviated:["K1","K2","K3","K4"],wide:["1e kwartaal","2e kwartaal","3e kwartaal","4e kwartaal"]},Gn={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["jan.","feb.","mrt.","apr.","mei","jun.","jul.","aug.","sep.","okt.","nov.","dec."],wide:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"]},Vn={narrow:["Z","M","D","W","D","V","Z"],short:["zo","ma","di","wo","do","vr","za"],abbreviated:["zon","maa","din","woe","don","vri","zat"],wide:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"]},Fn={narrow:{am:"AM",pm:"PM",midnight:"middernacht",noon:"het middaguur",morning:"'s ochtends",afternoon:"'s middags",evening:"'s avonds",night:"'s nachts"},abbreviated:{am:"AM",pm:"PM",midnight:"middernacht",noon:"het middaguur",morning:"'s ochtends",afternoon:"'s middags",evening:"'s avonds",night:"'s nachts"},wide:{am:"AM",pm:"PM",midnight:"middernacht",noon:"het middaguur",morning:"'s ochtends",afternoon:"'s middags",evening:"'s avonds",night:"'s nachts"}},In=(e,a)=>Number(e)+"e",Xn={ordinalNumber:In,era:o({values:Hn,defaultWidth:"wide"}),quarter:o({values:On,defaultWidth:"wide",argumentCallback:e=>e-1}),month:o({values:Gn,defaultWidth:"wide"}),day:o({values:Vn,defaultWidth:"wide"}),dayPeriod:o({values:Fn,defaultWidth:"wide"})},Rn=/^(\d+)e?/i,Jn=/\d+/i,qn={narrow:/^([vn]\.? ?C\.?)/,abbreviated:/^([vn]\. ?Chr\.?)/,wide:/^((voor|na) Christus)/},Yn={any:[/^v/,/^n/]},_n={narrow:/^[1234]/i,abbreviated:/^K[1234]/i,wide:/^[1234]e kwartaal/i},Bn={any:[/1/i,/2/i,/3/i,/4/i]},Qn={narrow:/^[jfmasond]/i,abbreviated:/^(jan.|feb.|mrt.|apr.|mei|jun.|jul.|aug.|sep.|okt.|nov.|dec.)/i,wide:/^(januari|februari|maart|april|mei|juni|juli|augustus|september|oktober|november|december)/i},Un={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^jan/i,/^feb/i,/^m(r|a)/i,/^apr/i,/^mei/i,/^jun/i,/^jul/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i]},Kn={narrow:/^[zmdwv]/i,short:/^(zo|ma|di|wo|do|vr|za)/i,abbreviated:/^(zon|maa|din|woe|don|vri|zat)/i,wide:/^(zondag|maandag|dinsdag|woensdag|donderdag|vrijdag|zaterdag)/i},Zn={narrow:[/^z/i,/^m/i,/^d/i,/^w/i,/^d/i,/^v/i,/^z/i],any:[/^zo/i,/^ma/i,/^di/i,/^wo/i,/^do/i,/^vr/i,/^za/i]},ei={any:/^(am|pm|middernacht|het middaguur|'s (ochtends|middags|avonds|nachts))/i},ti={any:{am:/^am/i,pm:/^pm/i,midnight:/^middernacht/i,noon:/^het middaguur/i,morning:/ochtend/i,afternoon:/middag/i,evening:/avond/i,night:/nacht/i}},ai={ordinalNumber:y({matchPattern:Rn,parsePattern:Jn,valueCallback:e=>parseInt(e,10)}),era:s({matchPatterns:qn,defaultMatchWidth:"wide",parsePatterns:Yn,defaultParseWidth:"any"}),quarter:s({matchPatterns:_n,defaultMatchWidth:"wide",parsePatterns:Bn,defaultParseWidth:"any",valueCallback:e=>e+1}),month:s({matchPatterns:Qn,defaultMatchWidth:"wide",parsePatterns:Un,defaultParseWidth:"any"}),day:s({matchPatterns:Kn,defaultMatchWidth:"wide",parsePatterns:Zn,defaultParseWidth:"any"}),dayPeriod:s({matchPatterns:ei,defaultMatchWidth:"any",parsePatterns:ti,defaultParseWidth:"any"})},ni={code:"nl",formatDistance:Sn,formatLong:An,formatRelative:Ln,localize:Xn,match:ai,options:{weekStartsOn:1,firstWeekContainsDate:4}},ii={lessThanXSeconds:{one:{regular:"mniej niż sekunda",past:"mniej niż sekundę",future:"mniej niż sekundę"},twoFour:"mniej niż {{count}} sekundy",other:"mniej niż {{count}} sekund"},xSeconds:{one:{regular:"sekunda",past:"sekundę",future:"sekundę"},twoFour:"{{count}} sekundy",other:"{{count}} sekund"},halfAMinute:{one:"pół minuty",twoFour:"pół minuty",other:"pół minuty"},lessThanXMinutes:{one:{regular:"mniej niż minuta",past:"mniej niż minutę",future:"mniej niż minutę"},twoFour:"mniej niż {{count}} minuty",other:"mniej niż {{count}} minut"},xMinutes:{one:{regular:"minuta",past:"minutę",future:"minutę"},twoFour:"{{count}} minuty",other:"{{count}} minut"},aboutXHours:{one:{regular:"około godziny",past:"około godziny",future:"około godzinę"},twoFour:"około {{count}} godziny",other:"około {{count}} godzin"},xHours:{one:{regular:"godzina",past:"godzinę",future:"godzinę"},twoFour:"{{count}} godziny",other:"{{count}} godzin"},xDays:{one:{regular:"dzień",past:"dzień",future:"1 dzień"},twoFour:"{{count}} dni",other:"{{count}} dni"},aboutXWeeks:{one:"około tygodnia",twoFour:"około {{count}} tygodni",other:"około {{count}} tygodni"},xWeeks:{one:"tydzień",twoFour:"{{count}} tygodnie",other:"{{count}} tygodni"},aboutXMonths:{one:"około miesiąc",twoFour:"około {{count}} miesiące",other:"około {{count}} miesięcy"},xMonths:{one:"miesiąc",twoFour:"{{count}} miesiące",other:"{{count}} miesięcy"},aboutXYears:{one:"około rok",twoFour:"około {{count}} lata",other:"około {{count}} lat"},xYears:{one:"rok",twoFour:"{{count}} lata",other:"{{count}} lat"},overXYears:{one:"ponad rok",twoFour:"ponad {{count}} lata",other:"ponad {{count}} lat"},almostXYears:{one:"prawie rok",twoFour:"prawie {{count}} lata",other:"prawie {{count}} lat"}};function ri(e,a){if(a===1)return e.one;const n=a%100;if(n<=20&&n>10)return e.other;const t=n%10;return t>=2&&t<=4?e.twoFour:e.other}function H(e,a,n){const t=ri(e,a);return(typeof t=="string"?t:t[n]).replace("{{count}}",String(a))}const oi=(e,a,n)=>{const t=ii[e];return n!=null&&n.addSuffix?n.comparison&&n.comparison>0?"za "+H(t,a,"future"):H(t,a,"past")+" temu":H(t,a,"regular")},si={full:"EEEE, do MMMM y",long:"do MMMM y",medium:"do MMM y",short:"dd.MM.y"},di={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},ui={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},mi={date:l({formats:si,defaultWidth:"full"}),time:l({formats:di,defaultWidth:"full"}),dateTime:l({formats:ui,defaultWidth:"full"})},li={masculine:"ostatni",feminine:"ostatnia"},ci={masculine:"ten",feminine:"ta"},hi={masculine:"następny",feminine:"następna"},gi={0:"feminine",1:"masculine",2:"masculine",3:"feminine",4:"masculine",5:"masculine",6:"feminine"};function ee(e,a,n,t){let i;if(M(a,n,t))i=ci;else if(e==="lastWeek")i=li;else if(e==="nextWeek")i=hi;else throw new Error(`Cannot determine adjectives for token ${e}`);const c=a.getDay(),m=gi[c];return`'${i[m]}' eeee 'o' p`}const fi={lastWeek:ee,yesterday:"'wczoraj o' p",today:"'dzisiaj o' p",tomorrow:"'jutro o' p",nextWeek:ee,other:"P"},pi=(e,a,n,t)=>{const i=fi[e];return typeof i=="function"?i(e,a,n,t):i},vi={narrow:["p.n.e.","n.e."],abbreviated:["p.n.e.","n.e."],wide:["przed naszą erą","naszej ery"]},wi={narrow:["1","2","3","4"],abbreviated:["I kw.","II kw.","III kw.","IV kw."],wide:["I kwartał","II kwartał","III kwartał","IV kwartał"]},yi={narrow:["S","L","M","K","M","C","L","S","W","P","L","G"],abbreviated:["sty","lut","mar","kwi","maj","cze","lip","sie","wrz","paź","lis","gru"],wide:["styczeń","luty","marzec","kwiecień","maj","czerwiec","lipiec","sierpień","wrzesień","październik","listopad","grudzień"]},bi={narrow:["s","l","m","k","m","c","l","s","w","p","l","g"],abbreviated:["sty","lut","mar","kwi","maj","cze","lip","sie","wrz","paź","lis","gru"],wide:["stycznia","lutego","marca","kwietnia","maja","czerwca","lipca","sierpnia","września","października","listopada","grudnia"]},Mi={narrow:["N","P","W","Ś","C","P","S"],short:["nie","pon","wto","śro","czw","pią","sob"],abbreviated:["niedz.","pon.","wt.","śr.","czw.","pt.","sob."],wide:["niedziela","poniedziałek","wtorek","środa","czwartek","piątek","sobota"]},Pi={narrow:["n","p","w","ś","c","p","s"],short:["nie","pon","wto","śro","czw","pią","sob"],abbreviated:["niedz.","pon.","wt.","śr.","czw.","pt.","sob."],wide:["niedziela","poniedziałek","wtorek","środa","czwartek","piątek","sobota"]},ki={narrow:{am:"a",pm:"p",midnight:"półn.",noon:"poł",morning:"rano",afternoon:"popoł.",evening:"wiecz.",night:"noc"},abbreviated:{am:"AM",pm:"PM",midnight:"północ",noon:"południe",morning:"rano",afternoon:"popołudnie",evening:"wieczór",night:"noc"},wide:{am:"AM",pm:"PM",midnight:"północ",noon:"południe",morning:"rano",afternoon:"popołudnie",evening:"wieczór",night:"noc"}},xi={narrow:{am:"a",pm:"p",midnight:"o półn.",noon:"w poł.",morning:"rano",afternoon:"po poł.",evening:"wiecz.",night:"w nocy"},abbreviated:{am:"AM",pm:"PM",midnight:"o północy",noon:"w południe",morning:"rano",afternoon:"po południu",evening:"wieczorem",night:"w nocy"},wide:{am:"AM",pm:"PM",midnight:"o północy",noon:"w południe",morning:"rano",afternoon:"po południu",evening:"wieczorem",night:"w nocy"}},Wi=(e,a)=>String(e),zi={ordinalNumber:Wi,era:o({values:vi,defaultWidth:"wide"}),quarter:o({values:wi,defaultWidth:"wide",argumentCallback:e=>e-1}),month:o({values:yi,defaultWidth:"wide",formattingValues:bi,defaultFormattingWidth:"wide"}),day:o({values:Mi,defaultWidth:"wide",formattingValues:Pi,defaultFormattingWidth:"wide"}),dayPeriod:o({values:ki,defaultWidth:"wide",formattingValues:xi,defaultFormattingWidth:"wide"})},ji=/^(\d+)?/i,$i=/\d+/i,Di={narrow:/^(p\.?\s*n\.?\s*e\.?\s*|n\.?\s*e\.?\s*)/i,abbreviated:/^(p\.?\s*n\.?\s*e\.?\s*|n\.?\s*e\.?\s*)/i,wide:/^(przed\s*nasz(ą|a)\s*er(ą|a)|naszej\s*ery)/i},Si={any:[/^p/i,/^n/i]},Ti={narrow:/^[1234]/i,abbreviated:/^(I|II|III|IV)\s*kw\.?/i,wide:/^(I|II|III|IV)\s*kwarta(ł|l)/i},Ci={narrow:[/1/i,/2/i,/3/i,/4/i],any:[/^I kw/i,/^II kw/i,/^III kw/i,/^IV kw/i]},Ni={narrow:/^[slmkcwpg]/i,abbreviated:/^(sty|lut|mar|kwi|maj|cze|lip|sie|wrz|pa(ź|z)|lis|gru)/i,wide:/^(stycznia|stycze(ń|n)|lutego|luty|marca|marzec|kwietnia|kwiecie(ń|n)|maja|maj|czerwca|czerwiec|lipca|lipiec|sierpnia|sierpie(ń|n)|wrze(ś|s)nia|wrzesie(ń|n)|pa(ź|z)dziernika|pa(ź|z)dziernik|listopada|listopad|grudnia|grudzie(ń|n))/i},Ai={narrow:[/^s/i,/^l/i,/^m/i,/^k/i,/^m/i,/^c/i,/^l/i,/^s/i,/^w/i,/^p/i,/^l/i,/^g/i],any:[/^st/i,/^lu/i,/^mar/i,/^k/i,/^maj/i,/^c/i,/^lip/i,/^si/i,/^w/i,/^p/i,/^lis/i,/^g/i]},Ei={narrow:/^[npwścs]/i,short:/^(nie|pon|wto|(ś|s)ro|czw|pi(ą|a)|sob)/i,abbreviated:/^(niedz|pon|wt|(ś|s)r|czw|pt|sob)\.?/i,wide:/^(niedziela|poniedzia(ł|l)ek|wtorek|(ś|s)roda|czwartek|pi(ą|a)tek|sobota)/i},Li={narrow:[/^n/i,/^p/i,/^w/i,/^ś/i,/^c/i,/^p/i,/^s/i],abbreviated:[/^n/i,/^po/i,/^w/i,/^(ś|s)r/i,/^c/i,/^pt/i,/^so/i],any:[/^n/i,/^po/i,/^w/i,/^(ś|s)r/i,/^c/i,/^pi/i,/^so/i]},Hi={narrow:/^(^a$|^p$|pó(ł|l)n\.?|o\s*pó(ł|l)n\.?|po(ł|l)\.?|w\s*po(ł|l)\.?|po\s*po(ł|l)\.?|rano|wiecz\.?|noc|w\s*nocy)/i,any:/^(am|pm|pó(ł|l)noc|o\s*pó(ł|l)nocy|po(ł|l)udnie|w\s*po(ł|l)udnie|popo(ł|l)udnie|po\s*po(ł|l)udniu|rano|wieczór|wieczorem|noc|w\s*nocy)/i},Oi={narrow:{am:/^a$/i,pm:/^p$/i,midnight:/pó(ł|l)n/i,noon:/po(ł|l)/i,morning:/rano/i,afternoon:/po\s*po(ł|l)/i,evening:/wiecz/i,night:/noc/i},any:{am:/^am/i,pm:/^pm/i,midnight:/pó(ł|l)n/i,noon:/po(ł|l)/i,morning:/rano/i,afternoon:/po\s*po(ł|l)/i,evening:/wiecz/i,night:/noc/i}},Gi={ordinalNumber:y({matchPattern:ji,parsePattern:$i,valueCallback:e=>parseInt(e,10)}),era:s({matchPatterns:Di,defaultMatchWidth:"wide",parsePatterns:Si,defaultParseWidth:"any"}),quarter:s({matchPatterns:Ti,defaultMatchWidth:"wide",parsePatterns:Ci,defaultParseWidth:"any",valueCallback:e=>e+1}),month:s({matchPatterns:Ni,defaultMatchWidth:"wide",parsePatterns:Ai,defaultParseWidth:"any"}),day:s({matchPatterns:Ei,defaultMatchWidth:"wide",parsePatterns:Li,defaultParseWidth:"any"}),dayPeriod:s({matchPatterns:Hi,defaultMatchWidth:"any",parsePatterns:Oi,defaultParseWidth:"any"})},Vi={code:"pl",formatDistance:oi,formatLong:mi,formatRelative:pi,localize:zi,match:Gi,options:{weekStartsOn:1,firstWeekContainsDate:4}},Fi={lessThanXSeconds:{one:"menos de um segundo",other:"menos de {{count}} segundos"},xSeconds:{one:"1 segundo",other:"{{count}} segundos"},halfAMinute:"meio minuto",lessThanXMinutes:{one:"menos de um minuto",other:"menos de {{count}} minutos"},xMinutes:{one:"1 minuto",other:"{{count}} minutos"},aboutXHours:{one:"aproximadamente 1 hora",other:"aproximadamente {{count}} horas"},xHours:{one:"1 hora",other:"{{count}} horas"},xDays:{one:"1 dia",other:"{{count}} dias"},aboutXWeeks:{one:"aproximadamente 1 semana",other:"aproximadamente {{count}} semanas"},xWeeks:{one:"1 semana",other:"{{count}} semanas"},aboutXMonths:{one:"aproximadamente 1 mês",other:"aproximadamente {{count}} meses"},xMonths:{one:"1 mês",other:"{{count}} meses"},aboutXYears:{one:"aproximadamente 1 ano",other:"aproximadamente {{count}} anos"},xYears:{one:"1 ano",other:"{{count}} anos"},overXYears:{one:"mais de 1 ano",other:"mais de {{count}} anos"},almostXYears:{one:"quase 1 ano",other:"quase {{count}} anos"}},Ii=(e,a,n)=>{let t;const i=Fi[e];return typeof i=="string"?t=i:a===1?t=i.one:t=i.other.replace("{{count}}",String(a)),n!=null&&n.addSuffix?n.comparison&&n.comparison>0?"daqui a "+t:"há "+t:t},Xi={full:"EEEE, d 'de' MMMM 'de' y",long:"d 'de' MMMM 'de' y",medium:"d 'de' MMM 'de' y",short:"dd/MM/y"},Ri={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},Ji={full:"{{date}} 'às' {{time}}",long:"{{date}} 'às' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},qi={date:l({formats:Xi,defaultWidth:"full"}),time:l({formats:Ri,defaultWidth:"full"}),dateTime:l({formats:Ji,defaultWidth:"full"})},Yi={lastWeek:e=>{const a=e.getDay();return"'"+(a===0||a===6?"último":"última")+"' eeee 'às' p"},yesterday:"'ontem às' p",today:"'hoje às' p",tomorrow:"'amanhã às' p",nextWeek:"eeee 'às' p",other:"P"},_i=(e,a,n,t)=>{const i=Yi[e];return typeof i=="function"?i(a):i},Bi={narrow:["aC","dC"],abbreviated:["a.C.","d.C."],wide:["antes de Cristo","depois de Cristo"]},Qi={narrow:["1","2","3","4"],abbreviated:["T1","T2","T3","T4"],wide:["1º trimestre","2º trimestre","3º trimestre","4º trimestre"]},Ui={narrow:["j","f","m","a","m","j","j","a","s","o","n","d"],abbreviated:["jan","fev","mar","abr","mai","jun","jul","ago","set","out","nov","dez"],wide:["janeiro","fevereiro","março","abril","maio","junho","julho","agosto","setembro","outubro","novembro","dezembro"]},Ki={narrow:["d","s","t","q","q","s","s"],short:["dom","seg","ter","qua","qui","sex","sáb"],abbreviated:["dom","seg","ter","qua","qui","sex","sáb"],wide:["domingo","segunda-feira","terça-feira","quarta-feira","quinta-feira","sexta-feira","sábado"]},Zi={narrow:{am:"AM",pm:"PM",midnight:"meia-noite",noon:"meio-dia",morning:"manhã",afternoon:"tarde",evening:"noite",night:"madrugada"},abbreviated:{am:"AM",pm:"PM",midnight:"meia-noite",noon:"meio-dia",morning:"manhã",afternoon:"tarde",evening:"noite",night:"madrugada"},wide:{am:"AM",pm:"PM",midnight:"meia-noite",noon:"meio-dia",morning:"manhã",afternoon:"tarde",evening:"noite",night:"madrugada"}},er={narrow:{am:"AM",pm:"PM",midnight:"meia-noite",noon:"meio-dia",morning:"da manhã",afternoon:"da tarde",evening:"da noite",night:"da madrugada"},abbreviated:{am:"AM",pm:"PM",midnight:"meia-noite",noon:"meio-dia",morning:"da manhã",afternoon:"da tarde",evening:"da noite",night:"da madrugada"},wide:{am:"AM",pm:"PM",midnight:"meia-noite",noon:"meio-dia",morning:"da manhã",afternoon:"da tarde",evening:"da noite",night:"da madrugada"}},tr=(e,a)=>Number(e)+"º",ar={ordinalNumber:tr,era:o({values:Bi,defaultWidth:"wide"}),quarter:o({values:Qi,defaultWidth:"wide",argumentCallback:e=>e-1}),month:o({values:Ui,defaultWidth:"wide"}),day:o({values:Ki,defaultWidth:"wide"}),dayPeriod:o({values:Zi,defaultWidth:"wide",formattingValues:er,defaultFormattingWidth:"wide"})},nr=/^(\d+)(º|ª)?/i,ir=/\d+/i,rr={narrow:/^(ac|dc|a|d)/i,abbreviated:/^(a\.?\s?c\.?|a\.?\s?e\.?\s?c\.?|d\.?\s?c\.?|e\.?\s?c\.?)/i,wide:/^(antes de cristo|antes da era comum|depois de cristo|era comum)/i},or={any:[/^ac/i,/^dc/i],wide:[/^(antes de cristo|antes da era comum)/i,/^(depois de cristo|era comum)/i]},sr={narrow:/^[1234]/i,abbreviated:/^T[1234]/i,wide:/^[1234](º|ª)? trimestre/i},dr={any:[/1/i,/2/i,/3/i,/4/i]},ur={narrow:/^[jfmasond]/i,abbreviated:/^(jan|fev|mar|abr|mai|jun|jul|ago|set|out|nov|dez)/i,wide:/^(janeiro|fevereiro|março|abril|maio|junho|julho|agosto|setembro|outubro|novembro|dezembro)/i},mr={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ab/i,/^mai/i,/^jun/i,/^jul/i,/^ag/i,/^s/i,/^o/i,/^n/i,/^d/i]},lr={narrow:/^[dstq]/i,short:/^(dom|seg|ter|qua|qui|sex|s[áa]b)/i,abbreviated:/^(dom|seg|ter|qua|qui|sex|s[áa]b)/i,wide:/^(domingo|segunda-?\s?feira|terça-?\s?feira|quarta-?\s?feira|quinta-?\s?feira|sexta-?\s?feira|s[áa]bado)/i},cr={narrow:[/^d/i,/^s/i,/^t/i,/^q/i,/^q/i,/^s/i,/^s/i],any:[/^d/i,/^seg/i,/^t/i,/^qua/i,/^qui/i,/^sex/i,/^s[áa]/i]},hr={narrow:/^(a|p|meia-?\s?noite|meio-?\s?dia|(da) (manh[ãa]|tarde|noite|madrugada))/i,any:/^([ap]\.?\s?m\.?|meia-?\s?noite|meio-?\s?dia|(da) (manh[ãa]|tarde|noite|madrugada))/i},gr={any:{am:/^a/i,pm:/^p/i,midnight:/^meia/i,noon:/^meio/i,morning:/manh[ãa]/i,afternoon:/tarde/i,evening:/noite/i,night:/madrugada/i}},fr={ordinalNumber:y({matchPattern:nr,parsePattern:ir,valueCallback:e=>parseInt(e,10)}),era:s({matchPatterns:rr,defaultMatchWidth:"wide",parsePatterns:or,defaultParseWidth:"any"}),quarter:s({matchPatterns:sr,defaultMatchWidth:"wide",parsePatterns:dr,defaultParseWidth:"any",valueCallback:e=>e+1}),month:s({matchPatterns:ur,defaultMatchWidth:"wide",parsePatterns:mr,defaultParseWidth:"any"}),day:s({matchPatterns:lr,defaultMatchWidth:"wide",parsePatterns:cr,defaultParseWidth:"any"}),dayPeriod:s({matchPatterns:hr,defaultMatchWidth:"any",parsePatterns:gr,defaultParseWidth:"any"})},pr={code:"pt",formatDistance:Ii,formatLong:qi,formatRelative:_i,localize:ar,match:fr,options:{weekStartsOn:1,firstWeekContainsDate:4}},vr={lessThanXSeconds:{one:"menos de um segundo",other:"menos de {{count}} segundos"},xSeconds:{one:"1 segundo",other:"{{count}} segundos"},halfAMinute:"meio minuto",lessThanXMinutes:{one:"menos de um minuto",other:"menos de {{count}} minutos"},xMinutes:{one:"1 minuto",other:"{{count}} minutos"},aboutXHours:{one:"cerca de 1 hora",other:"cerca de {{count}} horas"},xHours:{one:"1 hora",other:"{{count}} horas"},xDays:{one:"1 dia",other:"{{count}} dias"},aboutXWeeks:{one:"cerca de 1 semana",other:"cerca de {{count}} semanas"},xWeeks:{one:"1 semana",other:"{{count}} semanas"},aboutXMonths:{one:"cerca de 1 mês",other:"cerca de {{count}} meses"},xMonths:{one:"1 mês",other:"{{count}} meses"},aboutXYears:{one:"cerca de 1 ano",other:"cerca de {{count}} anos"},xYears:{one:"1 ano",other:"{{count}} anos"},overXYears:{one:"mais de 1 ano",other:"mais de {{count}} anos"},almostXYears:{one:"quase 1 ano",other:"quase {{count}} anos"}},wr=(e,a,n)=>{let t;const i=vr[e];return typeof i=="string"?t=i:a===1?t=i.one:t=i.other.replace("{{count}}",String(a)),n!=null&&n.addSuffix?n.comparison&&n.comparison>0?"em "+t:"há "+t:t},yr={full:"EEEE, d 'de' MMMM 'de' y",long:"d 'de' MMMM 'de' y",medium:"d MMM y",short:"dd/MM/yyyy"},br={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},Mr={full:"{{date}} 'às' {{time}}",long:"{{date}} 'às' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},Pr={date:l({formats:yr,defaultWidth:"full"}),time:l({formats:br,defaultWidth:"full"}),dateTime:l({formats:Mr,defaultWidth:"full"})},kr={lastWeek:e=>{const a=e.getDay();return"'"+(a===0||a===6?"último":"última")+"' eeee 'às' p"},yesterday:"'ontem às' p",today:"'hoje às' p",tomorrow:"'amanhã às' p",nextWeek:"eeee 'às' p",other:"P"},xr=(e,a,n,t)=>{const i=kr[e];return typeof i=="function"?i(a):i},Wr={narrow:["AC","DC"],abbreviated:["AC","DC"],wide:["antes de cristo","depois de cristo"]},zr={narrow:["1","2","3","4"],abbreviated:["T1","T2","T3","T4"],wide:["1º trimestre","2º trimestre","3º trimestre","4º trimestre"]},jr={narrow:["j","f","m","a","m","j","j","a","s","o","n","d"],abbreviated:["jan","fev","mar","abr","mai","jun","jul","ago","set","out","nov","dez"],wide:["janeiro","fevereiro","março","abril","maio","junho","julho","agosto","setembro","outubro","novembro","dezembro"]},$r={narrow:["D","S","T","Q","Q","S","S"],short:["dom","seg","ter","qua","qui","sex","sab"],abbreviated:["domingo","segunda","terça","quarta","quinta","sexta","sábado"],wide:["domingo","segunda-feira","terça-feira","quarta-feira","quinta-feira","sexta-feira","sábado"]},Dr={narrow:{am:"a",pm:"p",midnight:"mn",noon:"md",morning:"manhã",afternoon:"tarde",evening:"tarde",night:"noite"},abbreviated:{am:"AM",pm:"PM",midnight:"meia-noite",noon:"meio-dia",morning:"manhã",afternoon:"tarde",evening:"tarde",night:"noite"},wide:{am:"a.m.",pm:"p.m.",midnight:"meia-noite",noon:"meio-dia",morning:"manhã",afternoon:"tarde",evening:"tarde",night:"noite"}},Sr={narrow:{am:"a",pm:"p",midnight:"mn",noon:"md",morning:"da manhã",afternoon:"da tarde",evening:"da tarde",night:"da noite"},abbreviated:{am:"AM",pm:"PM",midnight:"meia-noite",noon:"meio-dia",morning:"da manhã",afternoon:"da tarde",evening:"da tarde",night:"da noite"},wide:{am:"a.m.",pm:"p.m.",midnight:"meia-noite",noon:"meio-dia",morning:"da manhã",afternoon:"da tarde",evening:"da tarde",night:"da noite"}},Tr=(e,a)=>{const n=Number(e);return(a==null?void 0:a.unit)==="week"?n+"ª":n+"º"},Cr={ordinalNumber:Tr,era:o({values:Wr,defaultWidth:"wide"}),quarter:o({values:zr,defaultWidth:"wide",argumentCallback:e=>e-1}),month:o({values:jr,defaultWidth:"wide"}),day:o({values:$r,defaultWidth:"wide"}),dayPeriod:o({values:Dr,defaultWidth:"wide",formattingValues:Sr,defaultFormattingWidth:"wide"})},Nr=/^(\d+)[ºªo]?/i,Ar=/\d+/i,Er={narrow:/^(ac|dc|a|d)/i,abbreviated:/^(a\.?\s?c\.?|d\.?\s?c\.?)/i,wide:/^(antes de cristo|depois de cristo)/i},Lr={any:[/^ac/i,/^dc/i],wide:[/^antes de cristo/i,/^depois de cristo/i]},Hr={narrow:/^[1234]/i,abbreviated:/^T[1234]/i,wide:/^[1234](º)? trimestre/i},Or={any:[/1/i,/2/i,/3/i,/4/i]},Gr={narrow:/^[jfmajsond]/i,abbreviated:/^(jan|fev|mar|abr|mai|jun|jul|ago|set|out|nov|dez)/i,wide:/^(janeiro|fevereiro|março|abril|maio|junho|julho|agosto|setembro|outubro|novembro|dezembro)/i},Vr={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^fev/i,/^mar/i,/^abr/i,/^mai/i,/^jun/i,/^jul/i,/^ago/i,/^set/i,/^out/i,/^nov/i,/^dez/i]},Fr={narrow:/^(dom|[23456]ª?|s[aá]b)/i,short:/^(dom|[23456]ª?|s[aá]b)/i,abbreviated:/^(dom|seg|ter|qua|qui|sex|s[aá]b)/i,wide:/^(domingo|(segunda|ter[cç]a|quarta|quinta|sexta)([- ]feira)?|s[aá]bado)/i},Ir={short:[/^d/i,/^2/i,/^3/i,/^4/i,/^5/i,/^6/i,/^s[aá]/i],narrow:[/^d/i,/^2/i,/^3/i,/^4/i,/^5/i,/^6/i,/^s[aá]/i],any:[/^d/i,/^seg/i,/^t/i,/^qua/i,/^qui/i,/^sex/i,/^s[aá]b/i]},Xr={narrow:/^(a|p|mn|md|(da) (manhã|tarde|noite))/i,any:/^([ap]\.?\s?m\.?|meia[-\s]noite|meio[-\s]dia|(da) (manhã|tarde|noite))/i},Rr={any:{am:/^a/i,pm:/^p/i,midnight:/^mn|^meia[-\s]noite/i,noon:/^md|^meio[-\s]dia/i,morning:/manhã/i,afternoon:/tarde/i,evening:/tarde/i,night:/noite/i}},Jr={ordinalNumber:y({matchPattern:Nr,parsePattern:Ar,valueCallback:e=>parseInt(e,10)}),era:s({matchPatterns:Er,defaultMatchWidth:"wide",parsePatterns:Lr,defaultParseWidth:"any"}),quarter:s({matchPatterns:Hr,defaultMatchWidth:"wide",parsePatterns:Or,defaultParseWidth:"any",valueCallback:e=>e+1}),month:s({matchPatterns:Gr,defaultMatchWidth:"wide",parsePatterns:Vr,defaultParseWidth:"any"}),day:s({matchPatterns:Fr,defaultMatchWidth:"wide",parsePatterns:Ir,defaultParseWidth:"any"}),dayPeriod:s({matchPatterns:Xr,defaultMatchWidth:"any",parsePatterns:Rr,defaultParseWidth:"any"})},qr={code:"pt-BR",formatDistance:wr,formatLong:Pr,formatRelative:xr,localize:Cr,match:Jr,options:{weekStartsOn:0,firstWeekContainsDate:1}};function W(e,a){if(e.one!==void 0&&a===1)return e.one;const n=a%10,t=a%100;return n===1&&t!==11?e.singularNominative.replace("{{count}}",String(a)):n>=2&&n<=4&&(t<10||t>20)?e.singularGenitive.replace("{{count}}",String(a)):e.pluralGenitive.replace("{{count}}",String(a))}function f(e){return(a,n)=>n!=null&&n.addSuffix?n.comparison&&n.comparison>0?e.future?W(e.future,a):"через "+W(e.regular,a):e.past?W(e.past,a):W(e.regular,a)+" назад":W(e.regular,a)}const Yr={lessThanXSeconds:f({regular:{one:"меньше секунды",singularNominative:"меньше {{count}} секунды",singularGenitive:"меньше {{count}} секунд",pluralGenitive:"меньше {{count}} секунд"},future:{one:"меньше, чем через секунду",singularNominative:"меньше, чем через {{count}} секунду",singularGenitive:"меньше, чем через {{count}} секунды",pluralGenitive:"меньше, чем через {{count}} секунд"}}),xSeconds:f({regular:{singularNominative:"{{count}} секунда",singularGenitive:"{{count}} секунды",pluralGenitive:"{{count}} секунд"},past:{singularNominative:"{{count}} секунду назад",singularGenitive:"{{count}} секунды назад",pluralGenitive:"{{count}} секунд назад"},future:{singularNominative:"через {{count}} секунду",singularGenitive:"через {{count}} секунды",pluralGenitive:"через {{count}} секунд"}}),halfAMinute:(e,a)=>a!=null&&a.addSuffix?a.comparison&&a.comparison>0?"через полминуты":"полминуты назад":"полминуты",lessThanXMinutes:f({regular:{one:"меньше минуты",singularNominative:"меньше {{count}} минуты",singularGenitive:"меньше {{count}} минут",pluralGenitive:"меньше {{count}} минут"},future:{one:"меньше, чем через минуту",singularNominative:"меньше, чем через {{count}} минуту",singularGenitive:"меньше, чем через {{count}} минуты",pluralGenitive:"меньше, чем через {{count}} минут"}}),xMinutes:f({regular:{singularNominative:"{{count}} минута",singularGenitive:"{{count}} минуты",pluralGenitive:"{{count}} минут"},past:{singularNominative:"{{count}} минуту назад",singularGenitive:"{{count}} минуты назад",pluralGenitive:"{{count}} минут назад"},future:{singularNominative:"через {{count}} минуту",singularGenitive:"через {{count}} минуты",pluralGenitive:"через {{count}} минут"}}),aboutXHours:f({regular:{singularNominative:"около {{count}} часа",singularGenitive:"около {{count}} часов",pluralGenitive:"около {{count}} часов"},future:{singularNominative:"приблизительно через {{count}} час",singularGenitive:"приблизительно через {{count}} часа",pluralGenitive:"приблизительно через {{count}} часов"}}),xHours:f({regular:{singularNominative:"{{count}} час",singularGenitive:"{{count}} часа",pluralGenitive:"{{count}} часов"}}),xDays:f({regular:{singularNominative:"{{count}} день",singularGenitive:"{{count}} дня",pluralGenitive:"{{count}} дней"}}),aboutXWeeks:f({regular:{singularNominative:"около {{count}} недели",singularGenitive:"около {{count}} недель",pluralGenitive:"около {{count}} недель"},future:{singularNominative:"приблизительно через {{count}} неделю",singularGenitive:"приблизительно через {{count}} недели",pluralGenitive:"приблизительно через {{count}} недель"}}),xWeeks:f({regular:{singularNominative:"{{count}} неделя",singularGenitive:"{{count}} недели",pluralGenitive:"{{count}} недель"}}),aboutXMonths:f({regular:{singularNominative:"около {{count}} месяца",singularGenitive:"около {{count}} месяцев",pluralGenitive:"около {{count}} месяцев"},future:{singularNominative:"приблизительно через {{count}} месяц",singularGenitive:"приблизительно через {{count}} месяца",pluralGenitive:"приблизительно через {{count}} месяцев"}}),xMonths:f({regular:{singularNominative:"{{count}} месяц",singularGenitive:"{{count}} месяца",pluralGenitive:"{{count}} месяцев"}}),aboutXYears:f({regular:{singularNominative:"около {{count}} года",singularGenitive:"около {{count}} лет",pluralGenitive:"около {{count}} лет"},future:{singularNominative:"приблизительно через {{count}} год",singularGenitive:"приблизительно через {{count}} года",pluralGenitive:"приблизительно через {{count}} лет"}}),xYears:f({regular:{singularNominative:"{{count}} год",singularGenitive:"{{count}} года",pluralGenitive:"{{count}} лет"}}),overXYears:f({regular:{singularNominative:"больше {{count}} года",singularGenitive:"больше {{count}} лет",pluralGenitive:"больше {{count}} лет"},future:{singularNominative:"больше, чем через {{count}} год",singularGenitive:"больше, чем через {{count}} года",pluralGenitive:"больше, чем через {{count}} лет"}}),almostXYears:f({regular:{singularNominative:"почти {{count}} год",singularGenitive:"почти {{count}} года",pluralGenitive:"почти {{count}} лет"},future:{singularNominative:"почти через {{count}} год",singularGenitive:"почти через {{count}} года",pluralGenitive:"почти через {{count}} лет"}})},_r=(e,a,n)=>Yr[e](a,n),Br={full:"EEEE, d MMMM y 'г.'",long:"d MMMM y 'г.'",medium:"d MMM y 'г.'",short:"dd.MM.y"},Qr={full:"H:mm:ss zzzz",long:"H:mm:ss z",medium:"H:mm:ss",short:"H:mm"},Ur={any:"{{date}}, {{time}}"},Kr={date:l({formats:Br,defaultWidth:"full"}),time:l({formats:Qr,defaultWidth:"full"}),dateTime:l({formats:Ur,defaultWidth:"any"})},X=["воскресенье","понедельник","вторник","среду","четверг","пятницу","субботу"];function Zr(e){const a=X[e];switch(e){case 0:return"'в прошлое "+a+" в' p";case 1:case 2:case 4:return"'в прошлый "+a+" в' p";case 3:case 5:case 6:return"'в прошлую "+a+" в' p"}}function te(e){const a=X[e];return e===2?"'во "+a+" в' p":"'в "+a+" в' p"}function eo(e){const a=X[e];switch(e){case 0:return"'в следующее "+a+" в' p";case 1:case 2:case 4:return"'в следующий "+a+" в' p";case 3:case 5:case 6:return"'в следующую "+a+" в' p"}}const to={lastWeek:(e,a,n)=>{const t=e.getDay();return M(e,a,n)?te(t):Zr(t)},yesterday:"'вчера в' p",today:"'сегодня в' p",tomorrow:"'завтра в' p",nextWeek:(e,a,n)=>{const t=e.getDay();return M(e,a,n)?te(t):eo(t)},other:"P"},ao=(e,a,n,t)=>{const i=to[e];return typeof i=="function"?i(a,n,t):i},no={narrow:["до н.э.","н.э."],abbreviated:["до н. э.","н. э."],wide:["до нашей эры","нашей эры"]},io={narrow:["1","2","3","4"],abbreviated:["1-й кв.","2-й кв.","3-й кв.","4-й кв."],wide:["1-й квартал","2-й квартал","3-й квартал","4-й квартал"]},ro={narrow:["Я","Ф","М","А","М","И","И","А","С","О","Н","Д"],abbreviated:["янв.","фев.","март","апр.","май","июнь","июль","авг.","сент.","окт.","нояб.","дек."],wide:["январь","февраль","март","апрель","май","июнь","июль","август","сентябрь","октябрь","ноябрь","декабрь"]},oo={narrow:["Я","Ф","М","А","М","И","И","А","С","О","Н","Д"],abbreviated:["янв.","фев.","мар.","апр.","мая","июн.","июл.","авг.","сент.","окт.","нояб.","дек."],wide:["января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря"]},so={narrow:["В","П","В","С","Ч","П","С"],short:["вс","пн","вт","ср","чт","пт","сб"],abbreviated:["вск","пнд","втр","срд","чтв","птн","суб"],wide:["воскресенье","понедельник","вторник","среда","четверг","пятница","суббота"]},uo={narrow:{am:"ДП",pm:"ПП",midnight:"полн.",noon:"полд.",morning:"утро",afternoon:"день",evening:"веч.",night:"ночь"},abbreviated:{am:"ДП",pm:"ПП",midnight:"полн.",noon:"полд.",morning:"утро",afternoon:"день",evening:"веч.",night:"ночь"},wide:{am:"ДП",pm:"ПП",midnight:"полночь",noon:"полдень",morning:"утро",afternoon:"день",evening:"вечер",night:"ночь"}},mo={narrow:{am:"ДП",pm:"ПП",midnight:"полн.",noon:"полд.",morning:"утра",afternoon:"дня",evening:"веч.",night:"ночи"},abbreviated:{am:"ДП",pm:"ПП",midnight:"полн.",noon:"полд.",morning:"утра",afternoon:"дня",evening:"веч.",night:"ночи"},wide:{am:"ДП",pm:"ПП",midnight:"полночь",noon:"полдень",morning:"утра",afternoon:"дня",evening:"вечера",night:"ночи"}},lo=(e,a)=>{const n=Number(e),t=a==null?void 0:a.unit;let i;return t==="date"?i="-е":t==="week"||t==="minute"||t==="second"?i="-я":i="-й",n+i},co={ordinalNumber:lo,era:o({values:no,defaultWidth:"wide"}),quarter:o({values:io,defaultWidth:"wide",argumentCallback:e=>e-1}),month:o({values:ro,defaultWidth:"wide",formattingValues:oo,defaultFormattingWidth:"wide"}),day:o({values:so,defaultWidth:"wide"}),dayPeriod:o({values:uo,defaultWidth:"any",formattingValues:mo,defaultFormattingWidth:"wide"})},ho=/^(\d+)(-?(е|я|й|ое|ье|ая|ья|ый|ой|ий|ый))?/i,go=/\d+/i,fo={narrow:/^((до )?н\.?\s?э\.?)/i,abbreviated:/^((до )?н\.?\s?э\.?)/i,wide:/^(до нашей эры|нашей эры|наша эра)/i},po={any:[/^д/i,/^н/i]},vo={narrow:/^[1234]/i,abbreviated:/^[1234](-?[ыои]?й?)? кв.?/i,wide:/^[1234](-?[ыои]?й?)? квартал/i},wo={any:[/1/i,/2/i,/3/i,/4/i]},yo={narrow:/^[яфмаисонд]/i,abbreviated:/^(янв|фев|март?|апр|ма[йя]|июн[ья]?|июл[ья]?|авг|сент?|окт|нояб?|дек)\.?/i,wide:/^(январ[ья]|феврал[ья]|марта?|апрел[ья]|ма[йя]|июн[ья]|июл[ья]|августа?|сентябр[ья]|октябр[ья]|октябр[ья]|ноябр[ья]|декабр[ья])/i},bo={narrow:[/^я/i,/^ф/i,/^м/i,/^а/i,/^м/i,/^и/i,/^и/i,/^а/i,/^с/i,/^о/i,/^н/i,/^я/i],any:[/^я/i,/^ф/i,/^мар/i,/^ап/i,/^ма[йя]/i,/^июн/i,/^июл/i,/^ав/i,/^с/i,/^о/i,/^н/i,/^д/i]},Mo={narrow:/^[впсч]/i,short:/^(вс|во|пн|по|вт|ср|чт|че|пт|пя|сб|су)\.?/i,abbreviated:/^(вск|вос|пнд|пон|втр|вто|срд|сре|чтв|чет|птн|пят|суб).?/i,wide:/^(воскресень[ея]|понедельника?|вторника?|сред[аы]|четверга?|пятниц[аы]|суббот[аы])/i},Po={narrow:[/^в/i,/^п/i,/^в/i,/^с/i,/^ч/i,/^п/i,/^с/i],any:[/^в[ос]/i,/^п[он]/i,/^в/i,/^ср/i,/^ч/i,/^п[ят]/i,/^с[уб]/i]},ko={narrow:/^([дп]п|полн\.?|полд\.?|утр[оа]|день|дня|веч\.?|ноч[ьи])/i,abbreviated:/^([дп]п|полн\.?|полд\.?|утр[оа]|день|дня|веч\.?|ноч[ьи])/i,wide:/^([дп]п|полночь|полдень|утр[оа]|день|дня|вечера?|ноч[ьи])/i},xo={any:{am:/^дп/i,pm:/^пп/i,midnight:/^полн/i,noon:/^полд/i,morning:/^у/i,afternoon:/^д[ен]/i,evening:/^в/i,night:/^н/i}},Wo={ordinalNumber:y({matchPattern:ho,parsePattern:go,valueCallback:e=>parseInt(e,10)}),era:s({matchPatterns:fo,defaultMatchWidth:"wide",parsePatterns:po,defaultParseWidth:"any"}),quarter:s({matchPatterns:vo,defaultMatchWidth:"wide",parsePatterns:wo,defaultParseWidth:"any",valueCallback:e=>e+1}),month:s({matchPatterns:yo,defaultMatchWidth:"wide",parsePatterns:bo,defaultParseWidth:"any"}),day:s({matchPatterns:Mo,defaultMatchWidth:"wide",parsePatterns:Po,defaultParseWidth:"any"}),dayPeriod:s({matchPatterns:ko,defaultMatchWidth:"wide",parsePatterns:xo,defaultParseWidth:"any"})},zo={code:"ru",formatDistance:_r,formatLong:Kr,formatRelative:ao,localize:co,match:Wo,options:{weekStartsOn:1,firstWeekContainsDate:1}};function z(e,a){if(e.one!==void 0&&a===1)return e.one;const n=a%10,t=a%100;return n===1&&t!==11?e.singularNominative.replace("{{count}}",String(a)):n>=2&&n<=4&&(t<10||t>20)?e.singularGenitive.replace("{{count}}",String(a)):e.pluralGenitive.replace("{{count}}",String(a))}function p(e){return(a,n)=>n&&n.addSuffix?n.comparison&&n.comparison>0?e.future?z(e.future,a):"за "+z(e.regular,a):e.past?z(e.past,a):z(e.regular,a)+" тому":z(e.regular,a)}const jo=(e,a)=>a&&a.addSuffix?a.comparison&&a.comparison>0?"за півхвилини":"півхвилини тому":"півхвилини",$o={lessThanXSeconds:p({regular:{one:"менше секунди",singularNominative:"менше {{count}} секунди",singularGenitive:"менше {{count}} секунд",pluralGenitive:"менше {{count}} секунд"},future:{one:"менше, ніж за секунду",singularNominative:"менше, ніж за {{count}} секунду",singularGenitive:"менше, ніж за {{count}} секунди",pluralGenitive:"менше, ніж за {{count}} секунд"}}),xSeconds:p({regular:{singularNominative:"{{count}} секунда",singularGenitive:"{{count}} секунди",pluralGenitive:"{{count}} секунд"},past:{singularNominative:"{{count}} секунду тому",singularGenitive:"{{count}} секунди тому",pluralGenitive:"{{count}} секунд тому"},future:{singularNominative:"за {{count}} секунду",singularGenitive:"за {{count}} секунди",pluralGenitive:"за {{count}} секунд"}}),halfAMinute:jo,lessThanXMinutes:p({regular:{one:"менше хвилини",singularNominative:"менше {{count}} хвилини",singularGenitive:"менше {{count}} хвилин",pluralGenitive:"менше {{count}} хвилин"},future:{one:"менше, ніж за хвилину",singularNominative:"менше, ніж за {{count}} хвилину",singularGenitive:"менше, ніж за {{count}} хвилини",pluralGenitive:"менше, ніж за {{count}} хвилин"}}),xMinutes:p({regular:{singularNominative:"{{count}} хвилина",singularGenitive:"{{count}} хвилини",pluralGenitive:"{{count}} хвилин"},past:{singularNominative:"{{count}} хвилину тому",singularGenitive:"{{count}} хвилини тому",pluralGenitive:"{{count}} хвилин тому"},future:{singularNominative:"за {{count}} хвилину",singularGenitive:"за {{count}} хвилини",pluralGenitive:"за {{count}} хвилин"}}),aboutXHours:p({regular:{singularNominative:"близько {{count}} години",singularGenitive:"близько {{count}} годин",pluralGenitive:"близько {{count}} годин"},future:{singularNominative:"приблизно за {{count}} годину",singularGenitive:"приблизно за {{count}} години",pluralGenitive:"приблизно за {{count}} годин"}}),xHours:p({regular:{singularNominative:"{{count}} годину",singularGenitive:"{{count}} години",pluralGenitive:"{{count}} годин"}}),xDays:p({regular:{singularNominative:"{{count}} день",singularGenitive:"{{count}} днi",pluralGenitive:"{{count}} днів"}}),aboutXWeeks:p({regular:{singularNominative:"близько {{count}} тижня",singularGenitive:"близько {{count}} тижнів",pluralGenitive:"близько {{count}} тижнів"},future:{singularNominative:"приблизно за {{count}} тиждень",singularGenitive:"приблизно за {{count}} тижні",pluralGenitive:"приблизно за {{count}} тижнів"}}),xWeeks:p({regular:{singularNominative:"{{count}} тиждень",singularGenitive:"{{count}} тижні",pluralGenitive:"{{count}} тижнів"}}),aboutXMonths:p({regular:{singularNominative:"близько {{count}} місяця",singularGenitive:"близько {{count}} місяців",pluralGenitive:"близько {{count}} місяців"},future:{singularNominative:"приблизно за {{count}} місяць",singularGenitive:"приблизно за {{count}} місяці",pluralGenitive:"приблизно за {{count}} місяців"}}),xMonths:p({regular:{singularNominative:"{{count}} місяць",singularGenitive:"{{count}} місяці",pluralGenitive:"{{count}} місяців"}}),aboutXYears:p({regular:{singularNominative:"близько {{count}} року",singularGenitive:"близько {{count}} років",pluralGenitive:"близько {{count}} років"},future:{singularNominative:"приблизно за {{count}} рік",singularGenitive:"приблизно за {{count}} роки",pluralGenitive:"приблизно за {{count}} років"}}),xYears:p({regular:{singularNominative:"{{count}} рік",singularGenitive:"{{count}} роки",pluralGenitive:"{{count}} років"}}),overXYears:p({regular:{singularNominative:"більше {{count}} року",singularGenitive:"більше {{count}} років",pluralGenitive:"більше {{count}} років"},future:{singularNominative:"більше, ніж за {{count}} рік",singularGenitive:"більше, ніж за {{count}} роки",pluralGenitive:"більше, ніж за {{count}} років"}}),almostXYears:p({regular:{singularNominative:"майже {{count}} рік",singularGenitive:"майже {{count}} роки",pluralGenitive:"майже {{count}} років"},future:{singularNominative:"майже за {{count}} рік",singularGenitive:"майже за {{count}} роки",pluralGenitive:"майже за {{count}} років"}})},Do=(e,a,n)=>(n=n||{},$o[e](a,n)),So={full:"EEEE, do MMMM y 'р.'",long:"do MMMM y 'р.'",medium:"d MMM y 'р.'",short:"dd.MM.y"},To={full:"H:mm:ss zzzz",long:"H:mm:ss z",medium:"H:mm:ss",short:"H:mm"},Co={full:"{{date}} 'о' {{time}}",long:"{{date}} 'о' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},No={date:l({formats:So,defaultWidth:"full"}),time:l({formats:To,defaultWidth:"full"}),dateTime:l({formats:Co,defaultWidth:"full"})},R=["неділю","понеділок","вівторок","середу","четвер","п’ятницю","суботу"];function Ao(e){const a=R[e];switch(e){case 0:case 3:case 5:case 6:return"'у минулу "+a+" о' p";case 1:case 2:case 4:return"'у минулий "+a+" о' p"}}function ue(e){return"'у "+R[e]+" о' p"}function Eo(e){const a=R[e];switch(e){case 0:case 3:case 5:case 6:return"'у наступну "+a+" о' p";case 1:case 2:case 4:return"'у наступний "+a+" о' p"}}const Lo=(e,a,n)=>{const t=de(e),i=t.getDay();return M(t,a,n)?ue(i):Ao(i)},Ho=(e,a,n)=>{const t=de(e),i=t.getDay();return M(t,a,n)?ue(i):Eo(i)},Oo={lastWeek:Lo,yesterday:"'вчора о' p",today:"'сьогодні о' p",tomorrow:"'завтра о' p",nextWeek:Ho,other:"P"},Go=(e,a,n,t)=>{const i=Oo[e];return typeof i=="function"?i(a,n,t):i},Vo={narrow:["до н.е.","н.е."],abbreviated:["до н. е.","н. е."],wide:["до нашої ери","нашої ери"]},Fo={narrow:["1","2","3","4"],abbreviated:["1-й кв.","2-й кв.","3-й кв.","4-й кв."],wide:["1-й квартал","2-й квартал","3-й квартал","4-й квартал"]},Io={narrow:["С","Л","Б","К","Т","Ч","Л","С","В","Ж","Л","Г"],abbreviated:["січ.","лют.","берез.","квіт.","трав.","черв.","лип.","серп.","верес.","жовт.","листоп.","груд."],wide:["січень","лютий","березень","квітень","травень","червень","липень","серпень","вересень","жовтень","листопад","грудень"]},Xo={narrow:["С","Л","Б","К","Т","Ч","Л","С","В","Ж","Л","Г"],abbreviated:["січ.","лют.","берез.","квіт.","трав.","черв.","лип.","серп.","верес.","жовт.","листоп.","груд."],wide:["січня","лютого","березня","квітня","травня","червня","липня","серпня","вересня","жовтня","листопада","грудня"]},Ro={narrow:["Н","П","В","С","Ч","П","С"],short:["нд","пн","вт","ср","чт","пт","сб"],abbreviated:["нед","пон","вів","сер","чтв","птн","суб"],wide:["неділя","понеділок","вівторок","середа","четвер","п’ятниця","субота"]},Jo={narrow:{am:"ДП",pm:"ПП",midnight:"півн.",noon:"пол.",morning:"ранок",afternoon:"день",evening:"веч.",night:"ніч"},abbreviated:{am:"ДП",pm:"ПП",midnight:"півн.",noon:"пол.",morning:"ранок",afternoon:"день",evening:"веч.",night:"ніч"},wide:{am:"ДП",pm:"ПП",midnight:"північ",noon:"полудень",morning:"ранок",afternoon:"день",evening:"вечір",night:"ніч"}},qo={narrow:{am:"ДП",pm:"ПП",midnight:"півн.",noon:"пол.",morning:"ранку",afternoon:"дня",evening:"веч.",night:"ночі"},abbreviated:{am:"ДП",pm:"ПП",midnight:"півн.",noon:"пол.",morning:"ранку",afternoon:"дня",evening:"веч.",night:"ночі"},wide:{am:"ДП",pm:"ПП",midnight:"північ",noon:"полудень",morning:"ранку",afternoon:"дня",evening:"веч.",night:"ночі"}},Yo=(e,a)=>{const n=String(a==null?void 0:a.unit),t=Number(e);let i;return n==="date"?t===3||t===23?i="-є":i="-е":n==="minute"||n==="second"||n==="hour"?i="-а":i="-й",t+i},_o={ordinalNumber:Yo,era:o({values:Vo,defaultWidth:"wide"}),quarter:o({values:Fo,defaultWidth:"wide",argumentCallback:e=>e-1}),month:o({values:Io,defaultWidth:"wide",formattingValues:Xo,defaultFormattingWidth:"wide"}),day:o({values:Ro,defaultWidth:"wide"}),dayPeriod:o({values:Jo,defaultWidth:"any",formattingValues:qo,defaultFormattingWidth:"wide"})},Bo=/^(\d+)(-?(е|й|є|а|я))?/i,Qo=/\d+/i,Uo={narrow:/^((до )?н\.?\s?е\.?)/i,abbreviated:/^((до )?н\.?\s?е\.?)/i,wide:/^(до нашої ери|нашої ери|наша ера)/i},Ko={any:[/^д/i,/^н/i]},Zo={narrow:/^[1234]/i,abbreviated:/^[1234](-?[иі]?й?)? кв.?/i,wide:/^[1234](-?[иі]?й?)? квартал/i},es={any:[/1/i,/2/i,/3/i,/4/i]},ts={narrow:/^[слбктчвжг]/i,abbreviated:/^(січ|лют|бер(ез)?|квіт|трав|черв|лип|серп|вер(ес)?|жовт|лис(топ)?|груд)\.?/i,wide:/^(січень|січня|лютий|лютого|березень|березня|квітень|квітня|травень|травня|червня|червень|липень|липня|серпень|серпня|вересень|вересня|жовтень|жовтня|листопад[а]?|грудень|грудня)/i},as={narrow:[/^с/i,/^л/i,/^б/i,/^к/i,/^т/i,/^ч/i,/^л/i,/^с/i,/^в/i,/^ж/i,/^л/i,/^г/i],any:[/^сі/i,/^лю/i,/^б/i,/^к/i,/^т/i,/^ч/i,/^лип/i,/^се/i,/^в/i,/^ж/i,/^лис/i,/^г/i]},ns={narrow:/^[нпвсч]/i,short:/^(нд|пн|вт|ср|чт|пт|сб)\.?/i,abbreviated:/^(нед|пон|вів|сер|че?тв|птн?|суб)\.?/i,wide:/^(неділ[яі]|понеділ[ок][ка]|вівтор[ок][ка]|серед[аи]|четвер(га)?|п\W*?ятниц[яі]|субот[аи])/i},is={narrow:[/^н/i,/^п/i,/^в/i,/^с/i,/^ч/i,/^п/i,/^с/i],any:[/^н/i,/^п[он]/i,/^в/i,/^с[ер]/i,/^ч/i,/^п\W*?[ят]/i,/^с[уб]/i]},rs={narrow:/^([дп]п|півн\.?|пол\.?|ранок|ранку|день|дня|веч\.?|ніч|ночі)/i,abbreviated:/^([дп]п|півн\.?|пол\.?|ранок|ранку|день|дня|веч\.?|ніч|ночі)/i,wide:/^([дп]п|північ|полудень|ранок|ранку|день|дня|вечір|вечора|ніч|ночі)/i},os={any:{am:/^дп/i,pm:/^пп/i,midnight:/^півн/i,noon:/^пол/i,morning:/^р/i,afternoon:/^д[ен]/i,evening:/^в/i,night:/^н/i}},ss={ordinalNumber:y({matchPattern:Bo,parsePattern:Qo,valueCallback:e=>parseInt(e,10)}),era:s({matchPatterns:Uo,defaultMatchWidth:"wide",parsePatterns:Ko,defaultParseWidth:"any"}),quarter:s({matchPatterns:Zo,defaultMatchWidth:"wide",parsePatterns:es,defaultParseWidth:"any",valueCallback:e=>e+1}),month:s({matchPatterns:ts,defaultMatchWidth:"wide",parsePatterns:as,defaultParseWidth:"any"}),day:s({matchPatterns:ns,defaultMatchWidth:"wide",parsePatterns:is,defaultParseWidth:"any"}),dayPeriod:s({matchPatterns:rs,defaultMatchWidth:"wide",parsePatterns:os,defaultParseWidth:"any"})},ds={code:"uk",formatDistance:Do,formatLong:No,formatRelative:Go,localize:_o,match:ss,options:{weekStartsOn:1,firstWeekContainsDate:1}},us={lessThanXSeconds:{one:"不到 1 秒",other:"不到 {{count}} 秒"},xSeconds:{one:"1 秒",other:"{{count}} 秒"},halfAMinute:"半分钟",lessThanXMinutes:{one:"不到 1 分钟",other:"不到 {{count}} 分钟"},xMinutes:{one:"1 分钟",other:"{{count}} 分钟"},xHours:{one:"1 小时",other:"{{count}} 小时"},aboutXHours:{one:"大约 1 小时",other:"大约 {{count}} 小时"},xDays:{one:"1 天",other:"{{count}} 天"},aboutXWeeks:{one:"大约 1 个星期",other:"大约 {{count}} 个星期"},xWeeks:{one:"1 个星期",other:"{{count}} 个星期"},aboutXMonths:{one:"大约 1 个月",other:"大约 {{count}} 个月"},xMonths:{one:"1 个月",other:"{{count}} 个月"},aboutXYears:{one:"大约 1 年",other:"大约 {{count}} 年"},xYears:{one:"1 年",other:"{{count}} 年"},overXYears:{one:"超过 1 年",other:"超过 {{count}} 年"},almostXYears:{one:"将近 1 年",other:"将近 {{count}} 年"}},ms=(e,a,n)=>{let t;const i=us[e];return typeof i=="string"?t=i:a===1?t=i.one:t=i.other.replace("{{count}}",String(a)),n!=null&&n.addSuffix?n.comparison&&n.comparison>0?t+"内":t+"前":t},ls={full:"y'年'M'月'd'日' EEEE",long:"y'年'M'月'd'日'",medium:"yyyy-MM-dd",short:"yy-MM-dd"},cs={full:"zzzz a h:mm:ss",long:"z a h:mm:ss",medium:"a h:mm:ss",short:"a h:mm"},hs={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},gs={date:l({formats:ls,defaultWidth:"full"}),time:l({formats:cs,defaultWidth:"full"}),dateTime:l({formats:hs,defaultWidth:"full"})};function ae(e,a,n){const t="eeee p";return M(e,a,n)?t:e.getTime()>a.getTime()?"'下个'"+t:"'上个'"+t}const fs={lastWeek:ae,yesterday:"'昨天' p",today:"'今天' p",tomorrow:"'明天' p",nextWeek:ae,other:"PP p"},ps=(e,a,n,t)=>{const i=fs[e];return typeof i=="function"?i(a,n,t):i},vs={narrow:["前","公元"],abbreviated:["前","公元"],wide:["公元前","公元"]},ws={narrow:["1","2","3","4"],abbreviated:["第一季","第二季","第三季","第四季"],wide:["第一季度","第二季度","第三季度","第四季度"]},ys={narrow:["一","二","三","四","五","六","七","八","九","十","十一","十二"],abbreviated:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],wide:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]},bs={narrow:["日","一","二","三","四","五","六"],short:["日","一","二","三","四","五","六"],abbreviated:["周日","周一","周二","周三","周四","周五","周六"],wide:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]},Ms={narrow:{am:"上",pm:"下",midnight:"凌晨",noon:"午",morning:"早",afternoon:"下午",evening:"晚",night:"夜"},abbreviated:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜间"},wide:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜间"}},Ps={narrow:{am:"上",pm:"下",midnight:"凌晨",noon:"午",morning:"早",afternoon:"下午",evening:"晚",night:"夜"},abbreviated:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜间"},wide:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜间"}},ks=(e,a)=>{const n=Number(e);switch(a==null?void 0:a.unit){case"date":return n.toString()+"日";case"hour":return n.toString()+"时";case"minute":return n.toString()+"分";case"second":return n.toString()+"秒";default:return"第 "+n.toString()}},xs={ordinalNumber:ks,era:o({values:vs,defaultWidth:"wide"}),quarter:o({values:ws,defaultWidth:"wide",argumentCallback:e=>e-1}),month:o({values:ys,defaultWidth:"wide"}),day:o({values:bs,defaultWidth:"wide"}),dayPeriod:o({values:Ms,defaultWidth:"wide",formattingValues:Ps,defaultFormattingWidth:"wide"})},Ws=/^(第\s*)?\d+(日|时|分|秒)?/i,zs=/\d+/i,js={narrow:/^(前)/i,abbreviated:/^(前)/i,wide:/^(公元前|公元)/i},$s={any:[/^(前)/i,/^(公元)/i]},Ds={narrow:/^[1234]/i,abbreviated:/^第[一二三四]刻/i,wide:/^第[一二三四]刻钟/i},Ss={any:[/(1|一)/i,/(2|二)/i,/(3|三)/i,/(4|四)/i]},Ts={narrow:/^(一|二|三|四|五|六|七|八|九|十[二一])/i,abbreviated:/^(一|二|三|四|五|六|七|八|九|十[二一]|\d|1[12])月/i,wide:/^(一|二|三|四|五|六|七|八|九|十[二一])月/i},Cs={narrow:[/^一/i,/^二/i,/^三/i,/^四/i,/^五/i,/^六/i,/^七/i,/^八/i,/^九/i,/^十(?!(一|二))/i,/^十一/i,/^十二/i],any:[/^一|1/i,/^二|2/i,/^三|3/i,/^四|4/i,/^五|5/i,/^六|6/i,/^七|7/i,/^八|8/i,/^九|9/i,/^十(?!(一|二))|10/i,/^十一|11/i,/^十二|12/i]},Ns={narrow:/^[一二三四五六日]/i,short:/^[一二三四五六日]/i,abbreviated:/^周[一二三四五六日]/i,wide:/^星期[一二三四五六日]/i},As={any:[/日/i,/一/i,/二/i,/三/i,/四/i,/五/i,/六/i]},Es={any:/^(上午?|下午?|午夜|[中正]午|早上?|下午|晚上?|凌晨|)/i},Ls={any:{am:/^上午?/i,pm:/^下午?/i,midnight:/^午夜/i,noon:/^[中正]午/i,morning:/^早上/i,afternoon:/^下午/i,evening:/^晚上?/i,night:/^凌晨/i}},Hs={ordinalNumber:y({matchPattern:Ws,parsePattern:zs,valueCallback:e=>parseInt(e,10)}),era:s({matchPatterns:js,defaultMatchWidth:"wide",parsePatterns:$s,defaultParseWidth:"any"}),quarter:s({matchPatterns:Ds,defaultMatchWidth:"wide",parsePatterns:Ss,defaultParseWidth:"any",valueCallback:e=>e+1}),month:s({matchPatterns:Ts,defaultMatchWidth:"wide",parsePatterns:Cs,defaultParseWidth:"any"}),day:s({matchPatterns:Ns,defaultMatchWidth:"wide",parsePatterns:As,defaultParseWidth:"any"}),dayPeriod:s({matchPatterns:Es,defaultMatchWidth:"any",parsePatterns:Ls,defaultParseWidth:"any"})},Os={code:"zh-CN",formatDistance:ms,formatLong:gs,formatRelative:ps,localize:xs,match:Hs,options:{weekStartsOn:1,firstWeekContainsDate:4}};function Gs(e,a){const n=j(a);$(function(){a!==n.current&&e.attributionControl!=null&&(n.current!=null&&e.attributionControl.removeAttribution(n.current),a!=null&&e.attributionControl.addAttribution(a)),n.current=a},[e,a])}const Vs=1;function Fs(e){return Object.freeze({__version:Vs,map:e})}const me=ye(null),Is=me.Provider;function le(){const e=be(me);if(e==null)throw new Error("No context provided: useLeafletContext() can only be used in a descendant of ");return e}function Xs(e){function a(n,t){const{instance:i}=e(n).current;return re(t,()=>i),null}return ie(a)}function Rs(e,a){const n=j();$(function(){return a!=null&&e.instance.on(a),n.current=a,function(){n.current!=null&&e.instance.off(n.current),n.current=null}},[e,a])}function ce(e,a){const n=e.pane??a.pane;return n?{...e,pane:n}:e}function Js(e,a,n){return Object.freeze({instance:e,context:a,container:n})}function qs(e,a){return a==null?function(t,i){const c=j();return c.current||(c.current=e(t,i)),c}:function(t,i){const c=j();c.current||(c.current=e(t,i));const m=j(t),{instance:g}=c.current;return $(function(){m.current!==t&&(a(g,t,m.current),m.current=t)},[g,t,i]),c}}function Ys(e,a){$(function(){return(a.layerContainer??a.map).addLayer(e.instance),function(){var c;(c=a.layerContainer)==null||c.removeLayer(e.instance),a.map.removeLayer(e.instance)}},[a,e])}function _s(e){return function(n){const t=le(),i=e(ce(n,t),t);return Gs(t.map,n.attribution),Rs(i.current,n.eventHandlers),Ys(i.current,t),i}}function Bs(e,a){const n=qs(e,a),t=_s(n);return Xs(t)}function Qs(e,a,n){const{opacity:t,zIndex:i}=a;t!=null&&t!==n.opacity&&e.setOpacity(t),i!=null&&i!==n.zIndex&&e.setZIndex(i)}function Us(){return le().map}function F(){return F=Object.assign||function(e){for(var a=1;a(u==null?void 0:u.map)??null,[u]);const ge=Me(J=>{if(J!==null&&u===null){const D=new oe.Map(J,x);n!=null&&w!=null?D.setView(n,w):e!=null&&D.fitBounds(e,a),h!=null&&D.whenReady(h),he(Fs(D))}},[]);$(()=>()=>{u==null||u.map.remove()},[u]);const fe=u?G.createElement(Is,{value:u},t):m??null;return G.createElement("div",F({},b,{ref:ge}),fe)}const Zs=ie(Ks),ed=Bs(function({url:a,...n},t){const i=new oe.TileLayer(a,ce(n,t));return Js(i,t)},function(a,n,t){Qs(a,n,t);const{url:i}=n;i!=null&&i!==t.url&&a.setUrl(i)}),td="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=",ad="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACkAAAApCAQAAAACach9AAACMUlEQVR4Ae3ShY7jQBAE0Aoz/f9/HTMzhg1zrdKUrJbdx+Kd2nD8VNudfsL/Th///dyQN2TH6f3y/BGpC379rV+S+qqetBOxImNQXL8JCAr2V4iMQXHGNJxeCfZXhSRBcQMfvkOWUdtfzlLgAENmZDcmo2TVmt8OSM2eXxBp3DjHSMFutqS7SbmemzBiR+xpKCNUIRkdkkYxhAkyGoBvyQFEJEefwSmmvBfJuJ6aKqKWnAkvGZOaZXTUgFqYULWNSHUckZuR1HIIimUExutRxwzOLROIG4vKmCKQt364mIlhSyzAf1m9lHZHJZrlAOMMztRRiKimp/rpdJDc9Awry5xTZCte7FHtuS8wJgeYGrex28xNTd086Dik7vUMscQOa8y4DoGtCCSkAKlNwpgNtphjrC6MIHUkR6YWxxs6Sc5xqn222mmCRFzIt8lEdKx+ikCtg91qS2WpwVfBelJCiQJwvzixfI9cxZQWgiSJelKnwBElKYtDOb2MFbhmUigbReQBV0Cg4+qMXSxXSyGUn4UbF8l+7qdSGnTC0XLCmahIgUHLhLOhpVCtw4CzYXvLQWQbJNmxoCsOKAxSgBJno75avolkRw8iIAFcsdc02e9iyCd8tHwmeSSoKTowIgvscSGZUOA7PuCN5b2BX9mQM7S0wYhMNU74zgsPBj3HU7wguAfnxxjFQGBE6pwN+GjME9zHY7zGp8wVxMShYX9NXvEWD3HbwJf4giO4CFIQxXScH1/TM+04kkBiAAAAAElFTkSuQmCC",nd="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAABSCAMAAAAhFXfZAAAC91BMVEVMaXEzeak2f7I4g7g3g7cua5gzeKg8hJo3grY4g7c3grU0gLI2frE0daAubJc2gbQwd6QzeKk2gLMtd5sxdKIua5g1frA2f7IydaM0e6w2fq41fK01eqo3grgubJgta5cxdKI1f7AydaQydaMxc6EubJgvbJkwcZ4ubZkwcJwubZgubJcydqUydKIxapgubJctbJcubZcubJcvbJYubJcvbZkubJctbJctbZcubJg2f7AubJcrbZcubJcubJcua5g3grY0fq8ubJcubJdEkdEwhsw6i88vhswuhcsuhMtBjMgthMsrg8srgss6is8qgcs8i9A9iMYtg8spgcoogMo7hcMngMonf8olfso4gr8kfck5iM8jfMk4iM8he8k1fro7itAgesk2hs8eecgzfLcofssdeMg0hc4cd8g2hcsxeLQbdsgZdcgxeLImfcszhM0vda4xgckzhM4xg84wf8Yxgs4udKsvfcQucqhUndROmdM1fK0wcZ8vb5w0eqpQm9MzeKhXoNVcpdYydKNWn9VZotVKltJFjsIwcJ1Rms9OlslLmtH///8+kc9epdYzd6dbo9VHkMM2f7FHmNBClM8ydqVcpNY9hro3gLM9hLczealQmcw3fa46f7A8gLMxc6I3eagyc6FIldJMl9JSnNRSntNNl9JPnNJFi75UnM9ZodVKksg8kM45jc09e6ZHltFBk883gbRBh7pDk9EwcaBzn784g7dKkcY2i81Om9M7j85Llc81is09g7Q4grY/j9A0eqxKmdFFltBEjcXf6fFImdBCiLxJl9FGlNFBi78yiMxVndEvbpo6js74+vx+psPP3+o/ks5HkcpGmNCjwdZCkNDM3ehYoNJEls+lxNkxh8xHks0+jdC1zd5Lg6r+/v/H2ufz9/o3jM3t8/edvdM/k89Th61OiLBSjbZklbaTt9BfptdjmL1AicBHj8hGk9FAgK1dkLNTjLRekrdClc/k7fM0icy0y9tgp9c4jc2NtM9Dlc8zicxeXZn3AAAAQ3RSTlMAHDdTb4yPA+LtnEQmC4L2EmHqB7XA0d0sr478x4/Yd5i1zOfyPkf1sLVq4Nh3FvjxopQ2/STNuFzUwFIwxKaejILpIBEV9wAABhVJREFUeF6s1NdyFEcYBeBeoQIhRAkLlRDGrhIgY3BJL8CVeKzuyXFzzjkn5ZxzzuScg3PO8cKzu70JkO0LfxdTU//pM9vTu7Xgf6KqOVTb9X7toRrVEfBf1HTVjZccrT/2by1VV928Yty9ZbVuucdz90frG8DBjl9pVApbOstvmMuvVgaNXSfAAd6pGxpy6yxf5ph43pS/4f3uoaGm2rdu72S9xzOvMymkZFq/ptDrk90mhW7e4zl7HLzhxGWPR20xmSxJ/VqldG5m9XhaVOA1DadsNh3Pu5L2N6QtPO/32JpqQBVVk20oy/Pi2s23WEvyfHbe1thadVQttvm7Llf65gGmXK67XtupyoM7HQhmXdLS8oGWJNeOJ3C5fG5XCEJnkez3/oFdsvgJ4l2ANZwhrJKk/7OSXa+3Vw2WJMlKnGkobouYk6T0TyX30klOUnTD9HJ5qpckL3EW/w4XF3Xd0FGywXUrstrclVsqz5Pd/sXFYyDnPdrLcQODmGOK47IZb4CmibmMn+MYRzFZ5jg33ZL/EJrWcszHmANy3ARBK/IXtciJy8VsitPSdE3uuHxzougojcUdr8/32atnz/ev3f/K5wtpxUTpcaI45zusVDpYtZi+jg0oU9b3x74h7+n9ABvYEZeKaVq0sh0AtLKsFtqNBdeT0MrSzwwlq9+x6xAO4tgOtSzbCjrNQQiNvQUbUEubvzBUeGw26yDCsRHCoLkTHDa7IdOLIThs/gHvChszh2CimE8peRs47cxANI0lYNB5y1DljpOF0IhzBDPOZnDOqYYbeGKECbPzWnXludPphw5c2YBq5zlwXphIbO4VDCZ0gnPfUO1TwZoYwAs2ExPCedAu9DAjfQUjzITQb3jNj0KG2Sgt6BHaQUdYzWz+XmBktOHwanXjaSTcwwziBcuMOtwBmqPrTOxFQR/DRKKPqyur0aiW6cULYsx6tBm0jXpR/AUWR6HRq9WVW6MRhIq5jLyjbaCTDCijyYJNpCajdyobP/eTw0iexBAKkJ3gA5KcQb2zBXsIBckn+xVv8jkZSaEFHE+jFEleAEfayRU0MouNoBmB/L50Ai/HSLIHxcrpCvnhSQAuakKp2C/YbCylJjXRVy/z3+Kv/RrNcCo+WUzlVEhzKffnTQnxeN9fWF88fiNCUdSTsaufaChKWInHeysygfpIqagoakW+vV20J8uyl6TyNKEZWV4oRSPyCkWpgOLSbkCObT8o2r6tlG58HQquf6O0v50tB7JM7F4EORd2dx/K0w/KHsVkLPaoYrwgP/y7krr3SSMA4zj+OBgmjYkxcdIJQyQRKgg2viX9Hddi9UBb29LrKR7CVVEEEXWojUkXNyfTNDE14W9gbHJNuhjDettN3ZvbOvdOqCD3Jp/9l+/wJE+9PkYGjx/fqkys3S2rMozM/o2106rfMUINo6hVqz+eu/hd1c4xTg0TAfy5kV+4UG6+IthHTU9woWmxuKNbTfuCSfovBCxq7EtHqvYL4Sm6F8GVxsSXHMQ07TOi1DKtZxjWaaIyi4CXWjxPccUw8WVbMYY5wxC1mzEyXMJWkllpRloi+Kkoq69sxBTlElF6aAxYUbjXNlhlDZilDnM4U5SlN5biRsRHnbx3mbeWjEh4mEyiuJDl5XcWVmX5GvNkFgLWZM5qwsop4/AWfLhU1cR7k1VVvcYCWRkOI6Xy5gmnphCYIkvzuNYzHzosq2oNk2RtSs8khfUOfHIDgR6ysYBaMpl4uEgk2U/oJTs9AaTSwma7dT69geAE2ZpEjUsn2ieJNHeKfrI3EcAGJ2ZaNgVuC8EBctCLc57P5u5led6IOBkIYkuQMrmmjChs4VkfOerHqSBkPzZlhe06RslZ3zMjk2sscqKwY0RcjKK+LWbzd7KiHhkncs/siFJ+V5eXxD34B8nVuJEpGJNmxN2gH3vSvp7J70tF+D1Ej8qUJD1TkErAND2GZwTFg/LubvmgiBG3SOvdlsqFQrkEzJCL1rstlnVFROixZoDDSuXQFHESwVGlcuQcMb/b42NgjLowh5MTDFE3vNB5qStRIErdCQEh6pLPR92anSUb/wAIhldAaDMpGgAAAABJRU5ErkJggg==";function id(e){var n;const a=Us();return(n=e.addMap)==null||n.call(e,a),null}class rd extends Pe{divRef;marker;map;latLongTimer;constructor(a){super(a),this.state={zoom:14,latitude:this.props.latitude,longitude:this.props.longitude,width:0,height:0},this.divRef=G.createRef(),this.marker=null}onMap=a=>{if(!this.map||this.map!==a){this.map=a;const n=[parseFloat(this.state.latitude!==void 0?this.state.latitude:50)||0,parseFloat(this.state.longitude!==void 0?this.state.longitude:10)||0],t=window.L.icon({iconUrl:td,iconRetinaUrl:nd,shadowUrl:ad,iconSize:[25,41],iconAnchor:[12,41],popupAnchor:[1,-34],tooltipAnchor:[16,-28],shadowSize:[41,41]});this.marker=window.L.marker(n,{draggable:!0,title:"Resource location",alt:"Resource Location",riseOnHover:!0,icon:t}).addTo(a).bindPopup("Popup for any custom information.").on({dragend:i=>this.onMarkerDragend(i)})}};componentDidUpdate(){this.map&&this.marker&&(this.props.latitude!==this.state.latitude||this.props.longitude!==this.state.longitude)&&this.setState({latitude:this.props.latitude,longitude:this.props.longitude},()=>{this.latLongTimer&&clearTimeout(this.latLongTimer),this.latLongTimer=setTimeout(()=>{this.latLongTimer=null,this.map.flyTo([this.state.latitude,this.state.longitude]),this.marker.setLatLng([this.state.latitude,this.state.longitude])},500)}),this.divRef.current&&(this.state.width!==this.divRef.current.clientWidth||this.state.height!==this.divRef.current.clientHeight)&&setTimeout(()=>{this.setState({width:this.divRef.current.clientWidth,height:this.divRef.current.clientHeight})},100)}onMarkerDragend=a=>{if(this.props.readOnly){this.map.flyTo([this.state.latitude,this.state.longitude]),this.marker.setLatLng([this.state.latitude,this.state.longitude]);return}const n=JSON.parse(JSON.stringify(a.target._latlng));this.setState({latitude:n.lat,longitude:n.lng},()=>this.props.onChange(this.state.latitude,this.state.longitude))};render(){const a=[parseFloat(this.props.latitude!==void 0?this.props.latitude:50)||0,parseFloat(this.props.longitude!==void 0?this.props.longitude:10)||0],{zoom:n}=this.state;return console.log(this.state.width,this.state.height),r.jsx("div",{style:{width:"100%",height:"100%",minHeight:350},ref:this.divRef,children:this.state.width&&this.state.height?r.jsxs(Zs,{style:{width:"100%",height:"100%",minHeight:350,borderRadius:5},center:a,zoom:n,maxZoom:18,attributionControl:!1,zoomControl:!0,doubleClickZoom:!0,scrollWheelZoom:!0,dragging:!this.props.readOnly,easeLinearity:.35,children:[r.jsx(ed,{url:"https://{s}.tile.osm.org/{z}/{x}/{y}.png"}),r.jsx(id,{addMap:t=>this.onMap(t)})]}):null})}}const od={en:se,fr:Ba,ru:zo,de:It,es:ya,br:qr,nl:ni,it:$n,pt:pr,pl:Vi,uk:ds,"zh-cn":Os},O=["useSystemGPS","latitude","longitude","sunriseEvent","sunriseOffset","sunriseLimitStart","sunriseLimitEnd","sunsetEvent","sunsetOffset","sunsetLimitStart","sunsetLimitEnd"];function C(e){if(!e)return new Date;const a=e.split(":");return new Date(2e3,0,1,parseInt(a[0],10),parseInt(a[1],10))}function N(e){return e?`${e.getHours().toString().padStart(2,"0")}:${e.getMinutes().toString().padStart(2,"0")}`:""}function ne(e){const a=e.getHours().toString().padStart(2,"0"),n=e.getMinutes().toString().padStart(2,"0"),t=e.getSeconds().toString().padStart(2,"0");return`${a}:${n}:${t}`}class sd extends _.ConfigGeneric{calcTimeout;lastCalc;constructor(a){super(a),Object.assign(this.state,{theme:d.Theme(this.props.themeName||"light")})}componentDidMount(){super.componentDidMount();const a={};O.forEach(n=>{a[n]=_.ConfigGeneric.getValue(this.props.data,n)}),a.sunsetOffset=a.sunsetOffset||0,a.sunriseOffset=a.sunriseOffset||0,a.sunriseLimitStart=C(a.sunriseLimitStart),a.sunriseLimitEnd=C(a.sunriseLimitEnd),a.sunsetLimitStart=C(a.sunsetLimitStart),a.sunsetLimitEnd=C(a.sunsetLimitEnd),a.useSystemGPS&&(a.latitude=this.props.oContext.systemConfig.latitude,a.longitude=this.props.oContext.systemConfig.longitude),a.ampm=this.props.oContext.systemConfig.dateFormat.includes("/"),this.setState(a,()=>this.onAstroChange())}renderMap(){return r.jsx(rd,{longitude:this.state.longitude,latitude:this.state.latitude,readOnly:!!this.state.useSystemGPS,onChange:(a,n)=>this.setState({latitude:a,longitude:n})})}onAstroChange(a,n){let t={};typeof a=="object"?t=a:a!==void 0&&(t={[a]:n}),this.setState(t,()=>{const i={};O.forEach(m=>i[m]=this.state[m]),i.sunriseLimitStart=N(i.sunriseLimitStart),i.sunriseLimitEnd=N(i.sunriseLimitEnd),i.sunsetLimitStart=N(i.sunsetLimitStart),i.sunsetLimitEnd=N(i.sunsetLimitEnd),i.sunsetOffset=parseInt(i.sunsetOffset,10)||0,i.sunriseOffset=parseInt(i.sunriseOffset,10)||0,this.calculateRiseSet(i);const c=JSON.parse(JSON.stringify(this.props.data));O.forEach(m=>c[m]=i[m]),a!==void 0&&this.props.onChange(c)})}calculateRiseSet(a){this.props.alive&&this.lastCalc!==JSON.stringify(a)&&(this.lastCalc=JSON.stringify(a),this.calcTimeout&&clearTimeout(this.calcTimeout),this.calcTimeout=setTimeout(async()=>{this.calcTimeout=null;const n=await this.props.oContext.socket.sendTo(`${this.props.oContext.adapterName}.${this.props.oContext.instance}`,"calcAstro",a);if(!n||n.error){console.error(`Cannot calculate astro times: ${JSON.stringify(n.error)}`);return}this.setState({nextSunrise:n.nextSunrise.isValidDate?ne(new Date(n.nextSunrise.date)):"n/a",nextSunset:n.nextSunset.isValidDate?ne(new Date(n.nextSunset.date)):"n/a",nextSunriseServer:n.nextSunrise.serverTime,nextSunsetServer:n.nextSunset.serverTime})},300))}renderItem(){const{useSystemGPS:a,latitude:n,longitude:t,sunriseEvent:i,sunriseOffset:c,sunriseLimitStart:m,sunriseLimitEnd:g,sunsetEvent:h,sunsetOffset:w,sunsetLimitStart:x,sunsetLimitEnd:A}=this.state,b=window.innerWidth<800;return r.jsx(ke,{theme:this.state.theme,children:r.jsxs("div",{style:{width:"100%",display:b?void 0:"flex",gap:10},children:[r.jsx("div",{style:{width:b?"100%":"calc(50% - 5px)",display:b?"block":"inline-block"},children:r.jsxs(pe,{dateAdapter:ht,adapterLocale:od[d.I18n.getLanguage()],children:[r.jsx(ve,{style:{width:"calc(100% - 10px)"},control:r.jsx(we,{checked:!!a,onChange:u=>{u.target.checked?this.onAstroChange({useSystemGPS:!0,latitude:this.props.oContext.systemConfig.latitude,longitude:this.props.oContext.systemConfig.longitude}):this.onAstroChange({useSystemGPS:!1,latitude:n||this.props.oContext.systemConfig.latitude,longitude:t||this.props.oContext.systemConfig.longitude})}}),label:d.I18n.t("Use system settings")}),a?null:r.jsx(T,{variant:"standard",type:"text",style:{width:150,marginRight:10},label:d.I18n.t("Latitude °"),value:(n||"").toString(),onChange:u=>this.onAstroChange("latitude",u.target.value)}),a?null:r.jsx(T,{variant:"standard",style:{width:150},type:"text",label:d.I18n.t("Longitude °"),value:(t||"").toString(),onChange:u=>this.onAstroChange("longitude",u.target.value)}),a?null:r.jsx("div",{style:{width:"calc(100% - 10px)"},children:d.I18n.t("Help")}),r.jsx("h2",{style:{width:"calc(100% - 10px)",marginTop:20,backgroundColor:this.props.oContext.themeType==="dark"?"#333":"#ccc",color:this.props.oContext.themeType==="dark"?"#FFF":"#000",padding:"2px 8px",borderRadius:3},children:d.I18n.t("Day time settings")}),r.jsxs("div",{style:{width:"calc(100% - 10px)",display:"flex",gap:8,flexWrap:"wrap",backgroundColor:this.props.oContext.themeType==="dark"?"#333":"#ccc",paddingTop:8,paddingLeft:8,paddingRight:8,paddingBottom:0,borderRadius:"5px 5px 0 0"},children:[r.jsxs(P,{variant:"standard",style:{width:250},children:[r.jsx(k,{shrink:!0,children:d.I18n.t("Time event")}),r.jsxs(q,{variant:"standard",value:i||"_",onChange:u=>this.onAstroChange("sunriseEvent",u.target.value==="_"?"":u.target.value),children:[r.jsx(v,{value:"_",children:d.I18n.t("none")}),r.jsx(v,{value:"nightEnd",children:d.I18n.t("sch_astro_nightEnd")}),r.jsx(v,{value:"nauticalDawn",children:d.I18n.t("sch_astro_nauticalDawn")}),r.jsx(v,{value:"dawn",children:d.I18n.t("sch_astro_dawn")}),r.jsx(v,{value:"sunrise",children:d.I18n.t("sch_astro_sunrise")}),r.jsx(v,{value:"sunriseEnd",children:d.I18n.t("sch_astro_sunriseEnd")}),r.jsx(v,{value:"goldenHourEnd",children:d.I18n.t("sch_astro_goldenHourEnd")})]}),r.jsx(Y,{children:d.I18n.t("Used as start of the daytime")})]}),r.jsx(T,{style:{width:80},variant:"standard",disabled:!this.state.sunriseEvent,label:d.I18n.t("Offset"),value:c||0,helperText:d.I18n.t("in minutes"),onChange:u=>this.onAstroChange("sunriseOffset",u.target.value)}),r.jsxs(P,{variant:"standard",style:{width:150},children:[r.jsx(k,{shrink:!0,children:d.I18n.t("But not earlier")}),r.jsx(S,{className:`astroToolbarTime ${this.props.oContext.themeType}`,disabled:!this.state.sunriseEvent,ampm:!!this.state.ampm,views:["hours","minutes"],value:m||new Date(2e3,0,1,0,0),onChange:u=>this.onAstroChange("sunriseLimitStart",new Date(u))})]}),r.jsxs(P,{variant:"standard",style:{width:150},children:[r.jsx(k,{shrink:!0,children:d.I18n.t("And not later")}),r.jsx(S,{className:`astroToolbarTime ${this.props.oContext.themeType}`,disabled:!this.state.sunriseEvent,ampm:!!this.state.ampm,views:["hours","minutes"],value:g||new Date(2e3,0,1,0,0),onChange:u=>this.onAstroChange("sunriseLimitEnd",new Date(u))})]})]}),this.props.alive?r.jsxs("div",{style:{backgroundColor:this.props.oContext.themeType==="dark"?"#333":"#ccc",width:"calc(100% - 10px)",paddingTop:20,paddingLeft:8,paddingRight:8,paddingBottom:8,borderRadius:"0 0 5px 5px"},children:[r.jsx("span",{style:{marginRight:8},children:d.I18n.t("Next sunrise")}),r.jsxs("span",{children:[this.state.nextSunriseServer,this.state.nextSunrise!==this.state.nextSunriseServer?` ${d.I18n.t("Local time")}: ${this.state.nextSunrise}`:""]})]}):null,r.jsxs("div",{style:{width:"calc(100% - 10px)",display:"flex",gap:8,marginTop:30,flexWrap:"wrap",backgroundColor:this.props.oContext.themeType==="dark"?"#333":"#ccc",paddingTop:8,paddingLeft:8,paddingRight:8,paddingBottom:0,borderRadius:"5px 5px 0 0"},children:[r.jsxs(P,{variant:"standard",style:{width:250},children:[r.jsx(k,{shrink:!0,children:d.I18n.t("Time event")}),r.jsxs(q,{variant:"standard",value:h||"_",onChange:u=>this.onAstroChange("sunsetEvent",u.target.value==="_"?"":u.target.value),children:[r.jsx(v,{value:"_",children:d.I18n.t("none")}),r.jsx(v,{value:"goldenHour",children:d.I18n.t("sch_astro_goldenHour")}),r.jsx(v,{value:"sunsetStart",children:d.I18n.t("sch_astro_sunsetStart")}),r.jsx(v,{value:"sunset",children:d.I18n.t("sch_astro_sunset")}),r.jsx(v,{value:"dusk",children:d.I18n.t("sch_astro_dusk")}),r.jsx(v,{value:"nauticalDusk",children:d.I18n.t("sch_astro_nauticalDusk")}),r.jsx(v,{value:"night",children:d.I18n.t("sch_astro_night")})]}),r.jsx(Y,{children:d.I18n.t("Used as end of the daytime")})]}),r.jsx(T,{style:{width:80},variant:"standard",disabled:!this.state.sunsetEvent,label:d.I18n.t("Offset"),value:w||0,helperText:d.I18n.t("in minutes"),onChange:u=>this.onAstroChange("sunsetOffset",u.target.value)}),r.jsxs(P,{variant:"standard",style:{width:150},children:[r.jsx(k,{shrink:!0,children:d.I18n.t("But not earlier")}),r.jsx(S,{className:`astroToolbarTime ${this.props.oContext.themeType}`,disabled:!this.state.sunsetEvent,ampm:!!this.state.ampm,views:["hours","minutes"],value:x||new Date(2e3,0,1,0,0),onChange:u=>this.onAstroChange("sunsetLimitStart",new Date(u))})]}),r.jsxs(P,{variant:"standard",style:{width:150},children:[r.jsx(k,{shrink:!0,children:d.I18n.t("And not later")}),r.jsx(S,{className:`astroToolbarTime ${this.props.oContext.themeType}`,disabled:!this.state.sunsetEvent,ampm:!!this.state.ampm,views:["hours","minutes"],value:A||new Date(2e3,0,1,0,0),onChange:u=>this.onAstroChange("sunsetLimitEnd",new Date(u))})]})]}),this.props.alive?r.jsxs("div",{style:{backgroundColor:this.props.oContext.themeType==="dark"?"#333":"#ccc",width:"calc(100% - 10px)",paddingTop:20,paddingLeft:8,paddingRight:8,paddingBottom:8,borderRadius:"0 0 5px 5px",marginBottom:b?20:0},children:[r.jsx("span",{style:{marginRight:8},children:d.I18n.t("Next sunset")}),r.jsxs("span",{children:[this.state.nextSunsetServer,this.state.nextSunset!==this.state.nextSunsetServer?` ${d.I18n.t("Local time")}: ${this.state.nextSunset}`:""]})]}):null]})}),r.jsx("div",{style:{width:b?"100%":"calc(50% - 5px)",display:b?"block":"inline-block",minHeight:350},children:this.renderMap()})]})})}}const xd={Astro:sd};export{xd as default}; +import{j as r}from"./jsx-runtime-DfVU3AZG.js";import{_ as pe,a as D}from"./ConfigCustomJavascriptSet__loadShare___mf_0_mui_mf_1_x_mf_2_date_mf_2_pickers__loadShare__.mjs-DgHZUNxn.js";import{_ as ve,a as we,b as S,c as P,d as k,e as q,f as v,g as Y}from"./ConfigCustomJavascriptSet__loadShare___mf_0_mui_mf_1_material__loadShare__.mjs-KsT5vKjV.js";import{_ as d}from"./ConfigCustomJavascriptSet__loadShare___mf_0_iobroker_mf_1_adapter_mf_2_react_mf_2_v5__loadShare__.mjs-B7D2xOvV.js";import{_}from"./ConfigCustomJavascriptSet__loadShare___mf_0_iobroker_mf_1_json_mf_2_config__loadShare__.mjs-ClsgYnEX.js";import{_ as j,a as T,b as ye,c as be,d as ie,e as re,f as B,g as Me,h as G,i as Pe}from"./ConfigCustomJavascriptSet__loadShare__react__loadShare__.mjs-0SjJESw9.js";import{_ as oe}from"./ConfigCustomJavascriptSet__loadShare__leaflet__loadShare__.mjs-BYONkEgA.js";import"./ConfigCustomJavascriptSet__loadShare__react_mf_2_dom__loadShare__.mjs-CL--xmjC.js";import{T as ke}from"./ThemeProvider-B4G3jidj.js";import{l as xe,e as se,p as We,i as ze,f as je,a as Te,b as $e,c as De,d as Se,g as Ce,h as E,j as Q,k as U,m as L,n as Ne,s as Ae,o as Ee,q as Le,r as He,t as Oe,u as Ge,v as Ve,w as Fe,x as Ie,y as Xe,z as Re,A as Je,B as qe,C as Ye,D as _e,E as Be,F as Qe,G as Ue,H as Ke,I as Ze,J as et,K as tt,L as at,M as nt,N as it,O as rt,P as ot,Q as st,R as dt,S as l,T as o,U as s,V as y,W as M,X as de}from"./isSameWeek-DDsSIa_t.js";import{_ as ut}from"./DefaultPropsProvider-CGb21NGY.js";import"./ConfigCustomJavascriptSet__loadShare__react__loadShare__.mjs_commonjs-proxy-CInLgMWW.js";import"./createTheme-Wd4QxQE0.js";import"./blue-CagzI6CQ.js";import"./index-AZB1OHDH.js";import"./useTheme-DWZ6jNyq.js";const mt={y:{sectionType:"year",contentType:"digit",maxLength:4},yy:"year",yyy:{sectionType:"year",contentType:"digit",maxLength:4},yyyy:"year",M:{sectionType:"month",contentType:"digit",maxLength:2},MM:"month",MMMM:{sectionType:"month",contentType:"letter"},MMM:{sectionType:"month",contentType:"letter"},L:{sectionType:"month",contentType:"digit",maxLength:2},LL:"month",LLL:{sectionType:"month",contentType:"letter"},LLLL:{sectionType:"month",contentType:"letter"},d:{sectionType:"day",contentType:"digit",maxLength:2},dd:"day",do:{sectionType:"day",contentType:"digit-with-letter"},E:{sectionType:"weekDay",contentType:"letter"},EE:{sectionType:"weekDay",contentType:"letter"},EEE:{sectionType:"weekDay",contentType:"letter"},EEEE:{sectionType:"weekDay",contentType:"letter"},EEEEE:{sectionType:"weekDay",contentType:"letter"},i:{sectionType:"weekDay",contentType:"digit",maxLength:1},ii:"weekDay",iii:{sectionType:"weekDay",contentType:"letter"},iiii:{sectionType:"weekDay",contentType:"letter"},e:{sectionType:"weekDay",contentType:"digit",maxLength:1},ee:"weekDay",eee:{sectionType:"weekDay",contentType:"letter"},eeee:{sectionType:"weekDay",contentType:"letter"},eeeee:{sectionType:"weekDay",contentType:"letter"},eeeeee:{sectionType:"weekDay",contentType:"letter"},c:{sectionType:"weekDay",contentType:"digit",maxLength:1},cc:"weekDay",ccc:{sectionType:"weekDay",contentType:"letter"},cccc:{sectionType:"weekDay",contentType:"letter"},ccccc:{sectionType:"weekDay",contentType:"letter"},cccccc:{sectionType:"weekDay",contentType:"letter"},a:"meridiem",aa:"meridiem",aaa:"meridiem",H:{sectionType:"hours",contentType:"digit",maxLength:2},HH:"hours",h:{sectionType:"hours",contentType:"digit",maxLength:2},hh:"hours",m:{sectionType:"minutes",contentType:"digit",maxLength:2},mm:"minutes",s:{sectionType:"seconds",contentType:"digit",maxLength:2},ss:"seconds"},lt={year:"yyyy",month:"LLLL",monthShort:"MMM",dayOfMonth:"d",dayOfMonthFull:"do",weekday:"EEEE",weekdayShort:"EEEEEE",hours24h:"HH",hours12h:"hh",meridiem:"aa",minutes:"mm",seconds:"ss",fullDate:"PP",keyboardDate:"P",shortDate:"MMM d",normalDate:"d MMMM",normalDateWithWeekday:"EEE, MMM d",fullTime:"p",fullTime12h:"hh:mm aa",fullTime24h:"HH:mm",keyboardDateTime:"P p",keyboardDateTime12h:"P hh:mm aa",keyboardDateTime24h:"P HH:mm"};class ct{constructor(a){this.isMUIAdapter=!0,this.isTimezoneCompatible=!1,this.lib=void 0,this.locale=void 0,this.formats=void 0,this.formatTokenMap=mt,this.escapedCharacters={start:"'",end:"'"},this.longFormatters=void 0,this.date=m=>typeof m>"u"?new Date:m===null?null:new Date(m),this.getInvalidDate=()=>new Date("Invalid Date"),this.getTimezone=()=>"default",this.setTimezone=m=>m,this.toJsDate=m=>m,this.getCurrentLocaleCode=()=>this.locale.code,this.is12HourCycleInCurrentLocale=()=>/a/.test(this.locale.formatLong.time({width:"short"})),this.expandFormat=m=>{const g=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;return m.match(g).map(h=>{const w=h[0];if(w==="p"||w==="P"){const x=this.longFormatters[w];return x(h,this.locale.formatLong)}return h}).join("")},this.formatNumber=m=>m,this.getDayOfWeek=m=>m.getDay()+1;const{locale:n,formats:t,longFormatters:i,lib:c}=a;this.locale=n,this.formats=ut({},lt,t),this.longFormatters=i,this.lib=c||"date-fns"}}class ht extends ct{constructor({locale:a,formats:n}={}){super({locale:a??se,formats:n,longFormatters:xe}),this.parse=(t,i)=>t===""?null:We(t,i,new Date,{locale:this.locale}),this.isValid=t=>t==null?!1:ze(t),this.format=(t,i)=>this.formatByString(t,this.formats[i]),this.formatByString=(t,i)=>je(t,i,{locale:this.locale}),this.isEqual=(t,i)=>t===null&&i===null?!0:t===null||i===null?!1:Te(t,i),this.isSameYear=(t,i)=>$e(t,i),this.isSameMonth=(t,i)=>De(t,i),this.isSameDay=(t,i)=>Se(t,i),this.isSameHour=(t,i)=>Ce(t,i),this.isAfter=(t,i)=>E(t,i),this.isAfterYear=(t,i)=>E(t,Q(i)),this.isAfterDay=(t,i)=>E(t,U(i)),this.isBefore=(t,i)=>L(t,i),this.isBeforeYear=(t,i)=>L(t,this.startOfYear(i)),this.isBeforeDay=(t,i)=>L(t,this.startOfDay(i)),this.isWithinRange=(t,[i,c])=>Ne(t,{start:i,end:c}),this.startOfYear=t=>Ae(t),this.startOfMonth=t=>Ee(t),this.startOfWeek=t=>Le(t,{locale:this.locale}),this.startOfDay=t=>He(t),this.endOfYear=t=>Q(t),this.endOfMonth=t=>Oe(t),this.endOfWeek=t=>Ge(t,{locale:this.locale}),this.endOfDay=t=>U(t),this.addYears=(t,i)=>Ve(t,i),this.addMonths=(t,i)=>Fe(t,i),this.addWeeks=(t,i)=>Ie(t,i),this.addDays=(t,i)=>Xe(t,i),this.addHours=(t,i)=>Re(t,i),this.addMinutes=(t,i)=>Je(t,i),this.addSeconds=(t,i)=>qe(t,i),this.getYear=t=>Ye(t),this.getMonth=t=>_e(t),this.getDate=t=>Be(t),this.getHours=t=>Qe(t),this.getMinutes=t=>Ue(t),this.getSeconds=t=>Ke(t),this.getMilliseconds=t=>Ze(t),this.setYear=(t,i)=>et(t,i),this.setMonth=(t,i)=>tt(t,i),this.setDate=(t,i)=>at(t,i),this.setHours=(t,i)=>nt(t,i),this.setMinutes=(t,i)=>it(t,i),this.setSeconds=(t,i)=>rt(t,i),this.setMilliseconds=(t,i)=>ot(t,i),this.getDaysInMonth=t=>st(t),this.getWeekArray=t=>{const i=this.startOfWeek(this.startOfMonth(t)),c=this.endOfWeek(this.endOfMonth(t));let m=0,g=i;const h=[];for(;this.isBefore(g,c);){const w=Math.floor(m/7);h[w]=h[w]||[],h[w].push(g),g=this.addDays(g,1),m+=1}return h},this.getWeekNumber=t=>dt(t,{locale:this.locale}),this.getYearRange=([t,i])=>{const c=this.startOfYear(t),m=this.endOfYear(i),g=[];let h=c;for(;this.isBefore(h,m);)g.push(h),h=this.addYears(h,1);return g}}}const K={lessThanXSeconds:{standalone:{one:"weniger als 1 Sekunde",other:"weniger als {{count}} Sekunden"},withPreposition:{one:"weniger als 1 Sekunde",other:"weniger als {{count}} Sekunden"}},xSeconds:{standalone:{one:"1 Sekunde",other:"{{count}} Sekunden"},withPreposition:{one:"1 Sekunde",other:"{{count}} Sekunden"}},halfAMinute:{standalone:"eine halbe Minute",withPreposition:"einer halben Minute"},lessThanXMinutes:{standalone:{one:"weniger als 1 Minute",other:"weniger als {{count}} Minuten"},withPreposition:{one:"weniger als 1 Minute",other:"weniger als {{count}} Minuten"}},xMinutes:{standalone:{one:"1 Minute",other:"{{count}} Minuten"},withPreposition:{one:"1 Minute",other:"{{count}} Minuten"}},aboutXHours:{standalone:{one:"etwa 1 Stunde",other:"etwa {{count}} Stunden"},withPreposition:{one:"etwa 1 Stunde",other:"etwa {{count}} Stunden"}},xHours:{standalone:{one:"1 Stunde",other:"{{count}} Stunden"},withPreposition:{one:"1 Stunde",other:"{{count}} Stunden"}},xDays:{standalone:{one:"1 Tag",other:"{{count}} Tage"},withPreposition:{one:"1 Tag",other:"{{count}} Tagen"}},aboutXWeeks:{standalone:{one:"etwa 1 Woche",other:"etwa {{count}} Wochen"},withPreposition:{one:"etwa 1 Woche",other:"etwa {{count}} Wochen"}},xWeeks:{standalone:{one:"1 Woche",other:"{{count}} Wochen"},withPreposition:{one:"1 Woche",other:"{{count}} Wochen"}},aboutXMonths:{standalone:{one:"etwa 1 Monat",other:"etwa {{count}} Monate"},withPreposition:{one:"etwa 1 Monat",other:"etwa {{count}} Monaten"}},xMonths:{standalone:{one:"1 Monat",other:"{{count}} Monate"},withPreposition:{one:"1 Monat",other:"{{count}} Monaten"}},aboutXYears:{standalone:{one:"etwa 1 Jahr",other:"etwa {{count}} Jahre"},withPreposition:{one:"etwa 1 Jahr",other:"etwa {{count}} Jahren"}},xYears:{standalone:{one:"1 Jahr",other:"{{count}} Jahre"},withPreposition:{one:"1 Jahr",other:"{{count}} Jahren"}},overXYears:{standalone:{one:"mehr als 1 Jahr",other:"mehr als {{count}} Jahre"},withPreposition:{one:"mehr als 1 Jahr",other:"mehr als {{count}} Jahren"}},almostXYears:{standalone:{one:"fast 1 Jahr",other:"fast {{count}} Jahre"},withPreposition:{one:"fast 1 Jahr",other:"fast {{count}} Jahren"}}},gt=(e,a,n)=>{let t;const i=n!=null&&n.addSuffix?K[e].withPreposition:K[e].standalone;return typeof i=="string"?t=i:a===1?t=i.one:t=i.other.replace("{{count}}",String(a)),n!=null&&n.addSuffix?n.comparison&&n.comparison>0?"in "+t:"vor "+t:t},ft={full:"EEEE, do MMMM y",long:"do MMMM y",medium:"do MMM y",short:"dd.MM.y"},pt={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},vt={full:"{{date}} 'um' {{time}}",long:"{{date}} 'um' {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},wt={date:l({formats:ft,defaultWidth:"full"}),time:l({formats:pt,defaultWidth:"full"}),dateTime:l({formats:vt,defaultWidth:"full"})},yt={lastWeek:"'letzten' eeee 'um' p",yesterday:"'gestern um' p",today:"'heute um' p",tomorrow:"'morgen um' p",nextWeek:"eeee 'um' p",other:"P"},bt=(e,a,n,t)=>yt[e],Mt={narrow:["v.Chr.","n.Chr."],abbreviated:["v.Chr.","n.Chr."],wide:["vor Christus","nach Christus"]},Pt={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1. Quartal","2. Quartal","3. Quartal","4. Quartal"]},V={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],wide:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"]},kt={narrow:V.narrow,abbreviated:["Jan.","Feb.","März","Apr.","Mai","Juni","Juli","Aug.","Sep.","Okt.","Nov.","Dez."],wide:V.wide},xt={narrow:["S","M","D","M","D","F","S"],short:["So","Mo","Di","Mi","Do","Fr","Sa"],abbreviated:["So.","Mo.","Di.","Mi.","Do.","Fr.","Sa."],wide:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"]},Wt={narrow:{am:"vm.",pm:"nm.",midnight:"Mitternacht",noon:"Mittag",morning:"Morgen",afternoon:"Nachm.",evening:"Abend",night:"Nacht"},abbreviated:{am:"vorm.",pm:"nachm.",midnight:"Mitternacht",noon:"Mittag",morning:"Morgen",afternoon:"Nachmittag",evening:"Abend",night:"Nacht"},wide:{am:"vormittags",pm:"nachmittags",midnight:"Mitternacht",noon:"Mittag",morning:"Morgen",afternoon:"Nachmittag",evening:"Abend",night:"Nacht"}},zt={narrow:{am:"vm.",pm:"nm.",midnight:"Mitternacht",noon:"Mittag",morning:"morgens",afternoon:"nachm.",evening:"abends",night:"nachts"},abbreviated:{am:"vorm.",pm:"nachm.",midnight:"Mitternacht",noon:"Mittag",morning:"morgens",afternoon:"nachmittags",evening:"abends",night:"nachts"},wide:{am:"vormittags",pm:"nachmittags",midnight:"Mitternacht",noon:"Mittag",morning:"morgens",afternoon:"nachmittags",evening:"abends",night:"nachts"}},jt=e=>Number(e)+".",Tt={ordinalNumber:jt,era:o({values:Mt,defaultWidth:"wide"}),quarter:o({values:Pt,defaultWidth:"wide",argumentCallback:e=>e-1}),month:o({values:V,formattingValues:kt,defaultWidth:"wide"}),day:o({values:xt,defaultWidth:"wide"}),dayPeriod:o({values:Wt,defaultWidth:"wide",formattingValues:zt,defaultFormattingWidth:"wide"})},$t=/^(\d+)(\.)?/i,Dt=/\d+/i,St={narrow:/^(v\.? ?Chr\.?|n\.? ?Chr\.?)/i,abbreviated:/^(v\.? ?Chr\.?|n\.? ?Chr\.?)/i,wide:/^(vor Christus|vor unserer Zeitrechnung|nach Christus|unserer Zeitrechnung)/i},Ct={any:[/^v/i,/^n/i]},Nt={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](\.)? Quartal/i},At={any:[/1/i,/2/i,/3/i,/4/i]},Et={narrow:/^[jfmasond]/i,abbreviated:/^(j[aä]n|feb|mär[z]?|apr|mai|jun[i]?|jul[i]?|aug|sep|okt|nov|dez)\.?/i,wide:/^(januar|februar|märz|april|mai|juni|juli|august|september|oktober|november|dezember)/i},Lt={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^j[aä]/i,/^f/i,/^mär/i,/^ap/i,/^mai/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},Ht={narrow:/^[smdmf]/i,short:/^(so|mo|di|mi|do|fr|sa)/i,abbreviated:/^(son?|mon?|die?|mit?|don?|fre?|sam?)\.?/i,wide:/^(sonntag|montag|dienstag|mittwoch|donnerstag|freitag|samstag)/i},Ot={any:[/^so/i,/^mo/i,/^di/i,/^mi/i,/^do/i,/^f/i,/^sa/i]},Gt={narrow:/^(vm\.?|nm\.?|Mitternacht|Mittag|morgens|nachm\.?|abends|nachts)/i,abbreviated:/^(vorm\.?|nachm\.?|Mitternacht|Mittag|morgens|nachm\.?|abends|nachts)/i,wide:/^(vormittags|nachmittags|Mitternacht|Mittag|morgens|nachmittags|abends|nachts)/i},Vt={any:{am:/^v/i,pm:/^n/i,midnight:/^Mitte/i,noon:/^Mitta/i,morning:/morgens/i,afternoon:/nachmittags/i,evening:/abends/i,night:/nachts/i}},Ft={ordinalNumber:y({matchPattern:$t,parsePattern:Dt,valueCallback:e=>parseInt(e)}),era:s({matchPatterns:St,defaultMatchWidth:"wide",parsePatterns:Ct,defaultParseWidth:"any"}),quarter:s({matchPatterns:Nt,defaultMatchWidth:"wide",parsePatterns:At,defaultParseWidth:"any",valueCallback:e=>e+1}),month:s({matchPatterns:Et,defaultMatchWidth:"wide",parsePatterns:Lt,defaultParseWidth:"any"}),day:s({matchPatterns:Ht,defaultMatchWidth:"wide",parsePatterns:Ot,defaultParseWidth:"any"}),dayPeriod:s({matchPatterns:Gt,defaultMatchWidth:"wide",parsePatterns:Vt,defaultParseWidth:"any"})},It={code:"de",formatDistance:gt,formatLong:wt,formatRelative:bt,localize:Tt,match:Ft,options:{weekStartsOn:1,firstWeekContainsDate:4}},Xt={lessThanXSeconds:{one:"menos de un segundo",other:"menos de {{count}} segundos"},xSeconds:{one:"1 segundo",other:"{{count}} segundos"},halfAMinute:"medio minuto",lessThanXMinutes:{one:"menos de un minuto",other:"menos de {{count}} minutos"},xMinutes:{one:"1 minuto",other:"{{count}} minutos"},aboutXHours:{one:"alrededor de 1 hora",other:"alrededor de {{count}} horas"},xHours:{one:"1 hora",other:"{{count}} horas"},xDays:{one:"1 día",other:"{{count}} días"},aboutXWeeks:{one:"alrededor de 1 semana",other:"alrededor de {{count}} semanas"},xWeeks:{one:"1 semana",other:"{{count}} semanas"},aboutXMonths:{one:"alrededor de 1 mes",other:"alrededor de {{count}} meses"},xMonths:{one:"1 mes",other:"{{count}} meses"},aboutXYears:{one:"alrededor de 1 año",other:"alrededor de {{count}} años"},xYears:{one:"1 año",other:"{{count}} años"},overXYears:{one:"más de 1 año",other:"más de {{count}} años"},almostXYears:{one:"casi 1 año",other:"casi {{count}} años"}},Rt=(e,a,n)=>{let t;const i=Xt[e];return typeof i=="string"?t=i:a===1?t=i.one:t=i.other.replace("{{count}}",a.toString()),n!=null&&n.addSuffix?n.comparison&&n.comparison>0?"en "+t:"hace "+t:t},Jt={full:"EEEE, d 'de' MMMM 'de' y",long:"d 'de' MMMM 'de' y",medium:"d MMM y",short:"dd/MM/y"},qt={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},Yt={full:"{{date}} 'a las' {{time}}",long:"{{date}} 'a las' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},_t={date:l({formats:Jt,defaultWidth:"full"}),time:l({formats:qt,defaultWidth:"full"}),dateTime:l({formats:Yt,defaultWidth:"full"})},Bt={lastWeek:"'el' eeee 'pasado a la' p",yesterday:"'ayer a la' p",today:"'hoy a la' p",tomorrow:"'mañana a la' p",nextWeek:"eeee 'a la' p",other:"P"},Qt={lastWeek:"'el' eeee 'pasado a las' p",yesterday:"'ayer a las' p",today:"'hoy a las' p",tomorrow:"'mañana a las' p",nextWeek:"eeee 'a las' p",other:"P"},Ut=(e,a,n,t)=>a.getHours()!==1?Qt[e]:Bt[e],Kt={narrow:["AC","DC"],abbreviated:["AC","DC"],wide:["antes de cristo","después de cristo"]},Zt={narrow:["1","2","3","4"],abbreviated:["T1","T2","T3","T4"],wide:["1º trimestre","2º trimestre","3º trimestre","4º trimestre"]},ea={narrow:["e","f","m","a","m","j","j","a","s","o","n","d"],abbreviated:["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic"],wide:["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"]},ta={narrow:["d","l","m","m","j","v","s"],short:["do","lu","ma","mi","ju","vi","sá"],abbreviated:["dom","lun","mar","mié","jue","vie","sáb"],wide:["domingo","lunes","martes","miércoles","jueves","viernes","sábado"]},aa={narrow:{am:"a",pm:"p",midnight:"mn",noon:"md",morning:"mañana",afternoon:"tarde",evening:"tarde",night:"noche"},abbreviated:{am:"AM",pm:"PM",midnight:"medianoche",noon:"mediodia",morning:"mañana",afternoon:"tarde",evening:"tarde",night:"noche"},wide:{am:"a.m.",pm:"p.m.",midnight:"medianoche",noon:"mediodia",morning:"mañana",afternoon:"tarde",evening:"tarde",night:"noche"}},na={narrow:{am:"a",pm:"p",midnight:"mn",noon:"md",morning:"de la mañana",afternoon:"de la tarde",evening:"de la tarde",night:"de la noche"},abbreviated:{am:"AM",pm:"PM",midnight:"medianoche",noon:"mediodia",morning:"de la mañana",afternoon:"de la tarde",evening:"de la tarde",night:"de la noche"},wide:{am:"a.m.",pm:"p.m.",midnight:"medianoche",noon:"mediodia",morning:"de la mañana",afternoon:"de la tarde",evening:"de la tarde",night:"de la noche"}},ia=(e,a)=>Number(e)+"º",ra={ordinalNumber:ia,era:o({values:Kt,defaultWidth:"wide"}),quarter:o({values:Zt,defaultWidth:"wide",argumentCallback:e=>Number(e)-1}),month:o({values:ea,defaultWidth:"wide"}),day:o({values:ta,defaultWidth:"wide"}),dayPeriod:o({values:aa,defaultWidth:"wide",formattingValues:na,defaultFormattingWidth:"wide"})},oa=/^(\d+)(º)?/i,sa=/\d+/i,da={narrow:/^(ac|dc|a|d)/i,abbreviated:/^(a\.?\s?c\.?|a\.?\s?e\.?\s?c\.?|d\.?\s?c\.?|e\.?\s?c\.?)/i,wide:/^(antes de cristo|antes de la era com[uú]n|despu[eé]s de cristo|era com[uú]n)/i},ua={any:[/^ac/i,/^dc/i],wide:[/^(antes de cristo|antes de la era com[uú]n)/i,/^(despu[eé]s de cristo|era com[uú]n)/i]},ma={narrow:/^[1234]/i,abbreviated:/^T[1234]/i,wide:/^[1234](º)? trimestre/i},la={any:[/1/i,/2/i,/3/i,/4/i]},ca={narrow:/^[efmajsond]/i,abbreviated:/^(ene|feb|mar|abr|may|jun|jul|ago|sep|oct|nov|dic)/i,wide:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i},ha={narrow:[/^e/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^en/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i]},ga={narrow:/^[dlmjvs]/i,short:/^(do|lu|ma|mi|ju|vi|s[áa])/i,abbreviated:/^(dom|lun|mar|mi[ée]|jue|vie|s[áa]b)/i,wide:/^(domingo|lunes|martes|mi[ée]rcoles|jueves|viernes|s[áa]bado)/i},fa={narrow:[/^d/i,/^l/i,/^m/i,/^m/i,/^j/i,/^v/i,/^s/i],any:[/^do/i,/^lu/i,/^ma/i,/^mi/i,/^ju/i,/^vi/i,/^sa/i]},pa={narrow:/^(a|p|mn|md|(de la|a las) (mañana|tarde|noche))/i,any:/^([ap]\.?\s?m\.?|medianoche|mediodia|(de la|a las) (mañana|tarde|noche))/i},va={any:{am:/^a/i,pm:/^p/i,midnight:/^mn/i,noon:/^md/i,morning:/mañana/i,afternoon:/tarde/i,evening:/tarde/i,night:/noche/i}},wa={ordinalNumber:y({matchPattern:oa,parsePattern:sa,valueCallback:function(e){return parseInt(e,10)}}),era:s({matchPatterns:da,defaultMatchWidth:"wide",parsePatterns:ua,defaultParseWidth:"any"}),quarter:s({matchPatterns:ma,defaultMatchWidth:"wide",parsePatterns:la,defaultParseWidth:"any",valueCallback:e=>e+1}),month:s({matchPatterns:ca,defaultMatchWidth:"wide",parsePatterns:ha,defaultParseWidth:"any"}),day:s({matchPatterns:ga,defaultMatchWidth:"wide",parsePatterns:fa,defaultParseWidth:"any"}),dayPeriod:s({matchPatterns:pa,defaultMatchWidth:"any",parsePatterns:va,defaultParseWidth:"any"})},ya={code:"es",formatDistance:Rt,formatLong:_t,formatRelative:Ut,localize:ra,match:wa,options:{weekStartsOn:1,firstWeekContainsDate:1}},ba={lessThanXSeconds:{one:"moins d’une seconde",other:"moins de {{count}} secondes"},xSeconds:{one:"1 seconde",other:"{{count}} secondes"},halfAMinute:"30 secondes",lessThanXMinutes:{one:"moins d’une minute",other:"moins de {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"environ 1 heure",other:"environ {{count}} heures"},xHours:{one:"1 heure",other:"{{count}} heures"},xDays:{one:"1 jour",other:"{{count}} jours"},aboutXWeeks:{one:"environ 1 semaine",other:"environ {{count}} semaines"},xWeeks:{one:"1 semaine",other:"{{count}} semaines"},aboutXMonths:{one:"environ 1 mois",other:"environ {{count}} mois"},xMonths:{one:"1 mois",other:"{{count}} mois"},aboutXYears:{one:"environ 1 an",other:"environ {{count}} ans"},xYears:{one:"1 an",other:"{{count}} ans"},overXYears:{one:"plus d’un an",other:"plus de {{count}} ans"},almostXYears:{one:"presqu’un an",other:"presque {{count}} ans"}},Ma=(e,a,n)=>{let t;const i=ba[e];return typeof i=="string"?t=i:a===1?t=i.one:t=i.other.replace("{{count}}",String(a)),n!=null&&n.addSuffix?n.comparison&&n.comparison>0?"dans "+t:"il y a "+t:t},Pa={full:"EEEE d MMMM y",long:"d MMMM y",medium:"d MMM y",short:"dd/MM/y"},ka={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},xa={full:"{{date}} 'à' {{time}}",long:"{{date}} 'à' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},Wa={date:l({formats:Pa,defaultWidth:"full"}),time:l({formats:ka,defaultWidth:"full"}),dateTime:l({formats:xa,defaultWidth:"full"})},za={lastWeek:"eeee 'dernier à' p",yesterday:"'hier à' p",today:"'aujourd’hui à' p",tomorrow:"'demain à' p'",nextWeek:"eeee 'prochain à' p",other:"P"},ja=(e,a,n,t)=>za[e],Ta={narrow:["av. J.-C","ap. J.-C"],abbreviated:["av. J.-C","ap. J.-C"],wide:["avant Jésus-Christ","après Jésus-Christ"]},$a={narrow:["T1","T2","T3","T4"],abbreviated:["1er trim.","2ème trim.","3ème trim.","4ème trim."],wide:["1er trimestre","2ème trimestre","3ème trimestre","4ème trimestre"]},Da={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc."],wide:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"]},Sa={narrow:["D","L","M","M","J","V","S"],short:["di","lu","ma","me","je","ve","sa"],abbreviated:["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],wide:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"]},Ca={narrow:{am:"AM",pm:"PM",midnight:"minuit",noon:"midi",morning:"mat.",afternoon:"ap.m.",evening:"soir",night:"mat."},abbreviated:{am:"AM",pm:"PM",midnight:"minuit",noon:"midi",morning:"matin",afternoon:"après-midi",evening:"soir",night:"matin"},wide:{am:"AM",pm:"PM",midnight:"minuit",noon:"midi",morning:"du matin",afternoon:"de l’après-midi",evening:"du soir",night:"du matin"}},Na=(e,a)=>{const n=Number(e),t=a==null?void 0:a.unit;if(n===0)return"0";const i=["year","week","hour","minute","second"];let c;return n===1?c=t&&i.includes(t)?"ère":"er":c="ème",n+c},Aa=["MMM","MMMM"],Ea={preprocessor:(e,a)=>e.getDate()===1||!a.some(t=>t.isToken&&Aa.includes(t.value))?a:a.map(t=>t.isToken&&t.value==="do"?{isToken:!0,value:"d"}:t),ordinalNumber:Na,era:o({values:Ta,defaultWidth:"wide"}),quarter:o({values:$a,defaultWidth:"wide",argumentCallback:e=>e-1}),month:o({values:Da,defaultWidth:"wide"}),day:o({values:Sa,defaultWidth:"wide"}),dayPeriod:o({values:Ca,defaultWidth:"wide"})},La=/^(\d+)(ième|ère|ème|er|e)?/i,Ha=/\d+/i,Oa={narrow:/^(av\.J\.C|ap\.J\.C|ap\.J\.-C)/i,abbreviated:/^(av\.J\.-C|av\.J-C|apr\.J\.-C|apr\.J-C|ap\.J-C)/i,wide:/^(avant Jésus-Christ|après Jésus-Christ)/i},Ga={any:[/^av/i,/^ap/i]},Va={narrow:/^T?[1234]/i,abbreviated:/^[1234](er|ème|e)? trim\.?/i,wide:/^[1234](er|ème|e)? trimestre/i},Fa={any:[/1/i,/2/i,/3/i,/4/i]},Ia={narrow:/^[jfmasond]/i,abbreviated:/^(janv|févr|mars|avr|mai|juin|juill|juil|août|sept|oct|nov|déc)\.?/i,wide:/^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i},Xa={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^av/i,/^ma/i,/^juin/i,/^juil/i,/^ao/i,/^s/i,/^o/i,/^n/i,/^d/i]},Ra={narrow:/^[lmjvsd]/i,short:/^(di|lu|ma|me|je|ve|sa)/i,abbreviated:/^(dim|lun|mar|mer|jeu|ven|sam)\.?/i,wide:/^(dimanche|lundi|mardi|mercredi|jeudi|vendredi|samedi)/i},Ja={narrow:[/^d/i,/^l/i,/^m/i,/^m/i,/^j/i,/^v/i,/^s/i],any:[/^di/i,/^lu/i,/^ma/i,/^me/i,/^je/i,/^ve/i,/^sa/i]},qa={narrow:/^(a|p|minuit|midi|mat\.?|ap\.?m\.?|soir|nuit)/i,any:/^([ap]\.?\s?m\.?|du matin|de l'après[-\s]midi|du soir|de la nuit)/i},Ya={any:{am:/^a/i,pm:/^p/i,midnight:/^min/i,noon:/^mid/i,morning:/mat/i,afternoon:/ap/i,evening:/soir/i,night:/nuit/i}},_a={ordinalNumber:y({matchPattern:La,parsePattern:Ha,valueCallback:e=>parseInt(e)}),era:s({matchPatterns:Oa,defaultMatchWidth:"wide",parsePatterns:Ga,defaultParseWidth:"any"}),quarter:s({matchPatterns:Va,defaultMatchWidth:"wide",parsePatterns:Fa,defaultParseWidth:"any",valueCallback:e=>e+1}),month:s({matchPatterns:Ia,defaultMatchWidth:"wide",parsePatterns:Xa,defaultParseWidth:"any"}),day:s({matchPatterns:Ra,defaultMatchWidth:"wide",parsePatterns:Ja,defaultParseWidth:"any"}),dayPeriod:s({matchPatterns:qa,defaultMatchWidth:"any",parsePatterns:Ya,defaultParseWidth:"any"})},Ba={code:"fr",formatDistance:Ma,formatLong:Wa,formatRelative:ja,localize:Ea,match:_a,options:{weekStartsOn:1,firstWeekContainsDate:4}},Qa={lessThanXSeconds:{one:"meno di un secondo",other:"meno di {{count}} secondi"},xSeconds:{one:"un secondo",other:"{{count}} secondi"},halfAMinute:"alcuni secondi",lessThanXMinutes:{one:"meno di un minuto",other:"meno di {{count}} minuti"},xMinutes:{one:"un minuto",other:"{{count}} minuti"},aboutXHours:{one:"circa un'ora",other:"circa {{count}} ore"},xHours:{one:"un'ora",other:"{{count}} ore"},xDays:{one:"un giorno",other:"{{count}} giorni"},aboutXWeeks:{one:"circa una settimana",other:"circa {{count}} settimane"},xWeeks:{one:"una settimana",other:"{{count}} settimane"},aboutXMonths:{one:"circa un mese",other:"circa {{count}} mesi"},xMonths:{one:"un mese",other:"{{count}} mesi"},aboutXYears:{one:"circa un anno",other:"circa {{count}} anni"},xYears:{one:"un anno",other:"{{count}} anni"},overXYears:{one:"più di un anno",other:"più di {{count}} anni"},almostXYears:{one:"quasi un anno",other:"quasi {{count}} anni"}},Ua=(e,a,n)=>{let t;const i=Qa[e];return typeof i=="string"?t=i:a===1?t=i.one:t=i.other.replace("{{count}}",a.toString()),n!=null&&n.addSuffix?n.comparison&&n.comparison>0?"tra "+t:t+" fa":t},Ka={full:"EEEE d MMMM y",long:"d MMMM y",medium:"d MMM y",short:"dd/MM/y"},Za={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},en={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},tn={date:l({formats:Ka,defaultWidth:"full"}),time:l({formats:Za,defaultWidth:"full"}),dateTime:l({formats:en,defaultWidth:"full"})},I=["domenica","lunedì","martedì","mercoledì","giovedì","venerdì","sabato"];function an(e){return e===0?"'domenica scorsa alle' p":"'"+I[e]+" scorso alle' p"}function Z(e){return"'"+I[e]+" alle' p"}function nn(e){return e===0?"'domenica prossima alle' p":"'"+I[e]+" prossimo alle' p"}const rn={lastWeek:(e,a,n)=>{const t=e.getDay();return M(e,a,n)?Z(t):an(t)},yesterday:"'ieri alle' p",today:"'oggi alle' p",tomorrow:"'domani alle' p",nextWeek:(e,a,n)=>{const t=e.getDay();return M(e,a,n)?Z(t):nn(t)},other:"P"},on=(e,a,n,t)=>{const i=rn[e];return typeof i=="function"?i(a,n,t):i},sn={narrow:["aC","dC"],abbreviated:["a.C.","d.C."],wide:["avanti Cristo","dopo Cristo"]},dn={narrow:["1","2","3","4"],abbreviated:["T1","T2","T3","T4"],wide:["1º trimestre","2º trimestre","3º trimestre","4º trimestre"]},un={narrow:["G","F","M","A","M","G","L","A","S","O","N","D"],abbreviated:["gen","feb","mar","apr","mag","giu","lug","ago","set","ott","nov","dic"],wide:["gennaio","febbraio","marzo","aprile","maggio","giugno","luglio","agosto","settembre","ottobre","novembre","dicembre"]},mn={narrow:["D","L","M","M","G","V","S"],short:["dom","lun","mar","mer","gio","ven","sab"],abbreviated:["dom","lun","mar","mer","gio","ven","sab"],wide:["domenica","lunedì","martedì","mercoledì","giovedì","venerdì","sabato"]},ln={narrow:{am:"m.",pm:"p.",midnight:"mezzanotte",noon:"mezzogiorno",morning:"mattina",afternoon:"pomeriggio",evening:"sera",night:"notte"},abbreviated:{am:"AM",pm:"PM",midnight:"mezzanotte",noon:"mezzogiorno",morning:"mattina",afternoon:"pomeriggio",evening:"sera",night:"notte"},wide:{am:"AM",pm:"PM",midnight:"mezzanotte",noon:"mezzogiorno",morning:"mattina",afternoon:"pomeriggio",evening:"sera",night:"notte"}},cn={narrow:{am:"m.",pm:"p.",midnight:"mezzanotte",noon:"mezzogiorno",morning:"di mattina",afternoon:"del pomeriggio",evening:"di sera",night:"di notte"},abbreviated:{am:"AM",pm:"PM",midnight:"mezzanotte",noon:"mezzogiorno",morning:"di mattina",afternoon:"del pomeriggio",evening:"di sera",night:"di notte"},wide:{am:"AM",pm:"PM",midnight:"mezzanotte",noon:"mezzogiorno",morning:"di mattina",afternoon:"del pomeriggio",evening:"di sera",night:"di notte"}},hn=(e,a)=>{const n=Number(e);return String(n)},gn={ordinalNumber:hn,era:o({values:sn,defaultWidth:"wide"}),quarter:o({values:dn,defaultWidth:"wide",argumentCallback:e=>e-1}),month:o({values:un,defaultWidth:"wide"}),day:o({values:mn,defaultWidth:"wide"}),dayPeriod:o({values:ln,defaultWidth:"wide",formattingValues:cn,defaultFormattingWidth:"wide"})},fn=/^(\d+)(º)?/i,pn=/\d+/i,vn={narrow:/^(aC|dC)/i,abbreviated:/^(a\.?\s?C\.?|a\.?\s?e\.?\s?v\.?|d\.?\s?C\.?|e\.?\s?v\.?)/i,wide:/^(avanti Cristo|avanti Era Volgare|dopo Cristo|Era Volgare)/i},wn={any:[/^a/i,/^(d|e)/i]},yn={narrow:/^[1234]/i,abbreviated:/^t[1234]/i,wide:/^[1234](º)? trimestre/i},bn={any:[/1/i,/2/i,/3/i,/4/i]},Mn={narrow:/^[gfmalsond]/i,abbreviated:/^(gen|feb|mar|apr|mag|giu|lug|ago|set|ott|nov|dic)/i,wide:/^(gennaio|febbraio|marzo|aprile|maggio|giugno|luglio|agosto|settembre|ottobre|novembre|dicembre)/i},Pn={narrow:[/^g/i,/^f/i,/^m/i,/^a/i,/^m/i,/^g/i,/^l/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ge/i,/^f/i,/^mar/i,/^ap/i,/^mag/i,/^gi/i,/^l/i,/^ag/i,/^s/i,/^o/i,/^n/i,/^d/i]},kn={narrow:/^[dlmgvs]/i,short:/^(do|lu|ma|me|gi|ve|sa)/i,abbreviated:/^(dom|lun|mar|mer|gio|ven|sab)/i,wide:/^(domenica|luned[i|ì]|marted[i|ì]|mercoled[i|ì]|gioved[i|ì]|venerd[i|ì]|sabato)/i},xn={narrow:[/^d/i,/^l/i,/^m/i,/^m/i,/^g/i,/^v/i,/^s/i],any:[/^d/i,/^l/i,/^ma/i,/^me/i,/^g/i,/^v/i,/^s/i]},Wn={narrow:/^(a|m\.|p|mezzanotte|mezzogiorno|(di|del) (mattina|pomeriggio|sera|notte))/i,any:/^([ap]\.?\s?m\.?|mezzanotte|mezzogiorno|(di|del) (mattina|pomeriggio|sera|notte))/i},zn={any:{am:/^a/i,pm:/^p/i,midnight:/^mezza/i,noon:/^mezzo/i,morning:/mattina/i,afternoon:/pomeriggio/i,evening:/sera/i,night:/notte/i}},jn={ordinalNumber:y({matchPattern:fn,parsePattern:pn,valueCallback:e=>parseInt(e,10)}),era:s({matchPatterns:vn,defaultMatchWidth:"wide",parsePatterns:wn,defaultParseWidth:"any"}),quarter:s({matchPatterns:yn,defaultMatchWidth:"wide",parsePatterns:bn,defaultParseWidth:"any",valueCallback:e=>e+1}),month:s({matchPatterns:Mn,defaultMatchWidth:"wide",parsePatterns:Pn,defaultParseWidth:"any"}),day:s({matchPatterns:kn,defaultMatchWidth:"wide",parsePatterns:xn,defaultParseWidth:"any"}),dayPeriod:s({matchPatterns:Wn,defaultMatchWidth:"any",parsePatterns:zn,defaultParseWidth:"any"})},Tn={code:"it",formatDistance:Ua,formatLong:tn,formatRelative:on,localize:gn,match:jn,options:{weekStartsOn:1,firstWeekContainsDate:4}},$n={lessThanXSeconds:{one:"minder dan een seconde",other:"minder dan {{count}} seconden"},xSeconds:{one:"1 seconde",other:"{{count}} seconden"},halfAMinute:"een halve minuut",lessThanXMinutes:{one:"minder dan een minuut",other:"minder dan {{count}} minuten"},xMinutes:{one:"een minuut",other:"{{count}} minuten"},aboutXHours:{one:"ongeveer 1 uur",other:"ongeveer {{count}} uur"},xHours:{one:"1 uur",other:"{{count}} uur"},xDays:{one:"1 dag",other:"{{count}} dagen"},aboutXWeeks:{one:"ongeveer 1 week",other:"ongeveer {{count}} weken"},xWeeks:{one:"1 week",other:"{{count}} weken"},aboutXMonths:{one:"ongeveer 1 maand",other:"ongeveer {{count}} maanden"},xMonths:{one:"1 maand",other:"{{count}} maanden"},aboutXYears:{one:"ongeveer 1 jaar",other:"ongeveer {{count}} jaar"},xYears:{one:"1 jaar",other:"{{count}} jaar"},overXYears:{one:"meer dan 1 jaar",other:"meer dan {{count}} jaar"},almostXYears:{one:"bijna 1 jaar",other:"bijna {{count}} jaar"}},Dn=(e,a,n)=>{let t;const i=$n[e];return typeof i=="string"?t=i:a===1?t=i.one:t=i.other.replace("{{count}}",String(a)),n!=null&&n.addSuffix?n.comparison&&n.comparison>0?"over "+t:t+" geleden":t},Sn={full:"EEEE d MMMM y",long:"d MMMM y",medium:"d MMM y",short:"dd-MM-y"},Cn={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},Nn={full:"{{date}} 'om' {{time}}",long:"{{date}} 'om' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},An={date:l({formats:Sn,defaultWidth:"full"}),time:l({formats:Cn,defaultWidth:"full"}),dateTime:l({formats:Nn,defaultWidth:"full"})},En={lastWeek:"'afgelopen' eeee 'om' p",yesterday:"'gisteren om' p",today:"'vandaag om' p",tomorrow:"'morgen om' p",nextWeek:"eeee 'om' p",other:"P"},Ln=(e,a,n,t)=>En[e],Hn={narrow:["v.C.","n.C."],abbreviated:["v.Chr.","n.Chr."],wide:["voor Christus","na Christus"]},On={narrow:["1","2","3","4"],abbreviated:["K1","K2","K3","K4"],wide:["1e kwartaal","2e kwartaal","3e kwartaal","4e kwartaal"]},Gn={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["jan.","feb.","mrt.","apr.","mei","jun.","jul.","aug.","sep.","okt.","nov.","dec."],wide:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"]},Vn={narrow:["Z","M","D","W","D","V","Z"],short:["zo","ma","di","wo","do","vr","za"],abbreviated:["zon","maa","din","woe","don","vri","zat"],wide:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"]},Fn={narrow:{am:"AM",pm:"PM",midnight:"middernacht",noon:"het middaguur",morning:"'s ochtends",afternoon:"'s middags",evening:"'s avonds",night:"'s nachts"},abbreviated:{am:"AM",pm:"PM",midnight:"middernacht",noon:"het middaguur",morning:"'s ochtends",afternoon:"'s middags",evening:"'s avonds",night:"'s nachts"},wide:{am:"AM",pm:"PM",midnight:"middernacht",noon:"het middaguur",morning:"'s ochtends",afternoon:"'s middags",evening:"'s avonds",night:"'s nachts"}},In=(e,a)=>Number(e)+"e",Xn={ordinalNumber:In,era:o({values:Hn,defaultWidth:"wide"}),quarter:o({values:On,defaultWidth:"wide",argumentCallback:e=>e-1}),month:o({values:Gn,defaultWidth:"wide"}),day:o({values:Vn,defaultWidth:"wide"}),dayPeriod:o({values:Fn,defaultWidth:"wide"})},Rn=/^(\d+)e?/i,Jn=/\d+/i,qn={narrow:/^([vn]\.? ?C\.?)/,abbreviated:/^([vn]\. ?Chr\.?)/,wide:/^((voor|na) Christus)/},Yn={any:[/^v/,/^n/]},_n={narrow:/^[1234]/i,abbreviated:/^K[1234]/i,wide:/^[1234]e kwartaal/i},Bn={any:[/1/i,/2/i,/3/i,/4/i]},Qn={narrow:/^[jfmasond]/i,abbreviated:/^(jan.|feb.|mrt.|apr.|mei|jun.|jul.|aug.|sep.|okt.|nov.|dec.)/i,wide:/^(januari|februari|maart|april|mei|juni|juli|augustus|september|oktober|november|december)/i},Un={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^jan/i,/^feb/i,/^m(r|a)/i,/^apr/i,/^mei/i,/^jun/i,/^jul/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i]},Kn={narrow:/^[zmdwv]/i,short:/^(zo|ma|di|wo|do|vr|za)/i,abbreviated:/^(zon|maa|din|woe|don|vri|zat)/i,wide:/^(zondag|maandag|dinsdag|woensdag|donderdag|vrijdag|zaterdag)/i},Zn={narrow:[/^z/i,/^m/i,/^d/i,/^w/i,/^d/i,/^v/i,/^z/i],any:[/^zo/i,/^ma/i,/^di/i,/^wo/i,/^do/i,/^vr/i,/^za/i]},ei={any:/^(am|pm|middernacht|het middaguur|'s (ochtends|middags|avonds|nachts))/i},ti={any:{am:/^am/i,pm:/^pm/i,midnight:/^middernacht/i,noon:/^het middaguur/i,morning:/ochtend/i,afternoon:/middag/i,evening:/avond/i,night:/nacht/i}},ai={ordinalNumber:y({matchPattern:Rn,parsePattern:Jn,valueCallback:e=>parseInt(e,10)}),era:s({matchPatterns:qn,defaultMatchWidth:"wide",parsePatterns:Yn,defaultParseWidth:"any"}),quarter:s({matchPatterns:_n,defaultMatchWidth:"wide",parsePatterns:Bn,defaultParseWidth:"any",valueCallback:e=>e+1}),month:s({matchPatterns:Qn,defaultMatchWidth:"wide",parsePatterns:Un,defaultParseWidth:"any"}),day:s({matchPatterns:Kn,defaultMatchWidth:"wide",parsePatterns:Zn,defaultParseWidth:"any"}),dayPeriod:s({matchPatterns:ei,defaultMatchWidth:"any",parsePatterns:ti,defaultParseWidth:"any"})},ni={code:"nl",formatDistance:Dn,formatLong:An,formatRelative:Ln,localize:Xn,match:ai,options:{weekStartsOn:1,firstWeekContainsDate:4}},ii={lessThanXSeconds:{one:{regular:"mniej niż sekunda",past:"mniej niż sekundę",future:"mniej niż sekundę"},twoFour:"mniej niż {{count}} sekundy",other:"mniej niż {{count}} sekund"},xSeconds:{one:{regular:"sekunda",past:"sekundę",future:"sekundę"},twoFour:"{{count}} sekundy",other:"{{count}} sekund"},halfAMinute:{one:"pół minuty",twoFour:"pół minuty",other:"pół minuty"},lessThanXMinutes:{one:{regular:"mniej niż minuta",past:"mniej niż minutę",future:"mniej niż minutę"},twoFour:"mniej niż {{count}} minuty",other:"mniej niż {{count}} minut"},xMinutes:{one:{regular:"minuta",past:"minutę",future:"minutę"},twoFour:"{{count}} minuty",other:"{{count}} minut"},aboutXHours:{one:{regular:"około godziny",past:"około godziny",future:"około godzinę"},twoFour:"około {{count}} godziny",other:"około {{count}} godzin"},xHours:{one:{regular:"godzina",past:"godzinę",future:"godzinę"},twoFour:"{{count}} godziny",other:"{{count}} godzin"},xDays:{one:{regular:"dzień",past:"dzień",future:"1 dzień"},twoFour:"{{count}} dni",other:"{{count}} dni"},aboutXWeeks:{one:"około tygodnia",twoFour:"około {{count}} tygodni",other:"około {{count}} tygodni"},xWeeks:{one:"tydzień",twoFour:"{{count}} tygodnie",other:"{{count}} tygodni"},aboutXMonths:{one:"około miesiąc",twoFour:"około {{count}} miesiące",other:"około {{count}} miesięcy"},xMonths:{one:"miesiąc",twoFour:"{{count}} miesiące",other:"{{count}} miesięcy"},aboutXYears:{one:"około rok",twoFour:"około {{count}} lata",other:"około {{count}} lat"},xYears:{one:"rok",twoFour:"{{count}} lata",other:"{{count}} lat"},overXYears:{one:"ponad rok",twoFour:"ponad {{count}} lata",other:"ponad {{count}} lat"},almostXYears:{one:"prawie rok",twoFour:"prawie {{count}} lata",other:"prawie {{count}} lat"}};function ri(e,a){if(a===1)return e.one;const n=a%100;if(n<=20&&n>10)return e.other;const t=n%10;return t>=2&&t<=4?e.twoFour:e.other}function H(e,a,n){const t=ri(e,a);return(typeof t=="string"?t:t[n]).replace("{{count}}",String(a))}const oi=(e,a,n)=>{const t=ii[e];return n!=null&&n.addSuffix?n.comparison&&n.comparison>0?"za "+H(t,a,"future"):H(t,a,"past")+" temu":H(t,a,"regular")},si={full:"EEEE, do MMMM y",long:"do MMMM y",medium:"do MMM y",short:"dd.MM.y"},di={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},ui={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},mi={date:l({formats:si,defaultWidth:"full"}),time:l({formats:di,defaultWidth:"full"}),dateTime:l({formats:ui,defaultWidth:"full"})},li={masculine:"ostatni",feminine:"ostatnia"},ci={masculine:"ten",feminine:"ta"},hi={masculine:"następny",feminine:"następna"},gi={0:"feminine",1:"masculine",2:"masculine",3:"feminine",4:"masculine",5:"masculine",6:"feminine"};function ee(e,a,n,t){let i;if(M(a,n,t))i=ci;else if(e==="lastWeek")i=li;else if(e==="nextWeek")i=hi;else throw new Error(`Cannot determine adjectives for token ${e}`);const c=a.getDay(),m=gi[c];return`'${i[m]}' eeee 'o' p`}const fi={lastWeek:ee,yesterday:"'wczoraj o' p",today:"'dzisiaj o' p",tomorrow:"'jutro o' p",nextWeek:ee,other:"P"},pi=(e,a,n,t)=>{const i=fi[e];return typeof i=="function"?i(e,a,n,t):i},vi={narrow:["p.n.e.","n.e."],abbreviated:["p.n.e.","n.e."],wide:["przed naszą erą","naszej ery"]},wi={narrow:["1","2","3","4"],abbreviated:["I kw.","II kw.","III kw.","IV kw."],wide:["I kwartał","II kwartał","III kwartał","IV kwartał"]},yi={narrow:["S","L","M","K","M","C","L","S","W","P","L","G"],abbreviated:["sty","lut","mar","kwi","maj","cze","lip","sie","wrz","paź","lis","gru"],wide:["styczeń","luty","marzec","kwiecień","maj","czerwiec","lipiec","sierpień","wrzesień","październik","listopad","grudzień"]},bi={narrow:["s","l","m","k","m","c","l","s","w","p","l","g"],abbreviated:["sty","lut","mar","kwi","maj","cze","lip","sie","wrz","paź","lis","gru"],wide:["stycznia","lutego","marca","kwietnia","maja","czerwca","lipca","sierpnia","września","października","listopada","grudnia"]},Mi={narrow:["N","P","W","Ś","C","P","S"],short:["nie","pon","wto","śro","czw","pią","sob"],abbreviated:["niedz.","pon.","wt.","śr.","czw.","pt.","sob."],wide:["niedziela","poniedziałek","wtorek","środa","czwartek","piątek","sobota"]},Pi={narrow:["n","p","w","ś","c","p","s"],short:["nie","pon","wto","śro","czw","pią","sob"],abbreviated:["niedz.","pon.","wt.","śr.","czw.","pt.","sob."],wide:["niedziela","poniedziałek","wtorek","środa","czwartek","piątek","sobota"]},ki={narrow:{am:"a",pm:"p",midnight:"półn.",noon:"poł",morning:"rano",afternoon:"popoł.",evening:"wiecz.",night:"noc"},abbreviated:{am:"AM",pm:"PM",midnight:"północ",noon:"południe",morning:"rano",afternoon:"popołudnie",evening:"wieczór",night:"noc"},wide:{am:"AM",pm:"PM",midnight:"północ",noon:"południe",morning:"rano",afternoon:"popołudnie",evening:"wieczór",night:"noc"}},xi={narrow:{am:"a",pm:"p",midnight:"o półn.",noon:"w poł.",morning:"rano",afternoon:"po poł.",evening:"wiecz.",night:"w nocy"},abbreviated:{am:"AM",pm:"PM",midnight:"o północy",noon:"w południe",morning:"rano",afternoon:"po południu",evening:"wieczorem",night:"w nocy"},wide:{am:"AM",pm:"PM",midnight:"o północy",noon:"w południe",morning:"rano",afternoon:"po południu",evening:"wieczorem",night:"w nocy"}},Wi=(e,a)=>String(e),zi={ordinalNumber:Wi,era:o({values:vi,defaultWidth:"wide"}),quarter:o({values:wi,defaultWidth:"wide",argumentCallback:e=>e-1}),month:o({values:yi,defaultWidth:"wide",formattingValues:bi,defaultFormattingWidth:"wide"}),day:o({values:Mi,defaultWidth:"wide",formattingValues:Pi,defaultFormattingWidth:"wide"}),dayPeriod:o({values:ki,defaultWidth:"wide",formattingValues:xi,defaultFormattingWidth:"wide"})},ji=/^(\d+)?/i,Ti=/\d+/i,$i={narrow:/^(p\.?\s*n\.?\s*e\.?\s*|n\.?\s*e\.?\s*)/i,abbreviated:/^(p\.?\s*n\.?\s*e\.?\s*|n\.?\s*e\.?\s*)/i,wide:/^(przed\s*nasz(ą|a)\s*er(ą|a)|naszej\s*ery)/i},Di={any:[/^p/i,/^n/i]},Si={narrow:/^[1234]/i,abbreviated:/^(I|II|III|IV)\s*kw\.?/i,wide:/^(I|II|III|IV)\s*kwarta(ł|l)/i},Ci={narrow:[/1/i,/2/i,/3/i,/4/i],any:[/^I kw/i,/^II kw/i,/^III kw/i,/^IV kw/i]},Ni={narrow:/^[slmkcwpg]/i,abbreviated:/^(sty|lut|mar|kwi|maj|cze|lip|sie|wrz|pa(ź|z)|lis|gru)/i,wide:/^(stycznia|stycze(ń|n)|lutego|luty|marca|marzec|kwietnia|kwiecie(ń|n)|maja|maj|czerwca|czerwiec|lipca|lipiec|sierpnia|sierpie(ń|n)|wrze(ś|s)nia|wrzesie(ń|n)|pa(ź|z)dziernika|pa(ź|z)dziernik|listopada|listopad|grudnia|grudzie(ń|n))/i},Ai={narrow:[/^s/i,/^l/i,/^m/i,/^k/i,/^m/i,/^c/i,/^l/i,/^s/i,/^w/i,/^p/i,/^l/i,/^g/i],any:[/^st/i,/^lu/i,/^mar/i,/^k/i,/^maj/i,/^c/i,/^lip/i,/^si/i,/^w/i,/^p/i,/^lis/i,/^g/i]},Ei={narrow:/^[npwścs]/i,short:/^(nie|pon|wto|(ś|s)ro|czw|pi(ą|a)|sob)/i,abbreviated:/^(niedz|pon|wt|(ś|s)r|czw|pt|sob)\.?/i,wide:/^(niedziela|poniedzia(ł|l)ek|wtorek|(ś|s)roda|czwartek|pi(ą|a)tek|sobota)/i},Li={narrow:[/^n/i,/^p/i,/^w/i,/^ś/i,/^c/i,/^p/i,/^s/i],abbreviated:[/^n/i,/^po/i,/^w/i,/^(ś|s)r/i,/^c/i,/^pt/i,/^so/i],any:[/^n/i,/^po/i,/^w/i,/^(ś|s)r/i,/^c/i,/^pi/i,/^so/i]},Hi={narrow:/^(^a$|^p$|pó(ł|l)n\.?|o\s*pó(ł|l)n\.?|po(ł|l)\.?|w\s*po(ł|l)\.?|po\s*po(ł|l)\.?|rano|wiecz\.?|noc|w\s*nocy)/i,any:/^(am|pm|pó(ł|l)noc|o\s*pó(ł|l)nocy|po(ł|l)udnie|w\s*po(ł|l)udnie|popo(ł|l)udnie|po\s*po(ł|l)udniu|rano|wieczór|wieczorem|noc|w\s*nocy)/i},Oi={narrow:{am:/^a$/i,pm:/^p$/i,midnight:/pó(ł|l)n/i,noon:/po(ł|l)/i,morning:/rano/i,afternoon:/po\s*po(ł|l)/i,evening:/wiecz/i,night:/noc/i},any:{am:/^am/i,pm:/^pm/i,midnight:/pó(ł|l)n/i,noon:/po(ł|l)/i,morning:/rano/i,afternoon:/po\s*po(ł|l)/i,evening:/wiecz/i,night:/noc/i}},Gi={ordinalNumber:y({matchPattern:ji,parsePattern:Ti,valueCallback:e=>parseInt(e,10)}),era:s({matchPatterns:$i,defaultMatchWidth:"wide",parsePatterns:Di,defaultParseWidth:"any"}),quarter:s({matchPatterns:Si,defaultMatchWidth:"wide",parsePatterns:Ci,defaultParseWidth:"any",valueCallback:e=>e+1}),month:s({matchPatterns:Ni,defaultMatchWidth:"wide",parsePatterns:Ai,defaultParseWidth:"any"}),day:s({matchPatterns:Ei,defaultMatchWidth:"wide",parsePatterns:Li,defaultParseWidth:"any"}),dayPeriod:s({matchPatterns:Hi,defaultMatchWidth:"any",parsePatterns:Oi,defaultParseWidth:"any"})},Vi={code:"pl",formatDistance:oi,formatLong:mi,formatRelative:pi,localize:zi,match:Gi,options:{weekStartsOn:1,firstWeekContainsDate:4}},Fi={lessThanXSeconds:{one:"menos de um segundo",other:"menos de {{count}} segundos"},xSeconds:{one:"1 segundo",other:"{{count}} segundos"},halfAMinute:"meio minuto",lessThanXMinutes:{one:"menos de um minuto",other:"menos de {{count}} minutos"},xMinutes:{one:"1 minuto",other:"{{count}} minutos"},aboutXHours:{one:"aproximadamente 1 hora",other:"aproximadamente {{count}} horas"},xHours:{one:"1 hora",other:"{{count}} horas"},xDays:{one:"1 dia",other:"{{count}} dias"},aboutXWeeks:{one:"aproximadamente 1 semana",other:"aproximadamente {{count}} semanas"},xWeeks:{one:"1 semana",other:"{{count}} semanas"},aboutXMonths:{one:"aproximadamente 1 mês",other:"aproximadamente {{count}} meses"},xMonths:{one:"1 mês",other:"{{count}} meses"},aboutXYears:{one:"aproximadamente 1 ano",other:"aproximadamente {{count}} anos"},xYears:{one:"1 ano",other:"{{count}} anos"},overXYears:{one:"mais de 1 ano",other:"mais de {{count}} anos"},almostXYears:{one:"quase 1 ano",other:"quase {{count}} anos"}},Ii=(e,a,n)=>{let t;const i=Fi[e];return typeof i=="string"?t=i:a===1?t=i.one:t=i.other.replace("{{count}}",String(a)),n!=null&&n.addSuffix?n.comparison&&n.comparison>0?"daqui a "+t:"há "+t:t},Xi={full:"EEEE, d 'de' MMMM 'de' y",long:"d 'de' MMMM 'de' y",medium:"d 'de' MMM 'de' y",short:"dd/MM/y"},Ri={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},Ji={full:"{{date}} 'às' {{time}}",long:"{{date}} 'às' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},qi={date:l({formats:Xi,defaultWidth:"full"}),time:l({formats:Ri,defaultWidth:"full"}),dateTime:l({formats:Ji,defaultWidth:"full"})},Yi={lastWeek:e=>{const a=e.getDay();return"'"+(a===0||a===6?"último":"última")+"' eeee 'às' p"},yesterday:"'ontem às' p",today:"'hoje às' p",tomorrow:"'amanhã às' p",nextWeek:"eeee 'às' p",other:"P"},_i=(e,a,n,t)=>{const i=Yi[e];return typeof i=="function"?i(a):i},Bi={narrow:["aC","dC"],abbreviated:["a.C.","d.C."],wide:["antes de Cristo","depois de Cristo"]},Qi={narrow:["1","2","3","4"],abbreviated:["T1","T2","T3","T4"],wide:["1º trimestre","2º trimestre","3º trimestre","4º trimestre"]},Ui={narrow:["j","f","m","a","m","j","j","a","s","o","n","d"],abbreviated:["jan","fev","mar","abr","mai","jun","jul","ago","set","out","nov","dez"],wide:["janeiro","fevereiro","março","abril","maio","junho","julho","agosto","setembro","outubro","novembro","dezembro"]},Ki={narrow:["d","s","t","q","q","s","s"],short:["dom","seg","ter","qua","qui","sex","sáb"],abbreviated:["dom","seg","ter","qua","qui","sex","sáb"],wide:["domingo","segunda-feira","terça-feira","quarta-feira","quinta-feira","sexta-feira","sábado"]},Zi={narrow:{am:"AM",pm:"PM",midnight:"meia-noite",noon:"meio-dia",morning:"manhã",afternoon:"tarde",evening:"noite",night:"madrugada"},abbreviated:{am:"AM",pm:"PM",midnight:"meia-noite",noon:"meio-dia",morning:"manhã",afternoon:"tarde",evening:"noite",night:"madrugada"},wide:{am:"AM",pm:"PM",midnight:"meia-noite",noon:"meio-dia",morning:"manhã",afternoon:"tarde",evening:"noite",night:"madrugada"}},er={narrow:{am:"AM",pm:"PM",midnight:"meia-noite",noon:"meio-dia",morning:"da manhã",afternoon:"da tarde",evening:"da noite",night:"da madrugada"},abbreviated:{am:"AM",pm:"PM",midnight:"meia-noite",noon:"meio-dia",morning:"da manhã",afternoon:"da tarde",evening:"da noite",night:"da madrugada"},wide:{am:"AM",pm:"PM",midnight:"meia-noite",noon:"meio-dia",morning:"da manhã",afternoon:"da tarde",evening:"da noite",night:"da madrugada"}},tr=(e,a)=>Number(e)+"º",ar={ordinalNumber:tr,era:o({values:Bi,defaultWidth:"wide"}),quarter:o({values:Qi,defaultWidth:"wide",argumentCallback:e=>e-1}),month:o({values:Ui,defaultWidth:"wide"}),day:o({values:Ki,defaultWidth:"wide"}),dayPeriod:o({values:Zi,defaultWidth:"wide",formattingValues:er,defaultFormattingWidth:"wide"})},nr=/^(\d+)(º|ª)?/i,ir=/\d+/i,rr={narrow:/^(ac|dc|a|d)/i,abbreviated:/^(a\.?\s?c\.?|a\.?\s?e\.?\s?c\.?|d\.?\s?c\.?|e\.?\s?c\.?)/i,wide:/^(antes de cristo|antes da era comum|depois de cristo|era comum)/i},or={any:[/^ac/i,/^dc/i],wide:[/^(antes de cristo|antes da era comum)/i,/^(depois de cristo|era comum)/i]},sr={narrow:/^[1234]/i,abbreviated:/^T[1234]/i,wide:/^[1234](º|ª)? trimestre/i},dr={any:[/1/i,/2/i,/3/i,/4/i]},ur={narrow:/^[jfmasond]/i,abbreviated:/^(jan|fev|mar|abr|mai|jun|jul|ago|set|out|nov|dez)/i,wide:/^(janeiro|fevereiro|março|abril|maio|junho|julho|agosto|setembro|outubro|novembro|dezembro)/i},mr={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ab/i,/^mai/i,/^jun/i,/^jul/i,/^ag/i,/^s/i,/^o/i,/^n/i,/^d/i]},lr={narrow:/^[dstq]/i,short:/^(dom|seg|ter|qua|qui|sex|s[áa]b)/i,abbreviated:/^(dom|seg|ter|qua|qui|sex|s[áa]b)/i,wide:/^(domingo|segunda-?\s?feira|terça-?\s?feira|quarta-?\s?feira|quinta-?\s?feira|sexta-?\s?feira|s[áa]bado)/i},cr={narrow:[/^d/i,/^s/i,/^t/i,/^q/i,/^q/i,/^s/i,/^s/i],any:[/^d/i,/^seg/i,/^t/i,/^qua/i,/^qui/i,/^sex/i,/^s[áa]/i]},hr={narrow:/^(a|p|meia-?\s?noite|meio-?\s?dia|(da) (manh[ãa]|tarde|noite|madrugada))/i,any:/^([ap]\.?\s?m\.?|meia-?\s?noite|meio-?\s?dia|(da) (manh[ãa]|tarde|noite|madrugada))/i},gr={any:{am:/^a/i,pm:/^p/i,midnight:/^meia/i,noon:/^meio/i,morning:/manh[ãa]/i,afternoon:/tarde/i,evening:/noite/i,night:/madrugada/i}},fr={ordinalNumber:y({matchPattern:nr,parsePattern:ir,valueCallback:e=>parseInt(e,10)}),era:s({matchPatterns:rr,defaultMatchWidth:"wide",parsePatterns:or,defaultParseWidth:"any"}),quarter:s({matchPatterns:sr,defaultMatchWidth:"wide",parsePatterns:dr,defaultParseWidth:"any",valueCallback:e=>e+1}),month:s({matchPatterns:ur,defaultMatchWidth:"wide",parsePatterns:mr,defaultParseWidth:"any"}),day:s({matchPatterns:lr,defaultMatchWidth:"wide",parsePatterns:cr,defaultParseWidth:"any"}),dayPeriod:s({matchPatterns:hr,defaultMatchWidth:"any",parsePatterns:gr,defaultParseWidth:"any"})},pr={code:"pt",formatDistance:Ii,formatLong:qi,formatRelative:_i,localize:ar,match:fr,options:{weekStartsOn:1,firstWeekContainsDate:4}},vr={lessThanXSeconds:{one:"menos de um segundo",other:"menos de {{count}} segundos"},xSeconds:{one:"1 segundo",other:"{{count}} segundos"},halfAMinute:"meio minuto",lessThanXMinutes:{one:"menos de um minuto",other:"menos de {{count}} minutos"},xMinutes:{one:"1 minuto",other:"{{count}} minutos"},aboutXHours:{one:"cerca de 1 hora",other:"cerca de {{count}} horas"},xHours:{one:"1 hora",other:"{{count}} horas"},xDays:{one:"1 dia",other:"{{count}} dias"},aboutXWeeks:{one:"cerca de 1 semana",other:"cerca de {{count}} semanas"},xWeeks:{one:"1 semana",other:"{{count}} semanas"},aboutXMonths:{one:"cerca de 1 mês",other:"cerca de {{count}} meses"},xMonths:{one:"1 mês",other:"{{count}} meses"},aboutXYears:{one:"cerca de 1 ano",other:"cerca de {{count}} anos"},xYears:{one:"1 ano",other:"{{count}} anos"},overXYears:{one:"mais de 1 ano",other:"mais de {{count}} anos"},almostXYears:{one:"quase 1 ano",other:"quase {{count}} anos"}},wr=(e,a,n)=>{let t;const i=vr[e];return typeof i=="string"?t=i:a===1?t=i.one:t=i.other.replace("{{count}}",String(a)),n!=null&&n.addSuffix?n.comparison&&n.comparison>0?"em "+t:"há "+t:t},yr={full:"EEEE, d 'de' MMMM 'de' y",long:"d 'de' MMMM 'de' y",medium:"d MMM y",short:"dd/MM/yyyy"},br={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},Mr={full:"{{date}} 'às' {{time}}",long:"{{date}} 'às' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},Pr={date:l({formats:yr,defaultWidth:"full"}),time:l({formats:br,defaultWidth:"full"}),dateTime:l({formats:Mr,defaultWidth:"full"})},kr={lastWeek:e=>{const a=e.getDay();return"'"+(a===0||a===6?"último":"última")+"' eeee 'às' p"},yesterday:"'ontem às' p",today:"'hoje às' p",tomorrow:"'amanhã às' p",nextWeek:"eeee 'às' p",other:"P"},xr=(e,a,n,t)=>{const i=kr[e];return typeof i=="function"?i(a):i},Wr={narrow:["AC","DC"],abbreviated:["AC","DC"],wide:["antes de cristo","depois de cristo"]},zr={narrow:["1","2","3","4"],abbreviated:["T1","T2","T3","T4"],wide:["1º trimestre","2º trimestre","3º trimestre","4º trimestre"]},jr={narrow:["j","f","m","a","m","j","j","a","s","o","n","d"],abbreviated:["jan","fev","mar","abr","mai","jun","jul","ago","set","out","nov","dez"],wide:["janeiro","fevereiro","março","abril","maio","junho","julho","agosto","setembro","outubro","novembro","dezembro"]},Tr={narrow:["D","S","T","Q","Q","S","S"],short:["dom","seg","ter","qua","qui","sex","sab"],abbreviated:["domingo","segunda","terça","quarta","quinta","sexta","sábado"],wide:["domingo","segunda-feira","terça-feira","quarta-feira","quinta-feira","sexta-feira","sábado"]},$r={narrow:{am:"a",pm:"p",midnight:"mn",noon:"md",morning:"manhã",afternoon:"tarde",evening:"tarde",night:"noite"},abbreviated:{am:"AM",pm:"PM",midnight:"meia-noite",noon:"meio-dia",morning:"manhã",afternoon:"tarde",evening:"tarde",night:"noite"},wide:{am:"a.m.",pm:"p.m.",midnight:"meia-noite",noon:"meio-dia",morning:"manhã",afternoon:"tarde",evening:"tarde",night:"noite"}},Dr={narrow:{am:"a",pm:"p",midnight:"mn",noon:"md",morning:"da manhã",afternoon:"da tarde",evening:"da tarde",night:"da noite"},abbreviated:{am:"AM",pm:"PM",midnight:"meia-noite",noon:"meio-dia",morning:"da manhã",afternoon:"da tarde",evening:"da tarde",night:"da noite"},wide:{am:"a.m.",pm:"p.m.",midnight:"meia-noite",noon:"meio-dia",morning:"da manhã",afternoon:"da tarde",evening:"da tarde",night:"da noite"}},Sr=(e,a)=>{const n=Number(e);return(a==null?void 0:a.unit)==="week"?n+"ª":n+"º"},Cr={ordinalNumber:Sr,era:o({values:Wr,defaultWidth:"wide"}),quarter:o({values:zr,defaultWidth:"wide",argumentCallback:e=>e-1}),month:o({values:jr,defaultWidth:"wide"}),day:o({values:Tr,defaultWidth:"wide"}),dayPeriod:o({values:$r,defaultWidth:"wide",formattingValues:Dr,defaultFormattingWidth:"wide"})},Nr=/^(\d+)[ºªo]?/i,Ar=/\d+/i,Er={narrow:/^(ac|dc|a|d)/i,abbreviated:/^(a\.?\s?c\.?|d\.?\s?c\.?)/i,wide:/^(antes de cristo|depois de cristo)/i},Lr={any:[/^ac/i,/^dc/i],wide:[/^antes de cristo/i,/^depois de cristo/i]},Hr={narrow:/^[1234]/i,abbreviated:/^T[1234]/i,wide:/^[1234](º)? trimestre/i},Or={any:[/1/i,/2/i,/3/i,/4/i]},Gr={narrow:/^[jfmajsond]/i,abbreviated:/^(jan|fev|mar|abr|mai|jun|jul|ago|set|out|nov|dez)/i,wide:/^(janeiro|fevereiro|março|abril|maio|junho|julho|agosto|setembro|outubro|novembro|dezembro)/i},Vr={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^fev/i,/^mar/i,/^abr/i,/^mai/i,/^jun/i,/^jul/i,/^ago/i,/^set/i,/^out/i,/^nov/i,/^dez/i]},Fr={narrow:/^(dom|[23456]ª?|s[aá]b)/i,short:/^(dom|[23456]ª?|s[aá]b)/i,abbreviated:/^(dom|seg|ter|qua|qui|sex|s[aá]b)/i,wide:/^(domingo|(segunda|ter[cç]a|quarta|quinta|sexta)([- ]feira)?|s[aá]bado)/i},Ir={short:[/^d/i,/^2/i,/^3/i,/^4/i,/^5/i,/^6/i,/^s[aá]/i],narrow:[/^d/i,/^2/i,/^3/i,/^4/i,/^5/i,/^6/i,/^s[aá]/i],any:[/^d/i,/^seg/i,/^t/i,/^qua/i,/^qui/i,/^sex/i,/^s[aá]b/i]},Xr={narrow:/^(a|p|mn|md|(da) (manhã|tarde|noite))/i,any:/^([ap]\.?\s?m\.?|meia[-\s]noite|meio[-\s]dia|(da) (manhã|tarde|noite))/i},Rr={any:{am:/^a/i,pm:/^p/i,midnight:/^mn|^meia[-\s]noite/i,noon:/^md|^meio[-\s]dia/i,morning:/manhã/i,afternoon:/tarde/i,evening:/tarde/i,night:/noite/i}},Jr={ordinalNumber:y({matchPattern:Nr,parsePattern:Ar,valueCallback:e=>parseInt(e,10)}),era:s({matchPatterns:Er,defaultMatchWidth:"wide",parsePatterns:Lr,defaultParseWidth:"any"}),quarter:s({matchPatterns:Hr,defaultMatchWidth:"wide",parsePatterns:Or,defaultParseWidth:"any",valueCallback:e=>e+1}),month:s({matchPatterns:Gr,defaultMatchWidth:"wide",parsePatterns:Vr,defaultParseWidth:"any"}),day:s({matchPatterns:Fr,defaultMatchWidth:"wide",parsePatterns:Ir,defaultParseWidth:"any"}),dayPeriod:s({matchPatterns:Xr,defaultMatchWidth:"any",parsePatterns:Rr,defaultParseWidth:"any"})},qr={code:"pt-BR",formatDistance:wr,formatLong:Pr,formatRelative:xr,localize:Cr,match:Jr,options:{weekStartsOn:0,firstWeekContainsDate:1}};function W(e,a){if(e.one!==void 0&&a===1)return e.one;const n=a%10,t=a%100;return n===1&&t!==11?e.singularNominative.replace("{{count}}",String(a)):n>=2&&n<=4&&(t<10||t>20)?e.singularGenitive.replace("{{count}}",String(a)):e.pluralGenitive.replace("{{count}}",String(a))}function f(e){return(a,n)=>n!=null&&n.addSuffix?n.comparison&&n.comparison>0?e.future?W(e.future,a):"через "+W(e.regular,a):e.past?W(e.past,a):W(e.regular,a)+" назад":W(e.regular,a)}const Yr={lessThanXSeconds:f({regular:{one:"меньше секунды",singularNominative:"меньше {{count}} секунды",singularGenitive:"меньше {{count}} секунд",pluralGenitive:"меньше {{count}} секунд"},future:{one:"меньше, чем через секунду",singularNominative:"меньше, чем через {{count}} секунду",singularGenitive:"меньше, чем через {{count}} секунды",pluralGenitive:"меньше, чем через {{count}} секунд"}}),xSeconds:f({regular:{singularNominative:"{{count}} секунда",singularGenitive:"{{count}} секунды",pluralGenitive:"{{count}} секунд"},past:{singularNominative:"{{count}} секунду назад",singularGenitive:"{{count}} секунды назад",pluralGenitive:"{{count}} секунд назад"},future:{singularNominative:"через {{count}} секунду",singularGenitive:"через {{count}} секунды",pluralGenitive:"через {{count}} секунд"}}),halfAMinute:(e,a)=>a!=null&&a.addSuffix?a.comparison&&a.comparison>0?"через полминуты":"полминуты назад":"полминуты",lessThanXMinutes:f({regular:{one:"меньше минуты",singularNominative:"меньше {{count}} минуты",singularGenitive:"меньше {{count}} минут",pluralGenitive:"меньше {{count}} минут"},future:{one:"меньше, чем через минуту",singularNominative:"меньше, чем через {{count}} минуту",singularGenitive:"меньше, чем через {{count}} минуты",pluralGenitive:"меньше, чем через {{count}} минут"}}),xMinutes:f({regular:{singularNominative:"{{count}} минута",singularGenitive:"{{count}} минуты",pluralGenitive:"{{count}} минут"},past:{singularNominative:"{{count}} минуту назад",singularGenitive:"{{count}} минуты назад",pluralGenitive:"{{count}} минут назад"},future:{singularNominative:"через {{count}} минуту",singularGenitive:"через {{count}} минуты",pluralGenitive:"через {{count}} минут"}}),aboutXHours:f({regular:{singularNominative:"около {{count}} часа",singularGenitive:"около {{count}} часов",pluralGenitive:"около {{count}} часов"},future:{singularNominative:"приблизительно через {{count}} час",singularGenitive:"приблизительно через {{count}} часа",pluralGenitive:"приблизительно через {{count}} часов"}}),xHours:f({regular:{singularNominative:"{{count}} час",singularGenitive:"{{count}} часа",pluralGenitive:"{{count}} часов"}}),xDays:f({regular:{singularNominative:"{{count}} день",singularGenitive:"{{count}} дня",pluralGenitive:"{{count}} дней"}}),aboutXWeeks:f({regular:{singularNominative:"около {{count}} недели",singularGenitive:"около {{count}} недель",pluralGenitive:"около {{count}} недель"},future:{singularNominative:"приблизительно через {{count}} неделю",singularGenitive:"приблизительно через {{count}} недели",pluralGenitive:"приблизительно через {{count}} недель"}}),xWeeks:f({regular:{singularNominative:"{{count}} неделя",singularGenitive:"{{count}} недели",pluralGenitive:"{{count}} недель"}}),aboutXMonths:f({regular:{singularNominative:"около {{count}} месяца",singularGenitive:"около {{count}} месяцев",pluralGenitive:"около {{count}} месяцев"},future:{singularNominative:"приблизительно через {{count}} месяц",singularGenitive:"приблизительно через {{count}} месяца",pluralGenitive:"приблизительно через {{count}} месяцев"}}),xMonths:f({regular:{singularNominative:"{{count}} месяц",singularGenitive:"{{count}} месяца",pluralGenitive:"{{count}} месяцев"}}),aboutXYears:f({regular:{singularNominative:"около {{count}} года",singularGenitive:"около {{count}} лет",pluralGenitive:"около {{count}} лет"},future:{singularNominative:"приблизительно через {{count}} год",singularGenitive:"приблизительно через {{count}} года",pluralGenitive:"приблизительно через {{count}} лет"}}),xYears:f({regular:{singularNominative:"{{count}} год",singularGenitive:"{{count}} года",pluralGenitive:"{{count}} лет"}}),overXYears:f({regular:{singularNominative:"больше {{count}} года",singularGenitive:"больше {{count}} лет",pluralGenitive:"больше {{count}} лет"},future:{singularNominative:"больше, чем через {{count}} год",singularGenitive:"больше, чем через {{count}} года",pluralGenitive:"больше, чем через {{count}} лет"}}),almostXYears:f({regular:{singularNominative:"почти {{count}} год",singularGenitive:"почти {{count}} года",pluralGenitive:"почти {{count}} лет"},future:{singularNominative:"почти через {{count}} год",singularGenitive:"почти через {{count}} года",pluralGenitive:"почти через {{count}} лет"}})},_r=(e,a,n)=>Yr[e](a,n),Br={full:"EEEE, d MMMM y 'г.'",long:"d MMMM y 'г.'",medium:"d MMM y 'г.'",short:"dd.MM.y"},Qr={full:"H:mm:ss zzzz",long:"H:mm:ss z",medium:"H:mm:ss",short:"H:mm"},Ur={any:"{{date}}, {{time}}"},Kr={date:l({formats:Br,defaultWidth:"full"}),time:l({formats:Qr,defaultWidth:"full"}),dateTime:l({formats:Ur,defaultWidth:"any"})},X=["воскресенье","понедельник","вторник","среду","четверг","пятницу","субботу"];function Zr(e){const a=X[e];switch(e){case 0:return"'в прошлое "+a+" в' p";case 1:case 2:case 4:return"'в прошлый "+a+" в' p";case 3:case 5:case 6:return"'в прошлую "+a+" в' p"}}function te(e){const a=X[e];return e===2?"'во "+a+" в' p":"'в "+a+" в' p"}function eo(e){const a=X[e];switch(e){case 0:return"'в следующее "+a+" в' p";case 1:case 2:case 4:return"'в следующий "+a+" в' p";case 3:case 5:case 6:return"'в следующую "+a+" в' p"}}const to={lastWeek:(e,a,n)=>{const t=e.getDay();return M(e,a,n)?te(t):Zr(t)},yesterday:"'вчера в' p",today:"'сегодня в' p",tomorrow:"'завтра в' p",nextWeek:(e,a,n)=>{const t=e.getDay();return M(e,a,n)?te(t):eo(t)},other:"P"},ao=(e,a,n,t)=>{const i=to[e];return typeof i=="function"?i(a,n,t):i},no={narrow:["до н.э.","н.э."],abbreviated:["до н. э.","н. э."],wide:["до нашей эры","нашей эры"]},io={narrow:["1","2","3","4"],abbreviated:["1-й кв.","2-й кв.","3-й кв.","4-й кв."],wide:["1-й квартал","2-й квартал","3-й квартал","4-й квартал"]},ro={narrow:["Я","Ф","М","А","М","И","И","А","С","О","Н","Д"],abbreviated:["янв.","фев.","март","апр.","май","июнь","июль","авг.","сент.","окт.","нояб.","дек."],wide:["январь","февраль","март","апрель","май","июнь","июль","август","сентябрь","октябрь","ноябрь","декабрь"]},oo={narrow:["Я","Ф","М","А","М","И","И","А","С","О","Н","Д"],abbreviated:["янв.","фев.","мар.","апр.","мая","июн.","июл.","авг.","сент.","окт.","нояб.","дек."],wide:["января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря"]},so={narrow:["В","П","В","С","Ч","П","С"],short:["вс","пн","вт","ср","чт","пт","сб"],abbreviated:["вск","пнд","втр","срд","чтв","птн","суб"],wide:["воскресенье","понедельник","вторник","среда","четверг","пятница","суббота"]},uo={narrow:{am:"ДП",pm:"ПП",midnight:"полн.",noon:"полд.",morning:"утро",afternoon:"день",evening:"веч.",night:"ночь"},abbreviated:{am:"ДП",pm:"ПП",midnight:"полн.",noon:"полд.",morning:"утро",afternoon:"день",evening:"веч.",night:"ночь"},wide:{am:"ДП",pm:"ПП",midnight:"полночь",noon:"полдень",morning:"утро",afternoon:"день",evening:"вечер",night:"ночь"}},mo={narrow:{am:"ДП",pm:"ПП",midnight:"полн.",noon:"полд.",morning:"утра",afternoon:"дня",evening:"веч.",night:"ночи"},abbreviated:{am:"ДП",pm:"ПП",midnight:"полн.",noon:"полд.",morning:"утра",afternoon:"дня",evening:"веч.",night:"ночи"},wide:{am:"ДП",pm:"ПП",midnight:"полночь",noon:"полдень",morning:"утра",afternoon:"дня",evening:"вечера",night:"ночи"}},lo=(e,a)=>{const n=Number(e),t=a==null?void 0:a.unit;let i;return t==="date"?i="-е":t==="week"||t==="minute"||t==="second"?i="-я":i="-й",n+i},co={ordinalNumber:lo,era:o({values:no,defaultWidth:"wide"}),quarter:o({values:io,defaultWidth:"wide",argumentCallback:e=>e-1}),month:o({values:ro,defaultWidth:"wide",formattingValues:oo,defaultFormattingWidth:"wide"}),day:o({values:so,defaultWidth:"wide"}),dayPeriod:o({values:uo,defaultWidth:"any",formattingValues:mo,defaultFormattingWidth:"wide"})},ho=/^(\d+)(-?(е|я|й|ое|ье|ая|ья|ый|ой|ий|ый))?/i,go=/\d+/i,fo={narrow:/^((до )?н\.?\s?э\.?)/i,abbreviated:/^((до )?н\.?\s?э\.?)/i,wide:/^(до нашей эры|нашей эры|наша эра)/i},po={any:[/^д/i,/^н/i]},vo={narrow:/^[1234]/i,abbreviated:/^[1234](-?[ыои]?й?)? кв.?/i,wide:/^[1234](-?[ыои]?й?)? квартал/i},wo={any:[/1/i,/2/i,/3/i,/4/i]},yo={narrow:/^[яфмаисонд]/i,abbreviated:/^(янв|фев|март?|апр|ма[йя]|июн[ья]?|июл[ья]?|авг|сент?|окт|нояб?|дек)\.?/i,wide:/^(январ[ья]|феврал[ья]|марта?|апрел[ья]|ма[йя]|июн[ья]|июл[ья]|августа?|сентябр[ья]|октябр[ья]|октябр[ья]|ноябр[ья]|декабр[ья])/i},bo={narrow:[/^я/i,/^ф/i,/^м/i,/^а/i,/^м/i,/^и/i,/^и/i,/^а/i,/^с/i,/^о/i,/^н/i,/^я/i],any:[/^я/i,/^ф/i,/^мар/i,/^ап/i,/^ма[йя]/i,/^июн/i,/^июл/i,/^ав/i,/^с/i,/^о/i,/^н/i,/^д/i]},Mo={narrow:/^[впсч]/i,short:/^(вс|во|пн|по|вт|ср|чт|че|пт|пя|сб|су)\.?/i,abbreviated:/^(вск|вос|пнд|пон|втр|вто|срд|сре|чтв|чет|птн|пят|суб).?/i,wide:/^(воскресень[ея]|понедельника?|вторника?|сред[аы]|четверга?|пятниц[аы]|суббот[аы])/i},Po={narrow:[/^в/i,/^п/i,/^в/i,/^с/i,/^ч/i,/^п/i,/^с/i],any:[/^в[ос]/i,/^п[он]/i,/^в/i,/^ср/i,/^ч/i,/^п[ят]/i,/^с[уб]/i]},ko={narrow:/^([дп]п|полн\.?|полд\.?|утр[оа]|день|дня|веч\.?|ноч[ьи])/i,abbreviated:/^([дп]п|полн\.?|полд\.?|утр[оа]|день|дня|веч\.?|ноч[ьи])/i,wide:/^([дп]п|полночь|полдень|утр[оа]|день|дня|вечера?|ноч[ьи])/i},xo={any:{am:/^дп/i,pm:/^пп/i,midnight:/^полн/i,noon:/^полд/i,morning:/^у/i,afternoon:/^д[ен]/i,evening:/^в/i,night:/^н/i}},Wo={ordinalNumber:y({matchPattern:ho,parsePattern:go,valueCallback:e=>parseInt(e,10)}),era:s({matchPatterns:fo,defaultMatchWidth:"wide",parsePatterns:po,defaultParseWidth:"any"}),quarter:s({matchPatterns:vo,defaultMatchWidth:"wide",parsePatterns:wo,defaultParseWidth:"any",valueCallback:e=>e+1}),month:s({matchPatterns:yo,defaultMatchWidth:"wide",parsePatterns:bo,defaultParseWidth:"any"}),day:s({matchPatterns:Mo,defaultMatchWidth:"wide",parsePatterns:Po,defaultParseWidth:"any"}),dayPeriod:s({matchPatterns:ko,defaultMatchWidth:"wide",parsePatterns:xo,defaultParseWidth:"any"})},zo={code:"ru",formatDistance:_r,formatLong:Kr,formatRelative:ao,localize:co,match:Wo,options:{weekStartsOn:1,firstWeekContainsDate:1}};function z(e,a){if(e.one!==void 0&&a===1)return e.one;const n=a%10,t=a%100;return n===1&&t!==11?e.singularNominative.replace("{{count}}",String(a)):n>=2&&n<=4&&(t<10||t>20)?e.singularGenitive.replace("{{count}}",String(a)):e.pluralGenitive.replace("{{count}}",String(a))}function p(e){return(a,n)=>n&&n.addSuffix?n.comparison&&n.comparison>0?e.future?z(e.future,a):"за "+z(e.regular,a):e.past?z(e.past,a):z(e.regular,a)+" тому":z(e.regular,a)}const jo=(e,a)=>a&&a.addSuffix?a.comparison&&a.comparison>0?"за півхвилини":"півхвилини тому":"півхвилини",To={lessThanXSeconds:p({regular:{one:"менше секунди",singularNominative:"менше {{count}} секунди",singularGenitive:"менше {{count}} секунд",pluralGenitive:"менше {{count}} секунд"},future:{one:"менше, ніж за секунду",singularNominative:"менше, ніж за {{count}} секунду",singularGenitive:"менше, ніж за {{count}} секунди",pluralGenitive:"менше, ніж за {{count}} секунд"}}),xSeconds:p({regular:{singularNominative:"{{count}} секунда",singularGenitive:"{{count}} секунди",pluralGenitive:"{{count}} секунд"},past:{singularNominative:"{{count}} секунду тому",singularGenitive:"{{count}} секунди тому",pluralGenitive:"{{count}} секунд тому"},future:{singularNominative:"за {{count}} секунду",singularGenitive:"за {{count}} секунди",pluralGenitive:"за {{count}} секунд"}}),halfAMinute:jo,lessThanXMinutes:p({regular:{one:"менше хвилини",singularNominative:"менше {{count}} хвилини",singularGenitive:"менше {{count}} хвилин",pluralGenitive:"менше {{count}} хвилин"},future:{one:"менше, ніж за хвилину",singularNominative:"менше, ніж за {{count}} хвилину",singularGenitive:"менше, ніж за {{count}} хвилини",pluralGenitive:"менше, ніж за {{count}} хвилин"}}),xMinutes:p({regular:{singularNominative:"{{count}} хвилина",singularGenitive:"{{count}} хвилини",pluralGenitive:"{{count}} хвилин"},past:{singularNominative:"{{count}} хвилину тому",singularGenitive:"{{count}} хвилини тому",pluralGenitive:"{{count}} хвилин тому"},future:{singularNominative:"за {{count}} хвилину",singularGenitive:"за {{count}} хвилини",pluralGenitive:"за {{count}} хвилин"}}),aboutXHours:p({regular:{singularNominative:"близько {{count}} години",singularGenitive:"близько {{count}} годин",pluralGenitive:"близько {{count}} годин"},future:{singularNominative:"приблизно за {{count}} годину",singularGenitive:"приблизно за {{count}} години",pluralGenitive:"приблизно за {{count}} годин"}}),xHours:p({regular:{singularNominative:"{{count}} годину",singularGenitive:"{{count}} години",pluralGenitive:"{{count}} годин"}}),xDays:p({regular:{singularNominative:"{{count}} день",singularGenitive:"{{count}} днi",pluralGenitive:"{{count}} днів"}}),aboutXWeeks:p({regular:{singularNominative:"близько {{count}} тижня",singularGenitive:"близько {{count}} тижнів",pluralGenitive:"близько {{count}} тижнів"},future:{singularNominative:"приблизно за {{count}} тиждень",singularGenitive:"приблизно за {{count}} тижні",pluralGenitive:"приблизно за {{count}} тижнів"}}),xWeeks:p({regular:{singularNominative:"{{count}} тиждень",singularGenitive:"{{count}} тижні",pluralGenitive:"{{count}} тижнів"}}),aboutXMonths:p({regular:{singularNominative:"близько {{count}} місяця",singularGenitive:"близько {{count}} місяців",pluralGenitive:"близько {{count}} місяців"},future:{singularNominative:"приблизно за {{count}} місяць",singularGenitive:"приблизно за {{count}} місяці",pluralGenitive:"приблизно за {{count}} місяців"}}),xMonths:p({regular:{singularNominative:"{{count}} місяць",singularGenitive:"{{count}} місяці",pluralGenitive:"{{count}} місяців"}}),aboutXYears:p({regular:{singularNominative:"близько {{count}} року",singularGenitive:"близько {{count}} років",pluralGenitive:"близько {{count}} років"},future:{singularNominative:"приблизно за {{count}} рік",singularGenitive:"приблизно за {{count}} роки",pluralGenitive:"приблизно за {{count}} років"}}),xYears:p({regular:{singularNominative:"{{count}} рік",singularGenitive:"{{count}} роки",pluralGenitive:"{{count}} років"}}),overXYears:p({regular:{singularNominative:"більше {{count}} року",singularGenitive:"більше {{count}} років",pluralGenitive:"більше {{count}} років"},future:{singularNominative:"більше, ніж за {{count}} рік",singularGenitive:"більше, ніж за {{count}} роки",pluralGenitive:"більше, ніж за {{count}} років"}}),almostXYears:p({regular:{singularNominative:"майже {{count}} рік",singularGenitive:"майже {{count}} роки",pluralGenitive:"майже {{count}} років"},future:{singularNominative:"майже за {{count}} рік",singularGenitive:"майже за {{count}} роки",pluralGenitive:"майже за {{count}} років"}})},$o=(e,a,n)=>(n=n||{},To[e](a,n)),Do={full:"EEEE, do MMMM y 'р.'",long:"do MMMM y 'р.'",medium:"d MMM y 'р.'",short:"dd.MM.y"},So={full:"H:mm:ss zzzz",long:"H:mm:ss z",medium:"H:mm:ss",short:"H:mm"},Co={full:"{{date}} 'о' {{time}}",long:"{{date}} 'о' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},No={date:l({formats:Do,defaultWidth:"full"}),time:l({formats:So,defaultWidth:"full"}),dateTime:l({formats:Co,defaultWidth:"full"})},R=["неділю","понеділок","вівторок","середу","четвер","п’ятницю","суботу"];function Ao(e){const a=R[e];switch(e){case 0:case 3:case 5:case 6:return"'у минулу "+a+" о' p";case 1:case 2:case 4:return"'у минулий "+a+" о' p"}}function ue(e){return"'у "+R[e]+" о' p"}function Eo(e){const a=R[e];switch(e){case 0:case 3:case 5:case 6:return"'у наступну "+a+" о' p";case 1:case 2:case 4:return"'у наступний "+a+" о' p"}}const Lo=(e,a,n)=>{const t=de(e),i=t.getDay();return M(t,a,n)?ue(i):Ao(i)},Ho=(e,a,n)=>{const t=de(e),i=t.getDay();return M(t,a,n)?ue(i):Eo(i)},Oo={lastWeek:Lo,yesterday:"'вчора о' p",today:"'сьогодні о' p",tomorrow:"'завтра о' p",nextWeek:Ho,other:"P"},Go=(e,a,n,t)=>{const i=Oo[e];return typeof i=="function"?i(a,n,t):i},Vo={narrow:["до н.е.","н.е."],abbreviated:["до н. е.","н. е."],wide:["до нашої ери","нашої ери"]},Fo={narrow:["1","2","3","4"],abbreviated:["1-й кв.","2-й кв.","3-й кв.","4-й кв."],wide:["1-й квартал","2-й квартал","3-й квартал","4-й квартал"]},Io={narrow:["С","Л","Б","К","Т","Ч","Л","С","В","Ж","Л","Г"],abbreviated:["січ.","лют.","берез.","квіт.","трав.","черв.","лип.","серп.","верес.","жовт.","листоп.","груд."],wide:["січень","лютий","березень","квітень","травень","червень","липень","серпень","вересень","жовтень","листопад","грудень"]},Xo={narrow:["С","Л","Б","К","Т","Ч","Л","С","В","Ж","Л","Г"],abbreviated:["січ.","лют.","берез.","квіт.","трав.","черв.","лип.","серп.","верес.","жовт.","листоп.","груд."],wide:["січня","лютого","березня","квітня","травня","червня","липня","серпня","вересня","жовтня","листопада","грудня"]},Ro={narrow:["Н","П","В","С","Ч","П","С"],short:["нд","пн","вт","ср","чт","пт","сб"],abbreviated:["нед","пон","вів","сер","чтв","птн","суб"],wide:["неділя","понеділок","вівторок","середа","четвер","п’ятниця","субота"]},Jo={narrow:{am:"ДП",pm:"ПП",midnight:"півн.",noon:"пол.",morning:"ранок",afternoon:"день",evening:"веч.",night:"ніч"},abbreviated:{am:"ДП",pm:"ПП",midnight:"півн.",noon:"пол.",morning:"ранок",afternoon:"день",evening:"веч.",night:"ніч"},wide:{am:"ДП",pm:"ПП",midnight:"північ",noon:"полудень",morning:"ранок",afternoon:"день",evening:"вечір",night:"ніч"}},qo={narrow:{am:"ДП",pm:"ПП",midnight:"півн.",noon:"пол.",morning:"ранку",afternoon:"дня",evening:"веч.",night:"ночі"},abbreviated:{am:"ДП",pm:"ПП",midnight:"півн.",noon:"пол.",morning:"ранку",afternoon:"дня",evening:"веч.",night:"ночі"},wide:{am:"ДП",pm:"ПП",midnight:"північ",noon:"полудень",morning:"ранку",afternoon:"дня",evening:"веч.",night:"ночі"}},Yo=(e,a)=>{const n=String(a==null?void 0:a.unit),t=Number(e);let i;return n==="date"?t===3||t===23?i="-є":i="-е":n==="minute"||n==="second"||n==="hour"?i="-а":i="-й",t+i},_o={ordinalNumber:Yo,era:o({values:Vo,defaultWidth:"wide"}),quarter:o({values:Fo,defaultWidth:"wide",argumentCallback:e=>e-1}),month:o({values:Io,defaultWidth:"wide",formattingValues:Xo,defaultFormattingWidth:"wide"}),day:o({values:Ro,defaultWidth:"wide"}),dayPeriod:o({values:Jo,defaultWidth:"any",formattingValues:qo,defaultFormattingWidth:"wide"})},Bo=/^(\d+)(-?(е|й|є|а|я))?/i,Qo=/\d+/i,Uo={narrow:/^((до )?н\.?\s?е\.?)/i,abbreviated:/^((до )?н\.?\s?е\.?)/i,wide:/^(до нашої ери|нашої ери|наша ера)/i},Ko={any:[/^д/i,/^н/i]},Zo={narrow:/^[1234]/i,abbreviated:/^[1234](-?[иі]?й?)? кв.?/i,wide:/^[1234](-?[иі]?й?)? квартал/i},es={any:[/1/i,/2/i,/3/i,/4/i]},ts={narrow:/^[слбктчвжг]/i,abbreviated:/^(січ|лют|бер(ез)?|квіт|трав|черв|лип|серп|вер(ес)?|жовт|лис(топ)?|груд)\.?/i,wide:/^(січень|січня|лютий|лютого|березень|березня|квітень|квітня|травень|травня|червня|червень|липень|липня|серпень|серпня|вересень|вересня|жовтень|жовтня|листопад[а]?|грудень|грудня)/i},as={narrow:[/^с/i,/^л/i,/^б/i,/^к/i,/^т/i,/^ч/i,/^л/i,/^с/i,/^в/i,/^ж/i,/^л/i,/^г/i],any:[/^сі/i,/^лю/i,/^б/i,/^к/i,/^т/i,/^ч/i,/^лип/i,/^се/i,/^в/i,/^ж/i,/^лис/i,/^г/i]},ns={narrow:/^[нпвсч]/i,short:/^(нд|пн|вт|ср|чт|пт|сб)\.?/i,abbreviated:/^(нед|пон|вів|сер|че?тв|птн?|суб)\.?/i,wide:/^(неділ[яі]|понеділ[ок][ка]|вівтор[ок][ка]|серед[аи]|четвер(га)?|п\W*?ятниц[яі]|субот[аи])/i},is={narrow:[/^н/i,/^п/i,/^в/i,/^с/i,/^ч/i,/^п/i,/^с/i],any:[/^н/i,/^п[он]/i,/^в/i,/^с[ер]/i,/^ч/i,/^п\W*?[ят]/i,/^с[уб]/i]},rs={narrow:/^([дп]п|півн\.?|пол\.?|ранок|ранку|день|дня|веч\.?|ніч|ночі)/i,abbreviated:/^([дп]п|півн\.?|пол\.?|ранок|ранку|день|дня|веч\.?|ніч|ночі)/i,wide:/^([дп]п|північ|полудень|ранок|ранку|день|дня|вечір|вечора|ніч|ночі)/i},os={any:{am:/^дп/i,pm:/^пп/i,midnight:/^півн/i,noon:/^пол/i,morning:/^р/i,afternoon:/^д[ен]/i,evening:/^в/i,night:/^н/i}},ss={ordinalNumber:y({matchPattern:Bo,parsePattern:Qo,valueCallback:e=>parseInt(e,10)}),era:s({matchPatterns:Uo,defaultMatchWidth:"wide",parsePatterns:Ko,defaultParseWidth:"any"}),quarter:s({matchPatterns:Zo,defaultMatchWidth:"wide",parsePatterns:es,defaultParseWidth:"any",valueCallback:e=>e+1}),month:s({matchPatterns:ts,defaultMatchWidth:"wide",parsePatterns:as,defaultParseWidth:"any"}),day:s({matchPatterns:ns,defaultMatchWidth:"wide",parsePatterns:is,defaultParseWidth:"any"}),dayPeriod:s({matchPatterns:rs,defaultMatchWidth:"wide",parsePatterns:os,defaultParseWidth:"any"})},ds={code:"uk",formatDistance:$o,formatLong:No,formatRelative:Go,localize:_o,match:ss,options:{weekStartsOn:1,firstWeekContainsDate:1}},us={lessThanXSeconds:{one:"不到 1 秒",other:"不到 {{count}} 秒"},xSeconds:{one:"1 秒",other:"{{count}} 秒"},halfAMinute:"半分钟",lessThanXMinutes:{one:"不到 1 分钟",other:"不到 {{count}} 分钟"},xMinutes:{one:"1 分钟",other:"{{count}} 分钟"},xHours:{one:"1 小时",other:"{{count}} 小时"},aboutXHours:{one:"大约 1 小时",other:"大约 {{count}} 小时"},xDays:{one:"1 天",other:"{{count}} 天"},aboutXWeeks:{one:"大约 1 个星期",other:"大约 {{count}} 个星期"},xWeeks:{one:"1 个星期",other:"{{count}} 个星期"},aboutXMonths:{one:"大约 1 个月",other:"大约 {{count}} 个月"},xMonths:{one:"1 个月",other:"{{count}} 个月"},aboutXYears:{one:"大约 1 年",other:"大约 {{count}} 年"},xYears:{one:"1 年",other:"{{count}} 年"},overXYears:{one:"超过 1 年",other:"超过 {{count}} 年"},almostXYears:{one:"将近 1 年",other:"将近 {{count}} 年"}},ms=(e,a,n)=>{let t;const i=us[e];return typeof i=="string"?t=i:a===1?t=i.one:t=i.other.replace("{{count}}",String(a)),n!=null&&n.addSuffix?n.comparison&&n.comparison>0?t+"内":t+"前":t},ls={full:"y'年'M'月'd'日' EEEE",long:"y'年'M'月'd'日'",medium:"yyyy-MM-dd",short:"yy-MM-dd"},cs={full:"zzzz a h:mm:ss",long:"z a h:mm:ss",medium:"a h:mm:ss",short:"a h:mm"},hs={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},gs={date:l({formats:ls,defaultWidth:"full"}),time:l({formats:cs,defaultWidth:"full"}),dateTime:l({formats:hs,defaultWidth:"full"})};function ae(e,a,n){const t="eeee p";return M(e,a,n)?t:e.getTime()>a.getTime()?"'下个'"+t:"'上个'"+t}const fs={lastWeek:ae,yesterday:"'昨天' p",today:"'今天' p",tomorrow:"'明天' p",nextWeek:ae,other:"PP p"},ps=(e,a,n,t)=>{const i=fs[e];return typeof i=="function"?i(a,n,t):i},vs={narrow:["前","公元"],abbreviated:["前","公元"],wide:["公元前","公元"]},ws={narrow:["1","2","3","4"],abbreviated:["第一季","第二季","第三季","第四季"],wide:["第一季度","第二季度","第三季度","第四季度"]},ys={narrow:["一","二","三","四","五","六","七","八","九","十","十一","十二"],abbreviated:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],wide:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]},bs={narrow:["日","一","二","三","四","五","六"],short:["日","一","二","三","四","五","六"],abbreviated:["周日","周一","周二","周三","周四","周五","周六"],wide:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]},Ms={narrow:{am:"上",pm:"下",midnight:"凌晨",noon:"午",morning:"早",afternoon:"下午",evening:"晚",night:"夜"},abbreviated:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜间"},wide:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜间"}},Ps={narrow:{am:"上",pm:"下",midnight:"凌晨",noon:"午",morning:"早",afternoon:"下午",evening:"晚",night:"夜"},abbreviated:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜间"},wide:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜间"}},ks=(e,a)=>{const n=Number(e);switch(a==null?void 0:a.unit){case"date":return n.toString()+"日";case"hour":return n.toString()+"时";case"minute":return n.toString()+"分";case"second":return n.toString()+"秒";default:return"第 "+n.toString()}},xs={ordinalNumber:ks,era:o({values:vs,defaultWidth:"wide"}),quarter:o({values:ws,defaultWidth:"wide",argumentCallback:e=>e-1}),month:o({values:ys,defaultWidth:"wide"}),day:o({values:bs,defaultWidth:"wide"}),dayPeriod:o({values:Ms,defaultWidth:"wide",formattingValues:Ps,defaultFormattingWidth:"wide"})},Ws=/^(第\s*)?\d+(日|时|分|秒)?/i,zs=/\d+/i,js={narrow:/^(前)/i,abbreviated:/^(前)/i,wide:/^(公元前|公元)/i},Ts={any:[/^(前)/i,/^(公元)/i]},$s={narrow:/^[1234]/i,abbreviated:/^第[一二三四]刻/i,wide:/^第[一二三四]刻钟/i},Ds={any:[/(1|一)/i,/(2|二)/i,/(3|三)/i,/(4|四)/i]},Ss={narrow:/^(一|二|三|四|五|六|七|八|九|十[二一])/i,abbreviated:/^(一|二|三|四|五|六|七|八|九|十[二一]|\d|1[12])月/i,wide:/^(一|二|三|四|五|六|七|八|九|十[二一])月/i},Cs={narrow:[/^一/i,/^二/i,/^三/i,/^四/i,/^五/i,/^六/i,/^七/i,/^八/i,/^九/i,/^十(?!(一|二))/i,/^十一/i,/^十二/i],any:[/^一|1/i,/^二|2/i,/^三|3/i,/^四|4/i,/^五|5/i,/^六|6/i,/^七|7/i,/^八|8/i,/^九|9/i,/^十(?!(一|二))|10/i,/^十一|11/i,/^十二|12/i]},Ns={narrow:/^[一二三四五六日]/i,short:/^[一二三四五六日]/i,abbreviated:/^周[一二三四五六日]/i,wide:/^星期[一二三四五六日]/i},As={any:[/日/i,/一/i,/二/i,/三/i,/四/i,/五/i,/六/i]},Es={any:/^(上午?|下午?|午夜|[中正]午|早上?|下午|晚上?|凌晨|)/i},Ls={any:{am:/^上午?/i,pm:/^下午?/i,midnight:/^午夜/i,noon:/^[中正]午/i,morning:/^早上/i,afternoon:/^下午/i,evening:/^晚上?/i,night:/^凌晨/i}},Hs={ordinalNumber:y({matchPattern:Ws,parsePattern:zs,valueCallback:e=>parseInt(e,10)}),era:s({matchPatterns:js,defaultMatchWidth:"wide",parsePatterns:Ts,defaultParseWidth:"any"}),quarter:s({matchPatterns:$s,defaultMatchWidth:"wide",parsePatterns:Ds,defaultParseWidth:"any",valueCallback:e=>e+1}),month:s({matchPatterns:Ss,defaultMatchWidth:"wide",parsePatterns:Cs,defaultParseWidth:"any"}),day:s({matchPatterns:Ns,defaultMatchWidth:"wide",parsePatterns:As,defaultParseWidth:"any"}),dayPeriod:s({matchPatterns:Es,defaultMatchWidth:"any",parsePatterns:Ls,defaultParseWidth:"any"})},Os={code:"zh-CN",formatDistance:ms,formatLong:gs,formatRelative:ps,localize:xs,match:Hs,options:{weekStartsOn:1,firstWeekContainsDate:4}};function Gs(e,a){const n=j(a);T(function(){a!==n.current&&e.attributionControl!=null&&(n.current!=null&&e.attributionControl.removeAttribution(n.current),a!=null&&e.attributionControl.addAttribution(a)),n.current=a},[e,a])}const Vs=1;function Fs(e){return Object.freeze({__version:Vs,map:e})}const me=ye(null),Is=me.Provider;function le(){const e=be(me);if(e==null)throw new Error("No context provided: useLeafletContext() can only be used in a descendant of ");return e}function Xs(e){function a(n,t){const{instance:i}=e(n).current;return re(t,()=>i),null}return ie(a)}function Rs(e,a){const n=j();T(function(){return a!=null&&e.instance.on(a),n.current=a,function(){n.current!=null&&e.instance.off(n.current),n.current=null}},[e,a])}function ce(e,a){const n=e.pane??a.pane;return n?{...e,pane:n}:e}function Js(e,a,n){return Object.freeze({instance:e,context:a,container:n})}function qs(e,a){return a==null?function(t,i){const c=j();return c.current||(c.current=e(t,i)),c}:function(t,i){const c=j();c.current||(c.current=e(t,i));const m=j(t),{instance:g}=c.current;return T(function(){m.current!==t&&(a(g,t,m.current),m.current=t)},[g,t,i]),c}}function Ys(e,a){T(function(){return(a.layerContainer??a.map).addLayer(e.instance),function(){var c;(c=a.layerContainer)==null||c.removeLayer(e.instance),a.map.removeLayer(e.instance)}},[a,e])}function _s(e){return function(n){const t=le(),i=e(ce(n,t),t);return Gs(t.map,n.attribution),Rs(i.current,n.eventHandlers),Ys(i.current,t),i}}function Bs(e,a){const n=qs(e,a),t=_s(n);return Xs(t)}function Qs(e,a,n){const{opacity:t,zIndex:i}=a;t!=null&&t!==n.opacity&&e.setOpacity(t),i!=null&&i!==n.zIndex&&e.setZIndex(i)}function Us(){return le().map}function F(){return F=Object.assign||function(e){for(var a=1;a(u==null?void 0:u.map)??null,[u]);const ge=Me(J=>{if(J!==null&&u===null){const $=new oe.Map(J,x);n!=null&&w!=null?$.setView(n,w):e!=null&&$.fitBounds(e,a),h!=null&&$.whenReady(h),he(Fs($))}},[]);T(()=>()=>{u==null||u.map.remove()},[u]);const fe=u?G.createElement(Is,{value:u},t):m??null;return G.createElement("div",F({},b,{ref:ge}),fe)}const Zs=ie(Ks),ed=Bs(function({url:a,...n},t){const i=new oe.TileLayer(a,ce(n,t));return Js(i,t)},function(a,n,t){Qs(a,n,t);const{url:i}=n;i!=null&&i!==t.url&&a.setUrl(i)}),td="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=",ad="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACkAAAApCAQAAAACach9AAACMUlEQVR4Ae3ShY7jQBAE0Aoz/f9/HTMzhg1zrdKUrJbdx+Kd2nD8VNudfsL/Th///dyQN2TH6f3y/BGpC379rV+S+qqetBOxImNQXL8JCAr2V4iMQXHGNJxeCfZXhSRBcQMfvkOWUdtfzlLgAENmZDcmo2TVmt8OSM2eXxBp3DjHSMFutqS7SbmemzBiR+xpKCNUIRkdkkYxhAkyGoBvyQFEJEefwSmmvBfJuJ6aKqKWnAkvGZOaZXTUgFqYULWNSHUckZuR1HIIimUExutRxwzOLROIG4vKmCKQt364mIlhSyzAf1m9lHZHJZrlAOMMztRRiKimp/rpdJDc9Awry5xTZCte7FHtuS8wJgeYGrex28xNTd086Dik7vUMscQOa8y4DoGtCCSkAKlNwpgNtphjrC6MIHUkR6YWxxs6Sc5xqn222mmCRFzIt8lEdKx+ikCtg91qS2WpwVfBelJCiQJwvzixfI9cxZQWgiSJelKnwBElKYtDOb2MFbhmUigbReQBV0Cg4+qMXSxXSyGUn4UbF8l+7qdSGnTC0XLCmahIgUHLhLOhpVCtw4CzYXvLQWQbJNmxoCsOKAxSgBJno75avolkRw8iIAFcsdc02e9iyCd8tHwmeSSoKTowIgvscSGZUOA7PuCN5b2BX9mQM7S0wYhMNU74zgsPBj3HU7wguAfnxxjFQGBE6pwN+GjME9zHY7zGp8wVxMShYX9NXvEWD3HbwJf4giO4CFIQxXScH1/TM+04kkBiAAAAAElFTkSuQmCC",nd="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAABSCAMAAAAhFXfZAAAC91BMVEVMaXEzeak2f7I4g7g3g7cua5gzeKg8hJo3grY4g7c3grU0gLI2frE0daAubJc2gbQwd6QzeKk2gLMtd5sxdKIua5g1frA2f7IydaM0e6w2fq41fK01eqo3grgubJgta5cxdKI1f7AydaQydaMxc6EubJgvbJkwcZ4ubZkwcJwubZgubJcydqUydKIxapgubJctbJcubZcubJcvbJYubJcvbZkubJctbJctbZcubJg2f7AubJcrbZcubJcubJcua5g3grY0fq8ubJcubJdEkdEwhsw6i88vhswuhcsuhMtBjMgthMsrg8srgss6is8qgcs8i9A9iMYtg8spgcoogMo7hcMngMonf8olfso4gr8kfck5iM8jfMk4iM8he8k1fro7itAgesk2hs8eecgzfLcofssdeMg0hc4cd8g2hcsxeLQbdsgZdcgxeLImfcszhM0vda4xgckzhM4xg84wf8Yxgs4udKsvfcQucqhUndROmdM1fK0wcZ8vb5w0eqpQm9MzeKhXoNVcpdYydKNWn9VZotVKltJFjsIwcJ1Rms9OlslLmtH///8+kc9epdYzd6dbo9VHkMM2f7FHmNBClM8ydqVcpNY9hro3gLM9hLczealQmcw3fa46f7A8gLMxc6I3eagyc6FIldJMl9JSnNRSntNNl9JPnNJFi75UnM9ZodVKksg8kM45jc09e6ZHltFBk883gbRBh7pDk9EwcaBzn784g7dKkcY2i81Om9M7j85Llc81is09g7Q4grY/j9A0eqxKmdFFltBEjcXf6fFImdBCiLxJl9FGlNFBi78yiMxVndEvbpo6js74+vx+psPP3+o/ks5HkcpGmNCjwdZCkNDM3ehYoNJEls+lxNkxh8xHks0+jdC1zd5Lg6r+/v/H2ufz9/o3jM3t8/edvdM/k89Th61OiLBSjbZklbaTt9BfptdjmL1AicBHj8hGk9FAgK1dkLNTjLRekrdClc/k7fM0icy0y9tgp9c4jc2NtM9Dlc8zicxeXZn3AAAAQ3RSTlMAHDdTb4yPA+LtnEQmC4L2EmHqB7XA0d0sr478x4/Yd5i1zOfyPkf1sLVq4Nh3FvjxopQ2/STNuFzUwFIwxKaejILpIBEV9wAABhVJREFUeF6s1NdyFEcYBeBeoQIhRAkLlRDGrhIgY3BJL8CVeKzuyXFzzjkn5ZxzzuScg3PO8cKzu70JkO0LfxdTU//pM9vTu7Xgf6KqOVTb9X7toRrVEfBf1HTVjZccrT/2by1VV928Yty9ZbVuucdz90frG8DBjl9pVApbOstvmMuvVgaNXSfAAd6pGxpy6yxf5ph43pS/4f3uoaGm2rdu72S9xzOvMymkZFq/ptDrk90mhW7e4zl7HLzhxGWPR20xmSxJ/VqldG5m9XhaVOA1DadsNh3Pu5L2N6QtPO/32JpqQBVVk20oy/Pi2s23WEvyfHbe1thadVQttvm7Llf65gGmXK67XtupyoM7HQhmXdLS8oGWJNeOJ3C5fG5XCEJnkez3/oFdsvgJ4l2ANZwhrJKk/7OSXa+3Vw2WJMlKnGkobouYk6T0TyX30klOUnTD9HJ5qpckL3EW/w4XF3Xd0FGywXUrstrclVsqz5Pd/sXFYyDnPdrLcQODmGOK47IZb4CmibmMn+MYRzFZ5jg33ZL/EJrWcszHmANy3ARBK/IXtciJy8VsitPSdE3uuHxzougojcUdr8/32atnz/ev3f/K5wtpxUTpcaI45zusVDpYtZi+jg0oU9b3x74h7+n9ABvYEZeKaVq0sh0AtLKsFtqNBdeT0MrSzwwlq9+x6xAO4tgOtSzbCjrNQQiNvQUbUEubvzBUeGw26yDCsRHCoLkTHDa7IdOLIThs/gHvChszh2CimE8peRs47cxANI0lYNB5y1DljpOF0IhzBDPOZnDOqYYbeGKECbPzWnXludPphw5c2YBq5zlwXphIbO4VDCZ0gnPfUO1TwZoYwAs2ExPCedAu9DAjfQUjzITQb3jNj0KG2Sgt6BHaQUdYzWz+XmBktOHwanXjaSTcwwziBcuMOtwBmqPrTOxFQR/DRKKPqyur0aiW6cULYsx6tBm0jXpR/AUWR6HRq9WVW6MRhIq5jLyjbaCTDCijyYJNpCajdyobP/eTw0iexBAKkJ3gA5KcQb2zBXsIBckn+xVv8jkZSaEFHE+jFEleAEfayRU0MouNoBmB/L50Ai/HSLIHxcrpCvnhSQAuakKp2C/YbCylJjXRVy/z3+Kv/RrNcCo+WUzlVEhzKffnTQnxeN9fWF88fiNCUdSTsaufaChKWInHeysygfpIqagoakW+vV20J8uyl6TyNKEZWV4oRSPyCkWpgOLSbkCObT8o2r6tlG58HQquf6O0v50tB7JM7F4EORd2dx/K0w/KHsVkLPaoYrwgP/y7krr3SSMA4zj+OBgmjYkxcdIJQyQRKgg2viX9Hddi9UBb29LrKR7CVVEEEXWojUkXNyfTNDE14W9gbHJNuhjDettN3ZvbOvdOqCD3Jp/9l+/wJE+9PkYGjx/fqkys3S2rMozM/o2106rfMUINo6hVqz+eu/hd1c4xTg0TAfy5kV+4UG6+IthHTU9woWmxuKNbTfuCSfovBCxq7EtHqvYL4Sm6F8GVxsSXHMQ07TOi1DKtZxjWaaIyi4CXWjxPccUw8WVbMYY5wxC1mzEyXMJWkllpRloi+Kkoq69sxBTlElF6aAxYUbjXNlhlDZilDnM4U5SlN5biRsRHnbx3mbeWjEh4mEyiuJDl5XcWVmX5GvNkFgLWZM5qwsop4/AWfLhU1cR7k1VVvcYCWRkOI6Xy5gmnphCYIkvzuNYzHzosq2oNk2RtSs8khfUOfHIDgR6ysYBaMpl4uEgk2U/oJTs9AaTSwma7dT69geAE2ZpEjUsn2ieJNHeKfrI3EcAGJ2ZaNgVuC8EBctCLc57P5u5led6IOBkIYkuQMrmmjChs4VkfOerHqSBkPzZlhe06RslZ3zMjk2sscqKwY0RcjKK+LWbzd7KiHhkncs/siFJ+V5eXxD34B8nVuJEpGJNmxN2gH3vSvp7J70tF+D1Ej8qUJD1TkErAND2GZwTFg/LubvmgiBG3SOvdlsqFQrkEzJCL1rstlnVFROixZoDDSuXQFHESwVGlcuQcMb/b42NgjLowh5MTDFE3vNB5qStRIErdCQEh6pLPR92anSUb/wAIhldAaDMpGgAAAABJRU5ErkJggg==";function id(e){var n;const a=Us();return(n=e.addMap)==null||n.call(e,a),null}class rd extends Pe{divRef;marker;map;latLongTimer;resizeTimer;constructor(a){super(a),this.state={zoom:14,latitude:this.props.latitude,longitude:this.props.longitude,width:0,height:0},this.divRef=G.createRef(),this.marker=null}onMap=a=>{if(!this.map||this.map!==a){this.map=a;const n=[parseFloat(this.state.latitude!==void 0?this.state.latitude:50)||0,parseFloat(this.state.longitude!==void 0?this.state.longitude:10)||0],t=window.L.icon({iconUrl:td,iconRetinaUrl:nd,shadowUrl:ad,iconSize:[25,41],iconAnchor:[12,41],popupAnchor:[1,-34],tooltipAnchor:[16,-28],shadowSize:[41,41]});this.marker=window.L.marker(n,{draggable:!0,title:"Resource location",alt:"Resource Location",riseOnHover:!0,icon:t}).addTo(a).bindPopup("Popup for any custom information.").on({dragend:i=>this.onMarkerDragend(i)})}};componentDidUpdate(){this.map&&this.marker&&(this.props.latitude!==this.state.latitude||this.props.longitude!==this.state.longitude)&&this.setState({latitude:this.props.latitude,longitude:this.props.longitude},()=>{this.latLongTimer&&clearTimeout(this.latLongTimer),this.latLongTimer=setTimeout(()=>{this.latLongTimer=null,this.map.flyTo([this.state.latitude,this.state.longitude]),this.marker.setLatLng([this.state.latitude,this.state.longitude])},500)}),this.divRef.current&&(this.state.width!==this.divRef.current.clientWidth||this.state.height!==this.divRef.current.clientHeight)&&(this.resizeTimer&&clearTimeout(this.resizeTimer),this.resizeTimer=setTimeout(()=>{this.resizeTimer=null,this.divRef.current&&this.setState({width:this.divRef.current.clientWidth,height:this.divRef.current.clientHeight})},100))}componentWillUnmount(){this.latLongTimer&&(clearTimeout(this.latLongTimer),this.latLongTimer=null),this.resizeTimer&&(clearTimeout(this.resizeTimer),this.resizeTimer=null),this.marker&&(this.marker.off("dragend"),this.marker.remove(),this.marker=null),this.map&&(this.map.remove(),this.map=void 0)}onMarkerDragend=a=>{if(this.props.readOnly){this.map.flyTo([this.state.latitude,this.state.longitude]),this.marker.setLatLng([this.state.latitude,this.state.longitude]);return}const n=JSON.parse(JSON.stringify(a.target._latlng));this.setState({latitude:n.lat,longitude:n.lng},()=>this.props.onChange(this.state.latitude,this.state.longitude))};render(){const a=[parseFloat(this.props.latitude!==void 0?this.props.latitude:50)||0,parseFloat(this.props.longitude!==void 0?this.props.longitude:10)||0],{zoom:n}=this.state;return r.jsx("div",{style:{width:"100%",height:"100%",minHeight:350},ref:this.divRef,children:this.state.width&&this.state.height?r.jsxs(Zs,{style:{width:"100%",height:"100%",minHeight:350,borderRadius:5},center:a,zoom:n,maxZoom:18,attributionControl:!1,zoomControl:!0,doubleClickZoom:!0,scrollWheelZoom:!0,dragging:!this.props.readOnly,easeLinearity:.35,children:[r.jsx(ed,{url:"https://{s}.tile.osm.org/{z}/{x}/{y}.png"}),r.jsx(id,{addMap:t=>this.onMap(t)})]}):null})}}const od={en:se,fr:Ba,ru:zo,de:It,es:ya,br:qr,nl:ni,it:Tn,pt:pr,pl:Vi,uk:ds,"zh-cn":Os},O=["useSystemGPS","latitude","longitude","sunriseEvent","sunriseOffset","sunriseLimitStart","sunriseLimitEnd","sunsetEvent","sunsetOffset","sunsetLimitStart","sunsetLimitEnd"];function C(e){if(!e)return new Date;const a=e.split(":");return new Date(2e3,0,1,parseInt(a[0],10),parseInt(a[1],10))}function N(e){return e?`${e.getHours().toString().padStart(2,"0")}:${e.getMinutes().toString().padStart(2,"0")}`:""}function ne(e){const a=e.getHours().toString().padStart(2,"0"),n=e.getMinutes().toString().padStart(2,"0"),t=e.getSeconds().toString().padStart(2,"0");return`${a}:${n}:${t}`}class sd extends _.ConfigGeneric{calcTimeout;lastCalc;mounted=!1;constructor(a){super(a),Object.assign(this.state,{theme:d.Theme(this.props.themeName||"light")})}componentDidMount(){super.componentDidMount(),this.mounted=!0;const a={};O.forEach(n=>{a[n]=_.ConfigGeneric.getValue(this.props.data,n)}),a.sunsetOffset=a.sunsetOffset||0,a.sunriseOffset=a.sunriseOffset||0,a.sunriseLimitStart=C(a.sunriseLimitStart),a.sunriseLimitEnd=C(a.sunriseLimitEnd),a.sunsetLimitStart=C(a.sunsetLimitStart),a.sunsetLimitEnd=C(a.sunsetLimitEnd),a.useSystemGPS&&(a.latitude=this.props.oContext.systemConfig.latitude,a.longitude=this.props.oContext.systemConfig.longitude),a.ampm=this.props.oContext.systemConfig.dateFormat.includes("/"),this.setState(a,()=>this.onAstroChange())}componentWillUnmount(){this.mounted=!1,this.calcTimeout&&(clearTimeout(this.calcTimeout),this.calcTimeout=null)}renderMap(){return r.jsx(rd,{longitude:this.state.longitude,latitude:this.state.latitude,readOnly:!!this.state.useSystemGPS,onChange:(a,n)=>this.setState({latitude:a,longitude:n})})}onAstroChange(a,n){let t={};typeof a=="object"?t=a:a!==void 0&&(t={[a]:n}),this.setState(t,()=>{const i={};O.forEach(m=>i[m]=this.state[m]),i.sunriseLimitStart=N(i.sunriseLimitStart),i.sunriseLimitEnd=N(i.sunriseLimitEnd),i.sunsetLimitStart=N(i.sunsetLimitStart),i.sunsetLimitEnd=N(i.sunsetLimitEnd),i.sunsetOffset=parseInt(i.sunsetOffset,10)||0,i.sunriseOffset=parseInt(i.sunriseOffset,10)||0,this.calculateRiseSet(i);const c=JSON.parse(JSON.stringify(this.props.data));O.forEach(m=>c[m]=i[m]),a!==void 0&&this.props.onChange(c)})}calculateRiseSet(a){this.props.alive&&this.lastCalc!==JSON.stringify(a)&&(this.lastCalc=JSON.stringify(a),this.calcTimeout&&clearTimeout(this.calcTimeout),this.calcTimeout=setTimeout(async()=>{if(this.calcTimeout=null,!this.mounted)return;const n=await this.props.oContext.socket.sendTo(`${this.props.oContext.adapterName}.${this.props.oContext.instance}`,"calcAstro",a);if(this.mounted){if(!n||n.error){console.error(`Cannot calculate astro times: ${JSON.stringify(n.error)}`);return}this.setState({nextSunrise:n.nextSunrise.isValidDate?ne(new Date(n.nextSunrise.date)):"n/a",nextSunset:n.nextSunset.isValidDate?ne(new Date(n.nextSunset.date)):"n/a",nextSunriseServer:n.nextSunrise.serverTime,nextSunsetServer:n.nextSunset.serverTime})}},300))}renderItem(){const{useSystemGPS:a,latitude:n,longitude:t,sunriseEvent:i,sunriseOffset:c,sunriseLimitStart:m,sunriseLimitEnd:g,sunsetEvent:h,sunsetOffset:w,sunsetLimitStart:x,sunsetLimitEnd:A}=this.state,b=window.innerWidth<800;return r.jsx(ke,{theme:this.state.theme,children:r.jsxs("div",{style:{width:"100%",display:b?void 0:"flex",gap:10},children:[r.jsx("div",{style:{width:b?"100%":"calc(50% - 5px)",display:b?"block":"inline-block"},children:r.jsxs(pe,{dateAdapter:ht,adapterLocale:od[d.I18n.getLanguage()],children:[r.jsx(ve,{style:{width:"calc(100% - 10px)"},control:r.jsx(we,{checked:!!a,onChange:u=>{u.target.checked?this.onAstroChange({useSystemGPS:!0,latitude:this.props.oContext.systemConfig.latitude,longitude:this.props.oContext.systemConfig.longitude}):this.onAstroChange({useSystemGPS:!1,latitude:n||this.props.oContext.systemConfig.latitude,longitude:t||this.props.oContext.systemConfig.longitude})}}),label:d.I18n.t("Use system settings")}),a?null:r.jsx(S,{variant:"standard",type:"text",style:{width:150,marginRight:10},label:d.I18n.t("Latitude °"),value:(n||"").toString(),onChange:u=>this.onAstroChange("latitude",u.target.value)}),a?null:r.jsx(S,{variant:"standard",style:{width:150},type:"text",label:d.I18n.t("Longitude °"),value:(t||"").toString(),onChange:u=>this.onAstroChange("longitude",u.target.value)}),a?null:r.jsx("div",{style:{width:"calc(100% - 10px)"},children:d.I18n.t("Help")}),r.jsx("h2",{style:{width:"calc(100% - 10px)",marginTop:20,backgroundColor:this.props.oContext.themeType==="dark"?"#333":"#ccc",color:this.props.oContext.themeType==="dark"?"#FFF":"#000",padding:"2px 8px",borderRadius:3},children:d.I18n.t("Day time settings")}),r.jsxs("div",{style:{width:"calc(100% - 10px)",display:"flex",gap:8,flexWrap:"wrap",backgroundColor:this.props.oContext.themeType==="dark"?"#333":"#ccc",paddingTop:8,paddingLeft:8,paddingRight:8,paddingBottom:0,borderRadius:"5px 5px 0 0"},children:[r.jsxs(P,{variant:"standard",style:{width:250},children:[r.jsx(k,{shrink:!0,children:d.I18n.t("Time event")}),r.jsxs(q,{variant:"standard",value:i||"_",onChange:u=>this.onAstroChange("sunriseEvent",u.target.value==="_"?"":u.target.value),children:[r.jsx(v,{value:"_",children:d.I18n.t("none")}),r.jsx(v,{value:"nightEnd",children:d.I18n.t("sch_astro_nightEnd")}),r.jsx(v,{value:"nauticalDawn",children:d.I18n.t("sch_astro_nauticalDawn")}),r.jsx(v,{value:"dawn",children:d.I18n.t("sch_astro_dawn")}),r.jsx(v,{value:"sunrise",children:d.I18n.t("sch_astro_sunrise")}),r.jsx(v,{value:"sunriseEnd",children:d.I18n.t("sch_astro_sunriseEnd")}),r.jsx(v,{value:"goldenHourEnd",children:d.I18n.t("sch_astro_goldenHourEnd")})]}),r.jsx(Y,{children:d.I18n.t("Used as start of the daytime")})]}),r.jsx(S,{style:{width:80},variant:"standard",disabled:!this.state.sunriseEvent,label:d.I18n.t("Offset"),value:c||0,helperText:d.I18n.t("in minutes"),onChange:u=>this.onAstroChange("sunriseOffset",u.target.value)}),r.jsxs(P,{variant:"standard",style:{width:150},children:[r.jsx(k,{shrink:!0,children:d.I18n.t("But not earlier")}),r.jsx(D,{className:`astroToolbarTime ${this.props.oContext.themeType}`,disabled:!this.state.sunriseEvent,ampm:!!this.state.ampm,views:["hours","minutes"],value:m||new Date(2e3,0,1,0,0),onChange:u=>this.onAstroChange("sunriseLimitStart",new Date(u))})]}),r.jsxs(P,{variant:"standard",style:{width:150},children:[r.jsx(k,{shrink:!0,children:d.I18n.t("And not later")}),r.jsx(D,{className:`astroToolbarTime ${this.props.oContext.themeType}`,disabled:!this.state.sunriseEvent,ampm:!!this.state.ampm,views:["hours","minutes"],value:g||new Date(2e3,0,1,0,0),onChange:u=>this.onAstroChange("sunriseLimitEnd",new Date(u))})]})]}),this.props.alive?r.jsxs("div",{style:{backgroundColor:this.props.oContext.themeType==="dark"?"#333":"#ccc",width:"calc(100% - 10px)",paddingTop:20,paddingLeft:8,paddingRight:8,paddingBottom:8,borderRadius:"0 0 5px 5px"},children:[r.jsx("span",{style:{marginRight:8},children:d.I18n.t("Next sunrise")}),r.jsxs("span",{children:[this.state.nextSunriseServer,this.state.nextSunrise!==this.state.nextSunriseServer?` ${d.I18n.t("Local time")}: ${this.state.nextSunrise}`:""]})]}):null,r.jsxs("div",{style:{width:"calc(100% - 10px)",display:"flex",gap:8,marginTop:30,flexWrap:"wrap",backgroundColor:this.props.oContext.themeType==="dark"?"#333":"#ccc",paddingTop:8,paddingLeft:8,paddingRight:8,paddingBottom:0,borderRadius:"5px 5px 0 0"},children:[r.jsxs(P,{variant:"standard",style:{width:250},children:[r.jsx(k,{shrink:!0,children:d.I18n.t("Time event")}),r.jsxs(q,{variant:"standard",value:h||"_",onChange:u=>this.onAstroChange("sunsetEvent",u.target.value==="_"?"":u.target.value),children:[r.jsx(v,{value:"_",children:d.I18n.t("none")}),r.jsx(v,{value:"goldenHour",children:d.I18n.t("sch_astro_goldenHour")}),r.jsx(v,{value:"sunsetStart",children:d.I18n.t("sch_astro_sunsetStart")}),r.jsx(v,{value:"sunset",children:d.I18n.t("sch_astro_sunset")}),r.jsx(v,{value:"dusk",children:d.I18n.t("sch_astro_dusk")}),r.jsx(v,{value:"nauticalDusk",children:d.I18n.t("sch_astro_nauticalDusk")}),r.jsx(v,{value:"night",children:d.I18n.t("sch_astro_night")})]}),r.jsx(Y,{children:d.I18n.t("Used as end of the daytime")})]}),r.jsx(S,{style:{width:80},variant:"standard",disabled:!this.state.sunsetEvent,label:d.I18n.t("Offset"),value:w||0,helperText:d.I18n.t("in minutes"),onChange:u=>this.onAstroChange("sunsetOffset",u.target.value)}),r.jsxs(P,{variant:"standard",style:{width:150},children:[r.jsx(k,{shrink:!0,children:d.I18n.t("But not earlier")}),r.jsx(D,{className:`astroToolbarTime ${this.props.oContext.themeType}`,disabled:!this.state.sunsetEvent,ampm:!!this.state.ampm,views:["hours","minutes"],value:x||new Date(2e3,0,1,0,0),onChange:u=>this.onAstroChange("sunsetLimitStart",new Date(u))})]}),r.jsxs(P,{variant:"standard",style:{width:150},children:[r.jsx(k,{shrink:!0,children:d.I18n.t("And not later")}),r.jsx(D,{className:`astroToolbarTime ${this.props.oContext.themeType}`,disabled:!this.state.sunsetEvent,ampm:!!this.state.ampm,views:["hours","minutes"],value:A||new Date(2e3,0,1,0,0),onChange:u=>this.onAstroChange("sunsetLimitEnd",new Date(u))})]})]}),this.props.alive?r.jsxs("div",{style:{backgroundColor:this.props.oContext.themeType==="dark"?"#333":"#ccc",width:"calc(100% - 10px)",paddingTop:20,paddingLeft:8,paddingRight:8,paddingBottom:8,borderRadius:"0 0 5px 5px",marginBottom:b?20:0},children:[r.jsx("span",{style:{marginRight:8},children:d.I18n.t("Next sunset")}),r.jsxs("span",{children:[this.state.nextSunsetServer,this.state.nextSunset!==this.state.nextSunsetServer?` ${d.I18n.t("Local time")}: ${this.state.nextSunset}`:""]})]}):null]})}),r.jsx("div",{style:{width:b?"100%":"calc(50% - 5px)",display:b?"block":"inline-block",minHeight:350},children:this.renderMap()})]})})}}const xd={Astro:sd};export{xd as default}; diff --git a/admin/custom/assets/index-CVIpIckw.js b/admin/custom/assets/index-CVIpIckw.js deleted file mode 100644 index 33259a809..000000000 --- a/admin/custom/assets/index-CVIpIckw.js +++ /dev/null @@ -1,960 +0,0 @@ -import{o as He,g as dM,c as zM,a as IM}from"./createTheme-Wd4QxQE0.js";import{h as n,a as ye,i as ze,f as ko,j as Fu,k as Hu,_ as Fe,g as Qt,l as Vu,m as Zu,n as Qa,o as Xu,p as Ku}from"./ConfigCustomJavascriptSet__loadShare__react__loadShare__.mjs-0SjJESw9.js";import{h as qi,i as Ua,j as Ct,k as de,l as he,m as Ae,n as Jt,_ as H,a as ne,o as me,p as X,q as Rr,r as P,s as W,b as le,t as ss,e as Xe,f as te,u as qu,v as el,w as ls,x as tl,y as va,z as ae,A as Yt,B as nt,C as sl,D as Ut,E as il,c as wt,d as As,F as ba,G as vt,H as hM,I as Di,J as wM,K as CM,L as rl,M as ol,N as Me,O as Tr,P as Ml,Q as $a,R as Ve,S as AM,T as nl,U as mM,V as al}from"./ConfigCustomJavascriptSet__loadShare___mf_0_mui_mf_1_material__loadShare__.mjs-KsT5vKjV.js";import{_ as Jr,a as ge,b as Ue,c as ut,d as cl,e as Pi,f as ul,g as Yo,h as Qo,i as Uo,j as zs,k as vo,l as er,m as bo,n as ll,o as Nl,p as Pa,q as Ll,r as $o,s as jl,t as gl,u as Ks,v as Tl,w as yl,x as Dl,y as dl,z as zl,A as Il,B as hl,C as wl,D as Cl,E as Wa,F as Ra,G as Wi,H as Al,I as Ja,J as ml,K as pl,L as Ol,M as Ba,N as El,O as _l,P as fl,Q as Sl,R as Br,S as xl,T as kl,U as Yl,V as Gr,W as Ql,X as di,Y as Ul,Z as vl,$ as bl,a0 as $l,a1 as Pl,a2 as Wl,a3 as Rl,a4 as Jl,a5 as Bl,a6 as Gl,a7 as Fl,a8 as Hl,a9 as Vl,aa as Zl,ab as Xl,ac as ui,ad as Kl,ae as ql,af as eN,ag as tN,ah as sN,ai as iN}from"./ConfigCustomJavascriptSet__loadShare___mf_0_mui_mf_1_icons_mf_2_material__loadShare__.mjs-B551AMx-.js";import{C as rN,D as Ga,u as oN}from"./index-YBvFYuP6.js";function MN(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}import{u as nN}from"./useTheme-BfhDdtAr.js";import"./blue-CagzI6CQ.js";import"./index-huvZQhZw.js";import"./defaultTheme-F2iJF2G2.js";import"./useTheme-DWZ6jNyq.js";const yr=11/23/100;function pM(i){const e={r:0,g:0,b:0};if(i.length===7)e.r=parseInt(i.substring(1,3),16),e.g=parseInt(i.substring(3,5),16),e.b=parseInt(i.substring(5,7),16);else if(i.length===4){const t=i[1],s=i[2],r=i[3];e.r=parseInt(t+t,16),e.g=parseInt(s+s,16),e.b=parseInt(r+r,16)}return e}function aN(i){return`#${Math.round(i.r).toString(16)}${Math.round(i.g).toString(16)}${Math.round(i.b).toString(16)}`}function cN(i,e,t){const s=pM(i),r=pM(e);return s.r+=r.r*(.05+yr*(t-1)),s.g+=r.g*(.05+yr*(t-1)),s.b+=r.b*(.05+yr*(t-1)),aN(s)}function Dr(i,e){const t={};for(let s=1;s<=24;s++)t[`elevation${s}`]={backgroundColor:cN(i,e,s)};return t}function uN(i,e){var M,a,u,l,N,c,L,j,g,y,d;let t,s;i==="dark"?(s={MuiAppBar:{colorDefault:{backgroundColor:"#272727"}},MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:He[200],"&:hover":{color:He[100]}}},MuiPaper:Dr("#121212","#fff")},t={name:i,palette:{mode:"dark",background:{paper:"#121212",default:"#121212"},primary:{main:"#4dabf5"},secondary:{main:"#436a93"},expert:"#14bb00",text:{primary:"#ffffff",secondary:"#ffffff"}}}):i==="blue"?(s={MuiAppBar:{colorDefault:{backgroundColor:"#3399CC"}},MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:He[400],"&:hover":{color:He[300]}}}},t={name:i,palette:{mode:"dark",background:{paper:"#151d21",default:"#151d21"},primary:{main:"#4dabf5"},secondary:{main:"#436a93"},expert:"#14bb00",text:{primary:"#ffffff",secondary:"#ffffff"}}}):i==="colored"?(s={MuiAppBar:{colorDefault:{backgroundColor:"#2a3135"}},MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:He[200],"&:hover":{color:He[100]}}},MuiPaper:Dr("#151d21","#fff")},t={name:i,palette:{mode:"light",primary:{main:"#3399CC"},secondary:{main:"#164477"},expert:"#96fc96"}}):i==="PT"?(s={MuiAppBar:{colorDefault:{backgroundColor:"#0F99DE"}},MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:He[400],"&:hover":{color:He[300]}}}},t={name:i,palette:{mode:"light",primary:{main:"#0F99DE"},secondary:{main:"#88A536"},expert:"#BD1B24"}}):i==="NW"?(s={MuiAppBar:{colorDefault:{backgroundColor:"#272727"}},MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:He[400],"&:hover":{color:He[300]}}},MuiPaper:Dr("#121212","#fff")},t={name:i,palette:{mode:"dark",background:{paper:"#121212",default:"#121212"},primary:{main:"#00af78"},secondary:{main:"#005a40"},expert:"#14bb00",text:{primary:"#ffffff",secondary:"#ffffff"}}}):(s={MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:He[400],"&:hover":{color:He[300]}}}},t={name:i,palette:{mode:"light",primary:{main:"#3399CC",dark:"#256c97",light:"#76d0fd"},secondary:{main:"#164477"},expert:"#14bb00"}}),t.toolbar={height:48},t.saveToolbar={background:(a=(M=t.palette)==null?void 0:M.primary)==null?void 0:a.main,button:{borderRadius:3,height:32}},t.palette&&(t.palette.grey={main:dM[300],dark:dM[400]});const r=zM(t),o=r.palette;return zM(r,{...e||void 0,components:{...s,MuiButton:{variants:[{props:{variant:"contained",color:"grey"},style:{backgroundColor:(u=o.grey)==null?void 0:u[300],color:o.getContrastText&&((l=o.grey)!=null&&l[300])?o.getContrastText(o.grey[300]):void 0}},{props:{variant:"outlined",color:"grey"},style:{color:(N=o.text)==null?void 0:N.primary,borderColor:o.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)","&.Mui-disabled":{border:`1px solid ${(c=o.action)==null?void 0:c.disabledBackground}`},"&:hover":{borderColor:o.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)",backgroundColor:IM(((L=o.text)==null?void 0:L.primary)||"",((j=o.action)==null?void 0:j.hoverOpacity)||.04)}}},{props:{variant:"text",color:"grey"},style:{color:(g=o.text)==null?void 0:g.primary,"&:hover":{backgroundColor:IM(((y=o.text)==null?void 0:y.primary)||"",((d=o.action)==null?void 0:d.hoverOpacity)||.04)}}}]},...(e==null?void 0:e.components)||void 0}})}function lN(){let i,e;const t=new Promise((s,r)=>{i=s,e=r});return t.resolve=i,t.reject=e,t}function Fr(i){return(i==null?void 0:i.rows.map(e=>e.value).filter(e=>!!e))??[]}function It(i){return i!=null&&i.startsWith("system.host.")||(i=`system.host.${i}`),i}function Ps(i){return i!=null&&i.startsWith("system.host.")&&(i=i.substring(12)),i}function OM(i){return new Promise(e=>{setTimeout(e,i)})}function zi(i){i=(i||"").toString();const e=i[0]==="*",t=i[i.length-1]==="*";return i=i.replace(/[-/\\^$+?.()|[\]{}]/g,"\\$&").replace(/\*/g,".*"),(e?"":"^")+i+(t?"":"$")}typeof globalThis.process<"u"&&(globalThis.location||={href:"http://localhost:8081/",protocol:"http:",host:"localhost:8081",pathname:"/",hostname:"localhost",reload:()=>{}},globalThis.localStorage||={_keys:{},setItem:(i,e)=>{globalThis.localStorage._keys[i]=e},getItem:i=>i in globalThis.localStorage._keys?globalThis.localStorage._keys[i]:null,removeItem:i=>{i in globalThis.localStorage._keys&&delete globalThis.localStorage._keys[i]}},globalThis.sessionStorage||=globalThis.localStorage,globalThis.navigator||={language:"en"});var at;(function(i){i[i.CONNECTING=0]="CONNECTING",i[i.CONNECTED=1]="CONNECTED",i[i.OBJECTS_LOADED=2]="OBJECTS_LOADED",i[i.READY=3]="READY"})(at||(at={}));var fe;(function(i){i.PERMISSION_ERROR="permissionError",i.NOT_CONNECTED="notConnectedError",i.TIMEOUT="timeout",i.NOT_ADMIN="Allowed only in admin",i.NOT_SUPPORTED="Not supported"})(fe||(fe={}));const bje=fe.PERMISSION_ERROR;fe.NOT_CONNECTED;const NN=["material","echarts","vis"];class Oe{props;connId;lastAccessToken=null;ignoreState="";connected=!1;subscribed=!1;firstConnect=!0;waitForRestart=!1;loaded=!1;simStates={};objectViewCached;constructor(e){this.props=this.applyDefaultProps(e),this.connId=`${this.props.name?`${this.props.name}-`:""}${Math.round(Math.random()*1e6).toString().padStart(6,"0")}`,this.waitForSocketLib().then(()=>this.startSocket()).catch(t=>{alert(`Socket connection could not be initialized: ${t}`)})}applyDefaultProps(e){return{...e,protocol:e.protocol||globalThis.location.protocol,host:e.host||globalThis.location.hostname,port:e.port||(globalThis.location.port==="3000"?8081:globalThis.location.port),ioTimeout:Math.max(e.ioTimeout||2e4,2e4),cmdTimeout:Math.max(e.cmdTimeout||5e3,5e3),admin5only:e.admin5only||!1,autoSubscribes:e.autoSubscribes??[],autoSubscribeLog:e.autoSubscribeLog??!1,doNotLoadACL:e.doNotLoadACL??!0,doNotLoadAllObjects:e.doNotLoadAllObjects??!0}}statesSubscribes={};filesSubscribes={};objectsSubscribes={};objects={};states={};acl=null;isSecure=!1;onReadyDone=!1;onConnectionHandlers=[];onLogHandlers=[];onCmdStdoutHandler;onCmdStderrHandler;onCmdExitHandler;onError(e){(this.props.onError??console.error)(e)}_socket;_waitForSocketPromise;_waitForFirstConnectionPromise=lN();_instanceSubscriptions={};_promises={};_authTimer=null;_refreshTimer=null;_systemConfig;get systemConfig(){return this._systemConfig}systemLang="en";static isWeb(){return globalThis.socketUrl!==void 0}waitForSocketLib(){return this._waitForSocketPromise?this._waitForSocketPromise:(this._waitForSocketPromise=new Promise(async(e,t)=>{if(this.props.connect){e();return}if(typeof globalThis.io>"u"&&typeof globalThis.iob>"u")if(typeof globalThis.registerSocketOnLoad=="function")globalThis.registerSocketOnLoad(()=>e());else{for(let s=1;s<=30;s++){if(globalThis.io||globalThis.iob)return e();await OM(100)}t(new Error("Socket library could not be loaded!"))}else e()}),this._waitForSocketPromise)}async startSocket(){if(this._socket)return;let e=this.props.host,t=this.props.port,s=(this.props.protocol||globalThis.location.protocol).replace(":",""),r=globalThis.location.pathname;if(globalThis.location.hostname==="iobroker.net"||globalThis.location.hostname==="iobroker.pro")r="";else{if(globalThis.socketUrl){const u=new globalThis.URL(globalThis.socketUrl);e=u.hostname,t=u.port,s=u.protocol.replace(":","")}const a=r.lastIndexOf("/");if(a!==-1&&(r=r.substring(0,a+1)),Oe.isWeb()){const u=r.split("/");u.length>2&&(u.pop(),u.pop(),NN.includes(u[u.length-1])&&u.pop(),r=u.join("/"),r.endsWith("/")||(r+="/"))}}const o=t?`${s}://${e}:${t}`:`${s}://${e}`,M=this.props.connect||(globalThis.io||globalThis.iob).connect;return this._socket=M(o,{path:r.endsWith("/")?`${r}socket.io`:`${r}/socket.io`,query:"ws=true",name:this.props.name,timeout:this.props.ioTimeout,uuid:this.props.uuid,token:this.props.token}),this._socket.on("connect",a=>{var l;(l=globalThis.addEventListener)==null||l.call(globalThis,"storage",this.onAccessTokenUpdated);const u=Oe.readTokens();if(u&&!u.owner){const N=Date.now();this.saveTokens({access_token:u.access_token,refresh_token:u.refresh_token,expires_in:Math.round((u.expires_in.getTime()-N)/1e3),refresh_token_expires_in:Math.round((u.refresh_token_expires_in.getTime()-N)/1e3),token_type:"Bearer"},u.stayLoggedIn)}this.onReadyDone=!1,a!==!0?(this.connected=!0,setTimeout(()=>this.getVersion().then(N=>{const[c,L,j]=N.version.split(".");parseInt(c,10)*1e4+parseInt(L,10)*100+parseInt(j,10)<40102?(this._authTimer=null,this.onPreConnect(!1,!1)):this._socket.emit("authenticate",(y,d)=>this.onPreConnect(y,d))}).catch(N=>this.onError({message:N.toString(),operation:"getVersion"})),500)):this._socket.emit("authenticate",(N,c)=>{this.onPreConnect(N,c)})}),this._socket.on("reconnect",()=>{var a,u;this.onReadyDone=!1,(u=(a=this.props).onProgress)==null||u.call(a,at.READY),this.connected=!0,this.waitForRestart?globalThis.location.reload():(this._subscribe(!0),this.onConnectionHandlers.forEach(l=>l(!0)))}),this._socket.on("disconnect",()=>{var a,u;this.onReadyDone=!1,this.connected=!1,this.subscribed=!1,(u=(a=this.props).onProgress)==null||u.call(a,at.CONNECTING),this.onConnectionHandlers.forEach(l=>l(!1))}),this._socket.on("reauthenticate",()=>this.authenticate()),this._socket.on("log",a=>{var u,l;(l=(u=this.props).onLog)==null||l.call(u,a),this.onLogHandlers.forEach(N=>N(a))}),this._socket.on("error",a=>{let u;a==null?u="":typeof a.toString=="function"?u=a.toString():(u=JSON.stringify(a),console.error(`Received strange error: ${u}`)),u.includes("User not authorized")?this.authenticate():u.includes("websocket error")?(console.error(`Socket Error => reload: ${a}`),globalThis.location.reload()):console.error(`Socket Error: ${a}`)}),this._socket.on("connect_error",a=>console.error(`Connect error: ${a}`)),this._socket.on("permissionError",a=>this.onError({message:"no permission",operation:a.operation,type:a.type,id:a.id||""})),this._socket.on("objectChange",(a,u)=>{setTimeout(()=>this.objectChange(a,u),0)}),this._socket.on("stateChange",(a,u)=>{setTimeout(()=>this.stateChange(a,u),0)}),this._socket.on("im",(a,u,l)=>{setTimeout(()=>this.instanceMessage(a,u,l),0)}),this._socket.on("fileChange",(a,u,l)=>{setTimeout(()=>this.fileChange(a,u,l),0)}),this._socket.on("cmdStdout",(a,u)=>{var l;(l=this.onCmdStdoutHandler)==null||l.call(this,a,u)}),this._socket.on("cmdStderr",(a,u)=>{var l;(l=this.onCmdStderrHandler)==null||l.call(this,a,u)}),this._socket.on("cmdExit",(a,u)=>{var l;(l=this.onCmdExitHandler)==null||l.call(this,a,u)}),Promise.resolve()}onPreConnect(e,t){var s,r;this._authTimer&&(clearTimeout(this._authTimer),this._authTimer=null),this.connected=!0,this.isSecure=t,this.waitForRestart?globalThis.location.reload():(this.firstConnect?this.loadData().catch(o=>{console.error(`Cannot load data: ${o}`)}):(r=(s=this.props).onProgress)==null||r.call(s,at.READY),this._subscribe(!0),this.onConnectionHandlers.forEach(o=>o(!0)),this.checkAccessTokenExpire()),this._waitForFirstConnectionPromise.resolve()}static readTokens(){let e=globalThis.sessionStorage.getItem("iob_tokens");const t=!e;if(e||(e=globalThis.localStorage.getItem("iob_tokens")),!e)return null;const[s,r,o,M,a]=e.split(";"),u=new Date(r);return u.getTime(){if(e.key==="iob_tokens"){const t=Oe.readTokens();t&&(console.log(`Tab ${this.connId} received updated token: ${t.access_token}`),this.updateTokenExpiration(t.access_token))}};updateTokenExpiration(e){this.lastAccessToken!==e&&(this.lastAccessToken=e,this._socket.emit("updateTokenExpiration",e,(t,s)=>{t?(console.error(`[UPDATE/${new Date().toISOString()}] cannot say to server about new token: ${t}`),globalThis.location.reload()):s?console.log(`[UPDATE/${new Date().toISOString()}] server accepted new token: ${e}`):(console.error(`[UPDATE/${new Date().toISOString()}] cannot say to server about new token`),globalThis.location.reload())})),this.checkAccessTokenExpire()}refreshTokens(e,t){if(!e){console.log(`[REFRESH/${new Date().toISOString()}] No token structure found => reloading the page`),setTimeout(()=>globalThis.location.reload(),500);return}t||!e.owner||e.owner===this.connId?(console.log(`[REFRESH/${new Date().toISOString()}] claim ownership of the token`),this.acquireTokenLock()?(console.log(`[REFRESH/${new Date().toISOString()}] refreshing token`),fetch("./oauth/token",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:`grant_type=refresh_token&refresh_token=${e.refresh_token}&client_id=ioBroker&stayloggedin=${e.stayLoggedIn}`}).then(s=>{if(s.ok)return s.json();throw new Error("Cannot refresh access token")}).then(s=>{if(s.access_token)console.log(`[REFRESH/${new Date().toISOString()}] received new token: ${s.access_token}`),this.saveTokens(s,e.stayLoggedIn),this.releaseTokenLock(),this.updateTokenExpiration(s.access_token);else throw new Error("Cannot get access token")}).catch(s=>{console.warn(`[REFRESH/${new Date().toISOString()}] cannot refresh token: ${s}`),this.releaseTokenLock(),this.deleteTokens(e.stayLoggedIn),console.error(s),globalThis.location.reload()})):(console.log(`[REFRESH/${new Date().toISOString()}] Someone else is updating the token, so wait for the next check`),this.checkAccessTokenExpire())):this.lastAccessToken!==e.access_token&&this.updateTokenExpiration(e.access_token)}acquireTokenLock(){const e=Date.now(),t=globalThis.localStorage.getItem("iob_token_semaphore");if(t)try{const r=JSON.parse(t);if(e{r?(console.log(`[TOKEN/${new Date().toISOString()}] Token will be prolonged`),this.refreshTokens(e,s)):(console.log(`[TOKEN/${new Date().toISOString()}] Token will not be prolonged. Reloading the page`),setTimeout(()=>globalThis.location.reload(),Date.now()>t?500:t-Date.now()))})):(console.log(`[TOKEN/${new Date().toISOString()}] No tokenTimeoutHandler defined. Prolonging the token`),this.refreshTokens(e,s))):this.lastAccessToken!==e.access_token?(console.log(`[TOKEN/${new Date().toISOString()}] We are not the owner of the token, but we will inform the server about new token`),this.refreshTokens(e)):(console.log(`[TOKEN/${new Date().toISOString()}] We are not the owner of the token and the token did not change. Check in 3 seconds if the owner updated the token`),this._refreshTimer=setTimeout(()=>{this._refreshTimer=null,this.checkAccessTokenExpire()},3e3)):(console.log(`[TOKEN/${new Date().toISOString()}] We do not have a refresh token, so we need to reauthenticate`),setTimeout(()=>globalThis.location.reload(),Date.now()>t?500:t-Date.now()))}else this._refreshTimer=setTimeout(()=>{this._refreshTimer=null,this.checkAccessTokenExpire()},t-Date.now()-3e4>12e4?12e4:t-Date.now()-3e4)}}}static isCloud(){return globalThis.location.hostname.includes("amazonaws.com")||globalThis.location.hostname.includes("iobroker.in")?!0:typeof globalThis.socketUrl>"u"?!1:globalThis.socketUrl.includes("iobroker.in")||globalThis.socketUrl.includes("amazonaws")}isConnected(){return this.connected}waitForFirstConnection(){return this._waitForFirstConnectionPromise}async getUserPermissions(){return this.request({commandTimeout:!1,executor:(e,t)=>{this._socket.emit("getUserPermissions",(s,r)=>{s?t(s):e(r||null)})}})}async loadData(){if(this.loaded)return;const e=10;for(let t=1;t<=e;t++){if(this.doLoadData().catch(s=>console.error(`Cannot load data: ${s}`)),this.loaded)return;await OM(Oe.isCloud()?5e3:1e3)}}async doLoadData(){var e,t,s,r,o,M,a,u,l;if(!this.loaded){if(!this.props.doNotLoadACL)try{this.acl=await this.getUserPermissions()}catch(N){this.onError(`Cannot read user permissions: ${N}`);return}try{this.props.admin5only&&!Oe.isWeb()&&(!globalThis.vendorPrefix||globalThis.vendorPrefix==="@@vendorPrefix@@")?this._systemConfig=await this.getCompactSystemConfig():this._systemConfig=await this.getSystemConfig()}catch(N){this.onError(`Cannot read system config: ${N}`);return}this._systemConfig&&(this.systemLang=(e=this._systemConfig.common)==null?void 0:e.language,this.systemLang||(this.systemLang=globalThis.navigator.userLanguage||globalThis.navigator.language,/^(en|de|ru|pt|nl|fr|it|es|pl|uk)-?/.test(this.systemLang)?this.systemLang=this.systemLang.substring(0,2):/^(en|de|ru|pt|nl|fr|it|es|pl|uk|zh-cn)$/.test(this.systemLang)||(this.systemLang="en"),this._systemConfig.common.language=this.systemLang)),(s=(t=this.props).onLanguage)==null||s.call(t,this.systemLang),this.loaded=!0,(o=(r=this.props).onProgress)==null||o.call(r,at.CONNECTED),this.firstConnect=!1,this.props.doNotLoadAllObjects?this.props.admin5only?this.objects={}:this.objects={"system.config":this._systemConfig}:this.objects=await this.getObjects(),(a=(M=this.props).onProgress)==null||a.call(M,at.READY),this.onReadyDone||(this.onReadyDone=!0,(l=(u=this.props).onReady)==null||l.call(u,this.objects))}}authenticate(){globalThis.location.search.includes("&href=")?globalThis.location.href=`${globalThis.location.protocol}//${globalThis.location.host}${globalThis.location.pathname}${globalThis.location.search}`:globalThis.location.href=`${globalThis.location.protocol}//${globalThis.location.host}${globalThis.location.pathname}?login&href=${encodeURIComponent(globalThis.location.search+globalThis.location.hash)}`}async subscribeState(...e){let t,s,r;e.length===3?[t,s,r]=e:([t,r]=e,s=!1);let o;if(Array.isArray(t)?o=t:o=[t],typeof r!="function")throw new Error("The state change handler must be a function!");const M=[];for(let a=0;aa.includes("*"))){let a;for(let u=0;uconsole.error(`Cannot call state change handler: ${L}`))}}}else try{const a=await(Oe.isWeb()?this.getStates(o):this.getForeignStates(o));if(a)for(const[u,l]of Object.entries(a)){const N=r(u,l);N instanceof Promise&&N.catch(c=>console.error(`Cannot call state change handler: ${c}`))}}catch(a){console.error(`Cannot getState "${o.join(", ")}": ${a.message}`);return}}async subscribeStateAsync(e,t){return this.subscribeState(e,t)}unsubscribeState(e,t){var o;let s;Array.isArray(e)?s=e:s=[e];const r=[];for(let M=0;M{try{const N=l(e,t,s);N instanceof Promise&&N.catch(c=>console.error(`Cannot call object change handler: ${c}`))}catch(N){console.error(`Error by callback of objectChange: ${N}`)}});if(r){const a=(M=(o=this.props).onObjectChange)==null?void 0:M.call(o,e,t);a instanceof Promise&&a.catch(u=>console.error(`Cannot call object change handler: ${u}`))}}stateChange(e,t){for(const s of Object.values(this.statesSubscribes))if(s.reg.test(e))for(const r of s.cbs)try{const o=r(e,t??null);o instanceof Promise&&o.catch(M=>console.error(`Cannot call state change handler: ${M}`))}catch(o){console.error(`Error by callback of stateChanged: ${o}`)}}instanceMessage(e,t,s){var r;(r=this._instanceSubscriptions[t])==null||r.forEach(o=>{if(o.messageType===e){const M=o.callback(s,t,e);M instanceof Promise&&M.catch(a=>console.error(`Cannot call instance message handler: ${a}`))}})}fileChange(e,t,s){for(const r of Object.values(this.filesSubscribes))if(r.regId.test(e)&&r.regFilePattern.test(t))for(const o of r.cbs)try{o(e,t,s)}catch(M){console.error(`Error by callback of fileChange: ${M}`)}}async subscribeFiles(e,t,s){if(typeof s!="function")throw new Error("The state change handler must be a function!");let r;Array.isArray(t)?r=t:r=[t];const o=[];for(let M=0;M{const c={elapsed:!1,clearTimeout:()=>{}};let L;s!==!1&&(L=setTimeout(()=>{c.elapsed=!0,r==null||r(),e&&this._promises[e]instanceof Promise&&delete this._promises[e],N(new Error(fe.TIMEOUT))},s??this.props.cmdTimeout),c.clearTimeout=()=>{clearTimeout(L)});try{await a(l,N,c)}catch(j){e&&this._promises[e]instanceof Promise&&delete this._promises[e],N(new Error(j.toString()))}});return e&&(this._promises[e]=u),u}resetCache(e,t){t?Object.keys(this._promises).filter(s=>s.startsWith(e)).forEach(s=>{delete this._promises[s]}):delete this._promises[e]}getStates(e){return this.request({commandTimeout:!1,executor:(t,s)=>{this._socket.emit("getStates",e,(r,o)=>{this.states=o??{},r?s(r):t(this.states)})}})}getState(e){return this.request({commandTimeout:!1,executor:(t,s)=>{if(e&&e===this.ignoreState){t(this.simStates[e]||{val:null,ack:!0});return}this._socket.emit("getState",e,(r,o)=>{r?s(r):t(o)})}})}getBinaryState(e){return this.request({commandTimeout:!1,executor:(t,s)=>{this._socket.emit("getBinaryState",e,(r,o)=>{r?s(r):t(o)})}})}setBinaryState(e,t){return this.request({commandTimeout:!1,executor:(s,r)=>{this._socket.emit("setBinaryState",e,t,o=>{o?r(o):s()})}})}setState(e,t,s){return typeof s=="boolean"&&(t={val:t,ack:s}),this.request({commandTimeout:!1,executor:(r,o)=>{if(e&&e===this.ignoreState){let M;if(typeof s=="boolean"||typeof t=="object"&&t.val!==void 0?M=t:M={val:t,ack:!1,ts:Date.now(),lc:Date.now(),from:"system.adapter.vis.0"},this.simStates[e]=M,this.statesSubscribes[e])for(const a of this.statesSubscribes[e].cbs)try{const u=a(e,M);u instanceof Promise&&u.catch(l=>console.error(`Cannot call state change handler: ${l}`))}catch(u){console.error(`Error by callback of stateChanged: ${u}`)}r();return}this._socket.emit("setState",e,t,M=>{M?o(M):r()})}})}getObjects(e,t){return this.request({commandTimeout:!1,executor:(s,r)=>{if(!e&&this.objects){s(this.objects);return}this._socket.emit(Oe.isWeb()?"getObjects":"getAllObjects",(o,M)=>{var a,u;t||(u=(a=this.props).onProgress)==null||u.call(a,at.OBJECTS_LOADED),o?r(o):(this.objects=M??{},s(this.objects))})}})}getObjectsById(e){return this.request({commandTimeout:!1,executor:(t,s)=>{this._socket.emit("getObjects",e,(r,o)=>{r?s(r):t(o)})}})}_subscribe(e){var t,s;if(e&&!this.subscribed){this.subscribed=!0,(t=this.props.autoSubscribes)!=null&&t.length&&this._socket.emit("subscribeObjects",this.props.autoSubscribes);const r=Object.keys(this.objectsSubscribes);r.length&&this._socket.emit("subscribeObjects",r),Object.keys(this.objectsSubscribes).forEach(o=>this._socket.emit("subscribeObjects",o)),this.props.autoSubscribeLog&&this._socket.emit("requireLog",!0),Object.keys(this.statesSubscribes).forEach(o=>this._socket.emit("subscribe",o)),Object.keys(this.filesSubscribes).forEach(o=>{const[M,a]=o.split("$%$");this._socket.emit("subscribeFiles",M,a)})}else if(!e&&this.subscribed){this.subscribed=!1,(s=this.props.autoSubscribes)!=null&&s.length&&this._socket.emit("unsubscribeObjects",this.props.autoSubscribes);const r=Object.keys(this.objectsSubscribes);r.length&&this._socket.emit("unsubscribeObjects",r),this.props.autoSubscribeLog&&this._socket.emit("requireLog",!1),Object.keys(this.statesSubscribes).forEach(o=>this._socket.emit("unsubscribe",o)),Object.keys(this.filesSubscribes).forEach(o=>{const[M,a]=o.split("$%$");this._socket.emit("unsubscribeFiles",M,a)})}}requireLog(e){return this.request({commandTimeout:!1,executor:(t,s)=>{this._socket.emit("requireLog",e,r=>{r?s(r):t()})}})}delObject(e,t=!1){return this.request({commandTimeout:!1,executor:(s,r)=>{this._socket.emit("delObject",e,{maintenance:t},o=>{o?r(o):s()})}})}delObjects(e,t){return this.request({commandTimeout:!1,executor:(s,r)=>{this._socket.emit("delObjects",e,{maintenance:t},o=>{o?r(o):s()})}})}setObject(e,t){return t?(t=JSON.parse(JSON.stringify(t)),delete t.from,delete t.user,delete t.ts,this.request({commandTimeout:!1,executor:(s,r)=>{this._socket.emit("setObject",e,t,o=>{o?r(o):s()})}})):Promise.reject(new Error("Null object is not allowed"))}getObject(e){return this.request({commandTimeout:!1,executor:(t,s)=>{if(e&&e===this.ignoreState){t({_id:this.ignoreState,type:"state",common:{name:"ignored state",type:"mixed"}});return}this._socket.emit("getObject",e,(r,o)=>{r?s(r):t(o)})}})}sendTo(e,t,s){return this.request({commandTimeout:!1,executor:r=>{this._socket.emit("sendTo",e,t,s,o=>{r(o)})}})}extendObject(e,t){return t?(t=JSON.parse(JSON.stringify(t)),delete t.from,delete t.user,delete t.ts,this.request({commandTimeout:!1,executor:(s,r)=>{this._socket.emit("extendObject",e,t,o=>{o?r(o):s()})}})):Promise.reject(new Error("Null object is not allowed"))}registerLogHandler(e){this.onLogHandlers.includes(e)||this.onLogHandlers.push(e)}unregisterLogHandler(e){const t=this.onLogHandlers.indexOf(e);t!==-1&&this.onLogHandlers.splice(t,1)}registerConnectionHandler(e){this.onConnectionHandlers.includes(e)||this.onConnectionHandlers.push(e)}unregisterConnectionHandler(e){const t=this.onConnectionHandlers.indexOf(e);t!==-1&&this.onConnectionHandlers.splice(t,1)}registerCmdStdoutHandler(e){this.onCmdStdoutHandler=e}unregisterCmdStdoutHandler(){this.onCmdStdoutHandler=void 0}registerCmdStderrHandler(e){this.onCmdStderrHandler=e}unregisterCmdStderrHandler(){this.onCmdStderrHandler=void 0}registerCmdExitHandler(e){this.onCmdExitHandler=e}unregisterCmdExitHandler(){this.onCmdExitHandler=void 0}getEnums(e,t){return this.request({cacheKey:`enums_${e||"all"}`,forceUpdate:t,commandTimeout:!1,executor:(s,r)=>{this._socket.emit("getObjectView","system","enum",{startkey:`enum.${e||""}`,endkey:e?`enum.${e}.香`:"enum.香"},(o,M)=>{if(o)r(o);else{const a={};if(M)for(let u=0;u{s||="",r||="香",this._socket.emit("getObjectView",e,t,{startkey:s,endkey:r},(a,u)=>{if(a)M(a);else{const l={};if(u&&u.rows)for(let N=0;N{this._socket.emit("getObjectView","system","meta",{startkey:"",endkey:"香"},(s,r)=>{var o;s?t(s):e((o=r.rows)==null?void 0:o.map(M=>M.value).filter(M=>!!M))})}})}readDir(e,t){return this.request({commandTimeout:!1,executor:(s,r)=>{this._socket.emit("readDir",e,t,(o,M)=>{o?r(o):s(M)})}})}readFile(e,t,s){return this.request({commandTimeout:!1,executor:(r,o)=>{this._socket.emit(s?"readFile64":"readFile",e,t,(M,a,u)=>{M?o(M):r({file:a,mimeType:u})})}})}writeFile64(e,t,s){return this.request({commandTimeout:!1,executor:(r,o)=>{if(typeof s=="string")this._socket.emit("writeFile",e,t,s,M=>{M?o(M):r()});else{const M=btoa(new Uint8Array(s).reduce((a,u)=>a+String.fromCharCode(u),""));this._socket.emit("writeFile64",e,t,M,a=>{a?o(a):r()})}}})}deleteFile(e,t){return this.request({commandTimeout:!1,executor:(s,r)=>{this._socket.emit("deleteFile",e,t,o=>{o?r(o):s()})}})}deleteFolder(e,t){return this.request({commandTimeout:!1,executor:(s,r)=>{this._socket.emit("deleteFolder",e,t,o=>{o?r(o):s()})}})}rename(e,t,s){return this.request({commandTimeout:!1,executor:(r,o)=>{this._socket.emit("rename",e,t,s,M=>{M?o(M):r()})}})}renameFile(e,t,s){return this.request({commandTimeout:!1,executor:(r,o)=>{this._socket.emit("renameFile",e,t,s,M=>{M?o(M):r()})}})}cmdExec(e,t,s,r){return this.request({commandTimeout:r,executor:(o,M,a)=>{e=It(e),this._socket.emit("cmdExec",e,s,t,u=>{a.elapsed||(a.clearTimeout(),u?M(u):o())})}})}getSystemConfig(e){return this.request({cacheKey:"systemConfig",forceUpdate:e,commandTimeout:!1,executor:async t=>{let s=await this.getObject("system.config");s??={},s.common??={},s.native??={},t(s)}})}getCompactSystemConfig(e){return this.request({cacheKey:"systemConfigCommon",forceUpdate:e,commandTimeout:!1,requireAdmin:!0,executor:(t,s)=>{this._socket.emit("getCompactSystemConfig",(r,o)=>{r?s(r):(o??={},o.common??={},o.native??={},t(o))})}})}getForeignStates(e){return this.request({commandTimeout:!1,executor:(t,s)=>{this._socket.emit("getForeignStates",e||"*",(r,o)=>{r?s(r):t(o??{})})}})}getForeignObjects(e,t){return this.request({commandTimeout:!1,executor:(s,r)=>{this._socket.emit("getForeignObjects",e||"*",t,(o,M)=>{o?r(o):s(M)})}})}setSystemConfig(e){return this.setObject("system.config",e)}getRawSocket(){return this._socket}getHistory(e,t){return this.request({commandTimeout:!1,executor:(s,r)=>{this._socket.emit("getHistory",e,t,(o,M)=>{o?r(o):s(M)})}})}getHistoryEx(e,t){return this.request({commandTimeout:!1,executor:(s,r)=>{this._socket.emit("getHistory",e,t,(o,M,a,u)=>{o?r(o):s({values:M,sessionId:u,step:a})})}})}getIpAddresses(e,t){return e=It(e),this.request({cacheKey:`IPs_${e}`,forceUpdate:t,commandTimeout:!1,executor:async s=>{const r=await this.getObject(e);s((r==null?void 0:r.common.address)??[])}})}getVersion(e){return this.request({cacheKey:"version",forceUpdate:e,commandTimeout:!1,executor:(t,s)=>{this._socket.emit("getVersion",(r,o,M)=>{r&&!o&&typeof r=="string"&&r.match(/\d+\.\d+\.\d+/)?t({version:r,serverName:"socketio"}):r?s(r):t({version:o,serverName:M})})}})}getWebServerName(){return this.request({cacheKey:"webName",commandTimeout:!1,executor:(e,t)=>{this._socket.emit("getAdapterName",(s,r)=>{s?t(s):e(r)})}})}fileExists(e,t){return this.request({commandTimeout:!1,executor:(s,r)=>{this._socket.emit("fileExists",e,t,(o,M)=>{o?r(o):s(!!M)})}})}getCurrentUser(){return this.request({commandTimeout:!1,executor:e=>{this._socket.emit("authEnabled",(t,s)=>{e(s)})}})}getUuid(){return this.request({cacheKey:"uuid",commandTimeout:!1,executor:async e=>{var s;const t=await this.getObject("system.meta.uuid");e((s=t==null?void 0:t.native)==null?void 0:s.uuid)}})}checkFeatureSupported(e,t){return this.request({cacheKey:`supportedFeatures_${e}`,forceUpdate:t,commandTimeout:!1,executor:(s,r)=>{this._socket.emit("checkFeatureSupported",e,(o,M)=>{o?r(o):s(M)})}})}getAdapterInstances(e,t){return typeof e=="boolean"&&(t=e,e=""),e||="",this.request({cacheKey:`instances_${e}`,forceUpdate:t,commandTimeout:!1,executor:async s=>{const r=e?`system.adapter.${e}.`:"system.adapter.",o=`${r}香`,M=await this.getObjectViewSystem("instance",r,o),a=Object.values(M);s(e?a.filter(u=>u.common.name===e):a)}})}getAdapters(e,t){return typeof e=="boolean"&&(t=e,e=""),e||="",this.request({cacheKey:`adapter_${e}`,forceUpdate:t,commandTimeout:!1,executor:async s=>{const r=await this.getObjectViewSystem("adapter",`system.adapter.${e||""}`,`system.adapter.${e||"香"}`),o=Object.values(r);s(e?o.filter(M=>M.common.name===e):o)}})}getGroups(e){return this.request({cacheKey:"groups",forceUpdate:e,commandTimeout:!1,executor:(t,s)=>{this._socket.emit("getObjectView","system","group",{startkey:"system.group.",endkey:"system.group.香"},(r,o)=>{r?s(r):t(Fr(o))})}})}logout(){return this.request({commandTimeout:!1,executor:(e,t)=>{this._socket.emit("logout",s=>{s?t(s):e(null)})}})}subscribeOnInstance(e,t,s,r){return this.request({commandTimeout:!1,executor:(o,M)=>{this._socket.emit("clientSubscribe",e,t,s,(a,u)=>{a?M(a):u&&(u.error?M(u.error):(e.startsWith("system.adapter.")||(e=`system.adapter.${e}`),this._instanceSubscriptions[e]=this._instanceSubscriptions[e]||[],this._instanceSubscriptions[e].find(l=>l.messageType===t&&l.callback===r)||this._instanceSubscriptions[e].push({messageType:t,callback:r}),o(u)))})}})}unsubscribeFromInstance(e,t,s){var M;e.startsWith("system.adapter.")||(e=`system.adapter.${e}`);let r;const o=[];do{r=!1;const a=(M=this._instanceSubscriptions[e])==null?void 0:M.findIndex(u=>(!t||u.messageType===t)&&(!s||u.callback===s));if(a!=null&&a!==-1){r=!0;const u=this._instanceSubscriptions[e][a].messageType;this._instanceSubscriptions[e].splice(a,1),this._instanceSubscriptions[e].length||delete this._instanceSubscriptions[e],this._instanceSubscriptions[e]&&this._instanceSubscriptions[e].find(N=>N.messageType===u)||o.push(this.request({commandTimeout:!1,executor:(N,c)=>{this._socket.emit("clientUnsubscribe",e,t,(L,j)=>L?c(L):N(j))}}))}}while(r&&(!s||!t));return o.length?Promise.all(o).then(a=>!!a.find(u=>u)):Promise.resolve(!1)}log(e,t){return e?this.request({commandTimeout:!1,executor:s=>(this._socket.emit("log",e,t),s(null))}):Promise.resolve(null)}setStateToIgnore(e){this.ignoreState=e}destroy(){var e;if(this._socket){const t=this._socket;try{typeof t.destroy=="function"?t.destroy():typeof t.close=="function"&&t.close(!0)}catch{}}(e=globalThis.removeEventListener)==null||e.call(globalThis,"storage",this.onAccessTokenUpdated),this._authTimer&&(clearTimeout(this._authTimer),this._authTimer=null),this._refreshTimer&&(clearTimeout(this._refreshTimer),this._refreshTimer=null),this.onConnectionHandlers.length=0,this.onLogHandlers.length=0;for(const t of Object.keys(this.statesSubscribes))delete this.statesSubscribes[t];for(const t of Object.keys(this.objectsSubscribes))delete this.objectsSubscribes[t];for(const t of Object.keys(this.filesSubscribes))delete this.filesSubscribes[t];this._instanceSubscriptions={},this.connected=!1,this.onReadyDone=!1}}function LN(i,e){if(!e)return;let t;if(e.length<700&&(e.indexOf("/")!==-1||e.indexOf("\\")!==-1))if(i.toLowerCase().includes("private"))t="private";else if(e.toLowerCase().includes("private"))t="private";else if(i.toLowerCase().includes("public"))t="public";else if(e.toLowerCase().includes("public"))t="public";else if(i.toLowerCase().includes("chain"))t="chained";else if(e.toLowerCase().includes("chain"))t="chained";else return;else t=e.substring(0,26)==="-----BEGIN RSA PRIVATE KEY"||e.substring(0,22)==="-----BEGIN PRIVATE KEY"?"private":"public",t==="public"&&e.split("-----END CERTIFICATE-----").filter(r=>r.replace(/\r\n|\r|\n/,"").trim()).length>1&&(t="chained");return{name:i,type:t}}function jN(i){var s,r,o,M;const e=[{name:"[IPv4] 0.0.0.0 - Listen on all IPs",address:"0.0.0.0",family:"ipv4"}],t=[{name:"[IPv6] :: - Listen on all IPs",address:"::",family:"ipv6"}];if((r=(s=i.native)==null?void 0:s.hardware)!=null&&r.networkInterfaces){const a=(M=(o=i.native)==null?void 0:o.hardware)==null?void 0:M.networkInterfaces;Object.keys(a).forEach(u=>{var l;(l=a[u])==null||l.forEach(N=>{N.family!=="IPv6"?e.push({name:`[${N.family}] ${N.address} - ${u}`,address:N.address,family:"ipv4"}):t.push({name:`[${N.family}] ${N.address} - ${u}`,address:N.address,family:"ipv6"})})})}return{IPs4:e,IPs6:t}}class $je extends Oe{constructor(e){super(e)}request(e){return super.request({requireAdmin:!0,...e})}getCertificates(e){return this.request({cacheKey:"cert",forceUpdate:e,commandTimeout:!1,executor:async t=>{var r;const s=await this.getObject("system.certificates");(r=s==null?void 0:s.native)!=null&&r.certificates?t(Object.entries(s.native.certificates).map(([o,M])=>LN(o,M)).filter(o=>!!o)):t([])}})}getLogs(e,t=200){return this.request({commandTimeout:!1,executor:s=>{this._socket.emit("sendToHost",e,"getLogs",t||200,r=>{s(r)})}})}upgradeAdapterWithWebserver(e,t){return this.request({commandTimeout:!1,executor:s=>{this._socket.emit("sendToHost",e,"upgradeAdapterWithWebserver",t,r=>{s(r)})}})}upgradeController(e,t,s){return this.request({commandTimeout:!1,executor:(r,o)=>{this._socket.emit("sendToHost",e,"upgradeController",{version:t,adminInstance:s},M=>{const a=M;a.error?o(a.error):r(a.result)})}})}updateLicenses(e,t){return this.request({commandTimeout:!1,executor:(s,r)=>{this._socket.emit("updateLicenses",e,t,(o,M)=>{o?r(o):s(M)})}})}upgradeOsPackages(e,t,s){return this.request({commandTimeout:!1,executor:r=>{this._socket.emit("sendToHost",e,"upgradeOsPackages",{packages:t,restart:!!s},o=>{r(o)})}})}getLogsFiles(e){return this.request({commandTimeout:!1,executor:(t,s)=>{this._socket.emit("readLogs",e,(r,o)=>{r&&s(r),t(o)})}})}delLogs(e){return this.request({commandTimeout:!1,executor:(t,s)=>{this._socket.emit("sendToHost",e,"delLogs",null,r=>{r&&s(r),t()})}})}deleteFile(e,t){return this.request({commandTimeout:!1,executor:(s,r)=>{this._socket.emit("deleteFile",e,t,o=>{o&&r(o),s()})}})}deleteFolder(e,t){return this.request({commandTimeout:!1,executor:(s,r)=>{this._socket.emit("deleteFolder",e,t,o=>{o&&r(o),s()})}})}rename(e,t,s){return this.request({commandTimeout:!1,executor:(r,o)=>{this._socket.emit("rename",e,t,s,M=>{M&&o(M),r()})}})}renameFile(e,t,s){return this.request({commandTimeout:!1,executor:(r,o)=>{this._socket.emit("renameFile",e,t,s,M=>{M&&o(M),r()})}})}getHosts(e){return this.request({cacheKey:"hosts",forceUpdate:e,commandTimeout:!1,executor:(t,s)=>{this._socket.emit("getObjectView","system","host",{startkey:"system.host.",endkey:"system.host.香"},(r,o)=>{r?s(r):t(Fr(o))})}})}getUsers(e){return this.request({cacheKey:"users",forceUpdate:e,commandTimeout:!1,executor:(t,s)=>{this._socket.emit("getObjectView","system","user",{startkey:"system.user.",endkey:"system.user.香"},(r,o)=>{r?s(r):t(Fr(o))})}})}renameGroup(e,t,s){return this.request({commandTimeout:!1,executor:async r=>{const o=await this.getGroups(!0),M=o.filter(u=>u._id.startsWith(`${e}.`));for(const u of M){const l=u._id,N=t+u._id.substring(e.length);u._id=N,await this.setObject(N,u),await this.delObject(l)}const a=o.find(u=>u._id===e);if(a){const u=a._id;a._id=t,s!==void 0&&(a.common??={},a.common.name=s),await this.setObject(t,a),await this.delObject(u)}r()}})}getHostInfo(e,t,s){return e=It(e),this.request({cacheKey:`hostInfo_${e}`,forceUpdate:t,commandTimeout:s,executor:(r,o,M)=>{this._socket.emit("sendToHost",e,"getHostInfo",null,a=>{M.elapsed||(M.clearTimeout(),a===fe.PERMISSION_ERROR?o('May not read "getHostInfo"'):a?r(a):o('Cannot read "getHostInfo"'))})}})}getHostInfoShort(e,t,s){return e=It(e),this.request({cacheKey:`hostInfoShort_${e}`,forceUpdate:t,commandTimeout:s,executor:(r,o,M)=>{this._socket.emit("sendToHost",e,"getHostInfoShort",null,a=>{M.elapsed||(M.clearTimeout(),a===fe.PERMISSION_ERROR?o('May not read "getHostInfoShort"'):a?r(a):o('Cannot read "getHostInfoShort"'))})}})}getRepository(e,t,s,r){return this.request({cacheKey:`repository_${e}`,forceUpdate:s,commandTimeout:r,executor:(o,M,a)=>{this._socket.emit("sendToHost",e,"getRepository",t,u=>{a.elapsed||(a.clearTimeout(),u===fe.PERMISSION_ERROR?M('May not read "getRepository"'):u?o(u):M('Cannot read "getRepository"'))})}})}getInstalled(e,t,s){return e=It(e),this.request({cacheKey:`installed_${e}`,forceUpdate:t,commandTimeout:s,executor:(r,o,M)=>{this._socket.emit("sendToHost",e,"getInstalled",null,a=>{M.elapsed||(M.clearTimeout(),a===fe.PERMISSION_ERROR?o('May not read "getInstalled"'):a?r(a):o('Cannot read "getInstalled"'))})}})}cmdExec(e,t,s,r){return this.request({commandTimeout:r,executor:(o,M,a)=>{e=It(e),this._socket.emit("cmdExec",e,s,t,u=>{a.elapsed||(a.clearTimeout(),u&&M(u),o())})}})}readBaseSettings(e){return e=Ps(e),this.request({requireFeatures:["CONTROLLER_READWRITE_BASE_SETTINGS"],executor:(t,s,r)=>{this._socket.emit("sendToHost",e,"readBaseSettings",null,o=>{r.elapsed||(r.clearTimeout(),o===fe.PERMISSION_ERROR?s('May not read "BaseSettings"'):o?o.error?s(new Error(o.error)):t(o):s('Cannot read "BaseSettings"'))})}})}writeBaseSettings(e,t){return e=Ps(e),this.request({requireFeatures:["CONTROLLER_READWRITE_BASE_SETTINGS"],executor:(s,r,o)=>{this._socket.emit("sendToHost",e,"writeBaseSettings",t,M=>{o.elapsed||(o.clearTimeout(),M===fe.PERMISSION_ERROR?r('May not write "BaseSettings"'):M?s(M):r('Cannot write "BaseSettings"'))})}})}restartController(e){return e=Ps(e),this.request({executor:(t,s,r)=>{this._socket.emit("sendToHost",e,"restartController",null,()=>{r.elapsed||(r.clearTimeout(),t(!0))})}})}getDiagData(e,t){return e=Ps(e),this.request({executor:(s,r,o)=>{this._socket.emit("sendToHost",e,"getDiagData",t,M=>{o.elapsed||(o.clearTimeout(),s(M||null))})}})}changePassword(e,t){return this.request({executor:(s,r,o)=>{this._socket.emit("changePassword",e,t,M=>{o.elapsed||(o.clearTimeout(),M&&r(M),s())})}})}getIpAddresses(e,t){return e=It(e),this.request({cacheKey:`IPs_${e}`,forceUpdate:t,commandTimeout:!1,executor:async s=>{const r=await this.getObject(e);s((r==null?void 0:r.common.address)??[])}})}getHostByIp(e,t){return e=Ps(e),this.request({cacheKey:`rIPs_${e}`,forceUpdate:t,executor:(s,r,o)=>{this._socket.emit("getHostByIp",e,(M,a)=>{if(o.elapsed)return;o.clearTimeout();const{IPs4:u,IPs6:l}=jN(a);s([...u,...l])})}})}encrypt(e){return this.request({executor:(t,s,r)=>{this._socket.emit("encrypt",e,(o,M)=>{r.elapsed||(r.clearTimeout(),o&&s(o),t(M))})}})}decrypt(e){return this.request({executor:(t,s,r)=>{this._socket.emit("decrypt",e,(o,M)=>{r.elapsed||(r.clearTimeout(),o&&s(o),t(M))})}})}chmodFile(e,t,s){return this.request({executor:(r,o,M)=>{this._socket.emit("chmodFile",e,t,s,(a,u)=>{M.elapsed||(M.clearTimeout(),a&&o(a),r(u))})}})}chownFile(e,t,s){return this.request({executor:(r,o,M)=>{this._socket.emit("chownFile",e,t,s,(a,u)=>{M.elapsed||(M.clearTimeout(),a&&o(a),r(u))})}})}getNotifications(e,t){return this.request({executor:(s,r,o)=>{this._socket.emit("sendToHost",e,"getNotifications",{category:t},M=>{o.elapsed||(o.clearTimeout(),s(M))})}})}clearNotifications(e,t){return this.request({executor:(s,r,o)=>{this._socket.emit("sendToHost",e,"clearNotifications",{category:t},M=>{o.elapsed||(o.clearTimeout(),s(M))})}})}getIsEasyModeStrict(){return this.request({executor:(e,t,s)=>{this._socket.emit("getIsEasyModeStrict",(r,o)=>{s.elapsed||(s.clearTimeout(),r&&t(r),e(!!o))})}})}getEasyMode(){return this.request({executor:(e,t,s)=>{this._socket.emit("getEasyMode",(r,o)=>{s.elapsed||(s.clearTimeout(),r?t(new Error(r)):e(o))})}})}getRatings(e){return this.request({executor:(t,s,r)=>{this._socket.emit("getRatings",!!e,(o,M)=>{r.elapsed||(r.clearTimeout(),o?s(new Error(o)):t(M))})}})}getCurrentSession(e){const t=new AbortController;return this.request({commandTimeout:e||5e3,onTimeout:()=>{t.abort()},executor:async(s,r,o)=>{try{const M=await fetch("./session",{signal:t.signal});if(o.elapsed)return;o.clearTimeout();const a=await M.json();s(a)}catch(M){r(`getCurrentSession: ${M}`)}}})}getCurrentInstance(){return this.request({cacheKey:"currentInstance",executor:(e,t,s)=>{this._socket.emit("getCurrentInstance",(r,o)=>{s.elapsed||(s.clearTimeout(),r?t(r):e(o))})}})}getAdapterInstances(e,t){let s;return typeof e=="boolean"?(t=e,s=""):s=e||"",this.request({cacheKey:`instances_${s}`,forceUpdate:t,executor:(r,o,M)=>{this._socket.emit("getAdapterInstances",s,(a,u)=>{M.elapsed||(M.clearTimeout(),a&&o(a),r(u))})}})}getAdapters(e,t){let s;return typeof e=="boolean"?(t=e,s=""):s=e||"",this.request({cacheKey:`adapter_${s}`,forceUpdate:t,executor:(r,o,M)=>{this._socket.emit("getAdapters",s,(a,u)=>{M.elapsed||(M.clearTimeout(),a&&o(a),r(u))})}})}getCompactAdapters(e){return this.request({cacheKey:"compactAdapters",forceUpdate:e,executor:(t,s,r)=>{this._socket.emit("getCompactAdapters",(o,M)=>{r.elapsed||(r.clearTimeout(),o&&s(o),t(M))})}})}getAdaptersResetCache(e){e=e??"",this.resetCache(`adapter_${e}`),this.resetCache("compactAdapters")}getCompactInstances(e){return this.request({cacheKey:"compactInstances",forceUpdate:e,executor:(t,s,r)=>{this._socket.emit("getCompactInstances",(o,M)=>{r.elapsed||(r.clearTimeout(),o&&s(o),t(M))})}})}getAdapterInstancesResetCache(e){e=e??"",this.resetCache(`instances_${e}`),this.resetCache("compactInstances")}getCompactInstalled(e,t,s){return e=It(e),this.request({cacheKey:`installedCompact_${e}`,forceUpdate:t,commandTimeout:s,executor:(r,o,M)=>{this._socket.emit("getCompactInstalled",e,a=>{M.elapsed||(M.clearTimeout(),a===fe.PERMISSION_ERROR?o('May not read "getCompactInstalled"'):a?r(a):o('Cannot read "getCompactInstalled"'))})}})}getInstalledResetCache(e){e?(this.resetCache(`installedCompact_${e}`),this.resetCache(`installed_${e}`)):(this.resetCache("installedCompact_",!0),this.resetCache("installed_",!0))}getCompactRepository(e,t,s){return e=It(e),this.request({cacheKey:`repositoryCompact_${e}`,forceUpdate:t,commandTimeout:s,executor:(r,o,M)=>{this._socket.emit("getCompactRepository",e,a=>{M.elapsed||(M.clearTimeout(),a===fe.PERMISSION_ERROR?o('May not read "getCompactRepository"'):a?r(a):o('Cannot read "getCompactRepository"'))})}})}getRepositoryResetCache(e){e?(this.resetCache(`repositoryCompact_${e}`),this.resetCache(`repository_${e}`)):(this.resetCache("repositoryCompact_",!0),this.resetCache("repository_",!0))}getCompactHosts(e){return this.request({cacheKey:"hostsCompact",forceUpdate:e,executor:(t,s,r)=>{this._socket.emit("getCompactHosts",(o,M)=>{r.elapsed||(r.clearTimeout(),o&&s(o),t(M))})}})}getCompactSystemRepositories(e){return this.request({cacheKey:"repositoriesCompact",forceUpdate:e,executor:(t,s,r)=>{this._socket.emit("getCompactSystemRepositories",(o,M)=>{r.elapsed||(r.clearTimeout(),o&&s(o),t(M))})}})}}const V=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__,oe=globalThis,is="10.44.0";function tr(){return sr(oe),oe}function sr(i){const e=i.__SENTRY__=i.__SENTRY__||{};return e.version=e.version||is,e[is]=e[is]||{}}function xs(i,e,t=oe){const s=t.__SENTRY__=t.__SENTRY__||{},r=s[is]=s[is]||{};return r[i]||(r[i]=e())}const gN=["debug","info","warn","error","log","assert","trace"],TN="Sentry Logger ",Ri={};function ks(i){if(!("console"in oe))return i();const e=oe.console,t={},s=Object.keys(Ri);s.forEach(r=>{const o=Ri[r];t[r]=e[r],e[r]=o});try{return i()}finally{s.forEach(r=>{e[r]=t[r]})}}function yN(){Wo().enabled=!0}function DN(){Wo().enabled=!1}function Fa(){return Wo().enabled}function dN(...i){Po("log",...i)}function zN(...i){Po("warn",...i)}function IN(...i){Po("error",...i)}function Po(i,...e){V&&Fa()&&ks(()=>{oe.console[i](`${TN}[${i}]:`,...e)})}function Wo(){return V?xs("loggerSettings",()=>({enabled:!1})):{enabled:!1}}const G={enable:yN,disable:DN,isEnabled:Fa,log:dN,warn:zN,error:IN},Ha=50,rs="?",EM=/\(error: (.*)\)/,_M=/captureMessage|captureException/;function Va(...i){const e=i.sort((t,s)=>t[0]-s[0]).map(t=>t[1]);return(t,s=0,r=0)=>{const o=[],M=t.split(` -`);for(let a=s;a1024&&(u=u.slice(0,1024));const l=EM.test(u)?u.replace(EM,"$1"):u;if(!l.match(/\S*Error: /)){for(const N of e){const c=N(l);if(c){o.push(c);break}}if(o.length>=Ha+r)break}}return wN(o.slice(r))}}function hN(i){return Array.isArray(i)?Va(...i):i}function wN(i){if(!i.length)return[];const e=Array.from(i);return/sentryWrapped/.test(Ii(e).function||"")&&e.pop(),e.reverse(),_M.test(Ii(e).function||"")&&(e.pop(),_M.test(Ii(e).function||"")&&e.pop()),e.slice(0,Ha).map(t=>({...t,filename:t.filename||Ii(e).filename,function:t.function||rs}))}function Ii(i){return i[i.length-1]||{}}const dr="";function Bt(i){try{return!i||typeof i!="function"?dr:i.name||dr}catch{return dr}}function fM(i){const e=i.exception;if(e){const t=[];try{return e.values.forEach(s=>{s.stacktrace.frames&&t.push(...s.stacktrace.frames)}),t}catch{return}}}function Za(i){return"__v_isVNode"in i&&i.__v_isVNode?"[VueVNode]":"[VueViewModel]"}const xi={},SM={};function ns(i,e){xi[i]=xi[i]||[],xi[i].push(e)}function as(i,e){if(!SM[i]){SM[i]=!0;try{e()}catch(t){V&&G.error(`Error while instrumenting ${i}`,t)}}}function st(i,e){const t=i&&xi[i];if(t)for(const s of t)try{s(e)}catch(r){V&&G.error(`Error while triggering instrumentation handler. -Type: ${i} -Name: ${Bt(s)} -Error:`,r)}}let zr=null;function CN(i){const e="error";ns(e,i),as(e,AN)}function AN(){zr=oe.onerror,oe.onerror=function(i,e,t,s,r){return st("error",{column:s,error:r,line:t,msg:i,url:e}),zr?zr.apply(this,arguments):!1},oe.onerror.__SENTRY_INSTRUMENTED__=!0}let Ir=null;function mN(i){const e="unhandledrejection";ns(e,i),as(e,pN)}function pN(){Ir=oe.onunhandledrejection,oe.onunhandledrejection=function(i){return st("unhandledrejection",i),Ir?Ir.apply(this,arguments):!0},oe.onunhandledrejection.__SENTRY_INSTRUMENTED__=!0}const Xa=Object.prototype.toString;function ir(i){switch(Xa.call(i)){case"[object Error]":case"[object Exception]":case"[object DOMException]":case"[object WebAssembly.Exception]":return!0;default:return Gt(i,Error)}}function Ys(i,e){return Xa.call(i)===`[object ${e}]`}function Ka(i){return Ys(i,"ErrorEvent")}function xM(i){return Ys(i,"DOMError")}function ON(i){return Ys(i,"DOMException")}function At(i){return Ys(i,"String")}function Ro(i){return typeof i=="object"&&i!==null&&"__sentry_template_string__"in i&&"__sentry_template_values__"in i}function rr(i){return i===null||Ro(i)||typeof i!="object"&&typeof i!="function"}function si(i){return Ys(i,"Object")}function or(i){return typeof Event<"u"&&Gt(i,Event)}function EN(i){return typeof Element<"u"&&Gt(i,Element)}function _N(i){return Ys(i,"RegExp")}function li(i){return!!(i!=null&&i.then&&typeof i.then=="function")}function fN(i){return si(i)&&"nativeEvent"in i&&"preventDefault"in i&&"stopPropagation"in i}function Gt(i,e){try{return i instanceof e}catch{return!1}}function qa(i){return!!(typeof i=="object"&&i!==null&&(i.__isVue||i._isVue||i.__v_isVNode))}function ec(i){return typeof Request<"u"&&Gt(i,Request)}const Jo=oe,SN=80;function tc(i,e={}){if(!i)return"";try{let t=i;const s=5,r=[];let o=0,M=0;const a=" > ",u=a.length;let l;const N=Array.isArray(e)?e:e.keyAttrs,c=!Array.isArray(e)&&e.maxStringLength||SN;for(;t&&o++1&&M+r.length*u+l.length>=c));)r.push(l),M+=l.length,t=t.parentNode;return r.reverse().join(a)}catch{return""}}function xN(i,e){const t=i,s=[];if(!(t!=null&&t.tagName))return"";if(Jo.HTMLElement&&t instanceof HTMLElement&&t.dataset){if(t.dataset.sentryComponent)return t.dataset.sentryComponent;if(t.dataset.sentryElement)return t.dataset.sentryElement}s.push(t.tagName.toLowerCase());const r=e!=null&&e.length?e.filter(M=>t.getAttribute(M)).map(M=>[M,t.getAttribute(M)]):null;if(r!=null&&r.length)r.forEach(M=>{s.push(`[${M[0]}="${M[1]}"]`)});else{t.id&&s.push(`#${t.id}`);const M=t.className;if(M&&At(M)){const a=M.split(/\s+/);for(const u of a)s.push(`.${u}`)}}const o=["aria-label","type","name","title","alt"];for(const M of o){const a=t.getAttribute(M);a&&s.push(`[${M}="${a}"]`)}return s.join("")}function Bo(){try{return Jo.document.location.href}catch{return""}}function kN(i){if(!Jo.HTMLElement)return null;let e=i;const t=5;for(let s=0;s"}}function YM(i){if(typeof i=="object"&&i!==null){const e={};for(const t in i)Object.prototype.hasOwnProperty.call(i,t)&&(e[t]=i[t]);return e}else return{}}function YN(i){const e=Object.keys(ic(i));return e.sort(),e[0]?e.join(", "):"[object has no keys]"}let Ns;function Mr(i){if(Ns!==void 0)return Ns?Ns(i):i();const e=Symbol.for("__SENTRY_SAFE_RANDOM_ID_WRAPPER__"),t=oe;return e in t&&typeof t[e]=="function"?(Ns=t[e],Ns(i)):(Ns=null,i())}function Ji(){return Mr(()=>Math.random())}function nr(){return Mr(()=>Date.now())}function Hr(i,e=0){return typeof i!="string"||e===0||i.length<=e?i:`${i.slice(0,e)}...`}function QM(i,e){if(!Array.isArray(i))return"";const t=[];for(let s=0;ski(i,s,t))}function QN(){const i=oe;return i.crypto||i.msCrypto}let hr;function UN(){return Ji()*16}function Ke(i=QN()){try{if(i!=null&&i.randomUUID)return Mr(()=>i.randomUUID()).replace(/-/g,"")}catch{}return hr||(hr="10000000100040008000"+1e11),hr.replace(/[018]/g,e=>(e^(UN()&15)>>e/4).toString(16))}function rc(i){var e,t;return(t=(e=i.exception)==null?void 0:e.values)==null?void 0:t[0]}function es(i){const{message:e,event_id:t}=i;if(e)return e;const s=rc(i);return s?s.type&&s.value?`${s.type}: ${s.value}`:s.type||s.value||t||"":t||""}function Vr(i,e,t){const s=i.exception=i.exception||{},r=s.values=s.values||[],o=r[0]=r[0]||{};o.value||(o.value=e||""),o.type||(o.type="Error")}function Es(i,e){const t=rc(i);if(!t)return;const s={type:"generic",handled:!0},r=t.mechanism;if(t.mechanism={...s,...r,...e},e&&"data"in e){const o={...r==null?void 0:r.data,...e.data};t.mechanism.data=o}}function UM(i){if(vN(i))return!0;try{Ft(i,"__sentry_captured__",!0)}catch{}return!1}function vN(i){try{return i.__sentry_captured__}catch{}}const oc=1e3;function Ni(){return nr()/oc}function bN(){const{performance:i}=oe;if(!(i!=null&&i.now)||!i.timeOrigin)return Ni;const e=i.timeOrigin;return()=>(e+Mr(()=>i.now()))/oc}let vM;function mt(){return(vM??(vM=bN()))()}function $N(i){const e=mt(),t={sid:Ke(),init:!0,timestamp:e,started:e,duration:0,status:"ok",errors:0,ignoreDuration:!1,toJSON:()=>WN(t)};return i&&_s(t,i),t}function _s(i,e={}){if(e.user&&(!i.ipAddress&&e.user.ip_address&&(i.ipAddress=e.user.ip_address),!i.did&&!e.did&&(i.did=e.user.id||e.user.email||e.user.username)),i.timestamp=e.timestamp||mt(),e.abnormal_mechanism&&(i.abnormal_mechanism=e.abnormal_mechanism),e.ignoreDuration&&(i.ignoreDuration=e.ignoreDuration),e.sid&&(i.sid=e.sid.length===32?e.sid:Ke()),e.init!==void 0&&(i.init=e.init),!i.did&&e.did&&(i.did=`${e.did}`),typeof e.started=="number"&&(i.started=e.started),i.ignoreDuration)i.duration=void 0;else if(typeof e.duration=="number")i.duration=e.duration;else{const t=i.timestamp-i.started;i.duration=t>=0?t:0}e.release&&(i.release=e.release),e.environment&&(i.environment=e.environment),!i.ipAddress&&e.ipAddress&&(i.ipAddress=e.ipAddress),!i.userAgent&&e.userAgent&&(i.userAgent=e.userAgent),typeof e.errors=="number"&&(i.errors=e.errors),e.status&&(i.status=e.status)}function PN(i,e){let t={};i.status==="ok"&&(t={status:"exited"}),_s(i,t)}function WN(i){return{sid:`${i.sid}`,init:i.init,started:new Date(i.started*1e3).toISOString(),timestamp:new Date(i.timestamp*1e3).toISOString(),status:i.status,errors:i.errors,did:typeof i.did=="number"||typeof i.did=="string"?`${i.did}`:void 0,duration:i.duration,abnormal_mechanism:i.abnormal_mechanism,attrs:{release:i.release,environment:i.environment,ip_address:i.ipAddress,user_agent:i.userAgent}}}function Li(i,e,t=2){if(!e||typeof e!="object"||t<=0)return e;if(i&&Object.keys(e).length===0)return i;const s={...i};for(const r in e)Object.prototype.hasOwnProperty.call(e,r)&&(s[r]=Li(s[r],e[r],t-1));return s}function bM(){return Ke()}function Mc(){return Ke().substring(16)}const Zr="_sentrySpan";function $M(i,e){e?Ft(i,Zr,e):delete i[Zr]}function PM(i){return i[Zr]}const RN=100;class pt{constructor(){this._notifyingListeners=!1,this._scopeListeners=[],this._eventProcessors=[],this._breadcrumbs=[],this._attachments=[],this._user={},this._tags={},this._attributes={},this._extra={},this._contexts={},this._sdkProcessingMetadata={},this._propagationContext={traceId:bM(),sampleRand:Ji()}}clone(){const e=new pt;return e._breadcrumbs=[...this._breadcrumbs],e._tags={...this._tags},e._attributes={...this._attributes},e._extra={...this._extra},e._contexts={...this._contexts},this._contexts.flags&&(e._contexts.flags={values:[...this._contexts.flags.values]}),e._user=this._user,e._level=this._level,e._session=this._session,e._transactionName=this._transactionName,e._fingerprint=this._fingerprint,e._eventProcessors=[...this._eventProcessors],e._attachments=[...this._attachments],e._sdkProcessingMetadata={...this._sdkProcessingMetadata},e._propagationContext={...this._propagationContext},e._client=this._client,e._lastEventId=this._lastEventId,e._conversationId=this._conversationId,$M(e,PM(this)),e}setClient(e){this._client=e}setLastEventId(e){this._lastEventId=e}getClient(){return this._client}lastEventId(){return this._lastEventId}addScopeListener(e){this._scopeListeners.push(e)}addEventProcessor(e){return this._eventProcessors.push(e),this}setUser(e){return this._user=e||{email:void 0,id:void 0,ip_address:void 0,username:void 0},this._session&&_s(this._session,{user:e}),this._notifyScopeListeners(),this}getUser(){return this._user}setConversationId(e){return this._conversationId=e||void 0,this._notifyScopeListeners(),this}setTags(e){return this._tags={...this._tags,...e},this._notifyScopeListeners(),this}setTag(e,t){return this.setTags({[e]:t})}setAttributes(e){return this._attributes={...this._attributes,...e},this._notifyScopeListeners(),this}setAttribute(e,t){return this.setAttributes({[e]:t})}removeAttribute(e){return e in this._attributes&&(delete this._attributes[e],this._notifyScopeListeners()),this}setExtras(e){return this._extra={...this._extra,...e},this._notifyScopeListeners(),this}setExtra(e,t){return this._extra={...this._extra,[e]:t},this._notifyScopeListeners(),this}setFingerprint(e){return this._fingerprint=e,this._notifyScopeListeners(),this}setLevel(e){return this._level=e,this._notifyScopeListeners(),this}setTransactionName(e){return this._transactionName=e,this._notifyScopeListeners(),this}setContext(e,t){return t===null?delete this._contexts[e]:this._contexts[e]=t,this._notifyScopeListeners(),this}setSession(e){return e?this._session=e:delete this._session,this._notifyScopeListeners(),this}getSession(){return this._session}update(e){if(!e)return this;const t=typeof e=="function"?e(this):e,s=t instanceof pt?t.getScopeData():si(t)?e:void 0,{tags:r,attributes:o,extra:M,user:a,contexts:u,level:l,fingerprint:N=[],propagationContext:c,conversationId:L}=s||{};return this._tags={...this._tags,...r},this._attributes={...this._attributes,...o},this._extra={...this._extra,...M},this._contexts={...this._contexts,...u},a&&Object.keys(a).length&&(this._user=a),l&&(this._level=l),N.length&&(this._fingerprint=N),c&&(this._propagationContext=c),L&&(this._conversationId=L),this}clear(){return this._breadcrumbs=[],this._tags={},this._attributes={},this._extra={},this._user={},this._contexts={},this._level=void 0,this._transactionName=void 0,this._fingerprint=void 0,this._session=void 0,this._conversationId=void 0,$M(this,void 0),this._attachments=[],this.setPropagationContext({traceId:bM(),sampleRand:Ji()}),this._notifyScopeListeners(),this}addBreadcrumb(e,t){var o;const s=typeof t=="number"?t:RN;if(s<=0)return this;const r={timestamp:Ni(),...e,message:e.message?Hr(e.message,2048):e.message};return this._breadcrumbs.push(r),this._breadcrumbs.length>s&&(this._breadcrumbs=this._breadcrumbs.slice(-s),(o=this._client)==null||o.recordDroppedEvent("buffer_overflow","log_item")),this._notifyScopeListeners(),this}getLastBreadcrumb(){return this._breadcrumbs[this._breadcrumbs.length-1]}clearBreadcrumbs(){return this._breadcrumbs=[],this._notifyScopeListeners(),this}addAttachment(e){return this._attachments.push(e),this}clearAttachments(){return this._attachments=[],this}getScopeData(){return{breadcrumbs:this._breadcrumbs,attachments:this._attachments,contexts:this._contexts,tags:this._tags,attributes:this._attributes,extra:this._extra,user:this._user,level:this._level,fingerprint:this._fingerprint||[],eventProcessors:this._eventProcessors,propagationContext:this._propagationContext,sdkProcessingMetadata:this._sdkProcessingMetadata,transactionName:this._transactionName,span:PM(this),conversationId:this._conversationId}}setSDKProcessingMetadata(e){return this._sdkProcessingMetadata=Li(this._sdkProcessingMetadata,e,2),this}setPropagationContext(e){return this._propagationContext=e,this}getPropagationContext(){return this._propagationContext}captureException(e,t){const s=(t==null?void 0:t.event_id)||Ke();if(!this._client)return V&&G.warn("No client configured on scope - will not capture exception!"),s;const r=new Error("Sentry syntheticException");return this._client.captureException(e,{originalException:e,syntheticException:r,...t,event_id:s},this),s}captureMessage(e,t,s){const r=(s==null?void 0:s.event_id)||Ke();if(!this._client)return V&&G.warn("No client configured on scope - will not capture message!"),r;const o=(s==null?void 0:s.syntheticException)??new Error(e);return this._client.captureMessage(e,t,{originalException:e,syntheticException:o,...s,event_id:r},this),r}captureEvent(e,t){const s=e.event_id||(t==null?void 0:t.event_id)||Ke();return this._client?(this._client.captureEvent(e,{...t,event_id:s},this),s):(V&&G.warn("No client configured on scope - will not capture event!"),s)}_notifyScopeListeners(){this._notifyingListeners||(this._notifyingListeners=!0,this._scopeListeners.forEach(e=>{e(this)}),this._notifyingListeners=!1)}}function JN(){return xs("defaultCurrentScope",()=>new pt)}function BN(){return xs("defaultIsolationScope",()=>new pt)}class GN{constructor(e,t){let s;e?s=e:s=new pt;let r;t?r=t:r=new pt,this._stack=[{scope:s}],this._isolationScope=r}withScope(e){const t=this._pushScope();let s;try{s=e(t)}catch(r){throw this._popScope(),r}return li(s)?s.then(r=>(this._popScope(),r),r=>{throw this._popScope(),r}):(this._popScope(),s)}getClient(){return this.getStackTop().client}getScope(){return this.getStackTop().scope}getIsolationScope(){return this._isolationScope}getStackTop(){return this._stack[this._stack.length-1]}_pushScope(){const e=this.getScope().clone();return this._stack.push({client:this.getClient(),scope:e}),e}_popScope(){return this._stack.length<=1?!1:!!this._stack.pop()}}function fs(){const i=tr(),e=sr(i);return e.stack=e.stack||new GN(JN(),BN())}function FN(i){return fs().withScope(i)}function HN(i,e){const t=fs();return t.withScope(()=>(t.getStackTop().scope=i,e(i)))}function WM(i){return fs().withScope(()=>i(fs().getIsolationScope()))}function VN(){return{withIsolationScope:WM,withScope:FN,withSetScope:HN,withSetIsolationScope:(i,e)=>WM(e),getCurrentScope:()=>fs().getScope(),getIsolationScope:()=>fs().getIsolationScope()}}function Fo(i){const e=sr(i);return e.acs?e.acs:VN()}function Lt(){const i=tr();return Fo(i).getCurrentScope()}function cs(){const i=tr();return Fo(i).getIsolationScope()}function ZN(){return xs("globalScope",()=>new pt)}function XN(...i){const e=tr(),t=Fo(e);if(i.length===2){const[s,r]=i;return s?t.withSetScope(s,r):t.withScope(r)}return t.withScope(i[0])}function xe(){return Lt().getClient()}function KN(i){const e=i.getPropagationContext(),{traceId:t,parentSpanId:s,propagationSpanId:r}=e,o={trace_id:t,span_id:r||Mc()};return s&&(o.parent_span_id=s),o}const qN="sentry.source",e0="sentry.sample_rate",t0="sentry.previous_trace_sample_rate",s0="sentry.op",i0="sentry.origin",nc="sentry.profile_id",ac="sentry.exclusive_time",r0="gen_ai.conversation.id",o0=0,M0=1,n0="_sentryScope",a0="_sentryIsolationScope";function c0(i){if(i){if(typeof i=="object"&&"deref"in i&&typeof i.deref=="function")try{return i.deref()}catch{return}return i}}function cc(i){const e=i;return{scope:e[n0],isolationScope:c0(e[a0])}}const u0="sentry-",l0=/^sentry-/;function N0(i){const e=L0(i);if(!e)return;const t=Object.entries(e).reduce((s,[r,o])=>{if(r.match(l0)){const M=r.slice(u0.length);s[M]=o}return s},{});if(Object.keys(t).length>0)return t}function L0(i){if(!(!i||!At(i)&&!Array.isArray(i)))return Array.isArray(i)?i.reduce((e,t)=>{const s=RM(t);return Object.entries(s).forEach(([r,o])=>{e[r]=o}),e},{}):RM(i)}function RM(i){return i.split(",").map(e=>{const t=e.indexOf("=");if(t===-1)return[];const s=e.slice(0,t),r=e.slice(t+1);return[s,r].map(o=>{try{return decodeURIComponent(o.trim())}catch{return}})}).reduce((e,[t,s])=>(t&&s&&(e[t]=s),e),{})}const j0=/^o(\d+)\./,g0=/^(?:(\w+):)\/\/(?:(\w+)(?::(\w+)?)?@)((?:\[[:.%\w]+\]|[\w.-]+))(?::(\d+))?\/(.+)/;function T0(i){return i==="http"||i==="https"}function ji(i,e=!1){const{host:t,path:s,pass:r,port:o,projectId:M,protocol:a,publicKey:u}=i;return`${a}://${u}${e&&r?`:${r}`:""}@${t}${o?`:${o}`:""}/${s&&`${s}/`}${M}`}function y0(i){const e=g0.exec(i);if(!e){ks(()=>{console.error(`Invalid Sentry Dsn: ${i}`)});return}const[t,s,r="",o="",M="",a=""]=e.slice(1);let u="",l=a;const N=l.split("/");if(N.length>1&&(u=N.slice(0,-1).join("/"),l=N.pop()),l){const c=l.match(/^\d+/);c&&(l=c[0])}return uc({host:o,pass:r,path:u,projectId:l,port:M,protocol:t,publicKey:s})}function uc(i){return{protocol:i.protocol,publicKey:i.publicKey||"",pass:i.pass||"",host:i.host,port:i.port||"",path:i.path||"",projectId:i.projectId}}function D0(i){if(!V)return!0;const{port:e,projectId:t,protocol:s}=i;return["protocol","publicKey","host","projectId"].find(M=>i[M]?!1:(G.error(`Invalid Sentry Dsn: ${M} missing`),!0))?!1:t.match(/^\d+$/)?T0(s)?e&&isNaN(parseInt(e,10))?(G.error(`Invalid Sentry Dsn: Invalid port ${e}`),!1):!0:(G.error(`Invalid Sentry Dsn: Invalid protocol ${s}`),!1):(G.error(`Invalid Sentry Dsn: Invalid projectId ${t}`),!1)}function d0(i){const e=i.match(j0);return e==null?void 0:e[1]}function z0(i){const e=i.getOptions(),{host:t}=i.getDsn()||{};let s;return e.orgId?s=String(e.orgId):t&&(s=d0(t)),s}function I0(i){const e=typeof i=="string"?y0(i):uc(i);if(!(!e||!D0(e)))return e}function h0(i){if(typeof i=="boolean")return Number(i);const e=typeof i=="string"?parseFloat(i):i;if(!(typeof e!="number"||isNaN(e)||e<0||e>1))return e}const lc=1;let JM=!1;function w0(i){const{spanId:e,traceId:t,isRemote:s}=i.spanContext(),r=s?e:Ho(i).parent_span_id,o=cc(i).scope,M=s?(o==null?void 0:o.getPropagationContext().propagationSpanId)||Mc():e;return{parent_span_id:r,span_id:M,trace_id:t}}function C0(i){if(i&&i.length>0)return i.map(({context:{spanId:e,traceId:t,traceFlags:s,...r},attributes:o})=>({span_id:e,trace_id:t,sampled:s===lc,attributes:o,...r}))}function BM(i){return typeof i=="number"?GM(i):Array.isArray(i)?i[0]+i[1]/1e9:i instanceof Date?GM(i.getTime()):mt()}function GM(i){return i>9999999999?i/1e3:i}function Ho(i){var s;if(m0(i))return i.getSpanJSON();const{spanId:e,traceId:t}=i.spanContext();if(A0(i)){const{attributes:r,startTime:o,name:M,endTime:a,status:u,links:l}=i,N="parentSpanId"in i?i.parentSpanId:"parentSpanContext"in i?(s=i.parentSpanContext)==null?void 0:s.spanId:void 0;return{span_id:e,trace_id:t,data:r,description:M,parent_span_id:N,start_timestamp:BM(o),timestamp:BM(a)||void 0,status:O0(u),op:r[s0],origin:r[i0],links:C0(l)}}return{span_id:e,trace_id:t,start_timestamp:0,data:{}}}function A0(i){const e=i;return!!e.attributes&&!!e.startTime&&!!e.name&&!!e.endTime&&!!e.status}function m0(i){return typeof i.getSpanJSON=="function"}function p0(i){const{traceFlags:e}=i.spanContext();return e===lc}function O0(i){if(!(!i||i.code===o0))return i.code===M0?"ok":i.message||"internal_error"}const E0="_sentryRootSpan";function Nc(i){return i[E0]||i}function FM(){JM||(ks(()=>{console.warn("[Sentry] Returning null from `beforeSendSpan` is disallowed. To drop certain spans, configure the respective integrations directly or use `ignoreSpans`.")}),JM=!0)}function _0(i){var t;if(typeof __SENTRY_TRACING__=="boolean"&&!__SENTRY_TRACING__)return!1;const e=(t=xe())==null?void 0:t.getOptions();return!!e&&(e.tracesSampleRate!=null||!!e.tracesSampler)}function HM(i){G.log(`Ignoring span ${i.op} - ${i.description} because it matches \`ignoreSpans\`.`)}function VM(i,e){if(!(e!=null&&e.length)||!i.description)return!1;for(const t of e){if(S0(t)){if(ki(i.description,t))return V&&HM(i),!0;continue}if(!t.name&&!t.op)continue;const s=t.name?ki(i.description,t.name):!0,r=t.op?i.op&&ki(i.op,t.op):!0;if(s&&r)return V&&HM(i),!0}return!1}function f0(i,e){const t=e.parent_span_id,s=e.span_id;if(t)for(const r of i)r.parent_span_id===s&&(r.parent_span_id=t)}function S0(i){return typeof i=="string"||i instanceof RegExp}const Vo="production",x0="_frozenDsc";function Lc(i,e){const t=e.getOptions(),{publicKey:s}=e.getDsn()||{},r={environment:t.environment||Vo,release:t.release,public_key:s,trace_id:i,org_id:z0(e)};return e.emit("createDsc",r),r}function k0(i,e){const t=e.getPropagationContext();return t.dsc||Lc(t.traceId,i)}function Y0(i){var g;const e=xe();if(!e)return{};const t=Nc(i),s=Ho(t),r=s.data,o=t.spanContext().traceState,M=(o==null?void 0:o.get("sentry.sample_rate"))??r[e0]??r[t0];function a(y){return(typeof M=="number"||typeof M=="string")&&(y.sample_rate=`${M}`),y}const u=t[x0];if(u)return a(u);const l=o==null?void 0:o.get("sentry.dsc"),N=l&&N0(l);if(N)return a(N);const c=Lc(i.spanContext().traceId,e),L=r[qN],j=s.description;return L!=="url"&&j&&(c.transaction=j),_0()&&(c.sampled=String(p0(t)),c.sample_rand=(o==null?void 0:o.get("sentry.sample_rand"))??((g=cc(t).scope)==null?void 0:g.getPropagationContext().sampleRand.toString())),a(c),e.emit("createDsc",c,t),c}function ht(i,e=100,t=1/0){try{return Xr("",i,e,t)}catch(s){return{ERROR:`**non-serializable** (${s})`}}}function jc(i,e=3,t=100*1024){const s=ht(i,e);return b0(s)>t?jc(i,e-1,t):s}function Xr(i,e,t=1/0,s=1/0,r=$0()){const[o,M]=r;if(e==null||["boolean","string"].includes(typeof e)||typeof e=="number"&&Number.isFinite(e))return e;const a=Q0(i,e);if(!a.startsWith("[object "))return a;if(e.__sentry_skip_normalization__)return e;const u=typeof e.__sentry_override_normalization_depth__=="number"?e.__sentry_override_normalization_depth__:t;if(u===0)return a.replace("object ","");if(o(e))return"[Circular ~]";const l=e;if(l&&typeof l.toJSON=="function")try{const j=l.toJSON();return Xr("",j,u-1,s,r)}catch{}const N=Array.isArray(e)?[]:{};let c=0;const L=ic(e);for(const j in L){if(!Object.prototype.hasOwnProperty.call(L,j))continue;if(c>=s){N[j]="[MaxProperties ~]";break}const g=L[j];N[j]=Xr(j,g,u-1,s,r),c++}return M(e),N}function Q0(i,e){try{if(i==="domain"&&e&&typeof e=="object"&&e._events)return"[Domain]";if(i==="domainEmitter")return"[DomainEmitter]";if(typeof global<"u"&&e===global)return"[Global]";if(typeof window<"u"&&e===window)return"[Window]";if(typeof document<"u"&&e===document)return"[Document]";if(qa(e))return Za(e);if(fN(e))return"[SyntheticEvent]";if(typeof e=="number"&&!Number.isFinite(e))return`[${e}]`;if(typeof e=="function")return`[Function: ${Bt(e)}]`;if(typeof e=="symbol")return`[${String(e)}]`;if(typeof e=="bigint")return`[BigInt: ${String(e)}]`;const t=U0(e);return/^HTML(\w*)Element$/.test(t)?`[HTMLElement: ${t}]`:`[object ${t}]`}catch(t){return`**non-serializable** (${t})`}}function U0(i){const e=Object.getPrototypeOf(i);return e!=null&&e.constructor?e.constructor.name:"null prototype"}function v0(i){return~-encodeURI(i).split(/%..|./).length}function b0(i){return v0(JSON.stringify(i))}function $0(){const i=new WeakSet;function e(s){return i.has(s)?!0:(i.add(s),!1)}function t(s){i.delete(s)}return[e,t]}function Qs(i,e=[]){return[i,e]}function P0(i,e){const[t,s]=i;return[t,[...s,e]]}function Kr(i,e){const t=i[1];for(const s of t){const r=s[0].type;if(e(s,r))return!0}return!1}function W0(i,e){return Kr(i,(t,s)=>e.includes(s))}function qr(i){const e=sr(oe);return e.encodePolyfill?e.encodePolyfill(i):new TextEncoder().encode(i)}function R0(i){const[e,t]=i;let s=JSON.stringify(e);function r(o){typeof s=="string"?s=typeof o=="string"?s+o:[qr(s),o]:s.push(typeof o=="string"?qr(o):o)}for(const o of t){const[M,a]=o;if(r(` -${JSON.stringify(M)} -`),typeof a=="string"||a instanceof Uint8Array)r(a);else{let u;try{u=JSON.stringify(a)}catch{u=JSON.stringify(ht(a))}r(u)}}return typeof s=="string"?s:J0(s)}function J0(i){const e=i.reduce((r,o)=>r+o.length,0),t=new Uint8Array(e);let s=0;for(const r of i)t.set(r,s),s+=r.length;return t}function B0(i){const e=typeof i.data=="string"?qr(i.data):i.data;return[{type:"attachment",length:e.length,filename:i.filename,content_type:i.contentType,attachment_type:i.attachmentType},e]}const G0={session:"session",sessions:"session",attachment:"attachment",transaction:"transaction",event:"error",client_report:"internal",user_report:"default",profile:"profile",profile_chunk:"profile",replay_event:"replay",replay_recording:"replay",check_in:"monitor",feedback:"feedback",span:"span",raw_security:"security",log:"log_item",metric:"metric",trace_metric:"metric"};function ZM(i){return G0[i]}function gc(i){if(!(i!=null&&i.sdk))return;const{name:e,version:t}=i.sdk;return{name:e,version:t}}function F0(i,e,t,s){var o;const r=(o=i.sdkProcessingMetadata)==null?void 0:o.dynamicSamplingContext;return{event_id:i.event_id,sent_at:new Date().toISOString(),...e&&{sdk:e},...!!t&&s&&{dsn:ji(s)},...r&&{trace:r}}}function H0(i,e){var s,r,o,M;if(!e)return i;const t=i.sdk||{};return i.sdk={...t,name:t.name||e.name,version:t.version||e.version,integrations:[...((s=i.sdk)==null?void 0:s.integrations)||[],...e.integrations||[]],packages:[...((r=i.sdk)==null?void 0:r.packages)||[],...e.packages||[]],settings:(o=i.sdk)!=null&&o.settings||e.settings?{...(M=i.sdk)==null?void 0:M.settings,...e.settings}:void 0},i}function V0(i,e,t,s){const r=gc(t),o={sent_at:new Date().toISOString(),...r&&{sdk:r},...!!s&&e&&{dsn:ji(e)}},M="aggregates"in i?[{type:"sessions"},i]:[{type:"session"},i.toJSON()];return Qs(o,[M])}function Z0(i,e,t,s){const r=gc(t),o=i.type&&i.type!=="replay_event"?i.type:"event";H0(i,t==null?void 0:t.sdk);const M=F0(i,r,s,e);return delete i.sdkProcessingMetadata,Qs(M,[[{type:o},i]])}const wr=0,XM=1,KM=2;function gi(i){return new ii(e=>{e(i)})}function Zo(i){return new ii((e,t)=>{t(i)})}class ii{constructor(e){this._state=wr,this._handlers=[],this._runExecutor(e)}then(e,t){return new ii((s,r)=>{this._handlers.push([!1,o=>{if(!e)s(o);else try{s(e(o))}catch(M){r(M)}},o=>{if(!t)r(o);else try{s(t(o))}catch(M){r(M)}}]),this._executeHandlers()})}catch(e){return this.then(t=>t,e)}finally(e){return new ii((t,s)=>{let r,o;return this.then(M=>{o=!1,r=M,e&&e()},M=>{o=!0,r=M,e&&e()}).then(()=>{if(o){s(r);return}t(r)})})}_executeHandlers(){if(this._state===wr)return;const e=this._handlers.slice();this._handlers=[],e.forEach(t=>{t[0]||(this._state===XM&&t[1](this._value),this._state===KM&&t[2](this._value),t[0]=!0)})}_runExecutor(e){const t=(o,M)=>{if(this._state===wr){if(li(M)){M.then(s,r);return}this._state=o,this._value=M,this._executeHandlers()}},s=o=>{t(XM,o)},r=o=>{t(KM,o)};try{e(s,r)}catch(o){r(o)}}}function X0(i,e,t,s=0){try{const r=eo(e,t,i,s);return li(r)?r:gi(r)}catch(r){return Zo(r)}}function eo(i,e,t,s){const r=t[s];if(!i||!r)return i;const o=r({...i},e);return V&&o===null&&G.log(`Event processor "${r.id||"?"}" dropped event`),li(o)?o.then(M=>eo(M,e,t,s+1)):eo(o,e,t,s+1)}let gt,qM,en,Ot;function K0(i){const e=oe._sentryDebugIds,t=oe._debugIds;if(!e&&!t)return{};const s=e?Object.keys(e):[],r=t?Object.keys(t):[];if(Ot&&s.length===qM&&r.length===en)return Ot;qM=s.length,en=r.length,Ot={},gt||(gt={});const o=(M,a)=>{for(const u of M){const l=a[u],N=gt==null?void 0:gt[u];if(N&&Ot&&l)Ot[N[0]]=l,gt&&(gt[u]=[N[0],l]);else if(l){const c=i(u);for(let L=c.length-1;L>=0;L--){const j=c[L],g=j==null?void 0:j.filename;if(g&&Ot&>){Ot[g]=l,gt[u]=[g,l];break}}}}};return e&&o(s,e),t&&o(r,t),Ot}function q0(i,e){const{fingerprint:t,span:s,breadcrumbs:r,sdkProcessingMetadata:o}=e;e4(i,e),s&&i4(i,s),r4(i,t),t4(i,r),s4(i,o)}function tn(i,e){const{extra:t,tags:s,attributes:r,user:o,contexts:M,level:a,sdkProcessingMetadata:u,breadcrumbs:l,fingerprint:N,eventProcessors:c,attachments:L,propagationContext:j,transactionName:g,span:y}=e;Ws(i,"extra",t),Ws(i,"tags",s),Ws(i,"attributes",r),Ws(i,"user",o),Ws(i,"contexts",M),i.sdkProcessingMetadata=Li(i.sdkProcessingMetadata,u,2),a&&(i.level=a),g&&(i.transactionName=g),y&&(i.span=y),l.length&&(i.breadcrumbs=[...i.breadcrumbs,...l]),N.length&&(i.fingerprint=[...i.fingerprint,...N]),c.length&&(i.eventProcessors=[...i.eventProcessors,...c]),L.length&&(i.attachments=[...i.attachments,...L]),i.propagationContext={...i.propagationContext,...j}}function Ws(i,e,t){i[e]=Li(i[e],t,1)}function Tc(i,e){const t=ZN().getScopeData();return i&&tn(t,i.getScopeData()),e&&tn(t,e.getScopeData()),t}function e4(i,e){const{extra:t,tags:s,user:r,contexts:o,level:M,transactionName:a}=e;Object.keys(t).length&&(i.extra={...t,...i.extra}),Object.keys(s).length&&(i.tags={...s,...i.tags}),Object.keys(r).length&&(i.user={...r,...i.user}),Object.keys(o).length&&(i.contexts={...o,...i.contexts}),M&&(i.level=M),a&&i.type!=="transaction"&&(i.transaction=a)}function t4(i,e){const t=[...i.breadcrumbs||[],...e];i.breadcrumbs=t.length?t:void 0}function s4(i,e){i.sdkProcessingMetadata={...i.sdkProcessingMetadata,...e}}function i4(i,e){i.contexts={trace:w0(e),...i.contexts},i.sdkProcessingMetadata={dynamicSamplingContext:Y0(e),...i.sdkProcessingMetadata};const t=Nc(e),s=Ho(t).description;s&&!i.transaction&&i.type==="transaction"&&(i.transaction=s)}function r4(i,e){i.fingerprint=i.fingerprint?Array.isArray(i.fingerprint)?i.fingerprint:[i.fingerprint]:[],e&&(i.fingerprint=i.fingerprint.concat(e)),i.fingerprint.length||delete i.fingerprint}function o4(i,e,t,s,r,o){const{normalizeDepth:M=3,normalizeMaxBreadth:a=1e3}=i,u={...e,event_id:e.event_id||t.event_id||Ke(),timestamp:e.timestamp||Ni()},l=t.integrations||i.integrations.map(h=>h.name);M4(u,i),c4(u,l),r&&r.emit("applyFrameMetadata",e),e.type===void 0&&n4(u,i.stackParser);const N=l4(s,t.captureContext);t.mechanism&&Es(u,t.mechanism);const c=r?r.getEventProcessors():[],L=Tc(o,N),j=[...t.attachments||[],...L.attachments];j.length&&(t.attachments=j),q0(u,L);const g=[...c,...L.eventProcessors];return(t.data&&t.data.__sentry__===!0?gi(u):X0(g,u,t)).then(h=>(h&&a4(h),typeof M=="number"&&M>0?u4(h,M,a):h))}function M4(i,e){var a,u;const{environment:t,release:s,dist:r,maxValueLength:o}=e;i.environment=i.environment||t||Vo,!i.release&&s&&(i.release=s),!i.dist&&r&&(i.dist=r);const M=i.request;M!=null&&M.url&&o&&(M.url=Hr(M.url,o)),o&&((u=(a=i.exception)==null?void 0:a.values)==null||u.forEach(l=>{l.value&&(l.value=Hr(l.value,o))}))}function n4(i,e){var s,r;const t=K0(e);(r=(s=i.exception)==null?void 0:s.values)==null||r.forEach(o=>{var M,a;(a=(M=o.stacktrace)==null?void 0:M.frames)==null||a.forEach(u=>{u.filename&&(u.debug_id=t[u.filename])})})}function a4(i){var s,r;const e={};if((r=(s=i.exception)==null?void 0:s.values)==null||r.forEach(o=>{var M,a;(a=(M=o.stacktrace)==null?void 0:M.frames)==null||a.forEach(u=>{u.debug_id&&(u.abs_path?e[u.abs_path]=u.debug_id:u.filename&&(e[u.filename]=u.debug_id),delete u.debug_id)})}),Object.keys(e).length===0)return;i.debug_meta=i.debug_meta||{},i.debug_meta.images=i.debug_meta.images||[];const t=i.debug_meta.images;Object.entries(e).forEach(([o,M])=>{t.push({type:"sourcemap",code_file:o,debug_id:M})})}function c4(i,e){e.length>0&&(i.sdk=i.sdk||{},i.sdk.integrations=[...i.sdk.integrations||[],...e])}function u4(i,e,t){var r,o;if(!i)return null;const s={...i,...i.breadcrumbs&&{breadcrumbs:i.breadcrumbs.map(M=>({...M,...M.data&&{data:ht(M.data,e,t)}}))},...i.user&&{user:ht(i.user,e,t)},...i.contexts&&{contexts:ht(i.contexts,e,t)},...i.extra&&{extra:ht(i.extra,e,t)}};return(r=i.contexts)!=null&&r.trace&&s.contexts&&(s.contexts.trace=i.contexts.trace,i.contexts.trace.data&&(s.contexts.trace.data=ht(i.contexts.trace.data,e,t))),i.spans&&(s.spans=i.spans.map(M=>({...M,...M.data&&{data:ht(M.data,e,t)}}))),(o=i.contexts)!=null&&o.flags&&s.contexts&&(s.contexts.flags=ht(i.contexts.flags,3,t)),s}function l4(i,e){if(!e)return i;const t=i?i.clone():new pt;return t.update(e),t}function N4(i,e){return Lt().captureException(i,void 0)}function yc(i,e){return Lt().captureEvent(i,e)}function sn(i){const e=cs(),{user:t}=Tc(e,Lt()),{userAgent:s}=oe.navigator||{},r=$N({user:t,...s&&{userAgent:s},...i}),o=e.getSession();return(o==null?void 0:o.status)==="ok"&&_s(o,{status:"exited"}),Dc(),e.setSession(r),r}function Dc(){const i=cs(),t=Lt().getSession()||i.getSession();t&&PN(t),dc(),i.setSession()}function dc(){const i=cs(),e=xe(),t=i.getSession();t&&e&&e.captureSession(t)}function Cr(i=!1){if(i){Dc();return}dc()}const L4="7";function j4(i){const e=i.protocol?`${i.protocol}:`:"",t=i.port?`:${i.port}`:"";return`${e}//${i.host}${t}${i.path?`/${i.path}`:""}/api/`}function g4(i){return`${j4(i)}${i.projectId}/envelope/`}function T4(i,e){const t={sentry_version:L4};return i.publicKey&&(t.sentry_key=i.publicKey),e&&(t.sentry_client=`${e.name}/${e.version}`),new URLSearchParams(t).toString()}function y4(i,e,t){return e||`${g4(i)}?${T4(i,t)}`}const rn=[];function D4(i){const e={};return i.forEach(t=>{const{name:s}=t,r=e[s];r&&!r.isDefaultInstance&&t.isDefaultInstance||(e[s]=t)}),Object.values(e)}function d4(i){const e=i.defaultIntegrations||[],t=i.integrations;e.forEach(r=>{r.isDefaultInstance=!0});let s;if(Array.isArray(t))s=[...e,...t];else if(typeof t=="function"){const r=t(e);s=Array.isArray(r)?r:[r]}else s=e;return D4(s)}function z4(i,e){const t={};return e.forEach(s=>{s&&zc(i,s,t)}),t}function on(i,e){for(const t of e)t!=null&&t.afterAllSetup&&t.afterAllSetup(i)}function zc(i,e,t){if(t[e.name]){V&&G.log(`Integration skipped because it was already installed: ${e.name}`);return}if(t[e.name]=e,!rn.includes(e.name)&&typeof e.setupOnce=="function"&&(e.setupOnce(),rn.push(e.name)),e.setup&&typeof e.setup=="function"&&e.setup(i),typeof e.preprocessEvent=="function"){const s=e.preprocessEvent.bind(e);i.on("preprocessEvent",(r,o)=>s(r,o,i))}if(typeof e.processEvent=="function"){const s=e.processEvent.bind(e),r=Object.assign((o,M)=>s(o,M,i),{id:e.name});i.addEventProcessor(r)}V&&G.log(`Integration installed: ${e.name}`)}function I4(i){return[{type:"log",item_count:i.length,content_type:"application/vnd.sentry.items.log+json"},{items:i}]}function h4(i,e,t,s){const r={};return e!=null&&e.sdk&&(r.sdk={name:e.sdk.name,version:e.sdk.version}),t&&s&&(r.dsn=ji(s)),Qs(r,[I4(i)])}function to(i,e){const t=e??w4(i)??[];if(t.length===0)return;const s=i.getOptions(),r=h4(t,s._metadata,s.tunnel,i.getDsn());Ic().set(i,[]),i.emit("flushLogs"),i.sendEnvelope(r)}function w4(i){return Ic().get(i)}function Ic(){return xs("clientToLogBufferMap",()=>new WeakMap)}function C4(i){return[{type:"trace_metric",item_count:i.length,content_type:"application/vnd.sentry.items.trace-metric+json"},{items:i}]}function A4(i,e,t,s){const r={};return e!=null&&e.sdk&&(r.sdk={name:e.sdk.name,version:e.sdk.version}),t&&s&&(r.dsn=ji(s)),Qs(r,[C4(i)])}function hc(i,e){const t=e??m4(i)??[];if(t.length===0)return;const s=i.getOptions(),r=A4(t,s._metadata,s.tunnel,i.getDsn());wc().set(i,[]),i.emit("flushMetrics"),i.sendEnvelope(r)}function m4(i){return wc().get(i)}function wc(){return xs("clientToMetricBufferMap",()=>new WeakMap)}function Cc(i){return typeof i=="object"&&typeof i.unref=="function"&&i.unref(),i}const Xo=Symbol.for("SentryBufferFullError");function Ko(i=100){const e=new Set;function t(){return e.sizes(a),()=>s(a)),a}function o(M){if(!e.size)return gi(!0);const a=Promise.allSettled(Array.from(e)).then(()=>!0);if(!M)return a;const u=[a,new Promise(l=>Cc(setTimeout(()=>l(!1),M)))];return Promise.race(u)}return{get $(){return Array.from(e)},add:r,drain:o}}const p4=60*1e3;function O4(i,e=nr()){const t=parseInt(`${i}`,10);if(!isNaN(t))return t*1e3;const s=Date.parse(`${i}`);return isNaN(s)?p4:s-e}function E4(i,e){return i[e]||i.all||0}function _4(i,e,t=nr()){return E4(i,e)>t}function f4(i,{statusCode:e,headers:t},s=nr()){const r={...i},o=t==null?void 0:t["x-sentry-rate-limits"],M=t==null?void 0:t["retry-after"];if(o)for(const a of o.trim().split(",")){const[u,l,,,N]=a.split(":",5),c=parseInt(u,10),L=(isNaN(c)?60:c)*1e3;if(!l)r.all=s+L;else for(const j of l.split(";"))j==="metric_bucket"?(!N||N.split(";").includes("custom"))&&(r[j]=s+L):r[j]=s+L}else M?r.all=s+O4(M,s):e===429&&(r.all=s+60*1e3);return r}const Ac=64;function S4(i,e,t=Ko(i.bufferSize||Ac)){let s={};const r=M=>t.drain(M);function o(M){const a=[];if(Kr(M,(c,L)=>{const j=ZM(L);_4(s,j)?i.recordDroppedEvent("ratelimit_backoff",j):a.push(c)}),a.length===0)return Promise.resolve({});const u=Qs(M[0],a),l=c=>{if(W0(u,["client_report"])){V&&G.warn(`Dropping client report. Will not send outcomes (reason: ${c}).`);return}Kr(u,(L,j)=>{i.recordDroppedEvent(c,ZM(j))})},N=()=>e({body:R0(u)}).then(c=>c.statusCode===413?(V&&G.error("Sentry responded with status code 413. Envelope was discarded due to exceeding size limits."),l("send_error"),c):(V&&c.statusCode!==void 0&&(c.statusCode<200||c.statusCode>=300)&&G.warn(`Sentry responded with status code ${c.statusCode} to sent event.`),s=f4(s,c),c),c=>{throw l("network_error"),V&&G.error("Encountered error running transport request:",c),c});return t.add(N).then(c=>c,c=>{if(c===Xo)return V&&G.error("Skipped sending event because buffer is full."),l("queue_overflow"),Promise.resolve({});throw c})}return{send:o,flush:r}}function x4(i,e,t){const s=[{type:"client_report"},{timestamp:Ni(),discarded_events:i}];return Qs(e?{dsn:e}:{},[s])}function mc(i){const e=[];i.message&&e.push(i.message);try{const t=i.exception.values[i.exception.values.length-1];t!=null&&t.value&&(e.push(t.value),t.type&&e.push(`${t.type}: ${t.value}`))}catch{}return e}function k4(i){var u;const{trace_id:e,parent_span_id:t,span_id:s,status:r,origin:o,data:M,op:a}=((u=i.contexts)==null?void 0:u.trace)??{};return{data:M??{},description:i.transaction,op:a,parent_span_id:t,span_id:s??"",start_timestamp:i.start_timestamp??0,status:r,timestamp:i.timestamp,trace_id:e??"",origin:o,profile_id:M==null?void 0:M[nc],exclusive_time:M==null?void 0:M[ac],measurements:i.measurements,is_segment:!0}}function Y4(i){return{type:"transaction",timestamp:i.timestamp,start_timestamp:i.start_timestamp,transaction:i.description,contexts:{trace:{trace_id:i.trace_id,span_id:i.span_id,parent_span_id:i.parent_span_id,op:i.op,status:i.status,origin:i.origin,data:{...i.data,...i.profile_id&&{[nc]:i.profile_id},...i.exclusive_time&&{[ac]:i.exclusive_time}}}},measurements:i.measurements}}const Mn="Not capturing exception because it's already been captured.",nn="Discarded session because of missing or non-string release",pc=Symbol.for("SentryInternalError"),Oc=Symbol.for("SentryDoNotSendEventError"),Q4=5e3;function Yi(i){return{message:i,[pc]:!0}}function Ar(i){return{message:i,[Oc]:!0}}function an(i){return!!i&&typeof i=="object"&&pc in i}function cn(i){return!!i&&typeof i=="object"&&Oc in i}function un(i,e,t,s,r){let o=0,M,a=!1;i.on(t,()=>{o=0,clearTimeout(M),a=!1}),i.on(e,u=>{o+=s(u),o>=8e5?r(i):a||(a=!0,M=Cc(setTimeout(()=>{r(i)},Q4)))}),i.on("flush",()=>{r(i)})}class U4{constructor(e){var s,r,o;if(this._options=e,this._integrations={},this._numProcessing=0,this._outcomes={},this._hooks={},this._eventProcessors=[],this._promiseBuffer=Ko(((s=e.transportOptions)==null?void 0:s.bufferSize)??Ac),e.dsn?this._dsn=I0(e.dsn):V&&G.warn("No DSN provided, client will not send events."),this._dsn){const M=y4(this._dsn,e.tunnel,e._metadata?e._metadata.sdk:void 0);this._transport=e.transport({tunnel:this._options.tunnel,recordDroppedEvent:this.recordDroppedEvent.bind(this),...e.transportOptions,url:M})}this._options.enableLogs=this._options.enableLogs??((r=this._options._experiments)==null?void 0:r.enableLogs),this._options.enableLogs&&un(this,"afterCaptureLog","flushLogs",P4,to),(this._options.enableMetrics??((o=this._options._experiments)==null?void 0:o.enableMetrics)??!0)&&un(this,"afterCaptureMetric","flushMetrics",$4,hc)}captureException(e,t,s){const r=Ke();if(UM(e))return V&&G.log(Mn),r;const o={event_id:r,...t};return this._process(()=>this.eventFromException(e,o).then(M=>this._captureEvent(M,o,s)).then(M=>M),"error"),o.event_id}captureMessage(e,t,s,r){const o={event_id:Ke(),...s},M=Ro(e)?e:String(e),a=rr(e),u=a?this.eventFromMessage(M,t,o):this.eventFromException(e,o);return this._process(()=>u.then(l=>this._captureEvent(l,o,r)),a?"unknown":"error"),o.event_id}captureEvent(e,t,s){const r=Ke();if(t!=null&&t.originalException&&UM(t.originalException))return V&&G.log(Mn),r;const o={event_id:r,...t},M=e.sdkProcessingMetadata||{},a=M.capturedSpanScope,u=M.capturedSpanIsolationScope,l=ln(e.type);return this._process(()=>this._captureEvent(e,o,a||s,u),l),o.event_id}captureSession(e){this.sendSession(e),_s(e,{init:!1})}getDsn(){return this._dsn}getOptions(){return this._options}getSdkMetadata(){return this._options._metadata}getTransport(){return this._transport}async flush(e){const t=this._transport;if(!t)return!0;this.emit("flush");const s=await this._isClientDoneProcessing(e),r=await t.flush(e);return s&&r}async close(e){to(this);const t=await this.flush(e);return this.getOptions().enabled=!1,this.emit("close"),t}getEventProcessors(){return this._eventProcessors}addEventProcessor(e){this._eventProcessors.push(e)}init(){(this._isEnabled()||this._options.integrations.some(({name:e})=>e.startsWith("Spotlight")))&&this._setupIntegrations()}getIntegrationByName(e){return this._integrations[e]}addIntegration(e){const t=this._integrations[e.name];zc(this,e,this._integrations),t||on(this,[e])}sendEvent(e,t={}){this.emit("beforeSendEvent",e,t);let s=Z0(e,this._dsn,this._options._metadata,this._options.tunnel);for(const r of t.attachments||[])s=P0(s,B0(r));this.sendEnvelope(s).then(r=>this.emit("afterSendEvent",e,r))}sendSession(e){const{release:t,environment:s=Vo}=this._options;if("aggregates"in e){const o=e.attrs||{};if(!o.release&&!t){V&&G.warn(nn);return}o.release=o.release||t,o.environment=o.environment||s,e.attrs=o}else{if(!e.release&&!t){V&&G.warn(nn);return}e.release=e.release||t,e.environment=e.environment||s}this.emit("beforeSendSession",e);const r=V0(e,this._dsn,this._options._metadata,this._options.tunnel);this.sendEnvelope(r)}recordDroppedEvent(e,t,s=1){if(this._options.sendClientReports){const r=`${e}:${t}`;V&&G.log(`Recording outcome: "${r}"${s>1?` (${s} times)`:""}`),this._outcomes[r]=(this._outcomes[r]||0)+s}}on(e,t){const s=this._hooks[e]=this._hooks[e]||new Set,r=(...o)=>t(...o);return s.add(r),()=>{s.delete(r)}}emit(e,...t){const s=this._hooks[e];s&&s.forEach(r=>r(...t))}async sendEnvelope(e){if(this.emit("beforeEnvelope",e),this._isEnabled()&&this._transport)try{return await this._transport.send(e)}catch(t){return V&&G.error("Error while sending envelope:",t),{}}return V&&G.error("Transport disabled"),{}}dispose(){}_setupIntegrations(){const{integrations:e}=this._options;this._integrations=z4(this,e),on(this,e)}_updateSessionFromEvent(e,t){var u,l;let s=t.level==="fatal",r=!1;const o=(u=t.exception)==null?void 0:u.values;if(o){r=!0,s=!1;for(const N of o)if(((l=N.mechanism)==null?void 0:l.handled)===!1){s=!0;break}}const M=e.status==="ok";(M&&e.errors===0||M&&s)&&(_s(e,{...s&&{status:"crashed"},errors:e.errors||Number(r||s)}),this.captureSession(e))}async _isClientDoneProcessing(e){let t=0;for(;!e||tsetTimeout(s,1)),!this._numProcessing)return!0;t++}return!1}_isEnabled(){return this.getOptions().enabled!==!1&&this._transport!==void 0}_prepareEvent(e,t,s,r){const o=this.getOptions(),M=Object.keys(this._integrations);return!t.integrations&&(M!=null&&M.length)&&(t.integrations=M),this.emit("preprocessEvent",e,t),e.type||r.setLastEventId(e.event_id||t.event_id),o4(o,e,t,s,this,r).then(a=>{var l;if(a===null)return a;this.emit("postprocessEvent",a,t),a.contexts={trace:{...(l=a.contexts)==null?void 0:l.trace,...KN(s)},...a.contexts};const u=k0(this,s);return a.sdkProcessingMetadata={dynamicSamplingContext:u,...a.sdkProcessingMetadata},a})}_captureEvent(e,t={},s=Lt(),r=cs()){return V&&so(e)&&G.log(`Captured error event \`${mc(e)[0]||""}\``),this._processEvent(e,t,s,r).then(o=>o.event_id,o=>{V&&(cn(o)?G.log(o.message):an(o)?G.warn(o.message):G.warn(o))})}_processEvent(e,t,s,r){const o=this.getOptions(),{sampleRate:M}=o,a=Ec(e),u=so(e),N=`before send for type \`${e.type||"error"}\``,c=typeof M>"u"?void 0:h0(M);if(u&&typeof c=="number"&&Ji()>c)return this.recordDroppedEvent("sample_rate","error"),Zo(Ar(`Discarding event because it's not included in the random sample (sampling rate = ${M})`));const L=ln(e.type);return this._prepareEvent(e,t,s,r).then(j=>{var d;if(j===null)throw this.recordDroppedEvent("event_processor",L),Ar("An event processor returned `null`, will not send event.");if(((d=t.data)==null?void 0:d.__sentry__)===!0)return j;const y=b4(this,o,j,t);return v4(y,N)}).then(j=>{var d;if(j===null){if(this.recordDroppedEvent("before_send",L),a){const m=1+(e.spans||[]).length;this.recordDroppedEvent("before_send","span",m)}throw Ar(`${N} returned \`null\`, will not send event.`)}const g=s.getSession()||r.getSession();if(u&&g&&this._updateSessionFromEvent(g,j),a){const h=((d=j.sdkProcessingMetadata)==null?void 0:d.spanCountBeforeProcessing)||0,m=j.spans?j.spans.length:0,w=h-m;w>0&&this.recordDroppedEvent("before_send","span",w)}const y=j.transaction_info;if(a&&y&&j.transaction!==e.transaction){const h="custom";j.transaction_info={...y,source:h}}return this.sendEvent(j,t),j}).then(null,j=>{throw cn(j)||an(j)?j:(this.captureException(j,{mechanism:{handled:!1,type:"internal"},data:{__sentry__:!0},originalException:j}),Yi(`Event processing pipeline threw an error, original event will not be sent. Details have been sent as a new event. -Reason: ${j}`))})}_process(e,t){this._numProcessing++,this._promiseBuffer.add(e).then(s=>(this._numProcessing--,s),s=>(this._numProcessing--,s===Xo&&this.recordDroppedEvent("queue_overflow",t),s))}_clearOutcomes(){const e=this._outcomes;return this._outcomes={},Object.entries(e).map(([t,s])=>{const[r,o]=t.split(":");return{reason:r,category:o,quantity:s}})}_flushOutcomes(){V&&G.log("Flushing outcomes...");const e=this._clearOutcomes();if(e.length===0){V&&G.log("No outcomes to send");return}if(!this._dsn){V&&G.log("No dsn provided, will not send outcomes");return}V&&G.log("Sending outcomes:",e);const t=x4(e,this._options.tunnel&&ji(this._dsn));this.sendEnvelope(t)}}function ln(i){return i==="replay_event"?"replay":i||"error"}function v4(i,e){const t=`${e} must return \`null\` or a valid event.`;if(li(i))return i.then(s=>{if(!si(s)&&s!==null)throw Yi(t);return s},s=>{throw Yi(`${e} rejected with ${s}`)});if(!si(i)&&i!==null)throw Yi(t);return i}function b4(i,e,t,s){const{beforeSend:r,beforeSendTransaction:o,beforeSendSpan:M,ignoreSpans:a}=e;let u=t;if(so(u)&&r)return r(u,s);if(Ec(u)){if(M||a){const l=k4(u);if(a!=null&&a.length&&VM(l,a))return null;if(M){const N=M(l);N?u=Li(t,Y4(N)):FM()}if(u.spans){const N=[],c=u.spans;for(const j of c){if(a!=null&&a.length&&VM(j,a)){f0(c,j);continue}if(M){const g=M(j);g?N.push(g):(FM(),N.push(j))}else N.push(j)}const L=u.spans.length-N.length;L&&i.recordDroppedEvent("before_send","span",L),u.spans=N}}if(o){if(u.spans){const l=u.spans.length;u.sdkProcessingMetadata={...t.sdkProcessingMetadata,spanCountBeforeProcessing:l}}return o(u,s)}}return u}function so(i){return i.type===void 0}function Ec(i){return i.type==="transaction"}function $4(i){let e=0;return i.name&&(e+=i.name.length*2),e+=8,e+_c(i.attributes)}function P4(i){let e=0;return i.message&&(e+=i.message.length*2),e+_c(i.attributes)}function _c(i){if(!i)return 0;let e=0;return Object.values(i).forEach(t=>{Array.isArray(t)?e+=t.length*Nn(t[0]):rr(t)?e+=Nn(t):e+=100}),e}function Nn(i){return typeof i=="string"?i.length*2:typeof i=="number"?8:typeof i=="boolean"?4:0}function W4(i){return ir(i)&&"__sentry_fetch_url_host__"in i&&typeof i.__sentry_fetch_url_host__=="string"}function Ln(i){return W4(i)?`${i.message} (${i.__sentry_fetch_url_host__})`:i.message}function R4(i,e){e.debug===!0&&(V?G.enable():ks(()=>{console.warn("[Sentry] Cannot initialize SDK with `debug` option using a non-debug bundle.")})),Lt().update(e.initialScope);const s=new i(e);return J4(s),s.init(),s}function J4(i){Lt().setClient(i)}function mr(i){if(!i)return{};const e=i.match(/^(([^:/?#]+):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/);if(!e)return{};const t=e[6]||"",s=e[8]||"";return{host:e[4],path:e[5],protocol:e[2],search:t,hash:s,relative:e[5]+t+s}}function B4(i,e=!0){if(i.startsWith("data:")){const t=i.match(/^data:([^;,]+)/),s=t?t[1]:"text/plain",r=i.includes(";base64,"),o=i.indexOf(",");let M="";if(e&&o!==-1){const a=i.slice(o+1);M=a.length>10?`${a.slice(0,10)}... [truncated]`:a}return`data:${s}${r?",base64":""}${M?`,${M}`:""}`}return i}function G4(i){var e;"aggregates"in i?((e=i.attrs)==null?void 0:e.ip_address)===void 0&&(i.attrs={...i.attrs,ip_address:"{{auto}}"}):i.ipAddress===void 0&&(i.ipAddress="{{auto}}")}function F4(i,e,t=[e],s="npm"){const r=(i._metadata=i._metadata||{}).sdk=i._metadata.sdk||{};r.name||(r.name=`sentry.javascript.${e}`,r.packages=t.map(o=>({name:`${s}:@sentry/${o}`,version:is})),r.version=is)}const H4=100;function os(i,e){const t=xe(),s=cs();if(!t)return;const{beforeBreadcrumb:r=null,maxBreadcrumbs:o=H4}=t.getOptions();if(o<=0)return;const a={timestamp:Ni(),...i},u=r?ks(()=>r(a,e)):a;u!==null&&(t.emit&&t.emit("beforeAddBreadcrumb",u,e),s.addBreadcrumb(u,o))}let jn;const V4="FunctionToString",gn=new WeakMap,Z4=(()=>({name:V4,setupOnce(){jn=Function.prototype.toString;try{Function.prototype.toString=function(...i){const e=Go(this),t=gn.has(xe())&&e!==void 0?e:this;return jn.apply(t,i)}}catch{}},setup(i){gn.set(i,!0)}})),X4=Z4,K4=[/^Script error\.?$/,/^Javascript error: Script error\.? on line 0$/,/^ResizeObserver loop completed with undelivered notifications.$/,/^Cannot redefine property: googletag$/,/^Can't find variable: gmo$/,/^undefined is not an object \(evaluating 'a\.[A-Z]'\)$/,`can't redefine non-configurable property "solana"`,"vv().getRestrictions is not a function. (In 'vv().getRestrictions(1,a)', 'vv().getRestrictions' is undefined)","Can't find variable: _AutofillCallbackHandler",/^Non-Error promise rejection captured with value: Object Not Found Matching Id:\d+, MethodName:simulateEvent, ParamCount:\d+$/,/^Java exception was raised during method invocation$/],q4="EventFilters",eL=(i={})=>{let e;return{name:q4,setup(t){const s=t.getOptions();e=Tn(i,s)},processEvent(t,s,r){if(!e){const o=r.getOptions();e=Tn(i,o)}return sL(t,e)?null:t}}},tL=((i={})=>({...eL(i),name:"InboundFilters"}));function Tn(i={},e={}){return{allowUrls:[...i.allowUrls||[],...e.allowUrls||[]],denyUrls:[...i.denyUrls||[],...e.denyUrls||[]],ignoreErrors:[...i.ignoreErrors||[],...e.ignoreErrors||[],...i.disableErrorDefaults?[]:K4],ignoreTransactions:[...i.ignoreTransactions||[],...e.ignoreTransactions||[]]}}function sL(i,e){if(i.type){if(i.type==="transaction"&&rL(i,e.ignoreTransactions))return V&&G.warn(`Event dropped due to being matched by \`ignoreTransactions\` option. -Event: ${es(i)}`),!0}else{if(iL(i,e.ignoreErrors))return V&&G.warn(`Event dropped due to being matched by \`ignoreErrors\` option. -Event: ${es(i)}`),!0;if(aL(i))return V&&G.warn(`Event dropped due to not having an error message, error type or stacktrace. -Event: ${es(i)}`),!0;if(oL(i,e.denyUrls))return V&&G.warn(`Event dropped due to being matched by \`denyUrls\` option. -Event: ${es(i)}. -Url: ${Bi(i)}`),!0;if(!ML(i,e.allowUrls))return V&&G.warn(`Event dropped due to not being matched by \`allowUrls\` option. -Event: ${es(i)}. -Url: ${Bi(i)}`),!0}return!1}function iL(i,e){return e!=null&&e.length?mc(i).some(t=>ar(t,e)):!1}function rL(i,e){if(!(e!=null&&e.length))return!1;const t=i.transaction;return t?ar(t,e):!1}function oL(i,e){if(!(e!=null&&e.length))return!1;const t=Bi(i);return t?ar(t,e):!1}function ML(i,e){if(!(e!=null&&e.length))return!0;const t=Bi(i);return t?ar(t,e):!0}function nL(i=[]){for(let e=i.length-1;e>=0;e--){const t=i[e];if(t&&t.filename!==""&&t.filename!=="[native code]")return t.filename||null}return null}function Bi(i){var e,t;try{const s=[...((e=i.exception)==null?void 0:e.values)??[]].reverse().find(o=>{var M,a,u;return((M=o.mechanism)==null?void 0:M.parent_id)===void 0&&((u=(a=o.stacktrace)==null?void 0:a.frames)==null?void 0:u.length)}),r=(t=s==null?void 0:s.stacktrace)==null?void 0:t.frames;return r?nL(r):null}catch{return V&&G.error(`Cannot extract url for event ${es(i)}`),null}}function aL(i){var e,t;return(t=(e=i.exception)==null?void 0:e.values)!=null&&t.length?!i.message&&!i.exception.values.some(s=>s.stacktrace||s.type&&s.type!=="Error"||s.value):!1}function cL(i,e,t,s,r,o){var a;if(!((a=r.exception)!=null&&a.values)||!o||!Gt(o.originalException,Error))return;const M=r.exception.values.length>0?r.exception.values[r.exception.values.length-1]:void 0;M&&(r.exception.values=io(i,e,s,o.originalException,t,r.exception.values,M,0))}function io(i,e,t,s,r,o,M,a){if(o.length>=t+1)return o;let u=[...o];if(Gt(s[r],Error)){yn(M,a,s);const l=i(e,s[r]),N=u.length;Dn(l,r,N,a),u=io(i,e,t,s[r],r,[l,...u],l,N)}return fc(s)&&s.errors.forEach((l,N)=>{if(Gt(l,Error)){yn(M,a,s);const c=i(e,l),L=u.length;Dn(c,`errors[${N}]`,L,a),u=io(i,e,t,l,r,[c,...u],c,L)}}),u}function fc(i){return Array.isArray(i.errors)}function yn(i,e,t){i.mechanism={handled:!0,type:"auto.core.linked_errors",...fc(t)&&{is_exception_group:!0},...i.mechanism,exception_id:e}}function Dn(i,e,t,s){i.mechanism={handled:!0,...i.mechanism,type:"chained",source:e,exception_id:t,parent_id:s}}function uL(i){const e="console";ns(e,i),as(e,lL)}function lL(){"console"in oe&&gN.forEach(function(i){i in oe.console&&Ge(oe.console,i,function(e){return Ri[i]=e,function(...t){st("console",{args:t,level:i});const r=Ri[i];r==null||r.apply(oe.console,t)}})})}function NL(i){return i==="warn"?"warning":["fatal","error","warning","log","info","debug"].includes(i)?i:"log"}const LL="Dedupe",jL=(()=>{let i;return{name:LL,processEvent(e){if(e.type)return e;try{if(gL(e,i))return V&&G.warn("Event dropped due to being a duplicate of previously captured event."),null}catch{}return i=e}}}),Sc=jL;function gL(i,e){return e?!!(TL(i,e)||yL(i,e)):!1}function TL(i,e){const t=i.message,s=e.message;return!(!t&&!s||t&&!s||!t&&s||t!==s||!kc(i,e)||!xc(i,e))}function yL(i,e){const t=dn(e),s=dn(i);return!(!t||!s||t.type!==s.type||t.value!==s.value||!kc(i,e)||!xc(i,e))}function xc(i,e){let t=fM(i),s=fM(e);if(!t&&!s)return!0;if(t&&!s||!t&&s||(t=t,s=s,s.length!==t.length))return!1;for(let r=0;r({name:DL,setup(i){i.on("spanStart",e=>{const t=Lt().getScopeData(),s=cs().getScopeData(),r=t.conversationId||s.conversationId;r&&e.setAttribute(r0,r)})}})),zL=dL;function Yc(i){if(i!==void 0)return i>=400&&i<500?"warning":i>=500?"error":void 0}const ri=oe;function IL(){return"history"in ri&&!!ri.history}function hL(){if(!("fetch"in ri))return!1;try{return new Headers,new Request("data:,"),new Response,!0}catch{return!1}}function ro(i){return i&&/^function\s+\w+\(\)\s+\{\s+\[native code\]\s+\}$/.test(i.toString())}function wL(){var t;if(typeof EdgeRuntime=="string")return!0;if(!hL())return!1;if(ro(ri.fetch))return!0;let i=!1;const e=ri.document;if(e&&typeof e.createElement=="function")try{const s=e.createElement("iframe");s.hidden=!0,e.head.appendChild(s),(t=s.contentWindow)!=null&&t.fetch&&(i=ro(s.contentWindow.fetch)),e.head.removeChild(s)}catch(s){V&&G.warn("Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ",s)}return i}function CL(i,e){const t="fetch";ns(t,i),as(t,()=>AL(void 0,e))}function AL(i,e=!1){e&&!wL()||Ge(oe,"fetch",function(t){return function(...s){const r=new Error,{method:o,url:M}=mL(s),a={args:s,fetchData:{method:o,url:M},startTimestamp:mt()*1e3,virtualError:r,headers:pL(s)};return st("fetch",{...a}),t.apply(oe,s).then(async u=>(st("fetch",{...a,endTimestamp:mt()*1e3,response:u}),u),u=>{st("fetch",{...a,endTimestamp:mt()*1e3,error:u}),ir(u)&&u.stack===void 0&&(u.stack=r.stack,Ft(u,"framesToPop",1));const l=xe(),N=(l==null?void 0:l.getOptions().enhanceFetchErrorMessages)??"always";if(N!==!1&&u instanceof TypeError&&(u.message==="Failed to fetch"||u.message==="Load failed"||u.message==="NetworkError when attempting to fetch resource."))try{const j=new URL(a.fetchData.url).host;N==="always"?u.message=`${u.message} (${j})`:Ft(u,"__sentry_fetch_url_host__",j)}catch{}throw u})}})}function Qi(i,e){return!!i&&typeof i=="object"&&!!i[e]}function zn(i){return typeof i=="string"?i:i?Qi(i,"url")?i.url:i.toString?i.toString():"":""}function mL(i){if(i.length===0)return{method:"GET",url:""};if(i.length===2){const[t,s]=i;return{url:zn(t),method:Qi(s,"method")?String(s.method).toUpperCase():ec(t)&&Qi(t,"method")?String(t.method).toUpperCase():"GET"}}const e=i[0];return{url:zn(e),method:Qi(e,"method")?String(e.method).toUpperCase():"GET"}}function pL(i){const[e,t]=i;try{if(typeof t=="object"&&t!==null&&"headers"in t&&t.headers)return new Headers(t.headers);if(ec(e))return new Headers(e.headers)}catch{}}function OL(){return"npm"}const Ne=oe;let oo=0;function Qc(){return oo>0}function EL(){oo++,setTimeout(()=>{oo--})}function Ss(i,e={}){function t(r){return typeof r=="function"}if(!t(i))return i;try{const r=i.__sentry_wrapped__;if(r)return typeof r=="function"?r:i;if(Go(i))return i}catch{return i}const s=function(...r){try{const o=r.map(M=>Ss(M,e));return i.apply(this,o)}catch(o){throw EL(),XN(M=>{M.addEventProcessor(a=>(e.mechanism&&(Vr(a,void 0),Es(a,e.mechanism)),a.extra={...a.extra,arguments:r},a)),N4(o)}),o}};try{for(const r in i)Object.prototype.hasOwnProperty.call(i,r)&&(s[r]=i[r])}catch{}sc(s,i),Ft(i,"__sentry_wrapped__",s);try{Object.getOwnPropertyDescriptor(s,"name").configurable&&Object.defineProperty(s,"name",{get(){return i.name}})}catch{}return s}function _L(){const i=Bo(),{referrer:e}=Ne.document||{},{userAgent:t}=Ne.navigator||{},s={...e&&{Referer:e},...t&&{"User-Agent":t}};return{url:i,headers:s}}function qo(i,e){const t=eM(i,e),s={type:YL(e),value:QL(e)};return t.length&&(s.stacktrace={frames:t}),s.type===void 0&&s.value===""&&(s.value="Unrecoverable error caught"),s}function fL(i,e,t,s){const r=xe(),o=r==null?void 0:r.getOptions().normalizeDepth,M=PL(e),a={__serialized__:jc(e,o)};if(M)return{exception:{values:[qo(i,M)]},extra:a};const u={exception:{values:[{type:or(e)?e.constructor.name:s?"UnhandledRejection":"Error",value:bL(e,{isUnhandledRejection:s})}]},extra:a};if(t){const l=eM(i,t);l.length&&(u.exception.values[0].stacktrace={frames:l})}return u}function pr(i,e){return{exception:{values:[qo(i,e)]}}}function eM(i,e){const t=e.stacktrace||e.stack||"",s=xL(e),r=kL(e);try{return i(t,s,r)}catch{}return[]}const SL=/Minified React error #\d+;/i;function xL(i){return i&&SL.test(i.message)?1:0}function kL(i){return typeof i.framesToPop=="number"?i.framesToPop:0}function Uc(i){return typeof WebAssembly<"u"&&typeof WebAssembly.Exception<"u"?i instanceof WebAssembly.Exception:!1}function YL(i){const e=i==null?void 0:i.name;return!e&&Uc(i)?i.message&&Array.isArray(i.message)&&i.message.length==2?i.message[0]:"WebAssembly.Exception":e}function QL(i){const e=i==null?void 0:i.message;return Uc(i)?Array.isArray(i.message)&&i.message.length==2?i.message[1]:"wasm exception":e?e.error&&typeof e.error.message=="string"?Ln(e.error):Ln(i):"No error message"}function UL(i,e,t,s){const r=(t==null?void 0:t.syntheticException)||void 0,o=tM(i,e,r,s);return Es(o),o.level="error",t!=null&&t.event_id&&(o.event_id=t.event_id),gi(o)}function vL(i,e,t="info",s,r){const o=(s==null?void 0:s.syntheticException)||void 0,M=Mo(i,e,o,r);return M.level=t,s!=null&&s.event_id&&(M.event_id=s.event_id),gi(M)}function tM(i,e,t,s,r){let o;if(Ka(e)&&e.error)return pr(i,e.error);if(xM(e)||ON(e)){const M=e;if("stack"in e)o=pr(i,e);else{const a=M.name||(xM(M)?"DOMError":"DOMException"),u=M.message?`${a}: ${M.message}`:a;o=Mo(i,u,t,s),Vr(o,u)}return"code"in M&&(o.tags={...o.tags,"DOMException.code":`${M.code}`}),o}return ir(e)?pr(i,e):si(e)||or(e)?(o=fL(i,e,t,r),Es(o,{synthetic:!0}),o):(o=Mo(i,e,t,s),Vr(o,`${e}`),Es(o,{synthetic:!0}),o)}function Mo(i,e,t,s){const r={};if(s&&t){const o=eM(i,t);o.length&&(r.exception={values:[{value:e,stacktrace:{frames:o}}]}),Es(r,{synthetic:!0})}if(Ro(e)){const{__sentry_template_string__:o,__sentry_template_values__:M}=e;return r.logentry={message:o,params:M},r}return r.message=e,r}function bL(i,{isUnhandledRejection:e}){const t=YN(i),s=e?"promise rejection":"exception";return Ka(i)?`Event \`ErrorEvent\` captured as ${s} with message \`${i.message}\``:or(i)?`Event \`${$L(i)}\` (type=${i.type}) captured as ${s}`:`Object captured as ${s} with keys: ${t}`}function $L(i){try{const e=Object.getPrototypeOf(i);return e?e.constructor.name:void 0}catch{}}function PL(i){for(const e in i)if(Object.prototype.hasOwnProperty.call(i,e)){const t=i[e];if(t instanceof Error)return t}}class WL extends U4{constructor(e){var N;const t=RL(e),s=Ne.SENTRY_SDK_SOURCE||OL();F4(t,"browser",["browser"],s),(N=t._metadata)!=null&&N.sdk&&(t._metadata.sdk.settings={infer_ip:t.sendDefaultPii?"auto":"never",...t._metadata.sdk.settings}),super(t);const{sendDefaultPii:r,sendClientReports:o,enableLogs:M,_experiments:a,enableMetrics:u}=this._options,l=u??(a==null?void 0:a.enableMetrics)??!0;Ne.document&&(o||M||l)&&Ne.document.addEventListener("visibilitychange",()=>{Ne.document.visibilityState==="hidden"&&(o&&this._flushOutcomes(),M&&to(this),l&&hc(this))}),r&&this.on("beforeSendSession",G4)}eventFromException(e,t){return UL(this._options.stackParser,e,t,this._options.attachStacktrace)}eventFromMessage(e,t="info",s){return vL(this._options.stackParser,e,t,s,this._options.attachStacktrace)}_prepareEvent(e,t,s,r){return e.platform=e.platform||"javascript",super._prepareEvent(e,t,s,r)}}function RL(i){var e;return{release:typeof __SENTRY_RELEASE__=="string"?__SENTRY_RELEASE__:(e=Ne.SENTRY_RELEASE)==null?void 0:e.id,sendClientReports:!0,parentSpanIsAlwaysRootSpan:!0,...i}}const JL=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__,Qe=oe,BL=1e3;let In,no,ao;function GL(i){ns("dom",i),as("dom",FL)}function FL(){if(!Qe.document)return;const i=st.bind(null,"dom"),e=hn(i,!0);Qe.document.addEventListener("click",e,!1),Qe.document.addEventListener("keypress",e,!1),["EventTarget","Node"].forEach(t=>{var o,M;const r=(o=Qe[t])==null?void 0:o.prototype;(M=r==null?void 0:r.hasOwnProperty)!=null&&M.call(r,"addEventListener")&&(Ge(r,"addEventListener",function(a){return function(u,l,N){if(u==="click"||u=="keypress")try{const c=this.__sentry_instrumentation_handlers__=this.__sentry_instrumentation_handlers__||{},L=c[u]=c[u]||{refCount:0};if(!L.handler){const j=hn(i);L.handler=j,a.call(this,u,j,N)}L.refCount++}catch{}return a.call(this,u,l,N)}}),Ge(r,"removeEventListener",function(a){return function(u,l,N){if(u==="click"||u=="keypress")try{const c=this.__sentry_instrumentation_handlers__||{},L=c[u];L&&(L.refCount--,L.refCount<=0&&(a.call(this,u,L.handler,N),L.handler=void 0,delete c[u]),Object.keys(c).length===0&&delete this.__sentry_instrumentation_handlers__)}catch{}return a.call(this,u,l,N)}}))})}function HL(i){if(i.type!==no)return!1;try{if(!i.target||i.target._sentryId!==ao)return!1}catch{}return!0}function VL(i,e){return i!=="keypress"?!1:e!=null&&e.tagName?!(e.tagName==="INPUT"||e.tagName==="TEXTAREA"||e.isContentEditable):!0}function hn(i,e=!1){return t=>{if(!t||t._sentryCaptured)return;const s=ZL(t);if(VL(t.type,s))return;Ft(t,"_sentryCaptured",!0),s&&!s._sentryId&&Ft(s,"_sentryId",Ke());const r=t.type==="keypress"?"input":t.type;HL(t)||(i({event:t,name:r,global:e}),no=t.type,ao=s?s._sentryId:void 0),clearTimeout(In),In=Qe.setTimeout(()=>{ao=void 0,no=void 0},BL)}}function ZL(i){try{return i.target}catch{return null}}let hi;function vc(i){const e="history";ns(e,i),as(e,XL)}function XL(){if(Qe.addEventListener("popstate",()=>{const e=Qe.location.href,t=hi;if(hi=e,t===e)return;st("history",{from:t,to:e})}),!IL())return;function i(e){return function(...t){const s=t.length>2?t[2]:void 0;if(s){const r=hi,o=KL(String(s));if(hi=o,r===o)return e.apply(this,t);st("history",{from:r,to:o})}return e.apply(this,t)}}Ge(Qe.history,"pushState",i),Ge(Qe.history,"replaceState",i)}function KL(i){try{return new URL(i,Qe.location.origin).toString()}catch{return i}}const Ui={};function qL(i){const e=Ui[i];if(e)return e;let t=Qe[i];if(ro(t))return Ui[i]=t.bind(Qe);const s=Qe.document;if(s&&typeof s.createElement=="function")try{const r=s.createElement("iframe");r.hidden=!0,s.head.appendChild(r);const o=r.contentWindow;o!=null&&o[i]&&(t=o[i]),s.head.removeChild(r)}catch(r){JL&&G.warn(`Could not create sandbox iframe for ${i} check, bailing to window.${i}: `,r)}return t&&(Ui[i]=t.bind(Qe))}function ej(i){Ui[i]=void 0}const Hs="__sentry_xhr_v3__";function tj(i){ns("xhr",i),as("xhr",sj)}function sj(){if(!Qe.XMLHttpRequest)return;const i=XMLHttpRequest.prototype;i.open=new Proxy(i.open,{apply(e,t,s){const r=new Error,o=mt()*1e3,M=At(s[0])?s[0].toUpperCase():void 0,a=ij(s[1]);if(!M||!a)return e.apply(t,s);t[Hs]={method:M,url:a,request_headers:{}},M==="POST"&&a.match(/sentry_key/)&&(t.__sentry_own_request__=!0);const u=()=>{const l=t[Hs];if(l&&t.readyState===4){try{l.status_code=t.status}catch{}const N={endTimestamp:mt()*1e3,startTimestamp:o,xhr:t,virtualError:r};st("xhr",N)}};return"onreadystatechange"in t&&typeof t.onreadystatechange=="function"?t.onreadystatechange=new Proxy(t.onreadystatechange,{apply(l,N,c){return u(),l.apply(N,c)}}):t.addEventListener("readystatechange",u),t.setRequestHeader=new Proxy(t.setRequestHeader,{apply(l,N,c){const[L,j]=c,g=N[Hs];return g&&At(L)&&At(j)&&(g.request_headers[L.toLowerCase()]=j),l.apply(N,c)}}),e.apply(t,s)}}),i.send=new Proxy(i.send,{apply(e,t,s){const r=t[Hs];if(!r)return e.apply(t,s);s[0]!==void 0&&(r.body=s[0]);const o={startTimestamp:mt()*1e3,xhr:t};return st("xhr",o),e.apply(t,s)}})}function ij(i){if(At(i))return i;try{return i.toString()}catch{}}const rj=40;function oj(i,e=qL("fetch")){let t=0,s=0;async function r(o){const M=o.body.length;t+=M,s++;const a={body:o.body,method:"POST",referrerPolicy:"strict-origin",headers:i.headers,keepalive:t<=6e4&&s<15,...i.fetchOptions};try{const u=await e(i.url,a);return{statusCode:u.status,headers:{"x-sentry-rate-limits":u.headers.get("X-Sentry-Rate-Limits"),"retry-after":u.headers.get("Retry-After")}}}catch(u){throw ej("fetch"),u}finally{t-=M,s--}}return S4(i,r,Ko(i.bufferSize||rj))}const cr=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__,Mj=30,nj=50;function co(i,e,t,s){const r={filename:i,function:e===""?rs:e,in_app:!0};return t!==void 0&&(r.lineno=t),s!==void 0&&(r.colno=s),r}const aj=/^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i,cj=/^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,uj=/\((\S*)(?::(\d+))(?::(\d+))\)/,lj=/at (.+?) ?\(data:(.+?),/,Nj=i=>{var r;const e=i.match(lj);if(e)return{filename:``,function:e[1]};const t=aj.exec(i);if(t){const[,o,M,a]=t;return co(o,rs,+M,+a)}const s=cj.exec(i);if(s){if(((r=s[2])==null?void 0:r.indexOf("eval"))===0){const u=uj.exec(s[2]);u&&(s[2]=u[1],s[3]=u[2],s[4]=u[3])}const[M,a]=bc(s[1]||rs,s[2]);return co(a,M,s[3]?+s[3]:void 0,s[4]?+s[4]:void 0)}},Lj=[Mj,Nj],jj=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,gj=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,Tj=i=>{const e=jj.exec(i);if(e){if(e[3]&&e[3].indexOf(" > eval")>-1){const o=gj.exec(e[3]);o&&(e[1]=e[1]||"eval",e[3]=o[1],e[4]=o[2],e[5]="")}let s=e[3],r=e[1]||rs;return[r,s]=bc(r,s),co(s,r,e[4]?+e[4]:void 0,e[5]?+e[5]:void 0)}},yj=[nj,Tj],Dj=[Lj,yj],dj=Va(...Dj),bc=(i,e)=>{const t=i.indexOf("safari-extension")!==-1,s=i.indexOf("safari-web-extension")!==-1;return t||s?[i.indexOf("@")!==-1?i.split("@")[0]:rs,t?`safari-extension:${e}`:`safari-web-extension:${e}`]:[i,e]},wi=1024,zj="Breadcrumbs",Ij=((i={})=>{const e={console:!0,dom:!0,fetch:!0,history:!0,sentry:!0,xhr:!0,...i};return{name:zj,setup(t){e.console&&uL(Aj(t)),e.dom&&GL(Cj(t,e.dom)),e.xhr&&tj(mj(t)),e.fetch&&CL(pj(t)),e.history&&vc(Oj(t)),e.sentry&&t.on("beforeSendEvent",wj(t))}}}),hj=Ij;function wj(i){return function(t){xe()===i&&os({category:`sentry.${t.type==="transaction"?"transaction":"event"}`,event_id:t.event_id,level:t.level,message:es(t)},{event:t})}}function Cj(i,e){return function(s){if(xe()!==i)return;let r,o,M=typeof e=="object"?e.serializeAttribute:void 0,a=typeof e=="object"&&typeof e.maxStringLength=="number"?e.maxStringLength:void 0;a&&a>wi&&(cr&&G.warn(`\`dom.maxStringLength\` cannot exceed ${wi}, but a value of ${a} was configured. Sentry will use ${wi} instead.`),a=wi),typeof M=="string"&&(M=[M]);try{const l=s.event,N=Ej(l)?l.target:l;r=tc(N,{keyAttrs:M,maxStringLength:a}),o=kN(N)}catch{r=""}if(r.length===0)return;const u={category:`ui.${s.name}`,message:r};o&&(u.data={"ui.component_name":o}),os(u,{event:s.event,name:s.name,global:s.global})}}function Aj(i){return function(t){if(xe()!==i)return;const s={category:"console",data:{arguments:t.args,logger:"console"},level:NL(t.level),message:QM(t.args," ")};if(t.level==="assert")if(t.args[0]===!1)s.message=`Assertion failed: ${QM(t.args.slice(1)," ")||"console.assert"}`,s.data.arguments=t.args.slice(1);else return;os(s,{input:t.args,level:t.level})}}function mj(i){return function(t){if(xe()!==i)return;const{startTimestamp:s,endTimestamp:r}=t,o=t.xhr[Hs];if(!s||!r||!o)return;const{method:M,url:a,status_code:u,body:l}=o,N={method:M,url:a,status_code:u},c={xhr:t.xhr,input:l,startTimestamp:s,endTimestamp:r},L={category:"xhr",data:N,type:"http",level:Yc(u)};i.emit("beforeOutgoingRequestBreadcrumb",L,c),os(L,c)}}function pj(i){return function(t){if(xe()!==i)return;const{startTimestamp:s,endTimestamp:r}=t;if(r&&!(t.fetchData.url.match(/sentry_key/)&&t.fetchData.method==="POST"))if(t.fetchData.method,t.fetchData.url,t.error){const o=t.fetchData,M={data:t.error,input:t.args,startTimestamp:s,endTimestamp:r},a={category:"fetch",data:o,level:"error",type:"http"};i.emit("beforeOutgoingRequestBreadcrumb",a,M),os(a,M)}else{const o=t.response,M={...t.fetchData,status_code:o==null?void 0:o.status};t.fetchData.request_body_size,t.fetchData.response_body_size,o==null||o.status;const a={input:t.args,response:o,startTimestamp:s,endTimestamp:r},u={category:"fetch",data:M,type:"http",level:Yc(M.status_code)};i.emit("beforeOutgoingRequestBreadcrumb",u,a),os(u,a)}}}function Oj(i){return function(t){if(xe()!==i)return;let s=t.from,r=t.to;const o=mr(Ne.location.href);let M=s?mr(s):void 0;const a=mr(r);M!=null&&M.path||(M=o),o.protocol===a.protocol&&o.host===a.host&&(r=a.relative),o.protocol===M.protocol&&o.host===M.host&&(s=M.relative),os({category:"navigation",data:{from:s,to:r}})}}function Ej(i){return!!i&&!!i.target}const _j=["EventTarget","Window","Node","ApplicationCache","AudioTrackList","BroadcastChannel","ChannelMergerNode","CryptoOperation","EventSource","FileReader","HTMLUnknownElement","IDBDatabase","IDBRequest","IDBTransaction","KeyOperation","MediaController","MessagePort","ModalWindow","Notification","SVGElementInstance","Screen","SharedWorker","TextTrack","TextTrackCue","TextTrackList","WebSocket","WebSocketWorker","Worker","XMLHttpRequest","XMLHttpRequestEventTarget","XMLHttpRequestUpload"],fj="BrowserApiErrors",Sj=((i={})=>{const e={XMLHttpRequest:!0,eventTarget:!0,requestAnimationFrame:!0,setInterval:!0,setTimeout:!0,unregisterOriginalCallbacks:!1,...i};return{name:fj,setupOnce(){e.setTimeout&&Ge(Ne,"setTimeout",wn),e.setInterval&&Ge(Ne,"setInterval",wn),e.requestAnimationFrame&&Ge(Ne,"requestAnimationFrame",kj),e.XMLHttpRequest&&"XMLHttpRequest"in Ne&&Ge(XMLHttpRequest.prototype,"send",Yj);const t=e.eventTarget;t&&(Array.isArray(t)?t:_j).forEach(r=>Qj(r,e))}}}),xj=Sj;function wn(i){return function(...e){const t=e[0];return e[0]=Ss(t,{mechanism:{handled:!1,type:`auto.browser.browserapierrors.${Bt(i)}`}}),i.apply(this,e)}}function kj(i){return function(e){return i.apply(this,[Ss(e,{mechanism:{data:{handler:Bt(i)},handled:!1,type:"auto.browser.browserapierrors.requestAnimationFrame"}})])}}function Yj(i){return function(...e){const t=this;return["onload","onerror","onprogress","onreadystatechange"].forEach(r=>{r in t&&typeof t[r]=="function"&&Ge(t,r,function(o){const M={mechanism:{data:{handler:Bt(o)},handled:!1,type:`auto.browser.browserapierrors.xhr.${r}`}},a=Go(o);return a&&(M.mechanism.data.handler=Bt(a)),Ss(o,M)})}),i.apply(this,e)}}function Qj(i,e){var r,o;const s=(r=Ne[i])==null?void 0:r.prototype;(o=s==null?void 0:s.hasOwnProperty)!=null&&o.call(s,"addEventListener")&&(Ge(s,"addEventListener",function(M){return function(a,u,l){try{Uj(u)&&(u.handleEvent=Ss(u.handleEvent,{mechanism:{data:{handler:Bt(u),target:i},handled:!1,type:"auto.browser.browserapierrors.handleEvent"}}))}catch{}return e.unregisterOriginalCallbacks&&vj(this,a,u),M.apply(this,[a,Ss(u,{mechanism:{data:{handler:Bt(u),target:i},handled:!1,type:"auto.browser.browserapierrors.addEventListener"}}),l])}}),Ge(s,"removeEventListener",function(M){return function(a,u,l){try{const N=u.__sentry_wrapped__;N&&M.call(this,a,N,l)}catch{}return M.call(this,a,u,l)}}))}function Uj(i){return typeof i.handleEvent=="function"}function vj(i,e,t){i&&typeof i=="object"&&"removeEventListener"in i&&typeof i.removeEventListener=="function"&&i.removeEventListener(e,t)}const bj=(i={})=>{const e=i.lifecycle??"route";return{name:"BrowserSession",setupOnce(){if(typeof Ne.document>"u"){cr&&G.warn("Using the `browserSessionIntegration` in non-browser environments is not supported.");return}sn({ignoreDuration:!0}),Cr();const t=cs();let s=t.getUser();t.addScopeListener(r=>{const o=r.getUser();((s==null?void 0:s.id)!==(o==null?void 0:o.id)||(s==null?void 0:s.ip_address)!==(o==null?void 0:o.ip_address))&&(Cr(),s=o)}),e==="route"&&vc(({from:r,to:o})=>{r!==o&&(sn({ignoreDuration:!0}),Cr())})}}},$j="CultureContext",Pj=(()=>({name:$j,preprocessEvent(i){var t;const e=Rj();e&&(i.contexts={...i.contexts,culture:{...e,...(t=i.contexts)==null?void 0:t.culture}})}})),Wj=Pj;function Rj(){try{const i=Ne.Intl;if(!i)return;const e=i.DateTimeFormat().resolvedOptions();return{locale:e.locale,timezone:e.timeZone,calendar:e.calendar}}catch{return}}const Jj="GlobalHandlers",Bj=((i={})=>{const e={onerror:!0,onunhandledrejection:!0,...i};return{name:Jj,setupOnce(){Error.stackTraceLimit=50},setup(t){e.onerror&&(Fj(t),Cn("onerror")),e.onunhandledrejection&&(Hj(t),Cn("onunhandledrejection"))}}}),Gj=Bj;function Fj(i){CN(e=>{const{stackParser:t,attachStacktrace:s}=$c();if(xe()!==i||Qc())return;const{msg:r,url:o,line:M,column:a,error:u}=e,l=Xj(tM(t,u||r,void 0,s,!1),o,M,a);l.level="error",yc(l,{originalException:u,mechanism:{handled:!1,type:"auto.browser.global_handlers.onerror"}})})}function Hj(i){mN(e=>{const{stackParser:t,attachStacktrace:s}=$c();if(xe()!==i||Qc())return;const r=Vj(e),o=rr(r)?Zj(r):tM(t,r,void 0,s,!0);o.level="error",yc(o,{originalException:r,mechanism:{handled:!1,type:"auto.browser.global_handlers.onunhandledrejection"}})})}function Vj(i){if(rr(i))return i;try{if("reason"in i)return i.reason;if("detail"in i&&"reason"in i.detail)return i.detail.reason}catch{}return i}function Zj(i){return{exception:{values:[{type:"UnhandledRejection",value:`Non-Error promise rejection captured with value: ${String(i)}`}]}}}function Xj(i,e,t,s){const r=i.exception=i.exception||{},o=r.values=r.values||[],M=o[0]=o[0]||{},a=M.stacktrace=M.stacktrace||{},u=a.frames=a.frames||[],l=s,N=t,c=Kj(e)??Bo();return u.length===0&&u.push({colno:l,filename:c,function:rs,in_app:!0,lineno:N}),i}function Cn(i){cr&&G.log(`Global Handler attached: ${i}`)}function $c(){const i=xe();return(i==null?void 0:i.getOptions())||{stackParser:()=>[],attachStacktrace:!1}}function Kj(i){if(!(!At(i)||i.length===0))return i.startsWith("data:")?`<${B4(i,!1)}>`:i}const qj=()=>({name:"HttpContext",preprocessEvent(i){var s;if(!Ne.navigator&&!Ne.location&&!Ne.document)return;const e=_L(),t={...e.headers,...(s=i.request)==null?void 0:s.headers};i.request={...e,...i.request,headers:t}}}),eg="cause",tg=5,sg="LinkedErrors",ig=((i={})=>{const e=i.limit||tg,t=i.key||eg;return{name:sg,preprocessEvent(s,r,o){const M=o.getOptions();cL(qo,M.stackParser,t,e,s,r)}}}),rg=ig;function og(){return Mg()?(cr&&ks(()=>{console.error("[Sentry] You cannot use Sentry.init() in a browser extension, see: https://docs.sentry.io/platforms/javascript/best-practices/browser-extensions/")}),!0):!1}function Mg(){var o;if(typeof Ne.window>"u")return!1;const i=Ne;if(i.nw)return!1;const e=i.chrome||i.browser;if(!((o=e==null?void 0:e.runtime)!=null&&o.id))return!1;const t=Bo(),s=["chrome-extension","moz-extension","ms-browser-extension","safari-web-extension"];return!(Ne===Ne.top&&s.some(M=>t.startsWith(`${M}://`)))}function ng(i){return[tL(),X4(),zL(),xj(),hj(),Gj(),rg(),Sc(),qj(),Wj(),bj()]}function ag(i={}){const e=!i.skipBrowserExtensionCheck&&og();let t=i.defaultIntegrations==null?ng():i.defaultIntegrations;const s={...i,enabled:e?!1:i.enabled,stackParser:hN(i.stackParser||dj),integrations:d4({integrations:i.integrations,defaultIntegrations:t}),transport:i.transport||oj};return R4(WL,s)}function cg(){console.log(` -██╗ ██████╗ ██████╗ ██████╗ ██████╗ ██╗ ██╗███████╗██████╗ -██║██╔═══██╗██╔══██╗██╔══██╗██╔═══██╗██║ ██╔╝██╔════╝██╔══██╗ -██║██║ ██║██████╔╝██████╔╝██║ ██║█████╔╝ █████╗ ██████╔╝ -██║██║ ██║██╔══██╗██╔══██╗██║ ██║██╔═██╗ ██╔══╝ ██╔══██╗ -██║╚██████╔╝██████╔╝██║ ██║╚██████╔╝██║ ██╗███████╗██║ ██║ -╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝ -`),console.log("Nice to see you here! :) Join our dev community here https://github.com/ioBroker/ioBroker or here https://github.com/iobroker-community-adapters"),console.log("Help us to create open source project with reactJS!"),console.log("See you :)")}function ug(i){const e=i.themeType||"light",t=i.size||300;return n.createElement("div",{style:{width:"100%",height:"100%",position:"absolute",top:0,left:0,backgroundImage:i.backgroundImage&&i.backgroundImage!=="@@loginBackgroundImage@@"?i.backgroundImage:window.loadingBackgroundImage&&window.loadingBackgroundImage!=="@@loginBackgroundImage@@"?`url(${window.loadingBackgroundImage})`:void 0,backgroundColor:i.backgroundColor&&i.backgroundColor!=="@@loginBackgroundColor@@"?i.backgroundColor:window.loadingBackgroundColor&&window.loadingBackgroundColor!=="@@loginBackgroundColor@@"?window.loadingBackgroundColor:e==="dark"?"#000":"#FFF",backgroundSize:"cover"}},n.createElement("div",{style:{width:t,height:t,position:"absolute",top:"50%",left:"50%",transform:"translate(-50%,-50%)",zIndex:2}},n.createElement("svg",{viewBox:"0 0 500 500",xmlns:"http://www.w3.org/2000/svg",width:"100%",height:"100%"},n.createElement("circle",{strokeWidth:"5",fill:"none",stroke:"#01BBF5",cx:"250",cy:"250",r:"200"}),n.createElement("circle",{strokeWidth:"5",fill:"none",stroke:"#01BBF5",cx:"250",cy:"250",r:"133"}),n.createElement("circle",{strokeWidth:"5",fill:"none",stroke:"#01BBF5",cx:"250",cy:"250",r:"83"}),n.createElement("circle",{strokeWidth:"5",fill:"none",stroke:"#01BBF5",cx:"250",cy:"250",r:"66"}),n.createElement("circle",{strokeWidth:"15",fill:"none",stroke:"#01BBF5",cx:"250",cy:"250",r:"15"}),n.createElement("g",null,n.createElement("line",{y2:"185",x2:"250",y1:"240",x1:"250",strokeWidth:"5",stroke:"#01BBF5",fill:"none"}),n.createElement("line",{y2:"315",x2:"250",y1:"260",x1:"250",strokeWidth:"5",stroke:"#01BBF5",fill:"none"}),n.createElement("g",{transform:"rotate(60, 250, 250)"},n.createElement("line",{y2:"185",x2:"250",y1:"240",x1:"250",strokeWidth:"5",stroke:"#01BBF5",fill:"none"}),n.createElement("line",{y2:"315",x2:"250",y1:"260",x1:"250",strokeWidth:"5",stroke:"#01BBF5",fill:"none"})),n.createElement("g",{transform:"rotate(120, 250, 250)"},n.createElement("line",{y2:"185",x2:"250",y1:"240",x1:"250",strokeWidth:"5",stroke:"#01BBF5",fill:"none"}),n.createElement("line",{y2:"315",x2:"250",y1:"260",x1:"250",strokeWidth:"5",stroke:"#01BBF5",fill:"none"})),[0,15,30,45,60,75,90,105,120,135,150,165,180,195,210,225,240,255,270,285,300,315,330,345].map(s=>n.createElement("line",{key:s,transform:`rotate(${s}, 250, 250)`,y2:"250",x2:"115",y1:"240",x1:"135",strokeWidth:"5",stroke:"#01BBF5",fill:"none"})),n.createElement("animateTransform",{attributeType:"xml",attributeName:"transform",type:"rotate",from:"0 250 250",to:"360 250 250",dur:"10s",additive:"sum",repeatCount:"indefinite"})),n.createElement("path",{d:"M 56.089 160.250 C 55.077 162.588, 46.037 182.950, 36 205.500 C 25.963 228.050, 16.923 248.412, 15.911 250.750 L 14.071 255 28.286 254.976 L 42.500 254.952 47.931 242.226 C 50.918 235.227, 54.366 227.250, 55.592 224.500 L 57.822 219.500 66.383 237.250 L 74.945 255 88.973 255 C 96.688 255, 103 254.841, 103 254.646 C 103 254.452, 100.043 248.071, 96.430 240.466 L 89.859 226.638 91.603 222.771 C 92.563 220.644, 93.660 218.710, 94.043 218.473 C 94.426 218.237, 108.609 246.609, 125.562 281.522 L 156.384 345 166.071 345 C 175.705 345, 175.763 344.985, 176.856 342.250 C 179.911 334.602, 208 260.765, 208 260.383 C 208 260.138, 202.546 260.065, 195.879 260.219 L 183.759 260.500 174.629 285.244 C 169.608 298.853, 165.254 309.990, 164.952 309.994 C 164.651 309.997, 148.901 277.389, 129.952 237.532 C 111.004 197.674, 95.275 165.057, 95 165.049 C 94.725 165.041, 90.685 172.415, 86.022 181.435 C 81.358 190.455, 77.308 197.689, 77.022 197.510 C 76.735 197.331, 72.675 187.920, 68 176.598 C 63.325 165.275, 59.147 156.008, 58.714 156.005 C 58.282 156.002, 57.101 157.912, 56.089 160.250 M 55.294 168.694 C 52.241 175.842, 52.166 176.323, 53.718 178.692 L 55.349 181.182 56.706 178.591 C 57.453 177.166, 58.406 176, 58.825 176 C 59.244 176, 60.777 178.363, 62.232 181.250 C 64.829 186.403, 64.879 186.440, 64.939 183.250 C 64.973 181.463, 65.422 180, 65.937 180 C 66.724 180, 60.176 162.824, 58.920 161.596 C 58.689 161.370, 57.057 164.564, 55.294 168.694 M 91.698 175.542 C 89.205 180.626, 89.099 181.308, 90.410 183.792 L 91.840 186.500 92.926 183.669 C 94.349 179.961, 96.024 180.653, 98.588 186.009 L 100.676 190.370 101.324 187.132 C 101.832 184.592, 101.217 182.395, 98.473 176.947 C 96.549 173.126, 94.849 170, 94.696 170 C 94.542 170, 93.193 172.494, 91.698 175.542 M 157.005 192.607 C 143.168 197.636, 134.999 209.202, 135.001 223.761 C 135.002 232.756, 138.710 240.755, 145.856 247.180 C 152.159 252.848, 158.121 255, 167.518 255 C 173.509 255, 175.684 254.499, 180.811 251.936 C 200.823 241.936, 205.088 216.155, 189.337 200.403 C 181.479 192.546, 166.868 189.022, 157.005 192.607 M 206 223 L 206 255 215.472 255 L 224.944 255 225.222 241.419 L 225.500 227.837 230.500 234.660 C 233.250 238.412, 238.002 244.636, 241.060 248.491 L 246.620 255.500 253.810 255.168 L 261 254.836 261 222.918 L 261 191 251.528 191 L 242.056 191 241.778 204.552 L 241.500 218.104 231.111 204.552 L 220.722 191 213.361 191 L 206 191 206 223 M 285.821 192.331 C 276.229 195.045, 270.010 202.130, 270.004 210.349 C 269.995 221.957, 275.913 226.925, 295.801 232.006 C 300.753 233.271, 302.228 235.609, 299.412 237.730 C 296.739 239.746, 288.369 238.774, 281.563 235.657 L 276.132 233.171 272.469 239.320 C 268.119 246.621, 268.341 247.287, 276.524 251.500 C 281.399 254.010, 283.761 254.556, 290.977 254.842 C 302.365 255.294, 307.420 253.846, 312.603 248.649 C 317.383 243.855, 319.463 236.989, 318.043 230.693 C 316.210 222.562, 311.258 218.610, 297.878 214.599 C 288.025 211.645, 285.443 209.631, 288.538 207.315 C 291.104 205.394, 302.270 205.946, 306.769 208.217 L 310.039 209.866 313.104 203.794 C 316.516 197.035, 316.622 197.304, 309.167 193.844 C 303.663 191.289, 292.140 190.542, 285.821 192.331 M 322 199 L 322 207 330 207 L 338 207 338 231 L 338 255 347.500 255 L 357 255 357 231.044 L 357 207.088 364.250 206.794 L 371.500 206.500 371.792 198.750 L 372.084 191 347.042 191 L 322 191 322 199 M 379 223 L 379 255 401 255 L 423 255 423 247.500 L 423 240 409.500 240 L 396 240 396 235 L 396 230 407.500 230 L 419 230 419 222 L 419 214 407.500 214 L 396 214 396 210.529 L 396 207.058 409.250 206.779 L 422.500 206.500 422.792 198.750 L 423.084 191 401.042 191 L 379 191 379 223 M 433 223 L 433 255 442 255 L 451 255 451 247 L 451 239 454.800 239 C 458.555 239, 458.645 239.092, 462.469 246.937 L 466.339 254.874 476.172 255.187 C 481.580 255.359, 486.003 255.111, 486.002 254.636 C 486.001 254.160, 483.277 249.264, 479.949 243.754 C 473.914 233.765, 473.903 233.732, 475.836 231.619 C 480.222 226.824, 482.359 220.791, 482.431 213 C 482.512 204.192, 480.272 198.822, 475.031 195.260 C 469.795 191.703, 465.527 191.012, 448.750 191.006 L 433 191 433 223 M 448.210 213.250 L 448.500 221.500 455.338 221.500 C 461.319 221.500, 462.417 221.204, 464.088 219.139 C 465.995 216.785, 466.556 212.613, 465.379 209.545 C 464.356 206.879, 459.449 205, 453.509 205 L 447.919 205 448.210 213.250 M 163.169 209.017 C 156.337 210.583, 151.176 218.533, 152.339 225.701 C 154.672 240.077, 175.040 242.355, 180.446 228.844 C 184.978 217.516, 175.176 206.267, 163.169 209.017 M 216.676 271.715 C 216.037 272.750, 188 344.021, 188 344.612 C 188 344.863, 192.811 344.940, 198.691 344.784 L 209.381 344.500 211.894 336.750 L 214.406 329 226.550 329 L 238.694 329 242.097 336.992 L 245.500 344.983 255.250 344.992 C 262.399 344.998, 264.994 344.667, 264.979 343.750 C 264.968 343.063, 258.477 326.525, 250.555 307 L 236.150 271.500 226.656 271.215 C 221.434 271.058, 216.943 271.283, 216.676 271.715 M 273 307 C 273 326.800, 272.887 343.337, 272.750 343.750 C 272.613 344.163, 277.102 344.628, 282.727 344.785 L 292.954 345.069 293.227 327.379 L 293.500 309.689 307 327.336 L 320.500 344.982 328.262 344.991 L 336.025 345 335.762 308.250 L 335.500 271.500 326.750 271.211 L 318 270.922 317.882 286.711 C 317.816 295.395, 317.816 302.837, 317.882 303.250 C 317.947 303.663, 317.808 304, 317.574 304 C 317.340 304, 310.809 296.575, 303.060 287.500 L 288.971 271 280.985 271 L 273 271 273 307 M 223.254 303.048 L 220.078 312 226.539 312 C 230.093 312, 233 311.861, 233 311.691 C 233 311.257, 226.886 294.553, 226.636 294.302 C 226.522 294.189, 225.001 298.125, 223.254 303.048",stroke:"none",fill:i.themeType==="dark"?"#EEE":"#111",fillRule:"evenodd"}))))}function lg(i){const e=i.themeType||"dark",t=i.size||300;return n.createElement("div",{style:{width:"100%",height:"100%",position:"absolute",top:0,left:0,backgroundImage:i.backgroundImage&&i.backgroundImage!=="@@loginBackgroundImage@@"?i.backgroundImage:window.loadingBackgroundImage&&window.loadingBackgroundImage!=="@@loginBackgroundImage@@"?`url(${window.loadingBackgroundImage})`:void 0,backgroundColor:i.backgroundColor&&i.backgroundColor!=="@@loginBackgroundColor@@"?i.backgroundColor:window.loadingBackgroundColor&&window.loadingBackgroundColor!=="@@loginBackgroundColor@@"?window.loadingBackgroundColor:e==="dark"?"#000":"#FFF",backgroundSize:"cover"}},n.createElement("div",{style:{width:t,height:t,position:"absolute",top:"50%",left:"50%",transform:"translate(-50%,-50%)",zIndex:2}},n.createElement("svg",{viewBox:"0 0 2000 1728",style:{fillRule:"evenodd",clipRule:"evenodd",fill:"#00af78"}},n.createElement("style",null,` - @keyframes jump { - 0% { fill: #00af78; } - 25% { fill: #00af78; } - 25.01% { fill: #00785A; } - 100% { fill: #00785A; } - } - .bar { animation: jump 2s linear infinite; } - .bar.bar1 { animation-delay: 0s; } - .bar.bar2 { animation-delay: 0.5s; } - .bar.bar3 { animation-delay: 1s; } - .bar.bar4 { animation-delay: 1.5s; } - `),n.createElement("path",{d:"M944.5 76.5a852 852 0 0 1 129 6.5 598 598 0 0 1 51 9c19.36 5.344 38.69 10.677 58 16a834 834 0 0 1 117 52 698 698 0 0 1 95 69c2.67 2 5.33 2 8 0a410 410 0 0 1 37-28 18.4 18.4 0 0 1 6-.5q.495 10.51 4.5 20a3200 3200 0 0 0 18 73 3553 3553 0 0 0 19 66 48.8 48.8 0 0 0 2.5 11 4.94 4.94 0 0 1-1 2.5c-2.33.667-4.67.667-7 0a19 19 0 0 0-5-3 209 209 0 0 0-24-7 292 292 0 0 0-20-8c-8.68-2.341-17.34-4.674-26-7a221 221 0 0 0-21-8 337 337 0 0 1-34-11 1272 1272 0 0 1-43-13q-2.91-3.23-1.5-7.5a671 671 0 0 0 42.5-35l-1.5-3a289 289 0 0 0-21.5-18.5c-9.31-6.637-18.65-13.304-28-20a731 731 0 0 1-44-26 175 175 0 0 1-30-15 568 568 0 0 0-50-20 1038 1038 0 0 1-53-16 1070 1070 0 0 0-48-10 1087 1087 0 0 1-55-6 1379 1379 0 0 0-99 1 203.5 203.5 0 0 1-35 5Q629.152 192.558 494 414.5a132 132 0 0 1-10 17 1277 1277 0 0 0-21 43l-11 27a637 637 0 0 1-14 41 8191 8191 0 0 1-16 67 50.7 50.7 0 0 0-1 15 11.3 11.3 0 0 0 1.5 3.5 327 327 0 0 1 40 8q62.273 18.89 115 56 70.252 53.736 113.5 130.5 59.461 114.478 41 243c-.667 1.33-1.333 2.67-2 4a335 335 0 0 1-3 18 507 507 0 0 1-20 53 309 309 0 0 1-10 17c-1.699.91-3.533 1.24-5.5 1 .377-40.1-3.456-79.77-11.5-119l-3-6a154.4 154.4 0 0 0-7-27Q629.1 886.514 525.5 812a44.5 44.5 0 0 1-9.5-5.5l-1.5.5q69.98 79.772 110.5 177.5a684 684 0 0 1 21 74c.389 8.51 1.722 16.84 4 25q1.302 30.765 2.5 61.5-2.217 6.885.5 13.5l17.5 13.5a1597 1597 0 0 0 61 36 3333 3333 0 0 1 61 26q25.04 7.53 50 15a771 771 0 0 0 51 10 526.7 526.7 0 0 0 120 5c15.24-2.5 30.57-4.17 46-5 154.49-25.8 278.99-100.96 373.5-225.5 36-49.308 63.67-102.974 83-161 .29-5.821 1.96-11.154 5-16q7.2-33.086 15-66a343 343 0 0 1 4-30c-5.29 5.217-9.62 11.217-13 18-26.71 37.032-60.54 65.866-101.5 86.5a471 471 0 0 1-27 11 50.1 50.1 0 0 0-17 5q-13.77 1.158-27 5-33 2.977-66 0a153 153 0 0 0-29-5c-52.38-14.072-96.21-41.572-131.5-82.5q-58.935-72.777-58.5-167.5.345-16.269 1.5-32.5 10.89-72.278 57-128c66.33-75.505 149.5-104.339 249.5-86.5a700 700 0 0 1 48 16c4.24 2.853 8.57 5.52 13 8l6 2c20.5 12.068 38.84 26.735 55 44q2.37 1.06 4.5 2.5a442 442 0 0 0 25.5-24.5c2.59-1.601 5.26-1.767 8-.5a1168 1168 0 0 0 25.5 55 1221 1221 0 0 0 16 45c.41 6.057 2.08 11.724 5 17 .58 6.637 2.24 12.97 5 19a778 778 0 0 1 10 55c18.69 162.392-18.64 309.725-112 442-15.67 19-31.33 38-47 57-34.61 35.92-72.44 68.42-113.5 97.5q-16.53 10.545-33 21a516 516 0 0 1-35 18l-3 3c-14.49 6.96-29.16 13.63-44 20-26.02 9.5-52.35 18.17-79 26q-132.478 31.62-267 9a1979 1979 0 0 0-61-14 421 421 0 0 1-25-9c-3.333-.67-6.667-1.33-10-2-20.636-8.65-41.303-17.32-62-26-124.377-64.5-220.21-158.33-287.5-281.5a1010 1010 0 0 1-17-39l-3-4a395 395 0 0 0-15-41 374 374 0 0 1-11-36l-9-39a366 366 0 0 0-6-36 1642 1642 0 0 1-5.5-92.5q5.24-279.871 211-466 61.788-53.755 135-91a1492 1492 0 0 1 47-21l28-10 37-11a1956 1956 0 0 1 46-10 1145 1145 0 0 1 87-10.5m367 359c12.69-.014 25.35.486 38 1.5a399 399 0 0 1 39 10c56.18 22.509 95.34 62.009 117.5 118.5 21.9 63.822 14.57 123.822-22 180-20.98 28.71-47.15 51.21-78.5 67.5-37.69 16.585-77.02 21.585-118 15-69.62-14.983-118.78-54.816-147.5-119.5a284 284 0 0 1-11-39q-15.24-126.17 85.5-201.5c29.7-18.676 62.04-29.509 97-32.5"}),n.createElement("path",{d:"M899.5 258.5a2829 2829 0 0 0 135 0c5.33.53 10.66 1.03 16 1.5l1.5 1.5q.255 125.792 1.5 251.5c-.56 6.766-2.73 12.932-6.5 18.5a587 587 0 0 0-9.5 25.5 71.8 71.8 0 0 1-5.5 20.5 575 575 0 0 0-5.5 52.5 587 587 0 0 0 5.5 55.5 515 515 0 0 0 18.5 58.5c-.24.873-.57 1.707-1 2.5a4183 4183 0 0 1-152 .5 11.3 11.3 0 0 1-1.5-3.5 58052 58052 0 0 1 0-482 30 30 0 0 1 3.5-3"}),n.createElement("path",{d:"M717.5 423.5q71.002-.25 142 .5l1.5 1.5q.713 154.588.5 309 .27 6.043-2 11.5a2513 2513 0 0 1-141 1 6.98 6.98 0 0 1-3.5-2.5 37080 37080 0 0 1-1.5-314.5q-.099-4.63 4-6.5"}),n.createElement("path",{d:"M1360.5 487.5c2.13-.353 3.47.48 4 2.5-.74 4.181-1.57 8.348-2.5 12.5a13569 13569 0 0 1-34 102 27.2 27.2 0 0 0-1 8c1.33 1.838 3.16 2.838 5.5 3a937 937 0 0 1 86 0 4.95 4.95 0 0 1-.5 3 820 820 0 0 0-27 29q-50.445 59.205-100.5 119-5.535 6.54-12 12a3.6 3.6 0 0 1-1.5-1q-1.005-3 0-6a1048 1048 0 0 0 16-61c2.94-5.581 4.6-11.581 5-18l3-6a156.5 156.5 0 0 1 5-24 11.3 11.3 0 0 0-3.5-1.5l-90-1a3.6 3.6 0 0 1-1-1.5c49.72-57.045 99.38-114.045 149-171"},n.createElement("animate",{attributeName:"fill",values:`#00af78;${e==="dark"?"#ffffff":"#00785A"};#00af78`,dur:"2s",repeatCount:"indefinite"})),n.createElement("path",{className:"bar bar1",d:"M544.5 537.5q68.283-.426 136.5 1a2379 2379 0 0 1 1.5 96.5l-.5 92.5q-.918 3.798-4.5 2.5-50.249-64.14-122-103-8.75-1.76-14.5-8.5-1-39 0-78a30 30 0 0 1 3.5-3M721.5 777.5q60.628-.732 121 1.5 37.233 79.24 74.5 158.5 1 2 0 4a3116 3116 0 0 1-136.5.5 417 417 0 0 1-8.5-38.5 962 962 0 0 1-15-47 713 713 0 0 0-21-46 732 732 0 0 1-16-27q-1.122-3.51 1.5-6"}),n.createElement("path",{className:"bar bar2",d:"M879.5 777.5q93-.25 186 .5c18.83 33.513 43.5 62.179 74 86a144.6 144.6 0 0 1 23 16q13.5 5.88 25.5 14.5a574 574 0 0 1 22.5 45c-.33 1-.67 2-1 3-84.63-.161-169.3.006-254 .5q-3.752-3.208-6.5-7.5a2804 2804 0 0 1-8-20 252 252 0 0 1-13-24 3463 3463 0 0 0-23-53 1506 1506 0 0 1-27-55q-1.122-3.51 1.5-6"}),n.createElement("path",{className:"bar bar3",d:"M786.5 971.5q68.56.08 137 0a29.2 29.2 0 0 1 7 2.5 9467 9467 0 0 0 68.5 141.5c4 11.67 9.34 22.67 16 33 1.47 4.53-.2 6.87-5 7-86.772-.2-173.606-.37-260.5-.5-1.754-4.38-.921-8.22 2.5-11.5a411 411 0 0 1 10-25 578 578 0 0 0 10-32 99.6 99.6 0 0 1 5-22q2.12-21.06 5-42l1-48q1.478-1.971 3.5-3"}),n.createElement("path",{className:"bar bar4",d:"M970.5 971.5c83.58.74 167.25.74 251 0 2.73.182 5.39.682 8 1.5 18.09 35.51 36.26 71.01 54.5 106.5 7.67 13.67 15.33 27.33 23 41 2.16 3.76 2.82 7.76 2 12-10.9 7.75-22.4 14.59-34.5 20.5-2.92.99-5.92 1.65-9 2-68.48.48-136.82.65-205 .5-4.11-.08-7.28-1.74-9.5-5a3780 3780 0 0 0-67-140 71388 71388 0 0 1-12-28q-5.977-4.855-1.5-11"}),n.createElement("path",{d:"M83.5 1377.5a332.5 332.5 0 0 0 50.5 0c3.056.58 6.056 1.24 9 2a31209 31209 0 0 1 126.5 194 3.6 3.6 0 0 0 1.5-1c.652-63.71.652-127.37 0-191 .51-2.76 2.177-4.09 5-4a279.4 279.4 0 0 0 47 0c2.145-.1 3.979.56 5.5 2 .529 54.71.862 109.54 1 164.5l-.5 116.5c-.575 3.3-2.575 4.96-6 5a490 490 0 0 0-52 0q-5.74-1.74-10-6a14653 14653 0 0 0-125.5-193q-2.01 1.785-2 4.5a6168 6168 0 0 1 .5 191.5q-2.794 3.675-7.5 3a219.4 219.4 0 0 0-41 0q-5.057-.81-5.5-6c-.667-93.33-.667-186.67 0-280a19.2 19.2 0 0 0 3.5-2"}),n.createElement("path",{d:"M986.5 1377.5c17.32 1.09 34.66 1.25 52 .5 3.23 1.94 5.4 4.78 6.5 8.5 9.36 38.7 18.7 77.37 28 116 3.05 6.64 4.72 13.64 5 21 2.95 5.96 4.62 12.29 5 19 4.15 16.12 8.49 32.12 13 48 2.04-1.08 3.38-2.75 4-5 4.23-19.04 8.56-38.04 13-57 4.55-15.3 8.88-30.64 13-46 .76-4.32 1.43-8.65 2-13 4.33-15.33 8.66-30.66 13-46 2.08-12.15 4.75-24.15 8-36 .85-3.2 2.35-6.03 4.5-8.5 19.85-.22 39.68-.72 59.5-1.5 2.3-.01 4.47.49 6.5 1.5 6.53 21.92 12.37 44.09 17.5 66.5 2.94 6.32 4.61 12.99 5 20 3.56 15.24 7.89 30.24 13 45 2.47 11.74 5.14 23.41 8 35a7.4 7.4 0 0 0 2 3c2.38 11.75 5.04 23.41 8 35 1.33 3.33 3.16 6.33 5.5 9a2872 2872 0 0 1 27.5-111c.39-7.01 2.06-13.68 5-20 .39-7.01 2.06-13.68 5-20 .57-4.35 1.24-8.68 2-13 4.34-16 8.67-32 13-48l1.5-1.5c16.17-.29 32.34-.79 48.5-1.5q5.385-.045 10.5 1.5c.58.89.91 1.89 1 3-2.02 4.57-3.18 9.4-3.5 14.5-2.84 6-4.5 12.34-5 19a351 351 0 0 0-8 25c-2.97 11.6-5.63 23.27-8 35-2.56 8.31-5.23 16.65-8 25-.39 6.38-2.06 12.38-5 18a8809 8809 0 0 1-38 144q-4.725 2.91-10.5 3a410 410 0 0 0-56.5 0c-3.08-.44-5.91-1.44-8.5-3-8.05-31.19-16.88-62.19-26.5-93-.67-4-1.33-8-2-12-9.67-32.85-18.5-65.85-26.5-99-3.92 8.2-6.42 16.87-7.5 26-.72 2.45-1.72 4.78-3 7a2343 2343 0 0 1-28 109c-.72 2.45-1.72 4.78-3 7-4.17 18.07-8.51 36.07-13 54-4.52 3.47-9.69 4.8-15.5 4a685 685 0 0 0-55.5 0c-1.63-.38-3.13-1.04-4.5-2q-6-17.88-10.5-36c-10.91-43.39-21.91-86.73-33-130-2.88-5.97-4.54-12.31-5-19a32 32 0 0 1-3-7 4792 4792 0 0 0-18-75c-3.031-5.25-4.031-10.92-3-17 .995-.57 1.828-1.23 2.5-2"}),n.createElement("path",{d:"M1648.5 1406.5c16.35.64 32.68 1.3 49 2 1.4 1.35 2.06 3.02 2 5a255 255 0 0 0-.5 38c.5 1.17 1.33 2 2.5 2.5 16.33.33 32.67.67 49 1 .92.37 1.75.87 2.5 1.5.82 13.58.66 27.08-.5 40.5-17 .33-34 .67-51 1-1.17.5-2 1.33-2.5 2.5-.67 31.33-.67 62.67 0 94 2.29 23.73 15.12 33.23 38.5 28.5 4.85-3.25 10.02-4.08 15.5-2.5.64 13.67.98 27.34 1 41a11.4 11.4 0 0 1-4.5 3.5c-22.63 5.41-45.29 5.75-68 1-13.91-4.18-24.08-12.68-30.5-25.5-4.8-11.14-7.13-22.81-7-35-.65-34.59-.65-69.25 0-104-.32-1.56-1.15-2.73-2.5-3.5-9-.33-18-.67-27-1-.92-.37-1.75-.87-2.5-1.5-.21-11.69-.71-23.36-1.5-35 .19-3.23 1.85-5.06 5-5.5 9-.33 18-.67 27-1l1.5-1.5c.33-14.33.67-28.67 1-43 .98-1.31 2.15-2.31 3.5-3M1807.5 1406.5c9.18.78 18.35.78 27.5 0 7.6.35 15.1 1.18 22.5 2.5a980 980 0 0 1 1.5 43.5l1.5 1.5c15 .33 30 .67 45 1 1.17.5 2 1.33 2.5 2.5-.77 11.49-.61 22.99.5 34.5a23 23 0 0 1-2 5c-15 .33-30 .67-45 1-.92.37-1.75.87-2.5 1.5-.67 32.67-.67 65.33 0 98 1.84 19.84 12.68 28.67 32.5 26.5 4.83-.18 9.33-1.35 13.5-3.5 1.44.06 2.77.39 4 1a673 673 0 0 0 3.5 36c.38 2.82-.62 4.99-3 6.5-23.81 6.5-47.81 7.17-72 2-12.46-5.13-21.63-13.63-27.5-25.5-1.1-4.87-2.77-9.54-5-14-.33-3.33-.67-6.67-1-10-.33-39-.67-78-1-117l-1.5-1.5c-10.43-.05-20.77-.71-31-2-.66-6.59-.99-13.26-1-20 .01-6.74.34-13.41 1-20 10.26-1.26 20.59-1.93 31-2l1.5-1.5c.33-14 .67-28 1-42 .69-1.85 1.86-3.18 3.5-4"}),n.createElement("path",{d:"M878.5 1446.5c27.433-1.66 52.433 5.01 75 20 21.826 18.58 34.326 42.24 37.5 71 3.595 25.23 1.262 49.9-7 74-16.274 34.06-43.107 53.89-80.5 59.5q-48.019 5.13-88-21-30.077-28.71-35.5-70.5a400 400 0 0 1 0-40q13.828-84.585 98.5-93m1 47c25.457-.37 42.623 11.3 51.5 35q9.63 36.765-4 72-17.011 26.355-48.5 22.5a61.5 61.5 0 0 0-14-5c-7.087-4.96-12.92-11.13-17.5-18.5a28.9 28.9 0 0 0-5-11c-3.333-19.33-3.333-38.67 0-58 4.098-14.4 12.598-25.23 25.5-32.5q6.626-1.05 12-4.5"}),n.createElement("path",{d:"M447.5 1447.5c21.766-2.21 42.766.62 63 8.5 21.067 11.41 35.234 28.57 42.5 51.5q1.39 10.62 4 21a229.3 229.3 0 0 1 1 40c-1.171 1.39-2.671 2.23-4.5 2.5q-65.505.255-131 1.5c-2.062 4.18-2.229 8.51-.5 13 2.366 8.1 5.7 15.77 10 23 15.264 15.93 33.764 20.77 55.5 14.5 3.87-2.52 7.87-4.85 12-7 3.262-2.59 5.762-5.76 7.5-9.5a39.7 39.7 0 0 1 8-7 965 965 0 0 0 21.5 8.5q10.12 1.62 18.5 7.5c.667 1.67.667 3.33 0 5q-9.276 20.79-27.5 34.5c-23.698 14.22-49.365 19.55-77 16-51.283-10.29-80.116-41.45-86.5-93.5-.894-14.71-.56-29.37 1-44a86 86 0 0 0 4-18 125.3 125.3 0 0 1 10.5-23c7.797-11.96 17.464-22.13 29-30.5 12.242-7.13 25.242-11.96 39-14.5m14 42c25.166 1.33 39.166 14.5 42 39.5q-1.824 2.61-5 3a719 719 0 0 1-75-1q2.218-22.395 21-36a123 123 0 0 1 17-5.5"}),n.createElement("path",{d:"M1482.5 1447.5c14.73-.22 29.39.61 44 2.5 37.88 7.55 57.72 30.72 59.5 69.5.33 38 .67 76 1 114 1.99 9.92 2.66 19.92 2 30-.75.63-1.58 1.13-2.5 1.5-15.66-.53-31.33-.53-47 0-2.44-2.29-3.94-5.13-4.5-8.5-1.06-4.6-1.73-9.27-2-14a7.2 7.2 0 0 0-2.5-2c-4.34 5.21-9.01 10.04-14 14.5-26.31 16.05-54.31 19.72-84 11q-44.205-19.29-37.5-67.5a124 124 0 0 0 5-17c8.22-13.88 19.38-24.72 33.5-32.5 9.71-4.13 19.71-7.46 30-10 21.1-4.3 42.44-6.63 64-7 1.8-.64 3.14-1.8 4-3.5-1.04-7.84-2.88-15.5-5.5-23a34.4 34.4 0 0 1-6.5-7.5 31.4 31.4 0 0 1-8-5c-6.73-.84-13.4-2.01-20-3.5-5.98 1.27-11.98 2.44-18 3.5q-3.72 4.11-9 6c-1.8 3.1-3.97 5.94-6.5 8.5-1.37 5.77-3.7 11.1-7 16-.8 1.3-1.97 1.97-3.5 2a426 426 0 0 0-34-13.5c-3.12-1.97-6.28-3.81-9.5-5.5-.65-3.09-.32-6.09 1-9 9.52-23.19 26.36-38.35 50.5-45.5a221 221 0 0 1 27-4.5m28 122c6.92-.31 13.76.02 20.5 1 2.47 19.95-4.37 35.78-20.5 47.5-4.04.9-7.7 2.57-11 5q-16.545 4.515-33 0c-16.58-9.72-18.91-22.05-7-37 2.29-1.29 4.29-2.96 6-5 14.59-5.91 29.59-9.74 45-11.5"}),n.createElement("path",{d:"M578.5 1454.5q29.139-.72 58 1.5c1.167 1.17 2.333 2.33 3.5 3.5a800 800 0 0 0 34 54c1.667-1.33 3.333-2.67 5-4a337 337 0 0 1 18-30 182 182 0 0 0 16.5-23.5 222 222 0 0 1 29-1.5c8.667.17 17.333.33 26 .5q3.726 3.42.5 7.5a2217 2217 0 0 0-63.5 93.5 103.5 103.5 0 0 0 8.5 15.5 5919 5919 0 0 1 59 85c2.155 3.04 1.988 5.87-.5 8.5a457 457 0 0 0-51 .5q-3.55-.51-7-1.5a728 728 0 0 1-40-60.5c-2.341-1.21-4.507-.88-6.5 1a926 926 0 0 1-28 45 120 120 0 0 1-11.5 14.5l-7.5 1.5c-16.734-.89-33.4-1.23-50-1q-.411-4.725 2-9a2463 2463 0 0 0 67.5-97.5 9.6 9.6 0 0 0-1.5-4.5 1263 1263 0 0 1-46-69l-18-24q-1.615-5.115 3.5-6"}))))}const Ng=` -.logo-background-light, .logo-background-colored { - background: white; -} -.logo-background-dark, .logo-background-blue { - background: black; -} -`;function Lg(i){ye(()=>{if(!window.document.getElementById("vendor-iobroker-component")){const t=window.document.createElement("style");t.setAttribute("id","vendor-iobroker-component"),t.innerHTML=Ng,window.document.head.appendChild(t)}},[]);const e=i.themeType||i.themeName||"light";return n.createElement("div",{className:`vendor-logo-back logo-background-${e}`,style:{display:"flex",flexDirection:"column",height:"100%",width:"10%",margin:"auto",backgroundImage:i.backgroundImage&&i.backgroundImage!=="@@loginBackgroundImage@@"?i.backgroundImage:window.loadingBackgroundImage&&window.loadingBackgroundImage!=="@@loginBackgroundImage@@"?`url(${window.loadingBackgroundImage})`:void 0,backgroundColor:i.backgroundColor&&i.backgroundColor!=="@@loginBackgroundColor@@"?i.backgroundColor:window.loadingBackgroundColor&&window.loadingBackgroundColor!=="@@loginBackgroundColor@@"?window.loadingBackgroundColor:i.themeType==="dark"?"#000":"#FFF",backgroundSize:"cover"}},n.createElement("div",{style:{flexGrow:1}}),n.createElement(qi,{color:"secondary",size:i.size||200,thickness:5}),n.createElement("div",{style:{flexGrow:1}}))}const jg=` -/** - * Copyright 2018-2024 Denis Haev (bluefox) - * - * MIT License - * - **/ - -.logo-background-light, .logo-background-colored { - background: white; -} -.logo-background-dark, .logo-background-blue { - background: black; -} -.logo-div { - position: absolute; - top: 50%; - left: 50%; - -ms-transform: translateX(-50%) translateY(-50%); - -webkit-transform: translate(-50%,-50%); - transform: translate(-50%,-50%); - overflow: hidden; - border-radius: 50%; - z-index: 2; -} -.logo-border { - /*border-color: #164477;*/ - border-top-color: #3399CC; - border-left-color: #164477; - border-bottom-color: #164477; - border-right-color: #164477; - border-radius: 50%; - border-style: solid; - box-sizing: border-box; - width: 100%; - height: 100%; - position: absolute; -} -.logo-top { - position: absolute; - width: 4.5%; - height: 16%; - top: 0; - z-index: 2; -} -.logo-i { - position: absolute; - width: 14.5%; - height: 60%; - top: 20%; - left: 42%; - background: #3399CC; -} -.logo-i-top { - position: absolute; - width: 14.5%; - height: 4%; - left: 42%; - background: #3399CC; - border-radius: 100%; -} -.logo-back { - width: 100%; - height: 100%; - z-index: 0; - overflow: hidden; -} -@keyframes logo-grow { - 0% { - width: 230px; - height: 230px; - transform: translate(-50%,-50%) scale(1); - opacity: 1 - } - 99% { - width: 230px; - height: 230px; - transform: translate(-50%,-50%) scale(10); - opacity: 0; - } - 100% { - width: 0; - height: 0; - opacity: 0; - } -} -@keyframes logo-spin { 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } -@keyframes logo-color-inside-light { - 0% { - background: #FEFEFE; - } - 100% { - background: #3399CC; - } -} -@keyframes logo-color-inside-dark { - 0% { - background: #030303; - } - 100% { - background: #3399CC; - } -} -@keyframes logo-color-inside-colored { - 0% { - background: #FEFEFE; - } - 100% { - background: #3399CC; - } -} -@keyframes logo-color-inside-blue { - 0% { - background: #030303; - } - 100% { - background: #3399CC; - } -} - -@keyframes logo-color-outside-light { - 0% { - border-color: #FEFEFE; - } - 100% { - border-top-color: #3399CC; - border-left-color: #164477; - border-bottom-color: #164477; - border-right-color: #164477; - } -} -@keyframes logo-color-outside-dark { - 0% { - border-color: #040404; - } - 100% { - border-top-color: #3399CC; - border-left-color: #164477; - border-bottom-color: #164477; - border-right-color: #164477; - } -} -@keyframes logo-color-outside-colored { - 0% { - border-color: #FEFEFE; - } - 100% { - border-top-color: #3399CC; - border-left-color: #164477; - border-bottom-color: #164477; - border-right-color: #164477; - } -} -@keyframes logo-color-outside-blue { - 0% { - border-color: #040404; - } - 100% { - border-top-color: #3399CC; - border-left-color: #164477; - border-bottom-color: #164477; - border-right-color: #164477; - } -} - -.logo-animate-wait { - animation: logo-color-outside 1.5s, logo-spin 1.5s linear infinite; -} - -.logo-animate-grow-light { - background: #DDD; -} -.logo-animate-grow-dark { - background: #1d1d1d; -} -.logo-animate-grow-colored { - background: #DDD; -} -.logo-animate-grow-blue { - background: #1d1d1d; -} - -.logo-animate-grow { - display: inline-block; - text-align: center; - z-index: 1; - top: 50%; - left: 50%; - -ms-transform: translateX(-50%) translateY(-50%); - -webkit-transform: translate(-50%,-50%); - transform: translate(-50%,-50%); - width: 245px; - height: 245px; - border-radius: 50%; - position: absolute; - animation: logo-grow 1s 1 ease forwards; -} - -.logo-animate-color-inside-light { - animation: logo-color-inside-light 2.5s; -} -.logo-animate-color-inside-dark { - animation: logo-color-inside-dark 2.5s; -} -.logo-animate-color-inside-colored { - animation: logo-color-inside-colored 2.5s; -} -.logo-animate-color-inside-blue { - animation: logo-color-inside-blue 2.5s; -} - -.logo-animate-color-outside-light { - animation: logo-color-outside-light 1.5s; -} -.logo-animate-color-outside-dark { - animation: logo-color-outside-dark 1.5s; -} -.logo-animate-color-outside-colored { - animation: logo-color-outside-colored 1.5s; -} -.logo-animate-color-outside-blue { - animation: logo-color-outside-blue 1.5s; -} -`;function gg(i){ye(()=>{if(!window.document.getElementById("loader-iobroker-component")){const s=window.document.createElement("style");s.setAttribute("id","loader-iobroker-component"),s.innerHTML=jg,window.document.head.appendChild(s)}},[]);const e=i.size||234,t=i.themeName||i.theme||i.themeType||"light";return n.createElement("div",{className:`logo-back logo-background-${t}`,style:{backgroundImage:i.backgroundImage&&i.backgroundImage!=="@@loginBackgroundImage@@"?i.backgroundImage:window.loadingBackgroundImage&&window.loadingBackgroundImage!=="@@loginBackgroundImage@@"?`url(${window.loadingBackgroundImage})`:void 0,backgroundColor:i.backgroundColor&&i.backgroundColor!=="@@loginBackgroundColor@@"?i.backgroundColor:window.loadingBackgroundColor&&window.loadingBackgroundColor!=="@@loginBackgroundColor@@"?window.loadingBackgroundColor:void 0,backgroundSize:"cover"}},window.loadingHideLogo==="true"?null:n.createElement(n.Fragment,null,n.createElement("div",{className:"logo-div",style:{width:e,height:e}},n.createElement("div",{className:`logo-top logo-background-${t}`,style:{left:"37%"}}),n.createElement("div",{className:`logo-top logo-background-${t}`,style:{left:"57%"}}),n.createElement("div",{className:`logo-border logo-background-${t} logo-animate-wait`,style:{borderWidth:e*.132}}),n.createElement("div",{className:`logo-i logo-animate-color-inside-${t}`}),n.createElement("div",{className:`logo-i-top logo-animate-color-inside-${t}`,style:{top:"18%"}}),n.createElement("div",{className:`logo-i-top logo-animate-color-inside-${t}`,style:{bottom:"18%"}})),n.createElement("div",{className:`logo-animate-grow logo-animate-grow-${t}`,style:{width:e+11,height:e+11}})))}const Tg=` -.logo-background-light, .logo-background-colored { - background: white; -} -.logo-background-dark, .logo-background-blue { - background: black; -} -.pt-logo-div { - position: absolute; - top: 50%; - left: 50%; - -ms-transform: translateX(-50%) translateY(-50%); - -webkit-transform: translate(-50%,-50%); - transform: translate(-50%,-50%); - z-index: 2; -} -.pt-logo-border { - border-style: solid; - box-sizing: border-box; - width: 100%; - height: 100%; - position: absolute; -} -.pt-loader-block { - height: 65px; - width: 74px; - border-radius: 15px; - position: absolute; - box-sizing: content-box; -} -.pt-loader-blue { - border: 9px solid #0F99DE; - transform: rotate(5grad); - left: 93px; - top: 0; - animation: spin-blue 5s ease-in-out infinite; -} -.pt-loader-green { - border: 9px solid #88A536; - transform: rotate(-6grad); - left: 70px; - top: 58px; - animation: spin-green 5s ease-in-out infinite; -} -.pt-loader-red { - border: 9px solid #BD1B24; - transform: rotate(-15grad); - left: 24px; - top: 100px; - animation: spin-red 5s ease-in-out infinite; -} - -@keyframes spin-blue { - 0% { - transform: rotate(5deg); - } - 25% { - transform: rotate(185deg); - } - 50% { - transform: rotate(185deg); - } - 75% { - transform: rotate(185deg); - } - 100% { - transform: rotate(185deg); - } -} -@keyframes spin-green { - 0% { - transform: rotate(-6deg); - } - 25% { - transform: rotate(-6deg); - } - 50% { - transform: rotate(174deg); - } - 75% { - transform: rotate(174deg); - } - 100% { - transform: rotate(-6deg); - } -} -@keyframes spin-red { - 0% { - transform: rotate(-15deg); - } - 25% { - transform: rotate(-15deg); - } - 50% { - transform: rotate(-15deg); - } - 75% { - transform: rotate(165deg); - } - 100% { - transform: rotate(165deg); - } -} -`;function yg(i){const e=i.size||200;ye(()=>{if(!window.document.getElementById("pt-iobroker-component")){const s=window.document.createElement("style");s.setAttribute("id","pt-iobroker-component"),s.innerHTML=Tg,window.document.head.appendChild(s)}},[]);const t=i.themeType||i.themeName||"light";return n.createElement("div",{className:`pt-logo-back logo-background-${t}`,style:{backgroundImage:i.backgroundImage&&i.backgroundImage!=="@@loginBackgroundImage@@"?i.backgroundImage:window.loadingBackgroundImage&&window.loadingBackgroundImage!=="@@loginBackgroundImage@@"?`url(${window.loadingBackgroundImage})`:void 0,backgroundColor:i.backgroundColor&&i.backgroundColor!=="@@loginBackgroundColor@@"?i.backgroundColor:window.loadingBackgroundColor&&window.loadingBackgroundColor!=="@@loginBackgroundColor@@"?window.loadingBackgroundColor:i.themeType==="dark"?"#000":"#FFF",backgroundSize:"cover"}},n.createElement("div",{className:"pt-logo-div",style:{width:e,height:e}},n.createElement("div",{style:{width:200,height:200}},n.createElement("div",{className:"pt-loader-blue pt-loader-block"}),n.createElement("div",{className:"pt-loader-green pt-loader-block"}),n.createElement("div",{className:"pt-loader-red pt-loader-block"}))))}function Dg(i){const e=window.vendorPrefix;return e==="PT"?n.createElement(yg,{themeType:i.themeType}):e==="MV"?n.createElement(ug,{themeType:i.themeType}):e==="NW"?n.createElement(lg,{themeType:"dark"}):e&&e!=="@@vendorPrefix@@"?n.createElement(Lg,{themeType:i.themeType}):n.createElement(gg,{themeType:i.themeType})}class qs extends ze{onHashChangedBound;constructor(e){super(e),this.onHashChangedBound=this.onHashChanged.bind(this)}componentDidMount(){window.addEventListener("hashchange",this.onHashChangedBound)}componentWillUnmount(){window.removeEventListener("hashchange",this.onHashChangedBound)}onHashChanged(){}static getLocation(){let e=window.location.hash;e=e.replace(/^#/,"");const t=e.split("/").map(s=>{try{return s?decodeURIComponent(s):""}catch{return console.error(`Router: Cannot decode ${s}`),s}});return{tab:t[0]||"",dialog:t[1]||"",id:t[2]||"",arg:t[3]||""}}static doNavigate(e,t,s,r){let o="";const M=qs.getLocation();r!==void 0&&!s&&(s=M.id),s&&!t&&(t=M.dialog),(t&&!e||e===null)&&(e=M.tab),e&&(o=`#${e}`,t&&(o+=`/${t}`,s&&(o+=`/${s}`,r!==void 0&&(o+=`/${r}`)))),window.location.hash!==o&&(window.location.hash=o)}}function dg(){const i=document.getSelection();if(!(i!=null&&i.rangeCount))return()=>{};let e=document.activeElement;const t=[];for(let s=0;s{i.type==="Caret"&&i.removeAllRanges(),i.rangeCount||t.forEach(s=>i.addRange(s)),e&&e.focus()}}const An={"text/plain":"Text","text/html":"Url",default:"Text"},zg="Copy to clipboard: #{key}, Enter";function Ig(i){const e=`${/mac os x/i.test(navigator.userAgent)?"⌘":"Ctrl"}+C`;return i.replace(/#{\s*key\s*}/g,e)}function Pc(i,e){let t,s,r,o,M=!1;e=e||{};const a=e.debug||!1;try{if(t=dg(),s=document.createRange(),r=document.getSelection(),o=document.createElement("span"),o.textContent=i,o.ariaHidden="true",o.style.all="unset",o.style.position="fixed",o.style.top="0px",o.style.clip="rect(0, 0, 0, 0)",o.style.whiteSpace="pre",o.style.userSelect="text",o.addEventListener("copy",l=>{var N,c,L,j;if(l.stopPropagation(),e!=null&&e.format)if(l.preventDefault(),typeof l.clipboardData>"u"){a&&console.warn("unable to use e.clipboardData"),a&&console.warn("trying IE specific stuff"),(N=window.clipboardData)==null||N.clearData();const g=An[e.format]||An.default;(c=window.clipboardData)==null||c.setData(g,i)}else(L=l.clipboardData)==null||L.clearData(),(j=l.clipboardData)==null||j.setData(e.format,i)}),document.body.appendChild(o),s.selectNodeContents(o),r==null||r.addRange(s),!document.execCommand("copy"))throw new Error("copy command was unsuccessful");M=!0}catch(u){a&&console.error("unable to copy using execCommand: ",u),a&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(e.format||"text",i),M=!0}catch(l){a&&console.error("unable to copy using clipboardData: ",l),a&&console.error("falling back to prompt");const N=Ig("message"in e?e.message||"":zg);window.prompt(N,i)}}finally{r&&(s&&typeof r.removeRange=="function"?r.removeRange(s):r.removeAllRanges()),o&&document.body.removeChild(o),t&&t()}return M}class D{static translations={};static unknownTranslations=[];static lang=window.sysLang||"en";static _disableWarning=!1;static setLanguage(e){e&&(D.lang=e)}static extendTranslations(e,t){if(e.prefix){const s=e;if(typeof s.prefix=="string"){const r=s.prefix;delete s.prefix,Object.keys(s).forEach(o=>{const M=o,a={},u=s[M];Object.keys(u).forEach(l=>{l&&u&&(l.startsWith(r)?a[l]=u[l]:a[`${r}${l}`]=u[l])}),e[M]=a})}else console.warn("Found prefix in translations, but it is not a string")}try{if(!t)e.en&&e.de&&e.ru?Object.keys(e).forEach(s=>{const r=s;D.translations[r]=D.translations[r]||{};const o=D.translations[r];Object.assign(o,e[r])}):Object.keys(e).forEach(s=>{const r=e[s];Object.keys(r).forEach(o=>{const M=o,a=D.translations[M];a?a[s]?a[s]!==r[M]&&console.warn(`Translation for word "${s}" in "${M}" was ignored: existing = "${a[s]}", new = ${r[M]}`):a[s]=r[M]:console.warn(`Used unknown language: ${M}`)})});else{D.translations[t]||console.warn(`Used unknown language: ${t}`),D.translations[t]=D.translations[t]||{};const s=D.translations[t];s&&Object.keys(e).forEach(r=>{s[r]?s[r]!==e[r]&&console.warn(`Translation for word "${r}" in "${t}" was ignored: existing = "${s[r]}", new = ${e[r]}`):s[r]=e[r]})}}catch(s){console.error(`Cannot apply translations: ${s}`)}}static setTranslations(e){e&&(D.translations=e)}static getLanguage(){return D.lang}static t(e,...t){const s=D.translations[D.lang];if(s){const r=s[e];if(r)e=r;else if(D.unknownTranslations.includes(e)||(D.unknownTranslations.push(e),!D._disableWarning&&console.log(`Translate: ${e}`)),D.lang!=="en"&&D.translations.en){const o=D.translations.en[e];o&&(e=o)}}for(const r of t)e=e.replace("%s",r);return e}static i18nShow(e){const t={};e?typeof e=="string"?(D.unknownTranslations.forEach(s=>{s.startsWith(e)&&(t[s]=s.replace(e,""))}),console.log(JSON.stringify(t,null,2))):typeof e=="object"&&(D.unknownTranslations.forEach(s=>{e.test(s)&&(t[s]=s)}),console.log(JSON.stringify(t,null,2))):(D.unknownTranslations.forEach(s=>t[s]=s),console.log(JSON.stringify(t,null,2)))}static disableWarning(e){D._disableWarning=!!e}}window.i18nShow=D.i18nShow;window.i18nDisableWarning=D.disableWarning;const rt="material",hg=["Su","Mo","Tu","We","Th","Fr","Sa"],wg=["Jan","Feb","Mar","Apr","Mai","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],Or={0:"0x00 - good",1:"0x01 - general problem",2:"0x02 - no connection problem",16:"0x10 - substitute value from controller",32:"0x20 - substitute initial value",64:"0x40 - substitute value from device or instance",128:"0x80 - substitute value from sensor",17:"0x11 - general problem by instance",65:"0x41 - general problem by device",129:"0x81 - general problem by sensor",18:"0x12 - instance not connected",66:"0x42 - device not connected",130:"0x82 - sensor not connected",68:"0x44 - device reports error",132:"0x84 - sensor reports error"},mn={JVBERi0:"pdf",R0lGODdh:"gif",R0lGODlh:"gif",iVBORw0KGgo:"png","/9j/":"jpg",PHN2Zw:"svg",Qk1:"bmp",AAABAA:"ico"};class E{static namespace=rt;static INSTANCES="instances";static dateFormat=["DD","MM"];static FORBIDDEN_CHARS=/[^._\-/ :!#$%&()+=@^{}|~\p{Ll}\p{Lu}\p{Nd}]+/gu;static CapitalWords(e){return(e||"").split(/[\s_]/).filter(t=>t).map(t=>t?t[0].toUpperCase()+t.substring(1).toLowerCase():"").join(" ")}static formatSeconds(e){const t=Math.floor(e/86400);e%=3600*24;const s=Math.floor(e/3600).toString().padStart(2,"0");e%=3600;const r=Math.floor(e/60).toString().padStart(2,"0");e%=60;const o=Math.floor(e).toString().padStart(2,"0");let M="";return t&&(M+=`${t} ${D.t("ra_daysShortText")} `),M+=`${s}:${r}:${o}`,M}static getObjectName(e,t,s,r,o){var u;const M=e[t];let a;if(typeof s=="string"&&!r&&(r={language:s},s=null),r=r||{},r.language||(r.language=e["system.config"]&&e["system.config"].common&&e["system.config"].common.language||window.sysLang||"en"),s!=null&&s.name){const l=s.name;typeof l=="object"?a=r.language&&l[r.language]||l.en:a=l}else if(o&&((u=M==null?void 0:M.common)!=null&&u.desc)){const l=M.common.desc;typeof l=="object"?a=r.language&&l[r.language]||l.en||l.de||l.ru||"":a=l,a=(a||"").toString().replace(/[_.]/g," "),a===a.toUpperCase()&&(a=a[0]+a.substring(1).toLowerCase())}else if(!o&&(M!=null&&M.common)){const l=M.common.name||M.common.desc;l&&typeof l=="object"?a=r.language&&l[r.language]||l.en||l.de||l.ru||"":a=l,a=(a||"").toString().replace(/[_.]/g," "),a===a.toUpperCase()&&(a=a[0]+a.substring(1).toLowerCase())}else{const l=t.lastIndexOf(".");a=t.substring(l+1).replace(/[_.]/g," "),a=E.CapitalWords(a)}return(a==null?void 0:a.trim())||""}static getObjectNameFromObj(e,t,s,r,o){var u,l;const M=e;let a=(e==null?void 0:e._id)||"";if(typeof t=="string"&&!s&&(s={language:t},t=null),s=s||{},t!=null&&t.name){const N=t.name;typeof N=="object"?a=s.language&&N[s.language]||N.en:a=N}else if(r&&((u=M==null?void 0:M.common)!=null&&u.desc)){const N=M.common.desc;typeof N=="object"?a=s.language&&N[s.language]||N.en:a=N,a=(a||"").toString().replace(/[_.]/g," "),a===a.toUpperCase()&&(a=a[0]+a.substring(1).toLowerCase())}else if(!r&&((l=M==null?void 0:M.common)!=null&&l.name)){let N=M.common.name;!N&&M.common.desc&&(N=M.common.desc),typeof N=="object"?a=s.language&&N[s.language]||N.en:a=N,a=(a||"").toString().replace(/[_.]/g," "),a===a.toUpperCase()&&(a=a[0]+a.substring(1).toLowerCase())}return o?a:a.trim()}static getSettingsOrder(e,t,s){let r;e&&Object.prototype.hasOwnProperty.call(e,"common")?r=e.common:r=e;let o;if(r!=null&&r.custom){o=r.custom[rt];const M=s.user||"admin";if(o&&o[M]){if(t){if(o[M].subOrder&&o[M].subOrder[t])return JSON.parse(JSON.stringify(o[M].subOrder[t]))}else if(o[M].order)return JSON.parse(JSON.stringify(o[M].order))}}return null}static getSettingsCustomURLs(e,t,s){let r;e&&Object.prototype.hasOwnProperty.call(e,"common")?r=e.common:r=e;let o;if(r!=null&&r.custom){o=r.custom[rt];const M=s.user||"admin";if(o&&o[M]){if(t){if(o[M].subURLs&&o[M].subURLs[t])return JSON.parse(JSON.stringify(o[M].subURLs[t]))}else if(o[M].URLs)return JSON.parse(JSON.stringify(o[M].URLs))}}return null}static reorder(e,t,s){const r=Array.from(e),[o]=r.splice(t,1);return r.splice(s,0,o),r}static getSettings(e,t,s){let r;const o=(e==null?void 0:e._id)||(t==null?void 0:t.id);let M;if(e&&Object.prototype.hasOwnProperty.call(e,"common")?M=e.common:M=e,M!=null&&M.custom?(r=M.custom,r=r[rt]&&r[rt][t.user||"admin"]?JSON.parse(JSON.stringify(r[rt][t.user||"admin"])):{enabled:!0}):r={enabled:s===void 0?!0:s,useCustom:!1},Object.prototype.hasOwnProperty.call(r,"enabled")||(r.enabled=s===void 0?!0:s),t&&(!r.name&&t.name&&(r.name=t.name),!r.icon&&t.icon&&(r.icon=t.icon),!r.color&&t.color&&(r.color=t.color)),M&&(!r.color&&M.color&&(r.color=M.color),!r.icon&&M.icon&&(r.icon=M.icon),!r.name&&M.name&&(r.name=M.name)),typeof r.name=="object"&&(r.name=t.language&&r.name[t.language]||r.name.en,r.name=(r.name||"").toString().replace(/_/g," "),r.name===r.name.toUpperCase()&&(r.name=r.name[0]+r.name.substring(1).toLowerCase())),!r.name&&o){const a=o.lastIndexOf(".");r.name=o.substring(a+1).replace(/[_.]/g," "),r.name=(r.name||"").toString().replace(/_/g," "),r.name=E.CapitalWords(r.name)}return r}static setSettings(e,t,s){if(e){e.common=e.common||{},e.common.custom=e.common.custom||{},e.common.custom[rt]=e.common.custom[rt]||{},e.common.custom[rt][s.user||"admin"]=t;const r=e.common.custom[rt][s.user||"admin"];return r.useCommon&&(r.color!==void 0&&(e.common.color=r.color,delete r.color),r.icon!==void 0&&(e.common.icon=r.icon,delete r.icon),r.name!==void 0&&(typeof e.common.name!="object"&&s.language?e.common.name={[s.language]:r.name}:typeof e.common.name=="object"&&s.language&&(e.common.name[s.language]=r.name),delete r.name)),!0}return!1}static getIcon(e,t){return e!=null&&e.icon?e.icon.length<=2?n.createElement("span",{style:t||{}},e.icon):e.icon.startsWith("data:image")?n.createElement("img",{alt:e.name,src:e.icon,style:t||{}}):n.createElement("img",{alt:e.name,src:(e.prefix||"")+e.icon,style:t}):null}static getObjectIcon(e,t){var s;if(typeof e=="object"&&(t=e,e=t==null?void 0:t._id),(s=t==null?void 0:t.common)!=null&&s.icon){let r=t.common.icon;if(typeof r=="string"&&r.length<=2||r.startsWith("data:image"))return r;const o=e.split(".");return o[0]==="system"?r=`adapter/${o[2]}${r.startsWith("/")?"":"/"}${r}`:r=`adapter/${o[0]}${r.startsWith("/")?"":"/"}${r}`,window.location.pathname.match(/adapter\/[^/]+\/[^/]+\.html/)?r=`../../${r}`:window.location.pathname.match(/material\/[.\d]+/)?r=`../../${r}`:window.location.pathname.match(/material\//)&&(r=`../${r}`),r}return null}static splitCamelCase(e){return e?E.CapitalWords(e):""}static isUseBright(e,t){if(!e)return t===void 0?!0:t;e=e.toString(),e.startsWith("#")&&(e=e.slice(1));let s,r,o;const M=e.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i);if(M&&M.length===4)s=parseInt(M[1],10),r=parseInt(M[2],10),o=parseInt(M[3],10);else{if(e.length===3&&(e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]),e.length===8)e=e.substring(0,6);else if(e.length!==6)return!1;s=parseInt(e.slice(0,2),16),r=parseInt(e.slice(2,4),16),o=parseInt(e.slice(4,6),16)}return s*.299+r*.587+o*.114<=186}static getTimeString(e){if(e=parseFloat(e),Number.isNaN(e))return"--:--";const t=Math.floor(e/3600),s=Math.floor(e%3600/60).toString().padStart(2,"0"),r=(e%60).toString().padStart(2,"0");return t?`${t}:${s}:${r}`:`${s}:${r}`}static getWindDirection(e){return e>=0&&e<11.25?"N":e>=11.25&&e<33.75?"NNE":e>=33.75&&e<56.25?"NE":e>=56.25&&e<78.75?"ENE":e>=78.75&&e<101.25?"E":e>=101.25&&e<123.75?"ESE":e>=123.75&&e<146.25?"SE":e>=146.25&&e<168.75?"SSE":e>=168.75&&e<191.25?"S":e>=191.25&&e<213.75?"SSW":e>=213.75&&e<236.25?"SW":e>=236.25&&e<258.75?"WSW":e>=258.75&&e<281.25?"W":e>=281.25&&e<303.75?"WNW":e>=303.75&&e<326.25?"NW":e>=326.25&&e<348.75?"NNW":"N"}static padding(e){return typeof e=="string"?e.length<2?`0${e}`:e:e<10?`0${e}`:e.toString()}static setDataFormat(e){e&&(E.dateFormat=e.toUpperCase().split(/[.-/]/),E.dateFormat.splice(E.dateFormat.indexOf("YYYY"),1))}static date2string(e){if(typeof e=="string"){if(e=e.trim(),!e)return"";if(e.match(/^[\w\s]+$/))return e;const s=e.match(/(\d{1,4})[-./](\d{1,2})[-./](\d{1,4})/);if(s){const r=[parseInt(s[1],10),parseInt(s[2],10),parseInt(s[3],10)],o=r.find(M=>M>31);if(o!==void 0){r.splice(r.indexOf(o),1);const M=r.find(a=>a>12);M?(r.splice(r.indexOf(M),1),e=new Date(o,r[0]-1,M)):E.dateFormat[0][0]==="M"&&E.dateFormat[1][0]==="D"?(e=new Date(o,r[0]-1,r[1]),Math.abs(e.getTime()-Date.now())>36e5*24*10&&(e=new Date(o,r[1]-1,r[0]))):E.dateFormat[0][0]==="D"&&E.dateFormat[1][0]==="M"?(e=new Date(o,r[1]-1,r[0]),Math.abs(e.getTime()-Date.now())>36e5*24*10&&(e=new Date(o,r[0]-1,r[1]))):e=new Date(e)}else e=new Date(e)}else e=new Date(e)}else e=new Date(e);let t=D.t(`ra_dow_${hg[e.getDay()]}`).replace("ra_dow_","");return t+=`. ${e.getDate()} ${D.t(`ra_month_${wg[e.getMonth()]}`).replace("ra_month_","")}`,t}static renderTextWithA(e){let t=e.match(/||[^<]+<\/b>|[^<]+<\/i>/);if(t){const s=[];let r=1;do{const o=e.substring(0,t.index);if(e=e.substring((t.index||0)+t[0].length),o&&s.push(n.createElement("span",{key:`a${r++}`},o)),t[0].startsWith(""))s.push(n.createElement("b",{key:`a${r++}`},t[0].substring(3,t[0].length-4)));else if(t[0].startsWith(""))s.push(n.createElement("i",{key:`a${r++}`},t[0].substring(3,t[0].length-4)));else if(t[0].startsWith("([^<]*)||[^<]+<\/b>|[^<]+<\/i>/):null,!t&&e&&s.push(n.createElement("span",{key:`a${r++}`},e))}while(t);return s}return e}static getSmartName(e,t,s,r){var M,a;if(!t){if(!r)return!e.common||e&&!e.common?e.smartName:e.common.smartName;if(e&&!e.common)return e.smartName;const u=e;return(M=u==null?void 0:u.common)!=null&&M.custom&&u.common.custom[s]?u.common.custom[s].smartName:void 0}if(!r)return e[t].common.smartName;const o=e[t];return(a=o==null?void 0:o.common)!=null&&a.custom&&o.common.custom[s]&&o.common.custom[s].smartName||null}static getSmartNameFromObj(e,t,s){var o,M;if(!s)return!e.common||e&&!e.common?e.smartName:e.common.smartName;if(e&&!e.common)return e.smartName;const r=(M=(o=e==null?void 0:e.common)==null?void 0:o.custom)==null?void 0:M[t];return r?r.smartName:void 0}static enableSmartName(e,t,s){const r=e;s?(r.common.custom||={},r.common.custom[t]||={},r.common.custom[t].smartName={}):r.common.smartName={}}static removeSmartName(e,t,s){var o,M;const r=e;s?(M=(o=r==null?void 0:r.common)==null?void 0:o.custom)!=null&&M[t]&&(r.common.custom[t]=null):r.common.smartName=null}static updateSmartName(e,t,s,r,o,M){var l,N;const a=D.getLanguage(),u=e;if(typeof u.common.smartName=="string"){const c=u.common.smartName;u.common.smartName={},u.common.smartName[a]=c}if((l=u.native)!=null&&l.byON){delete u.native.byON;let c=u.common.smartName;c&&typeof c!="object"&&(c={en:c,[a]:c}),u.common.smartName=c}if(r!==void 0&&(M?(u.common.custom||={},u.common.custom[o]||={},u.common.custom[o].smartName||={},r?u.common.custom[o].smartName.smartType=r:delete u.common.custom[o].smartName.smartType):(u.common.smartName||={},r?u.common.smartName.smartType=r:delete u.common.smartName.smartType)),s!==void 0&&(M?(u.common.custom||={},u.common.custom[o]||={},u.common.custom[o].smartName||={},u.common.custom[o].smartName.byON=s):(u.common.smartName||={},u.common.smartName.byON=s)),t!==void 0){let c;if(M?(u.common.custom||={},u.common.custom[o]||={},u.common.custom[o].smartName||={},c=u.common.custom[o].smartName):(u.common.smartName||={},c=u.common.smartName),c[a]=t,c&&(!c[a]||c[a]===u.common.name&&!u.common.role)){delete c[a];let L=!0;for(const j in c)if(Object.prototype.hasOwnProperty.call(c,j)){L=!1;break}if(L)if(M&&((N=u.common.custom)!=null&&N[o]))u.common.custom[o].smartName.byON===void 0?delete u.common.custom[o]:(delete u.common.custom[o].en,delete u.common.custom[o].de,delete u.common.custom[o].ru,delete u.common.custom[o].nl,delete u.common.custom[o].pl,delete u.common.custom[o].it,delete u.common.custom[o].fr,delete u.common.custom[o].pt,delete u.common.custom[o].es,delete u.common.custom[o].uk,delete u.common.custom[o]["zh-cn"]);else if(u.common.smartName&&u.common.smartName.byON!==void 0){const j=u.common.smartName;delete j.en,delete j.de,delete j.ru,delete j.nl,delete j.pl,delete j.it,delete j.fr,delete j.pt,delete j.es,delete j.uk,delete j["zh-cn"]}else u.common.smartName=null}}}static updateSmartNameEx(e,t){var o,M,a,u;const s=D.getLanguage(),r=e;if(typeof r.common.smartName=="string"){const l=r.common.smartName;r.common.smartName={},r.common.smartName[s]=l}if((o=r.native)!=null&&o.byON){delete r.native.byON;let l=r.common.smartName;l&&typeof l!="object"&&(l={en:l,[s]:l}),r.common.smartName=l}if(t.smartType!==void 0&&(t.noCommon?(r.common.custom||={},r.common.custom[t.instanceId]||={},r.common.custom[t.instanceId].smartName||={},t.smartType?r.common.custom[t.instanceId].smartName.smartType=t.smartType:delete r.common.custom[t.instanceId].smartName.smartType):(r.common.smartName||={},t.smartType?r.common.smartName.smartType=t.smartType:delete r.common.smartName.smartType)),t.byON!==void 0&&(t.noCommon?(r.common.custom||={},r.common.custom[t.instanceId]||={},r.common.custom[t.instanceId].smartName||={},r.common.custom[t.instanceId].smartName.byON=t.byON):(r.common.smartName||={},r.common.smartName.byON=t.byON)),t.noAutoDetect!==void 0&&(t.noCommon?t.noAutoDetect?(r.common.custom||={},r.common.custom[t.instanceId]||={},r.common.custom[t.instanceId].smartName||={},r.common.custom[t.instanceId].smartName.noAutoDetect=t.noAutoDetect):(a=(M=r.common.custom)==null?void 0:M[t.instanceId])!=null&&a.smartName&&delete r.common.custom[t.instanceId].smartName.noAutoDetect:!t.noAutoDetect&&r.common.smartName?delete r.common.smartName.noAutoDetect:(r.common.smartName||={},r.common.smartName.noAutoDetect=t.noAutoDetect)),t.smartName!==void 0){let l;if(t.noCommon?(r.common.custom||={},r.common.custom[t.instanceId]||={},r.common.custom[t.instanceId].smartName||={},l=r.common.custom[t.instanceId].smartName):(r.common.smartName||={},l=r.common.smartName),l[s]=t.smartName,l&&(!l[s]||l[s]===r.common.name&&!r.common.role)){delete l[s];let N=!0;for(const c in l)if(Object.prototype.hasOwnProperty.call(l,c)){N=!1;break}if(N)if(t.noCommon&&((u=r.common.custom)!=null&&u[t.instanceId]))r.common.custom[t.instanceId].smartName.byON===void 0?delete r.common.custom[t.instanceId]:(delete r.common.custom[t.instanceId].en,delete r.common.custom[t.instanceId].de,delete r.common.custom[t.instanceId].ru,delete r.common.custom[t.instanceId].nl,delete r.common.custom[t.instanceId].pl,delete r.common.custom[t.instanceId].it,delete r.common.custom[t.instanceId].fr,delete r.common.custom[t.instanceId].pt,delete r.common.custom[t.instanceId].es,delete r.common.custom[t.instanceId].uk,delete r.common.custom[t.instanceId]["zh-cn"]);else if(r.common.smartName&&r.common.smartName.byON!==void 0){const c=r.common.smartName;delete c.en,delete c.de,delete c.ru,delete c.nl,delete c.pl,delete c.it,delete c.fr,delete c.pt,delete c.es,delete c.uk,delete c["zh-cn"]}else r.common.smartName=null}}}static disableSmartName(e,t,s){const r=e;s?(r.common.custom||={},r.common.custom[t]||={},r.common.custom[t].smartName=!1):r.common.smartName=!1}static copyToClipboard(e,t){return t&&(t.stopPropagation(),t.preventDefault()),Pc(e)}static getFileExtension(e){const t=(e||"").lastIndexOf(".");return t!==-1?e.substring(t+1).toLowerCase():null}static formatBytes(e){if(Math.abs(e)<1024)return`${e} B`;const t=["KB","MB","GB"];let s=-1;do e/=1024,++s;while(Math.abs(e)>=1024&&s186?`#000000${s||""}`:`#FFFFFF${s||""}`;const a=(255-r).toString(16),u=(255-o).toString(16),l=(255-M).toString(16);return`#${a.padStart(2,"0")}${u.padStart(2,"0")}${l.padStart(2,"0")}${s||""}`}static color2rgb(e){if(e==null||e===""||typeof e!="string")return!1;if(e.startsWith("rgba")){const t=e.match(/rgba?\((\d+),\s*(\d+),\s*(\d+),\s*([.\d]+)\)/);t&&(e=parseInt(t[1],10).toString(16).padStart(2,"0")+parseInt(t[2],10).toString(16).padStart(2,"0")+parseInt(t[2],10).toString(16).padStart(2,"0"))}else if(e.startsWith("rgb")){const t=e.match(/rgb?\((\d+),\s*(\d+),\s*(\d+)\)/);t&&(e=parseInt(t[1],10).toString(16).padStart(2,"0")+parseInt(t[2],10).toString(16).padStart(2,"0")+parseInt(t[2],10).toString(16).padStart(2,"0"))}else e.startsWith("#")&&(e=e.slice(1));return e.length===3&&(e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]),e.length!==6&&e.length!==8?(console.warn(`Cannot invert color: ${e}`),!1):[parseInt(e.slice(0,2),16),parseInt(e.slice(2,4),16),parseInt(e.slice(4,6),16)]}static rgb2lab(e){let t=e[0]/255,s=e[1]/255,r=e[2]/255;t=t>.04045?((t+.055)/1.055)**2.4:t/12.92,s=s>.04045?((s+.055)/1.055)**2.4:s/12.92,r=r>.04045?((r+.055)/1.055)**2.4:r/12.92;let o=(t*.4124+s*.3576+r*.1805)/.95047,M=t*.2126+s*.7152+r*.0722,a=(t*.0193+s*.1192+r*.9505)/1.08883;return o=o>.008856?o**.33333333:7.787*o+.137931,M=M>.008856?M**.33333333:7.787*M+.137931,a=a>.008856?a**.33333333:7.787*a+.137931,[116*M-16,500*(o-M),200*(M-a)]}static colorDistance(e,t){const s=E.color2rgb(e),r=E.color2rgb(t);if(!s||!r)return 0;const o=E.rgb2lab(s),M=E.rgb2lab(r),a=o[0]-M[0],u=o[1]-M[1],l=o[2]-M[2],N=Math.sqrt(o[1]*o[1]+o[2]*o[2]),c=Math.sqrt(M[1]*M[1]+M[2]*M[2]),L=N-c;let j=u*u+l*l-L*L;j=j<0?0:Math.sqrt(j);const g=1+.045*N,y=1+.015*N,d=a,h=L/g,m=j/y,w=d*d+h*h+m*m;return w<0?0:w}static _toVal(e){let t,s="";if(typeof e=="string"||typeof e=="number")s+=e;else if(typeof e=="object")if(Array.isArray(e))for(let r=0;r{if(s=s.trim(),s){const r=s.split("="),o=decodeURIComponent(r[0]).trim();if(r.length>1){const M=decodeURIComponent(r[1]);if(M==="true")t[o]=!0;else if(M==="false")t[o]=!1;else{const a=parseFloat(M);a.toString()===M?t[o]=a:t[o]=M}}else t[o]=!0}}),t}static getParentId(e){const t=(e||"").toString().split(".");return t.length>1?(t.pop(),t.join(".")):null}static formatDate(e,t){if(!e)return"";let s;const r=(e.getMonth()+1).toString().padStart(2,"0"),o=e.getDate().toString().padStart(2,"0");return t==="MM/DD/YYYY"?s=`${r}/${o}/${e.getFullYear()}`:s=`${e.getFullYear()}-${r}-${o}`,s+=` ${e.getHours().toString().padStart(2,"0")}:${e.getMinutes().toString().padStart(2,"0")}:${e.getSeconds().toString().padStart(2,"0")}.${e.getMilliseconds().toString().padStart(3,"0")}`,s}static formatTime(e){if(e){e=Math.round(e);const t=Math.floor(e/(3600*24)),s=Math.floor(e%(3600*24)/3600),r=Math.floor(e%3600/60),o=e%60;return t?`${t}.${s.toString().padStart(2,"0")}:${r.toString().padStart(2,"0")}:${o.toString().padStart(2,"0")}`:s?`${s}:${r.toString().padStart(2,"0")}:${o.toString().padStart(2,"0")}`:`0:${r.toString().padStart(2,"0")}:${o.toString().padStart(2,"0")}`}return"0:00:00"}static MDtext2link(e){const t=e.match(/\d+\.\)\s/);return t&&(e=e.replace(t[0],t[0].replace(/\s/," "))),e.replace(/[^a-zA-Zа-яА-Я0-9]/g,"").trim().replace(/\s/g,"").toLowerCase()}static openLink(e,t){e=e.replace(/\/\/([0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*)(:\d+)?\//i,"//[$1]$2/"),t==="this"?window.location.href=e:window.open(e,t||"_blank")}static MDgetTitle(e){var o;const t=E.MDextractHeader(e),s=t.header;let r=t.body;if(!s.title){r=r.replace(/{[^}]*}/g,""),r=r.trim();const M=r.replace(/\r/g,"").split(` -`);for(let a=0;a{if(!M.trim())return;const a=M.indexOf(":");if(a!==-1){const u=M.substring(0,a).trim();let l=M.substring(a+1).trim();l=l.replace(/^['"]|['"]$/g,""),l==="true"?t[u]=!0:l==="false"?t[u]=!1:parseFloat(l).toString()===t[u]?t[u]=parseFloat(l):t[u]=l}else t[M.trim()]=!0}),e=e.substring(s+7))}return{header:t,body:e}}static MDremoveDocsify(e){const t=e.match(/{docsify-[^}]*}/g);return t&&t.forEach(s=>e=e.replace(s,"")),e}static generateFile(e,t){const s=document.createElement("a");s.setAttribute("href",`data:application/json;charset=utf-8,${encodeURIComponent(JSON.stringify(t,null,2))}`),s.setAttribute("download",e),s.style.display="none",document.body.appendChild(s),s.click(),document.body.removeChild(s)}static quality2text(e){const t=e&4294901760,s=Or[e];let r;return s?r=[s]:e&1?r=[Or[1],`0x${(e&65534).toString(16)}`]:e&2?r=[Or[2],`0x${(e&65533).toString(16)}`]:r=[`0x${e.toString(16)}`],t&&r.push(`0x${(t>>16).toString(16).toUpperCase()}`),r}static clone(e){return JSON.parse(JSON.stringify(e))}static getStates(e){var r;const t=(r=e==null?void 0:e.common)==null?void 0:r.states;let s;if(t)if(typeof t=="string"&&t[0]==="{")try{s=JSON.parse(t)}catch{console.error(`Cannot parse states: ${t}`),s=null}else if(typeof t=="string"){const o=t.split(";");s={};for(let M=0;Ms[M]=o):(e==null?void 0:e.common.type)==="string"?t.forEach(o=>s[o]=o):(e==null?void 0:e.common.type)==="boolean"&&(s.false=t[0],s.true=t[1])):typeof t=="object"&&(s=t);return s||null}static async getSvg(e){const s=await(await fetch(e)).blob();return new Promise(r=>{const o=new FileReader;o.onload=()=>{var M;return r(((M=o.result)==null?void 0:M.toString())||"")},o.readAsDataURL(s)})}static detectMimeType(e){const t=Object.keys(mn).find(s=>e.startsWith(s));return t?mn[t]:null}static isStableRepository(e){return!!(typeof e=="string"&&e.toLowerCase().startsWith("stable")||e&&typeof e!="string"&&e.find(t=>t.toLowerCase().startsWith("stable")))}static isStringInteger(e){return typeof e=="number"?Math.round(e)===e:parseInt(e,10).toString()===e}static isValidDate(e){return e instanceof Date&&!isNaN(e)}static getStyle(e,...t){const s={};for(let r=0;r{if(typeof t[r][o]=="function")s[o]=t[r][o](e);else if(typeof t[r][o]=="object"){const M=t[r][o];s[o]={},Object.keys(M).forEach(a=>{typeof M[a]=="function"?s[o][a]=M(e):(M[a]||M[a]===0)&&(s[o][a]=M[a])})}else(t[r][o]||t[r][o]===0)&&(s[o]=t[r][o])});return s}}const Er={buttonIcon:{marginRight:8}};class Cg extends n.Component{isIFrame;constructor(e){super(e);const t=e.newReact===void 0?!0:e.newReact;if(e.isIFrame!==void 0)this.isIFrame=e.isIFrame;else try{this.isIFrame=!t&&window.self!==window.top}catch{this.isIFrame=!t}}render(){const e=this.props.noTextOnButtons,t={borderRadius:this.props.theme.saveToolbar.button.borderRadius||3,height:this.props.theme.saveToolbar.button.height||32},s={bottom:this.isIFrame?38:0,left:this.props.paddingLeft||0,right:0,position:"absolute",background:this.props.theme.saveToolbar.background};return this.props.dense&&(s.minHeight=48),this.props.error&&(t.border="1px solid red"),n.createElement(Ua,{style:s},n.createElement(Ct,{variant:"extended","aria-label":"Save",disabled:!this.props.changed||this.props.error,onClick:()=>this.props.onSave(!1),style:t},n.createElement(Jr,{style:e?void 0:Er.buttonIcon}),!e&&D.t("ra_Save")),n.createElement(Ct,{variant:"extended","aria-label":"Save and close",disabled:!this.props.changed||this.props.error,onClick:()=>this.props.onSave(!0),style:{...t,marginLeft:10}},n.createElement(Jr,{style:e?void 0:Er.buttonIcon}),e?"+":D.t("ra_Save and close"),e&&n.createElement(ge,null)),n.createElement("div",{style:{flexGrow:1}}),n.createElement(Ct,{variant:"extended","aria-label":"Close",onClick:()=>this.props.onClose(),style:t},n.createElement(ge,{style:e?void 0:Er.buttonIcon}),!e&&D.t("ra_Close")))}}const pn={suppress:{fontSize:12},suppressRoot:{marginTop:"16px"}};class Wc extends ze{constructor(e){if(super(e),!this.props.dialogName&&this.props.suppressQuestionMinutes)throw new Error("dialogName required if suppressQuestionMinutes used");let t=!1;this.props.suppressQuestionMinutes&&(t=parseInt((window._localStorage||window.localStorage).getItem(this.props.dialogName),10)||0,t?Date.now()>t&&((window._localStorage||window.localStorage).removeItem(this.props.dialogName),t=!1):t=!1),this.state={suppress:t}}handleOk(){this.state.suppress&&(window._localStorage||window.localStorage).setItem(this.props.dialogName,Date.now()+(this.props.suppressQuestionMinutes||2)*6e4),this.props.onClose&&this.props.onClose(!0)}handleCancel(){this.props.onClose&&this.props.onClose(!1)}render(){return typeof this.state.suppress=="number"?(setTimeout(()=>this.props.onClose&&this.props.onClose(!0),100),null):n.createElement(de,{open:!0,maxWidth:"md",fullWidth:this.props.fullWidth!==void 0?this.props.fullWidth:!0,onClose:(e,t)=>{t!=="backdropClick"&&t!=="escapeKeyDown"&&this.handleCancel()},"aria-labelledby":"ar_confirmation_dialog_title","aria-describedby":"ar_confirmation_dialog_description"},n.createElement(he,{id:"ar_confirmation_dialog_title"},this.props.title||D.t("ra_Are you sure?")),n.createElement(Ae,null,n.createElement(Jt,{id:"ar_confirmation_dialog_description"},this.props.icon||null,this.props.text,this.props.suppressQuestionMinutes?n.createElement("br",null):null,this.props.suppressQuestionMinutes?n.createElement(H,{sx:{"& .FormControlLabel-label":pn.suppress,"&.FormControlLabel-root":pn.suppressRoot},control:n.createElement(ne,{id:`ar_dialog_confirm_suppress_${this.props.dialogName||""}`,checked:!!this.state.suppress,onChange:()=>this.setState({suppress:!this.state.suppress})}),label:this.props.suppressText||D.t("ra_Suppress question for next %s minutes",(this.props.suppressQuestionMinutes||2).toString())}):null)),n.createElement(me,null,n.createElement(X,{id:`ar_dialog_confirm_ok_${this.props.dialogName||""}`,variant:"contained",onClick:()=>this.handleOk(),color:"primary",autoFocus:!0,startIcon:n.createElement(Ue,null)},this.props.ok||D.t("ra_Ok")),n.createElement(X,{id:`ar_dialog_confirm_cancel_${this.props.dialogName||""}`,variant:"contained",onClick:()=>this.handleCancel(),color:"grey",startIcon:n.createElement(ge,null)},this.props.cancel||D.t("ra_Cancel"))))}}class Rc extends ze{handleOk(){this.props.onClose&&this.props.onClose()}render(){return n.createElement(de,{open:!0,maxWidth:"sm",fullWidth:this.props.fullWidth!==void 0?this.props.fullWidth:!0,onClose:()=>this.handleOk(),"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description"},n.createElement(he,{id:"ar_alert_dialog_title"},this.props.title||D.t("ra_Error")),n.createElement(Ae,null,n.createElement(Jt,{id:"ar_alert_dialog_description"},this.props.text||D.t("ra_Unknown error!"))),n.createElement(me,null,n.createElement(X,{id:"ar_dialog_error_ok",variant:"contained",onClick:()=>this.handleOk(),color:"primary",autoFocus:!0,startIcon:n.createElement(Ue,null)},D.t("ra_Ok"))))}}const Ag="Actions",mg="Append",pg="Cancel",Og="Categories",Eg="Checked",_g="Delete",fg="Close",Sg="Commercial",xg="Configure",kg="Connected",Yg="Continue",Qg="Copied",Ug="Create",vg="Crop",bg="Delete",$g="Delete",Pg="Discard",Wg="Disconnected",Rg="Error",Jg="Filter",Bg="Friday",Gg="Latitude",Fg="Logout",Hg="Longitude",Vg="Message",Zg="Monday",Xg="Name",Kg="Objects",qg="Ok",eT="Product",tT="Rename/Move/Copy",sT="Repeat",iT="Replace",rT="Root",oT="Saturday",MT="Save",nT="Selected",aT="States",cT="Sunday",uT="Thursday",lT="Timestamp",NT="Tuesday",LT="Update",jT="Valid till",gT="Value",TT="Version",yT="Wednesday",DT="Width",dT="Yes",zT="different",IT="Everyone can read object",hT="Everyone can read state",wT="Everyone can write object",CT="Everyone can write state",AT="Group can read object",mT="Group can read state",pT="Group can write object",OT="Group can write state",ET="Owner can read object",_T="Owner can read state",fT="Owner can write object",ST="Owner can write state",xT="Buttons",kT="Changed from",YT="close",QT="Create boolean state",UT="Create channel",vT="Create device",bT="Create number state",$T="Create state",PT="Create string state",WT="days",RT="Fr",JT="Mo",BT="Sa",GT="Su",FT="Th",HT="Tu",VT="We",ZT="Expert mode",XT="FALSE",KT="All files",qT="Audio",ey="Code/JSON",ty="Images",sy="Text",iy="Video",ry="Settings",oy="without",My="Function",ny="ID",ay="Name",cy="Role",uy="Room",ly="Type",Ny="Invalid settings",Ly="Last change",jy="locally",gy="Apr",Ty="Aug",yy="Dec",Dy="Feb",dy="Jan",zy="Jul",Iy="Jun",hy="Mai",wy="Mar",Cy="Nov",Ay="Oct",my="Sep",py="Apr",Oy="Aug",Ey="Dec",_y="Feb",fy="Jan",Sy="Jul",xy="Jun",ky="Mai",Yy="Mar",Qy="Nov",Uy="Oct",vy="Sep",by="none",$y="Object changed by",Py="Object last changed at",Wy="Settings from other adapter %s",Ry="Quality code",Jy="repeat",By='To select folder, just hold the key "shift" by clicking the folder.',Gy="Show all",Fy="State changed by",Hy="Object changed from",Vy="Timestamp",Zy="Acknowledged",Xy="Comment",Ky="Copy the state value",qy="Hold Cltr/⌘ key to open the link",eD="Custom settings",tD="Delete object",sD="Edit object",iD="Edit the state value",rD="Expires in",oD="From",MD="Last changed",nD="Quality",aD="Time stamp",cD="User",uD="Value",lD="TRUE",ND="Value",LD="Warning: The CRON job will run every minute during the specified period!",jD="Warning: The CRON job will run every second during the specified period!",gD="CRON",TD="Date",yD="Dates",DD="Day",dD="Day of week",zD="Every",ID="every N days",hD="every Nth day of the week",wD="every N day of week",CD="every N hours",AD="every N minutes",mD="every N months",pD="every N seconds",OD="every day",ED="every day of the week",_D="every day of the week",fD="every hour",SD="every minute",xD="every month",kD="every second",YD="From",QD="Hours",UD="Interval",vD="Interval between",bD="Invalid CRON",$D="Minutes",PD="months",WD="Once",RD="Period",JD="Seconds",BD="Simple",GD="Specific time",FD="specific dates",HD="specific day(s) of the week",VD="specific day of weeks",ZD="specific hours",XD="specific minutes",KD="specific months",qD="specific seconds",ed="Time",td="To",sd="Wizard",id="all",rd="Astro day",od="Astro night",Md="Dawn",nd="Dusk",ad="Golden hour",cd="Golden hour end",ud="Nadir",ld="Nautical dawn",Nd="Nautical dusk",Ld="Night",jd="Night end",gd="Solar noon",Td="Sunrise",yd="Sunrise end",Dd="Sunset",dd="Sunset start",zd="at",Id="at %s",hd="every day",wd="every hour",Cd="every minute",Ad="every month",md="every %s day",pd="every %s hours",Od="every %s minutes",Ed="every %s months",_d="every %s weeks",fd="every %s years",Sd="every week",xd="every year",kd="from %s to %s",Yd="never",Qd="on %s of %s",Ud="on %s and %s of",vd="on every date of",bd="%s",$d="%s and %s",Pd="on %s",Wd="on %s and %s",Rd="on weekends",Jd="on working days",Bd="will ne be not executed any more, because start is in the past",Gd="on %s",Fd="from %s",Hd="Execute from to",Vd="to %s",Zd="every",Xd="Specific time",Kd="from",qd="From-to",e1="Interval time",t1="invert",s1="none",i1="on",r1="Period",o1="Daily",M1="Dates",n1="Day",a1="Every",c1="Every day",u1="Every month",l1="Every week",N1="Every year",L1="Hours",j1="Minutes",g1="month",T1="Monthly",y1="Once",D1="Specific months",d1="Week",z1="Weekdays",I1="Weekend",h1="Weekly",w1="Workdays",C1="Year",A1="Yearly",m1="Specific time",p1="Time",O1="to",E1="Valid",_1="from",f1="to",S1="Whole day",x1="every month",k1={"ra_%s links from aliases":"%s links from aliases","ra_%s object(s) processed":"%s object(s) processed","ra_%s was imported":"%s was imported","ra_Accept license":"Accept license",ra_Actions:Ag,"ra_Add new child object to selected parent":"Add new child object to selected parent","ra_Add objects tree from JSON file":"Add objects tree from JSON file","ra_Add row":"Add row","ra_Advanced options":"Advanced options","ra_All items are filtered out":"All items are filtered out","ra_All objects":"All objects",ra_Append:mg,"ra_Append %s entries or replace existing?":"Append %s entries or replace existing?","ra_Append or replace?":"Append or replace?","ra_Are you sure?":"Are you sure?","ra_Auto (no custom columns)":"Auto (no custom columns)","ra_Back to %s":"Back to %s","ra_Background image":"Background image",ra_Cancel:pg,"ra_Cannot add items with set filter":"Cannot add items with set filter","ra_Cannot decode license":"Cannot decode license","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"Cannot determine position: System settings are empty and GPS detection is disabled in browser",'ra_Cannot find "%s"':'Cannot find "%s"','ra_Cannot read "%s"':'Cannot read "%s"',"ra_Cannot read licenses: %s":"Cannot read licenses: %s","ra_Cannot retrieve options, as instance is offline":"Cannot retrieve options, as instance is offline","ra_Cannot update attribute, because not found in the object":"Cannot update attribute, because not found in the object","ra_Cannot upload":"Cannot upload",ra_Categories:Og,"ra_Chained certificate":"Chained certificate","ra_Change color theme":"Change color theme","ra_Changed from":"Changed from","ra_Channel → State":"Channel → State","ra_Check license":"Check license",ra_Checked:Eg,ra_Clear:_g,"ra_Clear filter":"Clear filter","ra_Clear icon":"Clear icon","ra_Click to show":"Click to show","ra_Clone current row":"Clone current row",ra_Close:fg,"ra_Collapse all nodes":"Collapse all nodes","ra_Collapse one step node":"Collapse one level",ra_Commercial:Sg,ra_Configure:xg,"ra_Configure visible columns":"Configure visible columns","ra_Confirm deletion of %s":"Confirm deletion of %s",ra_Connected:kg,ra_Continue:Yg,ra_Copied:Qg,"ra_Copied %s":'Copied "%s"',"ra_Copy content":"Copy content",ra_Create:Ug,"ra_Create alias":"Create alias","ra_Create folder":"Create folder","ra_Create new folder in %s":"Create new folder in %s",ra_Crop:vg,"ra_Define CRON...":"Define CRON...","ra_Define functions":"Define functions","ra_Define rooms":"Define rooms","ra_Define schedule":"Define schedule","ra_Define schedule...":"Define schedule...",ra_Del:bg,ra_Delete:$g,"ra_Delete current row":"Delete current row","ra_Deselect all":"Unselect all","ra_Device → Channel → State":"Device → Channel → State","ra_Disable/Enable translation":"Disable/Enable translation",ra_Discard:Pg,ra_Disconnected:Wg,"ra_Do not ask for next 2 hours in this session":"Do not ask for next 2 hours in this session","ra_Do not export values of states":"Do not export values of states","ra_Do not use let's encrypt":"Do not use let's encrypt","ra_Docker is not available":"Docker is not available","ra_Docker is not installed or not running":"Docker is not installed or not running","ra_Double click to reset table layout":"Double click to reset table layout","ra_Drag 'n' drop some files here, or click to select files":"Drag 'n' drop some files here, or click to select files","ra_Drop file here":"Drop file here","ra_Drop the files here...":"Drop the file here...","ra_Duplicate name":"Duplicate name","ra_Edit ACL":"Edit ACL","ra_Edit alias":"Edit alias","ra_Edit custom config":"Edit custom config","ra_Edit full path":"Edit full path","ra_Edit function":"Edit function","ra_Edit object field":"Edit object field","ra_Edit role":"Edit role","ra_Edit room":"Edit room","ra_Edit value":"Edit value","ra_Enter the code from that page here":"Enter the code from that page here",ra_Error:Rg,"ra_Expand all nodes":"Expand all nodes","ra_Expand one step node":"Expand one level","ra_Expand/Collapse card":"Expand/Collapse card","ra_Export configuration section":"Export configuration section","ra_Export data to %s file":"Export data to %s file","ra_Failed to open JSON File":"Failed to open JSON File","ra_Fallback custom certificates":"Fallback custom certificates","ra_File is too big. Max %sk allowed. Try use SVG.":"File is too big. Max %sk allowed. Try use SVG.",ra_Filter:Jg,"ra_Filter and Data Actions":"Filter and Data Actions","ra_Filter files":"Filter files","ra_Folder name":"Folder name","ra_Folder → Channel → State":"Folder → Channel → State","ra_Folder → Device → Channel → State":"Folder → Device → Channel → State","ra_Folder → State":"Folder → State","ra_Folders always first":"Folders always first",ra_Friday:Bg,"ra_From file":"From file","ra_From text":"From text","ra_Get %s access":"Get %s access","ra_Good luck":"Good luck","ra_Hide empty folders":"Hide empty folders","ra_If no file will be created in the folder, it will disappear after the browser closed":"If no file will be created in the folder, it will disappear after the browser closed","ra_If the button above does not work, you can authorize manually this app by visiting this url":"If the button above does not work, you can authorize manually this app by visiting this url","ra_Import and add configuration section":"Import and add configuration section","ra_Import and replace configuration section":"Import and replace configuration section","ra_Import data from %s file":"Import data from %s file","ra_Import from %s":"Import from %s","ra_Instance %s is alive":"Instance %s is alive","ra_Instance %s is not alive":"Instance %s is not alive","ra_Instance is not alive":"Instance is not alive","ra_Invalid CRON":"Invalid CRON","ra_Invalid JSON":"Invalid JSON","ra_Invalid JSON file.":"Invalid JSON file.","ra_Invalid JSON format. Expected an array.":"Invalid JSON format. Expected an array.","ra_Invalid answer from server":"Invalid answer from server","ra_Invalid parent folder!":"Invalid parent folder!","ra_Invalid structure":"Invalid structure","ra_JSON editor":"JSON editor","ra_Last change":"Last change",ra_Latitude:Gg,"ra_License %s":"License %s","ra_License agreement":"License agreement","ra_License does not exist":"License does not exist","ra_License expired on %s":"License expired on %s",'ra_License for other product "%s"':'License for other product "%s"',"ra_License is for version %s, but required version is %s.":"License is for version %s, but required version is %s.","ra_License must be converted":"License must be converted to newer version. You can do it in your iobroker.net profile.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"License not found in the license manager. Do you want to update licenses from iobroker.net?","ra_Listen on all IPs":"Listen on all IPs","ra_Load configuration from file":"Load configuration from file",ra_Logout:Fg,ra_Longitude:Hg,'ra_May not trigger "updateLicenses"':'May not trigger "updateLicenses"',ra_Message:Vg,ra_Monday:Zg,"ra_Move down":"Move down","ra_Move up":"Move up",ra_Name:Xg,"ra_No data found in file":"No data found in file","ra_No one license found in license manager":"No one license found in license manager","ra_No response from admin":"No response from admin","ra_No response from the backend":"No response from the backend",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':'Non-experts may create new objects only in "0_userdata.0" or "alias.0".',"ra_Not a number":"Not a number",ra_Objects:Kg,ra_Ok:qg,"ra_On weekdays":"On weekdays","ra_Only following structures of objects are available:":"Only following structures of objects are available:","ra_Only selected":"Only selected","ra_Owner group":"Owner group","ra_Owner user":"Owner user","ra_Passwords are not equal!":"Passwords are not equal!","ra_Place your files here or click here to open the browse dialog":"Place your files here or click here to open the browse dialog","ra_Please allow popups in your browser for this page!":"Please allow popups in your browser for this page!","ra_Please confirm":"Please confirm","ra_Please create license":"Please create license","ra_Please enter the license":"Please enter the license","ra_Please select file...":"Please select file...","ra_Please select object ID...":"Please select object ID...","ra_Port could be used by %s":"Port could be used by %s","ra_Port is already used by %s":"Port is already used by %s","ra_Press ENTER Key to add new item":"Press ENTER Key to add new item","ra_Private certificate":"Private certificate",ra_Product:eT,"ra_Public certificate":"Public certificate","ra_Quality code":"Quality","ra_Refresh tree":"Refresh tree","ra_Reload files":"Reload files",ra_Rename_Move_Copy:tT,"ra_Renew %s access":"Renew %s access",ra_Repeat:sT,ra_Replace:iT,"ra_Request timed out":"Request timed out","ra_Restrict to folder":"Restrict to folder",ra_Root:rT,ra_Saturday:oT,ra_Save:MT,"ra_Save and close":"Save and close","ra_Save configuration to file":"Save configuration to file","ra_Save objects tree as JSON file":"Save objects tree as JSON file","ra_Select all":"Select all","ra_Select color":"Select color","ra_Select predefined icon":"Select predefined icon","ra_Select type of export":"Select type of export",ra_Selected:nT,"ra_Selected %s object(s)":"Selected %s object(s)","ra_Serial number (UUID)":"Serial number (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':'Serial number (UUID) "%s" in license is for other device.',"ra_Session will expire in %s seconds. Continue?":"Session will expire in %s seconds. Continue?","ra_Show all folders":"Show all folders","ra_Show lines between rows":"Show lines between rows","ra_Show/Hide object descriptions":"Show/Hide object descriptions","ra_Show/hide filter input":"Show/hide filter input","ra_Some data are not stored. Discard?":"Some data are not stored. Discard?",ra_States:aT,"ra_Successfully authorized. Token valid till %s and will be automatically renewed.":"Successfully authorized. Token valid till %s and will be automatically renewed.","ra_Successfully authorized. Token valid till %s but it can expire as the instance is not running.":"Successfully authorized. Token valid till %s but it can expire as the instance is not running.","ra_Suitable license not found in license manager":"Suitable license not found in license manager",ra_Sunday:cT,"ra_Suppress question for next %s minutes":"Suppress question for next %s minutes","ra_System language":"System language","ra_Take browser position":"Take position from browser","ra_Take position from system settings":"Take position from system settings",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':'The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").',"ra_The page you are looking for was not found":"The page you are looking for was not found","ra_The schedule will be executed every minute. Are you sure?":"The schedule will be executed every minute. Are you sure?","ra_The schedule will be executed every second. Are you sure?":"The schedule will be executed every second. Are you sure?",ra_Thursday:uT,ra_Timestamp:lT,"ra_Toggle expert mode":"Toggle expert mode","ra_Toggle the states view":"Toggle the states view","ra_Toggle view mode":"Toggle view mode","ra_Too big":"Too big","ra_Too small":"Too small","ra_Transparent dialog":"Transparent dialog",ra_Tuesday:NT,"ra_Unknown error":"Unknown error","ra_Unknown error!":"Unknown error!",ra_Update:LT,"ra_Upload file":"Upload file","ra_Use all available let's encrypt certificates":"Use all available let's encrypt certificates","ra_Use iobroker.acme adapter for letsencrypt certificates":"Use iobroker.acme adapter for letsencrypt certificates","ra_Use system settings for position":"Use system settings for position","ra_Used system settings":"Used system settings","ra_User files":"User files",ra_ValidTill:jT,ra_Value:gT,ra_Version:TT,"ra_View file":"View file","ra_View: %s":"View: %s",ra_Wednesday:yT,ra_Width:DT,"ra_YAML editor":"YAML editor",ra_Yes:dT,"ra_You can export all objects or just the selected branch.":"You can export all objects or just the selected branch.","ra_You can filter entries by entering here some text":"You can filter entries by entering here some text","ra_You can use * as wildcard":"You can use * as wildcard",ra___different__:zT,ra_aclEveryone_read_object:IT,ra_aclEveryone_read_state:hT,ra_aclEveryone_write_object:wT,ra_aclEveryone_write_state:CT,ra_aclGroup_read_object:AT,ra_aclGroup_read_state:mT,ra_aclGroup_write_object:pT,ra_aclGroup_write_state:OT,ra_aclOwner_read_object:ET,ra_aclOwner_read_state:_T,ra_aclOwner_write_object:fT,ra_aclOwner_write_state:ST,ra_buttons:xT,ra_changedFrom:kT,ra_close:YT,ra_create_boolean_state:QT,ra_create_channel:UT,ra_create_device:vT,ra_create_number_state:bT,ra_create_state:$T,ra_create_string_state:PT,ra_daysShortText:WT,ra_dow_Fr:RT,ra_dow_Mo:JT,ra_dow_Sa:BT,ra_dow_Su:GT,ra_dow_Th:FT,ra_dow_Tu:HT,ra_dow_We:VT,ra_expertMode:ZT,ra_false:XT,ra_fileType_all:KT,ra_fileType_audio:qT,ra_fileType_code:ey,ra_fileType_images:ty,ra_fileType_txt:sy,ra_fileType_video:iy,"ra_fileType_video,":"Video",ra_filter_customs:ry,ra_filter_customs_without:oy,ra_filter_func:My,ra_filter_id:ny,ra_filter_name:ay,ra_filter_role:cy,ra_filter_room:uy,ra_filter_type:ly,"ra_import data from %s file":"Import data from %s file",ra_invalidConfig:Ny,ra_lastChange:Ly,ra_locally:jy,ra_month_Apr:gy,ra_month_Aug:Ty,ra_month_Dec:yy,ra_month_Feb:Dy,ra_month_Jan:dy,ra_month_Jul:zy,ra_month_Jun:Iy,ra_month_Mai:hy,ra_month_Mar:wy,ra_month_Nov:Cy,ra_month_Oct:Ay,ra_month_Sep:my,ra_months_Apr:py,ra_months_Aug:Oy,ra_months_Dec:Ey,ra_months_Feb:_y,ra_months_Jan:fy,ra_months_Jul:Sy,ra_months_Jun:xy,ra_months_Mai:ky,ra_months_Mar:Yy,ra_months_Nov:Qy,ra_months_Oct:Uy,ra_months_Sep:vy,"ra_no confirm for 5 mins":"no confirm for 5 mins",ra_none:by,ra_object_changed_by:$y,ra_object_changed_by_user:Py,ra_otherConfig:Wy,ra_qualityCode:Ry,ra_repeat:Jy,ra_select_folder_hint:By,ra_show_all:Gy,ra_state_changed_by:Fy,ra_state_changed_from:Hy,ra_timestamp:Vy,ra_tooltip_ack:Zy,ra_tooltip_comment:Xy,ra_tooltip_copyState:Ky,ra_tooltip_ctrlForLink:qy,ra_tooltip_customConfig:eD,ra_tooltip_deleteObject:tD,ra_tooltip_editObject:sD,ra_tooltip_editState:iD,ra_tooltip_expire:rD,ra_tooltip_from:oD,ra_tooltip_lc:MD,ra_tooltip_quality:nD,ra_tooltip_ts:aD,ra_tooltip_user:cD,ra_tooltip_value:uD,ra_true:lD,"ra_use seconds":"use seconds",ra_val:ND,"ra_via internet":"via internet",ra_warning_every_minute:LD,ra_warning_every_second:jD,sc_cron:gD,sc_date:TD,sc_dates:yD,sc_dow:DD,sc_dows:dD,sc_every:zD,sc_everyN_dates:ID,sc_everyN_dow:hD,sc_everyN_dows:wD,sc_everyN_hours:CD,sc_everyN_minutes:AD,sc_everyN_months:mD,sc_everyN_seconds:pD,sc_every_dates:OD,sc_every_dow:ED,sc_every_dows:_D,sc_every_hours:fD,sc_every_minutes:SD,sc_every_months:xD,sc_every_seconds:kD,sc_from:YD,sc_hours:QD,sc_interval:UD,sc_intervalBetween:vD,sc_invalid_cron:bD,sc_minutes:$D,sc_months:PD,sc_once:WD,sc_period:RD,sc_seconds:JD,sc_simple:BD,sc_specific:GD,sc_specific_dates:FD,sc_specific_dow:HD,sc_specific_dows:VD,sc_specific_hours:ZD,sc_specific_minutes:XD,sc_specific_months:KD,sc_specific_seconds:qD,sc_time:ed,sc_to:td,sc_wizard:sd,sch_all:id,sch_astroDay:rd,sch_astroNight:od,sch_astro_dawn:Md,sch_astro_dusk:nd,sch_astro_goldenHour:ad,sch_astro_goldenHourEnd:cd,sch_astro_nadir:ud,sch_astro_nauticalDawn:ld,sch_astro_nauticalDusk:Nd,sch_astro_night:Ld,sch_astro_nightEnd:jd,sch_astro_solarNoon:gd,sch_astro_sunrise:Td,sch_astro_sunriseEnd:yd,sch_astro_sunset:Dd,sch_astro_sunsetStart:dd,sch_at:zd,sch_desc_atTime:Id,sch_desc_everyDay:hd,sch_desc_everyHour:wd,sch_desc_everyMinute:Cd,sch_desc_everyMonth:Ad,sch_desc_everyNDay:md,sch_desc_everyNHours:pd,sch_desc_everyNMinutes:Od,sch_desc_everyNMonths:Ed,sch_desc_everyNWeeks:_d,sch_desc_everyNYears:fd,sch_desc_everyWeek:Sd,sch_desc_everyYear:xd,sch_desc_intervalFromTo:kd,sch_desc_never:Yd,sch_desc_onDate:Qd,sch_desc_onDates:Ud,sch_desc_onEveryDate:vd,sch_desc_onMonth:bd,sch_desc_onMonths:$d,sch_desc_onWeekday:Pd,sch_desc_onWeekdays:Wd,sch_desc_onWeekends:Rd,sch_desc_onWorkdays:Jd,sch_desc_onceInPast:Bd,sch_desc_once_on:Gd,sch_desc_validFrom:Fd,sch_desc_validFromTo:Hd,sch_desc_validTo:Vd,sch_every:Zd,sch_exactTime:Xd,sch_from:Kd,sch_fromTo:qd,sch_intervalTime:e1,sch_invert:t1,sch_no_one:s1,sch_on:i1,sch_period:r1,sch_periodDaily:o1,sch_periodDates:M1,sch_periodDay:n1,sch_periodEvery:a1,sch_periodEveryDay:c1,sch_periodEveryMonth:u1,sch_periodEveryWeek:l1,sch_periodEveryYear:N1,sch_periodHours:L1,sch_periodMinutes:j1,sch_periodMonth:g1,sch_periodMonthly:T1,sch_periodOnce:y1,sch_periodSpecificMonths:D1,sch_periodWeek:d1,sch_periodWeekdays:z1,sch_periodWeekend:I1,sch_periodWeekly:h1,sch_periodWorkdays:w1,sch_periodYear:C1,sch_periodYearly:A1,sch_specificTime:m1,sch_time:p1,sch_to:O1,sch_valid:E1,sch_validFrom:_1,sch_validTo:f1,sch_wholeDay:S1,sch_yearEveryMonth:x1},Y1="Aktionen",Q1="Anhängen",U1="Abbrechen",v1="Kategorien",b1="Geprüft",$1="Löschen",P1="Schließen",W1="Kommerziell",R1="Konfigurieren",J1="Verbunden",B1="Weitermachen",G1="Kopiert",F1="Erstellen",H1="Ernte",V1="Entf",Z1="Löschen",X1="Verwerfen",K1="Getrennt",q1="Fehler",ez="Filter",tz="Freitag",sz="Breite",iz="Ausloggen",rz="Längengrad",oz="Meldung",Mz="Montag",nz="Name",az="Objekte",cz="OK",uz="Produkt",lz="Umbenennen/Verschieben/Kopieren",Nz="Wiederholen",Lz="Ersetzen",jz="Anfang",gz="Samstag",Tz="Speichern",yz="Ausgewählt",Dz="Zustände",dz="Sonntag",zz="Donnerstag",Iz="Zeitstempel",hz="Dienstag",wz="Aktualisieren",Cz="Gültig bis",Az="Wert",mz="Ausführung",pz="Mittwoch",Oz="Breite",Ez="Ja",_z="unterschiedlich",fz="Jeder kann Objekt lesen",Sz="Jeder kann Zustand lesen",xz="Jeder kann ein Objekt schreiben",kz="Jeder kann Zustand schreiben",Yz="Gruppe kann Objekt lesen",Qz="Gruppe kann Status lesen",Uz="Gruppe kann Objekt schreiben",vz="Gruppe kann Status schreiben",bz="Besitzer kann Objekt lesen",$z="Besitzer kann Zustand lesen",Pz="Besitzer kann Objekt schreiben",Wz="Besitzer kann Zustand schreiben",Rz="Tasten",Jz="Geändert von",Bz="Schließen",Gz="Booleschen Zustand erstellen",Fz="Kanal erstellen",Hz="Gerät erstellen",Vz="Nummern-Zustand erstellen",Zz="Zustand erstellen",Xz="String-Zustand erstellen",Kz="T.",qz="Fr",eI="Mo",tI="Sa",sI="So",iI="Do",rI="Di",oI="Mi",MI="Expertenmodus",nI="FALSCH",aI="Alle Dateien",cI="Audio",uI="Code/JSON",lI="Bilder",NI="Text",LI="Video",jI="Einstellungen",gI="ohne",TI="Funktion",yI="ID",DI="Name",dI="Rolle",zI="Raum",II="Typ",hI="Ungültige Einstellungen",wI="Letzte Änderung",CI="örtlich",AI="Apr",mI="Aug",pI="Dez",OI="Feb",EI="Jan",_I="Jul",fI="Jun",SI="Mai",xI="Mär",kI="Nov",YI="Okt",QI="Sep",UI="Apr",vI="Aug",bI="Dez",$I="Feb",PI="Jan",WI="Jul",RI="Jun",JI="Mai",BI="Mär",GI="Nov",FI="Okt",HI="Sep",VI="kein",ZI="Objekt geändert von",XI="Objekt zuletzt geändert um",KI="Einstellungen von anderen Adaptern %s",qI="Qualitätscode",eh="wiederholen",th='Um einen Ordner auszuwählen, halten Sie einfach die Taste "Shift" gedrückt, indem Sie auf den Ordner klicken.',sh="Alle anzeigen",ih="Zustand geändert durch",rh="Objekt geändert von",oh="Zeitstempel",Mh="Bestätigt",nh="Kommentar",ah="Statuswert kopieren",ch="Strg/⌘-Taste gedrückt halten, um den Link zu öffnen",uh="Benutzerdefinierte Einstellungen",lh="Objekt löschen",Nh="Objekt bearbeiten",Lh="Statuswert bearbeiten",jh="Läuft ab in",gh="Von",Th="Zuletzt geändert",yh="Qualität",Dh="Zeitstempel",dh="Benutzer",zh="Wert",Ih="WAHR",hh="Wert",wh="Achtung: Der CRON-Job wird im angegebenen Zeitraum jede Minute ausgeführt!",Ch="Achtung: Der CRON-Job wird im angegebenen Zeitraum jede Sekunde ausgeführt!",Ah="CRON",mh="Datum",ph="Tage",Oh="Tag",Eh="Wochentage",_h="Jeden",fh="alle N Tage",Sh="jeden x-ten Tag der Woche",xh="alle N Wochentage",kh="alle N Stunden",Yh="alle N Minuten",Qh="alle N Monate",Uh="alle N Sekunden",vh="jeden Tag",bh="jeden Tag der Woche",$h="jeden Tag der Woche",Ph="jede Stunde",Wh="jede Minute",Rh="jeden Monat",Jh="jede Sekunde",Bh="Von",Gh="Stunden",Fh="Intervall",Hh="Intervall zwischen",Vh="Ungültiger CRON",Zh="Minuten",Xh="Monate",Kh="Einmal",qh="Zeitraum",ew="Sekunden",tw="Einfach",sw="Bestimmte Zeit",iw="bestimmte Tage",rw="bestimmte(r) Tag(e) der Woche",ow="bestimmten Wochentag",Mw="bestimmte Stunden",nw="bestimmte Minuten",aw="bestimmte Monate",cw="bestimmte Sekunden",uw="Zeit",lw="Bis",Nw="Wizard",Lw="alle",jw="Astronomischer Tag",gw="Astronomische Nacht",Tw="Morgendämmerung",yw="Abenddämmerung",Dw="Goldene Stunde",dw="Goldene Stundenende",zw="Nadir",Iw="Nautische Morgendämmerung",hw="Nautische Abenddämmerung",ww="Nacht",Cw="Nachtende",Aw="Sonnenmittag",mw="Sonnenaufgang",pw="Sonnenaufgangende",Ow="Sonnenuntergang",Ew="Sonnenuntergangstart",_w="am",fw="um %s",Sw="jeden Tag",xw="jede Stunde",kw="jede Minute",Yw="jeden Monat",Qw="jeden %s Tag",Uw="alle %s Stunden",vw="alle %s Minuten",bw="alle %s Monate",$w="alle %s Wochen",Pw="alle %s Jahre",Ww="jede Woche",Rw="jedes Jahr",Jw="von %s bis %s",Bw="noch nie",Gw="am %s von %s",Fw="am %s und %s von",Hw="an jedem Datum von",Vw="%s",Zw="%s und %s",Xw="auf %s",Kw="auf %s und %s",qw="an Wochenenden",eC="an Werktagen",tC="wird nicht mehr ausgeführt, weil der Start in der Vergangenheit ist",sC="auf %s",iC="von %s",rC="Ausführen von bis",oC="bis %s",MC="jeden",nC="Bestimmte Zeit",aC="von",cC="Von bis",uC="Zeitintervall",lC="umkehren",NC="keiner",LC="am",jC="Zeitraum",gC="Täglich",TC="Daten",yC="Tag",DC="Jeden",dC="Jeden Tag",zC="Jeden Monat",IC="Jede Woche",hC="Jedes Jahr",wC="Stunden",CC="Minuten",AC="Monat",mC="Monatlich",pC="Einmal",OC="Bestimmte Monate",EC="Woche",_C="Wochentage",fC="Wochenende",SC="Wöchentlich",xC="Arbeitstage",kC="Jahr",YC="Jährlich",QC="Bestimmte Zeit",UC="Zeit",vC="zu",bC="Gültigkeit",$C="von",PC="bis",WC="Ganzer Tag",RC="jeden Monat",JC={"ra_%s links from aliases":"%s Links von Aliasen","ra_%s object(s) processed":"%s Objekt(e) verarbeitet","ra_%s was imported":"%s wurde importiert","ra_Accept license":"Lizenz akzeptieren",ra_Actions:Y1,"ra_Add new child object to selected parent":"Dem ausgewählten übergeordneten Objekt ein neues untergeordnetes Objekt hinzufügen","ra_Add objects tree from JSON file":"Objektbaum aus JSON-Datei hinzufügen","ra_Add row":"Zeile hinzufügen","ra_Advanced options":"Erweiterte Optionen","ra_All items are filtered out":"Alle Elemente sind herausgefiltert","ra_All objects":"Alle Objekte",ra_Append:Q1,"ra_Append %s entries or replace existing?":"%s Einträge anhängen oder vorhandene ersetzen?","ra_Append or replace?":"Anhängen oder ersetzen?","ra_Are you sure?":"Bist du sicher?","ra_Auto (no custom columns)":"Auto (keine benutzerdefinierten Spalten)","ra_Back to %s":"Zurück zu %s","ra_Background image":"Hintergrundbild",ra_Cancel:U1,"ra_Cannot add items with set filter":"Elemente mit festgelegtem Filter können nicht hinzugefügt werden","ra_Cannot decode license":"Lizenz kann nicht entschlüsselt werden","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"Position kann nicht bestimmt werden: Die Systemeinstellungen sind leer und die GPS-Erkennung ist im Browser deaktiviert",'ra_Cannot find "%s"':'Kann "%s" nicht finden','ra_Cannot read "%s"':'"%s" kann nicht gelesen werden',"ra_Cannot read licenses: %s":"Lizenzen können nicht gelesen werden: %s","ra_Cannot retrieve options, as instance is offline":"Optionen können nicht abgerufen werden, da die Instanz offline ist","ra_Cannot update attribute, because not found in the object":"Attribut kann nicht aktualisiert werden, da es nicht im Objekt gefunden wurde","ra_Cannot upload":"Kann nicht hochladen",ra_Categories:v1,"ra_Chained certificate":"Chained Zertifikat","ra_Change color theme":"Farbthema ändern","ra_Changed from":"Geändert von","ra_Channel → State":"Kanal → Zustand","ra_Check license":"Lizenz prüfen",ra_Checked:b1,ra_Clear:$1,"ra_Clear filter":"Filter löschen","ra_Clear icon":"Symbol löschen","ra_Click to show":"Zum Anzeigen klicken","ra_Clone current row":"Aktuelle Zeile klonen",ra_Close:P1,"ra_Collapse all nodes":"Alle Knoten zuklappen","ra_Collapse one step node":"Eine Ebene zuklappen",ra_Commercial:W1,ra_Configure:R1,"ra_Configure visible columns":"Spalten Konfigurieren","ra_Confirm deletion of %s":"Das Löschen von %s bestätigen",ra_Connected:J1,ra_Continue:B1,ra_Copied:G1,"ra_Copied %s":'"%s" kopiert',"ra_Copy content":"Inhalte kopieren",ra_Create:F1,"ra_Create alias":"Alias erstellen","ra_Create folder":"Ordner erstellen","ra_Create new folder in %s":'Neuen Ordner in "%s" erstellen',ra_Crop:H1,"ra_Define CRON...":"Definieren Sie CRON ...","ra_Define functions":"Funktionen definieren","ra_Define rooms":"Räume definieren","ra_Define schedule":"Zeitplan definieren","ra_Define schedule...":"Zeitplan definieren ...",ra_Del:V1,ra_Delete:Z1,"ra_Delete current row":"Aktuelle Zeile löschen","ra_Deselect all":"Alles abwählen","ra_Device → Channel → State":"Gerät → Kanal → Zustand","ra_Disable/Enable translation":"Übersetzung deaktivieren/aktivieren",ra_Discard:X1,ra_Disconnected:K1,"ra_Do not ask for next 2 hours in this session":"Fragen Sie nicht nach den nächsten 2 Stunden in dieser Sitzung","ra_Do not export values of states":"Keine Zustandswerte exportieren","ra_Do not use let's encrypt":"Let's encrypt nicht verwenden","ra_Docker is not available":"Docker ist nicht verfügbar","ra_Docker is not installed or not running":"Docker ist nicht installiert oder läuft nicht","ra_Double click to reset table layout":"Doppelklicken, um das Tabellenlayout zurückzusetzen","ra_Drag 'n' drop some files here, or click to select files":"Die Datei hierher ziehen und ablegen, oder klicken, um die Datei auszuwählen","ra_Drop file here":"Datei hier ablegen","ra_Drop the files here...":"Datei hier ablegen...","ra_Duplicate name":"Doppelter Name","ra_Edit ACL":"ACL bearbeiten","ra_Edit alias":"Alias bearbeiten","ra_Edit custom config":"Bearbeite Benutzerdefinierte Konfiguration","ra_Edit full path":"Vollständigen Pfad bearbeiten","ra_Edit function":"Funktion bearbeiten","ra_Edit object field":"Objektfeld bearbeiten","ra_Edit role":"Rolle bearbeiten","ra_Edit room":"Raum bearbeiten","ra_Edit value":"Wert bearbeiten","ra_Enter the code from that page here":"Geben Sie den Code von dieser Seite hier ein",ra_Error:q1,"ra_Expand all nodes":"Alle Knoten aufklappen","ra_Expand one step node":"Eine Ebene aufklappen","ra_Expand/Collapse card":"Karte ein-/ausklappen","ra_Export configuration section":"Konfigurationsabschnitt exportieren","ra_Export data to %s file":"Daten in %s-Datei exportieren","ra_Failed to open JSON File":"Fehler beim Öffnen der JSON-Datei","ra_Fallback custom certificates":"Benutzerdefinierte Fallback-Zertifikate","ra_File is too big. Max %sk allowed. Try use SVG.":"Datei ist zu groß. Max %sk erlaubt. Versuchen Sie, SVG zu verwenden.",ra_Filter:ez,"ra_Filter and Data Actions":"Filter- und Datenaktionen","ra_Filter files":"Dateien filtern","ra_Folder name":"Ordnernamen","ra_Folder → Channel → State":"Ordner → Kanal → Zustand","ra_Folder → Device → Channel → State":"Ordner → Gerät → Kanal → Zustand","ra_Folder → State":"Ordner → Zustand","ra_Folders always first":"Ordner immer zuerst",ra_Friday:tz,"ra_From file":"Aus der Datei","ra_From text":"Aus dem Text","ra_Get %s access":"%s Zugriff erhalten","ra_Good luck":"Viel Glück","ra_Hide empty folders":"Leere Ordner ausblenden","ra_If no file will be created in the folder, it will disappear after the browser closed":"Wenn im Ordner keine Datei erstellt wird, verschwindet dieser nach dem Schließen des Browsers","ra_If the button above does not work, you can authorize manually this app by visiting this url":"Wenn die Schaltfläche oben nicht funktioniert, können Sie diese App manuell autorisieren, indem Sie diese URL besuchen","ra_Import and add configuration section":"Konfigurationsabschnitt importieren und hinzufügen","ra_Import and replace configuration section":"Konfigurationsabschnitt importieren und ersetzen","ra_Import data from %s file":"Daten aus %s-Datei importieren","ra_Import from %s":"Von %s importieren","ra_Instance %s is alive":"Instanz %s ist aktiv","ra_Instance %s is not alive":"Instanz %s ist nicht aktiv","ra_Instance is not alive":"Instanz ist nicht am Leben","ra_Invalid CRON":"Ungültiger CRON","ra_Invalid JSON":"Ungültiges JSON","ra_Invalid JSON file.":"Ungültige JSON-Datei.","ra_Invalid JSON format. Expected an array.":"Ungültiges JSON-Format. Array erwartet.","ra_Invalid answer from server":"Ungültige Antwort vom Server","ra_Invalid parent folder!":"Ungültiger übergeordneter Ordner!","ra_Invalid structure":"Ungültige Struktur","ra_JSON editor":"JSON-Editor","ra_Last change":"Letzte Änderung",ra_Latitude:sz,"ra_License %s":"Lizenz %s","ra_License agreement":"Lizenzvereinbarung","ra_License does not exist":"Lizenz existiert nicht","ra_License expired on %s":"Lizenz am %s abgelaufen",'ra_License for other product "%s"':"Lizenz für anderes Produkt „%s“","ra_License is for version %s, but required version is %s.":"Lizenz ist für Version %s, aber erforderliche Version ist %s.","ra_License must be converted":"Die Lizenz muss auf eine neuere Version konvertiert werden. Sie können dies in Ihrem iobroker.net-Profil tun.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"Lizenz im Lizenzmanager nicht gefunden. Möchten Sie Lizenzen von iobroker.net aktualisieren?","ra_Listen on all IPs":"Zugriff von allen IPs zulassen","ra_Load configuration from file":"Konfiguration aus Datei laden",ra_Logout:iz,ra_Longitude:rz,'ra_May not trigger "updateLicenses"':"Löst möglicherweise nicht „updateLicenses“ aus",ra_Message:oz,ra_Monday:Mz,"ra_Move down":"Nach unten","ra_Move up":"Nach oben",ra_Name:nz,"ra_No data found in file":"Keine Daten in der Datei gefunden","ra_No one license found in license manager":"Im Lizenzmanager wurde keine Lizenz gefunden","ra_No response from admin":"Keine Antwort vom Administrator","ra_No response from the backend":"Keine Antwort vom Backend",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':'Nicht-Experten dürfen neue Objekte nur in "0_userdata.0" oder "alias.0" erstellen.',"ra_Not a number":"Keine Nummer",ra_Objects:az,ra_Ok:cz,"ra_On weekdays":"An Wochentagen","ra_Only following structures of objects are available:":"Es stehen nur folgende Objektstrukturen zur Verfügung:","ra_Only selected":"Nur ausgewählt","ra_Owner group":"Besitzergruppe","ra_Owner user":"Besitzer Benutzer","ra_Passwords are not equal!":"Passwörter sind nicht gleich!","ra_Place your files here or click here to open the browse dialog":"Die Dateien hier platzieren oder hier klicken, um den Suchdialog zu öffnen","ra_Please allow popups in your browser for this page!":"Bitte lassen Sie Popups für diese Seite in Ihrem Browser zu!","ra_Please confirm":"Bitte bestätigen","ra_Please create license":"Bitte erstellen Sie eine Lizenz","ra_Please enter the license":"Bitte die Lizenz eingeben","ra_Please select file...":"Bitte Datei auswählen...","ra_Please select object ID...":"Bitte Objekt-ID auswählen...","ra_Port could be used by %s":"Port könnte von %s verwendet werden","ra_Port is already used by %s":"Port wird bereits von %s verwendet","ra_Press ENTER Key to add new item":"Die Eingabetaste drücken, um ein neues Element hinzuzufügen","ra_Private certificate":"Privates Zertifikat",ra_Product:uz,"ra_Public certificate":"Öffentliches Zertifikat","ra_Quality code":"Qualität","ra_Refresh tree":"Baum aktualisieren","ra_Reload files":"Dateien neu laden",ra_Rename_Move_Copy:lz,"ra_Renew %s access":"%s Zugriff erneuern",ra_Repeat:Nz,ra_Replace:Lz,"ra_Request timed out":"Zeitüberschreitung der Anforderung","ra_Restrict to folder":"Auf Ordner beschränken",ra_Root:jz,ra_Saturday:gz,ra_Save:Tz,"ra_Save and close":"Speichern und schließen","ra_Save configuration to file":"Konfiguration in Datei speichern","ra_Save objects tree as JSON file":"Objektbaum als JSON-Datei speichern","ra_Select all":"Alle auswählen","ra_Select color":"Wähle Farbe","ra_Select predefined icon":"Vordefiniertes Symbol auswählen","ra_Select type of export":"Die Art des Exports auswählen ",ra_Selected:yz,"ra_Selected %s object(s)":"Ausgewählt %s Objekt(en)","ra_Serial number (UUID)":"Seriennummer (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':"Seriennummer (UUID) „%s“ in der Lizenz gilt für ein anderes Gerät.","ra_Session will expire in %s seconds. Continue?":"Die Sitzung läuft in %s Sekunden ab. Fortfahren?","ra_Show all folders":"Alle Ordner anzeigen","ra_Show lines between rows":"Linien zwischen Zeilen anzeigen","ra_Show/Hide object descriptions":"Objektbeschreibungen ein-/ausblenden","ra_Show/hide filter input":"Filtereingabe ein-/ausblenden","ra_Some data are not stored. Discard?":"Einige Daten werden nicht gespeichert. Verwerfen?",ra_States:Dz,"ra_Successfully authorized. Token valid till %s and will be automatically renewed.":"Erfolgreich autorisiert. Token gültig bis %s und wird automatisch erneuert.","ra_Successfully authorized. Token valid till %s but it can expire as the instance is not running.":"Erfolgreich autorisiert. Token gültig bis %s, kann aber ablaufen, da die Instanz nicht ausgeführt wird.","ra_Suitable license not found in license manager":"Passende Lizenz im Lizenzmanager nicht gefunden",ra_Sunday:dz,"ra_Suppress question for next %s minutes":"Frage für die nächsten %s Minuten unterdrücken","ra_System language":"Systemsprache","ra_Take browser position":"Position vom Browser einnehmen","ra_Take position from system settings":"Position aus den Systemeinstellungen übernehmen",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':'Die Experten können Objekte überall erstellen, außer auf der zweiten Ebene (z. B. "vis.0" oder "javascript.0").',"ra_The page you are looking for was not found":"Die gesuchte Seite wurde nicht gefunden","ra_The schedule will be executed every minute. Are you sure?":"Der Zeitplan wird jede Minute ausgeführt. Sind Sie sicher?","ra_The schedule will be executed every second. Are you sure?":"Der Zeitplan wird jede Sekunde ausgeführt. Sind Sie sicher?",ra_Thursday:zz,ra_Timestamp:Iz,"ra_Toggle expert mode":"Expertenmodus umschalten","ra_Toggle the states view":"Statusansicht umschalten","ra_Toggle view mode":"Ansichtsmodus umschalten","ra_Too big":"Zu groß","ra_Too small":"Zu klein","ra_Transparent dialog":"Transparenter Dialog",ra_Tuesday:hz,"ra_Unknown error":"Unbekannter Fehler","ra_Unknown error!":"Unbekannter Fehler!",ra_Update:wz,"ra_Upload file":"Datei hochladen","ra_Use all available let's encrypt certificates":"Alle verfügbaren Zertifikate von Let's encrypt benutzen","ra_Use iobroker.acme adapter for letsencrypt certificates":"ioBroker.acme-Adapter für letsencrypt-Zertifikate verwenden","ra_Use system settings for position":"Systemeinstellungen für die Position verwenden","ra_Used system settings":"Systemeinstellungen","ra_User files":"Benutzerdaten",ra_ValidTill:Cz,ra_Value:Az,ra_Version:mz,"ra_View file":"Datei ansehen","ra_View: %s":"Anschauen: %s",ra_Wednesday:pz,ra_Width:Oz,"ra_YAML editor":"YAML-Editor",ra_Yes:Ez,"ra_You can export all objects or just the selected branch.":"Sie können alle Objekte oder nur den ausgewählten Zweig exportieren.","ra_You can filter entries by entering here some text":"Sie können Einträge filtern, indem Sie hier Text eingeben","ra_You can use * as wildcard":"Sie können * als Platzhalter verwenden",ra___different__:_z,ra_aclEveryone_read_object:fz,ra_aclEveryone_read_state:Sz,ra_aclEveryone_write_object:xz,ra_aclEveryone_write_state:kz,ra_aclGroup_read_object:Yz,ra_aclGroup_read_state:Qz,ra_aclGroup_write_object:Uz,ra_aclGroup_write_state:vz,ra_aclOwner_read_object:bz,ra_aclOwner_read_state:$z,ra_aclOwner_write_object:Pz,ra_aclOwner_write_state:Wz,ra_buttons:Rz,ra_changedFrom:Jz,ra_close:Bz,ra_create_boolean_state:Gz,ra_create_channel:Fz,ra_create_device:Hz,ra_create_number_state:Vz,ra_create_state:Zz,ra_create_string_state:Xz,ra_daysShortText:Kz,ra_dow_Fr:qz,ra_dow_Mo:eI,ra_dow_Sa:tI,ra_dow_Su:sI,ra_dow_Th:iI,ra_dow_Tu:rI,ra_dow_We:oI,ra_expertMode:MI,ra_false:nI,ra_fileType_all:aI,ra_fileType_audio:cI,ra_fileType_code:uI,ra_fileType_images:lI,ra_fileType_txt:NI,ra_fileType_video:LI,"ra_fileType_video,":"Video",ra_filter_customs:jI,ra_filter_customs_without:gI,ra_filter_func:TI,ra_filter_id:yI,ra_filter_name:DI,ra_filter_role:dI,ra_filter_room:zI,ra_filter_type:II,"ra_import data from %s file":"Daten aus %s-Datei importieren",ra_invalidConfig:hI,ra_lastChange:wI,ra_locally:CI,ra_month_Apr:AI,ra_month_Aug:mI,ra_month_Dec:pI,ra_month_Feb:OI,ra_month_Jan:EI,ra_month_Jul:_I,ra_month_Jun:fI,ra_month_Mai:SI,ra_month_Mar:xI,ra_month_Nov:kI,ra_month_Oct:YI,ra_month_Sep:QI,ra_months_Apr:UI,ra_months_Aug:vI,ra_months_Dec:bI,ra_months_Feb:$I,ra_months_Jan:PI,ra_months_Jul:WI,ra_months_Jun:RI,ra_months_Mai:JI,ra_months_Mar:BI,ra_months_Nov:GI,ra_months_Oct:FI,ra_months_Sep:HI,"ra_no confirm for 5 mins":"5 Minuten lang keine Bestätigung",ra_none:VI,ra_object_changed_by:ZI,ra_object_changed_by_user:XI,ra_otherConfig:KI,ra_qualityCode:qI,ra_repeat:eh,ra_select_folder_hint:th,ra_show_all:sh,ra_state_changed_by:ih,ra_state_changed_from:rh,ra_timestamp:oh,ra_tooltip_ack:Mh,ra_tooltip_comment:nh,ra_tooltip_copyState:ah,ra_tooltip_ctrlForLink:ch,ra_tooltip_customConfig:uh,ra_tooltip_deleteObject:lh,ra_tooltip_editObject:Nh,ra_tooltip_editState:Lh,ra_tooltip_expire:jh,ra_tooltip_from:gh,ra_tooltip_lc:Th,ra_tooltip_quality:yh,ra_tooltip_ts:Dh,ra_tooltip_user:dh,ra_tooltip_value:zh,ra_true:Ih,"ra_use seconds":"Sekunden benutzen",ra_val:hh,"ra_via internet":"übers Internet",ra_warning_every_minute:wh,ra_warning_every_second:Ch,sc_cron:Ah,sc_date:mh,sc_dates:ph,sc_dow:Oh,sc_dows:Eh,sc_every:_h,sc_everyN_dates:fh,sc_everyN_dow:Sh,sc_everyN_dows:xh,sc_everyN_hours:kh,sc_everyN_minutes:Yh,sc_everyN_months:Qh,sc_everyN_seconds:Uh,sc_every_dates:vh,sc_every_dow:bh,sc_every_dows:$h,sc_every_hours:Ph,sc_every_minutes:Wh,sc_every_months:Rh,sc_every_seconds:Jh,sc_from:Bh,sc_hours:Gh,sc_interval:Fh,sc_intervalBetween:Hh,sc_invalid_cron:Vh,sc_minutes:Zh,sc_months:Xh,sc_once:Kh,sc_period:qh,sc_seconds:ew,sc_simple:tw,sc_specific:sw,sc_specific_dates:iw,sc_specific_dow:rw,sc_specific_dows:ow,sc_specific_hours:Mw,sc_specific_minutes:nw,sc_specific_months:aw,sc_specific_seconds:cw,sc_time:uw,sc_to:lw,sc_wizard:Nw,sch_all:Lw,sch_astroDay:jw,sch_astroNight:gw,sch_astro_dawn:Tw,sch_astro_dusk:yw,sch_astro_goldenHour:Dw,sch_astro_goldenHourEnd:dw,sch_astro_nadir:zw,sch_astro_nauticalDawn:Iw,sch_astro_nauticalDusk:hw,sch_astro_night:ww,sch_astro_nightEnd:Cw,sch_astro_solarNoon:Aw,sch_astro_sunrise:mw,sch_astro_sunriseEnd:pw,sch_astro_sunset:Ow,sch_astro_sunsetStart:Ew,sch_at:_w,sch_desc_atTime:fw,sch_desc_everyDay:Sw,sch_desc_everyHour:xw,sch_desc_everyMinute:kw,sch_desc_everyMonth:Yw,sch_desc_everyNDay:Qw,sch_desc_everyNHours:Uw,sch_desc_everyNMinutes:vw,sch_desc_everyNMonths:bw,sch_desc_everyNWeeks:$w,sch_desc_everyNYears:Pw,sch_desc_everyWeek:Ww,sch_desc_everyYear:Rw,sch_desc_intervalFromTo:Jw,sch_desc_never:Bw,sch_desc_onDate:Gw,sch_desc_onDates:Fw,sch_desc_onEveryDate:Hw,sch_desc_onMonth:Vw,sch_desc_onMonths:Zw,sch_desc_onWeekday:Xw,sch_desc_onWeekdays:Kw,sch_desc_onWeekends:qw,sch_desc_onWorkdays:eC,sch_desc_onceInPast:tC,sch_desc_once_on:sC,sch_desc_validFrom:iC,sch_desc_validFromTo:rC,sch_desc_validTo:oC,sch_every:MC,sch_exactTime:nC,sch_from:aC,sch_fromTo:cC,sch_intervalTime:uC,sch_invert:lC,sch_no_one:NC,sch_on:LC,sch_period:jC,sch_periodDaily:gC,sch_periodDates:TC,sch_periodDay:yC,sch_periodEvery:DC,sch_periodEveryDay:dC,sch_periodEveryMonth:zC,sch_periodEveryWeek:IC,sch_periodEveryYear:hC,sch_periodHours:wC,sch_periodMinutes:CC,sch_periodMonth:AC,sch_periodMonthly:mC,sch_periodOnce:pC,sch_periodSpecificMonths:OC,sch_periodWeek:EC,sch_periodWeekdays:_C,sch_periodWeekend:fC,sch_periodWeekly:SC,sch_periodWorkdays:xC,sch_periodYear:kC,sch_periodYearly:YC,sch_specificTime:QC,sch_time:UC,sch_to:vC,sch_valid:bC,sch_validFrom:$C,sch_validTo:PC,sch_wholeDay:WC,sch_yearEveryMonth:RC},BC="Действия",GC="Добавить",FC="Отмена",HC="Категории",VC="Проверено",ZC="Удалить",XC="Закрыть",KC="Коммерческая",qC="Настроить",e2="Соединение установлено",t2="Продолжать",s2="скопировано",i2="Создать",r2="Обрезать",o2="Delete",M2="Удалить",n2="Отказаться",a2="Отключено",c2="Ошибка",u2="Фильтр",l2="Пятница",N2="Широта",L2="Выйти",j2="Долгота",g2="Сообщение",T2="Понедельник",y2="Имя",D2="Объекты",d2="Ok",z2="Продукт",I2="Переименовать/Переместить/Копировать",h2="Повторение",w2="Заменять",C2="Начало",A2="Суббота",m2="Сохранить",p2="выбранный",O2="Состояния",E2="Воскресенье",_2="Четверг",f2="Времени",S2="Вторник",x2="Обновить",k2="Годен до",Y2="Значение",Q2="Версия",U2="Среда",v2="Ширина",b2="Да",$2="разное",P2="Каждый может читать объект",W2="Каждый может читать состояние",R2="Каждый может написать объект",J2="Каждый может написать состояние",B2="Группа может читать объект",G2="Группа может читать состояние",F2="Группа может писать объект",H2="Группа может записывать состояние",V2="Владелец может читать объект",Z2="Владелец может читать состояние",X2="Владелец может писать объект",K2="Владелец может писать состояние",q2="Кнопки",eA="Изменено с",tA="Закрыть",sA="Создать логическое состояние",iA="Создать канал",rA="Создать устройство",oA="Создать состояние номера",MA="Создать состояние",nA="Создать состояние строки",aA="д.",cA="Пт",uA="Пн",lA="Сб",NA="Вс",LA="Чт",jA="Вт",gA="Ср",TA="Экспертный режим",yA="ЛОЖЬ",DA="Все файлы",dA="Аудио",zA="Код/JSON",IA="Картинки",hA="Текст",wA="видео",CA="настройки",AA="без",mA="функция",pA="ID",OA="Имя",EA="роль",_A="комната",fA="Тип",SA="Неверные настройки",xA="Последнее изменение",kA="локально",YA="Апр",QA="Авг",UA="Дек",vA="Фев",bA="Янв",$A="Июл",PA="Июн",WA="Май",RA="Мрт",JA="Ноя",BA="Окт",GA="Сен",FA="Апр",HA="Авг",VA="Дек",ZA="Фев",XA="Янв",KA="Июнь",qA="Июль",em="Май",tm="Март",sm="Ноя",im="Окт",rm="Сен",om="ничего",Mm="Объект изменен",nm="Последний раз объект изменен в",am="Настройки из другого адаптера %s",cm="Код качества",um="повтор",lm="Чтобы выбрать папку, просто удерживайте клавишу «Shift», щелкнув папку.",Nm="Показать все",Lm="Состояние изменено",jm="Объект изменен с",gm="Отметка времени",Tm="Подтверждено",ym="Комментарий",Dm="Скопируйте значение состояния",dm="Удерживайте клавишу Cltr/⌘, чтобы открыть ссылку",zm="Пользовательские настройки",Im="Удалить объект",hm="Редактировать объект",wm="Изменить значение состояния",Cm="Истекает через",Am="От",mm="Последнее изменение",pm="Качество",Om="Отметка времени",Em="пользователь",_m="Значение",fm="истинный",Sm="Значение",xm="Внимание: задание CRON будет запускаться каждую минуту в течение указанного периода!",km="Внимание: задание CRON будет выполняться каждую секунду в течение указанного периода!",Ym="CRON",Qm="Дата",Um="Даты",vm="День",bm="День недели",$m="каждый(ую/ые)",Pm="каждый N день",Wm="каждый N-й день недели",Rm="каждый N день недели",Jm="каждые N часов",Bm="каждые N минут",Gm="каждые N месяцев",Fm="каждые N секунд",Hm="каждый день",Vm="Каждый день недели",Zm="каждый день недели",Xm="каждый час",Km="каждую минуту",qm="каждый месяц",ep="каждую секунду",tp="От",sp="часы",ip="Интервал",rp="Интервал между",op="Неверный CRON",Mp="минуты",np="Месяцы",ap="один раз",cp="Период",up="секунды",lp="Просто",Np="Конкретное время",Lp="конкретные даты",jp="конкретный день(а) недели",gp="конкретный день недели",Tp="конкретные часы",yp="конкретные минуты",Dp="конкретные месяцы",dp="конкретные секунды",zp="Время",Ip="До",hp="Форма",wp="все",Cp="днём",Ap="ночью",mp="Рассвет",pp="Сумерки",Op="Золотой час",Ep="Конец золотого часа",_p="Надир",fp="Морской рассвет",Sp="Морские сумерки",xp="Ночь",kp="Конец ночи",Yp="Солнечный полдень",Qp="Восход",Up="Восход солнца",vp="Заход солнца",bp="Начало заката",$p="дата",Pp="в %s",Wp="каждый день",Rp="каждый час",Jp="каждую минуту",Bp="каждый месяц",Gp="каждый %s день",Fp="каждый %s часов",Hp="каждые %s минут",Vp="каждые %s месяцев",Zp="каждые %s недель",Xp="каждые %s лет",Kp="каждую неделю",qp="каждый год",e3="от %s до %s",t3="никогда",s3="%s %s",i3="%s и %s",r3="в каждый день",o3="%s",M3="%s и %s",n3="%s",a3="%s и %s",c3="на выходных",u3="в рабочие дни",l3="не будет больше выполняться, потому что начало в прошлом",N3="%s",L3="%s",j3="Выполнить с",g3="%s",T3="каждый",y3="Конкретное время",D3="от",d3="От и до",z3="Интервал времени",I3="инвертировать",h3="никакой",w3="на",C3="период",A3="Ежедневно",m3="Даты",p3="День",O3="каждый",E3="Каждый день",_3="Каждый месяц",f3="Каждую неделю",S3="Каждый год",x3="часов",k3="минут",Y3="месяц",Q3="ежемесячно",U3="однажды",v3="Конкретные месяцы",b3="Неделю",$3="Будние дни",P3="выходные",W3="еженедельно",R3="Рабочие дни",J3="Год",B3="каждый год",G3="Конкретное время",F3="Время",H3="в",V3="действительный",Z3="от",X3="в",K3="Весь день",q3="каждый месяц",eO={"ra_%s links from aliases":"%s ссылок из псевдонимов","ra_%s object(s) processed":"Объектов обработано: %s","ra_%s was imported":"%s был импортирован","ra_Accept license":"Принять лицензию",ra_Actions:BC,"ra_Add new child object to selected parent":"Добавить новый дочерний объект к выбранному родительскому объекту","ra_Add objects tree from JSON file":"Добавить дерево объектов из файла JSON","ra_Add row":"Добавить ряд","ra_Advanced options":"Расширенные настройки","ra_All items are filtered out":"Все элементы отфильтрованы","ra_All objects":"Все объекты",ra_Append:GC,"ra_Append %s entries or replace existing?":"Добавить записи %s или заменить существующие?","ra_Append or replace?":"Дополнить или заменить?","ra_Are you sure?":"Вы уверены?","ra_Auto (no custom columns)":"Авто (без настраиваемых столбцов)","ra_Back to %s":"Вернуться к %s","ra_Background image":"Фоновая картинка",ra_Cancel:FC,"ra_Cannot add items with set filter":"Невозможно добавить элементы с установленным фильтром","ra_Cannot decode license":"Не могу декодировать лицензию","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"Невозможно определить местоположение: системные настройки пусты, а обнаружение GPS отключено в браузере.",'ra_Cannot find "%s"':'Не могу найти "%s"','ra_Cannot read "%s"':'Не могу прочитать "%s"',"ra_Cannot read licenses: %s":"Невозможно прочитать лицензии: %s","ra_Cannot retrieve options, as instance is offline":"Невозможно получить параметры, так как экземпляр находится в автономном режиме.","ra_Cannot update attribute, because not found in the object":"Невозможно обновить атрибут, потому что он не найден в объекте","ra_Cannot upload":"Невозможно загрузить",ra_Categories:HC,"ra_Chained certificate":"Chained сертификат","ra_Change color theme":"Изменить цветовую тему","ra_Changed from":"Изменено","ra_Channel → State":"Канал → Состояние","ra_Check license":"Проверить лицензию",ra_Checked:VC,ra_Clear:ZC,"ra_Clear filter":"Очистить фильтр","ra_Clear icon":"Очистить значок","ra_Click to show":"Нажмите, чтобы показать","ra_Clone current row":"Клонировать текущую строку",ra_Close:XC,"ra_Collapse all nodes":"Свернуть все узлы","ra_Collapse one step node":"Свернуть один уровень",ra_Commercial:KC,ra_Configure:qC,"ra_Configure visible columns":"Настроить видимые столбцы","ra_Confirm deletion of %s":"Подтвердите удаление %s",ra_Connected:e2,ra_Continue:t2,ra_Copied:s2,"ra_Copied %s":'Скопировано "%s"',"ra_Copy content":"Копировать содержимое",ra_Create:i2,"ra_Create alias":"Создать псевдоним","ra_Create folder":"Создать папку","ra_Create new folder in %s":"Создать новую папку в %s",ra_Crop:r2,"ra_Define CRON...":"Определите CRON...","ra_Define functions":"Задать функции","ra_Define rooms":"Задать комнаты","ra_Define schedule":"Задать расписание","ra_Define schedule...":"Определить расписание ...",ra_Del:o2,ra_Delete:M2,"ra_Delete current row":"Удалить текущую строку","ra_Deselect all":"Убрать выбор везде","ra_Device → Channel → State":"Устройство → Канал → Состояние","ra_Disable/Enable translation":"Включить/отключить перевод",ra_Discard:n2,ra_Disconnected:a2,"ra_Do not ask for next 2 hours in this session":"Не спрашивайте о следующих 2 часах в этом сеансе","ra_Do not export values of states":"Не экспортировать значения состояний","ra_Do not use let's encrypt":"Не использовать Let’s Encrypt","ra_Docker is not available":"Докер недоступен","ra_Docker is not installed or not running":"Docker не установлен или не запущен","ra_Double click to reset table layout":"Дважды щелкните, чтобы сбросить макет таблицы","ra_Drag 'n' drop some files here, or click to select files":"Перетащите сюда несколько файлов или щелкните, чтобы выбрать файлы","ra_Drop file here":"Перетащите файл сюда","ra_Drop the files here...":"Перетащите файл сюда ...","ra_Duplicate name":"Повторяющееся имя","ra_Edit ACL":"Изменить ACL-список","ra_Edit alias":"Изменить псевдоним","ra_Edit custom config":"Редактировать настраиваемую конфигурацию","ra_Edit full path":"Изменить полный путь","ra_Edit function":"Изменить функцию","ra_Edit object field":"Поле редактирования объекта","ra_Edit role":"Изменить роль","ra_Edit room":"Редактировать комнату","ra_Edit value":"Изменить значение","ra_Enter the code from that page here":"Введите код с этой страницы здесь",ra_Error:c2,"ra_Expand all nodes":"Развернуть все узлы","ra_Expand one step node":"Открыть один уровень","ra_Expand/Collapse card":"Развернуть/Свернуть карточку","ra_Export configuration section":"Раздел конфигурации экспорта","ra_Export data to %s file":"Экспорт данных в файл %s","ra_Failed to open JSON File":"Не удалось открыть файл JSON","ra_Fallback custom certificates":"Резервные пользовательские сертификаты","ra_File is too big. Max %sk allowed. Try use SVG.":"Файл слишком большой. Разрешено максимальное количество %sk. Попробуйте использовать SVG.",ra_Filter:u2,"ra_Filter and Data Actions":"Фильтрация и действия с данными","ra_Filter files":"Фильтровать файлы","ra_Folder name":"Имя папки","ra_Folder → Channel → State":"Папка → Канал → Состояние","ra_Folder → Device → Channel → State":"Папка → Устройство → Канал → Состояние","ra_Folder → State":"Папка → Состояние","ra_Folders always first":"Папки всегда на первом месте",ra_Friday:l2,"ra_From file":"Из файла","ra_From text":"Из текста","ra_Get %s access":"Получить %s доступ","ra_Good luck":"Удачи","ra_Hide empty folders":"Скрыть пустые папки","ra_If no file will be created in the folder, it will disappear after the browser closed":"Если в папке не будет создан файл, он исчезнет после закрытия браузера.","ra_If the button above does not work, you can authorize manually this app by visiting this url":"Если кнопка выше не работает, вы можете вручную авторизовать это приложение, перейдя по этой ссылке.","ra_Import and add configuration section":"Импорт и добавление раздела конфигурации","ra_Import and replace configuration section":"Импорт и замена раздела конфигурации","ra_Import data from %s file":"Импорт данных из файла %s","ra_Import from %s":"Импорт из %s","ra_Instance %s is alive":"Экземпляр %s работает","ra_Instance %s is not alive":"Экземпляр %s не работает","ra_Instance is not alive":"Экземпляр не живой","ra_Invalid CRON":"Неверный CRON","ra_Invalid JSON":"Неверный JSON","ra_Invalid JSON file.":"Неверный файл JSON.","ra_Invalid JSON format. Expected an array.":"Недопустимый формат JSON. Ожидается массив.","ra_Invalid answer from server":"Неверный ответ от сервера","ra_Invalid parent folder!":"Неверная родительская папка!","ra_Invalid structure":"Неверная структура","ra_JSON editor":"Редактор JSON","ra_Last change":"Последнее изменение",ra_Latitude:N2,"ra_License %s":"Лицензия %s","ra_License agreement":"Лицензионное соглашение","ra_License does not exist":"Лицензия не существует","ra_License expired on %s":"Срок действия лицензии истек %s",'ra_License for other product "%s"':'Лицензия на другой продукт "%s"',"ra_License is for version %s, but required version is %s.":"Лицензия предназначена для версии %s, но необходима версия %s.","ra_License must be converted":"Лицензия должна быть преобразована в более новую версию. Вы можете сделать это в своем профиле на iobroker.net.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"Лицензия не найдена в диспетчере лицензий. Вы хотите обновить лицензии от iobroker.net?","ra_Listen on all IPs":"Слушать на всех IP","ra_Load configuration from file":"Загрузить конфигурацию из файла",ra_Logout:L2,ra_Longitude:j2,'ra_May not trigger "updateLicenses"':"Не может запускать «updateLicenses»",ra_Message:g2,ra_Monday:T2,"ra_Move down":"Вниз","ra_Move up":"Вверх",ra_Name:y2,"ra_No data found in file":"Данные в файле не найдены","ra_No one license found in license manager":"В менеджере лицензий не найдена ни одна лицензия","ra_No response from admin":"Нет ответа от администратора","ra_No response from the backend":"Нет ответа от бэкэнда",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':"Не-эксперты могут создавать новые объекты только в «0_userdata.0» или «alias.0».","ra_Not a number":"Не число",ra_Objects:D2,ra_Ok:d2,"ra_On weekdays":"На выходных","ra_Only following structures of objects are available:":"Доступны только следующие структуры объектов:","ra_Only selected":"Только выбранные","ra_Owner group":"Группа владельцев","ra_Owner user":"Пользователь-владелец","ra_Passwords are not equal!":"Пароли не равны!","ra_Place your files here or click here to open the browse dialog":"Поместите свои файлы сюда или щелкните здесь, чтобы открыть диалоговое окно выбора","ra_Please allow popups in your browser for this page!":"Пожалуйста, разрешите всплывающие окна в вашем браузере для этой страницы!","ra_Please confirm":"Пожалуйста подтвердите","ra_Please create license":"Пожалуйста, создайте лицензию","ra_Please enter the license":"Пожалуйста, введите лицензию","ra_Please select file...":"Пожалуйста, выберите файл...","ra_Please select object ID...":"Пожалуйста, выберите идентификатор объекта ...","ra_Port could be used by %s":"Порт может использоваться %s","ra_Port is already used by %s":"Порт уже используется %s","ra_Press ENTER Key to add new item":"Нажмите клавишу ENTER, чтобы добавить новый элемент.","ra_Private certificate":"Частный сертификат",ra_Product:z2,"ra_Public certificate":"Публичный сертификат","ra_Quality code":"Валидность","ra_Refresh tree":"Обновить дерево","ra_Reload files":"Обновить",ra_Rename_Move_Copy:I2,"ra_Renew %s access":"Продлить доступ %s",ra_Repeat:h2,ra_Replace:w2,"ra_Request timed out":"Истекло время запроса","ra_Restrict to folder":"Ограничить папкой",ra_Root:C2,ra_Saturday:A2,ra_Save:m2,"ra_Save and close":"Сохранить и закрыть","ra_Save configuration to file":"Сохранить конфигурацию в файл","ra_Save objects tree as JSON file":"Сохранить дерево объектов как файл JSON","ra_Select all":"Выбрать все","ra_Select color":"Выберите цвет","ra_Select predefined icon":"Выберите предопределенный значок","ra_Select type of export":"Выберите тип экспорта",ra_Selected:p2,"ra_Selected %s object(s)":"Объектов: %s","ra_Serial number (UUID)":"Серийный номер (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':"Серийный номер (UUID) «%s» в лицензии предназначен для другого устройства.","ra_Session will expire in %s seconds. Continue?":"Сессия истечет через %s секунд. Продолжить?","ra_Show all folders":"Показать все папки","ra_Show lines between rows":"Показать линии между строками","ra_Show/Hide object descriptions":"Показать/скрыть описания объектов","ra_Show/hide filter input":"Показать/скрыть ввод фильтра","ra_Some data are not stored. Discard?":"Некоторые данные не сохранились. Отказаться?",ra_States:O2,"ra_Successfully authorized. Token valid till %s and will be automatically renewed.":"Авторизация выполнена успешно. Токен действителен до %s и будет автоматически продлен.","ra_Successfully authorized. Token valid till %s but it can expire as the instance is not running.":"Авторизация выполнена успешно. Токен действителен до %s, но его срок действия может истечь, так как экземпляр не запущен.","ra_Suitable license not found in license manager":"Подходящая лицензия не найдена в менеджере лицензий",ra_Sunday:E2,"ra_Suppress question for next %s minutes":"Скрыть вопрос на следующие %s минут(ы)","ra_System language":"Язык системы","ra_Take browser position":"Взять позицию из браузера","ra_Take position from system settings":"Занять позицию из системных настроек",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':"Эксперты могут создавать объекты везде, кроме второго уровня (например, «vis.0» или «javascript.0»).","ra_The page you are looking for was not found":"Страница, которую вы ищете, не найдена","ra_The schedule will be executed every minute. Are you sure?":"Расписание будет выполняться каждую минуту. Вы уверены?","ra_The schedule will be executed every second. Are you sure?":"Расписание будет выполняться каждую секунду. Вы уверены?",ra_Thursday:_2,ra_Timestamp:f2,"ra_Toggle expert mode":"Переключить экспертный режим","ra_Toggle the states view":"Переключить режим просмотра состояний","ra_Toggle view mode":"Переключить режим просмотра","ra_Too big":"Слишком большое","ra_Too small":"Слишком маленькое","ra_Transparent dialog":"Прозрачный диалог",ra_Tuesday:S2,"ra_Unknown error":"Неизвестная ошибка","ra_Unknown error!":"Неизвестная ошибка!",ra_Update:x2,"ra_Upload file":"Загрузить файл","ra_Use all available let's encrypt certificates":"Использовать все доступные сертификаты Let’s encrypt","ra_Use iobroker.acme adapter for letsencrypt certificates":"Используйте адаптер iobroker.acme для сертификатов letsencrypt","ra_Use system settings for position":"Использовать системные настройки для позиции","ra_Used system settings":"Системные настройки","ra_User files":"Файлы пользователя",ra_ValidTill:k2,ra_Value:Y2,ra_Version:Q2,"ra_View file":"Посмотреть файл","ra_View: %s":"Просмотр: %s",ra_Wednesday:U2,ra_Width:v2,"ra_YAML editor":"Редактор YAML",ra_Yes:b2,"ra_You can export all objects or just the selected branch.":"Вы можете экспортировать все объекты или только выбранную ветвь.","ra_You can filter entries by entering here some text":"Вы можете отфильтровать записи, введя здесь текст","ra_You can use * as wildcard":"Вы можете использовать * в качестве подстановочного знака",ra___different__:$2,ra_aclEveryone_read_object:P2,ra_aclEveryone_read_state:W2,ra_aclEveryone_write_object:R2,ra_aclEveryone_write_state:J2,ra_aclGroup_read_object:B2,ra_aclGroup_read_state:G2,ra_aclGroup_write_object:F2,ra_aclGroup_write_state:H2,ra_aclOwner_read_object:V2,ra_aclOwner_read_state:Z2,ra_aclOwner_write_object:X2,ra_aclOwner_write_state:K2,ra_buttons:q2,ra_changedFrom:eA,ra_close:tA,ra_create_boolean_state:sA,ra_create_channel:iA,ra_create_device:rA,ra_create_number_state:oA,ra_create_state:MA,ra_create_string_state:nA,ra_daysShortText:aA,ra_dow_Fr:cA,ra_dow_Mo:uA,ra_dow_Sa:lA,ra_dow_Su:NA,ra_dow_Th:LA,ra_dow_Tu:jA,ra_dow_We:gA,ra_expertMode:TA,ra_false:yA,ra_fileType_all:DA,ra_fileType_audio:dA,ra_fileType_code:zA,ra_fileType_images:IA,ra_fileType_txt:hA,ra_fileType_video:wA,"ra_fileType_video,":"видео",ra_filter_customs:CA,ra_filter_customs_without:AA,ra_filter_func:mA,ra_filter_id:pA,ra_filter_name:OA,ra_filter_role:EA,ra_filter_room:_A,ra_filter_type:fA,"ra_import data from %s file":"Импортировать данные из файла %s",ra_invalidConfig:SA,ra_lastChange:xA,ra_locally:kA,ra_month_Apr:YA,ra_month_Aug:QA,ra_month_Dec:UA,ra_month_Feb:vA,ra_month_Jan:bA,ra_month_Jul:$A,ra_month_Jun:PA,ra_month_Mai:WA,ra_month_Mar:RA,ra_month_Nov:JA,ra_month_Oct:BA,ra_month_Sep:GA,ra_months_Apr:FA,ra_months_Aug:HA,ra_months_Dec:VA,ra_months_Feb:ZA,ra_months_Jan:XA,ra_months_Jul:KA,ra_months_Jun:qA,ra_months_Mai:em,ra_months_Mar:tm,ra_months_Nov:sm,ra_months_Oct:im,ra_months_Sep:rm,"ra_no confirm for 5 mins":"не спрашивать подтверждения в течение 5 минут",ra_none:om,ra_object_changed_by:Mm,ra_object_changed_by_user:nm,ra_otherConfig:am,ra_qualityCode:cm,ra_repeat:um,ra_select_folder_hint:lm,ra_show_all:Nm,ra_state_changed_by:Lm,ra_state_changed_from:jm,ra_timestamp:gm,ra_tooltip_ack:Tm,ra_tooltip_comment:ym,ra_tooltip_copyState:Dm,ra_tooltip_ctrlForLink:dm,ra_tooltip_customConfig:zm,ra_tooltip_deleteObject:Im,ra_tooltip_editObject:hm,ra_tooltip_editState:wm,ra_tooltip_expire:Cm,ra_tooltip_from:Am,ra_tooltip_lc:mm,ra_tooltip_quality:pm,ra_tooltip_ts:Om,ra_tooltip_user:Em,ra_tooltip_value:_m,ra_true:fm,"ra_use seconds":"секунды",ra_val:Sm,"ra_via internet":"через интернет",ra_warning_every_minute:xm,ra_warning_every_second:km,sc_cron:Ym,sc_date:Qm,sc_dates:Um,sc_dow:vm,sc_dows:bm,sc_every:$m,sc_everyN_dates:Pm,sc_everyN_dow:Wm,sc_everyN_dows:Rm,sc_everyN_hours:Jm,sc_everyN_minutes:Bm,sc_everyN_months:Gm,sc_everyN_seconds:Fm,sc_every_dates:Hm,sc_every_dow:Vm,sc_every_dows:Zm,sc_every_hours:Xm,sc_every_minutes:Km,sc_every_months:qm,sc_every_seconds:ep,sc_from:tp,sc_hours:sp,sc_interval:ip,sc_intervalBetween:rp,sc_invalid_cron:op,sc_minutes:Mp,sc_months:np,sc_once:ap,sc_period:cp,sc_seconds:up,sc_simple:lp,sc_specific:Np,sc_specific_dates:Lp,sc_specific_dow:jp,sc_specific_dows:gp,sc_specific_hours:Tp,sc_specific_minutes:yp,sc_specific_months:Dp,sc_specific_seconds:dp,sc_time:zp,sc_to:Ip,sc_wizard:hp,sch_all:wp,sch_astroDay:Cp,sch_astroNight:Ap,sch_astro_dawn:mp,sch_astro_dusk:pp,sch_astro_goldenHour:Op,sch_astro_goldenHourEnd:Ep,sch_astro_nadir:_p,sch_astro_nauticalDawn:fp,sch_astro_nauticalDusk:Sp,sch_astro_night:xp,sch_astro_nightEnd:kp,sch_astro_solarNoon:Yp,sch_astro_sunrise:Qp,sch_astro_sunriseEnd:Up,sch_astro_sunset:vp,sch_astro_sunsetStart:bp,sch_at:$p,sch_desc_atTime:Pp,sch_desc_everyDay:Wp,sch_desc_everyHour:Rp,sch_desc_everyMinute:Jp,sch_desc_everyMonth:Bp,sch_desc_everyNDay:Gp,sch_desc_everyNHours:Fp,sch_desc_everyNMinutes:Hp,sch_desc_everyNMonths:Vp,sch_desc_everyNWeeks:Zp,sch_desc_everyNYears:Xp,sch_desc_everyWeek:Kp,sch_desc_everyYear:qp,sch_desc_intervalFromTo:e3,sch_desc_never:t3,sch_desc_onDate:s3,sch_desc_onDates:i3,sch_desc_onEveryDate:r3,sch_desc_onMonth:o3,sch_desc_onMonths:M3,sch_desc_onWeekday:n3,sch_desc_onWeekdays:a3,sch_desc_onWeekends:c3,sch_desc_onWorkdays:u3,sch_desc_onceInPast:l3,sch_desc_once_on:N3,sch_desc_validFrom:L3,sch_desc_validFromTo:j3,sch_desc_validTo:g3,sch_every:T3,sch_exactTime:y3,sch_from:D3,sch_fromTo:d3,sch_intervalTime:z3,sch_invert:I3,sch_no_one:h3,sch_on:w3,sch_period:C3,sch_periodDaily:A3,sch_periodDates:m3,sch_periodDay:p3,sch_periodEvery:O3,sch_periodEveryDay:E3,sch_periodEveryMonth:_3,sch_periodEveryWeek:f3,sch_periodEveryYear:S3,sch_periodHours:x3,sch_periodMinutes:k3,sch_periodMonth:Y3,sch_periodMonthly:Q3,sch_periodOnce:U3,sch_periodSpecificMonths:v3,sch_periodWeek:b3,sch_periodWeekdays:$3,sch_periodWeekend:P3,sch_periodWeekly:W3,sch_periodWorkdays:R3,sch_periodYear:J3,sch_periodYearly:B3,sch_specificTime:G3,sch_time:F3,sch_to:H3,sch_valid:V3,sch_validFrom:Z3,sch_validTo:X3,sch_wholeDay:K3,sch_yearEveryMonth:q3},tO="Ações",sO="Acrescentar",iO="Cancelar",rO="Categorias",oO="Verificado",MO="Excluir",nO="Perto",aO="Comercial",cO="Configurar",uO="Conectado",lO="Continuar",NO="Copiado",LO="Crio",jO="Colheita",gO="Delete",TO="Excluir",yO="Descartar",DO="Desconectado",dO="Erro",zO="Filtro",IO="Sexta-feira",hO="Latitude",wO="Sair",CO="Longitude",AO="mensagem",mO="Segunda-feira",pO="Nome",OO="Objetos",EO="Está bem",_O="produtos",fO="Renomear/Mover/Copiar",SO="Repita",xO="Substituir",kO="Raiz",YO="Sábado",QO="Salve ",UO="Selecionado",vO="Estados",bO="Domingo",$O="Quinta-feira",PO="Timestamp",WO="Terça-feira",RO="Atualizar",JO="Válida até",BO="Valor",GO="Versão",FO="Quarta-feira",HO="Largura",VO="Sim",ZO="diferente",XO="Todos podem ler objetos",KO="Todos podem ler o estado",qO="Todos podem escrever objetos",eE="Todos podem escrever o estado",tE="O grupo pode ler o objeto",sE="O grupo pode ler o estado",iE="O grupo pode escrever o objeto",rE="O grupo pode escrever o estado",oE="O proprietário pode ler o objeto",ME="O proprietário pode ler o estado",nE="O proprietário pode escrever o objeto",aE="O proprietário pode escrever o estado",cE="Botões",uE="Mudou de",lE="fechar",NE="Criar estado booleano",LE="Criar canal",jE="Criar dispositivo",gE="Criar estado numérico",TE="Criar estado",yE="Criar estado de string",DE="d.",dE="Fr",zE="Mo",IE="Sa",hE="Su",wE="º",CE="Tu",AE="Nós",mE="Modo especialista",pE="FALSO",OE="Todos os arquivos",EE="áudio",_E="Código/JSON",fE="Imagens",SE="Texto",xE="Vídeo",kE="Configurações",YE="sem",QE="Função",UE="ID",vE="Nome",bE="Papel (Função)",$E="Quarto",PE="Tipo",WE="Configurações inválidas",RE="Última mudança",JE="localmente",BE="abril",GE="agosto",FE="dezembro",HE="fevereiro",VE="janeiro",ZE="julho",XE="junho",KE="Mai",qE="março",e_="novembro",t_="outubro",s_="setembro",i_="abril",r_="agosto",o_="dezembro",M_="fevereiro",n_="janeiro",a_="julho",c_="junho",u_="Mai",l_="março",N_="novembro",L_="outubro",j_="setembro",g_="Nenhum",T_="Objeto alterado por",y_="Objeto alterado pela última vez em",D_="Configurações de outro adaptador %s",d_="Código de qualidade",z_="repetir",I_='Para selecionar a pasta, basta segurar a tecla "shift" clicando na pasta.',h_="Mostrar tudo",w_="Estado alterado por",C_="Objeto alterado de",A_="Timestamp",m_="Confirmado",p_="Comente",O_="Copie o valor do estado",E_="Segure a tecla Ctrl/⌘ para abrir o link",__="Opções customizadas",f_="Excluir objeto",S_="Editar objeto",x_="Edite o valor do estado",k_="Expira em",Y_="De",Q_="Última alteração",U_="Qualidade",v_="Timestamp",b_="Usuário",$_="Valor",P_="verdadeiro",W_="Valor",R_="Aviso: O trabalho CRON será executado a cada minuto durante o período especificado!",J_="Aviso: O trabalho CRON será executado a cada segundo durante o período especificado!",B_="CRON",G_="Data",F_="Dias",H_="Dia",V_="Dia da semana",Z_="todos",X_="a cada N dias",K_="todo enésimo dia da semana",q_="todos os N dias da semana",ef="a cada N horas",tf="a cada N minutos",sf="a cada N meses",rf="a cada N segundos",of="todo dia",Mf="todos os dias da semana",nf="todos os dias da semana",af="toda hora",cf="todo minuto",uf="todo mês",lf="todo segundo",Nf="de",Lf="horas",jf="intervalo",gf="intervalo entre",Tf="CRON inválido",yf="minutos",Df="meses",df="uma vez",zf="período",If="segundos",hf="simples",wf="tempo específico",Cf="datas específicas",Af="dia(s) específico(s) da semana",mf="dia específico de semanas",pf="horas específicas",Of="minutos específicos",Ef="meses específicos",_f="segundos específicos",ff="tempo",Sf="para",xf="assistente",kf="tudo",Yf="dia astral",Qf="noite astral",Uf="amanhecer",vf="anoitecer",bf="hora dourada",$f="Fim da hora dourada",Pf="nadir",Wf="Amanhecer náutico",Rf="Anoitecer náutico",Jf="noite",Bf="fim da noite",Gf="meio-dia solar",Ff="nascer do sol",Hf="fim do nascer do sol",Vf="pôr do sol",Zf="início do pôr do sol",Xf="às",Kf="em %s",qf="todo dia",eS="toda hora",tS="todo minuto",sS="todo mês",iS="a cada %s dias",rS="a cada %s horas",oS="a cada %s minutos",MS="a cada %s meses",nS="a cada %s semanas",aS="a cada %s anos",cS="toda semana",uS="todo ano",lS="de %s para %s",NS="nunca",LS="em %s de %s",jS="em %s e %s de",gS="em toda data de",TS="%s",yS="%s e %s",DS="em %s",dS="em %s e %s",zS="nos fins de semana",IS="em dias úteis",hS="não será mais executado, porque o começo está no passado",wS="em %s",CS="de %s",AS="Executar de até",mS="até %s",pS="cada",OS="tempo específico",ES="de",_S="de a´t",fS="tempo de intervalo",SS="invertido",xS="nenhum",kS="em",YS="período",QS="diariamente",US="datas",vS="dia",bS="todos",$S="todo dia",PS="todo mês",WS="toda semana",RS="todo ano",JS="horas",BS="minutos",GS="mês",FS="por mês",HS="uma vez",VS="meses específicos",ZS="semana",XS="dias úteis",KS="final de semana",qS="semanal",ex="dias úteis",tx="ano",sx="anual",ix="tempo específico",rx="tempo",ox="para",Mx="válido",nx="de",ax="para",cx="dia inteiro",ux="todo mês",lx={"ra_%s links from aliases":"%s links de aliases","ra_%s object(s) processed":"%s objeto(s) processado(s)","ra_%s was imported":"%s foi importado","ra_Accept license":"Aceitar licença",ra_Actions:tO,"ra_Add new child object to selected parent":"Adicionar novo objeto filho ao pai selecionado","ra_Add objects tree from JSON file":"Adicionar árvore de objetos do arquivo JSON","ra_Add row":"Adicionar linha","ra_Advanced options":"Opções avançadas","ra_All items are filtered out":"Todos os itens são filtrados","ra_All objects":"Todos os objetos",ra_Append:sO,"ra_Append %s entries or replace existing?":"Acrescentar %s entradas ou substituir as existentes?","ra_Append or replace?":"Acrescentar ou substituir?","ra_Are you sure?":"Você tem certeza?","ra_Auto (no custom columns)":"Auto (sem colunas personalizadas)","ra_Back to %s":"Voltar para %s","ra_Background image":"Imagem de fundo",ra_Cancel:iO,"ra_Cannot add items with set filter":"Não é possível adicionar itens com filtro definido","ra_Cannot decode license":"Não é possível decodificar a licença","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"Não é possível determinar a posição: as configurações do sistema estão vazias e a detecção de GPS está desativada no navegador",'ra_Cannot find "%s"':'Não foi possível encontrar "%s"','ra_Cannot read "%s"':'Não é possível ler "%s"',"ra_Cannot read licenses: %s":"Não é possível ler licenças: %s","ra_Cannot retrieve options, as instance is offline":"Não é possível recuperar opções, pois a instância está off-line","ra_Cannot update attribute, because not found in the object":"Não é possível atualizar o atributo, porque não foi encontrado no objeto","ra_Cannot upload":"Não é possível fazer upload",ra_Categories:rO,"ra_Chained certificate":"certificado encadeado","ra_Change color theme":"Alterar tema de cores","ra_Changed from":"Mudou de","ra_Channel → State":"Canal → Estado","ra_Check license":"Verifique a licença",ra_Checked:oO,ra_Clear:MO,"ra_Clear filter":"Filtro limpo","ra_Clear icon":"Ícone de limpeza","ra_Click to show":"Clique para mostrar","ra_Clone current row":"Clonar linha atual",ra_Close:nO,"ra_Collapse all nodes":"Recolher todos os nós","ra_Collapse one step node":"Recolher um nível",ra_Commercial:aO,ra_Configure:cO,"ra_Configure visible columns":"Configurar colunas visíveis","ra_Confirm deletion of %s":"Confirme a exclusão de %s",ra_Connected:uO,ra_Continue:lO,ra_Copied:NO,"ra_Copied %s":'"%s" copiado',"ra_Copy content":"Copiar conteúdo",ra_Create:LO,"ra_Create alias":"Criar alias","ra_Create folder":"Criar pasta","ra_Create new folder in %s":"Crie uma nova pasta em %s",ra_Crop:jO,"ra_Define CRON...":"Defina CRON...","ra_Define functions":"Definir funções","ra_Define rooms":"Definir quartos","ra_Define schedule":"Definir cronograma","ra_Define schedule...":"Definir programação ...",ra_Del:gO,ra_Delete:TO,"ra_Delete current row":"Excluir linha atual","ra_Deselect all":"Desmarque todos","ra_Device → Channel → State":"Dispositivo → Canal → Estado","ra_Disable/Enable translation":"Desativar/Ativar tradução",ra_Discard:yO,ra_Disconnected:DO,"ra_Do not ask for next 2 hours in this session":"Não peça as próximas 2 horas nesta sessão","ra_Do not export values of states":"Não exporte valores de estados","ra_Do not use let's encrypt":"Não use vamos criptografar","ra_Docker is not available":"O Docker não está disponível","ra_Docker is not installed or not running":"O Docker não está instalado ou não está em execução","ra_Double click to reset table layout":"Clique duas vezes para redefinir o layout da tabela","ra_Drag 'n' drop some files here, or click to select files":"Arraste e solte alguns arquivos aqui ou clique para selecionar arquivos","ra_Drop file here":"Solte o arquivo aqui","ra_Drop the files here...":"Solte o arquivo aqui ...","ra_Duplicate name":"Nome duplicado","ra_Edit ACL":"Editar ACL","ra_Edit alias":"Editar alias","ra_Edit custom config":"Editar configuração personalizada","ra_Edit full path":"Editar caminho completo","ra_Edit function":"Função de edição","ra_Edit object field":"Editar campo de objeto","ra_Edit role":"Editar papel","ra_Edit room":"Sala de edição","ra_Edit value":"Editar valor","ra_Enter the code from that page here":"Digite o código dessa página aqui",ra_Error:dO,"ra_Expand all nodes":"Expanda todos os nós","ra_Expand one step node":"Expanda um nível","ra_Expand/Collapse card":"Expandir/Recolher cartão","ra_Export configuration section":"Seção de configuração de exportação","ra_Export data to %s file":"Exportar dados para o arquivo %s","ra_Failed to open JSON File":"Falha ao abrir arquivo JSON","ra_Fallback custom certificates":"Certificados personalizados alternativos","ra_File is too big. Max %sk allowed. Try use SVG.":"O arquivo é muito grande. Max %sk permitido. Tente usar SVG.",ra_Filter:zO,"ra_Filter and Data Actions":"Ações de filtro e dados","ra_Filter files":"Filtrar arquivos","ra_Folder name":"Nome da pasta","ra_Folder → Channel → State":"Pasta → Canal → Estado","ra_Folder → Device → Channel → State":"Pasta → Dispositivo → Canal → Estado","ra_Folder → State":"Pasta → Estado","ra_Folders always first":"Pastas sempre primeiro",ra_Friday:IO,"ra_From file":"Do arquivo","ra_From text":"Do texto","ra_Get %s access":"Obtenha acesso %s","ra_Good luck":"Boa sorte","ra_Hide empty folders":"Esconder pastas vazias","ra_If no file will be created in the folder, it will disappear after the browser closed":"Se nenhum arquivo for criado na pasta, ele desaparecerá depois que o navegador for fechado","ra_If the button above does not work, you can authorize manually this app by visiting this url":"Se o botão acima não funcionar, você pode autorizar manualmente este aplicativo visitando esta url","ra_Import and add configuration section":"Seção de importação e adição de configuração","ra_Import and replace configuration section":"Seção de configuração de importação e substituição","ra_Import data from %s file":"Importar dados do arquivo %s","ra_Import from %s":"Importar de %s","ra_Instance %s is alive":"O %s da instância está ativo","ra_Instance %s is not alive":"O %s da instância não está ativo","ra_Instance is not alive":"A instância não está ativa","ra_Invalid CRON":"CRON inválido","ra_Invalid JSON":"JSON inválido","ra_Invalid JSON file.":"Arquivo JSON inválido.","ra_Invalid JSON format. Expected an array.":"Formato JSON inválido. Esperava-se uma matriz.","ra_Invalid answer from server":"Resposta inválida do servidor","ra_Invalid parent folder!":"Pasta pai inválida!","ra_Invalid structure":"Estrutura inválida","ra_JSON editor":"Editor JSON","ra_Last change":"Última mudança",ra_Latitude:hO,"ra_License %s":"Licença %s","ra_License agreement":"Contrato de licença","ra_License does not exist":"A licença não existe","ra_License expired on %s":"A licença expirou em %s",'ra_License for other product "%s"':'Licença para outro produto "%s"',"ra_License is for version %s, but required version is %s.":"A licença é para a versão %s, mas a versão necessária é %s.","ra_License must be converted":"A licença deve ser convertida para uma versão mais recente. Você pode fazê-lo em seu perfil iobroker.net.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"Licença não encontrada no gerenciador de licenças. Deseja atualizar as licenças do iobroker.net?","ra_Listen on all IPs":"Ouça em todos os IPs","ra_Load configuration from file":"Carregar configuração do arquivo",ra_Logout:wO,ra_Longitude:CO,'ra_May not trigger "updateLicenses"':'Pode não acionar "updateLicenses"',ra_Message:AO,ra_Monday:mO,"ra_Move down":"Mover para baixo","ra_Move up":"Subir",ra_Name:pO,"ra_No data found in file":"Nenhum dado encontrado no arquivo","ra_No one license found in license manager":"Nenhuma licença encontrada no gerenciador de licenças","ra_No response from admin":"Nenhuma resposta do administrador","ra_No response from the backend":"Nenhuma resposta do backend",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':'Os não especialistas podem criar novos objetos apenas em "0_userdata.0" ou "alias.0".',"ra_Not a number":"Não é um número",ra_Objects:OO,ra_Ok:EO,"ra_On weekdays":"Nos dias úteis","ra_Only following structures of objects are available:":"Apenas as seguintes estruturas de objetos estão disponíveis:","ra_Only selected":"Apenas selecionado","ra_Owner group":"Grupo proprietário","ra_Owner user":"Usuário proprietário","ra_Passwords are not equal!":"As senhas não são iguais!","ra_Place your files here or click here to open the browse dialog":"Coloque seus arquivos aqui ou clique aqui para abrir a janela de navegação","ra_Please allow popups in your browser for this page!":"Por favor, permita pop-ups no seu navegador para esta página!","ra_Please confirm":"Por favor confirme","ra_Please create license":"Crie uma licença","ra_Please enter the license":"Por favor, insira a licença","ra_Please select file...":"Selecione o arquivo...","ra_Please select object ID...":"Selecione o ID do objeto ...","ra_Port could be used by %s":"A porta pode ser usada por %s","ra_Port is already used by %s":"A porta já está sendo usada por %s","ra_Press ENTER Key to add new item":"Pressione a tecla ENTER para adicionar um novo item","ra_Private certificate":"certificado privado",ra_Product:_O,"ra_Public certificate":"certificado público","ra_Quality code":"Qualidade","ra_Refresh tree":"Atualizar árvore","ra_Reload files":"Recarregar arquivos",ra_Rename_Move_Copy:fO,"ra_Renew %s access":"Renovar acesso %s",ra_Repeat:SO,ra_Replace:xO,"ra_Request timed out":"Solicitação expirou","ra_Restrict to folder":"Restringir à pasta",ra_Root:kO,ra_Saturday:YO,ra_Save:QO,"ra_Save and close":"Salvar e fechar","ra_Save configuration to file":"Salvar configuração em arquivo","ra_Save objects tree as JSON file":"Salvar árvore de objetos como arquivo JSON","ra_Select all":"Selecionar tudo","ra_Select color":"Selecione a cor","ra_Select predefined icon":"Selecione o ícone predefinido","ra_Select type of export":"Selecione o tipo de exportação",ra_Selected:UO,"ra_Selected %s object(s)":"%s objeto(s) selecionado(s)","ra_Serial number (UUID)":"Número de série (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':'O número de série (UUID) "%s" na licença é para outro dispositivo.',"ra_Session will expire in %s seconds. Continue?":"A sessão irá expirar em %s segundos. Continuar?","ra_Show all folders":"Mostrar todas as pastas","ra_Show lines between rows":"Mostrar linhas entre as linhas","ra_Show/Hide object descriptions":"Mostrar/ocultar descrições de objetos","ra_Show/hide filter input":"Mostrar/ocultar entrada de filtro","ra_Some data are not stored. Discard?":"Alguns dados não são armazenados. Descartar?",ra_States:vO,"ra_Successfully authorized. Token valid till %s and will be automatically renewed.":"Autorizado com sucesso. Token válido até %s e será renovado automaticamente.","ra_Successfully authorized. Token valid till %s but it can expire as the instance is not running.":"Autorizado com sucesso. Token válido até %s, mas pode expirar, pois a instância não está em execução.","ra_Suitable license not found in license manager":"Licença adequada não encontrada no gerenciador de licenças",ra_Sunday:bO,"ra_Suppress question for next %s minutes":"Suprimir pergunta nos próximos %s minutos","ra_System language":"Idioma do sistema","ra_Take browser position":"Tomar posição do navegador","ra_Take position from system settings":"Tomar posição a partir das configurações do sistema",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':'Os especialistas podem criar objetos em qualquer lugar, exceto no segundo nível (por exemplo, "vis.0" ou "javascript.0").',"ra_The page you are looking for was not found":"A página que você está procurando não foi encontrada","ra_The schedule will be executed every minute. Are you sure?":"O agendamento será executado a cada minuto. Tem certeza?","ra_The schedule will be executed every second. Are you sure?":"O agendamento será executado a cada segundo. Tem certeza?",ra_Thursday:$O,ra_Timestamp:PO,"ra_Toggle expert mode":"Alternar modo especialista","ra_Toggle the states view":"Alternar a visualização dos estados","ra_Toggle view mode":"Alternar modo de visualização","ra_Too big":"Muito grande","ra_Too small":"Muito pequeno","ra_Transparent dialog":"Diálogo transparente",ra_Tuesday:WO,"ra_Unknown error":"Erro desconhecido","ra_Unknown error!":"Erro desconhecido!",ra_Update:RO,"ra_Upload file":"Subir arquivo","ra_Use all available let's encrypt certificates":"Use todos os certificados disponíveis vamos criptografar","ra_Use iobroker.acme adapter for letsencrypt certificates":"Use o adaptador iobroker.acme para certificados letsencrypt","ra_Use system settings for position":"Use as configurações do sistema para a posição","ra_Used system settings":"Configurações do sistema usadas","ra_User files":"Arquivos do usuário",ra_ValidTill:JO,ra_Value:BO,ra_Version:GO,"ra_View file":"Visualizar arquivo","ra_View: %s":"Visualizar: %s",ra_Wednesday:FO,ra_Width:HO,"ra_YAML editor":"Editor YAML",ra_Yes:VO,"ra_You can export all objects or just the selected branch.":"Você pode exportar todos os objetos ou apenas a ramificação selecionada.","ra_You can filter entries by entering here some text":"Você pode filtrar as entradas digitando aqui algum texto","ra_You can use * as wildcard":"Você pode usar * como curinga",ra___different__:ZO,ra_aclEveryone_read_object:XO,ra_aclEveryone_read_state:KO,ra_aclEveryone_write_object:qO,ra_aclEveryone_write_state:eE,ra_aclGroup_read_object:tE,ra_aclGroup_read_state:sE,ra_aclGroup_write_object:iE,ra_aclGroup_write_state:rE,ra_aclOwner_read_object:oE,ra_aclOwner_read_state:ME,ra_aclOwner_write_object:nE,ra_aclOwner_write_state:aE,ra_buttons:cE,ra_changedFrom:uE,ra_close:lE,ra_create_boolean_state:NE,ra_create_channel:LE,ra_create_device:jE,ra_create_number_state:gE,ra_create_state:TE,ra_create_string_state:yE,ra_daysShortText:DE,ra_dow_Fr:dE,ra_dow_Mo:zE,ra_dow_Sa:IE,ra_dow_Su:hE,ra_dow_Th:wE,ra_dow_Tu:CE,ra_dow_We:AE,ra_expertMode:mE,ra_false:pE,ra_fileType_all:OE,ra_fileType_audio:EE,ra_fileType_code:_E,ra_fileType_images:fE,ra_fileType_txt:SE,ra_fileType_video:xE,"ra_fileType_video,":"Vídeo",ra_filter_customs:kE,ra_filter_customs_without:YE,ra_filter_func:QE,ra_filter_id:UE,ra_filter_name:vE,ra_filter_role:bE,ra_filter_room:$E,ra_filter_type:PE,"ra_import data from %s file":"Importar dados do arquivo %s",ra_invalidConfig:WE,ra_lastChange:RE,ra_locally:JE,ra_month_Apr:BE,ra_month_Aug:GE,ra_month_Dec:FE,ra_month_Feb:HE,ra_month_Jan:VE,ra_month_Jul:ZE,ra_month_Jun:XE,ra_month_Mai:KE,ra_month_Mar:qE,ra_month_Nov:e_,ra_month_Oct:t_,ra_month_Sep:s_,ra_months_Apr:i_,ra_months_Aug:r_,ra_months_Dec:o_,ra_months_Feb:M_,ra_months_Jan:n_,ra_months_Jul:a_,ra_months_Jun:c_,ra_months_Mai:u_,ra_months_Mar:l_,ra_months_Nov:N_,ra_months_Oct:L_,ra_months_Sep:j_,"ra_no confirm for 5 mins":"sem confirmação por 5 minutos",ra_none:g_,ra_object_changed_by:T_,ra_object_changed_by_user:y_,ra_otherConfig:D_,ra_qualityCode:d_,ra_repeat:z_,ra_select_folder_hint:I_,ra_show_all:h_,ra_state_changed_by:w_,ra_state_changed_from:C_,ra_timestamp:A_,ra_tooltip_ack:m_,ra_tooltip_comment:p_,ra_tooltip_copyState:O_,ra_tooltip_ctrlForLink:E_,ra_tooltip_customConfig:__,ra_tooltip_deleteObject:f_,ra_tooltip_editObject:S_,ra_tooltip_editState:x_,ra_tooltip_expire:k_,ra_tooltip_from:Y_,ra_tooltip_lc:Q_,ra_tooltip_quality:U_,ra_tooltip_ts:v_,ra_tooltip_user:b_,ra_tooltip_value:$_,ra_true:P_,"ra_use seconds":"use segundos",ra_val:W_,"ra_via internet":"via internet",ra_warning_every_minute:R_,ra_warning_every_second:J_,sc_cron:B_,sc_date:G_,sc_dates:F_,sc_dow:H_,sc_dows:V_,sc_every:Z_,sc_everyN_dates:X_,sc_everyN_dow:K_,sc_everyN_dows:q_,sc_everyN_hours:ef,sc_everyN_minutes:tf,sc_everyN_months:sf,sc_everyN_seconds:rf,sc_every_dates:of,sc_every_dow:Mf,sc_every_dows:nf,sc_every_hours:af,sc_every_minutes:cf,sc_every_months:uf,sc_every_seconds:lf,sc_from:Nf,sc_hours:Lf,sc_interval:jf,sc_intervalBetween:gf,sc_invalid_cron:Tf,sc_minutes:yf,sc_months:Df,sc_once:df,sc_period:zf,sc_seconds:If,sc_simple:hf,sc_specific:wf,sc_specific_dates:Cf,sc_specific_dow:Af,sc_specific_dows:mf,sc_specific_hours:pf,sc_specific_minutes:Of,sc_specific_months:Ef,sc_specific_seconds:_f,sc_time:ff,sc_to:Sf,sc_wizard:xf,sch_all:kf,sch_astroDay:Yf,sch_astroNight:Qf,sch_astro_dawn:Uf,sch_astro_dusk:vf,sch_astro_goldenHour:bf,sch_astro_goldenHourEnd:$f,sch_astro_nadir:Pf,sch_astro_nauticalDawn:Wf,sch_astro_nauticalDusk:Rf,sch_astro_night:Jf,sch_astro_nightEnd:Bf,sch_astro_solarNoon:Gf,sch_astro_sunrise:Ff,sch_astro_sunriseEnd:Hf,sch_astro_sunset:Vf,sch_astro_sunsetStart:Zf,sch_at:Xf,sch_desc_atTime:Kf,sch_desc_everyDay:qf,sch_desc_everyHour:eS,sch_desc_everyMinute:tS,sch_desc_everyMonth:sS,sch_desc_everyNDay:iS,sch_desc_everyNHours:rS,sch_desc_everyNMinutes:oS,sch_desc_everyNMonths:MS,sch_desc_everyNWeeks:nS,sch_desc_everyNYears:aS,sch_desc_everyWeek:cS,sch_desc_everyYear:uS,sch_desc_intervalFromTo:lS,sch_desc_never:NS,sch_desc_onDate:LS,sch_desc_onDates:jS,sch_desc_onEveryDate:gS,sch_desc_onMonth:TS,sch_desc_onMonths:yS,sch_desc_onWeekday:DS,sch_desc_onWeekdays:dS,sch_desc_onWeekends:zS,sch_desc_onWorkdays:IS,sch_desc_onceInPast:hS,sch_desc_once_on:wS,sch_desc_validFrom:CS,sch_desc_validFromTo:AS,sch_desc_validTo:mS,sch_every:pS,sch_exactTime:OS,sch_from:ES,sch_fromTo:_S,sch_intervalTime:fS,sch_invert:SS,sch_no_one:xS,sch_on:kS,sch_period:YS,sch_periodDaily:QS,sch_periodDates:US,sch_periodDay:vS,sch_periodEvery:bS,sch_periodEveryDay:$S,sch_periodEveryMonth:PS,sch_periodEveryWeek:WS,sch_periodEveryYear:RS,sch_periodHours:JS,sch_periodMinutes:BS,sch_periodMonth:GS,sch_periodMonthly:FS,sch_periodOnce:HS,sch_periodSpecificMonths:VS,sch_periodWeek:ZS,sch_periodWeekdays:XS,sch_periodWeekend:KS,sch_periodWeekly:qS,sch_periodWorkdays:ex,sch_periodYear:tx,sch_periodYearly:sx,sch_specificTime:ix,sch_time:rx,sch_to:ox,sch_valid:Mx,sch_validFrom:nx,sch_validTo:ax,sch_wholeDay:cx,sch_yearEveryMonth:ux},Nx="Acties",Lx="toevoegen",jx="Annuleer",gx="Categorieën",Tx="Gecontroleerd",yx="Verwijderen",Dx="Dichtbij",dx="Reclame",zx="Configureren",Ix="Verbonden",hx="Doorgaan",wx="Gekopieerd",Cx="Creëer",Ax="Bijsnijden",mx="Delete",px="Verwijderen",Ox="Weggooien",Ex="Verbinding verbroken",_x="Fout",fx="Filter",Sx="Vrijdag",xx="Breedtegraad",kx="Uitloggen",Yx="Lengtegraad",Qx="Bericht",Ux="Maandag",vx="Naam",bx="Voorwerpen",$x="OK",Px="Product",Wx="Hernoemen/Verplaatsen/Kopiëren",Rx="Herhaling",Jx="Vervangen",Bx="Wortel",Gx="Zaterdag",Fx="Sparen",Hx="Geselecteerd",Vx="Staten",Zx="Zondag",Xx="Donderdag",Kx="Tijdstempel",qx="Dinsdag",e5="Bijwerken",t5="Geldig tot",s5="Waarde",i5="Versie",r5="Woensdag",o5="Breedte",M5="Ja",n5="verschillend",a5="Iedereen kan object lezen",c5="Iedereen kan staat lezen",u5="Iedereen kan object schrijven",l5="Iedereen kan staat schrijven",N5="Groep kan object lezen",L5="Groep kan status lezen",j5="Groep kan object schrijven",g5="Groep kan staat schrijven",T5="Eigenaar kan object lezen",y5="Eigenaar kan staat lezen",D5="Eigenaar kan object schrijven",d5="Eigenaar kan staat schrijven",z5="Toetsen",I5="Veranderd van",h5="dichtbij",w5="Creëer een Booleaanse status",C5="Kanaal maken",A5="Apparaat maken",m5="Nummerstatus maken",p5="Staat creëren",O5="Tekenreeksstatus maken",E5="d.",_5="Fr",f5="Mo",S5="Za",x5="Zo",k5="Th",Y5="Tu",Q5="Wij",U5="Expert modus",v5="ONWAAR",b5="Alle bestanden",$5="Audio",P5="Code/JSON",W5="Afbeeldingen",R5="Tekst",J5="Video",B5="Instellingen",G5="zonder",F5="Functie",H5="ID",V5="Naam",Z5="Rol",X5="Kamer",K5="Type",q5="Ongeldige instellingen",ek="Laatste wijziging",tk="plaatselijk",sk="april",ik="aug",rk="dec",ok="februari",Mk="jan",nk="jul",ak="juni",ck="Mei",uk="mrt",lk="nov",Nk="Okt",Lk="sept",jk="april",gk="aug",Tk="dec",yk="februari",Dk="jan",dk="jul",zk="juni",Ik="Mei",hk="mrt",wk="nov",Ck="Okt",Ak="sept",mk="geen",pk="Object veranderd door",Ok="Object voor het laatst gewijzigd om",Ek="Instellingen van andere adapter %s",_k="Kwaliteitscode",fk="herhalen",Sk='Om een map te selecteren, houdt u gewoon de toets "shift" ingedrukt door op de map te klikken.',xk="Alles weergeven",kk="Staat veranderd door",Yk="Object veranderd van",Qk="Tijdstempel",Uk="Erkende vlag",vk="Opmerking",bk="Kopieer de statuswaarde",$k="Houd de Cltr/⌘-toets ingedrukt om de link te openen",Pk="Aangepaste instellingen",Wk="Object verwijderen",Rk="Object bewerken",Jk="Bewerk de statuswaarde",Bk="Verloopt over",Gk="Van",Fk="Laatst gewijzigd",Hk="Kwaliteit",Vk="Tijdstempel",Zk="Gebruiker",Xk="Waarde",Kk="WAAR",qk="Waarde",eY="Waarschuwing: De CRON-taak wordt elke minuut uitgevoerd gedurende de opgegeven periode!",tY="Waarschuwing: De CRON-taak wordt elke seconde uitgevoerd gedurende de opgegeven periode!",sY="CRON",iY="Datum",rY="data",oY="Dag",MY="Dag van de week",nY="elk",aY="elke N dagen",cY="elke N-de dag van de week",uY="elke N dag van de week",lY="elke N uur",NY="elke N minuten",LY="elke N maanden",jY="elke N seconden",gY="elke dag",TY="elke dag van de week",yY="elke dag van de week",DY="elk uur",dY="elke minuut",zY="elke maand",IY="elke seconde",hY="Van",wY="uren",CY="Interval",AY="Interval tussen",mY="Ongeldige CRON",pY="Notulen",OY="maanden",EY="Een keer",_Y="Periode",fY="seconden",SY="Gemakkelijk",xY="Specifieke tijd",kY="specifieke data",YY="specifieke dag(en) van de week",QY="specifieke dag van weken",UY="specifieke uren",vY="specifieke minuten",bY="specifieke maanden",$Y="specifieke seconden",PY="Tijd",WY="Naar",RY="tovenaar",JY="allemaal",BY="Astro-dag",GY="Astro-nacht",FY="Dageraad",HY="Schemer",VY="gouden uur",ZY="Gouden uur einde",XY="Nadir",KY="Nautische dageraad",qY="Nautische schemering",eQ="Nacht",tQ="Nacht einde",sQ="Zonne middag",iQ="zonsopkomst",rQ="Sunrise einde",oQ="Zonsondergang",MQ="Zonsondergang start",nQ="Bij",aQ="op %s",cQ="elke dag",uQ="elk uur",lQ="elke minuut",NQ="elke maand",LQ="elke %s dag",jQ="elke %s uur",gQ="elke %s minuten",TQ="elke %s maanden",yQ="elke %s weken",DQ="elke %s jaar",dQ="elke week",zQ="elk jaar",IQ="van %s tot %s",hQ="nooit",wQ="op %s van %s",CQ="op %s en %s van",AQ="op elke datum van",mQ="%s",pQ="%s en %s",OQ="op %s",EQ="op %s en %s",_Q="in het weekend",fQ="op werkdagen",SQ="zal niet meer worden uitgevoerd, omdat start verleden tijd is",xQ="op %s",kQ="van %s",YQ="Uitvoeren van tot",QQ="tot %s",UQ="elk",vQ="Specifieke tijd",bQ="van",$Q="Van naar",PQ="Interval tijd",WQ="omkeren",RQ="geen",JQ="Aan",BQ="Periode",GQ="Dagelijks",FQ="data",HQ="Dag",VQ="elk",ZQ="Elke dag",XQ="Elke maand",KQ="Elke week",qQ="Elk jaar",eU="uren",tU="Notulen",sU="maand",iU="Maandelijks",rU="Een keer",oU="Specifieke maanden",MU="Week",nU="Doordeweekse dagen",aU="Weekend",cU="Wekelijks",uU="werkdagen",lU="Jaar",NU="jaar-",LU="Specifieke tijd",jU="Tijd",gU="naar",TU="Geldig",yU="van",DU="naar",dU="Hele dag",zU="elke maand",IU={"ra_%s links from aliases":"%s links van aliassen","ra_%s object(s) processed":"%s object(en) verwerkt","ra_%s was imported":"%s is geïmporteerd","ra_Accept license":"Accepteer licentie",ra_Actions:Nx,"ra_Add new child object to selected parent":"Voeg een nieuw kindobject toe aan het geselecteerde bovenliggende object","ra_Add objects tree from JSON file":"Objectenboom toevoegen vanuit JSON-bestand","ra_Add row":"Voeg een rij toe","ra_Advanced options":"Geavanceerde mogelijkheden","ra_All items are filtered out":"Alle items zijn uitgefilterd","ra_All objects":"Alle objecten",ra_Append:Lx,"ra_Append %s entries or replace existing?":"%s ingangen toevoegen of bestaande vervangen?","ra_Append or replace?":"Toevoegen of vervangen?","ra_Are you sure?":"Weet je het zeker?","ra_Auto (no custom columns)":"Auto (geen aangepaste kolommen)","ra_Back to %s":"Terug naar %s","ra_Background image":"Achtergrond afbeelding",ra_Cancel:jx,"ra_Cannot add items with set filter":"Kan geen items toevoegen met ingestelde filter","ra_Cannot decode license":"Kan licentie niet decoderen","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"Kan positie niet bepalen: systeeminstellingen zijn leeg en GPS-detectie is uitgeschakeld in browser",'ra_Cannot find "%s"':'Kan "%s" niet vinden','ra_Cannot read "%s"':'Kan "%s" niet lezen',"ra_Cannot read licenses: %s":"Kan licenties niet lezen: %s","ra_Cannot retrieve options, as instance is offline":"Kan opties niet ophalen, omdat instantie offline is","ra_Cannot update attribute, because not found in the object":"Kan kenmerk niet bijwerken, omdat het niet in het object is gevonden","ra_Cannot upload":"Kan niet uploaden",ra_Categories:gx,"ra_Chained certificate":"Geketend certificaat","ra_Change color theme":"Kleurthema wijzigen","ra_Changed from":"Veranderd van","ra_Channel → State":"Kanaal → Staat","ra_Check license":"Licentie controleren",ra_Checked:Tx,ra_Clear:yx,"ra_Clear filter":"Filter wissen","ra_Clear icon":"Pictogram wissen","ra_Click to show":"Klik om te tonen","ra_Clone current row":"Kloon de huidige rij",ra_Close:Dx,"ra_Collapse all nodes":"Vouw alle knooppunten samen","ra_Collapse one step node":"Eén niveau samenvouwen",ra_Commercial:dx,ra_Configure:zx,"ra_Configure visible columns":"Configureer zichtbare kolommen","ra_Confirm deletion of %s":"Bevestig het verwijderen van %s",ra_Connected:Ix,ra_Continue:hx,ra_Copied:wx,"ra_Copied %s":'"%s" gekopieerd',"ra_Copy content":"Inhoud kopiëren",ra_Create:Cx,"ra_Create alias":"Alias maken","ra_Create folder":"Map aanmaken","ra_Create new folder in %s":"Maak een nieuwe map in %s",ra_Crop:Ax,"ra_Define CRON...":"Definieer CRON...","ra_Define functions":"Definieer functies","ra_Define rooms":"Definieer kamers","ra_Define schedule":"Definieer schema","ra_Define schedule...":"Schema definiëren ...",ra_Del:mx,ra_Delete:px,"ra_Delete current row":"Huidige rij verwijderen","ra_Deselect all":"Deselecteer alles","ra_Device → Channel → State":"Apparaat → Kanaal → Staat","ra_Disable/Enable translation":"Vertaling uitschakelen/inschakelen",ra_Discard:Ox,ra_Disconnected:Ex,"ra_Do not ask for next 2 hours in this session":"Vraag niet om de volgende 2 uur in deze sessie","ra_Do not export values of states":"Exporteer geen waarden van staten","ra_Do not use let's encrypt":"Gebruik geen let's encrypt","ra_Docker is not available":"Docker is niet beschikbaar","ra_Docker is not installed or not running":"Docker is niet geïnstalleerd of draait niet","ra_Double click to reset table layout":"Dubbelklik om de tafelindeling te resetten","ra_Drag 'n' drop some files here, or click to select files":"Sleep enkele bestanden hierheen, of klik om bestanden te selecteren","ra_Drop file here":"Zet het bestand hier neer","ra_Drop the files here...":"Zet het bestand hier neer...","ra_Duplicate name":"Dubbele naam","ra_Edit ACL":"ACL bewerken","ra_Edit alias":"Alias bewerken","ra_Edit custom config":"Bewerk aangepaste config","ra_Edit full path":"Volledig pad bewerken","ra_Edit function":"Bewerkingsfunctie","ra_Edit object field":"Bewerk objectveld","ra_Edit role":"Rol bewerken","ra_Edit room":"Kamer bewerken","ra_Edit value":"Waarde bewerken","ra_Enter the code from that page here":"Voer hier de code van die pagina in",ra_Error:_x,"ra_Expand all nodes":"Vouw alle knooppunten uit","ra_Expand one step node":"Vouw een niveau uit","ra_Expand/Collapse card":"Kaart uit-/inklappen","ra_Export configuration section":"Sectie Exportconfiguratie","ra_Export data to %s file":"Exporteer gegevens naar %s bestand","ra_Failed to open JSON File":"JSON-bestand kan niet worden geopend","ra_Fallback custom certificates":"Fallback aangepaste certificaten","ra_File is too big. Max %sk allowed. Try use SVG.":"Bestand is te groot. Max. %sk toegestaan. Probeer SVG te gebruiken.",ra_Filter:fx,"ra_Filter and Data Actions":"Filter- en gegevensacties","ra_Filter files":"Bestanden filteren","ra_Folder name":"Naam van de map","ra_Folder → Channel → State":"Map → Kanaal → Staat","ra_Folder → Device → Channel → State":"Map → Apparaat → Kanaal → Staat","ra_Folder → State":"Map → Staat","ra_Folders always first":"Mappen altijd eerst",ra_Friday:Sx,"ra_From file":"Van bestand","ra_From text":"Van tekst","ra_Get %s access":"Krijg %s toegang","ra_Good luck":"Veel geluk","ra_Hide empty folders":"Verberg lege mappen","ra_If no file will be created in the folder, it will disappear after the browser closed":"Als er geen bestand in de map wordt gemaakt, verdwijnt het nadat de browser is gesloten","ra_If the button above does not work, you can authorize manually this app by visiting this url":"Als de bovenstaande knop niet werkt, kunt u deze app handmatig autoriseren door deze url te bezoeken","ra_Import and add configuration section":"Configuratiesectie importeren en toevoegen","ra_Import and replace configuration section":"Configuratiesectie importeren en vervangen","ra_Import data from %s file":"Importeer gegevens uit %s bestand","ra_Import from %s":"Importeren uit %s","ra_Instance %s is alive":"Instantie %s leeft","ra_Instance %s is not alive":"Instantie %s is niet actief","ra_Instance is not alive":"Instantie leeft niet","ra_Invalid CRON":"Ongeldige CRON","ra_Invalid JSON":"Ongeldige JSON","ra_Invalid JSON file.":"Ongeldig JSON-bestand.","ra_Invalid JSON format. Expected an array.":"Ongeldige JSON-indeling. Er werd een array verwacht.","ra_Invalid answer from server":"Ongeldig antwoord van de server","ra_Invalid parent folder!":"Ongeldige bovenliggende map!","ra_Invalid structure":"Ongeldige structuur","ra_JSON editor":"JSON-editor","ra_Last change":"Laatste wijziging",ra_Latitude:xx,"ra_License %s":"Licentie %s","ra_License agreement":"Licentieovereenkomst","ra_License does not exist":"Licentie bestaat niet","ra_License expired on %s":"Licentie verlopen op %s",'ra_License for other product "%s"':'Licentie voor ander product "%s"',"ra_License is for version %s, but required version is %s.":"Licentie is voor versie %s, maar vereiste versie is %s.","ra_License must be converted":"Licentie moet worden omgezet naar nieuwere versie. U kunt dit doen in uw iobroker.net-profiel.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"Licentie niet gevonden in licentiebeheer. Wilt u licenties van iobroker.net bijwerken?","ra_Listen on all IPs":"Luister op alle IP's","ra_Load configuration from file":"Laad configuratie uit bestand",ra_Logout:kx,ra_Longitude:Yx,'ra_May not trigger "updateLicenses"':'Activeert mogelijk niet "updateLicenses"',ra_Message:Qx,ra_Monday:Ux,"ra_Move down":"Naar beneden verplaatsen","ra_Move up":"Omhoog gaan",ra_Name:vx,"ra_No data found in file":"Geen gegevens gevonden in bestand","ra_No one license found in license manager":"Geen enkele licentie gevonden in licentiebeheer","ra_No response from admin":"Geen reactie van de beheerder","ra_No response from the backend":"Geen reactie van de backend",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':'Niet-experts mogen alleen nieuwe objecten maken in "0_userdata.0" of "alias.0".',"ra_Not a number":"Geen nummer",ra_Objects:bx,ra_Ok:$x,"ra_On weekdays":"Op weekdagen","ra_Only following structures of objects are available:":"Alleen de volgende structuren van objecten zijn beschikbaar:","ra_Only selected":"Alleen geselecteerd","ra_Owner group":"Eigenaarsgroep","ra_Owner user":"Eigenaar gebruiker","ra_Passwords are not equal!":"Wachtwoorden zijn niet gelijk!","ra_Place your files here or click here to open the browse dialog":"Plaats uw bestanden hier of klik hier om het bladervenster te openen","ra_Please allow popups in your browser for this page!":"Sta pop-ups toe in uw browser voor deze pagina!","ra_Please confirm":"Bevestig alstublieft","ra_Please create license":"Maak een licentie aan","ra_Please enter the license":"Voer de licentie in","ra_Please select file...":"Selecteer bestand...","ra_Please select object ID...":"Selecteer object-ID ...","ra_Port could be used by %s":"Poort kan worden gebruikt door %s","ra_Port is already used by %s":"Poort wordt al gebruikt door %s","ra_Press ENTER Key to add new item":"Druk op de ENTER-toets om een nieuw item toe te voegen","ra_Private certificate":"Privé certificaat",ra_Product:Px,"ra_Public certificate":"Openbaar certificaat","ra_Quality code":"Kwaliteit","ra_Refresh tree":"Vernieuw de boom","ra_Reload files":"Laad bestanden opnieuw",ra_Rename_Move_Copy:Wx,"ra_Renew %s access":"%s toegang verlengen",ra_Repeat:Rx,ra_Replace:Jx,"ra_Request timed out":"Verzoek verlopen","ra_Restrict to folder":"Beperken tot map",ra_Root:Bx,ra_Saturday:Gx,ra_Save:Fx,"ra_Save and close":"Opslaan en afsluiten","ra_Save configuration to file":"Sla de configuratie op in een bestand","ra_Save objects tree as JSON file":"Sla de objectenboom op als JSON-bestand","ra_Select all":"Selecteer alles","ra_Select color":"Selecteer kleur","ra_Select predefined icon":"Selecteer voorgedefinieerd pictogram","ra_Select type of export":"Selecteer het type export",ra_Selected:Hx,"ra_Selected %s object(s)":"Geselecteerde %s object(en)","ra_Serial number (UUID)":"Serienummer (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':'Serienummer (UUID) "%s" in licentie is voor ander apparaat.',"ra_Session will expire in %s seconds. Continue?":"Sessie verloopt over %s seconden. Doorgaan?","ra_Show all folders":"Toon alle mappen","ra_Show lines between rows":"Toon lijnen tussen rijen","ra_Show/Hide object descriptions":"Toon/verberg objectbeschrijvingen","ra_Show/hide filter input":"Filterinvoer weergeven/verbergen","ra_Some data are not stored. Discard?":"Sommige gegevens worden niet opgeslagen. Weggooien?",ra_States:Vx,"ra_Successfully authorized. Token valid till %s and will be automatically renewed.":"Succesvol geautoriseerd. Token geldig tot %s en wordt automatisch verlengd.","ra_Successfully authorized. Token valid till %s but it can expire as the instance is not running.":"Succesvol geautoriseerd. Token geldig tot %s, maar kan verlopen omdat de instantie niet actief is.","ra_Suitable license not found in license manager":"Geschikte licentie niet gevonden in licentiebeheer",ra_Sunday:Zx,"ra_Suppress question for next %s minutes":"Vraag de volgende %s minuten onderdrukken","ra_System language":"Systeemtaal","ra_Take browser position":"Positie innemen vanuit de browser","ra_Take position from system settings":"Neem positie over van systeeminstellingen",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':'De experts kunnen overal objecten maken, behalve vanaf het tweede niveau (bijv. "Vis.0" of "javascript.0").',"ra_The page you are looking for was not found":"De pagina die u zoekt is niet gevonden","ra_The schedule will be executed every minute. Are you sure?":"Het schema wordt elke minuut uitgevoerd. Weet u het zeker?","ra_The schedule will be executed every second. Are you sure?":"Het schema wordt elke seconde uitgevoerd. Weet je het zeker?",ra_Thursday:Xx,ra_Timestamp:Kx,"ra_Toggle expert mode":"Schakel tussen expertmodus","ra_Toggle the states view":"Schakel de statusweergave in of uit","ra_Toggle view mode":"Schakelen tussen weergavemodus","ra_Too big":"Te groot","ra_Too small":"Te klein","ra_Transparent dialog":"Transparant dialoogvenster",ra_Tuesday:qx,"ra_Unknown error":"Onbekende fout","ra_Unknown error!":"Onbekende fout!",ra_Update:e5,"ra_Upload file":"Upload bestand","ra_Use all available let's encrypt certificates":"Gebruik alle beschikbare Let's Encrypt-certificaten","ra_Use iobroker.acme adapter for letsencrypt certificates":"Gebruik de iobroker.acme-adapter voor letsencrypt-certificaten","ra_Use system settings for position":"Gebruik systeeminstellingen voor positie","ra_Used system settings":"Gebruikte systeeminstellingen","ra_User files":"Gebruikersbestanden",ra_ValidTill:t5,ra_Value:s5,ra_Version:i5,"ra_View file":"Bestand bekijken","ra_View: %s":"Bekijk: %s",ra_Wednesday:r5,ra_Width:o5,"ra_YAML editor":"YAML-editor",ra_Yes:M5,"ra_You can export all objects or just the selected branch.":"U kunt alle objecten of alleen de geselecteerde tak exporteren.","ra_You can filter entries by entering here some text":"U kunt items filteren door hier wat tekst in te voeren","ra_You can use * as wildcard":"U kunt * als joker gebruiken",ra___different__:n5,ra_aclEveryone_read_object:a5,ra_aclEveryone_read_state:c5,ra_aclEveryone_write_object:u5,ra_aclEveryone_write_state:l5,ra_aclGroup_read_object:N5,ra_aclGroup_read_state:L5,ra_aclGroup_write_object:j5,ra_aclGroup_write_state:g5,ra_aclOwner_read_object:T5,ra_aclOwner_read_state:y5,ra_aclOwner_write_object:D5,ra_aclOwner_write_state:d5,ra_buttons:z5,ra_changedFrom:I5,ra_close:h5,ra_create_boolean_state:w5,ra_create_channel:C5,ra_create_device:A5,ra_create_number_state:m5,ra_create_state:p5,ra_create_string_state:O5,ra_daysShortText:E5,ra_dow_Fr:_5,ra_dow_Mo:f5,ra_dow_Sa:S5,ra_dow_Su:x5,ra_dow_Th:k5,ra_dow_Tu:Y5,ra_dow_We:Q5,ra_expertMode:U5,ra_false:v5,ra_fileType_all:b5,ra_fileType_audio:$5,ra_fileType_code:P5,ra_fileType_images:W5,ra_fileType_txt:R5,ra_fileType_video:J5,"ra_fileType_video,":"Video",ra_filter_customs:B5,ra_filter_customs_without:G5,ra_filter_func:F5,ra_filter_id:H5,ra_filter_name:V5,ra_filter_role:Z5,ra_filter_room:X5,ra_filter_type:K5,"ra_import data from %s file":"Importeer gegevens uit %s bestand",ra_invalidConfig:q5,ra_lastChange:ek,ra_locally:tk,ra_month_Apr:sk,ra_month_Aug:ik,ra_month_Dec:rk,ra_month_Feb:ok,ra_month_Jan:Mk,ra_month_Jul:nk,ra_month_Jun:ak,ra_month_Mai:ck,ra_month_Mar:uk,ra_month_Nov:lk,ra_month_Oct:Nk,ra_month_Sep:Lk,ra_months_Apr:jk,ra_months_Aug:gk,ra_months_Dec:Tk,ra_months_Feb:yk,ra_months_Jan:Dk,ra_months_Jul:dk,ra_months_Jun:zk,ra_months_Mai:Ik,ra_months_Mar:hk,ra_months_Nov:wk,ra_months_Oct:Ck,ra_months_Sep:Ak,"ra_no confirm for 5 mins":"geen bevestiging gedurende 5 minuten",ra_none:mk,ra_object_changed_by:pk,ra_object_changed_by_user:Ok,ra_otherConfig:Ek,ra_qualityCode:_k,ra_repeat:fk,ra_select_folder_hint:Sk,ra_show_all:xk,ra_state_changed_by:kk,ra_state_changed_from:Yk,ra_timestamp:Qk,ra_tooltip_ack:Uk,ra_tooltip_comment:vk,ra_tooltip_copyState:bk,ra_tooltip_ctrlForLink:$k,ra_tooltip_customConfig:Pk,ra_tooltip_deleteObject:Wk,ra_tooltip_editObject:Rk,ra_tooltip_editState:Jk,ra_tooltip_expire:Bk,ra_tooltip_from:Gk,ra_tooltip_lc:Fk,ra_tooltip_quality:Hk,ra_tooltip_ts:Vk,ra_tooltip_user:Zk,ra_tooltip_value:Xk,ra_true:Kk,"ra_use seconds":"gebruik seconden",ra_val:qk,"ra_via internet":"via internet",ra_warning_every_minute:eY,ra_warning_every_second:tY,sc_cron:sY,sc_date:iY,sc_dates:rY,sc_dow:oY,sc_dows:MY,sc_every:nY,sc_everyN_dates:aY,sc_everyN_dow:cY,sc_everyN_dows:uY,sc_everyN_hours:lY,sc_everyN_minutes:NY,sc_everyN_months:LY,sc_everyN_seconds:jY,sc_every_dates:gY,sc_every_dow:TY,sc_every_dows:yY,sc_every_hours:DY,sc_every_minutes:dY,sc_every_months:zY,sc_every_seconds:IY,sc_from:hY,sc_hours:wY,sc_interval:CY,sc_intervalBetween:AY,sc_invalid_cron:mY,sc_minutes:pY,sc_months:OY,sc_once:EY,sc_period:_Y,sc_seconds:fY,sc_simple:SY,sc_specific:xY,sc_specific_dates:kY,sc_specific_dow:YY,sc_specific_dows:QY,sc_specific_hours:UY,sc_specific_minutes:vY,sc_specific_months:bY,sc_specific_seconds:$Y,sc_time:PY,sc_to:WY,sc_wizard:RY,sch_all:JY,sch_astroDay:BY,sch_astroNight:GY,sch_astro_dawn:FY,sch_astro_dusk:HY,sch_astro_goldenHour:VY,sch_astro_goldenHourEnd:ZY,sch_astro_nadir:XY,sch_astro_nauticalDawn:KY,sch_astro_nauticalDusk:qY,sch_astro_night:eQ,sch_astro_nightEnd:tQ,sch_astro_solarNoon:sQ,sch_astro_sunrise:iQ,sch_astro_sunriseEnd:rQ,sch_astro_sunset:oQ,sch_astro_sunsetStart:MQ,sch_at:nQ,sch_desc_atTime:aQ,sch_desc_everyDay:cQ,sch_desc_everyHour:uQ,sch_desc_everyMinute:lQ,sch_desc_everyMonth:NQ,sch_desc_everyNDay:LQ,sch_desc_everyNHours:jQ,sch_desc_everyNMinutes:gQ,sch_desc_everyNMonths:TQ,sch_desc_everyNWeeks:yQ,sch_desc_everyNYears:DQ,sch_desc_everyWeek:dQ,sch_desc_everyYear:zQ,sch_desc_intervalFromTo:IQ,sch_desc_never:hQ,sch_desc_onDate:wQ,sch_desc_onDates:CQ,sch_desc_onEveryDate:AQ,sch_desc_onMonth:mQ,sch_desc_onMonths:pQ,sch_desc_onWeekday:OQ,sch_desc_onWeekdays:EQ,sch_desc_onWeekends:_Q,sch_desc_onWorkdays:fQ,sch_desc_onceInPast:SQ,sch_desc_once_on:xQ,sch_desc_validFrom:kQ,sch_desc_validFromTo:YQ,sch_desc_validTo:QQ,sch_every:UQ,sch_exactTime:vQ,sch_from:bQ,sch_fromTo:$Q,sch_intervalTime:PQ,sch_invert:WQ,sch_no_one:RQ,sch_on:JQ,sch_period:BQ,sch_periodDaily:GQ,sch_periodDates:FQ,sch_periodDay:HQ,sch_periodEvery:VQ,sch_periodEveryDay:ZQ,sch_periodEveryMonth:XQ,sch_periodEveryWeek:KQ,sch_periodEveryYear:qQ,sch_periodHours:eU,sch_periodMinutes:tU,sch_periodMonth:sU,sch_periodMonthly:iU,sch_periodOnce:rU,sch_periodSpecificMonths:oU,sch_periodWeek:MU,sch_periodWeekdays:nU,sch_periodWeekend:aU,sch_periodWeekly:cU,sch_periodWorkdays:uU,sch_periodYear:lU,sch_periodYearly:NU,sch_specificTime:LU,sch_time:jU,sch_to:gU,sch_valid:TU,sch_validFrom:yU,sch_validTo:DU,sch_wholeDay:dU,sch_yearEveryMonth:zU},hU="Actes",wU="Ajouter",CU="Annuler",AU="Catégories",mU="Vérifié",pU="Effacer",OU="Fermer",EU="Commercial",_U="Configurer",fU="Lié",SU="Continuer",xU="Copié",kU="Créer",YU="Recadrer",QU="Delete",UU="Supprimer",vU="Jeter",bU="Débranché",$U="Erreur",PU="Filtre",WU="Vendredi",RU="Latitude",JU="Déconnexion",BU="Longitude",GU="Message",FU="Lundi",HU="Nom",VU="Objets",ZU="D'accord",XU="Produit",KU="Renommer/Déplacer/Copier",qU="Répéter",ev="Remplacer",tv="Racine",sv="Samedi",iv="sauver",rv="Choisi",ov="États",Mv="Dimanche",nv="Jeudi",av="Horodatage",cv="Mardi",uv="Mise à jour",lv="Valable jusqu'au",Nv="Valeur",Lv="Version",jv="Mercredi",gv="Largeur",Tv="Oui",yv="différent",Dv="Tout le monde peut lire un objet",dv="Tout le monde peut lire l'état",zv="Tout le monde peut écrire un objet",Iv="Tout le monde peut écrire l'état",hv="Le groupe peut lire l'objet",wv="Le groupe peut lire l'état",Cv="Le groupe peut écrire un objet",Av="Le groupe peut écrire l'état",mv="Le propriétaire peut lire l'objet",pv="Le propriétaire peut lire l'état",Ov="Le propriétaire peut écrire un objet",Ev="Le propriétaire peut écrire l'état",_v="Boutons",fv="Changé de",Sv="Fermer",xv="Créer un état booléen",kv="Créer une chaîne",Yv="Créer un appareil",Qv="Créer un état de numéro",Uv="Créer un état",vv="Créer un état de chaîne",bv="j.",$v="Fr",Pv="Mo",Wv="Sa",Rv="Su",Jv="Th",Bv="Tu",Gv="Nous",Fv="Mode expert",Hv="FAUX",Vv="Tous les fichiers",Zv="l'audio",Xv="Code/JSON",Kv="Images",qv="Texte",e6="Vidéo",t6="Paramètres",s6="sans",i6="Une fonction",r6="ID",o6="Prénom",M6="Rôle",n6="Pièce",a6="Type",c6="Paramètres invalides",u6="Dernier changement",l6="localement",N6="Avr",L6="Août",j6="Déc",g6="Fév",T6="Jan",y6="Juil",D6="Juin",d6="Mai",z6="Mar",I6="Nov",h6="Oct",w6="Sep",C6="Avr",A6="Août",m6="Déc",p6="Fév",O6="Jan",E6="Juil",_6="Juin",f6="Mai",S6="Mar",x6="Nov",k6="Oct",Y6="Sep",Q6="rien",U6="Objet modifié par",v6="Objet modifié pour la dernière fois à",b6="Paramètres d'un autre adaptateur %s",$6="Code de qualité",P6="répéter",W6='Pour sélectionner un dossier, maintenez simplement la touche "shift" enfoncée en cliquant sur le dossier.',R6="Tout afficher",J6="État modifié par",B6="Objet changé de",G6="Horodatage",F6="Drapeau reconnu",H6="Commentaire",V6="Copiez la valeur d'état",Z6="Maintenez la touche Cltr/⌘ enfoncée pour ouvrir le lien",X6="Paramètres personnalisés",K6="Supprimer un objet",q6="Modifier l'objet",e8="Modifier la valeur d'état",t8="Expire dans",s8="De",i8="Dernière modification",r8="Qualité",o8="Horodatage",M8="Utilisateur",n8="Valeur",a8="VRAI",c8="Valeur",u8="Attention : la tâche CRON s’exécutera toutes les minutes pendant la période spécifiée !",l8="Attention : la tâche CRON s’exécutera toutes les secondes pendant la période spécifiée !",N8="CRON",L8="Date",j8="Rendez-vous",g8="Jour",T8="Jour de la semaine",y8="Chaque",D8="tous les N jours",d8="chaque Nième jour de la semaine",z8="tous les N jours de la semaine",I8="toutes les N heures",h8="toutes les N minutes",w8="tous les N mois",C8="toutes les N secondes",A8="tous les jours",m8="Chaque jour de la semaine",p8="Chaque jour de la semaine",O8="Toutes les heures",E8="chaque minute",_8="chaque mois",f8="chaque seconde",S8="De",x8="Heures",k8="Intervalle",Y8="Intervalle entre",Q8="CRON non valide",U8="Minutes",v8="mois",b8="Une fois que",$8="Période",P8="Secondes",W8="Facile",R8="Temps spécifique",J8="dates spécifiques",B8="jour(s) spécifique(s) de la semaine",G8="jour spécifique de semaines",F8="heures spécifiques",H8="minutes spécifiques",V8="mois spécifiques",Z8="secondes spécifiques",X8="Temps",K8="À",q8="sorcier",eb="tout",tb="Journée astronomique",sb="Nuit astronomique",ib="Aube",rb="Crépuscule",ob="Heure d'or",Mb="Fin de l'heure d'or",nb="Nadir",ab="Aube nautique",cb="Crépuscule nautique",ub="Nuit",lb="Fin de nuit",Nb="Midi solaire",Lb="lever du soleil",jb="Fin du lever du soleil",gb="Le coucher du soleil",Tb="Coucher du soleil",yb="à",Db="à %s",db="tous les jours",zb="Toutes les heures",Ib="chaque minute",hb="chaque mois",wb="chaque %s jour",Cb="chaque %s heures",Ab="toutes les %s minutes",mb="tous les %s mois",pb="chaque %s semaines",Ob="tous les %s ans",Eb="toutes les semaines",_b="chaque année",fb="de %s à %s",Sb="jamais",xb="sur %s de %s",kb="sur %s et %s de",Yb="à chaque date de",Qb="%s",Ub="%s et %s",vb="sur %s",bb="sur %s et %s",$b="les weekends",Pb="les jours ouvrables",Wb="ne sera plus exécuté, car start est dans le passé",Rb="sur %s",Jb="de %s",Bb="Exécuter de à",Gb="à %s",Fb="chaque",Hb="Temps spécifique",Vb="de",Zb="De à",Xb="Temps d'interval",Kb="inverser",qb="aucun",e9="sur",t9="Période",s9="du quotidien",i9="Rendez-vous",r9="journée",o9="Chaque",M9="Tous les jours",n9="Chaque mois",a9="Toutes les semaines",c9="Chaque année",u9="Heures",l9="Minutes",N9="mois",L9="Mensuel",j9="Une fois que",g9="Mois spécifiques",T9="La semaine",y9="Jours de la semaine",D9="Weekend",d9="Hebdomadaire",z9="Jours ouvrables",I9="Année",h9="Annuel",w9="Temps spécifique",C9="Temps",A9="à",m9="Valide",p9="de",O9="à",E9="Toute la journée",_9="chaque mois",f9={"ra_%s links from aliases":"%s liens provenant d'alias","ra_%s object(s) processed":"%s objet(s) traité(s)","ra_%s was imported":"%s a été importé","ra_Accept license":"Accepter la licence",ra_Actions:hU,"ra_Add new child object to selected parent":"Ajouter un nouvel objet enfant au parent sélectionné","ra_Add objects tree from JSON file":"Ajouter une arborescence d'objets à partir d'un fichier JSON","ra_Add row":"Ajouter une rangée","ra_Advanced options":"Options avancées","ra_All items are filtered out":"Tous les éléments sont filtrés","ra_All objects":"Tous les objets",ra_Append:wU,"ra_Append %s entries or replace existing?":"Ajouter %s entrées ou remplacer l'existant ?","ra_Append or replace?":"Ajouter ou remplacer ?","ra_Are you sure?":"Êtes-vous sûr?","ra_Auto (no custom columns)":"Auto (pas de colonnes personnalisées)","ra_Back to %s":"Retour à %s","ra_Background image":"Image de fond",ra_Cancel:CU,"ra_Cannot add items with set filter":"Impossible d'ajouter des éléments avec le filtre défini","ra_Cannot decode license":"Impossible de décoder la licence","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"Impossible de déterminer la position : les paramètres système sont vides et la détection GPS est désactivée dans le navigateur",'ra_Cannot find "%s"':'Impossible de trouver "%s"','ra_Cannot read "%s"':'Impossible de lire "%s"',"ra_Cannot read licenses: %s":"Impossible de lire les licences : %s","ra_Cannot retrieve options, as instance is offline":"Impossible de récupérer les options, car l'instance est hors ligne","ra_Cannot update attribute, because not found in the object":"Impossible de mettre à jour l'attribut, car il est introuvable dans l'objet","ra_Cannot upload":"Impossible de télécharger",ra_Categories:AU,"ra_Chained certificate":"Certificat chaîné","ra_Change color theme":"Changer le thème de couleur","ra_Changed from":"Changé de","ra_Channel → State":"Canal → État","ra_Check license":"Vérifier la licence",ra_Checked:mU,ra_Clear:pU,"ra_Clear filter":"Effacer le filtre","ra_Clear icon":"Effacer l'icône","ra_Click to show":"Cliquez pour afficher","ra_Clone current row":"Cloner la ligne actuelle",ra_Close:OU,"ra_Collapse all nodes":"Réduire tous les nœuds","ra_Collapse one step node":"Réduire d'un niveau",ra_Commercial:EU,ra_Configure:_U,"ra_Configure visible columns":"Configurer les colonnes visibles","ra_Confirm deletion of %s":"Confirmer la suppression de %s",ra_Connected:fU,ra_Continue:SU,ra_Copied:xU,"ra_Copied %s":'"%s" copié',"ra_Copy content":"Copier le contenu",ra_Create:kU,"ra_Create alias":"Créer un alias","ra_Create folder":"Créer le dossier","ra_Create new folder in %s":"Créer un nouveau dossier dans %s",ra_Crop:YU,"ra_Define CRON...":"Définir CRON...","ra_Define functions":"Définir des fonctions","ra_Define rooms":"Définir des pièces","ra_Define schedule":"Définir le calendrier","ra_Define schedule...":"Définir le calendrier ...",ra_Del:QU,ra_Delete:UU,"ra_Delete current row":"Supprimer la ligne actuelle","ra_Deselect all":"Tout déselectionner","ra_Device → Channel → State":"Appareil → Canal → État","ra_Disable/Enable translation":"Activer/Désactiver la traduction",ra_Discard:vU,ra_Disconnected:bU,"ra_Do not ask for next 2 hours in this session":"Ne demandez pas les 2 prochaines heures de cette session","ra_Do not export values of states":"Ne pas exporter les valeurs des états","ra_Do not use let's encrypt":"Ne pas utiliser let's encrypt","ra_Docker is not available":"Docker n'est pas disponible","ra_Docker is not installed or not running":"Docker n'est pas installé ou n'est pas en cours d'exécution","ra_Double click to reset table layout":"Double-cliquez pour réinitialiser la disposition du tableau","ra_Drag 'n' drop some files here, or click to select files":"Glissez-déposez des fichiers ici, ou cliquez pour sélectionner des fichiers","ra_Drop file here":"Déposer le fichier ici","ra_Drop the files here...":"Déposez le fichier ici...","ra_Duplicate name":"Nom en double","ra_Edit ACL":"Modifier la LCA","ra_Edit alias":"Modifier l'alias","ra_Edit custom config":"Modifier la configuration personnalisée","ra_Edit full path":"Modifier le chemin complet","ra_Edit function":"Fonction d'édition","ra_Edit object field":"Modifier le champ d'objet","ra_Edit role":"Modifier le rôle","ra_Edit room":"Modifier la salle","ra_Edit value":"Modifier la valeur","ra_Enter the code from that page here":"Entrez le code de cette page ici",ra_Error:$U,"ra_Expand all nodes":"Développer tous les nœuds","ra_Expand one step node":"Développer un niveau","ra_Expand/Collapse card":"Carte Développer/Réduire","ra_Export configuration section":"Exporter la section de configuration","ra_Export data to %s file":"Exporter les données vers le fichier %s","ra_Failed to open JSON File":"Échec de l'ouverture du fichier JSON","ra_Fallback custom certificates":"Certificats personnalisés de secours","ra_File is too big. Max %sk allowed. Try use SVG.":"Le fichier est trop volumineux. Max %sk autorisé. Essayez d'utiliser SVG.",ra_Filter:PU,"ra_Filter and Data Actions":"Actions sur les filtres et les données","ra_Filter files":"Filtrer les fichiers","ra_Folder name":"Nom de dossier","ra_Folder → Channel → State":"Dossier → Chaîne → État","ra_Folder → Device → Channel → State":"Dossier → Appareil → Canal → État","ra_Folder → State":"Dossier → État","ra_Folders always first":"Les dossiers toujours en premier",ra_Friday:WU,"ra_From file":"À partir du fichier","ra_From text":"À partir du texte","ra_Get %s access":"Obtenir l'accès %s","ra_Good luck":"Bonne chance","ra_Hide empty folders":"Masquer les dossiers vides","ra_If no file will be created in the folder, it will disappear after the browser closed":"Si aucun fichier ne sera créé dans le dossier, il disparaîtra après la fermeture du navigateur","ra_If the button above does not work, you can authorize manually this app by visiting this url":"Si le bouton ci-dessus ne fonctionne pas, vous pouvez autoriser manuellement cette application en visitant cette URL","ra_Import and add configuration section":"Importer et ajouter la section de configuration","ra_Import and replace configuration section":"Importer et remplacer la section de configuration","ra_Import data from %s file":"Importer des données à partir du fichier %s","ra_Import from %s":"Importer depuis %s","ra_Instance %s is alive":"L'instance %s est active","ra_Instance %s is not alive":"L'instance %s n'est pas active","ra_Instance is not alive":"L'instance n'est pas active","ra_Invalid CRON":"CRON invalide","ra_Invalid JSON":"JSON invalide","ra_Invalid JSON file.":"Fichier JSON invalide.","ra_Invalid JSON format. Expected an array.":"Format JSON invalide. Tableau attendu.","ra_Invalid answer from server":"Réponse invalide du serveur","ra_Invalid parent folder!":"Dossier parent non valide!","ra_Invalid structure":"Structure invalide","ra_JSON editor":"Éditeur JSON","ra_Last change":"Dernier changement",ra_Latitude:RU,"ra_License %s":"Licence %s","ra_License agreement":"Accord de licence","ra_License does not exist":"La licence n'existe pas","ra_License expired on %s":"Licence expirée le %s",'ra_License for other product "%s"':'Licence pour un autre produit "%s"',"ra_License is for version %s, but required version is %s.":"La licence est pour la version %s, mais la version requise est %s.","ra_License must be converted":"La licence doit être convertie en une version plus récente. Vous pouvez le faire dans votre profil iobroker.net.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"Licence introuvable dans le gestionnaire de licences. Voulez-vous mettre à jour les licences depuis iobroker.net ?","ra_Listen on all IPs":"Écoutez sur toutes les adresses IP","ra_Load configuration from file":"Charger la configuration à partir du fichier",ra_Logout:JU,ra_Longitude:BU,'ra_May not trigger "updateLicenses"':'Peut ne pas déclencher "updateLicences"',ra_Message:GU,ra_Monday:FU,"ra_Move down":"Descendre","ra_Move up":"Déplacer vers le haut",ra_Name:HU,"ra_No data found in file":"Aucune donnée trouvée dans le fichier","ra_No one license found in license manager":"Aucune licence trouvée dans le gestionnaire de licences","ra_No response from admin":"Aucune réponse de l'administrateur","ra_No response from the backend":"Aucune réponse du backend",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':'Les non-experts ne peuvent créer de nouveaux objets que dans "0_userdata.0" ou "alias.0".',"ra_Not a number":"Pas un numéro",ra_Objects:VU,ra_Ok:ZU,"ra_On weekdays":"En semaine","ra_Only following structures of objects are available:":"Seules les structures d'objets suivantes sont disponibles:","ra_Only selected":"Uniquement sélectionné","ra_Owner group":"Groupe propriétaire","ra_Owner user":"Utilisateur propriétaire","ra_Passwords are not equal!":"Les mots de passe ne sont pas égaux !","ra_Place your files here or click here to open the browse dialog":"Placez vos fichiers ici ou cliquez ici pour ouvrir la boîte de dialogue de navigation","ra_Please allow popups in your browser for this page!":"Veuillez autoriser les popups dans votre navigateur pour cette page !","ra_Please confirm":"Veuillez confirmer","ra_Please create license":"Veuillez créer une licence","ra_Please enter the license":"Veuillez entrer la licence","ra_Please select file...":"Veuillez sélectionner le fichier...","ra_Please select object ID...":"Veuillez sélectionner l'ID d'objet ...","ra_Port could be used by %s":"Le port pourrait être utilisé par %s","ra_Port is already used by %s":"Le port est déjà utilisé par %s","ra_Press ENTER Key to add new item":"Appuyez sur la touche ENTRÉE pour ajouter un nouvel élément","ra_Private certificate":"Certificat privé",ra_Product:XU,"ra_Public certificate":"Certificat public","ra_Quality code":"Qualité","ra_Refresh tree":"Rafraîchir l'arborescence","ra_Reload files":"Recharger les fichiers",ra_Rename_Move_Copy:KU,"ra_Renew %s access":"Renouveler l'accès %s",ra_Repeat:qU,ra_Replace:ev,"ra_Request timed out":"La demande a expiré","ra_Restrict to folder":"Restreindre au dossier",ra_Root:tv,ra_Saturday:sv,ra_Save:iv,"ra_Save and close":"Sauver et fermer","ra_Save configuration to file":"Enregistrer la configuration dans un fichier","ra_Save objects tree as JSON file":"Enregistrer l'arborescence des objets en tant que fichier JSON","ra_Select all":"Tout sélectionner","ra_Select color":"Choisissez la couleur","ra_Select predefined icon":"Sélectionnez l'icône prédéfinie","ra_Select type of export":"Sélectionnez le type d'exportation",ra_Selected:rv,"ra_Selected %s object(s)":"Objet(s) %s sélectionné(s)","ra_Serial number (UUID)":"Numéro de série (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':'Le numéro de série (UUID) "%s" dans la licence est pour un autre appareil.',"ra_Session will expire in %s seconds. Continue?":"La session expirera dans %s secondes. Continuer ?","ra_Show all folders":"Afficher tous les dossiers","ra_Show lines between rows":"Afficher les lignes entre les lignes","ra_Show/Hide object descriptions":"Afficher/Masquer les descriptions d'objets","ra_Show/hide filter input":"Afficher/masquer l'entrée de filtre","ra_Some data are not stored. Discard?":"Certaines données ne sont pas stockées. Jeter?",ra_States:ov,"ra_Successfully authorized. Token valid till %s and will be automatically renewed.":"Autorisation réussie. Jeton valide jusqu'au %s et sera automatiquement renouvelé.","ra_Successfully authorized. Token valid till %s but it can expire as the instance is not running.":"Autorisation réussie. Jeton valide jusqu'à %s, mais il peut expirer car l'instance n'est pas en cours d'exécution.","ra_Suitable license not found in license manager":"Licence appropriée introuvable dans le gestionnaire de licences",ra_Sunday:Mv,"ra_Suppress question for next %s minutes":"Supprimer la question pour les %s prochaines minutes","ra_System language":"Langue du système","ra_Take browser position":"Prendre position depuis le navigateur","ra_Take position from system settings":"Prendre position à partir des paramètres système",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':'Les experts peuvent créer des objets partout mais à partir du deuxième niveau (par exemple "vis.0" ou "javascript.0").',"ra_The page you are looking for was not found":"La page que vous recherchez n'a pas été trouvée","ra_The schedule will be executed every minute. Are you sure?":"Le planning sera exécuté toutes les minutes. Êtes-vous sûr ?","ra_The schedule will be executed every second. Are you sure?":"Le planning sera exécuté toutes les secondes. Êtes-vous sûr ?",ra_Thursday:nv,ra_Timestamp:av,"ra_Toggle expert mode":"Basculer en mode expert","ra_Toggle the states view":"Basculer la vue des états","ra_Toggle view mode":"Basculer le mode d'affichage","ra_Too big":"Trop grand","ra_Too small":"Trop petit","ra_Transparent dialog":"Dialogue transparent",ra_Tuesday:cv,"ra_Unknown error":"Erreur inconnue","ra_Unknown error!":"Erreur inconnue!",ra_Update:uv,"ra_Upload file":"Téléverser un fichier","ra_Use all available let's encrypt certificates":"Utilisez tous les certificats let's encrypt disponibles","ra_Use iobroker.acme adapter for letsencrypt certificates":"Utiliser l'adaptateur iobroker.acme pour les certificats Letsencrypt","ra_Use system settings for position":"Utiliser les paramètres système pour la position","ra_Used system settings":"Paramètres système utilisés","ra_User files":"Fichiers utilisateurs",ra_ValidTill:lv,ra_Value:Nv,ra_Version:Lv,"ra_View file":"Voir la fiche","ra_View: %s":"Affichage : %s",ra_Wednesday:jv,ra_Width:gv,"ra_YAML editor":"Éditeur YAML",ra_Yes:Tv,"ra_You can export all objects or just the selected branch.":"Vous pouvez exporter tous les objets ou uniquement la branche sélectionnée.","ra_You can filter entries by entering here some text":"Vous pouvez filtrer les entrées en saisissant ici du texte","ra_You can use * as wildcard":"Vous pouvez utiliser * comme caractère générique",ra___different__:yv,ra_aclEveryone_read_object:Dv,ra_aclEveryone_read_state:dv,ra_aclEveryone_write_object:zv,ra_aclEveryone_write_state:Iv,ra_aclGroup_read_object:hv,ra_aclGroup_read_state:wv,ra_aclGroup_write_object:Cv,ra_aclGroup_write_state:Av,ra_aclOwner_read_object:mv,ra_aclOwner_read_state:pv,ra_aclOwner_write_object:Ov,ra_aclOwner_write_state:Ev,ra_buttons:_v,ra_changedFrom:fv,ra_close:Sv,ra_create_boolean_state:xv,ra_create_channel:kv,ra_create_device:Yv,ra_create_number_state:Qv,ra_create_state:Uv,ra_create_string_state:vv,ra_daysShortText:bv,ra_dow_Fr:$v,ra_dow_Mo:Pv,ra_dow_Sa:Wv,ra_dow_Su:Rv,ra_dow_Th:Jv,ra_dow_Tu:Bv,ra_dow_We:Gv,ra_expertMode:Fv,ra_false:Hv,ra_fileType_all:Vv,ra_fileType_audio:Zv,ra_fileType_code:Xv,ra_fileType_images:Kv,ra_fileType_txt:qv,ra_fileType_video:e6,"ra_fileType_video,":"Vidéo",ra_filter_customs:t6,ra_filter_customs_without:s6,ra_filter_func:i6,ra_filter_id:r6,ra_filter_name:o6,ra_filter_role:M6,ra_filter_room:n6,ra_filter_type:a6,"ra_import data from %s file":"Importer des données à partir du fichier %s",ra_invalidConfig:c6,ra_lastChange:u6,ra_locally:l6,ra_month_Apr:N6,ra_month_Aug:L6,ra_month_Dec:j6,ra_month_Feb:g6,ra_month_Jan:T6,ra_month_Jul:y6,ra_month_Jun:D6,ra_month_Mai:d6,ra_month_Mar:z6,ra_month_Nov:I6,ra_month_Oct:h6,ra_month_Sep:w6,ra_months_Apr:C6,ra_months_Aug:A6,ra_months_Dec:m6,ra_months_Feb:p6,ra_months_Jan:O6,ra_months_Jul:E6,ra_months_Jun:_6,ra_months_Mai:f6,ra_months_Mar:S6,ra_months_Nov:x6,ra_months_Oct:k6,ra_months_Sep:Y6,"ra_no confirm for 5 mins":"pas de confirmation pendant 5 minutes",ra_none:Q6,ra_object_changed_by:U6,ra_object_changed_by_user:v6,ra_otherConfig:b6,ra_qualityCode:$6,ra_repeat:P6,ra_select_folder_hint:W6,ra_show_all:R6,ra_state_changed_by:J6,ra_state_changed_from:B6,ra_timestamp:G6,ra_tooltip_ack:F6,ra_tooltip_comment:H6,ra_tooltip_copyState:V6,ra_tooltip_ctrlForLink:Z6,ra_tooltip_customConfig:X6,ra_tooltip_deleteObject:K6,ra_tooltip_editObject:q6,ra_tooltip_editState:e8,ra_tooltip_expire:t8,ra_tooltip_from:s8,ra_tooltip_lc:i8,ra_tooltip_quality:r8,ra_tooltip_ts:o8,ra_tooltip_user:M8,ra_tooltip_value:n8,ra_true:a8,"ra_use seconds":"utiliser les secondes",ra_val:c8,"ra_via internet":"par Internet",ra_warning_every_minute:u8,ra_warning_every_second:l8,sc_cron:N8,sc_date:L8,sc_dates:j8,sc_dow:g8,sc_dows:T8,sc_every:y8,sc_everyN_dates:D8,sc_everyN_dow:d8,sc_everyN_dows:z8,sc_everyN_hours:I8,sc_everyN_minutes:h8,sc_everyN_months:w8,sc_everyN_seconds:C8,sc_every_dates:A8,sc_every_dow:m8,sc_every_dows:p8,sc_every_hours:O8,sc_every_minutes:E8,sc_every_months:_8,sc_every_seconds:f8,sc_from:S8,sc_hours:x8,sc_interval:k8,sc_intervalBetween:Y8,sc_invalid_cron:Q8,sc_minutes:U8,sc_months:v8,sc_once:b8,sc_period:$8,sc_seconds:P8,sc_simple:W8,sc_specific:R8,sc_specific_dates:J8,sc_specific_dow:B8,sc_specific_dows:G8,sc_specific_hours:F8,sc_specific_minutes:H8,sc_specific_months:V8,sc_specific_seconds:Z8,sc_time:X8,sc_to:K8,sc_wizard:q8,sch_all:eb,sch_astroDay:tb,sch_astroNight:sb,sch_astro_dawn:ib,sch_astro_dusk:rb,sch_astro_goldenHour:ob,sch_astro_goldenHourEnd:Mb,sch_astro_nadir:nb,sch_astro_nauticalDawn:ab,sch_astro_nauticalDusk:cb,sch_astro_night:ub,sch_astro_nightEnd:lb,sch_astro_solarNoon:Nb,sch_astro_sunrise:Lb,sch_astro_sunriseEnd:jb,sch_astro_sunset:gb,sch_astro_sunsetStart:Tb,sch_at:yb,sch_desc_atTime:Db,sch_desc_everyDay:db,sch_desc_everyHour:zb,sch_desc_everyMinute:Ib,sch_desc_everyMonth:hb,sch_desc_everyNDay:wb,sch_desc_everyNHours:Cb,sch_desc_everyNMinutes:Ab,sch_desc_everyNMonths:mb,sch_desc_everyNWeeks:pb,sch_desc_everyNYears:Ob,sch_desc_everyWeek:Eb,sch_desc_everyYear:_b,sch_desc_intervalFromTo:fb,sch_desc_never:Sb,sch_desc_onDate:xb,sch_desc_onDates:kb,sch_desc_onEveryDate:Yb,sch_desc_onMonth:Qb,sch_desc_onMonths:Ub,sch_desc_onWeekday:vb,sch_desc_onWeekdays:bb,sch_desc_onWeekends:$b,sch_desc_onWorkdays:Pb,sch_desc_onceInPast:Wb,sch_desc_once_on:Rb,sch_desc_validFrom:Jb,sch_desc_validFromTo:Bb,sch_desc_validTo:Gb,sch_every:Fb,sch_exactTime:Hb,sch_from:Vb,sch_fromTo:Zb,sch_intervalTime:Xb,sch_invert:Kb,sch_no_one:qb,sch_on:e9,sch_period:t9,sch_periodDaily:s9,sch_periodDates:i9,sch_periodDay:r9,sch_periodEvery:o9,sch_periodEveryDay:M9,sch_periodEveryMonth:n9,sch_periodEveryWeek:a9,sch_periodEveryYear:c9,sch_periodHours:u9,sch_periodMinutes:l9,sch_periodMonth:N9,sch_periodMonthly:L9,sch_periodOnce:j9,sch_periodSpecificMonths:g9,sch_periodWeek:T9,sch_periodWeekdays:y9,sch_periodWeekend:D9,sch_periodWeekly:d9,sch_periodWorkdays:z9,sch_periodYear:I9,sch_periodYearly:h9,sch_specificTime:w9,sch_time:C9,sch_to:A9,sch_valid:m9,sch_validFrom:p9,sch_validTo:O9,sch_wholeDay:E9,sch_yearEveryMonth:_9},S9="Azioni",x9="Aggiungere",k9="Annulla",Y9="Categorie",Q9="Controllato",U9="Elimina",v9="Vicino",b9="Commerciale",$9="Configura",P9="Collegato",W9="Continuare",R9="Copiato",J9="Creare",B9="Raccolto",G9="Delete",F9="Elimina",H9="Scartare",V9="Disconnesso",Z9="Errore",X9="Filtro",K9="Venerdì",q9="Latitudine",e7="Esci",t7="Longitudine",s7="Messaggio",i7="Lunedi",r7="Nome",o7="Oggetti",M7="Ok",n7="Prodotto",a7="Rinomina/Sposta/Copia",c7="Ripetere",u7="Sostituire",l7="Radice",N7="Sabato",L7="Salva",j7="Selezionato",g7="stati",T7="Domenica",y7="Giovedì",D7="Timestamp",d7="Martedì",z7="Aggiornare",I7="Valido fino a",h7="Valore",w7="Versione",C7="Mercoledì",A7="Larghezza",m7="SÌ",p7="diverso",O7="Tutti possono leggere gli oggetti",E7="Tutti possono leggere lo stato",_7="Tutti possono scrivere oggetti",f7="Tutti possono scrivere stato",S7="Il gruppo può leggere l'oggetto",x7="Il gruppo può leggere lo stato",k7="Il gruppo può scrivere l'oggetto",Y7="Il gruppo può scrivere lo stato",Q7="Il proprietario può leggere l'oggetto",U7="Il proprietario può leggere lo stato",v7="Il proprietario può scrivere l'oggetto",b7="Il proprietario può scrivere lo stato",$7="Bottoni",P7="Cambiato da",W7="vicino",R7="Crea uno stato booleano",J7="Crea canale",B7="Crea dispositivo",G7="Crea lo stato del numero",F7="Crea stato",H7="Crea lo stato della stringa",V7="g.",Z7="fr",X7="momento",K7="Sa",q7="su",e$="th",t$="Tu",s$="Noi",i$="Modalità esperto",r$="FALSO",o$="Tutti i files",M$="Audio",n$="Codice/JSON",a$="immagini",c$="Testo",u$="video",l$="impostazioni",N$="senza",L$="Funzione",j$="ID",g$="Nome",T$="Ruolo",y$="Camera",D$="genere",d$="Impostazioni non valide",z$="Ultima modifica",I$="localmente",h$="apr",w$="agosto",C$="Dic",A$="febbraio",m$="gen",p$="lug",O$="giu",E$="Mai",_$="marzo",f$="nov",S$="ottobre",x$="Sett",k$="apr",Y$="agosto",Q$="Dic",U$="febbraio",v$="gen",b$="lug",$$="giu",P$="Mai",W$="marzo",R$="nov",J$="ottobre",B$="Sett",G$="nessuna",F$="Oggetto modificato da",H$="L'oggetto è stato modificato l'ultima volta alle",V$="Impostazioni dall'altro adattatore %s",Z$="Codice di qualità",X$="ripetere",K$='Per selezionare la cartella, basta tenere premuto il tasto "shift" facendo clic sulla cartella.',q$="Mostra tutto",eP="Stato cambiato da",tP="Oggetto cambiato da",sP="Timestamp",iP="Bandiera riconosciuta",rP="Commento",oP="Copia il valore dello stato",MP="Tieni premuto il tasto Cltr/⌘ per aprire il collegamento",nP="Impostazioni personalizzate",aP="Elimina oggetto",cP="Modifica oggetto",uP="Modifica il valore dello stato",lP="Scade tra",NP="A partire dal",LP="Ultima modifica",jP="Qualità",gP="Data e ora",TP="Utente",yP="Valore",DP="VERO",dP="Valore",zP="Attenzione: il processo CRON verrà eseguito ogni minuto durante il periodo specificato!",IP="Attenzione: il processo CRON verrà eseguito ogni secondo durante il periodo specificato!",hP="CRON",wP="Data",CP="Date",AP="Giorno",mP="Giorno della settimana",pP="Ogni",OP="ogni N giorni",EP="ogni Nesimo giorno della settimana",_P="ogni N giorno della settimana",fP="ogni N ore",SP="ogni N minuti",xP="ogni N mesi",kP="ogni N secondi",YP="ogni giorno",QP="Tutti i giorni della settimana",UP="Tutti i giorni della settimana",vP="ogni ora",bP="ogni minuto",$P="ogni mese",PP="ogni secondo",WP="A partire dal",RP="Ore",JP="Intervallo",BP="Intervallo tra",GP="CRON non valido",FP="Minuti",HP="mesi",VP="Una volta",ZP="Periodo",XP="secondi",KP="Semplice",qP="Orario preciso",eW="date specifiche",tW="giorno/i specifico/i della settimana",sW="giorno specifico delle settimane",iW="orari specifici",rW="minuti specifici",oW="mesi specifici",MW="secondi specifici",nW="Tempo",aW="Per",cW="procedura guidata",uW="tutti",lW="Astro day",NW="Astro night",LW="Alba",jW="Crepuscolo",gW="Ora d'oro",TW="Fine dell'ora d'oro",yW="Nadir",DW="Alba nautica",dW="Crepuscolo nautico",zW="Notte",IW="Fine della notte",hW="Mezzogiorno solare",wW="Alba",CW="Fine dell'alba",AW="Tramonto",mW="Inizio del tramonto",pW="a",OW="a %s",EW="ogni giorno",_W="ogni ora",fW="ogni minuto",SW="ogni mese",xW="ogni %s giorno",kW="ogni %s ore",YW="ogni %s minuti",QW="ogni %s mesi",UW="ogni %s settimane",vW="ogni %s anni",bW="ogni settimana",$W="ogni anno",PW="da %s a %s",WW="mai",RW="su %s di %s",JW="su %s e %s di",BW="in ogni data di",GW="%s",FW="%s e %s",HW="su %s",VW="su %s e %s",ZW="nei finesettimana",XW="nei giorni lavorativi",KW="non verrà più eseguito, perché start è nel passato",qW="su %s",eR="da %s",tR="Eseguire da a",sR="a %s",iR="ogni",rR="Orario preciso",oR="a partire dal",MR="Da A",nR="Intervallo di tempo",aR="invertire",cR="nessuna",uR="sopra",lR="Periodo",NR="Quotidiano",LR="Date",jR="Giorno",gR="Ogni",TR="Ogni giorno",yR="Ogni mese",DR="Ogni settimana",dR="Ogni anno",zR="Ore",IR="Minuti",hR="mese",wR="Mensile",CR="Una volta",AR="Mesi specifici",mR="Settimana",pR="Giorni della settimana",OR="Fine settimana",ER="settimanalmente",_R="giorni feriali",fR="Anno",SR="Annuale",xR="Orario preciso",kR="Tempo",YR="per",QR="Valido",UR="a partire dal",vR="per",bR="Giorno intero",$R="ogni mese",PR={"ra_%s links from aliases":"%s link da alias","ra_%s object(s) processed":"%s oggetti elaborati","ra_%s was imported":"%s è stato importato","ra_Accept license":"Accetta licenza",ra_Actions:S9,"ra_Add new child object to selected parent":"Aggiungi un nuovo oggetto figlio al genitore selezionato","ra_Add objects tree from JSON file":"Aggiungi l'albero degli oggetti dal file JSON","ra_Add row":"Aggiungi riga","ra_Advanced options":"Opzioni avanzate","ra_All items are filtered out":"Tutti gli elementi vengono filtrati","ra_All objects":"Tutti gli oggetti",ra_Append:x9,"ra_Append %s entries or replace existing?":"Aggiungi %s voci o sostituisci quelle esistenti?","ra_Append or replace?":"Aggiungere o sostituire?","ra_Are you sure?":"Sei sicuro?","ra_Auto (no custom columns)":"Auto (nessuna colonna personalizzata)","ra_Back to %s":"Torna a %s","ra_Background image":"Immagine di sfondo",ra_Cancel:k9,"ra_Cannot add items with set filter":"Impossibile aggiungere elementi con il filtro impostato","ra_Cannot decode license":"Impossibile decodificare la licenza","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"Impossibile determinare la posizione: le impostazioni di sistema sono vuote e il rilevamento GPS è disabilitato nel browser",'ra_Cannot find "%s"':'Impossibile trovare "%s"','ra_Cannot read "%s"':'Impossibile leggere "%s"',"ra_Cannot read licenses: %s":"Impossibile leggere le licenze: %s","ra_Cannot retrieve options, as instance is offline":"Impossibile recuperare le opzioni, poiché l'istanza è offline","ra_Cannot update attribute, because not found in the object":"Impossibile aggiornare l'attributo, perché non trovato nell'oggetto","ra_Cannot upload":"Impossibile caricare",ra_Categories:Y9,"ra_Chained certificate":"Certificato incatenato","ra_Change color theme":"Cambia tema colore","ra_Changed from":"Cambiato da","ra_Channel → State":"Canale → Stato","ra_Check license":"Controlla la licenza",ra_Checked:Q9,ra_Clear:U9,"ra_Clear filter":"Filtro pulito","ra_Clear icon":"Cancella icona","ra_Click to show":"Clicca per mostrare","ra_Clone current row":"Clona riga corrente",ra_Close:v9,"ra_Collapse all nodes":"Comprimi tutti i nodi","ra_Collapse one step node":"Comprimi un livello",ra_Commercial:b9,ra_Configure:$9,"ra_Configure visible columns":"Configura colonne visibili","ra_Confirm deletion of %s":"Conferma l'eliminazione di %s",ra_Connected:P9,ra_Continue:W9,ra_Copied:R9,"ra_Copied %s":'"%s" copiato',"ra_Copy content":"Copia contenuto",ra_Create:J9,"ra_Create alias":"Crea alias","ra_Create folder":"Creare una cartella","ra_Create new folder in %s":"Crea nuova cartella in %s",ra_Crop:B9,"ra_Define CRON...":"Definisci CRON...","ra_Define functions":"Definire le funzioni","ra_Define rooms":"Definisci le stanze","ra_Define schedule":"Definisci programma","ra_Define schedule...":"Definisci pianificazione ...",ra_Del:G9,ra_Delete:F9,"ra_Delete current row":"Elimina la riga corrente","ra_Deselect all":"Deseleziona tutto","ra_Device → Channel → State":"Dispositivo → Canale → Stato","ra_Disable/Enable translation":"Disabilita/Abilita la traduzione",ra_Discard:H9,ra_Disconnected:V9,"ra_Do not ask for next 2 hours in this session":"Non chiedere per le prossime 2 ore in questa sessione","ra_Do not export values of states":"Non esportare i valori degli stati","ra_Do not use let's encrypt":"Non utilizzare crittografiamo","ra_Docker is not available":"Docker non è disponibile","ra_Docker is not installed or not running":"Docker non è installato o non è in esecuzione","ra_Double click to reset table layout":"Fare doppio clic per ripristinare il layout della tabella","ra_Drag 'n' drop some files here, or click to select files":"Trascina e rilascia alcuni file qui o fai clic per selezionare i file","ra_Drop file here":"Trascina il file qui","ra_Drop the files here...":"Trascina qui il file...","ra_Duplicate name":"Nome duplicato","ra_Edit ACL":"Modifica ACL","ra_Edit alias":"Modifica alias","ra_Edit custom config":"Modifica configurazione personalizzata","ra_Edit full path":"Modifica percorso completo","ra_Edit function":"Funzione di modifica","ra_Edit object field":"Modifica campo oggetto","ra_Edit role":"Modifica ruolo","ra_Edit room":"Modifica stanza","ra_Edit value":"Modifica valore","ra_Enter the code from that page here":"Inserisci qui il codice da quella pagina",ra_Error:Z9,"ra_Expand all nodes":"Espandi tutti i nodi","ra_Expand one step node":"Espandi un livello","ra_Expand/Collapse card":"Espandi/Comprimi scheda","ra_Export configuration section":"Sezione di configurazione dell'esportazione","ra_Export data to %s file":"Esporta i dati nel file %s","ra_Failed to open JSON File":"Impossibile aprire il file JSON","ra_Fallback custom certificates":"Certificati personalizzati di fallback","ra_File is too big. Max %sk allowed. Try use SVG.":"Il file è troppo grande. Max %sk consentito. Prova a usare SVG.",ra_Filter:X9,"ra_Filter and Data Actions":"Azioni sui filtri e sui dati","ra_Filter files":"Filtra i file","ra_Folder name":"Nome della cartella","ra_Folder → Channel → State":"Cartella → Canale → Stato","ra_Folder → Device → Channel → State":"Cartella → Dispositivo → Canale → Stato","ra_Folder → State":"Cartella → Stato","ra_Folders always first":"Le cartelle sono sempre al primo posto",ra_Friday:K9,"ra_From file":"Dal file","ra_From text":"Dal testo","ra_Get %s access":"Ottieni l'accesso %s","ra_Good luck":"Buona fortuna","ra_Hide empty folders":"Nascondi cartelle vuote","ra_If no file will be created in the folder, it will disappear after the browser closed":"Se nessun file verrà creato nella cartella, scomparirà dopo la chiusura del browser","ra_If the button above does not work, you can authorize manually this app by visiting this url":"Se il pulsante sopra non funziona, puoi autorizzare manualmente questa app visitando questo URL","ra_Import and add configuration section":"Importa e aggiungi la sezione di configurazione","ra_Import and replace configuration section":"Importa e sostituisci la sezione di configurazione","ra_Import data from %s file":"Importa i dati dal file %s","ra_Import from %s":"Importa da %s","ra_Instance %s is alive":"Il %s dell'istanza è vivo","ra_Instance %s is not alive":"Il TESTO dell'istanza non è vivo","ra_Instance is not alive":"L'istanza non è viva","ra_Invalid CRON":"CRON non valido","ra_Invalid JSON":"JSON non valido","ra_Invalid JSON file.":"File JSON non valido.","ra_Invalid JSON format. Expected an array.":"Formato JSON non valido. È previsto un array.","ra_Invalid answer from server":"Risposta non valida dal server","ra_Invalid parent folder!":"Cartella principale non valida!","ra_Invalid structure":"Struttura non valida","ra_JSON editor":"Editor JSON","ra_Last change":"Ultima modifica",ra_Latitude:q9,"ra_License %s":"Licenza %s","ra_License agreement":"Contratto di licenza","ra_License does not exist":"La licenza non esiste","ra_License expired on %s":"Licenza scaduta il %s",'ra_License for other product "%s"':'Licenza per altro prodotto "%s"',"ra_License is for version %s, but required version is %s.":"La licenza è per la versione %s, ma la versione richiesta è %s.","ra_License must be converted":"La licenza deve essere convertita in una versione più recente. Puoi farlo nel tuo profilo iobroker.net.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"Licenza non trovata nel gestore delle licenze. Vuoi aggiornare le licenze da iobroker.net?","ra_Listen on all IPs":"Ascolta su tutti gli IP","ra_Load configuration from file":"Carica la configurazione dal file",ra_Logout:e7,ra_Longitude:t7,'ra_May not trigger "updateLicenses"':'Potrebbe non attivare "updateLicenses"',ra_Message:s7,ra_Monday:i7,"ra_Move down":"Abbassati","ra_Move up":"Andare avanti",ra_Name:r7,"ra_No data found in file":"Nessun dato trovato nel file","ra_No one license found in license manager":"Nessuna licenza trovata nel gestore delle licenze","ra_No response from admin":"Nessuna risposta dall'amministratore","ra_No response from the backend":"Nessuna risposta dal backend",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':'I non esperti possono creare nuovi oggetti solo in "0_userdata.0" o "alias.0".',"ra_Not a number":"Non un numero",ra_Objects:o7,ra_Ok:M7,"ra_On weekdays":"Nei giorni della settimana","ra_Only following structures of objects are available:":"Sono disponibili solo le seguenti strutture di oggetti:","ra_Only selected":"Solo selezionato","ra_Owner group":"Gruppo di proprietari","ra_Owner user":"Utente proprietario","ra_Passwords are not equal!":"Le password non sono uguali!","ra_Place your files here or click here to open the browse dialog":"Posiziona i file qui o fai clic qui per aprire la finestra di dialogo Sfoglia","ra_Please allow popups in your browser for this page!":"Si prega di abilitare i popup nel browser per questa pagina!","ra_Please confirm":"Si prega di confermare","ra_Please create license":"Si prega di creare la licenza","ra_Please enter the license":"Inserisci la licenza","ra_Please select file...":"Si prega di selezionare il file...","ra_Please select object ID...":"Seleziona l'ID oggetto ...","ra_Port could be used by %s":"La porta potrebbe essere utilizzata da %s","ra_Port is already used by %s":"La porta è già utilizzata da %s","ra_Press ENTER Key to add new item":"Premere il tasto INVIO per aggiungere un nuovo elemento","ra_Private certificate":"Certificato privato",ra_Product:n7,"ra_Public certificate":"Certificato pubblico","ra_Quality code":"Qualità","ra_Refresh tree":"Aggiorna l'albero","ra_Reload files":"Ricarica i file",ra_Rename_Move_Copy:a7,"ra_Renew %s access":"Rinnova l'accesso %s",ra_Repeat:c7,ra_Replace:u7,"ra_Request timed out":"Tempo scaduto per la richiesta","ra_Restrict to folder":"Limita alla cartella",ra_Root:l7,ra_Saturday:N7,ra_Save:L7,"ra_Save and close":"Salva e chiudi","ra_Save configuration to file":"Salva la configurazione su file","ra_Save objects tree as JSON file":"Salva l'albero degli oggetti come file JSON","ra_Select all":"Seleziona tutto","ra_Select color":"Seleziona il colore","ra_Select predefined icon":"Seleziona l'icona predefinita","ra_Select type of export":"Seleziona il tipo di esportazione",ra_Selected:j7,"ra_Selected %s object(s)":"%s oggetto/i selezionato/i","ra_Serial number (UUID)":"Numero di serie (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':'Il numero di serie (UUID) "%s" nella licenza è per un altro dispositivo.',"ra_Session will expire in %s seconds. Continue?":"La sessione scadrà tra %s secondi. Continuare?","ra_Show all folders":"Mostra tutte le cartelle","ra_Show lines between rows":"Mostra linee tra le righe","ra_Show/Hide object descriptions":"Mostra/Nascondi le descrizioni degli oggetti","ra_Show/hide filter input":"Mostra/nascondi input filtro","ra_Some data are not stored. Discard?":"Alcuni dati non vengono memorizzati. Scartare?",ra_States:g7,"ra_Successfully authorized. Token valid till %s and will be automatically renewed.":"Autorizzazione completata. Il token è valido fino al %s e verrà rinnovato automaticamente.","ra_Successfully authorized. Token valid till %s but it can expire as the instance is not running.":"Autorizzazione completata. Il token è valido fino al %s, ma potrebbe scadere perché l'istanza non è in esecuzione.","ra_Suitable license not found in license manager":"Licenza adatta non trovata nel gestore delle licenze",ra_Sunday:T7,"ra_Suppress question for next %s minutes":"Sopprimi la domanda per i prossimi %s minuti","ra_System language":"Linguaggio di sistema","ra_Take browser position":"Prendi posizione dal browser","ra_Take position from system settings":"Prendi posizione dalle impostazioni di sistema",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':'Gli esperti possono creare oggetti ovunque ma dal secondo livello (es. "Vis.0" o "javascript.0").',"ra_The page you are looking for was not found":"La pagina che stai cercando non è stata trovata","ra_The schedule will be executed every minute. Are you sure?":"La pianificazione verrà eseguita ogni minuto. Sei sicuro?","ra_The schedule will be executed every second. Are you sure?":"La pianificazione verrà eseguita ogni secondo. Sei sicuro?",ra_Thursday:y7,ra_Timestamp:D7,"ra_Toggle expert mode":"Attiva / disattiva la modalità esperto","ra_Toggle the states view":"Attiva o disattiva la visualizzazione degli stati","ra_Toggle view mode":"Attiva / disattiva la modalità di visualizzazione","ra_Too big":"Troppo grande","ra_Too small":"Troppo piccolo","ra_Transparent dialog":"Finestra di dialogo trasparente",ra_Tuesday:d7,"ra_Unknown error":"Errore sconosciuto","ra_Unknown error!":"Errore sconosciuto!",ra_Update:z7,"ra_Upload file":"Caricare un file","ra_Use all available let's encrypt certificates":"Usa tutti i certificati Let's Encrypt disponibili","ra_Use iobroker.acme adapter for letsencrypt certificates":"Utilizzare l'adattatore iobroker.acme per i certificati letsencrypt","ra_Use system settings for position":"Usa le impostazioni di sistema per la posizione","ra_Used system settings":"Impostazioni di sistema utilizzate","ra_User files":"File utente",ra_ValidTill:I7,ra_Value:h7,ra_Version:w7,"ra_View file":"Vedi il file","ra_View: %s":"Visualizza: %s",ra_Wednesday:C7,ra_Width:A7,"ra_YAML editor":"Editor YAML",ra_Yes:m7,"ra_You can export all objects or just the selected branch.":"Puoi esportare tutti gli oggetti o solo il ramo selezionato.","ra_You can filter entries by entering here some text":"Puoi filtrare le voci inserendo qui del testo","ra_You can use * as wildcard":"Puoi usare * come carattere jolly",ra___different__:p7,ra_aclEveryone_read_object:O7,ra_aclEveryone_read_state:E7,ra_aclEveryone_write_object:_7,ra_aclEveryone_write_state:f7,ra_aclGroup_read_object:S7,ra_aclGroup_read_state:x7,ra_aclGroup_write_object:k7,ra_aclGroup_write_state:Y7,ra_aclOwner_read_object:Q7,ra_aclOwner_read_state:U7,ra_aclOwner_write_object:v7,ra_aclOwner_write_state:b7,ra_buttons:$7,ra_changedFrom:P7,ra_close:W7,ra_create_boolean_state:R7,ra_create_channel:J7,ra_create_device:B7,ra_create_number_state:G7,ra_create_state:F7,ra_create_string_state:H7,ra_daysShortText:V7,ra_dow_Fr:Z7,ra_dow_Mo:X7,ra_dow_Sa:K7,ra_dow_Su:q7,ra_dow_Th:e$,ra_dow_Tu:t$,ra_dow_We:s$,ra_expertMode:i$,ra_false:r$,ra_fileType_all:o$,ra_fileType_audio:M$,ra_fileType_code:n$,ra_fileType_images:a$,ra_fileType_txt:c$,ra_fileType_video:u$,"ra_fileType_video,":"video",ra_filter_customs:l$,ra_filter_customs_without:N$,ra_filter_func:L$,ra_filter_id:j$,ra_filter_name:g$,ra_filter_role:T$,ra_filter_room:y$,ra_filter_type:D$,"ra_import data from %s file":"Importa dati dal file %s",ra_invalidConfig:d$,ra_lastChange:z$,ra_locally:I$,ra_month_Apr:h$,ra_month_Aug:w$,ra_month_Dec:C$,ra_month_Feb:A$,ra_month_Jan:m$,ra_month_Jul:p$,ra_month_Jun:O$,ra_month_Mai:E$,ra_month_Mar:_$,ra_month_Nov:f$,ra_month_Oct:S$,ra_month_Sep:x$,ra_months_Apr:k$,ra_months_Aug:Y$,ra_months_Dec:Q$,ra_months_Feb:U$,ra_months_Jan:v$,ra_months_Jul:b$,ra_months_Jun:$$,ra_months_Mai:P$,ra_months_Mar:W$,ra_months_Nov:R$,ra_months_Oct:J$,ra_months_Sep:B$,"ra_no confirm for 5 mins":"nessuna conferma per 5 minuti",ra_none:G$,ra_object_changed_by:F$,ra_object_changed_by_user:H$,ra_otherConfig:V$,ra_qualityCode:Z$,ra_repeat:X$,ra_select_folder_hint:K$,ra_show_all:q$,ra_state_changed_by:eP,ra_state_changed_from:tP,ra_timestamp:sP,ra_tooltip_ack:iP,ra_tooltip_comment:rP,ra_tooltip_copyState:oP,ra_tooltip_ctrlForLink:MP,ra_tooltip_customConfig:nP,ra_tooltip_deleteObject:aP,ra_tooltip_editObject:cP,ra_tooltip_editState:uP,ra_tooltip_expire:lP,ra_tooltip_from:NP,ra_tooltip_lc:LP,ra_tooltip_quality:jP,ra_tooltip_ts:gP,ra_tooltip_user:TP,ra_tooltip_value:yP,ra_true:DP,"ra_use seconds":"usa i secondi",ra_val:dP,"ra_via internet":"attraverso internet",ra_warning_every_minute:zP,ra_warning_every_second:IP,sc_cron:hP,sc_date:wP,sc_dates:CP,sc_dow:AP,sc_dows:mP,sc_every:pP,sc_everyN_dates:OP,sc_everyN_dow:EP,sc_everyN_dows:_P,sc_everyN_hours:fP,sc_everyN_minutes:SP,sc_everyN_months:xP,sc_everyN_seconds:kP,sc_every_dates:YP,sc_every_dow:QP,sc_every_dows:UP,sc_every_hours:vP,sc_every_minutes:bP,sc_every_months:$P,sc_every_seconds:PP,sc_from:WP,sc_hours:RP,sc_interval:JP,sc_intervalBetween:BP,sc_invalid_cron:GP,sc_minutes:FP,sc_months:HP,sc_once:VP,sc_period:ZP,sc_seconds:XP,sc_simple:KP,sc_specific:qP,sc_specific_dates:eW,sc_specific_dow:tW,sc_specific_dows:sW,sc_specific_hours:iW,sc_specific_minutes:rW,sc_specific_months:oW,sc_specific_seconds:MW,sc_time:nW,sc_to:aW,sc_wizard:cW,sch_all:uW,sch_astroDay:lW,sch_astroNight:NW,sch_astro_dawn:LW,sch_astro_dusk:jW,sch_astro_goldenHour:gW,sch_astro_goldenHourEnd:TW,sch_astro_nadir:yW,sch_astro_nauticalDawn:DW,sch_astro_nauticalDusk:dW,sch_astro_night:zW,sch_astro_nightEnd:IW,sch_astro_solarNoon:hW,sch_astro_sunrise:wW,sch_astro_sunriseEnd:CW,sch_astro_sunset:AW,sch_astro_sunsetStart:mW,sch_at:pW,sch_desc_atTime:OW,sch_desc_everyDay:EW,sch_desc_everyHour:_W,sch_desc_everyMinute:fW,sch_desc_everyMonth:SW,sch_desc_everyNDay:xW,sch_desc_everyNHours:kW,sch_desc_everyNMinutes:YW,sch_desc_everyNMonths:QW,sch_desc_everyNWeeks:UW,sch_desc_everyNYears:vW,sch_desc_everyWeek:bW,sch_desc_everyYear:$W,sch_desc_intervalFromTo:PW,sch_desc_never:WW,sch_desc_onDate:RW,sch_desc_onDates:JW,sch_desc_onEveryDate:BW,sch_desc_onMonth:GW,sch_desc_onMonths:FW,sch_desc_onWeekday:HW,sch_desc_onWeekdays:VW,sch_desc_onWeekends:ZW,sch_desc_onWorkdays:XW,sch_desc_onceInPast:KW,sch_desc_once_on:qW,sch_desc_validFrom:eR,sch_desc_validFromTo:tR,sch_desc_validTo:sR,sch_every:iR,sch_exactTime:rR,sch_from:oR,sch_fromTo:MR,sch_intervalTime:nR,sch_invert:aR,sch_no_one:cR,sch_on:uR,sch_period:lR,sch_periodDaily:NR,sch_periodDates:LR,sch_periodDay:jR,sch_periodEvery:gR,sch_periodEveryDay:TR,sch_periodEveryMonth:yR,sch_periodEveryWeek:DR,sch_periodEveryYear:dR,sch_periodHours:zR,sch_periodMinutes:IR,sch_periodMonth:hR,sch_periodMonthly:wR,sch_periodOnce:CR,sch_periodSpecificMonths:AR,sch_periodWeek:mR,sch_periodWeekdays:pR,sch_periodWeekend:OR,sch_periodWeekly:ER,sch_periodWorkdays:_R,sch_periodYear:fR,sch_periodYearly:SR,sch_specificTime:xR,sch_time:kR,sch_to:YR,sch_valid:QR,sch_validFrom:UR,sch_validTo:vR,sch_wholeDay:bR,sch_yearEveryMonth:$R},WR="Comportamiento",RR="Adjuntar",JR="Cancelar",BR="Categorías",GR="Comprobado",FR="Borrar",HR="Cerca",VR="Comercial",ZR="Configurar",XR="Conectado",KR="Continuar",qR="Copiado",eJ="Crear",tJ="Cultivo",sJ="Delete",iJ="Eliminar",rJ="Desechar",oJ="Desconectado",MJ="Error",nJ="Filtrar",aJ="Viernes",cJ="Latitud",uJ="Cerrar sesión",lJ="Longitud",NJ="Mensaje",LJ="Lunes",jJ="Nombre",gJ="Objetos",TJ="Okay",yJ="Producto",DJ="Cambiar nombre/Mover/Copiar",dJ="Repetir",zJ="Reemplazar",IJ="Raíz",hJ="Sábado",wJ="Salvar",CJ="Seleccionado",AJ="Estados",mJ="Domingo",pJ="Jueves",OJ="Marca de tiempo",EJ="Martes",_J="Actualizar",fJ="Válida hasta",SJ="Valor",xJ="Versión",kJ="Miércoles",YJ="Anchura",QJ="Sí",UJ="diferente",vJ="Todo el mundo puede leer el objeto",bJ="Todos pueden leer el estado",$J="Todos pueden escribir objetos",PJ="Todos pueden escribir el estado",WJ="El grupo puede leer el objeto",RJ="El grupo puede leer el estado",JJ="El grupo puede escribir un objeto",BJ="El grupo puede escribir el estado",GJ="El propietario puede leer el objeto",FJ="El propietario puede leer el estado",HJ="El propietario puede escribir el objeto",VJ="El propietario puede escribir el estado",ZJ="Botones",XJ="Cambiaron desde",KJ="cerrar",qJ="Crear estado booleano",eB="Crear canal",tB="Crear dispositivo",sB="Crear estado numérico",iB="Crear estado",rB="Crear estado de cadena",oB="d.",MB="Fr",nB="Mes",aB="Sa",cB="Su",uB="Th",lB="Tu",NB="Nosotros",LB="Modo experto",jB="FALSO",gB="Todos los archivos",TB="Audio",yB="Código/JSON",DB="Imágenes",dB="Texto",zB="Video",IB="Configuraciones",hB="sin",wB="Función",CB="ID",AB="Nombre",mB="Papel",pB="Habitación",OB="Tipo",EB="Configuraciones inválidas",_B="Ultimo cambio",fB="en la zona",SB="Abr",xB="Ago",kB="Dic",YB="Feb",QB="Ene",UB="Jul",vB="Jun",bB="Mai",$B="Mar",PB="Nov",WB="Oct",RB="Sep",JB="Abr",BB="Ago",GB="Dic",FB="Feb",HB="Ene",VB="Jul",ZB="Jun",XB="Mai",KB="Mar",qB="Nov",eG="Oct",tG="Sep",sG="ninguno",iG="Objeto cambiado por",rG="Objeto cambiado por última vez a las",oG="Configuraciones de otro adaptador %s",MG="Código de calidad",nG="repetir",aG='Para seleccionar la carpeta, simplemente mantenga presionada la tecla "shift" haciendo clic en la carpeta.',cG="Mostrar todo",uG="Estado cambiado por",lG="Objeto cambiado de",NG="Marca de tiempo",LG="Bandera reconocida",jG="Comentario",gG="Copie el valor del estado",TG="Mantenga presionada la tecla Cltr/⌘ para abrir el enlace",yG="Ajustes personalizados",DG="Eliminar objeto",dG="Editar objeto",zG="Edite el valor del estado",IG="Caduca en",hG="Desde",wG="Último cambio",CG="Calidad",AG="Sello de tiempo",mG="Usuario",pG="Valor",OG="VERDADERO",EG="Valor",_G="Advertencia: ¡El trabajo CRON se ejecutará cada minuto durante el período especificado!",fG="Advertencia: ¡El trabajo CRON se ejecutará cada segundo durante el período especificado!",SG="CRON",xG="Fecha",kG="fechas",YG="Día",QG="Día de la semana",UG="Cada",vG="cada N días",bG="cada enésimo día de la semana",$G="cada N día de la semana",PG="cada N horas",WG="cada N minutos",RG="cada N meses",JG="cada N segundos",BG="cada día",GG="Cada día de la semana",FG="Cada día de la semana",HG="cada hora",VG="cada minuto",ZG="cada mes",XG="cada segundo",KG="De",qG="Horas",eF="Intervalo",tF="Intervalo entre",sF="CRON no válido",iF="Minutos",rF="meses",oF="Una vez",MF="Período",nF="Segundos",aF="Sencillo",cF="Tiempo específico",uF="fechas especificas",lF="día(s) específico(s) de la semana",NF="día específico de semanas",LF="horas específicas",jF="minutos específicos",gF="meses específicos",TF="segundos específicos",yF="Hora",DF="A",dF="Mago",zF="todas",IF="Día astro",hF="Noche astro",wF="Amanecer",CF="Oscuridad",AF="hora dorada",mF="Fin de la hora dorada",pF="Nadir",OF="Amanecer náutico",EF="Anochecer náutico",_F="Noche",fF="Fin de la noche",SF="Mediodía solar",xF="amanecer",kF="Fin del amanecer",YF="Puesta de sol",QF="Puesta de sol",UF="a",vF="en %s",bF="cada día",$F="cada hora",PF="cada minuto",WF="cada mes",RF="cada %s días",JF="cada %s horas",BF="cada %s minutos",GF="cada %s meses",FF="cada %s semanas",HF="cada %s años",VF="cada semana",ZF="todos los años",XF="de %s a %s",KF="Nunca",qF="en %s de %s",eH="en %s y %s de",tH="en cada fecha de",sH="%s",iH="%s y %s",rH="en %s",oH="en %s y %s",MH="en los fines de semana",nH="en días laborables",aH="ya no se ejecutará más, porque el inicio está en el pasado",cH="en %s",uH="de %s",lH="Ejecutar desde hasta",NH="a %s",LH="cada",jH="Tiempo específico",gH="de",TH="De-a",yH="Tiempo de intervalo",DH="invertir; poner boca abajo o en la posición opuesta, orden o arreglo; Boca abajo",dH="ninguna",zH="en",IH="Período",hH="Diario",wH="fechas",CH="Día",AH="Cada",mH="Cada día",pH="Cada mes",OH="Cada semana",EH="Todos los años",_H="Horas",fH="Minutos",SH="mes",xH="Mensual",kH="Una vez",YH="Meses específicos",QH="Semana",UH="Días laborables",vH="Fin de semana",bH="Semanal",$H="Días laborables",PH="Año",WH="Anual",RH="Tiempo específico",JH="Hora",BH="a",GH="Válido",FH="de",HH="a",VH="Todo el dia",ZH="cada mes",XH={"ra_%s links from aliases":"%s enlaces de alias","ra_%s object(s) processed":"%s objeto(s) procesados","ra_%s was imported":"%s fue importado","ra_Accept license":"Aceptar licencia",ra_Actions:WR,"ra_Add new child object to selected parent":"Agregar nuevo objeto hijo al padre seleccionado","ra_Add objects tree from JSON file":"Agregar árbol de objetos desde el archivo JSON","ra_Add row":"Añadir fila","ra_Advanced options":"Opciones avanzadas","ra_All items are filtered out":"Todos los elementos se filtran","ra_All objects":"Todos los objetos",ra_Append:RR,"ra_Append %s entries or replace existing?":"¿Agregar %s entradas o reemplazar las existentes?","ra_Append or replace?":"¿Agregar o reemplazar?","ra_Are you sure?":"¿Estás seguro?","ra_Auto (no custom columns)":"Automático (sin columnas personalizadas)","ra_Back to %s":"Volver a %s","ra_Background image":"Imagen de fondo",ra_Cancel:JR,"ra_Cannot add items with set filter":"No se pueden agregar elementos con el filtro establecido","ra_Cannot decode license":"No se puede decodificar la licencia","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"No se puede determinar la posición: la configuración del sistema está vacía y la detección de GPS está deshabilitada en el navegador",'ra_Cannot find "%s"':'No se puede encontrar "%s"','ra_Cannot read "%s"':'No se puede leer "%s"',"ra_Cannot read licenses: %s":"No se pueden leer licencias: %s","ra_Cannot retrieve options, as instance is offline":"No se pueden recuperar las opciones, ya que la instancia está fuera de línea","ra_Cannot update attribute, because not found in the object":"No se puede actualizar el atributo porque no se encuentra en el objeto","ra_Cannot upload":"no se puede cargar",ra_Categories:BR,"ra_Chained certificate":"certificado encadenado","ra_Change color theme":"Cambiar tema de color","ra_Changed from":"Cambiaron desde","ra_Channel → State":"Canal → Estado","ra_Check license":"Verificar licencia",ra_Checked:GR,ra_Clear:FR,"ra_Clear filter":"Filtro claro","ra_Clear icon":"Icono claro","ra_Click to show":"Haga clic para mostrar","ra_Clone current row":"Clonar fila actual",ra_Close:HR,"ra_Collapse all nodes":"Contraer todos los nodos","ra_Collapse one step node":"Contraer un nivel",ra_Commercial:VR,ra_Configure:ZR,"ra_Configure visible columns":"Configurar columnas visibles","ra_Confirm deletion of %s":"Confirmar la eliminación de %s",ra_Connected:XR,ra_Continue:KR,ra_Copied:qR,"ra_Copied %s":'Copiado "%s"',"ra_Copy content":"Copiar contenido",ra_Create:eJ,"ra_Create alias":"Crear alias","ra_Create folder":"Crear carpeta","ra_Create new folder in %s":"Crear nueva carpeta en %s",ra_Crop:tJ,"ra_Define CRON...":"Definir CRON...","ra_Define functions":"Definir funciones","ra_Define rooms":"Definir habitaciones","ra_Define schedule":"Definir horario","ra_Define schedule...":"Definir horario ...",ra_Del:sJ,ra_Delete:iJ,"ra_Delete current row":"Eliminar fila actual","ra_Deselect all":"Deselecciona todo","ra_Device → Channel → State":"Dispositivo → Canal → Estado","ra_Disable/Enable translation":"Deshabilitar/Habilitar traducción",ra_Discard:rJ,ra_Disconnected:oJ,"ra_Do not ask for next 2 hours in this session":"No preguntes por las siguientes 2 horas en esta sesión.","ra_Do not export values of states":"No exportar valores de estados.","ra_Do not use let's encrypt":"No use vamos a cifrar","ra_Docker is not available":"Docker no está disponible","ra_Docker is not installed or not running":"Docker no está instalado o no se está ejecutando","ra_Double click to reset table layout":"Haga doble clic para restablecer el diseño de la tabla","ra_Drag 'n' drop some files here, or click to select files":"Arrastre y suelte algunos archivos aquí, o haga clic para seleccionar archivos","ra_Drop file here":"Suelta el archivo aquí","ra_Drop the files here...":"Suelta el archivo aquí ...","ra_Duplicate name":"Nombre duplicado","ra_Edit ACL":"Editar LCA","ra_Edit alias":"Editar alias","ra_Edit custom config":"Editar configuración personalizada","ra_Edit full path":"Editar ruta completa","ra_Edit function":"Función de edición","ra_Edit object field":"Editar campo de objeto","ra_Edit role":"Editar rol","ra_Edit room":"Cuarto de edición","ra_Edit value":"Editar valor","ra_Enter the code from that page here":"Introduzca el código de esa página aquí",ra_Error:MJ,"ra_Expand all nodes":"Expandir todos los nodos","ra_Expand one step node":"Expandir un nivel","ra_Expand/Collapse card":"Expandir/Contraer tarjeta","ra_Export configuration section":"Exportar sección de configuración","ra_Export data to %s file":"Exportar datos al archivo %s","ra_Failed to open JSON File":"No se pudo abrir el archivo JSON","ra_Fallback custom certificates":"Certificados personalizados alternativos","ra_File is too big. Max %sk allowed. Try use SVG.":"El archivo es demasiado grande. Máximo de %sk permitido. Intenta usar SVG.",ra_Filter:nJ,"ra_Filter and Data Actions":"Acciones de filtrado y datos","ra_Filter files":"Filtrar archivos","ra_Folder name":"Nombre de la carpeta","ra_Folder → Channel → State":"Carpeta → Canal → Estado","ra_Folder → Device → Channel → State":"Carpeta → Dispositivo → Canal → Estado","ra_Folder → State":"Carpeta → Estado","ra_Folders always first":"Carpetas siempre primero",ra_Friday:aJ,"ra_From file":"Desde archivo","ra_From text":"Del texto","ra_Get %s access":"Obtener %s acceso","ra_Good luck":"Buena suerte","ra_Hide empty folders":"Ocultar carpetas vacías","ra_If no file will be created in the folder, it will disappear after the browser closed":"Si no se creará ningún archivo en la carpeta, desaparecerá después de que se cierre el navegador.","ra_If the button above does not work, you can authorize manually this app by visiting this url":"Si el botón de arriba no funciona, puedes autorizar manualmente esta aplicación visitando esta URL","ra_Import and add configuration section":"Importar y agregar sección de configuración","ra_Import and replace configuration section":"Importar y reemplazar sección de configuración","ra_Import data from %s file":"Importar datos del archivo %s","ra_Import from %s":"Importar desde %s","ra_Instance %s is alive":"Instancia %s está vivo","ra_Instance %s is not alive":"Instancia %s no está vivo","ra_Instance is not alive":"La instancia no está viva","ra_Invalid CRON":"CRON no válido","ra_Invalid JSON":"JSON no válido","ra_Invalid JSON file.":"Archivo JSON inválido.","ra_Invalid JSON format. Expected an array.":"Formato JSON inválido. Se esperaba un array.","ra_Invalid answer from server":"Respuesta inválida del servidor","ra_Invalid parent folder!":"Carpeta principal no válida.","ra_Invalid structure":"Estructura inválida","ra_JSON editor":"editor JSON","ra_Last change":"Ultimo cambio",ra_Latitude:cJ,"ra_License %s":"Licencia %s","ra_License agreement":"Acuerdo de licencia","ra_License does not exist":"La licencia no existe","ra_License expired on %s":"La licencia venció el %s",'ra_License for other product "%s"':'Licencia para otro producto "%s"',"ra_License is for version %s, but required version is %s.":"La licencia es para la versión %s, pero la versión requerida es %s.","ra_License must be converted":"La licencia debe convertirse a una versión más reciente. Puedes hacerlo en tu perfil de iobroker.net.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"Licencia no encontrada en el administrador de licencias. ¿Quieres actualizar las licencias de iobroker.net?","ra_Listen on all IPs":"Escuche en todas las IP","ra_Load configuration from file":"Cargar configuración desde archivo",ra_Logout:uJ,ra_Longitude:lJ,'ra_May not trigger "updateLicenses"':'No puede activar "updateLicenses"',ra_Message:NJ,ra_Monday:LJ,"ra_Move down":"Mover hacia abajo","ra_Move up":"Ascender",ra_Name:jJ,"ra_No data found in file":"No se encontraron datos en el archivo","ra_No one license found in license manager":"No se encontró ninguna licencia en el administrador de licencias","ra_No response from admin":"No hay respuesta del administrador","ra_No response from the backend":"No hay respuesta del backend",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':'Los no expertos pueden crear nuevos objetos solo en "0_userdata.0" o "alias.0".',"ra_Not a number":"No un número",ra_Objects:gJ,ra_Ok:TJ,"ra_On weekdays":"De lunes a viernes","ra_Only following structures of objects are available:":"Solo están disponibles las siguientes estructuras de objetos:","ra_Only selected":"Solo seleccionados","ra_Owner group":"Grupo propietario","ra_Owner user":"Usuario propietario","ra_Passwords are not equal!":"¡Las contraseñas no son iguales!","ra_Place your files here or click here to open the browse dialog":"Coloque sus archivos aquí o haga clic aquí para abrir el cuadro de diálogo de exploración","ra_Please allow popups in your browser for this page!":"¡Permita ventanas emergentes en su navegador para esta página!","ra_Please confirm":"Por favor confirmar","ra_Please create license":"Por favor cree una licencia","ra_Please enter the license":"Por favor ingrese la licencia","ra_Please select file...":"Seleccione el archivo...","ra_Please select object ID...":"Por favor seleccione ID de objeto ...","ra_Port could be used by %s":"El puerto podría ser utilizado por %s","ra_Port is already used by %s":"El puerto ya está en uso por %s","ra_Press ENTER Key to add new item":"Presione la tecla ENTER para agregar un nuevo elemento","ra_Private certificate":"certificado privado",ra_Product:yJ,"ra_Public certificate":"Certificado público","ra_Quality code":"Calidad","ra_Refresh tree":"Actualizar árbol","ra_Reload files":"Recargar archivos",ra_Rename_Move_Copy:DJ,"ra_Renew %s access":"Renovar el acceso a %s",ra_Repeat:dJ,ra_Replace:zJ,"ra_Request timed out":"Tiempo de espera agotado","ra_Restrict to folder":"Restringir a carpeta",ra_Root:IJ,ra_Saturday:hJ,ra_Save:wJ,"ra_Save and close":"Guardar y cerrar","ra_Save configuration to file":"Guardar configuración en archivo","ra_Save objects tree as JSON file":"Guardar el árbol de objetos como archivo JSON","ra_Select all":"Seleccionar todo","ra_Select color":"Seleccionar el color","ra_Select predefined icon":"Seleccionar icono predefinido","ra_Select type of export":"Seleccione tipo de exportación",ra_Selected:CJ,"ra_Selected %s object(s)":"%s objetos seleccionados","ra_Serial number (UUID)":"Número de serie (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':'El número de serie (UUID) "%s" en la licencia es para otro dispositivo.',"ra_Session will expire in %s seconds. Continue?":"La sesión expirará en %s segundos. ¿Continuar?","ra_Show all folders":"Mostrar todas las carpetas","ra_Show lines between rows":"Mostrar líneas entre filas","ra_Show/Hide object descriptions":"Mostrar/ocultar descripciones de objetos","ra_Show/hide filter input":"Mostrar/ocultar entrada de filtro","ra_Some data are not stored. Discard?":"Algunos datos no se almacenan. ¿Desechar?",ra_States:AJ,"ra_Successfully authorized. Token valid till %s and will be automatically renewed.":"Autorizado correctamente. El token es válido hasta el %s y se renovará automáticamente.","ra_Successfully authorized. Token valid till %s but it can expire as the instance is not running.":"Autorizado correctamente. El token es válido hasta %s, pero puede caducar porque la instancia no está en ejecución.","ra_Suitable license not found in license manager":"Licencia adecuada no encontrada en el administrador de licencias",ra_Sunday:mJ,"ra_Suppress question for next %s minutes":"Suprimir pregunta durante los próximos %s minutos","ra_System language":"Lenguaje del sistema","ra_Take browser position":"Tomar posición desde el navegador","ra_Take position from system settings":"Tomar posición desde la configuración del sistema",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':'Los expertos pueden crear objetos en todas partes excepto desde el segundo nivel (por ejemplo, "vis.0" o "javascript.0").',"ra_The page you are looking for was not found":"No se encontró la página que busca","ra_The schedule will be executed every minute. Are you sure?":"El cronograma se ejecutará cada minuto. ¿Estás seguro?","ra_The schedule will be executed every second. Are you sure?":"El cronograma se ejecutará cada segundo. ¿Estás seguro?",ra_Thursday:pJ,ra_Timestamp:OJ,"ra_Toggle expert mode":"Alternar modo experto","ra_Toggle the states view":"Alternar la vista de estados","ra_Toggle view mode":"Alternar modo de vista","ra_Too big":"Demasiado grande","ra_Too small":"Demasiado pequeña","ra_Transparent dialog":"Diálogo transparente",ra_Tuesday:EJ,"ra_Unknown error":"Error desconocido","ra_Unknown error!":"¡Error desconocido!",ra_Update:_J,"ra_Upload file":"Subir archivo","ra_Use all available let's encrypt certificates":"Utilice todos los certificados let's encrypt disponibles","ra_Use iobroker.acme adapter for letsencrypt certificates":"Use el adaptador iobroker.acme para los certificados de letsencrypt","ra_Use system settings for position":"Usar la configuración del sistema para la posición","ra_Used system settings":"Configuraciones del sistema usadas","ra_User files":"Archivos de usuario",ra_ValidTill:fJ,ra_Value:SJ,ra_Version:xJ,"ra_View file":"Ver archivo","ra_View: %s":"Ver: %s",ra_Wednesday:kJ,ra_Width:YJ,"ra_YAML editor":"Editor YAML",ra_Yes:QJ,"ra_You can export all objects or just the selected branch.":"Puede exportar todos los objetos o solo la rama seleccionada.","ra_You can filter entries by entering here some text":"Puede filtrar las entradas ingresando aquí algún texto","ra_You can use * as wildcard":"Puedes utilizar * como comodín",ra___different__:UJ,ra_aclEveryone_read_object:vJ,ra_aclEveryone_read_state:bJ,ra_aclEveryone_write_object:$J,ra_aclEveryone_write_state:PJ,ra_aclGroup_read_object:WJ,ra_aclGroup_read_state:RJ,ra_aclGroup_write_object:JJ,ra_aclGroup_write_state:BJ,ra_aclOwner_read_object:GJ,ra_aclOwner_read_state:FJ,ra_aclOwner_write_object:HJ,ra_aclOwner_write_state:VJ,ra_buttons:ZJ,ra_changedFrom:XJ,ra_close:KJ,ra_create_boolean_state:qJ,ra_create_channel:eB,ra_create_device:tB,ra_create_number_state:sB,ra_create_state:iB,ra_create_string_state:rB,ra_daysShortText:oB,ra_dow_Fr:MB,ra_dow_Mo:nB,ra_dow_Sa:aB,ra_dow_Su:cB,ra_dow_Th:uB,ra_dow_Tu:lB,ra_dow_We:NB,ra_expertMode:LB,ra_false:jB,ra_fileType_all:gB,ra_fileType_audio:TB,ra_fileType_code:yB,ra_fileType_images:DB,ra_fileType_txt:dB,ra_fileType_video:zB,"ra_fileType_video,":"Video",ra_filter_customs:IB,ra_filter_customs_without:hB,ra_filter_func:wB,ra_filter_id:CB,ra_filter_name:AB,ra_filter_role:mB,ra_filter_room:pB,ra_filter_type:OB,"ra_import data from %s file":"Importar datos del archivo %s",ra_invalidConfig:EB,ra_lastChange:_B,ra_locally:fB,ra_month_Apr:SB,ra_month_Aug:xB,ra_month_Dec:kB,ra_month_Feb:YB,ra_month_Jan:QB,ra_month_Jul:UB,ra_month_Jun:vB,ra_month_Mai:bB,ra_month_Mar:$B,ra_month_Nov:PB,ra_month_Oct:WB,ra_month_Sep:RB,ra_months_Apr:JB,ra_months_Aug:BB,ra_months_Dec:GB,ra_months_Feb:FB,ra_months_Jan:HB,ra_months_Jul:VB,ra_months_Jun:ZB,ra_months_Mai:XB,ra_months_Mar:KB,ra_months_Nov:qB,ra_months_Oct:eG,ra_months_Sep:tG,"ra_no confirm for 5 mins":"Sin confirmación durante 5 minutos",ra_none:sG,ra_object_changed_by:iG,ra_object_changed_by_user:rG,ra_otherConfig:oG,ra_qualityCode:MG,ra_repeat:nG,ra_select_folder_hint:aG,ra_show_all:cG,ra_state_changed_by:uG,ra_state_changed_from:lG,ra_timestamp:NG,ra_tooltip_ack:LG,ra_tooltip_comment:jG,ra_tooltip_copyState:gG,ra_tooltip_ctrlForLink:TG,ra_tooltip_customConfig:yG,ra_tooltip_deleteObject:DG,ra_tooltip_editObject:dG,ra_tooltip_editState:zG,ra_tooltip_expire:IG,ra_tooltip_from:hG,ra_tooltip_lc:wG,ra_tooltip_quality:CG,ra_tooltip_ts:AG,ra_tooltip_user:mG,ra_tooltip_value:pG,ra_true:OG,"ra_use seconds":"usar segundos",ra_val:EG,"ra_via internet":"vía Internet",ra_warning_every_minute:_G,ra_warning_every_second:fG,sc_cron:SG,sc_date:xG,sc_dates:kG,sc_dow:YG,sc_dows:QG,sc_every:UG,sc_everyN_dates:vG,sc_everyN_dow:bG,sc_everyN_dows:$G,sc_everyN_hours:PG,sc_everyN_minutes:WG,sc_everyN_months:RG,sc_everyN_seconds:JG,sc_every_dates:BG,sc_every_dow:GG,sc_every_dows:FG,sc_every_hours:HG,sc_every_minutes:VG,sc_every_months:ZG,sc_every_seconds:XG,sc_from:KG,sc_hours:qG,sc_interval:eF,sc_intervalBetween:tF,sc_invalid_cron:sF,sc_minutes:iF,sc_months:rF,sc_once:oF,sc_period:MF,sc_seconds:nF,sc_simple:aF,sc_specific:cF,sc_specific_dates:uF,sc_specific_dow:lF,sc_specific_dows:NF,sc_specific_hours:LF,sc_specific_minutes:jF,sc_specific_months:gF,sc_specific_seconds:TF,sc_time:yF,sc_to:DF,sc_wizard:dF,sch_all:zF,sch_astroDay:IF,sch_astroNight:hF,sch_astro_dawn:wF,sch_astro_dusk:CF,sch_astro_goldenHour:AF,sch_astro_goldenHourEnd:mF,sch_astro_nadir:pF,sch_astro_nauticalDawn:OF,sch_astro_nauticalDusk:EF,sch_astro_night:_F,sch_astro_nightEnd:fF,sch_astro_solarNoon:SF,sch_astro_sunrise:xF,sch_astro_sunriseEnd:kF,sch_astro_sunset:YF,sch_astro_sunsetStart:QF,sch_at:UF,sch_desc_atTime:vF,sch_desc_everyDay:bF,sch_desc_everyHour:$F,sch_desc_everyMinute:PF,sch_desc_everyMonth:WF,sch_desc_everyNDay:RF,sch_desc_everyNHours:JF,sch_desc_everyNMinutes:BF,sch_desc_everyNMonths:GF,sch_desc_everyNWeeks:FF,sch_desc_everyNYears:HF,sch_desc_everyWeek:VF,sch_desc_everyYear:ZF,sch_desc_intervalFromTo:XF,sch_desc_never:KF,sch_desc_onDate:qF,sch_desc_onDates:eH,sch_desc_onEveryDate:tH,sch_desc_onMonth:sH,sch_desc_onMonths:iH,sch_desc_onWeekday:rH,sch_desc_onWeekdays:oH,sch_desc_onWeekends:MH,sch_desc_onWorkdays:nH,sch_desc_onceInPast:aH,sch_desc_once_on:cH,sch_desc_validFrom:uH,sch_desc_validFromTo:lH,sch_desc_validTo:NH,sch_every:LH,sch_exactTime:jH,sch_from:gH,sch_fromTo:TH,sch_intervalTime:yH,sch_invert:DH,sch_no_one:dH,sch_on:zH,sch_period:IH,sch_periodDaily:hH,sch_periodDates:wH,sch_periodDay:CH,sch_periodEvery:AH,sch_periodEveryDay:mH,sch_periodEveryMonth:pH,sch_periodEveryWeek:OH,sch_periodEveryYear:EH,sch_periodHours:_H,sch_periodMinutes:fH,sch_periodMonth:SH,sch_periodMonthly:xH,sch_periodOnce:kH,sch_periodSpecificMonths:YH,sch_periodWeek:QH,sch_periodWeekdays:UH,sch_periodWeekend:vH,sch_periodWeekly:bH,sch_periodWorkdays:$H,sch_periodYear:PH,sch_periodYearly:WH,sch_specificTime:RH,sch_time:JH,sch_to:BH,sch_valid:GH,sch_validFrom:FH,sch_validTo:HH,sch_wholeDay:VH,sch_yearEveryMonth:ZH},KH="Akcje",qH="Dodać",eV="Anuluj",tV="Kategorie",sV="Sprawdzony",iV="Kasować",rV="Blisko",oV="Handlowy",MV="Konfiguruj",nV="Połączony",aV="Kontynuować",cV="Skopiowano",uV="Stwórz",lV="Przyciąć",NV="Delete",LV="Usunąć",jV="Wyrzucać",gV="Niepowiązany",TV="Błąd",yV="Filtr",DV="Piątek",dV="Szerokość",zV="Wyloguj",IV="Długość geograficzna",hV="Wiadomość",wV="Poniedziałek",CV="Nazwa",AV="Obiekty",mV="Dobrze",pV="Produkt",OV="Zmień nazwę/Przenieś/Kopiuj",EV="Powtarzać",_V="Zastępować",fV="Korzeń",SV="Sobota",xV="Zapisać",kV="Wybrany",YV="Stany",QV="Niedziela",UV="Czwartek",vV="Znak czasu",bV="Wtorek",$V="Aktualizacja",PV="Obowiązuje do",WV="Wartość",RV="Wersja",JV="Środa",BV="Szerokość",GV="Tak",FV="różne",HV="Każdy może czytać obiekt",VV="Każdy może czytać stan",ZV="Każdy może pisać przedmiot",XV="Każdy może pisać stan",KV="Grupa może odczytać obiekt",qV="Grupa może odczytać stan",eZ="Grupa może pisać obiekt",tZ="Grupa może pisać stan",sZ="Właściciel może czytać obiekt",iZ="Właściciel może odczytać stan",rZ="Właściciel może napisać obiekt",oZ="Właściciel może pisać stan",MZ="guziki",nZ="Zmieniony z",aZ="blisko",cZ="Utwórz stan logiczny",uZ="Utwórz kanał",lZ="Utwórz urządzenie",NZ="Utwórz stan liczbowy",LZ="Utwórz stan",jZ="Utwórz stan ciągu",gZ="d.",TZ="Ks",yZ="Mo",DZ="Sa",dZ="Su",zZ="Th",IZ="Tu",hZ="My",wZ="Tryb ekspercki",CZ="FAŁSZ",AZ="Wszystkie pliki",mZ="Audio",pZ="Kod/JSON",OZ="Obrazy",EZ="Tekst",_Z="Wideo",fZ="Ustawienia",SZ="bez",xZ="Funkcjonować",kZ="ID",YZ="Imię",QZ="Rola",UZ="Sala",vZ="Rodzaj",bZ="Nieprawidłowe ustawienia",$Z="Ostatnia zmiana",PZ="lokalnie",WZ="kwiecień",RZ="sierpień",JZ="grudzień",BZ="luty",GZ="styczeń",FZ="lipiec",HZ="czerwiec",VZ="Mai",ZZ="Zniszczyć",XZ="listopad",KZ="październik",qZ="wrzesień",eX="kwiecień",tX="sierpień",sX="grudzień",iX="luty",rX="styczeń",oX="lipiec",MX="czerwiec",nX="Mai",aX="Zniszczyć",cX="listopad",uX="październik",lX="wrzesień",NX="Żaden",LX="Obiekt zmieniony przez",jX="Obiekt ostatnio zmieniony o godz",gX="Ustawienia z innego adaptera %s",TX="Kod jakości",yX="powtarzać",DX="Aby wybrać folder, wystarczy przytrzymać klawisz „shift”, klikając folder.",dX="Pokaż wszystko",zX="Stan zmieniony przez",IX="Obiekt zmieniony z",hX="Znak czasu",wX="Potwierdzon",CX="Komentarz",AX="Skopiuj wartość stanu",mX="Przytrzymaj klawisz CTRL/⌘, aby otworzyć link",pX="Własne ustawienia",OX="Usuń obiekt",EX="Edytuj obiekt",_X="Edytuj wartość stanu",fX="Wygasa za",SX="Z",xX="Ostatnia zmiana",kX="Jakość",YX="Znak czasu",QX="Użytkownik",UX="Wartość",vX="PRAWDA",bX="Wartość",$X="Ostrzeżenie: Zadanie CRON będzie uruchamiane co minutę w określonym przedziale czasowym!",PX="Ostrzeżenie: Zadanie CRON będzie uruchamiane co sekundę w określonym przedziale czasowym!",WX="CRON",RX="Data",JX="Daktyle",BX="Dzień",GX="Dzień tygodnia",FX="Każdy",HX="co N dni",VX="w każdy N-ty dzień tygodnia",ZX="co N dnia tygodnia",XX="co N godzin",KX="co N minut",qX="co N miesięcy",eK="co N sekund",tK="codziennie",sK="każdy dzień tygodnia",iK="każdy dzień tygodnia",rK="co godzinę",oK="każda minuta",MK="każdego miesiąca",nK="każda sekunda",aK="Od",cK="godziny",uK="Interwał",lK="Interwał między",NK="Nieprawidłowy CRON",LK="Minuty",jK="miesięcy",gK="Pewnego razu",TK="Kropka",yK="sekundy",DK="Prosty",dK="Określony czas",zK="konkretne daty",IK="określone dni tygodnia",hK="określony dzień tygodni",wK="określone godziny",CK="określone minuty",AK="określone miesiące",mK="określone sekundy",pK="Czas",OK="Do",EK="Czarodziej",_K="wszystko",fK="Dzień Astro",SK="Noc Astro",xK="Świt",kK="Zmierzch",YK="Złota godzina",QK="Koniec złotej godziny",UK="Północ",vK="Morski świt",bK="Morski zmierzch",$K="Noc",PK="Koniec nocy",WK="Południe słoneczne",RK="Wschód słońca",JK="Koniec wschodu słońca",BK="Zachód słońca",GK="Początek zachodu słońca",FK="w",HK="na %s",VK="codziennie",ZK="co godzinę",XK="każda minuta",KK="każdego miesiąca",qK="każdego dnia %s",eq="co %s godzin",tq="co %s minut",sq="co %s miesięcy",iq="co %s tygodni",rq="co %s lat",oq="co tydzień",Mq="każdego roku",nq="od %s do %s",aq="nigdy",cq="na %s z %s",uq="na %s i %s z",lq="w każdą datę",Nq="%s",Lq="%s i %s",jq="na %s",gq="na %s i %s",Tq="w weekendy",yq="w dni robocze",Dq="nie będzie już wykonywany, ponieważ start jest w przeszłości",dq="na %s",zq="z %s",Iq="Wykonaj od do",hq="do %s",wq="każdy",Cq="Określony czas",Aq="od",mq="Od-do",pq="Czas przerwy",Oq="odwracać",Eq="Żaden",_q="na",fq="Kropka",Sq="Codziennie",xq="Daktyle",kq="Dzień",Yq="Każdy",Qq="Codziennie",Uq="Każdego miesiąca",vq="Co tydzień",bq="Każdego roku",$q="godziny",Pq="Minuty",Wq="miesiąc",Rq="Miesięczny",Jq="Pewnego razu",Bq="Określone miesiące",Gq="Tydzień",Fq="Dni powszednie",Hq="Weekend",Vq="Co tydzień",Zq="Dni robocze",Xq="Rok",Kq="Rocznie",qq="Określony czas",eee="Czas",tee="do",see="Ważny",iee="od",ree="do",oee="Cały dzień",Mee="każdego miesiąca",nee={"ra_%s links from aliases":"%s linków z aliasów","ra_%s object(s) processed":"Przetworzono %s obiektów","ra_%s was imported":"%s został zaimportowany","ra_Accept license":"Zaakceptuj licencję",ra_Actions:KH,"ra_Add new child object to selected parent":"Dodaj nowy obiekt potomny do wybranego rodzica","ra_Add objects tree from JSON file":"Dodaj drzewo obiektów z pliku JSON","ra_Add row":"Dodaj wiersz","ra_Advanced options":"Zaawansowane opcje","ra_All items are filtered out":"Wszystkie pozycje są odfiltrowane","ra_All objects":"Wszystkie obiekty",ra_Append:qH,"ra_Append %s entries or replace existing?":"Dołączyć wpisy %s czy zastąpić istniejące?","ra_Append or replace?":"Dołączyć czy zastąpić?","ra_Are you sure?":"Jesteś pewny?","ra_Auto (no custom columns)":"Auto (bez kolumn niestandardowych)","ra_Back to %s":"Powrót do %s","ra_Background image":"Zdjęcie w tle",ra_Cancel:eV,"ra_Cannot add items with set filter":"Nie można dodać elementów z ustawionym filtrem","ra_Cannot decode license":"Nie można zdekodować licencji","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"Nie można określić pozycji: ustawienia systemu są puste, a wykrywanie GPS jest wyłączone w przeglądarce",'ra_Cannot find "%s"':"Nie można znaleźć „%s”",'ra_Cannot read "%s"':"Nie można odczytać „%s”","ra_Cannot read licenses: %s":"Nie można odczytać licencji: %s","ra_Cannot retrieve options, as instance is offline":"Nie można pobrać opcji, ponieważ instancja jest w trybie offline","ra_Cannot update attribute, because not found in the object":"Nie można zaktualizować atrybutu, ponieważ nie znaleziono go w obiekcie","ra_Cannot upload":"Nie można przesłać",ra_Categories:tV,"ra_Chained certificate":"Certyfikat łańcuchowy","ra_Change color theme":"Zmień motyw kolorystyczny","ra_Changed from":"Zmieniony z","ra_Channel → State":"Kanał → Stan","ra_Check license":"Sprawdź licencję",ra_Checked:sV,ra_Clear:iV,"ra_Clear filter":"Czysty filtr","ra_Clear icon":"Wyczyść ikonę","ra_Click to show":"Kliknij, aby pokazać","ra_Clone current row":"Sklonuj bieżący wiersz",ra_Close:rV,"ra_Collapse all nodes":"Zwiń wszystkie węzły","ra_Collapse one step node":"Zwiń o jeden poziom",ra_Commercial:oV,ra_Configure:MV,"ra_Configure visible columns":"Skonfiguruj widoczne kolumny","ra_Confirm deletion of %s":"Potwierdź usunięcie %s",ra_Connected:nV,ra_Continue:aV,ra_Copied:cV,"ra_Copied %s":'Skopiowano "%s"',"ra_Copy content":"Kopiuj zawartość",ra_Create:uV,"ra_Create alias":"Utwórz alias","ra_Create folder":"Utwórz folder","ra_Create new folder in %s":"Utwórz nowy folder w %s",ra_Crop:lV,"ra_Define CRON...":"Zdefiniuj CRON...","ra_Define functions":"Zdefiniuj funkcje","ra_Define rooms":"Zdefiniuj pokoje","ra_Define schedule":"Zdefiniuj harmonogram","ra_Define schedule...":"Zdefiniuj harmonogram ...",ra_Del:NV,ra_Delete:LV,"ra_Delete current row":"Usuń bieżący wiersz","ra_Deselect all":"Odznacz wszystko","ra_Device → Channel → State":"Urządzenie → Kanał → Stan","ra_Disable/Enable translation":"Wyłącz/Włącz tłumaczenie",ra_Discard:jV,ra_Disconnected:gV,"ra_Do not ask for next 2 hours in this session":"Nie proś o kolejne 2 godziny w tej sesji","ra_Do not export values of states":"Nie eksportuj wartości stanów","ra_Do not use let's encrypt":"Nie używaj zaszyfrujmy","ra_Docker is not available":"Docker nie jest dostępny","ra_Docker is not installed or not running":"Docker nie jest zainstalowany lub nie działa","ra_Double click to reset table layout":"Kliknij dwukrotnie, aby zresetować układ tabeli","ra_Drag 'n' drop some files here, or click to select files":"Przeciągnij i upuść kilka plików tutaj lub kliknij, aby wybrać pliki","ra_Drop file here":"Upuść plik tutaj","ra_Drop the files here...":"Upuść plik tutaj...","ra_Duplicate name":"Zduplikowana nazwa","ra_Edit ACL":"Edytuj listy ACL","ra_Edit alias":"Edytuj alias","ra_Edit custom config":"Edytuj konfigurację niestandardową","ra_Edit full path":"Edytuj pełną ścieżkę","ra_Edit function":"Funkcja edycji","ra_Edit object field":"Edytuj pole obiektu","ra_Edit role":"Edytuj rolę","ra_Edit room":"Edytuj pokój","ra_Edit value":"Edytuj wartość","ra_Enter the code from that page here":"Wpisz kod z tej strony tutaj",ra_Error:TV,"ra_Expand all nodes":"Rozwiń wszystkie węzły","ra_Expand one step node":"Rozwiń o jeden poziom","ra_Expand/Collapse card":"Rozwiń/Zwiń kartę","ra_Export configuration section":"Sekcja konfiguracji eksportu","ra_Export data to %s file":"Eksportuj dane do pliku %s","ra_Failed to open JSON File":"Nie udało się otworzyć pliku JSON","ra_Fallback custom certificates":"Niestandardowe certyfikaty zastępcze","ra_File is too big. Max %sk allowed. Try use SVG.":"Plik jest za duży. Maksymalna dozwolona liczba %sk. Spróbuj użyć SVG.",ra_Filter:yV,"ra_Filter and Data Actions":"Akcje filtrów i danych","ra_Filter files":"Filtruj pliki","ra_Folder name":"Nazwa folderu","ra_Folder → Channel → State":"Folder → Kanał → Stan","ra_Folder → Device → Channel → State":"Folder → Urządzenie → Kanał → Stan","ra_Folder → State":"Folder → Stan","ra_Folders always first":"Foldery zawsze na pierwszym miejscu",ra_Friday:DV,"ra_From file":"Z pliku","ra_From text":"Z tekstu","ra_Get %s access":"Uzyskaj dostęp %s","ra_Good luck":"Powodzenia","ra_Hide empty folders":"Ukryj puste foldery","ra_If no file will be created in the folder, it will disappear after the browser closed":"Jeśli w folderze nie zostanie utworzony żaden plik, zniknie on po zamknięciu przeglądarki","ra_If the button above does not work, you can authorize manually this app by visiting this url":"Jeśli przycisk powyżej nie działa, możesz autoryzować tę aplikację ręcznie, odwiedzając ten adres URL","ra_Import and add configuration section":"Importuj i dodaj sekcję konfiguracji","ra_Import and replace configuration section":"Importuj i zastąp sekcję konfiguracji","ra_Import data from %s file":"Importuj dane z pliku %s","ra_Import from %s":"Importuj z %s","ra_Instance %s is alive":"Instancja %s jest aktywna","ra_Instance %s is not alive":"Instancja TEKST nie jest aktywna","ra_Instance is not alive":"Instancja nie jest aktywna","ra_Invalid CRON":"Nieprawidłowy CRON","ra_Invalid JSON":"Nieprawidłowy JSON","ra_Invalid JSON file.":"Nieprawidłowy plik JSON.","ra_Invalid JSON format. Expected an array.":"Nieprawidłowy format JSON. Oczekiwano tablicy.","ra_Invalid answer from server":"Nieprawidłowa odpowiedź z serwera","ra_Invalid parent folder!":"Nieprawidłowy folder nadrzędny!","ra_Invalid structure":"Nieprawidłowa struktura","ra_JSON editor":"Edytor JSON","ra_Last change":"Ostatnia zmiana",ra_Latitude:dV,"ra_License %s":"Licencja %s","ra_License agreement":"Umowa licencyjna","ra_License does not exist":"Licencja nie istnieje","ra_License expired on %s":"Licencja wygasła w dniu %s",'ra_License for other product "%s"':"Licencja na inny produkt „%s”","ra_License is for version %s, but required version is %s.":"Licencja dotyczy wersji %s, ale wymagana wersja to %s.","ra_License must be converted":"Licencja musi zostać przekonwertowana na nowszą wersję. Możesz to zrobić w swoim profilu iobroker.net.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"Nie znaleziono licencji w menedżerze licencji. Chcesz zaktualizować licencje z iobroker.net?","ra_Listen on all IPs":"Słuchaj na wszystkich adresach IP","ra_Load configuration from file":"Załaduj konfigurację z pliku",ra_Logout:zV,ra_Longitude:IV,'ra_May not trigger "updateLicenses"':"Może nie uruchamiać „updateLicenses”",ra_Message:hV,ra_Monday:wV,"ra_Move down":"Padnij","ra_Move up":"Podnieść",ra_Name:CV,"ra_No data found in file":"Nie znaleziono danych w pliku","ra_No one license found in license manager":"Nie znaleziono licencji w menedżerze licencji","ra_No response from admin":"Brak odpowiedzi od administratora","ra_No response from the backend":"Brak odpowiedzi z zaplecza",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':"Osoby nie będące ekspertami mogą tworzyć nowe obiekty tylko w „0_userdata.0” lub „alias.0”.","ra_Not a number":"Nie numer",ra_Objects:AV,ra_Ok:mV,"ra_On weekdays":"W dni powszednie","ra_Only following structures of objects are available:":"Dostępne są tylko następujące struktury obiektów:","ra_Only selected":"Tylko wybrane","ra_Owner group":"Grupa właścicieli","ra_Owner user":"Właściciel użytkownika","ra_Passwords are not equal!":"Hasła nie są równe!","ra_Place your files here or click here to open the browse dialog":"Umieść swoje pliki tutaj lub kliknij tutaj, aby otworzyć okno dialogowe przeglądania","ra_Please allow popups in your browser for this page!":"Proszę zezwolić na wyświetlanie wyskakujących okienek w przeglądarce dla tej strony!","ra_Please confirm":"Proszę potwierdzić","ra_Please create license":"Utwórz licencję","ra_Please enter the license":"Proszę wprowadzić licencję","ra_Please select file...":"Wybierz plik...","ra_Please select object ID...":"Wybierz identyfikator obiektu ...","ra_Port could be used by %s":"Port może być używany przez %s","ra_Port is already used by %s":"Port jest już używany przez %s","ra_Press ENTER Key to add new item":"Naciśnij klawisz ENTER, aby dodać nowy element","ra_Private certificate":"Prywatny certyfikat",ra_Product:pV,"ra_Public certificate":"Certyfikat publiczny","ra_Quality code":"Jakości","ra_Refresh tree":"Odśwież drzewo","ra_Reload files":"Załaduj ponownie pliki",ra_Rename_Move_Copy:OV,"ra_Renew %s access":"Odnów dostęp %s",ra_Repeat:EV,ra_Replace:_V,"ra_Request timed out":"Upłynął limit czasu żądania","ra_Restrict to folder":"Ogranicz do folderu",ra_Root:fV,ra_Saturday:SV,ra_Save:xV,"ra_Save and close":"Zapisz i zamknij","ra_Save configuration to file":"Zapisz konfigurację do pliku","ra_Save objects tree as JSON file":"Zapisz drzewo obiektów jako plik JSON","ra_Select all":"Zaznacz wszystko","ra_Select color":"Wybierz kolor","ra_Select predefined icon":"Wybierz predefiniowaną ikonę","ra_Select type of export":"Wybierz rodzaj eksportu",ra_Selected:kV,"ra_Selected %s object(s)":"Wybrane obiekty %s","ra_Serial number (UUID)":"Numer seryjny (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':"Numer seryjny (UUID) „%s” w licencji dotyczy innego urządzenia.","ra_Session will expire in %s seconds. Continue?":"Sesja wygaśnie za %s sekund. Kontynuować?","ra_Show all folders":"Pokaż wszystkie foldery","ra_Show lines between rows":"Pokaż linie między rzędami","ra_Show/Hide object descriptions":"Pokaż/ukryj opisy obiektów","ra_Show/hide filter input":"Pokaż/ukryj wejście filtra","ra_Some data are not stored. Discard?":"Niektóre dane nie są przechowywane. Wyrzucać?",ra_States:YV,"ra_Successfully authorized. Token valid till %s and will be automatically renewed.":"Pomyślnie autoryzowano. Token ważny do %s i zostanie automatycznie odnowiony.","ra_Successfully authorized. Token valid till %s but it can expire as the instance is not running.":"Pomyślnie autoryzowano. Token ważny do %s, ale może wygasnąć, ponieważ instancja nie jest uruchomiona.","ra_Suitable license not found in license manager":"Nie znaleziono odpowiedniej licencji w menedżerze licencji",ra_Sunday:QV,"ra_Suppress question for next %s minutes":"Ukryj pytanie przez następne %s minut","ra_System language":"Język systemu","ra_Take browser position":"Zajmij pozycję z przeglądarki","ra_Take position from system settings":"Zajmij pozycję z ustawień systemowych",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':"Eksperci mogą tworzyć obiekty wszędzie poza drugim poziomem (np. „Vis.0” lub „javascript.0”).","ra_The page you are looking for was not found":"Strona, której szukasz nie została znaleziona","ra_The schedule will be executed every minute. Are you sure?":"Harmonogram będzie wykonywany co minutę. Czy jesteś pewien?","ra_The schedule will be executed every second. Are you sure?":"Harmonogram będzie wykonywany co sekundę. Czy jesteś pewien?",ra_Thursday:UV,ra_Timestamp:vV,"ra_Toggle expert mode":"Przełącz tryb eksperta","ra_Toggle the states view":"Przełącz widok stanów","ra_Toggle view mode":"Przełącz tryb widoku","ra_Too big":"Za duży","ra_Too small":"Za mały","ra_Transparent dialog":"Przejrzyste okno dialogowe",ra_Tuesday:bV,"ra_Unknown error":"Nieznany błąd","ra_Unknown error!":"Nieznany błąd!",ra_Update:$V,"ra_Upload file":"Przesyłanie pliku","ra_Use all available let's encrypt certificates":"Użyj wszystkich dostępnych certyfikatów Let's Encrypt","ra_Use iobroker.acme adapter for letsencrypt certificates":"Użyj adaptera iobroker.acme dla certyfikatów letsencrypt","ra_Use system settings for position":"Użyj ustawień systemowych dla pozycji","ra_Used system settings":"Używane ustawienia systemowe","ra_User files":"Pliki użytkownika",ra_ValidTill:PV,ra_Value:WV,ra_Version:RV,"ra_View file":"Zobaczyć plik","ra_View: %s":"Widok: %s",ra_Wednesday:JV,ra_Width:BV,"ra_YAML editor":"Edytor YAML",ra_Yes:GV,"ra_You can export all objects or just the selected branch.":"Możesz wyeksportować wszystkie obiekty lub tylko wybraną gałąź.","ra_You can filter entries by entering here some text":"Możesz filtrować wpisy, wpisując tutaj jakiś tekst","ra_You can use * as wildcard":"Możesz użyć * jako symbolu wieloznacznego",ra___different__:FV,ra_aclEveryone_read_object:HV,ra_aclEveryone_read_state:VV,ra_aclEveryone_write_object:ZV,ra_aclEveryone_write_state:XV,ra_aclGroup_read_object:KV,ra_aclGroup_read_state:qV,ra_aclGroup_write_object:eZ,ra_aclGroup_write_state:tZ,ra_aclOwner_read_object:sZ,ra_aclOwner_read_state:iZ,ra_aclOwner_write_object:rZ,ra_aclOwner_write_state:oZ,ra_buttons:MZ,ra_changedFrom:nZ,ra_close:aZ,ra_create_boolean_state:cZ,ra_create_channel:uZ,ra_create_device:lZ,ra_create_number_state:NZ,ra_create_state:LZ,ra_create_string_state:jZ,ra_daysShortText:gZ,ra_dow_Fr:TZ,ra_dow_Mo:yZ,ra_dow_Sa:DZ,ra_dow_Su:dZ,ra_dow_Th:zZ,ra_dow_Tu:IZ,ra_dow_We:hZ,ra_expertMode:wZ,ra_false:CZ,ra_fileType_all:AZ,ra_fileType_audio:mZ,ra_fileType_code:pZ,ra_fileType_images:OZ,ra_fileType_txt:EZ,ra_fileType_video:_Z,"ra_fileType_video,":"Wideo",ra_filter_customs:fZ,ra_filter_customs_without:SZ,ra_filter_func:xZ,ra_filter_id:kZ,ra_filter_name:YZ,ra_filter_role:QZ,ra_filter_room:UZ,ra_filter_type:vZ,"ra_import data from %s file":"Importuj dane z pliku %s",ra_invalidConfig:bZ,ra_lastChange:$Z,ra_locally:PZ,ra_month_Apr:WZ,ra_month_Aug:RZ,ra_month_Dec:JZ,ra_month_Feb:BZ,ra_month_Jan:GZ,ra_month_Jul:FZ,ra_month_Jun:HZ,ra_month_Mai:VZ,ra_month_Mar:ZZ,ra_month_Nov:XZ,ra_month_Oct:KZ,ra_month_Sep:qZ,ra_months_Apr:eX,ra_months_Aug:tX,ra_months_Dec:sX,ra_months_Feb:iX,ra_months_Jan:rX,ra_months_Jul:oX,ra_months_Jun:MX,ra_months_Mai:nX,ra_months_Mar:aX,ra_months_Nov:cX,ra_months_Oct:uX,ra_months_Sep:lX,"ra_no confirm for 5 mins":"brak potwierdzenia przez 5 minut",ra_none:NX,ra_object_changed_by:LX,ra_object_changed_by_user:jX,ra_otherConfig:gX,ra_qualityCode:TX,ra_repeat:yX,ra_select_folder_hint:DX,ra_show_all:dX,ra_state_changed_by:zX,ra_state_changed_from:IX,ra_timestamp:hX,ra_tooltip_ack:wX,ra_tooltip_comment:CX,ra_tooltip_copyState:AX,ra_tooltip_ctrlForLink:mX,ra_tooltip_customConfig:pX,ra_tooltip_deleteObject:OX,ra_tooltip_editObject:EX,ra_tooltip_editState:_X,ra_tooltip_expire:fX,ra_tooltip_from:SX,ra_tooltip_lc:xX,ra_tooltip_quality:kX,ra_tooltip_ts:YX,ra_tooltip_user:QX,ra_tooltip_value:UX,ra_true:vX,"ra_use seconds":"użyj sekund",ra_val:bX,"ra_via internet":"przez internet",ra_warning_every_minute:$X,ra_warning_every_second:PX,sc_cron:WX,sc_date:RX,sc_dates:JX,sc_dow:BX,sc_dows:GX,sc_every:FX,sc_everyN_dates:HX,sc_everyN_dow:VX,sc_everyN_dows:ZX,sc_everyN_hours:XX,sc_everyN_minutes:KX,sc_everyN_months:qX,sc_everyN_seconds:eK,sc_every_dates:tK,sc_every_dow:sK,sc_every_dows:iK,sc_every_hours:rK,sc_every_minutes:oK,sc_every_months:MK,sc_every_seconds:nK,sc_from:aK,sc_hours:cK,sc_interval:uK,sc_intervalBetween:lK,sc_invalid_cron:NK,sc_minutes:LK,sc_months:jK,sc_once:gK,sc_period:TK,sc_seconds:yK,sc_simple:DK,sc_specific:dK,sc_specific_dates:zK,sc_specific_dow:IK,sc_specific_dows:hK,sc_specific_hours:wK,sc_specific_minutes:CK,sc_specific_months:AK,sc_specific_seconds:mK,sc_time:pK,sc_to:OK,sc_wizard:EK,sch_all:_K,sch_astroDay:fK,sch_astroNight:SK,sch_astro_dawn:xK,sch_astro_dusk:kK,sch_astro_goldenHour:YK,sch_astro_goldenHourEnd:QK,sch_astro_nadir:UK,sch_astro_nauticalDawn:vK,sch_astro_nauticalDusk:bK,sch_astro_night:$K,sch_astro_nightEnd:PK,sch_astro_solarNoon:WK,sch_astro_sunrise:RK,sch_astro_sunriseEnd:JK,sch_astro_sunset:BK,sch_astro_sunsetStart:GK,sch_at:FK,sch_desc_atTime:HK,sch_desc_everyDay:VK,sch_desc_everyHour:ZK,sch_desc_everyMinute:XK,sch_desc_everyMonth:KK,sch_desc_everyNDay:qK,sch_desc_everyNHours:eq,sch_desc_everyNMinutes:tq,sch_desc_everyNMonths:sq,sch_desc_everyNWeeks:iq,sch_desc_everyNYears:rq,sch_desc_everyWeek:oq,sch_desc_everyYear:Mq,sch_desc_intervalFromTo:nq,sch_desc_never:aq,sch_desc_onDate:cq,sch_desc_onDates:uq,sch_desc_onEveryDate:lq,sch_desc_onMonth:Nq,sch_desc_onMonths:Lq,sch_desc_onWeekday:jq,sch_desc_onWeekdays:gq,sch_desc_onWeekends:Tq,sch_desc_onWorkdays:yq,sch_desc_onceInPast:Dq,sch_desc_once_on:dq,sch_desc_validFrom:zq,sch_desc_validFromTo:Iq,sch_desc_validTo:hq,sch_every:wq,sch_exactTime:Cq,sch_from:Aq,sch_fromTo:mq,sch_intervalTime:pq,sch_invert:Oq,sch_no_one:Eq,sch_on:_q,sch_period:fq,sch_periodDaily:Sq,sch_periodDates:xq,sch_periodDay:kq,sch_periodEvery:Yq,sch_periodEveryDay:Qq,sch_periodEveryMonth:Uq,sch_periodEveryWeek:vq,sch_periodEveryYear:bq,sch_periodHours:$q,sch_periodMinutes:Pq,sch_periodMonth:Wq,sch_periodMonthly:Rq,sch_periodOnce:Jq,sch_periodSpecificMonths:Bq,sch_periodWeek:Gq,sch_periodWeekdays:Fq,sch_periodWeekend:Hq,sch_periodWeekly:Vq,sch_periodWorkdays:Zq,sch_periodYear:Xq,sch_periodYearly:Kq,sch_specificTime:qq,sch_time:eee,sch_to:tee,sch_valid:see,sch_validFrom:iee,sch_validTo:ree,sch_wholeDay:oee,sch_yearEveryMonth:Mee},aee="Дії",cee="Додайте",uee="Скасувати",lee="Категорії",Nee="Перевірено",Lee="Видалити",jee="Закрити",gee="Комерційний",Tee="Налаштувати",yee="Підключено",Dee="Продовжити",dee="Скопійовано",zee="Створити",Iee="Урожай",hee="Delete",wee="Видалити",Cee="Відкинути",Aee="Відключено",mee="Помилка",pee="фільтр",Oee="П'ятниця",Eee="Широта",_ee="Вийти",fee="Довгота",See="повідомлення",xee="понеділок",kee="Ім'я",Yee="Об'єкти",Qee="В порядку",Uee="Продукт",vee="Перейменувати/Перемістити/Копіювати",bee="Повторіть",$ee="Замінити",Pee="Корінь",Wee="Субота",Ree="зберегти",Jee="Вибране",Bee="держави",Gee="неділя",Fee="четвер",Hee="Мітка часу",Vee="вівторок",Zee="оновлення",Xee="Дійсний до",Kee="Значення",qee="Версія",ete="Середа",tte="Ширина",ste="Так",ite="інший",rte="Кожен може читати об'єкт",ote="Кожен може читати стан",Mte="Кожен може написати об'єкт",nte="Кожен може написати стан",ate="Група може читати об'єкт",cte="Група може читати стан",ute="Група може писати об'єкт",lte="Група може писати стан",Nte="Власник може читати об'єкт",Lte="Власник може читати стан",jte="Власник може написати об'єкт",gte="Власник може написати стан",Tte="кнопки",yte="Змінено з",Dte="закрити",dte="Створіть логічний стан",zte="Створити канал",Ite="Створити пристрій",hte="Створити номерний стан",wte="Створити состояние",Cte="Створити рядковий стан",Ate="днів",mte="О",pte="пн",Ote="Sa",Ete="Нд",_te="чт",fte="вт",Ste="ми",xte="Експертний режим",kte="НЕПРАВДА",Yte="Всі файли",Qte="Аудіо",Ute="Код/JSON",vte="Зображення",bte="текст",$te="відео",Pte="Налаштування",Wte="без",Rte="функція",Jte="ID",Bte="Ім'я",Gte="Роль",Fte="Кімната",Hte="Тип",Vte="Недійсні налаштування",Zte="Остання зміна",Xte="локально",Kte="квіт",qte="серп",ese="груд",tse="лютий",sse="січня",ise="лип",rse="черв",ose="травень",Mse="березень",nse="Листопад",ase="жовт",cse="вер",use="квіт",lse="серп",Nse="груд",Lse="лютий",jse="січня",gse="лип",Tse="черв",yse="травень",Dse="березень",dse="Листопад",zse="жовт",Ise="вер",hse="немає",wse="Об'єкт змінено",Cse="Об'єкт востаннє змінено о",Ase="Налаштування з іншого адаптера %s",mse="Код якості",pse="повторити",Ose="Щоб вибрати папку, просто клацніть папку, утримуючи клавішу «Shift».",Ese="Показати все",_se="Стан змінено на",fse="Об'єкт змінено з",Sse="Мітка часу",xse="Визнано",kse="коментар",Yse="Скопіюйте значення стану",Qse="Утримуйте клавішу Cltr/⌘, щоб відкрити посилання",Use="Спеціальні налаштування",vse="Видалити об'єкт",bse="Редагувати об'єкт",$se="Відредагуйте значення стану",Pse="Термін дії закінчується через",Wse="Від",Rse="Востаннє змінено",Jse="якість",Bse="Позначка часу",Gse="Користувач",Fse="Значення",Hse="ПРАВДА",Vse="Значення",Zse="Попередження: завдання CRON виконуватиметься щохвилини протягом зазначеного періоду!",Xse="Попередження: завдання CRON виконуватиметься кожну секунду протягом зазначеного періоду!",Kse="CRON",qse="Дата",eie="дати",tie="День",sie="День тижня",iie="кожен",rie="кожні N днів",oie="кожен N-й день тижня",Mie="кожні N днів тижня",nie="кожні N годин",aie="кожні N хвилин",cie="кожні N місяців",uie="кожні N секунд",lie="кожен день",Nie="кожен день тижня",Lie="кожен день тижня",jie="щогодини",gie="кожну хвилину",Tie="щомісяця",yie="кожна секунда",Die="Від",die="години",zie="Інтервал",Iie="Інтервал між",hie="Недійсний CRON",wie="хвилин",Cie="місяців",Aie="Один раз",mie="Крапка",pie="секунд",Oie="просто",Eie="Конкретний час",_ie="конкретні дати",fie="конкретний день (дні) тижня",Sie="конкретний день тижня",xie="конкретні години",kie="конкретні хвилини",Yie="конкретні місяці",Qie="конкретні секунди",Uie="час",vie="до",bie="майстер",$ie="все",Pie="Астродень",Wie="Астро ніч",Rie="Світанок",Jie="Сутінки",Bie="Золота година",Gie="Кінець золотої години",Fie="Надір",Hie="Морський світанок",Vie="Морські сутінки",Zie="ніч",Xie="Кінець ночі",Kie="Сонячний полудень",qie="Схід сонця",ere="Кінець сходу сонця",tre="Захід сонця",sre="Початок заходу сонця",ire="в",rre="в %s",ore="кожен день",Mre="щогодини",nre="кожну хвилину",are="щомісяця",cre="кожен %s день",ure="кожні %s годин",lre="кожні %s хвилин",Nre="кожні %s місяців",Lre="кожні %s тижнів",jre="кожні %s років",gre="щотижня",Tre="щороку",yre="від %s до %s",Dre="ніколи",dre="на %s з %s",zre="на %s і %s з",Ire="на кожну дату",hre="%s",wre="%s і %s",Cre="на %s",Are="на %s і %s",mre="на вихідних",pre="в робочі дні",Ore="більше не виконуватиметься, оскільки запуск у минулому",Ere="на %s",_re="від %s",fre="Виконати від до",Sre="до %s",xre="кожен",kre="Конкретний час",Yre="від",Qre="Від до",Ure="Час інтервалу",vre="інвертувати",bre="немає",$re="на",Pre="Крапка",Wre="Щодня",Rre="дати",Jre="День",Bre="кожен",Gre="Кожен день",Fre="Щомісяця",Hre="Щотижня",Vre="Щороку",Zre="години",Xre="хвилин",Kre="місяць",qre="Щомісяця",eoe="Один раз",toe="Конкретні місяці",soe="тиждень",ioe="будні",roe="Вихідні",ooe="Щотижня",Moe="робочі дні",noe="рік",aoe="щорічно",coe="Конкретний час",uoe="час",loe="до",Noe="Дійсний",Loe="від",joe="до",goe="Цілий день",Toe="щомісяця",yoe={"ra_%s links from aliases":"%s посилань із псевдонімів","ra_%s object(s) processed":"Оброблено %s об’єктів","ra_%s was imported":"%s було імпортовано","ra_Accept license":"Прийняти ліцензію",ra_Actions:aee,"ra_Add new child object to selected parent":"Додати новий дочірній об’єкт до вибраного батьківського","ra_Add objects tree from JSON file":"Додайте дерево об’єктів із файлу JSON","ra_Add row":"Додати рядок","ra_Advanced options":"Розширені опції","ra_All items are filtered out":"Усі елементи відфільтровано","ra_All objects":"Всі об'єкти",ra_Append:cee,"ra_Append %s entries or replace existing?":"Додати %s записів чи замінити наявні?","ra_Append or replace?":"Додати чи замінити?","ra_Are you sure?":"Ти впевнений?","ra_Auto (no custom columns)":"Автоматично (без спеціальних стовпців)","ra_Back to %s":"Назад до %s","ra_Background image":"Фонове зображення",ra_Cancel:uee,"ra_Cannot add items with set filter":"Неможливо додати елементи зі встановленим фільтром","ra_Cannot decode license":"Неможливо розшифрувати ліцензію","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"Неможливо визначити положення: системні налаштування порожні, а визначення GPS вимкнено в браузері",'ra_Cannot find "%s"':'Не вдається знайти "%s"','ra_Cannot read "%s"':'Неможливо прочитати "%s"',"ra_Cannot read licenses: %s":"Неможливо прочитати ліцензії: %s","ra_Cannot retrieve options, as instance is offline":"Неможливо отримати параметри, оскільки екземпляр офлайн","ra_Cannot update attribute, because not found in the object":"Неможливо оновити атрибут, оскільки його не знайдено в об’єкті","ra_Cannot upload":"Неможливо завантажити",ra_Categories:lee,"ra_Chained certificate":"Прикутий сертифікат","ra_Change color theme":"Змінити кольорову тему","ra_Changed from":"Змінено з","ra_Channel → State":"Канал → Стан","ra_Check license":"Перевірити ліцензію",ra_Checked:Nee,ra_Clear:Lee,"ra_Clear filter":"Очистити фільтр","ra_Clear icon":"Очистити значок","ra_Click to show":"Натисніть, щоб показати","ra_Clone current row":"Клонувати поточний рядок",ra_Close:jee,"ra_Collapse all nodes":"Згорнути всі вузли","ra_Collapse one step node":"Згорнути на один рівень",ra_Commercial:gee,ra_Configure:Tee,"ra_Configure visible columns":"Налаштувати видимі стовпці","ra_Confirm deletion of %s":"Підтвердити видалення %s",ra_Connected:yee,ra_Continue:Dee,ra_Copied:dee,"ra_Copied %s":'Скопійовано "%s"',"ra_Copy content":"Скопіюйте вміст",ra_Create:zee,"ra_Create alias":"Створити псевдонім","ra_Create folder":"Створити папку","ra_Create new folder in %s":"Створіть нову папку в %s",ra_Crop:Iee,"ra_Define CRON...":"Визначити CRON...","ra_Define functions":"Визначити функції","ra_Define rooms":"Визначте кімнати","ra_Define schedule":"Визначити розклад","ra_Define schedule...":"Визначити розклад...",ra_Del:hee,ra_Delete:wee,"ra_Delete current row":"Видалити поточний рядок","ra_Deselect all":"Скасувати вибір усіх","ra_Device → Channel → State":"Пристрій → Канал → Стан","ra_Disable/Enable translation":"Вимкнути/Увімкнути переклад",ra_Discard:Cee,ra_Disconnected:Aee,"ra_Do not ask for next 2 hours in this session":"Не запитуйте про наступні 2 години цього сеансу","ra_Do not export values of states":"Не експортуйте значення станів","ra_Do not use let's encrypt":"Не використовуйте let's encrypt","ra_Docker is not available":"Докер недоступний","ra_Docker is not installed or not running":"Docker не встановлено або не працює","ra_Double click to reset table layout":"Двічі клацніть, щоб скинути макет таблиці","ra_Drag 'n' drop some files here, or click to select files":"Перетягніть деякі файли сюди або натисніть, щоб вибрати файли","ra_Drop file here":"Перетягніть файл сюди","ra_Drop the files here...":"Перетягніть файл сюди...","ra_Duplicate name":"Повторюване ім'я","ra_Edit ACL":"Редагувати ACL","ra_Edit alias":"Редагувати псевдонім","ra_Edit custom config":"Редагувати спеціальну конфігурацію","ra_Edit full path":"Редагувати повний шлях","ra_Edit function":"функція редагування","ra_Edit object field":"Поле редагування об'єкта","ra_Edit role":"Редагувати роль","ra_Edit room":"Редагувати кімнату","ra_Edit value":"Редагувати значення","ra_Enter the code from that page here":"Введіть тут код з цієї сторінки",ra_Error:mee,"ra_Expand all nodes":"Розгорнути всі вузли","ra_Expand one step node":"Розгорніть один рівень","ra_Expand/Collapse card":"Розгорнути/Згорнути картку","ra_Export configuration section":"Розділ конфігурації експорту","ra_Export data to %s file":"Експортувати дані у файл %s","ra_Failed to open JSON File":"Не вдалося відкрити файл JSON","ra_Fallback custom certificates":"Запасні спеціальні сертифікати","ra_File is too big. Max %sk allowed. Try use SVG.":"Файл завеликий. Максимально дозволено %sk. Спробуйте використовувати SVG.",ra_Filter:pee,"ra_Filter and Data Actions":"Фільтр і дії з даними","ra_Filter files":"Фільтр файлів","ra_Folder name":"Назва папки","ra_Folder → Channel → State":"Папка → Канал → Стан","ra_Folder → Device → Channel → State":"Папка → Пристрій → Канал → Стан","ra_Folder → State":"Папка → Стан","ra_Folders always first":"Папки завжди першими",ra_Friday:Oee,"ra_From file":"З файлу","ra_From text":"З тексту","ra_Get %s access":"Отримайте доступ %s","ra_Good luck":"Удачі","ra_Hide empty folders":"Приховати порожні папки","ra_If no file will be created in the folder, it will disappear after the browser closed":"Якщо в папці не буде створено файл, він зникне після закриття браузера","ra_If the button above does not work, you can authorize manually this app by visiting this url":"Якщо кнопка вище не працює, ви можете авторизувати цю програму вручну, перейшовши за цим посиланням","ra_Import and add configuration section":"Розділ імпорту та додавання конфігурації","ra_Import and replace configuration section":"Розділ імпорту та заміни конфігурації","ra_Import data from %s file":"Імпортувати дані з файлу %s","ra_Import from %s":"Імпортувати з %s","ra_Instance %s is alive":"Примірник %s живий","ra_Instance %s is not alive":"Примірник %s не живий","ra_Instance is not alive":"Примірник не живий","ra_Invalid CRON":"Недійсний CRON","ra_Invalid JSON":"Недійсний JSON","ra_Invalid JSON file.":"Недійсний JSON-файл.","ra_Invalid JSON format. Expected an array.":"Недійсний формат JSON. Очікується масив.","ra_Invalid answer from server":"Недійсна відповідь від сервера","ra_Invalid parent folder!":"Недійсна батьківська папка!","ra_Invalid structure":"Недійсна структура","ra_JSON editor":"Редактор JSON","ra_Last change":"Остання зміна",ra_Latitude:Eee,"ra_License %s":"Ліцензія %s","ra_License agreement":"Ліцензійна угода","ra_License does not exist":"Ліцензії не існує","ra_License expired on %s":"Термін дії ліцензії закінчився %s",'ra_License for other product "%s"':'Ліцензія на інший продукт "%s"',"ra_License is for version %s, but required version is %s.":"Ліцензія для версії %s, але потрібна версія %s.","ra_License must be converted":"Ліцензію необхідно конвертувати до новішої версії. Ви можете зробити це у своєму профілі на iobroker.net.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"Ліцензія не знайдена в менеджері ліцензій. Хочете оновити ліцензії з iobroker.net?","ra_Listen on all IPs":"Прослуховування на всіх IP","ra_Load configuration from file":"Завантажити конфігурацію з файлу",ra_Logout:_ee,ra_Longitude:fee,'ra_May not trigger "updateLicenses"':'Може не запускати "updateLicenses"',ra_Message:See,ra_Monday:xee,"ra_Move down":"Рухатися вниз","ra_Move up":"Рухатися вгору",ra_Name:kee,"ra_No data found in file":"Немає даних у файлі","ra_No one license found in license manager":"У менеджері ліцензій не знайдено жодної ліцензії","ra_No response from admin":"Немає відповіді від адміністратора","ra_No response from the backend":"Немає відповіді від сервера",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':"Неексперти можуть створювати нові об’єкти лише в «0_userdata.0» або «alias.0».","ra_Not a number":"Не номер",ra_Objects:Yee,ra_Ok:Qee,"ra_On weekdays":"В будні дні","ra_Only following structures of objects are available:":"Доступні тільки такі структури об'єктів:","ra_Only selected":"Тільки обрані","ra_Owner group":"Група власників","ra_Owner user":"Користувач-власник","ra_Passwords are not equal!":"Паролі не бувають рівними!","ra_Place your files here or click here to open the browse dialog":"Розмістіть свої файли тут або натисніть тут, щоб відкрити діалогове вікно перегляду","ra_Please allow popups in your browser for this page!":"Будь ласка, дозвольте спливаючі вікна у вашому браузері для цієї сторінки!","ra_Please confirm":"Будь-ласка підтвердіть","ra_Please create license":"Будь ласка, створіть ліцензію","ra_Please enter the license":"Будь ласка, введіть ліцензію","ra_Please select file...":"Виберіть файл...","ra_Please select object ID...":"Виберіть ідентифікатор об'єкта...","ra_Port could be used by %s":"Порт може використовуватися %s","ra_Port is already used by %s":"Порт уже використовується %s","ra_Press ENTER Key to add new item":"Натисніть клавішу ENTER, щоб додати новий елемент","ra_Private certificate":"Приватний сертифікат",ra_Product:Uee,"ra_Public certificate":"Публічний сертифікат","ra_Quality code":"якість","ra_Refresh tree":"Оновити дерево","ra_Reload files":"Перезавантажте файли",ra_Rename_Move_Copy:vee,"ra_Renew %s access":"Поновити доступ %s",ra_Repeat:bee,ra_Replace:$ee,"ra_Request timed out":"Час запиту вичерпано","ra_Restrict to folder":"Обмежити папкою",ra_Root:Pee,ra_Saturday:Wee,ra_Save:Ree,"ra_Save and close":"Зберегти та закрити","ra_Save configuration to file":"Зберегти конфігурацію у файл","ra_Save objects tree as JSON file":"Зберегти дерево об’єктів як файл JSON","ra_Select all":"Вибрати все","ra_Select color":"Виберіть колір","ra_Select predefined icon":"Виберіть попередньо визначений значок","ra_Select type of export":"Виберіть тип експорту",ra_Selected:Jee,"ra_Selected %s object(s)":"Вибрані об’єкти %s","ra_Serial number (UUID)":"Серійний номер (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':'Серійний номер (UUID) "%s" у ліцензії призначений для іншого пристрою.',"ra_Session will expire in %s seconds. Continue?":"Сеанс закінчиться через %s секунд. Продовжити?","ra_Show all folders":"Показати всі папки","ra_Show lines between rows":"Показувати лінії між рядками","ra_Show/Hide object descriptions":"Показати/Сховати описи об’єктів","ra_Show/hide filter input":"Показати/сховати введення фільтра","ra_Some data are not stored. Discard?":"Деякі дані не зберігаються. Відкинути?",ra_States:Bee,"ra_Successfully authorized. Token valid till %s and will be automatically renewed.":"Авторизацію успішно пройшло. Токен дійсний до %s та буде автоматично поновлено.","ra_Successfully authorized. Token valid till %s but it can expire as the instance is not running.":"Авторизацію успішно виконано. Токен дійсний до %s, але його термін дії може закінчитися, оскільки екземпляр не запущено.","ra_Suitable license not found in license manager":"Відповідна ліцензія не знайдена в менеджері ліцензій",ra_Sunday:Gee,"ra_Suppress question for next %s minutes":"Приховати запитання на наступні %s хвилин","ra_System language":"Системна мова","ra_Take browser position":"Займіть позицію з браузера","ra_Take position from system settings":"Займіть позицію в налаштуваннях системи",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':"Експерти можуть створювати об’єкти всюди, крім другого рівня (наприклад, «vis.0» або «javascript.0»).","ra_The page you are looking for was not found":"Сторінка, яку ви шукаєте, не знайдена","ra_The schedule will be executed every minute. Are you sure?":"Розклад буде виконуватися щохвилини. Ви впевнені?","ra_The schedule will be executed every second. Are you sure?":"Розклад буде виконуватися щосекунди. Ви впевнені?",ra_Thursday:Fee,ra_Timestamp:Hee,"ra_Toggle expert mode":"Перемкнути експертний режим","ra_Toggle the states view":"Перемкнути перегляд штатів","ra_Toggle view mode":"Перемкнути режим перегляду","ra_Too big":"Занадто великий","ra_Too small":"Занадто малий","ra_Transparent dialog":"Прозорий діалог",ra_Tuesday:Vee,"ra_Unknown error":"Невідома помилка","ra_Unknown error!":"Невідома помилка!",ra_Update:Zee,"ra_Upload file":"Завантажити файл","ra_Use all available let's encrypt certificates":"Використовуйте всі доступні сертифікати let's encrypt","ra_Use iobroker.acme adapter for letsencrypt certificates":"Використовуйте адаптер iobroker.acme для сертифікатів letsencrypt","ra_Use system settings for position":"Використовуйте системні налаштування для позиції","ra_Used system settings":"Використані системні налаштування","ra_User files":"Файли користувача",ra_ValidTill:Xee,ra_Value:Kee,ra_Version:qee,"ra_View file":"Переглянути файл","ra_View: %s":"Перегляд: %s",ra_Wednesday:ete,ra_Width:tte,"ra_YAML editor":"Редактор YAML",ra_Yes:ste,"ra_You can export all objects or just the selected branch.":"Ви можете експортувати всі об’єкти або лише вибрану гілку.","ra_You can filter entries by entering here some text":"Ви можете фільтрувати записи, ввівши тут певний текст","ra_You can use * as wildcard":"Ви можете використовувати * як символ підстановки",ra___different__:ite,ra_aclEveryone_read_object:rte,ra_aclEveryone_read_state:ote,ra_aclEveryone_write_object:Mte,ra_aclEveryone_write_state:nte,ra_aclGroup_read_object:ate,ra_aclGroup_read_state:cte,ra_aclGroup_write_object:ute,ra_aclGroup_write_state:lte,ra_aclOwner_read_object:Nte,ra_aclOwner_read_state:Lte,ra_aclOwner_write_object:jte,ra_aclOwner_write_state:gte,ra_buttons:Tte,ra_changedFrom:yte,ra_close:Dte,ra_create_boolean_state:dte,ra_create_channel:zte,ra_create_device:Ite,ra_create_number_state:hte,ra_create_state:wte,ra_create_string_state:Cte,ra_daysShortText:Ate,ra_dow_Fr:mte,ra_dow_Mo:pte,ra_dow_Sa:Ote,ra_dow_Su:Ete,ra_dow_Th:_te,ra_dow_Tu:fte,ra_dow_We:Ste,ra_expertMode:xte,ra_false:kte,ra_fileType_all:Yte,ra_fileType_audio:Qte,ra_fileType_code:Ute,ra_fileType_images:vte,ra_fileType_txt:bte,ra_fileType_video:$te,"ra_fileType_video,":"відео",ra_filter_customs:Pte,ra_filter_customs_without:Wte,ra_filter_func:Rte,ra_filter_id:Jte,ra_filter_name:Bte,ra_filter_role:Gte,ra_filter_room:Fte,ra_filter_type:Hte,"ra_import data from %s file":"Імпортувати дані з файлу %s",ra_invalidConfig:Vte,ra_lastChange:Zte,ra_locally:Xte,ra_month_Apr:Kte,ra_month_Aug:qte,ra_month_Dec:ese,ra_month_Feb:tse,ra_month_Jan:sse,ra_month_Jul:ise,ra_month_Jun:rse,ra_month_Mai:ose,ra_month_Mar:Mse,ra_month_Nov:nse,ra_month_Oct:ase,ra_month_Sep:cse,ra_months_Apr:use,ra_months_Aug:lse,ra_months_Dec:Nse,ra_months_Feb:Lse,ra_months_Jan:jse,ra_months_Jul:gse,ra_months_Jun:Tse,ra_months_Mai:yse,ra_months_Mar:Dse,ra_months_Nov:dse,ra_months_Oct:zse,ra_months_Sep:Ise,"ra_no confirm for 5 mins":"без підтвердження протягом 5 хв",ra_none:hse,ra_object_changed_by:wse,ra_object_changed_by_user:Cse,ra_otherConfig:Ase,ra_qualityCode:mse,ra_repeat:pse,ra_select_folder_hint:Ose,ra_show_all:Ese,ra_state_changed_by:_se,ra_state_changed_from:fse,ra_timestamp:Sse,ra_tooltip_ack:xse,ra_tooltip_comment:kse,ra_tooltip_copyState:Yse,ra_tooltip_ctrlForLink:Qse,ra_tooltip_customConfig:Use,ra_tooltip_deleteObject:vse,ra_tooltip_editObject:bse,ra_tooltip_editState:$se,ra_tooltip_expire:Pse,ra_tooltip_from:Wse,ra_tooltip_lc:Rse,ra_tooltip_quality:Jse,ra_tooltip_ts:Bse,ra_tooltip_user:Gse,ra_tooltip_value:Fse,ra_true:Hse,"ra_use seconds":"використовуйте секунди",ra_val:Vse,"ra_via internet":"через інтернет",ra_warning_every_minute:Zse,ra_warning_every_second:Xse,sc_cron:Kse,sc_date:qse,sc_dates:eie,sc_dow:tie,sc_dows:sie,sc_every:iie,sc_everyN_dates:rie,sc_everyN_dow:oie,sc_everyN_dows:Mie,sc_everyN_hours:nie,sc_everyN_minutes:aie,sc_everyN_months:cie,sc_everyN_seconds:uie,sc_every_dates:lie,sc_every_dow:Nie,sc_every_dows:Lie,sc_every_hours:jie,sc_every_minutes:gie,sc_every_months:Tie,sc_every_seconds:yie,sc_from:Die,sc_hours:die,sc_interval:zie,sc_intervalBetween:Iie,sc_invalid_cron:hie,sc_minutes:wie,sc_months:Cie,sc_once:Aie,sc_period:mie,sc_seconds:pie,sc_simple:Oie,sc_specific:Eie,sc_specific_dates:_ie,sc_specific_dow:fie,sc_specific_dows:Sie,sc_specific_hours:xie,sc_specific_minutes:kie,sc_specific_months:Yie,sc_specific_seconds:Qie,sc_time:Uie,sc_to:vie,sc_wizard:bie,sch_all:$ie,sch_astroDay:Pie,sch_astroNight:Wie,sch_astro_dawn:Rie,sch_astro_dusk:Jie,sch_astro_goldenHour:Bie,sch_astro_goldenHourEnd:Gie,sch_astro_nadir:Fie,sch_astro_nauticalDawn:Hie,sch_astro_nauticalDusk:Vie,sch_astro_night:Zie,sch_astro_nightEnd:Xie,sch_astro_solarNoon:Kie,sch_astro_sunrise:qie,sch_astro_sunriseEnd:ere,sch_astro_sunset:tre,sch_astro_sunsetStart:sre,sch_at:ire,sch_desc_atTime:rre,sch_desc_everyDay:ore,sch_desc_everyHour:Mre,sch_desc_everyMinute:nre,sch_desc_everyMonth:are,sch_desc_everyNDay:cre,sch_desc_everyNHours:ure,sch_desc_everyNMinutes:lre,sch_desc_everyNMonths:Nre,sch_desc_everyNWeeks:Lre,sch_desc_everyNYears:jre,sch_desc_everyWeek:gre,sch_desc_everyYear:Tre,sch_desc_intervalFromTo:yre,sch_desc_never:Dre,sch_desc_onDate:dre,sch_desc_onDates:zre,sch_desc_onEveryDate:Ire,sch_desc_onMonth:hre,sch_desc_onMonths:wre,sch_desc_onWeekday:Cre,sch_desc_onWeekdays:Are,sch_desc_onWeekends:mre,sch_desc_onWorkdays:pre,sch_desc_onceInPast:Ore,sch_desc_once_on:Ere,sch_desc_validFrom:_re,sch_desc_validFromTo:fre,sch_desc_validTo:Sre,sch_every:xre,sch_exactTime:kre,sch_from:Yre,sch_fromTo:Qre,sch_intervalTime:Ure,sch_invert:vre,sch_no_one:bre,sch_on:$re,sch_period:Pre,sch_periodDaily:Wre,sch_periodDates:Rre,sch_periodDay:Jre,sch_periodEvery:Bre,sch_periodEveryDay:Gre,sch_periodEveryMonth:Fre,sch_periodEveryWeek:Hre,sch_periodEveryYear:Vre,sch_periodHours:Zre,sch_periodMinutes:Xre,sch_periodMonth:Kre,sch_periodMonthly:qre,sch_periodOnce:eoe,sch_periodSpecificMonths:toe,sch_periodWeek:soe,sch_periodWeekdays:ioe,sch_periodWeekend:roe,sch_periodWeekly:ooe,sch_periodWorkdays:Moe,sch_periodYear:noe,sch_periodYearly:aoe,sch_specificTime:coe,sch_time:uoe,sch_to:loe,sch_valid:Noe,sch_validFrom:Loe,sch_validTo:joe,sch_wholeDay:goe,sch_yearEveryMonth:Toe},Doe="操作",doe="附加",zoe="取消",Ioe="类别",hoe="勾选",woe="删除",Coe="关",Aoe="商业的",moe="配置",poe="连接的",Ooe="继续",Eoe="复制的",_oe="创建",foe="庄稼",Soe="Delete",xoe="删除",koe="丢弃",Yoe="断开连接",Qoe="错误",Uoe="筛选",voe="星期五",boe="纬度",$oe="登出",Poe="经度",Woe="信息",Roe="周一",Joe="姓名",Boe="对象",Goe="好",Foe="产品",Hoe="重命名/移动/复制",Voe="重复",Zoe="代替",Xoe="根",Koe="周六",qoe="保存",eMe="已选",tMe="状态",sMe="星期日",iMe="周四",rMe="时间戳记",oMe="周二",MMe="更新资料",nMe="有效期至",aMe="值",cMe="版本",uMe="周三",lMe="宽度",NMe="是的",LMe="不同的",jMe="每个人都可以阅读对象",gMe="每个人都可以阅读状态",TMe="每个人都可以写对象",yMe="每个人都可以写状态",DMe="组可以读取对象",dMe="群组可以读取状态",zMe="组可以写对象",IMe="组可以写状态",hMe="所有者可以读取对象",wMe="所有者可以读取状态",CMe="所有者可以写对象",AMe="所有者可以写状态",mMe="纽扣",pMe="更改为",OMe="关闭",EMe="创建布尔状态",_Me="创建频道",fMe="创建设备",SMe="创建号码状态",xMe="创建状态",kMe="创建字符串状态",YMe="天",QMe="r",UMe="莫",vMe="萨",bMe="苏",$Me="Th",PMe="Tu",WMe="我们",RMe="专家模式",JMe="错误的",BMe="所有文件",GMe="声音的",FMe="代码/JSON",HMe="图片",VMe="文本",ZMe="视频",XMe="设定值",KMe="没有",qMe="功能",ene="ID",tne="名称",sne="角色",ine="房间",rne="类型",one="无效的设定",Mne="最后一次变更",nne="本地",ane="4月",cne="八月",une="十二月",lne="二月",Nne="简",Lne="七月",jne="君",gne="迈",Tne="三月",yne="十一月",Dne="十月",dne="九月",zne="4月",Ine="八月",hne="十二月",wne="二月",Cne="简",Ane="七月",mne="君",pne="迈",One="三月",Ene="十一月",_ne="十月",fne="九月",Sne="没有任何",xne="物件变更者",kne="对象上次更改时间为",Yne="来自其他适配器%s的设置",Qne="质量代码",Une="重复",vne="要选择文件夹,只需按住“shift”键单击文件夹即可。",bne="显示全部",$ne="状态由",Pne="对象已从更改",Wne="时间戳记",Rne="致谢国旗",Jne="评论",Bne="复制状态值",Gne="按住 Cltr/⌘ 键打开链接",Fne="自定义设置",Hne="删除物件",Vne="编辑物件",Zne="编辑状态值",Xne="有效期:",Kne="从",qne="最后改变了",eae="质量",tae="时间戳",sae="用户",iae="值",rae="真的",oae="值",Mae="警告:CRON 作业将在指定期间内每分钟运行一次!",nae="警告:CRON 作业将在指定期间内每秒运行一次!",aae="周期任务",cae="日期",uae="日",lae="天",Nae="星期",Lae="每",jae="每N天",gae="每周的第 N 天",Tae="每周N天",yae="每N小时一次",Dae="每N分钟",dae="每N个月",zae="每N秒",Iae="每天",hae="一周的每一天",wae="一周的每一天",Cae="每小时",Aae="每分钟",mae="每月",pae="每秒",Oae="从",Eae="小时",_ae="间隔",fae="间隔时间",Sae="无效的 CRON",xae="分钟",kae="月",Yae="一次",Qae="周期",Uae="秒",vae="简单模式",bae="特定的时间",$ae="特定的日子",Pae="一周中的特定日子",Wae="特定的一周",Rae="特定的小时",Jae="特定的分钟",Bae="特定的月份",Gae="特定的描述",Fae="时间",Hae="至",Vae="向导模式",Zae="全选",Xae="天文白天",Kae="天文夜晚",qae="黎明",ece="黄昏",tce="黄金时段",sce="黄金时段结束",ice="天底",rce="航海黎明",oce="航海黄昏",Mce="夜晚",nce="夜晚结束",ace="正午",cce="日出",uce="日出结束",lce="日落",Nce="日落开始",Lce="在",jce="的%s",gce="每天",Tce="每小时",yce="每分钟",Dce="每月",dce="每%s天",zce="每%s小时",Ice="每%s分钟",hce="每%s月",wce="每%s周",Cce="每%s年",Ace="每周",mce="每年",pce="从%s到%s",Oce="决不",Ece="在%s的%s上",_ce="在%s和%s上",fce="在每天",Sce="%s",xce="%s和%s",kce="在%s上",Yce="在%s和%s上",Qce="在周末",Uce="在工作日",vce="将不再执行,因为起始时间已经是过去的时间了。",bce="在%s上",$ce="来自%s",Pce="从执行到",Wce="到%s",Rce="每",Jce="特定的时间",Bce="从",Gce="从到",Fce="间隔时间",Hce="倒置",Vce="取消全选",Zce="的",Xce="周期",Kce="每天",qce="日期",eue="天",tue="每",sue="每天",iue="每月",rue="每周",oue="每年",Mue="小时",nue="分钟",aue="月",cue="每月一次",uue="一次",lue="特定的月份",Nue="周",Lue="工作日",jue="周末",gue="每周",Tue="工作日",yue="年",Due="每年",due="特定的时间",zue="时间",Iue="至",hue="生效",wue="从",Cue="至",Aue="一整天",mue="每月",pue={"ra_%s links from aliases":"来自别名的 %s 个链接","ra_%s object(s) processed":"已处理%s个对象","ra_%s was imported":"对象已导入","ra_Accept license":"接受许可",ra_Actions:Doe,"ra_Add new child object to selected parent":"将新的子对象添加到选定的父对象","ra_Add objects tree from JSON file":"从JSON文件添加对象树","ra_Add row":"添加行","ra_Advanced options":"高级选项","ra_All items are filtered out":"所有项目都被过滤掉","ra_All objects":"所有对象",ra_Append:doe,"ra_Append %s entries or replace existing?":"追加 %s 条目还是替换现有条目?","ra_Append or replace?":"追加还是替换?","ra_Are you sure?":"你确定吗?","ra_Auto (no custom columns)":"自动(无自定义列)","ra_Back to %s":"返回“%s”","ra_Background image":"背景图像",ra_Cancel:zoe,"ra_Cannot add items with set filter":"无法使用设置过滤器添加项目","ra_Cannot decode license":"无法解码许可证","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"无法确定位置:系统设置为空且浏览器中禁用了 GPS 检测",'ra_Cannot find "%s"':"找不到“%s”",'ra_Cannot read "%s"':"无法阅读“%s”","ra_Cannot read licenses: %s":"无法读取许可证:%s","ra_Cannot retrieve options, as instance is offline":"无法检索选项,因为实例处于脱机状态","ra_Cannot update attribute, because not found in the object":"无法更新属性,因为在对象中找不到","ra_Cannot upload":"无法上传",ra_Categories:Ioe,"ra_Chained certificate":"链式证书","ra_Change color theme":"更改颜色主题","ra_Changed from":"更改为","ra_Channel → State":"频道→状态","ra_Check license":"检查许可证",ra_Checked:hoe,ra_Clear:woe,"ra_Clear filter":"清除筛选","ra_Clear icon":"清除图标","ra_Click to show":"点击显示","ra_Clone current row":"克隆当前行",ra_Close:Coe,"ra_Collapse all nodes":"收合所有节点","ra_Collapse one step node":"折叠一级",ra_Commercial:Aoe,ra_Configure:moe,"ra_Configure visible columns":"配置可见列","ra_Confirm deletion of %s":"确认删除%s",ra_Connected:poe,ra_Continue:Ooe,ra_Copied:Eoe,"ra_Copied %s":'复制的"%s"',"ra_Copy content":"复制内容",ra_Create:_oe,"ra_Create alias":"创建别名","ra_Create folder":"创建文件夹","ra_Create new folder in %s":"在%s中创建新文件夹",ra_Crop:foe,"ra_Define CRON...":"定义 CRON...","ra_Define functions":"定义功能","ra_Define rooms":"定义房间","ra_Define schedule":"定义时间表","ra_Define schedule...":"定义时间表...",ra_Del:Soe,ra_Delete:xoe,"ra_Delete current row":"删除当前行","ra_Deselect all":"全部取消选择","ra_Device → Channel → State":"设备→频道→状态","ra_Disable/Enable translation":"禁用/启用翻译",ra_Discard:koe,ra_Disconnected:Yoe,"ra_Do not ask for next 2 hours in this session":"本次会话中不要询问接下来的 2 个小时","ra_Do not export values of states":"不导出状态值","ra_Do not use let's encrypt":"不要使用让我们加密","ra_Docker is not available":"Docker 不可用","ra_Docker is not installed or not running":"Docker 未安装或未运行","ra_Double click to reset table layout":"双击重置表格布局","ra_Drag 'n' drop some files here, or click to select files":"将一些文件拖放到此处,或单击以选择文件","ra_Drop file here":"将档案放在这里","ra_Drop the files here...":"把文件放在这里...","ra_Duplicate name":"名称重复","ra_Edit ACL":"编辑访问控制列表","ra_Edit alias":"编辑别名","ra_Edit custom config":"编辑自定义配置","ra_Edit full path":"编辑完整路径","ra_Edit function":"编辑功能","ra_Edit object field":"编辑对象字段","ra_Edit role":"编辑角色","ra_Edit room":"编辑室","ra_Edit value":"编辑值","ra_Enter the code from that page here":"在此处输入该页面的代码",ra_Error:Qoe,"ra_Expand all nodes":"展开所有节点","ra_Expand one step node":"扩大一级","ra_Expand/Collapse card":"展开/折叠卡","ra_Export configuration section":"导出配置部分","ra_Export data to %s file":"将数据导出到 %s 文件","ra_Failed to open JSON File":"无法打开JSON文件","ra_Fallback custom certificates":"后备自定义证书","ra_File is too big. Max %sk allowed. Try use SVG.":"文件太大。允许的最大字节%s数。尝试使用 SVG。",ra_Filter:Uoe,"ra_Filter and Data Actions":"过滤和数据操作","ra_Filter files":"过滤文件","ra_Folder name":"文件夹名称","ra_Folder → Channel → State":"文件夹→频道→状态","ra_Folder → Device → Channel → State":"文件夹→设备→频道→状态","ra_Folder → State":"文件夹→状态","ra_Folders always first":"资料夹永远优先",ra_Friday:voe,"ra_From file":"从文件","ra_From text":"文本","ra_Get %s access":"获取 %s 访问权限","ra_Good luck":"祝你好运","ra_Hide empty folders":"隐藏空文件夹","ra_If no file will be created in the folder, it will disappear after the browser closed":"如果在该文件夹中未创建任何文件,则该文件将在浏览器关闭后消失","ra_If the button above does not work, you can authorize manually this app by visiting this url":"如果上面的按钮不起作用,您可以通过访问此网址手动授权此应用","ra_Import and add configuration section":"导入并添加配置部分","ra_Import and replace configuration section":"导入和替换配置部分","ra_Import data from %s file":"从 %s 文件导入数据","ra_Import from %s":"从 %s 导入","ra_Instance %s is alive":"实例 %s 是活动的","ra_Instance %s is not alive":"实例 %s 不存在","ra_Instance is not alive":"实例不存在","ra_Invalid CRON":"无效的 CRON","ra_Invalid JSON":"JSON 无效","ra_Invalid JSON file.":"无效的JSON文件。","ra_Invalid JSON format. Expected an array.":"JSON格式无效。应为数组。","ra_Invalid answer from server":"来自服务器的无效答案","ra_Invalid parent folder!":"父文件夹无效!","ra_Invalid structure":"结构无效","ra_JSON editor":"JSON 编辑器","ra_Last change":"最后一次变更",ra_Latitude:boe,"ra_License %s":"许可证 %s","ra_License agreement":"许可协议","ra_License does not exist":"许可证不存在","ra_License expired on %s":"许可证已于 %s 过期",'ra_License for other product "%s"':"其他产品“%s”的许可证","ra_License is for version %s, but required version is %s.":"许可证适用于版本 %s,但所需版本为 %s。","ra_License must be converted":"许可证必须转换为更新版本。您可以在 iobroker.net 个人资料中执行此操作。","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"在许可证管理器中找不到许可证。您要从 iobroker.net 更新许可证吗?","ra_Listen on all IPs":"监听所有IP","ra_Load configuration from file":"从文件加载配置",ra_Logout:$oe,ra_Longitude:Poe,'ra_May not trigger "updateLicenses"':"可能不会触发“updateLicenses”",ra_Message:Woe,ra_Monday:Roe,"ra_Move down":"下移","ra_Move up":"提升",ra_Name:Joe,"ra_No data found in file":"文件中未找到数据","ra_No one license found in license manager":"许可证管理器中未找到任何许可证","ra_No response from admin":"管理员没有回应","ra_No response from the backend":"后端无响应",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':"非专家只能在“ 0_userdata.0”或“ alias.0”中创建新对象。","ra_Not a number":"不是数字",ra_Objects:Boe,ra_Ok:Goe,"ra_On weekdays":"在工作日","ra_Only following structures of objects are available:":"仅以下对象结构可用:","ra_Only selected":"只选择","ra_Owner group":"所有者组","ra_Owner user":"所有者用户","ra_Passwords are not equal!":"密码不相等!","ra_Place your files here or click here to open the browse dialog":"将文件放在此处或单击此处打开浏览对话框","ra_Please allow popups in your browser for this page!":"请允许浏览器弹出此页面!","ra_Please confirm":"请确认","ra_Please create license":"请创建许可证","ra_Please enter the license":"请输入许可证","ra_Please select file...":"请选择文件...","ra_Please select object ID...":"请选择对象ID ...","ra_Port could be used by %s":"%s 可以使用端口","ra_Port is already used by %s":"端口已被 %s 使用","ra_Press ENTER Key to add new item":"按 ENTER 键添加新项目","ra_Private certificate":"私有证书",ra_Product:Foe,"ra_Public certificate":"公共证书","ra_Quality code":"质量代码","ra_Refresh tree":"刷新树","ra_Reload files":"重新载入文件",ra_Rename_Move_Copy:Hoe,"ra_Renew %s access":"续订 %s 访问权限",ra_Repeat:Voe,ra_Replace:Zoe,"ra_Request timed out":"请求超时","ra_Restrict to folder":"限制到文件夹",ra_Root:Xoe,ra_Saturday:Koe,ra_Save:qoe,"ra_Save and close":"保存并关闭","ra_Save configuration to file":"将配置保存到文件","ra_Save objects tree as JSON file":"将对象树另存为JSON文件","ra_Select all":"全选","ra_Select color":"选择颜色","ra_Select predefined icon":"选择预定义图标","ra_Select type of export":"选择导出类型",ra_Selected:eMe,"ra_Selected %s object(s)":"选定的 %s 个对象","ra_Serial number (UUID)":"序列号 (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':"许可证中的序列号 (UUID)“%s”用于其他设备。","ra_Session will expire in %s seconds. Continue?":"会话将在 %s 秒后过期。是否继续?","ra_Show all folders":"显示所有文件夹","ra_Show lines between rows":"显示行之间的线","ra_Show/Hide object descriptions":"显示/隐藏对象描述","ra_Show/hide filter input":"显示/隐藏过滤器输入","ra_Some data are not stored. Discard?":"部分数据未存储。丢弃?",ra_States:tMe,"ra_Successfully authorized. Token valid till %s and will be automatically renewed.":"授权成功。令牌有效期至 %s,并将自动续订。","ra_Successfully authorized. Token valid till %s but it can expire as the instance is not running.":"授权成功。令牌有效期至 %s,但由于实例未运行,令牌可能会过期。","ra_Suitable license not found in license manager":"在许可证管理器中找不到合适的许可证",ra_Sunday:sMe,"ra_Suppress question for next %s minutes":"在接下来的%s分钟内取消提问","ra_System language":"系统语言","ra_Take browser position":"从浏览器获取位置","ra_Take position from system settings":"从系统设置中获取位置",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':"专家可以在任何地方创建对象,但要从第二层开始(例如“ vis.0”或“ javascript.0”)。","ra_The page you are looking for was not found":"未找到您要查找的页面","ra_The schedule will be executed every minute. Are you sure?":"该计划将每分钟执行一次。您确定吗?","ra_The schedule will be executed every second. Are you sure?":"该计划将每秒执行一次。你确定吗?",ra_Thursday:iMe,ra_Timestamp:rMe,"ra_Toggle expert mode":"切换专家模式","ra_Toggle the states view":"切换状态视图","ra_Toggle view mode":"切换检视模式","ra_Too big":"太大","ra_Too small":"太小","ra_Transparent dialog":"透明对话框",ra_Tuesday:oMe,"ra_Unknown error":"未知错误","ra_Unknown error!":"未知错误!",ra_Update:MMe,"ra_Upload file":"上传文件","ra_Use all available let's encrypt certificates":"使用所有可用的让我们加密证书","ra_Use iobroker.acme adapter for letsencrypt certificates":"使用 iobroker.acme 适配器获取 letsencrypt 证书","ra_Use system settings for position":"使用系统设置定位","ra_Used system settings":"使用的系统设置","ra_User files":"用户档案",ra_ValidTill:nMe,ra_Value:aMe,ra_Version:cMe,"ra_View file":"查看文件","ra_View: %s":"查看:%s",ra_Wednesday:uMe,ra_Width:lMe,"ra_YAML editor":"YAML 编辑器",ra_Yes:NMe,"ra_You can export all objects or just the selected branch.":"您可以导出所有对象或仅导出选定的分支。","ra_You can filter entries by entering here some text":"您可以通过在此处输入一些文本来过滤条目","ra_You can use * as wildcard":"您可以使用 * 作为通配符",ra___different__:LMe,ra_aclEveryone_read_object:jMe,ra_aclEveryone_read_state:gMe,ra_aclEveryone_write_object:TMe,ra_aclEveryone_write_state:yMe,ra_aclGroup_read_object:DMe,ra_aclGroup_read_state:dMe,ra_aclGroup_write_object:zMe,ra_aclGroup_write_state:IMe,ra_aclOwner_read_object:hMe,ra_aclOwner_read_state:wMe,ra_aclOwner_write_object:CMe,ra_aclOwner_write_state:AMe,ra_buttons:mMe,ra_changedFrom:pMe,ra_close:OMe,ra_create_boolean_state:EMe,ra_create_channel:_Me,ra_create_device:fMe,ra_create_number_state:SMe,ra_create_state:xMe,ra_create_string_state:kMe,ra_daysShortText:YMe,ra_dow_Fr:QMe,ra_dow_Mo:UMe,ra_dow_Sa:vMe,ra_dow_Su:bMe,ra_dow_Th:$Me,ra_dow_Tu:PMe,ra_dow_We:WMe,ra_expertMode:RMe,ra_false:JMe,ra_fileType_all:BMe,ra_fileType_audio:GMe,ra_fileType_code:FMe,ra_fileType_images:HMe,ra_fileType_txt:VMe,ra_fileType_video:ZMe,"ra_fileType_video,":"视频",ra_filter_customs:XMe,ra_filter_customs_without:KMe,ra_filter_func:qMe,ra_filter_id:ene,ra_filter_name:tne,ra_filter_role:sne,ra_filter_room:ine,ra_filter_type:rne,"ra_import data from %s file":"从 %s 文件导入数据",ra_invalidConfig:one,ra_lastChange:Mne,ra_locally:nne,ra_month_Apr:ane,ra_month_Aug:cne,ra_month_Dec:une,ra_month_Feb:lne,ra_month_Jan:Nne,ra_month_Jul:Lne,ra_month_Jun:jne,ra_month_Mai:gne,ra_month_Mar:Tne,ra_month_Nov:yne,ra_month_Oct:Dne,ra_month_Sep:dne,ra_months_Apr:zne,ra_months_Aug:Ine,ra_months_Dec:hne,ra_months_Feb:wne,ra_months_Jan:Cne,ra_months_Jul:Ane,ra_months_Jun:mne,ra_months_Mai:pne,ra_months_Mar:One,ra_months_Nov:Ene,ra_months_Oct:_ne,ra_months_Sep:fne,"ra_no confirm for 5 mins":"5分钟内无需确认",ra_none:Sne,ra_object_changed_by:xne,ra_object_changed_by_user:kne,ra_otherConfig:Yne,ra_qualityCode:Qne,ra_repeat:Une,ra_select_folder_hint:vne,ra_show_all:bne,ra_state_changed_by:$ne,ra_state_changed_from:Pne,ra_timestamp:Wne,ra_tooltip_ack:Rne,ra_tooltip_comment:Jne,ra_tooltip_copyState:Bne,ra_tooltip_ctrlForLink:Gne,ra_tooltip_customConfig:Fne,ra_tooltip_deleteObject:Hne,ra_tooltip_editObject:Vne,ra_tooltip_editState:Zne,ra_tooltip_expire:Xne,ra_tooltip_from:Kne,ra_tooltip_lc:qne,ra_tooltip_quality:eae,ra_tooltip_ts:tae,ra_tooltip_user:sae,ra_tooltip_value:iae,ra_true:rae,"ra_use seconds":"用秒",ra_val:oae,"ra_via internet":"通过互联网",ra_warning_every_minute:Mae,ra_warning_every_second:nae,sc_cron:aae,sc_date:cae,sc_dates:uae,sc_dow:lae,sc_dows:Nae,sc_every:Lae,sc_everyN_dates:jae,sc_everyN_dow:gae,sc_everyN_dows:Tae,sc_everyN_hours:yae,sc_everyN_minutes:Dae,sc_everyN_months:dae,sc_everyN_seconds:zae,sc_every_dates:Iae,sc_every_dow:hae,sc_every_dows:wae,sc_every_hours:Cae,sc_every_minutes:Aae,sc_every_months:mae,sc_every_seconds:pae,sc_from:Oae,sc_hours:Eae,sc_interval:_ae,sc_intervalBetween:fae,sc_invalid_cron:Sae,sc_minutes:xae,sc_months:kae,sc_once:Yae,sc_period:Qae,sc_seconds:Uae,sc_simple:vae,sc_specific:bae,sc_specific_dates:$ae,sc_specific_dow:Pae,sc_specific_dows:Wae,sc_specific_hours:Rae,sc_specific_minutes:Jae,sc_specific_months:Bae,sc_specific_seconds:Gae,sc_time:Fae,sc_to:Hae,sc_wizard:Vae,sch_all:Zae,sch_astroDay:Xae,sch_astroNight:Kae,sch_astro_dawn:qae,sch_astro_dusk:ece,sch_astro_goldenHour:tce,sch_astro_goldenHourEnd:sce,sch_astro_nadir:ice,sch_astro_nauticalDawn:rce,sch_astro_nauticalDusk:oce,sch_astro_night:Mce,sch_astro_nightEnd:nce,sch_astro_solarNoon:ace,sch_astro_sunrise:cce,sch_astro_sunriseEnd:uce,sch_astro_sunset:lce,sch_astro_sunsetStart:Nce,sch_at:Lce,sch_desc_atTime:jce,sch_desc_everyDay:gce,sch_desc_everyHour:Tce,sch_desc_everyMinute:yce,sch_desc_everyMonth:Dce,sch_desc_everyNDay:dce,sch_desc_everyNHours:zce,sch_desc_everyNMinutes:Ice,sch_desc_everyNMonths:hce,sch_desc_everyNWeeks:wce,sch_desc_everyNYears:Cce,sch_desc_everyWeek:Ace,sch_desc_everyYear:mce,sch_desc_intervalFromTo:pce,sch_desc_never:Oce,sch_desc_onDate:Ece,sch_desc_onDates:_ce,sch_desc_onEveryDate:fce,sch_desc_onMonth:Sce,sch_desc_onMonths:xce,sch_desc_onWeekday:kce,sch_desc_onWeekdays:Yce,sch_desc_onWeekends:Qce,sch_desc_onWorkdays:Uce,sch_desc_onceInPast:vce,sch_desc_once_on:bce,sch_desc_validFrom:$ce,sch_desc_validFromTo:Pce,sch_desc_validTo:Wce,sch_every:Rce,sch_exactTime:Jce,sch_from:Bce,sch_fromTo:Gce,sch_intervalTime:Fce,sch_invert:Hce,sch_no_one:Vce,sch_on:Zce,sch_period:Xce,sch_periodDaily:Kce,sch_periodDates:qce,sch_periodDay:eue,sch_periodEvery:tue,sch_periodEveryDay:sue,sch_periodEveryMonth:iue,sch_periodEveryWeek:rue,sch_periodEveryYear:oue,sch_periodHours:Mue,sch_periodMinutes:nue,sch_periodMonth:aue,sch_periodMonthly:cue,sch_periodOnce:uue,sch_periodSpecificMonths:lue,sch_periodWeek:Nue,sch_periodWeekdays:Lue,sch_periodWeekend:jue,sch_periodWeekly:gue,sch_periodWorkdays:Tue,sch_periodYear:yue,sch_periodYearly:Due,sch_specificTime:due,sch_time:zue,sch_to:Iue,sch_valid:hue,sch_validFrom:wue,sch_validTo:Cue,sch_wholeDay:Aue,sch_yearEveryMonth:mue},Oue={en:k1,de:JC,ru:eO,pt:lx,nl:IU,fr:f9,it:PR,es:XH,pl:nee,uk:yoe,"zh-cn":pue},Eue=` -html { - height: 100%; -} - -body { - margin: 0; - padding: 0; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - width: 100%; - height: 100%; - overflow: hidden; -} - -/* scrollbar */ -::-webkit-scrollbar-track { - background-color: #ccc; - border-radius: 5px; -} - -::-webkit-scrollbar { - width: 5px; - height: 5px; - background-color: #ccc; -} - -::-webkit-scrollbar-thumb { - background-color: #575757; - border-radius: 5px; -} - -#root { - height: 100%; -} - -.App { - height: 100%; -} - -@keyframes glow { - from { - background-color: initial; - } - to { - background-color: #58c458; - } -} -`;function _ue(){try{return window.self!==window.top}catch{return!0}}class qt extends qs{socket;isIFrame=_ue();instance;adapterName;instanceId;newReact;encryptedFields;sentryDSN;alertDialogRendered;_secret;_systemConfig;savedNative;common=null;sentryStarted=!1;sentryInited=!1;resizeTimer=null;constructor(e,t){const s=e.Connection||(t==null?void 0:t.Connection)||Oe;if(!window.document.getElementById("generic-app-iobroker-component")){const N=window.document.createElement("style");N.setAttribute("id","generic-app-iobroker-component"),N.innerHTML=Eue,window.document.head.appendChild(N)}if(!qt.isWeb()&&window.io&&window.location.port==="3000")try{const N=new window.SocketClient;delete window.io,window.io=N}catch{}super(e),cg();const r=(window.location.search||"").replace(/^\?/,"").replace(/#.*$/,""),o={};r.trim().split("&").filter(N=>N.trim()).forEach(N=>{const c=N.split("=");o[c[0]]=c.length===2?c[1]:!0,o[c[0]]==="true"?o[c[0]]=!0:o[c[0]]==="false"&&(o[c[0]]=!1)}),this.instance=(t==null?void 0:t.instance)??e.instance??(o.instance!==void 0?parseInt(o.instance,10)||0:parseInt(window.location.search.slice(1),10)||0);const M=window.location.pathname.split("/");this.adapterName=(t==null?void 0:t.adapterName)||e.adapterName||window.adapterName||M[M.length-2]||"iot",this.instanceId=`system.adapter.${this.adapterName}.${this.instance}`,this.newReact=o.newReact===!0;const a=qs.getLocation();a.tab=a.tab||(window._localStorage||window.localStorage).getItem(`${this.adapterName}-adapter`)||"";const u=this.createTheme();this.state=Object.assign(this.state||{},{selectedTab:(window._localStorage||window.localStorage).getItem(`${this.adapterName}-adapter`)||"",selectedTabNum:-1,native:{},errorText:"",changed:!1,connected:!1,loaded:!1,isConfigurationError:"",expertMode:!1,toast:"",theme:u,themeName:this.getThemeName(u),themeType:this.getThemeType(u),bottomButtons:(t&&t.bottomButtons)===!1?!1:(e==null?void 0:e.bottomButtons)!==!1,width:qt.getWidth(),confirmClose:!1,_alert:!1,_alertType:"info",_alertMessage:""});const l=Oue;t!=null&&t.translations?Object.keys(t.translations).forEach(N=>{t.translations&&(l[N]=Object.assign(l[N],t.translations[N]||{}))}):e.translations&&Object.keys(e.translations).forEach(N=>{e.translations&&(l[N]=Object.assign(l[N],e.translations[N]||{}))}),D.setTranslations(l),this.savedNative={},this.encryptedFields=e.encryptedFields||(t==null?void 0:t.encryptedFields)||[],this.sentryDSN=t&&t.sentryDSN||e.sentryDSN,window.socketUrl&&(window.socketUrl.startsWith(":")?window.socketUrl=`${window.location.protocol}//${window.location.hostname}${window.socketUrl}`:!window.socketUrl.startsWith("http://")&&!window.socketUrl.startsWith("https://")&&(window.socketUrl=`${window.location.protocol}//${window.socketUrl}`)),this.alertDialogRendered=!1,window.iobOldAlert||(window.iobOldAlert=window.alert),window.alert=N=>{if(!this.alertDialogRendered){window.iobOldAlert(N);return}N!=null&&N.toString().toLowerCase().includes("error")?(console.error(N),this.showAlert(N.toString(),"error")):(console.log(N),this.showAlert(N.toString(),"info"))},this.socket=new s({...(e==null?void 0:e.socket)||(t==null?void 0:t.socket),name:this.adapterName,doNotLoadAllObjects:t==null?void 0:t.doNotLoadAllObjects,onProgress:N=>{N===at.CONNECTING?this.setState({connected:!1}):N===at.READY?this.setState({connected:!0}):this.setState({connected:!0})},onReady:()=>{D.setLanguage(this.socket.systemLang),this.socket.subscribeObject("system.config",this.onSystemConfigChanged).then(()=>this.getSystemConfig()).then(N=>(this._secret=typeof N<"u"&&N.native&&N.native.secret||"Zgfr56gFe87jJOM",this._systemConfig=(N==null?void 0:N.common)||{},this.socket.getObject(this.instanceId))).then(async N=>{var y,d;let c;const L=N,g=((y=await this.socket.getState(`${this.instanceId}.plugins.sentry.enabled`))==null?void 0:y.val)!==!1&&((d=this._systemConfig)==null?void 0:d.diag)!=="none"&&(L==null?void 0:L.common)&&L.common.name&&L.common.version&&!L.common.disableDataReporting&&window.location.host!=="localhost:3000";!this.sentryStarted&&this.sentryDSN&&g&&(this.sentryStarted=!0,ag({dsn:this.sentryDSN,release:`iobroker.${L.common.name}@${L.common.version}`,integrations:[Sc()]}),console.log("Sentry initialized")),!this.sentryInited&&g&&(this.sentryInited=!0,c=this.socket.getObject("system.meta.uuid").then(h=>{h&&h.native&&h.native.uuid&&Lt().setUser({id:h.native.uuid})})),c=c instanceof Promise?c:Promise.resolve(),c.then(()=>{L?(this.common=L==null?void 0:L.common,this.onPrepareLoad(L.native,L.encryptedNative),this.savedNative=JSON.parse(JSON.stringify(L.native)),this.setState({native:L.native,loaded:!0,expertMode:this.getExpertMode()},()=>this.onConnectionReady&&this.onConnectionReady())):(console.warn("Cannot load instance settings"),this.setState({native:{},loaded:!0,expertMode:this.getExpertMode()},()=>this.onConnectionReady&&this.onConnectionReady()))})}).catch(N=>window.alert(`Cannot settings: ${N}`))},onError:N=>{console.error(N),this.showError(N)}})}static isWeb(){return window.socketUrl!==void 0}showAlert(e,t){t!=="error"&&t!=="warning"&&t!=="info"&&t!=="success"&&(t="info"),this.setState({_alert:!0,_alertType:t,_alertMessage:e})}renderAlertSnackbar(){return this.alertDialogRendered=!0,n.createElement(Rr,{style:this.state._alertType==="error"?{backgroundColor:"#f44336"}:this.state._alertType==="success"?{backgroundColor:"#4caf50"}:void 0,open:this.state._alert,autoHideDuration:6e3,onClose:(e,t)=>t!=="clickaway"&&this.setState({_alert:!1}),message:this.state._alertMessage})}onSystemConfigChanged=(e,t)=>{var s,r;t&&e==="system.config"&&(this.socket.systemLang!==(t==null?void 0:t.common.language)&&(this.socket.systemLang=(t==null?void 0:t.common.language)||"en",D.setLanguage(this.socket.systemLang)),((s=this._systemConfig)==null?void 0:s.expertMode)!==!!((r=t==null?void 0:t.common)!=null&&r.expertMode)?(this._systemConfig=(t==null?void 0:t.common)||{},this.setState({expertMode:this.getExpertMode()})):this._systemConfig=(t==null?void 0:t.common)||{})};componentDidMount(){window.addEventListener("resize",this.onResize,!0),window.addEventListener("message",this.onReceiveMessage,!1),super.componentDidMount()}componentWillUnmount(){window.removeEventListener("resize",this.onResize,!0),window.removeEventListener("message",this.onReceiveMessage,!1),window.iobOldAlert&&(window.alert=window.iobOldAlert,delete window.iobOldAlert),super.componentWillUnmount()}onReceiveMessage=e=>{if(e!=null&&e.data)if(e.data==="updateTheme"){const t=E.getThemeName();E.setThemeName(E.getThemeName());const s=this.createTheme(t);this.setState({theme:s,themeName:this.getThemeName(s),themeType:this.getThemeType(s)},()=>{this.props.onThemeChange&&this.props.onThemeChange(t),this.onThemeChanged&&this.onThemeChanged(t)})}else e.data==="updateExpertMode"?this.onToggleExpertMode&&this.onToggleExpertMode(this.getExpertMode()):e.data!=="chartReady"&&console.debug(`Received unknown message: "${JSON.stringify(e.data)}". May be it will be processed later`)};onResize=()=>{this.resizeTimer&&clearTimeout(this.resizeTimer),this.resizeTimer=setTimeout(()=>{this.resizeTimer=null,this.setState({width:qt.getWidth()})},200)};static getWidth(){const e={xs:0,sm:600,md:960,lg:1280,xl:1920},t=window.innerWidth;return Object.keys(e).reverse().find(o=>t>=e[o])||"xs"}createTheme(e){return uN(E.getThemeName(e))}getThemeName(e){return e.name}getThemeType(e){return e.palette.mode}onThemeChanged(e){}onToggleExpertMode(e){}toggleTheme(e){const t=this.state.themeName;if(e=e||(t==="dark"||t==="blue"||t==="colored"?"light":"dark"),e!==t){E.setThemeName(e);const s=this.createTheme(e);this.setState({theme:s,themeName:this.getThemeName(s),themeType:this.getThemeType(s)},()=>{this.props.onThemeChange&&this.props.onThemeChange(e||"light"),this.onThemeChanged&&this.onThemeChanged(e||"light")})}}getSystemConfig(){return this.socket.getSystemConfig()}getExpertMode(){var e;return window.sessionStorage.getItem("App.expertMode")==="true"||!!((e=this._systemConfig)!=null&&e.expertMode)}onConnectionReady(){}encrypt(e){let t="";if(this._secret)for(let s=0;s{e[s]&&(e[s]=this.encrypt(e[s]))}),!0}onPrepareLoad(e,t){var s;(s=this.encryptedFields)==null||s.forEach(r=>{e[r]&&(e[r]=this.decrypt(e[r]))}),t==null||t.forEach(r=>{this.encryptedFields=this.encryptedFields||[],!this.encryptedFields.includes(r)&&this.encryptedFields.push(r),e[r]&&(e[r]=this.decrypt(e[r]))})}async getExtendableInstances(){try{const e=await this.socket.getObjectViewSystem("instance","system.adapter.","system.adapter.香");return Object.values(e).filter(t=>{var s;return!!((s=t==null?void 0:t.common)!=null&&s.webExtendable)})}catch{return[]}}async getIpAddresses(e){var o;const t=await this.socket.getHostByIp(e||((o=this.common)==null?void 0:o.host)||""),s=t.find(M=>M.address==="0.0.0.0");s&&(s.name=`[IPv4] 0.0.0.0 - ${D.t("ra_Listen on all IPs")}`);const r=t.find(M=>M.address==="::");return r&&(r.name=`[IPv4] :: - ${D.t("ra_Listen on all IPs")}`),t}onSave(e){let t;if(this.state.isConfigurationError){this.setState({errorText:this.state.isConfigurationError});return}this.socket.getObject(this.instanceId).then(s=>{t=s||{};for(const r in this.state.native)Object.prototype.hasOwnProperty.call(this.state.native,r)&&(this.state.native[r]===null?t.native[r]=null:this.state.native[r]!==void 0?t.native[r]=JSON.parse(JSON.stringify(this.state.native[r])):delete t.native[r]);if(this.state.common)for(const r in this.state.common)this.state.common[r]===null?t.common[r]=null:this.state.common[r]!==void 0?t.common[r]=JSON.parse(JSON.stringify(this.state.common[r])):delete t.common[r];return this.onPrepareSave(t.native)!==!1?this.socket.setObject(this.instanceId,t):Promise.reject(new Error("Invalid configuration"))}).then(()=>{this.savedNative=t.native,globalThis.changed=!1;try{window.parent.postMessage("nochange","*")}catch{}this.setState({changed:!1},()=>{e&&qt.onClose()})}).catch(s=>console.error(`Cannot save configuration: ${s}`))}renderToast(){return this.state.toast?n.createElement(Rr,{anchorOrigin:{vertical:"bottom",horizontal:"left"},open:!0,autoHideDuration:6e3,onClose:()=>this.setState({toast:""}),ContentProps:{"aria-describedby":"message-id"},message:n.createElement("span",{id:"message-id"},this.state.toast),action:[n.createElement(P,{key:"close","aria-label":"Close",color:"inherit",onClick:()=>this.setState({toast:""}),size:"large"},n.createElement(ge,null))]}):null}static onClose(){if(typeof window.parent<"u"&&window.parent)try{window.parent.$iframeDialog&&typeof window.parent.$iframeDialog.close=="function"?window.parent.$iframeDialog.close():window.parent.postMessage("close","*")}catch{window.parent.postMessage("close","*")}}renderError(){return this.state.errorText?n.createElement(Rc,{text:this.state.errorText,onClose:()=>this.setState({errorText:""})}):null}getIsChanged(e){e=e||this.state.native;const t=JSON.stringify(e)!==JSON.stringify(this.savedNative);return globalThis.changed=t,t}onLoadConfig(e){JSON.stringify(e)!==JSON.stringify(this.state.native)&&this.setState({native:e,changed:this.getIsChanged(e)})}setConfigurationError(e){this.state.isConfigurationError!==e&&this.setState({isConfigurationError:e})}renderSaveCloseButtons(){return!this.state.confirmClose&&!this.state.bottomButtons?null:n.createElement(n.Fragment,null,this.state.bottomButtons?n.createElement(Cg,{theme:this.state.theme,newReact:this.newReact,noTextOnButtons:this.state.width==="xs"||this.state.width==="sm"||this.state.width==="md",changed:this.state.changed,onSave:e=>this.onSave(e),onClose:()=>{this.state.changed?this.setState({confirmClose:!0}):qt.onClose()},error:!!this.state.isConfigurationError}):null,this.state.confirmClose?n.createElement(Wc,{title:D.t("ra_Please confirm"),text:D.t("ra_Some data are not stored. Discard?"),ok:D.t("ra_Discard"),cancel:D.t("ra_Cancel"),onClose:e=>this.setState({confirmClose:!1},()=>e&&qt.onClose())}):null)}_updateNativeValue(e,t,s){typeof t!="object"&&(t=t.split("."));const r=t.shift()||"";if(!t.length)return s&&typeof s=="object"?JSON.stringify(e[r])!==JSON.stringify(s)?(e[r]=s,!0):!1:e[r]!==s?(e[r]=s,!0):!1;if(e[r]=e[r]||{},typeof e[r]!="object")throw new Error(`attribute ${r} is no object, but ${typeof e[r]}`);return this._updateNativeValue(e[r],t,s)}updateNativeValue(e,t,s){const r=JSON.parse(JSON.stringify(this.state.native));if(this._updateNativeValue(r,e,t)){const o=this.getIsChanged(r);if(o!==this.state.changed)try{window.parent.postMessage(o?"change":"nochange","*")}catch{}this.setState({native:r,changed:o},s)}}showError(e){this.setState({errorText:e})}showToast(e){this.setState({toast:e})}renderHelperDialogs(){return n.createElement(n.Fragment,null,this.renderError(),this.renderToast(),this.renderSaveCloseButtons(),this.renderAlertSnackbar())}render(){return this.state.loaded?n.createElement("div",{className:"App"},this.renderError(),this.renderToast(),this.renderSaveCloseButtons(),this.renderAlertSnackbar()):n.createElement(Dg,{themeType:this.state.themeType})}}const et={color:{width:36,height:14,borderRadius:2},delButton:{marginTop:16},swatch:{mt:"16px",p:"5px",backgroundColor:"background.paper",borderRadius:"1px",boxShadow:"0 0 0 1px rgba(0,0,0,.1)",display:"inline-block",cursor:"pointer",verticalAlign:"middle"},swatchDisabled:{opacity:.5,cursor:"default"},popover:{"& .MuiPaper-root":{textAlign:"right",backgroundColor:"#00000000",boxShadow:"none"}},popoverList:{padding:0},closeButton:i=>({backgroundColor:`${i.palette.background.paper} !important`,borderRadius:"0 0 25% 25%","&:hover":{backgroundColor:`${i.palette.secondary.main} !important`}}),textDense:{mt:0,mb:0},iconButton:{width:16,height:16},button:{width:32,height:32,minWidth:32,minHeight:32}};class Vs extends ze{constructor(e){super(e),this.state={displayColorPicker:!1,color:this.props.value||this.props.color||"",anchorEl:null}}handleClick=e=>{this.setState({displayColorPicker:!this.state.displayColorPicker,anchorEl:this.state.displayColorPicker?null:e.currentTarget})};handleClose=()=>{this.setState({displayColorPicker:!1,anchorEl:null})};static getColor(e,t){if(e&&typeof e=="object"){const s=e;if(s.rgb)return t?`#${s.rgb.r.toString(16).padStart(2,"0")}${s.rgb.g.toString(16).padStart(2,"0")}${s.rgb.b.toString(16).padStart(2,"0")}`:`rgba(${s.rgb.r},${s.rgb.g},${s.rgb.b},${s.rgb.a})`;const r=e;return t?`#${r.r.toString(16).padStart(2,"0")}${r.g.toString(16).padStart(2,"0")}${r.b.toString(16).padStart(2,"0")}`:`rgba(${r.r},${r.g},${r.b},${r.a})`}return typeof e=="string"?t?Vs.rgb2hex(e||""):e||"":""}static rgb2hex(e){const t=e.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i);if(t){const s=parseInt(t[1],10).toString(16).padStart(2,"0"),r=parseInt(t[2],10).toString(16).padStart(2,"0"),o=parseInt(t[3],10).toString(16).padStart(2,"0");return(t==null?void 0:t.length)===4?`#${s}${r}${o}`:e}return e}handleChange=e=>{this.setState({color:e},()=>this.props.onChange&&this.props.onChange(Vs.getColor(e)))};componentDidUpdate(e,t){const s=Vs.getColor(this.props.color||this.props.value||"");s!==t.color&&this.setState({color:s})}renderCustomPalette(){return this.props.customPalette?n.createElement("div",{style:{width:"100%",display:"flex",flexWrap:"wrap"}},this.props.customPalette.map(e=>n.createElement(X,{style:et.button,key:e,onClick:()=>{this.handleChange(e),setTimeout(()=>this.handleClose(),300)}},n.createElement("div",{style:{...et.iconButton,background:e}})))):null}render(){var s;const e={...this.props.style||{}};e.position="relative";const{color:t}=this.state;return n.createElement(W,{component:"div",style:e,sx:this.props.sx||void 0,className:this.props.className||""},this.props.noInputField?null:n.createElement(le,{disabled:this.props.disabled,variant:"standard",id:"ar_color_picker_name",label:this.props.label||this.props.name,value:t||"",margin:"dense",sx:{"&.MuiFormControl-root":et.textDense,width:t?"calc(100% - 80px)":"calc(100% - 56px)",mr:t?void 0:1},onChange:r=>this.handleChange(r.target.value)}),!this.props.noInputField&&t?n.createElement(P,{disabled:this.props.disabled,onClick:()=>this.handleChange(""),size:"small",style:this.props.label||this.props.name?et.delButton:void 0},n.createElement(ut,null)):null,n.createElement(W,{component:"div",onClick:r=>!this.props.disabled&&this.handleClick(r),title:D.t("ra_Select color"),sx:{...et.swatch,...this.props.disabled?et.swatchDisabled:void 0,background:t?void 0:"transparent",border:t?void 0:"1px dashed #ccc",boxSizing:"border-box",marginTop:this.props.noInputField||!(this.props.label||this.props.name)?0:void 0}},n.createElement("div",{style:{...et.color,background:Vs.getColor(t),width:this.props.noInputField?this.props.barWidth||16:this.props.barWidth||36}})),this.state.displayColorPicker&&!this.props.disabled?n.createElement(ss,{sx:{...et.popover,"&. MuiMenu-list":et.popoverList},anchorEl:this.state.anchorEl,open:!0,onClose:()=>this.handleClose()},n.createElement(rN,{color:this.state.color||void 0,onChangeComplete:r=>this.handleChange(r.rgb),styles:{default:{picker:{backgroundColor:((s=this.props.theme)==null?void 0:s.palette.background.paper)||"#888"}}}}),t&&this.props.noInputField?n.createElement(P,{sx:et.closeButton,onClick:()=>this.handleChange("")},n.createElement(ut,null)):null,n.createElement(P,{sx:et.closeButton,onClick:()=>this.handleClose()},n.createElement(ge,null)),this.renderCustomPalette()):null)}}var Jc={exports:{}};(function(i,e){(function(s,r){i.exports=r()})(globalThis,()=>(()=>{var t={949(M,a,u){Object.defineProperty(a,"__esModule",{value:!0}),a.CronParser=void 0;var l=u(515),N=(function(){function c(L,j,g){j===void 0&&(j=!0),g===void 0&&(g=!1),this.expression=L,this.dayOfWeekStartIndexZero=j,this.monthStartIndexZero=g}return c.prototype.parse=function(){var L,j,g=(L=this.expression)!==null&&L!==void 0?L:"";if(g==="@reboot")return j=["@reboot","","","","","",""],j;if(g.startsWith("@")){var y=this.parseSpecial(this.expression);j=this.extractParts(y)}else j=this.extractParts(this.expression);return this.normalize(j),this.validate(j),j},c.prototype.parseSpecial=function(L){var j={"@yearly":"0 0 1 1 *","@annually":"0 0 1 1 *","@monthly":"0 0 1 * *","@weekly":"0 0 * * 0","@daily":"0 0 * * *","@midnight":"0 0 * * *","@hourly":"0 * * * *","@reboot":"@reboot"},g=j[L];if(!g)throw new Error("Unknown special expression.");return g},c.prototype.extractParts=function(L){if(!this.expression)throw new Error("cron expression is empty");for(var j=L.trim().split(/[ ]+/),g=0;g7)throw new Error("Expression has ".concat(j.length," parts; too many!"));return j},c.prototype.normalize=function(L){var j=this;if(L[3]=L[3].replace("?","*"),L[5]=L[5].replace("?","*"),L[2]=L[2].replace("?","*"),L[0].indexOf("0/")==0&&(L[0]=L[0].replace("0/","*/")),L[1].indexOf("0/")==0&&(L[1]=L[1].replace("0/","*/")),L[2].indexOf("0/")==0&&(L[2]=L[2].replace("0/","*/")),L[3].indexOf("1/")==0&&(L[3]=L[3].replace("1/","*/")),L[4].indexOf("1/")==0&&(L[4]=L[4].replace("1/","*/")),L[6].indexOf("1/")==0&&(L[6]=L[6].replace("1/","*/")),L[5]=L[5].replace(/(^\d)|([^#/\s]\d)/g,function(A){var I=A.replace(/\D/,""),p=I;return j.dayOfWeekStartIndexZero?I=="7"&&(p="0"):p=(parseInt(I)-1).toString(),A.replace(I,p)}),L[5]=="L"&&(L[5]="6"),L[3]=="?"&&(L[3]="*"),L[3].indexOf("W")>-1&&(L[3].indexOf(",")>-1||L[3].indexOf("-")>-1))throw new Error("The 'W' character can be specified only when the day-of-month is a single day, not a range or list of days.");var g={SUN:0,MON:1,TUE:2,WED:3,THU:4,FRI:5,SAT:6};for(var y in g)L[5]=L[5].replace(new RegExp(y,"gi"),g[y].toString());L[4]=L[4].replace(/(^\d{1,2})|([^#/\s]\d{1,2})/g,function(A){var I=A.replace(/\D/,""),p=I;return j.monthStartIndexZero&&(p=(parseInt(I)+1).toString()),A.replace(I,p)});var d={JAN:1,FEB:2,MAR:3,APR:4,MAY:5,JUN:6,JUL:7,AUG:8,SEP:9,OCT:10,NOV:11,DEC:12};for(var h in d)L[4]=L[4].replace(new RegExp(h,"gi"),d[h].toString());L[0]=="0"&&(L[0]=""),!/\*|\-|\,|\//.test(L[2])&&(/\*|\//.test(L[1])||/\*|\//.test(L[0]))&&(L[2]+="-".concat(L[2]));for(var m=0;m-1&&!/^\*|\-|\,/.test(L[m])){var w=null;switch(m){case 4:w="12";break;case 5:w="6";break;case 6:w="9999";break;default:w=null;break}if(w!==null){var O=L[m].split("/");L[m]="".concat(O[0],"-").concat(w,"/").concat(O[1])}}},c.prototype.validate=function(L){var j="0-9,\\-*/";this.validateOnlyExpectedCharactersFound(L[0],j),this.validateOnlyExpectedCharactersFound(L[1],j),this.validateOnlyExpectedCharactersFound(L[2],j),this.validateOnlyExpectedCharactersFound(L[3],"0-9,\\-*/LW"),this.validateOnlyExpectedCharactersFound(L[4],j),this.validateOnlyExpectedCharactersFound(L[5],"0-9,\\-*/L#"),this.validateOnlyExpectedCharactersFound(L[6],j),this.validateAnyRanges(L)},c.prototype.validateAnyRanges=function(L){l.default.secondRange(L[0]),l.default.minuteRange(L[1]),l.default.hourRange(L[2]),l.default.dayOfMonthRange(L[3]),l.default.monthRange(L[4],this.monthStartIndexZero),l.default.dayOfWeekRange(L[5],this.dayOfWeekStartIndexZero)},c.prototype.validateOnlyExpectedCharactersFound=function(L,j){var g=L.match(new RegExp("[^".concat(j,"]+"),"gi"));if(g&&g.length)throw new Error("Expression contains invalid values: '".concat(g.toString(),"'"))},c})();a.CronParser=N},333(M,a,u){Object.defineProperty(a,"__esModule",{value:!0}),a.ExpressionDescriptor=void 0;var l=u(823),N=u(949),c=(function(){function L(j,g){if(this.expression=j,this.options=g,this.expressionParts=new Array(5),!this.options.locale&&L.defaultLocale&&(this.options.locale=L.defaultLocale),!L.locales[this.options.locale]){var y=Object.keys(L.locales)[0];console.warn("Locale '".concat(this.options.locale,"' could not be found; falling back to '").concat(y,"'.")),this.options.locale=y}this.i18n=L.locales[this.options.locale],g.use24HourTimeFormat===void 0&&(g.use24HourTimeFormat=this.i18n.use24HourTimeFormatByDefault())}return L.toString=function(j,g){var y=g===void 0?{}:g,d=y.throwExceptionOnParseError,h=d===void 0?!0:d,m=y.verbose,w=m===void 0?!1:m,O=y.dayOfWeekStartIndexZero,A=O===void 0?!0:O,I=y.monthStartIndexZero,p=I===void 0?!1:I,S=y.use24HourTimeFormat,f=y.trimHoursLeadingZero,$=f===void 0?!1:f,x=y.locale,Z=x===void 0?null:x,k=y.logicalAndDayFields,Y=k===void 0?!1:k,J={throwExceptionOnParseError:h,verbose:w,dayOfWeekStartIndexZero:A,monthStartIndexZero:p,use24HourTimeFormat:S,trimHoursLeadingZero:$,locale:Z,logicalAndDayFields:Y};J.tzOffset&&console.warn("'tzOffset' option has been deprecated and is no longer supported.");var Le=new L(j,J);return Le.getFullDescription()},L.initialize=function(j,g){g===void 0&&(g="en"),L.specialCharacters=["/","-",",","*"],L.defaultLocale=g,j.load(L.locales)},L.prototype.getFullDescription=function(){var j,g,y="";try{var d=new N.CronParser(this.expression,this.options.dayOfWeekStartIndexZero,this.options.monthStartIndexZero);if(this.expressionParts=d.parse(),this.expressionParts[0]==="@reboot")return((g=(j=this.i18n).atReboot)===null||g===void 0?void 0:g.call(j))||"Run once, at startup";var h=this.getTimeOfDayDescription(),m=this.getDayOfMonthDescription(),w=this.getMonthDescription(),O=this.getDayOfWeekDescription(),A=this.getYearDescription();y+=h+m+O+w+A,y=this.transformVerbosity(y,!!this.options.verbose),y=y.charAt(0).toLocaleUpperCase()+y.substr(1)}catch(I){if(!this.options.throwExceptionOnParseError)y=this.i18n.anErrorOccuredWhenGeneratingTheExpressionD();else throw"".concat(I)}return y},L.prototype.getTimeOfDayDescription=function(){var j=this.expressionParts[0],g=this.expressionParts[1],y=this.expressionParts[2],d="";if(!l.StringUtilities.containsAny(g,L.specialCharacters)&&!l.StringUtilities.containsAny(y,L.specialCharacters)&&!l.StringUtilities.containsAny(j,L.specialCharacters))d+=this.i18n.atSpace()+this.formatTime(y,g,j);else if(!j&&g.indexOf("-")>-1&&!(g.indexOf(",")>-1)&&!(g.indexOf("/")>-1)&&!l.StringUtilities.containsAny(y,L.specialCharacters)){var h=g.split("-");d+=l.StringUtilities.format(this.i18n.everyMinuteBetweenX0AndX1(),this.formatTime(y,h[0],""),this.formatTime(y,h[1],""))}else if(!j&&y.indexOf(",")>-1&&y.indexOf("-")==-1&&y.indexOf("/")==-1&&!l.StringUtilities.containsAny(g,L.specialCharacters)){var m=y.split(",");d+=this.i18n.at();for(var w=0;w-1?m=d.substring(0,d.indexOf("#")):d.indexOf("L")>-1&&(m=m.replace("L",""));var w=parseInt(m),O=j.i18n.daysOfTheWeekInCase?j.i18n.daysOfTheWeekInCase(h)[w]:g[w];if(d.indexOf("#")>-1){var A=null,I=d.substring(d.indexOf("#")+1),p=d.substring(0,d.indexOf("#"));switch(I){case"1":A=j.i18n.first(p);break;case"2":A=j.i18n.second(p);break;case"3":A=j.i18n.third(p);break;case"4":A=j.i18n.fourth(p);break;case"5":A=j.i18n.fifth(p);break}O=A+" "+O}return O},function(d){return parseInt(d)==1?"":l.StringUtilities.format(j.i18n.commaEveryX0DaysOfTheWeek(d),d)},function(d){var h=d.substring(0,d.indexOf("-")),m=j.expressionParts[3]!="*";return m?j.i18n.commaAndX0ThroughX1(h):j.i18n.commaX0ThroughX1(h)},function(d){var h=null;if(d.indexOf("#")>-1){var m=d.substring(d.indexOf("#")+1),w=d.substring(0,d.indexOf("#"));h=j.i18n.commaOnThe(m,w).trim()+j.i18n.spaceX0OfTheMonth()}else if(d.indexOf("L")>-1)h=j.i18n.commaOnTheLastX0OfTheMonth(d.replace("L",""));else{var O=j.expressionParts[3]!="*";O?j.options.logicalAndDayFields?h=j.i18n.commaOnlyOnX0(d):h=j.i18n.commaAndOnX0():h=j.i18n.commaOnlyOnX0(d)}return h}),y},L.prototype.getMonthDescription=function(){var j=this,g=this.i18n.monthsOfTheYear(),y=this.getSegmentDescription(this.expressionParts[4],"",function(d,h){return h&&j.i18n.monthsOfTheYearInCase?j.i18n.monthsOfTheYearInCase(h)[parseInt(d)-1]:g[parseInt(d)-1]},function(d){return parseInt(d)==1?"":l.StringUtilities.format(j.i18n.commaEveryX0Months(d),d)},function(d){return j.i18n.commaMonthX0ThroughMonthX1()||j.i18n.commaX0ThroughX1()},function(d){return j.i18n.commaOnlyInMonthX0?j.i18n.commaOnlyInMonthX0():j.i18n.commaOnlyInX0()});return y},L.prototype.getDayOfMonthDescription=function(){var j=this,g=null,y=this.expressionParts[3];switch(y){case"L":g=this.i18n.commaOnTheLastDayOfTheMonth();break;case"WL":case"LW":g=this.i18n.commaOnTheLastWeekdayOfTheMonth();break;default:var d=y.match(/(\d{1,2}W)|(W\d{1,2})/);if(d){var h=parseInt(d[0].replace("W","")),m=h==1?this.i18n.firstWeekday():l.StringUtilities.format(this.i18n.weekdayNearestDayX0(),h.toString());g=l.StringUtilities.format(this.i18n.commaOnTheX0OfTheMonth(),m);break}else{var w=y.match(/L-(\d{1,2})/);if(w){var O=w[1];g=l.StringUtilities.format(this.i18n.commaDaysBeforeTheLastDayOfTheMonth(O),O);break}else{if(y=="*"&&this.expressionParts[5]!="*")return"";g=this.getSegmentDescription(y,this.i18n.commaEveryDay(),function(A){return A=="L"?j.i18n.lastDay():j.i18n.dayX0?l.StringUtilities.format(j.i18n.dayX0(),A):A},function(A){return A=="1"?j.i18n.commaEveryDay():j.i18n.commaEveryX0Days(A)},function(A){return j.i18n.commaBetweenDayX0AndX1OfTheMonth(A)},function(A){return j.i18n.commaOnDayX0OfTheMonth(A)})}break}}return g},L.prototype.getYearDescription=function(){var j=this,g=this.getSegmentDescription(this.expressionParts[6],"",function(y){return/^\d+$/.test(y)?new Date(parseInt(y),1).getFullYear().toString():y},function(y){return l.StringUtilities.format(j.i18n.commaEveryX0Years(y),y)},function(y){return j.i18n.commaYearX0ThroughYearX1()||j.i18n.commaX0ThroughX1()},function(y){return j.i18n.commaOnlyInYearX0?j.i18n.commaOnlyInYearX0():j.i18n.commaOnlyInX0()});return g},L.prototype.getSegmentDescription=function(j,g,y,d,h,m){var w=null,O=j.indexOf("/")>-1,A=j.indexOf("-")>-1,I=j.indexOf(",")>-1;if(!j)w="";else if(j==="*")w=g;else if(!O&&!A&&!I)w=l.StringUtilities.format(m(j),y(j));else if(I){for(var p=j.split(","),S="",f=0;f0&&p.length>2&&(S+=",",f0&&p.length>1&&(f==p.length-1||p.length==2)&&(S+="".concat(this.i18n.spaceAnd()," ")),p[f].indexOf("/")>-1||p[f].indexOf("-")>-1){var $=p[f].indexOf("-")>-1&&p[f].indexOf("/")==-1,x=this.getSegmentDescription(p[f],g,y,d,$?this.i18n.commaX0ThroughX1:h,m);$&&(x=x.replace(", ","")),S+=x}else if(!O)S+=y(p[f]);else{var Z=this.getSegmentDescription(p[f],g,y,d,h,m);Z&&Z.startsWith(", ")&&(Z=Z.substring(2)),S+=Z}O?w=S:w=l.StringUtilities.format(m(j),S)}else if(O){var p=j.split("/");if(w=l.StringUtilities.format(d(p[1]),p[1]),p[0].indexOf("-")>-1){var k=this.generateRangeSegmentDescription(p[0],h,y);k.indexOf(", ")!=0&&(w+=", "),w+=k}else if(p[0].indexOf("*")==-1){var Y=l.StringUtilities.format(m(p[0]),y(p[0]));Y=Y.replace(", ",""),w+=l.StringUtilities.format(this.i18n.commaStartingX0(),Y)}}else A&&(w=this.generateRangeSegmentDescription(j,h,y));return w},L.prototype.generateRangeSegmentDescription=function(j,g,y){var d="",h=j.split("-"),m=y(h[0],1),w=y(h[1],2),O=g(j);return d+=l.StringUtilities.format(O,m,w),d},L.prototype.formatTime=function(j,g,y){var d=0,h=0,m=parseInt(j)+d,w=parseInt(g)+h;w>=60?(w-=60,m+=1):w<0&&(w+=60,m-=1),m>=24?m=m-24:m<0&&(m=24+m);var O="",A=!1;this.options.use24HourTimeFormat||(A=!!(this.i18n.setPeriodBeforeTime&&this.i18n.setPeriodBeforeTime()),O=A?"".concat(this.getPeriod(m)," "):" ".concat(this.getPeriod(m)),m>12&&(m-=12),m===0&&(m=12));var I="";y&&(I=":".concat(("00"+y).substring(y.length)));var p=m.toString(),S=("00"+p).substring(p.length),f=w.toString(),$=("00"+f).substring(f.length),x=this.options.trimHoursLeadingZero?p:S;return"".concat(A?O:"").concat(x,":").concat($).concat(I).concat(A?"":O)},L.prototype.transformVerbosity=function(j,g){if(!g&&(j=j.replace(new RegExp(", ".concat(this.i18n.everyMinute()),"g"),""),j=j.replace(new RegExp(", ".concat(this.i18n.everyHour()),"g"),""),j=j.replace(new RegExp(this.i18n.commaEveryDay(),"g"),""),j=j.replace(/\, ?$/,""),this.i18n.conciseVerbosityReplacements))for(var y=0,d=Object.entries(this.i18n.conciseVerbosityReplacements());y=12?this.i18n.pm&&this.i18n.pm()||"PM":this.i18n.am&&this.i18n.am()||"AM"},L.locales={},L})();a.ExpressionDescriptor=c},747(M,a,u){Object.defineProperty(a,"__esModule",{value:!0}),a.enLocaleLoader=void 0;var l=u(486),N=(function(){function c(){}return c.prototype.load=function(L){L.en=new l.en},c})();a.enLocaleLoader=N},486(M,a){Object.defineProperty(a,"__esModule",{value:!0}),a.en=void 0;var u=(function(){function l(){}return l.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},l.prototype.atX0MinutesPastTheHourGt20=function(){return null},l.prototype.commaMonthX0ThroughMonthX1=function(){return null},l.prototype.commaYearX0ThroughYearX1=function(){return null},l.prototype.use24HourTimeFormatByDefault=function(){return!1},l.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"An error occurred when generating the expression description. Check the cron expression syntax."},l.prototype.everyMinute=function(){return"every minute"},l.prototype.everyHour=function(){return"every hour"},l.prototype.atSpace=function(){return"At "},l.prototype.everyMinuteBetweenX0AndX1=function(){return"Every minute between %s and %s"},l.prototype.at=function(){return"At"},l.prototype.spaceAnd=function(){return" and"},l.prototype.everySecond=function(){return"every second"},l.prototype.everyX0Seconds=function(){return"every %s seconds"},l.prototype.secondsX0ThroughX1PastTheMinute=function(){return"seconds %s through %s past the minute"},l.prototype.atX0SecondsPastTheMinute=function(){return"at %s seconds past the minute"},l.prototype.everyX0Minutes=function(){return"every %s minutes"},l.prototype.minutesX0ThroughX1PastTheHour=function(){return"minutes %s through %s past the hour"},l.prototype.atX0MinutesPastTheHour=function(){return"at %s minutes past the hour"},l.prototype.everyX0Hours=function(){return"every %s hours"},l.prototype.betweenX0AndX1=function(){return"between %s and %s"},l.prototype.atX0=function(){return"at %s"},l.prototype.commaEveryDay=function(){return", every day"},l.prototype.commaEveryX0DaysOfTheWeek=function(){return", every %s days of the week"},l.prototype.commaX0ThroughX1=function(){return", %s through %s"},l.prototype.commaAndX0ThroughX1=function(){return", %s through %s"},l.prototype.first=function(){return"first"},l.prototype.second=function(){return"second"},l.prototype.third=function(){return"third"},l.prototype.fourth=function(){return"fourth"},l.prototype.fifth=function(){return"fifth"},l.prototype.commaOnThe=function(){return", on the "},l.prototype.spaceX0OfTheMonth=function(){return" %s of the month"},l.prototype.lastDay=function(){return"the last day"},l.prototype.commaOnTheLastX0OfTheMonth=function(){return", on the last %s of the month"},l.prototype.commaOnlyOnX0=function(){return", only on %s"},l.prototype.commaAndOnX0=function(){return", and on %s"},l.prototype.commaEveryX0Months=function(){return", every %s months"},l.prototype.commaOnlyInX0=function(){return", only in %s"},l.prototype.commaOnTheLastDayOfTheMonth=function(){return", on the last day of the month"},l.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", on the last weekday of the month"},l.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s days before the last day of the month"},l.prototype.firstWeekday=function(){return"first weekday"},l.prototype.weekdayNearestDayX0=function(){return"weekday nearest day %s"},l.prototype.commaOnTheX0OfTheMonth=function(){return", on the %s of the month"},l.prototype.commaEveryX0Days=function(){return", every %s days in a month"},l.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", between day %s and %s of the month"},l.prototype.commaOnDayX0OfTheMonth=function(){return", on day %s of the month"},l.prototype.commaEveryHour=function(){return", every hour"},l.prototype.commaEveryX0Years=function(){return", every %s years"},l.prototype.commaStartingX0=function(){return", starting %s"},l.prototype.daysOfTheWeek=function(){return["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},l.prototype.monthsOfTheYear=function(){return["January","February","March","April","May","June","July","August","September","October","November","December"]},l.prototype.atReboot=function(){return"Run once, at startup"},l.prototype.onTheHour=function(){return"on the hour"},l})();a.en=u},515(M,a){Object.defineProperty(a,"__esModule",{value:!0});function u(N,c){if(!N)throw new Error(c)}var l=(function(){function N(){}return N.secondRange=function(c){for(var L=c.split(","),j=0;j=0&&g<=59,"seconds part must be >= 0 and <= 59")}},N.minuteRange=function(c){for(var L=c.split(","),j=0;j=0&&g<=59,"minutes part must be >= 0 and <= 59")}},N.hourRange=function(c){for(var L=c.split(","),j=0;j=0&&g<=23,"hours part must be >= 0 and <= 23")}},N.dayOfMonthRange=function(c){for(var L=c.split(","),j=0;j=1&&g<=31,"DOM part must be >= 1 and <= 31")}},N.monthRange=function(c,L){for(var j=c.split(","),g=0;g=1&&y<=12,L?"month part must be >= 0 and <= 11":"month part must be >= 1 and <= 12")}},N.dayOfWeekRange=function(c,L){for(var j=c.split(","),g=0;g=0&&y<=6,L?"DOW part must be >= 0 and <= 6":"DOW part must be >= 1 and <= 7")}},N})();a.default=l},823(M,a){Object.defineProperty(a,"__esModule",{value:!0}),a.StringUtilities=void 0;var u=(function(){function l(){}return l.format=function(N){for(var c=[],L=1;L-1})},l})();a.StringUtilities=u}},s={};function r(M){var a=s[M];if(a!==void 0)return a.exports;var u=s[M]={exports:{}};return t[M](u,u.exports,r),u.exports}var o={};return(()=>{var M=o;Object.defineProperty(M,"__esModule",{value:!0}),M.toString=void 0;var a=r(333),u=r(747);a.ExpressionDescriptor.initialize(new u.enLocaleLoader),M.default=a.ExpressionDescriptor;var l=a.ExpressionDescriptor.toString;M.toString=l})(),o})())})(Jc);var jt=Jc.exports;const fue=MN(jt);var Sue={exports:{}};(function(i,e){(function(s,r){i.exports=r(jt)})(globalThis,t=>(()=>{var s={93(c){c.exports=t}},r={};function o(c){var L=r[c];if(L!==void 0)return L.exports;var j=r[c]={exports:{}};return s[c](j,j.exports,o),j.exports}o.n=c=>{var L=c&&c.__esModule?()=>c.default:()=>c;return o.d(L,{a:L}),L},o.d=(c,L)=>{for(var j in L)o.o(L,j)&&!o.o(c,j)&&Object.defineProperty(c,j,{enumerable:!0,get:L[j]})},o.o=(c,L)=>Object.prototype.hasOwnProperty.call(c,L),o.r=c=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(c,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(c,"__esModule",{value:!0})};var M={};o.r(M);var a=o(93),u=o.n(a),l=M;Object.defineProperty(l,"__esModule",{value:!0}),l.fr=void 0;var N=(function(){function c(){}return c.prototype.conciseVerbosityReplacements=function(){return{"de le":"du"}},c.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},c.prototype.atX0MinutesPastTheHourGt20=function(){return null},c.prototype.commaMonthX0ThroughMonthX1=function(){return null},c.prototype.commaYearX0ThroughYearX1=function(){return null},c.prototype.use24HourTimeFormatByDefault=function(){return!0},c.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"Une erreur est survenue en générant la description de l'expression cron. Vérifiez sa syntaxe."},c.prototype.everyMinute=function(){return"toutes les minutes"},c.prototype.everyHour=function(){return"toutes les heures"},c.prototype.atSpace=function(){return"À "},c.prototype.everyMinuteBetweenX0AndX1=function(){return"Toutes les minutes entre %s et %s"},c.prototype.at=function(){return"À"},c.prototype.spaceAnd=function(){return" et"},c.prototype.everySecond=function(){return"toutes les secondes"},c.prototype.everyX0Seconds=function(){return"toutes les %s secondes"},c.prototype.secondsX0ThroughX1PastTheMinute=function(){return"les secondes entre %s et %s après la minute"},c.prototype.atX0SecondsPastTheMinute=function(){return"%s secondes après la minute"},c.prototype.everyX0Minutes=function(){return"toutes les %s minutes"},c.prototype.minutesX0ThroughX1PastTheHour=function(){return"les minutes entre %s et %s après l'heure"},c.prototype.atX0MinutesPastTheHour=function(){return"%s minutes après l'heure"},c.prototype.everyX0Hours=function(){return"toutes les %s heures"},c.prototype.betweenX0AndX1=function(){return"de %s à %s"},c.prototype.atX0=function(){return"%s"},c.prototype.commaEveryDay=function(){return", tous les jours"},c.prototype.commaEveryX0DaysOfTheWeek=function(){return", tous les %s jours de la semaine"},c.prototype.commaX0ThroughX1=function(){return", de %s à %s"},c.prototype.commaAndX0ThroughX1=function(){return", et de %s à %s"},c.prototype.first=function(){return"premier"},c.prototype.second=function(){return"second"},c.prototype.third=function(){return"troisième"},c.prototype.fourth=function(){return"quatrième"},c.prototype.fifth=function(){return"cinquième"},c.prototype.commaOnThe=function(){return", le "},c.prototype.spaceX0OfTheMonth=function(){return" %s du mois"},c.prototype.lastDay=function(){return"le dernier jour"},c.prototype.commaOnTheLastX0OfTheMonth=function(){return", le dernier %s du mois"},c.prototype.commaOnlyOnX0=function(){return", uniquement le %s"},c.prototype.commaAndOnX0=function(){return", et %s"},c.prototype.commaEveryX0Months=function(){return", tous les %s mois"},c.prototype.commaOnlyInX0=function(){return", uniquement en %s"},c.prototype.commaOnTheLastDayOfTheMonth=function(){return", le dernier jour du mois"},c.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", le dernier jour ouvrable du mois"},c.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s jours avant le dernier jour du mois"},c.prototype.firstWeekday=function(){return"premier jour ouvrable"},c.prototype.weekdayNearestDayX0=function(){return"jour ouvrable le plus proche du %s"},c.prototype.commaOnTheX0OfTheMonth=function(){return", le %s du mois"},c.prototype.commaEveryX0Days=function(){return", tous les %s jours"},c.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", du %s au %s du mois"},c.prototype.commaOnDayX0OfTheMonth=function(){return", le %s du mois"},c.prototype.commaEveryHour=function(){return", chaque heure"},c.prototype.commaEveryX0Years=function(){return", tous les %s ans"},c.prototype.commaDaysX0ThroughX1=function(){return", du %s au %s"},c.prototype.commaStartingX0=function(){return", à partir de %s"},c.prototype.daysOfTheWeek=function(){return["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"]},c.prototype.monthsOfTheYear=function(){return["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"]},c.prototype.onTheHour=function(){return"à l'heure pile"},c})();return l.fr=N,u().locales.fr=new N,M})())})(Sue);var xue={exports:{}};(function(i,e){(function(s,r){i.exports=r(jt)})(globalThis,t=>(()=>{var s={93(c){c.exports=t}},r={};function o(c){var L=r[c];if(L!==void 0)return L.exports;var j=r[c]={exports:{}};return s[c](j,j.exports,o),j.exports}o.n=c=>{var L=c&&c.__esModule?()=>c.default:()=>c;return o.d(L,{a:L}),L},o.d=(c,L)=>{for(var j in L)o.o(L,j)&&!o.o(c,j)&&Object.defineProperty(c,j,{enumerable:!0,get:L[j]})},o.o=(c,L)=>Object.prototype.hasOwnProperty.call(c,L),o.r=c=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(c,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(c,"__esModule",{value:!0})};var M={};o.r(M);var a=o(93),u=o.n(a),l=M;Object.defineProperty(l,"__esModule",{value:!0}),l.es=void 0;var N=(function(){function c(){}return c.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},c.prototype.atX0MinutesPastTheHourGt20=function(){return null},c.prototype.commaMonthX0ThroughMonthX1=function(){return null},c.prototype.commaYearX0ThroughYearX1=function(){return null},c.prototype.use24HourTimeFormatByDefault=function(){return!0},c.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"Ocurrió un error mientras se generaba la descripción de la expresión. Revise la sintaxis de la expresión de cron."},c.prototype.at=function(){return"A las"},c.prototype.atSpace=function(){return"A las "},c.prototype.atX0=function(){return"a las %s"},c.prototype.atX0MinutesPastTheHour=function(){return"a los %s minutos de la hora"},c.prototype.atX0SecondsPastTheMinute=function(){return"a los %s segundos del minuto"},c.prototype.betweenX0AndX1=function(){return"entre las %s y las %s"},c.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", entre los días %s y %s del mes"},c.prototype.commaEveryDay=function(){return", cada día"},c.prototype.commaEveryX0Days=function(){return", cada %s días"},c.prototype.commaEveryX0DaysOfTheWeek=function(){return", cada %s días de la semana"},c.prototype.commaEveryX0Months=function(){return", cada %s meses"},c.prototype.commaOnDayX0OfTheMonth=function(){return", el día %s del mes"},c.prototype.commaOnlyInX0=function(){return", sólo en %s"},c.prototype.commaOnlyOnX0=function(){return", sólo el %s"},c.prototype.commaAndOnX0=function(){return", y el %s"},c.prototype.commaOnThe=function(){return", en el "},c.prototype.commaOnTheLastDayOfTheMonth=function(){return", en el último día del mes"},c.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", en el último día de la semana del mes"},c.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s días antes del último día del mes"},c.prototype.commaOnTheLastX0OfTheMonth=function(){return", en el último %s del mes"},c.prototype.commaOnTheX0OfTheMonth=function(){return", en el %s del mes"},c.prototype.commaX0ThroughX1=function(){return", de %s a %s"},c.prototype.commaAndX0ThroughX1=function(){return", y de %s a %s"},c.prototype.everyHour=function(){return"cada hora"},c.prototype.everyMinute=function(){return"cada minuto"},c.prototype.everyMinuteBetweenX0AndX1=function(){return"cada minuto entre las %s y las %s"},c.prototype.everySecond=function(){return"cada segundo"},c.prototype.everyX0Hours=function(){return"cada %s horas"},c.prototype.everyX0Minutes=function(){return"cada %s minutos"},c.prototype.everyX0Seconds=function(){return"cada %s segundos"},c.prototype.fifth=function(){return"quinto"},c.prototype.first=function(){return"primero"},c.prototype.firstWeekday=function(){return"primer día de la semana"},c.prototype.fourth=function(){return"cuarto"},c.prototype.minutesX0ThroughX1PastTheHour=function(){return"del minuto %s al %s pasada la hora"},c.prototype.second=function(){return"segundo"},c.prototype.secondsX0ThroughX1PastTheMinute=function(){return"En los segundos %s al %s de cada minuto"},c.prototype.spaceAnd=function(){return" y"},c.prototype.spaceX0OfTheMonth=function(){return" %s del mes"},c.prototype.lastDay=function(){return"el último día"},c.prototype.third=function(){return"tercer"},c.prototype.weekdayNearestDayX0=function(){return"día de la semana más próximo al %s"},c.prototype.commaEveryX0Years=function(){return", cada %s años"},c.prototype.commaStartingX0=function(){return", comenzando %s"},c.prototype.daysOfTheWeek=function(){return["domingo","lunes","martes","miércoles","jueves","viernes","sábado"]},c.prototype.monthsOfTheYear=function(){return["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"]},c.prototype.onTheHour=function(){return"en punto"},c})();return l.es=N,u().locales.es=new N,M})())})(xue);var kue={exports:{}};(function(i,e){(function(s,r){i.exports=r(jt)})(globalThis,t=>(()=>{var s={93(c){c.exports=t}},r={};function o(c){var L=r[c];if(L!==void 0)return L.exports;var j=r[c]={exports:{}};return s[c](j,j.exports,o),j.exports}o.n=c=>{var L=c&&c.__esModule?()=>c.default:()=>c;return o.d(L,{a:L}),L},o.d=(c,L)=>{for(var j in L)o.o(L,j)&&!o.o(c,j)&&Object.defineProperty(c,j,{enumerable:!0,get:L[j]})},o.o=(c,L)=>Object.prototype.hasOwnProperty.call(c,L),o.r=c=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(c,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(c,"__esModule",{value:!0})};var M={};o.r(M);var a=o(93),u=o.n(a),l=M;Object.defineProperty(l,"__esModule",{value:!0}),l.de=void 0;var N=(function(){function c(){}return c.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},c.prototype.atX0MinutesPastTheHourGt20=function(){return null},c.prototype.commaMonthX0ThroughMonthX1=function(){return null},c.prototype.commaYearX0ThroughYearX1=function(){return null},c.prototype.use24HourTimeFormatByDefault=function(){return!0},c.prototype.everyMinute=function(){return"jede Minute"},c.prototype.everyHour=function(){return"jede Stunde"},c.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"Beim Generieren der Ausdrucksbeschreibung ist ein Fehler aufgetreten. Überprüfen Sie die Syntax des Cron-Ausdrucks."},c.prototype.atSpace=function(){return"Um "},c.prototype.everyMinuteBetweenX0AndX1=function(){return"Jede Minute zwischen %s und %s"},c.prototype.at=function(){return"Um"},c.prototype.spaceAnd=function(){return" und"},c.prototype.everySecond=function(){return"Jede Sekunde"},c.prototype.everyX0Seconds=function(){return"alle %s Sekunden"},c.prototype.secondsX0ThroughX1PastTheMinute=function(){return"Sekunden %s bis %s"},c.prototype.atX0SecondsPastTheMinute=function(){return"bei Sekunde %s"},c.prototype.everyX0Minutes=function(){return"alle %s Minuten"},c.prototype.minutesX0ThroughX1PastTheHour=function(){return"Minuten %s bis %s"},c.prototype.atX0MinutesPastTheHour=function(){return"bei Minute %s"},c.prototype.everyX0Hours=function(){return"alle %s Stunden"},c.prototype.betweenX0AndX1=function(){return"zwischen %s und %s"},c.prototype.atX0=function(){return"um %s"},c.prototype.commaEveryDay=function(){return", jeden Tag"},c.prototype.commaEveryX0DaysOfTheWeek=function(){return", alle %s Tage der Woche"},c.prototype.commaX0ThroughX1=function(){return", %s bis %s"},c.prototype.commaAndX0ThroughX1=function(){return", und %s bis %s"},c.prototype.first=function(){return"ersten"},c.prototype.second=function(){return"zweiten"},c.prototype.third=function(){return"dritten"},c.prototype.fourth=function(){return"vierten"},c.prototype.fifth=function(){return"fünften"},c.prototype.commaOnThe=function(){return", am "},c.prototype.spaceX0OfTheMonth=function(){return" %s des Monats"},c.prototype.lastDay=function(){return"der letzte Tag"},c.prototype.commaOnTheLastX0OfTheMonth=function(){return", am letzten %s des Monats"},c.prototype.commaOnlyOnX0=function(){return", nur jeden %s"},c.prototype.commaAndOnX0=function(){return", und jeden %s"},c.prototype.commaEveryX0Months=function(){return", alle %s Monate"},c.prototype.commaOnlyInX0=function(){return", nur im %s"},c.prototype.commaOnTheLastDayOfTheMonth=function(){return", am letzten Tag des Monats"},c.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", am letzten Werktag des Monats"},c.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s tage vor dem letzten Tag des Monats"},c.prototype.firstWeekday=function(){return"ersten Werktag"},c.prototype.weekdayNearestDayX0=function(){return"Werktag am nächsten zum %s Tag"},c.prototype.commaOnTheX0OfTheMonth=function(){return", am %s des Monats"},c.prototype.commaEveryX0Days=function(){return", alle %s Tage"},c.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", zwischen Tag %s und %s des Monats"},c.prototype.commaOnDayX0OfTheMonth=function(){return", an Tag %s des Monats"},c.prototype.commaEveryX0Years=function(){return", alle %s Jahre"},c.prototype.commaStartingX0=function(){return", beginnend %s"},c.prototype.daysOfTheWeek=function(){return["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"]},c.prototype.monthsOfTheYear=function(){return["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"]},c.prototype.onTheHour=function(){return"zur vollen Stunde"},c})();return l.de=N,u().locales.de=new N,M})())})(kue);var Yue={exports:{}};(function(i,e){(function(s,r){i.exports=r(jt)})(globalThis,t=>(()=>{var s={93(c){c.exports=t}},r={};function o(c){var L=r[c];if(L!==void 0)return L.exports;var j=r[c]={exports:{}};return s[c](j,j.exports,o),j.exports}o.n=c=>{var L=c&&c.__esModule?()=>c.default:()=>c;return o.d(L,{a:L}),L},o.d=(c,L)=>{for(var j in L)o.o(L,j)&&!o.o(c,j)&&Object.defineProperty(c,j,{enumerable:!0,get:L[j]})},o.o=(c,L)=>Object.prototype.hasOwnProperty.call(c,L),o.r=c=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(c,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(c,"__esModule",{value:!0})};var M={};o.r(M);var a=o(93),u=o.n(a),l=M;Object.defineProperty(l,"__esModule",{value:!0}),l.it=void 0;var N=(function(){function c(){}return c.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},c.prototype.atX0MinutesPastTheHourGt20=function(){return null},c.prototype.commaMonthX0ThroughMonthX1=function(){return null},c.prototype.commaYearX0ThroughYearX1=function(){return null},c.prototype.use24HourTimeFormatByDefault=function(){return!0},c.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"È verificato un errore durante la generazione la descrizione espressione. Controllare la sintassi delle espressioni cron."},c.prototype.at=function(){return"Alle"},c.prototype.atSpace=function(){return"Alle "},c.prototype.atX0=function(){return"alle %s"},c.prototype.atX0MinutesPastTheHour=function(){return"al %s minuto passata l'ora"},c.prototype.atX0SecondsPastTheMinute=function(){return"al %s secondo passato il minuto"},c.prototype.betweenX0AndX1=function(){return"tra le %s e le %s"},c.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", tra il giorno %s e %s del mese"},c.prototype.commaEveryDay=function(){return", ogni giorno"},c.prototype.commaEveryX0Days=function(){return", ogni %s giorni"},c.prototype.commaEveryX0DaysOfTheWeek=function(){return", ogni %s giorni della settimana"},c.prototype.commaEveryX0Months=function(){return", ogni %s mesi"},c.prototype.commaEveryX0Years=function(){return", ogni %s anni"},c.prototype.commaOnDayX0OfTheMonth=function(){return", il giorno %s del mese"},c.prototype.commaOnlyInX0=function(){return", solo in %s"},c.prototype.commaOnlyOnX0=function(){return", solo il %s"},c.prototype.commaAndOnX0=function(){return", e il %s"},c.prototype.commaOnThe=function(){return", il "},c.prototype.commaOnTheLastDayOfTheMonth=function(){return", l'ultimo giorno del mese"},c.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", nell'ultima settimana del mese"},c.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s giorni prima dell'ultimo giorno del mese"},c.prototype.commaOnTheLastX0OfTheMonth=function(){return", l'ultimo %s del mese"},c.prototype.commaOnTheX0OfTheMonth=function(){return", il %s del mese"},c.prototype.commaX0ThroughX1=function(){return", %s al %s"},c.prototype.commaAndX0ThroughX1=function(){return", e %s al %s"},c.prototype.everyHour=function(){return"ogni ora"},c.prototype.everyMinute=function(){return"ogni minuto"},c.prototype.everyMinuteBetweenX0AndX1=function(){return"Ogni minuto tra le %s e le %s"},c.prototype.everySecond=function(){return"ogni secondo"},c.prototype.everyX0Hours=function(){return"ogni %s ore"},c.prototype.everyX0Minutes=function(){return"ogni %s minuti"},c.prototype.everyX0Seconds=function(){return"ogni %s secondi"},c.prototype.fifth=function(){return"quinto"},c.prototype.first=function(){return"primo"},c.prototype.firstWeekday=function(){return"primo giorno della settimana"},c.prototype.fourth=function(){return"quarto"},c.prototype.minutesX0ThroughX1PastTheHour=function(){return"minuti %s al %s dopo l'ora"},c.prototype.second=function(){return"secondo"},c.prototype.secondsX0ThroughX1PastTheMinute=function(){return"secondi %s al %s oltre il minuto"},c.prototype.spaceAnd=function(){return" e"},c.prototype.spaceX0OfTheMonth=function(){return" %s del mese"},c.prototype.lastDay=function(){return"l'ultimo giorno"},c.prototype.third=function(){return"terzo"},c.prototype.weekdayNearestDayX0=function(){return"giorno della settimana più vicino al %s"},c.prototype.commaStartingX0=function(){return", a partire %s"},c.prototype.daysOfTheWeek=function(){return["domenica","lunedì","martedì","mercoledì","giovedì","venerdì","sabato"]},c.prototype.monthsOfTheYear=function(){return["gennaio","febbraio","marzo","aprile","maggio","giugno","luglio","agosto","settembre","ottobre","novembre","dicembre"]},c.prototype.onTheHour=function(){return"all'ora esatta"},c})();return l.it=N,u().locales.it=new N,M})())})(Yue);var Que={exports:{}};(function(i,e){(function(s,r){i.exports=r(jt)})(globalThis,t=>(()=>{var s={93(j){j.exports=t}},r={};function o(j){var g=r[j];if(g!==void 0)return g.exports;var y=r[j]={exports:{}};return s[j](y,y.exports,o),y.exports}o.n=j=>{var g=j&&j.__esModule?()=>j.default:()=>j;return o.d(g,{a:g}),g},o.d=(j,g)=>{for(var y in g)o.o(g,y)&&!o.o(j,y)&&Object.defineProperty(j,y,{enumerable:!0,get:g[y]})},o.o=(j,g)=>Object.prototype.hasOwnProperty.call(j,g),o.r=j=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(j,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(j,"__esModule",{value:!0})};var M={};o.r(M);var a=o(93),u=o.n(a),l=M;Object.defineProperty(l,"__esModule",{value:!0}),l.ru=void 0;var N=function(j,g){var y=Number(j);return y!==void 0?g[y%100>4&&y%100<20?2:[2,0,1,1,1,2][y%10<5?Math.abs(y)%10:5]]:g[2]},c=function(j,g){var y=Number(j);return y!==void 0?g[y===0?0:y===1||y===2||y===4?1:2]:g[1]},L=(function(){function j(){}return j.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},j.prototype.atX0MinutesPastTheHourGt20=function(){return null},j.prototype.commaMonthX0ThroughMonthX1=function(){return null},j.prototype.commaYearX0ThroughYearX1=function(){return null},j.prototype.use24HourTimeFormatByDefault=function(){return!0},j.prototype.everyMinute=function(){return"каждую минуту"},j.prototype.everyHour=function(){return"каждый час"},j.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"Произошла ошибка во время генерации описания выражения. Проверьте синтаксис крон-выражения."},j.prototype.atSpace=function(){return"В "},j.prototype.everyMinuteBetweenX0AndX1=function(){return"Каждую минуту с %s по %s"},j.prototype.at=function(){return"В"},j.prototype.spaceAnd=function(){return" и"},j.prototype.everySecond=function(){return"каждую секунду"},j.prototype.everyX0Seconds=function(g){return N(g,["каждую %s секунду","каждые %s секунды","каждые %s секунд"])},j.prototype.secondsX0ThroughX1PastTheMinute=function(){return"секунды с %s по %s"},j.prototype.atX0SecondsPastTheMinute=function(g){return N(g,["в %s секунду","в %s секунды","в %s секунд"])},j.prototype.everyX0Minutes=function(g){return N(g,["каждую %s минуту","каждые %s минуты","каждые %s минут"])},j.prototype.minutesX0ThroughX1PastTheHour=function(){return"минуты с %s по %s"},j.prototype.atX0MinutesPastTheHour=function(g){return N(g,["в %s минуту","в %s минуты","в %s минут"])},j.prototype.everyX0Hours=function(g){return N(g,["каждый %s час","каждые %s часа","каждые %s часов"])},j.prototype.betweenX0AndX1=function(){return"с %s по %s"},j.prototype.atX0=function(){return"в %s"},j.prototype.commaEveryDay=function(){return", каждый день"},j.prototype.commaEveryX0DaysOfTheWeek=function(g){return N(g,[", каждый %s день недели",", каждые %s дня недели",", каждые %s дней недели"])},j.prototype.commaX0ThroughX1=function(g){return g&&(g[0]=="2"||g[0]=="3")?", со %s по %s":", с %s по %s"},j.prototype.commaAndX0ThroughX1=function(g){return g&&(g[0]=="2"||g[0]=="3")?" и со %s по %s":" и с %s по %s"},j.prototype.first=function(g){return c(g,["первое","первый","первую"])},j.prototype.second=function(g){return c(g,["второе","второй","вторую"])},j.prototype.third=function(g){return c(g,["третье","третий","третью"])},j.prototype.fourth=function(g){return c(g,["четвертое","четвертый","четвертую"])},j.prototype.fifth=function(g){return c(g,["пятое","пятый","пятую"])},j.prototype.commaOnThe=function(g){return g==="2"?", во ":", в "},j.prototype.spaceX0OfTheMonth=function(){return" %s месяца"},j.prototype.lastDay=function(){return"последний день"},j.prototype.commaOnTheLastX0OfTheMonth=function(g){return c(g,[", в последнее %s месяца",", в последний %s месяца",", в последнюю %s месяца"])},j.prototype.commaOnlyOnX0=function(g){return g&&g[0]==="2"?", только во %s":", только в %s"},j.prototype.commaAndOnX0=function(){return", и %s"},j.prototype.commaEveryX0Months=function(g){return N(g,[""," каждые %s месяца"," каждые %s месяцев"])},j.prototype.commaOnlyInMonthX0=function(){return", только %s"},j.prototype.commaOnlyInX0=function(){return", только в %s"},j.prototype.commaOnTheLastDayOfTheMonth=function(){return", в последний день месяца"},j.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", в последний будний день месяца"},j.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(g){return N(g,[", за %s день до конца месяца",", за %s дня до конца месяца",", за %s дней до конца месяца"])},j.prototype.firstWeekday=function(){return"первый будний день"},j.prototype.weekdayNearestDayX0=function(){return"ближайший будний день к %s числу"},j.prototype.commaOnTheX0OfTheMonth=function(){return", в %s месяца"},j.prototype.commaEveryX0Days=function(g){return N(g,[", каждый %s день",", каждые %s дня",", каждые %s дней"])},j.prototype.commaBetweenDayX0AndX1OfTheMonth=function(g){return g&&g.substring(0,g.indexOf("-"))=="2"?", со %s по %s число месяца":", с %s по %s число месяца"},j.prototype.commaOnDayX0OfTheMonth=function(g){return g&&g[0]=="2"?", во %s число месяца":", в %s число месяца"},j.prototype.commaEveryX0Years=function(g){return N(g,[", каждый %s год",", каждые %s года",", каждые %s лет"])},j.prototype.commaStartingX0=function(){return", начало %s"},j.prototype.daysOfTheWeek=function(){return["воскресенье","понедельник","вторник","среда","четверг","пятница","суббота"]},j.prototype.daysOfTheWeekInCase=function(g){return g===void 0&&(g=2),g==1?["воскресенья","понедельника","вторника","среды","четверга","пятницы","субботы"]:["воскресенье","понедельник","вторник","среду","четверг","пятницу","субботу"]},j.prototype.monthsOfTheYear=function(){return["январь","февраль","март","апрель","май","июнь","июль","август","сентябрь","октябрь","ноябрь","декабрь"]},j.prototype.monthsOfTheYearInCase=function(g){return g==1?["января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря"]:this.monthsOfTheYear()},j.prototype.onTheHour=function(){return"ровно в час"},j})();return l.ru=L,u().locales.ru=new L,M})())})(Que);var Uue={exports:{}};(function(i,e){(function(s,r){i.exports=r(jt)})(globalThis,t=>(()=>{var s={93(c){c.exports=t}},r={};function o(c){var L=r[c];if(L!==void 0)return L.exports;var j=r[c]={exports:{}};return s[c](j,j.exports,o),j.exports}o.n=c=>{var L=c&&c.__esModule?()=>c.default:()=>c;return o.d(L,{a:L}),L},o.d=(c,L)=>{for(var j in L)o.o(L,j)&&!o.o(c,j)&&Object.defineProperty(c,j,{enumerable:!0,get:L[j]})},o.o=(c,L)=>Object.prototype.hasOwnProperty.call(c,L),o.r=c=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(c,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(c,"__esModule",{value:!0})};var M={};o.r(M);var a=o(93),u=o.n(a),l=M;Object.defineProperty(l,"__esModule",{value:!0}),l.zh_CN=void 0;var N=(function(){function c(){}return c.prototype.setPeriodBeforeTime=function(){return!0},c.prototype.pm=function(){return"下午"},c.prototype.am=function(){return"上午"},c.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},c.prototype.atX0MinutesPastTheHourGt20=function(){return null},c.prototype.commaMonthX0ThroughMonthX1=function(){return null},c.prototype.commaYearX0ThroughYearX1=function(){return", 从%s年至%s年"},c.prototype.use24HourTimeFormatByDefault=function(){return!1},c.prototype.everyMinute=function(){return"每分钟"},c.prototype.everyHour=function(){return"每小时"},c.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"生成表达式描述时发生了错误,请检查cron表达式语法。"},c.prototype.atSpace=function(){return"在"},c.prototype.everyMinuteBetweenX0AndX1=function(){return"在 %s 至 %s 之间的每分钟"},c.prototype.at=function(){return"在"},c.prototype.spaceAnd=function(){return" 和"},c.prototype.everySecond=function(){return"每秒"},c.prototype.everyX0Seconds=function(){return"每隔 %s 秒"},c.prototype.secondsX0ThroughX1PastTheMinute=function(){return"在一分钟后的第 %s 到 %s 秒"},c.prototype.atX0SecondsPastTheMinute=function(){return"在一分钟后的第 %s 秒"},c.prototype.everyX0Minutes=function(){return"每隔 %s 分钟"},c.prototype.minutesX0ThroughX1PastTheHour=function(){return"在整点后的第 %s 到 %s 分钟"},c.prototype.atX0MinutesPastTheHour=function(){return"在整点后的第 %s 分钟"},c.prototype.everyX0Hours=function(){return"每隔 %s 小时"},c.prototype.betweenX0AndX1=function(){return"在 %s 和 %s 之间"},c.prototype.atX0=function(){return"在%s"},c.prototype.commaEveryDay=function(){return", 每天"},c.prototype.commaEveryX0DaysOfTheWeek=function(){return", 每周的每 %s 天"},c.prototype.commaX0ThroughX1=function(){return", %s至%s"},c.prototype.commaAndX0ThroughX1=function(){return", 和%s至%s"},c.prototype.first=function(){return"第一个"},c.prototype.second=function(){return"第二个"},c.prototype.third=function(){return"第三个"},c.prototype.fourth=function(){return"第四个"},c.prototype.fifth=function(){return"第五个"},c.prototype.commaOnThe=function(){return", 限每月的"},c.prototype.spaceX0OfTheMonth=function(){return"%s"},c.prototype.lastDay=function(){return"本月最后一天"},c.prototype.commaOnTheLastX0OfTheMonth=function(){return", 限每月的最后一个%s"},c.prototype.commaOnlyOnX0=function(){return", 仅%s"},c.prototype.commaAndOnX0=function(){return", 或者为%s"},c.prototype.commaEveryX0Months=function(){return", 每隔 %s 个月"},c.prototype.commaOnlyInX0=function(){return", 仅限%s"},c.prototype.commaOnlyInMonthX0=function(){return", 仅于%s份"},c.prototype.commaOnlyInYearX0=function(){return", 仅于 %s 年"},c.prototype.commaOnTheLastDayOfTheMonth=function(){return", 限每月的最后一天"},c.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", 限每月的最后一个工作日"},c.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", 限每月最后%s天"},c.prototype.firstWeekday=function(){return"第一个工作日"},c.prototype.weekdayNearestDayX0=function(){return"最接近 %s 号的工作日"},c.prototype.commaOnTheX0OfTheMonth=function(){return", 限每月的%s"},c.prototype.commaEveryX0Days=function(){return", 每隔 %s 天"},c.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", 限每月的 %s 至 %s 之间"},c.prototype.commaOnDayX0OfTheMonth=function(){return", 限每月%s"},c.prototype.commaEveryX0Years=function(){return", 每隔 %s 年"},c.prototype.commaStartingX0=function(){return", %s开始"},c.prototype.dayX0=function(){return" %s 号"},c.prototype.daysOfTheWeek=function(){return["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]},c.prototype.monthsOfTheYear=function(){return["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]},c.prototype.onTheHour=function(){return"整点"},c})();return l.zh_CN=N,u().locales.zh_CN=new N,M})())})(Uue);var vue={exports:{}};(function(i,e){(function(s,r){i.exports=r(jt)})(globalThis,t=>(()=>{var s={93(c){c.exports=t}},r={};function o(c){var L=r[c];if(L!==void 0)return L.exports;var j=r[c]={exports:{}};return s[c](j,j.exports,o),j.exports}o.n=c=>{var L=c&&c.__esModule?()=>c.default:()=>c;return o.d(L,{a:L}),L},o.d=(c,L)=>{for(var j in L)o.o(L,j)&&!o.o(c,j)&&Object.defineProperty(c,j,{enumerable:!0,get:L[j]})},o.o=(c,L)=>Object.prototype.hasOwnProperty.call(c,L),o.r=c=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(c,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(c,"__esModule",{value:!0})};var M={};o.r(M);var a=o(93),u=o.n(a),l=M;Object.defineProperty(l,"__esModule",{value:!0}),l.uk=void 0;var N=(function(){function c(){}return c.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},c.prototype.atX0MinutesPastTheHourGt20=function(){return null},c.prototype.commaMonthX0ThroughMonthX1=function(){return null},c.prototype.commaYearX0ThroughYearX1=function(){return null},c.prototype.use24HourTimeFormatByDefault=function(){return!0},c.prototype.everyMinute=function(){return"щохвилини"},c.prototype.everyHour=function(){return"щогодини"},c.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"ВІдбулася помилка підчас генерації опису. Перевірта правильність написання cron виразу."},c.prototype.atSpace=function(){return"О "},c.prototype.everyMinuteBetweenX0AndX1=function(){return"Щохвилини між %s та %s"},c.prototype.at=function(){return"О"},c.prototype.spaceAnd=function(){return" та"},c.prototype.everySecond=function(){return"Щосекунди"},c.prototype.everyX0Seconds=function(){return"кожні %s секунд"},c.prototype.secondsX0ThroughX1PastTheMinute=function(){return"з %s по %s секунду"},c.prototype.atX0SecondsPastTheMinute=function(){return"о %s секунді"},c.prototype.everyX0Minutes=function(){return"кожні %s хвилин"},c.prototype.minutesX0ThroughX1PastTheHour=function(){return"з %s по %s хвилину"},c.prototype.atX0MinutesPastTheHour=function(){return"о %s хвилині"},c.prototype.everyX0Hours=function(){return"кожні %s годин"},c.prototype.betweenX0AndX1=function(){return"між %s та %s"},c.prototype.atX0=function(){return"о %s"},c.prototype.commaEveryDay=function(){return", щоденно"},c.prototype.commaEveryX0DaysOfTheWeek=function(){return", кожен %s день тижня"},c.prototype.commaX0ThroughX1=function(){return", %s по %s"},c.prototype.commaAndX0ThroughX1=function(){return", та %s по %s"},c.prototype.first=function(){return"перший"},c.prototype.second=function(){return"другий"},c.prototype.third=function(){return"третій"},c.prototype.fourth=function(){return"четвертий"},c.prototype.fifth=function(){return"п'ятий"},c.prototype.commaOnThe=function(){return", в "},c.prototype.spaceX0OfTheMonth=function(){return" %s місяця"},c.prototype.lastDay=function(){return"останній день"},c.prototype.commaOnTheLastX0OfTheMonth=function(){return", в останній %s місяця"},c.prototype.commaOnlyOnX0=function(){return", тільки в %s"},c.prototype.commaAndOnX0=function(){return", і в %s"},c.prototype.commaEveryX0Months=function(){return", кожен %s місяць"},c.prototype.commaOnlyInX0=function(){return", тільки в %s"},c.prototype.commaOnTheLastDayOfTheMonth=function(){return", в останній день місяця"},c.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", в останній будень місяця"},c.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s днів до останнього дня місяця"},c.prototype.firstWeekday=function(){return"перший будень"},c.prototype.weekdayNearestDayX0=function(){return"будень найближчий до %s дня"},c.prototype.commaOnTheX0OfTheMonth=function(){return", в %s місяця"},c.prototype.commaEveryX0Days=function(){return", кожен %s день"},c.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", між %s та %s днями місяця"},c.prototype.commaOnDayX0OfTheMonth=function(){return", на %s день місяця"},c.prototype.commaEveryX0Years=function(){return", кожні %s роки"},c.prototype.commaStartingX0=function(){return", початок %s"},c.prototype.daysOfTheWeek=function(){return["неділя","понеділок","вівторок","середа","четвер","п'ятниця","субота"]},c.prototype.monthsOfTheYear=function(){return["січень","лютий","березень","квітень","травень","червень","липень","серпень","вересень","жовтень","листопад","грудень"]},c.prototype.onTheHour=function(){return"рівно о годині"},c})();return l.uk=N,u().locales.uk=new N,M})())})(vue);var bue={exports:{}};(function(i,e){(function(s,r){i.exports=r(jt)})(globalThis,t=>(()=>{var s={93(c){c.exports=t}},r={};function o(c){var L=r[c];if(L!==void 0)return L.exports;var j=r[c]={exports:{}};return s[c](j,j.exports,o),j.exports}o.n=c=>{var L=c&&c.__esModule?()=>c.default:()=>c;return o.d(L,{a:L}),L},o.d=(c,L)=>{for(var j in L)o.o(L,j)&&!o.o(c,j)&&Object.defineProperty(c,j,{enumerable:!0,get:L[j]})},o.o=(c,L)=>Object.prototype.hasOwnProperty.call(c,L),o.r=c=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(c,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(c,"__esModule",{value:!0})};var M={};o.r(M);var a=o(93),u=o.n(a),l=M;Object.defineProperty(l,"__esModule",{value:!0}),l.pt_BR=void 0;var N=(function(){function c(){}return c.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},c.prototype.atX0MinutesPastTheHourGt20=function(){return null},c.prototype.commaMonthX0ThroughMonthX1=function(){return null},c.prototype.commaYearX0ThroughYearX1=function(){return null},c.prototype.use24HourTimeFormatByDefault=function(){return!0},c.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"Ocorreu um erro ao gerar a descrição da expressão Cron."},c.prototype.at=function(){return"às"},c.prototype.atSpace=function(){return"às "},c.prototype.atX0=function(){return"Às %s"},c.prototype.atX0MinutesPastTheHour=function(){return"aos %s minutos da hora"},c.prototype.atX0SecondsPastTheMinute=function(){return"aos %s segundos do minuto"},c.prototype.betweenX0AndX1=function(){return"entre %s e %s"},c.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", entre os dias %s e %s do mês"},c.prototype.commaEveryDay=function(){return", a cada dia"},c.prototype.commaEveryX0Days=function(){return", a cada %s dias"},c.prototype.commaEveryX0DaysOfTheWeek=function(){return", a cada %s dias de semana"},c.prototype.commaEveryX0Months=function(){return", a cada %s meses"},c.prototype.commaOnDayX0OfTheMonth=function(){return", no dia %s do mês"},c.prototype.commaOnlyInX0=function(L){return L&&L.length>1&&L[1]==="-"?"somente %s":", somente em %s"},c.prototype.commaOnlyOnX0=function(L){return L&&L.length>1&&L[1]==="-"?", somente %s":", somente de %s"},c.prototype.commaAndOnX0=function(){return", e de %s"},c.prototype.commaOnThe=function(L,j){return j==="6"||j==="0"?", no":", na "},c.prototype.commaOnTheLastDayOfTheMonth=function(){return", no último dia do mês"},c.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", no último dia da semana do mês"},c.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s dias antes do último dia do mês"},c.prototype.commaOnTheLastX0OfTheMonth=function(){return", na última %s do mês"},c.prototype.commaOnTheX0OfTheMonth=function(){return", no %s do mês"},c.prototype.commaX0ThroughX1=function(){return", de %s a %s"},c.prototype.commaAndX0ThroughX1=function(){return", e de %s a %s"},c.prototype.everyHour=function(){return"a cada hora"},c.prototype.everyMinute=function(){return"a cada minuto"},c.prototype.everyMinuteBetweenX0AndX1=function(){return"a cada minuto entre %s e %s"},c.prototype.everySecond=function(){return"a cada segundo"},c.prototype.everyX0Hours=function(){return"a cada %s horas"},c.prototype.everyX0Minutes=function(){return"a cada %s minutos"},c.prototype.everyX0Seconds=function(){return"a cada %s segundos"},c.prototype.fifth=function(L){return L==="6"||L==="0"?"quinto":"quinta"},c.prototype.first=function(L){return L==="6"||L==="0"?"primeiro":"primeira"},c.prototype.firstWeekday=function(){return"primeiro dia da semana"},c.prototype.fourth=function(L){return L==="6"||L==="0"?"quarto":"quarta"},c.prototype.minutesX0ThroughX1PastTheHour=function(){return"do minuto %s até %s de cada hora"},c.prototype.second=function(L){return L==="6"||L==="0"?"segundo":"segunda"},c.prototype.secondsX0ThroughX1PastTheMinute=function(){return"No segundo %s até %s de cada minuto"},c.prototype.spaceAnd=function(){return" e"},c.prototype.spaceX0OfTheMonth=function(){return" %s do mês"},c.prototype.lastDay=function(){return"o último dia"},c.prototype.third=function(L){return L==="6"||L==="0"?"terceiro":"terceira"},c.prototype.weekdayNearestDayX0=function(){return"dia da semana mais próximo do dia %s"},c.prototype.commaEveryX0Years=function(){return", a cada %s anos"},c.prototype.commaStartingX0=function(){return", iniciando %s"},c.prototype.daysOfTheWeek=function(){return["domingo","segunda-feira","terça-feira","quarta-feira","quinta-feira","sexta-feira","sábado"]},c.prototype.monthsOfTheYear=function(){return["janeiro","fevereiro","março","abril","maio","junho","julho","agosto","setembro","outubro","novembro","dezembro"]},c.prototype.onTheHour=function(){return"na hora certa"},c})();return l.pt_BR=N,u().locales.pt_BR=new N,M})())})(bue);var $ue={exports:{}};(function(i,e){(function(s,r){i.exports=r(jt)})(globalThis,t=>(()=>{var s={93(c){c.exports=t}},r={};function o(c){var L=r[c];if(L!==void 0)return L.exports;var j=r[c]={exports:{}};return s[c](j,j.exports,o),j.exports}o.n=c=>{var L=c&&c.__esModule?()=>c.default:()=>c;return o.d(L,{a:L}),L},o.d=(c,L)=>{for(var j in L)o.o(L,j)&&!o.o(c,j)&&Object.defineProperty(c,j,{enumerable:!0,get:L[j]})},o.o=(c,L)=>Object.prototype.hasOwnProperty.call(c,L),o.r=c=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(c,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(c,"__esModule",{value:!0})};var M={};o.r(M);var a=o(93),u=o.n(a),l=M;Object.defineProperty(l,"__esModule",{value:!0}),l.pl=void 0;var N=(function(){function c(){}return c.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},c.prototype.atX0MinutesPastTheHourGt20=function(){return null},c.prototype.commaMonthX0ThroughMonthX1=function(){return null},c.prototype.commaYearX0ThroughYearX1=function(){return null},c.prototype.use24HourTimeFormatByDefault=function(){return!0},c.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"Wystąpił błąd podczas generowania opisu wyrażenia cron. Sprawdź składnię wyrażenia cron."},c.prototype.at=function(){return"O"},c.prototype.atSpace=function(){return"O "},c.prototype.atX0=function(){return"o %s"},c.prototype.atX0MinutesPastTheHour=function(){return"w %s minucie"},c.prototype.atX0SecondsPastTheMinute=function(){return"w %s sekundzie"},c.prototype.betweenX0AndX1=function(){return"od %s do %s"},c.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", od %s-ego do %s-ego dnia miesiąca"},c.prototype.commaEveryDay=function(){return", co dzień"},c.prototype.commaEveryX0Days=function(){return", co %s dni"},c.prototype.commaEveryX0DaysOfTheWeek=function(){return", co %s dni tygodnia"},c.prototype.commaEveryX0Months=function(){return", co %s miesięcy"},c.prototype.commaEveryX0Years=function(){return", co %s lat"},c.prototype.commaOnDayX0OfTheMonth=function(){return", %s-ego dnia miesiąca"},c.prototype.commaOnlyInX0=function(){return", tylko %s"},c.prototype.commaOnlyOnX0=function(){return", tylko %s"},c.prototype.commaAndOnX0=function(){return", i %s"},c.prototype.commaOnThe=function(){return", "},c.prototype.commaOnTheLastDayOfTheMonth=function(){return", ostatni dzień miesiąca"},c.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", ostatni dzień roboczy miesiąca"},c.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s dni przed ostatnim dniem miesiąca"},c.prototype.commaOnTheLastX0OfTheMonth=function(){return", ostatni %s miesiąca"},c.prototype.commaOnTheX0OfTheMonth=function(){return", %s miesiąca"},c.prototype.commaX0ThroughX1=function(){return", od %s do %s"},c.prototype.commaAndX0ThroughX1=function(){return", i od %s do %s"},c.prototype.everyHour=function(){return"co godzinę"},c.prototype.everyMinute=function(){return"co minutę"},c.prototype.everyMinuteBetweenX0AndX1=function(){return"Co minutę od %s do %s"},c.prototype.everySecond=function(){return"co sekundę"},c.prototype.everyX0Hours=function(){return"co %s godzin"},c.prototype.everyX0Minutes=function(){return"co %s minut"},c.prototype.everyX0Seconds=function(){return"co %s sekund"},c.prototype.fifth=function(){return"piąty"},c.prototype.first=function(){return"pierwszy"},c.prototype.firstWeekday=function(){return"pierwszy dzień roboczy"},c.prototype.fourth=function(){return"czwarty"},c.prototype.minutesX0ThroughX1PastTheHour=function(){return"minuty od %s do %s"},c.prototype.second=function(){return"drugi"},c.prototype.secondsX0ThroughX1PastTheMinute=function(){return"sekundy od %s do %s"},c.prototype.spaceAnd=function(){return" i"},c.prototype.spaceX0OfTheMonth=function(){return" %s miesiąca"},c.prototype.lastDay=function(){return"ostatni dzień"},c.prototype.third=function(){return"trzeci"},c.prototype.weekdayNearestDayX0=function(){return"dzień roboczy najbliższy %s-ego dnia"},c.prototype.commaStartingX0=function(){return", startowy %s"},c.prototype.daysOfTheWeek=function(){return["niedziela","poniedziałek","wtorek","środa","czwartek","piątek","sobota"]},c.prototype.monthsOfTheYear=function(){return["styczeń","luty","marzec","kwiecień","maj","czerwiec","lipiec","sierpień","wrzesień","październik","listopad","grudzień"]},c.prototype.onTheHour=function(){return"o pełnej godzinie"},c})();return l.pl=N,u().locales.pl=new N,M})())})($ue);function Bc(i,e){return fue.toString(i,{locale:e})}const be={mainDiv:{width:"100%",height:"100%"},periodSelect:{display:"block",width:250},tabContent:{padding:20,height:"calc(100% - 240px)",overflow:"auto"},numberButton:{padding:4,minWidth:40,margin:5},appBar:{color:"white"},warning:{marginLeft:16,color:"red",fontSize:12}},Pue=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],Wue=["January","February","March","April","May","June","July","August","September","October","November","December"];function On(i,e){const t=[];if(i==="*"){if(e===24||e===60||e===7)for(let r=0;r1){const M=parseInt(o[1],10);for(let a=parseInt(o[0],10);a<=M;a++)t.push(a)}else t.push(parseInt(s[r],10))}t.sort();for(let r=t.length-1;r>=0;r--)t[r]===t[r+1]&&t.splice(r+1,1);return t}function En(i,e){if(typeof i!="object"&&(i=[i]),i.length===e)return"*";const t=[];if(!i.length)return"-";i=i.map(o=>parseInt(o,10)),i.sort((o,M)=>o-M);let s=i[0],r=i[0];for(let o=1;othis.props.onChange&&this.props.onChange(this.state.cron),100)}static cron2state(e){e=e.replace(/['"]/g,"").trim();const t=e.split(" ").map(r=>r.trim());let s;return t.length===6?s={seconds:t[0]||"*",minutes:t[1]||"*",hours:t[2]||"*",dates:t[3]||"*",months:t[4]||"*",dow:t[5]||"*"}:s={seconds:!1,minutes:t[0]||"*",hours:t[1]||"*",dates:t[2]||"*",months:t[3]||"*",dow:t[4]||"*"},s}static state2cron(e){let t=`${e.minutes} ${e.hours} ${e.dates} ${e.months} ${e.dow}`;return e.seconds!==!1&&(t=`${e.seconds} ${t}`),t}recalcCron(){const e=Pt.state2cron(this.state);e!==this.state.cron&&this.setState({cron:e},()=>this.props.onChange&&this.props.onChange(this.state.cron))}onToggle(e,t,s){if(e===!0)this.setCronAttr(t,"*");else if(e===!1)s===60||s===24?this.setCronAttr(t,"0"):this.setCronAttr(t,"1");else{const r=On(this.state[t],s),o=r.indexOf(e);o!==-1?r.splice(o,1):(r.push(e),r.sort()),this.setCronAttr(t,En(r,s))}}getDigitsSelector(e,t){let s=[];if(t===7)s=[1,2,3,4,5,6,0];else if(t===60||t===24)for(let o=0;othis.onToggle(!1,e,t)},D.t("ra_Deselect all")),n.createElement(X,{key:"addall",variant:"contained",style:be.numberButton,color:"secondary",onClick:()=>this.onToggle(!0,e,t)},D.t("ra_Select all")),n.createElement("div",{key:"all"},s.map(o=>[t===7&&o===4||t===12&&o===7||t===31&&!((o-1)%10)||t===60&&o&&!(o%10)||t===24&&o&&!(o%6)?n.createElement("div",{key:`allInner${o}`,style:{width:"100%"}}):null,n.createElement(X,{key:`_${o}`,variant:r.indexOf(o)!==-1?"contained":"outlined",style:be.numberButton,color:r.indexOf(o)!==-1?"secondary":"primary",onClick:()=>this.onToggle(o,e,t)},t===7?D.t(Pue[o]):t===12?Wue[o-1]:o)]))]}getPeriodsTab(e,t){const s=this.state[e];let r=s==="*",o=s==null?!1:s.toString().includes("/"),M;if(this.state.modes[e]===null){M=r?"every":o?"everyN":"specific";const u=JSON.parse(JSON.stringify(this.state.modes));return u[e]=M,setTimeout(()=>this.setState({modes:u},()=>this.recalcCron()),100),null}r=this.state.modes[e]==="every",o=this.state.modes[e]==="everyN",M=this.state.modes[e];let a=1;return o&&s&&(a=parseInt(s.replace("*/",""),10)||1),n.createElement("div",null,n.createElement(Xe,{variant:"standard",style:{...be.periodSelect,verticalAlign:"bottom"},value:M,onChange:u=>{const l=JSON.parse(JSON.stringify(this.state.modes));if(l[e]=u.target.value,u.target.value==="every")this.setCronAttr(e,"*",l);else if(u.target.value==="everyN"){const N=parseInt((this.state[e]||"").toString().replace("*/",""),10)||1;this.setCronAttr(e,`*/${N}`,l)}else if(u.target.value==="specific"){let N=parseInt((this.state[e]||"").toString().split(",")[0],10)||0;!N&&(e==="months"||e==="dates")&&(N=1),this.setCronAttr(e,En(N,t),l)}}},n.createElement(te,{key:"every",value:"every"},D.t(`sc_every_${e}`)),n.createElement(te,{key:"everyN",value:"everyN"},D.t(`sc_everyN_${e}`)),n.createElement(te,{key:"specific",value:"specific"},D.t(`sc_specific_${e}`))),o&&n.createElement(le,{variant:"standard",key:"interval",label:D.t(`sc_${e}`),value:a,slotProps:{htmlInput:{min:1,max:t},inputLabel:{shrink:!0}},onChange:u=>{this.setState({[e]:`*/${u.target.value}`},()=>this.recalcCron())},type:"number",margin:"normal"}),!r&&!o&&this.getDigitsSelector(e,t))}static convertCronToText(e,t){return e.split(" ").includes("-")?D.t("ra_Invalid CRON"):Bc(e,t)}setCronAttr(e,t,s){s?e==="seconds"?this.setState({seconds:t,modes:s},()=>this.recalcCron()):e==="minutes"?this.setState({minutes:t,modes:s},()=>this.recalcCron()):e==="hours"?this.setState({hours:t,modes:s},()=>this.recalcCron()):e==="dates"?this.setState({dates:t,modes:s},()=>this.recalcCron()):e==="months"?this.setState({months:t,modes:s},()=>this.recalcCron()):e==="dow"?this.setState({dow:t,modes:s},()=>this.recalcCron()):this.setState({modes:s},()=>this.recalcCron()):e==="seconds"?this.setState({seconds:t},()=>this.recalcCron()):e==="minutes"?this.setState({minutes:t},()=>this.recalcCron()):e==="hours"?this.setState({hours:t},()=>this.recalcCron()):e==="dates"?this.setState({dates:t},()=>this.recalcCron()):e==="months"?this.setState({months:t},()=>this.recalcCron()):e==="dow"&&this.setState({dow:t},()=>this.recalcCron())}render(){const e=this.state.seconds!==!1?this.state.tab:this.state.tab+1,t=this.state.minutes==="*"||this.state.minutes==="*/1",s=this.state.seconds==="*"||this.state.seconds==="*/1";return n.createElement("div",{style:be.mainDiv},n.createElement("div",{style:{paddingLeft:8,width:"calc(100% - px)"}},n.createElement(le,{variant:"standard",style:{width:"100%"},value:this.state.cron,disabled:!0})),n.createElement("div",{style:{paddingLeft:8,width:"calc(100% - px)",height:60}},Pt.convertCronToText(this.state.cron,this.props.language||"en"),n.createElement("span",{style:be.warning},s?D.t("ra_warning_every_second"):t?D.t("ra_warning_every_minute"):"")),n.createElement(H,{control:n.createElement(ne,{checked:!!this.state.seconds,onChange:r=>this.setState({seconds:r.target.checked?"*":!1},()=>this.recalcCron())}),label:D.t("ra_use seconds")}),n.createElement(qu,{position:"static",sx:{"&.MuiAppBar-root":be.appBar},color:"secondary"},n.createElement(el,{value:this.state.tab,style:be.appBar,color:"secondary",onChange:(r,o)=>this.setState({tab:o})},this.state.seconds!==!1&&n.createElement(ls,{id:"sc_seconds",label:D.t("sc_seconds")}),n.createElement(ls,{id:"minutes",label:D.t("sc_minutes")}),n.createElement(ls,{id:"hours",label:D.t("sc_hours")}),n.createElement(ls,{id:"dates",label:D.t("sc_dates")}),n.createElement(ls,{id:"months",label:D.t("sc_months")}),n.createElement(ls,{id:"dow",label:D.t("sc_dows")}))),e===0&&n.createElement("div",{style:be.tabContent},this.getPeriodsTab("seconds",60)),e===1&&n.createElement("div",{style:be.tabContent},this.getPeriodsTab("minutes",60)),e===2&&n.createElement("div",{style:be.tabContent},this.getPeriodsTab("hours",24)),e===3&&n.createElement("div",{style:be.tabContent},this.getPeriodsTab("dates",31)),e===4&&n.createElement("div",{style:be.tabContent},this.getPeriodsTab("months",12)),e===5&&n.createElement("div",{style:be.tabContent},this.getPeriodsTab("dow",7)))}}const Ls={modalDialog:{minWidth:400,maxWidth:800},overflowHidden:{display:"flex",overflow:"hidden"},titleIcon:{marginRight:5},content:{fontSize:16},languageButton:{position:"absolute",right:8,top:8},languageButtonActive:i=>({color:i.palette.primary.main})};function Pje(i){const{open:e,toggleTranslation:t,noTranslation:s,title:r,fullWidth:o,help:M,maxWidth:a,progress:u,icon:l,applyDisabled:N,applyButton:c,onClose:L,children:j,titleButtonApply:g,titleButtonClose:y,onApply:d,textInput:h,defaultValue:m,overflowHidden:w}=i,[O,A]=ko(m||"");ye(()=>{A(m||"")},[m]);const I=tl(),p=va(I.breakpoints.down("md"));let S=null;return l&&(S=l),n.createElement(de,{open:e,maxWidth:p?!1:a||"md",fullWidth:!!o,fullScreen:p,disableEscapeKeyDown:!1,onClose:L,sx:{"& .MuiDialog-paper":p?{}:Ls.modalDialog}},r&&n.createElement(he,null,l?n.createElement(S,{style:Ls.titleIcon}):null,r,D.getLanguage()!=="en"&&t?n.createElement(P,{size:"large",sx:E.getStyle(i.theme,Ls.languageButton,s&&Ls.languageButtonActive),onClick:()=>t(),title:D.t("Disable/Enable translation")},n.createElement(cl,null)):null),n.createElement(Ae,{style:{...Ls.content,...w?Ls.overflowHidden:void 0,paddingTop:8}},h&&n.createElement(le,{autoComplete:"off",fullWidth:!0,autoFocus:!0,variant:"outlined",size:"medium",multiline:!0,value:O,onChange:f=>A(f.target.value)}),j,M?n.createElement("div",null,M):null),n.createElement(me,null,c!==!1&&n.createElement(X,{startIcon:n.createElement(Ue,null),disabled:u||N&&m===O,onClick:()=>d(h?O:""),variant:"contained",color:"primary"},D.t(g||"ra_Ok")),n.createElement(X,{color:"grey",onClick:L,disabled:u,variant:"contained",startIcon:n.createElement(ge,null)},D.t(y||"ra_Cancel"))))}function Rue(){const i=nN();return[...i.breakpoints.keys].reverse().reduce((t,s)=>{const r=va(i.breakpoints.up(s));return!t&&r?s:t},null)||"xs"}function ur(){return i=>function(t){const s=Rue();return n.createElement(i,{...t,width:s})}}function Jue(i){const[e,t]=n.useState(i.input||i.value||""),[s,r]=n.useState("");return n.createElement(de,{open:!0,onClose:()=>i.onClose(null),"aria-labelledby":"form-dialog-title",fullWidth:i.fullWidth!==void 0?i.fullWidth:!1},n.createElement(he,{id:"form-dialog-title"},i.titleText),n.createElement(Ae,null,n.createElement(Jt,null,i.promptText),n.createElement(le,{variant:"standard",autoFocus:!0,margin:"dense",error:!!s,helperText:s===!0||!s?"":s,value:e,label:i.labelText||"",type:i.type||"text",onKeyUp:o=>o.code==="Enter"&&e&&i.onClose(e),onChange:o=>{let M="";i.verify&&(M=!i.verify(o.target.value)),i.rule?t(i.rule(o.target.value)):t(o.target.value),r(M)},fullWidth:!0})),n.createElement(me,null,n.createElement(X,{variant:"contained",disabled:!e||!!s,onClick:()=>i.onClose(e),color:"primary",startIcon:n.createElement(Ue,null)},i.applyText||D.t("ra_Ok")),n.createElement(X,{color:"grey",variant:"contained",onClick:()=>i.onClose(null),startIcon:n.createElement(ge,null)},i.cancelText||D.t("ra_Cancel"))))}const Bue=ur()(Jue);function uo(i){return n.createElement("svg",{onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 486 486",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),xmlns:"http://www.w3.org/2000/svg",className:i.className,style:i.style},n.createElement("path",{fill:"currentColor",d:"m414.928297,149.715165 c-2.639376,-57.222555 -35.669446,-106.505345 -83.345894,-132.039151 c-3.758948,-2.049842 -7.636885,-3.932022 -11.590542,-5.641125 c-19.303146,-8.394083 -40.607459,-13.050853 -63.004303,-13.050853 c-84.113909,0 -152.791790,65.703174 -157.718988,148.605566 l0.043268,-0.010816 v0.281245 c0,3.061243 -0.146031,16.750306 -0.146031,16.750306 l-2.352723,5.224668 h15.744315 c5.916964,-19.384275 24.078904,-32.635245 45.513024,-32.635245 c26.231510,0 47.573684,21.915481 47.573684,48.146991 c0,26.226103 -21.342174,47.146409 -47.573684,47.146409 c-25.111939,0 -45.734774,-19.735831 -47.443879,-44.658471 h-18.789334 c-0.400232,0 -0.778832,0.638209 -1.162839,0.584122 l-19.762875,55.199753 c-2.774590,7.696379 2.926030,16.214860 11.103771,16.214860 h17.020735 l-0.129805,87.899899 c0,17.356066 14.073071,31.174935 31.429136,31.174935 h56.205745 v82.648189 c0,12.877778 12.937273,22.580734 25.815051,22.580734 h144.597825 c12.877778,0 23.429877,-9.702955 23.429877,-22.580734 v-166.037352 c0,-22.645636 5.976457,-44.761234 16.561008,-64.789128 c11.055093,-20.925714 17.523731,-44.620611 18.129489,-69.792045 c0.027042,-1.260193 0.037858,-2.552839 0.037858,-3.845485 c0,-2.466302 -0.070310,-4.938014 -0.183890,-7.377273 zm-155.393308,-11.731165 h-13.456494 v13.559257 c0,4.732489 -4.267352,8.567157 -8.999842,8.567157 c-4.727079,0 -8.999842,-3.834667 -8.999842,-8.567157 v-13.559257 h-12.185483 c-4.732489,0 -8.567157,-4.267352 -8.567157,-8.999842 c0,-4.727079 3.834667,-8.999842 8.567157,-8.999842 h12.185483 v-12.077311 c0,-4.732489 4.272762,-8.567157 8.999842,-8.567157 c4.732489,0 8.999842,3.834667 8.999842,8.567157 v12.077311 h13.456494 c4.727079,0 8.567157,4.272762 8.567157,8.999842 c0,4.732489 -3.840077,8.999842 -8.567157,8.999842 zm0,0"}),n.createElement("path",{fill:"currentColor",d:"m187.695312 285.875c3.9375-3.980469 6.414063-9.449219 6.414063-15.523438 0-12.128906-9.855469-21.980468-21.984375-21.980468-6.007812 0-11.472656 2.410156-15.457031 6.347656-4.023438 4.003906-6.523438 9.539062-6.523438 15.636719 0 12.125 9.855469 21.980469 21.980469 21.980469 6.078125 0 11.585938-2.476563 15.570312-6.460938zm0 0"}))}function ms(i){return n.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 650 512",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},n.createElement("path",{fill:"currentColor",d:"m524,128l-192,0l-64,-64l-160,0c-26.51,0 -48,21.49 -48,48l0,288c0,26.51 21.49,48 48,48l416,0c26.51,0 48,-21.49 48,-48l0,-224c0,-26.51 -21.49,-48 -48,-48z"}))}function vi(i){return n.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 650 512",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},n.createElement("path",{fill:"currentColor",d:"m631.75617,292.093l-72.424,124.155a63.997,63.997 0 0 1 -55.281,31.752l-399.964,0c-18.523,0 -30.064,-20.093 -20.731,-36.093l72.424,-124.155a64,64 0 0 1 55.282,-31.752l399.964,0c18.523,0 30.064,20.093 20.73,36.093zm-420.694,-68.093l328,0l0,-48c0,-26.51 -21.49,-48 -48,-48l-160,0l-64,-64l-160,0c-26.51,0 -48,21.49 -48,48l0,278.046l69.077,-118.418c17.137,-29.378 48.912,-47.628 82.923,-47.628z"}))}function sM(i){return n.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 512 512",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},n.createElement("path",{fill:"#EE3333",d:"M256,0C114.844,0,0,114.844,0,256s114.844,256,256,256s256-114.844,256-256S397.156,0,256,0z M256,448 c-105.865,0-192-86.135-192-192c0-40.406,12.25-78.604,35.542-111.198l267.656,267.656C334.604,435.75,296.406,448,256,448z M412.458,367.198L144.802,99.542C177.396,76.25,215.594,64,256,64c105.865,0,192,86.135,192,192 C448,296.406,435.75,334.604,412.458,367.198z"}))}var Gue=i=>typeof i!="string"?{}:i.split(/ ?; ?/).reduce((e,t)=>{const[s,r]=t.split(/ ?: ?/).map((o,M)=>M===0?o.replace(/\s+/g,""):o.trim());if(s&&r){const o=s.replace(/(\w)-(\w)/g,(a,u,l)=>`${u}${l.toUpperCase()}`);let M=r.trim();Number.isNaN(Number(r))||(M=Number(r)),e[s.startsWith("-")?s:o]=M}return e},{});function Fue(i=6){const e="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";let t="";for(let s=i;s>0;--s)t+=e[Math.round(Math.random()*(e.length-1))];return t}var Hue=["br","col","colgroup","dl","hr","iframe","img","input","link","menuitem","meta","ol","param","select","table","tbody","tfoot","thead","tr","ul","wbr"],_n={"accept-charset":"acceptCharset",acceptcharset:"acceptCharset",accesskey:"accessKey",allowfullscreen:"allowFullScreen",autocapitalize:"autoCapitalize",autocomplete:"autoComplete",autocorrect:"autoCorrect",autofocus:"autoFocus",autoplay:"autoPlay",autosave:"autoSave",cellpadding:"cellPadding",cellspacing:"cellSpacing",charset:"charSet",class:"className",classid:"classID",classname:"className",colspan:"colSpan",contenteditable:"contentEditable",contextmenu:"contextMenu",controlslist:"controlsList",crossorigin:"crossOrigin",dangerouslysetinnerhtml:"dangerouslySetInnerHTML",datetime:"dateTime",defaultchecked:"defaultChecked",defaultvalue:"defaultValue",enctype:"encType",for:"htmlFor",formmethod:"formMethod",formaction:"formAction",formenctype:"formEncType",formnovalidate:"formNoValidate",formtarget:"formTarget",frameborder:"frameBorder",hreflang:"hrefLang",htmlfor:"htmlFor",httpequiv:"httpEquiv","http-equiv":"httpEquiv",icon:"icon",innerhtml:"innerHTML",inputmode:"inputMode",itemid:"itemID",itemprop:"itemProp",itemref:"itemRef",itemscope:"itemScope",itemtype:"itemType",keyparams:"keyParams",keytype:"keyType",marginwidth:"marginWidth",marginheight:"marginHeight",maxlength:"maxLength",mediagroup:"mediaGroup",minlength:"minLength",nomodule:"noModule",novalidate:"noValidate",playsinline:"playsInline",radiogroup:"radioGroup",readonly:"readOnly",referrerpolicy:"referrerPolicy",rowspan:"rowSpan",spellcheck:"spellCheck",srcdoc:"srcDoc",srclang:"srcLang",srcset:"srcSet",tabindex:"tabIndex",typemustmatch:"typeMustMatch",usemap:"useMap",accentheight:"accentHeight","accent-height":"accentHeight",alignmentbaseline:"alignmentBaseline","alignment-baseline":"alignmentBaseline",allowreorder:"allowReorder",arabicform:"arabicForm","arabic-form":"arabicForm",attributename:"attributeName",attributetype:"attributeType",autoreverse:"autoReverse",basefrequency:"baseFrequency",baselineshift:"baselineShift","baseline-shift":"baselineShift",baseprofile:"baseProfile",calcmode:"calcMode",capheight:"capHeight","cap-height":"capHeight",clippath:"clipPath","clip-path":"clipPath",clippathunits:"clipPathUnits",cliprule:"clipRule","clip-rule":"clipRule",colorinterpolation:"colorInterpolation","color-interpolation":"colorInterpolation",colorinterpolationfilters:"colorInterpolationFilters","color-interpolation-filters":"colorInterpolationFilters",colorprofile:"colorProfile","color-profile":"colorProfile",colorrendering:"colorRendering","color-rendering":"colorRendering",contentscripttype:"contentScriptType",contentstyletype:"contentStyleType",diffuseconstant:"diffuseConstant",dominantbaseline:"dominantBaseline","dominant-baseline":"dominantBaseline",edgemode:"edgeMode",enablebackground:"enableBackground","enable-background":"enableBackground",externalresourcesrequired:"externalResourcesRequired",fillopacity:"fillOpacity","fill-opacity":"fillOpacity",fillrule:"fillRule","fill-rule":"fillRule",filterres:"filterRes",filterunits:"filterUnits",floodopacity:"floodOpacity","flood-opacity":"floodOpacity",floodcolor:"floodColor","flood-color":"floodColor",fontfamily:"fontFamily","font-family":"fontFamily",fontsize:"fontSize","font-size":"fontSize",fontsizeadjust:"fontSizeAdjust","font-size-adjust":"fontSizeAdjust",fontstretch:"fontStretch","font-stretch":"fontStretch",fontstyle:"fontStyle","font-style":"fontStyle",fontvariant:"fontVariant","font-variant":"fontVariant",fontweight:"fontWeight","font-weight":"fontWeight",glyphname:"glyphName","glyph-name":"glyphName",glyphorientationhorizontal:"glyphOrientationHorizontal","glyph-orientation-horizontal":"glyphOrientationHorizontal",glyphorientationvertical:"glyphOrientationVertical","glyph-orientation-vertical":"glyphOrientationVertical",glyphref:"glyphRef",gradienttransform:"gradientTransform",gradientunits:"gradientUnits",horizadvx:"horizAdvX","horiz-adv-x":"horizAdvX",horizoriginx:"horizOriginX","horiz-origin-x":"horizOriginX",imagerendering:"imageRendering","image-rendering":"imageRendering",kernelmatrix:"kernelMatrix",kernelunitlength:"kernelUnitLength",keypoints:"keyPoints",keysplines:"keySplines",keytimes:"keyTimes",lengthadjust:"lengthAdjust",letterspacing:"letterSpacing","letter-spacing":"letterSpacing",lightingcolor:"lightingColor","lighting-color":"lightingColor",limitingconeangle:"limitingConeAngle",markerend:"markerEnd","marker-end":"markerEnd",markerheight:"markerHeight",markermid:"markerMid","marker-mid":"markerMid",markerstart:"markerStart","marker-start":"markerStart",markerunits:"markerUnits",markerwidth:"markerWidth",maskcontentunits:"maskContentUnits",maskunits:"maskUnits",numoctaves:"numOctaves",overlineposition:"overlinePosition","overline-position":"overlinePosition",overlinethickness:"overlineThickness","overline-thickness":"overlineThickness",paintorder:"paintOrder","paint-order":"paintOrder","panose-1":"panose1",pathlength:"pathLength",patterncontentunits:"patternContentUnits",patterntransform:"patternTransform",patternunits:"patternUnits",pointerevents:"pointerEvents","pointer-events":"pointerEvents",pointsatx:"pointsAtX",pointsaty:"pointsAtY",pointsatz:"pointsAtZ",preservealpha:"preserveAlpha",preserveaspectratio:"preserveAspectRatio",primitiveunits:"primitiveUnits",refx:"refX",refy:"refY",renderingintent:"renderingIntent","rendering-intent":"renderingIntent",repeatcount:"repeatCount",repeatdur:"repeatDur",requiredextensions:"requiredExtensions",requiredfeatures:"requiredFeatures",shaperendering:"shapeRendering","shape-rendering":"shapeRendering",specularconstant:"specularConstant",specularexponent:"specularExponent",spreadmethod:"spreadMethod",startoffset:"startOffset",stddeviation:"stdDeviation",stitchtiles:"stitchTiles",stopcolor:"stopColor","stop-color":"stopColor",stopopacity:"stopOpacity","stop-opacity":"stopOpacity",strikethroughposition:"strikethroughPosition","strikethrough-position":"strikethroughPosition",strikethroughthickness:"strikethroughThickness","strikethrough-thickness":"strikethroughThickness",strokedasharray:"strokeDasharray","stroke-dasharray":"strokeDasharray",strokedashoffset:"strokeDashoffset","stroke-dashoffset":"strokeDashoffset",strokelinecap:"strokeLinecap","stroke-linecap":"strokeLinecap",strokelinejoin:"strokeLinejoin","stroke-linejoin":"strokeLinejoin",strokemiterlimit:"strokeMiterlimit","stroke-miterlimit":"strokeMiterlimit",strokewidth:"strokeWidth","stroke-width":"strokeWidth",strokeopacity:"strokeOpacity","stroke-opacity":"strokeOpacity",suppresscontenteditablewarning:"suppressContentEditableWarning",suppresshydrationwarning:"suppressHydrationWarning",surfacescale:"surfaceScale",systemlanguage:"systemLanguage",tablevalues:"tableValues",targetx:"targetX",targety:"targetY",textanchor:"textAnchor","text-anchor":"textAnchor",textdecoration:"textDecoration","text-decoration":"textDecoration",textlength:"textLength",textrendering:"textRendering","text-rendering":"textRendering",underlineposition:"underlinePosition","underline-position":"underlinePosition",underlinethickness:"underlineThickness","underline-thickness":"underlineThickness",unicodebidi:"unicodeBidi","unicode-bidi":"unicodeBidi",unicoderange:"unicodeRange","unicode-range":"unicodeRange",unitsperem:"unitsPerEm","units-per-em":"unitsPerEm",unselectable:"unselectable",valphabetic:"vAlphabetic","v-alphabetic":"vAlphabetic",vectoreffect:"vectorEffect","vector-effect":"vectorEffect",vertadvy:"vertAdvY","vert-adv-y":"vertAdvY",vertoriginx:"vertOriginX","vert-origin-x":"vertOriginX",vertoriginy:"vertOriginY","vert-origin-y":"vertOriginY",vhanging:"vHanging","v-hanging":"vHanging",videographic:"vIdeographic","v-ideographic":"vIdeographic",viewbox:"viewBox",viewtarget:"viewTarget",vmathematical:"vMathematical","v-mathematical":"vMathematical",wordspacing:"wordSpacing","word-spacing":"wordSpacing",writingmode:"writingMode","writing-mode":"writingMode",xchannelselector:"xChannelSelector",xheight:"xHeight","x-height":"xHeight",xlinkactuate:"xlinkActuate","xlink:actuate":"xlinkActuate",xlinkarcrole:"xlinkArcrole","xlink:arcrole":"xlinkArcrole",xlinkhref:"xlinkHref","xlink:href":"xlinkHref",xlinkrole:"xlinkRole","xlink:role":"xlinkRole",xlinkshow:"xlinkShow","xlink:show":"xlinkShow",xlinktitle:"xlinkTitle","xlink:title":"xlinkTitle",xlinktype:"xlinkType","xlink:type":"xlinkType",xmlbase:"xmlBase","xml:base":"xmlBase",xmllang:"xmlLang","xml:lang":"xmlLang","xml:space":"xmlSpace",xmlnsxlink:"xmlnsXlink","xmlns:xlink":"xmlnsXlink",xmlspace:"xmlSpace",ychannelselector:"yChannelSelector",zoomandpan:"zoomAndPan",onblur:"onBlur",onchange:"onChange",onclick:"onClick",oncontextmenu:"onContextMenu",ondoubleclick:"onDoubleClick",ondrag:"onDrag",ondragend:"onDragEnd",ondragenter:"onDragEnter",ondragexit:"onDragExit",ondragleave:"onDragLeave",ondragover:"onDragOver",ondragstart:"onDragStart",ondrop:"onDrop",onerror:"onError",onfocus:"onFocus",oninput:"onInput",oninvalid:"onInvalid",onkeydown:"onKeyDown",onkeypress:"onKeyPress",onkeyup:"onKeyUp",onload:"onLoad",onmousedown:"onMouseDown",onmouseenter:"onMouseEnter",onmouseleave:"onMouseLeave",onmousemove:"onMouseMove",onmouseout:"onMouseOut",onmouseover:"onMouseOver",onmouseup:"onMouseUp",onscroll:"onScroll",onsubmit:"onSubmit",ontouchcancel:"onTouchCancel",ontouchend:"onTouchEnd",ontouchmove:"onTouchMove",ontouchstart:"onTouchStart",onwheel:"onWheel"};function Vue(i,e){var o;const{key:t,level:s,...r}=e;switch(i.nodeType){case 1:return Fu(Xue(i.nodeName),Zue(i,t),fn(i.childNodes,s,r));case 3:{const M=((o=i.nodeValue)==null?void 0:o.toString())??"";if(!r.allowWhiteSpaces&&/^\s+$/.test(M)&&!/[\u00A0\u202F]/.test(M))return null;if(!i.parentNode)return M;const a=i.parentNode.nodeName.toLowerCase();return Hue.includes(a)?(/\S/.test(M)&&console.warn(`A textNode is not allowed inside '${a}'. Your text "${M}" will be ignored`),null):M}case 8:return null;case 11:return fn(i.childNodes,s,e);default:return null}}function Zue(i,e){const t={key:e};if(i instanceof Element){const s=i.getAttribute("class");s&&(t.className=s),[...i.attributes].forEach(r=>{switch(r.name){case"class":break;case"style":t[r.name]=Gue(r.value);break;case"allowfullscreen":case"allowpaymentrequest":case"async":case"autofocus":case"autoplay":case"checked":case"controls":case"default":case"defer":case"disabled":case"formnovalidate":case"hidden":case"ismap":case"itemscope":case"loop":case"multiple":case"muted":case"nomodule":case"novalidate":case"open":case"readonly":case"required":case"reversed":case"selected":case"typemustmatch":t[_n[r.name]||r.name]=!0;break;default:t[_n[r.name]||r.name]=r.value}})}return t}function fn(i,e,t){const s=[...i].map((r,o)=>Gi(r,{...t,index:o,level:e+1})).filter(Boolean);return s.length?s:null}function Xue(i){return/[a-z]+[A-Z]+[a-z]+/.test(i)?i:i.toLowerCase()}function Gc(i,e={}){return typeof i=="string"?Kue(i,e):i instanceof Node?Gi(i,e):null}function Gi(i,e={}){if(!i||!(i instanceof Node))return null;const{actions:t=[],index:s=0,level:r=0,randomKey:o}=e;let M=i,a=`${r}-${s}`;const u=[];return o&&r===0&&(a=`${Fue()}-${a}`),Array.isArray(t)&&t.forEach(l=>{l.condition(M,a,r)&&(typeof l.pre=="function"&&(M=l.pre(M,a,r),M instanceof Node||(M=i)),typeof l.post=="function"&&u.push(l.post(M,a,r)))}),u.length?u:Vue(M,{key:a,level:r,...e})}function Kue(i,e={}){if(!i||typeof i!="string")return null;const{includeAllNodes:t=!1,nodeOnly:s=!1,selector:r="body > *",type:o="text/html"}=e;try{const a=new DOMParser().parseFromString(i,o);if(t){const{childNodes:l}=a.body;return s?l:[...l].map(N=>Gi(N,e))}const u=a.querySelector(r)||a.body.childNodes[0];if(!(u instanceof Node))throw new TypeError("Error parsing input");return s?u:Gi(u,e)}catch{}return null}var que=Object.defineProperty,ele=(i,e,t)=>e in i?que(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,Ci=(i,e,t)=>ele(i,typeof e!="symbol"?e+"":e,t),Sn="react-inlinesvg",tle=10,re={IDLE:"idle",LOADING:"loading",LOADED:"loaded",FAILED:"failed",READY:"ready",UNSUPPORTED:"unsupported"};function sle(i){return i[Math.floor(Math.random()*i.length)]}function Zs(){var i;return!!(typeof window<"u"&&((i=window.document)!=null&&i.createElement))}function ile(){return nle()&&typeof window<"u"&&window!==null}function rle(i,...e){const t={};for(const s in i)({}).hasOwnProperty.call(i,s)&&(e.includes(s)||(t[s]=i[s]));return t}function ole(i){const e="abcdefghijklmnopqrstuvwxyz",s=`${e}${e.toUpperCase()}1234567890`;let r="";for(let o=0;o299)throw new Error("Not found");if(!["image/svg+xml","text/plain"].some(o=>r.includes(o)))throw new Error(`Content type isn't valid: ${r}`);return t.text()}function Mle(i=1){return new Promise(e=>{setTimeout(e,i*1e3)})}function nle(){if(!document)return!1;const i=document.createElement("div");i.innerHTML="";const e=i.firstChild;return!!e&&e.namespaceURI==="http://www.w3.org/2000/svg"}var ale=class{constructor(){Ci(this,"cacheApi"),Ci(this,"cacheStore"),Ci(this,"subscribers",[]),Ci(this,"isReady",!1),this.cacheStore=new Map;let i=Sn,e=!1;Zs()&&(i=window.REACT_INLINESVG_CACHE_NAME??Sn,e=!!window.REACT_INLINESVG_PERSISTENT_CACHE&&"caches"in window),e?caches.open(i).then(t=>{this.cacheApi=t}).catch(t=>{console.error(`Failed to open cache: ${t.message}`),this.cacheApi=void 0}).finally(()=>{this.isReady=!0;const t=[...this.subscribers];this.subscribers.length=0,t.forEach(s=>{try{s()}catch(r){console.error(`Error in CacheStore subscriber callback: ${r.message}`)}})}):this.isReady=!0}onReady(i){this.isReady?i():this.subscribers.push(i)}async get(i,e){var t;return await(this.cacheApi?this.fetchAndAddToPersistentCache(i,e):this.fetchAndAddToInternalCache(i,e)),((t=this.cacheStore.get(i))==null?void 0:t.content)??""}set(i,e){this.cacheStore.set(i,e)}isCached(i){var e;return((e=this.cacheStore.get(i))==null?void 0:e.status)===re.LOADED}async fetchAndAddToInternalCache(i,e){const t=this.cacheStore.get(i);if((t==null?void 0:t.status)===re.LOADING){await this.handleLoading(i,async()=>{this.cacheStore.set(i,{content:"",status:re.IDLE}),await this.fetchAndAddToInternalCache(i,e)});return}if(!(t!=null&&t.content)){this.cacheStore.set(i,{content:"",status:re.LOADING});try{const s=await Fc(i,e);this.cacheStore.set(i,{content:s,status:re.LOADED})}catch(s){throw this.cacheStore.set(i,{content:"",status:re.FAILED}),s}}}async fetchAndAddToPersistentCache(i,e){var r,o,M;const t=this.cacheStore.get(i);if((t==null?void 0:t.status)===re.LOADED)return;if((t==null?void 0:t.status)===re.LOADING){await this.handleLoading(i,async()=>{this.cacheStore.set(i,{content:"",status:re.IDLE}),await this.fetchAndAddToPersistentCache(i,e)});return}this.cacheStore.set(i,{content:"",status:re.LOADING});const s=await((r=this.cacheApi)==null?void 0:r.match(i));if(s){const a=await s.text();this.cacheStore.set(i,{content:a,status:re.LOADED});return}try{await((o=this.cacheApi)==null?void 0:o.add(new Request(i,e)));const a=await((M=this.cacheApi)==null?void 0:M.match(i)),u=await(a==null?void 0:a.text())??"";this.cacheStore.set(i,{content:u,status:re.LOADED})}catch(a){throw this.cacheStore.set(i,{content:"",status:re.FAILED}),a}}async handleLoading(i,e){var t;for(let s=0;s({[i]:e}))}async delete(i){this.cacheApi&&await this.cacheApi.delete(i),this.cacheStore.delete(i)}async clear(){if(this.cacheApi){const i=await this.cacheApi.keys();await Promise.allSettled(i.map(e=>this.cacheApi.delete(e)))}this.cacheStore.clear()}};function xn(i){const e=Fe(void 0);return ye(()=>{e.current=i}),e.current}function cle(i){const{baseURL:e,content:t,description:s,handleError:r,hash:o,preProcessor:M,title:a,uniquifyIDs:u=!1}=i;try{const l=ule(t,M),N=Gc(l,{nodeOnly:!0});if(!N||!(N instanceof SVGSVGElement))throw new Error("Could not convert the src to a DOM Node");const c=Hc(N,{baseURL:e,hash:o,uniquifyIDs:u});if(s){const L=c.querySelector("desc");L!=null&&L.parentNode&&L.parentNode.removeChild(L);const j=document.createElementNS("http://www.w3.org/2000/svg","desc");j.innerHTML=s,c.prepend(j)}if(typeof a<"u"){const L=c.querySelector("title");if(L!=null&&L.parentNode&&L.parentNode.removeChild(L),a){const j=document.createElementNS("http://www.w3.org/2000/svg","title");j.innerHTML=a,c.prepend(j)}}return c}catch(l){return r(l)}}function ule(i,e){return e?e(i):i}function Hc(i,e){const{baseURL:t="",hash:s,uniquifyIDs:r}=e,o=["id","href","xlink:href","xlink:role","xlink:arcrole"],M=["href","xlink:href"],a=(u,l)=>M.includes(u)&&(l?!l.includes("#"):!1);return r&&[...i.children].forEach(u=>{var l;if((l=u.attributes)!=null&&l.length){const N=Object.values(u.attributes).map(c=>{const L=c,j=/url\((.*?)\)/.exec(c.value);return j!=null&&j[1]&&(L.value=c.value.replace(j[0],`url(${t}${j[1]}__${s})`)),L});o.forEach(c=>{const L=N.find(j=>j.name===c);L&&!a(c,L.value)&&(L.value=`${L.value}__${s}`)})}return u.children.length?Hc(u,e):u}),i}var Is;function lle(i){const{cacheRequests:e=!0,children:t=null,description:s,fetchOptions:r,innerRef:o,loader:M=null,onError:a,onLoad:u,src:l,title:N,uniqueHash:c}=i,[L,j]=Hu((Y,J)=>({...Y,...J}),{content:"",element:null,isCached:e&&Is.isCached(i.src),status:re.IDLE}),{content:g,element:y,isCached:d,status:h}=L,m=xn(i),w=xn(L),O=Fe(c??ole(8)),A=Fe(!1),I=Fe(!1),p=Qt(Y=>{A.current&&(j({status:Y.message==="Browser does not support SVG"?re.UNSUPPORTED:re.FAILED}),a==null||a(Y))},[a]),S=Qt((Y,J=!1)=>{A.current&&j({content:Y,isCached:J,status:re.LOADED})},[]),f=Qt(async()=>{const Y=await Fc(l,r);S(Y)},[r,S,l]),$=Qt(()=>{try{const Y=cle({...i,handleError:p,hash:O.current,content:g}),J=Gc(Y);if(!J||!Vu(J))throw new Error("Could not convert the src to a React element");j({element:J,status:re.READY})}catch(Y){p(Y)}},[g,p,i]),x=Qt(async()=>{const Y=/^data:image\/svg[^,]*?(;base64)?,(.*)/u.exec(l);let J;if(Y?J=Y[1]?window.atob(Y[2]):decodeURIComponent(Y[2]):l.includes("{A.current&&j({content:"",element:null,isCached:!1,status:re.LOADING})},[]);ye(()=>{if(A.current=!0,!(!Zs()||I.current)){try{if(h===re.IDLE){if(!ile())throw new Error("Browser does not support SVG");if(!l)throw new Error("Missing src");Z()}}catch(Y){p(Y)}return I.current=!0,()=>{A.current=!1}}},[]),ye(()=>{if(!(!Zs()||!m)&&m.src!==l){if(!l){p(new Error("Missing src"));return}Z()}},[p,Z,m,l]),ye(()=>{h===re.LOADED&&$()},[h,$]),ye(()=>{!Zs()||!m||m.src!==l||(m.title!==N||m.description!==s)&&$()},[s,$,m,l,N]),ye(()=>{if(w)switch(h){case re.LOADING:{w.status!==re.LOADING&&x();break}case re.LOADED:{w.status!==re.LOADED&&$();break}case re.READY:{w.status!==re.READY&&(u==null||u(l,d));break}}},[x,$,d,u,w,l,h]);const k=rle(i,"baseURL","cacheRequests","children","description","fetchOptions","innerRef","loader","onError","onLoad","preProcessor","src","title","uniqueHash","uniquifyIDs");return Zs()?y?Zu(y,{ref:o,...k}):[re.UNSUPPORTED,re.FAILED].includes(h)?t:M:M}function lo(i){Is||(Is=new ale);const{loader:e}=i,[t,s]=ko(Is.isReady);return ye(()=>{t||Is.onReady(()=>{s(!0)})},[t]),t?n.createElement(lle,{...i}):e}function Nle(i){return n.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 512 512",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},n.createElement("path",{fill:"currentColor",d:"M96.06 454.35c.01 6.29 1.87 12.45 5.36 17.69l17.09 25.69a31.99 31.99 0 0 0 26.64 14.28h61.71a31.99 31.99 0 0 0 26.64-14.28l17.09-25.69a31.989 31.989 0 0 0 5.36-17.69l.04-38.35H96.01l.05 38.35zM0 176c0 44.37 16.45 84.85 43.56 115.78 16.52 18.85 42.36 58.23 52.21 91.45.04.26.07.52.11.78h160.24c.04-.26.07-.51.11-.78 9.85-33.22 35.69-72.6 52.21-91.45C335.55 260.85 352 220.37 352 176 352 78.61 272.91-.3 175.45 0 73.44.31 0 82.97 0 176zm176-80c-44.11 0-80 35.89-80 80 0 8.84-7.16 16-16 16s-16-7.16-16-16c0-61.76 50.24-112 112-112 8.84 0 16 7.16 16 16s-7.16 16-16 16z"}))}function Wje(i){let e;const t=i==null?void 0:i._id;return t?(t.startsWith("_design/")||t==="system"?e=n.createElement(Pi,{className:"iconOwn"}):t==="0_userdata"||t==="0_userdata.0"?e=n.createElement(ul,{className:"iconOwn"}):t==="alias"||t==="alias.0"?e=n.createElement(Nle,{className:"iconOwn"}):t==="system.adapter"?e=n.createElement(Pi,{className:"iconOwn"}):t==="system.group"?e=n.createElement(Yo,{className:"iconOwn"}):t==="system.user"?e=n.createElement(Qo,{className:"iconOwn"}):t==="system.host"?e=n.createElement(Uo,{className:"iconOwn"}):t.endsWith(".connection")||t.endsWith(".connected")?e=n.createElement(zs,{className:"iconOwn"}):t.endsWith(".info")?e=n.createElement(vo,{className:"iconOwn"}):(i==null?void 0:i.type)==="meta"&&(e=n.createElement(er,{className:"iconOwn"})),e||null):null}function Rje(i,e){var r;e=e||".";let t="";const s=i==null?void 0:i.common;if(s){const o=s.icon;if(o)if(o.startsWith("data:image/"))t=o;else if(o.includes(".")){let M;i.type==="instance"||i.type==="adapter"?t=`${e}/adapter/${s.name}/${o}`:(r=i._id)!=null&&r.startsWith("system.adapter.")?(M=i._id.split(".",3),o[0]==="/"?M[2]+=o:M[2]+=`/${o}`,t=`${e}/adapter/${M[2]}`):(M=i._id.split(".",2),o[0]==="/"?M[0]+=o:M[0]+=`/${o}`,t=`${e}/adapter/${M[0]}`)}else return null}return t||null}const Lle=window.location.hostname.endsWith("iobroker.in"),kn=window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/")+1),Se=n.forwardRef(function(e,t){var s,r,o;if(e.src){if(typeof e.src=="string"){if(e.src.length<3)return e.sx?n.createElement(W,{component:"span",sx:e.sx,ref:t,title:e.title||void 0,style:{height:27,marginTop:-8,...e.styleUTF8||e.style},className:e.className?`iconOwn ${e.className}`:"iconOwn"},e.src):n.createElement("span",{ref:t,title:e.title||void 0,style:{height:27,marginTop:-8,...e.styleUTF8||e.style},className:e.className?`iconOwn ${e.className}`:"iconOwn"},e.src);if(e.src.startsWith("data:image/svg"))return n.createElement(lo,{title:e.title||void 0,src:e.src,className:e.className?`iconOwn ${e.className}`:"iconOwn",width:((s=e.style)==null?void 0:s.width)||28,height:((r=e.style)==null?void 0:r.height)||((o=e.style)==null?void 0:o.width)||28,style:e.style||void 0});if(Lle&&!e.src.startsWith("http://")&&!e.src.startsWith("https://")){let M=e.src;return M.startsWith("./")?M=kn+M.substring(2):M.startsWith("/")||(M=kn+M),e.sx?n.createElement(W,{component:"img",sx:e.sx,title:e.title||void 0,style:e.style||void 0,className:e.className?`iconOwn ${e.className}`:"iconOwn",src:`https://remote-files.iobroker.in${M}`,alt:e.alt||void 0,ref:t,onError:a=>{var u;return(u=e.onError)==null?void 0:u.call(e,a)}}):n.createElement("img",{title:e.title||void 0,style:e.style||void 0,className:e.className?`iconOwn ${e.className}`:"iconOwn",src:`https://remote-files.iobroker.in${M}`,alt:e.alt||void 0,ref:t,onError:a=>{var u;return(u=e.onError)==null?void 0:u.call(e,a)}})}return e.sx?n.createElement(W,{component:"img",sx:e.sx,title:e.title||void 0,style:e.style||void 0,className:e.className?`iconOwn ${e.className}`:"iconOwn",src:e.src,alt:e.alt||void 0,ref:t,onError:e.onError}):n.createElement("img",{title:e.title||void 0,style:e.style||void 0,className:e.className?`iconOwn ${e.className}`:"iconOwn",src:e.src,alt:e.alt||void 0,ref:t,onError:e.onError})}return e.src}return null});Se.displayName="Icon";const Vt={dialog:{height:"100%"},paper:{height:"calc(100% - 64px)"},content:{textAlign:"center"},textarea:{width:"100%",height:"100%"},img:{width:"auto",height:"calc(100% - 5px)",objectFit:"contain"},dialogTitle:{justifyContent:"space-between",display:"flex"}},Ee={images:["png","jpg","svg","jpeg","bmp","gif","apng","avif","webp","ico"],code:["js","json","json5","md"],txt:["log","txt","html","css","xml","ics","csv"],audio:["mp3","wav","ogg","acc"],video:["mp4","mov","avi"]};function Yn(i,e){let t="";const s=new Uint8Array((i==null?void 0:i.data)||i),r=s.byteLength;for(let o=0;o{let o="";r.file!==void 0&&(o=r.file);const M={copyPossible:this.state.copyPossible,ext:this.state.ext};if(o.type==="Buffer")if(s.toLowerCase().endsWith(".json5")){M.ext="json5",M.copyPossible=!0;try{o=atob(Yn(o,!0))}catch{console.error("Cannot convert base64 to string"),o=""}}else{const a=E.detectMimeType(Yn(o));a&&(M.ext=a,M.copyPossible=Ee.code.includes(a)||Ee.txt.includes(a))}M.copyPossible&&(M.ext&&Ee.txt.includes(M.ext)?(M.text=o,M.editingValue=o):M.ext&&Ee.code.includes(M.ext)&&(M.code=o,M.editingValue=o)),this.setState(M)}).catch(r=>window.alert(`Cannot read file: ${r}`))}}componentDidMount(){this.readFile();const e=this.props.href.split("/");e.splice(0,2);const t=e[0],s=e.splice(1).join("/");this.props.supportSubscribes&&this.props.socket.subscribeFiles(t,s,this.onFileChanged).catch(r=>window.alert(`Cannot subscribe on file: ${r}`))}componentWillUnmount(){this.timeout&&(clearTimeout(this.timeout),this.timeout=null);const e=this.props.href.split("/");e.splice(0,2);const t=e[0],s=e.splice(1).join("/");this.props.supportSubscribes&&this.props.socket.subscribeFiles(t,s,this.onFileChanged).catch(r=>window.alert(`Cannot subscribe on file: ${r}`))}onFileChanged=(e,t,s)=>{this.state.changed||(this.timeout&&clearTimeout(this.timeout),this.timeout=setTimeout(()=>{this.timeout=null,s===null?window.alert("Show file was deleted!"):this.state.text!==null||this.state.code!==null?this.readFile():this.setState({forceUpdate:Date.now()})},300))};getEditorOrViewer(){return n.createElement(le,{variant:"standard",style:Vt.textarea,multiline:!0,value:this.state.editingValue||this.state.code||this.state.text,slotProps:{htmlInput:{readOnly:!this.state.editing}}})}getContent(){return this.state.ext&&Ee.images.includes(this.state.ext)?this.state.imgError?n.createElement(sM,{style:{...Vt.img,...this.props.getStyleBackgroundImage()}}):n.createElement(Se,{onError:e=>{e.target.onerror=null,this.setState({imgError:!0})},style:{...Vt.img,...this.props.getStyleBackgroundImage()},src:`${this.props.href}?ts=${this.state.forceUpdate}`,alt:this.props.href}):this.state.ext&&Ee.audio.includes(this.state.ext)?n.createElement("div",{style:{width:"100%",height:"100%",display:"flex",justifyContent:"center",alignItems:"center"}},n.createElement("audio",{style:{width:"100%"},src:this.props.href,controls:!0})):this.state.ext&&Ee.video.includes(this.state.ext)?n.createElement("div",{style:{width:"100%",height:"100%",display:"flex",justifyContent:"center",alignItems:"center"}},n.createElement("video",{style:{width:"100%",height:"100%"},controls:!0},n.createElement("source",{src:this.props.href,type:`video/${this.state.ext}}`}))):this.state.code!==null||this.state.text!==null||this.state.editing?this.getEditorOrViewer():null}onSave(){}render(){return n.createElement(de,{sx:{"&.MuiDialog-scrollPaper":Vt.dialog,"& .MuiDialog-paper":Vt.paper},scroll:"paper",open:!!this.props.href,onClose:()=>this.props.onClose(),fullWidth:!0,maxWidth:"xl","aria-labelledby":"ar_dialog_file_view_title"},n.createElement("div",{style:Vt.dialogTitle},n.createElement(he,{id:"ar_dialog_file_view_title"},`${this.props.t(this.state.editing?"Edit":"View")}: ${this.props.href}`),this.state.ext&&Ee.images.includes(this.state.ext)&&n.createElement("div",null,n.createElement(P,{size:"large",color:"inherit",onClick:this.props.setStateBackgroundImage},n.createElement(bo,null)))),n.createElement(Ae,{style:Vt.content},this.getContent()),n.createElement(me,null,this.state.copyPossible?n.createElement(X,{color:"grey",onClick:e=>{e.stopPropagation(),e.preventDefault(),E.copyToClipboard(this.state.text||this.state.code||"")},startIcon:n.createElement(ll,null)},this.props.t("Copy content")):null,this.state.editing?n.createElement(X,{color:"grey",disabled:this.state.editingValue===this.state.code||this.state.editingValue===this.state.text,variant:"contained",onClick:()=>this.onSave(),startIcon:n.createElement(Jr,null)},this.props.t("Save")):null,n.createElement(X,{variant:"contained",onClick:()=>this.props.onClose(),color:"primary",startIcon:n.createElement(ge,null)},this.props.t("Close"))))}}const gle=ur()(jle),js=32,Tt=32,Ai=120,Qn=64,Un="Not found",mi={all:Pa,images:zl,code:$o,txt:dl,audio:Dl,video:yl},U={root:{width:"100%",overflow:"hidden",height:"100%",position:"relative"},filesDiv:{width:"calc(100% - 8px)",overflowX:"hidden",overflowY:"auto",padding:8},filesDivHint:{position:"absolute",bottom:0,left:20,opacity:.7,fontStyle:"italic",fontSize:12},filesDivTable:{height:"calc(100% - 56px)"},filesDivTile:{height:"calc(100% - 104px)",display:"flex",alignContent:"flex-start",alignItems:"stretch",flexWrap:"wrap",flex:`0 0 ${Qn}px`},itemTile:i=>({position:"relative",userSelect:"none",cursor:"pointer",height:Ai,width:Qn,display:"inline-block",textAlign:"center",opacity:.1,transition:"opacity 1s",margin:"4px",borderRadius:"4px","&:hover":{background:i.palette.secondary.light,color:E.invertColor(i.palette.secondary.main,!0)}}),itemNameFolderTile:{fontWeight:"bold"},itemNameTile:{width:"100%",height:32,overflow:"hidden",textOverflow:"ellipsis",fontSize:12,textAlign:"center",wordBreak:"break-all"},itemFolderIconTile:i=>({width:"100%",height:Ai-32-16-8,display:"block",pl:1,color:i.palette.secondary.main||"#fbff7d"}),itemFolderIconBack:i=>({position:"absolute",top:22,left:18,zIndex:1,color:(i.palette.mode==="dark","#FFF")}),itemSizeTile:{width:"100%",height:16,textAlign:"center",fontSize:10},itemImageTile:{width:"calc(100% - 8px)",height:Ai-32-16-8,margin:4,display:"block",textAlign:"center",objectFit:"contain"},itemIconTile:{width:"100%",height:Ai-32-16-8,display:"block",objectFit:"contain"},itemSelected:i=>({background:i.palette.primary.main,color:E.invertColor(i.palette.primary.main,!0)}),itemTable:i=>({userSelect:"none",cursor:"pointer",height:js,display:"inline-flex",lineHeight:`${js}px`,"&:hover":{background:i.palette.secondary.light,color:E.invertColor(i.palette.secondary.main,!0)}}),itemNameTable:{display:"inline-block",pl:"10px",fontSize:"1rem",verticalAlign:"top",flexGrow:1,textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden","@media screen and (max-width: 500px)":{textAlign:"end",direction:"rtl"}},itemNameFolderTable:{fontWeight:"bold"},itemSizeTable:{display:"inline-block",width:60,verticalAlign:"top",textAlign:"right",whiteSpace:"nowrap"},itemAccessTable:{verticalAlign:"top",width:60,textAlign:"right",paddingRight:5,display:"flex",justifyContent:"center"},itemImageTable:{display:"inline-block",width:30,marginTop:1,objectFit:"contain",maxHeight:30},itemNoImageTable:{marginTop:6},itemIconTable:{display:"inline-block",marginTop:1,width:30,height:30},itemFolderTable:{},itemFolderTemp:{opacity:.4},itemFolderIconTable:i=>({marginTop:"1px",marginLeft:"8px",display:"inline-block",width:30,height:30,color:i.palette.secondary.main||"#fbff7d"}),itemDownloadButtonTable:i=>({display:"inline-block",width:Tt,height:js,minWidth:Tt,verticalAlign:"middle",textAlign:"center",padding:0,borderRadius:`${Tt/2}px`,"&:hover":{backgroundColor:i.palette.mode==="dark"?"rgba(255, 255, 255, 0.08)":"rgba(0, 0, 0, 0.08)"},"& span":{pt:"9px"},"& svg":{width:14,height:14,fontSize:"1rem",mt:"-3px",verticalAlign:"middle",color:i.palette.mode==="dark"?"#EEE":"#111"}}),itemDownloadEmptyTable:{display:"inline-block",width:Tt,height:js,minWidth:Tt,padding:0},itemAclButtonTable:{width:Tt,height:js,minWidth:Tt,verticalAlign:"top",padding:0,fontSize:12,display:"flex"},itemDeleteButtonTable:{display:"inline-block",width:Tt,height:js,minWidth:Tt,verticalAlign:"top",padding:0,"& svg":{width:18,height:18,fontSize:"1.5rem"}},uploadDiv:{top:0,zIndex:1,bottom:0,left:0,right:0,position:"absolute",opacity:.9,textAlign:"center",background:"#FFFFFF"},uploadDivDragging:{opacity:1},uploadCenterDiv:i=>({m:"20px",border:"3px dashed grey",borderRadius:"30px",width:"calc(100% - 40px)",height:"calc(100% - 40px)",position:"relative",color:i.palette.mode==="dark"?"#222":"#CCC",display:"flex",alignItems:"center",justifyContent:"center"}),uploadCenterIcon:{width:"25%",height:"25%"},uploadCenterText:{fontSize:24,fontWeight:"bold"},uploadCloseButton:{zIndex:2,position:"absolute",top:30,right:30},uploadCenterTextAndIcon:{position:"absolute",height:"30%",width:"100%",margin:"auto",opacity:.3},menuButtonExpertActive:{color:"#c00000"},menuButtonRestrictActive:{color:"#c05000"},pathDiv:i=>({display:"flex",width:"calc(100% - 16px)",ml:1,mr:1,textOverflow:"clip",overflow:"hidden",whiteSpace:"nowrap",backgroundColor:i.palette.secondary.main,color:i.palette.secondary.contrastText,borderRadius:"4px 4px 0 0"}),pathDivInput:{width:"100%"},pathDivBreadcrumbDir:i=>({pl:"2px",pr:"2px",cursor:"pointer",color:"white","&:hover":{backgroundColor:i.palette.primary.main,color:i.palette.primary.contrastText}}),pathDivBreadcrumbSelected:{color:"#FFF"},backgroundImageLight:{background:"white"},backgroundImageDark:{background:"black"},backgroundImageColored:{background:"silver"},specialFolder:i=>({color:i.palette.mode==="dark"?"#229b0f":"#5dd300"}),tooltip:{pointerEvents:"none"}},Et="0_userdata.0";function gs(i){const e=(i||"").split("/");return e.length&&e.pop(),e.join("/")}function _r(i){const e=E.getFileExtension(i);return!!(e!=null&&e.toLowerCase().match(/[a-z]+/)&&e.length<5)}const ie="Table",fr="Tile";function vn(i,e){return i.folder&&e.folder?i.name>e.name?1:i.namee.name?1:i.name{var l;return u.startsWith(`${this.limitToPath}/`)||u===this.limitToPath||((l=this.limitToPath)==null?void 0:l.startsWith(`${u}/`))}))}catch{s=[]}let r;this.props.showViewTypeButton?r=this.localStorage.getItem("files.viewType")||ie:r=ie;let o=this.props.selected||this.localStorage.getItem("files.selected")||Et,M;if(e.restrictToFolder){o=e.restrictToFolder,M=e.restrictToFolder;const u=e.restrictToFolder.split("/");s=[];let l="";for(let N=0;N{if(this.state.viewType===ie&&!this.findItem(this.state.selected)){const t=this.state.selected.split("/");for(;t.length&&!this.findItem(t.join("/"));)t.pop();let s;t.length?s=t.join("/"):s=Et,this.setState({selected:s,path:s,pathFocus:!1},()=>this.scrollToSelected())}else this.scrollToSelected();this.initialReadFinished=!0})}scrollToSelected(){if(this.mounted){const e=document.getElementById(this.state.selected);e==null||e.scrollIntoView()}}async componentDidMount(){this.mounted=!0,this.loadFolders().catch(e=>console.error(`Cannot load folders: ${e}`)),this.browseList=[],this.browseListRunning=!1,this.supportSubscribes=await this.props.socket.checkFeatureSupported("BINARY_STATE_EVENT"),this.supportSubscribes&&await this.props.socket.subscribeFiles("*","*",this.onFileChange)}componentWillUnmount(){this.supportSubscribes&&this.props.socket.unsubscribeFiles("*","*",this.onFileChange),this.mounted=!1,this.browseList=null,this.browseListRunning=!1,Object.values(this._tempTimeout).forEach(e=>{e&&clearTimeout(e)}),this._tempTimeout={}}browseFoldersCb(e,t,s){if(!(e!=null&&e.length))s(t);else{const r=e.shift();r?this.browseFolder(r,t).catch(o=>console.error(`Cannot read folder ${r}: ${o.message}`)).then(()=>{setTimeout(()=>this.browseFoldersCb(e,t,s),0)}):setTimeout(()=>this.browseFoldersCb(e,t,s),0)}}browseFolders(e,t){let s;return t?s=t:(s={},Object.keys(this.state.folders).forEach(r=>s[r]=this.state.folders[r])),e!=null&&e.length?new Promise(r=>{this.browseFoldersCb(e,s,r)}):Promise.resolve(s)}readDirSerial(e,t){return new Promise((s,r)=>{this.browseList&&(this.browseList.push({resolve:s,reject:r,adapter:e,relPath:t}),this.browseListRunning||this.processBrowseList())})}processBrowseList(e=0){!this.browseListRunning&&this.browseList&&this.browseList.length&&(this.browseListRunning=!0,this.browseList.length>10?this.browseList.length%10||this.setState({queueLength:this.browseList.length}):this.setState({queueLength:this.browseList.length}),this.browseList[0].processing=!0,this.props.socket.readDir(this.browseList[0].adapter,this.browseList[0].relPath||"").then(t=>{if(this.browseList){const s=this.browseList.shift();if(s){const r=s.resolve;s.resolve=null,s.reject=null,s.adapter=null,s.relPath=null,r&&r(t),this.browseListRunning=!1,this.browseList.length?e<5?this.processBrowseList(e+1):setTimeout(()=>this.processBrowseList(0),0):this.setState({queueLength:0})}else this.setState({queueLength:0})}}).catch(t=>{if(this.browseList){const s=this.browseList.shift();if(s){const r=s.reject;s.resolve=null,s.reject=null,s.adapter=null,s.relPath=null,r&&r(t),this.browseListRunning=!1,this.browseList.length?e<5?this.processBrowseList(e+1):setTimeout(()=>this.processBrowseList(0),0):this.setState({queueLength:0})}else this.setState({queueLength:0})}}))}async browseFolder(e,t,s,r){let o;if(t?o=t:(o={},Object.keys(this.state.folders).forEach(c=>{o[c]=this.state.folders[c]})),o[e]&&!r)return s?Promise.resolve(o):new Promise((c,L)=>{Promise.all(o[e].filter(j=>j.folder).map(j=>this.browseFolder(j.id,o,!0).catch(()=>{}))).then(()=>c(o)).catch(j=>L(new Error(j)))});if(!e||e==="/"){try{let c=await this.props.socket.readMetaItems();const L=[];let j=null;if(this.state.restrictToFolder){const y=this.state.restrictToFolder.split("/")[0];c=c.filter(d=>d._id===y)}else this.state.expertMode||(c=c.filter(y=>!y._id.endsWith(".admin")));const g=c.findIndex(y=>y._id==="system.meta.uuid");if(g!==-1&&c.splice(g,1),c.forEach(y=>{if(this.limitToObjectID&&this.limitToObjectID!==y._id)return;const d={id:y._id,name:y._id,title:y.common&&y.common.name||y._id,meta:!0,from:y.from,ts:y.ts,color:y.common&&y.common.color,icon:y.common&&y.common.icon,folder:!0,acl:y.acl,level:0};d.id===Et?j=d:L.push(d)}),L.sort((y,d)=>y.id>d.id?1:y.idy.folder).map(y=>this.browseFolder(y.id,o,!0).catch(()=>{}))).then(()=>o)}catch(c){const L=c;this.initialReadFinished&&window.alert(`Cannot read meta items: ${L.message}`),o[e||"/"]=[]}return o}const M=e.split("/"),a=M.length,u=M.shift(),l=M.join("/");let N;try{N=await this.readDirSerial(u||"",l)}catch(c){if(c==="Not exists"&&u==="0_userdata.0")N=[];else throw c}try{const c=[];if(N.forEach(L=>{var g;const j={id:`${e}/${L.file}`,ext:E.getFileExtension(L.file),folder:L.isDir,name:L.file,size:(g=L.stats)==null?void 0:g.size,modified:L.modifiedAt,acl:L.acl,level:a};this.state.restrictToFolder?(j.folder&&(j.id.startsWith(`${this.state.restrictToFolder}/`)||j.id===this.state.restrictToFolder||this.state.restrictToFolder.startsWith(`${j.id}/`))||j.id.startsWith(`${this.state.restrictToFolder}/`))&&c.push(j):this.limitToPath?(j.folder&&(j.id.startsWith(`${this.limitToPath}/`)||j.id===this.limitToPath||this.limitToPath.startsWith(`${j.id}/`))||j.id.startsWith(`${this.limitToPath}/`))&&c.push(j):c.push(j)}),c.sort(vn),o[e]=c,!s)return Promise.all(c.filter(L=>L.folder).map(L=>this.browseFolder(L.id,o,!0))).then(()=>o)}catch(c){const L=c;this.initialReadFinished&&window.alert(`Cannot read ${u}${l?`/${l}`:""}: ${L==null?void 0:L.message}`),o[e]=[]}return o}toggleFolder(e,t){t==null||t.stopPropagation();const s=[...this.state.expanded],r=s.indexOf(e.id);r===-1?(s.push(e.id),s.sort(),this.localStorage.setItem("files.expanded",JSON.stringify(s)),e.temp?this.setState({expanded:s}):this.browseFolder(e.id).then(o=>this.setState({expanded:s,folders:o})).catch(o=>window.alert(o===Un?this.props.t('ra_Cannot find "%s"',e.id):this.props.t('ra_Cannot read "%s"',e.id)))):(s.splice(r,1),this.localStorage.setItem("files.expanded",JSON.stringify(s)),this.setState({expanded:s}))}onFileChange=(e,t,s)=>{const r=`${e}/${t}`,o=r.lastIndexOf("/"),M=r.substring(0,o);console.log(`File changed ${r}[${s}]`),this.state.folders[M]&&(this._tempTimeout[M]&&clearTimeout(this._tempTimeout[M]),this._tempTimeout[M]=setTimeout(()=>{delete this._tempTimeout[M],this.browseFolder(M,null,!1,!0).then(a=>this.setState({folders:a})).catch(a=>console.error(`Cannot read folder: ${a.message}`))},300))};changeFolder(e,t){var r;e==null||e.stopPropagation(),this.lastSelect=Date.now();let s=t||gs(this.state.currentDir);if(s==="/"&&(s=""),this.state.viewType==="Tile"&&((r=this.refFileDiv.current)!=null&&r.scrollTop)&&(this.scrollPositions[this.state.currentDir]=this.refFileDiv.current.scrollTop),this.localStorage.setItem("files.currentDir",s),t&&e&&(e.altKey||e.shiftKey||e.ctrlKey||e.metaKey)){this.setState({selected:s});return}if(s&&!this.state.folders[s]){this.browseFolder(s).then(o=>this.setState({folders:o,path:s,currentDir:s,selected:s,pathFocus:!1},()=>this.props.onSelect&&this.props.onSelect(""))).catch(o=>console.error(`Cannot read folder: ${o.message}`));return}this.setState({currentDir:s,selected:s,path:s,pathFocus:!1},()=>{if(this.props.onSelect&&this.props.onSelect(""),this.state.viewType==="Tile"&&this.scrollPositions[this.state.currentDir]){const o=this.scrollPositions[this.state.currentDir];delete this.scrollPositions[this.state.currentDir],this.refFileDiv.current&&(this.refFileDiv.current.scrollTop=o)}})}select(e,t,s){t&&t.stopPropagation(),this.lastSelect=Date.now(),this.localStorage.setItem("files.selected",e),this.setState({selected:e,path:e,pathFocus:!1},()=>{if(this.props.onSelect){const r=E.getFileExtension(e);(!this.props.filterFiles||r&&this.props.filterFiles.includes(r))&&(!this.state.filterByType||r&&Ee[this.state.filterByType].includes(r))?this.props.onSelect(e,!1,!!this.state.folders[e]):this.props.onSelect("")}s&&s()})}getText(e){if(e)return typeof e=="object"?e[this.props.lang]||e.en||void 0:e}renderFolder(e,t){var u;if(this.state.filterEmpty&&!((u=this.state.folders[e.id])!=null&&u.length)&&e.id!==Et&&!e.temp)return null;const s=t?vi:ms,r=this.state.viewType===ie?e.level*this.levelPadding:0,o=e.name===Et,M=o||e.name==="vis.0"||e.name==="vis-2.0",a=E.getStyle(this.props.theme,U[`itemFolderIcon${this.state.viewType}`],M&&U.specialFolder);return n.createElement(W,{component:"div",key:e.id,id:e.id,style:this.state.viewType===ie?{marginLeft:r,width:`calc(100% - ${r}px)`}:void 0,onClick:l=>this.state.viewType===ie?this.select(e.id,l):this.changeFolder(l,e.id),onDoubleClick:l=>this.state.viewType===ie&&this.toggleFolder(e,l),title:this.getText(e.title),className:"browserItem",sx:E.getStyle(this.props.theme,U[`item${this.state.viewType}`],U[`itemFolder${this.state.viewType}`],this.state.selected===e.id?U.itemSelected:{},e.temp?U.itemFolderTemp:{})},n.createElement(s,{style:a,onClick:this.state.viewType===ie?l=>this.toggleFolder(e,l):void 0}),n.createElement(W,{component:"div",sx:E.getStyle(this.props.theme,U[`itemName${this.state.viewType}`],U[`itemNameFolder${this.state.viewType}`])},o?this.props.t("ra_User files"):e.name),n.createElement(W,{component:"div",style:U[`itemSize${this.state.viewType}`],sx:{display:{md:"inline-block",sm:"none"}}},this.state.viewType===ie&&this.state.folders[e.id]?this.state.folders[e.id].length:""),n.createElement(W,{component:"div",sx:{display:{md:"inline-block",sm:"none"}}},this.state.viewType===ie&&this.props.expertMode?this.formatAcl(e.acl):null),this.state.viewType===ie&&this.props.expertMode?n.createElement(W,{component:"div",sx:{...U.itemDeleteButtonTable,display:{md:"inline-block",sm:"none"}}}):null,this.state.viewType===ie&&this.props.allowDownload?n.createElement("div",{style:U[`itemDownloadEmpty${this.state.viewType}`]}):null,this.state.viewType===ie&&this.props.allowDelete&&this.state.folders[e.id]&&this.state.folders[e.id].length?n.createElement(P,{"aria-label":"delete",onClick:l=>{l.stopPropagation(),this.suppressDeleteConfirm>Date.now()?this.deleteItem(e.id):this.setState({deleteItem:e.id})},sx:U[`itemDeleteButton${this.state.viewType}`],size:"large"},n.createElement(ut,{fontSize:"small"})):this.state.viewType===ie&&this.props.allowDelete?n.createElement(W,{component:"div",sx:U[`itemDeleteButton${this.state.viewType}`]}):null)}renderBackFolder(){return n.createElement(W,{component:"div",key:this.state.currentDir,id:this.state.currentDir,onClick:e=>this.changeFolder(e),title:this.props.t("ra_Back to %s",gs(this.state.currentDir)),className:"browserItem",sx:E.getStyle(this.props.theme,U[`item${this.state.viewType}`],U[`itemFolder${this.state.viewType}`])},n.createElement(ms,{style:E.getStyle(this.props.theme,U[`itemFolderIcon${this.state.viewType}`])}),n.createElement(Nl,{sx:U.itemFolderIconBack}),n.createElement(W,{component:"div",sx:E.getStyle(this.props.theme,U[`itemName${this.state.viewType}`],U[`itemNameFolder${this.state.viewType}`])},".."))}formatSize(e){return n.createElement("div",{style:U[`itemSize${this.state.viewType}`]},e||e===0?E.formatBytes(e):"")}formatAcl(e){const t=e?e.permissions||e.file:0;let s;return t?s=t.toString(16).padStart(3,"0"):s="",n.createElement("div",{style:U[`itemAccess${this.state.viewType}`]},this.props.modalEditOfAccessControl?n.createElement(P,{size:"large",onClick:()=>this.setState({modalEditOfAccess:!0}),sx:U[`itemAclButton${this.state.viewType}`]},s||"---"):s||"---")}getFileIcon(e){switch(e){case"json":case"json5":return n.createElement(gl,{style:U[`itemIcon${this.state.viewType}`]});case"css":return n.createElement(jl,{style:U[`itemIcon${this.state.viewType}`]});case"js":case"ts":return n.createElement($o,{style:U[`itemIcon${this.state.viewType}`]});case"html":case"md":return n.createElement(er,{style:U[`itemIcon${this.state.viewType}`]});case"mp3":case"ogg":case"wav":case"m4a":case"mp4":case"flac":return n.createElement(Ll,{style:U[`itemIcon${this.state.viewType}`]});default:return n.createElement(Pa,{style:U[`itemIcon${this.state.viewType}`]})}}static getEditFile(e){switch(e){case"json":case"json5":case"js":case"html":case"txt":case"css":case"log":case"csv":return!0;default:return!1}}setStateBackgroundImage=()=>{const e=["light","dark","colored","delete"];this.setState(({backgroundImage:t})=>t&&e.indexOf(t)!==-1&&e.length-1!==e.indexOf(t)?(this.localStorage.setItem("files.backgroundImage",e[e.indexOf(t)+1]),{backgroundImage:e[e.indexOf(t)+1]}):(this.localStorage.setItem("files.backgroundImage",e[0]),{backgroundImage:e[0]}))};getStyleBackgroundImage=()=>{switch(this.state.backgroundImage){case"light":return U.backgroundImageLight;case"dark":return U.backgroundImageDark;case"colored":return U.backgroundImageColored;case"delete":return null;default:return null}};renderFile(e){const t=this.state.viewType===ie?e.level*this.levelPadding:0,s=E.getFileExtension(e.name);return n.createElement(W,{component:"div",key:e.id,id:e.id,onDoubleClick:r=>{r.stopPropagation(),this.props.onSelect?(!this.props.filterFiles||e.ext&&this.props.filterFiles.includes(e.ext))&&(!this.state.filterByType||e.ext&&Ee[this.state.filterByType].includes(e.ext))&&this.props.onSelect(e.id,!0,!!this.state.folders[e.id]):this.setState({viewer:this.imagePrefix+e.id,formatEditFile:s})},onClick:r=>this.select(e.id,r),style:this.state.viewType===ie?{marginLeft:t,width:`calc(100% - ${t}px)`}:void 0,className:"browserItem",sx:E.getStyle(this.props.theme,U[`item${this.state.viewType}`],U[`itemFile${this.state.viewType}`],this.state.selected===e.id?U.itemSelected:void 0)},s&&Ee.images.includes(s)?this.state.fileErrors.includes(e.id)?n.createElement(sM,{style:{...U[`itemImage${this.state.viewType}`],...this.getStyleBackgroundImage(),...U[`itemNoImage${this.state.viewType}`]}}):n.createElement(Se,{onError:r=>{r.target.onerror=null;const o=[...this.state.fileErrors];o.includes(e.id)||(o.push(e.id),this.setState({fileErrors:o}))},style:{...U[`itemImage${this.state.viewType}`],...this.getStyleBackgroundImage()},src:this.imagePrefix+e.id,alt:e.name}):this.getFileIcon(s),n.createElement(W,{component:"div",sx:U[`itemName${this.state.viewType}`]},e.name),n.createElement(W,{component:"div",sx:{display:{md:"inline-block",sm:"none"}}},this.formatSize(e.size)),n.createElement(W,{component:"div",sx:{display:{md:"inline-block",sm:"none"}}},this.state.viewType===ie&&this.props.expertMode?this.formatAcl(e.acl):null),n.createElement(W,{component:"div",sx:{display:{md:"inline-block",sm:"none"}}},this.state.viewType===ie&&this.props.expertMode&&iM.getEditFile(s)?n.createElement(P,{"aria-label":"edit",onClick:r=>{r.stopPropagation(),this.props.onSelect?(!this.props.filterFiles||e.ext&&this.props.filterFiles.includes(e.ext))&&(!this.state.filterByType||e.ext&&Ee[this.state.filterByType].includes(e.ext))&&this.props.onSelect(e.id,!0,!!this.state.folders[e.id]):this.setState({viewer:this.imagePrefix+e.id,formatEditFile:s})},sx:U.itemDeleteButtonTable,size:"large"},n.createElement(Ks,{fontSize:"small"})):n.createElement(W,{component:"div",sx:U[`itemDeleteButton${this.state.viewType}`]})),this.state.viewType===ie&&this.props.allowDownload?n.createElement(W,{component:"a",className:"MuiButtonBase-root MuiIconButton-root MuiIconButton-sizeLarge",sx:U.itemDownloadButtonTable,tabIndex:0,download:e.id,href:this.imagePrefix+e.id,onClick:r=>r.stopPropagation()},n.createElement(Tl,null)):null,this.state.viewType===ie&&this.props.allowDelete&&e.id!=="vis.0/"&&e.id!=="vis-2.0/"&&e.id!==Et?n.createElement(P,{"aria-label":"delete",onClick:r=>{r.stopPropagation(),this.suppressDeleteConfirm>Date.now()?this.deleteItem(e.id):this.setState({deleteItem:e.id})},sx:U[`itemDeleteButton${this.state.viewType}`],size:"large"},n.createElement(ut,{fontSize:"small"})):this.state.viewType===ie&&this.props.allowDelete?n.createElement(W,{component:"div",sx:U[`itemDeleteButton${this.state.viewType}`]}):null)}renderItems(e){var t;if((t=this.state.folders)!=null&&t[e]){if(this.state.viewType===fr){const r=[];return e&&e!=="/"&&r.push(this.renderBackFolder()),this.state.folders[e].forEach(o=>{o.folder?r.push(this.renderFolder(o)):(!this.props.filterFiles||o.ext&&this.props.filterFiles.includes(o.ext))&&(!this.state.filterByType||o.ext&&Ee[this.state.filterByType].includes(o.ext))&&r.push(this.renderFile(o))}),r}const s=[];return this.state.folders[e].forEach(r=>{if(r.folder){const o=this.state.expanded.includes(r.id),M=this.renderFolder(r,o);if(Array.isArray(M)?M.forEach(a=>s.push(a)):s.push(M),this.state.folders[r.id]&&o){const a=this.renderItems(r.id);Array.isArray(a)?a.forEach(u=>s.push(u)):s.push(a)}}else(!this.props.filterFiles||r.ext&&this.props.filterFiles.includes(r.ext))&&(!this.state.filterByType||r.ext&&Ee[this.state.filterByType].includes(r.ext))&&s.push(this.renderFile(r))}),s}return n.createElement("div",{style:{position:"relative"}},n.createElement(qi,{key:e,color:"secondary",size:24}),n.createElement("div",{style:{position:"absolute",zIndex:2,top:4,width:24,textAlign:"center"}},this.state.queueLength))}renderToolbar(){const e=this.props.showTypeSelector?mi[this.state.filterByType||"all"]||mi.all:null,t=this.findFirstFolder(this.state.selected);return n.createElement(Ua,{key:"toolbar",variant:"dense"},this.props.allowNonRestricted&&this.props.restrictToFolder?n.createElement(P,{edge:"start",title:this.state.restrictToFolder?this.props.t("ra_Show all folders"):this.props.t("ra_Restrict to folder"),style:{...U.menuButton,...this.state.restrictToFolder?U.menuButtonRestrictActive:void 0},"aria-label":"restricted to folder",onClick:()=>this.setState({restrictToFolder:(this.state.restrictToFolder?"":this.props.restrictToFolder)||"",loadAllFolders:!0}),size:"small"},n.createElement(Il,{fontSize:"small"})):null,this.props.showExpertButton?n.createElement(P,{edge:"start",title:this.props.t("ra_Toggle expert mode"),style:{...U.menuButton,...this.state.expertMode?U.menuButtonExpertActive:void 0},"aria-label":"expert mode",onClick:()=>this.setState({expertMode:!this.state.expertMode}),size:"small"},n.createElement(uo,null)):null,this.props.showViewTypeButton?n.createElement(P,{edge:"start",title:this.props.t("ra_Toggle view mode"),style:U.menuButton,"aria-label":"view mode",onClick:()=>{const s=this.state.viewType===ie?fr:ie;this.localStorage.setItem("files.viewType",s);let r=this.state.selected;_r(r)&&(r=gs(r)),this.setState({viewType:s,currentDir:r},()=>{this.state.viewType===ie&&this.scrollToSelected()})},size:"small"},this.state.viewType!==ie?n.createElement(hl,{fontSize:"small"}):n.createElement(wl,{fontSize:"small"})):null,n.createElement(P,{edge:"start",title:this.props.t("ra_Hide empty folders"),style:U.menuButton,color:this.state.filterEmpty?"secondary":"inherit","aria-label":"filter empty",onClick:()=>{this.localStorage.setItem("file.empty",this.state.filterEmpty?"false":"true"),this.setState({filterEmpty:!this.state.filterEmpty})},size:"small"},n.createElement(Cl,{fontSize:"small"})),n.createElement(P,{edge:"start",title:this.props.t("ra_Reload files"),style:U.menuButton,color:"inherit","aria-label":"reload files",onClick:()=>this.setState({folders:{}},()=>this.loadFolders()),size:"small"},n.createElement(Wa,{fontSize:"small"})),this.props.allowCreateFolder?n.createElement(P,{edge:"start",disabled:!this.state.selected||!t||!!this.limitToPath&&!this.state.selected.startsWith(`${this.limitToPath}/`)&&this.limitToPath!==this.state.selected,title:this.props.t("ra_Create folder"),style:U.menuButton,color:"inherit","aria-label":"add folder",onClick:()=>this.setState({addFolder:!0}),size:"small"},n.createElement(Ra,{fontSize:"small"})):null,this.props.allowUpload?n.createElement(P,{edge:"start",disabled:!this.state.selected||!t||!!this.limitToPath&&!this.state.selected.startsWith(`${this.limitToPath}/`)&&this.limitToPath!==this.state.selected,title:this.props.t("ra_Upload file"),style:U.menuButton,color:"inherit","aria-label":"upload file",onClick:()=>this.setState({uploadFile:!0}),size:"small"},n.createElement(Wi,{fontSize:"small"})):null,this.props.showTypeSelector&&e?n.createElement(ae,{title:this.props.t("ra_Filter files"),slotProps:{popper:{sx:U.tooltip}}},n.createElement(P,{size:"small",onClick:s=>this.setState({showTypesMenu:s.target})},n.createElement(e,{fontSize:"small"}))):null,this.state.showTypesMenu?n.createElement(ss,{open:!0,anchorEl:this.state.showTypesMenu,onClose:()=>this.setState({showTypesMenu:null})},Object.keys(mi).map(s=>{const r=mi[s];return n.createElement(te,{key:s,selected:this.state.filterByType===s,onClick:()=>{s==="all"?(this.localStorage.removeItem("files.filterByType"),this.setState({filterByType:"",showTypesMenu:null})):(this.localStorage.setItem("files.filterByType",s),this.setState({filterByType:s,showTypesMenu:null}))}},n.createElement(Yt,null,n.createElement(r,{fontSize:"small"})),n.createElement(nt,null,this.props.t(`ra_fileType_${s}`)))})):null,n.createElement(ae,{title:this.props.t("ra_Background image"),slotProps:{popper:{sx:U.tooltip}}},n.createElement(P,{color:"inherit",edge:"start",style:U.menuButton,onClick:this.setStateBackgroundImage,size:"small"},n.createElement(bo,{fontSize:"small"}))),this.state.viewType!==ie&&this.props.allowDelete?n.createElement(ae,{title:this.props.t("ra_Delete"),slotProps:{popper:{sx:U.tooltip}}},n.createElement("span",null,n.createElement(P,{"aria-label":"delete",disabled:!this.state.selected||this.state.selected==="vis.0/"||this.state.selected==="vis-2.0/"||this.state.selected===Et,color:"inherit",edge:"start",style:U.menuButton,onClick:s=>{s.stopPropagation(),this.suppressDeleteConfirm>Date.now()?this.deleteItem(this.state.selected):this.setState({deleteItem:this.state.selected})},size:"small"},n.createElement(ut,{fontSize:"small"})))):null)}findItem(e,t){if(t=t||this.state.folders,!t)return null;const s=e.split("/");s.pop();const r=s.join("/")||"/";return t[r]&&t[r].find(o=>o.id===e)||null}renderInputDialog(){if(this.state.addFolder){const e=this.findFirstFolder(this.state.selected);return e?n.createElement(Bue,{key:"inputDialog",applyText:this.props.t("ra_Create"),cancelText:this.props.t("ra_Cancel"),titleText:this.props.t("ra_Create new folder in %s",this.state.selected),promptText:this.props.t("ra_If no file will be created in the folder, it will disappear after the browser closed"),labelText:this.props.t("ra_Folder name"),verify:t=>this.state.folders[e].find(s=>s.name===t)?"":this.props.t("ra_Duplicate name"),onClose:t=>{if(t){const s={};Object.keys(this.state.folders).forEach(a=>s[a]=this.state.folders[a]);const r=this.findItem(e),o=`${e}/${t}`;s[e].push({id:o,level:((r==null?void 0:r.level)||0)+1,name:t,folder:!0,temp:!0}),s[e].sort(vn),s[o]=[];const M=[...this.state.expanded];M.includes(e)||(M.push(e),M.sort()),this.localStorage.setItem("files.expanded",JSON.stringify(M)),this.setState({addFolder:!1,folders:s,expanded:M},()=>this.select(o))}else this.setState({addFolder:!1})},replace:t=>t.replace(/[^-_\w]/,"_")}):(window.alert(this.props.t("ra_Invalid parent folder!")),null)}return null}componentDidUpdate(){this.setOpacityTimer&&clearTimeout(this.setOpacityTimer),this.setOpacityTimer=setTimeout(()=>{this.setOpacityTimer=null;const e=window.document.getElementsByClassName("browserItem");for(let t=0;tthis.setState({uploadFile:!1})},n.createElement(ge,null)),n.createElement(Ga,{key:"dropzone",onDragEnter:()=>this.setState({uploadFile:"dragging"}),onDragLeave:()=>this.setState({uploadFile:!0}),onDrop:e=>{let t=e.length;e.forEach(s=>{const r=new FileReader;r.onabort=()=>console.log("file reading was aborted"),r.onerror=()=>console.log("file reading has failed"),r.onload=()=>{const o=this.findFirstFolder(this.state.selected);if(!o)window.alert(this.props.t("ra_Invalid parent folder!"));else{const M=`${o}/${s.name}`;this.uploadFile(M,r.result).then(()=>{--t||this.setState({uploadFile:!1},()=>{if(this.supportSubscribes){const a=[...this.state.expanded];a.includes(o)||(a.push(o),a.sort(),this.localStorage.setItem("files.expanded",JSON.stringify(a))),this.setState({expanded:a},()=>this.select(M))}else setTimeout(()=>this.browseFolder(o,null,!1,!0).then(a=>{const u=[...this.state.expanded];u.includes(o)||(u.push(o),u.sort(),this.localStorage.setItem("files.expanded",JSON.stringify(u))),this.setState({folders:a,expanded:u},()=>this.select(M))}),500)})})}},r.readAsArrayBuffer(s)})}},({getRootProps:e,getInputProps:t})=>n.createElement("div",{style:{...U.uploadDiv,...this.state.uploadFile==="dragging"?U.uploadDivDragging:void 0},...e()},n.createElement("input",{...t()}),n.createElement(W,{component:"div",sx:U.uploadCenterDiv},n.createElement("div",{style:U.uploadCenterTextAndIcon},n.createElement(Wi,{style:U.uploadCenterIcon}),n.createElement("div",{style:U.uploadCenterText},this.state.uploadFile==="dragging"?this.props.t("ra_Drop file here"):this.props.t("ra_Place your files here or click here to open the browse dialog"))))))]:null}deleteRecursive(e){const t=this.findItem(e);if(t!=null&&t.folder)return(this.state.folders[e]?Promise.all(this.state.folders[e].map(o=>this.deleteRecursive(o.id))):Promise.resolve()).then(()=>{if(t.level>=1){const o=e.split("/"),M=o.shift();this.props.socket.deleteFolder(M||"",o.join("/")).then(()=>{const a=JSON.parse(JSON.stringify(this.state.folders));delete a[t.id];const u=gs(t.id),l=a[u];if(l){const N=l.findIndex(c=>c.id===t.id);N!==-1&&l.splice(N,1),this.select(u,null,()=>this.setState({folders:a}))}})}});const s=e.split("/"),r=s.shift();return s.length?this.props.socket.deleteFile(r||"",s.join("/")).catch(o=>window.alert(`Cannot delete file: ${o}`)):Promise.resolve()}deleteItem(e){e=e||this.state.deleteItem,this.state.suppressDeleteConfirm&&(this.suppressDeleteConfirm=Date.now()+6e4*5),this.setState({deleteItem:"",suppressDeleteConfirm:!1},()=>this.deleteRecursive(e).then(()=>{const t={},s=this.state.expanded.indexOf(e);if(s!==-1){const r=[...this.state.expanded];r.splice(s,1),this.localStorage.setItem("files.expanded",JSON.stringify(r)),t.expanded=r}if(this.state.selected===e){const r=this.state.selected.split("/");r.pop(),t.selected=r.join("/")}if(this.supportSubscribes)this.setState(t);else{const r=this.findFirstFolder(e),o={};Object.keys(this.state.folders).forEach(M=>{M!==r&&!M.startsWith(`${r}/`)&&(o[M]=this.state.folders[M])}),t.folders=o,this.setState(t,()=>setTimeout(()=>{this.browseFolders([...this.state.expanded],o).then(M=>this.setState({folders:M})).catch(M=>console.error(M))},200))}}))}renderDeleteDialog(){return this.state.deleteItem?n.createElement(de,{key:"deleteDialog",open:!0,onClose:()=>this.setState({deleteItem:""}),"aria-labelledby":"ar_dialog_file_delete_title"},n.createElement(he,{id:"ar_dialog_file_delete_title"},this.props.t("ra_Confirm deletion of %s",this.state.deleteItem.split("/").pop())),n.createElement(Ae,null,n.createElement(Jt,null,this.props.t("ra_Are you sure?")),n.createElement(H,{control:n.createElement(ne,{checked:this.state.suppressDeleteConfirm,onChange:()=>{this.setState({suppressDeleteConfirm:!this.state.suppressDeleteConfirm})}}),label:this.props.t("ra_no confirm for 5 mins")})),n.createElement(me,null,n.createElement(X,{variant:"contained",onClick:()=>this.deleteItem(""),color:"primary",autoFocus:!0},this.props.t("ra_Delete")),n.createElement(X,{variant:"contained",onClick:()=>this.setState({deleteItem:""}),color:"grey"},this.props.t("ra_Cancel")))):null}renderViewDialog(){const e=this.props.FileViewer||gle;return this.state.viewer?n.createElement(e,{supportSubscribes:this.supportSubscribes||void 0,key:this.state.viewer,href:this.state.viewer,formatEditFile:this.state.formatEditFile||void 0,themeType:this.props.themeType||"light",setStateBackgroundImage:this.setStateBackgroundImage,getStyleBackgroundImage:this.getStyleBackgroundImage,t:this.props.t,socket:this.props.socket,onClose:()=>this.setState({viewer:"",formatEditFile:""})}):null}renderError(){return this.state.errorText?n.createElement(Rc,{key:"errorDialog",text:this.state.errorText,onClose:()=>this.setState({errorText:""})}):null}updateItemsAcl(e){this.cacheFolders||=JSON.parse(JSON.stringify(this.state.folders));let t;e.forEach(s=>{const r=this.findItem(s.id,this.cacheFolders);r&&JSON.stringify(r.acl)!==JSON.stringify(s.acl)&&(r.acl=s.acl,t=!0)}),t&&(this.cacheFoldersTimeout&&clearTimeout(this.cacheFoldersTimeout),this.cacheFoldersTimeout=setTimeout(()=>{this.cacheFoldersTimeout=null;const s=this.cacheFolders||{};this.cacheFolders=null,this.setState({folders:s})},200))}changeToPath(){setTimeout(()=>{if(this.state.path!==this.state.selected&&(!this.lastSelect||Date.now()-this.lastSelect>100)){let e=this.state.path;_r(this.state.path)&&(e=gs(this.state.path)),new Promise(t=>{this.state.folders[e]?t(!0):this.browseFolder(e).then(s=>this.setState({folders:s},()=>t(!0))).catch(s=>this.setState({errorText:s===Un?this.props.t('ra_Cannot find "%s"',e):this.props.t('ra_Cannot read "%s"',e)}))}).then(t=>t&&this.setState({selected:this.state.path,currentDir:e,pathFocus:!1})).catch(t=>console.error(t))}else(!this.lastSelect||Date.now()-this.lastSelect>100)&&this.setState({pathFocus:!1})},100)}renderBreadcrumb(){const e=this.state.currentDir.startsWith("/")?this.state.currentDir.split("/"):`/${this.state.currentDir}`.split("/"),t=[];return n.createElement(sl,{style:{paddingLeft:8,color:"#FFF"}},e.map((s,r)=>{s&&t.push(s);const o=t.join("/");return rthis.changeFolder(M,o||"/")},s||this.props.t("ra_Root")):n.createElement("div",{style:U.pathDivBreadcrumbSelected,key:`${this.state.selected}_${r}`,onClick:()=>this.setState({pathFocus:!0})},s)}))}renderPath(){return n.createElement(W,{component:"div",key:"path",sx:U.pathDiv},this.state.pathFocus?n.createElement(Ut,{value:this.state.path,onKeyDown:e=>{e.key==="Enter"?this.changeToPath():e.key==="Escape"&&this.setState({pathFocus:!1})},endAdornment:n.createElement(P,{size:"small",onClick:()=>this.changeToPath()},n.createElement(Al,null)),onBlur:()=>this.changeToPath(),onChange:e=>this.setState({path:e.target.value}),style:U.pathDivInput}):this.renderBreadcrumb())}render(){return this.props.ready?(this.state.loadAllFolders&&!this.foldersLoading&&(this.foldersLoading=!0,setTimeout(()=>{this.setState({loadAllFolders:!1,folders:{}},()=>{this.foldersLoading=!1,this.loadFolders().catch(e=>console.error(`Cannot load folders: ${e}`))})},300)),n.createElement("div",{style:{...U.root,...this.props.style},className:this.props.className},this.props.showToolbar?this.renderToolbar():null,this.state.viewType===fr?this.renderPath():null,n.createElement("div",{style:{...U.filesDiv,...U[`filesDiv${this.state.viewType}`]},onClick:e=>{this.state.viewType!==ie&&(this.state.selected!==(this.state.currentDir||"/")?this.changeFolder(e,this.state.currentDir||"/"):e.stopPropagation())},id:"dev",ref:this.refFileDiv},this.state.viewType===ie?this.renderItems("/"):this.renderItems(this.state.currentDir||"/"),this.state.viewType!==ie?n.createElement("div",{style:U.filesDivHint},this.props.t("ra_select_folder_hint")):null),this.props.allowUpload?this.renderInputDialog():null,this.props.allowUpload?this.renderUpload():null,this.props.allowDelete?this.renderDeleteDialog():null,this.props.allowView?this.renderViewDialog():null,this.state.modalEditOfAccess&&this.props.modalEditOfAccessControl?this.props.modalEditOfAccessControl(this):null,this.renderError())):n.createElement(il,null)}}const Tle=ur()(iM),yle="PHN2ZyBoZWlnaHQ9IjQ4MHB0IiB2aWV3Qm94PSIwIC0xMjAgNDgwIDQ4MCIgd2lkdGg9IjQ4MHB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im00NzIgMGgtNDY0Yy00LjQxNzk2OSAwLTggMy41ODIwMzEtOCA4djE5MmMwIDQuNDE3OTY5IDMuNTgyMDMxIDggOCA4aDMydjI0YzAgNC40MTc5NjkgMy41ODIwMzEgOCA4IDhoNDBjNC40MTc5NjkgMCA4LTMuNTgyMDMxIDgtOHYtMjRoMjg4djI0YzAgNC40MTc5NjkgMy41ODIwMzEgOCA4IDhoNDBjNC40MTc5NjkgMCA4LTMuNTgyMDMxIDgtOHYtMjRoMzJjNC40MTc5NjkgMCA4LTMuNTgyMDMxIDgtOHYtMTkyYzAtNC40MTc5NjktMy41ODIwMzEtOC04LTh6bS0zOTIgMjI0aC0yNHYtMTZoMjR6bTM0NCAwaC0yNHYtMTZoMjR6bTQwLTMyaC00NDh2LTE3Nmg0NDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMjU2IDE3NmMzNS4zNDc2NTYgMCA2NC0yOC42NTIzNDQgNjQtNjRzLTI4LjY1MjM0NC02NC02NC02NC02NCAyOC42NTIzNDQtNjQgNjRjLjAzOTA2MiAzNS4zMjgxMjUgMjguNjcxODc1IDYzLjk2MDkzOCA2NCA2NHptLTgtMTExLjI4MTI1djE1LjI4MTI1aDE2di0xNS4yODEyNWMyNC42MDU0NjkgNC4xNjAxNTYgNDEuOTE3OTY5IDI2LjQ3NjU2MiAzOS44MzIwMzEgNTEuMzQzNzUtMi4wODU5MzcgMjQuODY3MTg4LTIyLjg3ODkwNiA0My45ODQzNzUtNDcuODMyMDMxIDQzLjk4NDM3NXMtNDUuNzQ2MDk0LTE5LjExNzE4Ny00Ny44MzIwMzEtNDMuOTg0Mzc1Yy0yLjA4NTkzOC0yNC44NjcxODggMTUuMjI2NTYyLTQ3LjE4MzU5NCAzOS44MzIwMzEtNTEuMzQzNzV6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMTYwIDMyaDE2djE2aC0xNnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xNjAgNjRoMTZ2MTZoLTE2em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTEyOCAzMmgxNnYxNmgtMTZ6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMTI4IDY0aDE2djE2aC0xNnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im05NiAzMmgxNnYxNmgtMTZ6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtOTYgNjRoMTZ2MTZoLTE2em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTY0IDMyaDE2djE2aC0xNnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im02NCA2NGgxNnYxNmgtMTZ6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMzIgMzJoMTZ2MTZoLTE2em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTMyIDY0aDE2djE2aC0xNnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0zNjggMTc2YzE2LjA5Mzc1LjAxOTUzMSAyOS42ODc1LTExLjkzNzUgMzEuNzE4NzUtMjcuOTA2MjUgMi4wMzUxNTYtMTUuOTY0ODQ0LTguMTMyODEyLTMwLjk0NTMxMi0yMy43MTg3NS0zNC45NTcwMzF2LTE3LjEzNjcxOWgtMTZ2MTcuMTM2NzE5Yy0xNS41ODU5MzggNC4wMTE3MTktMjUuNzUzOTA2IDE4Ljk5MjE4Ny0yMy43MTg3NSAzNC45NTcwMzEgMi4wMzEyNSAxNS45Njg3NSAxNS42MjUgMjcuOTI1NzgxIDMxLjcxODc1IDI3LjkwNjI1em0wLTQ4YzguODM1OTM4IDAgMTYgNy4xNjQwNjIgMTYgMTZzLTcuMTY0MDYyIDE2LTE2IDE2LTE2LTcuMTY0MDYyLTE2LTE2IDcuMTY0MDYyLTE2IDE2LTE2em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTE0NCAxNzZjMTYuMDkzNzUuMDE5NTMxIDI5LjY4NzUtMTEuOTM3NSAzMS43MTg3NS0yNy45MDYyNSAyLjAzNTE1Ni0xNS45NjQ4NDQtOC4xMzI4MTItMzAuOTQ1MzEyLTIzLjcxODc1LTM0Ljk1NzAzMXYtMTcuMTM2NzE5aC0xNnYxNy4xMzY3MTljLTE1LjU4NTkzOCA0LjAxMTcxOS0yNS43NTM5MDYgMTguOTkyMTg3LTIzLjcxODc1IDM0Ljk1NzAzMSAyLjAzMTI1IDE1Ljk2ODc1IDE1LjYyNSAyNy45MjU3ODEgMzEuNzE4NzUgMjcuOTA2MjV6bTAtNDhjOC44MzU5MzggMCAxNiA3LjE2NDA2MiAxNiAxNnMtNy4xNjQwNjIgMTYtMTYgMTYtMTYtNy4xNjQwNjItMTYtMTYgNy4xNjQwNjItMTYgMTYtMTZ6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNjQgMTc2YzE2LjA5Mzc1LjAxOTUzMSAyOS42ODc1LTExLjkzNzUgMzEuNzE4NzUtMjcuOTA2MjUgMi4wMzUxNTYtMTUuOTY0ODQ0LTguMTMyODEyLTMwLjk0NTMxMi0yMy43MTg3NS0zNC45NTcwMzF2LTE3LjEzNjcxOWgtMTZ2MTcuMTM2NzE5Yy0xNS41ODU5MzggNC4wMTE3MTktMjUuNzUzOTA2IDE4Ljk5MjE4Ny0yMy43MTg3NSAzNC45NTcwMzEgMi4wMzEyNSAxNS45Njg3NSAxNS42MjUgMjcuOTI1NzgxIDMxLjcxODc1IDI3LjkwNjI1em0wLTQ4YzguODM1OTM4IDAgMTYgNy4xNjQwNjIgMTYgMTZzLTcuMTY0MDYyIDE2LTE2IDE2LTE2LTcuMTY0MDYyLTE2LTE2IDcuMTY0MDYyLTE2IDE2LTE2em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQwOCAxMTJoMzJjNC40MTc5NjkgMCA4LTMuNTgyMDMxIDgtOHYtNjRjMC00LjQxNzk2OS0zLjU4MjAzMS04LTgtOGgtMzJjLTQuNDE3OTY5IDAtOCAzLjU4MjAzMS04IDh2NjRjMCA0LjQxNzk2OSAzLjU4MjAzMSA4IDggOHptOC02NGgxNnYxNmgtMTZ6bTAgMzJoMTZ2MTZoLTE2em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQzMiAxMzZjMCA0LjQxNzk2OS0zLjU4MjAzMSA4LTggOHMtOC0zLjU4MjAzMS04LTggMy41ODIwMzEtOCA4LTggOCAzLjU4MjAzMSA4IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDMyIDE2OGMwIDQuNDE3OTY5LTMuNTgyMDMxIDgtOCA4cy04LTMuNTgyMDMxLTgtOCAzLjU4MjAzMS04IDgtOCA4IDMuNTgyMDMxIDggOHptMCAwIi8+DQogICAgPC9nPg0KPC9zdmc+",Dle="PHN2ZyB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtNTA3LjU0NiAxMDUuMTI1YzAtMS4wNDQtLjIwNS0yLjA5MS0uNjQ3LTMuMDcybC00My45My05Ny42M2MtMS4yMS0yLjY5Mi0zLjg4OC00LjQyMy02LjgzOS00LjQyM2gtMTgyLjYzYy00LjE0MyAwLTcuNSAzLjM1Ny03LjUgNy41czMuMzU3IDcuNSA3LjUgNy41aDIzLjgxMnY4Mi42M2gtODIuNjI1di04Mi42M2gyMy44MTNjNC4xNDMgMCA3LjUtMy4zNTcgNy41LTcuNXMtMy4zNTctNy41LTcuNS03LjVoLTE4Mi42M2MtMi45NTEgMC01LjYyOSAxLjczMS02Ljg0IDQuNDIzbC00My45MyA5Ny42M2MtLjQ0MS45ODEtLjY0NiAyLjAyOC0uNjQ3IDMuMDcyaC0uMDE1djEyLjIwM2MwIDI5LjUxNCAyMi44MjcgNTMuNzggNTEuNzUxIDU2LjExMmwzMS44NjUgNTguNDE5aC00LjAwN2MtNC4xNDMgMC03LjUgMy4zNTctNy41IDcuNXMzLjM1NyA3LjUgNy41IDcuNWgxNi42MzNjLjAwNSAwIC4wMS4wMDEuMDE1LjAwMXMuMDExLS4wMDEuMDE2LS4wMDFoMTYuNjE4YzQuMTQzIDAgNy41LTMuMzU3IDcuNS03LjVzLTMuMzU3LTcuNS03LjUtNy41aC0xMi4xODlsLTMyLjQ1Ni01OS41MDNjMTUuNzUtMy40MTMgMjkuMDU3LTEzLjQzMyAzNi44NzktMjcuMDAzIDkuNzMzIDE2Ljg4NyAyNy45NjEgMjguMjg4IDQ4LjgxMiAyOC4yODhzMzkuMDc5LTExLjQwMSA0OC44MTItMjguMjg4YzkuNzMzIDE2Ljg4NyAyNy45NjEgMjguMjg4IDQ4LjgxMiAyOC4yODhzMzkuMDc5LTExLjQwMSA0OC44MTItMjguMjg4YzkuNzMzIDE2Ljg4NyAyNy45NjEgMjguMjg4IDQ4LjgxMiAyOC4yODhzMzkuMDc5LTExLjQwMSA0OC44MTItMjguMjg4YzcuODIyIDEzLjU3MSAyMS4xMjkgMjMuNTkxIDM2Ljg3OSAyNy4wMDNsLTMyLjQ1NiA1OS41MDNoLTEyLjE4OGMtNC4xNDMgMC03LjUgMy4zNTctNy41IDcuNXMzLjM1NyA3LjUgNy41IDcuNWgxNi42MThjLjAwNSAwIC4wMTEuMDAxLjAxNi4wMDFzLjAxLS4wMDEuMDE1LS4wMDFoMTYuNjMzYzQuMTQzIDAgNy41LTMuMzU3IDcuNS03LjVzLTMuMzU3LTcuNS03LjUtNy41aC00LjAwN2wzMS44NjUtNTguNDE5YzI4LjkyNC0yLjMzMiA1MS43NTEtMjYuNTk4IDUxLjc1MS01Ni4xMTJ2LTEyLjIwM3ptLTE5LjA4NS03LjQ5NWgtNzguNTIzdi04Mi42M2g0MS4zNDN6bS05My41MjMtODIuNjN2ODIuNjNoLTgyLjYyNXYtODIuNjN6bS0xOTUuMjUgODIuNjNoLTgyLjYyNXYtODIuNjNoODIuNjI1em0tMTM4Ljk2OC04Mi42M2g0MS4zNDN2ODIuNjNoLTc4LjUyNHptLjAzNCAxNDMuNjQxYy0uMDExIDAtLjAyMS0uMDAxLS4wMzItLjAwMS0yMi43NjctLjAxNS00MS4yODUtMTguNTQyLTQxLjI4NS00MS4zMTJ2LTQuNjk4aDgyLjYyNXY0LjY5OGMwIDIyLjc3OC0xOC41MzEgNDEuMzEtNDEuMzA4IDQxLjMxM3ptOTcuNjIxIDBjLTIyLjc3OSAwLTQxLjMxMi0xOC41MzMtNDEuMzEyLTQxLjMxMnYtNC42OThoODIuNjI1djQuNjk4YzAgMjIuNzc4LTE4LjUzNCA0MS4zMTItNDEuMzEzIDQxLjMxMnptOTcuNjI1IDBjLTIyLjc3OSAwLTQxLjMxMi0xOC41MzMtNDEuMzEyLTQxLjMxMnYtNC42OThoODIuNjI1djQuNjk4Yy0uMDAxIDIyLjc3OC0xOC41MzQgNDEuMzEyLTQxLjMxMyA0MS4zMTJ6bTk3LjYyNSAwYy0yMi43NzkgMC00MS4zMTItMTguNTMzLTQxLjMxMi00MS4zMTJ2LTQuNjk4aDgyLjYyNXY0LjY5OGMwIDIyLjc3OC0xOC41MzQgNDEuMzEyLTQxLjMxMyA0MS4zMTJ6bTk3LjY0OC0uMDAxYy0uMDA1IDAtLjAwOSAwLS4wMTQgMC0uMDAzIDAtLjAwNiAwLS4wMDkgMC0yMi43NzkgMC00MS4zMTItMTguNTMzLTQxLjMxMi00MS4zMTJ2LTQuNjk4aDgyLjYyNXY0LjY5OGMtLjAwMSAyMi43NzItMTguNTIxIDQxLjMtNDEuMjkgNDEuMzEyeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",dle="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUwOC41MzYgNTA4LjUzNiIgd2lkdGg9IjUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtNDk4LjUzNiAzNDQuMzIxaC0xNy4yOThjLjQzNC0xNy42NzItMTAuMjY3LTM0LjIxMi0yOS41NDctMzQuMjEycy0yOS45ODIgMTYuNTQtMjkuNTQ3IDM0LjIxMmgtMTcuMjk4Yy01LjUyMyAwLTEwIDQuNDc3LTEwIDEwdjI1LjY5N2MwIDI0LjYwMSAxNS43MTIgNDUuNTk2IDM3LjYyNSA1My40OTRsLTExLjYwMSAxMS42MDFjLTExLjA4NiAxMS4wODYtMjUuODI2IDE3LjE5MS00MS41MDMgMTcuMTkxLTMyLjM2NCAwLTU4LjY5My0yNi4zMy01OC42OTMtNTguNjkzdi02Ni42NGMzNi4wODggMS4yNjYgNTcuODQ2LTIyLjM5IDgxLjE0OS00NS42OTQgMjguNTE3LTMuMDI0IDUwLjgwOS0yNy4yMTYgNTAuODA5LTU2LjUyMnYtMjUuNjk4YzAtNS41MjMtNC40NzctMTAtMTAtMTBoLTE3LjI5OGMuNDM0LTE3LjY3MS0xMC4yNjctMzQuMjEyLTI5LjU0Ny0zNC4yMTJzLTI5Ljk4MiAxNi41NC0yOS41NDcgMzQuMjEyaC0xNy4zYy01LjUyMyAwLTEwIDQuNDc3LTEwIDEwdjI1LjY5OGMwIDI0LjYwMSAxNS43MTEgNDUuNTk2IDM3LjYyNSA1My40OTRsLTExLjYwMSAxMS42MDFjLTExLjA4NiAxMS4wODYtMjUuODI2IDE3LjE5MS00MS41MDMgMTcuMTkxLTMyLjM2NCAwLTU4LjY5My0yNi4zMy01OC42OTMtNTguNjk0IDAtMjUuODk1IDAtNTEuNzkxIDAtNzcuNjg2aDIyLjcxNmMxMi4yODUgMCAxOC43MjYgMTUuNTMgMTAuMDMzIDI0LjIyMS05LjEyMiA5LjEyMSA1LjAyIDIzLjI2NCAxNC4xNDIgMTQuMTQzIDYuNDU4LTYuNDU3IDEwLjAxNC0xNS4wNDIgMTAuMDE0LTI0LjE3NSAwLTE4Ljg1Mi0xNS4zMzctMzQuMTg4LTM0LjE4OS0zNC4xODhoLTIyLjcxNnYtMTguODI0YzI2LjI1Ny01LjA0MyA0Ni4xNjEtMjguMTc1IDQ2LjE2MS01NS44ODF2LTIwLjg1MWMwLTUuNTIzLTQuNDc3LTEwLTEwLTEwaC0zNi45MTR2LTI0LjIzNmgzNi45MTRjMTIuODQgMCAxMi44NTktMjAgMC0yMGgtOTMuODI4Yy0xMi44NCAwLTEyLjg1OSAyMCAwIDIwaDM2LjkxNHYyNC4yMzVoLTM2LjkxNGMtNS41MjMgMC0xMCA0LjQ3Ny0xMCAxMHYyMC44NTFjMCAyOC4yMzMgMjAuNjY5IDUxLjcxOSA0Ny42NjcgNTYuMTUxdjE4LjU1NWgtMjIuNzE2Yy0xOC44NTIgMC0zNC4xODkgMTUuMzM3LTM0LjE4OSAzNC4xODggMCA5LjEzMiAzLjU1NiAxNy43MTcgMTAuMDE0IDI0LjE3NSA5LjEyMSA5LjEyMSAyMy4yNjMtNS4wMjEgMTQuMTQzLTE0LjE0My04LjY4NS04LjY4NC0yLjI2NC0yNC4yMjEgMTAuMDMzLTI0LjIyMWgyMi43MTZ2NzcuNjg2YzAgMzIuMzY0LTI2LjMzIDU4LjY5NC01OC42OTQgNTguNjk0LTE1LjY3NyAwLTMwLjQxNy02LjEwNS00MS41MDItMTcuMTkxbC0xMS4yMTgtMTEuMjE4YzIyLjUtNy41NzUgMzguNzU2LTI4Ljg1NiAzOC43NTYtNTMuODc3di0yNS42OThjMC01LjUyMy00LjQ3Ny0xMC0xMC0xMGgtMTcuMjk4Yy40MzQtMTcuNjcxLTEwLjI2Ny0zNC4yMTItMjkuNTQ3LTM0LjIxMnMtMjkuOTgyIDE2LjU0LTI5LjU0NyAzNC4yMTJoLTE3LjNjLTUuNTIzIDAtMTAgNC40NzctMTAgMTB2MjUuNjk4YzAgMjguNzA3IDIxLjM5NCA1Mi40OTggNDkuMDczIDU2LjNsMjIuOTM3IDIyLjkzN2MxNS4xNjQgMTUuMTYzIDM2LjAxIDIzLjQ4NiA1Ny40MzMgMjMuMDAzdjY2LjYxNGMwIDMyLjM2NC0yNi4zMyA1OC42OTMtNTguNjkzIDU4LjY5My0xNS42NzcgMC0zMC40MTctNi4xMDUtNDEuNTAyLTE3LjE5MWwtMTEuNjAyLTExLjYwMmMyMS45MTQtNy44OTggMzcuNjI1LTI4Ljg5MiAzNy42MjUtNTMuNDk0di0yNS42OTdjMC01LjUyMy00LjQ3Ny0xMC0xMC0xMGgtMTcuMjk3Yy40MzQtMTcuNjcyLTEwLjI2Ny0zNC4yMTItMjkuNTQ3LTM0LjIxMnMtMjkuOTgyIDE2LjU0LTI5LjU0NyAzNC4yMTJoLTE3LjI5OWMtNS41MjMgMC0xMCA0LjQ3Ny0xMCAxMHYyNS42OTdjMCAyOS4zMDUgMjIuMjkyIDUzLjQ5NyA1MC44MDggNTYuNTIxbDIyLjcxNyAyMi43MTZjMTQuODYzIDE0Ljg2MyAzNC42MjUgMjMuMDQ4IDU1LjY0NSAyMy4wNDggNDMuMzkyIDAgNzguNjkzLTM1LjMwMiA3OC42OTMtNzguNjkzdi02OS42NTdjMTQuNDI2LTQuMTY0IDI3LjE2MS0xMi4zNDIgMzYuOTA1LTIzLjI1N3YyMC41MjJjMCAxMi44NCAyMCAxMi44NTkgMjAgMHYtMjAuNTIyYzkuNTIgMTAuNjYzIDIxLjg4OSAxOC43MjMgMzUuOTA1IDIyLjk3MnY2OS45NDZjMCA0My4zOTIgMzUuMzAyIDc4LjY5MyA3OC42OTMgNzguNjkzIDIxLjAyIDAgNDAuNzgxLTguMTg2IDU1LjY0NS0yMy4wNDhsMjIuNzE2LTIyLjcxNmMyOC41MTYtMy4wMjUgNTAuODA4LTI3LjIxNiA1MC44MDgtNTYuNTIxdi0yNS42OTdjLjAwMS01LjUyNC00LjQ3Ni0xMC4wMDEtOS45OTktMTAuMDAxem0tMTEyLjI5OC0xNDkuOTI3YzAtMTIuMzEzIDE5LjA5NS0xMi4zMTMgMTkuMDk1IDB2NC42NjRoLTE5LjA5NXptNDYuMzkzIDI0LjY2NHYxNS42OThjMCAyMC4zMTYtMTYuNTI5IDM2Ljg0NS0zNi44NDUgMzYuODQ1cy0zNi44NDUtMTYuNTI5LTM2Ljg0NS0zNi44NDV2LTE1LjY5OHptLTMyNi45MTQtMjQuNjY0YzAtMTIuMzEzIDE5LjA5NS0xMi4zMTMgMTkuMDk1IDB2NC42NjRoLTE5LjA5NXptNDYuMzkzIDI0LjY2NHYxNS42OThjMCAyMC4zMTYtMTYuNTI5IDM2Ljg0NS0zNi44NDUgMzYuODQ1cy0zNi44NDUtMTYuNTI5LTM2Ljg0NS0zNi44NDV2LTE1LjY5OHptLTEwNC44MTIgMTIwLjU5OWMwLTEyLjMxMyAxOS4wOTUtMTIuMzEzIDE5LjA5NSAwdjQuNjY1aC0xOS4wOTV6bTQ2LjM5MiAyNC42NjR2MTUuNjk3YzAgMjAuMzE2LTE2LjUyOSAzNi44NDUtMzYuODQ1IDM2Ljg0NXMtMzYuODQ1LTE2LjUyOC0zNi44NDUtMzYuODQ1di0xNS42OTd6bTEyMy40MTEtMjc4LjM2NHYtMTAuODUxaDczLjgyOHYxMC44NTFjMCA0Ny41OTYtNzMuODI4IDQ3LjU5Ni03My44MjggMHptMjI1LjA0MiAyNTMuN2MwLTEyLjMxMyAxOS4wOTUtMTIuMzEzIDE5LjA5NSAwdjQuNjY1aC0xOS4wOTV6bTQ2LjM5MyAyNC42NjR2MTUuNjk3YzAgMjAuMzE2LTE2LjUyOSAzNi44NDUtMzYuODQ1IDM2Ljg0NXMtMzYuODQ1LTE2LjUyOS0zNi44NDUtMzYuODQ1di0xNS42OTd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yODEuMjA2IDQ0MS44NDctMTYuNDM4LTkuNDl2LTIxLjY0NWMwLTEyLjg0LTIwLTEyLjg1OS0yMCAwdjIxLjYxOWwtMTYuNDgzIDkuNTE2Yy0zLjA5NCAxLjc4Ni01IDUuMDg3LTUgOC42NnYyNC43OGMwIDMuNTczIDEuOTA2IDYuODc0IDUgOC42NmwyMS40NiAxMi4zOWMzLjA2NyAxLjc3MSA2LjkzMyAxLjc3MSAxMCAwbDIxLjQ2LTEyLjM5YzMuMDk0LTEuNzg2IDUtNS4wODcgNS04LjY2di0yNC43OGMuMDAxLTMuNTczLTEuOTA1LTYuODc0LTQuOTk5LTguNjZ6bS0xNSAyNy42NjctMTEuNDYgNi42MTctMTEuNDYtNi42MTd2LTEzLjIzM2wxMS40Ni02LjYxNyAxMS40NiA2LjYxN3oiLz4NCiAgICAgICAgPHBhdGggZD0ibTI0NS41MzUgMzc0LjE4M2MxLjYzNSAzLjkyNCA1LjcxNiA2LjQ2NiA5Ljk2OCA2LjEzOCA0LjE2OS0uMzIyIDcuNzc4LTMuMjcyIDguODk3LTcuMzAzIDIuMzY0LTguNTEzLTcuMTkxLTE1Ljc1OS0xNC43NzMtMTEuMjM1LTQuMjE0IDIuNTE0LTUuOTQ1IDcuODgtNC4wOTIgMTIuNHoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",zle="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im05IDE3YzQuNDExIDAgOC0zLjU4OSA4LTggMC0xLjI1Ni0uMjk5LTIuNDQxLS44MTgtMy41MDEgMS4xMDMtMS41NDggMi44OTgtMi40OTkgNC44MTgtMi40OTkgMi44NCAwIDUuMjc4IDIuMDY0IDUuNzk5IDQuODMxLS4xOS4xMDUtLjM3NS4yMTgtLjU1NC4zNDItMS4yMjQtLjc0Ny0yLjYzNi0xLjE3My00LjA3NC0xLjE3M2gtLjE3MXYyaC4xNzFjLjg5NiAwIDEuNzguMjIxIDIuNTguNjE1LS4wODMuMTA5LS4xNzEuMjExLS4yNDguMzI2bC0uMzM2LjUwNCAxLjY2NCAxLjEwOS4zMzYtLjUwNGMuODU3LTEuMjgzIDIuMjktMi4wNSAzLjgzMy0yLjA1IDEuMTAzIDAgMiAuODk3IDIgMnMtLjg5NyAyLTIgMmgtN2MtMS4xMDMgMC0yLS44OTctMi0yaC0yYzAgMi4yMDYgMS43OTQgNCA0IDRoMjVjMi4yMDYgMCA0LTEuNzk0IDQtNHMtMS43OTQtNC00LTRjLS40NzMgMC0uOTM1LjA2LTEuMzg3LjE1Ny0xLjE1OS0zLjYyMy00LjU0Mi02LjE1Ny04LjQzLTYuMTU3LTMuNTQ5IDAtNi43NDYgMi4xMDctOC4xNDQgNS4zNjlsLS4yNzcuNjQ2Yy0uMzU2LjAxMy0uNzA2LjA1NS0xLjA1LjEyMy0uODItMy41NDItNC4wMjMtNi4xMzgtNy43MTItNi4xMzgtMi4zMTIgMC00LjQ4OCAxLjAzNC01Ljk3OCAyLjc1MS0xLjQ2Ny0xLjY4Mi0zLjYyLTIuNzUxLTYuMDIyLTIuNzUxLTQuNDExIDAtOCAzLjU4OS04IDhzMy41ODkgOCA4IDh6bTI5LjE4My0xNGMzLjA0NyAwIDUuNjc2IDIuMDE3IDYuNTQxIDQuODc3LS4xNjMuMDkzLS4zMjUuMTg4LS40NzkuMjk1LTEuMjI1LS43NDYtMi42MzYtMS4xNzItNC4wNzQtMS4xNzJoLS4xNzF2MmguMTcxYy44OTUgMCAxLjc4LjIyMSAyLjU4LjYxNS0uMDgzLjEwOS0uMTcxLjIxMS0uMjQ4LjMyNmwtLjMzNi41MDQgMS42NjQgMS4xMDkuMzM2LS41MDRjLjg1Ny0xLjI4MyAyLjI5LTIuMDUgMy44MzMtMi4wNSAxLjEwMyAwIDIgLjg5NyAyIDJzLS44OTcgMi0yIDJoLTE0LjU1NmMuMzQ0LS41OTEuNTU2LTEuMjY4LjU1Ni0yIDAtMS41NzEtLjkxOC0yLjkxOS0yLjIzOC0zLjU3M2wuMTE2LS4yN2MxLjA4Mi0yLjUyNSAzLjU1Ny00LjE1NyA2LjMwNS00LjE1N3ptLTI5LjE4MyAwYzMuMzA5IDAgNiAyLjY5MSA2IDZzLTIuNjkxIDYtNiA2LTYtMi42OTEtNi02IDIuNjkxLTYgNi02eiIvPg0KICAgICAgICA8cGF0aCBkPSJtNTcgMzd2LTQuNWw0LTN2LTIuNWgtMnYxLjVsLTIgMS41di01aC0ydjdsLTItMS41di0xLjVoLTJ2Mi41bDQgM3YyLjVoLTEwdi02LjVsNC0zdi0yLjVoLTJ2MS41bC0yIDEuNXYtNC41ODZsMS43MDctMS43MDctMS40MTQtMS40MTQtMi4yOTMgMi4yOTN2Ny40MTRsLTItMS41di0xLjVoLTJ2Mi41bDQgM3Y0LjVoLTE0di0xLjI3OWwuNDk2LS4xNjVjMy4yOTItMS4wOTggNS41MDQtNC4xNjYgNS41MDQtNy42MzYgMC0yLjE0OS0uODM3LTQuMTcxLTIuMzU3LTUuNjkxbC00LjY0My00LjY0My0zLjgyNSAzLjgyNWMtLjM5LS44MDItLjg5Ni0xLjU0Ni0xLjUzMi0yLjE4M2wtNC42NDMtNC42NDItNC42NDMgNC42NDNjLTEuNTIgMS41Mi0yLjM1NyAzLjU0Mi0yLjM1NyA1LjY5MSAwIDMuNDcgMi4yMTIgNi41MzggNS41MDMgNy42MzVsLjQ5Ny4xNjV2NC4yOGgtMTYuMjgxbC40OSAxLjk1OWMzLjUzOSAxNC4xNTUgMTYuMjAxIDI0LjA0MSAzMC43OTEgMjQuMDQxczI3LjI1Mi05Ljg4NiAzMC43OTEtMjQuMDQxbC40OS0xLjk1OXptLTI3LjM2NCA2LjI1OCAxLjE0NSAxLjcxN2MuMTQzLjIxNC4yMTkuNDY0LjIxOS43MjIgMCAuNzE5LS41ODQgMS4zMDMtMS4zMDMgMS4zMDNoLTE1LjM5NGMtLjcxOSAwLTEuMzAzLS41ODQtMS4zMDMtMS4zMDMgMC0uMjU4LjA3Ni0uNTA4LjIxOS0uNzIzbDEuMTQ2LTEuNzE4Yy40MTUtLjYyNC42MzUtMS4zNTEuNjM1LTIuMTAxIDAtLjc3LS4yNDYtMS41MjUtLjY4MS0yLjE1NWgxNS4zNjJjLS40MzUuNjMxLS42ODEgMS4zODUtLjY4MSAyLjE1NSAwIC43NS4yMiAxLjQ3Ny42MzYgMi4xMDN6bS0xLjYzNi0yMi44NDQgMy4yMjkgMy4yMjljMS4xNDIgMS4xNDIgMS43NzEgMi42NjIgMS43NzEgNC4yNzcgMCAyLjU1Ny0xLjYwNCA0LjgxNy00IDUuNjgxdi0xLjE4NmwyLjcwNy0yLjcwNy0xLjQxNC0xLjQxNC0xLjI5MyAxLjI5MnYtMi4xNzJsMS43MDctMS43MDctMS40MTQtMS40MTQtMi4yOTMgMi4yOTN2Ny4wMTRjLTIuMzk2LS44NjMtNC0zLjEyMi00LTUuNjggMC0xLjYxNS42MjktMy4xMzUgMS43NzEtNC4yNzd6bS0xNSA0LjUwNmMwLTEuNjE1LjYyOS0zLjEzNSAxLjc3MS00LjI3N2wzLjIyOS0zLjIyOSAzLjIyOSAzLjIyOWMuNjY2LjY2NiAxLjE1MyAxLjQ4MSAxLjQ0OSAyLjM3MS0xLjA4NCAxLjQtMS42NzggMy4xMDYtMS42NzggNC45MDYgMCAuNDY0LjA0Ni45MTguMTIyIDEuMzY0LS42MDkuNTgxLTEuMzI5IDEuMDM0LTIuMTIyIDEuMzE5di02LjNsMS44MzItMi43NDgtMS42NjQtMS4xMDktMS4zMjMgMS45ODUtMS4xMzgtMS4xMzgtMS40MTQgMS40MTQgMS43MDcgMS43MDd2Mi4xNzJsLTEuMjkzLTEuMjkzLTEuNDE0IDEuNDE0IDIuNzA3IDIuNzA3djEuMTg2Yy0yLjM5Ni0uODYzLTQtMy4xMjItNC01LjY4em02IDcuODAxLjQ5Ni0uMTY1Yy44MjUtLjI3NSAxLjU4OS0uNjk2IDIuMjgxLTEuMjE2LjkxNiAxLjk0OCAyLjU4NiAzLjUwMiA0LjcyNiA0LjIxNWwuNDk3LjE2NXYxLjI4aC04em0tNy40MTQgNi4yNzkuODkuODljLjMzMy4zMzMuNTI0Ljc5NS41MjQgMS4yNjUgMCAuMzU0LS4xMDQuNjk4LS4zLjk5M2wtMS4xNDUgMS43MTdjLS4zNjMuNTQ0LS41NTUgMS4xNzgtLjU1NSAxLjgzMiAwIDEuODIyIDEuNDgxIDMuMzAzIDMuMzAzIDMuMzAzaDE1LjM5NWMxLjgyMSAwIDMuMzAyLTEuNDgxIDMuMzAyLTMuMzAzIDAtLjY1NC0uMTkyLTEuMjg4LS41NTUtMS44MzJsLTEuMTQ1LTEuNzE2Yy0uMTk2LS4yOTUtLjMtLjYzOS0uMy0uOTk0IDAtLjQ3MS4xOTEtLjkzMy41MjQtMS4yNjZsLjg5LS44OWg2LjgzNmMtLjE2LjM4NS0uMjUuODA2LS4yNSAxLjI0NyAwIDEuNDkyIDEuMDExIDIuNzg4IDIuNDU5IDMuMTQ5bDQuMjIgMS4wNTVjLjc3OC4xOTYgMS4zMjEuODkxIDEuMzIxIDEuNjkzIDAgLjcxNy0uNDMgMS4zNTMtMS4wOTYgMS42MThsLTYuMjc1IDIuNTExYy0xLjU5Ny42MzktMi42MjkgMi4xNjMtMi42MjkgMy44ODIgMCAxLjQ5Ni44MDcgMi44ODggMi4xMDcgMy42M2wyLjcxNSAxLjU1MWMtMy4wMDQgMS4wNDktNi4yMTUgMS42MjEtOS41MzcgMS42NTNsLTUuMDg2LTMuMzkxYy0uMTI0LS4wODItLjE5OS0uMjIxLS4xOTktLjM3MSAwLS4yMTkuMTU3LS40MDQuMzc0LS40NGwzLjQzNS0uNTcyYzEuMjY5LS4yMTMgMi4xOTEtMS4zMDIgMi4xOTEtMi41OSAwLTEuNDQ3LTEuMTc3LTIuNjI0LTIuNjI0LTIuNjI0aC0yMC42MDVjLTIuOTg5LTMuMzY3LTUuMjU2LTcuNDMtNi40ODYtMTJ6bTE0LjUwMyAyMC4yNjIgMi4yMyAxLjQ4N2MtNi4zMjktLjc4NC0xMi4xMDUtMy41NDgtMTYuNjA3LTcuNzQ5aDE4LjY2NGMuMzQ0IDAgLjYyNC4yOC42MjQuNjI0IDAgLjMwNy0uMjE5LjU2NS0uNTIxLjYxNmwtMy40MzQuNTcyYy0xLjE4NS4xOTgtMi4wNDUgMS4yMTItMi4wNDUgMi40MTQgMCAuODE5LjQwNyAxLjU4MSAxLjA4OSAyLjAzNnptMTguMTAzLS44NzUtNC4wOTMtMi4zMzljLS42NzgtLjM4OC0xLjA5OS0xLjExMy0xLjA5OS0xLjg5NCAwLS44OTcuNTM5LTEuNjkyIDEuMzcyLTIuMDI1bDYuMjc1LTIuNTExYzEuNDI5LS41NzEgMi4zNTMtMS45MzUgMi4zNTMtMy40NzUgMC0xLjcyMS0xLjE2Ni0zLjIxNC0yLjgzNS0zLjYzMmwtNC4yMi0xLjA1NWMtLjU1Ny0uMTQtLjk0NS0uNjM3LS45NDUtMS4yMSAwLS42ODcuNTU5LTEuMjQ2IDEuMjQ2LTEuMjQ2aDE4LjQ2OGMtMi4zNzYgOC44MjgtOC41NjUgMTUuODE0LTE2LjUyMiAxOS4zODd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zNyAxN2gydjJoLTJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zOSAyMWgydjJoLTJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00MyAxN2gydjJoLTJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00NyAxOWgydjJoLTJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im01MSAyM2gydjJoLTJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im01MSAxN2gydjJoLTJ6Ii8+DQogICAgPC9nPg0KPC9zdmc+",Ile="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiID4NCjxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQoJPHBhdGggZD0iTTUxMS45NzYsNDE2LjA2M2MtMC4wMDUtMC4wNzUtMC4wMDQtMC4xNDktMC4wMTEtMC4yMjRjLTAuMDI3LTAuMjk3LTAuMDctMC41ODgtMC4xMzEtMC44NzMNCgkJYy0wLjAwNi0wLjAyOC0wLjAxNS0wLjA1Ni0wLjAyMi0wLjA4NGMtMC4wNTktMC4yNjItMC4xMzItMC41MTgtMC4yMTgtMC43NjhjLTAuMDIzLTAuMDY3LTAuMDQ4LTAuMTMyLTAuMDczLTAuMTk4DQoJCWMtMC4wODQtMC4yMjctMC4xNzktMC40NDgtMC4yODQtMC42NjNjLTAuMDE4LTAuMDM4LTAuMDMtMC4wNzctMC4wNDktMC4xMTVsLTQwLjExMi03OS4xMThWNzMuNzINCgkJYzAtOC4wMDYtNi41MTMtMTQuNTE5LTE0LjUxOS0xNC41MTlINTUuNDQxYy04LjAwNiwwLTE0LjUxOSw2LjUxMy0xNC41MTksMTQuNTE5djI2MC4yOThMMC44MTEsNDEzLjEzNw0KCQljLTAuMDE5LDAuMDM4LTAuMDMxLDAuMDc3LTAuMDQ5LDAuMTE1Yy0wLjEwNSwwLjIxNS0wLjE5OSwwLjQzNi0wLjI4NCwwLjY2MmMtMC4wMjUsMC4wNjYtMC4wNSwwLjEzMi0wLjA3MywwLjE5OQ0KCQljLTAuMDg1LDAuMjUxLTAuMTU5LDAuNTA4LTAuMjE4LDAuNzdjLTAuMDA2LDAuMDI3LTAuMDE1LDAuMDU0LTAuMDIxLDAuMDgxYy0wLjA2MSwwLjI4Ni0wLjEwNCwwLjU3Ny0wLjEzMSwwLjg3NA0KCQljLTAuMDA3LDAuMDc0LTAuMDA3LDAuMTQ5LTAuMDExLDAuMjIzQzAuMDE0LDQxNi4yMTcsMCw0MTYuMzcxLDAsNDE2LjUyOXYxOS4wMjZjMCw5LjUwOSw3LjczNSwxNy4yNDQsMTcuMjQ0LDE3LjI0NGg0NzcuNTEyDQoJCWM5LjUwOSwwLDE3LjI0NC03LjczNSwxNy4yNDQtMTcuMjQ0di0xOS4wMjZDNTEyLDQxNi4zNzEsNTExLjk4Niw0MTYuMjE3LDUxMS45NzYsNDE2LjA2M3ogTTU1LjkyMyw3NC4yMDNoNDAwLjE1NHYyNTQuMTA5DQoJCUg1NS45MjNWNzQuMjAzeiBNNTMuMDI5LDM0My4zMTFINDU4Ljk3bDMzLjMxOCw2NS43MTdoLTE2NC43OGwtOC4yNzEtMjkuOTg5Yy0xLjY4NC02LjEwNS03LjI4Mi0xMC4zNjktMTMuNjE1LTEwLjM2OWgtOTkuMjQ2DQoJCWMtNi4zMzMsMC0xMS45MzIsNC4yNjQtMTMuNjE1LDEwLjM2OGwtOC4yNzEsMjkuOTlIMTkuNzExTDUzLjAyOSwzNDMuMzExeiBNMzExLjk0OCw0MDkuMDI5SDIwMC4wNTJsNi45OTMtMjUuMzU4aDk3LjkxDQoJCUwzMTEuOTQ4LDQwOS4wMjl6IE00OTcsNDM1LjU1NGMwLDEuMjM3LTEuMDA3LDIuMjQ0LTIuMjQ0LDIuMjQ0SDE3LjI0NGMtMS4yMzcsMC0yLjI0NC0xLjAwNy0yLjI0NC0yLjI0NHYtMTEuNTI2aDQ4MlY0MzUuNTU0eiINCgkJLz4NCgk8cGF0aCBkPSJNNDMyLjU3NywyMTMuNzU2Yy00LjE0MywwLTcuNSwzLjM1Ny03LjUsNy41djc2LjA1NUg4Ni45MjN2LTc2LjA1NWMwLTQuMTQzLTMuMzU3LTcuNS03LjUtNy41DQoJCQljLTQuMTQzLDAtNy41LDMuMzU3LTcuNSw3LjV2NzkuMjk0YzAsNi40ODUsNS4yNzUsMTEuNzYxLDExLjc2MSwxMS43NjFoMzQ0LjYzM2M2LjQ4NSwwLDExLjc2MS01LjI3NSwxMS43NjEtMTEuNzYxdi03OS4yOTQNCgkJCUM0NDAuMDc3LDIxNy4xMTUsNDM2LjcyLDIxMy43NTYsNDMyLjU3NywyMTMuNzU2eiIvPg0KCTxwYXRoIGQ9Ik00MjguMzE2LDkwLjIwM0g4My42ODRjLTYuNDg1LDAtMTEuNzYxLDUuMjc1LTExLjc2MSwxMS43NjF2NzkuMjk0YzAsNC4xNDMsMy4zNTcsNy41LDcuNSw3LjVjNC4xNDMsMCw3LjUtMy4zNTcsNy41LTcuNQ0KCQkJdi03Ni4wNTVoMzM4LjE1NHY3Ni4wNTVjMCw0LjE0MywzLjM1Nyw3LjUsNy41LDcuNXM3LjUtMy4zNTcsNy41LTcuNXYtNzkuMjk0QzQ0MC4wNzcsOTUuNDc3LDQzNC44MDIsOTAuMjAzLDQyOC4zMTYsOTAuMjAzeiIvPg0KPC9nPg0KPC9zdmc+DQo=",hle="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMi4wMDEgNTEyLjAwMSIgd2lkdGg9IjUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtMTY0LjM5OSAyMDUuODcyYzQuMDk5LjY2NCA4LjIwNi0xLjI3MyAxMC4yODQtNC45MWw2MC0xMDVjMS43NjktMy4wOTUgMS43NTYtNi44OTctLjAzMy05Ljk4cy01LjA4NS00Ljk4MS04LjY0OS00Ljk4MWgtMzYuNjgybC0xMy40ODYtNzIuODIxYy0uNzcyLTQuMTY5LTQuMDg5LTcuMzk4LTguMjc3LTguMDU4LTQuMTg1LS42Ni04LjMzNyAxLjM5NC0xMC4zNTMgNS4xMjNsLTYwIDExMWMtMS42NzUgMy4wOTktMS41OTcgNi44NTEuMjA4IDkuODc2IDEuODA0IDMuMDI1IDUuMDY2IDQuODc5IDguNTg5IDQuODc5aDM2LjgwMmwxMy4zOTMgNjYuOTYxYy44MTcgNC4wOSA0LjA4OCA3LjI0MiA4LjIwNCA3LjkxMXptLTEzLjM5OS05NC44NzFoLTI4LjIyOGwzOC41NTQtNzEuMzIzIDkuODQxIDUzLjE0NGMuODc4IDQuNzQgNS4wMTMgOC4xNzkgOS44MzMgOC4xNzloMjcuNzY5bC0zOC4yIDY2Ljg1LTkuNzYzLTQ4LjgxMWMtLjkzNS00LjY3NC01LjAzOS04LjAzOS05LjgwNi04LjAzOXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTEwIDQ1OS4wMDFjLTUuNTIyIDAtMTAgNC40NzctMTAgMTBzNC40NzggMTAgMTAgMTBoMjN2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoNDN2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoNDB2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoNDB2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoNDB2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoNDB2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoNDB2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoNDB2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoMjZjNS41MjIgMCAxMC00LjQ3NyAxMC0xMHMtNC40NzgtMTAtMTAtMTBoLTU2di02OGMwLTUuNTIzLTQuNDc4LTEwLTEwLTEwcy0xMCA0LjQ3Ny0xMCAxMHY2OGgtNDB2LTIyM2g0MHY2NWMwIDUuNTIzIDQuNDc4IDEwIDEwIDEwczEwLTQuNDc3IDEwLTEwdi03NWMwLTUuNTIzLTQuNDc4LTEwLTEwLTEwaC02MGMtNS41MjIgMC0xMCA0LjQ3Ny0xMCAxMHYyMzNoLTQwdi0xNzNjMC01LjUyMy00LjQ3OC0xMC0xMC0xMGgtNjBjLTUuNTIyIDAtMTAgNC40NzctMTAgMTB2MTczaC00MHYtMTEzYzAtNS41MjMtNC40NzgtMTAtMTAtMTBoLTYwYy01LjUyMiAwLTEwIDQuNDc3LTEwIDEwdjExM2gtNzN2LTQ0OWMwLTUuNTIzLTQuNDc4LTEwLTEwLTEwcy0xMCA0LjQ3Ny0xMCAxMHYyNmgtMjNjLTUuNTIyIDAtMTAgNC40NzctMTAgMTBzNC40NzggMTAgMTAgMTBoMjN2NDBoLTIzYy01LjUyMiAwLTEwIDQuNDc3LTEwIDEwczQuNDc4IDEwIDEwIDEwaDIzdjQwaC0yM2MtNS41MjIgMC0xMCA0LjQ3Ny0xMCAxMHM0LjQ3OCAxMCAxMCAxMGgyM3Y0MGgtMjNjLTUuNTIyIDAtMTAgNC40NzctMTAgMTBzNC40NzggMTAgMTAgMTBoMjN2NDBoLTIzYy01LjUyMiAwLTEwIDQuNDc3LTEwIDEwczQuNDc4IDEwIDEwIDEwaDIzdjQwaC0yM2MtNS41MjIgMC0xMCA0LjQ3Ny0xMCAxMHM0LjQ3OCAxMCAxMCAxMGgyM3Y0MGgtMjNjLTUuNTIyIDAtMTAgNC40NzctMTAgMTBzNC40NzggMTAgMTAgMTBoMjN2NDN6bTI1Ni0xNjNoNDB2MTYzaC00MHptLTEyMCA2MGg0MHYxMDNoLTQweiIvPg0KICAgICAgICA8cGF0aCBkPSJtNDM2IDE0Ni4wMDFjNS41MjIgMCAxMC00LjQ3NyAxMC0xMHYtNjBjMC01LjUyMy00LjQ3OC0xMC0xMC0xMGgtNjBjLTUuNTIyIDAtMTAgNC40NzctMTAgMTBzNC40NzggMTAgMTAgMTBoMzUuODU3bC0xMDAgMTAwaC01NS44NTdjLTIuNjUyIDAtNS4xOTUgMS4wNTQtNy4wNzEgMi45MjlsLTkwIDkwYy0zLjkwNSAzLjkwNS0zLjkwNSAxMC4yMzcgMCAxNC4xNDMgMy45MDcgMy45MDUgMTAuMjM2IDMuOTA0IDE0LjE0MyAwbDg3LjA3MS04Ny4wNzFoNTUuODU3YzIuNjUyIDAgNS4xOTUtMS4wNTQgNy4wNzEtMi45MjlsMTAyLjkyOS0xMDIuOTN2MzUuODU3YzAgNS41MjQgNC40NzggMTAuMDAxIDEwIDEwLjAwMXoiLz4NCiAgICAgICAgPGNpcmNsZSBjeD0iNDM2IiBjeT0iMzQ2LjAwMSIgcj0iMTAiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",wle="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cmVjdCB4PSIyMTYiIHk9Ijg4LjQ4OSIgd2lkdGg9IjgwIiBoZWlnaHQ9IjE1Ii8+DQogICAgICAgIDxyZWN0IHg9IjIxNiIgeT0iNjIuNDg5IiB3aWR0aD0iODAiIGhlaWdodD0iMTUiLz4NCiAgICAgICAgPHBhdGggZD0iTTMwLDUyLjQ5NHY5LjI4NWMtMi4zNDctMC44MzItNC44NzItMS4yODUtNy41LTEuMjg1Yy0xMi40MDYsMC0yMi41LDEwLjA5My0yMi41LDIyLjVjMCwxMi40MDcsMTAuMDk0LDIyLjUsMjIuNSwyMi41DQoJCQljMi42MjgsMCw1LjE1My0wLjQ1Myw3LjUtMS4yODV2MzU1LjI5OGg3LjVjOC42OTksMCwxMy4zNTQtMi44MTksMTcuMDk1LTUuMDg1YzIuODk5LTEuNzU1LDQuODE0LTIuOTE1LDkuMzI1LTIuOTE1DQoJCQljNC41MTEsMCw2LjQyNiwxLjE2LDkuMzI1LDIuOTE1YzMuNzQsMi4yNjYsOC4zOTYsNS4wODUsMTcuMDk1LDUuMDg1YzguNjk4LDAsMTMuMzU0LTIuODE5LDE3LjA5NC01LjA4NQ0KCQkJYzIuODk3LTEuNzU1LDQuODEzLTIuOTE1LDkuMzIyLTIuOTE1YzQuNTA5LDAsNi40MjQsMS4xNiw5LjMyMSwyLjkxNWMzLjc0LDIuMjY2LDguMzk1LDUuMDg1LDE3LjA5Myw1LjA4NQ0KCQkJczEzLjM1NC0yLjgxOSwxNy4wOTQtNS4wODVjMi44OTctMS43NTUsNC44MTMtMi45MTUsOS4zMjEtMi45MTVjNC41MSwwLDYuNDI1LDEuMTYsOS4zMjIsMi45MTUNCgkJCWMzLjc0LDIuMjY2LDguMzk2LDUuMDg1LDE3LjA5Myw1LjA4NWw3LjUtMC4wMTN2LTQwN0gzMHogTTIyLjUsOTAuNDk0Yy00LjEzNiwwLTcuNS0zLjM2NC03LjUtNy41YzAtNC4xMzYsMy4zNjQtNy41LDcuNS03LjUNCgkJCXM3LjUsMy4zNjQsNy41LDcuNUMzMCw4Ny4xMywyNi42MzYsOTAuNDk0LDIyLjUsOTAuNDk0eiBNMTg4LjUsNDQyLjY2NGMtMC41ODUtMC4zMjUtMS4xNzktMC42ODUtMS44MjEtMS4wNzQNCgkJCWMtMy4zMzktMi4wMjItNy40MDctNC40ODYtMTQuNDI5LTQuOTkxVjIyNi41NTVoLTE1djIxMi40MzFjLTEuODI0LDAuODI3LTMuMzU1LDEuNzU1LTQuNzU4LDIuNjA0DQoJCQljLTIuODk3LDEuNzU1LTQuODEzLDIuOTE1LTkuMzIyLDIuOTE1Yy0xLjY0OCwwLTIuOTUtMC4xNTUtNC4wNzktMC40MzhoMy4xNTlWMTQxLjk5NGgtMTV2Mjk2LjIzOA0KCQkJYy0yLjczNC0xLjAwNS02LjA5Ny0xLjcyNi0xMC40OTQtMS43MjZjLTEuNjM4LDAtMy4xMzMsMC4xLTQuNTA2LDAuMjc4di0yMTYuNzloLTE1djIyMi45ODhjLTEuODQ5LDAuOTUxLTMuNzM4LDEuNTI1LTYuOTEsMS41MjUNCgkJCWMtMy44NDMsMC01LjgwMi0wLjg0Mi04LjA5LTIuMTc2VjE0MS45OTRoLTE1djI5NC42NjFjLTEuMDQxLTAuMDk2LTIuMTQ4LTAuMTQ4LTMuMzMtMC4xNDhjLTguNjk5LDAtMTMuMzU0LDIuODE5LTE3LjA5NSw1LjA4NQ0KCQkJYy0wLjY0NCwwLjM5LTEuMjM5LDAuNzUtMS44MjUsMS4wNzVWNjcuNDk0aDIyLjI1djQxaDE1di00MWg0NXY0MWgxNXYtNDFoNDYuMjVWNDQyLjY2NHoiLz4NCiAgICAgICAgPHJlY3QgeD0iMTU3LjI1IiB5PSIxMzYuOTg5IiB3aWR0aD0iMTUiIGhlaWdodD0iNjYiLz4NCiAgICAgICAgPHJlY3QgeD0iMTU3LjI1IiB5PSIxMTEuOTg5IiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiLz4NCiAgICAgICAgPHJlY3QgeD0iMTU3LjI1IiB5PSI4Ni45OTQiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIvPg0KICAgICAgICA8cmVjdCB4PSI5Ny4yNSIgeT0iMTMwLjk4OSIgd2lkdGg9IjE1IiBoZWlnaHQ9IjY2Ii8+DQogICAgICAgIDxyZWN0IHg9Ijk3LjI1IiB5PSI4MC45OTQiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIvPg0KICAgICAgICA8cmVjdCB4PSI5Ny4yNSIgeT0iMTA1Ljk4OSIgd2lkdGg9IjE1IiBoZWlnaHQ9IjE1Ii8+DQogICAgICAgIDxyZWN0IHg9IjQzNS43NSIgeT0iMTEzLjk4OSIgd2lkdGg9IjE1IiBoZWlnaHQ9IjE1Ii8+DQogICAgICAgIDxyZWN0IHg9IjQzNS43NSIgeT0iMTM4Ljk4OSIgd2lkdGg9IjE1IiBoZWlnaHQ9IjY2Ii8+DQogICAgICAgIDxyZWN0IHg9IjQzNS43NSIgeT0iODguOTk0IiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiLz4NCiAgICAgICAgPHJlY3QgeD0iMzc1Ljc1IiB5PSIxNTUuOTg5IiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiLz4NCiAgICAgICAgPHJlY3QgeD0iMzc1Ljc1IiB5PSI4MC45OTQiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIvPg0KICAgICAgICA8cmVjdCB4PSIzNzUuNzUiIHk9IjEwNS45ODkiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIvPg0KICAgICAgICA8cmVjdCB4PSIzNzUuNzUiIHk9IjEzMC45ODkiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIvPg0KICAgICAgICA8cGF0aCBkPSJNNDg5LjUsNjAuNDk0Yy0yLjYyOCwwLTUuMTUzLDAuNDUzLTcuNSwxLjI4NXYtOS4yODVIMzA4LjV2NDA3LjAxM2g3LjVjOC42OTksMCwxMy4zNTQtMi44MTksMTcuMDk1LTUuMDg1DQoJCQljMi44OTktMS43NTUsNC44MTQtMi45MTUsOS4zMjUtMi45MTVjNC41MTEsMCw2LjQyNiwxLjE2LDkuMzI1LDIuOTE1YzMuNzQsMi4yNjYsOC4zOTYsNS4wODUsMTcuMDk1LDUuMDg1DQoJCQljOC42OTgsMCwxMy4zNTQtMi44MTksMTcuMDk0LTUuMDg1YzIuODk3LTEuNzU1LDQuODEzLTIuOTE1LDkuMzIyLTIuOTE1YzQuNTA5LDAsNi40MjQsMS4xNiw5LjMyMSwyLjkxNQ0KCQkJYzMuNzQsMi4yNjYsOC4zOTUsNS4wODUsMTcuMDkzLDUuMDg1czEzLjM1NC0yLjgxOSwxNy4wOTQtNS4wODVjMi44OTctMS43NTUsNC44MTMtMi45MTUsOS4zMjEtMi45MTUNCgkJCWM0LjUxLDAsNi40MjUsMS4xNiw5LjMyMiwyLjkxNWMzLjc0LDIuMjY2LDguMzk2LDUuMDg1LDE3LjA5Myw1LjA4NWw3LjUtMC4wMTNWMTA0LjIwOGMyLjM0NywwLjgzMiw0Ljg3MiwxLjI4NSw3LjUsMS4yODUNCgkJCWMxMi40MDYsMCwyMi41LTEwLjA5MywyMi41LTIyLjVDNTEyLDcwLjU4NSw1MDEuOTA2LDYwLjQ5NCw0ODkuNSw2MC40OTR6IE00NjcsNDQyLjY2NGMtMC41ODUtMC4zMjUtMS4xNzktMC42ODUtMS44MjEtMS4wNzQNCgkJCWMtMy4zMzktMi4wMjItNy40MDctNC40ODYtMTQuNDI5LTQuOTkxVjIyNi41NTVoLTE1djIxMi40MzFjLTEuODI0LDAuODI3LTMuMzU1LDEuNzU1LTQuNzU4LDIuNjA0DQoJCQljLTIuODk3LDEuNzU1LTQuODEzLDIuOTE1LTkuMzIyLDIuOTE1Yy0xLjY0OCwwLTIuOTUtMC4xNTUtNC4wNzktMC40MzhoMy4xNTlWMTQxLjk5NGgtMTV2Mjk2LjIzOA0KCQkJYy0yLjczNC0xLjAwNS02LjA5Ny0xLjcyNi0xMC40OTQtMS43MjZjLTEuNjM4LDAtMy4xMzMsMC4xLTQuNTA2LDAuMjc4di0yNTAuNzloLTE1djI1Ni45ODhjLTEuODQ5LDAuOTUxLTMuNzM4LDEuNTI1LTYuOTEsMS41MjUNCgkJCWMtMy44NDMsMC01LjgwMi0wLjg0Mi04LjA5LTIuMTc2VjE0MS45OTRoLTE1djI5NC42NjFjLTEuMDQxLTAuMDk2LTIuMTQ4LTAuMTQ4LTMuMzMtMC4xNDhjLTguNjk5LDAtMTMuMzU0LDIuODE5LTE3LjA5NSw1LjA4NQ0KCQkJYy0wLjY0NCwwLjM5LTEuMjM5LDAuNzUtMS44MjUsMS4wNzVWNjcuNDk0aDIyLjI1djQxaDE1di00MWg0NXY0MWgxNXYtNDFINDY3VjQ0Mi42NjR6IE00ODkuNSw5MC40OTRjLTQuMTM2LDAtNy41LTMuMzY0LTcuNS03LjUNCgkJCWMwLTQuMTM2LDMuMzY0LTcuNSw3LjUtNy41czcuNSwzLjM2NCw3LjUsNy41QzQ5Nyw4Ny4xMyw0OTMuNjM2LDkwLjQ5NCw0ODkuNSw5MC40OTR6Ii8+DQogICAgPC9nPg0KPC9zdmc+DQo=",Cle="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im00MiAxMmMyLjIwNiAwIDQtMS43OTQgNC00cy0xLjc5NC00LTQtNC00IDEuNzk0LTQgNCAxLjc5NCA0IDQgNHptMi00YzAgMS4xMDMtLjg5NyAyLTIgMnMtMi0uODk3LTItMmMwLS4xNzguMDMxLS4zNDcuMDc1LS41MTFsMS4yMTggMS4yMTggMS40MTQtMS40MTQtMS4yMTgtMS4yMThjLjE2NC0uMDQ0LjMzMy0uMDc1LjUxMS0uMDc1IDEuMTAzIDAgMiAuODk3IDIgMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTIyIDRjLTIuMjA2IDAtNCAxLjc5NC00IDRzMS43OTQgNCA0IDQgNC0xLjc5NCA0LTQtMS43OTQtNC00LTR6bTAgNmMtMS4xMDMgMC0yLS44OTctMi0ycy44OTctMiAyLTJjLjE3OCAwIC4zNDcuMDMxLjUxMS4wNzVsLTEuMjE4IDEuMjE4IDEuNDE0IDEuNDE0IDEuMjE4LTEuMjE4Yy4wNDQuMTY0LjA3NS4zMzMuMDc1LjUxMSAwIDEuMTAzLS44OTcgMi0yIDJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im01MSAxMmgyYzEuNjU0IDAgMy0xLjM0NiAzLTNzLTEuMzQ2LTMtMy0zaC0yYy0xLjY1NCAwLTMgMS4zNDYtMyAzczEuMzQ2IDMgMyAzem0wLTRoMmMuNTUxIDAgMSAuNDQ5IDEgMXMtLjQ0OSAxLTEgMWgtMmMtLjU1MSAwLTEtLjQ0OS0xLTFzLjQ0OS0xIDEtMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTEzIDZoLTJjLTEuNjU0IDAtMyAxLjM0Ni0zIDNzMS4zNDYgMyAzIDNoMmMxLjY1NCAwIDMtMS4zNDYgMy0zcy0xLjM0Ni0zLTMtM3ptMCA0aC0yYy0uNTUxIDAtMS0uNDQ5LTEtMXMuNDQ5LTEgMS0xaDJjLjU1MSAwIDEgLjQ0OSAxIDFzLS40NDkgMS0xIDF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im02Mi45OTcgNThjMC0uMTYzLS4wMzctLjMyNi0uMTE3LS40NzRsLTIuODgtNS4zNDl2LTM4LjE3Ny0xMGMwLTEuNjU0LTEuMzQ2LTMtMy0zaC01MGMtMS42NTQgMC0zIDEuMzQ2LTMgM3YxMCAzOC4xNzdsLTIuODggNS4zNDljLS4wOC4xNDgtLjExNy4zMTEtLjExNy40NzRoLS4wMDN2MmMwIDEuNjU0IDEuMzQ2IDMgMyAzaDU2YzEuNjU0IDAgMy0xLjM0NiAzLTN2LTJ6bS02Ljk5Ny0xMy4yNTF2LTI5Ljc0OWgydjMzLjQ2M3ptLTQxLjkzMS0yLjc0OWMuMTg5IDEuNTAyLjc5MiAyLjg3NSAxLjY5NSA0aC0yLjc2NHYtNHptMzYuOTMxIDB2NGgtMi43NjVjLjkwNC0xLjEyNSAxLjUwNy0yLjQ5OCAxLjY5NS00em0tNS42OSA0aC0uMzF2LTIuMzgyYy40MDItLjQ2LjctMS4wMDkuODU4LTEuNjE4aDIuMDUyYy0uMjgyIDEuNjY2LTEuMjQ2IDMuMTAxLTIuNiA0em0tOC4zMS0xLjY5di0yLjMxaDEuMTQyYy40NDcgMS43MjEgMiAzIDMuODU4IDMgLjM0NyAwIC42NzgtLjA1OCAxLS4xNDJ2MS4xNDJoLTQuMzFjLS42Ny0uNDQ1LTEuMjQ1LTEuMDItMS42OS0xLjY5em0zLjI3OC00LjMxYy4zNDctLjU5NS45ODUtMSAxLjcyMi0xczEuMzc1LjQwNSAxLjcyMiAxem0yLjcyMiAydi43MjJjLS4yOTUuMTcyLS42MzQuMjc4LTEgLjI3OC0uNzM3IDAtMS4zNzUtLjQwNS0xLjcyMi0xem0yLjg1OC0yYy0uNDQ3LTEuNzIxLTItMy0zLjg1OC0zcy0zLjQxMSAxLjI3OS0zLjg1OCAzaC0yLjA1MmMuNDc4LTIuODMzIDIuOTQyLTUgNS45MS01czUuNDMxIDIuMTY3IDUuOTEgNXptLTExLjcyNS03LjA4NGMuNTEzLTIuNzkyIDIuOTU5LTQuOTE2IDUuODk3LTQuOTE2IDEuNjEgMCAzLjA2NS42MzEgNC4xNDMgMS42Ni0uOTczLS40MjMtMi4wNDYtLjY2LTMuMTczLS42Ni0yLjkxOCAwLTUuNDY5IDEuNTc2LTYuODY3IDMuOTE2em0uODY3IDQuMDg0YzAtMy4zMDkgMi42OTEtNiA2LTYgMi4zMzUgMCA0LjM1NyAxLjM0MyA1LjM0OCAzLjI5NC0xLjI1My0uODE1LTIuNzQ1LTEuMjk0LTQuMzQ4LTEuMjk0LTMuMDA0IDAtNS42MjQgMS42NjctNi45OTIgNC4xMjItLjAwMS0uMDQxLS4wMDgtLjA4MS0uMDA4LS4xMjJ6bS0uOTMxIDVjLjEyOSAxLjAyNy40NDkgMS45OTYuOTMxIDIuODY0djEuMTM2aC02di0xLjEzNmMuNDgyLS44NjkuODAyLTEuODM3LjkzMS0yLjg2NHptLTEzLjA2OSA0di0xLjE0MmMuMzIyLjA4NC42NTMuMTQyIDEgLjE0MiAxLjg1OCAwIDMuNDExLTEuMjc5IDMuODU4LTNoMS4xNDJ2Mi4zMWMtLjQ0NS42Ny0xLjAyIDEuMjQ1LTEuNjkgMS42OXptMC00aDIuNzIyYy0uMzQ3LjU5NS0uOTg1IDEtMS43MjIgMS0uMzY2IDAtLjcwNS0uMTA2LTEtLjI3OHptLS43MjItMmMuMzQ3LS41OTUuOTg1LTEgMS43MjItMXMxLjM3NS40MDUgMS43MjIgMXptOC43MTQtMi44NzhjLTEuMzY4LTIuNDU1LTMuOTg4LTQuMTIyLTYuOTkyLTQuMTIyLTEuNjAzIDAtMy4wOTUuNDc5LTQuMzQ4IDEuMjk0Ljk5MS0xLjk1MSAzLjAxMy0zLjI5NCA1LjM0OC0zLjI5NCAzLjMwOSAwIDYgMi42OTEgNiA2IDAgLjA0MS0uMDA3LjA4MS0uMDA4LjEyMnptLTUuOTkyLTguMTIyYy0xLjEwNiAwLTIuMTYuMjI2LTMuMTE5LjYzNCAxLjA3Ni0xLjAxNSAyLjUyMi0xLjYzNCA0LjExOS0xLjYzNCAyLjk2MSAwIDUuNDIyIDIuMTU4IDUuOTA3IDQuOTgzLTEuMzg4LTIuMzc4LTMuOTYxLTMuOTgzLTYuOTA3LTMuOTgzem0tMSA2YzIuOTY3IDAgNS40MzEgMi4xNjcgNS45MSA1aC0yLjA1MmMtLjQ0Ny0xLjcyMS0yLTMtMy44NTgtM3MtMy40MTEgMS4yNzktMy44NTggM2gtMi4wNTJjLjQ3OS0yLjgzMyAyLjk0My01IDUuOTEtNXptLTMuODU4IDdjLjE1OC42MDkuNDU2IDEuMTU3Ljg1OCAxLjYxOHYyLjM4MmgtLjMxYy0xLjM1NC0uODk5LTIuMzE5LTIuMzM0LTIuNi00em0tNS4xNDIgNmg1LjEzNmMuMjc4LjE1NC41NjcuMjkuODY0LjQxMXYzLjU4OWgtNnptOCAuOTMxYy4zMjguMDQxLjY2MS4wNjkgMSAuMDY5IDEuNDAxIDAgMi43MTgtLjM2NCAzLjg2NC0xaDEuMTM2djRoLTZ6bTgtLjkzMWg2djRoLTZ6bTggMGgxLjEzNmMxLjE0Ny42MzYgMi40NjMgMSAzLjg2NCAxIC4zMzkgMCAuNjcyLS4wMjggMS0uMDY5djMuMDY5aC02em04IC40MTFjLjI5Ny0uMTIxLjU4Ni0uMjU3Ljg2NC0uNDExaDUuMTM2djRoLTZ6bTcuOTY4LTcuNTcyLjAxOS0uMDAzLTIuNzc0LTE2LjY0M2MtLjIxMi0xLjI3MS0xLjMwMS0yLjE5My0yLjU4OS0yLjE5My0xLjQ0NyAwLTIuNjI0IDEuMTc3LTIuNjI0IDIuNjI0djEuMzc2aDJ2LTEuMzc2YzAtLjM0NC4yOC0uNjI0LjYyNC0uNjI0LjMwNyAwIC41NjUuMjE5LjYxNi41MjFsMi41OCAxNS40NzloLS44ODljLS4xMjktMS4wMy0uNDUxLTItLjkzNC0yLjg3IDAtLjA0NC4wMDMtLjA4Ni4wMDMtLjEzIDAtMS40Mi0uMzc2LTIuNzUxLTEuMDI3LTMuOTA4LS40NTctNC4wNTQtMy44NDEtNy4wOTItNy45NDMtNy4wOTItNC40MTEgMC04IDMuNTg5LTggOCAwIDEuMzczLjM2NCAyLjcxMyAxLjAzMSAzLjkwNC4wODIuNzIxLjI2MSAxLjQyNS41MzIgMi4wOTZoLTMuMTg3Yy4yNjMtLjY1LjQ0Mi0xLjMzLjUyNy0yLjAyOC42OTItMS4yMDggMS4wNjctMi41NzQgMS4wNjctMy45NzIgMC00LjQxMS0zLjU4OS04LTgtOC00LjA4IDAtNy40NDggMy4wMDYtNy45MzQgNy4wMjctLjY3NCAxLjE3Mi0xLjA2NiAyLjUyNi0xLjA2NiAzLjk3MyAwIC4wNDQuMDAzLjA4Ni4wMDQuMTMtLjQ4NC44Ny0uODA1IDEuODQtLjkzNSAyLjg3aC0uODg5bDIuNTgtMTUuNDc5Yy4wNTEtLjMwMi4zMDktLjUyMS42MTYtLjUyMS4zNDQgMCAuNjI0LjI4LjYyNC42MjR2MS4zNzZoMnYtMS4zNzZjMC0xLjQ0Ny0xLjE3Ny0yLjYyNC0yLjYyNC0yLjYyNC0xLjI4OCAwLTIuMzc3LjkyMi0yLjU4OCAyLjE5MmwtMi43NzQgMTYuNjQ0LjAxOS4wMDNjLS4wMS4wNTQtLjAzMy4xMDQtLjAzMy4xNjF2M2gtMXYtMjNoNDR2MjNoLTF2LTNjMC0uMDU3LS4wMjMtLjEwNy0uMDMyLS4xNjF6bTEuMDMyLTI1LjgzOXY0aC00NHYtNHptLTIwLTJoLTR2LTRjMC0xLjEwMy44OTctMiAyLTJzMiAuODk3IDIgMnptLTI4LTljMC0uNTUxLjQ0OS0xIDEtMWg1MGMuNTUxIDAgMSAuNDQ5IDEgMXY5aC0yMnYtNGMwLTIuMjA2LTEuNzk0LTQtNC00cy00IDEuNzk0LTQgNHY0aC0yMnptMCAxMWgydjI5Ljc0OWwtMiAzLjcxNHptMy41OTcgMzFoMS40MDN2N2MwIC41NTMuNDQ4IDEgMSAxaDQwYy41NTIgMCAxLS40NDcgMS0xdi03aDEuNDAzbDUuOTIzIDExaC01Ni42NTJ6bTUwLjQwMyAxNWgtNTZjLS41NTEgMC0xLS40NDgtMS0xdi0xaDU4djFjMCAuNTUyLS40NDkgMS0xIDF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xMiAxNmg0djJoLTR6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00OCAxNmg0djJoLTR6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zMSA5aDJ2MmgtMnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",Ale="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDEyOCAxMjgiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTExMy4yMDYgMTA2LjI2NWgtMTMuNjIzdi04Ni4yOGExLjc0OSAxLjc0OSAwIDAgMCAtMS41NTQtMS43MzhsLTQ2LTUuMTkyYTEuNzUgMS43NSAwIDAgMCAtMS45NDYgMS43Mzl2My40NDFoLTE5LjkxNmExLjc1IDEuNzUgMCAwIDAgLTEuNzUgMS43NXY4Ni4yOGgtMTMuNjIzYTEuNzUgMS43NSAwIDEgMCAwIDMuNWgzNS4yODl2My40NDFhMS43NSAxLjc1IDAgMCAwIDEuNzUgMS43NSAxLjYxIDEuNjEgMCAwIDAgLjItLjAxMWw0NS45LTUuMThoMTUuMjc2YTEuNzUgMS43NSAwIDAgMCAwLTMuNXptLTgxLjI4OS04NC41M2gxOC4xNjZ2NC41aC0xMS45MTdhMS43NSAxLjc1IDAgMCAwIC0xLjc1IDEuNzV2NzguMjhoLTQuNXptOCA4NC41M3YtNzYuNTNoMTAuMTY2djc2LjUzem0xMy42NjYtODkuNTEzIDQyLjUgNC44djg0LjlsLTQyLjUgNC44eiIvPg0KICAgICAgICA8cGF0aCBkPSJtNjEuMTI1IDU4Ljc5MmE1LjIwOCA1LjIwOCAwIDEgMCA1LjIwOCA1LjIwOCA1LjIxNCA1LjIxNCAwIDAgMCAtNS4yMDgtNS4yMDh6bTAgNi45MTZhMS43MDggMS43MDggMCAxIDEgMS43MDgtMS43MDggMS43MSAxLjcxIDAgMCAxIC0xLjcwOCAxLjcwOHoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",mle="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJNNDAxLjA2NywwSDExMC45MzNjLTQuNzEsMC04LjUzMywzLjgxNC04LjUzMyw4LjUzM3Y0OTQuOTMzYzAsNC43MTksMy44MjMsOC41MzMsOC41MzMsOC41MzNoMjkwLjEzMw0KCQkJYzQuNzEsMCw4LjUzMy0zLjgxNCw4LjUzMy04LjUzM1Y4LjUzM0M0MDkuNiwzLjgxNCw0MDUuNzc3LDAsNDAxLjA2NywweiBNMzkyLjUzMyw0OTQuOTMzSDExOS40NjdWMTcuMDY3aDI3My4wNjdWNDk0LjkzM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTM2Ni45MzMsMzQuMTMzSDE0NS4wNjdjLTQuNzEsMC04LjUzMywzLjgxNC04LjUzMyw4LjUzM3Y0NjAuOGMwLDQuNzE5LDMuODIzLDguNTMzLDguNTMzLDguNTMzaDIyMS44NjcNCgkJCWM0LjcxLDAsOC41MzMtMy44MTQsOC41MzMtOC41MzN2LTQ2MC44QzM3NS40NjcsMzcuOTQ4LDM3MS42NDQsMzQuMTMzLDM2Ni45MzMsMzQuMTMzeiBNMzU4LjQsNDk0LjkzM0gxNTMuNlY1MS4yaDIwNC44VjQ5NC45MzN6DQoJCQkiLz4NCiAgICAgICAgPHBhdGggZD0iTTI1Niw2OC4yNjdjLTQ3LjA1MywwLTg1LjMzMywzOC4yODEtODUuMzMzLDg1LjMzM3Y4LjUzM2MwLDQuNzE5LDMuODIzLDguNTMzLDguNTMzLDguNTMzaDE1My42DQoJCQljNC43MSwwLDguNTMzLTMuODE0LDguNTMzLTguNTMzVjE1My42QzM0MS4zMzMsMTA2LjU0NywzMDMuMDUzLDY4LjI2NywyNTYsNjguMjY3eiBNMTg3LjczMywxNTMuNg0KCQkJYzAtMzcuNjQxLDMwLjYyNi02OC4yNjcsNjguMjY3LTY4LjI2N2MzNy42NDEsMCw2OC4yNjcsMzAuNjI2LDY4LjI2Nyw2OC4yNjdIMTg3LjczM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTIzOC45MzMsMTg3LjczM0gxNzkuMmMtNC43MSwwLTguNTMzLDMuODE0LTguNTMzLDguNTMzdjExOS40NjdjMCw0LjcxOSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2g1OS43MzMNCgkJCWM0LjcxLDAsOC41MzMtMy44MTQsOC41MzMtOC41MzNWMTk2LjI2N0MyNDcuNDY3LDE5MS41NDgsMjQzLjY0NCwxODcuNzMzLDIzOC45MzMsMTg3LjczM3ogTTIzMC40LDMwNy4yaC00Mi42NjdWMjA0LjhIMjMwLjQNCgkJCVYzMDcuMnoiLz4NCiAgICAgICAgPHBhdGggZD0iTTMzMi44LDE4Ny43MzNoLTU5LjczM2MtNC43MSwwLTguNTMzLDMuODE0LTguNTMzLDguNTMzdjExOS40NjdjMCw0LjcxOSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM0gzMzIuOA0KCQkJYzQuNzEsMCw4LjUzMy0zLjgxNCw4LjUzMy04LjUzM1YxOTYuMjY3QzM0MS4zMzMsMTkxLjU0OCwzMzcuNTEsMTg3LjczMywzMzIuOCwxODcuNzMzeiBNMzI0LjI2NywzMDcuMkgyODEuNlYyMDQuOGg0Mi42NjdWMzA3LjINCgkJCXoiLz4NCiAgICAgICAgPHBhdGggZD0iTTIzOC45MzMsMzQxLjMzM0gxNzkuMmMtNC43MSwwLTguNTMzLDMuODE0LTguNTMzLDguNTMzdjExOS40NjdjMCw0LjcxOSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2g1OS43MzMNCgkJCWM0LjcxLDAsOC41MzMtMy44MTQsOC41MzMtOC41MzNWMzQ5Ljg2N0MyNDcuNDY3LDM0NS4xNDgsMjQzLjY0NCwzNDEuMzMzLDIzOC45MzMsMzQxLjMzM3ogTTIzMC40LDQ2MC44aC00Mi42NjdWMzU4LjRIMjMwLjQNCgkJCVY0NjAuOHoiLz4NCiAgICAgICAgPHBhdGggZD0iTTMzMi44LDM0MS4zMzNoLTU5LjczM2MtNC43MSwwLTguNTMzLDMuODE0LTguNTMzLDguNTMzdjExOS40NjdjMCw0LjcxOSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM0gzMzIuOA0KCQkJYzQuNzEsMCw4LjUzMy0zLjgxNCw4LjUzMy04LjUzM1YzNDkuODY3QzM0MS4zMzMsMzQ1LjE0OCwzMzcuNTEsMzQxLjMzMywzMzIuOCwzNDEuMzMzeiBNMzI0LjI2Nyw0NjAuOEgyODEuNlYzNTguNGg0Mi42NjdWNDYwLjgNCgkJCXoiLz4NCiAgICAgICAgPHBhdGggZD0iTTI1Niw2OC4yNjdjLTQuNzEsMC04LjUzMywzLjgxNC04LjUzMyw4LjUzM3Y4NS4zMzNjMCw0LjcxOSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM3M4LjUzMy0zLjgxNCw4LjUzMy04LjUzM1Y3Ni44DQoJCQlDMjY0LjUzMyw3Mi4wODEsMjYwLjcxLDY4LjI2NywyNTYsNjguMjY3eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzIwLjQzNSw5Ny42OThjLTMuMzI4LTMuMzM2LTguNzMtMy4zMzYtMTIuMDY2LDBMMjQ5Ljk2NywxNTYuMWMtMy4zMzcsMy4zMzctMy4zMzcsOC43MywwLDEyLjA2Ng0KCQkJYzEuNjY0LDEuNjY0LDMuODQ5LDIuNSw2LjAzMywyLjVjMi4xODUsMCw0LjM2OS0wLjgzNiw2LjAzMy0yLjVsNTguNDAyLTU4LjQwMkMzMjMuNzcyLDEwNi40MjgsMzIzLjc3MiwxMDEuMDM1LDMyMC40MzUsOTcuNjk4eiINCiAgICAgICAgLz4NCiAgICAgICAgPHBhdGggZD0iTTI2Mi4wMzMsMTU2LjFMMjAzLjYzMSw5Ny42OWMtMy4zMjgtMy4zMzctOC43My0zLjMzNy0xMi4wNjYsMGMtMy4zMzcsMy4zMzYtMy4zMzcsOC43MywwLDEyLjA2Nmw1OC40MDIsNTguNDExDQoJCQljMS42NjQsMS42NjQsMy44NDksMi41LDYuMDMzLDIuNWMyLjE4NSwwLDQuMzY5LTAuODM2LDYuMDMzLTIuNUMyNjUuMzcsMTY0LjgzLDI2NS4zNywxNTkuNDM3LDI2Mi4wMzMsMTU2LjF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik01OS43MzMsNDk0LjkzM2gtNTEuMmMtNC43MSwwLTguNTMzLDMuODE0LTguNTMzLDguNTMzQzAsNTA4LjE4NiwzLjgyMyw1MTIsOC41MzMsNTEyaDUxLjINCgkJCWM0LjcxLDAsOC41MzMtMy44MTQsOC41MzMtOC41MzNDNjguMjY3LDQ5OC43NDgsNjQuNDQ0LDQ5NC45MzMsNTkuNzMzLDQ5NC45MzN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik01MDMuNDY3LDQ5NC45MzNoLTEwMi40Yy00LjcxLDAtOC41MzMsMy44MTQtOC41MzMsOC41MzNjMCw0LjcxOSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2gxMDIuNA0KCQkJYzQuNzEsMCw4LjUzMy0zLjgxNCw4LjUzMy04LjUzM0M1MTIsNDk4Ljc0OCw1MDguMTc3LDQ5NC45MzMsNTAzLjQ2Nyw0OTQuOTMzeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",ple="PHN2ZyB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtMjU2IDE2MGE5NiA5NiAwIDEgMCA5NiA5NiA5Ni4xMDggOTYuMTA4IDAgMCAwIC05Ni05NnptMCAxNzZhODAgODAgMCAxIDEgODAtODAgODAuMDkxIDgwLjA5MSAwIDAgMSAtODAgODB6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yNTYgMTI4YTEyOCAxMjggMCAxIDAgMTI4IDEyOCAxMjguMTQ1IDEyOC4xNDUgMCAwIDAgLTEyOC0xMjh6bTAgMjQwYTExMiAxMTIgMCAxIDEgMTEyLTExMiAxMTIuMTI3IDExMi4xMjcgMCAwIDEgLTExMiAxMTJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00MzIgNDg4di00NjRhOCA4IDAgMCAwIC04LThoLTMzNmE4IDggMCAwIDAgLTggOHY0NjRhOCA4IDAgMCAwIDggOGgzMzZhOCA4IDAgMCAwIDgtOHptLTMzNi0zNzZoMzIwdjMwNGgtMzIwem05Ni04MGgxNDR2NDBhOCA4IDAgMCAwIDggOGg3MnYxNmgtMjI0em0yMjQgMzJoLTY0di0zMmg2NHptLTI0MC0zMnY2NGgtODB2LTY0em0tODAgNDQ4di00OGgzMjB2NDh6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yNDggNDBhMjQgMjQgMCAxIDAgMjQgMjQgMjQuMDI3IDI0LjAyNyAwIDAgMCAtMjQtMjR6bTAgMzJhOCA4IDAgMSAxIDgtOCA4LjAwOSA4LjAwOSAwIDAgMSAtOCA4eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTEyIDU2aDQ4djE2aC00OHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI4OCA0MGgzMnYxNmgtMzJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yODggNzJoMzJ2MTZoLTMyeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjcyIDIwMGE4IDggMCAwIDAgLTE2IDBjMCA2LjM3My0yLjQxNyA5LjE5MS02LjA3NCAxMy40NTgtNC40MjYgNS4xNTktOS45MjYgMTEuNTgtOS45MjYgMjMuODcyczUuNSAxOC43MTQgOS45MjYgMjMuODczYzMuNjU3IDQuMjY4IDYuMDc0IDcuMDg3IDYuMDc0IDEzLjQ2MnMtMi40MTcgOS4xOTMtNi4wNzQgMTMuNDYxYy00LjQyNiA1LjE1OS05LjkyNiAxMS41ODEtOS45MjYgMjMuODc0YTggOCAwIDAgMCAxNiAwYzAtNi4zNzUgMi40MTctOS4xOTQgNi4wNzQtMTMuNDYyIDQuNDIzLTUuMTU5IDkuOTI2LTExLjU4IDkuOTI2LTIzLjg3M3MtNS41LTE4LjcxNS05LjkyNi0yMy44NzRjLTMuNjU3LTQuMjY4LTYuMDc0LTcuMDkxLTYuMDc0LTEzLjQ2MXMyLjQxNy05LjE5MSA2LjA3NC0xMy40NThjNC40MjYtNS4xNTkgOS45MjYtMTEuNTggOS45MjYtMjMuODcyeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjk2IDIzNy4zM2MwLTYuMzczIDIuNDE3LTkuMTkyIDYuMDc1LTEzLjQ2LjgxMi0uOTQ3IDEuNjIzLTEuOSAyLjQwNy0yLjg3OGE4IDggMCAwIDAgLTEyLjUtOS45ODRjLS42NjguODM2LTEuMzYxIDEuNjQxLTIuMDUzIDIuNDQ5LTQuNDI5IDUuMTU5LTkuOTI5IDExLjU4MS05LjkyOSAyMy44NzNzNS41IDE4LjcxNCA5LjkyNiAyMy44NzNjMy42NTcgNC4yNjggNi4wNzQgNy4wODcgNi4wNzQgMTMuNDYycy0yLjQxNyA5LjE5NC02LjA3NSAxMy40NjJjLS44MTMuOTQ5LTEuNjI1IDEuOS0yLjQwOSAyLjg4MWE4IDggMCAwIDAgMTIuNSA5Ljk4NGMuNjY4LS44MzcgMS4zNjItMS42NDQgMi4wNTQtMi40NTIgNC40My01LjE2IDkuOTMtMTEuNTgyIDkuOTMtMjMuODc1cy01LjUtMTguNzE1LTkuOTI2LTIzLjg3NGMtMy42NTctNC4yNjgtNi4wNzQtNy4wOTEtNi4wNzQtMTMuNDYxeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjE2IDIzNy4zM2MwLTYuMzczIDIuNDE3LTkuMTkyIDYuMDc1LTEzLjQ2LjgxMi0uOTQ3IDEuNjIzLTEuOSAyLjQwNy0yLjg3OGE4IDggMCAwIDAgLTEyLjUtOS45ODRjLS42NjguODM2LTEuMzYxIDEuNjQxLTIuMDUzIDIuNDQ5LTQuNDI5IDUuMTU5LTkuOTI5IDExLjU4MS05LjkyOSAyMy44NzNzNS41IDE4LjcxNCA5LjkyNiAyMy44NzNjMy42NTcgNC4yNjggNi4wNzQgNy4wODcgNi4wNzQgMTMuNDYycy0yLjQxNyA5LjE5NC02LjA3NSAxMy40NjJjLS44MTMuOTQ5LTEuNjI1IDEuOS0yLjQwOSAyLjg4MWE4IDggMCAwIDAgMTIuNSA5Ljk4NGMuNjY4LS44MzcgMS4zNjItMS42NDQgMi4wNTQtMi40NTIgNC40My01LjE2IDkuOTMtMTEuNTgyIDkuOTMtMjMuODc1cy01LjUtMTguNzE1LTkuOTI2LTIzLjg3NGMtMy42NTctNC4yNjgtNi4wNzQtNy4wOTEtNi4wNzQtMTMuNDYxeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",Ole="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ3Ni4wNjUgNDc2LjA2NSI+DQo8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KCTxwYXRoIGQ9Ik00MzIuNTU4LDE3Mi4wMkM0MTkuMzAzLDY0LjU4NywzMjEuNDY2LTExLjc2LDIxNC4wMzMsMS40OTVTMzAuMjUzLDExMi41ODcsNDMuNTA4LDIyMC4wMg0KCQljMTEuMDA4LDg5LjIyMiw4MS4zMDMsMTU5LjUxNywxNzAuNTI1LDE3MC41MjV2MzcuNTJoLTU2Yy0xMy4yNTUsMC0yNCwxMC43NDUtMjQsMjR2MjRoMjA4di0yNGMwLTEzLjI1NS0xMC43NDUtMjQtMjQtMjRoLTU2DQoJCXYtMzcuNTJDMzY5LjQ2NiwzNzcuMjksNDQ1LjgxMywyNzkuNDUzLDQzMi41NTgsMTcyLjAyeiBNMzE4LjAzMyw0NDQuMDY1YzQuNDE4LDAsOCwzLjU4Miw4LDh2OGgtMTc2di04YzAtNC40MTgsMy41ODItOCw4LTgNCgkJSDMxOC4wMzN6IE0yMzAuMDMzLDQyOC4wNjV2LTMyaDE2djMySDIzMC4wMzN6IE0yMzguMDMzLDM3Ni4wNjVjLTk5LjQxMSwwLTE4MC04MC41ODktMTgwLTE4MA0KCQljMC4xMTUtOTkuMzY0LDgwLjYzNi0xNzkuODg1LDE4MC0xODBjOTkuNDExLDAsMTgwLDgwLjU4OSwxODAsMTgwUzMzNy40NDQsMzc2LjA2NSwyMzguMDMzLDM3Ni4wNjV6Ii8+DQoJPHBhdGggZD0iTTQwNi4wMzMsMjEyLjA2NXYtMTZjMC00LjQxOC0zLjU4Mi04LTgtOGgtOTMuNTM2YzM5LjgtMjcuODMyLDQ5LjUwMi04Mi42NTgsMjEuNjctMTIyLjQ1OA0KCQljLTE2LjQ2Ny0yMy41NDgtNDMuNC0zNy41NjUtNzIuMTM0LTM3LjU0MmgtMTZjLTQuNDE4LDAtOCwzLjU4Mi04LDh2OTMuNTM2Yy0yNy44MzItMzkuOC04Mi42NTgtNDkuNTAyLTEyMi40NTgtMjEuNjcNCgkJYy0yMy41NDgsMTYuNDY3LTM3LjU2NSw0My40LTM3LjU0Miw3Mi4xMzR2MTZjMCw0LjQxOCwzLjU4Miw4LDgsOGg5My41MzZjLTIzLjQ2NSwxNi40NzgtMzcuNDYzLDQzLjMyOC0zNy41MzYsNzINCgkJYzAuMDU3LDQ4LjU3NywzOS40MjMsODcuOTQzLDg4LDg4aDE2YzQuNDE4LDAsOC0zLjU4Miw4LTh2LTkzLjUzNmMyNy44MzIsMzkuOCw4Mi42NTgsNDkuNTAyLDEyMi40NTgsMjEuNjcNCgkJQzM5Mi4wMzgsMjY3LjczMyw0MDYuMDU2LDI0MC44LDQwNi4wMzMsMjEyLjA2NXogTTI0Ni4wMzMsNDQuMDY1aDhjMzkuNzY0LDAuMDU1LDcxLjk1NSwzMi4zMzYsNzEuOSw3Mi4xDQoJCWMtMC4wNDMsMzEuMTctMjAuMTM4LDU4Ljc3Mi00OS43ODgsNjguMzg4Yy00LjIwMi0xNC4wNTItMTUuNzU4LTI0LjY3Ny0zMC4xMTItMjcuNjg4VjQ0LjA2NXogTTg2LjAzMywxODguMDY1di04DQoJCWMwLjA3My0zOS43NjQsMzIuMzY4LTcxLjk0LDcyLjEzMy03MS44NjdjMzEuMTQ4LDAuMDU3LDU4LjcyNywyMC4xMzgsNjguMzQ3LDQ5Ljc2M2MtMTQuMDQ3LDQuMjAzLTI0LjY2OCwxNS43NTUtMjcuNjgsMzAuMTA0DQoJCUg4Ni4wMzN6IE0yMzAuMDMzLDM0OC4wNjVoLThjLTM5Ljc2NC0wLjA1NS03MS45NTUtMzIuMzM2LTcxLjktNzIuMWMwLjA0My0zMS4xNywyMC4xMzgtNTguNzcyLDQ5Ljc4OC02OC4zODgNCgkJYzQuMjAyLDE0LjA1MiwxNS43NTgsMjQuNjc3LDMwLjExMiwyNy42ODhWMzQ4LjA2NXogTTIzOC4wMzMsMjIwLjA2NWMtMTMuMjU1LDAtMjQtMTAuNzQ1LTI0LTI0czEwLjc0NS0yNCwyNC0yNA0KCQlzMjQsMTAuNzQ1LDI0LDI0UzI1MS4yODcsMjIwLjA2NSwyMzguMDMzLDIyMC4wNjV6IE0zMTcuOSwyODMuOTMyYy0zMS4xNDgtMC4wNTctNTguNzI3LTIwLjEzOC02OC4zNDctNDkuNzYzDQoJCWMxNC4wNDctNC4yMDMsMjQuNjY4LTE1Ljc1NSwyNy42OC0zMC4xMDRoMTEyLjh2OEMzODkuOTU5LDI1MS44MywzNTcuNjY0LDI4NC4wMDYsMzE3LjksMjgzLjkzMnoiLz4NCjwvZz4NCjwvc3ZnPg0K",Ele="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMS45OTkgNTExLjk5OSI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTUwMS45OTksMTI2LjAwMWgtMC4wMjdjNi4yOTItOC4zNjIsMTAuMDI3LTE4Ljc1MiwxMC4wMjctMzBjMC0yNy41Ny0yMi40My01MC4wMDEtNTAtNTAuMDAxDQoJCXMtNTAuMDAxLDIyLjQzLTUwLjAwMSw1MC4wMDFjMCwxMS4yNDgsMy43MzYsMjEuNjM4LDEwLjAyNywzMGgtMC4wMjdjLTUuNTIyLDAtMTAsNC40NzctMTAsMTB2MzUuNTQ1DQoJCWMtMTEuMzI4LTcuMjMzLTIzLjEyOC0xMy42NTgtMzUuMzM0LTE5LjI0MXYtMTYuMzA0YzAtNS41MjMtNC40NzctMTAtMTAtMTBzLTEwLDQuNDc3LTEwLDEwdjguMDM3DQoJCWMtMy4zNjktMS4yNDctNi43NjQtMi40MzgtMTAuMTg2LTMuNTYyYy04LjI5MS0yLjcyMy0xNi42ODMtNS4wNTItMjUuMTQ2LTcuMDExdi0yMC44MzNjMC01LjUyMy00LjQ3OC0xMC0xMC0xMA0KCQljLTUuNTIzLDAtMTAsNC40NzctMTAsMTB2MTYuOTMyYy0xMS42OC0xLjg0OS0yMy40NzQtMi45NzQtMzUuMzMyLTMuMzgxVjk2LjAwMWMwLTUuNTIzLTQuNDc4LTEwLTEwLTEwYy01LjUyMywwLTEwLDQuNDc3LTEwLDEwDQoJCXYzMC4xODNjLTExLjg1OSwwLjQwNy0yMy42NTMsMS41MzItMzUuMzMzLDMuMzgxdi0xNi45MzJjMC01LjUyMy00LjQ3OC0xMC0xMC0xMGMtNS41MjMsMC0xMCw0LjQ3Ny0xMCwxMHYyMC44MzMNCgkJYy04LjQ2MiwxLjk1OS0xNi44NTIsNC4yODctMjUuMTQyLDcuMDA5Yy0zLjQyNCwxLjEyNC02LjgxOSwyLjMxNi0xMC4xOTEsMy41NjN2LTguMDM3YzAtNS41MjMtNC40NzctMTAtMTAtMTANCgkJYy01LjUyMywwLTEwLDQuNDc3LTEwLDEwdjE2LjMwNGMtMTIuMjA1LDUuNTgzLTI0LjAwNCwxMi4wMDctMzUuMzM0LDE5LjI0di0zNS41NDRjMC01LjUyMy00LjQ3Ny0xMC0xMC0xMGgtMC4wMjcNCgkJYzYuMjkzLTguMzYyLDEwLjAyNy0xOC43NTIsMTAuMDI3LTMwYzAtMjcuNTctMjIuNDMtNTAtNTAtNTBzLTUwLDIyLjQzLTUwLDUwYzAsMTEuMjQ4LDMuNzM0LDIxLjYzOCwxMC4wMjcsMzBIMTANCgkJYy01LjUyMywwLTEwLDQuNDc3LTEwLDEwdjMxOS45OTljMCw1LjUyMyw0LjQ3NywxMCwxMCwxMGg0MGg0MGgzMS4wMzNjNS41MjIsMCwxMC00LjQ3NywxMC0xMGMwLTUuNTIyLTQuNDc4LTEwLTEwLTEwSDEwMA0KCQl2LTIwLjAwMWgzMTEuOTk4djIwLjAwMWgtMjEuMDMzYy01LjUyMywwLTEwLDQuNDc4LTEwLDEwYzAsNS41MjMsNC40NzcsMTAsMTAsMTBoMzEuMDMzaDQwLjAwMWg0MGM1LjUyMiwwLDEwLTQuNDc3LDEwLTEwDQoJCVYxMzYuMDAxQzUxMS45OTksMTMwLjQ3Nyw1MDcuNTIxLDEyNi4wMDEsNTAxLjk5OSwxMjYuMDAxeiBNODAsNDQ1Ljk5OUg1MEgyMFYxNDYuMDAxaDIwdjQxLjg5OGMwLDUuNTIzLDQuNDc3LDEwLDEwLDEwDQoJCXMxMC00LjQ3NywxMC0xMHYtNDEuODk4aDIwVjQ0NS45OTl6IE01MCwxMjYuMDAxYy0xNi41NDMsMC0zMC0xMy40NTgtMzAtMzBzMTMuNDU3LTMwLDMwLTMwYzE2LjU0MywwLDMwLDEzLjQ1OCwzMCwzMA0KCQlTNjYuNTQzLDEyNi4wMDEsNTAsMTI2LjAwMXogTTEzNS4zMzQsNDA1Ljk5OEgxMDBWMTk1LjYyOWMxMS4zMTgtOC4wMiwyMy4xMjYtMTUuMDk1LDM1LjMzNC0yMS4yMThWNDA1Ljk5OHogTTE5MC42NjcsNDA2DQoJCWgtMzUuMzMzVjE2NS4zODRjMTEuNS00LjYzLDIzLjI5OC04LjQ0OSwzNS4zMzMtMTEuNDM3VjQwNnogTTI0Niw0MDZoLTM1LjMzM1YxNDkuNzg3YzExLjYxNC0xLjk1OCwyMy40MDktMy4xNjgsMzUuMzMzLTMuNTk5DQoJCVY0MDZ6IE0zMDEuMzMyLDQwNS45OThIMjY2di0yNTkuODFjMTEuOTI0LDAuNDMxLDIzLjcxNywxLjY0MSwzNS4zMzIsMy41OTlWNDA1Ljk5OHogTTM1Ni42NjQsNDA1Ljk5OWgtMzUuMzMyVjE1My45NDgNCgkJYzEyLjAzNSwyLjk4OCwyMy44MzIsNi44MDcsMzUuMzMyLDExLjQzOFY0MDUuOTk5eiBNNDExLjk5OCw0MDUuOTk4aC0zNS4zMzRWMTc0LjQxMmMxMi4yMDksNi4xMjMsMjQuMDE3LDEzLjIsMzUuMzM0LDIxLjIyDQoJCVY0MDUuOTk4eiBNNDkxLjk5OSw0NDUuOTk5aC0zMGgtMzAuMDAxVjE0Ni4wMDFoMjAuMDAxdjQxLjg5OGMwLDUuNTIzLDQuNDc4LDEwLDEwLDEwYzUuNTIyLDAsMTAtNC40NzcsMTAtMTB2LTQxLjg5OGgyMA0KCQlWNDQ1Ljk5OXogTTQ2MS45OTksMTI2LjAwMWMtMTYuNTQyLDAtMzAuMDAxLTEzLjQ1OC0zMC4wMDEtMzBjMC0xNi41NDMsMTMuNDU5LTMwLjAwMSwzMC4wMDEtMzAuMDAxDQoJCWMxNi41NDIsMCwzMCwxMy40NTgsMzAsMzAuMDAxQzQ5MS45OTksMTEyLjU0Miw0NzguNTQxLDEyNi4wMDEsNDYxLjk5OSwxMjYuMDAxeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTUwLDQ0NS45OTloLTAuMjM2Yy01LjUyMywwLTEwLDQuNDc4LTEwLDEwYzAsNS41MjMsNC40NzcsMTAsMTAsMTBIMTUwYzUuNTIzLDAsMTAtNC40NzcsMTAtMTANCgkJQzE2MCw0NTAuNDc3LDE1NS41MjMsNDQ1Ljk5OSwxNTAsNDQ1Ljk5OXoiLz4NCiAgICAgICAgPHBhdGggZD0iTTM2Mi4yMzQsNDQ1Ljk5OWgtMC4yMzdjLTUuNTIyLDAtMTAsNC40NzgtMTAsMTBjMCw1LjUyMyw0LjQ3OCwxMCwxMCwxMGgwLjIzN2M1LjUyMywwLDEwLTQuNDc3LDEwLTEwDQoJCUMzNzIuMjM0LDQ1MC40NzcsMzY3Ljc1OCw0NDUuOTk5LDM2Mi4yMzQsNDQ1Ljk5OXoiLz4NCiAgICAgICAgPHBhdGggZD0iTTUwLDIwNi42MzFjLTUuNTIzLDAtMTAsNC40NzctMTAsMTB2MC4yMzVjMCw1LjUyMyw0LjQ3NywxMCwxMCwxMHMxMC00LjQ3NywxMC0xMHYtMC4yMzUNCgkJQzYwLDIxMS4xMDgsNTUuNTIzLDIwNi42MzEsNTAsMjA2LjYzMXoiLz4NCiAgICAgICAgPHBhdGggZD0iTTQ2MS45OTksMjA2LjYzMWMtNS41MjIsMC0xMCw0LjQ3Ny0xMCwxMHYwLjIzNWMwLDUuNTIzLDQuNDc4LDEwLDEwLDEwYzUuNTIyLDAsMTAtNC40NzcsMTAtMTB2LTAuMjM1DQoJCUM0NzEuOTk5LDIxMS4xMDgsNDY3LjUyMSwyMDYuNjMxLDQ2MS45OTksMjA2LjYzMXoiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",_le="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ4MC4wMDUgNDgwLjAwNSI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTEwNC4wMDUsMTA4LjAwM2MtMTMuMjU1LDAtMjQsMTAuNzQ1LTI0LDI0YzAsNC40MTgsMy41ODIsOCw4LDhzOC0zLjU4Miw4LThzMy41ODItOCw4LThzOC0zLjU4Miw4LTgNCgkJCVMxMDguNDIzLDEwOC4wMDMsMTA0LjAwNSwxMDguMDAzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzg1LjM1Nyw3Ni4xMTVsLTI4MC00OGMtMC40NDctMC4wNzMtMC44OTktMC4xMTEtMS4zNTItMC4xMTJDNDYuNjEyLDI3Ljk1NiwwLjA0Nyw3NC40NDQsMCwxMzEuODM3DQoJCQljLTAuMDI2LDMxLjA1OSwxMy44NDMsNjAuNTAxLDM3LjgwNSw4MC4yNjFsNTguNDQsMjMzLjg0OGMwLjg5MiwzLjU1OSw0LjA5MSw2LjA1Niw3Ljc2LDYuMDU2aDY0DQoJCQljNC40MTgsMC4wMDgsOC4wMDctMy41NjYsOC4wMTUtNy45ODVjMC0wLjE3MS0wLjAwNS0wLjM0MS0wLjAxNS0wLjUxMWwtMTMuNi0yMTcuNGwyMjIuOTItMzguMjE2DQoJCQljMy44NTQtMC42NDUsNi42NzktMy45OCw2LjY4LTcuODg4di05NkMzOTIuMDA3LDgwLjEwNSwzODkuMTk5LDc2Ljc3MywzODUuMzU3LDc2LjExNXogTTExMC4yNTMsNDM2LjAwM0w1Ny42MDUsMjI1LjE3MQ0KCQkJYzAuNTA0LDAuMjQ4LDEuMDQsMC40MTYsMS41NDQsMC42NjRjMi41NzYsMS4yMzIsNS4xODksMi4zNTIsNy44NCwzLjM2YzAuNzQ0LDAuMjgsMS40NjQsMC42LDIuMjA4LDAuODY0DQoJCQljMy4zMTksMS4xNzQsNi42OTcsMi4xNzUsMTAuMTIsM2MwLjgsMC4xOTIsMS42LDAuMzI4LDIuNCwwLjUwNGMyLjc2OCwwLjU5Miw1LjU2NSwxLjA3Nyw4LjM5MiwxLjQ1Ng0KCQkJYzEuMDA4LDAuMTI4LDIuMDE2LDAuMjY0LDMuMDI0LDAuMzY4YzMuNjExLDAuMzksNy4yNCwwLjU5NiwxMC44NzIsMC42MTZjMC40NTMtMC4wMDEsMC45MDUtMC4wMzksMS4zNTItMC4xMTJsNDEuMjE2LTcuMDg4DQoJCQlsMTIuOTIsMjA3LjJIMTEwLjI1M3ogTTM0NC4wMDUsMTc4LjczOWwtMjM4LjA4OCw0MC44bC0yLjU3NiwwLjQ2NGMtNDguMzY3LTAuMzA0LTg3LjM5OS0zOS42MzItODcuMzM2LTg4DQoJCQljMC4wNTUtNDguMzIsMzkuMDE4LTg3LjU3OSw4Ny4zMzYtODhsMjQwLjY2NCw0MS4yNjRWMTc4LjczOXogTTM3Ni4wMDUsMTczLjI1OWwtMTYsMi43NDR2LTg4bDE2LDIuNzQ0VjE3My4yNTl6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0xMDQuMDA1LDc2LjAwM2MtMzAuOTI4LDAtNTYsMjUuMDcyLTU2LDU2YzAuMDM1LDMwLjkxMywyNS4wODcsNTUuOTY1LDU2LDU2YzMwLjkyOCwwLDU2LTI1LjA3Miw1Ni01Ng0KCQkJQzE2MC4wMDUsMTAxLjA3NSwxMzQuOTMzLDc2LjAwMywxMDQuMDA1LDc2LjAwM3ogTTEwNC4wMDUsMTcyLjAwM2MtMjIuMDkxLDAtNDAtMTcuOTA5LTQwLTQwYzAuMDI2LTIyLjA4LDE3LjkyLTM5Ljk3NCw0MC00MA0KCQkJYzIyLjA5MSwwLDQwLDE3LjkwOSw0MCw0MFMxMjYuMDk3LDE3Mi4wMDMsMTA0LjAwNSwxNzIuMDAzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTQxLjkzMyw0MTEuNTIzbC05LjY2NC0xNTUuMDI0Yy0wLjI3Ni00LjQxOC00LjA4Mi03Ljc3Ni04LjUtNy41Yy00LjQxOCwwLjI3Ni03Ljc3Niw0LjA4Mi03LjUsOC41bDkuNjY0LDE1NQ0KCQkJYzAuMjYzLDQuMjI3LDMuNzczLDcuNTE2LDguMDA4LDcuNTA0YzAuMTY4LDAsMC4zMzYsMCwwLjUwNCwwQzEzOC44NTQsNDE5LjcyOCwxNDIuMjA3LDQxNS45MzIsMTQxLjkzMyw0MTEuNTIzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNNDcyLjAwNSwxMjQuMDAzaC00OGMtNC40MTgsMC04LDMuNTgyLTgsOHMzLjU4Miw4LDgsOGg0OGM0LjQxOCwwLDgtMy41ODIsOC04UzQ3Ni40MjMsMTI0LjAwMyw0NzIuMDA1LDEyNC4wMDN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik00NzIuMDA1LDE1Ni4wMDNoLTQ4Yy00LjQxOCwwLTgsMy41ODItOCw4czMuNTgyLDgsOCw4aDQ4YzQuNDE4LDAsOC0zLjU4Miw4LThTNDc2LjQyMywxNTYuMDAzLDQ3Mi4wMDUsMTU2LjAwM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTQ3Mi4wMDUsOTIuMDAzaC00OGMtNC40MTgsMC04LDMuNTgyLTgsOHMzLjU4Miw4LDgsOGg0OGM0LjQxOCwwLDgtMy41ODIsOC04UzQ3Ni40MjMsOTIuMDAzLDQ3Mi4wMDUsOTIuMDAzeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",fle="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiB2aWV3Qm94PSIwIDAgMTI4IDEyOCI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTQ4LjQ1Nyw3Ny4yMjdhOC4wNjMsOC4wNjMsMCwwLDAtMTAuNCwxMi4zMjV2Ni45MjdhNS4yNzMsNS4yNzMsMCwwLDAsMTAuNTQ1LDBWODkuNTUzYTguMDYzLDguMDYzLDAsMCwwLS4xNDYtMTIuMzI2Wk00NS44NzQsODcuMjRhMS43NSwxLjc1LDAsMCwwLS43NzEsMS40NTF2Ny43ODdhMS43NzMsMS43NzMsMCwwLDEtMy41NDUsMFY4OC42OTFhMS43NDcsMS43NDcsMCwwLDAtLjc3My0xLjQ1MUE0LjU2Niw0LjU2NiwwLDAsMSw0Mi40LDc4Ljk3OGE0Ljg3Niw0Ljg3NiwwLDAsMSwuOTQtLjA5Miw0LjUsNC41LDAsMCwxLDIuODkzLDEuMDQxLDQuNTYyLDQuNTYyLDAsMCwxLS4zNTYsNy4zMTNaIi8+DQogICAgICAgIDxwYXRoIGQ9Ik0xMDUuMjI4LDQ0LjY2Myw2NS41OCw0My4zNlYxOS41MTRhNS4zNyw1LjM3LDAsMCwwLTUuMzYzLTUuMzY0SDI2LjQ0M2E1LjM3LDUuMzcsMCwwLDAtNS4zNjMsNS4zNjR2ODguOTcyYTUuMzcsNS4zNywwLDAsMCw1LjM2Myw1LjM2NEg2MC4yMTdhNS4zNyw1LjM3LDAsMCwwLDUuMzYzLTUuMzY0VjU5LjhsMzkuNjQ4LTEuM2ExLjc1LDEuNzUsMCwwLDAsMS42OTItMS43NDlWNDYuNDEyQTEuNzUsMS43NSwwLDAsMCwxMDUuMjI4LDQ0LjY2M1pNNjIuMDgsMTA4LjQ4NmExLjg2NiwxLjg2NiwwLDAsMS0xLjg2MywxLjg2NEgyNi40NDNhMS44NjYsMS44NjYsMCwwLDEtMS44NjMtMS44NjRWMTkuNTE0YTEuODY2LDEuODY2LDAsMCwxLDEuODYzLTEuODY0SDYwLjIxN2ExLjg2NiwxLjg2NiwwLDAsMSwxLjg2MywxLjg2NFY0My4yNDVsLTYuMjY3LS4yMDZhMTUuMTI3LDE1LjEyNywwLDEsMCwwLDE3LjA4Nmw2LjI2NC0uMjA2Wk00NC4zOSw2MC41aDBMNTEsNjAuMjg0YTExLjYxMiwxMS42MTIsMCwxLDEsLjA0LTE3LjRsLTYuNjQ5LS4yMTloLS4wNThBOC45Miw4LjkyLDAsMSwwLDQ0LjM5LDYwLjVabTU5LjAzLTUuNDQyLTM5LjU4NywxLjNoLS4wMDhMNDQuMzM0LDU3YTUuNDIsNS40MiwwLDAsMS0uMDI3LTEwLjg0bDU5LjExMywxLjk0M1oiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",Sle="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMS45OTggNTExLjk5OCI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTUwMS4zNCwxMTcuMzM2Yy01LjkwNiwwLTEwLjY4OCw0Ljc3My0xMC42ODgsMTAuNjY0djg1LjMzNUg0NjkuMzR2LTIxLjMzNmMwLTIzLjUyMy0xOS4xNTYtNDIuNjYzLTQyLjY4OC00Mi42NjMNCgkJYy0xMi43MTgsMC0yNC4xNTUsNS42MDktMzEuOTk5LDE0LjQ5MWMtNy44MTItOC44ODItMTkuMjUtMTQuNDkxLTMyLTE0LjQ5MWMtMTIuNzE4LDAtMjQuMTU1LDUuNjA5LTMxLjk5OSwxNC40OTENCgkJYy03LjgxMi04Ljg4Mi0xOS4yNS0xNC40OTEtMzItMTQuNDkxYy0xMi43MTksMC0yNC4xNTYsNS42MDktMzEuOTkyLDE0LjQ5MWMtNy44Mi04Ljg4Mi0xOS4yNTgtMTQuNDkxLTMyLTE0LjQ5MQ0KCQljLTEyLjcyNiwwLTI0LjE3MSw1LjYwOS0zMiwxNC40OTFjLTcuODItOC44ODItMTkuMjU4LTE0LjQ5MS0zMi0xNC40OTFjLTEyLjcyNiwwLTI0LjE3MSw1LjYwOS0zMiwxNC40OTENCgkJYy03LjgyLTguODgyLTE5LjI1OC0xNC40OTEtMzItMTQuNDkxYy0xOS44MzUsMC0zNi41NywxMy42MTYtNDEuMzIsMzEuOTk5SDMyYy01Ljg5MSwwLTEwLjY2NCw0Ljc3My0xMC42NjQsMTAuNjY0djIxLjMzNkgxMC42NjQNCgkJQzQuNzczLDIxMy4zMzUsMCwyMTguMTA4LDAsMjIzLjk5OXM0Ljc3MywxMC42NjQsMTAuNjY0LDEwLjY2NGgxMC42NzJ2MjEuMzM2YzAsNS44OTEsNC43NzMsMTAuNjY0LDEwLjY2NCwxMC42NjRoMzJ2MjAyLjY3OA0KCQljMCwyMy41MTYsMTkuMTQxLDQyLjY1Niw0Mi42NjQsNDIuNjU2YzEyLjc0MiwwLDI0LjE4LTUuNjI1LDMyLTE0LjVjNy44MjgsOC44NzUsMTkuMjczLDE0LjUsMzIsMTQuNQ0KCQljMTIuNzQyLDAsMjQuMTgtNS42MjUsMzItMTQuNWM3LjgyOCw4Ljg3NSwxOS4yNzMsMTQuNSwzMiwxNC41YzEyLjc0MiwwLDI0LjE4LTUuNjI1LDMyLTE0LjUNCgkJYzcuODM2LDguODc1LDE5LjI3MywxNC41LDMxLjk5MiwxNC41YzEyLjc1LDAsMjQuMTg4LTUuNjI1LDMyLTE0LjVjNy44NDQsOC44NzUsMTkuMjgxLDE0LjUsMzEuOTk5LDE0LjUNCgkJYzEyLjc1LDAsMjQuMTg4LTUuNjI1LDMyLTE0LjVjNy44NDQsOC44NzUsMTkuMjgxLDE0LjUsMzEuOTk5LDE0LjVjMjMuNTMxLDAsNDIuNjg4LTE5LjE0MSw0Mi42ODgtNDIuNjU2VjIzNC42NjNoMzINCgkJYzUuODc1LDAsMTAuNjU2LTQuNzczLDEwLjY1Ni0xMC42NjRWMTI4QzUxMS45OTYsMTIyLjEwOSw1MDcuMjE1LDExNy4zMzYsNTAxLjM0LDExNy4zMzZ6IE02NCwyNDUuMzM1SDQyLjY2NHYtNDIuNjcySDY0VjI0NS4zMzUNCgkJeiBNMTI3Ljk5OSw0NjkuMzQxYzAsMTEuNzUtOS41NjMsMjEuMzEyLTIxLjMzNiwyMS4zMTJjLTExLjc1NywwLTIxLjMyOC05LjU2Mi0yMS4zMjgtMjEuMzEyVjI1NS45OTl2LTY0DQoJCWMwLTExLjc1OCw5LjU3LTIxLjMzNiwyMS4zMjgtMjEuMzM2YzExLjc3MywwLDIxLjMzNiw5LjU3OCwyMS4zMzYsMjEuMzM2VjQ2OS4zNDF6IE0xOTEuOTk5LDQ2OS4zNDENCgkJYy0wLjAwMSwxMS43NS05LjU2MywyMS4zMTItMjEuMzM2LDIxLjMxMmMtMTEuNzU3LDAtMjEuMzI4LTkuNTYyLTIxLjMyOC0yMS4zMTJWMTkxLjk5OWMwLTExLjc1OCw5LjU3LTIxLjMzNiwyMS4zMjgtMjEuMzM2DQoJCWMxMS43NzMsMCwyMS4zMzYsOS41NzgsMjEuMzM2LDIxLjMzNlY0NjkuMzQxeiBNMjU1Ljk5OCw0NjkuMzQxYzAsMTEuNzUtOS41NjIsMjEuMzEyLTIxLjMzNiwyMS4zMTINCgkJYy0xMS43NTcsMC0yMS4zMjgtOS41NjItMjEuMzI4LTIxLjMxMlYxOTEuOTk5YzAtMTEuNzU4LDkuNTctMjEuMzM2LDIxLjMyOC0yMS4zMzZjMTEuNzczLDAsMjEuMzM2LDkuNTc4LDIxLjMzNiwyMS4zMzZWNDY5LjM0MXoNCgkJIE0zMTkuOTk4LDQ2OS4zNDFjMCwxMS43NS05LjU2MiwyMS4zMTItMjEuMzQ0LDIxLjMxMmMtMTEuNzUsMC0yMS4zMTItOS41NjItMjEuMzEyLTIxLjMxMlYxOTEuOTk5DQoJCWMwLTExLjc1OCw5LjU2Mi0yMS4zMzYsMjEuMzEyLTIxLjMzNmMxMS43ODEsMCwyMS4zNDQsOS41NzgsMjEuMzQ0LDIxLjMzNlY0NjkuMzQxeiBNMzgzLjk5Nyw0NjkuMzQxDQoJCWMwLDExLjc1LTkuNTYyLDIxLjMxMi0yMS4zNDQsMjEuMzEyYy0xMS43NDksMC0yMS4zMTItOS41NjItMjEuMzEyLTIxLjMxMlYxOTEuOTk5YzAtMTEuNzU4LDkuNTYyLTIxLjMzNiwyMS4zMTItMjEuMzM2DQoJCWMxMS43ODEsMCwyMS4zNDQsOS41NzgsMjEuMzQ0LDIxLjMzNlY0NjkuMzQxeiBNNDQ3Ljk5Niw0NjkuMzQxYzAsMTEuNzUtOS41NjIsMjEuMzEyLTIxLjM0NCwyMS4zMTINCgkJYy0xMS43NDksMC0yMS4zMTItOS41NjItMjEuMzEyLTIxLjMxMlYxOTEuOTk5YzAtMTEuNzU4LDkuNTYyLTIxLjMzNiwyMS4zMTItMjEuMzM2YzExLjc4MSwwLDIxLjM0NCw5LjU3OCwyMS4zNDQsMjEuMzM2VjQ2OS4zNDENCgkJeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzU2Ljg3MSwxMDMuNjcyYy0xLjMxMi00LjUzOS0wLjUtNy44NDQsMi42ODgtMTEuMDU1YzguNjU2LTguNjk1LDExLjUzMS0xOS45ODQsOC4wNjItMzEuODEyDQoJCQljLTIuMzEyLTcuOTM4LTYuODEyLTEzLjU0Ny03LjM3NS0xNC4yNWMtMC4wMzEsMC0wLjAzMS0wLjAwOC0wLjAzMS0wLjAwOHYtMC4wMTVjLTEuOTY5LTIuMzU5LTQuOTA2LTMuODY3LTguMjE5LTMuODY3DQoJCQljLTUuODksMC0xMC42NTUsNC43ODEtMTAuNjU1LDEwLjY3MmMwLDIuNTg2LDAuOTA2LDQuOTYxLDIuNDM4LDYuODA1YzAuMDMxLDAuMDIzLDIuMjgxLDIuOTM4LDMuMzc1LDYuNjU2DQoJCQljMS4yNjYsNC4zNjcsMC40NjksNy41ODYtMi43MTksMTAuNzY2Yy04LjYyNSw4LjY3OC0xMS41MTUsMjAuMDQ1LTguMDc4LDMxLjk5OGMyLjMyOCw4LjEwMiw2LjgyOCwxMy44MzYsNy4zMjgsMTQuNDY5di0wLjAwOA0KCQkJYzEuOTY5LDIuNDIyLDQuOTUzLDMuOTc3LDguMzEyLDMuOTc3YzUuODkxLDAsMTAuNjU2LTQuNzczLDEwLjY1Ni0xMC42NjRjMC0yLjUzOS0wLjg3NS00Ljg2Ny0yLjM0NC02LjY5NQ0KCQkJQzM2MC4yNzgsMTEwLjYxLDM1Ny45NjUsMTA3LjU1NSwzNTYuODcxLDEwMy42NzJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0yNjguNjU2LDk2LjYxYy0yLjQ2MS05LjgzNi0wLjQ5Mi0xOC4xOTUsNi0yNS41NDdjMTEuNDA2LTEyLjg5MSwxNS4wMzEtMjguNjk1LDEwLjUtNDUuNzI2DQoJCQljLTMuMTg4LTExLjkzOC05LjMxMi0yMC4yMjctMTAtMjEuMTMzVjQuMjJjLTEuOTY5LTIuNTU1LTUuMDIzLTQuMjE5LTguNDkyLTQuMjE5Yy01Ljg5MywwLTEwLjY2Niw0Ljc3My0xMC42NjYsMTAuNjY0DQoJCQljMCwyLjQxNCwwLjgwNSw0LjYzMywyLjE1Niw2LjQxNGgtMC4wMTZjMC4wNDcsMC4wNjIsNC40OTIsNi4xMDksNi41NDcsMTQuMzJjMi40NTMsOS44MjcsMC40ODQsMTguMTg3LTYuMDE2LDI1LjUzOA0KCQkJYy0xMS4zOSwxMi44OTEtMTUuMDE1LDI4LjY5Ni0xMC40ODMsNDUuNzI3YzMuMTcyLDExLjkzOCw5LjMwNSwyMC4yMjcsOS45ODQsMjEuMTMzbDAuMDE2LTAuMDE2DQoJCQljMS45NDUsMi41Nyw1LjAxNiw0LjIxOSw4LjQ3Nyw0LjIxOWM1Ljg5OCwwLDEwLjY4LTQuNzczLDEwLjY4LTEwLjY2NGMwLTIuNDE0LTAuODEyLTQuNjMzLTIuMTU2LTYuNDE0DQoJCQlDMjc1LjE0LDExMC44NiwyNzAuNjk1LDEwNC44MTMsMjY4LjY1Niw5Ni42MXoiLz4NCiAgICAgICAgPHBhdGggZD0iTTE4OS42NCwxMTAuNjQxYy0wLjAyMy0wLjAzMS0yLjMyOC0zLjA4Ni0zLjQ0NS02Ljk2OWMtMS4zMDUtNC41MzktMC41LTcuODQ0LDIuNjk1LTExLjA1NQ0KCQkJYzguNjY0LTguNjk1LDExLjUyMy0xOS45ODQsOC4wNjItMzEuODEyYy0yLjMyLTcuOTM4LTYuNzg5LTEzLjUzMS03LjM5MS0xNC4yNWMwLDAsMC0wLjAwOC0wLjAwOC0wLjAwOGwtMC4wMDgtMC4wMjN2MC4wMDgNCgkJCWMtMS45NjEtMi4zNTktNC45MDYtMy44NjctOC4yMTEtMy44NjdjLTUuODkxLDAtMTAuNjcyLDQuNzgxLTEwLjY3MiwxMC42NzJjMCwyLjU4NiwwLjkyMiw0Ljk2MSwyLjQ1Myw2LjgwNQ0KCQkJYzAuMDIzLDAuMDIzLDIuMjczLDIuOTM4LDMuMzU5LDYuNjU2YzEuMjgxLDQuMzY3LDAuNDY5LDcuNTg2LTIuNzAzLDEwLjc2NmMtOC42NCw4LjY3OC0xMS41MTUsMjAuMDQ1LTguMDc3LDMxLjk5OA0KCQkJYzIuMzI4LDguMTAyLDYuODI4LDEzLjgzNiw3LjMzNiwxNC40Njl2LTAuMDA4YzEuOTYxLDIuNDIyLDQuOTQ1LDMuOTc3LDguMzA1LDMuOTc3YzUuODkxLDAsMTAuNjY0LTQuNzczLDEwLjY2NC0xMC42NjQNCgkJCWMwLTIuNTM5LTAuODkxLTQuODY3LTIuMzY3LTYuNjk1SDE4OS42NHoiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",xle="PHN2ZyBoZWlnaHQ9IjQ5NnB0IiB2aWV3Qm94PSIwIC0xIDQ5NiA0OTUiIHdpZHRoPSI0OTZwdCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtNDg4IDMyMC41aC00MHYtMzJjMC0yLjEyODkwNi0uODM5ODQ0LTQuMTYwMTU2LTIuMzQzNzUtNS42NTYyNWwtMTIwLTEyMGMtMS40OTYwOTQtMS41MDM5MDYtMy41MjczNDQtMi4zNDM3NS01LjY1NjI1LTIuMzQzNzVoLTE2di0xNTJjMC00LjQyNTc4MS0zLjU3NDIxOS04LTgtOGgtOTZjLTQuNDI1NzgxIDAtOCAzLjU3NDIxOS04IDh2MTUyaC0yNGMtMi4xMjg5MDYgMC00LjE2MDE1Ni44Mzk4NDQtNS42NTYyNSAyLjM0Mzc1bC0xMjAgMTIwYy0xLjUwMzkwNiAxLjQ5NjA5NC0yLjM0Mzc1IDMuNTI3MzQ0LTIuMzQzNzUgNS42NTYyNXYzMmgtMzJjLTQuNDI1NzgxIDAtOCAzLjU3NDIxOS04IDh2NDhjMCA0LjQyNTc4MSAzLjU3NDIxOSA4IDggOGg0ODBjNC40MjU3ODEgMCA4LTMuNTc0MjE5IDgtOHYtNDhjMC00LjQyNTc4MS0zLjU3NDIxOS04LTgtOHptLTI4MC0zMDRoODB2MTkyaC04MHptLTE1MiAyNzUuMzEyNSAxMTUuMzEyNS0xMTUuMzEyNWgyMC42ODc1djQwYzAgNC40MjU3ODEgMy41NzQyMTkgOCA4IDhoOTZjNC40MjU3ODEgMCA4LTMuNTc0MjE5IDgtOHYtNDBoMTIuNjg3NWwxMTUuMzEyNSAxMTUuMzEyNXYyOC42ODc1aC0zNzZ6bTQyNCA3Ni42ODc1aC00NjR2LTMyaDQ2NHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xNzkuMzEyNSA0NDAuNWMtMi4xMzY3MTktMi4xNDQ1MzEtMy4zMTI1LTQuOTc2NTYyLTMuMzEyNS04czEuMTc1NzgxLTUuODU1NDY5IDMuMzEyNS04bDEwLjM0Mzc1LTEwLjM0Mzc1LTExLjMxMjUtMTEuMzEyNS0xMC4zNDM3NSAxMC4zNDM3NWMtNS4xNjAxNTYgNS4xNjAxNTYtOCAxMi4wMTU2MjUtOCAxOS4zMTI1czIuODM5ODQ0IDE0LjE2MDE1NiA4IDE5LjMxMjVsNC42ODc1IDQuNjg3NWMyLjEzNjcxOSAyLjE0NDUzMSAzLjMxMjUgNC45NzY1NjIgMy4zMTI1IDhzLTEuMTc1NzgxIDUuODU1NDY5LTMuMzEyNSA4bC0xMC4zNDM3NSAxMC4zNDM3NSAxMS4zMTI1IDExLjMxMjUgMTAuMzQzNzUtMTAuMzQzNzVjNS4xNjAxNTYtNS4xNjAxNTYgOC0xMi4wMTU2MjUgOC0xOS4zMTI1cy0yLjgzOTg0NC0xNC4xNjAxNTYtOC0xOS4zMTI1em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTIyNy4zMTI1IDQ0MC41Yy0yLjEzNjcxOS0yLjE0NDUzMS0zLjMxMjUtNC45NzY1NjItMy4zMTI1LThzMS4xNzU3ODEtNS44NTU0NjkgMy4zMTI1LThsMTAuMzQzNzUtMTAuMzQzNzUtMTEuMzEyNS0xMS4zMTI1LTEwLjM0Mzc1IDEwLjM0Mzc1Yy01LjE2MDE1NiA1LjE2MDE1Ni04IDEyLjAxNTYyNS04IDE5LjMxMjVzMi44Mzk4NDQgMTQuMTYwMTU2IDggMTkuMzEyNWw0LjY4NzUgNC42ODc1YzIuMTM2NzE5IDIuMTQ0NTMxIDMuMzEyNSA0Ljk3NjU2MiAzLjMxMjUgOHMtMS4xNzU3ODEgNS44NTU0NjktMy4zMTI1IDhsLTEwLjM0Mzc1IDEwLjM0Mzc1IDExLjMxMjUgMTEuMzEyNSAxMC4zNDM3NS0xMC4zNDM3NWM1LjE2MDE1Ni01LjE2MDE1NiA4LTEyLjAxNTYyNSA4LTE5LjMxMjVzLTIuODM5ODQ0LTE0LjE2MDE1Ni04LTE5LjMxMjV6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMjc1LjMxMjUgNDQwLjVjLTIuMTM2NzE5LTIuMTQ0NTMxLTMuMzEyNS00Ljk3NjU2Mi0zLjMxMjUtOHMxLjE3NTc4MS01Ljg1NTQ2OSAzLjMxMjUtOGwxMC4zNDM3NS0xMC4zNDM3NS0xMS4zMTI1LTExLjMxMjUtMTAuMzQzNzUgMTAuMzQzNzVjLTUuMTYwMTU2IDUuMTYwMTU2LTggMTIuMDE1NjI1LTggMTkuMzEyNXMyLjgzOTg0NCAxNC4xNjAxNTYgOCAxOS4zMTI1bDQuNjg3NSA0LjY4NzVjMi4xMzY3MTkgMi4xNDQ1MzEgMy4zMTI1IDQuOTc2NTYyIDMuMzEyNSA4cy0xLjE3NTc4MSA1Ljg1NTQ2OS0zLjMxMjUgOGwtMTAuMzQzNzUgMTAuMzQzNzUgMTEuMzEyNSAxMS4zMTI1IDEwLjM0Mzc1LTEwLjM0Mzc1YzUuMTYwMTU2LTUuMTYwMTU2IDgtMTIuMDE1NjI1IDgtMTkuMzEyNXMtMi44Mzk4NDQtMTQuMTYwMTU2LTgtMTkuMzEyNXptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0zMjMuMzEyNSA0NDAuNWMtMi4xMzY3MTktMi4xNDQ1MzEtMy4zMTI1LTQuOTc2NTYyLTMuMzEyNS04czEuMTc1NzgxLTUuODU1NDY5IDMuMzEyNS04bDEwLjM0Mzc1LTEwLjM0Mzc1LTExLjMxMjUtMTEuMzEyNS0xMC4zNDM3NSAxMC4zNDM3NWMtNS4xNjAxNTYgNS4xNjAxNTYtOCAxMi4wMTU2MjUtOCAxOS4zMTI1czIuODM5ODQ0IDE0LjE2MDE1NiA4IDE5LjMxMjVsNC42ODc1IDQuNjg3NWMyLjEzNjcxOSAyLjE0NDUzMSAzLjMxMjUgNC45NzY1NjIgMy4zMTI1IDhzLTEuMTc1NzgxIDUuODU1NDY5LTMuMzEyNSA4bC0xMC4zNDM3NSAxMC4zNDM3NSAxMS4zMTI1IDExLjMxMjUgMTAuMzQzNzUtMTAuMzQzNzVjNS4xNjAxNTYtNS4xNjAxNTYgOC0xMi4wMTU2MjUgOC0xOS4zMTI1cy0yLjgzOTg0NC0xNC4xNjAxNTYtOC0xOS4zMTI1em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTM4NCAyODguNWgxNnYxNmgtMTZ6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMzUyIDI4OC41aDE2djE2aC0xNnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0zMjAgMjg4LjVoMTZ2MTZoLTE2em0wIDAiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",kle="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMi4wMDUgNTEyLjAwNSI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTMyNy4xNTksMi43NjZjLTQuMDYzLTMuNjg4LTEwLjI1LTMuNjg4LTE0LjMxMywwYy00LjY0Miw0LjE4Ni0xMTAuODg5LDEwMS4yOTItMTYwLjIyOCwyMTMuODM5DQoJCQkJYy01LjMxOC0xLjg2Ny0xMS40NC0zLjI2Ni0xOS4zNTUtMy4yNjZjLTE4LjY3NywwLTI4LjY5OCw2Ljk2OS0zNi43NSwxMi41NzNjLTcuMDMxLDQuODk2LTEyLjU4Myw4Ljc2LTI0LjU3Myw4Ljc2DQoJCQkJYy0xMS45NjksMC0xNy41MjEtMy44NjUtMjQuNTQyLTguNzVjLTguMDQyLTUuNjA0LTE4LjA2My0xMi41ODMtMzYuNzI5LTEyLjU4M2MtNS44OTYsMC0xMC42NjcsNC43NzEtMTAuNjY3LDEwLjY2Nw0KCQkJCWMwLDUuODk2LDQuNzcxLDEwLjY2NywxMC42NjcsMTAuNjY3YzExLjk2OSwwLDE3LjUyMSwzLjg2NSwyNC41NDIsOC43NWM4LjA0Miw1LjYwNCwxOC4wNjMsMTIuNTgzLDM2LjcyOSwxMi41ODMNCgkJCQljMTguNjc3LDAsMjguNzA4LTYuOTc5LDM2Ljc2LTEyLjU4M2M3LjAzMS00Ljg4NSwxMi41ODMtOC43NSwyNC41NjMtOC43NWMxMiwwLDE3LjU2MywzLjg2NSwyNC42MDQsOC43Ng0KCQkJCWM4LjA1Miw1LjYwNCwxOC4wODMsMTIuNTczLDM2Ljc3MSwxMi41NzNjMTguNjc3LDAsMjguNzA4LTYuOTY5LDM2Ljc3MS0xMi41NzNjNy4wMzEtNC44OTYsMTIuNTk0LTguNzYsMjQuNTk0LTguNzYNCgkJCQljNS44OTYsMCwxMC42NjctNC43NzEsMTAuNjY3LTEwLjY2N2MwLTUuODk2LTQuNzcxLTEwLjY2Ny0xMC42NjctMTAuNjY3Yy0xOC42ODcsMC0yOC43MTksNi45NjktMzYuNzgxLDEyLjU3Mw0KCQkJCWMtNy4wMzEsNC44OTYtMTIuNTk0LDguNzYtMjQuNTgzLDguNzZjLTExLjIwOCwwLTE2LjgyMy0zLjQxOS0yMy4yNDItNy44NTRjNDAuMTIxLTkyLjY2MSwxMjMuNjYxLTE3Ny40NjYsMTQ4LjYwNy0yMDEuNDkNCgkJCQljMzMuMjE5LDMyLjAxLDE3MC42NjcsMTcxLjg2NSwxNzAuNjY3LDI5NC42NzdjMCw5NC4xMDQtNzYuNTYzLDE3MC42NjctMTcwLjY2NywxNzAuNjY3Yy00Mi40NzcsMC04Mi42NjktMTUuODIyLTExMy43OC00My43NTgNCgkJCQljMTEuNTQyLTIuMTM4LDE4Ljk5NC03LjE3NywyNS4xODYtMTEuNDgyYzcuMDMxLTQuODk2LDEyLjU5NC04Ljc2LDI0LjU5NC04Ljc2YzUuODk2LDAsMTAuNjY3LTQuNzcxLDEwLjY2Ny0xMC42NjcNCgkJCQlzLTQuNzcxLTEwLjY2Ny0xMC42NjctMTAuNjY3Yy0xOC42ODcsMC0yOC43MTksNi45NjktMzYuNzgxLDEyLjU3M2MtNy4wMzEsNC44OTYtMTIuNTk0LDguNzYtMjQuNTgzLDguNzYNCgkJCQljLTEyLDAtMTcuNTYzLTMuODY1LTI0LjU5NC04Ljc2Yy04LjA2My01LjYwNC0xOC4wOTQtMTIuNTczLTM2Ljc4MS0xMi41NzNjLTE4LjY3NywwLTI4LjY5OCw2Ljk2OS0zNi43NSwxMi41NzMNCgkJCQljLTcuMDMxLDQuODk2LTEyLjU4Myw4Ljc2LTI0LjU3Myw4Ljc2Yy0xMS45NjksMC0xNy41MjEtMy44NjUtMjQuNTQyLTguNzVjLTguMDQyLTUuNjA0LTE4LjA2My0xMi41ODMtMzYuNzI5LTEyLjU4Mw0KCQkJCWMtNS44OTYsMC0xMC42NjcsNC43NzEtMTAuNjY3LDEwLjY2N3M0Ljc3MSwxMC42NjcsMTAuNjY3LDEwLjY2N2MxMS45NjksMCwxNy41MjEsMy44NjUsMjQuNTQyLDguNzUNCgkJCQljOC4wNDIsNS42MDQsMTguMDYzLDEyLjU4MywzNi43MjksMTIuNTgzYzE4LjY3NywwLDI4LjcwOC02Ljk3OSwzNi43Ni0xMi41ODNjNy4wMzEtNC44ODUsMTIuNTgzLTguNzUsMjQuNTYzLTguNzUNCgkJCQljMTIsMCwxNy41NjMsMy44NjUsMjQuNjA0LDguNzZjNC4zNDUsMy4wMjMsOS40MTQsNi4zNTUsMTUuOTYxLDguODY1YzM2LjYsNDIuOTk2LDg5LjY1NSw2Ny43MDgsMTQ2LjE3NCw2Ny43MDgNCgkJCQljMTA1Ljg2NSwwLDE5Mi04Ni4xMzUsMTkyLTE5MkM1MTIuMDAzLDE3MS42NDEsMzM0LjcwMSw5LjU4OSwzMjcuMTU5LDIuNzY2eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTAuNjY5LDM2Mi42NzJjMTEuOTY5LDAsMTcuNTIxLDMuODY1LDI0LjU0Miw4Ljc1YzguMDQyLDUuNjA0LDE4LjA2MywxMi41ODMsMzYuNzI5LDEyLjU4Mw0KCQkJCWM1Ljg5NiwwLDEwLjY2Ny00Ljc3MSwxMC42NjctMTAuNjY3YzAtNS44OTYtNC43NzEtMTAuNjY3LTEwLjY2Ny0xMC42NjdjLTExLjk2OSwwLTE3LjUyMS0zLjg2NS0yNC41NDItOC43NQ0KCQkJCWMtOC4wNDItNS42MDQtMTguMDYzLTEyLjU4My0zNi43MjktMTIuNTgzYy01Ljg5NiwwLTEwLjY2Nyw0Ljc3MS0xMC42NjcsMTAuNjY3UzQuNzczLDM2Mi42NzIsMTAuNjY5LDM2Mi42NzJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0xMzMuMjYzLDM0MS4zMzljLTUuODk2LDAtMTAuNjY3LDQuNzcxLTEwLjY2NywxMC42NjdzNC43NzEsMTAuNjY3LDEwLjY2NywxMC42NjdjMTIsMCwxNy41NjMsMy44NjUsMjQuNTk0LDguNzYNCgkJCQljOC4wNjMsNS42MDQsMTguMDk0LDEyLjU3MywzNi43ODEsMTIuNTczYzE4LjY3NywwLDI4LjcwOC02Ljk2OSwzNi43NzEtMTIuNTczYzcuMDMxLTQuODk2LDEyLjU5NC04Ljc2LDI0LjU5NC04Ljc2DQoJCQkJYzEyLjE5OCwwLDE4LjQwNiwzLjk2OSwyNi4yNSw4Ljk5YzkuMDUyLDUuNzgxLDE5LjMxMywxMi4zNDQsMzcuNzUsMTIuMzQ0YzUuODk2LDAsMTAuNjY3LTQuNzcxLDEwLjY2Ny0xMC42NjcNCgkJCQljMC01Ljg5Ni00Ljc3MS0xMC42NjctMTAuNjY3LTEwLjY2N2MtMTIuMTk4LDAtMTguNDA2LTMuOTY5LTI2LjI1LTguOTljLTkuMDUyLTUuNzgxLTE5LjMxMy0xMi4zNDQtMzcuNzUtMTIuMzQ0DQoJCQkJYy0xOC42ODcsMC0yOC43MTksNi45NjktMzYuNzgxLDEyLjU3M2MtNy4wMzEsNC44OTYtMTIuNTk0LDguNzYtMjQuNTgzLDguNzZjLTEyLDAtMTcuNTYzLTMuODY1LTI0LjYwNC04Ljc2DQoJCQkJQzE2MS45ODIsMzQ4LjMwNywxNTEuOTUxLDM0MS4zMzksMTMzLjI2MywzNDEuMzM5eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTMzLjI2MywyNzcuMzM5Yy0xOC42NzcsMC0yOC42OTgsNi45NjktMzYuNzUsMTIuNTczYy03LjAzMSw0Ljg5Ni0xMi41ODMsOC43Ni0yNC41NzMsOC43Ng0KCQkJCWMtMTEuOTY5LDAtMTcuNTIxLTMuODY1LTI0LjU0Mi04Ljc1Yy04LjA0Mi01LjYwNC0xOC4wNjMtMTIuNTgzLTM2LjcyOS0xMi41ODNjLTUuODk2LDAtMTAuNjY3LDQuNzcxLTEwLjY2NywxMC42NjcNCgkJCQljMCw1Ljg5Niw0Ljc3MSwxMC42NjcsMTAuNjY3LDEwLjY2N2MxMS45NjksMCwxNy41MjEsMy44NjUsMjQuNTQyLDguNzVjOC4wNDIsNS42MDQsMTguMDYzLDEyLjU4MywzNi43MjksMTIuNTgzDQoJCQkJYzE4LjY3NywwLDI4LjcwOC02Ljk3OSwzNi43Ni0xMi41ODNjNy4wMzEtNC44ODUsMTIuNTgzLTguNzUsMjQuNTYzLTguNzVjNS44OTYsMCwxMC42NjctNC43NzEsMTAuNjY3LTEwLjY2Nw0KCQkJCUMxNDMuOTMsMjgyLjEwOSwxMzkuMTU5LDI3Ny4zMzksMTMzLjI2MywyNzcuMzM5eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjMxLjQwOSwzMDcuNDMyYzcuMDMxLTQuODk2LDEyLjU5NC04Ljc2LDI0LjU5NC04Ljc2YzExLjk2OSwwLDE3LjUyMSwzLjg2NSwyNC41NDIsOC43NQ0KCQkJCWM4LjA0Miw1LjYwNCwxOC4wNjMsMTIuNTgzLDM2LjcyOSwxMi41ODNjMTguNjc3LDAsMjguNzA4LTYuOTc5LDM2Ljc2LTEyLjU4M2M3LjAzMS00Ljg4NSwxMi41ODMtOC43NSwyNC41NjMtOC43NQ0KCQkJCWM1Ljg5NiwwLDEwLjY2Ny00Ljc3MSwxMC42NjctMTAuNjY3YzAtNS44OTYtNC43NzEtMTAuNjY3LTEwLjY2Ny0xMC42NjdjLTE4LjY3NywwLTI4LjY5OCw2Ljk2OS0zNi43NSwxMi41NzMNCgkJCQljLTcuMDMxLDQuODk2LTEyLjU4Myw4Ljc2LTI0LjU3Myw4Ljc2Yy0xMS45NjksMC0xNy41MjEtMy44NjUtMjQuNTQyLTguNzVjLTguMDQyLTUuNjA0LTE4LjA2My0xMi41ODMtMzYuNzI5LTEyLjU4Mw0KCQkJCWMtMTguNjg3LDAtMjguNzE5LDYuOTY5LTM2Ljc4MSwxMi41NzNjLTcuMDMxLDQuODk2LTEyLjU5NCw4Ljc2LTI0LjU4Myw4Ljc2Yy01Ljg5NiwwLTEwLjY2Nyw0Ljc3MS0xMC42NjcsMTAuNjY3DQoJCQkJczQuNzcxLDEwLjY2NywxMC42NjcsMTAuNjY3QzIxMy4zMTUsMzIwLjAwNSwyMjMuMzQ2LDMxMy4wMzYsMjMxLjQwOSwzMDcuNDMyeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",Yle="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTUxMiAxNjMuODdjMC0xMy45LTUuNDEyLTI2Ljk2MS0xNS4yMzMtMzYuNzctOS44MTUtOS44MjgtMjIuODc2LTE1LjI0LTM2Ljc3Ni0xNS4yNGgtODAuOTdjLTI2LjcwNSAwLTQ4LjQzLTIxLjcyNi00OC40My00OC40MyAwLTEyLjkzOCA1LjAzNy0yNS4xMDEgMTQuMTg0LTM0LjI0NyA5LjE0NC05LjE0NiAyMS4zMDctMTQuMTgzIDM0LjI0NS0xNC4xODNoMTI1LjQ4YzQuMTQyIDAgNy41LTMuMzU4IDcuNS03LjVzLTMuMzU4LTcuNS03LjUtNy41aC0xMjUuNDhjLTE2Ljk0NSAwLTMyLjg3NCA2LjU5Ny00NC44NTMgMTguNTc3LTExLjk3OSAxMS45NzktMTguNTc3IDI3LjkwOC0xOC41NzcgNDQuODUzIDAgMzQuOTc1IDI4LjQ1NSA2My40MyA2My40MyA2My40M2g4MC45N2M5Ljg5IDAgMTkuMTgyIDMuODUgMjYuMTY5IDEwLjg0NyA2Ljk5MSA2Ljk4MiAxMC44NDEgMTYuMjczIDEwLjg0MSAyNi4xNjMgMCA4LjYzNy0zLjAzOCAxNy4wNDQtOC41NTcgMjMuNjc0bC0yMi4zMDUgMjYuODIyYy03Ljg4NC0yLjcyNS0xNi45ODktLjk3Mi0yMy4yODIgNS4zMTFsLTkuMDU4IDkuMDU4Yy0yMC4zMi0uNDItNDMuMDk4IDMuOTQtNjIuODIxIDcuNDI3LTQuMDc5LjcyMS02LjgwMSA0LjYxMy02LjA3OSA4LjY5MS43MjEgNC4wNzkgNC42MTMgNi43OTkgOC42OTEgNi4wNzkgMTguOTQyLTMuMzUgMzguMzkyLTUuNzY4IDU3LjgwOS03LjE4NSA3LjY4MS0uNTY2IDE0LjgzMyA0LjM5MyAxNi45ODUgMTEuNzggMS44MjcgNi4yNyA0Ny4wMjcgMTYwLjE2NyA0OC41MzMgMTY2LjU3NS40OTggMi4xMTktLjczOCAzLjY2LTIuOTEyIDMuNjYtMjIuNzg2IDAtNDEuMDQyIDE1LjY2LTQ4LjQ2NCAzNi40ODhoLTMyMC4zNzFjLTQuMTQyIDAtNy41IDMuMzU3LTcuNSA3LjVzMy4zNTggNy41IDcuNSA3LjVoMzI3Ljc4N2M1LjQ0NSAwIDkuODc1IDQuNDMgOS44NzUgOS44NzVzLTQuNDMxIDkuODc1LTkuODc2IDkuODc1aC00MzYuOTA2YzMuMjY1LTExLjM5MSAxMy43NzUtMTkuNzUgMjYuMi0xOS43NWg1Mi45MTljNC4xNDIgMCA3LjUtMy4zNTcgNy41LTcuNXMtMy4zNTgtNy41LTcuNS03LjVoLTQ0Ljk0NGM2Mi40NjItMTExLjU5OCAxNzEuOTAzLTE3Ny4wMjcgMjk0Ljc3OC0yMDUuNDg2IDQuMDM1LS45MzUgNi41NDktNC45NjMgNS42MTQtOC45OTktLjkzNC00LjAzNS00Ljk2NC02LjU0OS04Ljk5OS01LjYxNC03MS42MzIgMTYuNTk5LTE0My41OTMgNDcuMDUxLTIwMS40NzMgOTIuNjA2bC0xMC4wNzEtMTAuMDdjLTguNjM1LTguNzUyLTIzLjE1OS04LjY3OC0zMS44MjYtLjAxLTguNjMxIDguNjMyLTguNzI4IDIzLjE2NiAwIDMxLjgwN2w4LjA1MSA4LjA1MWMtMjkuNDY3IDI4Ljk1OS01NC4xMDIgNjIuMzItNzQuMDQyIDk4LjkyLTE4LjQ4NyA0LjUwMi0zMi4yNTYgMjEuMTkxLTMyLjI1NiA0MS4wNDUgMCA0LjE0MyAzLjM1OCA3LjUgNy41IDcuNWg0NDUuNDU1YzEzLjcxNiAwIDI0Ljg3NS0xMS4xNTkgMjQuODc1LTI0Ljg3NSAwLTEwLjc1LTYuODU1LTE5LjkyNy0xNi40MjQtMjMuMzk1IDUuMjYzLTEzLjU3MyAxNy45MDMtMjIuOTY5IDMyLjU5OC0yMi45NjkgMTEuNDgzIDAgMjAuMzAyLTExLjQwMSAxNy40MTEtMjIuNTEtLjAxOC0uMDcxLS4wMzgtLjE0Mi0uMDU4LS4yMTFsLTQ1Ljg1Ny0xNTcuMzkxIDkuMTYzLTkuMTU2YzcuMzU5LTcuMzAzIDguNjQ0LTE5LjA5MyAzLjE5Ny0yNy43NjJsMjIuMTE1LTI2LjU5M2M3Ljc1NC05LjMxOCAxMi4wMjUtMjEuMTMyIDEyLjAyNS0zMy4yNjh6bS00MDMuMTQ2IDE3MS40MTNjMS40Mi0xLjQyMSAzLjMwNS0yLjIwMyA1LjMwNy0yLjIwMyAxLjk5OSAwIDMuODc3Ljc3OSA1LjI5NiAyLjIwNGw5LjAxNCA5LjAxNGMtMy44MjUgMy4yNDMtNy41ODIgNi41NTEtMTEuMjc0IDkuOTIybC04LjM0NC04LjM0NGMtMi45Mi0yLjkyLTIuOTItNy42NzIuMDAxLTEwLjU5M3ptMzU1LjIwNS05NC4zOTgtMy45ODYgMy45ODNjLTIuNDk2LTQuNDYxLTYuMDM3LTguMjAzLTEwLjIzMy0xMC45NjFsMy42MTktMy42MTljMi45MjYtMi45MiA3LjY4LTIuOTIyIDEwLjU5OC0uMDA0IDEuNDIxIDEuNDIxIDIuMjAzIDMuMzAyIDIuMjAzIDUuMjk3IDAgMi0uNzgyIDMuODg1LTIuMjAxIDUuMzA0em0tMjE1Ljc2NSA5NC43NjRjLTEzLjgyNCA3LjY1My0yMi40MTIgMjIuMjM1LTIyLjQxMiAzOC4wNTYgMCAxMS45ODcgNS4wMTkgMjMuNTYzIDEzLjc3MSAzMS43NTggOC4wNjYgNy41NTMgMTguNzg4IDExLjc1NiAyOS43ODYgMTEuNzU1Ljk0IDAgMTUxLjA4LTkuODM4IDE1MS4wOC05LjgzOCA2LjkxMS0uNDU0IDEzLjIyNS0zLjkxNiAxNy4zMjItOS40OTggNC4wOTYtNS41NzkgNS41MDctMTIuNjM3IDMuODcyLTE5LjM2MmwtMTkuNTM4LTgwLjMyM2MtMy4wMTctMTIuNDA0LTE1LjE4My0yMC4wMTMtMjcuNjkzLTE3LjMyOS0zMC4wOTQgNi40NjYtNTkuNzg3IDE1LjU5NC04OC4yNTYgMjcuMTMtMTkuNzY4IDguMDEtMzkuMjU5IDE3LjMxMy01Ny45MzIgMjcuNjUxem0xMDcuMjY2IDYwLjk2OS02Ny40MyA0LjQzM3YtMTcuNjgxYzAtLjIzOC4yMDItLjQ0LjQ0LS40NGg2Ni41NWMuMjQzIDAgLjQ0LjE5Ny40NC40NHptNDIuMDcxLTEwMS4wODVjLjYxMy0uMTMyIDEuMjIzLS4xOTUgMS44MjMtLjE5NSAzLjgxNCAwIDcuMjEgMi41NTkgOC4xNDUgNi40MDNsMTkuNTM4IDgwLjMyM2MuNTk1IDIuNDQ2LjEwMiA0LjkxMS0xLjM4OCA2Ljk0LTEuNDkyIDIuMDMyLTMuNjk5IDMuMjQyLTYuMjE1IDMuNDA4bC00OC45NzQgMy4yMTl2LTEyLjI2MWMwLTguNTE0LTYuOTI2LTE1LjQ0LTE1LjQ0LTE1LjQ0aC02Ni41NWMtOC41MTQgMC0xNS40NCA2LjkyNy0xNS40NCAxNS40NHYxOC42NjdsLTEuODUuMTIyYy03Ljk1Ny41MTgtMTUuNTUyLTIuMTkyLTIxLjM3NS03LjY0NS01LjgxOS01LjQ0OS05LjAyNC0xMi44MzktOS4wMjQtMjAuODA5IDAtMTAuMzY3IDUuNjI0LTE5LjkyMSAxNC42NzctMjQuOTMzIDE4LjE0OC0xMC4wNDcgMzcuMDktMTkuMDg4IDU2LjMwMS0yNi44NzMgMjcuNjY2LTExLjIxMSA1Ni41MjUtMjAuMDgzIDg1Ljc3Mi0yNi4zNjZ6Ii8+DQogICAgPC9nPg0KPC9zdmc+",Qle="PHN2ZyB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtNDM1LjIgMzI0LjI2N2gtMTAuOTA2Yy0zLjAyNC01LjI2My04LjYyNC04LjUxNS0xNC42OTQtOC41MzN2LTE3LjA2N2MwLTkuNDI2LTcuNjQxLTE3LjA2Ny0xNy4wNjctMTcuMDY3aC0xNy4wNjdjLTkuNDI2IDAtMTcuMDY3IDcuNjQxLTE3LjA2NyAxNy4wNjd2MTcuMDY3Yy02LjA3LjAxOC0xMS42NyAzLjI3LTE0LjY5NCA4LjUzM2gtMjMyLjc3MmMtMTQuMTM4IDAtMjUuNi0xMS40NjItMjUuNi0yNS42czExLjQ2Mi0yNS42IDI1LjYtMjUuNmgzNi41MDZjMy4wMjQgNS4yNjMgOC42MjQgOC41MTUgMTQuNjk0IDguNTMzaDUxLjJjNi4wNy0uMDE4IDExLjY3LTMuMjcgMTQuNjk0LTguNTMzaDYyLjEwNmMxNC4xMzggMCAyNS42LTExLjQ2MiAyNS42LTI1LjZzLTExLjQ2Mi0yNS42LTI1LjYtMjUuNmgtNjIuMTA2Yy0zLjAyNC01LjI2My04LjYyNC04LjUxNS0xNC42OTQtOC41MzN2LTE3LjA2N2MwLTkuNDI2LTcuNjQxLTE3LjA2Ny0xNy4wNjctMTcuMDY3aC0xNy4wNjZjLTkuNDI2IDAtMTcuMDY3IDcuNjQxLTE3LjA2NyAxNy4wNjd2MTcuMDY3Yy02LjA3LjAxOC0xMS42NyAzLjI3LTE0LjY5NCA4LjUzM2gtMzYuNTA2Yy00Mi40MTUgMC03Ni44IDM0LjM4NS03Ni44IDc2LjhzMzQuMzg1IDc2LjggNzYuOCA3Ni44aDIzMi43NzJjMy4wMjQgNS4yNjMgOC42MjQgOC41MTUgMTQuNjk0IDguNTMzaDUxLjJjNi4wNy0uMDE4IDExLjY3LTMuMjcgMTQuNjk0LTguNTMzaDEwLjkwN2MxNC4xMzggMCAyNS42IDExLjQ2MiAyNS42IDI1LjZzLTExLjQ2MiAyNS42LTI1LjYgMjUuNmgtMzA5LjU3MmMtMy4wMjQtNS4yNjMtOC42MjQtOC41MTUtMTQuNjk0LTguNTMzdi0xNy4wNjdjMC05LjQyNi03LjY0MS0xNy4wNjctMTcuMDY3LTE3LjA2N2gtMTcuMDY3Yy05LjQyNiAwLTE3LjA2NyA3LjY0MS0xNy4wNjcgMTcuMDY3djE3LjA2N2MtNi4wNy4wMTgtMTEuNjcgMy4yNy0xNC42OTQgOC41MzNoLTE5LjQzOWMtMTQuMTM4IDAtMjUuNiAxMS40NjItMjUuNiAyNS42czExLjQ2MiAyNS42IDI1LjYgMjUuNmgxOS40MzljMy4wMjQgNS4yNjMgOC42MjQgOC41MTUgMTQuNjk0IDguNTMzaDUxLjJjNi4wNy0uMDE4IDExLjY3LTMuMjcgMTQuNjk0LTguNTMzaDMwOS41NzNjNDIuNDE1IDAgNzYuOC0zNC4zODUgNzYuOC03Ni44cy0zNC4zODUtNzYuOC03Ni44LTc2Ljh6bS01OS43MzMtMjUuNmgxNy4wNjd2MTcuMDY3aC0xNy4wNjd6bS03Ni44LTUxLjJjMCA0LjcxMy0zLjgyMSA4LjUzMy04LjUzMyA4LjUzM2gtNTkuNzM0di0xNy4wNjdoNTkuNzMzYzQuNzEzIDAgOC41MzQgMy44MjEgOC41MzQgOC41MzR6bS0xMTkuNDY3LTUxLjJoMTcuMDY3djE3LjA2N2gtMTcuMDY3em0tOC41MzMgMzQuMTMzaDQyLjY2N3YzNC4xMzNoLTUxLjJ2LTM0LjEzM3ptLTExOS40NjcgNjguMjY3Yy4wMzgtMzIuOTc0IDI2Ljc1OS01OS42OTYgNTkuNzMzLTU5LjczM2gzNC4xMzN2MTcuMDY2aC0zNC4xMzNjLTIzLjU2NCAwLTQyLjY2NyAxOS4xMDMtNDIuNjY3IDQyLjY2N3MxOS4xMDMgNDIuNjY3IDQyLjY2NyA0Mi42NjdoMjMwLjR2MTcuMDY2aC0yMzAuNGMtMzIuOTc0LS4wMzgtNTkuNjk1LTI2Ljc1OS01OS43MzMtNTkuNzMzem0zMDcuMiA2OC4yNjZ2LTM0LjEzM2g1MS4ydjM0LjEzM3ptLTI4MS42IDM0LjEzNGgxNy4wNjd2MTcuMDY3aC0xNy4wNjd6bS01OS43MzMgNTEuMmMwLTQuNzEzIDMuODIxLTguNTMzIDguNTMzLTguNTMzaDE3LjA2N3YxNy4wNjZoLTE3LjA2N2MtNC43MTMgMC04LjUzMy0zLjgyLTguNTMzLTguNTMzem00Mi42NjYgMTcuMDY2di0zNC4xMzNoNTEuMnYzNC4xMzN6bTM3NS40NjctOC41MzNoLTMwNy4ydi0xNy4wNjdoMzA3LjJjMjMuNTY0IDAgNDIuNjY3LTE5LjEwMyA0Mi42NjctNDIuNjY3cy0xOS4xMDMtNDIuNjY3LTQyLjY2Ny00Mi42NjdoLTguNTMzdi0xNy4wNjdoOC41MzNjMzIuOTkgMCA1OS43MzMgMjYuNzQ0IDU5LjczMyA1OS43MzNzLTI2Ljc0MyA1OS43MzUtNTkuNzMzIDU5LjczNXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTE4Ny43MzMgMTYyLjEzM2M0LjcxMyAwIDguNTMzLTMuODIxIDguNTMzLTguNTMzdi0xNy4wNjdjMC00LjcxMy0zLjgyMS04LjUzMy04LjUzMy04LjUzMy00LjcxMyAwLTguNTMzIDMuODIxLTguNTMzIDguNTMzdjE3LjA2N2MwIDQuNzEzIDMuODIxIDguNTMzIDguNTMzIDguNTMzeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTg3LjczMyAxMTAuOTMzYzQuNzEzIDAgOC41MzMtMy44MjEgOC41MzMtOC41MzN2LTE3LjA2N2MwLTQuNzEzLTMuODIxLTguNTMzLTguNTMzLTguNTMzLTQuNzEzIDAtOC41MzMgMy44MjEtOC41MzMgOC41MzN2MTcuMDY3YzAgNC43MTMgMy44MjEgOC41MzMgOC41MzMgOC41MzN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xODcuNzMzIDU5LjczM2M0LjcxMyAwIDguNTMzLTMuODIxIDguNTMzLTguNTMzdi0xNy4wNjdjMC00LjcxMy0zLjgyMS04LjUzMy04LjUzMy04LjUzMy00LjcxMyAwLTguNTMzIDMuODIxLTguNTMzIDguNTMzdjE3LjA2N2MwIDQuNzEzIDMuODIxIDguNTMzIDguNTMzIDguNTMzeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTU0Ljc0MyAxNTcuODY3YzEuNTEzIDIuNjYyIDQuMzM3IDQuMzA5IDcuMzk5IDQuMzE2czUuODkzLTEuNjI4IDcuNDE4LTQuMjgzIDEuNTExLTUuOTI0LS4wMzgtOC41NjZsLTguNTMzLTE0Ljc4Yy0xLjUxMy0yLjY2Mi00LjMzNy00LjMwOS03LjM5OS00LjMxNnMtNS44OTMgMS42MjgtNy40MTggNC4yODMtMS41MTEgNS45MjQuMDM4IDguNTY2eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTI5LjE0MyAxMTMuNDkzYzEuNTEzIDIuNjYyIDQuMzM3IDQuMzA5IDcuMzk5IDQuMzE2czUuODkzLTEuNjI4IDcuNDE4LTQuMjgzIDEuNTExLTUuOTI0LS4wMzgtOC41NjZsLTguNTMzLTE0Ljc4Yy0xLjUxMy0yLjY2Mi00LjMzNy00LjMwOS03LjM5OS00LjMxNnMtNS44OTMgMS42MjgtNy40MTggNC4yODMtMS41MTEgNS45MjQuMDM4IDguNTY2eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTAzLjU0MyA2OS4xODhjMi4zNzIgNC4wNDcgNy41NjYgNS40MiAxMS42MjggMy4wNzQgNC4wNjItMi4zNDUgNS40Ny03LjUzIDMuMTUxLTExLjYwOGwtOC41MzMtMTQuNzg4Yy0xLjUxMy0yLjY2Mi00LjMzNy00LjMwOS03LjM5OS00LjMxNnMtNS44OTMgMS42MjgtNy40MTggNC4yODMtMS41MTEgNS45MjQuMDM4IDguNTY2eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjA5LjA2NyAxNjAuOTljNC4wODEgMi4zNTYgOS4zLjk1OCAxMS42NTctMy4xMjNsOC41MzMtMTQuNzhjMS41NDktMi42NDIgMS41NjMtNS45MTEuMDM4LTguNTY2cy00LjM1Ni00LjI5LTcuNDE4LTQuMjgzLTUuODg2IDEuNjU0LTcuMzk5IDQuMzE2bC04LjUzMyAxNC43OGMtMi4zNTggNC4wODEtLjk2IDkuMjk5IDMuMTIyIDExLjY1NnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTIzNC42NjcgMTE2LjY1MWM0LjA4MSAyLjM1NiA5LjMuOTU4IDExLjY1Ny0zLjEyM2w4LjUzMy0xNC43OGMxLjU0OS0yLjY0MiAxLjU2My01LjkxMS4wMzgtOC41NjZzLTQuMzU2LTQuMjktNy40MTgtNC4yODMtNS44ODYgMS42NTQtNy4zOTkgNC4zMTZsLTguNTMzIDE0Ljc4Yy0yLjM1OCA0LjA4LS45NiA5LjI5OSAzLjEyMiAxMS42NTZ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yNjAuMjY3IDcyLjMxMWM0LjA4MSAyLjM1NiA5LjMuOTU4IDExLjY1Ny0zLjEyM2w4LjUzMy0xNC43ODhjMS41NDktMi42NDIgMS41NjMtNS45MTEuMDM4LTguNTY2cy00LjM1Ni00LjI5LTcuNDE4LTQuMjgzLTUuODg2IDEuNjU0LTcuMzk5IDQuMzE2bC04LjUzMyAxNC43ODhjLTIuMzU4IDQuMDgxLS45NiA5LjMgMy4xMjIgMTEuNjU2eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzg0IDI3My4wNjdjNC43MTMgMCA4LjUzMy0zLjgyIDguNTMzLTguNTMzdi0xNy4wNjdjMC00LjcxMy0zLjgyLTguNTMzLTguNTMzLTguNTMzcy04LjUzMyAzLjgyMS04LjUzMyA4LjUzM3YxNy4wNjdjMCA0LjcxMiAzLjgyIDguNTMzIDguNTMzIDguNTMzeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzg0IDIyMS44NjdjNC43MTMgMCA4LjUzMy0zLjgyMSA4LjUzMy04LjUzM3YtMTcuMDY3YzAtNC43MTMtMy44Mi04LjUzMy04LjUzMy04LjUzM3MtOC41MzMgMy44MjEtOC41MzMgOC41MzN2MTcuMDY3YzAgNC43MTIgMy44MiA4LjUzMyA4LjUzMyA4LjUzM3oiLz4NCiAgICAgICAgPHBhdGggZD0ibTM4NCAxNzAuNjY3YzQuNzEzIDAgOC41MzMtMy44MjEgOC41MzMtOC41MzN2LTE3LjA2N2MwLTQuNzEzLTMuODItOC41MzMtOC41MzMtOC41MzNzLTguNTMzIDMuODIxLTguNTMzIDguNTMzdjE3LjA2N2MwIDQuNzEyIDMuODIgOC41MzMgOC41MzMgOC41MzN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zNTEuMDEgMjY4LjhjMi4zNzIgNC4wNDcgNy41NjYgNS40MiAxMS42MjggMy4wNzQgNC4wNjItMi4zNDUgNS40Ny03LjUzIDMuMTUxLTExLjYwOGwtOC41MzMtMTQuNzhjLTEuNTE0LTIuNjYyLTQuMzM3LTQuMzA5LTcuMzk5LTQuMzE2cy01Ljg5MyAxLjYyOC03LjQxOCA0LjI4My0xLjUxMSA1LjkyNC4wMzggOC41NjZ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zMjUuNDEgMjI0LjQyN2MxLjUxNCAyLjY2MiA0LjMzNyA0LjMwOSA3LjM5OSA0LjMxNnM1Ljg5My0xLjYyOCA3LjQxOC00LjI4MyAxLjUxMS01LjkyNC0uMDM4LTguNTY2bC04LjUzMy0xNC43OGMtMS41MTQtMi42NjItNC4zMzctNC4zMDktNy4zOTktNC4zMTZzLTUuODkzIDEuNjI4LTcuNDE4IDQuMjgzLTEuNTExIDUuOTI0LjAzOCA4LjU2NnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI5OS44MSAxODAuMTIyYzIuMzcyIDQuMDQ3IDcuNTY2IDUuNDIgMTEuNjI4IDMuMDc0IDQuMDYyLTIuMzQ1IDUuNDctNy41MyAzLjE1MS0xMS42MDhsLTguNTMzLTE0Ljc4OGMtMS41MTMtMi42NjItNC4zMzctNC4zMDktNy4zOTktNC4zMTZzLTUuODkzIDEuNjI4LTcuNDE4IDQuMjgzLTEuNTExIDUuOTI0LjAzOCA4LjU2NnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQwNS4zMzMgMjcxLjkyM2M0LjA4MSAyLjM1NiA5LjMuOTU4IDExLjY1Ny0zLjEyM2w4LjUzMy0xNC43OGMyLjMxOC00LjA3OC45MTEtOS4yNjItMy4xNTEtMTEuNjA4LTQuMDYyLTIuMzQ1LTkuMjU2LS45NzItMTEuNjI4IDMuMDc0bC04LjUzMyAxNC43OGMtMi4zNTcgNC4wODItLjk1OSA5LjMwMSAzLjEyMiAxMS42NTd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00MzAuOTMzIDIyNy41ODRjNC4wODEgMi4zNTYgOS4zLjk1OCAxMS42NTctMy4xMjNsOC41MzMtMTQuNzhjMi4zMTgtNC4wNzguOTExLTkuMjYyLTMuMTUxLTExLjYwOHMtOS4yNTYtLjk3Mi0xMS42MjggMy4wNzRsLTguNTMzIDE0Ljc4Yy0yLjM1NyA0LjA4Mi0uOTU5IDkuMzAxIDMuMTIyIDExLjY1N3oiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ1Ni41MzMgMTgzLjI0NWM0LjA4MSAyLjM1NiA5LjMuOTU4IDExLjY1Ny0zLjEyM2w4LjUzMy0xNC43ODhjMi4zMTgtNC4wNzguOTExLTkuMjYyLTMuMTUxLTExLjYwOC00LjA2Mi0yLjM0NS05LjI1Ni0uOTcyLTExLjYyOCAzLjA3NGwtOC41MzMgMTQuNzg4Yy0yLjM1NyA0LjA4Mi0uOTU5IDkuMyAzLjEyMiAxMS42NTd6Ii8+DQogICAgPC9nPg0KPC9zdmc+",Ule="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMi4wMDIgNTEyLjAwMiIgd2lkdGg9IjUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtMzk4LjU4OSAyNDYuMzQyYy02NC42NjYtMTcuMzI4LTExNS42MDEtNjguMjY0LTEzMi45MjktMTMyLjkyOS0xLjE3MS00LjM3Mi01LjEzMy03LjQxMi05LjY1OS03LjQxMnMtOC40ODggMy4wNC05LjY1OSA3LjQxMmMtMTcuMzI4IDY0LjY2Ni02OC4yNjMgMTE1LjYwMS0xMzIuOTI5IDEzMi45MjktNC4zNzIgMS4xNzEtNy40MTIgNS4xMzMtNy40MTIgOS42NTlzMy4wNCA4LjQ4OCA3LjQxMiA5LjY1OWM2NC42NjYgMTcuMzI5IDExNS42MDEgNjguMjY0IDEzMi45MjkgMTMyLjkyOSAxLjE3MSA0LjM3MiA1LjEzMyA3LjQxMiA5LjY1OSA3LjQxMnM4LjQ4OC0zLjA0IDkuNjU5LTcuNDEyYzE3LjMyOC02NC42NjUgNjguMjY0LTExNS42MDEgMTMyLjkyOS0xMzIuOTI5IDQuMzcyLTEuMTcxIDcuNDEyLTUuMTMzIDcuNDEyLTkuNjU5cy0zLjA0LTguNDg4LTcuNDEyLTkuNjU5em0tMTQyLjU4OCAxMTkuMTc2Yy0yMS4wMzktNDkuMDk2LTYwLjQyLTg4LjQ3OC0xMDkuNTE2LTEwOS41MTcgNDkuMDk2LTIxLjAzOSA4OC40NzgtNjAuNDIgMTA5LjUxNi0xMDkuNTE3IDIxLjAzOSA0OS4wOTcgNjAuNDIgODguNDc4IDEwOS41MTcgMTA5LjUxNy00OS4wOTcgMjEuMDM5LTg4LjQ3OCA2MC40Mi0xMDkuNTE3IDEwOS41MTd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yNjQuMDM2IDIwMC40NThjLTEuODg2LTIuNTQ1LTQuODY3LTQuMDQ3LTguMDM1LTQuMDQ3cy02LjE0OSAxLjUwMS04LjAzNSA0LjA0N2MtMTMuNDE2IDE4LjEwNy0yOS40IDM0LjA5MS00Ny41MDggNDcuNTA4LTIuNTQ1IDEuODg2LTQuMDQ3IDQuODY3LTQuMDQ3IDguMDM1czEuNTAxIDYuMTQ5IDQuMDQ3IDguMDM1YzE4LjEwOCAxMy40MTYgMzQuMDkyIDI5LjQgNDcuNTA4IDQ3LjUwOCAxLjg4NiAyLjU0NSA0Ljg2NyA0LjA0NyA4LjAzNSA0LjA0N3M2LjE0OS0xLjUwMSA4LjAzNS00LjA0N2MxMy40MTYtMTguMTA4IDI5LjQtMzQuMDkyIDQ3LjUwOC00Ny41MDggMi41NDUtMS44ODYgNC4wNDctNC44NjcgNC4wNDctOC4wMzVzLTEuNTAxLTYuMTQ5LTQuMDQ3LTguMDM1Yy0xOC4xMDgtMTMuNDE3LTM0LjA5Mi0yOS40MDEtNDcuNTA4LTQ3LjUwOHptLTguMDM1IDg4LjkwOWMtMTAuMDQtMTIuMTYyLTIxLjIwNC0yMy4zMjYtMzMuMzY2LTMzLjM2NiAxMi4xNjMtMTAuMDQgMjMuMzI2LTIxLjIwNCAzMy4zNjYtMzMuMzY2IDEwLjA0IDEyLjE2MyAyMS4yMDQgMjMuMzI2IDMzLjM2NiAzMy4zNjYtMTIuMTYyIDEwLjA0LTIzLjMyNiAyMS4yMDQtMzMuMzY2IDMzLjM2NnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI1Ni4wMDEgNzUuOTk5YzUuNTIzIDAgMTAtNC40NzcgMTAtMTB2LTU1Ljk5OWMwLTUuNTIzLTQuNDc3LTEwLTEwLTEwcy0xMCA0LjQ3Ny0xMCAxMHY1NS45OTljMCA1LjUyMyA0LjQ3NyAxMCAxMCAxMHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTExNC41NzkgMTI4LjcyMWMxLjk1MyAxLjk1MyA0LjUxMiAyLjkyOSA3LjA3MSAyLjkyOXM1LjExOS0uOTc2IDcuMDcxLTIuOTI5YzMuOTA1LTMuOTA1IDMuOTA1LTEwLjIzNyAwLTE0LjE0M2wtMzkuNTk3LTM5LjU5OGMtMy45MDUtMy45MDUtMTAuMjM3LTMuOTA1LTE0LjE0MyAwcy0zLjkwNSAxMC4yMzcgMCAxNC4xNDN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im03NiAyNTYuMDAxYzAtNS41MjMtNC40NzctMTAtMTAtMTBoLTU2Yy01LjUyMyAwLTEwIDQuNDc3LTEwIDEwczQuNDc3IDEwIDEwIDEwaDU2YzUuNTIyIDAgMTAtNC40NzcgMTAtMTB6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xMTQuNTc5IDM4My4yODEtMzkuNTk4IDM5LjU5OGMtMy45MDUgMy45MDUtMy45MDUgMTAuMjM3IDAgMTQuMTQzIDEuOTUzIDEuOTUzIDQuNTEyIDIuOTI5IDcuMDcxIDIuOTI5czUuMTE5LS45NzYgNy4wNzEtMi45MjlsMzkuNTk4LTM5LjU5OGMzLjkwNS0zLjkwNSAzLjkwNS0xMC4yMzcgMC0xNC4xNDNzLTEwLjIzNy0zLjkwNi0xNC4xNDIgMHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI1Ni4wMDEgNDM2LjAwM2MtNS41MjMgMC0xMCA0LjQ3Ny0xMCAxMHY1NS45OTljMCA1LjUyMyA0LjQ3NyAxMCAxMCAxMHMxMC00LjQ3NyAxMC0xMHYtNTUuOTk5YzAtNS41MjMtNC40NzctMTAtMTAtMTB6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zOTcuNDI0IDM4My4yODFjLTMuOTA1LTMuOTA0LTEwLjIzNi0zLjkwNC0xNC4xNDMgMC0zLjkwNSAzLjkwNS0zLjkwNSAxMC4yMzcgMCAxNC4xNDNsMzkuNTk3IDM5LjU5OGMxLjk1MyAxLjk1MyA0LjUxMiAyLjkyOSA3LjA3MSAyLjkyOXM1LjExOS0uOTc3IDcuMDcxLTIuOTI5YzMuOTA1LTMuOTA1IDMuOTA1LTEwLjIzNyAwLTE0LjE0M3oiLz4NCiAgICAgICAgPHBhdGggZD0ibTUwMi4wMDIgMjQ2LjAwMWgtNTUuOTk5Yy01LjUyMyAwLTEwIDQuNDc3LTEwIDEwczQuNDc3IDEwIDEwIDEwaDU1Ljk5OWM1LjUyMyAwIDEwLTQuNDc3IDEwLTEwcy00LjQ3Ny0xMC0xMC0xMHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM5MC4zNTMgMTMxLjY0OWMyLjU1OSAwIDUuMTE5LS45NzYgNy4wNzEtMi45MjlsMzkuNTk3LTM5LjU5OGMzLjkwNS0zLjkwNSAzLjkwNS0xMC4yMzcgMC0xNC4xNDNzLTEwLjIzNy0zLjkwNS0xNC4xNDMgMGwtMzkuNTk3IDM5LjU5OGMtMy45MDUgMy45MDUtMy45MDUgMTAuMjM3IDAgMTQuMTQzIDEuOTUzIDEuOTUzIDQuNTEyIDIuOTI5IDcuMDcyIDIuOTI5eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTYxLjg2OCAzOC43MzVjMS4zMTQgMCAyLjY1LS4yNjEgMy45MzQtLjgxMSA1LjA3Ny0yLjE3NSA3LjQyOC04LjA1NCA1LjI1Mi0xMy4xM2wtLjAwMy0uMDA3Yy0yLjE3NS01LjA3Ni04LjA1MS03LjQyMy0xMy4xMjktNS4yNDktNS4wNzYgMi4xNzUtNy40MjYgOC4wNTgtNS4yNSAxMy4xMzQgMS42MjUgMy43OTIgNS4zMTYgNi4wNjMgOS4xOTYgNi4wNjN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xNjkuODQ0IDc0LjEzMSAxMy4wNTQgMzEuNTE0YzEuNTk1IDMuODUxIDUuMzE4IDYuMTc1IDkuMjQzIDYuMTc1IDEuMjc1IDAgMi41NzItLjI0NSAzLjgyMy0uNzY0IDUuMTAyLTIuMTE0IDcuNTI1LTcuOTYzIDUuNDEyLTEzLjA2NmwtMTMuMDU0LTMxLjUxNGMtMi4xMTQtNS4xMDMtNy45NjMtNy41MjctMTMuMDY2LTUuNDEycy03LjUyNiA3Ljk2NC01LjQxMiAxMy4wNjd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yNC41NDIgMTcwLjk0M2MxLjM1Ny42MjYgMi43ODIuOTIzIDQuMTg0LjkyMyAzLjc4IDAgNy4zOTgtMi4xNTQgOS4wODYtNS44MTIgMi4zMTQtNS4wMTQuMTI1LTEwLjk1Ni00Ljg4OS0xMy4yN2wtLjAwNi0uMDAzYy01LjAxMy0yLjMxNS0xMC45NTItLjEyNS0xMy4yNjcgNC44OTEtMi4zMTYgNS4wMTQtLjEyMyAxMC45NTYgNC44OTIgMTMuMjcxeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNjYuNDc3IDE4OC4zMjEgMzEuNTE1IDEzLjA1NGMxLjI1MS41MTkgMi41NDcuNzY0IDMuODIzLjc2NCAzLjkyNCAwIDcuNjQ3LTIuMzI1IDkuMjQzLTYuMTc2IDIuMTE0LTUuMTAzLS4zMS0xMC45NTItNS40MTItMTMuMDY1bC0zMS41MTYtMTMuMDU0Yy01LjEwMS0yLjExMy0xMC45NTIuMzEtMTMuMDY1IDUuNDEyLTIuMTE0IDUuMTAyLjMxIDEwLjk1MiA1LjQxMiAxMy4wNjV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xMDUuNjQ1IDMyOS4xMDRjNS4xMDMtMi4xMTMgNy41MjYtNy45NjMgNS40MTItMTMuMDY1LTIuMTEzLTUuMTAzLTcuOTY0LTcuNTI3LTEzLjA2NS01LjQxMmwtMzEuNTE0IDEzLjA1NGMtNS4xMDMgMi4xMTMtNy41MjYgNy45NjMtNS40MTIgMTMuMDY1IDEuNTk1IDMuODUyIDUuMzE4IDYuMTc2IDkuMjQzIDYuMTc2IDEuMjc1IDAgMi41NzItLjI0NSAzLjgyMy0uNzY0eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjQuNzkzIDM0MC45NDctLjAwNy4wMDNjLTUuMDc2IDIuMTc1LTcuNDI0IDguMDUzLTUuMjQ5IDEzLjEyOSAxLjYyNSAzLjc5MiA1LjMxNyA2LjA2MiA5LjE5OCA2LjA2MiAxLjMxNSAwIDIuNjUyLS4yNjEgMy45MzYtLjgxMiA1LjA3Ny0yLjE3NSA3LjQyOC04LjA1NCA1LjI1Mi0xMy4xMzEtMi4xNzQtNS4wNzUtOC4wNTMtNy40MjYtMTMuMTMtNS4yNTF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xNjYuMDU0IDQ3NC4xOWMtNS4wMTUtMi4zMTUtMTAuOTU2LS4xMjUtMTMuMjcgNC44ODlsLS4wMDMuMDA2Yy0yLjMxNCA1LjAxNC0uMTI0IDEwLjk1MyA0Ljg5MSAxMy4yNjcgMS4zNTYuNjI2IDIuNzguOTIyIDQuMTgyLjkyMiAzLjc4MSAwIDcuNDAxLTIuMTU2IDkuMDg5LTUuODE0IDIuMzE0LTUuMDE0LjEyNS0xMC45NTUtNC44ODktMTMuMjd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xOTUuOTYzIDQwMC45NDVjLTUuMTAxLTIuMTE0LTEwLjk1Mi4zMS0xMy4wNjUgNS40MTJsLTEzLjA1NCAzMS41MTVjLTIuMTE0IDUuMTAzLjMxIDEwLjk1MiA1LjQxMiAxMy4wNjUgMS4yNTEuNTE5IDIuNTQ3Ljc2NCAzLjgyMy43NjQgMy45MjQgMCA3LjY0Ny0yLjMyNSA5LjI0My02LjE3NmwxMy4wNTQtMzEuNTE1YzIuMTEzLTUuMTAyLS4zMTEtMTAuOTUyLTUuNDEzLTEzLjA2NXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM0Ni4xOTkgNDc0LjA3OGMtNS4wNzYgMi4xNzUtNy40MjggOC4wNTQtNS4yNTIgMTMuMTNsLjAwMy4wMDdjMS42MjUgMy43OTEgNS4zMTQgNi4wNiA5LjE5MiA2LjA2IDEuMzE1IDAgMi42NTEtLjI2MSAzLjkzNy0uODEyIDUuMDc2LTIuMTc1IDcuNDI2LTguMDU4IDUuMjUtMTMuMTM0LTIuMTc0LTUuMDc2LTguMDUxLTcuNDI2LTEzLjEzLTUuMjUxeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzQyLjE1OCA0MzcuODcxLTEzLjA1NC0zMS41MTRjLTIuMTE0LTUuMTAzLTcuOTY1LTcuNTI3LTEzLjA2NS01LjQxMi01LjEwMyAyLjExMy03LjUyNiA3Ljk2My01LjQxMiAxMy4wNjVsMTMuMDU0IDMxLjUxNGMxLjU5NSAzLjg1MiA1LjMxOCA2LjE3NiA5LjI0MyA2LjE3NiAxLjI3NSAwIDIuNTcyLS4yNDUgMy44MjMtLjc2NCA1LjEwMi0yLjExMiA3LjUyNS03Ljk2MiA1LjQxMS0xMy4wNjV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00ODcuMjA4IDM0MC45NDdjLTUuMDc2LTIuMTc3LTEwLjk1NS4xNzctMTMuMTMgNS4yNTItMi4xNzYgNS4wNzcuMTc2IDEwLjk1NiA1LjI1MiAxMy4xMzFsLjAwNi4wMDNjMS4yODUuNTUgMi42MTkuODExIDMuOTMzLjgxMSAzLjg3OSAwIDcuNTY5LTIuMjcyIDkuMTk0LTYuMDY0IDIuMTc3LTUuMDc3LS4xNzgtMTAuOTU3LTUuMjU1LTEzLjEzM3oiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ0NS41MjUgMzIzLjY4MS0zMS41MTQtMTMuMDU0Yy01LjEwMi0yLjExMy0xMC45NTEuMzEtMTMuMDY1IDUuNDEycy4zMSAxMC45NTIgNS40MTIgMTMuMDY1bDMxLjUxNCAxMy4wNTRjMS4yNTIuNTE5IDIuNTQ4Ljc2NCAzLjgyMy43NjQgMy45MjQgMCA3LjY0Ny0yLjMyNSA5LjI0My02LjE3NiAyLjExMy01LjEwMi0uMzExLTEwLjk1Mi01LjQxMy0xMy4wNjV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00ODMuMjc0IDE3MS44NjZjMS4zMTQgMCAyLjY1LS4yNjEgMy45MzQtLjgxMWwuMDA3LS4wMDNjNS4wNzYtMi4xNzUgNy40MjQtOC4wNTMgNS4yNDktMTMuMTI5cy04LjA2LTcuNDI3LTEzLjEzNC01LjI1Yy01LjA3NyAyLjE3NS03LjQyOCA4LjA1NC01LjI1MiAxMy4xMzEgMS42MjUgMy43OTEgNS4zMTYgNi4wNjIgOS4xOTYgNi4wNjJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00MDYuMzU3IDE4Mi44OTdjLTUuMTAzIDIuMTEzLTcuNTI2IDcuOTYzLTUuNDEyIDEzLjA2NSAxLjU5NSAzLjg1MiA1LjMxOCA2LjE3NiA5LjI0MyA2LjE3NiAxLjI3NSAwIDIuNTcyLS4yNDUgMy44MjMtLjc2NGwzMS41MTQtMTMuMDU0YzUuMTAzLTIuMTEzIDcuNTI2LTcuOTYzIDUuNDEyLTEzLjA2NS0yLjExNC01LjEwMy03Ljk2My03LjUyNy0xMy4wNjYtNS40MTJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zNDYuMTk5IDM3LjkyM2MxLjI4NS41NTEgMi42MjEuODExIDMuOTM1LjgxMSAzLjg4IDAgNy41NzEtMi4yNzEgOS4xOTYtNi4wNjNsLjAwMy0uMDA3YzIuMTc2LTUuMDc2LS4xNzctMTAuOTUyLTUuMjUzLTEzLjEyNy01LjA3NC0yLjE3Ni0xMC45NTcuMTc5LTEzLjEzMiA1LjI1Ni0yLjE3NyA1LjA3Ni4xNzUgMTAuOTU1IDUuMjUxIDEzLjEzeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzE2LjAzOSAxMTEuMDU3YzEuMjUxLjUxOSAyLjU0Ny43NjQgMy44MjMuNzY0IDMuOTI0IDAgNy42NDctMi4zMjUgOS4yNDMtNi4xNzZsMTMuMDU0LTMxLjUxNGMyLjExNC01LjEwMy0uMzEtMTAuOTUzLTUuNDEyLTEzLjA2Ni01LjEwMS0yLjExNC0xMC45NTEuMzEtMTMuMDY1IDUuNDEybC0xMy4wNTQgMzEuNTE0Yy0yLjExNSA1LjEwMi4zMDkgMTAuOTUyIDUuNDExIDEzLjA2NnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",vle="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ4MC4wMDUgNDgwLjAwNSI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTI0MC4wMDMsNDhjNC40MTgsMCw4LTMuNTgyLDgtOFY4YzAtNC40MTgtMy41ODItOC04LThzLTgsMy41ODItOCw4djMyQzIzMi4wMDMsNDQuNDE4LDIzNS41ODQsNDgsMjQwLjAwMyw0OHoiLz4NCiAgICAgICAgPHBhdGggZD0iTTE0MS4wNzUsMzYuNjU2bDE2LDI3LjcwNGMyLjE4NCwzLjg0MSw3LjA2OCw1LjE4NCwxMC45MDksM3M1LjE4NC03LjA2OCwzLTEwLjkwOWMtMC4wMTctMC4wMzEtMC4wMzUtMC4wNjEtMC4wNTMtMC4wOTINCgkJCQlsLTE2LTI3LjcwNGMtMi4xODQtMy44NDEtNy4wNjgtNS4xODQtMTAuOTA5LTNjLTMuODQxLDIuMTg0LTUuMTg0LDcuMDY4LTMsMTAuOTA5QzE0MS4wMzksMzYuNTk1LDE0MS4wNTcsMzYuNjI2LDE0MS4wNzUsMzYuNjU2DQoJCQkJeiIvPg0KICAgICAgICA8cGF0aCBkPSJNNzYuNTY3LDEwNi44NzVjMC4wMywwLjAxOCwwLjA2MSwwLjAzNSwwLjA5MiwwLjA1M2wyNy43MDQsMTZjMy44MTIsMi4yMzQsOC43MTMsMC45NTYsMTAuOTQ3LTIuODU2DQoJCQkJYzIuMjM0LTMuODEyLDAuOTU2LTguNzEzLTIuODU2LTEwLjk0N2MtMC4wMy0wLjAxOC0wLjA2MS0wLjAzNS0wLjA5Mi0wLjA1M2wtMjcuNzA0LTE2Yy0zLjgxMi0yLjIzNC04LjcxMy0wLjk1Ni0xMC45NDcsMi44NTYNCgkJCQlDNzEuNDc3LDk5LjczOSw3Mi43NTUsMTA0LjY0MSw3Ni41NjcsMTA2Ljg3NXoiLz4NCiAgICAgICAgPHBhdGggZD0iTTk2LjAwMywxOTJjMC00LjQxOC0zLjU4Mi04LTgtOGgtMzJjLTQuNDE4LDAtOCwzLjU4Mi04LDhzMy41ODIsOCw4LDhoMzJDOTIuNDIxLDIwMCw5Ni4wMDMsMTk2LjQxOCw5Ni4wMDMsMTkyeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTA0LjQ1NiwyNjEuMDE4Yy0wLjAzMSwwLjAxOC0wLjA2MiwwLjAzNi0wLjA5MywwLjA1NGwtMjcuNzA0LDE2Yy0zLjg0MSwyLjE4My01LjE4NSw3LjA2Ny0zLjAwMiwxMC45MDgNCgkJCQljMi4xODMsMy44NDEsNy4wNjcsNS4xODUsMTAuOTA4LDMuMDAyYzAuMDMxLTAuMDE4LDAuMDYyLTAuMDM2LDAuMDkzLTAuMDU0bDI3LjcwNC0xNmMzLjg0MS0yLjE4Myw1LjE4NS03LjA2NywzLjAwMi0xMC45MDgNCgkJCQlDMTEzLjE4MSwyNjAuMTc5LDEwOC4yOTcsMjU4LjgzNSwxMDQuNDU2LDI2MS4wMTh6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik00MDMuNDQsMjc3LjEyNmMtMC4wMzEtMC4wMTgtMC4wNjItMC4wMzYtMC4wOTMtMC4wNTRsLTI3LjcwNC0xNmMtMy44MTEtMi4yMzUtOC43MTMtMC45NTctMTAuOTQ4LDIuODU0DQoJCQkJYy0yLjIzNSwzLjgxMS0wLjk1Nyw4LjcxMywyLjg1NCwxMC45NDhjMC4wMzEsMC4wMTgsMC4wNjIsMC4wMzYsMC4wOTMsMC4wNTRsMjcuNzA0LDE2YzMuODExLDIuMjM1LDguNzEzLDAuOTU3LDEwLjk0OC0yLjg1NA0KCQkJCUM0MDguNTI5LDI4NC4yNjIsNDA3LjI1MSwyNzkuMzYxLDQwMy40NCwyNzcuMTI2eiIvPg0KICAgICAgICA8cGF0aCBkPSJNNDI0LjAwMywxODRoLTMyYy00LjQxOCwwLTgsMy41ODItOCw4czMuNTgyLDgsOCw4aDMyYzQuNDE4LDAsOC0zLjU4Miw4LThTNDI4LjQyMSwxODQsNDI0LjAwMywxODR6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0zNzEuNjUxLDEyNGMxLjQwNCwwLDIuNzg0LTAuMzcsNC0xLjA3MmwyNy43MDQtMTZjMy44NDEtMi4xODQsNS4xODQtNy4wNjgsMy0xMC45MDlzLTcuMDY4LTUuMTg0LTEwLjkwOS0zDQoJCQkJYy0wLjAzMSwwLjAxNy0wLjA2MSwwLjAzNS0wLjA5MiwwLjA1M2wtMjcuNzA0LDE2Yy0zLjgyNiwyLjIwOS01LjEzNyw3LjEwMi0yLjkyOCwxMC45MjgNCgkJCQlDMzY2LjE1MiwxMjIuNDc1LDM2OC43OTMsMTI0LDM3MS42NTEsMTI0eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzExLjk5Myw2Ny4yOTFjMC4wMDMsMC4wMDIsMC4wMDYsMC4wMDQsMC4wMDksMC4wMDVjMy44MjcsMi4yMDcsOC43MiwwLjg5NCwxMC45MjctMi45MzQNCgkJCQljMC0wLjAwMSwwLjAwMS0wLjAwMiwwLjAwMS0wLjAwMmwxNi0yNy43MDRjMi4yMzUtMy44MTEsMC45NTctOC43MTMtMi44NTQtMTAuOTQ4Yy0zLjgxMS0yLjIzNS04LjcxMy0wLjk1Ny0xMC45NDgsMi44NTQNCgkJCQljLTAuMDE4LDAuMDMxLTAuMDM2LDAuMDYyLTAuMDU0LDAuMDkzbC0xNiwyNy43MDRDMzA2Ljg2Miw2MC4xODQsMzA4LjE2OSw2NS4wNzgsMzExLjk5Myw2Ny4yOTF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0yNTYuMDAzLDMyMGM0LjQxOCwwLDgtMy41ODIsOC04di04OGgxNmMxNy42NzMsMCwzMi0xNC4zMjcsMzItMzJzLTE0LjMyNy0zMi0zMi0zMmMtMTcuNjczLDAtMzIsMTQuMzI3LTMyLDMydjE2aC0xNg0KCQkJCXYtMTZjMC0xNy42NzMtMTQuMzI3LTMyLTMyLTMycy0zMiwxNC4zMjctMzIsMzJzMTQuMzI3LDMyLDMyLDMyaDE2djg4YzAsNC40MTgsMy41ODIsOCw4LDhzOC0zLjU4Miw4LTh2LTg4aDE2djg4DQoJCQkJQzI0OC4wMDMsMzE2LjQxOCwyNTEuNTg0LDMyMCwyNTYuMDAzLDMyMHogTTI2NC4wMDMsMTkyYzAtOC44MzcsNy4xNjMtMTYsMTYtMTZzMTYsNy4xNjMsMTYsMTZzLTcuMTYzLDE2LTE2LDE2aC0xNlYxOTJ6DQoJCQkJIE0yMTYuMDAzLDIwOGgtMTZjLTguODM3LDAtMTYtNy4xNjMtMTYtMTZzNy4xNjMtMTYsMTYtMTZzMTYsNy4xNjMsMTYsMTZWMjA4eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjQ2LjIxOSw2NC4xNTJjLTcwLjYxMS0zLjM5Mi0xMzAuNjAzLDUxLjA5OS0xMzMuOTk1LDEyMS43MWMtMS45NDMsNDAuNDMyLDE1LjM1NCw3OS40LDQ2LjY0MywxMDUuMDgyDQoJCQkJYzUuNjM5LDQuNDE3LDguOTk0LDExLjEzNSw5LjEzNiwxOC4yOTZWMzI4YzAuMDQyLDEwLjEzNCw2LjQ0NSwxOS4xNSwxNiwyMi41MjhWMzYwYzAuMDIxLDUuOTIzLDIuMjQ1LDExLjYyNyw2LjI0LDE2DQoJCQkJYy04LjMyLDkuMDQ0LTguMzIsMjIuOTU2LDAsMzJjLTguODk0LDkuNzUtOC4yLDI0Ljg2NCwxLjU1LDMzLjc1OGM0LjQyOSw0LjA0LDEwLjIxNSw2LjI2OCwxNi4yMSw2LjI0Mg0KCQkJCWM0LjMwNiwwLjExMyw3Ljg4OS0zLjI4Nyw4LjAwMS03LjU5M2MwLjA0NC0xLjY4LTAuNDU2LTMuMzMtMS40MjUtNC43MDNjLTAuMjUzLTAuNDg5LTAuNTUzLTAuOTUzLTAuODk2LTEuMzg0DQoJCQkJYy0wLjY1OC0wLjYwMi0xLjQwOS0xLjA5NC0yLjIyNC0xLjQ1NmMtMC4yMzItMC4xMi0wLjQ2NC0wLjIxNi0wLjcwNC0wLjMxMmMtMC44MS0wLjI5NS0xLjY1OS0wLjQ2NS0yLjUyLTAuNTA0DQoJCQkJYy0wLjA4LDAtMC4xNTItMC4wNDgtMC4yMzItMC4wNDhjLTQuNDE4LDAtOC0zLjU4Mi04LThzMy41ODItOCw4LThoMzJjNC40MTgsMCw4LTMuNTgyLDgtOHMtMy41ODItOC04LThoLTMyDQoJCQkJYy00LjQxOCwwLTgtMy41ODItOC04czMuNTgyLTgsOC04aDMyYzQuNDE4LDAsOC0zLjU4Miw4LThzLTMuNTgyLTgtOC04aC0zMmMtNC40MTgsMC04LTMuNTgyLTgtOHYtOGg0MGM0LjQxOCwwLDgtMy41ODIsOC04DQoJCQkJcy0zLjU4Mi04LTgtOGgtNDhjLTQuNDE4LDAtOC0zLjU4Mi04LTh2LTE4Ljc2Yy0wLjEzMS0xMS45NjItNS42NC0yMy4yMy0xNS0zMC42OGMtNDcuNzg4LTM5LjI3NC01NC42ODktMTA5Ljg1Mi0xNS40MTUtMTU3LjY0DQoJCQkJYzIyLjQ2Ni0yNy4zMzYsNTYuNTI4LTQyLjQ0OCw5MS44NzEtNDAuNzZjNTkuMTA3LDMuNTE2LDEwNS41MzYsNTEuOTU3LDEwNi41NDQsMTExLjE2YzAuMjg3LDM0LjA1Mi0xNS4wMjQsNjYuMzYzLTQxLjU2LDg3LjcwNA0KCQkJCWMtOS4yOSw3LjY1Mi0xNC42MDIsMTkuMTA5LTE0LjQ0LDMxLjE0NFYzMjhjMCw0LjQxOC0zLjU4Miw4LTgsOGgtMjRjLTQuNDE4LDAtOCwzLjU4Mi04LDhzMy41ODIsOCw4LDhoMTZ2OA0KCQkJCWMwLDQuNDE4LTMuNTgyLDgtOCw4aC04Yy00LjQxOCwwLTgsMy41ODItOCw4czMuNTgyLDgsOCw4aDhjNC40MTgsMCw4LDMuNTgyLDgsOHMtMy41ODIsOC04LDhoLThjLTQuNDE4LDAtOCwzLjU4Mi04LDgNCgkJCQlzMy41ODIsOCw4LDhoOGM0LjQxOCwwLDgsMy41ODIsOCw4cy0zLjU4Miw4LTgsOGgtNDBjLTQuNDE4LDAtOCwzLjU4Mi04LDhzMy41ODIsOCw4LDhoMzAuNjMyDQoJCQkJYy00LjQxNywxMi40OTctMTguMTI5LDE5LjA0Ny0zMC42MjYsMTQuNjNjLTMuODI2LTEuMzUyLTcuMjQ2LTMuNjUzLTkuOTQyLTYuNjg2Yy0yLjkzOC0zLjMtNy45OTYtMy41OTQtMTEuMjk2LTAuNjU2DQoJCQkJYy0zLjMsMi45MzgtMy41OTQsNy45OTYtMC42NTYsMTEuMjk2YzE0LjYzMSwxNi40ODcsMzkuODU3LDE3Ljk5Miw1Ni4zNDQsMy4zNjJjNi44MS02LjA0MywxMS4zNDktMTQuMjMyLDEyLjg2NC0yMy4yMQ0KCQkJCWMxMi41MjktMy45MTYsMTkuNTExLTE3LjI0NywxNS41OTYtMjkuNzc2Yy0xLjA0LTMuMzI5LTIuODAxLTYuMzg4LTUuMTU2LTguOTZjOC4zMi05LjA0NCw4LjMyLTIyLjk1NiwwLTMyDQoJCQkJYzMuOTk1LTQuMzczLDYuMjE5LTEwLjA3Nyw2LjI0LTE2di05LjQ3MmM5LjU1NS0zLjM3OCwxNS45NTgtMTIuMzk0LDE2LTIyLjUyOHYtMTcuODMyYy0wLjEwNy03LjE4NywzLjAwNy0xNC4wNDYsOC40ODgtMTguNjk2DQoJCQkJYzMwLjM0NC0yNC4zOTUsNDcuODUtNjEuMzM5LDQ3LjUxMi0xMDAuMjcyQzM2Ni44NDcsMTIzLjUzMiwzMTMuNzc3LDY4LjE2OSwyNDYuMjE5LDY0LjE1MnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",ble="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik0yNTUuOTk5LDBjLTc5LjA0NCwwLTE0My4zNTIsNjQuMzA4LTE0My4zNTIsMTQzLjM1M3Y3MC4xOTNjMCw0Ljc4LDMuODc5LDguNjU2LDguNjU5LDguNjU2aDQ4LjA1Nw0KCQkJYzQuNzgsMCw4LjY1Ni0zLjg3Niw4LjY1Ni04LjY1NnYtNzAuMTkzYzAtNDIuOTk4LDM0Ljk4MS03Ny45OCw3Ny45NzktNzcuOThzNzcuOTc5LDM0Ljk4Miw3Ny45NzksNzcuOTh2NzAuMTkzDQoJCQljMCw0Ljc4LDMuODgsOC42NTYsOC42NjEsOC42NTZoNDguMDU3YzQuNzgsMCw4LjY1Ni0zLjg3Niw4LjY1Ni04LjY1NnYtNzAuMTkzQzM5OS4zNTIsNjQuMzA4LDMzNS4wNDQsMCwyNTUuOTk5LDB6DQoJCQkgTTM4Mi4wNCwyMDQuODloLTMwLjc0OHYtNjEuNTM3YzAtNTIuNTQ0LTQyLjc0OC05NS4yOTItOTUuMjkxLTk1LjI5MnMtOTUuMjkxLDQyLjc0OC05NS4yOTEsOTUuMjkydjYxLjUzN2gtMzAuNzQ4di02MS41MzcNCgkJCWMwLTY5LjQ5OSw1Ni41NC0xMjYuMDQsMTI2LjAzOC0xMjYuMDRjNjkuNDk5LDAsMTI2LjA0LDU2LjU0MSwxMjYuMDQsMTI2LjA0VjIwNC44OXoiLz4NCiAgICAgICAgPHBhdGggZD0iTTQxMC42MywyMDQuODlIMTAxLjM3MWMtMjAuNTA1LDAtMzcuMTg4LDE2LjY4My0zNy4xODgsMzcuMTg4djIzMi43MzRjMCwyMC41MDUsMTYuNjgzLDM3LjE4OCwzNy4xODgsMzcuMTg4SDQxMC42Mw0KCQkJYzIwLjUwNSwwLDM3LjE4Ny0xNi42ODMsMzcuMTg3LTM3LjE4OVYyNDIuMDc4QzQ0Ny44MTcsMjIxLjU3Myw0MzEuMTM1LDIwNC44OSw0MTAuNjMsMjA0Ljg5eiBNNDMwLjUwNSw0NzQuODExDQoJCQljMCwxMC45Ni04LjkxNiwxOS44NzYtMTkuODc1LDE5Ljg3NkgxMDEuMzcxYy0xMC45NiwwLTE5Ljg3Ni04LjkxNi0xOS44NzYtMTkuODc2VjI0Mi4wNzhjMC0xMC45Niw4LjkxNi0xOS44NzYsMTkuODc2LTE5Ljg3Ng0KCQkJSDQxMC42M2MxMC45NTksMCwxOS44NzUsOC45MTYsMTkuODc1LDE5Ljg3NlY0NzQuODExeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjg1LjExLDM2OS43ODFjMTAuMTEzLTguNTIxLDE1Ljk5OC0yMC45NzgsMTUuOTk4LTM0LjM2NWMwLTI0Ljg3My0yMC4yMzYtNDUuMTA5LTQ1LjEwOS00NS4xMDkNCgkJCWMtMjQuODc0LDAtNDUuMTEsMjAuMjM2LTQ1LjExLDQ1LjEwOWMwLDEzLjM4Nyw1Ljg4NSwyNS44NDQsMTYsMzQuMzY3bC05LjczMSw0Ni4zNjJjLTAuNTM1LDIuNTU0LDAuMTA4LDUuMjExLDEuNzUyLDcuMjM2DQoJCQljMS42NDUsMi4wMjMsNC4xMTMsMy4yLDYuNzIsMy4yaDYwLjczOGMyLjYwOCwwLDUuMDc2LTEuMTc2LDYuNzE5LTMuMmMxLjY0My0yLjAyNiwyLjI4Ni00LjY4MywxLjc1MS03LjIzNEwyODUuMTEsMzY5Ljc4MXoNCgkJCSBNMjcwLjg1MSwzNTguODJjLTMuMDQsMS45MzYtNC41NjUsNS41NTMtMy44MjQsOS4wODFsOC42OCw0MS4zNjZoLTM5LjQxNWw4LjY4Mi00MS4zNjNjMC43NC0zLjUyOS0wLjc4Mi03LjE0Ni0zLjgyNC05LjA4MQ0KCQkJYy04LjEwOC01LjE2LTEyLjk0OC0xMy45MTEtMTIuOTQ4LTIzLjQwNmMwLTE1LjMyNywxMi40NjktMjcuNzk2LDI3Ljc5Ny0yNy43OTZjMTUuMzI3LDAsMjcuNzk2LDEyLjQ2OSwyNy43OTYsMjcuNzk2DQoJCQlDMjgzLjc5NywzNDQuOTE0LDI3OC45NTcsMzUzLjY2MywyNzAuODUxLDM1OC44MnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",$le="PHN2ZyBoZWlnaHQ9IjUxMnB0IiB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgd2lkdGg9IjUxMnB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im00OTQuOTMzNTk0IDBoLTQ3Ny44NjcxODhjLTkuNDIxODc1LjAwNzgxMjUtMTcuMDU4NTkzNSA3LjY0NDUzMS0xNy4wNjY0MDYgMTcuMDY2NDA2djU5LjczNDM3NWMuMDA3ODEyNSA5LjQyMTg3NSA3LjY0NDUzMSAxNy4wNTQ2ODggMTcuMDY2NDA2IDE3LjA2NjQwN2gxMC44OTQ1MzJsLTI2LjgzNTkzOCA0Ni45NjQ4NDNjLTEuNTA3ODEyIDIuNjQwNjI1LTEuNSA1Ljg4NjcxOS4wMjczNDQgOC41MTk1MzEgMS41MjczNDQgMi42Mjg5MDcgNC4zMzk4NDQgNC4yNSA3LjM4MjgxMiA0LjI1aDE5LjQyNTc4MmwtMjYuODM1OTM4IDQ2Ljk2NDg0NGMtMS41MDc4MTIgMi42NDA2MjUtMS41IDUuODg2NzE5LjAyNzM0NCA4LjUxNTYyNSAxLjUyNzM0NCAyLjYzMjgxMyA0LjMzOTg0NCA0LjI1IDcuMzgyODEyIDQuMjVoMTkuNDI1NzgybC0yNi44MzU5MzggNDYuOTY4NzVjLTEuNTA3ODEyIDIuNjQwNjI1LTEuNSA1Ljg4MjgxMy4wMjczNDQgOC41MTU2MjUgMS41MjczNDQgMi42Mjg5MDYgNC4zMzk4NDQgNC4yNSA3LjM4MjgxMiA0LjI1aDE5LjQyNTc4MmwtMjYuODM1OTM4IDQ2Ljk2ODc1Yy0xLjUwNzgxMiAyLjY0MDYyNS0xLjUgNS44ODI4MTMuMDI3MzQ0IDguNTE1NjI1IDEuNTI3MzQ0IDIuNjI4OTA3IDQuMzM5ODQ0IDQuMjUgNy4zODI4MTIgNC4yNWgxOS40MjU3ODJsLTI2LjgzNTkzOCA0Ni45NjQ4NDRjLTEuNTA3ODEyIDIuNjQwNjI1LTEuNSA1Ljg4NjcxOS4wMjczNDQgOC41MTU2MjUgMS41MjczNDQgMi42MzI4MTIgNC4zMzk4NDQgNC4yNSA3LjM4MjgxMiA0LjI1MzkwNmgxOS40MjU3ODJsLTI2LjgzNTkzOCA0Ni45NjQ4NDRjLTEuNTA3ODEyIDIuNjQwNjI1LTEuNSA1Ljg4NjcxOS4wMjczNDQgOC41MTU2MjUgMS41MjczNDQgMi42MzI4MTMgNC4zMzk4NDQgNC4yNSA3LjM4MjgxMiA0LjI1aDE5LjQyNTc4MmwtMjYuODM1OTM4IDQ2Ljk2ODc1Yy0xLjUwNzgxMiAyLjY0MDYyNS0xLjUgNS44ODI4MTMuMDI3MzQ0IDguNTE1NjI1IDEuNTI3MzQ0IDIuNjI4OTA2IDQuMzM5ODQ0IDQuMjUgNy4zODI4MTIgNC4yNWg0OTQuOTI5Njg4YzMuMDQyOTY4IDAgNS44NTU0NjgtMS42MjEwOTQgNy4zODI4MTItNC4yNSAxLjUyNzM0NC0yLjYzMjgxMiAxLjUzNTE1Ni01Ljg3NS4wMjczNDQtOC41MTU2MjVsLTI2LjgzNTkzOC00Ni45Njg3NWgxOS40MjU3ODJjMy4wNDI5NjggMCA1Ljg1NTQ2OC0xLjYxNzE4NyA3LjM4MjgxMi00LjI1IDEuNTI3MzQ0LTIuNjI4OTA2IDEuNTM1MTU2LTUuODc1LjAyNzM0NC04LjUxNTYyNWwtMjYuODM1OTM4LTQ2Ljk2NDg0NGgxOS40MjU3ODJjMy4wNDI5NjgtLjAwMzkwNiA1Ljg1NTQ2OC0xLjYyMTA5NCA3LjM4MjgxMi00LjI1MzkwNiAxLjUyNzM0NC0yLjYyODkwNiAxLjUzNTE1Ni01Ljg3NS4wMjczNDQtOC41MTU2MjVsLTI2LjgzNTkzOC00Ni45NjQ4NDRoMTkuNDI1NzgyYzMuMDQyOTY4IDAgNS44NTU0NjgtMS42MjEwOTMgNy4zODI4MTItNC4yNSAxLjUyNzM0NC0yLjYzMjgxMiAxLjUzNTE1Ni01Ljg3NS4wMjczNDQtOC41MTU2MjVsLTI2LjgzNTkzOC00Ni45Njg3NWgxOS40MjU3ODJjMy4wNDI5NjggMCA1Ljg1NTQ2OC0xLjYyMTA5NCA3LjM4MjgxMi00LjI1IDEuNTI3MzQ0LTIuNjMyODEyIDEuNTM1MTU2LTUuODc1LjAyNzM0NC04LjUxNTYyNWwtMjYuODM1OTM4LTQ2Ljk2ODc1aDE5LjQyNTc4MmMzLjA0Mjk2OCAwIDUuODU1NDY4LTEuNjE3MTg3IDcuMzgyODEyLTQuMjUgMS41MjczNDQtMi42Mjg5MDYgMS41MzUxNTYtNS44NzUuMDI3MzQ0LTguNTE1NjI1bC0yNi44MzU5MzgtNDYuOTY0ODQ0aDE5LjQyNTc4MmMzLjA0Mjk2OCAwIDUuODU1NDY4LTEuNjIxMDkzIDcuMzgyODEyLTQuMjUgMS41MjczNDQtMi42MzI4MTIgMS41MzUxNTYtNS44Nzg5MDYuMDI3MzQ0LTguNTE5NTMxbC0yNi44MzU5MzgtNDYuOTY0ODQzaDEwLjg5NDUzMmM5LjQyMTg3NS0uMDExNzE5IDE3LjA1NDY4Ny03LjY0NDUzMiAxNy4wNjY0MDYtMTcuMDY2NDA3di01OS43MzQzNzVjLS4wMTE3MTktOS40MjE4NzUtNy42NDQ1MzEtMTcuMDU0Njg3Mi0xNy4wNjY0MDYtMTcuMDY2NDA2em0tNDQ3LjMxNjQwNiA5My44NjcxODhoNDYuMjV2NDIuNjY3OTY4aC03MC42Mjg5MDd6bTMxOS4zMTY0MDYgMHY0Mi42Njc5NjhoLTIyMS44NjcxODh2LTQyLjY2Nzk2OHptNjguMjY1NjI1IDB2NDIuNjY3OTY4aC0xNy4wNjY0MDd2LTQyLjY2Nzk2OHptLTI5MC4xMzI4MTMgMzQxLjMzMjAzMXYtNDIuNjY0MDYzaDIyMS44NjcxODh2NDIuNjY0MDYzem0yMjEuODY3MTg4IDE3LjA2NjQwNnY0Mi42Njc5NjloLTIyMS44NjcxODh2LTQyLjY2Nzk2OXptMC0yNTZoLTIyMS44NjcxODh2LTQyLjY2NDA2M2gyMjEuODY3MTg4em0xNy4wNjY0MDYtNDIuNjY0MDYzaDE3LjA2NjQwNnY0Mi42NjQwNjNoLTE3LjA2NjQwNnptLTIzOC45MzM1OTQgMTYyLjEzMjgxM3YtNDIuNjY3OTY5aDIyMS44NjcxODh2NDIuNjY3OTY5em0yMjEuODY3MTg4IDE3LjA2NjQwNnY0Mi42NjQwNjNoLTIyMS44NjcxODh2LTQyLjY2NDA2M3ptLTIyMS44NjcxODgtNzYuODAwNzgxdi00Mi42Njc5NjloMjIxLjg2NzE4OHY0Mi42Njc5Njl6bS0xNy4wNjY0MDYtNTkuNzM0Mzc1aC0xNy4wNjY0MDZ2LTQyLjY2NDA2M2gxNy4wNjY0MDZ6bTAgMTcuMDY2NDA2djQyLjY2Nzk2OWgtMTcuMDY2NDA2di00Mi42Njc5Njl6bTAgNTkuNzM0Mzc1djQyLjY2Nzk2OWgtMTcuMDY2NDA2di00Mi42Njc5Njl6bTAgNTkuNzM0Mzc1djQyLjY2NDA2M2gtMTcuMDY2NDA2di00Mi42NjQwNjN6bTAgNTkuNzM0Mzc1djQyLjY2NDA2M2gtMTcuMDY2NDA2di00Mi42NjQwNjN6bTI1NiAwaDE3LjA2NjQwNnY0Mi42NjQwNjNoLTE3LjA2NjQwNnptMC0xNy4wNzAzMTJ2LTQyLjY2NDA2M2gxNy4wNjY0MDZ2NDIuNjY0MDYzem0wLTU5LjczMDQ2OXYtNDIuNjY3OTY5aDE3LjA2NjQwNnY0Mi42Njc5Njl6bTAtNTkuNzM0Mzc1di00Mi42Njc5NjloMTcuMDY2NDA2djQyLjY2Nzk2OXptMzQuMTMyODEyLTQyLjY2Nzk2OWgxNy4wNjY0MDd2NDIuNjY3OTY5aC0xNy4wNjY0MDd6bTAtMTcuMDY2NDA2di00Mi42NjQwNjNoMTcuMDY2NDA3djQyLjY2NDA2M3ptLTE3LjA2NjQwNi01OS43MzA0NjloLTE3LjA2NjQwNnYtNDIuNjY3OTY4aDE3LjA2NjQwNnptLTI3My4wNjY0MDYgMGgtMTcuMDY2NDA2di00Mi42Njc5NjhoMTcuMDY2NDA2em0tODAuMzgyODEyIDE3LjA2NjQwNmg0Ni4yNXY0Mi42NjQwNjNoLTcwLjYyODkwN3ptMCA1OS43MzA0NjloNDYuMjV2NDIuNjY3OTY5aC03MC42Mjg5MDd6bTAgNTkuNzM0Mzc1aDQ2LjI1djQyLjY2Nzk2OWgtNzAuNjI4OTA3em0wIDU5LjczNDM3NWg0Ni4yNXY0Mi42NjQwNjNoLTcwLjYyODkwN3ptMCA1OS43MzQzNzVoNDYuMjV2NDIuNjY0MDYzaC03MC42Mjg5MDd6bTAgNTkuNzMwNDY5aDQ2LjI1djQyLjY2Nzk2OWgtNzAuNjI4OTA3em02My4zMTY0MDYgNDIuNjY3OTY5di00Mi42Njc5NjloMTcuMDY2NDA2djQyLjY2Nzk2OXptMjczLjA2NjQwNiAwdi00Mi42Njc5NjloMTcuMDY2NDA2djQyLjY2Nzk2OXptMTA0Ljc1NzgxMiAwaC03MC42MjV2LTQyLjY2Nzk2OWg0Ni4yNXptMC01OS43MzQzNzVoLTcwLjYyNXYtNDIuNjY0MDYzaDQ2LjI1em0wLTU5LjczNDM3NWgtNzAuNjI1di00Mi42NjQwNjNoNDYuMjV6bTAtNTkuNzMwNDY5aC03MC42MjV2LTQyLjY2Nzk2OWgxNy4wNjY0MDd2MTcuMDY2NDA2YzAgNC43MTQ4NDQgMy44MjAzMTIgOC41MzUxNTcgOC41MzUxNTYgOC41MzUxNTcgNC43MTA5MzcgMCA4LjUzMTI1LTMuODIwMzEzIDguNTMxMjUtOC41MzUxNTd2LTE3LjA2NjQwNmgxMi4xMTcxODd6bTAtNTkuNzM0Mzc1aC0zNi40OTIxODd2LTQyLjY2Nzk2OWgxMi4xMTcxODd6bTAtNTkuNzM0Mzc1aC0zNi40OTIxODd2LTQyLjY2NDA2M2gxMi4xMTcxODd6bTAtNTkuNzMwNDY5aC0zNi40OTIxODd2LTQyLjY2Nzk2OGgxMi4xMTcxODd6bS0xOS40MjU3ODEtNTkuNzM0Mzc1aC00NTIuMjY1NjI1di01OS43MzQzNzVoNDc3Ljg2NzE4OGwuMDA3ODEyIDU5LjczNDM3NXptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im01OS43MzQzNzUgNDIuNjY3OTY5aC0xNy4wNjY0MDZjLTQuNzE0ODQ0IDAtOC41MzUxNTcgMy44MjAzMTItOC41MzUxNTcgOC41MzEyNSAwIDQuNzE0ODQzIDMuODIwMzEzIDguNTM1MTU2IDguNTM1MTU3IDguNTM1MTU2aDE3LjA2NjQwNmM0LjcxMDkzNyAwIDguNTMxMjUtMy44MjAzMTMgOC41MzEyNS04LjUzNTE1NiAwLTQuNzEwOTM4LTMuODIwMzEzLTguNTMxMjUtOC41MzEyNS04LjUzMTI1em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTE0NS4wNjY0MDYgNDIuNjY3OTY5aC01MS4xOTkyMThjLTQuNzE0ODQ0IDAtOC41MzUxNTcgMy44MjAzMTItOC41MzUxNTcgOC41MzEyNSAwIDQuNzE0ODQzIDMuODIwMzEzIDguNTM1MTU2IDguNTM1MTU3IDguNTM1MTU2aDUxLjE5OTIxOGM0LjcxNDg0NCAwIDguNTM1MTU2LTMuODIwMzEzIDguNTM1MTU2LTguNTM1MTU2IDAtNC43MTA5MzgtMy44MjAzMTItOC41MzEyNS04LjUzNTE1Ni04LjUzMTI1em0wIDAiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",Ple="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTIzNCAyNDMuNzgzYy0uOTUxIDAtMS44NjguMTQxLTIuNzM5LjM4OWwtLjAwMi0uMDA3LTI4LjcyMiA4LjE4N2MtNS4zMTEgMS41MTQtOC4zOSA3LjA0Ny02Ljg3NiAxMi4zNTggMS4yNTMgNC4zOTYgNS4yNTggNy4yNjEgOS42MTIgNy4yNjEuOTA3IDAgMS44My0uMTI1IDIuNzQ2LS4zODVsMTUuOTgxLTQuNTU0djM1LjQybC0xMjQgMzUuMzQ1di0zNS40MmwyMS40NjQtNi4xMThjNS4zMTEtMS41MTQgOC4zOS03LjA0NyA2Ljg3Ni0xMi4zNThzLTcuMDQ1LTguMzg3LTEyLjM1OC02Ljg3NmwtMjguNzIzIDguMTg3LjAwMS4wMDdjLTQuMTg5IDEuMTkzLTcuMjYgNS4wMzktNy4yNiA5LjYxdjEyNy4xOTljLTguMzYzLTYuMjkzLTE4Ljc1Mi0xMC4wMjgtMzAtMTAuMDI4LTI3LjU3IDAtNTAgMjIuNDMtNTAgNTBzMjIuNDMgNTAgNTAgNTAgNTAtMjIuNDMgNTAtNTB2LTEwMy40MDZsMTI0LTM1LjM0NXY1Ny43MzNjLTguMzYzLTYuMjkyLTE4Ljc1Mi0xMC4wMjctMzAtMTAuMDI3LTI3LjU3IDAtNTAgMjIuNDMtNTAgNTBzMjIuNDMgNTAgNTAgNTAgNTAtMjIuNDMgNTAtNTB2LTE2Ny4xNzJjMC01LjUyMy00LjQ3Ny0xMC0xMC0xMHptLTE4NCAyNDguMjE3Yy0xNi41NDIgMC0zMC0xMy40NTgtMzAtMzBzMTMuNDU4LTMwIDMwLTMwIDMwIDEzLjQ1OCAzMCAzMC0xMy40NTggMzAtMzAgMzB6bTE0NC00MS4wNDVjLTE2LjU0MiAwLTMwLTEzLjQ1OC0zMC0zMHMxMy40NTgtMzAgMzAtMzAgMzAgMTMuNDU4IDMwIDMwLTEzLjQ1OCAzMC0zMCAzMHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTUwOC4wMTMgMi4wMWMtMi41MTEtMS44ODktNS43NjMtMi40ODctOC43ODItMS42MTlsLTEwNC40MDggMzAuMDg5Yy00LjI4MiAxLjIzNC03LjIzMSA1LjE1Mi03LjIzMSA5LjYwOXYxMjcuMTk5Yy04LjM2My02LjI5Mi0xOC43NTItMTAuMDI3LTMwLTEwLjAyNy0yNy41NyAwLTUwIDIyLjQzLTUwIDUwczIyLjQzIDUwIDUwIDUwIDUwLTIyLjQzIDUwLTUwdi0xMDMuNDNsOTcuMTc3LTI4LjAwNWM0LjI4Mi0xLjIzNCA3LjIzMS01LjE1MiA3LjIzMS05LjYwOXYtNTYuMjE3YzAtMy4xNDItMS40NzctNi4xMDEtMy45ODctNy45OXptLTE1MC40MjEgMjM1LjI1MWMtMTYuNTQyIDAtMzAtMTMuNDU4LTMwLTMwczEzLjQ1OC0zMCAzMC0zMCAzMCAxMy40NTggMzAgMzAtMTMuNDU4IDMwLTMwIDMwem0xMzQuNDA4LTE3OC41NjktODQuNDA4IDI0LjMyNXYtMzUuNDAzbDg0LjQwOC0yNC4zMjV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00NzEuNTkxIDM0OC43NjItNDguMjg4LTcuMDE3LTIxLjU5NS00My43NTZjLTEuNjg1LTMuNDEzLTUuMTYxLTUuNTc0LTguOTY3LTUuNTc0cy03LjI4MyAyLjE2MS04Ljk2NyA1LjU3NGwtMjEuNTk1IDQzLjc1Ni00OC4yODggNy4wMTdjLTMuNzY3LjU0Ny02Ljg5NiAzLjE4Ni04LjA3MyA2LjgwNnMtLjE5NSA3LjU5NCAyLjUzMSAxMC4yNTFsMzQuOTQxIDM0LjA2LTguMjQ5IDQ4LjA5M2MtLjY0NCAzLjc1MS44OTggNy41NDMgMy45NzggOS43ODEgMy4wNzkgMi4yMzYgNy4xNjIgMi41MzIgMTAuNTMxLjc2MWw0My4xOS0yMi43MDcgNDMuMTkgMjIuNzA2YzEuNDYzLjc3IDMuMDYxIDEuMTQ5IDQuNjUyIDEuMTQ5IDIuMDczIDAgNC4xMzctLjY0NCA1Ljg3OS0xLjkxIDMuMDgtMi4yMzcgNC42MjItNi4wMjkgMy45NzgtOS43ODFsLTguMjQ5LTQ4LjA5MyAzNC45NDEtMzQuMDZjMi43MjYtMi42NTcgMy43MDctNi42MzEgMi41MzEtMTAuMjUxcy00LjMwNC02LjI1OC04LjA3MS02LjgwNXptLTQ3LjEyNCA0MC40NjRjLTIuMzU3IDIuMjk3LTMuNDMzIDUuNjA3LTIuODc2IDguODUxbDUuNzEyIDMzLjMwNC0yOS45MDktMTUuNzI0Yy0yLjkxMy0xLjUzMi02LjM5My0xLjUzMi05LjMwNyAwbC0yOS45MDkgMTUuNzI0IDUuNzEyLTMzLjMwNGMuNTU3LTMuMjQ0LS41MTktNi41NTQtMi44NzYtOC44NTFsLTI0LjE5Ni0yMy41ODYgMzMuNDM5LTQuODU5YzMuMjU3LS40NzMgNi4wNzMtMi41MTkgNy41MjktNS40N2wxNC45NTUtMzAuMzAxIDE0Ljk1NCAzMC4zMDFjMS40NTcgMi45NTEgNC4yNzIgNC45OTcgNy41MjkgNS40N2wzMy40MzkgNC44NTl6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zMi42MiA5MC43MDYtNi42MiAzOC41OTNjLS42NDQgMy43NTEuODk4IDcuNTQzIDMuOTc4IDkuNzgxIDMuMDc5IDIuMjM3IDcuMTYzIDIuNTMzIDEwLjUzMS43NjFsMzQuNjU4LTE4LjIyMSAzNC42NTkgMTguMjIxYzEuNDYzLjc2OSAzLjA2MSAxLjE0OCA0LjY1MiAxLjE0OCAyLjA3MyAwIDQuMTM3LS42NDQgNS44NzktMS45MSAzLjA4LTIuMjM4IDQuNjIyLTYuMDI5IDMuOTc4LTkuNzgxbC02LjYyLTM4LjU5MyAyOC4wNC0yNy4zMzFjMi43MjYtMi42NTcgMy43MDctNi42MzEgMi41MzEtMTAuMjUxcy00LjMwNi02LjI1OC04LjA3My02LjgwNmwtMzguNzUtNS42MzEtMTcuMzI4LTM1LjExMmMtMS42ODQtMy40MTMtNS4xNi01LjU3NC04Ljk2Ny01LjU3NHMtNy4yODMgMi4xNjEtOC45NjcgNS41NzRsLTE3LjMyOSAzNS4xMTMtMzguNzUgNS42MzFjLTMuNzY3LjU0Ny02Ljg5NiAzLjE4Ni04LjA3MyA2LjgwNnMtLjE5NSA3LjU5NCAyLjUzMSAxMC4yNTF6bTI0LjMzLTMwLjk4M2MzLjI1Ny0uNDczIDYuMDczLTIuNTE5IDcuNTI5LTUuNDdsMTAuNjg4LTIxLjY1NyAxMC42ODggMjEuNjU3YzEuNDU3IDIuOTUxIDQuMjcyIDQuOTk3IDcuNTI5IDUuNDdsMjMuOSAzLjQ3My0xNy4yOTIgMTYuODU4Yy0yLjM1NyAyLjI5OC0zLjQzMyA1LjYwOC0yLjg3NiA4Ljg1Mmw0LjA4MyAyMy44MDQtMjEuMzc3LTExLjIzOGMtMS40NTctLjc2Ni0zLjA1NS0xLjE0OS00LjY1My0xLjE0OS0xLjU5OSAwLTMuMTk3LjM4My00LjY1MyAxLjE0OWwtMjEuMzc3IDExLjIzOCA0LjA4My0yMy44MDRjLjU1Ny0zLjI0NC0uNTE5LTYuNTU0LTIuODc2LTguODUybC0xNy4yOTYtMTYuODU4eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjM0IDg2LjMwNmMtNS41MjMgMC0xMCA0LjQ3Ny0xMCAxMHYxMGMwIDUuNTIzIDQuNDc3IDEwIDEwIDEwczEwLTQuNDc3IDEwLTEwdi0xMGMwLTUuNTIzLTQuNDc3LTEwLTEwLTEweiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjM0IDE1Ni4zMDZjLTUuNTIzIDAtMTAgNC40NzctMTAgMTB2MTBjMCA1LjUyMyA0LjQ3NyAxMCAxMCAxMHMxMC00LjQ3NyAxMC0xMHYtMTBjMC01LjUyMy00LjQ3Ny0xMC0xMC0xMHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI3NCAxMjYuMzA2aC0xMGMtNS41MjMgMC0xMCA0LjQ3Ny0xMCAxMHM0LjQ3NyAxMCAxMCAxMGgxMGM1LjUyMyAwIDEwLTQuNDc3IDEwLTEwcy00LjQ3Ny0xMC0xMC0xMHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTE5NCAxNDYuMzA2aDEwYzUuNTIzIDAgMTAtNC40NzcgMTAtMTBzLTQuNDc3LTEwLTEwLTEwaC0xMGMtNS41MjMgMC0xMCA0LjQ3Ny0xMCAxMHM0LjQ3NyAxMCAxMCAxMHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTE2MiAyODQuMzFjMi42MyAwIDUuMjEtMS4wNyA3LjA3LTIuOTNzMi45My00LjQ0IDIuOTMtNy4wN2MwLTIuNjQtMS4wNy01LjIxLTIuOTMtNy4wOC0xLjg2LTEuODYtNC40NC0yLjkyLTcuMDctMi45MnMtNS4yMSAxLjA2LTcuMDcgMi45MmMtMS44NiAxLjg3LTIuOTMgNC40NC0yLjkzIDcuMDggMCAyLjYzIDEuMDcgNS4yMSAyLjkzIDcuMDdzNC40NCAyLjkzIDcuMDcgMi45M3oiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",Wle="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUwNS40IDUwNS40Ij4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJNNDM3LjEsMjMzLjQ1YzE0LjgtMTAuNCwyNC42LTI3LjcsMjQuNi00Ny4yYzAtMzEuOS0yNS44LTU3LjctNTcuNy01Ny43Yy0zMS45LDAtNTcuNywyNS44LTU3LjcsNTcuNw0KCQkJYzAsMTkuNSw5LjcsMzYuOCwyNC42LDQ3LjJjLTEyLjcsNC40LTI0LjMsMTEuMi0zNC4xLDIwYy0xMy41LTExLjUtMjkuNC0yMC4zLTQ2LjgtMjUuNWMyMS4xLTEyLjgsMzUuMy0zNi4xLDM1LjMtNjIuNg0KCQkJYzAtNDAuNC0zMi43LTczLjEtNzMuMS03My4xYy00MC40LDAtNzMuMSwzMi44LTczLjEsNzMuMWMwLDI2LjUsMTQuMSw0OS44LDM1LjMsNjIuNmMtMTcuMiw1LjItMzIuOSwxMy45LTQ2LjMsMjUuMg0KCQkJYy05LjgtOC42LTIxLjItMTUuMy0zMy43LTE5LjZjMTQuOC0xMC40LDI0LjYtMjcuNywyNC42LTQ3LjJjMC0zMS45LTI1LjgtNTcuNy01Ny43LTU3LjdzLTU3LjcsMjUuOC01Ny43LDU3LjcNCgkJCWMwLDE5LjUsOS43LDM2LjgsMjQuNiw0Ny4yQzI4LjUsMjQ3LjI1LDAsMjg0Ljk1LDAsMzI5LjI1djYuNmMwLDAuMiwwLjIsMC40LDAuNCwwLjRoMTIyLjNjLTAuNyw1LjUtMS4xLDExLjItMS4xLDE2Ljl2Ni44DQoJCQljMCwyOS40LDIzLjgsNTMuMiw1My4yLDUzLjJoMTU1YzI5LjQsMCw1My4yLTIzLjgsNTMuMi01My4ydi02LjhjMC01LjctMC40LTExLjQtMS4xLTE2LjlINTA1YzAuMiwwLDAuNC0wLjIsMC40LTAuNHYtNi42DQoJCQlDNTA1LjIsMjg0Ljg1LDQ3Ni44LDI0Ny4xNSw0MzcuMSwyMzMuNDV6IE0zNjIuMywxODYuMTVjMC0yMywxOC43LTQxLjcsNDEuNy00MS43czQxLjcsMTguNyw0MS43LDQxLjcNCgkJCWMwLDIyLjctMTguMyw0MS4yLTQwLjksNDEuN2MtMC4zLDAtMC41LDAtMC44LDBzLTAuNSwwLTAuOCwwQzM4MC41LDIyNy40NSwzNjIuMywyMDguOTUsMzYyLjMsMTg2LjE1eiBNMTk0LjksMTY1LjM1DQoJCQljMC0zMS41LDI1LjYtNTcuMSw1Ny4xLTU3LjFzNTcuMSwyNS42LDU3LjEsNTcuMWMwLDMwLjQtMjMuOSw1NS4zLTUzLjgsNTdjLTEuMSwwLTIuMiwwLTMuMywwYy0xLjEsMC0yLjIsMC0zLjMsMA0KCQkJQzIxOC44LDIyMC42NSwxOTQuOSwxOTUuNzUsMTk0LjksMTY1LjM1eiBNNTkuMywxODYuMTVjMC0yMywxOC43LTQxLjcsNDEuNy00MS43czQxLjcsMTguNyw0MS43LDQxLjdjMCwyMi43LTE4LjMsNDEuMi00MC45LDQxLjcNCgkJCWMtMC4zLDAtMC41LDAtMC44LDBzLTAuNSwwLTAuOCwwQzc3LjYsMjI3LjQ1LDU5LjMsMjA4Ljk1LDU5LjMsMTg2LjE1eiBNMTI1LjUsMzIwLjE1SDE2LjJjNC41LTQyLjYsNDAuNS03Niw4NC4yLTc2LjMNCgkJCWMwLjIsMCwwLjQsMCwwLjYsMHMwLjQsMCwwLjYsMGMyMC44LDAuMSwzOS44LDcuOCw1NC41LDIwLjNDMTQxLjcsMjc5Ljc1LDEzMSwyOTguOTUsMTI1LjUsMzIwLjE1eiBNMzY2LjgsMzU5Ljk1DQoJCQljMCwyMC41LTE2LjcsMzcuMi0zNy4yLDM3LjJoLTE1NWMtMjAuNSwwLTM3LjItMTYuNy0zNy4yLTM3LjJ2LTYuOGMwLTYyLjEsNDkuNi0xMTIuOSwxMTEuMy0xMTQuN2MxLjEsMC4xLDIuMywwLjEsMy40LDAuMQ0KCQkJczIuMywwLDMuNC0wLjFjNjEuNywxLjgsMTExLjMsNTIuNiwxMTEuMywxMTQuN1YzNTkuOTV6IE0zNzguNywzMjAuMTVjLTUuNS0yMS4xLTE2LTQwLTMwLjMtNTUuNmMxNC44LTEyLjgsMzQtMjAuNSw1NS0yMC43DQoJCQljMC4yLDAsMC40LDAsMC42LDBzMC40LDAsMC42LDBjNDMuNywwLjMsNzkuNywzMy43LDg0LjIsNzYuM0gzNzguN3oiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",Rle="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTM2Ny4wNDMgMTcwLjQxNGMtMTAuNTE2LS4zNjUtMjAuMDE2LTUuMDQ3LTI2Ljc0OS0xMy4xODEtNC45MTQtNS45MzctMTMuOTM4LTUuOTI1LTE4Ljg0MiAwLTE0LjU5NyAxNy42MzctNDEuNDYyIDE3LjYwNi01Ni4wMzEgMC00Ljk3My02LjAwNy0xNC4wMDUtNS44NDItMTguODQzIDAtMTQuNTkyIDE3LjYzMy00MS40NTUgMTcuNjEzLTU2LjAzMS0uMDAxLTQuOTIyLTUuOTQ1LTEzLjk0NS01LjkxNS0xOC44NDEgMC02LjczMyA4LjEzNS0xNi4yMzMgMTIuODE2LTI2Ljc0OSAxMy4xODItNC4xNC4xNDQtNy4zNzkgMy42MTYtNy4yMzQgNy43NTYuMTQ0IDQuMTQgMy41OTQgNy4zNzEgNy43NTYgNy4yMzUgMTMuNTY2LS40NzIgMjYuMzg2LTYuMzI4IDM1LjY0Ni0xNi4xODcgMjAuMjc2IDIxLjYyOSA1NC41NjkgMjEuNjU3IDc0Ljg3NS4wMDEgMjAuMjc4IDIxLjYyOSA1NC41NzEgMjEuNjU0IDc0Ljg3NC0uMDAxIDkuMjYyIDkuODU5IDIyLjA4IDE1LjcxNSAzNS42NDcgMTYuMTg3IDQuMTIxLjE0OSA3LjYxMy0zLjA5NSA3Ljc1Ni03LjIzNS4xNDUtNC4xNC0zLjA5NC03LjYxMi03LjIzNC03Ljc1NnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM0MC4yOTQgMjE4Ljc1N2MtNC45MTQtNS45MzctMTMuOTM4LTUuOTI1LTE4Ljg0MiAwLTE0LjU5NiAxNy42MzYtNDEuNDYxIDE3LjYwNy01Ni4wMzEgMC00Ljk3My02LjAwNy0xNC4wMDUtNS44NDItMTguODQzIDAtMTQuNTk2IDE3LjYzOS00MS40NjEgMTcuNjA2LTU2LjAzMS0uMDAxLTQuOTA0LTUuOTIyLTEzLjkyNy01LjkzOC0xOC44NDEuMDAxLTcuOTk0IDkuNjU4LTIwLjE4MiAxNC40ODQtMzIuNjEyIDEyLjkxNC00LjEtLjUxOS03Ljg2MSAyLjM4OS04LjM4MiA2LjQ5OS0uNTIxIDQuMTA5IDIuMzkgNy44NjIgNi40OTkgOC4zODIgMTYuNDgxIDIuMDg5IDMyLjY1OC0zLjc5NSA0My45MTYtMTUuODA4IDIwLjI3NyAyMS42MjggNTQuNTY4IDIxLjY1NCA3NC44NzMgMCAyMC4yNzYgMjEuNjI3IDU0LjU3IDIxLjY1NiA3NC44NzMgMCAxMS4yNTggMTIuMDEzIDI3LjQzNiAxNy44OTYgNDMuOTE1IDE1LjgwOCA0LjEwOS0uNTIgNy4wMi00LjI3MiA2LjQ5OS04LjM4MnMtNC4yODktNy4wMTktOC4zODItNi40OTljLTEyLjQzNSAxLjU2OS0yNC42MTgtMy4yNTUtMzIuNjExLTEyLjkxNHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM2MC43ODIgMTA3LjdjLTguMDgyLTEuNzAzLTE1LjE2Ny02LTIwLjQ4Ny0xMi40MjctNC45MTQtNS45MzctMTMuOTM4LTUuOTI1LTE4Ljg0MiAwLTE0LjU5NyAxNy42MzctNDEuNDYyIDE3LjYwNi01Ni4wMzEgMC00Ljk3My02LjAwNy0xNC4wMDUtNS44NDItMTguODQzIDAtMTQuNTkyIDE3LjYzMy00MS40NTUgMTcuNjEzLTU2LjAzMS0uMDAxLTQuOTIyLTUuOTQ1LTEzLjk0NS01LjkxNS0xOC44NDEgMC01LjMyIDYuNDI3LTEyLjQwNCAxMC43MjUtMjAuNDg2IDEyLjQyOC00LjA1NC44NTQtNi42NDcgNC44MzItNS43OTMgOC44ODVzNC44NCA2LjY0NyA4Ljg4NSA1Ljc5MmMxMC4zODMtMi4xODggMTkuNTkyLTcuMzkgMjYuODE2LTE1LjExNyAyMC4yODIgMjEuNjMxIDU0LjU3MiAyMS42NDggNzQuODcyLS4wMDEgMjAuMjc2IDIxLjYyNiA1NC41NjcgMjEuNjU2IDc0Ljg3MS4wMDIgNy4yMjYgNy43MjcgMTYuNDM2IDEyLjkzIDI2LjgxOCAxNS4xMTYgNC4wNDguODU1IDguMDMtMS43NCA4Ljg4NS01Ljc5My44NTMtNC4wNTMtMS43NDEtOC4wMzEtNS43OTMtOC44ODR6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im01NC45ODUgNDI5LjI3M2gxNjkuNzMydjY5LjU3OWMwIDcuMjUgNS44OTggMTMuMTQ4IDEzLjE0OSAxMy4xNDhoMjUuMTkyYzcuMjUgMCAxMy4xNDgtNS44OTggMTMuMTQ4LTEzLjE0OHYtMS40NjRoNzQuMTk5djEuNDY0YzAgNy4yNSA1Ljg5OCAxMy4xNDggMTMuMTQ5IDEzLjE0OGgyNS4xOTJjNy4yNSAwIDEzLjE0OC01Ljg5OCAxMy4xNDgtMTMuMTQ4di02OS41NzloNTUuMTE5YzI0LjEyMSAwIDQzLjA4MS0yMC44ODYgNDAuNjU3LTQ0Ljk1Ni0uMDA0LS4wNC0uMDA4LS4wOC0uMDEzLS4xMmwtMTMuMDM1LTExMS41NjdjLS40ODEtNC4xMTQtNC4yMTUtNy4wNjItOC4zMTktNi41NzktNC4xMTQuNDgxLTcuMDYgNC4yMDYtNi41NzkgOC4zMmwxMy4wMyAxMTEuNTAzYzEuNDYgMTQuODMzLTEwLjA5NCAyOC4zOTgtMjUuNzM4IDI4LjM5OGgtNTUuMTE5di0xOS4wNThoNDQuOTM3YzkuNDcgMCAxNi44OC04LjE5MSAxNS45MzUtMTcuNjE2LS4wMDUtLjA0My0uMDEtLjA4Ni0uMDE1LS4xMjlsLTM4Ljc1Ni0zMjkuMDc0Yy0uODYxLTguMTc5LTcuNjk1LTE0LjMzNy0xNS45MjctMTQuMzM3aC0xMzQuNTcxYy00LjE0MyAwLTcuNSAzLjM1OC03LjUgNy41czMuMzU3IDcuNSA3LjUgNy41aDEzNC41NzFjLjUyMyAwIC45NTcuMzkzIDEuMDEuOTE0LjAwNC4wNDIuMDA5LjA4My4wMTQuMTI1bDM4Ljc1IDMyOS4wMzRjLjAxOS4yNzUtLjA3NC41NDctLjI2Ljc1MS0uMTkxLjIxMi0uNDY2LjMzMy0uNzUyLjMzM2gtNDQuOTM3di0yMi44OTJjMC0zOS40NzctMzIuMjU2LTcwLjM0NC03MC4zNDUtNzAuMzQ0LTI2Ljc3OCAwLTUwLjk0NyAxNS4xODktNjIuODM5IDM4Ljc0NC0xMi4wMDgtMjMuNzcyLTM2LjcyNS0zOS4yNS02NC4yMDYtMzguNzMxLTM3LjcuNzA5LTY4Ljk4OCAzMS41OTMtNjguOTg4IDcwLjMzMnYyMi44OTJoLTcwLjM1MmMtLjI4NiAwLS41Ni0uMTIyLS43NTMtLjMzNS0uMTg1LS4yMDQtLjI3Ny0uNDc2LS4yNTktLjc1MWwzOC43NTItMzI5LjAzMmMuMDA1LS4wNDIuMDEtLjA4NC4wMTQtLjEyNy4wNTMtLjUyLjQ4Ni0uOTEyIDEuMDEtLjkxMmgxMzQuNTdjNC4xNDMgMCA3LjUtMy4zNTggNy41LTcuNXMtMy4zNTctNy41LTcuNS03LjVoLTEzNC41N2MtOC4yMzMgMC0xNS4wNjcgNi4xNi0xNS45MjcgMTQuMzM5bC0zOC43NTcgMzI5LjA3M2MtLjAwNS4wNDMtLjAxLjA4Ni0uMDE1LjEyOS0uOTQ2IDkuNDIyIDYuNDY0IDE3LjYxNiAxNS45MzUgMTcuNjE2aDE1OS41NTF2MTkuMDU4aC0xNjkuNzMyYy0xNC44NTIgMC0yNy4yNzktMTIuNzgyLTI1LjczOS0yOC4zOTlsNDAuNjA5LTM0Ny40ODNjLjAwNS0uMDQuMDA5LS4wOC4wMTMtLjExOSAxLjMzNi0xMy4yNjggMTIuMzk5LTIzLjI3MyAyNS43MzQtMjMuMjczaDMyMC43OThjMTMuMzM1IDAgMjQuMzk3IDEwLjAwNSAyNS43MzMgMjMuMjcyLjAwNC4wNC4wMDguMDguMDEzLjEybDIzLjQ4NyAyMDAuOTc5Yy40ODEgNC4xMTUgNC4yMTcgNy4wNjMgOC4zMTkgNi41NzkgNC4xMTQtLjQ4IDcuMDYtNC4yMDYgNi41NzktOC4zMmwtMjMuNDgtMjAwLjkyMmMtMi4xMzgtMjAuOTMyLTE5LjYwMy0zNi43MDgtNDAuNjUxLTM2LjcwOGgtMzIwLjc5OGMtMjEuMDQ5IDAtMzguNTE2IDE1Ljc3Ny00MC42NTIgMzYuNzFsLTQwLjYxIDM0Ny40ODhjLS4wMDUuMDQtLjAwOS4wOC0uMDEzLjEyLTIuNDE1IDIzLjk5OSAxNi40NjYgNDQuOTU1IDQwLjY1OCA0NC45NTV6bTI1Ny43MTMtNzEuMzAyYzAtMTAuMzI1IDguMTIyLTE5LjI4OSAxOC41LTE5LjQ4MyAxMC42ODItLjIwNCAxOS4yMDkgOC40OTEgMTkuMjA5IDE4LjgzNnYyMi44OTJoLTM3LjcwOXptLTM2LjQ5MSA3MS4zMDJoNzQuMTk5djE5LjA1OGgtNzQuMTk5em03OC4yMTUtMzQuMDU4YzUuNTY5IDAgMTAuMDE0IDQuODE4IDkuNDg0IDEwLjQzLS40NzMgNC44ODQtNC41OSA4LjYyNy05LjQ4NCA4LjYyN2gtNzguMjE1di0xOS4wNThjMjYuMTEyLjAwMSA1Mi4xNjcuMDAxIDc4LjIxNS4wMDF6bS03OC4yMTUgNjguMTE2aDc4LjIxNWM1LjUzNyAwIDEwLjAxNiA0Ljc5NiA5LjQ4NCAxMC40My0uNDcyIDQuODc0LTQuNTg3IDguNjI3LTkuNDg0IDguNjI3aC03OC4yMTV6bTExMC42OSAzMy42NjloLTIxLjQ5di0yLjIxM2MxOC4wMTQtOS4xMjcgMTguMDU0LTM0LjcwOCAwLTQzLjg1NXYtMjQuMjZjMTguMDk4LTkuMTcgMTcuOTY4LTM0Ljc1MiAwLTQzLjg1NXYtMjUuNDkzYzAtMjAuNDg2LTE4LjIwMi0zNi41MTctMzguNzk0LTMzLjQ5LTE2LjM1MyAyLjQtMjguOTE1IDE2LjUyNi0yOC45MTUgMzMuNDl2MjIuODkyaC0yMS40OXYtMjEuODM3YzAtMzAuNTUyIDI0LjQ2LTU2LjA5NCA1NC44MjItNTYuMzg2IDMxLjIxOC0uMjYyIDU1Ljg2NyAyNS4wNTggNTUuODY3IDU1LjMzMXptLTIzNi4zNzctMTE2Ljc4NXYtMjEuODM4YzAtMzIuMjI0IDI2LjY5Ni01Ny41ODMgNTcuNTg5LTU2LjM0MiAyOS40ODMgMS4yMDQgNTMuMDk5IDI1LjUwMyA1My4wOTkgNTUuMjg3djEzOS42NzdoLTIxLjQ5YzAtMTQuNDE4IDAtMTIxLjA2MyAwLTEzOS42NzcgMC0xNy45NS0xNC4wNjUtMzIuODA0LTMxLjkxNS0zMy43OTUtMTkuMjc2LTEuMDk2LTM1Ljc5MyAxNC4yNjEtMzUuNzkzIDMzLjc5NXYyMi44OTJoLTIxLjQ5em0zNi40OSAwdi0yMi4yNDVjMC05LjQyNSA2Ljc2Mi0xNy43MjQgMTUuODc3LTE5LjI0MyAxMS42MzktMS44NTIgMjEuODMgNy4yMzcgMjEuODMgMTguNTk2djIyLjg5MnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",Jle="PHN2ZyB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtNDcyIDE2MGgtMzJ2LTgwYzAtOC44MjItNy4xNzgtMTYtMTYtMTZoLTMydi00MGMwLTEzLjIzMy0xMC43NjctMjQtMjQtMjRoLTIyNGMtMTMuMjMzIDAtMjQgMTAuNzY3LTI0IDI0djQwaC0zMmMtOC44MjIgMC0xNiA3LjE3OC0xNiAxNnY4MGgtMzJjLTIyLjA1NiAwLTQwIDE3Ljk0NC00MCA0MHYxNzZjMCAyMi4wNTYgMTcuOTQ0IDQwIDQwIDQwaDgwdjcyYzAgMTMuMjMzIDEwLjc2NyAyNCAyNCAyNGgyMjRjMTMuMjMzIDAgMjQtMTAuNzY3IDI0LTI0di03Mmg4MGMyMi4wNTYgMCA0MC0xNy45NDQgNDAtNDB2LTE3NmMwLTIyLjA1Ni0xNy45NDQtNDAtNDAtNDB6bS00OC04MHY4MGgtMzJ2LTgwem0tMjg4LTU2YzAtNC40MTEgMy41ODktOCA4LThoMjI0YzQuNDExIDAgOCAzLjU4OSA4IDh2MTM2aC0yNDBjMC0xLjYzNSAwLTEzMC4yMTEgMC0xMzZ6bS00OCA1NmgzMnY4MGgtMzJ6bTI4OCA0MDhjMCA0LjQxMS0zLjU4OSA4LTggOGgtMjI0Yy00LjQxMSAwLTgtMy41ODktOC04di0xMzZoMjQwem0xMjAtMTEyYzAgMTMuMjMzLTEwLjc2NyAyNC0yNCAyNGgtODB2LTQ4aDE2YzQuNDE4IDAgOC0zLjU4MiA4LThzLTMuNTgyLTgtOC04Yy0yOC42NTcgMC0yOTAuODgzIDAtMzA0IDAtNC40MTggMC04IDMuNTgyLTggOHMzLjU4MiA4IDggOGgxNnY0OGgtODBjLTEzLjIzMyAwLTI0LTEwLjc2Ny0yNC0yNHYtMTc2YzAtMTMuMjMzIDEwLjc2Ny0yNCAyNC0yNGg0MzJjMTMuMjMzIDAgMjQgMTAuNzY3IDI0IDI0eiIvPg0KICAgICAgICA8cGF0aCBkPSJtNDU2IDE5MmMtMTMuMjMzIDAtMjQgMTAuNzY3LTI0IDI0czEwLjc2NyAyNCAyNCAyNCAyNC0xMC43NjcgMjQtMjQtMTAuNzY3LTI0LTI0LTI0em0wIDMyYy00LjQxMSAwLTgtMy41ODktOC04czMuNTg5LTggOC04IDggMy41ODkgOCA4LTMuNTg5IDgtOCA4eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzkyIDE5MmMtMTMuMjMzIDAtMjQgMTAuNzY3LTI0IDI0czEwLjc2NyAyNCAyNCAyNCAyNC0xMC43NjcgMjQtMjQtMTAuNzY3LTI0LTI0LTI0em0wIDMyYy00LjQxMSAwLTgtMy41ODktOC04czMuNTg5LTggOC04IDggMy41ODkgOCA4LTMuNTg5IDgtOCA4eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzQ0IDM3NmgtMTY4Yy00LjQxOCAwLTggMy41ODItOCA4czMuNTgyIDggOCA4aDE2OGM0LjQxOCAwIDgtMy41ODIgOC04cy0zLjU4Mi04LTgtOHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM0NCA0MTZoLTE2OGMtNC40MTggMC04IDMuNTgyLTggOHMzLjU4MiA4IDggOGgxNjhjNC40MTggMCA4LTMuNTgyIDgtOHMtMy41ODItOC04LTh6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zNDQgNDU2aC0xNjhjLTQuNDE4IDAtOCAzLjU4Mi04IDhzMy41ODIgOCA4IDhoMTY4YzQuNDE4IDAgOC0zLjU4MiA4LThzLTMuNTgyLTgtOC04eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",Ble="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTQ3My41NzQgMjUyLjQzMmgtNzMuMTg0di00My43NjFjMC0xMS40NzMtOS4zMzQtMjAuODA3LTIwLjgwNy0yMC44MDctOS44ODYgMC0zNC4yOTUgMC00NC4zMDIgMHYtMTcuODQxYzAtMTIuMzk5LTEwLjA4Ny0yMi40ODYtMjIuNDg2LTIyLjQ4NmgtMTcuNTk1bDE0LjcyNC00Ny41MzVjMTYuNzU5LjY5MiAzMC41MzktMTIuNzUgMzAuNTM5LTI5LjI4NCAwLTE2LjE2NC0xMy4xNTEtMjkuMzE1LTI5LjMxNS0yOS4zMTUtMjkuMjY4IDAtNDAuNDU1IDM4LjUxLTE1LjU0MSA1NC4xNTRsLTE2LjEwMSA1MS45NzloLTMwLjEzM2MtMTAuNTc2IDAtMTkuODMxIDcuNTE0LTIyLjAwNiAxNy44NjYtLjEwNi41MDctLjE2IDEuMDI0LS4xNiAxLjU0MnYyMC45MTloLTM4LjE0NnYtMTguODAxYzAtOC42NzMtNy4wNTctMTUuNzMtMTUuNzMtMTUuNzNoLTEuMzc5di0xOS41NzJjOS40NjktLjIwMyAxNy4xMTMtNy45NTMgMTcuMTEzLTE3LjQ3di0xNS42MTZjMC05LjUxNy03LjY0NC0xNy4yNjctMTcuMTEzLTE3LjQ3di00My42OTljMC0yMS42OTUtMTcuNjUtMzkuMzQ2LTM5LjM0Ni0zOS4zNDZoLTUxLjY3N2MtNC4xNCAwLTcuNDk1IDMuMzU2LTcuNDk1IDcuNDk1czMuMzU2IDcuNDk1IDcuNDk1IDcuNDk1aDUxLjY3OGMxMy40MjkgMCAyNC4zNTUgMTAuOTI2IDI0LjM1NSAyNC4zNTV2NDMuNjgyaC0zNy45NTd2LTIyLjU4NGMwLTQuMTQtMy4zNTYtNy40OTUtNy40OTUtNy40OTVoLTk2LjJ2LTM3Ljk1N2gzNS42MzhjNC4xNCAwIDcuNDk1LTMuMzU2IDcuNDk1LTcuNDk1cy0zLjM1NS03LjQ5NS03LjQ5NS03LjQ5NWgtNDMuMTMzYy00LjE0IDAtNy40OTUgMy4zNTYtNy40OTUgNy40OTV2NTIuOTQ3YzAgNC4xNCAzLjM1NiA3LjQ5NSA3LjQ5NSA3LjQ5NWg5Ni4ydjE1LjEwOWMtOS40NjguMjAzLTE3LjExMiA3Ljk1NC0xNy4xMTIgMTcuNDd2MTUuNjE2YzAgOS41MTYgNy42NDQgMTcuMjY3IDE3LjExMiAxNy40N3YxOS41NzJoLTEuMzc5Yy04LjY3MyAwLTE1LjczIDcuMDU3LTE1LjczIDE1LjczdjE4LjgwMWgtMjIuNTU1Yy0xMS40NzMgMC0yMC44MDcgOS4zMzQtMjAuODA3IDIwLjgwN3YyLjQ4OWwtMzMuNDAyIDcuNTg5Yy0zLjQxMy43NzUtNS44MzUgMy44MDktNS44MzUgNy4zMDl2MTA3LjI0M2MwIDMuNDk5IDIuNDIxIDYuNTMzIDUuODMzIDcuMzA4bDMzLjQwNCA3LjU5OHYyLjQ4N2MwIDExLjQ3MyA5LjMzNCAyMC44MDcgMjAuODA3IDIwLjgwN2g2LjQyNHYyNy43OTloLTE1LjEyN2MtNC4xNCAwLTcuNDk1IDMuMzU2LTcuNDk1IDcuNDk1IDAgNC4xNCAzLjM1NiA3LjQ5NSA3LjQ5NSA3LjQ5NWgzMzMuODQ5YzEuMzc4IDAgMi40OTggMS4xMjEgMi40OTggMi40OTh2MjUuNTJjLTE1LjgzNi0yLjgzLTMyLjQxOC4xMDMtNDYuNzA3IDguODExLTE2Ljc1NCAxMC4yMTEtMzcuNTcgMTAuMjEyLTU0LjMyNCAwLTIxLjU2Ny0xMy4xNDQtNDguMzYxLTEzLjE0NS02OS45MjggMC0xNi43NTQgMTAuMjExLTM3LjU3IDEwLjIxMi01NC4zMjQgMC0yMS41NjctMTMuMTQ0LTQ4LjM2MS0xMy4xNDUtNjkuOTI4IDAtMTYuNzU0IDEwLjIxMi0zNy41NyAxMC4yMTItNTQuMzI0IDBsLTI3LjQ2OS0xNi43NDJ2LTIwLjA4N2gxMC42NzZjNC4xNCAwIDcuNDk1LTMuMzU2IDcuNDk1LTcuNDk1cy0zLjM1Ni03LjQ5NS03LjQ5NS03LjQ5NWgtMTguMTcyYy00LjE0IDAtNy40OTUgMy4zNTYtNy40OTUgNy40OTV2OTcuNTQ5YzAgNC4xMzkgMy4zNTYgNy40OTUgNy40OTUgNy40OTVoNDk3LjAwOWM0LjE0IDAgNy40OTUtMy4zNTYgNy40OTUtNy40OTUgMC04OC41MDYgMC0xMTguMDA5IDAtMjEzLjQ4Ny4wMDEtMjEuMTg4LTE3LjIzNy0zOC40MjYtMzguNDI1LTM4LjQyNnptLTE2Mi40MjUtMTk2LjAzN2M3Ljg5OCAwIDE0LjMyNSA2LjQyNiAxNC4zMjUgMTQuMzI0cy02LjQyNiAxNC4zMjUtMTQuMzI1IDE0LjMyNWMtNy44OTggMC0xNC4zMjQtNi40MjYtMTQuMzI0LTE0LjMyNXM2LjQyNi0xNC4zMjQgMTQuMzI0LTE0LjMyNHptLTI2Ny42MDQgMjc2LjQ0LTI0LjI0Ny01LjUxNXYtOTUuMjc3bDI0LjI0Ny01LjUwOXptMTk4LjY1My0xNjQuOTc0Yy45NDctMy4xMjUgMy44NjctNS4zMzMgNy4xNzYtNS4zMzNoNjMuNDJjNC4xMzMgMCA3LjQ5NSAzLjM2MiA3LjQ5NSA3LjQ5NXYxNy44NDFoLTc4LjA5MXptLTE0MC4zMDUtNTEuNTY5di0xNS42MTZjMC0xLjM3OCAxLjEyMS0yLjQ5OCAyLjQ5OC0yLjQ5OGg2Ny4xODVjMS4zNzggMCAyLjQ5OCAxLjEyMSAyLjQ5OCAyLjQ5OHYxNS42MTZjMCAxLjM3OC0xLjEyMSAyLjQ5OC0yLjQ5OCAyLjQ5OGgtNjcuMTg1Yy0xLjM3Ny4wMDEtMi40OTgtMS4xMi0yLjQ5OC0yLjQ5OHptNTUuMDY5IDE3LjQ4OXYxOS41NTNoLTM3Ljk1N3YtMTkuNTUzem0tNTUuMDY2IDM1LjI4M2MwLS40MDcuMzMyLS43MzkuNzM5LS43MzloNzAuNjk2Yy40MDcgMCAuNzM5LjMzMi43MzkuNzM5djE4LjgwMWgtNzIuMTc1di0xOC44MDF6bS0uMDAzIDMzLjc5MWgyNDAuMTQ4djE1My42NTZoLTI0MC4xNDh6bS0zNy41NDIgMTUzLjY1NmMtMy4yMDcgMC01LjgxNi0yLjYwOS01LjgxNi01LjgxNnYtMTQyLjAyM2MwLTMuMjA3IDIuNjA5LTUuODE2IDUuODE2LTUuODE2aDIyLjU1MXYxNTMuNjU2Yy01LjIxMS0uMDAxLTE3LjQ4OC0uMDAxLTIyLjU1MS0uMDAxem0yOTkuMzcyIDQyLjc5aC0yNzcuOTU3di0yNy43OTloMjc3Ljk1NnYyNy43OTl6bTcuNDk1LTQyLjc5NGMtLjAyOSAwLS4wNTguMDA0LS4wODcuMDA0aC0xNC4wOTl2LTE1My42NTZoMjIuNTUxYzMuMjA3IDAgNS44MTYgMi42MDkgNS44MTYgNS44MTZ2MTQyLjAyNGMwIDMuMjA3LTIuNjA5IDUuODE2LTUuODE2IDUuODE2aC04LjI3OGMtLjAyOSAwLS4wNTgtLjAwNC0uMDg3LS4wMDR6bTEyNS43OTEgMTQwLjM0M2MtOS4zNzkgMC00NzEuMTA3IDAtNDgyLjAxOSAwdi00NC45MTZsMTkuNjY3IDExLjk4N2MyMS41NjcgMTMuMTQ1IDQ4LjM2MSAxMy4xNDUgNjkuOTI4IDAgMTYuNzU0LTEwLjIxMSAzNy41Ny0xMC4yMTIgNTQuMzI0IDAgMjEuNTY4IDEzLjE0NSA0OC4zNjEgMTMuMTQ1IDY5LjkyOCAwIDE2Ljc1NC0xMC4yMTEgMzcuNTctMTAuMjEyIDU0LjMyNCAwIDIxLjU2OCAxMy4xNDUgNDguMzYxIDEzLjE0NSA2OS45MjggMCAxNy4wOTctMTAuNDIxIDM3Ljk0MS05Ljk4NiA1NC4zMjQgMCAyMS41NjcgMTMuMTQ0IDQ4LjM2MiAxMy4xNDQgNjkuOTI4IDBsMTkuNjY3LTExLjk4N2MuMDAxIDEwLjU1Ni4wMDEgMjIuMzguMDAxIDQ0LjkxNnptMC02Mi40NzJjLTI5Ljc4OSAxOC4xNTYtMzAuMzUzIDE4LjgzNi0zNi41MjcgMjEuMTMydi00NC4yNTdjMC00LjEzOS0zLjM1Ni03LjQ5NS03LjQ5NS03LjQ5NXMtNy40OTUgMy4zNTYtNy40OTUgNy40OTV2NDcuNDI3Yy0xOS40NzIgMS4xNzItMjguOTg0LTcuNjg4LTM4LjUwNi0xMS44MzZ2LTMwLjA1NGMwLTkuNjQzLTcuODQ2LTE3LjQ4OS0xNy40ODktMTcuNDg5aC0xMC43ODN2LTI3Ljc5OWMxMy4zNDIgMCAyMS42NzYtMTAuMDQ5IDIxLjY3Ni0yMC44MDd2LTMxLjc1NWg0NS4xMDJ2NjIuMzMxYzAgNC4xMzkgMy4zNTYgNy40OTUgNy40OTUgNy40OTVzNy40OTUtMy4zNTYgNy40OTUtNy40OTV2LTY5LjgyNmMwLTQuMTM5LTMuMzU2LTcuNDk1LTcuNDk1LTcuNDk1aC01Mi41OTd2LTM2LjUyN2g3My4xODRjMTIuOTIzIDAgMjMuNDM2IDEwLjUxMyAyMy40MzYgMjMuNDM1djE0My41MnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTIxMS4wMjQgMjI3LjE1M2gtNzkuNzI2Yy00LjE0IDAtNy40OTUgMy4zNTYtNy40OTUgNy40OTV2OTAuMDdjMCA0LjE0IDMuMzU2IDcuNDk1IDcuNDk1IDcuNDk1aDc5LjcyNmM0LjE0IDAgNy40OTUtMy4zNTYgNy40OTUtNy40OTV2LTkwLjA3Yy4wMDEtNC4xMzktMy4zNTUtNy40OTUtNy40OTUtNy40OTV6bS03LjQ5NSA5MC4wN2gtNjQuNzM1di03NS4wNzloNjQuNzM1eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzEyLjYzNSAyNDAuOTdoLTY0LjUwNWMtNC4xMzkgMC03LjQ5NSAzLjM1Ni03LjQ5NSA3LjQ5NSAwIDQuMTQgMy4zNTYgNy40OTUgNy40OTUgNy40OTVoNjQuNTA1YzQuMTM5IDAgNy40OTUtMy4zNTYgNy40OTUtNy40OTUuMDAxLTQuMTM5LTMuMzU1LTcuNDk1LTcuNDk1LTcuNDk1eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzEyLjYzNSAyNzIuMTg4aC02NC41MDVjLTQuMTM5IDAtNy40OTUgMy4zNTYtNy40OTUgNy40OTVzMy4zNTYgNy40OTUgNy40OTUgNy40OTVoNjQuNTA1YzQuMTM5IDAgNy40OTUtMy4zNTYgNy40OTUtNy40OTVzLTMuMzU1LTcuNDk1LTcuNDk1LTcuNDk1eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzEyLjYzNSAzMDMuNDA2aC02NC41MDVjLTQuMTM5IDAtNy40OTUgMy4zNTYtNy40OTUgNy40OTVzMy4zNTYgNy40OTUgNy40OTUgNy40OTVoNjQuNTA1YzQuMTM5IDAgNy40OTUtMy4zNTYgNy40OTUtNy40OTVzLTMuMzU1LTcuNDk1LTcuNDk1LTcuNDk1eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTYxLjg5OSAyODcuMTc5aDcuNTQ4bC0yLjkwNCA3LjQzMmMtMS41MDcgMy44NTUuMzk3IDguMjAyIDQuMjUzIDkuNzA5Ljg5Ni4zNSAxLjgxOS41MTYgMi43MjYuNTE2IDIuOTk3IDAgNS44MjYtMS44MDkgNi45ODMtNC43NjlsNi45LTE3LjY1NWMuOTAyLTIuMzA3LjYwNi00LjkxLS43OTEtNi45NTVzLTMuNzEzLTMuMjY4LTYuMTktMy4yNjhoLTcuNTQ4bDIuOTA0LTcuNDMyYzEuNTA3LTMuODU1LS4zOTctOC4yMDItNC4yNTMtOS43MDktMy44NTUtMS41MDktOC4yMDMuMzk2LTkuNzA5IDQuMjUzbC02LjkgMTcuNjU1Yy0uOTAyIDIuMzA3LS42MDYgNC45MS43OTEgNi45NTUgMS4zOTYgMi4wNDQgMy43MTMgMy4yNjggNi4xOSAzLjI2OHoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",Gle="PHN2ZyB2aWV3Qm94PSIwIDAgMTI4IDEyOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtOTQuNzI3IDczLjcwOGE2Ljc1IDYuNzUgMCAxIDAgNi43NSA2Ljc1IDYuNzU2IDYuNzU2IDAgMCAwIC02Ljc1LTYuNzV6bTAgMTBhMy4yNSAzLjI1IDAgMSAxIDMuMjUtMy4yNSAzLjI1NCAzLjI1NCAwIDAgMSAtMy4yNSAzLjI1eiIvPg0KICAgICAgICA8cGF0aCBkPSJtNzMuMDgxIDczLjcwOGE2Ljc1IDYuNzUgMCAxIDAgNi43NSA2Ljc1IDYuNzU3IDYuNzU3IDAgMCAwIC02Ljc1LTYuNzV6bTAgMTBhMy4yNSAzLjI1IDAgMSAxIDMuMjUtMy4yNSAzLjI1NCAzLjI1NCAwIDAgMSAtMy4yNSAzLjI1eiIvPg0KICAgICAgICA8Y2lyY2xlIGN4PSI2NC45NjYiIGN5PSI0OC4wMjEiIHI9IjMiLz4NCiAgICAgICAgPGNpcmNsZSBjeD0iNzcuNTkxIiBjeT0iNDguMDIxIiByPSIzIi8+DQogICAgICAgIDxjaXJjbGUgY3g9IjkwLjIxNiIgY3k9IjQ4LjAyMSIgcj0iMyIvPg0KICAgICAgICA8Y2lyY2xlIGN4PSIxMDIuODQxIiBjeT0iNDguMDIxIiByPSIzIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xMjEuNSAzMy41aC0xMTVhMS43NTEgMS43NTEgMCAwIDAgLTEuNzUgMS43NXY1Ny41YTEuNzUxIDEuNzUxIDAgMCAwIDEuNzUgMS43NWgxNS45NDJ2OC4yNWExLjc1MSAxLjc1MSAwIDAgMCAxLjc1IDEuNzVoMTBhMS43NSAxLjc1IDAgMCAwIDEuNzUtMS43NXYtOC4yNWg1Ni4xMTZ2OC4yNWExLjc1IDEuNzUgMCAwIDAgMS43NSAxLjc1aDEwYTEuNzUxIDEuNzUxIDAgMCAwIDEuNzUtMS43NXYtOC4yNWgxNS45NDJhMS43NTEgMS43NTEgMCAwIDAgMS43NS0xLjc1di01Ny41YTEuNzUxIDEuNzUxIDAgMCAwIC0xLjc1LTEuNzV6bS04OS4wNTggNjcuNWgtNi41di02LjVoNi41em02OS42MTYgMGgtNi41di02LjVoNi41em0xNy42OTItMTBoLTExMS41di01NGgxMTEuNXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTMyLjY5MiA3NC4yNWExMC4yNSAxMC4yNSAwIDEgMCAtMTAuMjUtMTAuMjUgMTAuMjYxIDEwLjI2MSAwIDAgMCAxMC4yNSAxMC4yNXptLTEuNzUtMTYuNzYydjQuMDEyYTEuNzUgMS43NSAwIDAgMCAzLjUgMHYtNC4wMTJhNi43NSA2Ljc1IDAgMSAxIC0zLjUgMHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTMyLjY5MiA0OS45NThhMS43NDkgMS43NDkgMCAwIDAgMS43NS0xLjc1di0zYTEuNzUgMS43NSAwIDAgMCAtMy41IDB2M2ExLjc1IDEuNzUgMCAwIDAgMS43NSAxLjc1eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzguNzkyIDUxLjM1M2ExLjc1IDEuNzUgMCAwIDAgMi4zMzctLjgxNmwxLjMtMi43YTEuNzUgMS43NSAwIDAgMCAtMy4xNTItMS41MmwtMS4zIDIuN2ExLjc1IDEuNzUgMCAwIDAgLjgxNSAyLjMzNnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ1LjA1MiA1NS45MTlhMS43NDggMS43NDggMCAwIDAgMS4wODgtLjM4bDIuMzQ4LTEuODY4YTEuNzUgMS43NSAwIDAgMCAtMi4xNzktMi43MzlsLTIuMzQ4IDEuODY4YTEuNzUgMS43NSAwIDAgMCAxLjA5MSAzLjEyeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjQuMjU2IDUwLjUzN2ExLjc1IDEuNzUgMCAxIDAgMy4xNTItMS41MjFsLTEuMy0yLjdhMS43NSAxLjc1IDAgMCAwIC0zLjE1MiAxLjUyeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTYuOSA1My42NzEgMi4zNDkgMS44NjhhMS43NSAxLjc1IDAgMCAwIDIuMTc4LTIuNzRsLTIuMzQ4LTEuODY3YTEuNzUgMS43NSAwIDEgMCAtMi4xNzkgMi43Mzl6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im01OC44MDggNzAuMjkyaDUwLjE5MmExLjc1MSAxLjc1MSAwIDAgMCAxLjc1LTEuNzV2LTEwYTEuNzUgMS43NSAwIDAgMCAtMS43NS0xLjc1aC01MC4xOTJhMS43NDkgMS43NDkgMCAwIDAgLTEuNzUgMS43NXYxMGExLjc1IDEuNzUgMCAwIDAgMS43NSAxLjc1em0xLjc1LTEwaDQ2LjY5MnY2LjVoLTQ2LjY5MnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTE2LjEzNSA4Ny4yMDhoMzMuMTE1YTEuNzUgMS43NSAwIDAgMCAwLTMuNWgtMzMuMTE1YTEuNzUgMS43NSAwIDAgMCAwIDMuNXoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",Fle="PHN2ZyBoZWlnaHQ9IjYwMHB0IiB2aWV3Qm94PSItNDUgLTE5IDYwMCA2MDAuMDAxIiB3aWR0aD0iNjAwcHQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTQ5OC4yMTQ4NDQgMGgtNTAuOTc2NTYzYy0xOC4xOTUzMTIuMDI3MzQzOC0zMi45MzM1OTMgMTQuNzY5NTMxLTMyLjk2NDg0MyAzMi45NjQ4NDR2MjQuODcxMDk0aC0xNDQuODI0MjE5Yy02MS40Mzc1LjA5Mzc1LTExMi4yNTM5MDcgNDcuODcxMDkzLTExNi4xMzI4MTMgMTA5LjE4NzVoLTM5LjA2NjQwNmMtNS41MTU2MjUgMC05Ljk4ODI4MSA0LjQ2ODc1LTkuOTg4MjgxIDkuOTg4MjgxdjMwLjUxMTcxOWgtMTAuMjg1MTU3Yy0zLjcwNzAzMSAwLTcuMTA1NDY4IDIuMDQ2ODc0LTguODM1OTM3IDUuMzI4MTI0bC04NS43Njk1MzEgMTYyLjU1NDY4OGMtMS42MzY3MTkgMy4wOTc2NTYtMS41MzEyNSA2LjgyNDIxOS4yNzczNDQgOS44MjQyMTkgMS44MDg1OTMgMyA1LjA1MDc4MSA0LjgyODEyNSA4LjU1NDY4NyA0LjgyODEyNWgxMDguMTIxMDk0Yy4xNzU3ODEgMy45NTcwMzEuNjc1NzgxIDcuODg2NzE4IDEuNDk2MDkzIDExLjc2MTcxOCA3LjU3MDMxMyAzNS4wNTQ2ODggMzguNTU4NTk0IDYwLjA5Mzc1IDc0LjQyNTc4MiA2MC4xMjUgMzUuODcxMDk0LjAzNTE1NyA2Ni45MDIzNDQtMjQuOTQ5MjE4IDc0LjUzNTE1Ni01OS45OTYwOTMuODQzNzUtMy45MTAxNTcgMS4zNjcxODgtNy44OTA2MjUgMS41NTA3ODEtMTEuODk0NTMxaDEwOC4xMzY3MTljMy41IDAgNi43NS0xLjgzMjAzMiA4LjU1NDY4OC00LjgzMjAzMiAxLjgwODU5My0zIDEuOTE3OTY4LTYuNzI2NTYyLjI3NzM0My05LjgyMDMxMmwtODUuNzY5NTMxLTE2Mi41NDY4NzVjLTEuNzMwNDY5LTMuMjg5MDYzLTUuMTQ0NTMxLTUuMzM5ODQ0LTguODU5Mzc1LTUuMzMyMDMxaC0xMC4yNjE3MTl2LTMwLjUxMTcxOWMwLTUuNTE5NTMxLTQuNDcyNjU2LTkuOTg4MjgxLTkuOTg4MjgxLTkuOTg4MjgxaC00NC41MzUxNTZjMi4xNDA2MjUtMjIuNDcyNjU3IDIwLjk4ODI4MS0zOS42NDQ1MzIgNDMuNTYyNS0zOS42OTkyMTloMTQ0LjgwNDY4N3YyOC4xNjAxNTZjLjAzNTE1NiAxOC4xOTE0MDYgMTQuNzc3MzQ0IDMyLjkzMzU5NCAzMi45Njg3NSAzMi45NjA5MzdoNTAuOTgwNDY5YzUuNTE1NjI1IDAgOS45ODgyODEtNC40NjQ4NDMgOS45ODgyODEtOS45ODgyODF2LTE2OC40Njg3NWMwLTUuNTExNzE5LTQuNDY0ODQ0LTkuOTgwNDY4NS05Ljk3NjU2Mi05Ljk4ODI4MXptLTI1MC45MTc5NjkgMzk3LjYzMjgxMmMtNS41NjY0MDYgMjUuOTMzNTk0LTI4LjUwNzgxMyA0NC40NTMxMjYtNTUuMDMxMjUgNDQuNDIxODc2LTI2LjUzMTI1LS4wMjczNDQtNDkuNDI1NzgxLTE4LjU5NzY1Ny01NC45MzM1OTQtNDQuNTQ2ODc2LS41NTQ2ODctMi40NTMxMjQtLjkyNTc4MS00Ljk0OTIxOC0xLjEyMTA5My03LjQ1MzEyNGgxMTIuMjM0Mzc0Yy0uMTk5MjE4IDIuNTUwNzgxLS41ODU5MzcgNS4wODIwMzEtMS4xNDg0MzcgNy41NzgxMjR6bTExMi42MDU0NjktMjcuNTc0MjE4aC0xMDEuMzk0NTMyYy0uMDY2NDA2IDAtLjEzNjcxOCAwLS4yMDMxMjQgMGgtMTMxLjk2MDkzOGMtLjA3MDMxMiAwLS4xMzY3MTkgMC0uMjA3MDMxIDBoLTEwMS4zOTQ1MzFsNzUuMjUzOTA2LTE0Mi41NTQ2ODhoMTg0LjY4MzU5NHptLTk5LjQ3MjY1Ni0xNjIuNTM1MTU2aC0xMzYuMTkxNDA3di0yMC41MTk1MzJoMTM2LjE5MTQwN3ptOC45OTYwOTMtMTAwLjE4MzU5NGMtMzMuNTM1MTU2LjI3MzQzNy02MS4yNDYwOTMgMjYuMjM4MjgxLTYzLjY5NTMxMiA1OS42ODM1OTRoLTMyLjQzMzU5NGMzLjg0NzY1Ni01MC4yNzM0MzggNDUuNzMwNDY5LTg5LjEyNSA5Ni4xNTIzNDQtODkuMTg3NWgxNDQuODA0Njg3djI5LjUwMzkwNnptMjE4Ljc2OTUzMSA2MS4xNDA2MjVoLTQwLjk4NDM3NGMtNy4xNjc5NjktLjAxOTUzMS0xMi45NzI2NTctNS44MjQyMTktMTIuOTkyMTg4LTEyLjk4ODI4MXYtMTIyLjUwNzgxM2MuMDE5NTMxLTcuMTYwMTU2IDUuODI0MjE5LTEyLjk2NDg0NCAxMi45OTIxODgtMTIuOTg0Mzc1aDQwLjk4NDM3NHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im05MC41MTU2MjUgNDE1Ljk5MjE4OGMwLTUuNTE1NjI2LTQuNDcyNjU2LTkuOTg4MjgyLTkuOTg4MjgxLTkuOTg4MjgyaC02MS4zOTg0MzhjLTUuNTE1NjI1IDAtOS45ODgyODEgNC40NzI2NTYtOS45ODgyODEgOS45ODgyODIgMCA1LjUxOTUzMSA0LjQ3MjY1NiA5Ljk5MjE4NyA5Ljk4ODI4MSA5Ljk5MjE4N2g2MS4zOTg0MzhjNS41MTU2MjUgMCA5Ljk4ODI4MS00LjQ3MjY1NiA5Ljk4ODI4MS05Ljk5MjE4N3ptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xMTcuNTM5MDYyIDQ3Mi42NzE4NzUtNDAuMDcwMzEyIDM3Ljc0NjA5NGMtMi42NDA2MjUgMi40MzM1OTMtMy43NzM0MzggNi4xMDE1NjItMi45NTcwMzEgOS41OTc2NTYuODEyNSAzLjUwMzkwNiAzLjQ0MTQwNiA2LjI5Njg3NSA2Ljg4NjcxOSA3LjMxNjQwNiAzLjQ0NTMxMiAxLjAyMzQzOCA3LjE3NTc4MS4xMTcxODggOS43NjU2MjQtMi4zNzVsNDAuMDcwMzEzLTM3LjczODI4MWMyLjY0MDYyNS0yLjQzMzU5NCAzLjc2OTUzMS02LjEwMTU2MiAyLjk1NzAzMS05LjYwNTQ2OS0uODE2NDA2LTMuNDk2MDkzLTMuNDQ1MzEyLTYuMjkyOTY5LTYuODg2NzE4LTcuMzE2NDA2LTMuNDQ5MjE5LTEuMDE5NTMxLTcuMTc1NzgyLS4xMTMyODEtOS43NjU2MjYgMi4zNzV6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMzY1LjU0Njg3NSA0MDYuMDAzOTA2aC02MS4zOTA2MjVjLTUuNTE5NTMxIDAtOS45OTIxODggNC40NzI2NTYtOS45OTIxODggOS45ODgyODIgMCA1LjUxOTUzMSA0LjQ3MjY1NyA5Ljk5MjE4NyA5Ljk5MjE4OCA5Ljk5MjE4N2g2MS4zOTA2MjVjNS41MTk1MzEgMCA5Ljk4ODI4MS00LjQ3MjY1NiA5Ljk4ODI4MS05Ljk5MjE4NyAwLTUuNTE1NjI2LTQuNDY4NzUtOS45ODgyODItOS45ODgyODEtOS45ODgyODJ6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMjY3LjA0Njg3NSA0NzIuNjcxODc1Yy0yLjU4OTg0NC0yLjQ4ODI4MS02LjMxNjQwNi0zLjM5NDUzMS05Ljc2NTYyNS0yLjM3NS0zLjQ0NTMxMiAxLjAyMzQzNy02LjA3NDIxOSAzLjgyMDMxMy02Ljg4NjcxOSA3LjMxNjQwNi0uODE2NDA2IDMuNTAzOTA3LjMxNjQwNyA3LjE3MTg3NSAyLjk1MzEyNSA5LjYwNTQ2OWw0MC4wNjI1IDM3LjcyMjY1NmMyLjU4OTg0NCAyLjQ5MjE4OCA2LjMxNjQwNiAzLjQwMjM0NCA5Ljc2NTYyNSAyLjM3NSAzLjQ0MTQwNy0xLjAxOTUzMSA2LjA3MDMxMy0zLjgxMjUgNi44ODY3MTktNy4zMTY0MDYuODEyNS0zLjQ5NjA5NC0uMzE2NDA2LTcuMTY0MDYyLTIuOTU3MDMxLTkuNjAxNTYyem0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTE5Mi4yNzM0MzggNDkwLjkzMzU5NGMtNS41MTU2MjYgMC05Ljk4ODI4MiA0LjQ3MjY1Ni05Ljk4ODI4MiA5Ljk5MjE4N3Y1MC44NDc2NTdjMCAuMjQ2MDkzLS4wMjM0MzcuNTAzOTA2LS4wMjM0MzcuNzM4MjgxIDAgNS41MTU2MjUgNC40NzI2NTYgOS45ODgyODEgOS45ODgyODEgOS45ODgyODEuNDI1NzgxLS4wMDM5MDYuODU1NDY5LS4wMjczNDQgMS4yNzczNDQtLjA4NTkzOCA0Ljk5MjE4Ny0uNjI4OTA2IDguNzM4MjgxLTQuODc4OTA2IDguNzM4MjgxLTkuOTA2MjV2LTUxLjU4MjAzMWMwLTUuNTE5NTMxLTQuNDcyNjU2LTkuOTkyMTg3LTkuOTkyMTg3LTkuOTkyMTg3em0wIDAiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",Hle="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMi4wMDEgNTEyLjAwMSI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTQ3OC41MTEsODguNjIyQzQwMy42OTQsNjkuMjIzLDMyOC40MzcsMzkuMDE3LDI2MC44NzgsMS4yNjljLTMuMDMtMS42OTItNi43MjMtMS42OTMtOS43NTUsMA0KCQkJQzE4MS42MjEsNDAuMDk5LDExMC40MzIsNjguNjcyLDMzLjQ4OSw4OC42MjNjLTQuNDEsMS4xNDQtNy40OSw1LjEyNC03LjQ5LDkuNjh2MTEwLjM5NGMwLDExMy41MzUsNTUuMjkyLDE4OC42MzksMTAxLjY3OCwyMzEuNjUNCgkJCWM0OS43NTcsNDYuMTM4LDEwNy40Niw3MS42NTUsMTI4LjMyNCw3MS42NTVjMjAuODY0LDAsNzguNTY3LTI1LjUxNywxMjguMzI0LTcxLjY1NQ0KCQkJYzQ2LjM4NC00My4wMTEsMTAxLjY3OC0xMTguMTE0LDEwMS42NzgtMjMxLjY1Vjk4LjMwMkM0ODYuMDAyLDkzLjc0Niw0ODIuOTIyLDg5Ljc2Niw0NzguNTExLDg4LjYyMnogTTM3MC43MjYsNDI1LjY3OA0KCQkJYy0yNy41NTcsMjUuNTUzLTU0LjMzNiw0MS42ODUtNzEuOTUsNTAuNzE4Yy0yMi4zMTksMTEuNDQ3LTM3LjgxLDE1LjYwMy00Mi43NzYsMTUuNjAzYy00Ljk2NiwwLTIwLjQ1Ni00LjE1NS00Mi43NzYtMTUuNjAzDQoJCQljLTE3LjYxMi05LjAzMy00NC4zOTItMjUuMTY1LTcxLjk1LTUwLjcxOGMtNDMuNDY0LTQwLjMwMy05NS4yNzYtMTEwLjY2My05NS4yNzYtMjE2Ljk4M1YxMDYuMDA4DQoJCQljNzMuOTY0LTE5LjgsMTQyLjgwMS00Ny41MjMsMjEwLjAwMy04NC41NzRjNjUuNDk4LDM2LjA1OSwxMzcuODI3LDY1LjE4NSwyMTAsODQuNTcxdjEwMi42OWgwLjAwMQ0KCQkJQzQ2Ni4wMDEsMzE1LjAxNSw0MTQuMTksMzg1LjM3NSwzNzAuNzI2LDQyNS42Nzh6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik00NDMuNzkzLDExNS4zNjhjLTYzLjMzNi0xOC40MTMtMTI0LjkzNi00My40MjQtMTgzLjA4Ny03NC4zMzdjLTIuOTM4LTEuNTYzLTYuNDYxLTEuNTYtOS4zOTcsMC4wMDYNCgkJCUMxOTMuMDY5LDcyLjA3OSwxMzEuNDcsOTcuMDk0LDY4LjIyLDExNS4zODdjLTQuMjc3LDEuMjM3LTcuMjIyLDUuMTUzLTcuMjIyLDkuNjA2djgzLjcwMmMwLDM5LjA3Nyw3LjQwNSw3Ni4xNjEsMjIuMDA4LDExMC4yMjINCgkJCWMxNC41MywzMy44OTEsMzYuMjAxLDY0LjgyLDY0LjQwOSw5MS45MzNjMjAuMTc1LDE5LjM5LDQzLjQ2OSwzNi40NzcsNjcuMzY3LDQ5LjQxM2M0LjI4MiwyLjMxOCwyNi4zMDUsMTQuMDAzLDM5LjQwMiwxNi40MjENCgkJCWMwLjYsMC4xMSwxLjIwNywwLjE2NiwxLjgxNSwwLjE2NmMwLjYwOCwwLDEuMjE1LTAuMDU2LDEuODE1LTAuMTY2YzEzLjA5Ny0yLjQxOCwzNS4xMi0xNC4xMDMsMzkuNDAyLTE2LjQyMQ0KCQkJYzIzLjg5NS0xMi45MzYsNDcuMTktMzAuMDIzLDY3LjM2Ny00OS40MTNjMjguMjA4LTI3LjExMSw0OS44NzgtNTguMDQxLDY0LjQwOS05MS45MzNjMTQuNjAzLTM0LjA2LDIyLjAwOC03MS4xNDQsMjIuMDA4LTExMC4yMjINCgkJCXYtODMuNzI0QzQ1MS4wMDEsMTIwLjUyNCw0NDguMDYzLDExNi42MTEsNDQzLjc5MywxMTUuMzY4eiBNNDMxLjAwMSwyMDguNjk1YzAsNzMuMzc2LTI3LjAwOCwxMzYuNTM4LTgwLjI3NiwxODcuNzM0DQoJCQljLTE4Ljg5OCwxOC4xNjItNDAuNjkzLDM0LjE1My02My4wMjksNDYuMjQ1Yy0xMC4xNjcsNS41MDMtMjMuODkyLDExLjkxOS0zMS42OTcsMTMuOTM0Yy03LjgwNS0yLjAxNS0yMS41My04LjQzMS0zMS42OTYtMTMuOTM0DQoJCQljLTIyLjMzNy0xMi4wOTMtNDQuMTMyLTI4LjA4NC02My4wMjktNDYuMjQ1Yy01My4yNjctNTEuMTk1LTgwLjI3Ni0xMTQuMzU5LTgwLjI3Ni0xODcuNzM0VjEzMi40OA0KCQkJYzYwLjM1NC0xNy45NjksMTE5LjE3Mi00MS45MzEsMTc1LjAxOS03MS4zMDZjNTUuNzU3LDI5LjI1MSwxMTQuNTY5LDUzLjIwNCwxNzQuOTgzLDcxLjI3NFYyMDguNjk1eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTczLjAyNywzNTguMzA1bC0wLjItMC4yMTVjLTMuNzAxLTQuMDU1LTkuOTg3LTQuMzY3LTE0LjA3My0wLjY4OWMtNC4xMDUsMy42OTQtNC40MzgsMTAuMDE3LTAuNzQ0LDE0LjEyMmwwLjIsMC4yMTUNCgkJCWMxLjk3MSwyLjE1OCw0LjY3MywzLjI1Niw3LjM4NywzLjI1NmMyLjM4MywwLDQuNzc1LTAuODQ4LDYuNjg2LTIuNTY3QzE3Ni4zODgsMzY4LjczMywxNzYuNzIxLDM2Mi40MDksMTczLjAyNywzNTguMzA1eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjI2Ljk2Myw0MDMuNjk1Yy0xMi4wNDYtNy42MDItMjMuNjQ1LTE2LjM2NC0zNC40NzMtMjYuMDQ0Yy00LjExNy0zLjY4Mi0xMC40MzktMy4zMjctMTQuMTIsMC43OQ0KCQkJYy0zLjY4LDQuMTE4LTMuMzI2LDEwLjQzOSwwLjc5MiwxNC4xMmMxMS42NTMsMTAuNDE4LDI0LjE0NSwxOS44NTQsMzcuMTI5LDI4LjA0OGMxLjY1NywxLjA0NSwzLjUwMiwxLjU0NCw1LjMyNywxLjU0NA0KCQkJYzMuMzE4LDAsNi41NjQtMS42NSw4LjQ2Ni00LjY2NEMyMzMuMDMyLDQxMi44MTgsMjMxLjYzNSw0MDYuNjQyLDIyNi45NjMsNDAzLjY5NXoiLz4NCiAgICAgICAgPHBhdGggZD0iTTMwOC44OTgsMjA5LjA3N3YtMzIuOTIxYzAtMjkuMTY4LTIzLjczLTUyLjg5OC01Mi45LTUyLjg5OGMtMjkuMTY4LDAtNTIuODk4LDIzLjczLTUyLjg5OCw1Mi44OTh2MzIuOTIxDQoJCQljLTExLjg5OCwwLjQyOS0yMS40NDcsMTAuMjM1LTIxLjQ0NywyMi4yMzZ2NzYuNzY5Yy0wLjAwMSwxMi4yNzMsOS45ODQsMjIuMjU3LDIyLjI1NywyMi4yNTdIMzA4LjA5DQoJCQljMTIuMjczLDAsMjIuMjU4LTkuOTg0LDIyLjI1OC0yMi4yNTd2LTc2Ljc2OUMzMzAuMzQ4LDIxOS4zMTEsMzIwLjc5OCwyMDkuNTA0LDMwOC44OTgsMjA5LjA3N3ogTTIyMy4wOTksMTc2LjE1Ng0KCQkJYzAtMTguMTQsMTQuNzU5LTMyLjg5OCwzMi45LTMyLjg5OGMxOC4xNCwwLDMyLjg5OCwxNC43NTgsMzIuODk4LDMyLjg5OHYzMi45aC02NS43OTlWMTc2LjE1NnogTTMxMC4zNDcsMzA4LjA4Mw0KCQkJYzAsMS4yMjQtMS4wMzQsMi4yNTctMi4yNTgsMi4yNTdIMjAzLjkwOGMtMS4yMjQsMC0yLjI1OC0xLjAzMy0yLjI1OC0yLjI1N3YtNzYuNzY5aDAuMDAxYzAtMS4yMjQsMS4wMzQtMi4yNTcsMi4yNTgtMi4yNTdoOS4xODkNCgkJCWg4NS43OTloOS4xOTJjMS4yMjQsMCwyLjI1OCwxLjAzMywyLjI1OCwyLjI1N1YzMDguMDgzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjU2LDI0OS42NGMtNy43MDEsMC0xMy45ODIsNi4yODEtMTMuOTgyLDEzLjk4MmMwLDMuNzg2LDEuNTIzLDcuMjI1LDMuOTgyLDkuNzQ2djkuNzg3YzAsNS41MjIsNC40NzcsMTAsMTAsMTANCgkJCWM1LjUyMywwLDEwLTQuNDc4LDEwLTEwdi05Ljc4N2MyLjQ1OS0yLjUyMiwzLjk4Mi01Ljk2LDMuOTgyLTkuNzQ2QzI2OS45ODIsMjU1LjkyMSwyNjMuNzAxLDI0OS42NCwyNTYsMjQ5LjY0eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",Vle="PHN2ZyBoZWlnaHQ9IjUxMnB0IiB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgd2lkdGg9IjUxMnB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im00OTYuODgyODEyIDBoLTQ4MS43NjU2MjRjLTguMzQ3NjU3IDAtMTUuMTE3MTg4IDYuNzY5NTMxLTE1LjExNzE4OCAxNS4xMTcxODh2NDgxLjc2NTYyNGMwIDguMzQ3NjU3IDYuNzY5NTMxIDE1LjExNzE4OCAxNS4xMTcxODggMTUuMTE3MTg4aDQ4MS43NjU2MjRjOC4zNDc2NTcgMCAxNS4xMTcxODgtNi43Njk1MzEgMTUuMTE3MTg4LTE1LjExNzE4OHYtNDgxLjc2NTYyNGMwLTguMzQ3NjU3LTYuNzY5NTMxLTE1LjExNzE4OC0xNS4xMTcxODgtMTUuMTE3MTg4em0tNDA2LjE3NTc4MSA0MjEuMjkyOTY5di04OC42OTUzMTNoMTE5LjA3NDIxOXY4OC42OTUzMTN6bS02MC40NzI2NTYtMzkxLjA1ODU5NGg2OC40NTMxMjV2MzAuMjM4MjgxaC02OC40NTMxMjV6bTAgNjAuNDcyNjU2aDY4LjQ1MzEyNXYzMC4yMzgyODFoLTY4LjQ1MzEyNXptMzUyLjgzOTg0NC01OC40NTMxMjV2MjguMjE4NzVoLTI1NC4xNDg0Mzh2LTI4LjIxODc1em0tMjU0LjE0ODQzOCAyMzkuODcxMDk0aDI1NC4xNTIzNDR2MzAuMjM4MjgxaC0yNTQuMTUyMzQ0em0wLTMwLjIzNDM3NXYtMzAuMjM4MjgxaDI1NC4xNTIzNDR2MzAuMjM4Mjgxem0wLTYwLjQ3MjY1NnYtMzAuMjM4MjgxaDI1NC4xNTIzNDR2MzAuMjM4Mjgxem0wLTYwLjQ3MjY1N3YtMzAuMjM4MjgxaDI1NC4xNTIzNDR2MzAuMjM4Mjgxem0tOTguNjkxNDA2IDMwLjIzNDM3Nmg2OC40NTMxMjV2MzAuMjM4MjgxaC02OC40NTMxMjV6bTAgNjAuNDcyNjU2aDY4LjQ1MzEyNXYzMC4yMzgyODFoLTY4LjQ1MzEyNXptMCA2MC40NzI2NTZoNjguNDUzMTI1djMwLjIzODI4MWgtNjguNDUzMTI1em0zODMuMDc4MTI1IDBoNjguNDUzMTI1djMwLjIzODI4MWgtNjguNDUzMTI1em02OC40NTMxMjUtMzAuMjM0Mzc1aC02OC40NTMxMjV2LTMwLjIzODI4MWg2OC40NTMxMjV6bTAtNjAuNDcyNjU2aC02OC40NTMxMjV2LTMwLjIzODI4MWg2OC40NTMxMjV6bTAtNjAuNDcyNjU3aC02OC40NTMxMjV2LTMwLjIzODI4MWg2OC40NTMxMjV6bTAtNjAuNDcyNjU2aC02OC40NTMxMjV2LTMwLjIzODI4MWg2OC40NTMxMjV6bS0yNDEuNzUgMjcyLjEyNWgzMC4yMzgyODF2ODguNjk1MzEzaC0zMC4yMzgyODF6bTYwLjQ3NjU2MyAwaDEyMC44MDA3ODF2ODguNjk1MzEzaC0xMjAuODAwNzgxem0tMjcwLjI1NzgxMyAxNDkuMTY3OTY5di0xNDkuMTY3OTY5aDMwLjIzODI4MXYxMDMuODEyNWMwIDguMzQ3NjU2IDYuNzY5NTMyIDE1LjExNzE4OCAxNS4xMTcxODggMTUuMTE3MTg4aDM2MC44MjAzMTJjOC4zNDc2NTYgMCAxNS4xMTcxODgtNi43Njk1MzIgMTUuMTE3MTg4LTE1LjExNzE4OHYtMTAzLjgxMjVoMzAuMjM4MjgxdjE0OS4xNjc5Njl6bTAgMCIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",Zle="PHN2ZyBoZWlnaHQ9IjUxMnB0IiB2aWV3Qm94PSIwIC0yIDUxMiA1MTIiIHdpZHRoPSI1MTJwdCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtMzQ4LjI0NjA5NCAzNzYuNzg1MTU2Yy0zLjI1LTIuNjA1NDY4LTcuOTkyMTg4LTIuMDgyMDMxLTEwLjU5NzY1NiAxLjE2NDA2M2wtMjguOTQ5MjE5IDM2LjA5Mzc1Yy0zLjk4NDM3NSA0Ljk2ODc1LS4zNjcxODggMTIuMjU3ODEyIDUuODc1IDEyLjI1NzgxMiAyLjIxMDkzNyAwIDQuMzk4NDM3LS45Njg3NSA1Ljg4NjcxOS0yLjgyNDIxOWwyOC45NDkyMTgtMzYuMDkzNzVjMi42MDU0NjktMy4yNSAyLjA4NTkzOC03Ljk5MjE4Ny0xLjE2NDA2Mi0xMC41OTc2NTZ6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMzkwLjM1OTM3NSAzNTguNzM4MjgxYy0zLjI1LTIuNjA1NDY5LTcuOTkyMTg3LTIuMDgyMDMxLTEwLjU5NzY1NiAxLjE2NDA2M2wtMjguOTQ5MjE5IDM2LjA5Mzc1Yy0zLjk4NDM3NSA0Ljk2ODc1LS4zNjcxODggMTIuMjU3ODEyIDUuODc1IDEyLjI1NzgxMiAyLjIxMDkzOCAwIDQuMzk4NDM4LS45Njg3NSA1Ljg4NjcxOS0yLjgyNDIxOGwyOC45NDkyMTktMzYuMDkzNzVjMi42MDU0NjgtMy4yNDYwOTQgMi4wODU5MzctNy45OTIxODgtMS4xNjQwNjMtMTAuNTk3NjU3em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTExMS43NSA0MjIuMDUwNzgxYzIuMTA5Mzc1IDAgNC4yMDcwMzEtLjg3ODkwNiA1LjY5OTIxOS0yLjU5NzY1NmwzOS42MTMyODEtNDUuNjQ0NTMxYzIuNzMwNDY5LTMuMTQ0NTMyIDIuMzk0NTMxLTcuOTA2MjUtLjc1LTEwLjYzMjgxMy0zLjE0NDUzMS0yLjczMDQ2OS03LjkxMDE1Ni0yLjM5NDUzMS0xMC42MzY3MTkuNzVsLTM5LjYxNzE4NyA0NS42NDQ1MzFjLTQuMjUzOTA2IDQuOTAyMzQ0LS42OTUzMTMgMTIuNDgwNDY5IDUuNjkxNDA2IDEyLjQ4MDQ2OXptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xOTYuNjIxMDk0IDM3Ni43ODUxNTZjLTMuMjUtMi42MDU0NjgtNy45OTYwOTQtMi4wODIwMzEtMTAuNjAxNTYzIDEuMTY0MDYzbC0xNC40NzI2NTYgMTguMDQ2ODc1Yy0yLjYwNTQ2OSAzLjI1LTIuMDgyMDMxIDcuOTk2MDk0IDEuMTY0MDYzIDEwLjU5NzY1NiAzLjI2OTUzMSAyLjYyNSA4LjAxMTcxOCAyLjA2MjUgMTAuNTk3NjU2LTEuMTY0MDYybDE0LjQ3NjU2Mi0xOC4wNDY4NzZjMi42MDU0NjktMy4yNSAyLjA4MjAzMi03Ljk5MjE4Ny0xLjE2NDA2Mi0xMC41OTc2NTZ6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDM3Ljk5MjE4OCAzOTQuODMyMDMxYy0zLjI1LTIuNjA1NDY5LTcuOTkyMTg4LTIuMDgyMDMxLTEwLjU5NzY1NyAxLjE2NDA2M2wtMTQuNDc2NTYyIDE4LjA0Njg3NWMtMi42MDU0NjkgMy4yNS0yLjA4MjAzMSA3Ljk5MjE4NyAxLjE2NDA2MiAxMC41OTc2NTYgMy4yNjk1MzEgMi42MjEwOTQgOC4wMTE3MTkgMi4wNjI1IDEwLjYwMTU2My0xLjE2NDA2M2wxNC40NzI2NTYtMTguMDQ2ODc0YzIuNjA1NDY5LTMuMjQ2MDk0IDIuMDgyMDMxLTcuOTkyMTg4LTEuMTY0MDYyLTEwLjU5NzY1N3ptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xMTYuNDcyNjU2IDM2Mi45ODQzNzVjLTMuMjUtMi42MDU0NjktNy45OTIxODctMi4wODIwMzEtMTAuNTk3NjU2IDEuMTY0MDYzbC0xNC40NzY1NjIgMTguMDUwNzgxYy0yLjYwNTQ2OSAzLjI0NjA5My0yLjA4MjAzMiA3Ljk5MjE4NyAxLjE2NDA2MiAxMC41OTc2NTYgMy4yNjk1MzEgMi42MjEwOTQgOC4wMTE3MTkgMi4wNjI1IDEwLjU5NzY1Ni0xLjE2NDA2M2wxNC40NzI2NTYtMTguMDQ2ODc0YzIuNjA5Mzc2LTMuMjUgMi4wODU5MzgtNy45OTYwOTQtMS4xNjAxNTYtMTAuNjAxNTYzem0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTUwNC40NjA5MzggMGMtMTcuMjUzOTA3IDAtNDY2LjU5Mzc1IDAtNDk2LjkyMTg3NiAwLTQuMTYwMTU2IDAtNy41MzkwNjIgMy4zNjcxODgtNy41MzkwNjIgNy41MzkwNjJ2NDkzLjg2NzE4OGMwIDQuMTcxODc1IDMuMzc4OTA2IDcuNTM5MDYyIDcuNTM5MDYyIDcuNTM5MDYyaDQyMi4yMTA5MzhjNC4xNjAxNTYgMCA3LjUzOTA2Mi0zLjM2NzE4NyA3LjUzOTA2Mi03LjUzOTA2MiAwLTQuMTY0MDYyLTMuMzc4OTA2LTcuNTQyOTY5LTcuNTM5MDYyLTcuNTQyOTY5aC00MTQuNjcxODc1di0xNDMuODgyODEyaDE0LjM2NzE4N3Y5MC45NTcwMzFjMCA0LjE2NDA2MiAzLjM3NSA3LjUzOTA2MiA3LjUzOTA2MyA3LjUzOTA2MmgxMjYuNDAyMzQ0YzQuMTYwMTU2IDAgNy41MzkwNjItMy4zNzUgNy41MzkwNjItNy41MzkwNjIgMC00LjE2MDE1Ni0zLjM3ODkwNi03LjUzOTA2Mi03LjUzOTA2Mi03LjUzOTA2MmgtMTE4Ljg2MzI4MXYtODMuNDE3OTY5aDE0LjUzOTA2MnYyNi4xMjEwOTNjMCA0LjE2NDA2MyAzLjM3NSA3LjUzOTA2MyA3LjUzOTA2MiA3LjUzOTA2MyA0LjE2NDA2MyAwIDcuNTM5MDYzLTMuMzc1IDcuNTM5MDYzLTcuNTM5MDYzdi0yNi4xMjEwOTNoMTUzLjcxMDkzN3Y4My40MTc5NjloLTM0LjMwODU5M2MtNC4xNjAxNTcgMC03LjUzOTA2MyAzLjM3ODkwNi03LjUzOTA2MyA3LjUzOTA2MiAwIDQuMTY0MDYyIDMuMzc4OTA2IDcuNTM5MDYyIDcuNTM5MDYzIDcuNTM5MDYyaDI4MS40NzI2NTZjNC4xNjQwNjMgMCA3LjUzOTA2My0zLjM3NSA3LjUzOTA2My03LjUzOTA2MnYtOTAuOTU3MDMxaDE0LjM2NzE4N3YxNDMuODgyODEyaC0zNy4wMTU2MjVjLTQuMTYwMTU2IDAtNy41MzkwNjIgMy4zNzg5MDctNy41MzkwNjIgNy41NDI5NjkgMCA0LjE3MTg3NSAzLjM3ODkwNiA3LjUzOTA2MiA3LjUzOTA2MiA3LjUzOTA2Mmg0NC41NTQ2ODhjNC4xNjAxNTYgMCA3LjUzOTA2Mi0zLjM2NzE4NyA3LjUzOTA2Mi03LjUzOTA2MiAwLTUzLjg2MzI4MSAwLTQzNy40OTYwOTQgMC00OTMuODY3MTg4IDAtNC4xNzE4NzQtMy4zNzg5MDYtNy41MzkwNjItNy41MzkwNjItNy41MzkwNjJ6bS00NDUuMzk4NDM4IDMzNC45MDIzNDRjLTEzLjcxNDg0NCAwLTMwLjA1ODU5NCAwLTQzLjk4NDM3NSAwIDAtOS41NTA3ODIgMC0xNi4yNTc4MTMgMC0yNi43ODEyNWg0My45ODQzNzV6bTAtNDEuODU5Mzc1aC00My45ODQzNzV2LTI2Ljc4OTA2M2g0My45ODQzNzV6bTAtNDEuODY3MTg4aC00My45ODQzNzV2LTI2Ljc4MTI1aDQzLjk4NDM3NXptMC00MS44NTkzNzVoLTQzLjk4NDM3NXYtMjYuNzg5MDYyaDQzLjk4NDM3NXptMC00MS44NzEwOTRoLTQzLjk4NDM3NXYtMjYuNzc3MzQzaDQzLjk4NDM3NXptMC00MS44NTkzNzRjLTkuNzAzMTI1IDAtMzMuOTE3OTY5IDAtNDMuOTg0Mzc1IDB2LTI2Ljc4OTA2M2g0My45ODQzNzV6bTAtNDEuODY3MTg4aC00My45ODQzNzV2LTI2Ljc4MTI1aDQzLjk4NDM3NXptMC00MS44NTkzNzVoLTQzLjk4NDM3NXYtMjYuNzgxMjVoNDMuOTg0Mzc1em0xNS4wNzgxMjUtMjYuNzgxMjVoMzYzLjcxODc1djI2Ljc4MTI1aC0zNjMuNzE4NzV6bTAgODMuNzE4NzVoMjg5LjMwMDc4MWM0LjE2NDA2MyAwIDcuNTM5MDYzLTMuMzY3MTg3IDcuNTM5MDYzLTcuNTM5MDYzIDAtNC4xNjAxNTYtMy4zNzUtNy41MzkwNjItNy41MzkwNjMtNy41MzkwNjItMS4yMzQzNzUgMC0yODIuOTQxNDA2IDAtMjg5LjMwMDc4MSAwdi0yNi43ODEyNWgzNjMuNzE4NzV2MjYuNzgxMjVoLTQ0LjI1NzgxM2MtNC4xNjQwNjIgMC03LjUzOTA2MiAzLjM3ODkwNi03LjUzOTA2MiA3LjUzOTA2MiAwIDQuMTcxODc2IDMuMzc1IDcuNTM5MDYzIDcuNTM5MDYyIDcuNTM5MDYzaDQ0LjI1NzgxM3YyNi43ODkwNjNjLTExLjYyNSAwLTM1NC40OTIxODcgMC0zNjMuNzE4NzUgMHptMCA0MS44NzEwOTRoMzYzLjcxODc1djI2Ljc3NzM0M2gtMzYzLjcxODc1em0wIDQxLjg1OTM3NWgzNjMuNzE4NzV2MjYuNzg5MDYyaC0zNjMuNzE4NzV6bTAgNDEuODY3MTg3aDM2My43MTg3NXYyNi43ODEyNWgtMzYzLjcxODc1em0wIDQxLjg1OTM3NWgzNjMuNzE4NzV2MjYuNzg5MDYzaC0zNjMuNzE4NzV6bTAgNjguNjQ4NDM4di0yNi43ODEyNWgzNjMuNzE4NzV2MjYuNzgxMjVjLTM1LjYxNzE4NyAwLTMyNi45NTMxMjUgMC0zNjMuNzE4NzUgMHptMzkzLjMzNTkzNyA5OC40OTYwOTRoLTE4My4zMjgxMjR2LTQwLjY2Nzk2OWMwLTQuMTY0MDYzLTMuMzc1LTcuNTM5MDYzLTcuNTM5MDYzLTcuNTM5MDYzcy03LjUzOTA2MyAzLjM3NS03LjUzOTA2MyA3LjUzOTA2M3Y0MC42Njc5NjloLTI2LjE0MDYyNHYtODMuNDE0MDYzaDI2LjE0MDYyNHYxMi41ODU5MzdjMCA0LjE2Nzk2OSAzLjM3NSA3LjUzOTA2MyA3LjUzOTA2MyA3LjUzOTA2M3M3LjUzOTA2My0zLjM3MTA5NCA3LjUzOTA2My03LjUzOTA2M3YtMTIuNTg5ODQzaDE1My43MTA5Mzd2MjYuMTIxMDkzYzAgNC4xNjQwNjMgMy4zNzUgNy41MzkwNjMgNy41MzkwNjMgNy41MzkwNjMgNC4xNjQwNjIgMCA3LjUzOTA2Mi0zLjM3NSA3LjUzOTA2Mi03LjUzOTA2M3YtMjYuMTIxMDkzaDE0LjUzOTA2MnptMjkuNDQ1MzEzLTk4LjQ5NjA5NGMtMTMuNzg5MDYzIDAtMjkuODY3MTg3IDAtNDMuOTg0Mzc1IDB2LTI2Ljc4MTI1aDQzLjk4NDM3NXptMC00MS44NTkzNzVoLTQzLjk4NDM3NXYtMjYuNzg5MDYzaDQzLjk4NDM3NXptMC00MS44NjcxODhoLTQzLjk4NDM3NXYtMjYuNzgxMjVoNDMuOTg0Mzc1em0wLTQxLjg1OTM3NWgtNDMuOTg0Mzc1di0yNi43ODkwNjJoNDMuOTg0Mzc1em0wLTQxLjg3MTA5NGgtNDMuOTg0Mzc1di0yNi43NzczNDNoNDMuOTg0Mzc1em0wLTQxLjg1OTM3NGgtNDMuOTg0Mzc1di0yNi43ODkwNjNoNDMuOTg0Mzc1em0wLTQxLjg2NzE4OGgtNDMuOTg0Mzc1di0yNi43ODEyNWg0My45ODQzNzV6bTAtNDEuODU5Mzc1aC00My45ODQzNzV2LTI2Ljc4MTI1aDQzLjk4NDM3NXptMCAwIi8+DQogICAgPC9nPg0KPC9zdmc+",Xle="PHN2ZyB2aWV3Qm94PSIwIDAgNjQgNjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTU2LjgzOCAxaC00OS42NzZjLTMuMzk4IDAtNi4xNjIgMi43NjQtNi4xNjIgNi4xNjIgMCAuNjY1LjEwNiAxLjMyLjMxNiAxLjk0OWwuNTU4IDEuNjc2Yy44NDEgMi41MiAzLjE5IDQuMjEzIDUuODQ3IDQuMjEzaDQuMzg0bDEuNTA2IDEzLjU1MmMuMjgyIDIuNTM2IDIuNDE4IDQuNDQ4IDQuOTY5IDQuNDQ4aDI2Ljg0YzIuNTUxIDAgNC42ODgtMS45MTIgNC45NjktNC40NDhsMS41MDYtMTMuNTUyaDQuMzg0YzIuNjU3IDAgNS4wMDYtMS42OTMgNS44NDYtNC4yMTRsLjU1OC0xLjY3NGMuMjExLS42My4zMTctMS4yODUuMzE3LTEuOTUgMC0zLjM5OC0yLjc2NC02LjE2Mi02LjE2Mi02LjE2MnptLTMyLjgzOCAzMGgtNHYtOGMwLTEuMTAzLjg5Ny0yIDItMnMyIC44OTcgMiAyem0xMCAwaC00di04YzAtMS4xMDMuODk3LTIgMi0yczIgLjg5NyAyIDJ6bTEwIDBoLTR2LThjMC0xLjEwMy44OTctMiAyLTJzMiAuODk3IDIgMnptNC40MDItMi42NjhjLS4xNDcgMS4zMjQtMS4xMzggMi4zNjMtMi40MDIgMi42MTF2LTcuOTQzYzAtMi4yMDYtMS43OTQtNC00LTRzLTQgMS43OTQtNCA0djhoLTJ2LThjMC0yLjIwNi0xLjc5NC00LTQtNHMtNCAxLjc5NC00IDR2OGgtMnYtOGMwLTIuMjA2LTEuNzk0LTQtNC00cy00IDEuNzk0LTQgNHY3Ljk0MmMtMS4yNjQtLjI0OC0yLjI1NC0xLjI4Ny0yLjQwMi0yLjYxMWwtMS40ODEtMTMuMzMxaDM1Ljc2NnptMTIuMzg0LTE5Ljg1My0uNTU4IDEuNjc1Yy0uNTY3IDEuNzAyLTIuMTU0IDIuODQ2LTMuOTQ5IDIuODQ2aC00OC41NThjLTEuNzk0IDAtMy4zODEtMS4xNDQtMy45NDktMi44NDZsLS41NTgtMS42NzZjLS4xNDItLjQyNC0uMjE0LS44NjctLjIxNC0xLjMxNiAwLTIuMjk1IDEuODY3LTQuMTYyIDQuMTYyLTQuMTYyaDQ5LjY3NmMyLjI5NSAwIDQuMTYyIDEuODY3IDQuMTYyIDQuMTYyIDAgLjQ0OS0uMDcyLjg5Mi0uMjE0IDEuMzE3eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTUgNWgtNmMtMS4xMDMgMC0yIC44OTctMiAydjJjMCAxLjEwMy44OTcgMiAyIDJoNmMxLjEwMyAwIDItLjg5NyAyLTJ2LTJjMC0xLjEwMy0uODk3LTItMi0yem0tNiA0di0yaDZsLjAwMSAyeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNTEgNWgydjJoLTJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00NyA1aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTU1IDVoMnYyaC0yeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNDcgOWgydjJoLTJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im01MSA5aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTU1IDloMnYyaC0yeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNDQgNDB2LTFoLTFjLS4xMTkgMC0xLjc5OS4wNDItMy4xNzkgMi4wMzUtLjA0Ni0uMDYzLS4wOTItLjEzMS0uMTM4LS4xOTMtLjkwMy0xLjIzLTEuNjgzLTIuMjkzLTEuNjgzLTQuODQydi0xaC0xYy0uMTM5IDAtMi44OTMuMDU3LTQuNjI0IDMuMjc4LTIuMDUzLTMuMjIzLTUuMzI4LTMuMjc4LTUuMzc2LTMuMjc4aC0xdjFjMCAyLjU1OS0uNzg0IDMuNjMzLTEuNjkyIDQuODc3LS4wNC4wNTUtLjA4LjExNC0uMTIuMTY5LTEuMzgzLTIuMDA0LTMuMDY5LTIuMDQ2LTMuMTg4LTIuMDQ2aC0xdjFjMCAyLjU0My0uOTk1IDMuODMzLTIuMTQ3IDUuMzI3LTEuMzM3IDEuNzMzLTIuODUzIDMuNjk3LTIuODUzIDcuNjczIDAgNi4wNzUgMy45MjUgMTAgMTAgMTBoMTRjNi4wNzUgMCAxMC0zLjkyNSAxMC0xMCAwLTMuOTc2LTEuNTE2LTUuOTQtMi44NTMtNy42NzMtMS4xNTItMS40OTQtMi4xNDctMi43ODQtMi4xNDctNS4zMjd6bS0xOSAxN2MwLTIuMzk2IDEuMzU4LTMuNzE5IDIuNjcyLTUgLjg1MS0uODMgMS43MjQtMS42OCAyLjExNS0yLjc3My41Ni4zMSAxLjIxMyAxLjA0MyAxLjIxMyAyLjc3M3YzaDJ2LTFjMC0xLjk4NiAxLjIzOS0yLjY2IDIuMTQ3LTIuODg3LjM1NSAxLjMwNCAxLjI5NSAyLjI0NCAyLjE0NiAzLjA5NC45MTYuOTE2IDEuNzA3IDEuNzA3IDEuNzA3IDIuNzkzIDAgMS4zODMtMS40NjMgNC03IDRzLTctMi42MTctNy00em0xNCA0aC0uMTAyYzEuNTYyLTEuMjggMi4xMDItMi44OTkgMi4xMDItNCAwLTEuOTE0LTEuMjE4LTMuMTMyLTIuMjkzLTQuMjA3LS45MTYtLjkxNi0xLjcwNy0xLjcwNy0xLjcwNy0yLjc5M3YtMWgtMWMtLjg5MiAwLTIuMTkzLjI3OC0zLjI0NSAxLjA4OS0uNjgyLTIuMzk1LTIuNjI4LTMuMDg5LTMuNzU1LTMuMDg5aC0xdjFjMCAuODQ1LS42NTUgMS41MjYtMS43MjQgMi41NjgtMS40NiAxLjQyMy0zLjI3NiAzLjE5My0zLjI3NiA2LjQzMiAwIDEuMTAxLjU0IDIuNzIgMi4xMDIgNGgtLjEwMmMtMy44NjggMC04LTIuMTAyLTgtOCAwLTMuMjk0IDEuMTgzLTQuODI4IDIuNDM2LTYuNDUyIDEuMDU1LTEuMzY3IDIuMTM5LTIuNzcyIDIuNDY1LTUuMDg0Ljg5MS43MzkgMi4wOTkgMi42NDIgMi4wOTkgNy41MzZoMmMwLTIuNTYtLjMyMy00LjQ2MS0uODAzLTUuODc4LjIyOC0uMzY2LjQ2OS0uNzEzLjcyNi0xLjA2Ni44NDYtMS4xNTkgMS43OTEtMi40NTMgMi4wMjMtNC44NzkgMS40NTYuNDUzIDQuMDU0IDIuMDY5IDQuMDU0IDcuODIzaDJjMC0xLjYzLS4xOTEtMi45OS0uNTA2LTQuMTMyLjYzNy0yLjI3MyAxLjc2MS0zLjIxOCAyLjU2Ny0zLjYwMS4yMzggMi4zNDYgMS4xMzcgMy41NyAyLjAxIDQuNzU5LjI2Mi4zNTcuNTA3LjcwOC43MzggMS4wOC0uNDgzIDEuNDE4LS44MDkgMy4zMjQtLjgwOSA1Ljg5NGgyYzAtNC45MDYgMS4yMTQtNi44MDcgMi4wOTgtNy41NDIuMzI1IDIuMzE1IDEuNDExIDMuNzIyIDIuNDY2IDUuMDkgMS4yNTMgMS42MjQgMi40MzYgMy4xNTggMi40MzYgNi40NTIgMCA1Ljg5OC00LjEzMiA4LTggOHoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",Kle="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJNNDY3LDBINDVDMjAuMTg3LDAsMCwyMC4xODcsMCw0NXY0MjJjMCwyNC44MTMsMjAuMTg3LDQ1LDQ1LDQ1aDQyMmMyNC44MTMsMCw0NS0yMC4xODcsNDUtNDVWNDUNCgkJCUM1MTIsMjAuMTg3LDQ5MS44MTMsMCw0NjcsMHogTTQ4Miw0NjdjMCw4LjI3MS02LjcyOSwxNS0xNSwxNUg0NWMtOC4yNzEsMC0xNS02LjcyOS0xNS0xNVY0NWMwLTguMjcxLDYuNzI5LTE1LDE1LTE1aDQyMg0KCQkJYzguMjcxLDAsMTUsNi43MjksMTUsMTVWNDY3eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjU2LDgxYy05Ni40OTUsMC0xNzUsNzguNTA1LTE3NSwxNzVzNzguNTA1LDE3NSwxNzUsMTc1czE3NS03OC41MDUsMTc1LTE3NVMzNTIuNDk1LDgxLDI1Niw4MXogTTI1Niw0MDENCgkJCWMtNzkuOTUzLDAtMTQ1LTY1LjA0Ny0xNDUtMTQ1czY1LjA0Ny0xNDUsMTQ1LTE0NXMxNDUsNjUuMDQ3LDE0NSwxNDVTMzM1Ljk1Myw0MDEsMjU2LDQwMXoiLz4NCiAgICAgICAgPHBhdGggZD0iTTE4NywyMTZjLTIyLjA1NiwwLTQwLDE3Ljk0NC00MCw0MGMwLDIyLjA1NiwxNy45NDQsNDAsNDAsNDBjMjIuMDU2LDAsNDAtMTcuOTQ0LDQwLTQwQzIyNywyMzMuOTQ0LDIwOS4wNTYsMjE2LDE4NywyMTZ6DQoJCQkgTTE4NywyNjZjLTUuNTE0LDAtMTAtNC40ODYtMTAtMTBjMC01LjUxNCw0LjQ4Ni0xMCwxMC0xMGM1LjUxNCwwLDEwLDQuNDg2LDEwLDEwQzE5NywyNjEuNTE0LDE5Mi41MTQsMjY2LDE4NywyNjZ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0zMjUsMjE2Yy0yMi4wNTYsMC00MCwxNy45NDQtNDAsNDBjMCwyMi4wNTYsMTcuOTQ0LDQwLDQwLDQwYzIyLjA1NiwwLDQwLTE3Ljk0NCw0MC00MEMzNjUsMjMzLjk0NCwzNDcuMDU2LDIxNiwzMjUsMjE2eg0KCQkJIE0zMjUsMjY2Yy01LjUxNCwwLTEwLTQuNDg2LTEwLTEwYzAtNS41MTQsNC40ODYtMTAsMTAtMTBjNS41MTQsMCwxMCw0LjQ4NiwxMCwxMEMzMzUsMjYxLjUxNCwzMzAuNTE0LDI2NiwzMjUsMjY2eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",qle="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ4MCA0ODAiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik0zNjAsMEgxMjBDOTcuOTIsMC4wMjYsODAuMDI2LDE3LjkyLDgwLDQwdjM2OGMwLjAyNCwxOS4wMDEsMTMuMzg5LDM1LjM3MywzMiwzOS4yVjQ4MGg0OHYtMzJoMTYwdjMyaDQ4di0zMi44DQoJCQljMTguNjExLTMuODI3LDMxLjk3Ni0yMC4xOTksMzItMzkuMlY0MEMzOTkuOTc0LDE3LjkyLDM4Mi4wOCwwLjAyNiwzNjAsMHogTTE0NCw0NjRoLTE2di0xNmgxNlY0NjR6IE0zNTIsNDY0aC0xNnYtMTZoMTZWNDY0eg0KCQkJIE0zODQsNDA4YzAsMTMuMjU1LTEwLjc0NSwyNC0yNCwyNEgxMjBjLTEzLjI1NSwwLTI0LTEwLjc0NS0yNC0yNFY0MGMwLTEzLjI1NSwxMC43NDUtMjQsMjQtMjRoMjQwYzEzLjI1NSwwLDI0LDEwLjc0NSwyNCwyNFY0MDgNCgkJCXoiLz4NCiAgICAgICAgPHBhdGggZD0iTTI0MCwxNjBjLTcwLjY5MiwwLTEyOCw1Ny4zMDgtMTI4LDEyOGMwLjA4NCw3MC42NTgsNTcuMzQyLDEyNy45MTYsMTI4LDEyOGM3MC42OTIsMCwxMjgtNTcuMzA4LDEyOC0xMjgNCgkJCVMzMTAuNjkyLDE2MCwyNDAsMTYweiBNMjQwLDQwMGMtNjEuODU2LDAtMTEyLTUwLjE0NC0xMTItMTEyYzAuMDY2LTYxLjgyOCw1MC4xNzItMTExLjkzNCwxMTItMTEyYzYxLjg1NiwwLDExMiw1MC4xNDQsMTEyLDExMg0KCQkJUzMwMS44NTYsNDAwLDI0MCw0MDB6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0yNDAsMTkyYy01My4wMTksMC05Niw0Mi45ODEtOTYsOTZjMC4wNTcsNTIuOTk2LDQzLjAwNCw5NS45NDMsOTYsOTZjNTMuMDE5LDAsOTYtNDIuOTgxLDk2LTk2UzI5My4wMTksMTkyLDI0MCwxOTJ6DQoJCQkgTTI0MCwzNjhjLTQ0LjE4MywwLTgwLTM1LjgxNy04MC04MGMwLjA0OS00NC4xNjMsMzUuODM3LTc5Ljk1Miw4MC04MGM0NC4xODMsMCw4MCwzNS44MTcsODAsODBDMzIwLDMzMi4xODMsMjg0LjE4MywzNjgsMjQwLDM2OA0KCQkJeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjQwLDMyYy0zMC45MjgsMC01NiwyNS4wNzItNTYsNTZjMC4wMzUsMzAuOTEzLDI1LjA4Nyw1NS45NjUsNTYsNTZjMzAuOTI4LDAsNTYtMjUuMDcyLDU2LTU2DQoJCQlDMjk2LDU3LjA3MiwyNzAuOTI4LDMyLDI0MCwzMnogTTI0MCwxMjhjLTIyLjA5MSwwLTQwLTE3LjkwOS00MC00MGMwLjAyNi0yMi4wOCwxNy45Mi0zOS45NzQsNDAtNDBjMjIuMDkxLDAsNDAsMTcuOTA5LDQwLDQwDQoJCQlTMjYyLjA5MSwxMjgsMjQwLDEyOHoiLz4NCiAgICAgICAgPHBhdGggZD0iTTI0MCw2NGMtMTMuMjU1LDAtMjQsMTAuNzQ1LTI0LDI0czEwLjc0NSwyNCwyNCwyNHMyNC0xMC43NDUsMjQtMjRTMjUzLjI1NSw2NCwyNDAsNjR6IE0yNDAsOTZjLTQuNDE4LDAtOC0zLjU4Mi04LTgNCgkJCXMzLjU4Mi04LDgtOHM4LDMuNTgyLDgsOFMyNDQuNDE4LDk2LDI0MCw5NnoiLz4NCiAgICAgICAgPHJlY3QgeD0iMTEyIiB5PSIzMiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ii8+DQogICAgICAgIDxyZWN0IHg9IjM1MiIgeT0iMzIiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIvPg0KICAgICAgICA8cmVjdCB4PSIxMTIiIHk9IjQwMCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ii8+DQogICAgICAgIDxyZWN0IHg9IjM1MiIgeT0iNDAwIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiLz4NCiAgICAgICAgPHBhdGggZD0iTTI0MCwyNDhjLTIyLjA5MSwwLTQwLDE3LjkwOS00MCw0MGMwLjAyNiwyMi4wOCwxNy45MiwzOS45NzQsNDAsNDBjMjIuMDkxLDAsNDAtMTcuOTA5LDQwLTQwDQoJCQlDMjgwLDI2NS45MDksMjYyLjA5MSwyNDgsMjQwLDI0OHogTTI0MCwzMTJjLTEzLjI1NSwwLTI0LTEwLjc0NS0yNC0yNHMxMC43NDUtMjQsMjQtMjRzMjQsMTAuNzQ1LDI0LDI0UzI1My4yNTUsMzEyLDI0MCwzMTJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik00OCwyODBIMTZjLTQuNDE4LDAtOCwzLjU4Mi04LDhzMy41ODIsOCw4LDhoMzJjNC40MTgsMCw4LTMuNTgyLDgtOFM1Mi40MTgsMjgwLDQ4LDI4MHoiLz4NCiAgICAgICAgPHBhdGggZD0iTTUzLjY1NiwyMjYuMzQ0bC0yNC0yNGMtMy4xNzgtMy4wNjktOC4yNDMtMi45ODEtMTEuMzEyLDAuMTk3Yy0yLjk5NCwzLjEtMi45OTQsOC4wMTUsMCwxMS4xMTVsMjQsMjQNCgkJCWMzLjE3OCwzLjA2OSw4LjI0MywyLjk4MSwxMS4zMTItMC4xOTdDNTYuNjUsMjM0LjM1OSw1Ni42NSwyMjkuNDQ0LDUzLjY1NiwyMjYuMzQ0eiIvPg0KICAgICAgICA8cGF0aCBkPSJNNTMuNDYsMzM4LjM0NGMtMy4xLTIuOTk1LTguMDE2LTIuOTk1LTExLjExNiwwbC0yNCwyNGMtMy4xNzgsMy4wNy0zLjI2Niw4LjEzNC0wLjE5NiwxMS4zMTJzOC4xMzQsMy4yNjYsMTEuMzEyLDAuMTk2DQoJCQljMC4wNjctMC4wNjQsMC4xMzItMC4xMywwLjE5Ni0wLjE5NmwyNC0yNEM1Ni43MjYsMzQ2LjQ3OCw1Ni42MzgsMzQxLjQxNCw1My40NiwzMzguMzQ0eiIvPg0KICAgICAgICA8cGF0aCBkPSJNNDY0LDI4MGgtMzJjLTQuNDE4LDAtOCwzLjU4Mi04LDhzMy41ODIsOCw4LDhoMzJjNC40MTgsMCw4LTMuNTgyLDgtOFM0NjguNDE4LDI4MCw0NjQsMjgweiIvPg0KICAgICAgICA8cGF0aCBkPSJNNDYxLjQ2LDIwMi4zNDRjLTMuMS0yLjk5NC04LjAxNS0yLjk5NC0xMS4xMTYsMGwtMjQsMjRjLTMuMTI0LDMuMTI1LTMuMTIzLDguMTksMC4wMDIsMTEuMzE0DQoJCQljMS41LDEuNDk5LDMuNTM0LDIuMzQyLDUuNjU0LDIuMzQyYzIuMTIyLDAsNC4xNTYtMC44NDQsNS42NTYtMi4zNDRsMjQtMjRDNDY0LjcyNiwyMTAuNDc4LDQ2NC42MzgsMjA1LjQxNCw0NjEuNDYsMjAyLjM0NHoiLz4NCiAgICAgICAgPHBhdGggZD0iTTQ2MS42NTYsMzYyLjM0NGwtMjQtMjRjLTMuMTc4LTMuMDctOC4yNDItMi45ODItMTEuMzEyLDAuMTk2Yy0yLjk5NSwzLjEtMi45OTUsOC4wMTYsMCwxMS4xMTZsMjQsMjQNCgkJCWMzLjE3OCwzLjA3LDguMjQyLDIuOTgyLDExLjMxMi0wLjE5NkM0NjQuNjUxLDM3MC4zNiw0NjQuNjUxLDM2NS40NDQsNDYxLjY1NiwzNjIuMzQ0eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",eNe="PHN2ZyBoZWlnaHQ9IjUxMnB0IiB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgd2lkdGg9IjUxMnB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im01MTIgNTYuMTY0MDYyYzAtMTIuNzk2ODc0LTEwLjQwNjI1LTIzLjIwMzEyNC0yMy4yMDMxMjUtMjMuMjAzMTI0aC00OS45Njg3NXYtMTUuMDQ2ODc2YzAtOS44Nzg5MDYtOC4wMzUxNTYtMTcuOTE0MDYyLTE3LjkxNDA2My0xNy45MTQwNjJoLTEwMy4wODk4NDNjLTkuODc4OTA3IDAtMTcuOTE0MDYzIDguMDM5MDYyLTE3LjkxNDA2MyAxNy45MTQwNjJ2MTUuMDQ2ODc2aC04Ny44MTY0MDZ2LTE1LjA0Njg3NmMwLTkuODc4OTA2LTguMDM5MDYyLTE3LjkxNDA2Mi0xNy45MTc5NjktMTcuOTE0MDYyaC0xMDMuMDg5ODQzYy05Ljg3ODkwNyAwLTE3LjkxNDA2MyA4LjAzOTA2Mi0xNy45MTQwNjMgMTcuOTE0MDYydjE1LjA0Njg3NmgtNDkuOTY4NzVjLTEyLjc5Njg3NSAwLTIzLjIwMzEyNSAxMC40MDYyNS0yMy4yMDMxMjUgMjMuMjAzMTI0djQ5LjVjMCA2LjA1MDc4MiAyLjMyODEyNSAxMS41NjI1IDYuMTM2NzE5IDE1LjY5OTIxOS0zLjgwODU5NCA0LjEzMjgxMy02LjEzNjcxOSA5LjY0ODQzOC02LjEzNjcxOSAxNS42OTkyMTl2MzA1LjgwODU5NGMwIDEyLjc5Mjk2OCAxMC40MDYyNSAyMy4yMDMxMjUgMjMuMjAzMTI1IDIzLjIwMzEyNWgyLjM3ODkwNnYyMi40NTMxMjVjMCAxMi43ODEyNSAxMC4zOTg0MzggMjMuMTc1NzgxIDIzLjE3OTY4OCAyMy4xNzU3ODFoMjMyLjYxNzE4N2M0LjE0NDUzMiAwIDcuNTAzOTA2LTMuMzU5Mzc1IDcuNTAzOTA2LTcuNSAwLTQuMTQ0NTMxLTMuMzU5Mzc0LTcuNTAzOTA2LTcuNTAzOTA2LTcuNTAzOTA2aC0yMzIuNjE3MTg3Yy00LjUwNzgxMyAwLTguMTcxODc1LTMuNjY3OTY5LTguMTcxODc1LTguMTcxODc1di0yMi40NTMxMjVoNDMwLjgyMDMxMnYyMi40NTMxMjVjMCA0LjUwNzgxMi0zLjY2NDA2MiA4LjE3MTg3NS04LjE3MTg3NSA4LjE3MTg3NWgtMTQ3LjEyNWMtNC4xNDg0MzcgMC03LjUwMzkwNiAzLjM1OTM3NS03LjUwMzkwNiA3LjUwMzkwNiAwIDQuMTQwNjI1IDMuMzU1NDY5IDcuNSA3LjUwMzkwNiA3LjVoMTQ3LjEyNWMxMi43ODEyNSAwIDIzLjE3OTY4OC0xMC4zOTQ1MzEgMjMuMTc5Njg4LTIzLjE3NTc4MXYtMjIuNDUzMTI1aDIuMzc4OTA2YzEyLjc5Mjk2OSAwIDIzLjIwMzEyNS0xMC40MTAxNTcgMjMuMjAzMTI1LTIzLjIwMzEyNXYtMzA1LjgwODU5NGMwLTYuMDUwNzgxLTIuMzMyMDMxLTExLjU2NjQwNi02LjEzNjcxOS0xNS42OTkyMTkgMy44MDQ2ODgtNC4xMzY3MTkgNi4xMzY3MTktOS42NDg0MzcgNi4xMzY3MTktMTUuNjk5MjE5em0tMTk3LjA4NTkzOC0zOC4yNWMwLTEuNjA1NDY4IDEuMzA0Njg4LTIuOTA2MjUgMi45MTAxNTctMi45MDYyNWgxMDMuMDg5ODQzYzEuNjA1NDY5IDAgMi45MTAxNTcgMS4zMDQ2ODggMi45MTAxNTcgMi45MDYyNXYxNS4wNDY4NzZoLTEwOC45MTAxNTd6bS0yMjYuNzM4MjgxIDBjMC0xLjYwNTQ2OCAxLjMwNDY4OC0yLjkwNjI1IDIuOTEwMTU3LTIuOTA2MjVoMTAzLjA4OTg0M2MxLjYwNTQ2OSAwIDIuOTEwMTU3IDEuMzA0Njg4IDIuOTEwMTU3IDIuOTA2MjV2MTUuMDQ2ODc2aC0xMDguOTEwMTU3em00MDguODE2NDA3IDQyNC45NTcwMzJjMCA0LjUxOTUzMS0zLjY3NTc4MiA4LjE5OTIxOC04LjE5NTMxMyA4LjE5OTIxOGgtNDY1LjU5Mzc1Yy00LjUxOTUzMSAwLTguMTk1MzEzLTMuNjc5Njg3LTguMTk1MzEzLTguMTk5MjE4di0zMDUuODA4NTk0YzAtNC41MTk1MzEgMy42NzU3ODItOC4xOTkyMTkgOC4xOTUzMTMtOC4xOTkyMTloNDY1LjU5Mzc1YzQuNTIzNDM3IDAgOC4xOTUzMTMgMy42Nzk2ODggOC4xOTUzMTMgOC4xOTkyMTl6bTAtMzM3LjIwNzAzMmMwIDQuNTE5NTMyLTMuNjc1NzgyIDguMTk1MzEzLTguMTk1MzEzIDguMTk1MzEzaC00NjUuNTkzNzVjLTQuNTE5NTMxIDAtOC4xOTUzMTMtMy42NzU3ODEtOC4xOTUzMTMtOC4xOTUzMTN2LTQ5LjVjMC00LjUyMzQzNyAzLjY3NTc4Mi04LjE5OTIxOCA4LjE5NTMxMy04LjE5OTIxOGg0NjUuNTkzNzVjNC41MTk1MzEgMCA4LjE5NTMxMyAzLjY3NTc4MSA4LjE5NTMxMyA4LjE5OTIxOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xMDYuMDk3NjU2IDU1LjE1MjM0NGMtMTQuMjA3MDMxIDAtMjUuNzYxNzE4IDExLjU1NDY4Ny0yNS43NjE3MTggMjUuNzU3ODEyIDAgMTQuMjA3MDMyIDExLjU1NDY4NyAyNS43NjE3MTkgMjUuNzYxNzE4IDI1Ljc2MTcxOSAxNC4yMDMxMjUgMCAyNS43NjE3MTktMTEuNTU0Njg3IDI1Ljc2MTcxOS0yNS43NjE3MTkgMC0xNC4yMDMxMjUtMTEuNTU4NTk0LTI1Ljc1NzgxMi0yNS43NjE3MTktMjUuNzU3ODEyem0wIDM2LjUxNTYyNWMtNS45Mjk2ODcgMC0xMC43NTM5MDYtNC44MjQyMTktMTAuNzUzOTA2LTEwLjc1MzkwNyAwLTUuOTI5Njg3IDQuODI0MjE5LTEwLjc1NzgxMiAxMC43NTM5MDYtMTAuNzU3ODEyIDUuOTI5Njg4IDAgMTAuNzUzOTA2IDQuODI4MTI1IDEwLjc1MzkwNiAxMC43NTc4MTIgMCA1LjkyOTY4OC00LjgyNDIxOCAxMC43NTM5MDctMTAuNzUzOTA2IDEwLjc1MzkwN3ptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xNzkuMTY3OTY5IDU1LjE1MjM0NGMtMTQuMjA3MDMxIDAtMjUuNzYxNzE5IDExLjU1NDY4Ny0yNS43NjE3MTkgMjUuNzU3ODEyIDAgMTQuMjA3MDMyIDExLjU1NDY4OCAyNS43NjE3MTkgMjUuNzYxNzE5IDI1Ljc2MTcxOSAxNC4yMDMxMjUgMCAyNS43NTc4MTItMTEuNTU0Njg3IDI1Ljc1NzgxMi0yNS43NjE3MTkgMC0xNC4yMDMxMjUtMTEuNTU0Njg3LTI1Ljc1NzgxMi0yNS43NTc4MTItMjUuNzU3ODEyem0wIDM2LjUxNTYyNWMtNS45MzM1OTQgMC0xMC43NTc4MTMtNC44MjQyMTktMTAuNzU3ODEzLTEwLjc1MzkwNyAwLTUuOTI5Njg3IDQuODI0MjE5LTEwLjc1NzgxMiAxMC43NTc4MTMtMTAuNzU3ODEyIDUuOTI5Njg3IDAgMTAuNzUzOTA2IDQuODI4MTI1IDEwLjc1MzkwNiAxMC43NTc4MTIgMCA1LjkyOTY4OC00LjgyNDIxOSAxMC43NTM5MDctMTAuNzUzOTA2IDEwLjc1MzkwN3ptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0zMzIuODMyMDMxIDU1LjE1MjM0NGMtMTQuMjAzMTI1IDAtMjUuNzU3ODEyIDExLjU1NDY4Ny0yNS43NTc4MTIgMjUuNzU3ODEyIDAgMTQuMjA3MDMyIDExLjU1NDY4NyAyNS43NjE3MTkgMjUuNzU3ODEyIDI1Ljc2MTcxOSAxNC4yMDcwMzEgMCAyNS43NjE3MTktMTEuNTU0Njg3IDI1Ljc2MTcxOS0yNS43NjE3MTkgMC0xNC4yMDMxMjUtMTEuNTU0Njg4LTI1Ljc1NzgxMi0yNS43NjE3MTktMjUuNzU3ODEyem0wIDM2LjUxNTYyNWMtNS45Mjk2ODcgMC0xMC43NTM5MDYtNC44MjQyMTktMTAuNzUzOTA2LTEwLjc1MzkwNyAwLTUuOTI5Njg3IDQuODI0MjE5LTEwLjc1NzgxMiAxMC43NTM5MDYtMTAuNzU3ODEyIDUuOTMzNTk0IDAgMTAuNzU3ODEzIDQuODI4MTI1IDEwLjc1NzgxMyAxMC43NTc4MTIgMCA1LjkyOTY4OC00LjgyNDIxOSAxMC43NTM5MDctMTAuNzU3ODEzIDEwLjc1MzkwN3ptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im00MDUuOTAyMzQ0IDU1LjE1MjM0NGMtMTQuMjAzMTI1IDAtMjUuNzYxNzE5IDExLjU1NDY4Ny0yNS43NjE3MTkgMjUuNzU3ODEyIDAgMTQuMjA3MDMyIDExLjU1ODU5NCAyNS43NjE3MTkgMjUuNzYxNzE5IDI1Ljc2MTcxOSAxNC4yMDcwMzEgMCAyNS43NjE3MTgtMTEuNTU0Njg3IDI1Ljc2MTcxOC0yNS43NjE3MTkgMC0xNC4yMDMxMjUtMTEuNTU0Njg3LTI1Ljc1NzgxMi0yNS43NjE3MTgtMjUuNzU3ODEyem0wIDM2LjUxNTYyNWMtNS45Mjk2ODggMC0xMC43NTM5MDYtNC44MjQyMTktMTAuNzUzOTA2LTEwLjc1MzkwNyAwLTUuOTI5Njg3IDQuODI0MjE4LTEwLjc1NzgxMiAxMC43NTM5MDYtMTAuNzU3ODEyIDUuOTI5Njg3IDAgMTAuNzUzOTA2IDQuODI4MTI1IDEwLjc1MzkwNiAxMC43NTc4MTIgMCA1LjkyOTY4OC00LjgyNDIxOSAxMC43NTM5MDctMTAuNzUzOTA2IDEwLjc1MzkwN3ptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im00MzQuNzQyMTg4IDE3MS45Mzc1aC0yMTguMTQ4NDM4Yy00LjE0NDUzMSAwLTcuNTAzOTA2IDMuMzU5Mzc1LTcuNTAzOTA2IDcuNSAwIDQuMTQ0NTMxIDMuMzU5Mzc1IDcuNTAzOTA2IDcuNTAzOTA2IDcuNTAzOTA2aDIxOC4xNDg0MzhjMS40Mzc1IDAgMi42MDU0NjggMS4xNzE4NzUgMi42MDU0NjggMi42MDkzNzV2MTkuODUxNTYzYzAgMS40Mzc1LTEuMTY3OTY4IDIuNjA5Mzc1LTIuNjA1NDY4IDIuNjA5Mzc1aC0zNTcuNDg0Mzc2Yy0xLjQzNzUgMC0yLjYwNTQ2OC0xLjE3MTg3NS0yLjYwNTQ2OC0yLjYwOTM3NXYtMTkuODUxNTYzYzAtMS40Mzc1IDEuMTY3OTY4LTIuNjA5Mzc1IDIuNjA1NDY4LTIuNjA5Mzc1aDEwNC4yNjk1MzJjNC4xNDQ1MzEgMCA3LjUwMzkwNi0zLjM1OTM3NSA3LjUwMzkwNi03LjUwMzkwNiAwLTQuMTQwNjI1LTMuMzU5Mzc1LTcuNS03LjUwMzkwNi03LjVoLTEwNC4yNjk1MzJjLTkuNzEwOTM3IDAtMTcuNjA5Mzc0IDcuODk4NDM4LTE3LjYwOTM3NCAxNy42MTMyODF2MTkuODUxNTYzYzAgOS43MTA5MzcgNy44OTg0MzcgMTcuNjEzMjgxIDE3LjYwOTM3NCAxNy42MTMyODFoMTAuMDM1MTU3djE2Ni40NjQ4NDRjMCAxNC4yNzczNDMgMTEuNjE3MTg3IDI1Ljg5NDUzMSAyNS44OTQ1MzEgMjUuODk0NTMxaDI4NS42MjVjMTQuMjc3MzQ0IDAgMjUuODk0NTMxLTExLjYxNzE4OCAyNS44OTQ1MzEtMjUuODk0NTMxdi0xNjYuNDY0ODQ0aDEwLjAzNTE1N2M5LjcxMDkzNyAwIDE3LjYxMzI4MS03Ljg5ODQzNyAxNy42MTMyODEtMTcuNjEzMjgxdi0xOS44NTE1NjNjMC05LjcxMDkzNy03LjkwMjM0NC0xNy42MTMyODEtMTcuNjEzMjgxLTE3LjYxMzI4MXptLTI1LjA0Mjk2OSAyMjEuNTQyOTY5YzAgNi4wMDM5MDYtNC44ODI4MTMgMTAuODg2NzE5LTEwLjg4NjcxOSAxMC44ODY3MTloLTI4NS42MjVjLTYuMDAzOTA2IDAtMTAuODkwNjI1LTQuODgyODEzLTEwLjg5MDYyNS0xMC44ODY3MTl2LTE2Ni40NjQ4NDRoMzA3LjQwMjM0NHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xNTIuNTQyOTY5IDI5NC44NTkzNzVjMi4wMjM0MzcgMCA0LjA0Mjk2OS0uODE2NDA2IDUuNTIzNDM3LTIuNDIxODc1bDIzLjAxMTcxOS0yNS4wMTU2MjVjMi44MDg1OTQtMy4wNTA3ODEgMi42MDkzNzUtNy43OTY4NzUtLjQ0MTQwNi0xMC42MDE1NjMtMy4wNTA3ODEtMi44MDQ2ODctNy43OTI5NjktMi42MDkzNzQtMTAuNjAxNTYzLjQ0MTQwN2wtMjMuMDExNzE4IDI1LjAxNTYyNWMtMi44MDQ2ODggMy4wNDY4NzUtMi42MDkzNzYgNy43OTI5NjguNDQxNDA2IDEwLjYwMTU2MiAxLjQ0MTQwNiAxLjMyNDIxOSAzLjI2MTcxOCAxLjk4MDQ2OSA1LjA3ODEyNSAxLjk4MDQ2OXptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xNTQuMTg3NSAzMjQuMTM2NzE5YzEuNDQxNDA2IDEuMzI4MTI1IDMuMjYxNzE5IDEuOTgwNDY5IDUuMDc4MTI1IDEuOTgwNDY5IDIuMDIzNDM3IDAgNC4wNDI5NjktLjgxNjQwNyA1LjUyMzQzNy0yLjQyMTg3Nmw0Ny4zMTY0MDctNTEuNDI5Njg3YzIuODA0Njg3LTMuMDUwNzgxIDIuNjA5Mzc1LTcuNzk2ODc1LS40NDE0MDctMTAuNjA1NDY5LTMuMDUwNzgxLTIuODA0Njg3LTcuNzk2ODc0LTIuNjA1NDY4LTEwLjYwMTU2Mi40NDE0MDZsLTQ3LjMxNjQwNiA1MS40MzM1OTRjLTIuODA0Njg4IDMuMDQ2ODc1LTIuNjA1NDY5IDcuNzk2ODc1LjQ0MTQwNiAxMC42MDE1NjN6bTAgMCIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",tNe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDEyOCAxMjgiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTEyMi4yNSAxNy4yNjZoLTExNi41YTUuNzU2IDUuNzU2IDAgMCAwIC01Ljc1IDUuNzV2NjcuOTk0YTUuNzU3IDUuNzU3IDAgMCAwIDUuNzUgNS43NWg5Ljg4M2wtMy4wNjggNC40NGE2LjA3OSA2LjA3OSAwIDAgMCAxMCA2LjkxMmw3Ljg0Ny0xMS4zNTJoNjcuMTc2bDcuODQ0IDExLjM1MWE2LjA3OSA2LjA3OSAwIDAgMCAxMC02LjkxMmwtMy4wNjgtNC40MzloOS44ODNhNS43NTcgNS43NTcgMCAwIDAgNS43NTMtNS43NXYtNjcuOTk0YTUuNzU2IDUuNzU2IDAgMCAwIC01Ljc1LTUuNzV6bS0xMDIuNTYxIDg4Ljg1NmEyLjU4MiAyLjU4MiAwIDAgMSAtMi4xMjIgMS4xMTIgMi41OCAyLjU4IDAgMCAxIC0yLjEyMy00LjA0Nmw0LjQ0My02LjQyOGg2LjI3MXptOTIuODY3LTIuOTM0YTIuNTggMi41OCAwIDAgMSAtMi4xMjMgNC4wNDYgMi41ODUgMi41ODUgMCAwIDEgLTIuMTIzLTEuMTEybC02LjQ2OC05LjM2Mmg2LjI3MXptMTEuOTQ0LTEyLjE3OGEyLjI1MyAyLjI1MyAwIDAgMSAtMi4yNSAyLjI1aC0xMTYuNWEyLjI1MyAyLjI1MyAwIDAgMSAtMi4yNS0yLjI1di02Ny45OTRhMi4yNTMgMi4yNTMgMCAwIDEgMi4yNS0yLjI1aDExNi41YTIuMjUzIDIuMjUzIDAgMCAxIDIuMjUgMi4yNXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTExOC4yNSAyNS4yNjZoLTEwOC41YTEuNzQ5IDEuNzQ5IDAgMCAwIC0xLjc1IDEuNzV2NTkuOTk0YTEuNzUgMS43NSAwIDAgMCAxLjc1IDEuNzVoMTA4LjVhMS43NSAxLjc1IDAgMCAwIDEuNzUtMS43NXYtNTkuOTk0YTEuNzQ5IDEuNzQ5IDAgMCAwIC0xLjc1LTEuNzV6bS0xLjc1IDU5Ljk5NGgtMTA1di01Ni40OTRoMTA1eiIvPg0KICAgICAgICA8cGF0aCBkPSJtNDEuMzc1IDQ3LjkyMmg3LjN2MTkuOTMyYTEuNzUgMS43NSAwIDAgMCAzLjUgMHYtMTkuOTMyaDcuM2ExLjc1IDEuNzUgMCAwIDAgMC0zLjVoLTE4LjFhMS43NSAxLjc1IDAgMCAwIDAgMy41eiIvPg0KICAgICAgICA8cGF0aCBkPSJtNzUuOTYzIDY4LjUyN2ExLjc0OSAxLjc0OSAwIDAgMCAzLjIzIDBsOS4wNDctMjEuNjgxYTEuNzUgMS43NSAwIDEgMCAtMy4yMy0xLjM0NmwtNy40MzIgMTcuODA5LTcuNDMyLTE3LjgwOWExLjc1IDEuNzUgMCAxIDAgLTMuMjMgMS4zNDh6Ii8+DQogICAgPC9nPg0KPC9zdmc+",sNe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCIgd2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik01OSwySDVBMywzLDAsMCwwLDIsNVY1OWEzLDMsMCwwLDAsMywzSDU5YTMsMywwLDAsMCwzLTNWNUEzLDMsMCwwLDAsNTksMlptMSw1N2ExLDEsMCwwLDEtMSwxSDVhMSwxLDAsMCwxLTEtMVY1QTEsMSwwLDAsMSw1LDRINTlhMSwxLDAsMCwxLDEsMVoiLz4NCiAgICAgICAgPHBhdGggZD0iTTMyLDZBMjYsMjYsMCwxLDAsNTgsMzIsMjYuMDI5LDI2LjAyOSwwLDAsMCwzMiw2Wm0wLDUwQTI0LDI0LDAsMSwxLDU2LDMyLDI0LjAyOCwyNC4wMjgsMCwwLDEsMzIsNTZaIi8+DQogICAgICAgIDxwYXRoIGQ9Ik0zMiwxMEEyMiwyMiwwLDEsMCw1NCwzMiwyMi4wMjUsMjIuMDI1LDAsMCwwLDMyLDEwWm0xMC4xNzUsNC44MTNjMi40NjksOS41NS0zLjYxMywxMi45LTYuNDI4LDEzLjkxMWE1LDUsMCwwLDAtMS42NS0xLjI0NywxMS4zNzQsMTEuMzc0LDAsMCwwLDMuMzExLTYuNzk0Yy4yNDktMi44NDUtLjc5LTUuNzA2LTMuMDUtOC41MzFBMTkuODI0LDE5LjgyNCwwLDAsMSw0Mi4xNzUsMTQuODEzWk0zNSwzMmEzLDMsMCwxLDEtMy0zQTMsMywwLDAsMSwzNSwzMlpNMzEuNTg2LDEyLjAyMWMyLjc2NywyLjg3Myw0LjA2Niw1LjcyMiwzLjgzMSw4LjQ3YTEwLjEsMTAuMSwwLDAsMS0zLjc4NCw2LjUzLDE5LjY1MiwxOS42NTIsMCwwLDAtOS41ODUtMTIuMzQ0QTE5LjgzOCwxOS44MzgsMCwwLDEsMzEuNTg2LDEyLjAyMVpNMjAuMTIsMTUuOTQ4YTE3LjY1NywxNy42NTcsMCwwLDEsOS41OTIsMTEuNjMzLDQuOTUxLDQuOTUxLDAsMCwwLS45NTcuNjQ3LDE4Ljg4NiwxOC44ODYsMCwwLDAtMTQuMzM4LTUuNzUyQTIwLjEyNiwyMC4xMjYsMCwwLDEsMjAuMTIsMTUuOTQ4Wk0xMiwzMmExOS44NywxOS44NywwLDAsMSwxLjQ0Mi03LjQxNkExNi4zODUsMTYuMzg1LDAsMCwxLDI1LjgxNiwyOC4yNmExMy43OSwxMy43OSwwLDAsMC04LjA2NCwxLjI5MUExMi42NDQsMTIuNjQ0LDAsMCwwLDEyLjMxMSwzNS40LDE5LjkxMywxOS45MTMsMCwwLDEsMTIsMzJabTEuMTY0LDYuNjZjMS4xMy0zLjUyOSwyLjk4Mi02LDUuNTItNy4zNGExMi42NDMsMTIuNjQzLDAsMCwxLDguNTYxLS43ODdBNC45MTksNC45MTksMCwwLDAsMjcsMzJjMCwuMTA5LjAyNS4yMTEuMDMyLjMxOC0yLjAwOC45MTUtNy45NjEsNC40Mi04LjksMTQuMDYzQTIwLjAzNCwyMC4wMzQsMCwwLDEsMTMuMTY0LDM4LjY2Wm02Ljg3OCw5LjMzM2MuMzY0LTkuMjc5LDUuNTYzLTEyLjc0Myw3LjUzMS0xMy43MTlhNSw1LDAsMCwwLDEuMDY1LDEuNGMtLjk1OCwyLjYwOS0yLjg1Myw5Ljc5MSwyLjEwOCwxNi4yNjFBMTkuODU2LDE5Ljg1NiwwLDAsMSwyMC4wNDIsNDcuOTkzWk0zMy4zODEsNTEuOTNjLTUuNC01LjczMy0zLjkyLTEyLjQ5NS0yLjk4OC0xNS4yMTlBNC45MjksNC45MjksMCwwLDAsMzIsMzdjLjA4MSwwLC4xNTYtLjAyLjIzNS0uMDI0LjYsMy4wNDksMi44MjksOS4yMjMsMTEuMTExLDExLjQ3NUExOS44NTYsMTkuODU2LDAsMCwxLDMzLjM4MSw1MS45M1ptMTEuOTY2LTUuMDc4Yy04LjQ0MS0xLjYxNy0xMC42MjMtNy4yOTItMTEuMTc0LTEwLjM3YTUuMDA2LDUuMDA2LDAsMCwwLDEuMDg0LS43MTljMS44NjgsMS45LDYuMjE1LDUuNjMzLDExLjUyMiw1LjYzM2ExMS4yMDgsMTEuMjA4LDAsMCwwLDMuMDg1LS40NTVBMjAuMDY5LDIwLjA2OSwwLDAsMSw0NS4zNDcsNDYuODUyWk01MiwzMmExOS45LDE5LjksMCwwLDEtMS4wNzQsNi40MTRjLTYuNTA3LDMuMTItMTIuNDYyLTIuMTg0LTE0LjQzOC00LjI1MWE0LjkyNyw0LjkyNywwLDAsMCwuMzY5LTEuMDI1LDE2LjYsMTYuNiwwLDAsMCwxLjc4OS4wOTQsMTguMzI4LDE4LjMyOCwwLDAsMCwxMi45MjYtNS4zMzlBMjAsMjAsMCwwLDEsNTIsMzJabS0xNS4wODgtLjg2OGE0Ljc0NSw0Ljc0NSwwLDAsMC0uMTczLS42NWMyLjkyNi0xLjE1NSw5LjIzNC00Ljc2Niw3LjgxNy0xNC4wMjhhMjAuMDU3LDIwLjA1NywwLDAsMSw2LjM5NCw5LjJBMTYuMzQ0LDE2LjM0NCwwLDAsMSwzNi45MTIsMzEuMTMyWiIvPg0KICAgICAgICA8cGF0aCBkPSJNOSwxMkEzLDMsMCwxLDAsNiw5LDMsMywwLDAsMCw5LDEyWk05LDhBMSwxLDAsMSwxLDgsOSwxLDEsMCwwLDEsOSw4WiIvPg0KICAgICAgICA8cGF0aCBkPSJNNTUsNmEzLDMsMCwxLDAsMywzQTMsMywwLDAsMCw1NSw2Wm0wLDRhMSwxLDAsMSwxLDEtMUExLDEsMCwwLDEsNTUsMTBaIi8+DQogICAgICAgIDxwYXRoIGQ9Ik0xMiw1NWEzLDMsMCwwLDAtMy0zLDIuOTY2LDIuOTY2LDAsMCwwLTEsLjE4NFY0NUg2VjU1YTMsMywwLDAsMCwzLDNoNlY1NkgxMS44MTZBMi45NjYsMi45NjYsMCwwLDAsMTIsNTVaTTksNTZhMSwxLDAsMSwxLDEtMUExLDEsMCwwLDEsOSw1NloiLz4NCiAgICAgICAgPHBhdGggZD0iTTU2LDUyLjE4NEEyLjk2NiwyLjk2NiwwLDAsMCw1NSw1MmEzLDMsMCwwLDAtMywzLDIuOTY2LDIuOTY2LDAsMCwwLC4xODQsMUg0NXYySDU1YTMsMywwLDAsMCwzLTNWNDlINTZaTTU1LDU2YTEsMSwwLDEsMSwxLTFBMSwxLDAsMCwxLDU1LDU2WiIvPg0KICAgICAgICA8cmVjdCB4PSIxNyIgeT0iNTYiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",iNe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQyOC42MDcgNDI4LjYwNyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTQyMy43NzMsMzQzLjg3MUw0MjMuNzczLDM0My44NzFjLTYuNjE3LTQuNTk5LTEyLjQ0LTEwLjI0Ni0xNy4yNDEtMTYuNzE4Yy0xMS40OTQtMTMuMDYxLTI2LjEyMi0yOS4yNTctNTMuMjktMjkuMjU3DQoJCQkJYy0yNy4xNjcsMC00MS4yNzMsMTUuNjczLTUzLjI5LDI5Ljc4Yy0xMi4wMTYsMTQuMTA2LTE5Ljg1MywyMi40NjUtMzcuNjE2LDIyLjQ2NXMtMjYuNjQ1LTkuOTI3LTM3LjYxNi0yMi40NjUNCgkJCQljLTEwLjk3MS0xMi41MzktMjUuNi0yOS43OC01My4yOS0yOS43OGMtMjcuNjksMC00MS4yNzMsMTUuNjczLTUzLjI5LDI5Ljc4Yy0xMi4wMTYsMTQuMTA2LTE5Ljg1MywyMi40NjUtMzcuNjE2LDIyLjQ2NQ0KCQkJCXMtMjYuNjQ1LTkuOTI3LTM3LjYxNi0yMi40NjVjLTcuNDU4LTkuODUtMTYuODg5LTE4LjAzNS0yNy42OS0yNC4wMzNjLTUuMTk0LTIuNTk3LTExLjUwOS0wLjQ5Mi0xNC4xMDYsNC43MDINCgkJCQljLTIuNTk3LDUuMTk0LTAuNDkyLDExLjUwOSw0LjcwMiwxNC4xMDZjOC4yMDMsNC45NDQsMTUuNDU3LDExLjMxNCwyMS40MiwxOC44MDhjMTIuMDE2LDE0LjEwNiwyNi4xMjIsMjkuNzgsNTMuMjksMjkuNzgNCgkJCQlzNDEuMjczLTE1LjY3Myw1My4yOS0yOS43OGMxMi4wMTYtMTQuMTA2LDE5Ljg1My0yMi40NjUsMzcuNjE2LTIyLjQ2NXMyNi42NDUsOS45MjcsMzcuNjE2LDIyLjQ2NQ0KCQkJCWMxMC45NzEsMTIuNTM5LDI1LjYsMjkuNzgsNTMuMjksMjkuNzhjMjcuNjksMCw0MS4yNzMtMTUuNjczLDUzLjI5LTI5Ljc4YzEyLjAxNi0xNC4xMDYsMTkuODUzLTIyLjQ2NSwzNy42MTYtMjIuNDY1DQoJCQkJYzE3Ljc2MywwLDI2LjY0NSw5LjkyNywzNy42MTYsMjIuNDY1YzYuMDg5LDcuODE4LDEzLjMwOCwxNC42ODUsMjEuNDIsMjAuMzc1YzQuOTA1LDMuMTc0LDExLjQ1NSwxLjc3MSwxNC42MjktMy4xMzUNCgkJCQlDNDMwLjA4MiwzNTMuNTk0LDQyOC42NzksMzQ3LjA0NSw0MjMuNzczLDM0My44NzF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik00MjMuNzczLDI2NS41MDNMNDIzLjc3MywyNjUuNTAzYy02LjYxNy00LjU5OS0xMi40NC0xMC4yNDYtMTcuMjQxLTE2LjcxOGMtMTEuNDk0LTEzLjA2MS0yNi4xMjItMjkuMjU3LTUzLjI5LTI5LjI1Nw0KCQkJCWMtMjcuMTY3LDAtNDEuMjczLDE1LjY3My01My4yOSwyOS43OGMtMTIuMDE2LDE0LjEwNi0xOS44NTMsMjIuNDY1LTM3LjYxNiwyMi40NjVzLTI2LjY0NS05LjkyNy0zNy42MTYtMjIuNDY1DQoJCQkJYy0xMC45NzEtMTIuNTM5LTI1LjYtMjkuNzgtNTMuMjktMjkuNzhjLTI3LjY5LDAtNDEuMjczLDE1LjY3My01My4yOSwyOS43OGMtMTIuMDE2LDE0LjEwNi0xOS44NTMsMjIuNDY1LTM3LjYxNiwyMi40NjUNCgkJCQlzLTI2LjY0NS05LjkyNy0zNy42MTYtMjIuNDY1Yy03LjQ1OC05Ljg1LTE2Ljg4OS0xOC4wMzUtMjcuNjktMjQuMDMzYy01LjE5NC0yLjU5Ny0xMS41MDktMC40OTItMTQuMTA2LDQuNzAyDQoJCQkJcy0wLjQ5MiwxMS41MDksNC43MDIsMTQuMTA2YzguMjAzLDQuOTQ0LDE1LjQ1NywxMS4zMTQsMjEuNDIsMTguODA4YzEyLjAxNiwxNC4xMDYsMjYuMTIyLDI5Ljc4LDUzLjI5LDI5Ljc4DQoJCQkJczQxLjI3My0xNS42NzMsNTMuMjktMjkuNzhjMTIuMDE2LTE0LjEwNiwxOS44NTMtMjIuNDY1LDM3LjYxNi0yMi40NjVzMjYuNjQ1LDkuOTI3LDM3LjYxNiwyMi40NjUNCgkJCQljMTAuOTcxLDEyLjUzOSwyNS42LDI5Ljc4LDUzLjI5LDI5Ljc4YzI3LjY5LDAsNDEuMjczLTE1LjY3Myw1My4yOS0yOS43OGMxMi4wMTYtMTQuMTA2LDE5Ljg1My0yMi40NjUsMzcuNjE2LTIyLjQ2NQ0KCQkJCWMxNy43NjMsMCwyNi42NDUsOS45MjcsMzcuNjE2LDIyLjQ2NWM2LjA4OSw3LjgxOCwxMy4zMDgsMTQuNjg1LDIxLjQyLDIwLjM3NWM0LjkwNSwzLjE3NCwxMS40NTUsMS43NzEsMTQuNjI5LTMuMTM1DQoJCQkJQzQzMC4wODIsMjc1LjIyNyw0MjguNjc5LDI2OC42NzcsNDIzLjc3MywyNjUuNTAzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNNDIzLjc3MywxODEuOTExTDQyMy43NzMsMTgxLjkxMWMtNi42MTctNC41OTktMTIuNDQtMTAuMjQ2LTE3LjI0MS0xNi43MThjLTExLjQ5NC0xMy4wNjEtMjYuMTIyLTI5LjI1Ny01My4yOS0yOS4yNTcNCgkJCQljLTI3LjE2NywwLTQxLjI3MywxNS42NzMtNTMuMjksMjkuNzhzLTE5Ljg1MywyMi40NjUtMzcuNjE2LDIyLjQ2NXMtMjYuNjQ1LTkuOTI3LTM3LjYxNi0yMi40NjVzLTI1LjYtMjkuNzgtNTMuMjktMjkuNzgNCgkJCQljLTI3LjY5LDAtNDEuMjczLDE1LjY3My01My4yOSwyOS43OGMtMTIuMDE2LDE0LjEwNi0xOS44NTMsMjIuNDY1LTM3LjYxNiwyMi40NjVzLTI2LjY0NS05LjkyNy0zNy42MTYtMjIuNDY1DQoJCQkJYy03LjQ1OC05Ljg1LTE2Ljg4OS0xOC4wMzUtMjcuNjktMjQuMDMzYy01LjE5NC0yLjU5Ny0xMS41MDktMC40OTItMTQuMTA2LDQuNzAyYy0yLjU5Nyw1LjE5NC0wLjQ5MiwxMS41MDksNC43MDIsMTQuMTA2DQoJCQkJYzguMjAzLDQuOTQ0LDE1LjQ1NywxMS4zMTQsMjEuNDIsMTguODA4YzEyLjAxNiwxNC4xMDYsMjYuMTIyLDI5Ljc4LDUzLjI5LDI5Ljc4czQxLjI3My0xNS42NzMsNTMuMjktMjkuNzgNCgkJCQljMTIuMDE2LTE0LjEwNiwxOS44NTMtMjIuNDY1LDM3LjYxNi0yMi40NjVzMjYuNjQ1LDkuOTI3LDM3LjYxNiwyMi40NjVzMjUuNiwyOS43OCw1My4yOSwyOS43OA0KCQkJCWMyNy42OSwwLDQxLjI3My0xNS42NzMsNTMuMjktMjkuNzhzMTkuODUzLTIyLjQ2NSwzNy42MTYtMjIuNDY1YzE3Ljc2MywwLDI2LjY0NSw5LjkyNywzNy42MTYsMjIuNDY1DQoJCQkJYzYuMDg5LDcuODE4LDEzLjMwOCwxNC42ODUsMjEuNDIsMjAuMzc1YzQuOTA1LDMuMTc0LDExLjQ1NSwxLjc3MSwxNC42MjktMy4xMzUNCgkJCQlDNDMwLjA4MiwxOTEuNjM1LDQyOC42NzksMTg1LjA4NSw0MjMuNzczLDE4MS45MTF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik01LjgxNCw4Mi4xMjRjOC4yMDMsNC45NDQsMTUuNDU3LDExLjMxNCwyMS40MiwxOC44MDhjMTIuMDE2LDE0LjEwNiwyNi4xMjIsMjkuNzgsNTMuMjksMjkuNzgNCgkJCQlzNDEuMjczLTE1LjY3Myw1My4yOS0yOS43OGMxMi4wMTYtMTQuMTA2LDE5Ljg1My0yMi40NjUsMzcuNjE2LTIyLjQ2NXMyNi42NDUsOS45MjcsMzcuNjE2LDIyLjQ2NQ0KCQkJCWMxMC45NzEsMTIuNTM5LDI1LjYsMjkuNzgsNTMuMjksMjkuNzhjMjcuNjksMCw0MS4yNzMtMTUuNjczLDUzLjI5LTI5Ljc4YzEyLjAxNi0xNC4xMDYsMTkuODUzLTIyLjQ2NSwzNy42MTYtMjIuNDY1DQoJCQkJYzE3Ljc2MywwLDI2LjY0NSw5LjkyNywzNy42MTYsMjIuNDY1YzYuMDg5LDcuODE4LDEzLjMwOCwxNC42ODUsMjEuNDIsMjAuMzc2YzQuOTA1LDMuMTc0LDExLjQ1NSwxLjc3LDE0LjYyOS0zLjEzNQ0KCQkJCWMzLjE3NC00LjkwNSwxLjc3MS0xMS40NTUtMy4xMzUtMTQuNjI5aDBjLTYuNjE3LTQuNTk5LTEyLjQ0LTEwLjI0Ni0xNy4yNDEtMTYuNzE4Yy0xMS40OTQtMTMuMDYxLTI2LjEyMi0yOS4yNTctNTMuMjktMjkuMjU3DQoJCQkJYy0yNy4xNjcsMC00MS4yNzMsMTUuNjczLTUzLjI5LDI5Ljc4Yy0xMi4wMTYsMTQuMTA2LTE5Ljg1MywyMi40NjUtMzcuNjE2LDIyLjQ2NXMtMjYuNjQ1LTkuOTI3LTM3LjYxNi0yMi40NjUNCgkJCQljLTEwLjk3MS0xMi41MzktMjUuNi0yOS43OC01My4yOS0yOS43OGMtMjcuNjksMC00MS4yNzMsMTUuNjczLTUzLjI5LDI5Ljc4Yy0xMi4wMTYsMTQuMTA2LTE5Ljg1MywyMi40NjUtMzcuNjE2LDIyLjQ2NQ0KCQkJCVM1My44OCw5OS44ODcsNDIuOTA4LDg3LjM0OGMtNy40NTgtOS44NS0xNi44ODktMTguMDM1LTI3LjY5LTI0LjAzM2MtNS4xOTQtMi41OTctMTEuNTA5LTAuNDkyLTE0LjEwNiw0LjcwMg0KCQkJCVMwLjYyMSw3OS41MjcsNS44MTQsODIuMTI0eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",rNe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUwOCA1MDgiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxyZWN0IHg9IjEzOS4zIiB3aWR0aD0iMTYuNCIgaGVpZ2h0PSIzOC4yIi8+DQogICAgICAgIDxwb2x5Z29uIHBvaW50cz0iMTA0LjEsMjEuNCA4OC45LDI3LjcgOTgsNDkuOCAxMTMuMiw0My41IAkJIi8+DQogICAgICAgIDxwb2x5Z29uIHBvaW50cz0iMjcuNSw4OS40IDIxLjMsMTA0LjYgNDMuMywxMTMuNyA0OS41LDk4LjUgCQkiLz4NCiAgICAgICAgPHBvbHlnb24gcG9pbnRzPSIxOTAuOSwyMS40IDE4MS44LDQzLjUgMTk2LjksNDkuOCAyMDYsMjcuNyAJCSIvPg0KICAgICAgICA8cG9seWdvbiBwb2ludHM9IjQzLjMsMTgyLjcgMjEuMywxOTEuOCAyNy41LDIwNyA0OS41LDE5Ny45IAkJIi8+DQogICAgICAgIDxwb2x5Z29uIHBvaW50cz0iMjY3LjQsODkuNCAyNDUuNCw5OC41IDI1MS43LDExMy43IDI3My43LDEwNC42IAkJIi8+DQogICAgICAgIDxwb2x5Z29uIHBvaW50cz0iMjQ2LDM3LjYgMjE5LjEsNjQuNiAyMzAuNyw3Ni4zIDI1Ny42LDQ5LjIgCQkiLz4NCiAgICAgICAgPHBvbHlnb24gcG9pbnRzPSI2NC4zLDIyMC4xIDM3LjQsMjQ3LjEgNDksMjU4LjggNzUuOSwyMzEuNyAJCSIvPg0KICAgICAgICA8cG9seWdvbiBwb2ludHM9IjE0LjMsMTQwIDAsMTQwIDAsMTU2LjQgMTQuMywxNTYuNCAzOC4xLDE1Ni40IDM4LjEsMTQwIAkJIi8+DQogICAgICAgIDxwb2x5Z29uIHBvaW50cz0iNTkuMSw0Ny43IDQ5LDM3LjYgMzcuNCw0OS4yIDY0LjMsNzYuMyA3NS45LDY0LjYgCQkiLz4NCiAgICAgICAgPHBhdGggZD0iTTMxOS41LDE3Mi45djE2LjVjNDkuNywwLDkwLjEsNDAuNiw5MC4xLDkwLjZINDI2QzQyNi4xLDIyMC45LDM3OC4zLDE3Mi45LDMxOS41LDE3Mi45eiIvPg0KICAgICAgICA8cGF0aCBkPSJNNDY2LjEsMjk1LjVjMC42LTUuNiwwLjktMTAuNiwwLjktMTUuNmMwLTgxLjctNjYuMi0xNDguMi0xNDcuNS0xNDguMmMtMjguNCwwLTU1LjUsOC4yLTc4LjcsMjNjMC4yLTIuMiwwLjUtNC4zLDAuNS02LjUNCgkJCWMwLTUyLTQyLjEtOTQuMy05My44LTk0LjNzLTkzLjgsNDIuMy05My44LDk0LjNjMCwzMC42LDE0LjksNTkuMSwzOS41LDc2LjdjLTE1LjQsMTcuMi0yNS41LDM5LjMtMjcuMyw2My43DQoJCQljLTM3LDQtNjUuOCwzNS41LTY1LjgsNzMuN2MwLDQwLjksMzMuMSw3NC4xLDczLjcsNzQuMWgzNjAuNWM0MC43LDAsNzMuNy0zMy4yLDczLjctNzQuMUM1MDgsMzMzLjcsNDkxLjQsMzA3LjcsNDY2LjEsMjk1LjV6DQoJCQkgTTcwLDE0OC4yYzAtNDIuOSwzNC43LTc3LjgsNzcuNC03Ny44YzQyLjcsMCw3Ny40LDM0LjksNzcuNCw3Ny44YzAsNi45LTAuOSwxMy45LTIuNywyMC42Yy04LjMsNy40LTE1LjcsMTUuNS0yMi4xLDI0LjQNCgkJCWMtMzMuMS05LjEtNjguNy0xLjMtOTQuOSwyMC4xQzgzLjMsMTk5LDcwLDE3NC41LDcwLDE0OC4yeiBNNDM0LjMsNDE5LjlINzMuN2MtMzEuNiwwLTU3LjQtMjUuOS01Ny40LTU3LjYNCgkJCWMwLTMxLjgsMjUuNy01Ny42LDU3LjQtNTcuNmg4LjJ2LTguMmMwLTQ5LjksNDAuNC05MC42LDkwLjEtOTAuNmMxNC40LDAsMzQuNyw2LjgsMzQuNyw2LjhzMzguNy02NC40LDExMi44LTY0LjQNCgkJCWM3Mi4zLDAsMTMxLjEsNTkuMSwxMzEuMSwxMzEuN2MwLDEzLjktMi42LDI2LjEtMi42LDI2LjFsNi4yLDIuM2MyMi4zLDguNCwzNy4zLDMwLjEsMzcuMyw1My45DQoJCQlDNDkxLjYsMzk0LDQ2NS45LDQxOS45LDQzNC4zLDQxOS45eiIvPg0KICAgICAgICA8cG9seWdvbiBwb2ludHM9Ijg4LjQsNDU1LjIgNDcuNSw0OTYuNCA1OS4xLDUwOCAxMDAsNDY2LjggCQkiLz4NCiAgICAgICAgPHBvbHlnb24gcG9pbnRzPSIxNzguNiw0NTUuMiAxMzcuNiw0OTYuNCAxNDkuMiw1MDggMTkwLjEsNDY2LjggCQkiLz4NCiAgICAgICAgPHBvbHlnb24gcG9pbnRzPSIyNjguNyw0NTUuMiAyMjcuNyw0OTYuNCAyMzkuMyw1MDggMjgwLjMsNDY2LjggCQkiLz4NCiAgICAgICAgPHBvbHlnb24gcG9pbnRzPSIzNTguOCw0NTUuMiAzMTcuOSw0OTYuNCAzMjkuNCw1MDggMzcwLjQsNDY2LjggCQkiLz4NCiAgICAgICAgPHBvbHlnb24gcG9pbnRzPSI0NDguOSw0NTUuMiA0MDgsNDk2LjQgNDE5LjYsNTA4IDQ2MC41LDQ2Ni44IAkJIi8+DQogICAgPC9nPg0KPC9zdmc+DQo=",oNe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im02MSA1NWgtNXYtNDRhMy4wMDkgMy4wMDkgMCAwIDAgMy0zdi01YTEgMSAwIDAgMCAtMS0xaC01MmExIDEgMCAwIDAgLTEgMXY1YTMuMDA5IDMuMDA5IDAgMCAwIDMgM3Y0NGgtNWExIDEgMCAwIDAgLTEgMXY1YTEgMSAwIDAgMCAxIDFoNThhMSAxIDAgMCAwIDEtMXYtNWExIDEgMCAwIDAgLTEtMXptLTU0LTQ3di00aDUwdjRhMSAxIDAgMCAxIC0xIDFoLTQ4YTEgMSAwIDAgMSAtMS0xem00NyAzdjQ0aC00NHYtNDR6bTYgNDloLTU2di0zaDU2eiIvPg0KICAgICAgICA8cGF0aCBkPSJtNTIgMTJoLTQwYTEgMSAwIDAgMCAtMSAxdjQwYTEgMSAwIDAgMCAxIDFoNDBhMSAxIDAgMCAwIDEtMXYtNDBhMSAxIDAgMCAwIC0xLTF6bS0yMSA0MGgtMTh2LTE5aDE4em0wLTIxaC0xOHYtMTdoMTh6bTIwIDIxaC0xOHYtMTloMTh6bTAtMjFoLTE4di0xN2gxOHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTE1LjE3MiAxOGg1LjY1N3YyaC01LjY1N3oiIHRyYW5zZm9ybT0ibWF0cml4KC43MDcgLS43MDcgLjcwNyAuNzA3IC04LjE2MyAxOC4yOTMpIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xNC4xMzYgMjAuNWgxMi43Mjh2MmgtMTIuNzI4eiIgdHJhbnNmb3JtPSJtYXRyaXgoLjcwNyAtLjcwNyAuNzA3IC43MDcgLTkuMTk4IDIwLjc5MykiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",MNe={"Alarm Systems":"PHN2ZyBoZWlnaHQ9IjUxMXB0IiB2aWV3Qm94PSItMzEgMCA1MTEgNTExLjk5OTk4IiB3aWR0aD0iNTExcHQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTIzNS4zMjgxMjUgMTE5LjE2Nzk2OWMyMC44Mzk4NDQgOC4wNTg1OTMgMzUuNjQ0NTMxIDIxLjE0ODQzNyA0NC42MzI4MTMgNDEuNTAzOTA2Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yMzEuNjg3NSAxMjguNTg1OTM4YzE4Ljk4MDQ2OSA3LjMzOTg0MyAzMS4zODI4MTIgMTguODMyMDMxIDM5LjAzNTE1NiAzNi4xNjQwNjIgMS42Njc5NjkgMy43NzM0MzggNS4zNjMyODIgNi4wMjM0MzggOS4yNDIxODggNi4wMjM0MzggMS4zNjMyODEgMCAyLjc0NjA5NC0uMjc3MzQ0IDQuMDcwMzEyLS44NjMyODIgNS4xMDU0NjktMi4yNTM5MDYgNy40MTQwNjMtOC4yMTQ4NDQgNS4xNjAxNTYtMTMuMzE2NDA2LTkuODIwMzEyLTIyLjI1LTI2LjI1LTM3LjU3NDIxOS01MC4yMjY1NjItNDYuODQzNzUtNS4xOTkyMTktMi4wMTE3MTktMTEuMDQ2ODc1LjU3NDIxOS0xMy4wNTg1OTQgNS43NzczNDQtMi4wMTE3MTggNS4yMDMxMjUuNTc4MTI1IDExLjA0Njg3NSA1Ljc3NzM0NCAxMy4wNTg1OTR6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMjA3LjEwNTQ2OSAyMzcuODEyNWMyMC4wODk4NDMgMCAzNi40Mzc1LTE2LjM0Mzc1IDM2LjQzNzUtMzYuNDMzNTk0IDAtMjAuMDkzNzUtMTYuMzQ3NjU3LTM2LjQzNzUtMzYuNDM3NS0zNi40Mzc1LTIwLjA4OTg0NCAwLTM2LjQzNzUgMTYuMzQzNzUtMzYuNDM3NSAzNi40Mzc1IDAgMjAuMDg5ODQ0IDE2LjM0NzY1NiAzNi40MzM1OTQgMzYuNDM3NSAzNi40MzM1OTR6bTAtNTIuNjc1NzgxYzguOTUzMTI1IDAgMTYuMjQyMTg3IDcuMjg1MTU2IDE2LjI0MjE4NyAxNi4yNDIxODcgMCA4Ljk1MzEyNS03LjI4OTA2MiAxNi4yMzgyODItMTYuMjQyMTg3IDE2LjIzODI4Mi04Ljk1NzAzMSAwLTE2LjI0MjE4OC03LjI4NTE1Ny0xNi4yNDIxODgtMTYuMjM4MjgyIDAtOC45NTcwMzEgNy4yODUxNTctMTYuMjQyMTg3IDE2LjI0MjE4OC0xNi4yNDIxODd6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMzkwLjE3OTY4OCAxNDcuMDE1NjI1YzMuNzY1NjI0IDAgNy4zOTg0MzctLjU3NDIxOSAxMC44MjAzMTItMS42MzY3MTlsNy4zMzk4NDQgOS44NzEwOTRjMTMuOTQxNDA2IDE4Ljc1IDIxLjYyMTA5NCA0MS45NDUzMTIgMjEuNjIxMDk0IDY1LjMxMjV2NTkuMTUyMzQ0YzAgNS41NzgxMjUgNC41MjM0MzcgMTAuMDk3NjU2IDEwLjA5NzY1NiAxMC4wOTc2NTYgNS41NzQyMTggMCAxMC4wOTc2NTYtNC41MTk1MzEgMTAuMDk3NjU2LTEwLjA5NzY1NnYtNTkuMTUyMzQ0YzAtMjcuNjc1NzgxLTkuMDkzNzUtNTUuMTUyMzQ0LTI1LjYwOTM3NS03Ny4zNTkzNzVsLTYuNjc1NzgxLTguOTgwNDY5YzUuNDQ5MjE4LTYuMzY3MTg3IDguNzQ2MDk0LTE0LjYyNSA4Ljc0NjA5NC0yMy42NDA2MjUgMC0yMC4wOTM3NS0xNi4zNDM3NS0zNi40Mzc1LTM2LjQzNzUtMzYuNDM3NS0yMC4wODk4NDQgMC0zNi40MzM1OTQgMTYuMzQzNzUtMzYuNDMzNTk0IDM2LjQzNzUgMCAyMC4wODk4NDQgMTYuMzQzNzUgMzYuNDMzNTk0IDM2LjQzMzU5NCAzNi40MzM1OTR6bTAtNTIuNjc1NzgxYzguOTU3MDMxIDAgMTYuMjQyMTg3IDcuMjg1MTU2IDE2LjI0MjE4NyAxNi4yNDIxODcgMCA4Ljk1MzEyNS03LjI4NTE1NiAxNi4yNDIxODgtMTYuMjQyMTg3IDE2LjI0MjE4OC04Ljk1MzEyNiAwLTE2LjI0MjE4OC03LjI4OTA2My0xNi4yNDIxODgtMTYuMjQyMTg4IDAtOC45NTcwMzEgNy4yODkwNjItMTYuMjQyMTg3IDE2LjI0MjE4OC0xNi4yNDIxODd6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDQwLjA1ODU5NCAzNDkuMDUwNzgxYy01LjU3ODEyNSAwLTEwLjA5NzY1NiA0LjUxOTUzMS0xMC4wOTc2NTYgMTAuMDk3NjU3djYzLjMyMDMxMmMwIDE0LjIzMDQ2OS0xMS41NzgxMjYgMjUuODA4NTk0LTI1LjgwODU5NCAyNS44MDg1OTRoLTQ0LjU5NzY1NnYtMzMuNDI5Njg4YzAtNS41NzgxMjUtNC41MTk1MzItMTAuMDk3NjU2LTEwLjA5Mzc1LTEwLjA5NzY1NmgtNDIuMjY1NjI2di0xMTIuNDUzMTI1YzIxLjg1NTQ2OS0yNC4wMzUxNTYgMzUuMTkxNDA3LTU1Ljk0OTIxOSAzNS4xOTE0MDctOTAuOTE3OTY5IDAtNzQuNTk3NjU2LTYwLjY4NzUtMTM1LjI4NTE1Ni0xMzUuMjgxMjUtMTM1LjI4NTE1NnMtMTM1LjI4MTI1IDYwLjY4NzUtMTM1LjI4MTI1IDEzNS4yODUxNTZjMCAzMy4xMDU0NjkgMTEuOTU3MDMxIDYzLjQ2NDg0NCAzMS43NzczNDMgODcuMDAzOTA2djIxMy41MTk1MzJjMCA1LjU3ODEyNSA0LjUyMzQzOCAxMC4wOTc2NTYgMTAuMDk3NjU3IDEwLjA5NzY1NmgyMzUuNzYxNzE5YzUuNTc0MjE4IDAgMTAuMDkzNzUtNC41MTk1MzEgMTAuMDkzNzUtMTAuMDk3NjU2di0zMy40Mjk2ODhoNDQuNTk3NjU2YzI1LjM2NzE4NyAwIDQ2LjAwMzkwNi0yMC42MzY3MTggNDYuMDAzOTA2LTQ2LjAwMzkwNnYtNjMuMzIwMzEyYzAtNS41NzgxMjYtNC41MjM0MzgtMTAuMDk3NjU3LTEwLjA5NzY1Ni0xMC4wOTc2NTd6bS0yMzIuOTUzMTI1LTI2Mi43NjE3MTljNjMuNDU3MDMxIDAgMTE1LjA4NTkzNyA1MS42Mjg5MDcgMTE1LjA4NTkzNyAxMTUuMDg5ODQ0IDAgNjMuNDU3MDMyLTUxLjYyODkwNiAxMTUuMDg1OTM4LTExNS4wODU5MzcgMTE1LjA4NTkzOC02My40NjA5MzggMC0xMTUuMDg1OTM4LTUxLjYyODkwNi0xMTUuMDg1OTM4LTExNS4wODU5MzggMC02My40NjA5MzcgNTEuNjI1LTExNS4wODk4NDQgMTE1LjA4NTkzOC0xMTUuMDg5ODQ0em0tODMuMzA4NTk0IDIyMS42MDE1NjNjMjIuOTgwNDY5IDE4LjAxNTYyNSA1MS45MTAxNTYgMjguNzY5NTMxIDgzLjMwODU5NCAyOC43Njk1MzEgMjkuODYzMjgxIDAgNTcuNDkyMTg3LTkuNzM0Mzc1IDc5Ljg5NDUzMS0yNi4xODc1djE4MS4zMzIwMzJoLTE2My4yMDMxMjV6bTIxNS41NjY0MDYgMTgzLjkxNDA2M2gtMzIuMTY3OTY5di02Ni44NTkzNzZoMzIuMTY3OTY5em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTE0OC4xNjAxNTYgMzc3Ljc4OTA2MmgxNy45MjU3ODJjNS41NzQyMTggMCAxMC4wOTc2NTYtNC41MjM0MzcgMTAuMDk3NjU2LTEwLjA5NzY1NiAwLTUuNTc4MTI1LTQuNTIzNDM4LTEwLjA5NzY1Ni0xMC4wOTc2NTYtMTAuMDk3NjU2aC0xNy45MjU3ODJjLTUuNTc0MjE4IDAtMTAuMDk3NjU2IDQuNTE5NTMxLTEwLjA5NzY1NiAxMC4wOTc2NTYgMCA1LjU3NDIxOSA0LjUyMzQzOCAxMC4wOTc2NTYgMTAuMDk3NjU2IDEwLjA5NzY1NnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xOTguMTQ0NTMxIDM3Ny43ODkwNjJoMTcuOTIxODc1YzUuNTc0MjE5IDAgMTAuMDk3NjU2LTQuNTIzNDM3IDEwLjA5NzY1Ni0xMC4wOTc2NTYgMC01LjU3ODEyNS00LjUyMzQzNy0xMC4wOTc2NTYtMTAuMDk3NjU2LTEwLjA5NzY1NmgtMTcuOTIxODc1Yy01LjU3ODEyNSAwLTEwLjA5NzY1NiA0LjUxOTUzMS0xMC4wOTc2NTYgMTAuMDk3NjU2IDAgNS41NzQyMTkgNC41MTk1MzEgMTAuMDk3NjU2IDEwLjA5NzY1NiAxMC4wOTc2NTZ6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMjY2LjA0Njg3NSAzNTcuNTkzNzVoLTE3LjkyMTg3NWMtNS41NzQyMTkgMC0xMC4wOTc2NTYgNC41MTk1MzEtMTAuMDk3NjU2IDEwLjA5NzY1NiAwIDUuNTc0MjE5IDQuNTIzNDM3IDEwLjA5NzY1NiAxMC4wOTc2NTYgMTAuMDk3NjU2aDE3LjkyMTg3NWM1LjU3ODEyNSAwIDEwLjA5NzY1Ni00LjUyMzQzNyAxMC4wOTc2NTYtMTAuMDk3NjU2IDAtNS41NzgxMjUtNC41MTk1MzEtMTAuMDk3NjU2LTEwLjA5NzY1Ni0xMC4wOTc2NTZ6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMTQ4LjE2MDE1NiA0MjAuNjc1NzgxaDY3LjkwNjI1YzUuNTc0MjE5IDAgMTAuMDk3NjU2LTQuNTE5NTMxIDEwLjA5NzY1Ni0xMC4wOTc2NTZzLTQuNTIzNDM3LTEwLjA5NzY1Ni0xMC4wOTc2NTYtMTAuMDk3NjU2aC02Ny45MDYyNWMtNS41NzQyMTggMC0xMC4wOTc2NTYgNC41MTk1MzEtMTAuMDk3NjU2IDEwLjA5NzY1NnM0LjUyMzQzOCAxMC4wOTc2NTYgMTAuMDk3NjU2IDEwLjA5NzY1NnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yNDguMTI1IDQ0My4xNTYyNWgtOTkuOTY0ODQ0Yy01LjU3NDIxOCAwLTEwLjA5NzY1NiA0LjUxOTUzMS0xMC4wOTc2NTYgMTAuMDk3NjU2IDAgNS41NzQyMTkgNC41MjM0MzggMTAuMDk3NjU2IDEwLjA5NzY1NiAxMC4wOTc2NTZoOTkuOTY0ODQ0YzUuNTc0MjE5IDAgMTAuMDk3NjU2LTQuNTIzNDM3IDEwLjA5NzY1Ni0xMC4wOTc2NTYgMC01LjU3ODEyNS00LjUxOTUzMS0xMC4wOTc2NTYtMTAuMDk3NjU2LTEwLjA5NzY1NnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xMDYuMzU1NDY5IDQwLjEzNjcxOWMxLjg0Mzc1IDMuMzIwMzEyIDUuMjg1MTU2IDUuMTkxNDA2IDguODMyMDMxIDUuMTkxNDA2IDEuNjYwMTU2IDAgMy4zNDM3NS0uNDE0MDYzIDQuODk4NDM4LTEuMjc3MzQ0IDQuODc1LTIuNzEwOTM3IDYuNjI1LTguODU5Mzc1IDMuOTE0MDYyLTEzLjczNDM3NWwtMTMuOTg0Mzc1LTI1LjEyODkwNmMtMi43MTA5MzctNC44NzEwOTQtOC44NTkzNzUtNi42MjUtMTMuNzM0Mzc1LTMuOTEwMTU2LTQuODcxMDk0IDIuNzEwOTM3LTYuNjI1IDguODU5Mzc1LTMuOTE0MDYyIDEzLjczNDM3NXptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im02My4xNDQ1MzEgODMuMDE1NjI1LTI2LjA1NDY4Ny0xNS4wMzkwNjNjLTQuODMyMDMyLTIuNzg5MDYyLTExLjAwMzkwNi0xLjEzMjgxMi0xMy43OTI5NjkgMy42OTUzMTNzLTEuMTMyODEzIDExLjAwMzkwNiAzLjY5NTMxMyAxMy43OTI5NjlsMjYuMDU0Njg3IDE1LjA0Mjk2OGMxLjU4OTg0NC45MTc5NjkgMy4zMjgxMjUgMS4zNTE1NjMgNS4wMzkwNjMgMS4zNTE1NjMgMy40ODgyODEgMCA2Ljg4MjgxMi0xLjgwODU5NCA4Ljc1MzkwNi01LjA0Njg3NSAyLjc4OTA2Mi00LjgzMjAzMSAxLjEzMjgxMi0xMS4wMDc4MTItMy42OTUzMTMtMTMuNzk2ODc1em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQxLjExMzI4MSAxNDYuMjEwOTM4LTMwLjA4NTkzNy0xLjI4MTI1Yy01LjU4MjAzMi0uMjUtMTAuMjgxMjUgNC4wODk4NDMtMTAuNTE5NTMyIDkuNjYwMTU2LS4yMzQzNzQgNS41NzAzMTIgNC4wODk4NDQgMTAuMjgxMjUgOS42NjAxNTcgMTAuNTE1NjI1bDMwLjA4NTkzNyAxLjI4MTI1Yy4xNDQ1MzIuMDA3ODEyLjI5Mjk2OS4wMDc4MTIuNDM3NS4wMDc4MTIgNS4zNzg5MDYgMCA5Ljg1MTU2My00LjI0MjE4NyAxMC4wNzgxMjUtOS42Njc5NjkuMjM4MjgxLTUuNTcwMzEyLTQuMDg1OTM3LTEwLjI3NzM0My05LjY1NjI1LTEwLjUxNTYyNHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yODMuNjQwNjI1IDE5OC42MjUuMTIxMDk0LjI5Njg3NWMxLjU4OTg0MyAzLjkyNTc4MSA1LjM2NzE4NyA2LjMwNDY4NyA5LjM1OTM3NSA2LjMwNDY4NyAxLjI2MTcxOCAwIDIuNTQ2ODc1LS4yMzgyODEgMy43ODkwNjItLjc0MjE4NyA1LjE2Nzk2OS0yLjA5Mzc1IDcuNjYwMTU2LTcuOTgwNDY5IDUuNTY2NDA2LTEzLjE0ODQzN2wtLjEyMTA5My0uMjk2ODc2Yy0yLjA5Mzc1LTUuMTY3OTY4LTcuOTgwNDY5LTcuNjU2MjUtMTMuMTQ4NDM4LTUuNTYyNXMtNy42NjAxNTYgNy45ODA0NjktNS41NjY0MDYgMTMuMTQ4NDM4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ0OS4zNjcxODggMzE1LjY2Nzk2OWMtMi4wNzgxMjYtNS4xNzE4NzUtNy45NjQ4NDQtNy42Nzk2ODgtMTMuMTM2NzE5LTUuNjAxNTYzLTUuMTcxODc1IDIuMDgyMDMyLTcuNjc5Njg4IDcuOTYwOTM4LTUuNjAxNTYzIDEzLjEzNjcxOWwuMTE3MTg4LjI5Mjk2OWMxLjU4NTkzNyAzLjk0MTQwNiA1LjM3MTA5NCA2LjMzNTkzNyA5LjM3NSA2LjMzNTkzNyAxLjI1MzkwNiAwIDIuNTI3MzQ0LS4yMzQzNzUgMy43NjE3MTgtLjczNDM3NSA1LjE3NTc4Mi0yLjA3ODEyNSA3LjY4MzU5NC03Ljk2MDkzNyA1LjYwMTU2My0xMy4xMzI4MTJ6bTAgMCIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",Amplifier:yle,Awnings:Dle,"Battery Status":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTM5NC4wNjMgMzkxLjk5NmMtOS4xOTgtNS4yOS0xOC4zNzMtMTAuNjIzLTI3LjU1OC0xNS45MzcgNS4wMDItMTEuNzY5IDEwLjE5NC0yMy45MDIgMTQuOTAzLTM2LjA1MyAxLjgwOS00LjY2NyAxLjE4OS05LjkxMS0xLjY1NS0xNC4wMjgtNS43NzYtOC4zNjEtMTYuODYzLTguODU1LTI0LjM0NC0xLjc0LTE5LjY2MSAxOC43LTM5LjA4NSAzNy01OC42NTIgNTUuNTM3LTMuNzc1IDMuNTc3LTUuNjM5IDguNDM0LTUuMTEgMTMuMzI3LjUyMyA0Ljg0NiAzLjMzOSA5LjE0NCA3LjcyNSAxMS43OTIgOS4zNDUgNS42NDEgMTguNzYxIDEwLjk1NSAyOC4wOTggMTYuMjkxLTQuNjQ0IDEwLjk1MS0xMC4zNzIgMjQuMjQ2LTE0LjkyIDM2LjAwMi0yLjg4NyA3LjQ2Mi40MjEgMTUuNzQ0IDcuNjkzIDE5LjI2NCA1LjcxNCAyLjc2NiAxMi4yOCAyLjIxMSAxOC4yOTktMy40ODMgMTkuMzQ0LTE4LjMgMzkuMzQzLTM3LjIxNCA1OC42Ny01NS41NDcgMy44MTgtMy42MjIgNS42NzQtOC41MTIgNS4wOS0xMy40MTYtLjU5MS00Ljk2Mi0zLjU5NC05LjMzOC04LjIzOS0xMi4wMDl6bS03LjE3NCAxNC41NGMtMTUuNjM0IDE0LjgzMi01OC45NDkgNTYuOTczLTYwLjEwOSA1Ni40MTItLjExOC0uMDU3LS4zMDYtLjE3OC0uMjQtLjM0OSA1LjE3OS0xMy41MjYgMTEuNjM1LTI4LjI3MiAxNi45MTgtNDAuNzMyIDEuNDkzLTMuNTIyLjkwNy04LjI4LTMuNzY4LTEwLjk3LTEwLjg0LTYuMjM3LTIxLjc5MS0xMi4zNTQtMzIuNTY0LTE4Ljg0NS0uODAyLS40ODMtLjc2Ny0uNzEtLjA1MS0xLjM4OCAyMC44NzQtMTkuNzc5IDU3Ljk1OS01NS4zMTEgNTkuODAzLTU2LjQ1OS4zOTYuMDg0LjU0NC4yOTkuNTQ1LjM4NC01LjMwNyAxMy42ODQtMTEuMjEzIDI3LjMwNS0xNi45IDQwLjczOS0xLjc5NCA0LjIzNy0uMjkzIDguNjQ5IDMuNzM5IDEwLjk4IDQuMzk5IDIuNTQgOC43OTYgNS4wODcgMTMuMTkxIDcuNjM0IDYuMzc0IDMuNjkzIDEyLjc0OCA3LjM4NyAxOS4xMzQgMTEuMDU5IDEuMTA2LjYzNSAxLjEzNi43NDQuMzAyIDEuNTM1em0tODEuNzg0LTIwOC40aC0yMDEuNDZjLTEwLjI3MyAwLTE4LjYzMSA4LjMzLTE4LjYzMSAxOC41Njl2NDQuMjc2YzAgMTAuMjM5IDguMzU3IDE4LjU2OSAxOC42MzEgMTguNTY5aDIwMS40NjFjMTAuMjczIDAgMTguNjMxLTguMzMgMTguNjMxLTE4LjU2OXYtNDQuMjc2Yy0uMDAxLTEwLjIzOS04LjM1OC0xOC41NjktMTguNjMyLTE4LjU2OXptMy42MzEgNjIuODQ1YzAgMS45NjgtMS42MjkgMy41NjktMy42MzEgMy41NjloLTIwMS40NmMtMi4wMDIgMC0zLjYzMS0xLjYwMS0zLjYzMS0zLjU2OXYtNDQuMjc2YzAtMS45NjggMS42MjktMy41NjkgMy42MzEtMy41NjloMjAxLjQ2MWMyLjAwMiAwIDMuNjMxIDEuNjAxIDMuNjMxIDMuNTY5djQ0LjI3NnptMTUtMTQzLjg5OGMwLTEwLjIzOS04LjM1Ny0xOC41NjktMTguNjMxLTE4LjU2OWgtMjAxLjQ2Yy0xMC4yNzMgMC0xOC42MzEgOC4zMy0xOC42MzEgMTguNTY5djQ0LjI3NmMwIDEwLjIzOSA4LjM1NyAxOC41NjkgMTguNjMxIDE4LjU2OWgyMDEuNDYxYzEwLjI3MyAwIDE4LjYzMS04LjMzIDE4LjYzMS0xOC41Njl2LTQ0LjI3NnptLTE1IDQ0LjI3N2MwIDEuOTY4LTEuNjI5IDMuNTY5LTMuNjMxIDMuNTY5aC0yMDEuNDZjLTIuMDAyIDAtMy42MzEtMS42MDEtMy42MzEtMy41Njl2LTQ0LjI3NmMwLTEuOTY4IDEuNjI5LTMuNTY5IDMuNjMxLTMuNTY5aDIwMS40NjFjMi4wMDIgMCAzLjYzMSAxLjYwMSAzLjYzMSAzLjU2OXY0NC4yNzZ6bTM4LjI0NyAxMjMuODU3Yy0xOC42NTMgMC0zNi4yNjYgNC41MjktNTEuODAzIDEyLjU0MmgtMTkxLjUzNWMtMTAuMjcyIDAtMTguNjMgOC4zMzEtMTguNjMgMTguNTd2NDQuMjdjMCAxMC4yMzkgOC4zNTcgMTguNTcgMTguNjMgMTguNTdoMTMxLjYyMWMtMS4wOTYgNi4zMTgtMS42NzMgMTIuODEyLTEuNjczIDE5LjQzOCAwIDI0LjI0MyA3LjY1MSA0Ni43MjkgMjAuNjYgNjUuMTgyaC0xNTAuNjA4Yy0yLjAwMiAwLTMuNjMtMS42MDItMy42My0zLjU3di00NC4yN2MwLTEuOTY5IDEuNjI4LTMuNTcgMy42My0zLjU3aDEwNy42NDFjNC4xNDMgMCA3LjUtMy4zNTggNy41LTcuNXMtMy4zNTctNy41LTcuNS03LjVoLTEwNy42NDFjLTEwLjI3MiAwLTE4LjYzIDguMzMxLTE4LjYzIDE4LjU3djQ0LjI3YzAgMTAuMjM5IDguMzU3IDE4LjU3IDE4LjYzIDE4LjU3aDE2My4yMzdjNy4wNyA3LjA2MyAxNS4wNjUgMTMuMTk5IDIzLjc4NSAxOC4yMWgtMTk4LjI0MmMtMTQuMjI3IDAtMjUuOC0xMS41NzQtMjUuOC0yNS44di0zNjUuMDg5YzAtMTQuMjI2IDExLjU3My0yNS44IDI1LjgtMjUuOGgyMjMuOWMxNC4yMjcgMCAyNS44IDExLjU3NCAyNS44IDI1Ljh2MTU2LjY0YzAgNC4xNDIgMy4zNTcgNy41IDcuNSA3LjVzNy41LTMuMzU4IDcuNS03LjV2LTE1Ni42NGMwLTIyLjQ5Ny0xOC4zMDMtNDAuOC00MC44LTQwLjhoLTQwLjA2N3YtMzUuNjExYzAtMTYuMzc2LTEzLjMyMy0yOS42OTktMjkuNjk5LTI5LjY5OWgtODQuMzY3Yy0xNi4zNzYgMC0yOS42OTkgMTMuMzIzLTI5LjY5OSAyOS42OTl2MzUuNjExaC00MC4wNjhjLTIyLjQ5NyAwLTQwLjggMTguMzAzLTQwLjggNDAuOHYzNjUuMDljMCAyMi40OTcgMTguMzAzIDQwLjggNDAuOCA0MC44aDIyMy45YzMuODkyIDAgNy43MzEtLjU1MyAxMS40NDItMS42MzYgNi4yNDggMS4wNzEgMTIuNjY3IDEuNjM2IDE5LjIxNiAxLjYzNiA2Mi41MjQgMCAxMTMuMzkyLTUwLjg2NyAxMTMuMzkyLTExMy4zOTIgMC02Mi41MjQtNTAuODY3LTExMy4zOTEtMTEzLjM5Mi0xMTMuMzkxem0tMTk5LjQ5MS0yNTUuNTE4YzAtOC4xMDUgNi41OTQtMTQuNjk5IDE0LjY5OS0xNC42OTloODQuMzY3YzguMTA1IDAgMTQuNjk5IDYuNTk0IDE0LjY5OSAxNC42OTl2MzUuNjExaC0xMTMuNzY1em0tNDMuODQ3IDMzNC40NzFjLTIuMDAyIDAtMy42My0xLjYwMi0zLjYzLTMuNTd2LTQ0LjI3YzAtMS45NjkgMS42MjgtMy41NyAzLjYzLTMuNTdoMTY5LjM0MWMtMTUuNjY2IDEzLjUyMS0yNy42IDMxLjI1LTM0LjA0MSA1MS40MXptMjQzLjMzOCAxMzIuODNjLTU0LjI1MyAwLTk4LjM5Mi00NC4xMzgtOTguMzkyLTk4LjM5MiAwLTU0LjI1MyA0NC4xMzktOTguMzkxIDk4LjM5Mi05OC4zOTFzOTguMzkyIDQ0LjEzOCA5OC4zOTIgOTguMzkxYzAgNTQuMjU0LTQ0LjEzOSA5OC4zOTItOTguMzkyIDk4LjM5MnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=","Ceiling Spotlights":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDc0IDc0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im00Ni40NCA0aC0yLjk3YTEgMSAwIDAgMSAwLTJoMi45N2ExIDEgMCAwIDEgMCAyeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNjguNjQgMTAuMzhoLTYzLjI4YTEgMSAwIDAgMSAtMS0xdi02LjM4YTEgMSAwIDAgMSAxLTFoMjEuMmExIDEgMCAwIDEgMCAyaC0yMC4ydjQuMzhoNjEuMjh2LTQuMzhoLTE0LjJhMSAxIDAgMCAxIDAtMmgxNS4yYTEgMSAwIDAgMSAxIDF2Ni4zOGExIDEgMCAwIDEgLTEgMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM2LjQ3IDRoLTIuOTFhMSAxIDAgMCAxIDAtMmgyLjkxYTEgMSAwIDAgMSAwIDJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zNyA1MS4yMDdhMSAxIDAgMCAxIC0xLTF2LTQwLjgyOGExIDEgMCAxIDEgMiAwdjQwLjgyOGExIDEgMCAwIDEgLTEgMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ2Ljc3MSA2Ny4wN2gtMTkuNTQyYTEgMSAwIDAgMSAtLjk3Ny0xLjIxNWwzLjQ5LTE1Ljg1NWExIDEgMCAwIDEgLjk3Ny0uNzg1aDEyLjU2MmExIDEgMCAwIDEgLjk3Ny43ODVsMy40OSAxNS44NmExIDEgMCAwIDEgLS45NzcgMS4yMTV6bS0xOC4zLTJoMTcuMDU2bC0zLjA0OS0xMy44NmgtMTAuOTU2eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzcgNzJhNS45MzYgNS45MzYgMCAwIDEgLTUuOTMtNS45MyAxIDEgMCAwIDEgMiAwIDMuOTMgMy45MyAwIDAgMCA3Ljg2IDAgMSAxIDAgMCAxIDIgMCA1LjkzNiA1LjkzNiAwIDAgMSAtNS45MyA1LjkzeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNjAuNDE2IDM1LjExNGExIDEgMCAwIDEgLTEtMXYtMjQuNzM1YTEgMSAwIDAgMSAyIDB2MjQuNzM1YTEgMSAwIDAgMSAtMSAxeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNjkuNiA1MC4wMjZoLTE4LjM3YTEgMSAwIDAgMSAtLjk3Ni0xLjIxNWwzLjI4LTE0LjkxMWExIDEgMCAwIDEgLjk3Ny0uNzg1aDExLjgwOWExIDEgMCAwIDEgLjk3Ny43ODVsMy4yOCAxNC45MDlhMSAxIDAgMCAxIC0uOTc2IDEuMjE1em0tMTcuMTI2LTJoMTUuODgybC0yLjgzOS0xMi45MDloLTEwLjJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im02MC40MTYgNTQuNjZhNS42NDEgNS42NDEgMCAwIDEgLTUuNjM0LTUuNjM0IDEgMSAwIDEgMSAyIDAgMy42MzQgMy42MzQgMCAxIDAgNy4yNjggMCAxIDEgMCAxIDEgMiAwIDUuNjQxIDUuNjQxIDAgMCAxIC01LjYzNCA1LjYzNHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTEzLjU4NCAzNS4xMTRhMSAxIDAgMCAxIC0xLTF2LTI0LjczNWExIDEgMCAwIDEgMiAwdjI0LjczNWExIDEgMCAwIDEgLTEgMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTIyLjc3IDUwLjAyNmgtMTguMzdhMSAxIDAgMCAxIC0uOTc2LTEuMjE1bDMuMjc2LTE0LjkxMWExIDEgMCAwIDEgLjk3Ny0uNzg1aDExLjgxMmExIDEgMCAwIDEgLjk3Ny43ODVsMy4yOCAxNC45MDlhMSAxIDAgMCAxIC0uOTc2IDEuMjE1em0tMTcuMTI2LTJoMTUuODgxbC0yLjgzOS0xMi45MDloLTEwLjIwM3oiLz4NCiAgICAgICAgPHBhdGggZD0ibTEzLjU4NCA1NC42NmE1LjY0MSA1LjY0MSAwIDAgMSAtNS42MzQtNS42MzQgMSAxIDAgMCAxIDIgMCAzLjYzNCAzLjYzNCAwIDAgMCA3LjI2OCAwIDEgMSAwIDAgMSAyIDAgNS42NDEgNS42NDEgMCAwIDEgLTUuNjM0IDUuNjM0eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",Chandelier:dle,Climate:zle,"Coffee Makers":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTQ2NiAxMTEuOTk2aC00OS43MTlsLTEwOS4yMTUtNDYuMzYxIDQuODg5LTU0Ljc0NmMuMjUtMi43OTYtLjY4Ny01LjU2OC0yLjU4Mi03LjYzOS0xLjg5NC0yLjA3LTQuNTcyLTMuMjUtNy4zNzgtMy4yNWgtNjBjLTIuODA3IDAtNS40ODQgMS4xOC03LjM3OSAzLjI1LTEuODk1IDIuMDcxLTIuODMxIDQuODQzLTIuNTgyIDcuNjM5bDQuODk4IDU0Ljg1NC0xMDQuNzk1IDQ2LjI1M2gtMjYuMTM3Yy0zOC41OTggMC03MCAzMS40MDItNzAgNzB2NjkuOTk3YzAgMTYuNTQyIDEzLjQ1OCAzMCAzMCAzMHMzMC0xMy40NTggMzAtMzB2LTY5Ljk5N2MwLTUuNDIgNC41OC0xMCAxMC0xMGgyNi45MTVsMjEuNDgzIDEyMS43MzhjMS45MjcgMTAuOTIzIDkuOTA0IDE4LjI2MyAxOS44NDggMTguMjYzdjQwLjAwM2MtOS42NTIgMC0xNy4yMTcgNi44MDItMTkuNzQ0IDE3Ljc1MWwtMzAuMDAxIDEzMGMtLjY4NSAyLjk2OS4wMjEgNi4wODkgMS45MTggOC40NzRzNC43NzggMy43NzQgNy44MjYgMy43NzRoMjgwYzMuMDQ3IDAgNS45MjktMS4zOSA3LjgyNi0zLjc3NCAxLjg5Ny0yLjM4NSAyLjYwNC01LjUwNSAxLjkxOC04LjQ3NGwtMzAuMDAxLTEzMGMtMi41MjUtMTAuOTQ5LTEwLjA5MS0xNy43NTEtMTkuNzQzLTE3Ljc1MXYtNDAuMDAyYzkuOTQ0IDAgMTcuOTItNy4zMzkgMTkuODQ3LTE4LjI2MmwxNC4zODEtODEuNDkyIDY0LjA1Ni01NS4yMzZjMi4yMDMtMS44OTkgMy40Ny00LjY2NSAzLjQ3LTcuNTczdi0yNy40MzhjLjAwMS01LjUyNC00LjQ3Ny0xMC4wMDEtOS45OTktMTAuMDAxem0tMTc0LjkzOC05MS45OTYtMy43NSA0MS45OTZoLTMwLjYzNGwtMy43NTEtNDEuOTk2em0tNDEuNDIzIDYxLjk5Nmg0NC43ODVsNzAuNjcyIDMwaC0xODMuNDI4em0tMTQzLjYzOSA3MC4wMDFjLTE2LjU0MiAwLTMwIDEzLjQ1OC0zMCAzMHY2OS45OTdjMCA1LjUxNC00LjQ4NiAxMC0xMCAxMHMtMTAtNC40ODYtMTAtMTB2LTY5Ljk5N2MwLTI3LjU3IDIyLjQzLTUwIDUwLTUwaDE5Ljg1NmwzLjUzIDIwem02OC4wOTQgMTM4LjI2My0yNy45MjktMTU4LjI2NGg2Mi43NjJsMi41MjggMzUuODE3Yy4zNzIgNS4yNyA0Ljc2MiA5LjI5NiA5Ljk2NSA5LjI5Ni4yMzYgMCAuNDc1LS4wMDguNzE0LS4wMjUgNS41MDktLjM4OSA5LjY2LTUuMTcgOS4yNzEtMTAuNjc5bC0yLjQyOS0zNC40MDloOTAuNTM5bC0xMS4yOTUgMTYwLjAwMmgtNjcuOTQ5bC0yLjUyOS0zNS44MTdjLS4zODktNS41MDktNS4xNjYtOS42NjEtMTAuNjc5LTkuMjcxLTUuNTA5LjM4OS05LjY2IDUuMTctOS4yNzEgMTAuNjc5bDIuNDI5IDM0LjQwOWgtNDUuNTE4Yy0uMTk5LS4zMjEtLjQ2My0uOTE0LS42MDktMS43Mzh6bS0uMTAzIDgzLjk4OGMuMjU5LTEuMTI1LjYxLTEuODU3Ljg1My0yLjI0OWg0NS4zNmwtMTEuMDc3IDEyMGgtNjIuMzF6bTEzNC4yMTItMi4yNDggMTEuMDc3IDEyMGgtOTAuMDY5bDExLjA3Ny0xMjB6bTY2LjI5NyAyLjI0OCAyNy4xNzUgMTE3Ljc1MmgtNjIuMzFsLTExLjA3Ny0xMjBoNDUuMzZjLjI0My4zOTEuNTkzIDEuMTIzLjg1MiAyLjI0OHptLTIwLjI1NS0yMi4yNDhoLTE1OS45OTh2LTQwLjAwMmgxNTkuOTk4em0yMC4xNTEtNjEuNzRjLS4xNDYuODI0LS40MDkgMS40MTctLjYwOCAxLjczN2gtNDUuNTE4bDExLjI5NS0xNjAuMDAxaDYyLjc2MmwtMTIuOTM3IDczLjMwOWMwIC4wMDEgMCAuMDAyLS4wMDEuMDAzem04MS42MDQtMTQ1LjQwNy00Mi4wMjkgMzYuMjQyIDguNjY1LTQ5LjA5OWgzMy4zNjR6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yMjQuNTk5IDIyMS45OTdjNS41MjMgMCAxMC00LjQ3NyAxMC0xMHMtNC40NzctMTAtMTAtMTBoLS4wMDdjLTUuNTIzIDAtOS45OTYgNC40NzctOS45OTYgMTBzNC40OCAxMCAxMC4wMDMgMTB6Ii8+DQogICAgPC9nPg0KPC9zdmc+","Cold Water":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ3NSA0NzUiID4NCjxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQoJPHBhdGggZD0iTTQzOC40MTMsMzQzLjE4OEM0MjguMDU5LDMzNS4wODUsNDE1LjE3NCwzMjUsMzkwLjgzNSwzMjVjLTI0LjMzOSwwLTM3LjIyNCwxMC4wODUtNDcuNTc3LDE4LjE4OA0KCQlDMzM0LjQ5NiwzNTAuMDQ1LDMyOC4xNjUsMzU1LDMxNC4xNywzNTVjLTEzLjk5NCwwLTIwLjMyNS00Ljk1NS0yOS4wODctMTEuODEzQzI3NC43MjksMzM1LjA4NSwyNjEuODQ0LDMyNSwyMzcuNTA2LDMyNQ0KCQljLTI0LjMzOSwwLTM3LjIyNCwxMC4wODUtNDcuNTc4LDE4LjE4OEMxODEuMTY2LDM1MC4wNDUsMTc0LjgzNCwzNTUsMTYwLjg0LDM1NWMtMTMuOTk2LDAtMjAuMzI3LTQuOTU1LTI5LjA5LTExLjgxMw0KCQlDMTIxLjM5NSwzMzUuMDg0LDEwOC41MDksMzI1LDg0LjE3LDMyNWMtMjQuMzM5LDAtMzcuMjI1LDEwLjA4NC00Ny41NzksMTguMTg4QzI3LjgyOCwzNTAuMDQ1LDIxLjQ5NiwzNTUsNy41LDM1NXYzMA0KCQljMjQuMzM5LDAsMzcuMjI1LTEwLjA4NCw0Ny41NzktMTguMTg4QzYzLjg0MiwzNTkuOTU1LDcwLjE3NCwzNTUsODQuMTcsMzU1YzEzLjk5NiwwLDIwLjMyNyw0Ljk1NSwyOS4wOTEsMTEuODEzDQoJCUMxMjMuNjE1LDM3NC45MTYsMTM2LjUsMzg1LDE2MC44NCwzODVjMjQuMzM4LDAsMzcuMjI0LTEwLjA4NCw0Ny41NzgtMTguMTg4QzIxNy4xOCwzNTkuOTU1LDIyMy41MTEsMzU1LDIzNy41MDYsMzU1DQoJCWMxMy45OTQsMCwyMC4zMjUsNC45NTUsMjkuMDg3LDExLjgxM0MyNzYuOTQ3LDM3NC45MTUsMjg5LjgzMywzODUsMzE0LjE3LDM4NWMyNC4zMzgsMCwzNy4yMjQtMTAuMDg1LDQ3LjU3Ny0xOC4xODgNCgkJQzM3MC41MSwzNTkuOTU1LDM3Ni44NDEsMzU1LDM5MC44MzUsMzU1YzEzLjk5NSwwLDIwLjMyNSw0Ljk1NSwyOS4wODgsMTEuODEzQzQzMC4yNzcsMzc0LjkxNSw0NDMuMTYyLDM4NSw0NjcuNSwzODV2LTMwDQoJCUM0NTMuNTA2LDM1NSw0NDcuMTc1LDM1MC4wNDUsNDM4LjQxMywzNDMuMTg4eiIvPg0KCTxwYXRoIGQ9Ik0zOTAuODM1LDQxNWMtMjQuMzM4LDAtMzcuMjI0LDEwLjA4NS00Ny41NzcsMTguMTg4QzMzNC40OTYsNDQwLjA0NSwzMjguMTY1LDQ0NSwzMTQuMTcsNDQ1DQoJCWMtMTMuOTk0LDAtMjAuMzI1LTQuOTU1LTI5LjA4Ny0xMS44MTNDMjc0LjcyOSw0MjUuMDg1LDI2MS44NDQsNDE1LDIzNy41MDYsNDE1Yy0yNC4zMzksMC0zNy4yMjQsMTAuMDg1LTQ3LjU3OCwxOC4xODgNCgkJQzE4MS4xNjYsNDQwLjA0NSwxNzQuODM0LDQ0NSwxNjAuODQsNDQ1Yy0xMy45OTYsMC0yMC4zMjctNC45NTUtMjkuMDktMTEuODEzQzEyMS4zOTUsNDI1LjA4NCwxMDguNTA5LDQxNSw4NC4xNyw0MTUNCgkJYy0yNC4zMzksMC0zNy4yMjUsMTAuMDg0LTQ3LjU3OSwxOC4xODhDMjcuODI4LDQ0MC4wNDUsMjEuNDk2LDQ0NSw3LjUsNDQ1djMwYzI0LjMzOSwwLDM3LjIyNS0xMC4wODQsNDcuNTc5LTE4LjE4OA0KCQlDNjMuODQyLDQ0OS45NTUsNzAuMTc0LDQ0NSw4NC4xNyw0NDVjMTMuOTk2LDAsMjAuMzI3LDQuOTU1LDI5LjA5MSwxMS44MTNDMTIzLjYxNSw0NjQuOTE2LDEzNi41LDQ3NSwxNjAuODQsNDc1DQoJCWMyNC4zMzgsMCwzNy4yMjQtMTAuMDg0LDQ3LjU3OC0xOC4xODhDMjE3LjE4LDQ0OS45NTUsMjIzLjUxMSw0NDUsMjM3LjUwNiw0NDVjMTMuOTk0LDAsMjAuMzI1LDQuOTU1LDI5LjA4NywxMS44MTMNCgkJQzI3Ni45NDcsNDY0LjkxNSwyODkuODMzLDQ3NSwzMTQuMTcsNDc1YzI0LjMzOCwwLDM3LjIyNC0xMC4wODUsNDcuNTc3LTE4LjE4OEMzNzAuNTEsNDQ5Ljk1NSwzNzYuODQxLDQ0NSwzOTAuODM1LDQ0NQ0KCQljMTMuOTk1LDAsMjAuMzI1LDQuOTU1LDI5LjA4OCwxMS44MTNDNDMwLjI3Nyw0NjQuOTE1LDQ0My4xNjIsNDc1LDQ2Ny41LDQ3NXYtMzBjLTEzLjk5NCwwLTIwLjMyNS00Ljk1NS0yOS4wODctMTEuODEzDQoJCUM0MjguMDU5LDQyNS4wODUsNDE1LjE3NCw0MTUsMzkwLjgzNSw0MTV6Ii8+DQoJPHBvbHlnb24gcG9pbnRzPSIxODQuMzc4LDI1OC4zMjMgMjIyLjUsMjM2LjMxMyAyMjIuNSwyODAuMzMzIDI1Mi41LDI4MC4zMzMgMjUyLjUsMjM2LjMxMyAyOTAuNjIyLDI1OC4zMjMgMzA1LjYyMiwyMzIuMzQzDQoJCTI2Ny41LDIxMC4zMzMgMzA1LjYyMiwxODguMzIzIDI5MC42MjIsMTYyLjM0MyAyNTIuNSwxODQuMzUzIDI1Mi41LDE0MC4zMzMgMjIyLjUsMTQwLjMzMyAyMjIuNSwxODQuMzUzIDE4NC4zNzgsMTYyLjM0Mw0KCQkxNjkuMzc4LDE4OC4zMjMgMjA3LjUsMjEwLjMzMyAxNjkuMzc4LDIzMi4zNDMgCQkJIi8+DQoJPHBvbHlnb24gcG9pbnRzPSIyNC4wOTUsMTE3Ljk5IDYyLjIxNiw5NS45OCA2Mi4yMTYsMTQwIDkyLjIxNiwxNDAgOTIuMjE2LDk1Ljk4IDEzMC4zMzgsMTE3Ljk5IDE0NS4zMzgsOTIuMDEgMTA3LjIxNiw3MA0KCQkxNDUuMzM4LDQ3Ljk5IDEzMC4zMzgsMjIuMDEgOTIuMjE2LDQ0LjAyIDkyLjIxNiwwIDYyLjIxNiwwIDYyLjIxNiw0NC4wMiAyNC4wOTUsMjIuMDEgOS4wOTUsNDcuOTkgNDcuMjE3LDcwIDkuMDk1LDkyLjAxDQoJCSIvPg0KCTxwb2x5Z29uIHBvaW50cz0iMzQ0LjY2MiwxMTcuOTkgMzgyLjc4NCw5NS45OCAzODIuNzg0LDE0MCA0MTIuNzg0LDE0MCA0MTIuNzg0LDk1Ljk4IDQ1MC45MDUsMTE3Ljk5IDQ2NS45MDUsOTIuMDEgNDI3Ljc4Myw3MA0KCQk0NjUuOTA1LDQ3Ljk5IDQ1MC45MDUsMjIuMDEgNDEyLjc4NCw0NC4wMiA0MTIuNzg0LDAgMzgyLjc4NCwwIDM4Mi43ODQsNDQuMDIgMzQ0LjY2MiwyMi4wMSAzMjkuNjYyLDQ3Ljk5IDM2Ny43ODQsNzANCgkJMzI5LjY2Miw5Mi4wMSAJCQkiLz4NCjwvZz4NCjwvc3ZnPg0K",Computer:Ile,Consumption:hle,Curtains:wle,Dishwashers:Cle,Doors:Ale,Doorstep:mle,Dryer:ple,Fan:Ole,"Floor Lamps":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTM3Ny4wMTggMTA0LjQtNTQuODYxLTkzLjQxNmMtMy45OC02Ljc3NS0xMS4zMzQtMTAuOTg0LTE5LjE5MS0xMC45ODRoLTkxLjY1NWMtNy42OTcgMC0xNC45NzMgNC4wNzktMTguOTg3IDEwLjY0NGwtNTcuMTM1IDkzLjQxNGMtOS4wNTUgMTQuODAzIDEuNjI2IDMzLjg3IDE4Ljk4NyAzMy44N2gyOC4xODJjMi4yMjIgMzMuNDUyIDI2LjgwOCA2MC44ODQgNTguOTE2IDY3LjQxLS4yNzQgMS44MjYtLjE4NC0xMy41MS0uMTg0IDIxNy4xOTVoLTM3LjQ4NGMtMTEuODk4IDAtMjEuNTc5IDkuNjgtMjEuNTc5IDIxLjU3OXY0Ni4zMWMwIDExLjg5OCA5LjY4IDIxLjU3OSAyMS41NzkgMjEuNTc5aDEwNC43OWMxMS44OTkgMCAyMS41NzktOS42OCAyMS41NzktMjEuNTc5di00Ni4zMWMwLTExLjg5OC05LjY4LTIxLjU3OS0yMS41NzktMjEuNTc5aC0zNy40ODRjMC0yMzAuNzY2LjA5LTIxNS4zNy0uMTg0LTIxNy4xOTUgMjIuMDI1LTQuNDc2IDQwLjUwNS0xOC43OTUgNTAuNjY2LTM4LjE0MXYzNy42MzFjMCA4LjIzNSA2LjY3NiAxNC45MTEgMTQuOTExIDE0LjkxMXMxNC45MTEtNi42NzYgMTQuOTExLTE0LjkxMXYtNjYuOWg2LjYxYzE3LjE2NiAwIDI3Ljg5My0xOC43MDggMTkuMTkyLTMzLjUyOHptLTc2Ljg2NiAzNzcuNzc4aC04OC4zMDJ2LTI5LjgyMmg4OC4zMDJ6bS04NC41OTktNDUyLjM1Nmg4My4wODNsNDUuOTc0IDc4LjI4NGMtNy4wNjEgMC0xNjkuOTAzIDAtMTc2LjkzOCAwem00MC40NDcgMTQ3LjE3MmMtMjIuNTk1IDAtNDEuMjY3LTE3LjExNy00My43MjktMzkuMDY2aDg3LjQ1OGMtMi40NjIgMjEuOTQ5LTIxLjEzNCAzOS4wNjYtNDMuNzI5IDM5LjA2NnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=","Garage Doors":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ4MCA0ODAiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik00NzIsNjRjNC40MTgsMCw4LTMuNTgyLDgtOFY4YzAtNC40MTgtMy41ODItOC04LThIOEMzLjU4MiwwLDAsMy41ODIsMCw4djQ4YzAsNC40MTgsMy41ODIsOCw4LDhoMTZ2NDAwSDgNCgkJYy00LjQxOCwwLTgsMy41ODItOCw4czMuNTgyLDgsOCw4aDQ2NGM0LjQxOCwwLDgtMy41ODIsOC04cy0zLjU4Mi04LTgtOGgtMTZWNjRINDcyeiBNNDA4LDQ2NEg3MnYtNDhoMzM2VjQ2NHogTTQwOCw0MDBINzJ2LTQ4DQoJCWgzMzZWNDAweiBNNDA4LDMzNkg3MnYtNDhoMzM2VjMzNnogTTQwOCwyNzJINzJ2LTQ4aDMzNlYyNzJ6IE00MDgsMjA4SDcydi00OGgzMzZWMjA4eiBNNDA4LDE0NEg3MlY5NmgzMzZWMTQ0eiBNNDQwLDQ2NGgtMTZWODgNCgkJYzAtNC40MTgtMy41ODItOC04LThINjRjLTQuNDE4LDAtOCwzLjU4Mi04LDh2Mzc2SDQwVjY0aDQwMFY0NjR6IE0xNiw0OFYxNmg0NDh2MzJIMTZ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0yMTYsNDU2aDQ4YzQuNDE4LDAsOC0zLjU4Miw4LThzLTMuNTgyLTgtOC04aC00OGMtNC40MTgsMC04LDMuNTgyLTgsOFMyMTEuNTgyLDQ1NiwyMTYsNDU2eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",Gates:Ele,Hairdryer:_le,Handle:fle,"Hanging Lamps":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTkzLjUyNSAzNTkuNzcxaDEwNy44ODV2NC4xMjlhNTMuMDcyIDUzLjA3MiAwIDEgMCAxMDYuMTQ0IDB2LTQuMTI0aDExMC45MjFhNiA2IDAgMCAwIDYtNmMwLTgyLjAxNS01OC45MTMtMTUwLjUxOC0xMzYuNjQtMTY1LjQ0NHYtMjAuMzE5YTMxLjg4MyAzMS44ODMgMCAwIDAgLTI1LjgzNS0zMS4yNnYtMTIwLjc1M2E2IDYgMCAwIDAgLTEyIDB2MTIwLjc1M2EzMS44ODMgMzEuODgzIDAgMCAwIC0yNS44MzUgMzEuMjZ2MjAuMzE0Yy03Ny43MjcgMTQuOTI2LTEzNi42NCA4My40MjktMTM2LjY0IDE2NS40NDRhNiA2IDAgMCAwIDYgNnptMjAyLjAyOSA0LjEyOWE0MS4wNzIgNDEuMDcyIDAgMSAxIC04Mi4xNDQgMHYtNC4xMjRoODIuMTQ0em0tMzkuNTU0LTIxNS43MjJhMTkuODUxIDE5Ljg1MSAwIDAgMSAxOS4xOCAxNC44NjhoLTM4LjM2YTE5Ljg1MSAxOS44NTEgMCAwIDEgMTkuMTgtMTQuODY4em0tMTkuODM1IDI2Ljg2OGgzOS42N3YxMS40MjRhMTY4LjI4OCAxNjguMjg4IDAgMCAwIC0zOS42NyAwem0xOS44MzUgMjIuMjU0Yzg0LjI3NCAwIDE1My4yIDY2Ljk2IDE1Ni4zNjEgMTUwLjQ3NGgtMzEyLjcyMmMzLjE2MS04My41MTcgNzIuMDg3LTE1MC40NzQgMTU2LjM2MS0xNTAuNDc0eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjUwIDQ1NS41MDh2NDAuNDkyYTYgNiAwIDAgMCAxMiAwdi00MC40OTJhNiA2IDAgMCAwIC0xMiAweiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzAzLjQyMiA0MzEuNDg4YTYgNiAwIDAgMCAtLjA3NSA4LjQ4NWwyOC4zNDQgMjguODUxYTYgNiAwIDAgMCA4LjU2MS04LjQxbC0yOC4zNDQtMjguODUxYTYgNiAwIDAgMCAtOC40ODYtLjA3NXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTIwMC4wOTIgNDMxLjU2My0yOC4zNDQgMjguODUxYTYgNiAwIDAgMCA4LjU2MSA4LjQxbDI4LjM0NC0yOC44NTFhNiA2IDAgMCAwIC04LjU2MS04LjQxeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTg2Ljc1IDIzNi44MWExNjguNzMxIDE2OC43MzEgMCAwIDAgLTQ1LjkyNyA0OC4xNDMgNiA2IDAgMSAwIDEwLjE0MSA2LjQxNyAxNTYuNzgxIDE1Ni43ODEgMCAwIDEgNDIuNjc3LTQ0LjczNiA2IDYgMCAwIDAgLTYuODkxLTkuODI0eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",Heater:Sle,Hoods:xle,"Hot Water":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMCA1MTAiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTQ5NSAyNDEuOTAyYy0xOC4yMjMgMC0zMy4zNTgtNS45MzctNDUuMDkyLTE3LjYydi0xNDkuMzU0YzAtNDEuMzE1LTMzLjYxMy03NC45MjgtNzQuOTI5LTc0LjkyOHMtNzQuOTI4IDMzLjYxMy03NC45MjggNzQuOTI4djE0OS4zOTVjLTI0LjI1NCAyNC4xMDctNjkuNDc2IDI0LjQxNS05My42NjMtMy44MDMtNS45ODEtNi45NzgtMTYuNzkzLTYuOTgyLTIyLjc3NyAwLTI0LjU4NiAyOC42ODUtNzIuNTM4IDI4Ljc5OC05Ny4yMjMgMC02LjMyMi03LjM3OC0xNy44NjctNi44NjctMjMuNTM3Ljk2My0uMTQ4LjIwNC0xNS42ODggMjAuNDE4LTQ3Ljg1MiAyMC40MTgtOC4yODQgMC0xNSA2LjcxNi0xNSAxNXM2LjcxNiAxNSAxNSAxNWMyOC42MzIgMCA0OC40ODktMTEuMjggNjAuMDI3LTIwLjYyNCAzMy40NDcgMjcuNjE1IDg2LjUxMiAyNy42MjUgMTE5Ljk3My0uMDIyIDMwLjE5MSAyNC45NDQgNzQuMzYyIDI2LjE3OSAxMDUuMDUyIDkuOTU3djQwLjQ3MWMtMjcuOTg0IDIzLjEzMS00My44MTEgNTcuODc4LTQyLjY1OCA5NC40NTMgMS45NzQgNjIuNzI4IDUzLjc0MyAxMTMuODY0IDExNy41ODYgMTEzLjg2NCA2NC44NzEgMCAxMTcuNjQ3LTUyLjc3NiAxMTcuNjQ3LTExNy42NDYgMC0zNS4wNy0xNS44MzctNjguNDA2LTQyLjcxOS05MC42NjZ2LTQwLjQ5N2MxMy4zMjUgNy4wNTIgMjguNTE3IDEwLjcxIDQ1LjA5MiAxMC43MSA4LjI4NCAwIDE1LTYuNzE2IDE1LTE1cy02LjcxNS0xNC45OTktMTQuOTk5LTE0Ljk5OXptLTEyMC4wMi0yMTEuOTAyYzI0Ljc3MyAwIDQ0LjkyOCAyMC4xNTUgNDQuOTI4IDQ0LjkyOHYxNDkuNTM3Yy04LjMxNCA4LjIxMS0xOC4zMjcgMTMuNTUxLTI5LjkyOSAxNS45NTN2LTE0My45NTdjMC04LjI4NC02LjcxNi0xNS0xNS0xNXMtMTUgNi43MTYtMTUgMTV2MTQzLjk0N2MtMTEuNjAzLTIuNDA5LTIxLjYxNS03Ljc1OS0yOS45MjgtMTUuOTgzdi0xNDkuNDk3Yy4wMDEtMjQuNzczIDIwLjE1Ni00NC45MjggNDQuOTI5LTQ0LjkyOHptLS4wMDEgMzQzLjUwNGMxMC41MzIgMCAxOS4xMDEgOC41NjggMTkuMTAxIDE5LjFzLTguNTY4IDE5LjEtMTkuMTAxIDE5LjFjLTEwLjUzMSAwLTE5LjEtOC41NjgtMTkuMS0xOS4xczguNTY5LTE5LjEgMTkuMS0xOS4xem04Ny42NDggMTguODVjMCA0OC4zMjktMzkuMzE4IDg3LjY0Ni04Ny42NDcgODcuNjQ2LTQ2LjgzMSAwLTg2LjEyOS0zOC4wNDQtODcuNjAyLTg0LjgwOC0uOTItMjkuMjE4IDEyLjcwNC01Ni44NzUgMzYuNDQzLTczLjk4MSAzLjkxMi0yLjgxOSA2LjIzLTcuMzQ3IDYuMjMtMTIuMTY5di00Ny43NzRjOS4xNDggNC44MiAxOS4xNzcgOC4wMzMgMjkuOTI4IDkuNTY4djc1LjAyYy0xOS43NTggNi4zNTUtMzQuMSAyNC45MDUtMzQuMSA0Ni43NDggMCAyNy4wNzQgMjIuMDI2IDQ5LjEgNDkuMSA0OS4xczQ5LjEwMS0yMi4wMjYgNDkuMTAxLTQ5LjFjMC0yMS44NDMtMTQuMzQyLTQwLjM5My0zNC4xMDEtNDYuNzQ4di03NS4wMTRjMTAuNzUtMS41MzEgMjAuNzgtNC43MzggMjkuOTI5LTkuNTUydjQ3Ljc1M2MwIDQuODIyIDIuMzE4IDkuMzUxIDYuMjMgMTIuMTY5IDIyLjg0OCAxNi40NjMgMzYuNDg5IDQzLjA1OSAzNi40ODkgNzEuMTQyeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTc4LjE5IDMwOC4zMzJjLTI0LjgxMyAwLTQ1IDIwLjE4Ny00NSA0NXMyMC4xODcgNDUgNDUgNDUgNDUtMjAuMTg3IDQ1LTQ1LTIwLjE4Ni00NS00NS00NXptMCA2MGMtOC4yNzEgMC0xNS02LjcyOS0xNS0xNXM2LjcyOS0xNSAxNS0xNSAxNSA2LjcyOSAxNSAxNS02LjcyOCAxNS0xNSAxNXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTczLjg1NyAzNzkuMTE3Yy0yNC44MTMgMC00NSAyMC4xODctNDUgNDVzMjAuMTg3IDQ1IDQ1IDQ1IDQ1LTIwLjE4NyA0NS00NS0yMC4xODYtNDUtNDUtNDV6bTAgNjBjLTguMjcxIDAtMTUtNi43MjktMTUtMTVzNi43MjktMTUgMTUtMTUgMTUgNi43MjkgMTUgMTUtNi43MjggMTUtMTUgMTV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im02NC44NjMgMTU0LjE0M2MtNS44NTggNS44NTgtNS44NTggMTUuMzU1IDAgMjEuMjEzIDUuODU3IDUuODU3IDE1LjM1NSA1Ljg1OCAyMS4yMTMgMCAyMS4wNDYtMjEuMDQ2IDIxLjA0Ni01NS4yOTEgMC03Ni4zMzgtOS4zNzEtOS4zNy05LjM3My0yNC41MzkgMC0zMy45MTEgNS44NTgtNS44NTggNS44NTgtMTUuMzU1IDAtMjEuMjEzLTUuODU3LTUuODU4LTE1LjM1NS01Ljg1Ny0yMS4yMTMgMC0yMS4wOTYgMjEuMDk2LTIxLjA5OCA1NS4yNDEgMCA3Ni4zMzggOS4zNDkgOS4zNDkgOS4zNDkgMjQuNTYxIDAgMzMuOTExeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTQyLjI1MSAxNTQuMTQzYy01Ljg1OCA1Ljg1OC01Ljg1OCAxNS4zNTUgMCAyMS4yMTMgNS44NTcgNS44NTggMTUuMzU0IDUuODU4IDIxLjIxMyAwIDIxLjA5Ny0yMS4wOTcgMjEuMDk4LTU1LjI0IDAtNzYuMzM5LTkuMzcxLTkuMzctOS4zNzMtMjQuNTM5IDAtMzMuOTExIDUuODU4LTUuODU4IDUuODU4LTE1LjM1NSAwLTIxLjIxMy01Ljg1Ni01Ljg1OC0xNS4zNTQtNS44NTctMjEuMjEzIDAtMjEuMDk2IDIxLjA5Ni0yMS4wOTggNTUuMjQxIDAgNzYuMzM4IDkuMzcxIDkuMzcxIDkuMzczIDI0LjUzOSAwIDMzLjkxMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTIxOS42MzkgMTU0LjE0M2MtNS44NTggNS44NTgtNS44NTggMTUuMzU1IDAgMjEuMjEzIDUuODU3IDUuODU4IDE1LjM1NCA1Ljg1OCAyMS4yMTMgMCAyMS4wOTctMjEuMDk3IDIxLjA5OC01NS4yNCAwLTc2LjMzOS05LjM3MS05LjM3LTkuMzczLTI0LjUzOSAwLTMzLjkxMSA1Ljg1OC01Ljg1OCA1Ljg1OC0xNS4zNTUgMC0yMS4yMTMtNS44NTYtNS44NTgtMTUuMzU0LTUuODU3LTIxLjIxMyAwLTIxLjA5NiAyMS4wOTYtMjEuMDk4IDU1LjI0MSAwIDc2LjMzOCA5LjM3IDkuMzcxIDkuMzczIDI0LjUzOSAwIDMzLjkxMnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",Humidity:kle,Iron:Yle,Irrigation:Qle,"Led Strip":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im0xNiAxOGEzIDMgMCAxIDAgLTMtMyAzIDMgMCAwIDAgMyAzem0wLTRhMSAxIDAgMSAxIC0xIDEgMSAxIDAgMCAxIDEtMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTE2IDI2YTMgMyAwIDEgMCAtMy0zIDMgMyAwIDAgMCAzIDN6bTAtNGExIDEgMCAxIDEgLTEgMSAxIDEgMCAwIDEgMS0xeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTYgNDJhMyAzIDAgMSAwIC0zLTMgMyAzIDAgMCAwIDMgM3ptMC00YTEgMSAwIDEgMSAtMSAxIDEgMSAwIDAgMSAxLTF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xNiA1MGEzIDMgMCAxIDAgLTMtMyAzIDMgMCAwIDAgMyAzem0wLTRhMSAxIDAgMSAxIC0xIDEgMSAxIDAgMCAxIDEtMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTE2IDU4YTMgMyAwIDEgMCAtMy0zIDMgMyAwIDAgMCAzIDN6bTAtNGExIDEgMCAxIDEgLTEgMSAxIDEgMCAwIDEgMS0xeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTYgMzRhMyAzIDAgMSAwIC0zLTMgMyAzIDAgMCAwIDMgM3ptMC00YTEgMSAwIDEgMSAtMSAxIDEgMSAwIDAgMSAxLTF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xMiA2Mmg4YTEgMSAwIDAgMCAxLTF2LTQ5aDZ2NDFhMSAxIDAgMCAwIC4yOTMuNzA3bDggOGExIDEgMCAwIDAgLjcwNy4yOTNoOGExIDEgMCAwIDAgLjcwNy0uMjkzbDgtOGExIDEgMCAwIDAgLjI5My0uNzA3di01MGExIDEgMCAwIDAgLTEtMWgtOGExIDEgMCAwIDAgLTEgMXY0OWgtNnYtNDlhMSAxIDAgMCAwIC0xLTFoLTE2YTEgMSAwIDAgMCAtLjcwNy4yOTNsLTggOGExIDEgMCAwIDAgLS4yOTMuNzA3djUwYTEgMSAwIDAgMCAxIDF6bTMzLTEzdi00NWg2djQ4LjU4NmwtNiA2em0tOCA1aDZ2NmgtNnptLTgtNXYtNDVoNnY1NC41ODZsLTYtNnptLTgtNDVoNnY2aC02em0tOCA1MXYtNDMuNTg2bDYtNnY1NC41ODZoLTZ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00OCA1MmEzIDMgMCAxIDAgLTMtMyAzIDMgMCAwIDAgMyAzem0wLTRhMSAxIDAgMSAxIC0xIDEgMSAxIDAgMCAxIDEtMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ4IDQ0YTMgMyAwIDEgMCAtMy0zIDMgMyAwIDAgMCAzIDN6bTAtNGExIDEgMCAxIDEgLTEgMSAxIDEgMCAwIDEgMS0xeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNDggMjhhMyAzIDAgMSAwIC0zLTMgMyAzIDAgMCAwIDMgM3ptMC00YTEgMSAwIDEgMSAtMSAxIDEgMSAwIDAgMSAxLTF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00OCAyMGEzIDMgMCAxIDAgLTMtMyAzIDMgMCAwIDAgMyAzem0wLTRhMSAxIDAgMSAxIC0xIDEgMSAxIDAgMCAxIDEtMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ4IDEyYTMgMyAwIDEgMCAtMy0zIDMgMyAwIDAgMCAzIDN6bTAtNGExIDEgMCAxIDEgLTEgMSAxIDEgMCAwIDEgMS0xeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNDggMzZhMyAzIDAgMSAwIC0zLTMgMyAzIDAgMCAwIDMgM3ptMC00YTEgMSAwIDEgMSAtMSAxIDEgMSAwIDAgMSAxLTF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zMiA1MmEzIDMgMCAxIDAgLTMtMyAzIDMgMCAwIDAgMyAzem0wLTRhMSAxIDAgMSAxIC0xIDEgMSAxIDAgMCAxIDEtMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTMyIDQ0YTMgMyAwIDEgMCAtMy0zIDMgMyAwIDAgMCAzIDN6bTAtNGExIDEgMCAxIDEgLTEgMSAxIDEgMCAwIDEgMS0xeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzIgMjhhMyAzIDAgMSAwIC0zLTMgMyAzIDAgMCAwIDMgM3ptMC00YTEgMSAwIDEgMSAtMSAxIDEgMSAwIDAgMSAxLTF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zMiAyMGEzIDMgMCAxIDAgLTMtMyAzIDMgMCAwIDAgMyAzem0wLTRhMSAxIDAgMSAxIC0xIDEgMSAxIDAgMCAxIDEtMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTMyIDEyYTMgMyAwIDEgMCAtMy0zIDMgMyAwIDAgMCAzIDN6bTAtNGExIDEgMCAxIDEgLTEgMSAxIDEgMCAwIDEgMS0xeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzIgMzZhMyAzIDAgMSAwIC0zLTMgMyAzIDAgMCAwIDMgM3ptMC00YTEgMSAwIDEgMSAtMSAxIDEgMSAwIDAgMSAxLTF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yMyA2aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM5IDU2aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQgMzFoNXYyaC01eiIvPg0KICAgICAgICA8cGF0aCBkPSJtNiAyNWgydjVoLTJ6IiB0cmFuc2Zvcm09Im1hdHJpeCguNiAtLjggLjggLjYgLTE5LjIgMTYuNikiLz4NCiAgICAgICAgPHBhdGggZD0ibTQuNSAzNS41aDV2MmgtNXoiIHRyYW5zZm9ybT0ibWF0cml4KC44IC0uNiAuNiAuOCAtMjAuNTA1IDExLjUwNSkiLz4NCiAgICAgICAgPHBhdGggZD0ibTU1IDMxaDV2MmgtNXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTU0LjUgMjYuNWg1djJoLTV6IiB0cmFuc2Zvcm09Im1hdHJpeCguOCAtLjYgLjYgLjggLTUuMDk4IDM5LjcxMikiLz4NCiAgICAgICAgPHBhdGggZD0ibTU2IDM0aDJ2NWgtMnoiIHRyYW5zZm9ybT0ibWF0cml4KC42IC0uOCAuOCAuNiAtNi40IDYwLjIpIi8+DQogICAgPC9nPg0KPC9zdmc+",Light:Ule,Lightings:vle,Lock:ble,Louvre:$le,"Mowing Machine":"PHN2ZyB2aWV3Qm94PSIwIDAgNjQgNjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTQ3IDU0YzUuNTE0IDAgMTAtNC40ODYgMTAtMTBzLTQuNDg2LTEwLTEwLTEwLTEwIDQuNDg2LTEwIDEwIDQuNDg2IDEwIDEwIDEwem0tNy45MzEtMTFjLjE4My0xLjQ1OC43NTktMi43OTIgMS42MTktMy44OThsMS4zNjIgMS4zNjMgMS40MTQtMS40MTQtMS4zNjItMS4zNjJjMS4xMDYtLjg2IDIuNDQtMS40MzYgMy44OTgtMS42MTl2MS45M2gydi0xLjkzMWMxLjQ1OC4xODMgMi43OTIuNzU5IDMuODk4IDEuNjE5bC0xLjM2MiAxLjM2MiAxLjQxNCAxLjQxNCAxLjM2Mi0xLjM2M2MuODYgMS4xMDYgMS40MzYgMi40NCAxLjYxOSAzLjg5OGgtMS45MzF2MmgxLjkzMWMtLjE4MyAxLjQ1OC0uNzU5IDIuNzkyLTEuNjE5IDMuODk4bC0xLjM2Mi0xLjM2My0xLjQxNCAxLjQxNCAxLjM2MiAxLjM2MmMtMS4xMDYuODYtMi40NCAxLjQzNi0zLjg5OCAxLjYxOXYtMS45MjloLTJ2MS45MzFjLTEuNDU4LS4xODMtMi43OTItLjc1OS0zLjg5OC0xLjYxOWwxLjM2Mi0xLjM2Mi0xLjQxNC0xLjQxNC0xLjM2MiAxLjM2M2MtLjg2LTEuMTA2LTEuNDM2LTIuNDQtMS42MTktMy44OThoMS45MzF2LTJoLTEuOTMxeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNTcgMjFoLTI0Ljk4Yy0xLjUxMSAwLTIuOTg0LjQyNi00LjI2MiAxLjIyOWwtMjIuMDIxIDEzLjg2NmMtMi4zNCAxLjQ3My0zLjczNyA0LjAwNS0zLjczNyA2Ljc2OXY2LjEzNmMwIC41NTMuNDQ4IDEgMSAxaDMzLjA4OGMuMzQxIDAgLjY1OC0uMTc0Ljg0Mi0uNDYuMTg0LS4yODcuMjA5LS42NDcuMDY3LS45NTctLjc1LTEuNjM1LTEuMDgtMy4zODctLjk3OS01LjIwOC4zMDktNS41OTEgNC45MzYtMTAuMTQ1IDEwLjUzNS0xMC4zNjYgMy4wMjgtLjExNiA1Ljg5Mi45NjcgOC4wNjkgMy4wNiAyLjE3OCAyLjA5MyAzLjM3OCA0LjkxIDMuMzc4IDcuOTMxIDAgLjU1My40NDggMSAxIDFoM2MuNTUyIDAgMS0uNDQ3IDEtMXYtMTdjMC0zLjMwOS0yLjY5MS02LTYtNnptLTI4LjE3NyAyLjkyM2MuOTU5LS42MDQgMi4wNjQtLjkyMyAzLjE5Ny0uOTIzaDEwLjM3bC04LjM5MSA1LjAzNXYtLjAzNWgtMTEuNjUxem0tMjIuMDIgMTMuODY0IDEyLjM2OC03Ljc4N2gxMS41NTJsLTE4LjIzMyAxMC45NGMtMS4xNTcuNjk0LTIuNDggMS4wNi0zLjgyNyAxLjA2aC00LjU5NmMuMjQ4LTEuNzI4IDEuMjI5LTMuMjYzIDIuNzM2LTQuMjEzem01NC4xOTcgNS4yMTNoLTEuMDM4Yy0uMjM5LTMuMTg4LTEuNjIzLTYuMTMyLTMuOTU1LTguMzc0LTIuNTczLTIuNDczLTUuOTYzLTMuNzUtOS41MzQtMy42MTUtNi4xOS4yNDUtMTEuMzc0IDQuOTctMTIuMzE3IDEwLjk4OWgtMTcuMTU2djJoMTcuMDEzYy4wMDIgMS4zNjEuMjAyIDIuNzE1LjYxNSA0aC0zMC42Mjh2LTRoNC42NjNjMS43MDkgMCAzLjM4OS0uNDY1IDQuODU2LTEuMzQ1bDMyLjc1OC0xOS42NTVoMTAuNzIzYzIuMjA2IDAgNCAxLjc5NCA0IDR6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00NyA0OGMyLjIwNiAwIDQtMS43OTQgNC00cy0xLjc5NC00LTQtNC00IDEuNzk0LTQgNCAxLjc5NCA0IDQgNHptMC02YzEuMTAzIDAgMiAuODk3IDIgMnMtLjg5NyAyLTIgMi0yLS44OTctMi0yIC44OTctMiAyLTJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im02LjY1MSAxNS42MzVjLTEuNzU3IDIuMTI1LTEuNDU4IDUuMjgyLjY2NyA3LjA0bDQuNjI0IDMuODIzYy4xODcuMTU0LjQxMi4yMjkuNjM3LjIyOS4yODggMCAuNTczLS4xMjQuNzcxLS4zNjIgMS43NTctMi4xMjUgMS40NTgtNS4yODItLjY2Ny03LjA0bC00LjYyNC0zLjgyM2MtLjQyNi0uMzUyLTEuMDU2LS4yOTItMS40MDguMTMzem01LjY2MiA4LjU3Ni0zLjcyMS0zLjA3N2MtMS4wMDQtLjgzMS0xLjMyOS0yLjE4NS0uOTA1LTMuMzQ1bDMuNzIxIDMuMDc3YzEuMDA1LjgzMSAxLjMyOSAyLjE4NS45MDUgMy4zNDV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yMS40NDUgOS4yMjktNC42MjQgMy44MjNjLTIuMTI1IDEuNzU4LTIuNDI0IDQuOTE2LS42NjcgNy4wNC4xOTguMjM5LjQ4My4zNjIuNzcxLjM2Mi4yMjUgMCAuNDUtLjA3NS42MzctLjIyOWw0LjYyNC0zLjgyM2MyLjEyNS0xLjc1NyAyLjQyNC00LjkxNS42NjctNy4wNC0uMzUyLS40MjQtLjk4My0uNDg0LTEuNDA4LS4xMzN6bS0uNTMzIDUuNjMyLTMuNzIyIDMuMDc4Yy0uMTUyLS40MTUtLjIxMS0uODYzLS4xNjgtMS4zMTYuMDc2LS43OTguNDU4LTEuNTE5IDEuMDc1LTIuMDI5bDMuNzIxLTMuMDc3Yy40MjMgMS4xNi4wOTkgMi41MTMtLjkwNiAzLjM0NHoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",Music:Ple,"Outdoor Blinds":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTQ1NyAwaC00MDJjLTMwLjMyNyAwLTU1IDI0LjY3My01NSA1NXY0NTdoNDMydi00MDguMDM1YzcuNTA3IDMuODQ4IDE2IDYuMDM1IDI1IDYuMDM1IDMwLjMyNyAwIDU1LTI0LjY3MyA1NS01NXMtMjQuNjczLTU1LTU1LTU1em0tNDAyIDMwaDM1My4wMzVjLTMuODQ4IDcuNTA3LTYuMDM1IDE2LTYuMDM1IDI1djdoLTM3MnYtN2MwLTEzLjc4NSAxMS4yMTUtMjUgMjUtMjV6bS0yNSAyNzJ2LTMwaDM3MnYzMHptMzcyIDMwdjMwaC0zNzJ2LTMwem0tMzcyLTkwdi0zMGgzNzJ2MzB6bTAtNjB2LTMwaDM3MnYzMHptMC02MHYtMzBoMzcydjMwem0wIDM2MHYtOTBoMzcydjkwem00MjctNDAyYy0xMy43ODUgMC0yNS0xMS4yMTUtMjUtMjVzMTEuMjE1LTI1IDI1LTI1IDI1IDExLjIxNSAyNSAyNS0xMS4yMTUgMjUtMjUgMjV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im02MCA0MjJoMzB2MzBoLTMweiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzQyIDQyMmgzMHYzMGgtMzB6Ii8+DQogICAgPC9nPg0KPC9zdmc+",People:Wle,Pool:Rle,"Power Consumption":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im0xMiAzYy0uMjc2IDAtLjUtLjIyNC0uNS0uNXYtMmMwLS4yNzYuMjI0LS41LjUtLjVzLjUuMjI0LjUuNXYyYzAgLjI3Ni0uMjI0LjUtLjUuNXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTE4LjcxOCA1Ljc4MmMtLjEyOCAwLS4yNTYtLjA0OS0uMzU0LS4xNDYtLjE5NS0uMTk1LS4xOTUtLjUxMiAwLS43MDdsMS40MTQtMS40MTRjLjE5NS0uMTk1LjUxMi0uMTk1LjcwNyAwcy4xOTUuNTEyIDAgLjcwN2wtMS40MTQgMS40MTRjLS4wOTcuMDk3LS4yMjUuMTQ2LS4zNTMuMTQ2eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjMuNSAxMi41aC0yYy0uMjc2IDAtLjUtLjIyNC0uNS0uNXMuMjI0LS41LjUtLjVoMmMuMjc2IDAgLjUuMjI0LjUuNXMtLjIyNC41LS41LjV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yMC4xMzIgMjAuNjMyYy0uMTI4IDAtLjI1Ni0uMDQ5LS4zNTQtLjE0NmwtMS40MTQtMS40MTRjLS4xOTUtLjE5NS0uMTk1LS41MTIgMC0uNzA3cy41MTItLjE5NS43MDcgMGwxLjQxNCAxLjQxNGMuMTk1LjE5NS4xOTUuNTEyIDAgLjcwNy0uMDk3LjA5Ny0uMjI1LjE0Ni0uMzUzLjE0NnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTEyIDI0Yy0uMjc2IDAtLjUtLjIyNC0uNS0uNXYtMmMwLS4yNzYuMjI0LS41LjUtLjVzLjUuMjI0LjUuNXYyYzAgLjI3Ni0uMjI0LjUtLjUuNXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTMuODY4IDIwLjYzMmMtLjEyOCAwLS4yNTYtLjA0OS0uMzU0LS4xNDYtLjE5NS0uMTk1LS4xOTUtLjUxMiAwLS43MDdsMS40MTQtMS40MTRjLjE5NS0uMTk1LjUxMi0uMTk1LjcwNyAwcy4xOTUuNTEyIDAgLjcwN2wtMS40MTQgMS40MTRjLS4wOTcuMDk3LS4yMjUuMTQ2LS4zNTMuMTQ2eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMi41IDEyLjVoLTJjLS4yNzYgMC0uNS0uMjI0LS41LS41cy4yMjQtLjUuNS0uNWgyYy4yNzYgMCAuNS4yMjQuNS41cy0uMjI0LjUtLjUuNXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTUuMjgyIDUuNzgyYy0uMTI4IDAtLjI1Ni0uMDQ5LS4zNTQtLjE0NmwtMS40MTMtMS40MTRjLS4xOTUtLjE5NS0uMTk1LS41MTIgMC0uNzA3cy41MTItLjE5NS43MDcgMGwxLjQxNCAxLjQxNGMuMTk1LjE5NS4xOTUuNTEyIDAgLjcwNy0uMDk4LjA5Ny0uMjI2LjE0Ni0uMzU0LjE0NnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTEwLjU3MyAyMGMtLjA1OSAwLS4xMTctLjAxLS4xNzUtLjAzMS0uMjE5LS4wODItLjM1Mi0uMzA0LS4zMjEtLjUzNGwuODUzLTYuNDM1aC0zLjQzYy0uMTg5IDAtLjM2Mi0uMTA3LS40NDctLjI3NnMtLjA2Ny0uMzcyLjA0Ny0uNTI0bDYtOGMuMTM5LS4xODYuMzg2LS4yNTIuNTk3LS4xNi4yMTIuMDkxLjMzNS4zMTQuMjk3LjU0MmwtLjkwNCA1LjQxOGgzLjQxYy4xODQgMCAuMzUzLjEwMS40NC4yNjNzLjA3OC4zNTgtLjAyMi41MTNsLTUuOTI3IDljLS4wOTUuMTQzLS4yNTQuMjI0LS40MTguMjI0em0tMi4wNzMtOGgzYy4xNDUgMCAuMjgxLjA2My4zNzYuMTcxLjA5NS4xMDcuMTM5LjI1Mi4xMi4zOTVsLS42NDEgNC44MzggNC4yMTctNi40MDRoLTMuMDcyYy0uMTQ3IDAtLjI4Ni0uMDY0LS4zODItLjE3Ny0uMDk1LS4xMTItLjEzNi0uMjYxLS4xMTEtLjQwNWwuNjYzLTMuOTc4eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",Printer:Jle,Pump:Ble,Receiver:Gle,Sconces:Fle,Security:Hle,Shading:Vle,Shutters:Zle,SmokeDetector:Xle,Sockets:Kle,Speaker:qle,Stove:eNe,"Table Lamps":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTk3LjUgMjIwLjM2MS0xNS45MTQgMTUuOTE0YTYgNiAwIDEgMCA4LjQ4NCA4LjQ4NmwxNS45MTUtMTUuOTE1YTYgNiAwIDEgMCAtOC40ODQtOC40ODV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im05NS41MSAxMTdhNiA2IDAgMCAwIDQuMjQzLTEwLjI0MmwtMTUuOTE0LTE1LjkxNWE2IDYgMCAwIDAgLTguNDg2IDguNDg2bDE1LjkxNCAxNS45MTRhNS45NzggNS45NzggMCAwIDAgNC4yNDMgMS43NTd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yMzUuNSAyNDIuNTA4LTE1LjkxLTE1LjkxNGE2IDYgMCAwIDAgLTguNDg2IDguNDg1bDE1LjkxNCAxNS45MTVhNiA2IDAgMCAwIDguNDg2LTguNDg2eiIvPg0KICAgICAgICA8cGF0aCBkPSJtODYuODI2IDE3MWE2IDYgMCAwIDAgLTYtNmgtMjQuODM3YTYgNiAwIDAgMCAwIDEyaDI0LjgzN2E2IDYgMCAwIDAgNi02eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTU1IDIzOS41MjFhNiA2IDAgMCAwIC02IDZ2MjQuODM2YTYgNiAwIDAgMCAxMiAwdi0yNC44MzZhNiA2IDAgMCAwIC02LTZ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00MzguODUyIDQ1MS45NjlhNDEuODM3IDQxLjgzNyAwIDAgMCAtNDEuMTY2LTM1Ljk2OWgtMjguNjg2di0zMjYuNjg0YTY5LjMwOSA2OS4zMDkgMCAwIDAgLTEyMS43LTQ1LjM4MiA1Ni4wMjIgNTYuMDIyIDAgMCAwIC00OC43MDkgNi4zNDlsLTgxLjUxOSA1NC4wNjhhNiA2IDAgMCAwIC0uOTI1IDkuMjQybDIzLjQyMiAyMy40MjMtMS40NDIgMS40NDJhMzUuMTg4IDM1LjE4OCAwIDAgMCA0OS43NjMgNDkuNzYzbDEuNDQyLTEuNDQyIDIzLjQyMiAyMy40MjFhNiA2IDAgMCAwIDQuMjQ2IDEuNzU5Yy4yIDAgLjQtLjAxLjYtLjAzYTYgNiAwIDAgMCA0LjQtMi42NTRsNTQuMDY3LTgxLjUxOWE1Ni4wODggNTYuMDg4IDAgMCAwIDMuNDg4LTU1LjY1NiAyNi4zODYgMjYuMzg2IDAgMCAxIDQ2LjQ0NSAxNy4yMTZ2MzI2LjY4NGgtMjkuMTgyYTQyIDQyIDAgMCAwIC00MS4zNDMgMzYuMDc2IDI2LjQgMjYuNCAwIDAgMCAtMjIuNDc1IDI1Ljk1NnY3Ljk2OGE2LjI4MiA2LjI4MiAwIDAgMCA2LjMxOSA2aDIxNi42OTJhNS45OTIgNS45OTIgMCAwIDAgNS45ODktNnYtNy45NjhhMjYuMjQ3IDI2LjI0NyAwIDAgMCAtMjMuMTQ4LTI2LjA2M3ptLTI1OS40NTItMjcyLjIzNGEyMy4xODggMjMuMTg4IDAgMCAxIC0zMi43OTMtMzIuNzkybDEuNDQzLTEuNDQzIDMyLjc5MyAzMi43OTN6bTM2LjY0OCAxNi43OTQtODYuMjMtODYuMjI5IDE4LjA5My0xMiA4MC4xNCA4MC4xNHptNTAuMDEyLTc1LjQtMzEuMjQ2IDQ3LjExLTc2LjctNzYuNzA1IDQ3LjExLTMxLjI0NmE0My44OTQgNDMuODk0IDAgMCAxIDYwLjg0IDYwLjg0MXptMzMuNTI4LTcwLjI3MmEzOC4yNTIgMzguMjUyIDAgMCAwIC0yNi42ODggMTAuODIzIDU0LjYyIDU0LjYyIDAgMCAwIC0xNC4xODYtMTIuNDM1IDU3LjMxIDU3LjMxIDAgMCAxIDk4LjI4NiA0MC4wNzF2MzI2LjY4NGgtMTl2LTMyNi42ODRhMzguNDYxIDM4LjQ2MSAwIDAgMCAtMzguNDA5LTM4LjQ2NHptLTIuNzcgMzc3LjE0M2gxMDAuODY4YzE0LjI1OSAwIDI2LjE5NSAxMSAyOC45NzYgMjRoLTE1OC44MTljMi43ODEtMTMgMTQuNzE2LTI0IDI4Ljk3NS0yNHptMTUzLjE4MiA1MmgtMjA1di0xLjk2OGExNC4zMiAxNC4zMiAwIDAgMSAxNC4zMTktMTQuMDMyaDE3Ni42OTJhMTQuMDM0IDE0LjAzNCAwIDAgMSAxMy45ODkgMTQuMDMyeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzA1IDM4MS4wMzFhNiA2IDAgMCAwIDEyIDB2LTc1LjgwNmE2IDYgMCAwIDAgLTEyIDB6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zMTEgMjkwLjg0NGE2IDYgMCAwIDAgNi02di00LjgzNGE2IDYgMCAwIDAgLTEyIDB2NC44MzRhNiA2IDAgMCAwIDYgNnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=","Temperature Sensors":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJNMzUyLDM4NS40MDZWNTMuMzMzQzM1MiwyMy45MjcsMzI4LjA3MywwLDI5OC42NjcsMHMtNTMuMzMzLDIzLjkyNy01My4zMzMsNTMuMzMzdjMzMi4wNzMNCgkJCQlDMjMxLjcxOSwzOTkuMzY1LDIyNCw0MTguMDMxLDIyNCw0MzcuMzMzQzIyNCw0NzguNSwyNTcuNSw1MTIsMjk4LjY2Nyw1MTJjNDEuMTY3LDAsNzQuNjY3LTMzLjUsNzQuNjY3LTc0LjY2Nw0KCQkJCUMzNzMuMzMzLDQxOC4wMzEsMzY1LjYxNSwzOTkuMzY1LDM1MiwzODUuNDA2eiBNMjk4LjY2Nyw0OTAuNjY3Yy0yOS40MDYsMC01My4zMzMtMjMuOTI3LTUzLjMzMy01My4zMzMNCgkJCQljMC0xNS4xMDQsNi4zMjMtMjkuMTI1LDE3LjgxMy0zOS40NjljMi4yNC0yLjAzMSwzLjUyMS00LjkwNiwzLjUyMS03LjkyN1Y1My4zMzNjMC0xNy42NDYsMTQuMzU0LTMyLDMyLTMyDQoJCQkJYzE3LjY0NiwwLDMyLDE0LjM1NCwzMiwzMnYzMzYuNjA0YzAsMy4wMjEsMS4yODEsNS44OTYsMy41MjEsNy45MjdDMzQ1LjY3Nyw0MDguMjA4LDM1Miw0MjIuMjI5LDM1Miw0MzcuMzMzDQoJCQkJQzM1Miw0NjYuNzQsMzI4LjA3Myw0OTAuNjY3LDI5OC42NjcsNDkwLjY2N3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTMwOS4zMzMsNDA3LjI5OFYyMjRjMC01Ljg5Ni00Ljc3MS0xMC42NjctMTAuNjY3LTEwLjY2N2MtNS44OTYsMC0xMC42NjcsNC43NzEtMTAuNjY3LDEwLjY2N3YxODMuMjk4DQoJCQkJYy0xMi4zODksNC40MTgtMjEuMzMzLDE2LjE0Ny0yMS4zMzMsMzAuMDM1YzAsMTcuNjQ2LDE0LjM1NCwzMiwzMiwzMmMxNy42NDYsMCwzMi0xNC4zNTQsMzItMzINCgkJCQlDMzMwLjY2Nyw0MjMuNDQ1LDMyMS43MjMsNDExLjcxNiwzMDkuMzMzLDQwNy4yOTh6IE0yOTguNjY3LDQ0OGMtNS44ODUsMC0xMC42NjctNC43ODEtMTAuNjY3LTEwLjY2Nw0KCQkJCWMwLTUuODg1LDQuNzgxLTEwLjY2NywxMC42NjctMTAuNjY3YzUuODg1LDAsMTAuNjY3LDQuNzgxLDEwLjY2NywxMC42NjdDMzA5LjMzMyw0NDMuMjE5LDMwNC41NTIsNDQ4LDI5OC42NjcsNDQ4eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjEzLjMzMywzNDEuMzMzaC02NGMtNS44OTYsMC0xMC42NjcsNC43NzEtMTAuNjY3LDEwLjY2N2MwLDUuODk2LDQuNzcxLDEwLjY2NywxMC42NjcsMTAuNjY3aDY0DQoJCQkJYzUuODk2LDAsMTAuNjY3LTQuNzcxLDEwLjY2Ny0xMC42NjdDMjI0LDM0Ni4xMDQsMjE5LjIyOSwzNDEuMzMzLDIxMy4zMzMsMzQxLjMzM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTIxMy4zMzMsMjk4LjY2N0gxOTJjLTUuODk2LDAtMTAuNjY3LDQuNzcxLTEwLjY2NywxMC42NjdjMCw1Ljg5Niw0Ljc3MSwxMC42NjcsMTAuNjY3LDEwLjY2N2gyMS4zMzMNCgkJCQljNS44OTYsMCwxMC42NjctNC43NzEsMTAuNjY3LTEwLjY2N0MyMjQsMzAzLjQzOCwyMTkuMjI5LDI5OC42NjcsMjEzLjMzMywyOTguNjY3eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjEzLjMzMywyNTZIMTkyYy01Ljg5NiwwLTEwLjY2Nyw0Ljc3MS0xMC42NjcsMTAuNjY3YzAsNS44OTYsNC43NzEsMTAuNjY3LDEwLjY2NywxMC42NjdoMjEuMzMzDQoJCQkJYzUuODk2LDAsMTAuNjY3LTQuNzcxLDEwLjY2Ny0xMC42NjdDMjI0LDI2MC43NzEsMjE5LjIyOSwyNTYsMjEzLjMzMywyNTZ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0xNDkuMzMzLDIzNC42NjdoNjRjNS44OTYsMCwxMC42NjctNC43NzEsMTAuNjY3LTEwLjY2N3MtNC43NzEtMTAuNjY3LTEwLjY2Ny0xMC42NjdoLTY0DQoJCQkJYy01Ljg5NiwwLTEwLjY2Nyw0Ljc3MS0xMC42NjcsMTAuNjY3UzE0My40MzgsMjM0LjY2NywxNDkuMzMzLDIzNC42Njd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0xNDkuMzMzLDEwNi42NjdoNjRjNS44OTYsMCwxMC42NjctNC43NzEsMTAuNjY3LTEwLjY2N3MtNC43NzEtMTAuNjY3LTEwLjY2Ny0xMC42NjdoLTY0DQoJCQkJYy01Ljg5NiwwLTEwLjY2Nyw0Ljc3MS0xMC42NjcsMTAuNjY3UzE0My40MzgsMTA2LjY2NywxNDkuMzMzLDEwNi42Njd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0yMTMuMzMzLDE3MC42NjdIMTkyYy01Ljg5NiwwLTEwLjY2Nyw0Ljc3MS0xMC42NjcsMTAuNjY3YzAsNS44OTYsNC43NzEsMTAuNjY3LDEwLjY2NywxMC42NjdoMjEuMzMzDQoJCQkJYzUuODk2LDAsMTAuNjY3LTQuNzcxLDEwLjY2Ny0xMC42NjdDMjI0LDE3NS40MzgsMjE5LjIyOSwxNzAuNjY3LDIxMy4zMzMsMTcwLjY2N3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTIxMy4zMzMsMTI4SDE5MmMtNS44OTYsMC0xMC42NjcsNC43NzEtMTAuNjY3LDEwLjY2N2MwLDUuODk2LDQuNzcxLDEwLjY2NywxMC42NjcsMTAuNjY3aDIxLjMzMw0KCQkJCWM1Ljg5NiwwLDEwLjY2Ny00Ljc3MSwxMC42NjctMTAuNjY3QzIyNCwxMzIuNzcxLDIxOS4yMjksMTI4LDIxMy4zMzMsMTI4eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",Tv:tNe,"Vacuum Cleaner":"PHN2ZyB2aWV3Qm94PSIwIDAgNDgwIDQ4MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtNDQwIDk2Yy00LjQxNzk2OSAwLTgtMy41ODIwMzEtOC04LS4wMjczNDQtMjIuMDgyMDMxLTE3LjkxNzk2OS0zOS45NzI2NTYtNDAtNDAtNC40MTc5NjkgMC04LTMuNTgyMDMxLTgtOHMzLjU4MjAzMS04IDgtOGMzMC45MTQwNjIuMDM1MTU2IDU1Ljk2NDg0NCAyNS4wODU5MzggNTYgNTYgMCA0LjQxNzk2OS0zLjU4MjAzMSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im00MDggOTZjLTQuNDE3OTY5IDAtOC0zLjU4MjAzMS04LThzLTMuNTgyMDMxLTgtOC04LTgtMy41ODIwMzEtOC04IDMuNTgyMDMxLTggOC04YzEzLjI1MzkwNiAwIDI0IDEwLjc0NjA5NCAyNCAyNCAwIDQuNDE3OTY5LTMuNTgyMDMxIDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ3MiA5NmMtNC40MTc5NjkgMC04LTMuNTgyMDMxLTgtOC0uMDQ2ODc1LTM5Ljc0NjA5NC0zMi4yNTM5MDYtNzEuOTUzMTI1LTcyLTcyLTQuNDE3OTY5IDAtOC0zLjU4MjAzMS04LThzMy41ODIwMzEtOCA4LThjNDguNTc4MTI1LjA1ODU5MzggODcuOTQxNDA2IDM5LjQyMTg3NSA4OCA4OCAwIDQuNDE3OTY5LTMuNTgyMDMxIDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQwIDk2Yy00LjQxNzk2OSAwLTgtMy41ODIwMzEtOC04IC4wMzUxNTYtMzAuOTE0MDYyIDI1LjA4NTkzOC01NS45NjQ4NDQgNTYtNTYgNC40MTc5NjkgMCA4IDMuNTgyMDMxIDggOHMtMy41ODIwMzEgOC04IDhjLTIyLjA4MjAzMS4wMjczNDQtMzkuOTcyNjU2IDE3LjkxNzk2OS00MCA0MCAwIDQuNDE3OTY5LTMuNTgyMDMxIDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTcyIDk2Yy00LjQxNzk2OSAwLTgtMy41ODIwMzEtOC04IDAtMTMuMjUzOTA2IDEwLjc0NjA5NC0yNCAyNC0yNCA0LjQxNzk2OSAwIDggMy41ODIwMzEgOCA4cy0zLjU4MjAzMSA4LTggOC04IDMuNTgyMDMxLTggOC0zLjU4MjAzMSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im04IDk2Yy00LjQxNzk2OSAwLTgtMy41ODIwMzEtOC04IC4wNTg1OTM4LTQ4LjU3ODEyNSAzOS40MjE4NzUtODcuOTQxNDA2MiA4OC04OCA0LjQxNzk2OSAwIDggMy41ODIwMzEgOCA4cy0zLjU4MjAzMSA4LTggOGMtMzkuNzQ2MDk0LjA0Njg3NS03MS45NTMxMjUgMzIuMjUzOTA2LTcyIDcyIDAgNC40MTc5NjktMy41ODIwMzEgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMjQwIDQxNmMyNi41MDc4MTIgMCA0OC0yMS40OTIxODggNDgtNDhzLTIxLjQ5MjE4OC00OC00OC00OC00OCAyMS40OTIxODgtNDggNDhjLjAyNzM0NCAyNi41IDIxLjUgNDcuOTcyNjU2IDQ4IDQ4em0wLTgwYzE3LjY3MTg3NSAwIDMyIDE0LjMyODEyNSAzMiAzMnMtMTQuMzI4MTI1IDMyLTMyIDMyLTMyLTE0LjMyODEyNS0zMi0zMiAxNC4zMjgxMjUtMzIgMzItMzJ6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMjQwIDE4NGMxMy4yNTM5MDYgMCAyNC0xMC43NDYwOTQgMjQtMjRzLTEwLjc0NjA5NC0yNC0yNC0yNC0yNCAxMC43NDYwOTQtMjQgMjQgMTAuNzQ2MDk0IDI0IDI0IDI0em0wLTMyYzQuNDE3OTY5IDAgOCAzLjU4MjAzMSA4IDhzLTMuNTgyMDMxIDgtOCA4LTgtMy41ODIwMzEtOC04IDMuNTgyMDMxLTggOC04em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTMxNy45NDUzMTIgMTUydi4wNDY4NzVoLjA1NDY4OHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xNTIgMTUyaDQ4djE2aC00OHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yODAgMTUyaDQ4djE2aC00OHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yNDAgNDhjLTEwMS4yNjU2MjUtLjAxMTcxOS0xODguOTQ1MzEyIDcwLjMzMjAzMS0yMTAuODkwNjI1IDE2OS4xODc1LTIxLjk0NTMxMyA5OC44NTkzNzUgMjcuNzM0Mzc1IDE5OS42OTE0MDYgMTE5LjQ5MjE4NyAyNDIuNTMxMjUgNTcuOTI1NzgyIDI3LjAzNTE1NiAxMjQuODUxNTYzIDI3LjAzNTE1NiAxODIuNzgxMjUgMCA5MS43NTc4MTMtNDIuODM1OTM4IDE0MS40MzM1OTQtMTQzLjY2NDA2MiAxMTkuNDkyMTg4LTI0Mi41MjM0MzgtMjEuOTQxNDA2LTk4Ljg1NTQ2OC0xMDkuNjEzMjgxLTE2OS4xOTkyMTgtMjEwLjg3NS0xNjkuMTk1MzEyem0wIDE2YzEwNy4yODUxNTYuMTMyODEyIDE5NS4zOTg0MzggODQuODA0Njg4IDE5OS44MDA3ODEgMTkyaC0xNmMtNC41ODIwMzEtOTguMTc5Njg4LTg1LjUxNTYyNS0xNzUuNDIxODc1LTE4My44MDA3ODEtMTc1LjQyMTg3NXMtMTc5LjIxODc1IDc3LjI0MjE4Ny0xODMuODAwNzgxIDE3NS40MjE4NzVoLTE2YzQuNDAyMzQzLTEwNy4xOTUzMTIgOTIuNTE1NjI1LTE5MS44NjcxODggMTk5LjgwMDc4MS0xOTJ6bTI5LjExMzI4MSAyNDUuNDk2MDk0YzMwLjY4MzU5NCAxMS45ODgyODEgNTAuODgyODEzIDQxLjU1ODU5NCA1MC44ODY3MTkgNzQuNTAzOTA2djI3LjY0MDYyNWMtNDkuODc4OTA2IDI3LjE0NDUzMS0xMTAuMTIxMDk0IDI3LjE0NDUzMS0xNjAgMHYtMjcuNjQwNjI1Yy4wMDM5MDYtMjYuNDI5Njg4IDEzLjA2MjUtNTEuMTUyMzQ0IDM0Ljg4NjcxOS02Ni4wNTQ2ODggMjEuODI4MTI1LTE0LjkwNjI1IDQ5LjYwOTM3NS0xOC4wNjY0MDYgNzQuMjI2NTYyLTguNDQ5MjE4em02Ni44ODY3MTkgNzQuNTAzOTA2YzAtNTMuMDE5NTMxLTQyLjk4MDQ2OS05Ni05Ni05NnMtOTYgNDIuOTgwNDY5LTk2IDk2djE3LjczNDM3NWMtMzguODYzMjgxLTI2Ljk4MDQ2OS02NC41MDc4MTItNjkuMTMyODEzLTcwLjYwMTU2Mi0xMTYuMDQ2ODc1LTYuMDk3NjU3LTQ2LjkxNzk2OSA3LjkyNTc4MS05NC4yMjI2NTYgMzguNjAxNTYyLTEzMC4yMzgyODF2MzYuNTUwNzgxYy4wMjczNDQgMjIuMDgyMDMxIDE3LjkxNzk2OSAzOS45NzI2NTYgNDAgNDBoMTc2YzIyLjA4MjAzMS0uMDI3MzQ0IDM5Ljk3MjY1Ni0xNy45MTc5NjkgNDAtNDB2LTM2LjU1MDc4MWMzMC42NzU3ODEgMzYuMDE1NjI1IDQ0LjY5OTIxOSA4My4zMjAzMTIgMzguNjAxNTYyIDEzMC4yMzgyODEtNi4wOTM3NSA0Ni45MTQwNjItMzEuNzM4MjgxIDg5LjA2NjQwNi03MC42MDE1NjIgMTE2LjA0Njg3NXptLTIwOC0yNDQuODYzMjgxYzYzLjU4OTg0NC01Ny41MTU2MjUgMTYwLjQxMDE1Ni01Ny41MTU2MjUgMjI0IDB2NTIuODYzMjgxYzAgMTMuMjUzOTA2LTEwLjc0NjA5NCAyNC0yNCAyNGgtMTc2Yy0xMy4yNTM5MDYgMC0yNC0xMC43NDYwOTQtMjQtMjR6bS04Ny43MTA5MzggMTMyLjg2MzI4MWgxNmMyLjgzNTkzOCA2MS4wMzkwNjIgMzUuNjcxODc2IDExNi43MjI2NTYgODcuNzEwOTM4IDE0OC43NTM5MDZ2MTguNjQ0NTMyYy02MS40Mzc1LTMzLjg1MTU2My0xMDAuNzUzOTA2LTk3LjMxMjUtMTAzLjcxMDkzOC0xNjcuMzk4NDM4em0xMTkuNzEwOTM4IDE3NS4yNDYwOTR2LTE3LjY0NDUzMmM1MC41MDM5MDYgMjQuNTYyNSAxMDkuNDk2MDk0IDI0LjU2MjUgMTYwIDB2MTcuNjcxODc2Yy01MC45OTYwOTQgMjIuMzM1OTM3LTEwOS4wMDM5MDYgMjIuMzM1OTM3LTE2MCAwem0xNzYtNy44NDc2NTZ2LTE4LjY0NDUzMmM1Mi4wNDI5NjktMzIuMDI3MzQ0IDg0Ljg4NjcxOS04Ny43MTA5MzcgODcuNzI2NTYyLTE0OC43NTM5MDZoMTZjLTIuOTYwOTM3IDcwLjA4OTg0NC00Mi4yODUxNTYgMTMzLjU1MDc4MS0xMDMuNzI2NTYyIDE2Ny4zOTg0Mzh6bTAgMCIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",Ventilation:sNe,"Washing Machines":"PHN2ZyBoZWlnaHQ9IjQ5NnB0IiB2aWV3Qm94PSIwIDAgNDk2IDQ5NiIgd2lkdGg9IjQ5NnB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im00ODggMGgtNDAwYy00LjQyNTc4MSAwLTggMy41ODU5MzgtOCA4djI5Ni44MzIwMzFjLTIuNjAxNTYyLS41MjczNDMtNS4yNzM0MzgtLjgzMjAzMS04LS44MzIwMzEtMjIuMDU0Njg4IDAtNDAgMTcuOTQ1MzEyLTQwIDQwdi4xNjc5NjljLTcuODI0MjE5IDUuODg2NzE5LTEzLjE1MjM0NCAxNC4zOTg0MzctMTUuMTIxMDk0IDIzLjgzMjAzMWgtOC44Nzg5MDZjLTQuNDI1NzgxIDAtOCAzLjU4NTkzOC04IDh2MzJjMCA0LjQxNDA2MiAzLjU3NDIxOSA4IDggOGg4djI0YzAgMzAuODc4OTA2IDI1LjEyODkwNiA1NiA1NiA1Nmg0MTZjNC40MjU3ODEgMCA4LTMuNTg1OTM4IDgtOHYtNDgwYzAtNC40MTQwNjItMy41NzQyMTktOC04LTh6bS04IDE2djgwaC0zODR2LTgwem0tNDM1LjY1NjI1IDMzOS4xNzU3ODFjMi44Mzk4NDQtMS42MDE1NjIgNC40MzM1OTQtNC43NjE3MTkgNC4wMTU2MjUtOGwtLjEyODkwNi0uOTI5Njg3Yy0uMTAxNTYzLS43MzQzNzUtLjIzMDQ2OS0xLjQ2ODc1LS4yMzA0NjktMi4yNDYwOTQgMC0xMy4yMzA0NjkgMTAuNzY5NTMxLTI0IDI0LTI0IDguNDQ5MjE5IDAgMTYuMTIxMDk0IDQuNDA2MjUgMjAuNTI3MzQ0IDExLjgwMDc4MSAxLjE5OTIxOCAyLjAxNTYyNSAzLjIzNDM3NSAzLjQwNjI1IDUuNTUwNzgxIDMuNzkyOTY5IDIuMzI4MTI1LjM5ODQzOCA0LjY5OTIxOS0uMjY1NjI1IDYuNDk2MDk0LTEuNzkyOTY5IDMuMTIxMDkzLTIuNjQ4NDM3IDguMzIwMzEyLTUuODAwNzgxIDE1LjQyNTc4MS01LjgwMDc4MSA4LjU1ODU5NCAwIDE2LjUzNTE1NiA0LjcyNjU2MiAyMC44MTY0MDYgMTIuMzM1OTM4IDEuNjY0MDYzIDIuOTc2NTYyIDUuMDU0Njg4IDQuNTU4NTkzIDguMzgyODEzIDMuOTYwOTM3IDguMzUxNTYyLTEuNDg4MjgxIDE2LjkwNjI1IDQuMjQ2MDk0IDE4LjQ5NjA5MyAxMi43NDIxODcuNTcwMzEzIDMuMDM5MDYzIDIuODM5ODQ0IDUuNDg4MjgyIDUuODM5ODQ0IDYuMjczNDM4IDMuMDE1NjI1LjgwMDc4MSA2LjE2Nzk2OS0uMjM0Mzc1IDguMTY3OTY5LTIuNjA5Mzc1IDQuNjE3MTg3LTUuNTI3MzQ0IDExLjI4OTA2My04LjcwMzEyNSAxOC4yOTY4NzUtOC43MDMxMjUgMTAuNDE0MDYyIDAgMTkuMjE0ODQ0IDYuNzEwOTM4IDIyLjUyNzM0NCAxNmgtMTg4LjkyNTc4MmMxLjk0MTQwNy01LjI5Njg3NSA1LjYwNTQ2OS05LjkzNzUgMTAuNzQyMTg4LTEyLjgyNDIxOXptMTA3LjY1NjI1LTc1LjE3NTc4MWMwLTc0Ljk5MjE4OCA2MS4wMDc4MTItMTM2IDEzNi0xMzZzMTM2IDYxLjAwNzgxMiAxMzYgMTM2LTYxLjAwNzgxMiAxMzYtMTM2IDEzNmMtMTEuMjg5MDYyIDAtMjIuMzI4MTI1LTEuNTE5NTMxLTMzLjA3ODEyNS00LjIxNDg0NC42Mjg5MDYtMS4xNDQ1MzEgMS4wNzgxMjUtMi4zOTQ1MzEgMS4wNzgxMjUtMy43ODUxNTZ2LTEyLjMzNTkzOGMxMC4zNjcxODggMi44NjMyODIgMjEuMDc4MTI1IDQuMzM1OTM4IDMyIDQuMzM1OTM4IDY2LjE2Nzk2OSAwIDEyMC01My44MzIwMzEgMTIwLTEyMHMtNTMuODMyMDMxLTEyMC0xMjAtMTIwLTEyMCA1My44MzIwMzEtMTIwIDEyMGMwIDIxLjA4OTg0NCA1LjQ4MDQ2OSA0MS40MzM1OTQgMTUuODI0MjE5IDU5LjUwMzkwNi0xLjc5Mjk2OS44MDg1OTQtMy41MzUxNTcgMS43MjY1NjMtNS4xOTE0MDcgMi44MDA3ODItNC4wNTg1OTMtNi4xMTMyODItMTAuMTUyMzQzLTEwLjYzMjgxMy0xNy4yMDcwMzEtMTIuODI0MjE5LTYuMTY3OTY5LTE1Ljc2MTcxOS05LjQyNTc4MS0zMi4zNTkzNzUtOS40MjU3ODEtNDkuNDgwNDY5em00OC40NjQ4NDQgNTYuMDQ2ODc1Yy02LjM2NzE4OC05LjkxMDE1Ni0xMS0yMC43MDMxMjUtMTMuNjc5Njg4LTMyLjA0Njg3NWg1LjIxNDg0NGM3LjI4OTA2MiAwIDE0LjE1MjM0NC0yLjgzOTg0NCAxOS4zMTI1LThsNC42ODc1LTQuNjc5Njg4YzQuMjgxMjUtNC4yODEyNSAxMS43MTg3NS00LjI4MTI1IDE2IDBsNC42ODc1IDQuNjc5Njg4YzEwLjMyODEyNSAxMC4zMTI1IDI4LjI5Njg3NSAxMC4zMjAzMTIgMzguNjI1IDBsNC42ODc1LTQuNjc5Njg4YzQuMjgxMjUtNC4yODEyNSAxMS43MTg3NS00LjI4MTI1IDE2IDBsNC42ODc1IDQuNjc5Njg4YzEwLjMyODEyNSAxMC4zMTI1IDI4LjI5Njg3NSAxMC4zMjAzMTIgMzguNjI1IDBsNC42ODc1LTQuNjc5Njg4YzQuMjgxMjUtNC4yODEyNSAxMS43MTg3NS00LjI4MTI1IDE2IDBsNC42ODc1IDQuNjc5Njg4YzUuMTY3OTY5IDUuMTYwMTU2IDEyLjAyMzQzOCA4IDE5LjMxMjUgOGg1LjA5NzY1NmMtMTAuODgyODEyIDQ1Ljc5Mjk2OS01Mi4wMjczNDQgODAtMTAxLjA5NzY1NiA4MC0xMC45NzY1NjIgMC0yMS42OTUzMTItMS43OTI5NjktMzItNS4xMjg5MDZ2LTIuODcxMDk0YzAtNC40MTQwNjItMy41NzQyMTktOC04LThoLTguODA4NTk0Yy0zLjY4NzUtMTguMDg5ODQ0LTE5LjYyNS0zMS43MjY1NjItMzguNzI2NTYyLTMxLjk1MzEyNXptLTE2LjQ2NDg0NC01Ni4wNDY4NzVjMC01Ny4zNDM3NSA0Ni42NTYyNS0xMDQgMTA0LTEwNHMxMDQgNDYuNjU2MjUgMTA0IDEwNGMwIDIuNzAzMTI1LS4xOTkyMTkgNS4zNTE1NjItLjQwNjI1IDhoLTcuNTkzNzVjLTMuMDIzNDM4IDAtNS44NTU0NjktMS4xNzU3ODEtOC0zLjMxMjVsLTQuNjg3NS00LjY4NzVjLTEwLjMyODEyNS0xMC4zMTI1LTI4LjI5Njg3NS0xMC4zMjAzMTItMzguNjI1IDBsLTQuNjg3NSA0LjY3OTY4OGMtNC4yODEyNSA0LjI4MTI1LTExLjcxODc1IDQuMjgxMjUtMTYgMGwtNC42ODc1LTQuNjc5Njg4Yy0xMC4zMjgxMjUtMTAuMzEyNS0yOC4yOTY4NzUtMTAuMzIwMzEyLTM4LjYyNSAwbC00LjY4NzUgNC42Nzk2ODhjLTQuMjgxMjUgNC4yODEyNS0xMS43MTg3NSA0LjI4MTI1LTE2IDBsLTQuNjg3NS00LjY3OTY4OGMtMTAuMzI4MTI1LTEwLjMxMjUtMjguMjk2ODc1LTEwLjMyMDMxMi0zOC42MjUgMGwtNC42ODc1IDQuNjc5Njg4Yy0yLjE0NDUzMSAyLjE0NDUzMS00Ljk3NjU2MiAzLjMyMDMxMi04IDMuMzIwMzEyaC03LjY5NTMxMmMtLjE5OTIxOS0yLjY0ODQzOC0uMzA0Njg4LTUuMzIwMzEyLS4zMDQ2ODgtOHptLTE2OCAxMDRoMjI0djE2aC0yMjR6bTE2MCA5NmgtMTA0Yy0yMi4wNTQ2ODggMC00MC0xNy45NDUzMTItNDAtNDB2LTI0aDE5MnYyNGMwIDIyLjA1NDY4OC0xNy45NDUzMTIgNDAtNDAgNDB6bTQ3LjExMzI4MSAwYzEwLjQwNjI1LTEwLjE3NTc4MSAxNi44ODY3MTktMjQuMzM1OTM4IDE2Ljg4NjcxOS00MHYtMTUuODcxMDk0YzE1LjQyNTc4MSA1LjE0NDUzMiAzMS41MDM5MDYgNy44NzEwOTQgNDggNy44NzEwOTQgODMuODE2NDA2IDAgMTUyLTY4LjE4MzU5NCAxNTItMTUycy02OC4xODM1OTQtMTUyLTE1Mi0xNTItMTUyIDY4LjE4MzU5NC0xNTIgMTUyYzAgMTMuMDE1NjI1IDEuODAwNzgxIDI1LjczNDM3NSA1LjAwNzgxMiAzOC4xMTMyODEtNi4yMjI2NTYtMy45MDYyNS0xMy40NjQ4NDMtNi4xMTMyODEtMjEuMDA3ODEyLTYuMTEzMjgxLTYuNTM1MTU2IDAtMTMgMS42NzE4NzUtMTguNzg1MTU2IDQuODE2NDA2LTEuNTg5ODQ0LTEuNzI2NTYyLTMuMzc1LTMuMjE0ODQ0LTUuMjE0ODQ0LTQuNjI1di0yMDAuMTkxNDA2aDM4NHYzNjh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMTM2IDgwYzEzLjIzMDQ2OSAwIDI0LTEwLjc2OTUzMSAyNC0yNHMtMTAuNzY5NTMxLTI0LTI0LTI0LTI0IDEwLjc2OTUzMS0yNCAyNCAxMC43Njk1MzEgMjQgMjQgMjR6bTAtMzJjNC40MTQwNjIgMCA4IDMuNTkzNzUgOCA4cy0zLjU4NTkzOCA4LTggOC04LTMuNTkzNzUtOC04IDMuNTg1OTM4LTggOC04em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTIwMCA4MGMxMy4yMzA0NjkgMCAyNC0xMC43Njk1MzEgMjQtMjRzLTEwLjc2OTUzMS0yNC0yNC0yNC0yNCAxMC43Njk1MzEtMjQgMjQgMTAuNzY5NTMxIDI0IDI0IDI0em0wLTMyYzQuNDE0MDYyIDAgOCAzLjU5Mzc1IDggOHMtMy41ODU5MzggOC04IDgtOC0zLjU5Mzc1LTgtOCAzLjU4NTkzOC04IDgtOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yNjQgODBjMTMuMjMwNDY5IDAgMjQtMTAuNzY5NTMxIDI0LTI0cy0xMC43Njk1MzEtMjQtMjQtMjQtMjQgMTAuNzY5NTMxLTI0IDI0IDEwLjc2OTUzMSAyNCAyNCAyNHptMC0zMmM0LjQxNDA2MiAwIDggMy41OTM3NSA4IDhzLTMuNTg1OTM4IDgtOCA4LTgtMy41OTM3NS04LTggMy41ODU5MzgtOCA4LTh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDQ4IDY0aDE2djE2aC0xNnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im00NDggMzJoMTZ2MTZoLTE2em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQxNiA2NGgxNnYxNmgtMTZ6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDE2IDMyaDE2djE2aC0xNnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0zODQgNjRoMTZ2MTZoLTE2em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTM4NCAzMmgxNnYxNmgtMTZ6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMzUyIDY0aDE2djE2aC0xNnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0zNTIgMzJoMTZ2MTZoLTE2em0wIDAiLz4NCiAgICA8L2c+DQo8L3N2Zz4=","Water Consumption":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTI2OC45OSAxODcuNDk5Yy01Ljc1MS05Ljk1OS0yMC4xOTYtMTAuMDE2LTI1Ljk3OSAwLTIxLjgxIDQwLjYxMS0zMi4wMTEgNDguMDYxLTMyLjAxMSA2Ny41MDEgMCAyNC44MTMgMjAuMTg3IDQ1IDQ1IDQ1czQ1LTIwLjE4NyA0NS00NWMwLTE5LjQ1OC0xMC40ODYtMjcuNDIxLTMyLjAxLTY3LjUwMXptLTEyLjk5IDgyLjUwMWMtOC4yNzEgMC0xNS02LjcyOS0xNS0xNSAwLTYuNjg3IDMuMDQyLTguMjE1IDE1LTMwLjAwNSAxMS45NzQgMjEuODE4IDE1IDIzLjMxOCAxNSAzMC4wMDUgMCA4LjI3MS02LjcyOSAxNS0xNSAxNXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQwNiAwaC0zMDBjLTguNzY5IDAtMTUuNjc2IDcuNTAyLTE0Ljk0OCAxNi4yNDZsMzAgMzYwYy42NDggNy43NzQgNy4xNDcgMTMuNzU0IDE0Ljk0OCAxMy43NTRoNzV2MzJoLTE1Yy0xMy4zMTggMC0yMC4wNDggMTYuMTY1LTEwLjYwNiAyNS42MDZsNjAgNjBjNS44NTcgNS44NTggMTUuMzU1IDUuODU5IDIxLjIxMyAwbDYwLTYwYzkuNDE3LTkuNDE3IDIuNzQ1LTI1LjYwNi0xMC42MDctMjUuNjA2aC0xNXYtMzJoNzVjNy44MDEgMCAxNC4zLTUuOTggMTQuOTQ4LTEzLjc1NGwzMC0zNjBjLjcyOC04LjczOS02LjE3NC0xNi4yNDYtMTQuOTQ4LTE2LjI0NnptLTE2LjMwMiAzMC01LjM0NiA2NC4xNDdjLTIxLjc2OCA4LjM0My0zNS44NzEgMjUuODUzLTUzLjM1MiAyNS44NTMtMjIuNzE3IDAtNDAuNDIzLTMwLTc1LTMwLTM0LjcyNyAwLTUyLjE3NiAzMC03NSAzMC0xNy40ODUgMC0zMS41NTYtMTcuNDk5LTUzLjM1Mi0yNS44NTNsLTUuMzQ2LTY0LjE0N3ptLTI3LjUgMzMwaC03Ni4xOThjLTguMjg0IDAtMTUgNi43MTYtMTUgMTV2NjJjMCA2LjQzMiA0LjA0OCAxMS45MTkgOS43MzYgMTQuMDVsLTI0LjczNiAyNC43MzctMjQuNzM2LTI0LjczNmM1LjY4OC0yLjEzMSA5LjczNi03LjYxOCA5LjczNi0xNC4wNXYtNjJjMC04LjI4NC02LjcxNi0xNS0xNS0xNWgtNzYuMTk4bC0xOS4yMDgtMjMwLjUwMmMxNC4zMTUgOS4xNTMgMjkuMDc2IDIwLjUwMSA1MC40MDYgMjAuNTAxIDM0LjcyNyAwIDUyLjE3Ni0zMCA3NS0zMCAyMi43MTcgMCA0MC40MjMgMzAgNzUgMzAgMjEuMDE5IDAgMzUuNDQ5LTEwLjkzNyA1MC40MDYtMjAuNTAyeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==","Water Heater":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJNNjcsMTg1LjMyNXYyODFhMzUuNTQxLDM1LjU0MSwwLDAsMCwzNS40NjksMzUuNjMxTDMxOS4wNiw1MDJoLjAwNkEzNS44OTEsMzUuODkxLDAsMCwwLDM1NSw0NjYuMzY5VjQ2NGg2MC42MmMzNC44MzcsMCw2My4zOC0yNy44Nyw2My4zOC02Mi43MTVWMTg5LjczYzAtMzQuODQ0LTI4LjU0My02Mi43My02My4zOC02Mi43M0gzNTV2LTkuNjg5YzAtLjA3NC0uMTYtLjE0Ni0uMTYyLS4yMTlzLS4wNjUtLjExNC0uMDY1LS4xODdBNjIuMDQ0LDYyLjA0NCwwLDAsMCwyOTIuNzYzLDU1SDIxOVY0NGgxNy44MjhDMjQ1LjY1LDQ0LDI1MywzNy4yLDI1MywyOC4zNzRWMjZhMTYuMTY3LDE2LjE2NywwLDAsMC0xNi4xNzItMTZIMTg5LjcwNkExNS43NywxNS43NywwLDAsMCwxNzQsMjZ2Mi4zNzRBMTUuNDU0LDE1LjQ1NCwwLDAsMCwxODkuNzA2LDQ0SDIwN1Y1NUgxMzMuNzcxQzEwMS41LDU1LDc0LjkyNCw4MCw3Mi4xLDExMUgzOS4yYTYuMDU2LDYuMDU2LDAsMCwwLTUuMiw4LjkyOVpNMzU1LDE2MWg2MC42MkEyOC41ODEsMjguNTgxLDAsMCwxLDQ0NCwxODkuNzNWNDAxLjI4NUEyOC41NjgsMjguNTY4LDAsMCwxLDQxNS42Miw0MzBIMzU1Wm0wLDI4MWg2MC42MkE0MC41ODEsNDAuNTgxLDAsMCwwLDQ1Niw0MDEuMjg1VjE4OS43M0E0MC41OTQsNDAuNTk0LDAsMCwwLDQxNS42MiwxNDlIMzU1VjEzOWg2MC42MmMyOC4yMjEsMCw1MS4zOCwyMi41LDUxLjM4LDUwLjczVjQwMS4yODVDNDY3LDQyOS41MTMsNDQzLjg0MSw0NTIsNDE1LjYyLDQ1MkgzNTVabS0xMiwyNC4zNjlBMjMuODkxLDIzLjg5MSwwLDAsMSwzMTkuMDY2LDQ5MGgwbC0yMTYuNTkxLS4wNDFBMjMuNTI3LDIzLjUyNywwLDAsMSw3OSw0NjYuMzI4VjQ1Mi41N2wyNjQsLjA0OVpNMTkwLDMyYTQsNCwwLDAsMS00LTRWMjZhNCw0LDAsMCwxLDQtNGg0N2E0LDQsMCwwLDEsNCw0djJhNCw0LDAsMCwxLTQsNFpNMTMzLjc3MSw2N0gyOTIuNzYzYTQ5LjgyOSw0OS44MjksMCwwLDEsNDkuNTc2LDQ0SDg0LjJBNDkuODMsNDkuODMsMCwwLDEsMTMzLjc3MSw2N1pNMzQzLDEyM1Y0NDAuNjE5TDc5LDQ0MC41N1YxODMuOWE2Ljg1Myw2Ljg1MywwLDAsMC0uOC0yLjg1MUw0OC45MzQsMTIzWiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjAzLDM4OC40NDNBMzUuMDE3LDM1LjAxNywwLDAsMCwyMzgsMzUzLjZWMjM2Ljg0NGEzNSwzNSwwLDAsMC03MCwwVjM1My42QTM1LjAxNywzNS4wMTcsMCwwLDAsMjAzLDM4OC40NDNabS0yMy0xNTEuNmEyMywyMywwLDAsMSw0NiwwVjI4OUgxODBaTTE4MCwzMDFoNDZ2NTIuNmEyMywyMywwLDAsMS00NiwwWiIvPg0KICAgICAgICA8cGF0aCBkPSJNOTksMzE0LjkxM2E2LDYsMCwwLDAsNi02VjIzMy4xMDZhNiw2LDAsMCwwLTEyLDB2NzUuODA3QTYsNiwwLDAsMCw5OSwzMTQuOTEzWiIvPg0KICAgICAgICA8cGF0aCBkPSJNOTksMjE4LjcyNmE2LDYsMCwwLDAsNi02di00LjgzNGE2LDYsMCwwLDAtMTIsMHY0LjgzNEE2LDYsMCwwLDAsOTksMjE4LjcyNloiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",Water:iNe,Weather:rNe,Window:oNe},nNe="PHN2ZyBoZWlnaHQ9IjUxMnB0IiB2aWV3Qm94PSIwIC0xMDggNTEyIDUxMiIgd2lkdGg9IjUxMnB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im01MDQgNDguMDE1NjI1aC00OTZjLTQuNDI1NzgxIDAtOC0zLjU3NDIxOS04LTh2LTMyLjAxNTYyNWMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDQ5NmM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4djMyLjAxNTYyNWMwIDQuNDI1NzgxLTMuNTc0MjE5IDgtOCA4em0tNDg4LTE2aDQ4MHYtMTYuMDE1NjI1aC00ODB6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMTYgMjk2LjE2MDE1NmMtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOHYtMjQ2LjcxODc1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MjQ2LjcxODc1YzAgNC40MjU3ODItMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDAgMjk2LjE2MDE1NmMtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOHYtMjQ2LjcxODc1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MjQ2LjcxODc1YzAgNC40MjU3ODItMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDcyIDI5Ni4xNjAxNTZjLTQuNDI1NzgxIDAtOC0zLjU3NDIxOC04LTh2LTI0Ni43MTg3NWMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04czggMy41NzQyMTkgOCA4djI0Ni43MTg3NWMwIDQuNDI1NzgyLTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ5NiAyOTYuMTYwMTU2Yy00LjQyNTc4MSAwLTgtMy41NzQyMTgtOC04di0yNDYuNzE4NzVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHYyNDYuNzE4NzVjMCA0LjQyNTc4Mi0zLjU3NDIxOSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im00MCAyOTYuMTYwMTU2aC0yNGMtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDI0YzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyNTc4Mi0zLjU3NDIxOSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im00OTYgMjk2LjE2MDE1NmgtMjRjLTQuNDI1NzgxIDAtOC0zLjU3NDIxOC04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGgyNGM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjU3ODItMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDcyIDE2MC4xMTMyODFoLTQzMmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDQzMmM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDcyIDE4NC4xMjg5MDZoLTQzMmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDQzMmM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNzEuOTg0Mzc1IDE2MC4xMjg5MDZjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC0yMi4wNTg1OTQgMTcuOTM3NS00MCAzOS45OTIxODctNDAgNC40MjE4NzYgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc4MTI0IDgtOCA4LTEzLjIyMjY1NiAwLTIzLjk5MjE4NyAxMC43NjU2MjUtMjMuOTkyMTg3IDI0IDAgNC40MjE4NzUtMy41NzgxMjUgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMTUyIDE2MC4xMjg5MDZjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC0xMy4yMzQzNzUtMTAuNzY5NTMxLTI0LTIzLjk5MjE4OC0yNC00LjQyMTg3NCAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzgxMjYtOCA4LTggMjIuMDU0Njg4IDAgMzkuOTkyMTg4IDE3Ljk0MTQwNiAzOS45OTIxODggNDAgMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im03OS45ODQzNzUgMTM4Ljk2ODc1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di00Mi44Mzk4NDRjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOCA0LjQyMTg3NSAwIDggMy41NzQyMTkgOCA4djQyLjgzOTg0NGMwIDQuNDIxODc1LTMuNTc4MTI1IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTE0My45Njg3NSAxMzguOTY4NzVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTh2LTQyLjgzOTg0NGMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04IDQuNDIxODc1IDAgOCAzLjU3NDIxOSA4IDh2NDIuODM5ODQ0YzAgNC40MjE4NzUtMy41NzgxMjUgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtOTYgMTA0LjE0NDUzMWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOHYtMjQuMDE1NjI1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MjQuMDE1NjI1YzAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMTI4IDgwLjEyODkwNmgtMzJjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGgzMmM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMTI4IDEwNC4xNDQ1MzFjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTh2LTI0LjAxNTYyNWMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04czggMy41NzQyMTkgOCA4djI0LjAxNTYyNWMwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTk2IDk2LjEyODkwNmgtMTYuMDE1NjI1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMTYuMDE1NjI1YzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xNDMuOTY4NzUgOTYuMTI4OTA2aC0xNS45Njg3NWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDE1Ljk2ODc1YzQuNDIxODc1IDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3ODEyNSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xMjAuMDA3ODEyIDEyOC4xMjg5MDZoLTE2LjAzMTI1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMTYuMDMxMjVjNC40MjU3ODIgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE4IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTE3NS45ODQzNzUgMTYwLjEyODkwNmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTIyLjA1ODU5NCAxNy45Mzc1LTQwIDM5Ljk5MjE4Ny00MCA0LjQyMTg3NiAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzgxMjQgOC04IDgtMTMuMjIyNjU2IDAtMjMuOTkyMTg3IDEwLjc2NTYyNS0yMy45OTIxODcgMjQgMCA0LjQyMTg3NS0zLjU3ODEyNSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yNTYgMTYwLjEyODkwNmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTEzLjIzNDM3NS0xMC43Njk1MzEtMjQtMjMuOTkyMTg4LTI0LTQuNDIxODc0IDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3ODEyNi04IDgtOCAyMi4wNTQ2ODggMCAzOS45OTIxODggMTcuOTQxNDA2IDM5Ljk5MjE4OCA0MCAwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTE4My45ODQzNzUgMTM4Ljk2ODc1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di00Mi44Mzk4NDRjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOCA0LjQyMTg3NSAwIDggMy41NzQyMTkgOCA4djQyLjgzOTg0NGMwIDQuNDIxODc1LTMuNTc4MTI1IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTI0Ny45Njg3NSAxMzguOTY4NzVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTh2LTQyLjgzOTg0NGMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04IDQuNDIxODc1IDAgOCAzLjU3NDIxOSA4IDh2NDIuODM5ODQ0YzAgNC40MjE4NzUtMy41NzgxMjUgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMjAwIDEwNC4xNDQ1MzFjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTh2LTI0LjAxNTYyNWMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04czggMy41NzQyMTkgOCA4djI0LjAxNTYyNWMwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTIzMiA4MC4xMjg5MDZoLTMyYy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMzJjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTIzMiAxMDQuMTQ0NTMxYy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di0yNC4wMTU2MjVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHYyNC4wMTU2MjVjMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yMDAgOTYuMTI4OTA2aC0xNi4wMTU2MjVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGgxNi4wMTU2MjVjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTI0Ny45Njg3NSA5Ni4xMjg5MDZoLTE1Ljk2ODc1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMTUuOTY4NzVjNC40MjE4NzUgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc4MTI1IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTIyNC4wMDc4MTIgMTI4LjEyODkwNmgtMTYuMDMxMjVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGgxNi4wMzEyNWM0LjQyNTc4MiAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTggOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMjU2LjE2Nzk2OSAyODAuMTQ0NTMxYy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtMTMuMjQyMTg3IDEwLjc3NzM0My0yNC4wMTU2MjUgMjQuMDE1NjI1LTI0LjAxNTYyNSA0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDgtNC40MjE4NzUgMC04LjAxNTYyNSAzLjU4OTg0NC04LjAxNTYyNSA4LjAxNTYyNSAwIDQuNDIxODc1LTMuNTgyMDMxIDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTMzNi4xOTE0MDYgMjgwLjE0NDUzMWMtNC40MjE4NzUgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDE3OTY5LTMuNTgyMDMxLTgtOC04LTQuNDIxODc1IDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3ODEyNS04IDgtOCAxMy4yMzQzNzUgMCAyNCAxMC43NjU2MjUgMjQgMjQgMCA0LjQyMTg3NS0zLjU3NDIxOCA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0zMzYuMTkxNDA2IDI5Ni4xNjAxNTZoLTgwLjAyMzQzN2MtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDgwLjAzMTI1YzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyNTc4Mi0zLjU4MjAzMSA4LTguMDA3ODEzIDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMzIwLjgzMjAzMSAyNjQuMTI4OTA2aC00OS4yOTY4NzVjLTQuNDIxODc1IDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3ODEyNS04IDgtOGg0OS4yOTY4NzVjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTI3Mi4xNjc5NjkgMjY0LjEyODkwNmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOHYtNDcuOTg0Mzc1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2NDcuOTg0Mzc1YzAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMzIwLjE5OTIxOSAyNjQuMTQ0NTMxYy00LjQyMTg3NSAwLTgtMy41NzgxMjUtOC04di00OGMwLTQuNDI1NzgxIDMuNTc4MTI1LTggOC04IDQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDh2NDhjMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yNTYuMTY3OTY5IDI5Ni4xNjAxNTZjLTQuNDI1NzgxIDAtOC0zLjU3NDIxOC04LTh2LTE2LjAxNTYyNWMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04czggMy41NzQyMTkgOCA4djE2LjAxNTYyNWMwIDQuNDI1NzgyLTMuNTgyMDMxIDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTMzNi4xOTE0MDYgMjk2LjE2MDE1NmMtNC40MjE4NzUgMC04LTMuNTc0MjE4LTgtOHYtMTYuMDE1NjI1YzAtNC40MjU3ODEgMy41NzgxMjUtOCA4LTggNC40MjU3ODIgMCA4IDMuNTc0MjE5IDggOHYxNi4wMTU2MjVjMCA0LjQyNTc4Mi0zLjU3NDIxOCA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0zMjAuMTk5MjE5IDIxNi4xNDQ1MzFoLTQ4LjAzMTI1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoNDguMDMxMjVjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTMyOC4xOTE0MDYgMjQwLjE0NDUzMWgtNjQuMDIzNDM3Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoNjQuMDIzNDM3YzQuNDI1NzgyIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOCA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0zNjAuMTY3OTY5IDI4MC4xNDQ1MzFjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC0xMy4yNDIxODcgMTAuNzc3MzQzLTI0LjAxNTYyNSAyNC4wMTU2MjUtMjQuMDE1NjI1IDQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOC00LjQyMTg3NSAwLTguMDE1NjI1IDMuNTg5ODQ0LTguMDE1NjI1IDguMDE1NjI1IDAgNC40MjE4NzUtMy41ODIwMzEgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDQwLjE5MTQwNiAyODAuMTQ0NTMxYy00LjQyMTg3NSAwLTgtMy41NzgxMjUtOC04IDAtNC40MTc5NjktMy41ODIwMzEtOC04LTgtNC40MjE4NzUgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc4MTI1LTggOC04IDEzLjIzNDM3NSAwIDI0IDEwLjc2NTYyNSAyNCAyNCAwIDQuNDIxODc1LTMuNTc0MjE4IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ0MC4xOTE0MDYgMjk2LjE2MDE1NmgtODAuMDIzNDM3Yy00LjQyNTc4MSAwLTgtMy41NzQyMTgtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoODAuMDMxMjVjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDI1NzgyLTMuNTgyMDMxIDgtOC4wMDc4MTMgOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im00MjQuODMyMDMxIDI2NC4xMjg5MDZoLTQ5LjI5Njg3NWMtNC40MjE4NzUgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc4MTI1LTggOC04aDQ5LjI5Njg3NWM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMzc2LjE2Nzk2OSAyNjQuMTI4OTA2Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di00Ny45ODQzNzVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHY0Ny45ODQzNzVjMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im00MjQuMTk5MjE5IDI2NC4xNDQ1MzFjLTQuNDIxODc1IDAtOC0zLjU3ODEyNS04LTh2LTQ4YzAtNC40MjU3ODEgMy41NzgxMjUtOCA4LTggNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOHY0OGMwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTM2MC4xNjc5NjkgMjk2LjE2MDE1NmMtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOHYtMTYuMDE1NjI1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MTYuMDE1NjI1YzAgNC40MjU3ODItMy41ODIwMzEgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDQwLjE5MTQwNiAyOTYuMTYwMTU2Yy00LjQyMTg3NSAwLTgtMy41NzQyMTgtOC04di0xNi4wMTU2MjVjMC00LjQyNTc4MSAzLjU3ODEyNS04IDgtOCA0LjQyNTc4MiAwIDggMy41NzQyMTkgOCA4djE2LjAxNTYyNWMwIDQuNDI1NzgyLTMuNTc0MjE4IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQyNC4xOTkyMTkgMjE2LjE0NDUzMWgtNDguMDMxMjVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGg0OC4wMzEyNWM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDMyLjE5MTQwNiAyNDAuMTQ0NTMxaC02NC4wMjM0MzdjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGg2NC4wMjM0MzdjNC40MjU3ODIgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE4IDgtOCA4em0wIDAiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",aNe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDM2Mi43ODcgMzYyLjc4NyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTI2MC45NDUsMTQ0Ljk3OWMtMi42NjcsMC01LjEzMywxLjQxNi02LjQ3NywzLjcxOWwtNDcuNDg0LDgxLjMzM2MtMS4zNTQsMi4zMTktMS4zNjUsNS4xODYtMC4wMjcsNy41MTYNCgkJYzEuMzM3LDIuMzI5LDMuODE4LDMuNzY2LDYuNTA0LDMuNzY2aDk0Ljk2OGMyLjY4NiwwLDUuMTY3LTEuNDM3LDYuNTA0LTMuNzY2YzEuMzM4LTIuMzMsMS4zMjctNS4xOTYtMC4wMjctNy41MTZsLTQ3LjQ4My04MS4zMzMNCgkJQzI2Ni4wNzgsMTQ2LjM5NSwyNjMuNjEyLDE0NC45NzksMjYwLjk0NSwxNDQuOTc5eiBNMjI2LjUyNCwyMjYuMzEybDM0LjQyMS01OC45NThsMzQuNDIsNTguOTU4SDIyNi41MjR6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0zNTUuMjg3LDI1NC42OWgtMTc1LjYybDgxLjI3OC0xMzkuMjE4bDYyLjkyNiwxMDcuNzgzYzIuMDg4LDMuNTc4LDYuNjgzLDQuNzg0LDEwLjI1OCwyLjY5Ng0KCQljMy41NzctMi4wODgsNC43ODQtNi42ODEsMi42OTUtMTAuMjU4TDI2Ny40MjIsOTYuODE1Yy0wLjAyMS0wLjAzNi0wLjA0OC0wLjA2Ny0wLjA2OS0wLjEwM2MtMC4xMjYtMC4yMDgtMC4yNjItMC40MDgtMC40MDctMC42MDMNCgkJYy0wLjA0NC0wLjA1OS0wLjA4Ni0wLjExOC0wLjEzMS0wLjE3NmMtMC4xODMtMC4yMy0wLjM3Ni0wLjQ1MS0wLjU4NC0wLjY1OGMtMC4wMjQtMC4wMjQtMC4wNTEtMC4wNDUtMC4wNzYtMC4wNjkNCgkJYy0wLjE4Ni0wLjE4LTAuMzgzLTAuMzQ5LTAuNTg3LTAuNTA5Yy0wLjA2NS0wLjA1MS0wLjEzMi0wLjEtMC4xOTktMC4xNDhjLTAuMTg3LTAuMTM3LTAuMzc5LTAuMjY0LTAuNTc4LTAuMzg0DQoJCWMtMC4wNTUtMC4wMzMtMC4xMDgtMC4wNjgtMC4xNjQtMC4xYy0wLjI2MS0wLjE0Ny0wLjUzLTAuMjgyLTAuODA5LTAuMzk3Yy0wLjAxMS0wLjAwNC0wLjAyMi0wLjAwOC0wLjAzMy0wLjAxMg0KCQljLTAuMjYtMC4xMDYtMC41MjgtMC4xOTYtMC44MDItMC4yNzNjLTAuMDczLTAuMDIxLTAuMTQ2LTAuMDM4LTAuMjItMC4wNTZjLTAuMjIyLTAuMDU1LTAuNDQ3LTAuMS0wLjY3Ny0wLjEzNQ0KCQljLTAuMDc5LTAuMDEyLTAuMTU3LTAuMDI2LTAuMjM2LTAuMDM2Yy0wLjI5Ny0wLjAzNi0wLjU5OC0wLjA2LTAuOTA2LTAuMDZIMTAxLjg0MmMtMi42NjcsMC01LjEzMywxLjQxNi02LjQ3NywzLjcxOQ0KCQlMMS4wMjMsMjU4LjQwOGMtMS4zNTQsMi4zMTktMS4zNjUsNS4xODYtMC4wMjcsNy41MTZjMS4zMzcsMi4zMjksMy44MTgsMy43NjYsNi41MDQsMy43NjZoODYuNTM4YzAuMDA4LDAsMC4wMTUsMC4wMDEsMC4wMjMsMC4wMDENCgkJczAuMDE1LTAuMDAxLDAuMDIzLTAuMDAxaDM1Ljg4OWMwLjAwOCwwLDAuMDE1LDAuMDAxLDAuMDIzLDAuMDAxczAuMDE1LTAuMDAxLDAuMDIzLTAuMDAxaDM2LjU4NmgxODguNjg0DQoJCWM0LjE0MywwLDcuNS0zLjM1OCw3LjUtNy41UzM1OS40MywyNTQuNjksMzU1LjI4NywyNTQuNjl6IE0xNjIuMjk4LDI1NC42OWgtMTkuMjYzbDY5LjQzLTExOS40Nw0KCQljMi4wODEtMy41ODIsMC44NjUtOC4xNzItMi43MTYtMTAuMjUzYy0zLjU4LTIuMDgzLTguMTczLTAuODY2LTEwLjI1MywyLjcxNmwtNzMuODEsMTI3LjAwN0gxMDcuMWw4NS4xOTItMTQ2LjU5NGg1NS41OQ0KCQlMMTYyLjI5OCwyNTQuNjl6IE0xMDYuMTQ3LDEwOC4wOTZoMzQuMDkxTDc0Ljc4OSwyMjAuNzE3Yy0yLjA4MSwzLjU4Mi0wLjg2NSw4LjE3MiwyLjcxNiwxMC4yNTMNCgkJYzEuMTg2LDAuNjg5LDIuNDgyLDEuMDE3LDMuNzYyLDEuMDE3YzIuNTg0LDAsNS4xLTEuMzM3LDYuNDkxLTMuNzMzbDY5LjgzLTEyMC4xNThoMTcuMzU2TDg5Ljc1MSwyNTQuNjlIMjAuNTYzTDEwNi4xNDcsMTA4LjA5NnoiDQogICAgICAgIC8+DQogICAgPC9nPg0KPC9zdmc+DQo=",cNe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTQ5Ni43MDQgMjcyLjA4NmgtODEuNzA0di04OC4wNzNjMC00LjE0Mi0zLjM1Ny03LjUtNy41LTcuNXMtNy41IDMuMzU4LTcuNSA3LjV2ODguMDczaC0xNXYtMTkzLjcxYzAtOC4yNDktNi43MTEtMTQuOTU5LTE0Ljk1OS0xNC45NTloLTkxLjU4MmMtOC4yNDggMC0xNC45NTkgNi43MS0xNC45NTkgMTQuOTU5djE5My43MWgtMTV2LTE5My43MWMwLTguMjQ5LTYuNzExLTE0Ljk1OS0xNC45NTktMTQuOTU5aC05MS41ODJjLTguMjQ4IDAtMTQuOTU5IDYuNzEtMTQuOTU5IDE0Ljk1OXYxOTMuNzFoLTE1di0yMjMuNjY5aDI4OHYxMDAuNTk2YzAgNC4xNDIgMy4zNTcgNy41IDcuNSA3LjVzNy41LTMuMzU4IDcuNS03LjV2LTEwMC41OTZoMy4yMDRjOC40MzUgMCAxNS4yOTYtNi44ODMgMTUuMjk2LTE1LjM0NHYtMTcuNzNjMC04LjQ2LTYuODYxLTE1LjM0My0xNS4yOTYtMTUuMzQzaC0zMjQuNDA4Yy04LjQzNSAwLTE1LjI5NiA2Ljg4My0xNS4yOTYgMTUuMzQ0djE3LjczYzAgOC40NiA2Ljg2MSAxNS4zNDQgMTUuMjk2IDE1LjM0NGgzLjIwNHYyMjMuNjY5aC04MS43MDRjLTguNDM1LS4wMDEtMTUuMjk2IDYuODYxLTE1LjI5NiAxNS4yOTV2MTcuNjIyYzAgOC40MzUgNi44NjEgMTUuMjk2IDE1LjI5NiAxNS4yOTZoLjV2MTQzLjQ4NmgtLjVjLTguNDM1IDAtMTUuMjk2IDYuODYyLTE1LjI5NiAxNS4yOTZ2MTcuNjIyYzAgOC40MzQgNi44NjEgMTUuMjk2IDE1LjI5NiAxNS4yOTZoMjIzLjIwNGM0LjE0MyAwIDcuNS0zLjM1OCA3LjUtNy41cy0zLjM1Ny03LjUtNy41LTcuNWgtMjIzLjIwNGMtLjE2MyAwLS4yOTYtLjEzMy0uMjk2LS4yOTZ2LTE3LjYyMmMwLS4xNjMuMTMzLS4yOTYuMjk2LS4yOTZoNDgxLjQwOGMuMTYzIDAgLjI5Ni4xMzMuMjk2LjI5NnYxNy42MjJjMCAuMTYzLS4xMzMuMjk2LS4yOTYuMjk2aC0yMjMuMjA0Yy00LjE0MyAwLTcuNSAzLjM1OC03LjUgNy41czMuMzU3IDcuNSA3LjUgNy41aDIyMy4yMDRjOC40MzUgMCAxNS4yOTYtNi44NjIgMTUuMjk2LTE1LjI5NnYtMTcuNjIyYzAtOC40MzQtNi44NjEtMTUuMjk2LTE1LjI5Ni0xNS4yOTZoLS41di0xNDMuNDg2aC41YzguNDM1IDAgMTUuMjk2LTYuODYyIDE1LjI5Ni0xNS4yOTZ2LTE3LjYyMmMwLTguNDM0LTYuODYxLTE1LjI5Ni0xNS4yOTYtMTUuMjk2em0tNDAzLjIwNC0yMzkuMDEydi0xNy43M2MwLS4yMTIuMTUzLS4zNDQuMjk2LS4zNDRoMzI0LjQwOGMuMTQzIDAgLjI5Ni4xMzEuMjk2LjM0NHYxNy43M2MwIC4yMTItLjE1My4zNDQtLjI5Ni4zNDQtMTUuMzY3IDAtMzA5LjA1MSAwLTMyNC40MDggMC0uMTQzLS4wMDEtLjI5Ni0uMTMyLS4yOTYtLjM0NHptMTg0Ljk1OSA0NS4zNDMgOTEuNTQxLS4wNDF2MTkzLjcxaC05MS41MDJ6bS0xMzYuNSAwIDkxLjU0MS0uMDQxdjE5My43MWgtOTEuNTAyem0zMzkuMjQ1IDM4NC44MTdoLTQ1MC40MDh2LTE0Mi45MzRoNDUwLjQwOHptMTUuNzk2LTE1OC4yM2MwIC4xNjQtLjEzMy4yOTYtLjI5Ni4yOTYtMi44MjQgMC00NzEuMTUzIDAtNDgxLjQwOCAwLS4xNjMgMC0uMjk2LS4xMzMtLjI5Ni0uMjk2di0xNy42MjJjMC0uMTYzLjEzMy0uMjk2LjI5Ni0uMjk2aDQ4MS40MDhjLjE2MyAwIC4yOTYuMTMzLjI5Ni4yOTZ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im02Ny42NTUgNDQyLjcwNGgxOC45OWM4Ljc2OCAwIDE1LjktNy4xMzMgMTUuOS0xNS45MDF2LTY5LjUyYzAtOC43NjgtNy4xMzMtMTUuOTAxLTE1LjktMTUuOTAxaC0xOC45OWMtOC43NjggMC0xNS45IDcuMTMzLTE1LjkgMTUuOTAxdjY5LjUyYzAgOC43NjggNy4xMzMgMTUuOTAxIDE1LjkgMTUuOTAxem0tLjktODUuNDIxYzAtLjQ5Ny40MDQtLjkwMS45LS45MDFoMTguOTljLjQ5NiAwIC45LjQwNC45LjkwMXY2OS41MmMwIC40OTctLjQwNC45MDEtLjkuOTAxaC0xOC45OWMtLjQ5NiAwLS45LS40MDQtLjktLjkwMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTEzOS40MDYgNDQyLjcwNGgxOC45ODljOC43NjggMCAxNS45MDEtNy4xMzMgMTUuOTAxLTE1LjkwMXYtNjkuNTJjMC04Ljc2OC03LjEzNC0xNS45MDEtMTUuOTAxLTE1LjkwMWgtMTguOTg5Yy04Ljc2OCAwLTE1LjkwMSA3LjEzMy0xNS45MDEgMTUuOTAxdjY5LjUyYzAgOC43NjggNy4xMzQgMTUuOTAxIDE1LjkwMSAxNS45MDF6bS0uOTAxLTg1LjQyMWMwLS40OTcuNDA0LS45MDEuOTAxLS45MDFoMTguOTg5Yy40OTcgMCAuOTAxLjQwNC45MDEuOTAxdjY5LjUyYzAgLjQ5Ny0uNDA0LjkwMS0uOTAxLjkwMWgtMTguOTg5Yy0uNDk3IDAtLjkwMS0uNDA0LS45MDEtLjkwMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTIxMC43OTYgNDQyLjcwNGgxOC45OWM4Ljc2OCAwIDE1LjkwMS03LjEzMyAxNS45MDEtMTUuOTAxdi02OS41MmMwLTguNzY4LTcuMTM0LTE1LjkwMS0xNS45MDEtMTUuOTAxaC0xOC45OWMtOC43NjggMC0xNS45IDcuMTMzLTE1LjkgMTUuOTAxdjY5LjUyYzAgOC43NjggNy4xMzIgMTUuOTAxIDE1LjkgMTUuOTAxem0tLjktODUuNDIxYzAtLjQ5Ny40MDQtLjkwMS45LS45MDFoMTguOTljLjQ5NyAwIC45MDEuNDA0LjkwMS45MDF2NjkuNTJjMCAuNDk3LS40MDQuOTAxLS45MDEuOTAxaC0xOC45OWMtLjQ5NiAwLS45LS40MDQtLjktLjkwMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI4Mi41NDcgNDQyLjcwNGgxOC45ODljOC43NjggMCAxNS45MDEtNy4xMzMgMTUuOTAxLTE1LjkwMXYtNjkuNTJjMC04Ljc2OC03LjEzNC0xNS45MDEtMTUuOTAxLTE1LjkwMWgtMTguOTg5Yy04Ljc2OCAwLTE1LjkwMSA3LjEzMy0xNS45MDEgMTUuOTAxdjY5LjUyYzAgOC43NjggNy4xMzMgMTUuOTAxIDE1LjkwMSAxNS45MDF6bS0uOTAxLTg1LjQyMWMwLS40OTcuNDA0LS45MDEuOTAxLS45MDFoMTguOTg5Yy40OTcgMCAuOTAxLjQwNC45MDEuOTAxdjY5LjUyYzAgLjQ5Ny0uNDA0LjkwMS0uOTAxLjkwMWgtMTguOTg5Yy0uNDk3IDAtLjkwMS0uNDA0LS45MDEtLjkwMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM1NC4xMzEgNDQyLjcwNGgxOC45ODljOC43NjggMCAxNS45MDEtNy4xMzMgMTUuOTAxLTE1LjkwMXYtNjkuNTJjMC04Ljc2OC03LjEzNC0xNS45MDEtMTUuOTAxLTE1LjkwMWgtMTguOTg5Yy04Ljc2OCAwLTE1LjkwMSA3LjEzMy0xNS45MDEgMTUuOTAxdjY5LjUyYy0uMDAxIDguNzY4IDcuMTMzIDE1LjkwMSAxNS45MDEgMTUuOTAxem0tLjkwMi04NS40MjFjMC0uNDk3LjQwNC0uOTAxLjkwMS0uOTAxaDE4Ljk4OWMuNDk3IDAgLjkwMS40MDQuOTAxLjkwMXY2OS41MmMwIC40OTctLjQwNC45MDEtLjkwMS45MDFoLTE4Ljk4OWMtLjQ5NyAwLS45MDEtLjQwNC0uOTAxLS45MDF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00MjUuNTIxIDQ0Mi43MDRoMTguOTg5YzguNzY4IDAgMTUuOTAxLTcuMTMzIDE1LjkwMS0xNS45MDF2LTY5LjUyYzAtOC43NjgtNy4xMzQtMTUuOTAxLTE1LjkwMS0xNS45MDFoLTE4Ljk4OWMtOC43NjggMC0xNS45MDEgNy4xMzMtMTUuOTAxIDE1LjkwMXY2OS41MmMwIDguNzY4IDcuMTM0IDE1LjkwMSAxNS45MDEgMTUuOTAxem0tLjkwMS04NS40MjFjMC0uNDk3LjQwNC0uOTAxLjkwMS0uOTAxaDE4Ljk4OWMuNDk3IDAgLjkwMS40MDQuOTAxLjkwMXY2OS41MmMwIC40OTctLjQwNC45MDEtLjkwMS45MDFoLTE4Ljk4OWMtLjQ5NyAwLS45MDEtLjQwNC0uOTAxLS45MDF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zMTYuNDExIDEwNy4yNjhjLTIuOTMtMi45MjktNy42NzgtMi45MjktMTAuNjA3IDBzLTIuOTI5IDcuNjc4IDAgMTAuNjA2bDIzLjUxMiAyMy41MTJjMi45MyAyLjkyOSA3LjY3OCAyLjkyOSAxMC42MDcgMHMyLjkyOS03LjY3OCAwLTEwLjYwNnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM0Mi42MDQgOTIuODMyYy0yLjkzLTIuOTI5LTcuNjc4LTIuOTI5LTEwLjYwNyAwcy0yLjkyOSA3LjY3OCAwIDEwLjYwNmwxMS43NTYgMTEuNzU2YzIuOTMgMi45MjkgNy42NzggMi45MjkgMTAuNjA3IDBzMi45MjktNy42NzggMC0xMC42MDZ6Ii8+DQogICAgPC9nPg0KPC9zdmc+",uNe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTQxMy45MDcgMGMtNTQuMTA0IDAtOTguMTIyIDQ0LjAwNS05OC4xMjIgOTguMDk2djQzLjU4MnMtNjkuODMxLTM2LjkxMi03MS4wNjUtMzcuNTkzYy05LjU0NC01LjI2Ni0xMi4xODUtNS4yNjctMjEuNzMxIDAtMS4yMzQuNjgxLTEzNi4xNDEgNzEuOTU4LTEzNi4xNDEgNzEuOTU4LTExLjQzNyA2LjAxNy0xMy4wNDUgNy43NDUtMTcuODc4IDE1Ljc4My0uNzg4IDEuMzExLTY1LjY5OCAxMDQuMjMtNjUuNjk4IDEwNC4yMy0zLjE3NSA1LjAyMy00LjA3NyAxMC45NjItMi41MzkgMTYuNzIyIDEuNjE3IDYuMDU2IDUuODQgMTEuMjY5IDExLjU3NyAxNC4yOTUgMy42NDYgMS45MyA3LjU4MiAyLjg1IDExLjQ2NSAyLjg1IDYuMjAyIDAgMTIuMjU1LTIuMzU4IDE2Ljc0NS02LjY4OHY2NS4wNDRjMCA0LjE0MiAzLjM1OCA3LjUgNy41IDcuNXM3LjUtMy4zNTggNy41LTcuNXYtODcuNTQxczQ5LjEzNC03Ny44NTUgNDkuNjUyLTc4LjY4MmMyLjMzNC0zLjcyOSAzLjMyOC01LjI4MyA0LjQ5Ni02LjMxOCAxLjMzMy0xLjE4MSAzLjY2NS0yLjQ2NCA4LjY2NS01LjEwN2wxMTMuMDAyLTU5LjY0OWMuODAxLS40MjUgMS40OS0uODAzIDIuMDkzLTEuMTMzLjE0MS0uMDc3LjI4NS0uMTU2LjQyOC0uMjM0LjE0My4wNzguMjg3LjE1Ny40MjguMjM0LjYwMy4zMzEgMS4yOTIuNzA4IDIuMTA5IDEuMTQyIDAgMCAxMTguMTkzIDYyLjQxMyAxMTkuNjQyIDYzLjMxLjg2OS41MzggMS41MDkuOTk1IDIuMDA5IDEuNDM4IDEuMTY3IDEuMDM1IDIuMTYyIDIuNTg5IDQuNDk2IDYuMzE4LjUxOC44MjcgNDkuNjUxIDc4LjY4MSA0OS42NTEgNzguNjgxdjE2MC43MTZoLTg0LjkyMXYtMTA0LjM0aDEyLjYyNWM3LjY1MiAwIDEzLjg3OC02LjIyNiAxMy44NzgtMTMuODc4di0yMS40M2MwLTcuNjUyLTYuMjI2LTEzLjg3OC0xMy44NzgtMTMuODc4aC04NS4xMjJjLTQuMTQyIDAtNy41IDMuMzU4LTcuNSA3LjVzMy4zNTggNy41IDcuNSA3LjVoODR2MTkuMTg2aC0yMDkuODF2LTE5LjE4Nmg5MS4yYzQuMTQyIDAgNy41LTMuMzU4IDcuNS03LjVzLTMuMzU4LTcuNS03LjUtNy41aC05Mi4zMjJjLTcuNjUyIDAtMTMuODc4IDYuMjI2LTEzLjg3OCAxMy44Nzh2MjEuNDNjMCA3LjY1MiA2LjIyNiAxMy44NzggMTMuODc4IDEzLjg3OGgxMi42MjV2MTA0LjMzOWgtODQuOTQ3di0zOC41NjNjMC00LjE0Mi0zLjM1OC03LjUtNy41LTcuNXMtNy41IDMuMzU4LTcuNSA3LjV2NzYuNTM2YzAgNi45MzQgNS42NDEgMTIuNTc0IDEyLjU3NCAxMi41NzRoNDQ1LjkwN2M3LjE2NyAwIDEyLjk5OS01LjgzMiAxMi45OTktMTIuOTk5di00MDAuOTA1Yy4wMDEtNTQuMDkxLTQ0LjAwNC05OC4wOTYtOTguMDkyLTk4LjA5NnptLTI3My40NCA0OTdoLTg0Ljk0OHYtMjAuNTQ2aDg0Ljk0N3YyMC41NDZ6bTE1OS43ODMtMTM5Ljg4Ni02Ni4zODIgNTkuODQ1LTY2LjM4Mi01OS44NDV6bS0xNDQuNzgzIDkuMzU5IDY3LjIwMSA2MC41ODQtNjcuMjAxIDYwLjU4NHptMTIuMDIgMTMwLjUyNyA2Ni4zODItNTkuODQ1IDY2LjM4MSA1OS44NDV6bTE0NC43ODMtOS4zNTktNjcuMjAxLTYwLjU4NCA2Ny4yMDEtNjAuNTg0em05OS45MTkgOS4zNTloLTg0LjkxOXYtMjAuNTQ2aDg0LjkxOXptNTMuNDQ1LTE5OC44MjNjLS4zNDctLjcyLS43MzMtMS40MjctMS4xNjYtMi4xMTdsLTUxLjk0NS04Mi4yNjZoODQuNDc3djg0LjM4M3ptLTEzNC44NDgtMjAwLjA4MWMwLTQ1LjgxOSAzNy4yODgtODMuMDk2IDgzLjEyMi04My4wOTYgNDUuODE2IDAgODMuMDkyIDM3LjI3NiA4My4wOTIgODMuMDk2djEuMjg3aC0xNjYuMjE0em0wIDE2LjI4N2gxNjYuMjE0djg0LjQxMmgtOTMuOTQ5cy0zLjUyMy01LjY1Ni00LjMxMi02Ljk2NmMtNC44MzEtOC4wMzYtNi40NC05Ljc2Ni0xNy44NjgtMTUuNzc4bC01MC4wODYtMjYuNDV2LTM1LjIxOHptOTUuMjQ2IDE4MC4xNzdzLTUwLjI3NS03OS42NTYtNTAuNzgtODAuNDYzYy00Ljc5OS03LjY2NS02LjUxNC05LjgyNS0xMy4yODEtMTMuNjkyLS41MjEtLjI5Ny0xMTkuOTI5LTYzLjQwOC0xMjAuNDgyLTYzLjcxMS01LjEwMS0yLjc5NS03Ljg0Ny0zLjMyLTEyLjA2Ny0xLjU3Mi0uMDM3LjAxNS0uMDc2LjAzNC0uMTEzLjA1LS42MTYuMjU5LTExNy45ODUgNjIuMTk3LTExNy45ODUgNjIuMTk3LTExLjcyNyA2LjItMTIuOTYxIDcuMjk1LTE4Ljg2OCAxNi43MjktLjUwNS44MDctNTAuNzggODAuNDYzLTUwLjc4IDgwLjQ2My0uMDEuMDE2LS4wMTYuMDMzLS4wMjYuMDQ5bC0xMC4yOTQgMTYuMzFjLTIuMzc1IDMuNzY3LTcuODg1IDUuMDk2LTEyLjAzOSAyLjg5NC0yLjA2LTEuMDg2LTMuNTUyLTIuODczLTQuMDkzLTQuOTAxLS4zMTYtMS4xODQtLjQ0Ni0yLjk4NC43MjktNC44NDMgMCAwIDY1LjAzNy0xMDMuMTI0IDY1Ljg3Mi0xMDQuNTEyIDMuNDQ4LTUuNzM0IDMuNDQ4LTUuNzM0IDEyLjAxNy0xMC4yNDMgMCAwIDEzOS4xOTMtNzMuNjM5IDE0MC4wMTItNzQuMDEzLjgyLjM3NCAxNDAuMDEyIDc0LjAxMyAxNDAuMDEyIDc0LjAxMy4wMDMuMDAyLjAwNy4wMDQuMDExLjAwNiA4LjU1OSA0LjUwMiA4LjU1OSA0LjUwMiAxMi4wMDcgMTAuMjM4LjgzNCAxLjM4OCAxLjgxNiAzLjAyIDMuMDU4IDQuOTg3bDYyLjgzMyA5OS41MDljMS4xNjggMS44NiAxLjAzNCAzLjY2OS43MTYgNC44NTktLjU0NCAyLjAzMi0yLjAzMiAzLjgyLTQuMDcyIDQuODk5LTQuMjI2IDIuMjMxLTkuNjQ1LjkyNC0xMi4wNjktMi44OTZsLTEwLjI5Mi0xNi4zMDdjLS4wMS0uMDE3LS4wMTYtLjAzNS0uMDI2LS4wNXptNzAuOTY4IDIwMi40NGgtNjkuODExdi04NC40MTFoNjkuODExem0tNjkuODExLTk5LjQxMXYtNzQuMzg5YzcuMzEzIDcuMDQyIDE4Ljc2MyA4Ljg3NCAyOC4yMzggMy44NzUgNS42LTIuOTY1IDkuNzQ2LTguMDE2IDExLjQzOC0xMy44OTdoMzAuMTM1djg0LjQxMmgtNjkuODExeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjg1LjI2MiAyMzcuODczYzAtMjguMzQ3LTIzLjA2Mi01MS40MDktNTEuNDA4LTUxLjQwOS0yOC4zMzEgMC01MS4zNzkgMjMuMDYyLTUxLjM3OSA1MS40MDlzMjMuMDQ5IDUxLjQwOSA1MS4zNzkgNTEuNDA5YzI4LjM0Ny0uMDAxIDUxLjQwOC0yMy4wNjMgNTEuNDA4LTUxLjQwOXptLTg3Ljc4NyAwYzAtMjAuMDc2IDE2LjMyLTM2LjQwOSAzNi4zNzktMzYuNDA5IDIwLjA3NSAwIDM2LjQwOCAxNi4zMzMgMzYuNDA4IDM2LjQwOXMtMTYuMzMzIDM2LjQwOS0zNi40MDggMzYuNDA5Yy0yMC4wNTktLjAwMS0zNi4zNzktMTYuMzM0LTM2LjM3OS0zNi40MDl6Ii8+DQogICAgPC9nPg0KPC9zdmc+",lNe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTQ5Mi45OTUgMTY2LjQ4OS0zMS45OTUtMjMuOTk2di0xMTIuNDkzYzguMjg0IDAgMTUtNi43MTYgMTUtMTVzLTYuNzE2LTE1LTE1LTE1aC05MGMtOC4yODQgMC0xNSA2LjcxNi0xNSAxNXM2LjcxNiAxNSAxNSAxNXY0NC45OTJsLTg4LjAwOS02Ni4wMDZjLTE1Ljg5My0xMS45MDQtMzguMDktMTEuOTA1LTUzLjk4OS4wMDVsLTIwOS45OTkgMTU3LjVjLTE5Ljg1MyAxNC44OTMtMjMuODkxIDQzLjE1NS05LjAwMSA2My4wMDQgNy4yMiA5LjYyIDE3Ljc1MiAxNS44NTMgMjkuNjU3IDE3LjU1IDIuMTU3LjMwOCA0LjMxLjQ2IDYuNDUuNDU5IDUuMTA5IDAgMTAuMTMtLjg3NiAxNC44OTEtMi41NjR2MjUyLjA2YzAgOC4yODQgNi43MTYgMTUgMTUgMTVoMzYwYzguMjg0IDAgMTUtNi43MTYgMTUtMTV2LTI1Mi4wNjhjNC43NjMgMS42ODUgOS44MDMgMi41NiAxNC45NzggMi41NiAxNC4xIDAgMjcuNTY1LTYuNzI5IDM2LjAyMi0xOCAxNC44ODgtMTkuODQ2IDEwLjg0OS00OC4xMDgtOS4wMDUtNjMuMDAzem0tOTEuOTk1LTEzNi40ODloMzB2ODkuOTkybC0zMC0yMi41em0tMTIwIDI3MmgtNTB2LTkyaDUwem0zMCAwdi0xMDdjMC04LjI4NC02LjcxNi0xNS0xNS0xNWgtODBjLTguMjg0IDAtMTUgNi43MTYtMTUgMTV2MTA3aC0xMDkuOTk5di03Ny4wMDRsMTY0Ljk5OS0xMjMuNzUyIDE2NSAxMjMuNzUzdjc3LjAwM3ptLTIxOS45OTkgMzBoMjA5Ljk5OXYzMGgtNDVjLTguMjg0IDAtMTUgNi43MTYtMTUgMTV2NDVoLTQ1Yy04LjI4NCAwLTE1IDYuNzE2LTE1IDE1djQ1aC05MHptMTE5Ljk5OSAxNTB2LTMwaDQ1YzguMjg0IDAgMTUtNi43MTYgMTUtMTV2LTQ1aDQ1YzguMjg0IDAgMTUtNi43MTYgMTUtMTV2LTQ1aDkwdjE1MHptMjY3LjAwMi0yNzAuNTExYy0yLjg2MyAzLjgxNS03LjI0NSA2LjAwNC0xMi4wMjQgNi4wMDQtMy4yNiAwLTYuMzY1LTEuMDM2LTguOTc5LTIuOTk2bC0xOTEuOTk5LTE0NC4wMDNjLTUuMzMzLTQtMTIuNjY3LTQtMTggMGwtMTkyLjAwOCAxNDQuMDA5Yy0zLjE5MyAyLjM5Ny03LjEzNiAzLjQwOC0xMS4wOTggMi44NDItMy45NzMtLjU2Ni03LjQ4OC0yLjY0Ny05Ljg5Ni01Ljg1Ni00Ljk2MS02LjYxNC0zLjYxMi0xNi4wMzUgMy4wMDYtMjFsMjA5Ljk5MS0xNTcuNDkyYzIuNjUyLTEuOTg3IDUuODMtMi45NzkgOS4wMDctMi45NzkgMy4xNzUgMCA2LjM0OS45OTIgOC45OTYgMi45NzRsMjA5Ljk5NiAxNTcuNDk3YzYuNjIgNC45NjYgNy45NjkgMTQuMzg2IDMuMDA4IDIxeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",NNe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik00ODUuNCwyNzIuMDY3aC04LjUzM3YtMTc5LjJjMC00Mi42NjctMzQuMTMzLTc2LjgtNzYuOC03Ni44Yy0zNy43NywwLTY0LjkzNSwyOC4wMDYtNjcuOTc0LDY5LjA0MQ0KCQkJCWMtMTkuODI5LDMuNzQ4LTM0LjQyNiwyMC44MjYtMzQuNDI2LDQxLjg5MmMwLDUuMTIsMy40MTMsOC41MzMsOC41MzMsOC41MzNoNjguMjY3YzUuMTIsMCw4LjUzMy0zLjQxMyw4LjUzMy04LjUzMw0KCQkJCWMwLTIwLjgzMy0xNC4yNzQtMzcuNzY5LTMzLjc2Ny00MS43NjdjMi41NS0yNy4xMTYsMTguODM2LTUyLjEsNTAuODM0LTUyLjFjMzMuMjgsMCw1OS43MzMsMjYuNDUzLDU5LjczMyw1OS43MzN2MTc5LjJIMjAyLjk3NQ0KCQkJCWMtMy44Ni0xOS42ODEtMjAuODc4LTM0LjEzMy00MS44NDEtMzQuMTMzYy04LjUzMy0xMC4yNC0yMC40OC0xNy4wNjctMzQuMTMzLTE3LjA2N2MtMTYuMjEzLDAtMzAuNzIsOS4zODctMzcuNTQ3LDIzLjA0DQoJCQkJYy02LjgyNy0zLjQxMy0xNC41MDctNS45NzMtMjIuMTg3LTUuOTczYy0yMC45NjMsMC0zNy45ODEsMTQuNDUyLTQxLjg0MSwzNC4xMzNIMjQuNmMtMTQuNTA3LDAtMjUuNiwxMS4wOTMtMjUuNiwyNS42DQoJCQkJYzAsMTQuNTA3LDExLjA5MywyNS42LDI1LjYsMjUuNmgxMC4yNTVsMjMuMDI1LDkxLjMwN2M2LjgyNywyNi40NTMsMzAuNzIsNDUuMjI3LDU4LjAyNyw0NS4yMjdoNi44MjdsLTExLjA5MywyMi4xODcNCgkJCQljLTIuNTYsNC4yNjctMC44NTMsOS4zODcsMy40MTMsMTEuMDkzYzAuODUzLDAuODUzLDIuNTYsMC44NTMsMy40MTMsMC44NTNjMy40MTMsMCw1Ljk3My0xLjcwNyw3LjY4LTQuMjY3TDE0MS4wOCw0NTkuOGgyMzYuOA0KCQkJCWwxNC41MDcsMjkuMDEzYzEuNzA3LDMuNDEzLDQuMjY3LDUuMTIsNy42OCw1LjEyYzEuNzA3LDAsMi41NiwwLDMuNDEzLTEuNzA3YzMuNDEzLTEuNzA3LDUuMTItNi44MjcsMy40MTMtMTEuMDkzDQoJCQkJbC0xMC42ODktMjEuMzc5YzI2LjQxOS0wLjkzOCw0OS4yNjYtMTkuMzksNTUuOTE2LTQ0LjMyOGwyMy4yNC05Mi4xNmgxMC4wNGMxNC41MDcsMCwyNS42LTExLjA5MywyNS42LTI1LjYNCgkJCQlDNTExLDI4My4xNiw0OTkuOTA3LDI3Mi4wNjcsNDg1LjQsMjcyLjA2N3ogTTM2NS4wOCwxMTguNDY3aC00OC42NGMzLjQxMy0xMC4yNCwxMy42NTMtMTcuMDY3LDI0Ljc0Ny0xNy4wNjcNCgkJCQlTMzYxLjY2NywxMDguMjI3LDM2NS4wOCwxMTguNDY3eiBNNjcuMjY3LDI1NWM3LjY4LDAsMTQuNTA3LDMuNDEzLDIwLjQ4LDkuMzg3YzEuNzA3LDIuNTYsNS4xMiwzLjQxMyw4LjUzMywyLjU2DQoJCQkJczUuMTItMy40MTMsNS45NzMtNi44MjdjMi41Ni0xMi44LDEyLjgtMjIuMTg3LDI1LjYtMjIuMTg3YzkuMzg3LDAsMTcuOTIsNC4yNjcsMjIuMTg3LDEyLjhjMS43MDcsMy40MTMsNS45NzMsNS4xMiw5LjM4Nyw0LjI2Nw0KCQkJCWMwLjg1MywwLDEuNzA3LDAsMi41NiwwYzExLjA5MywwLDIwLjQ4LDYuODI3LDIzLjg5MywxNy4wNjdINDMuMzczQzQ2Ljc4NywyNjEuODI3LDU2LjE3MywyNTUsNjcuMjY3LDI1NXogTTQzNi43Niw0MTAuMzA3DQoJCQkJYy01LjEyLDE4Ljc3My0yMi4xODcsMzIuNDI3LTQxLjgxMywzMi40MjdIMTE2Ljc2Yy0xOS42MjcsMC0zNi42OTMtMTMuNjUzLTQxLjgxMy0zMi40MjdsLTIyLjE4Ny04Ny4wNGg0MDQuNDhMNDM2Ljc2LDQxMC4zMDd6DQoJCQkJIE00ODUuNCwzMDYuMmgtMTcuMDY3SDQxLjY2N0gyNC42Yy01LjEyLDAtOC41MzMtMy40MTMtOC41MzMtOC41MzNzMy40MTMtOC41MzMsOC41MzMtOC41MzNoOC41MzNoMTYyLjEzM0g0ODUuNA0KCQkJCWM1LjEyLDAsOC41MzMsMy40MTMsOC41MzMsOC41MzNTNDkwLjUyLDMwNi4yLDQ4NS40LDMwNi4yeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzA2LjIsMTczLjkzM2M1LjEyLDAsOC41MzMtMy40MTMsOC41MzMtOC41MzN2LTQuMjY3YzAtNS4xMi0zLjQxMy04LjUzMy04LjUzMy04LjUzM3MtOC41MzMsMy40MTMtOC41MzMsOC41MzN2NC4yNjcNCgkJCQlDMjk3LjY2NywxNzAuNTIsMzAxLjA4LDE3My45MzMsMzA2LjIsMTczLjkzM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTMwNi4yLDIxMy4xODdjNS4xMiwwLDguNTMzLTQuMjY3LDguNTMzLTguNTMzdi05LjM4N2MwLTUuMTItMy40MTMtOC41MzMtOC41MzMtOC41MzNzLTguNTMzLDMuNDEzLTguNTMzLDguNTMzdjkuMzg3DQoJCQkJQzI5Ny42NjcsMjA5Ljc3MywzMDEuMDgsMjEzLjE4NywzMDYuMiwyMTMuMTg3eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzA2LjIsMjQ2LjQ2N2M1LjEyLDAsOC41MzMtMy40MTMsOC41MzMtOC41MzN2LTQuMjY3YzAtNS4xMi0zLjQxMy04LjUzMy04LjUzMy04LjUzM3MtOC41MzMsMy40MTMtOC41MzMsOC41MzN2NC4yNjcNCgkJCQlDMjk3LjY2NywyNDMuMDUzLDMwMS4wOCwyNDYuNDY3LDMwNi4yLDI0Ni40Njd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0zNDAuMzMzLDE3My45MzNjNS4xMiwwLDguNTMzLTMuNDEzLDguNTMzLTguNTMzdi00LjI2N2MwLTUuMTItMy40MTMtOC41MzMtOC41MzMtOC41MzMNCgkJCQljLTUuMTIsMC04LjUzMywzLjQxMy04LjUzMyw4LjUzM3Y0LjI2N0MzMzEuOCwxNzAuNTIsMzM1LjIxMywxNzMuOTMzLDM0MC4zMzMsMTczLjkzM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTMzMS44LDIwNC42NTNjMCw1LjEyLDMuNDEzLDguNTMzLDguNTMzLDguNTMzYzUuMTIsMCw4LjUzMy00LjI2Nyw4LjUzMy04LjUzM3YtOS4zODdjMC01LjEyLTMuNDEzLTguNTMzLTguNTMzLTguNTMzDQoJCQkJYy01LjEyLDAtOC41MzMsMy40MTMtOC41MzMsOC41MzNWMjA0LjY1M3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTMzMS44LDIzNy45MzNjMCw1LjEyLDMuNDEzLDguNTMzLDguNTMzLDguNTMzYzUuMTIsMCw4LjUzMy0zLjQxMyw4LjUzMy04LjUzM3YtNC4yNjdjMC01LjEyLTMuNDEzLTguNTMzLTguNTMzLTguNTMzDQoJCQkJYy01LjEyLDAtOC41MzMsMy40MTMtOC41MzMsOC41MzNWMjM3LjkzM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTM3NC40NjcsMTczLjkzM2M1LjEyLDAsOC41MzMtMy40MTMsOC41MzMtOC41MzN2LTQuMjY3YzAtNS4xMi0zLjQxMy04LjUzMy04LjUzMy04LjUzM3MtOC41MzMsMy40MTMtOC41MzMsOC41MzN2NC4yNjcNCgkJCQlDMzY1LjkzMywxNzAuNTIsMzY5LjM0NywxNzMuOTMzLDM3NC40NjcsMTczLjkzM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTM2NS45MzMsMjA0LjY1M2MwLDUuMTIsMy40MTMsOC41MzMsOC41MzMsOC41MzNTMzgzLDIwOC45MiwzODMsMjA0LjY1M3YtOS4zODdjMC01LjEyLTMuNDEzLTguNTMzLTguNTMzLTguNTMzDQoJCQkJcy04LjUzMywzLjQxMy04LjUzMyw4LjUzM1YyMDQuNjUzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzY1LjkzMywyMzcuOTMzYzAsNS4xMiwzLjQxMyw4LjUzMyw4LjUzMyw4LjUzM3M4LjUzMy0zLjQxMyw4LjUzMy04LjUzM3YtNC4yNjdjMC01LjEyLTMuNDEzLTguNTMzLTguNTMzLTguNTMzDQoJCQkJcy04LjUzMywzLjQxMy04LjUzMyw4LjUzM1YyMzcuOTMzeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",LNe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTQ5NiwzNDRoLThWMjgwYTMyLjA0MiwzMi4wNDIsMCwwLDAtMzItMzJWMTEyYTMyLjA0MiwzMi4wNDIsMCwwLDAtMzItMzJIODhhMzIuMDQyLDMyLjA0MiwwLDAsMC0zMiwzMlYyNDhhMzIuMDQyLDMyLjA0MiwwLDAsMC0zMiwzMnY2NEgxNmE4LDgsMCwwLDAtOCw4djMyYTgsOCwwLDAsMCw4LDhoOHYzMmE4LDgsMCwwLDAsOCw4SDU2YTcuOTksNy45OSwwLDAsMCw3Ljg0LTYuNDNMNzAuNTYsMzkySDQ0MS40NGw2LjcyLDMzLjU3QTcuOTksNy45OSwwLDAsMCw0NTYsNDMyaDI0YTgsOCwwLDAsMCw4LThWMzkyaDhhOCw4LDAsMCwwLDgtOFYzNTJBOCw4LDAsMCwwLDQ5NiwzNDRaTTcyLDExMkExNi4wMjEsMTYuMDIxLDAsMCwxLDg4LDk2SDQyNGExNi4wMjEsMTYuMDIxLDAsMCwxLDE2LDE2VjI0OEg0MjRWMjE2YTMyLjA0MiwzMi4wNDIsMCwwLDAtMzItMzJIMjk2YTMyLjA0MiwzMi4wNDIsMCwwLDAtMzIsMzJ2MzJIMjQ4VjIxNmEzMi4wNDIsMzIuMDQyLDAsMCwwLTMyLTMySDEyMGEzMi4wNDIsMzIuMDQyLDAsMCwwLTMyLDMydjMySDcyWk00MDgsMjE2djMySDI4MFYyMTZhMTYuMDIxLDE2LjAyMSwwLDAsMSwxNi0xNmg5NkExNi4wMjEsMTYuMDIxLDAsMCwxLDQwOCwyMTZabS0xNzYsMHYzMkgxMDRWMjE2YTE2LjAyMSwxNi4wMjEsMCwwLDEsMTYtMTZoOTZBMTYuMDIxLDE2LjAyMSwwLDAsMSwyMzIsMjE2Wk00MCwyODBhMTYuMDIxLDE2LjAyMSwwLDAsMSwxNi0xNkg0NTZhMTYuMDIxLDE2LjAyMSwwLDAsMSwxNiwxNnY2NEg0MFptOS40NCwxMzZINDBWMzkySDU0LjI0Wk00NzIsNDE2aC05LjQ0bC00LjgtMjRINDcyWm0xNi00MEgyNFYzNjBINDg4WiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",jNe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0NS4zOTMgNDUuMzkzIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJNNDMuNTE4LDEyLjcwOUwyNS4xNzgsMC43MjhjLTEuNTExLTAuOTc4LTMuNDU4LTAuOTY4LTQuOTYsMC4wMjFMMS44NTksMTIuNzE5Yy0xLjE0LDAuNzUxLTEuNDU1LDIuMjg0LTAuNzA1LDMuNDI0DQoJCQljMC43NTEsMS4xNCwyLjI4MywxLjQ1NiwzLjQyNCwwLjcwNEwyMi43MTUsNS4wMjFMNDAuODMsMTYuODU3YzAuNDE2LDAuMjY5LDAuODgxLDAuMzk2LDEuMzQxLDAuMzk2DQoJCQljMC44MTIsMCwxLjYwNC0wLjM5NywyLjA3Ny0xLjEyN0M0NC45OSwxNC45OCw0NC42NjIsMTMuNDUyLDQzLjUxOCwxMi43MDl6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0zOC44NzksMjcuNjE2Yy0wLjE1MS0wLjg2NS0wLjkwMy0xLjUwNS0xLjc4LTEuNTA1aC0xLjAwOGwtMC4zODMtMy45ODdjLTAuNDA5LTQuMjY0LTMuOTQ4LTcuNDktOC4yMzItNy40OUgxNy45Mg0KCQkJYy00LjI4NSwwLTcuODIzLDMuMjI3LTguMjMzLDcuNDlsLTAuMzgyLDMuOTg3SDguMjk2Yy0wLjg3OCwwLTEuNjI5LDAuNjQtMS43ODIsMS41MDVsLTEuNSw4LjUwNA0KCQkJYy0wLjE4NiwxLjA1NCwwLjExMiwyLjEzOSwwLjgsMi45NTdjMC42NjIsMC43ODgsMS42MzcsMS4yNTgsMi42NTcsMS4yOTN2MS40MTJjMCwxLjk5OSwxLjYwMiwzLjYxLDMuNjAzLDMuNjFoMS4xMzgNCgkJCWMxLjk5OSwwLDMuNjI1LTEuNjExLDMuNjI1LTMuNjF2LTEuMzg5aDExLjczMnYxLjM4NmMwLDIsMS42MTMsMy42MTMsMy42MTIsMy42MTNoMS4xMzljMS45OTksMCwzLjYxNC0xLjYxMywzLjYxNC0zLjYxM1Y0MC4zNw0KCQkJYzEuMDItMC4wMzUsMS45ODktMC41MDEsMi42NDktMS4yODhjMC42ODgtMC44MiwwLjk4Mi0xLjg5OSwwLjc5OC0yLjk1NUwzOC44NzksMjcuNjE2eiBNMTEuNjQyLDM3LjExMw0KCQkJYy0xLjY4NywwLTMuMDU1LTEuMzY3LTMuMDU1LTMuMDU2YzAtMS42ODksMS4zNjgtMy4wNTcsMy4wNTUtMy4wNTdjMS42ODgsMCwzLjA1NywxLjM2NywzLjA1NywzLjA1Nw0KCQkJQzE0LjY5OSwzNS43NDYsMTMuMzMsMzcuMTEzLDExLjY0MiwzNy4xMTN6IE0xMi40MDQsMjYuMTExbDAuMzUzLTMuNjc4YzAuMjU3LTIuNjc0LDIuNDc2LTQuNjg4LDUuMTYzLTQuNjg4aDAuNTUxdjEuMTU2DQoJCQljMCwxLjAwMywwLjc5NywxLjgwMiwxLjc5OSwxLjgwMmg0Ljg1NmMxLjAwMiwwLDEuODEzLTAuNzk5LDEuODEzLTEuODAydi0xLjE1NWgwLjUzN2MyLjY4NywwLDQuOTA2LDIuMDE0LDUuMTYyLDQuNjg4DQoJCQlsMC4zNTQsMy42NzhMMTIuNDA0LDI2LjExMUwxMi40MDQsMjYuMTExeiBNMzMuNzUsMzcuMTEzYy0xLjY4NywwLTMuMDU1LTEuMzY3LTMuMDU1LTMuMDU2YzAtMS42ODksMS4zNjgtMy4wNTcsMy4wNTUtMy4wNTcNCgkJCWMxLjY4OCwwLDMuMDU3LDEuMzY3LDMuMDU3LDMuMDU3QzM2LjgwNywzNS43NDYsMzUuNDM4LDM3LjExMywzMy43NSwzNy4xMTN6Ii8+DQogICAgPC9nPg0KPC9zdmc+DQo=",gNe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik00OTQuNTk0LDM5NC4yMzdoLTE5LjQ2MWMxMi45NTQtMTkuNTQzLDIwLjUxMi00Mi45NTgsMjAuNTEyLTY4LjEwOWMwLTY4LjE1Ny01NS40NDktMTIzLjYwNi0xMjMuNjA2LTEyMy42MDYNCgkJCWMtNy4xNzEsMC0xNC4yLDAuNjIyLTIxLjA0LDEuNzk5YzE3Ljg1My0yMS40MzUsMjguNjA4LTQ4Ljk3OSwyOC42MDgtNzguOTlDMzc5LjYwNiw1Ny4xNzQsMzI0LjE1NywxLjcyNCwyNTYsMS43MjQNCgkJCWMtNjguMTU3LDAtMTIzLjYwNiw1NS40NDktMTIzLjYwNiwxMjMuNjA2YzAsMzAuMDEyLDEwLjc1NSw1Ny41NTUsMjguNjA4LDc4Ljk5Yy02Ljg0LTEuMTc4LTEzLjg2OS0xLjc5OS0yMS4wNC0xLjc5OQ0KCQkJYy02OC4xNTcsMC0xMjMuNjA2LDU1LjQ0OS0xMjMuNjA2LDEyMy42MDZjMCwyNS4xNTEsNy41NTgsNDguNTY3LDIwLjUxMiw2OC4xMDlIMTcuNDA2TDAsNTEwLjI3Nmg5My4yOTRsMTUuMTM1LTIwLjE4MWg2My4wNjQNCgkJCWwxNS4xMzUsMjAuMTgxaDEzOC43NDJsMTUuMTM1LTIwLjE4MWg2My4wNjRsMTUuMTM1LDIwLjE4MUg1MTJMNDk0LjU5NCwzOTQuMjM3eiBNNDY5LjUxOSwzNzMuNjdsLTEzLjE0Mi03LjU4OA0KCQkJYzQuNzM2LTkuOTU4LDcuNzYtMjAuODgxLDguNjg4LTMyLjM4N2gxNS4xNzVDNDc5LjI1NCwzNDcuOTQ4LDQ3NS41MDMsMzYxLjQ1LDQ2OS41MTksMzczLjY3eiBNNDA5Ljg3NywzOTQuNTMzdi0xMzYuODENCgkJCWMyNC4wNDUsMTMuMzU0LDQwLjM2MSwzOS4wMDUsNDAuMzYxLDY4LjQwNVM0MzMuOTIyLDM4MS4xNzgsNDA5Ljg3NywzOTQuNTMzeiBNNDE5LjU4MSw0MjMuNjA4DQoJCQljLTEyLjIyLDUuOTg0LTI1LjcyMiw5LjczNC0zOS45NzUsMTAuNzIydi0xNS4xNzVjMTEuNTA2LTAuOTI3LDIyLjQyOS0zLjk1MSwzMi4zODctOC42ODhMNDE5LjU4MSw0MjMuNjA4eiBNNDQ4Ljc4NywzNzkuMTc2DQoJCQlsMTMuMTQ4LDcuNTkxYy03Ljc5NCwxMS41MTctMTcuNzQsMjEuNDYzLTI5LjI1NiwyOS4yNTZsLTcuNTkxLTEzLjE0OEM0MzQuMzM2LDM5Ni40NjQsNDQyLjM3NSwzODguNDI1LDQ0OC43ODcsMzc5LjE3NnoNCgkJCSBNNDgwLjI0MSwzMTguNTZoLTE1LjE3NWMtMC45MjctMTEuNTA2LTMuOTUxLTIyLjQyOS04LjY4OC0zMi4zODdsMTMuMTQyLTcuNTg4QzQ3NS41MDMsMjkwLjgwNSw0NzkuMjU0LDMwNC4zMDcsNDgwLjI0MSwzMTguNTZ6DQoJCQkgTTQzMi42NzgsMjM2LjIzMWMxMS41MTYsNy43OTQsMjEuNDYzLDE3Ljc0LDI5LjI1NiwyOS4yNTZsLTEzLjE0OCw3LjU5MWMtNi40MTItOS4yNDktMTQuNDUtMTcuMjg3LTIzLjY5OS0yMy42OTkNCgkJCUw0MzIuNjc4LDIzNi4yMzF6IE00MTEuOTk0LDI0MS43ODljLTkuOTU4LTQuNzM2LTIwLjg4MS03Ljc2LTMyLjM4Ny04LjY4OHYtMTUuMTc2YzE0LjI1MiwwLjk4NywyNy43NTQsNC43MzgsMzkuOTc0LDEwLjcyMg0KCQkJTDQxMS45OTQsMjQxLjc4OXogTTM5NC43NDIsMjUxLjN2MTQ5LjY1NWMtNy4xODksMi4xODYtMTQuODEsMy4zNzItMjIuNzAzLDMuMzcyYy03Ljg5NCwwLTE1LjUxNC0xLjE4Ny0yMi43MDMtMy4zNzJWMjUxLjMNCgkJCWM3LjE4OS0yLjE4NiwxNC44MS0zLjM3MiwyMi43MDMtMy4zNzJDMzc5LjkzMiwyNDcuOTI4LDM4Ny41NTIsMjQ5LjExNCwzOTQuNzQyLDI1MS4zeiBNMTc3LjgsMzk0LjUzM3YtMTM2LjgxDQoJCQljMjQuMDQ1LDEzLjM1NCw0MC4zNjEsMzkuMDA1LDQwLjM2MSw2OC40MDVTMjAxLjg0NSwzODEuMTc4LDE3Ny44LDM5NC41MzN6IE0xODcuNTA0LDQyMy42MDgNCgkJCWMtMTIuMjIsNS45ODQtMjUuNzIyLDkuNzM0LTM5Ljk3NSwxMC43MjJ2LTE1LjE3NWMxMS41MDYtMC45MjcsMjIuNDI5LTMuOTUxLDMyLjM4Ny04LjY4OEwxODcuNTA0LDQyMy42MDh6IE0yODIuMTQyLDI2NS40ODgNCgkJCWM3Ljc5NC0xMS41MTcsMTcuNzQtMjEuNDYzLDI5LjI1Ni0yOS4yNTZsNy41OTEsMTMuMTQ4Yy05LjI0OSw2LjQxMi0xNy4yODcsMTQuNDUtMjMuNjk5LDIzLjY5OUwyODIuMTQyLDI2NS40ODh6IE0yODcuNywyODYuMTczDQoJCQljLTQuNzM2LDkuOTU4LTcuNzYsMjAuODgxLTguNjg4LDMyLjM4N2gtMTUuMTc1YzAuOTg3LTE0LjI1Myw0LjczNy0yNy43NTQsMTAuNzIyLTM5Ljk3NUwyODcuNywyODYuMTczeiBNMzE2LjY0LDIxNS4yMjcNCgkJCWwtNy41OTEtMTMuMTQ4YzkuMjQ5LTYuNDEyLDE3LjI4Ny0xNC40NSwyMy42OTktMjMuNjk5bDEzLjE0OCw3LjU5MUMzMzguMTAzLDE5Ny40ODcsMzI4LjE1NywyMDcuNDMzLDMxNi42NCwyMTUuMjI3eg0KCQkJIE0yOTMuODM5LDE5My43MzZWNTYuOTI1QzMxNy44ODQsNzAuMjgsMzM0LjIsOTUuOTMsMzM0LjIsMTI1LjMzMVMzMTcuODg0LDE4MC4zODEsMjkzLjgzOSwxOTMuNzM2eiBNMjk1Ljk1NSwyMDkuNjY5DQoJCQlsNy41ODcsMTMuMTQyYy0xMi4yMiw1Ljk4NC0yNS43MjIsOS43MzQtMzkuOTc1LDEwLjcyMnYtMTUuMTc1QzI3NS4wNzQsMjE3LjQzLDI4NS45OTYsMjE0LjQwNywyOTUuOTU1LDIwOS42Njl6IE0yNzcuMDQsMjQ3LjEzOA0KCQkJYy04Ljk1MSwxMC43NDctMTYuMTE5LDIzLjAyOC0yMS4wNCwzNi4zODljLTQuOTIxLTEzLjM2MS0xMi4wODktMjUuNjQxLTIxLjA0LTM2LjM4OWM2Ljg0LDEuMTc4LDEzLjg2OSwxLjc5OSwyMS4wNCwxLjc5OQ0KCQkJQzI2My4xNzEsMjQ4LjkzNywyNzAuMiwyNDguMzE1LDI3Ny4wNCwyNDcuMTM4eiBNMjQ4LjE2NCwzMTguNTZoLTE1LjE3NWMtMC45MjctMTEuNTA2LTMuOTUxLTIyLjQyOS04LjY4OC0zMi4zODdsMTMuMTQyLTcuNTg4DQoJCQlDMjQzLjQyNiwyOTAuODA1LDI0Ny4xNzcsMzA0LjMwNywyNDguMTY0LDMxOC41NnogTTI0OC40MzEsMjMzLjUzM2MtMTQuMjUyLTAuOTg3LTI3Ljc1NC00LjczOC0zOS45NzQtMTAuNzIybDcuNTg3LTEzLjE0Mg0KCQkJYzkuOTU4LDQuNzM2LDIwLjg4MSw3Ljc2LDMyLjM4Nyw4LjY4OFYyMzMuNTMzeiBNMjE4LjE2MSwxOTMuNzM2Yy0yNC4wNDUtMTMuMzU0LTQwLjM2MS0zOS4wMDUtNDAuMzYxLTY4LjQwNQ0KCQkJYzAtMjkuNCwxNi4zMTYtNTUuMDUxLDQwLjM2MS02OC40MDVWMTkzLjczNnogTTE3OS4yNTEsMTc4LjM3OWM2LjQxMiw5LjI0OSwxNC40NSwxNy4yODcsMjMuNjk5LDIzLjY5OWwtNy41OTEsMTMuMTQ4DQoJCQljLTExLjUxNi03Ljc5NC0yMS40NjMtMTcuNzQtMjkuMjU2LTI5LjI1NkwxNzkuMjUxLDE3OC4zNzl6IE0yMDAuNjAxLDIzNi4yMzFjMTEuNTE2LDcuNzk0LDIxLjQ2MywxNy43NCwyOS4yNTYsMjkuMjU2DQoJCQlsLTEzLjE0OCw3LjU5MWMtNi40MTItOS4yNDktMTQuNDUtMTcuMjg3LTIzLjY5OS0yMy42OTlMMjAwLjYwMSwyMzYuMjMxeiBNMjE2LjcxLDM3OS4xNzZsMTMuMTQ4LDcuNTkxDQoJCQljLTcuNzk0LDExLjUxNy0xNy43NCwyMS40NjMtMjkuMjU2LDI5LjI1NmwtNy41OTEtMTMuMTQ4QzIwMi4yNTksMzk2LjQ2NCwyMTAuMjk4LDM4OC40MjUsMjE2LjcxLDM3OS4xNzZ6IE0yMjQuMywzNjYuMDgyDQoJCQljNC43MzYtOS45NTgsNy43Ni0yMC44ODEsOC42ODgtMzIuMzg3aDE1LjE3NWMtMC45ODcsMTQuMjUzLTQuNzM3LDI3Ljc1NC0xMC43MjIsMzkuOTc1TDIyNC4zLDM2Ni4wODJ6IE0yNTYsMzY4LjcyOQ0KCQkJYzMuMzMyLDkuMDQ1LDcuNjk3LDE3LjU5MywxMi45NDQsMjUuNTA4aC0yNS44ODhDMjQ4LjMwMywzODYuMzIxLDI1Mi42NjgsMzc3Ljc3NCwyNTYsMzY4LjcyOXogTTI2My44MzYsMzMzLjY5NWgxNS4xNzUNCgkJCWMwLjkyNywxMS41MDYsMy45NTEsMjIuNDI5LDguNjg4LDMyLjM4N2wtMTMuMTQyLDcuNTg4QzI2OC41NzQsMzYxLjQ1LDI2NC44MjMsMzQ3Ljk0OCwyNjMuODM2LDMzMy42OTV6IE0yOTUuMjksMzc5LjE3Ng0KCQkJYzYuNDEyLDkuMjQ5LDE0LjQ1LDE3LjI4NywyMy42OTksMjMuNjk5bC03LjU5MSwxMy4xNDhjLTExLjUxNi03Ljc5NC0yMS40NjMtMTcuNzQtMjkuMjU2LTI5LjI1NkwyOTUuMjksMzc5LjE3NnoNCgkJCSBNMjkzLjgzOSwzMjYuMTI4YzAtMjkuNCwxNi4zMTYtNTUuMDUxLDQwLjM2MS02OC40MDV2MTM2LjgxQzMxMC4xNTUsMzgxLjE3OCwyOTMuODM5LDM1NS41MjgsMjkzLjgzOSwzMjYuMTI4eiBNMzMyLjA4NCw0MTAuNDY2DQoJCQljOS45NTgsNC43MzYsMjAuODgxLDcuNzYsMzIuMzg3LDguNjg4djE1LjE3NWMtMTQuMjUzLTAuOTg3LTI3Ljc1NC00LjczOC0zOS45NzUtMTAuNzIyTDMzMi4wODQsNDEwLjQ2NnogTTM2NC40NzEsMjE3LjkyNVYyMzMuMQ0KCQkJYy0xMS41MDYsMC45MjctMjIuNDI5LDMuOTUxLTMyLjM4Nyw4LjY4OGwtNy41ODctMTMuMTQyQzMzNi43MTYsMjIyLjY2MywzNTAuMjE4LDIxOC45MTIsMzY0LjQ3MSwyMTcuOTI1eiBNMzUzLjQ4LDE3Mi44NzMNCgkJCWwtMTMuMTQyLTcuNTg4YzQuNzM2LTkuOTU4LDcuNzYtMjAuODgxLDguNjg4LTMyLjM4N2gxNS4xNzVDMzYzLjIxNiwxNDcuMTUxLDM1OS40NjUsMTYwLjY1MywzNTMuNDgsMTcyLjg3M3ogTTM2NC4yMDIsMTE3Ljc2Mw0KCQkJaC0xNS4xNzVjLTAuOTI3LTExLjUwNi0zLjk1MS0yMi40MjktOC42ODgtMzIuMzg3bDEzLjE0Mi03LjU4OEMzNTkuNDY1LDkwLjAwOCwzNjMuMjE2LDEwMy41MSwzNjQuMjAyLDExNy43NjN6IE0zMTYuNjQsMzUuNDM0DQoJCQljMTEuNTE2LDcuNzk0LDIxLjQ2MywxNy43NCwyOS4yNTYsMjkuMjU2bC0xMy4xNDgsNy41OTFjLTYuNDEyLTkuMjQ5LTE0LjQ1LTE3LjI4Ny0yMy42OTktMjMuNjk5TDMxNi42NCwzNS40MzR6IE0yOTUuOTU2LDQwLjk5Mg0KCQkJYy05Ljk1OC00LjczNi0yMC44ODEtNy43Ni0zMi4zODctOC42ODhWMTcuMTI4YzE0LjI1MiwwLjk4NywyNy43NTQsNC43MzgsMzkuOTc0LDEwLjcyMkwyOTUuOTU2LDQwLjk5MnogTTI3OC43MDMsNTAuNTAzdjE0OS42NTUNCgkJCWMtNy4xODksMi4xODYtMTQuODEsMy4zNzItMjIuNzAzLDMuMzcyYy03Ljg5NCwwLTE1LjUxNC0xLjE4Ny0yMi43MDMtMy4zNzJWNTAuNTAzYzcuMTg5LTIuMTg2LDE0LjgxLTMuMzcyLDIyLjcwMy0zLjM3Mg0KCQkJQzI2My44OTQsNDcuMTMxLDI3MS41MTQsNDguMzE3LDI3OC43MDMsNTAuNTAzeiBNMjQ4LjQzMiwxNy4xMjh2MTUuMTc1Yy0xMS41MDYsMC45MjctMjIuNDI5LDMuOTUxLTMyLjM4Nyw4LjY4OGwtNy41ODctMTMuMTQyDQoJCQlDMjIwLjY3OCwyMS44NjYsMjM0LjE4LDE4LjExNSwyNDguNDMyLDE3LjEyOHogTTE5NS4zNiwzNS40MzRsNy41OTEsMTMuMTQ4Yy05LjI0OSw2LjQxMi0xNy4yODcsMTQuNDUtMjMuNjk5LDIzLjY5OQ0KCQkJbC0xMy4xNDgtNy41OTFDMTczLjg5Nyw1My4xNzQsMTgzLjg0Myw0My4yMjgsMTk1LjM2LDM1LjQzNHogTTE1OC41Miw3Ny43ODhsMTMuMTQyLDcuNTg4Yy00LjczNiw5Ljk1OC03Ljc2LDIwLjg4MS04LjY4OCwzMi4zODcNCgkJCWgtMTUuMTc1QzE0OC43ODUsMTAzLjUxLDE1Mi41MzUsOTAuMDA4LDE1OC41Miw3Ny43ODh6IE0xNTguNTIsMTcyLjg3M2MtNS45ODQtMTIuMjItOS43MzUtMjUuNzIyLTEwLjcyMi0zOS45NzVoMTUuMTc1DQoJCQljMC45MjcsMTEuNTA2LDMuOTUxLDIyLjQyOSw4LjY4OCwzMi4zODdMMTU4LjUyLDE3Mi44NzN6IE0xODcuNTA0LDIyOC42NDdsLTcuNTg3LDEzLjE0MmMtOS45NTgtNC43MzYtMjAuODgxLTcuNzYtMzIuMzg3LTguNjg4DQoJCQl2LTE1LjE3NkMxNjEuNzgyLDIxOC45MTIsMTc1LjI4NCwyMjIuNjY0LDE4Ny41MDQsMjI4LjY0N3ogTTE2Mi42NjUsMjUxLjN2MTQ5LjY1NWMtNy4xODksMi4xODYtMTQuODEsMy4zNzItMjIuNzAzLDMuMzcyDQoJCQljLTcuODk0LDAtMTUuNTE0LTEuMTg3LTIyLjcwMy0zLjM3MlYyNTEuM2M3LjE4OS0yLjE4NiwxNC44MS0zLjM3MiwyMi43MDMtMy4zNzJDMTQ3Ljg1NSwyNDcuOTI4LDE1NS40NzUsMjQ5LjExNCwxNjIuNjY1LDI1MS4zeg0KCQkJIE02MS43NjIsMzI2LjEyOGMwLTI5LjQsMTYuMzE2LTU1LjA1MSw0MC4zNjEtNjguNDA1djEzNi44MUM3OC4wNzgsMzgxLjE3OCw2MS43NjIsMzU1LjUyOCw2MS43NjIsMzI2LjEyOHogTTg2LjkxMyw0MDIuODc2DQoJCQlsLTcuNTkxLDEzLjE0OGMtMTEuNTE2LTcuNzk0LTIxLjQ2My0xNy43NC0yOS4yNTYtMjkuMjU2bDEzLjE0OC03LjU5MUM2OS42MjUsMzg4LjQyNSw3Ny42NjQsMzk2LjQ2NCw4Ni45MTMsNDAyLjg3NnoNCgkJCSBNMTAwLjAwNyw0MTAuNDY2YzkuOTU4LDQuNzM2LDIwLjg4MSw3Ljc2LDMyLjM4Nyw4LjY4OHYxNS4xNzVjLTE0LjI1My0wLjk4Ny0yNy43NTQtNC43MzgtMzkuOTc1LTEwLjcyMkwxMDAuMDA3LDQxMC40NjZ6DQoJCQkgTTEzMi4zOTQsMjE3LjkyNVYyMzMuMWMtMTEuNTA2LDAuOTI3LTIyLjQyOSwzLjk1MS0zMi4zODcsOC42ODhsLTcuNTg3LTEzLjE0MkMxMDQuNjM5LDIyMi42NjMsMTE4LjE0MSwyMTguOTEyLDEzMi4zOTQsMjE3LjkyNQ0KCQkJeiBNNzkuMzIyLDIzNi4yMzFsNy41OTEsMTMuMTQ4Yy05LjI0OSw2LjQxMi0xNy4yODcsMTQuNDUtMjMuNjk5LDIzLjY5OWwtMTMuMTQ4LTcuNTkxDQoJCQlDNTcuODU5LDI1My45NzEsNjcuODA1LDI0NC4wMjUsNzkuMzIyLDIzNi4yMzF6IE00Mi40ODEsMjc4LjU4NWwxMy4xNDIsNy41ODhjLTQuNzM2LDkuOTU4LTcuNzYsMjAuODgxLTguNjg4LDMyLjM4N0gzMS43NTkNCgkJCUMzMi43NDYsMzA0LjMwNywzNi40OTcsMjkwLjgwNSw0Mi40ODEsMjc4LjU4NXogTTMxLjc1OSwzMzMuNjk1aDE1LjE3NWMwLjkyNywxMS41MDYsMy45NTEsMjIuNDI5LDguNjg4LDMyLjM4N0w0Mi40OCwzNzMuNjcNCgkJCUMzNi40OTcsMzYxLjQ1LDMyLjc0NiwzNDcuOTQ4LDMxLjc1OSwzMzMuNjk1eiBNNDI2LjI3NCw0OTUuMTRsLTE1LjEzNS0yMC4xODFoLTc4LjJsLTE1LjEzNSwyMC4xODFIMTk0LjE5N2wtMTUuMTM1LTIwLjE4MQ0KCQkJaC03OC4yTDg1LjcyNiw0OTUuMTRIMTcuNTc1bDEyLjg2NS04NS43NjhoMTguMjNjMjIuNjIsMjQuNzg2LDU1LjE3MSw0MC4zNjEsOTEuMjkxLDQwLjM2MXM2OC42NzEtMTUuNTc1LDkxLjI5MS00MC4zNjFoNDkuNDk0DQoJCQljMjIuNjIsMjQuNzg2LDU1LjE3MSw0MC4zNjEsOTEuMjkxLDQwLjM2MXM2OC42NzEtMTUuNTc1LDkxLjI5MS00MC4zNjFoMTguMjNsMTIuODY1LDg1Ljc2OEg0MjYuMjc0eiIvPg0KICAgICAgICA8cmVjdCB4PSIzMDUuOTQ4IiB5PSIxMTYuNzU1IiB3aWR0aD0iMTUuMTM1IiBoZWlnaHQ9IjE1LjEzNSIvPg0KICAgICAgICA8cmVjdCB4PSIxOTAuOTE5IiB5PSIxMTYuNzU1IiB3aWR0aD0iMTUuMTM1IiBoZWlnaHQ9IjE1LjEzNSIvPg0KICAgICAgICA8cmVjdCB4PSIyNDguNDMzIiB5PSIxMTEuMjA1IiB3aWR0aD0iMTUuMTM1IiBoZWlnaHQ9IjE1LjEzNSIvPg0KICAgICAgICA8cmVjdCB4PSIyNDguNDMzIiB5PSI2NS43OTkiIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMzAuMjcxIi8+DQogICAgICAgIDxyZWN0IHg9IjI0OC40MzMiIHk9IjE3MS43NDciIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMTUuMTM1Ii8+DQogICAgICAgIDxyZWN0IHg9IjQyMS45ODYiIHk9IjMxNy41NTIiIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMTUuMTM1Ii8+DQogICAgICAgIDxyZWN0IHg9IjMwNi45NTciIHk9IjMxNy41NTIiIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMTUuMTM1Ii8+DQogICAgICAgIDxyZWN0IHg9IjM2NC40NzIiIHk9IjMxMi4wMDIiIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMTUuMTM1Ii8+DQogICAgICAgIDxyZWN0IHg9IjM2NC40NzIiIHk9IjI2Ni41OTYiIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMzAuMjcxIi8+DQogICAgICAgIDxyZWN0IHg9IjM2NC40NzIiIHk9IjM3Mi41NDQiIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMTUuMTM1Ii8+DQogICAgICAgIDxyZWN0IHg9IjE4OS45MSIgeT0iMzE3LjU1MiIgd2lkdGg9IjE1LjEzNSIgaGVpZ2h0PSIxNS4xMzUiLz4NCiAgICAgICAgPHJlY3QgeD0iNzQuODgiIHk9IjMxNy41NTIiIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMTUuMTM1Ii8+DQogICAgICAgIDxyZWN0IHg9IjEzMi4zOTUiIHk9IjMxMi4wMDIiIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMTUuMTM1Ii8+DQogICAgICAgIDxyZWN0IHg9IjEzMi4zOTUiIHk9IjI2Ni41OTYiIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMzAuMjcxIi8+DQogICAgICAgIDxyZWN0IHg9IjEzMi4zOTUiIHk9IjM3Mi41NDQiIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMTUuMTM1Ii8+DQogICAgICAgIDxyZWN0IHg9IjQ2MS4zODciIHk9IjQ3MC44ODEiIHRyYW5zZm9ybT0ibWF0cml4KDAuOTg4OSAtMC4xNDgzIDAuMTQ4MyAwLjk4ODkgLTY1Ljc3MiA3NC44NDExKSINCiAgICAgICAgICAgICAgd2lkdGg9IjE1LjEzNSIgaGVpZ2h0PSIxNS4xMzUiLz4NCiAgICAgICAgPHJlY3QgeD0iNDU2LjIxIiB5PSI0MzEuOTM1IiB0cmFuc2Zvcm09Im1hdHJpeCgwLjk4ODkgLTAuMTQ4MyAwLjE0ODMgMC45ODg5IC02MC43MTk5IDczLjY5MDMpIg0KICAgICAgICAgICAgICB3aWR0aD0iMTUuMTM1IiBoZWlnaHQ9IjI0LjE0NSIvPg0KICAgICAgICA8cmVjdCB4PSIyNDguNDMzIiB5PSI0NjQuODciIHdpZHRoPSI0NS40MDYiIGhlaWdodD0iMTUuMTM1Ii8+DQogICAgICAgIDxyZWN0IHg9IjIxOC4xNjIiIHk9IjQ2NC44NyIgd2lkdGg9IjE1LjEzNSIgaGVpZ2h0PSIxNS4xMzUiLz4NCiAgICAgICAgPHJlY3QgeD0iMjYzLjU2OSIgeT0iNDI0LjUwOSIgd2lkdGg9IjE1LjEzNSIgaGVpZ2h0PSIxNS4xMzUiLz4NCiAgICAgICAgPHJlY3QgeD0iMjMzLjI5OCIgeT0iNDI0LjUwOSIgd2lkdGg9IjE1LjEzNSIgaGVpZ2h0PSIxNS4xMzUiLz4NCiAgICAgICAgPHJlY3QgeD0iMzYuMTI3IiB5PSI0MzYuNDYxIiB0cmFuc2Zvcm09Im1hdHJpeCgwLjE0ODMgLTAuOTg4OSAwLjk4ODkgMC4xNDgzIC0zOTguMDY3NSA0MjUuODQyNykiDQogICAgICAgICAgICAgIHdpZHRoPSIyNC4xNDUiIGhlaWdodD0iMTUuMTM1Ii8+DQogICAgICAgIDxyZWN0IHg9IjM1LjQ2OCIgeT0iNDcwLjg2IiB0cmFuc2Zvcm09Im1hdHJpeCgwLjE0ODMgLTAuOTg4OSAwLjk4ODkgMC4xNDgzIC00MzYuNDgzOCA0NTAuMDMyNSkiDQogICAgICAgICAgICAgIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMTUuMTM1Ii8+DQogICAgPC9nPg0KPC9zdmc+DQo=",TNe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTYxLDIxSDNhMSwxLDAsMCwwLDAsMkg2MWExLDEsMCwwLDAsMC0yWiIvPg0KICAgICAgICA8cGF0aCBkPSJNNjEsMkg0OWExLDEsMCwwLDAtMSwxVjE3SDQ2di0uNzY0YTEwLjUzMywxMC41MzMsMCwwLDAtMS4xLTQuNjgzQTguNTIyLDguNTIyLDAsMCwxLDQ0LDcuNzY0VjNhMSwxLDAsMCwwLTEtMUgzOWExLDEsMCwwLDAtMSwxVjcuNzY0YTguNTIyLDguNTIyLDAsMCwxLS45LDMuNzg5Yy0uMDM5LjA4LS4wNjcuMTY1LS4xLjI0Ni0uMDM4LS4wODEtLjA2Ni0uMTY2LS4xLS4yNDZBOC41MjIsOC41MjIsMCwwLDEsMzYsNy43NjRWM2ExLDEsMCwwLDAtMS0xSDMxYTEsMSwwLDAsMC0xLDFWNy43NjRhOC41MjIsOC41MjIsMCwwLDEtLjg5NSwzLjc4OUExMC41MzMsMTAuNTMzLDAsMCwwLDI4LDE2LjIzNlYxN0gxOFYxMC40MTRhMi4zOTQsMi4zOTQsMCwwLDEsLjcwNy0xLjcwNkE0LjM4NSw0LjM4NSwwLDAsMCwyMCw1LjU4NlY0aDJWNS41ODZhNC4zODUsNC4zODUsMCwwLDAsMS4yOTMsMy4xMjJBMi4zOTQsMi4zOTQsMCwwLDEsMjQsMTAuNDE0VjE0YTEsMSwwLDAsMCwyLDBWMTAuNDE0YTQuMzg1LDQuMzg1LDAsMCwwLTEuMjkzLTMuMTIyQTIuMzk0LDIuMzk0LDAsMCwxLDI0LDUuNTg2VjNhMSwxLDAsMCwwLTEtMUgxOWExLDEsMCwwLDAtMSwxVjUuNTg2YTIuMzk0LDIuMzk0LDAsMCwxLS43MDcsMS43MDZBNC41MTUsNC41MTUsMCwwLDAsMTcsNy42NDlhNC41MTUsNC41MTUsMCwwLDAtLjI5My0uMzU3QTIuMzk0LDIuMzk0LDAsMCwxLDE2LDUuNTg2VjNhMSwxLDAsMCwwLTEtMUgxMWExLDEsMCwwLDAtMSwxVjUuNTg2YTIuMzk0LDIuMzk0LDAsMCwxLS43MDcsMS43MDZBNC4zODUsNC4zODUsMCwwLDAsOCwxMC40MTRWMTdIM2ExLDEsMCwwLDAsMCwySDYxYTEsMSwwLDAsMCwwLTJINTBWMTRINjBhMSwxLDAsMCwwLDIsMFYzQTEsMSwwLDAsMCw2MSwyWk00Miw0VjdINDBWNFpNMTAuNzA3LDguNzA4QTQuMzg1LDQuMzg1LDAsMCwwLDEyLDUuNTg2VjRoMlY1LjU4NmE0LjM4NSw0LjM4NSwwLDAsMCwxLjI5MywzLjEyMkEyLjM5NCwyLjM5NCwwLDAsMSwxNiwxMC40MTRWMTJIMTBWMTAuNDE0QTIuMzk0LDIuMzk0LDAsMCwxLDEwLjcwNyw4LjcwOFpNMTAsMTRoNnYzSDEwWm0yMCwyLjIzNmE4LjUyMiw4LjUyMiwwLDAsMSwuODk1LTMuNzg5QTEwLjUzMywxMC41MzMsMCwwLDAsMzIsNy43NjRWNGgyVjcuNzY0YTEwLjUzMywxMC41MzMsMCwwLDAsMS4xLDQuNjgzLDguNTIyLDguNTIyLDAsMCwxLC45LDMuNzg5VjE3SDMwWk0zOCwxN3YtLjc2NGE4LjUyMiw4LjUyMiwwLDAsMSwuOS0zLjc4OUExMC41NDEsMTAuNTQxLDAsMCwwLDM5LjkyNCw5aDIuMTUyYTEwLjU0MSwxMC41NDEsMCwwLDAsMS4wMjksMy40NDcsOC41MjIsOC41MjIsMCwwLDEsLjksMy43ODlWMTdaTTYwLDRWNkg1MFY0Wk01MCwxMlY4SDYwdjRaIi8+DQogICAgICAgIDxwYXRoIGQ9Ik02MSw0NEgzYTEsMSwwLDAsMCwwLDJINjBWNjBINDZWNDlhMSwxLDAsMCwwLTIsMFY2MEg0MlY1M2ExLDEsMCwwLDAtMS0xSDI2YTEsMSwwLDAsMC0xLDF2N0gyMlY0OWExLDEsMCwwLDAtMS0xSDVhMSwxLDAsMCwwLTEsMVY2MEgzYTEsMSwwLDAsMCwwLDJINjFhMSwxLDAsMCwwLDEtMVY0NUExLDEsMCwwLDAsNjEsNDRaTTQwLDU2SDM3VjU0aDNabS01LDBIMzJWNTRoM1ptLTUtMnYySDI3VjU0Wk0yMCw1Mi4zODJhMy45NDcsMy45NDcsMCwwLDAtNiwwVjUwaDZaTTE5LDU1YTIsMiwwLDEsMS0yLTJBMiwyLDAsMCwxLDE5LDU1Wk02LDU0aDZ2Mkg2Wm02LTR2Mkg2VjUwWk02LDU4aDZ2Mkg2Wm04LDJWNTcuNjE4YTMuOTQ3LDMuOTQ3LDAsMCwwLDYsMFY2MFptMTMtMmgzdjJIMjdabTUsMGgzdjJIMzJabTUsMlY1OGgzdjJaIi8+DQogICAgICAgIDxwYXRoIGQ9Ik01Nyw1NmExLDEsMCwwLDAsMS0xVjUxYTEsMSwwLDAsMC0xLTFINDlhMSwxLDAsMCwwLTEsMXY0YTEsMSwwLDAsMCwxLDFabS03LTRoNnYySDUwWiIvPg0KICAgICAgICA8cGF0aCBkPSJNNjAsMjkuMTg0VjI2YTEsMSwwLDAsMC0xLTFINTVhMSwxLDAsMCwwLTEsMXYzLjE4NEEzLDMsMCwwLDAsNTIsMzJ2N2EyLjk2NiwyLjk2NiwwLDAsMCwuMTg0LDFINDlWMzRhMSwxLDAsMCwwLDAtMkg0MWExLDEsMCwwLDAsMCwydjZIMzhWMzFhMSwxLDAsMCwwLTEtMUgyNWExLDEsMCwwLDAtMSwxdjlIMjJWMzlhMSwxLDAsMCwwLTIsMHYxSDE0VjMzLjQxNGEyLjM5NCwyLjM5NCwwLDAsMSwuNzA3LTEuNzA2QTQuMzg1LDQuMzg1LDAsMCwwLDE2LDI4LjU4NlYyN2gydjEuNTg2YTQuMzg1LDQuMzg1LDAsMCwwLDEuMjkzLDMuMTIyQTIuMzk0LDIuMzk0LDAsMCwxLDIwLDMzLjQxNFYzNWExLDEsMCwwLDAsMiwwVjMzLjQxNGE0LjM4NSw0LjM4NSwwLDAsMC0xLjI5My0zLjEyMkEyLjM5NCwyLjM5NCwwLDAsMSwyMCwyOC41ODZWMjZhMSwxLDAsMCwwLTEtMUgxNWExLDEsMCwwLDAtMSwxdjIuNTg2YTIuMzk0LDIuMzk0LDAsMCwxLS43MDcsMS43MDYsNC41MTUsNC41MTUsMCwwLDAtLjI5My4zNTcsNC41MTUsNC41MTUsMCwwLDAtLjI5My0uMzU3QTIuMzk0LDIuMzk0LDAsMCwxLDEyLDI4LjU4NlYyNmExLDEsMCwwLDAtMS0xSDdhMSwxLDAsMCwwLTEsMXYyLjU4NmEyLjM5NCwyLjM5NCwwLDAsMS0uNzA3LDEuNzA2QTQuMzg1LDQuMzg1LDAsMCwwLDQsMzMuNDE0VjQwSDNhMSwxLDAsMCwwLDAsMkg2MWExLDEsMCwwLDAsLjctMS43MTNBMi45NjQsMi45NjQsMCwwLDAsNjIsMzlWMzJBMywzLDAsMCwwLDYwLDI5LjE4NFpNNi43MDcsMzEuNzA4QTQuMzg1LDQuMzg1LDAsMCwwLDgsMjguNTg2VjI3aDJ2MS41ODZhNC4zODUsNC4zODUsMCwwLDAsMS4yOTMsMy4xMjJBMi4zOTQsMi4zOTQsMCwwLDEsMTIsMzMuNDE0VjM1SDZWMzMuNDE0QTIuMzk0LDIuMzk0LDAsMCwxLDYuNzA3LDMxLjcwOFpNNiwzN2g2djNINlpNNTYsMjdoMnYySDU2Wm0tMSw0aDRhMSwxLDAsMCwxLDEsMXYzSDU0VjMyQTEsMSwwLDAsMSw1NSwzMVpNMzYsMzZIMzJWMzJoNFptLTYtNHYySDI2VjMyWm0tNCw0aDR2NEgyNlptNiw0VjM4aDR2MlptMTEsMFYzNGg0djZabTEyLDBhMSwxLDAsMCwxLTEtMVYzN2g2djJhMSwxLDAsMCwxLTEsMVoiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",yNe="PHN2ZyBoZWlnaHQ9IjUxMnB0IiB2aWV3Qm94PSIwIC0xMDggNTEyIDUxMiIgd2lkdGg9IjUxMnB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im01MDQgNDguMDE1NjI1aC00OTZjLTQuNDI1NzgxIDAtOC0zLjU3NDIxOS04LTh2LTMyLjAxNTYyNWMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDQ5NmM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4djMyLjAxNTYyNWMwIDQuNDI1NzgxLTMuNTc0MjE5IDgtOCA4em0tNDg4LTE2aDQ4MHYtMTYuMDE1NjI1aC00ODB6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMTYgMjk2LjE2MDE1NmMtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOHYtMjQ2LjcxODc1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MjQ2LjcxODc1YzAgNC40MjU3ODItMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDAgMjk2LjE2MDE1NmMtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOHYtMjQ2LjcxODc1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MjQ2LjcxODc1YzAgNC40MjU3ODItMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDcyIDI5Ni4xNjAxNTZjLTQuNDI1NzgxIDAtOC0zLjU3NDIxOC04LTh2LTI0Ni43MTg3NWMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04czggMy41NzQyMTkgOCA4djI0Ni43MTg3NWMwIDQuNDI1NzgyLTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ5NiAyOTYuMTYwMTU2Yy00LjQyNTc4MSAwLTgtMy41NzQyMTgtOC04di0yNDYuNzE4NzVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHYyNDYuNzE4NzVjMCA0LjQyNTc4Mi0zLjU3NDIxOSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im00MCAyOTYuMTYwMTU2aC0yNGMtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDI0YzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyNTc4Mi0zLjU3NDIxOSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im00OTYgMjk2LjE2MDE1NmgtMjRjLTQuNDI1NzgxIDAtOC0zLjU3NDIxOC04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGgyNGM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjU3ODItMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDcyIDE2MC4xMTMyODFoLTQzMmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDQzMmM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDcyIDE4NC4xMjg5MDZoLTQzMmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDQzMmM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNzEuOTg0Mzc1IDE2MC4xMjg5MDZjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC0yMi4wNTg1OTQgMTcuOTM3NS00MCAzOS45OTIxODctNDAgNC40MjE4NzYgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc4MTI0IDgtOCA4LTEzLjIyMjY1NiAwLTIzLjk5MjE4NyAxMC43NjU2MjUtMjMuOTkyMTg3IDI0IDAgNC40MjE4NzUtMy41NzgxMjUgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMTUyIDE2MC4xMjg5MDZjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC0xMy4yMzQzNzUtMTAuNzY5NTMxLTI0LTIzLjk5MjE4OC0yNC00LjQyMTg3NCAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzgxMjYtOCA4LTggMjIuMDU0Njg4IDAgMzkuOTkyMTg4IDE3Ljk0MTQwNiAzOS45OTIxODggNDAgMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im03OS45ODQzNzUgMTM4Ljk2ODc1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di00Mi44Mzk4NDRjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOCA0LjQyMTg3NSAwIDggMy41NzQyMTkgOCA4djQyLjgzOTg0NGMwIDQuNDIxODc1LTMuNTc4MTI1IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTE0My45Njg3NSAxMzguOTY4NzVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTh2LTQyLjgzOTg0NGMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04IDQuNDIxODc1IDAgOCAzLjU3NDIxOSA4IDh2NDIuODM5ODQ0YzAgNC40MjE4NzUtMy41NzgxMjUgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtOTYgMTA0LjE0NDUzMWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOHYtMjQuMDE1NjI1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MjQuMDE1NjI1YzAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMTI4IDgwLjEyODkwNmgtMzJjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGgzMmM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMTI4IDEwNC4xNDQ1MzFjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTh2LTI0LjAxNTYyNWMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04czggMy41NzQyMTkgOCA4djI0LjAxNTYyNWMwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTk2IDk2LjEyODkwNmgtMTYuMDE1NjI1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMTYuMDE1NjI1YzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xNDMuOTY4NzUgOTYuMTI4OTA2aC0xNS45Njg3NWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDE1Ljk2ODc1YzQuNDIxODc1IDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3ODEyNSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xMjAuMDA3ODEyIDEyOC4xMjg5MDZoLTE2LjAzMTI1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMTYuMDMxMjVjNC40MjU3ODIgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE4IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTE3NS45ODQzNzUgMTYwLjEyODkwNmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTIyLjA1ODU5NCAxNy45Mzc1LTQwIDM5Ljk5MjE4Ny00MCA0LjQyMTg3NiAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzgxMjQgOC04IDgtMTMuMjIyNjU2IDAtMjMuOTkyMTg3IDEwLjc2NTYyNS0yMy45OTIxODcgMjQgMCA0LjQyMTg3NS0zLjU3ODEyNSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yNTYgMTYwLjEyODkwNmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTEzLjIzNDM3NS0xMC43Njk1MzEtMjQtMjMuOTkyMTg4LTI0LTQuNDIxODc0IDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3ODEyNi04IDgtOCAyMi4wNTQ2ODggMCAzOS45OTIxODggMTcuOTQxNDA2IDM5Ljk5MjE4OCA0MCAwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTE4My45ODQzNzUgMTM4Ljk2ODc1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di00Mi44Mzk4NDRjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOCA0LjQyMTg3NSAwIDggMy41NzQyMTkgOCA4djQyLjgzOTg0NGMwIDQuNDIxODc1LTMuNTc4MTI1IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTI0Ny45Njg3NSAxMzguOTY4NzVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTh2LTQyLjgzOTg0NGMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04IDQuNDIxODc1IDAgOCAzLjU3NDIxOSA4IDh2NDIuODM5ODQ0YzAgNC40MjE4NzUtMy41NzgxMjUgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMjAwIDEwNC4xNDQ1MzFjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTh2LTI0LjAxNTYyNWMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04czggMy41NzQyMTkgOCA4djI0LjAxNTYyNWMwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTIzMiA4MC4xMjg5MDZoLTMyYy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMzJjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTIzMiAxMDQuMTQ0NTMxYy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di0yNC4wMTU2MjVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHYyNC4wMTU2MjVjMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yMDAgOTYuMTI4OTA2aC0xNi4wMTU2MjVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGgxNi4wMTU2MjVjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTI0Ny45Njg3NSA5Ni4xMjg5MDZoLTE1Ljk2ODc1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMTUuOTY4NzVjNC40MjE4NzUgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc4MTI1IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTIyNC4wMDc4MTIgMTI4LjEyODkwNmgtMTYuMDMxMjVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGgxNi4wMzEyNWM0LjQyNTc4MiAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTggOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMjU2LjE2Nzk2OSAyODAuMTQ0NTMxYy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtMTMuMjQyMTg3IDEwLjc3NzM0My0yNC4wMTU2MjUgMjQuMDE1NjI1LTI0LjAxNTYyNSA0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDgtNC40MjE4NzUgMC04LjAxNTYyNSAzLjU4OTg0NC04LjAxNTYyNSA4LjAxNTYyNSAwIDQuNDIxODc1LTMuNTgyMDMxIDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTMzNi4xOTE0MDYgMjgwLjE0NDUzMWMtNC40MjE4NzUgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDE3OTY5LTMuNTgyMDMxLTgtOC04LTQuNDIxODc1IDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3ODEyNS04IDgtOCAxMy4yMzQzNzUgMCAyNCAxMC43NjU2MjUgMjQgMjQgMCA0LjQyMTg3NS0zLjU3NDIxOCA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0zMzYuMTkxNDA2IDI5Ni4xNjAxNTZoLTgwLjAyMzQzN2MtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDgwLjAzMTI1YzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyNTc4Mi0zLjU4MjAzMSA4LTguMDA3ODEzIDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMzIwLjgzMjAzMSAyNjQuMTI4OTA2aC00OS4yOTY4NzVjLTQuNDIxODc1IDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3ODEyNS04IDgtOGg0OS4yOTY4NzVjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTI3Mi4xNjc5NjkgMjY0LjEyODkwNmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOHYtNDcuOTg0Mzc1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2NDcuOTg0Mzc1YzAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMzIwLjE5OTIxOSAyNjQuMTQ0NTMxYy00LjQyMTg3NSAwLTgtMy41NzgxMjUtOC04di00OGMwLTQuNDI1NzgxIDMuNTc4MTI1LTggOC04IDQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDh2NDhjMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yNTYuMTY3OTY5IDI5Ni4xNjAxNTZjLTQuNDI1NzgxIDAtOC0zLjU3NDIxOC04LTh2LTE2LjAxNTYyNWMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04czggMy41NzQyMTkgOCA4djE2LjAxNTYyNWMwIDQuNDI1NzgyLTMuNTgyMDMxIDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTMzNi4xOTE0MDYgMjk2LjE2MDE1NmMtNC40MjE4NzUgMC04LTMuNTc0MjE4LTgtOHYtMTYuMDE1NjI1YzAtNC40MjU3ODEgMy41NzgxMjUtOCA4LTggNC40MjU3ODIgMCA4IDMuNTc0MjE5IDggOHYxNi4wMTU2MjVjMCA0LjQyNTc4Mi0zLjU3NDIxOCA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0zMjAuMTk5MjE5IDIxNi4xNDQ1MzFoLTQ4LjAzMTI1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoNDguMDMxMjVjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTMyOC4xOTE0MDYgMjQwLjE0NDUzMWgtNjQuMDIzNDM3Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoNjQuMDIzNDM3YzQuNDI1NzgyIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOCA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0zNjAuMTY3OTY5IDI4MC4xNDQ1MzFjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC0xMy4yNDIxODcgMTAuNzc3MzQzLTI0LjAxNTYyNSAyNC4wMTU2MjUtMjQuMDE1NjI1IDQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOC00LjQyMTg3NSAwLTguMDE1NjI1IDMuNTg5ODQ0LTguMDE1NjI1IDguMDE1NjI1IDAgNC40MjE4NzUtMy41ODIwMzEgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDQwLjE5MTQwNiAyODAuMTQ0NTMxYy00LjQyMTg3NSAwLTgtMy41NzgxMjUtOC04IDAtNC40MTc5NjktMy41ODIwMzEtOC04LTgtNC40MjE4NzUgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc4MTI1LTggOC04IDEzLjIzNDM3NSAwIDI0IDEwLjc2NTYyNSAyNCAyNCAwIDQuNDIxODc1LTMuNTc0MjE4IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ0MC4xOTE0MDYgMjk2LjE2MDE1NmgtODAuMDIzNDM3Yy00LjQyNTc4MSAwLTgtMy41NzQyMTgtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoODAuMDMxMjVjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDI1NzgyLTMuNTgyMDMxIDgtOC4wMDc4MTMgOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im00MjQuODMyMDMxIDI2NC4xMjg5MDZoLTQ5LjI5Njg3NWMtNC40MjE4NzUgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc4MTI1LTggOC04aDQ5LjI5Njg3NWM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMzc2LjE2Nzk2OSAyNjQuMTI4OTA2Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di00Ny45ODQzNzVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHY0Ny45ODQzNzVjMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im00MjQuMTk5MjE5IDI2NC4xNDQ1MzFjLTQuNDIxODc1IDAtOC0zLjU3ODEyNS04LTh2LTQ4YzAtNC40MjU3ODEgMy41NzgxMjUtOCA4LTggNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOHY0OGMwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTM2MC4xNjc5NjkgMjk2LjE2MDE1NmMtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOHYtMTYuMDE1NjI1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MTYuMDE1NjI1YzAgNC40MjU3ODItMy41ODIwMzEgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDQwLjE5MTQwNiAyOTYuMTYwMTU2Yy00LjQyMTg3NSAwLTgtMy41NzQyMTgtOC04di0xNi4wMTU2MjVjMC00LjQyNTc4MSAzLjU3ODEyNS04IDgtOCA0LjQyNTc4MiAwIDggMy41NzQyMTkgOCA4djE2LjAxNTYyNWMwIDQuNDI1NzgyLTMuNTc0MjE4IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQyNC4xOTkyMTkgMjE2LjE0NDUzMWgtNDguMDMxMjVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGg0OC4wMzEyNWM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDMyLjE5MTQwNiAyNDAuMTQ0NTMxaC02NC4wMjM0MzdjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGg2NC4wMjM0MzdjNC40MjU3ODIgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE4IDgtOCA4em0wIDAiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",DNe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMi4wMDEgNTEyLjAwMSI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTUwNS45NDcsMTIzLjU5N2MtNC4zNTMtNC43NTItMTAuNTQ2LTcuNDc3LTE2Ljk5LTcuNDc3aC02LjgzN2MtMTcuOTI5LDAtMzIuNjMxLDEzLjQ2OC0zNC4xOTgsMzEuMzI4bC03LjM5Nyw4NC4yNzkNCgkJCQljLTAuNjU1LDcuNDY5LTYuODA0LDEzLjEwMi0xNC4zMDMsMTMuMTAyaC02NC4wMjZjLTIwLjUxNiwwLTM3LjIwNywxNi42OTEtMzcuMjA3LDM3LjIwN3YzLjY5Nw0KCQkJCWMwLDEyLjM5NSwxMC4wODMsMjIuNDc4LDIyLjQ3OCwyMi40NzhoMTMuNzIzbC0xMy41MTQsNDQuMTM1Yy0wLjAxLDAuMDMzLTAuMDIsMC4wNjYtMC4wMywwLjA5OWwtMTAuMzMsMzMuNzM2DQoJCQkJYy0xLjIxMywzLjk2MSwxLjAxNSw4LjE1NCw0Ljk3NSw5LjM2N2MwLjczMiwwLjIyNCwxLjQ3MiwwLjMzMSwyLjE5OSwwLjMzMWMzLjIwOSwwLDYuMTgtMi4wNzcsNy4xNjgtNS4zMDZsOC43MTItMjguNDUxSDQ2My4yNA0KCQkJCWw4LjcxMiwyOC40NTFjMC45ODgsMy4yMjksMy45NTgsNS4zMDYsNy4xNjgsNS4zMDZjMC43MjgsMCwxLjQ2OC0wLjEwNywyLjE5OS0wLjMzMWMzLjk2LTEuMjEzLDYuMTg4LTUuNDA3LDQuOTc1LTkuMzY3DQoJCQkJbC0yNC41MTctODAuMDY2YzQuMzA1LTEuMjE5LDguNDYyLTIuOTUzLDEyLjM2Mi01LjE4OGMzLjU5My0yLjA2LDQuODM2LTYuNjQzLDIuNzc2LTEwLjIzNg0KCQkJCWMtMi4wNi0zLjU5My02LjY0NC00LjgzNi0xMC4yMzctMi43NzZjLTYuMDQ0LDMuNDY1LTEyLjkzOSw1LjI5Ny0xOS45NCw1LjI5N2gtNzUuNDAyYy0wLjAyNSwwLTAuMDUsMC0wLjA3NCwwaC0yMy43OTMNCgkJCQljLTQuMTIzLDAtNy40NzgtMy4zNTQtNy40NzgtNy40Nzh2LTMuNjk3YzAtMTIuMjQ1LDkuOTYyLTIyLjIwNywyMi4yMDctMjIuMjA3aDY0LjAyNmMxNS4zMzMsMCwyNy45MDYtMTEuNTE4LDI5LjI0Ni0yNi43OTENCgkJCQlsNy4zOTYtODQuMjhjMC44ODItMTAuMDU2LDkuMTYtMTcuNjQsMTkuMjU1LTE3LjY0aDYuODM3YzIuMjgyLDAsNC4zODksMC45MjcsNS45MywyLjYxYzEuNTQyLDEuNjgzLDIuMjgyLDMuODYyLDIuMDgyLDYuMTM2DQoJCQkJbC0xMC4yNDIsMTE2LjcxMWMtMC4yNTIsMi44NzgtMC44MTMsNS43MjYtMS42NjYsOC40NjRjLTEuMjMyLDMuOTU1LDAuOTc2LDguMTYsNC45MzEsOS4zOTFjMy45NiwxLjIzMiw4LjE1OS0wLjk3Nyw5LjM5Mi00LjkzDQoJCQkJYzEuMTcxLTMuNzYyLDEuOTQtNy42NjksMi4yODctMTEuNjE0bDEwLjI0Mi0xMTYuNzExQzUxMi40NzQsMTM0Ljc1Nyw1MTAuMywxMjguMzQ5LDUwNS45NDcsMTIzLjU5N3ogTTM3Ni44NzUsMzA4LjIxMmg2OS44NTUNCgkJCQlsMTEuOTE0LDM4LjkxaC05My42ODRMMzc2Ljg3NSwzMDguMjEyeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTQ5LjgwMywyNDQuODNIODUuNzc3Yy03LjQ5OSwwLTEzLjY0Ny01LjYzMi0xNC4zMDMtMTMuMTAybC03LjM5Ni04NC4yNzljLTEuNTY3LTE3Ljg2LTE2LjI2OS0zMS4zMjgtMzQuMTk4LTMxLjMyOA0KCQkJCWgtNi44MzdjLTYuNDQ0LDAtMTIuNjM3LDIuNzI1LTE2Ljk5LDcuNDc3Yy00LjM1Myw0Ljc1Mi02LjUyNywxMS4xNi01Ljk2NSwxNy41ODFsMTAuMjQyLDExNi43MTENCgkJCQljMS4yMDksMTMuNzczLDcuNDg5LDI2LjUwMSwxNy42ODQsMzUuODQxYzYuNDA1LDUuODY4LDE0LjAxLDEwLjA3NywyMi4yMDYsMTIuMzk3bC0yNC41MTQsODAuMDU1DQoJCQkJYy0xLjIxMywzLjk2MSwxLjAxNSw4LjE1NCw0Ljk3NSw5LjM2N2MwLjczMiwwLjIyNCwxLjQ3MiwwLjMzMSwyLjE5OSwwLjMzMWMzLjIwOSwwLDYuMTgtMi4wNzcsNy4xNjgtNS4zMDZsOC43MTItMjguNDUxSDE1MS42Mw0KCQkJCWw4LjcxMiwyOC40NTFjMC45ODgsMy4yMjksMy45NTgsNS4zMDYsNy4xNjgsNS4zMDZjMC43MjgsMCwxLjQ2OC0wLjEwNywyLjE5OS0wLjMzMWMzLjk2LTEuMjEzLDYuMTg4LTUuNDA3LDQuOTc1LTkuMzY3DQoJCQkJbC0xMC4zMy0zMy43MzZjLTAuMDEtMC4wMzMtMC4wMi0wLjA2Ni0wLjAzLTAuMDk5bC0xMy41MTQtNDQuMTM1aDEzLjcyM2MxMi4zOTUsMCwyMi40NzctMTAuMDgzLDIyLjQ3Ny0yMi40Nzh2LTMuNjk3DQoJCQkJQzE4Ny4wMSwyNjEuNTIxLDE3MC4zMTksMjQ0LjgzLDE0OS44MDMsMjQ0LjgzeiBNNTMuMzUzLDM0Ny4xMjJsMTEuOTE0LTM4LjkxaDY5Ljg1NWwxMS45MTQsMzguOTFINTMuMzUzeiBNMTcyLjAxLDI4NS43MzQNCgkJCQljMCw0LjEyNC0zLjM1NCw3LjQ3OC03LjQ3Nyw3LjQ3OGgtMjMuNzg4Yy0wLjAzLDAtMC4wNTksMC0wLjA4OSwwSDY1LjI2M2MtMS42MDQsMC0zLjE4Mi0wLjEwMy00LjczNi0wLjI4Mw0KCQkJCWMtMC4wMDEsMC0wLjAwMywwLTAuMDA1LDBjLTE4Ljc2NC0yLjE2OS0zMy41NTgtMTcuMDY1LTM1LjI1LTM2LjM1MkwxNS4wMywxMzkuODY3Yy0wLjItMi4yNzUsMC41NC00LjQ1NCwyLjA4Mi02LjEzNw0KCQkJCWMxLjU0MS0xLjY4MywzLjY0Ny0yLjYxLDUuOTMtMi42MWg2LjgzN2MxMC4wOTUsMCwxOC4zNzMsNy41ODMsMTkuMjU1LDE3LjY0bDcuMzk2LDg0LjI3OXYtMC4wMDENCgkJCQljMS4zNCwxNS4yNzMsMTMuOTEzLDI2Ljc5MSwyOS4yNDYsMjYuNzkxaDY0LjAyNmMxMi4yNDUsMCwyMi4yMDcsOS45NjIsMjIuMjA3LDIyLjIwN1YyODUuNzM0eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzEyLjk0OCwzNzEuMTQxYy0zLjA5NS0xMS44OTctMTMuODQxLTIwLjIwNi0yNi4xMzQtMjAuMjA2aC00LjY0MlYyMTQuNDAxaDkyLjM1NGM1LjMyLDAsMTAuMjk5LTIuMzY1LDEzLjY2MS02LjQ4OA0KCQkJCWMzLjM2Mi00LjEyNCw0LjY3Ny05LjQ3OCwzLjYwNS0xNC42OWMtMy4yMjYtMTUuNjg0LTE3LjE4OC0yNy4wNjctMzMuMTk5LTI3LjA2N0gyMDIuNjY1Yy00LjE0MywwLTcuNSwzLjM1OC03LjUsNy41DQoJCQkJczMuMzU3LDcuNSw3LjUsNy41aDE1NS45MjhjOC45MjYsMCwxNi43MDgsNi4zNDYsMTguNTA2LDE1LjA4OGMwLjIxOSwxLjA2NC0wLjI0MywxLjgyOS0wLjUzNywyLjE5MQ0KCQkJCWMtMC4yOTUsMC4zNjEtMC45NTEsMC45NjctMi4wMzYsMC45NjdIMTM3LjQ3MmMtMS4wODUsMC0xLjc0MS0wLjYwNi0yLjAzNi0wLjk2N2MtMC4yOTQtMC4zNjEtMC43NTYtMS4xMjctMC41MzctMi4xOQ0KCQkJCWMxLjc5OC04Ljc0Myw5LjU4LTE1LjA4OSwxOC41MDYtMTUuMDg5aDE0LjA4NGM0LjE0MywwLDcuNS0zLjM1OCw3LjUtNy41cy0zLjM1Ny03LjUtNy41LTcuNWgtMTQuMDg0DQoJCQkJYy0xNi4wMTIsMC0yOS45NzQsMTEuMzgzLTMzLjE5OSwyNy4wNjhjLTEuMDcxLDUuMjEyLDAuMjQzLDEwLjU2NiwzLjYwNSwxNC42ODljMy4zNjIsNC4xMjMsOC4zNDEsNi40ODgsMTMuNjYxLDYuNDg4aDkyLjM1NQ0KCQkJCXYxMzYuNTM1aC00LjY0MmMtMTIuMjkzLDAtMjMuMDM5LDguMzA5LTI2LjEzNCwyMC4yMDVsLTEuNzYxLDYuNzY3Yy0xLjEyNyw0LjMzNS0wLjIwMyw4Ljg1MiwyLjUzNiwxMi4zOTYNCgkJCQljMi43NCwzLjU0Myw2Ljg4LDUuNTc2LDExLjM1OCw1LjU3Nmg4OS42M2M0LjQ3OSwwLDguNjE4LTIuMDMyLDExLjM1OC01LjU3NmMyLjczOS0zLjU0MywzLjY2My04LjA2MSwyLjUzNi0xMi4zOTYNCgkJCQlMMzEyLjk0OCwzNzEuMTQxeiBNMjQ0LjgyNywyMTQuNDAxTDI0NC44MjcsMjE0LjQwMWgyMi4zNDZ2MTM2LjUzNWgtMjIuMzQ2VjIxNC40MDF6IE0yMTIuMDE2LDM4MC44NzlsMS41NTItNS45NjINCgkJCQljMS4zNzUtNS4yODgsNi4xNTItOC45ODEsMTEuNjE2LTguOTgxaDYxLjYyOWM1LjQ2NCwwLDEwLjI0MSwzLjY5MywxMS42MTYsOC45ODFsMS41NTIsNS45NjJIMjEyLjAxNnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",dNe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMi4yNzMgNTEyLjI3MyIgd2lkdGg9IjUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtNTA3Ljg5MSAyMzguMzk5Yy02LjcyMy0zNS44ODEtMjEuODUzLTY2LjkwNS00My43NTUtODkuNzE4LTkuODQ1LTEwLjI1My0yMS40NTYtMTkuNzUtMzQuNTE0LTI4LjIyNy0xNC45NC05LjY5OS0zMi4xOTItMTguNDM4LTU0LjI5My0yNy41MDMtOS42ODQtMy45NzItMTkuMzc1LTcuNjM3LTI4LjQwNi0xMS4wMDUtMTQuNjQyLTUuNDYtMzAuMDY0LTEwLjk1OC00NS44NDMtMTYuMzM3LTUuNDI3LTEuODUxLTEwLjkyMS0zLjYwNi0xNi4yMzQtNS4zMDMtOC41MDUtMi43MTctMTcuMy01LjUyNy0yNS43NzEtOC43MjEtNS4yMjQtMS45Ny03LjQyNi0zLjQ2NC04LjMyMS00LjI1OC4wNDYtLjA1Ni4wOTYtLjExNS4xNTEtLjE3NyA0LjA0OC00LjYxNSAyNy42MDMtMjMuMTA1IDQxLjUwMS0zMy42NzcgMi41NjItMS45NDkgMy41OTUtNS4zMTUgMi41NjYtOC4zNjVzLTMuODg5LTUuMTA0LTcuMTA3LTUuMTA0bC0xNTQuMDUyLS4wMDRjLTEuMzIxIDAtMi42MTkuMzQ5LTMuNzYyIDEuMDEyLTE3LjI4MiAxMC4wMjEtMzEuNjIzIDI1Ljc5LTM5LjM0NiA0My4yNjItOC45NDYgMjAuMjQtOS4wMTYgNDEuNDI1LS4yMDIgNjEuMjYzIDEyLjA3IDI3LjE2NyAzNy41NjcgNDIuMjM3IDYwLjA2MyA1NS41MzMgNS44NyAzLjQ2OSAxMS40MTQgNi43NDYgMTYuNjU1IDEwLjE2NyAzLjA5NSAyLjAyIDYuMjczIDQuMDAzIDkuMzQ3IDUuOTIyIDExLjU0NSA3LjIwOCAyMi40NSAxNC4wMTYgMzEuMTY3IDIzLjYwNCA4Ljk4MSA5Ljg3NyAxMS42OTMgMjIuNTAxIDcuODQyIDM2LjUwNy04Ljk0OCAzMi41NDQtMzUuNTQ0IDYxLjc4MS01OS4wMDkgODcuNTc2LTQuMzQyIDQuNzczLTguNDQyIDkuMjgxLTEyLjQwOSAxMy43NzYtMTEuMTA3IDEyLjU4Ny0yNy4zOTMgMzAuODktNDQuNjM0IDUwLjI2Ny01Ni44NjkgNjMuOTE0LTk0LjQxNSAxMDYuMjI5LTk4IDExMS44NDYtMS40NzQgMi4zMDktMS41NzEgNS4yMzgtLjI1NCA3LjY0IDEuMzE2IDIuNDAyIDMuODM4IDMuODk1IDYuNTc3IDMuODk1bDQ0Ni4zMTYuMDAzaC4wMDFjMy4yNTEgMCA2LjEzMi0yLjA5NCA3LjEzNS01LjE4NyAxMS42NTktMzUuOTYgMjIuMjEyLTcyLjIzMiAzNS4yODMtMTIxLjI4MyAxNS41OTEtNTguNTE1IDE5LjE4NS0xMDUuMzU0IDExLjMwOC0xNDcuNDA0em0tMjUuODAzIDE0My41NDNjLTEyLjM3IDQ2LjQyLTIyLjQ2NCA4MS4zMDUtMzMuMzg1IDExNS4zMzFsLTI2Ljk0LS4wMDJjMS4yODgtMy45NDggMi41NzMtNy45MDMgMy44NjEtMTEuODQyIDExLjU4LTM1LjQxIDIyLjg3Ny03MC45MjUgMzIuNTA0LTEwNi44ODggMS41MzUtNS43NCAzLjEyMi0xMS42NzQgNC42Ny0xNy42NDUgMS4wNC00LjAwOS0xLjM2OC04LjEwMy01LjM3OC05LjE0Mi00LjAwOS0xLjAzOC04LjEwMiAxLjM2OS05LjE0MiA1LjM3OC0xLjUzMyA1LjkxNC0zLjExMyAxMS44Mi00LjY0MSAxNy41MzEtOS40MzkgMzUuMjc1LTIwLjc5NyA3MS4wMjUtMzIuMjcgMTA2LjEwNC0xLjc5NyA1LjQ5My0zLjU5NSAxMC45OTItNS4zODkgMTYuNTA0aC0xNTcuOTc4Yy0uNDMyLTEuODU4LTEuNTY3LTMuNTUzLTMuMzA5LTQuNjQ5LTMuNTA0LTIuMjA2LTguMTM2LTEuMTUyLTEwLjM0MiAyLjM1My0uNDk1Ljc4Ni0uOTczIDEuNTQyLTEuNDQ5IDIuMjk2aC0xNTYuMjM0YzI0LjQ3My0zMC41NTEgOTEuODk3LTExMi4wNzMgMTI0LjIzOC0xNDguNzI0IDE3LjI0LTE5LjUzNyAzMS4zNjgtMzguNzI2IDQxLjk5NC01Ny4wMzMgMTcuNTk4LTMwLjMxOSAyNC41NjctNTYuNzY1IDIwLjcxNi03OC42MDEtOC4yNzMtNDYuOTA5LTQ1LjEyNy02NS43NjQtNzcuNjQzLTgyLjM5OC0zLjQzOS0xLjc1OS02Ljk5NS0zLjU3OS0xMC40MDctNS4zNzVsLS42MDktLjMyMWMtMy42NjMtMS45MzMtOC4yLS41My0xMC4xMzMgMy4xMzNzLS41MyA4LjIgMy4xMzMgMTAuMTMzbC42MTYuMzI1YzMuNDk2IDEuODQgNy4wOTEgMy42OCAxMC41NjggNS40NTggMzIuMjU3IDE2LjUwMiA2Mi43MjYgMzIuMDkgNjkuNzAzIDcxLjY1IDMuMjIgMTguMjU2LTMuMTQ1IDQxLjI5MS0xOC45MTcgNjguNDY2LTkuOTg5IDE3LjIxLTIzLjkxNCAzNi4xMDQtNDAuMjY4IDU0LjYzOC0zNS4yODYgMzkuOTg4LTExNi4wOTggMTM3LjgzOC0xMzIuMDU2IDE1OC42NDhoLTMzLjg1YzE3Ljg4Mi0yMC43NTMgNTYuNzQ0LTY0LjQyOCA4Ni45ODEtOTguNDExIDE3LjI1Mi0xOS4zODkgMzMuNTQ3LTM3LjcwMiA0NC42NzUtNTAuMzEzIDMuODkyLTQuNDEgNy45NTYtOC44NzggMTIuMjU4LTEzLjYwNyAyNC41OTctMjcuMDQgNTIuNDc2LTU3LjY4OCA2Mi4zNzUtOTMuNjkzIDUuMjA3LTE4LjkzOSAxLjIyNy0zNi45LTExLjIwNy01MC41NzUtMTYuNDIzLTE4LjA2Mi0zOS44NjMtMzAuMjM3LTYwLjYzNS00Mi41MTQtMjEuNTY1LTEyLjc0Ni00My44NjQtMjUuOTI2LTUzLjk4Ny00OC43MS0xNS4wMjMtMzMuODE1IDQuMzY2LTY3LjcxOCAzMS42NjctODQuNDQ3aDEzLjYzOWMtMjAuNTU3IDE1LjA3NC0zMi41NjggMzAuMzA1LTM2LjQ5NCA0Ni4xOTUtMy4xODMgMTIuODgyLS44MTMgMjUuNzU2IDcuMDQ1IDM4LjI2NSA0LjMyNCA2Ljg4MyA5LjkwNCAxMy4xMTIgMTcuMDU4IDE5LjA0MiAzLjE4OCAyLjY0MyA3LjkxNiAyLjIwMSAxMC41NjEtLjk4OCAyLjY0My0zLjE4OSAyLjIwMS03LjkxNy0uOTg4LTEwLjU2MS01LjkwOS00Ljg5OC0xMC40NjUtOS45NTktMTMuOTI5LTE1LjQ3Mi01LjY4OC05LjA1Ni03LjM4NC0xNy43ODYtNS4xODUtMjYuNjg4IDMuOTc5LTE2LjEwMyAyMC41NjgtMzIuODUxIDQ5LjMxNC00OS43OTNoNTAuNzE1Yy0xMy4zMDYgMTAuNDc5LTI4LjEwNSAyNC43NzUtMjQuMDk1IDQyLjM1MyAzLjk3OSAxNy40NDEgMjQuMTc3IDI3LjE3OSAzOS4xNzggMzMuNDcyIDE5LjU1OCA4LjIwNSAzOS44MzUgMTQuNzIgNTkuNDQ1IDIxLjAyMSAzMi4wODggMTAuMzEgNjUuMjY5IDIwLjk3MSA5NS4wMDMgMzkuMTM3IDMzLjkzNCAyMC43MzEgNTUuNTE4IDUxLjE1OCA2Mi40MiA4Ny45ODkgNC40NzggMjMuODk2IDMuNDI2IDUwLjYzNC0zLjMxMSA4NC4xNTJsLS4xMDcuNTM2Yy0uODE0IDQuMDYyIDEuODE4IDguMDE0IDUuODggOC44MjguNDk4LjEuOTkzLjE0NyAxLjQ4MS4xNDcgMy41MDEgMCA2LjYzMi0yLjQ2NCA3LjM0Ni02LjAyOGwuMTA2LS41MzJjNy4xMjgtMzUuNDYyIDguMTkxLTY0LjAxOCAzLjM0OS04OS44NjctNy43MDctNDEuMTIzLTMxLjY4Ni03NS4wMi02OS4zNDQtOTguMDI2LTMxLjI2Mi0xOS4wOTktNjUuMzA5LTMwLjAzOS05OC4yMzQtNDAuNjE4LTE5LjMwNy02LjIwMy0zOS4yNzEtMTIuNjE4LTU4LjIzLTIwLjU3Mi01Ljc4Ny0yLjQyOS0xMC43MTItNC45MTItMTUuMDU3LTcuNTktNS40NjQtMy4zNjgtMTMuNzIxLTguNDU3LTE1LjMwMi0xNS4zODgtMi41NzktMTEuMzA5IDE0LjMzLTIzLjk5OCAyNS41Mi0zMi4zOTUgMy4yMTYtMi40MTQgNi4xMDYtNC41ODUgOC40NzMtNi42MTcgMCAwIDEzLjc4OSAwIDEzLjc4Ny4wMDItOS44OTIgNy43ODYtMzQuMTU2IDE5LjczMy0zMC4xNzQgMzUuNjUzIDEuOTk4IDcuOTg2IDEwLjY4OCAxMi4xOTEgMTguMDM1IDE0Ljk2MiAxMy45ODEgNS4yNzIgMjguMzI0IDkuMzY3IDQyLjQ1NiAxNC4xODYgMTUuNjQ0IDUuMzM1IDMwLjkzMyAxMC43ODMgNDUuNDQyIDE2LjE5NSA4LjkxMyAzLjMyNSAxOC40NyA2LjkzOCAyNy45NTcgMTAuODI5IDIxLjIxNCA4LjcwMSAzNy42NzkgMTcuMDI4IDUxLjgxNiAyNi4yMDYgMTIuMDk0IDcuODUyIDIyLjgxMyAxNi42MTEgMzEuODYxIDI2LjAzNSAxOS44NzUgMjAuNzAxIDMzLjY0OCA0OS4wODggMzkuODMxIDgyLjA5MSA3LjQ1MSAzOS43NzEgMy45MzcgODQuNTA1LTExLjA1OCAxNDAuNzgxeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzQ0LjM2NSAxOTkuNDA3YzEuNDYxIDIuMDczIDMuNzggMy4xOCA2LjEzOCAzLjE4IDEuNDkyIDAgMy0uNDQ0IDQuMzEzLTEuMzcgMy4zODYtMi4zODYgNC4xOTYtNy4wNjUgMS44MTEtMTAuNDUxLTQuMTA5LTUuODMxLTguODExLTExLjI5My0xMy45NzMtMTYuMjMzLTIuOTkzLTIuODY1LTcuNzQxLTIuNzYtMTAuNjA0LjIzMi0yLjg2NCAyLjk5My0yLjc2MSA3Ljc0LjIzMiAxMC42MDQgNC40NjUgNC4yNzQgOC41MzEgOC45OTcgMTIuMDgzIDE0LjAzOHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI1NS4wODMgMTIyLjUxOC0uNDczLS4yNDZjLTUuNzc2LTIuOTkzLTExLjU0NS01Ljk4My0xNy4zMzQtOC45NDUtMy42ODQtMS44ODMtOC4yMDYtLjQyNi0xMC4wOTMgMy4yNjItMS44ODYgMy42ODgtLjQyNiA4LjIwNiAzLjI2MiAxMC4wOTMgNS43NjUgMi45NDkgMTEuNTExIDUuOTI3IDE3LjI2MyA4LjkwOGwuNDczLjI0NWMxLjEwNC41NzIgMi4yODMuODQzIDMuNDQ1Ljg0MyAyLjcxMiAwIDUuMzMxLTEuNDc2IDYuNjY1LTQuMDUgMS45MDYtMy42NzguNDctOC4yMDQtMy4yMDgtMTAuMTF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xNzkuNjgzIDU3LjU4NGMxLjc0NC01LjUxIDQuNzE5LTEwLjE5NiA4LjE2My0xMi44NTYgMy4yNzgtMi41MzIgMy44ODItNy4yNDIgMS4zNTEtMTAuNTItMi41MzQtMy4yNzktNy4yNDQtMy44ODItMTAuNTIxLTEuMzUxLTUuODg5IDQuNTQ5LTEwLjYxIDExLjcyNC0xMy4yOTMgMjAuMjAxLTEuMjUgMy45NDkuOTM4IDguMTY0IDQuODg3IDkuNDE0Ljc1My4yMzggMS41MTUuMzUyIDIuMjY1LjM1MiAzLjE4Mi0uMDAxIDYuMTM2LTIuMDQzIDcuMTQ4LTUuMjR6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yMDEuMTM2IDk1LjkwM2MtNi43NTEtMy4zMTQtMTEuNDI0LTYuMjY4LTE1LjE1Mi05LjU3Ni0zLjA5OC0yLjc1LTcuODM4LTIuNDY2LTEwLjU4OC42MzEtMi43NSAzLjA5OC0yLjQ2NyA3LjgzOC42MzEgMTAuNTg4IDQuNzc5IDQuMjQyIDEwLjQ4NCA3Ljg4OCAxOC40OTkgMTEuODIyIDEuMDYzLjUyMiAyLjE5Ljc2OSAzLjMuNzY5IDIuNzcgMCA1LjQzNS0xLjU0MiA2LjczOC00LjE5NiAxLjgyNS0zLjcxOC4yOS04LjIxMi0zLjQyOC0xMC4wMzh6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yNzUuODU1IDQ0MS4yNzZjLTMuNTUzLTIuMTI2LTguMTU5LS45NzItMTAuMjg3IDIuNTgzLTMuNDk0IDUuODM1LTYuOTQ5IDExLjU3Ni0xMC4zMDYgMTcuMTIyLTIuMTQ1IDMuNTQzLTEuMDExIDguMTU1IDIuNTMzIDEwLjI5OSAxLjIxNS43MzUgMi41NTQgMS4wODUgMy44NzcgMS4wODUgMi41MzcgMCA1LjAxNC0xLjI4OCA2LjQyMy0zLjYxOCAzLjM2OC01LjU2NSA2LjgzNy0xMS4zMjcgMTAuMzQzLTE3LjE4MyAyLjEyNy0zLjU1NC45NzEtOC4xNi0yLjU4My0xMC4yODh6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zNjQuODY0IDIyNC4xNTJjLTQuMDY3Ljc4Ni02LjcyNyA0LjcyLTUuOTQgOC43ODcuOTEgNC43MTMgMS4zNzIgOS40NjggMS4zNzIgMTQuMTMyIDAgLjM1OC0uMDAzLjcxNi0uMDA5IDEuMDktLjAxNS45NzYtLjA0NCAxLjk0Ny0uMDg3IDIuOTE1LS4xODcgNC4xMzggMy4wMTggNy42NDMgNy4xNTUgNy44MjkuMTE1LjAwNS4yMjkuMDA4LjM0My4wMDggMy45ODYgMCA3LjMwNi0zLjE0IDcuNDg2LTcuMTYzLjA1MS0xLjExNy4wODQtMi4yMzkuMTAxLTMuMzUuMDA4LS40NDMuMDExLS44ODcuMDExLTEuMzMgMC01LjYxNy0uNTU0LTExLjMzLTEuNjQ1LTE2Ljk3OC0uNzg3LTQuMDY3LTQuNzI4LTYuNzI1LTguNzg3LTUuOTR6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zMDYuMjU0IDM4OS40ODFjLTMuNTgyLTIuMDczLTguMTcyLS44NTMtMTAuMjQ5IDIuNzMxLTMuMjMyIDUuNTgyLTYuNjA2IDExLjM3LTEwLjA2MiAxNy4yNjEtMi4wOTYgMy41NzMtLjg5NyA4LjE2OCAyLjY3NiAxMC4yNjQgMS4xOTIuNjk5IDIuNDk4IDEuMDMxIDMuNzg3IDEuMDMxIDIuNTc0IDAgNS4wOC0xLjMyNiA2LjQ3Ny0zLjcwNyAzLjQ2OS01LjkxNSA2Ljg1Ni0xMS43MjggMTAuMTAzLTE3LjMzMiAyLjA3Ni0zLjU4My44NTItOC4xNzEtMi43MzItMTAuMjQ4eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzYxLjkyOSAyODMuMzE0Yy0zLjg4My0xLjQ0Ni04LjIwMS41My05LjY0NiA0LjQxMy0yLjA5MSA1LjYxOS00LjU5MiAxMS40MDQtNy42NDYgMTcuNjg2LTEuODExIDMuNzI1LS4yNTkgOC4yMTMgMy40NjYgMTAuMDI0IDEuMDU3LjUxNCAyLjE3NC43NTYgMy4yNzMuNzU2IDIuNzgxIDAgNS40NTQtMS41NTMgNi43NTEtNC4yMjMgMy4yNjYtNi43MTggNS45NTItMTIuOTM3IDguMjE0LTE5LjAxMSAxLjQ0NS0zLjg4Mi0uNTMtOC4yLTQuNDEyLTkuNjQ1eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzM1LjkyIDMzNy4yNzVjLTMuNTg1LTIuMDc1LTguMTczLS44NTItMTAuMjQ5IDIuNzMzLTMuMTA5IDUuMzcyLTYuNjM0IDExLjQ2LTkuOTc1IDE3LjUxNy0yIDMuNjI3LS42ODIgOC4xODkgMi45NDUgMTAuMTkgMS4xNDguNjMzIDIuMzkxLjkzNCAzLjYxNS45MzQgMi42NDQgMCA1LjIwNy0xLjQwMSA2LjU3NC0zLjg3OSAzLjI2Ni01LjkyIDYuNzQ5LTExLjkzOCA5LjgyMi0xNy4yNDcgMi4wNzctMy41ODUuODUyLTguMTcyLTIuNzMyLTEwLjI0OHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTMwOC4wMDEgMTUxLjQwMmMtMy4yMTgtMS44MzgtNi40NzQtMy43NjMtOS42MjEtNS42MjQtMi41MzEtMS40OTYtNS4wNTktMi45OS03LjYtNC40NjEtMy41ODYtMi4wNzUtOC4xNzQtLjg1Mi0xMC4yNDggMi43MzMtMi4wNzYgMy41ODQtLjg1MyA4LjE3MyAyLjczMiAxMC4yNDkgMi41MDEgMS40NDggNC45OSAyLjkxOSA3LjQ4MiA0LjM5MyAzLjE5NCAxLjg4OCA2LjQ5OCAzLjg0MSA5LjgxMyA1LjczNSAxLjE3NC42NyAyLjQ1Mi45ODkgMy43MTQuOTg5IDIuNjA0IDAgNS4xMzUtMS4zNTggNi41MTktMy43ODEgMi4wNTYtMy41OTcuODA2LTguMTc4LTIuNzkxLTEwLjIzM3oiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",zNe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxyZWN0IHg9IjE4OC42MzIiIHk9IjI1NiIgd2lkdGg9IjM1LjkzIiBoZWlnaHQ9IjE3Ljk2NSIvPg0KICAgICAgICA8cGF0aCBkPSJNNDQxLjkxNyw0NzEuNTc5bDE2LjAzOS04OC4yMTljMC40ODItMi42MjMtMC4yMjgtNS4zMTYtMS45MzktNy4zNmMtMS43MDItMi4wNDQtNC4yMjgtMy4yMjgtNi44OTUtMy4yMjhoLTg5LjgyNQ0KCQkJYy0yLjY2NywwLTUuMTkzLDEuMTg0LTYuODk1LDMuMjI4Yy0xLjcxMSwyLjA0NC0yLjQyMSw0LjczNy0xLjkzOSw3LjM2bDE2LjAzOSw4OC4yMTlIMjYwLjQ5MVYzMS40MzkNCgkJCWMwLTQuOTY1LTQuMDE4LTguOTgyLTguOTgyLTguOTgySDUzLjg5NWMtNC45NjUsMC04Ljk4Miw0LjAxOC04Ljk4Miw4Ljk4MnY0NDAuMTRIMHYxNy45NjVoNTMuODk1aDE5Ny42MTRoMTI1Ljc1NGg1My44OTVINTEyDQoJCQl2LTE3Ljk2NUg0NDEuOTE3eiBNMjQyLjUyNiw0NzEuNTc5SDYyLjg3N1Y0MC40MjFoMTc5LjY0OVY0NzEuNTc5eiBNNDIzLjY1OCw0NzEuNTc5aC0zOC44OTVsLTE0LjcwMi04MC44NDJoNjguMjk4DQoJCQlMNDIzLjY1OCw0NzEuNTc5eiIvPg0KICAgICAgICA8cGF0aCBkPSJNNDU4LjEwNSw3Ni4zNTFjLTI3LjQ1NiwwLTQ0LjQ4OSwxMi40OTYtNTMuODk1LDI1LjE5NWMtOS40MDgtMTIuNjk5LTI2LjQzOS0yNS4xOTUtNTMuODk1LTI1LjE5NQ0KCQkJYy00Ljk2NSwwLTguOTgyLDQuMDE4LTguOTgyLDguOTgyYzAsNC45NjUsNC4wMTgsOC45ODIsOC45ODIsOC45ODJjMzMuNzU0LDAsNDMuMjcyLDIzLjMwNyw0NC45MTIsMjguMjQ2djIzMi4yNDYNCgkJCWMwLDQuOTY1LDQuMDE4LDguOTgyLDguOTgyLDguOTgyczguOTgyLTQuMDE4LDguOTgyLTguOTgyVjEyMi41NzJjMS41NDQtNC42OCwxMC45ODctMjguMjU3LDQ0LjkxMi0yOC4yNTcNCgkJCWM0Ljk2NSwwLDguOTgyLTQuMDE4LDguOTgyLTguOTgyQzQ2Ny4wODgsODAuMzY4LDQ2My4wNyw3Ni4zNTEsNDU4LjEwNSw3Ni4zNTF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0zNjUuODMzLDExOS4yNjNjLTE1LjU1My0xNS41NTMtMzYuODQyLTIyLjM3Ny01NS42NjctMTcuNzk4Yy0zLjI1NCwwLjc5OC01Ljc5OCwzLjM0Mi02LjU5Niw2LjU5Ng0KCQkJYy00LjU3OSwxOC43NzIsMi4yMzcsNDAuMDk3LDE3Ljc5OCw1NS42NjdjMTIuMzYsMTIuMzYsMjguMzYsMTkuMjAyLDQzLjgxNiwxOS4yMDJjNC4wMDksMCw3Ljk4Mi0wLjQ2NSwxMS44NTEtMS40MDQNCgkJCWMzLjI1NS0wLjc5OCw1Ljc5OC0zLjM0Miw2LjU5Ni02LjU5NkMzODguMjExLDE1Ni4xNTgsMzgxLjM5NSwxMzQuODMzLDM2NS44MzMsMTE5LjI2M3ogTTM2Ny4wMDksMTY0LjkwMw0KCQkJYy0xMS4xNTgsMC40MzktMjMuNTk2LTQuNTM1LTMyLjkzOS0xMy44NzdjLTkuMzQyLTkuMzUxLTE0LjQzOS0yMS43MzctMTMuODc3LTMyLjkzOWMxMS4xMjMtMC41NzksMjMuNTg4LDQuNTM1LDMyLjkzOSwxMy44NzcNCgkJCUMzNjIuNDc0LDE0MS4zMTYsMzY3LjU3LDE1My43MDIsMzY3LjAwOSwxNjQuOTAzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzY1LjgzMywyMDAuMTA1Yy0xNS41NTMtMTUuNTUzLTM2Ljg0Mi0yMi4zNjktNTUuNjY3LTE3Ljc5OGMtMy4yNTQsMC43OTgtNS43OTgsMy4zNDItNi41OTYsNi41OTYNCgkJCWMtNC41NzksMTguNzcyLDIuMjM3LDQwLjA5NywxNy43OTgsNTUuNjY3YzEyLjM2LDEyLjM2LDI4LjM2LDE5LjIwMiw0My44MTYsMTkuMjAyYzQuMDA5LDAsNy45ODItMC40NjUsMTEuODUxLTEuNDA0DQoJCQljMy4yNTUtMC43OTgsNS43OTgtMy4zNDIsNi41OTYtNi41OTZDMzg4LjIxMSwyMzcsMzgxLjM5NSwyMTUuNjc2LDM2NS44MzMsMjAwLjEwNXogTTM2Ny4wMDksMjQ1Ljc0Ng0KCQkJYy0xMS4xNTgsMC40OTEtMjMuNTk2LTQuNTQ0LTMyLjkzOS0xMy44NzdjLTkuMzQyLTkuMzUxLTE0LjQzOS0yMS43MzctMTMuODc3LTMyLjkzOWMxMS4xMjMtMC41MzUsMjMuNTg4LDQuNTM1LDMyLjkzOSwxMy44NzcNCgkJCUMzNjIuNDc0LDIyMi4xNTgsMzY3LjU3LDIzNC41NDQsMzY3LjAwOSwyNDUuNzQ2eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzY1LjgzMywyODAuOTQ3Yy0xNS41NTMtMTUuNTYxLTM2Ljg0Mi0yMi4zNjktNTUuNjY3LTE3Ljc5OGMtMy4yNTQsMC43OTgtNS43OTgsMy4zNDItNi41OTYsNi41OTYNCgkJCWMtNC41NzksMTguNzcyLDIuMjM3LDQwLjA5NywxNy43OTgsNTUuNjY3YzEyLjM2LDEyLjM2LDI4LjM2LDE5LjIwMiw0My44MTYsMTkuMjAyYzQuMDA5LDAsNy45ODItMC40NjUsMTEuODUxLTEuNDA0DQoJCQljMy4yNTUtMC43OTgsNS43OTgtMy4zNDIsNi41OTYtNi41OTZDMzg4LjIxMSwzMTcuODQyLDM4MS4zOTUsMjk2LjUxOCwzNjUuODMzLDI4MC45NDd6IE0zNjcuMDA5LDMyNi41ODgNCgkJCWMtMTEuMTU4LDAuNDQ3LTIzLjU5Ni00LjUzNS0zMi45MzktMTMuODc3Yy05LjM0Mi05LjM1MS0xNC40MzktMjEuNzM3LTEzLjg3Ny0zMi45MzljMTEuMTIzLTAuNTcsMjMuNTg4LDQuNTM1LDMyLjkzOSwxMy44NzcNCgkJCUMzNjIuNDc0LDMwMywzNjcuNTcsMzE1LjM4NiwzNjcuMDA5LDMyNi41ODh6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik01MDkuMzg2LDEwOC4wNjFjLTAuNzk4LTMuMjU0LTMuMzQyLTUuNzk4LTYuNTk2LTYuNTk2Yy0xOC43ODktNC41Ny00MC4xMDUsMi4yMzctNTUuNjY3LDE3Ljc5OA0KCQkJYy0xNS41NjEsMTUuNTctMjIuMzc3LDM2Ljg5NS0xNy43OTgsNTUuNjY3YzAuNzk4LDMuMjU1LDMuMzQyLDUuNzk4LDYuNTk2LDYuNTk2YzMuODY4LDAuOTM5LDcuODMzLDEuNDA0LDExLjg0MiwxLjQwNA0KCQkJYzE1LjQ2NSwwLDMxLjQ2NS02Ljg0Miw0My44MjUtMTkuMjAyQzUwNy4xNDksMTQ4LjE1OCw1MTMuOTY1LDEyNi44MzMsNTA5LjM4NiwxMDguMDYxeiBNNDc4Ljg4NiwxNTEuMDI2DQoJCQljLTkuMzUxLDkuMzQyLTIxLjg3NywxNC4zMjUtMzIuOTM5LDEzLjg3N2MtMC41NjEtMTEuMjAyLDQuNTM1LTIzLjU4OCwxMy44NzctMzIuOTM5YzkuMzUxLTkuMzQyLDIxLjc5OC0xNC40NDcsMzIuOTM5LTEzLjg3Nw0KCQkJQzQ5My4zMjUsMTI5LjI4OSw0ODguMjI4LDE0MS42NzUsNDc4Ljg4NiwxNTEuMDI2eiIvPg0KICAgICAgICA8cGF0aCBkPSJNNTA5LjM4NiwxODguOTAzYy0wLjc5OC0zLjI1NC0zLjM0Mi01Ljc5OC02LjU5Ni02LjU5NmMtMTguNzg5LTQuNTc5LTQwLjEwNSwyLjIzNy01NS42NjcsMTcuNzk4DQoJCQljLTE1LjU2MSwxNS41Ny0yMi4zNzcsMzYuODk1LTE3Ljc5OCw1NS42NjdjMC43OTgsMy4yNTUsMy4zNDIsNS43OTgsNi41OTYsNi41OTZjMy44NjksMC45MzksNy44MzMsMS40MDQsMTEuODQyLDEuNDA0DQoJCQljMTUuNDY1LDAsMzEuNDY1LTYuODQyLDQzLjgyNS0xOS4yMDJDNTA3LjE0OSwyMjksNTEzLjk2NSwyMDcuNjc2LDUwOS4zODYsMTg4LjkwM3ogTTQ3OC44ODYsMjMxLjg2OA0KCQkJYy05LjM1MSw5LjMzMy0yMS44NzcsMTQuMzY4LTMyLjkzOSwxMy44NzdjLTAuNTYxLTExLjIwMiw0LjUzNS0yMy41ODgsMTMuODc3LTMyLjkzOWM5LjM1MS05LjM0MiwyMS43OTgtMTQuNDAzLDMyLjkzOS0xMy44NzcNCgkJCUM0OTMuMzI1LDIxMC4xMzIsNDg4LjIyOCwyMjIuNTE3LDQ3OC44ODYsMjMxLjg2OHoiLz4NCiAgICAgICAgPHBhdGggZD0iTTUwOS4zODYsMjY5Ljc0NmMtMC43OTgtMy4yNTQtMy4zNDItNS43OTgtNi41OTYtNi41OTZjLTE4Ljc4OS00LjU3OS00MC4xMDUsMi4yMzctNTUuNjY3LDE3Ljc5OA0KCQkJYy0xNS41NjEsMTUuNTctMjIuMzc3LDM2Ljg5NS0xNy43OTgsNTUuNjY3YzAuNzk4LDMuMjU1LDMuMzQyLDUuNzk4LDYuNTk2LDYuNTk2YzMuODY5LDAuOTM5LDcuODMzLDEuNDA0LDExLjg0MiwxLjQwNA0KCQkJYzE1LjQ2NSwwLDMxLjQ2NS02Ljg0Miw0My44MjUtMTkuMjAyQzUwNy4xNDksMzA5Ljg0Miw1MTMuOTY1LDI4OC41MTgsNTA5LjM4NiwyNjkuNzQ2eiBNNDc4Ljg4NiwzMTIuNzENCgkJCWMtOS4zNTEsOS4zNDItMjEuODc3LDE0LjMzMy0zMi45MzksMTMuODc3Yy0wLjU2MS0xMS4yMDIsNC41MzUtMjMuNTg4LDEzLjg3Ny0zMi45MzljOS4zNTEtOS4zNDIsMjEuNzk4LTE0LjQ0NywzMi45MzktMTMuODc3DQoJCQlDNDkzLjMyNSwyOTAuOTc0LDQ4OC4yMjgsMzAzLjM2LDQ3OC44ODYsMzEyLjcxeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",INe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTEzOS45MzMgMjMwLjU2NmgyMzIuMTM1YzIyLjQwNSAwIDQwLjYzNC0xOC4yMjggNDAuNjM0LTQwLjYzM3YtMTQ5LjNjLS4wMDEtMjIuNDA1LTE4LjIyOS00MC42MzMtNDAuNjM1LTQwLjYzM2gtMjMyLjEzNGMtMjIuNDA1IDAtNDAuNjM0IDE4LjIyOC00MC42MzQgNDAuNjMzdjE0OS4yOTljMCAyMi40MDYgMTguMjI4IDQwLjYzNCA0MC42MzQgNDAuNjM0em0tMjUuNjM0LTE4OS45MzNjMC0xNC4xMzQgMTEuNDk5LTI1LjYzMyAyNS42MzQtMjUuNjMzaDIzMi4xMzVjMTQuMTM1IDAgMjUuNjM0IDExLjQ5OSAyNS42MzQgMjUuNjMzdjE0OS4yOTljMCAxNC4xMzQtMTEuNDk5IDI1LjYzMy0yNS42MzQgMjUuNjMzaC0yMzIuMTM1Yy0xNC4xMzUgMC0yNS42MzQtMTEuNDk5LTI1LjYzNC0yNS42MzN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xMzkuOTMzIDUwLjIwNGM0LjE0MyAwIDcuNS0zLjM1OCA3LjUtNy41di00LjE0MmMwLTQuMTQyLTMuMzU3LTcuNS03LjUtNy41cy03LjUgMy4zNTgtNy41IDcuNXY0LjE0MmMwIDQuMTQyIDMuMzU3IDcuNSA3LjUgNy41eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTQ1LjExIDE2NC44MTNjMTAuNDIzIDIuMDgxIDE4Ljg1IDEwLjE4IDIwLjk3IDIwLjE1NyAxLjUzNiA3LjIyMiA4LjAyMiAxMi40NjMgMTUuNDIyIDEyLjQ2M2gxNDguOTQ3YzcuNDggMCAxMy45OC01LjMxIDE1LjQ1NS0xMi42MjQgMi4xMTUtMTAuNDgyIDEwLjU3Ni0xOC45MzYgMjEuMDUyLTIxLjAzOCA3LjMwOC0xLjQ2NiAxMi42MTEtNy45NjUgMTIuNjExLTE1LjQ1NHYtNjYuMDY3YzAtNy40ODQtNS4zMTEtMTMuOTg1LTEyLjYyNy0xNS40NTctMTAuNDcyLTIuMTA3LTE4LjkyNS0xMC41NjMtMjEuMDM2LTIxLjA0MS0xLjQ3NS03LjMxMi03Ljk2Ny0xMi42MTgtMTUuNDM5LTEyLjYxOGgtMTQ4Ljk3MWMtNy4zOTUgMC0xMy44NzggNS4yNDItMTUuNDE0IDEyLjQ2NS0yLjExOCA5Ljk2OS0xMC41NCAxOC4wNjctMjAuOTU1IDIwLjE1My03LjM1NSAxLjQ3Mi0xMi42OTIgNy45NzktMTIuNjkyIDE1LjQ3djY4LjEyNWMwIDcuNDk0IDUuMzMxIDEzLjk5OSAxMi42NzcgMTUuNDY2em0yLjMyMy04My41OTJjMC0uMzc0LjI2Mi0uNjg3LjYzOC0uNzYyIDE2LjIwMy0zLjI0NCAyOS4zMzctMTYgMzIuNjgyLTMxLjc0MS4wNzMtLjM0NC4zNzgtLjU4NS43NDItLjU4NWgxNDguOTcyYy4zNTcgMCAuNjY2LjI0NS43MzMuNTgzIDMuMjkgMTYuMzI1IDE2LjQ2NCAyOS40OTkgMzIuNzgyIDMyLjc4Mi4zNC4wNjguNTg2LjM4NS41ODYuNzUydjY2LjA2N2MwIC4zNjEtLjI0MS42ODMtLjU2MS43NDctMTYuMzI2IDMuMjc0LTI5LjUxIDE2LjQ0Ny0zMi44MDYgMzIuNzc4LS4wNjkuMzQyLS4zODYuNTkxLS43NTIuNTkxaC0xNDguOTQ3Yy0uMzYyIDAtLjY3OC0uMjQ2LS43NS0uNTgyLTMuMzQ3LTE1Ljc1Mi0xNi40OS0yOC41MTEtMzIuNzA1LTMxLjc0OC0uMzU3LS4wNzEtLjYxNC0uMzg5LS42MTQtLjc1N3oiLz4NCiAgICAgICAgPHBhdGggZD0ibTM3Mi4wNjcgNTAuMjA0YzQuMTQzIDAgNy41LTMuMzU4IDcuNS03LjV2LTQuMTQyYzAtNC4xNDItMy4zNTctNy41LTcuNS03LjVzLTcuNSAzLjM1OC03LjUgNy41djQuMTQyYzAgNC4xNDIgMy4zNTggNy41IDcuNSA3LjV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xMzkuOTMzIDE5OS41MDNjNC4xNDMgMCA3LjUtMy4zNTggNy41LTcuNXYtNC4xNDJjMC00LjE0Mi0zLjM1Ny03LjUtNy41LTcuNXMtNy41IDMuMzU4LTcuNSA3LjV2NC4xNDJjMCA0LjE0MyAzLjM1NyA3LjUgNy41IDcuNXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM3Mi4wNjcgMTgwLjM2MmMtNC4xNDMgMC03LjUgMy4zNTgtNy41IDcuNXY0LjE0MmMwIDQuMTQyIDMuMzU3IDcuNSA3LjUgNy41czcuNS0zLjM1OCA3LjUtNy41di00LjE0MmMwLTQuMTQyLTMuMzU3LTcuNS03LjUtNy41eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTg5LjczMyAxNjQuMWg0OS43YzQuMTQzIDAgNy41LTMuMzU4IDcuNS03LjV2LTI1LjYzM2gxNy4zNWMyLjYgMCA1LjAxNC0xLjM0NiA2LjM4LTMuNTU3czEuNDkxLTQuOTcyLjMyOC03LjI5N2wtMjQuODUtNDkuN2MtMS4yNzEtMi41NDEtMy44NjctNC4xNDYtNi43MDgtNC4xNDZzLTUuNDM4IDEuNjA1LTYuNzA4IDQuMTQ2bC0xNC40OTMgMjguOTg3aC0yOC40OThjLTQuMTQzIDAtNy41IDMuMzU4LTcuNSA3LjV2NDkuN2MtLjAwMSA0LjE0MiAzLjM1NyA3LjUgNy40OTkgNy41em00OS43MDEtNzMuNTYzIDEyLjcxNSAyNS40M2gtMjUuNDN6bS00Mi4yMDEgMjMuODYzaDEzLjQ5OGwtMi44NTYgNS43MTNjLTEuMTYzIDIuMzI1LTEuMDM4IDUuMDg2LjMyOCA3LjI5N3MzLjc4IDMuNTU3IDYuMzggMy41NTdoMTcuMzUxdjE4LjEzM2gtMzQuN3YtMzQuN3oiLz4NCiAgICAgICAgPHBhdGggZD0ibTMxMy45ODMgMTQ3LjUzM2MxNy44MzggMCAzMi4zNS0xNC41MTIgMzIuMzUtMzIuMzUgMC0xNy44MzctMTQuNTEyLTMyLjM1LTMyLjM1LTMyLjM1cy0zMi4zNTEgMTQuNTEyLTMyLjM1MSAzMi4zNWMuMDAxIDE3LjgzOCAxNC41MTQgMzIuMzUgMzIuMzUxIDMyLjM1em0wLTQ5LjY5OWM5LjU2NiAwIDE3LjM1IDcuNzgzIDE3LjM1IDE3LjM1cy03Ljc4MyAxNy4zNS0xNy4zNSAxNy4zNS0xNy4zNTEtNy43ODMtMTcuMzUxLTE3LjM1Yy4wMDEtOS41NjcgNy43ODQtMTcuMzUgMTcuMzUxLTE3LjM1eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjMwLjg2NyAyNDguNWMtOC41NDcgMC0xNS41IDYuOTUzLTE1LjUgMTUuNXYxNy4xMzNjMCA4LjU0NyA2Ljk1MyAxNS41IDE1LjUgMTUuNWg1MC4yNjZjOC41NDcgMCAxNS41LTYuOTUzIDE1LjUtMTUuNXYtMTcuMTMzYzAtOC41NDctNi45NTMtMTUuNS0xNS41LTE1LjV6bTUwLjc2NiAxNS41djE3LjEzM2MwIC4yNzYtLjIyNS41LS41LjVoLTUwLjI2NmMtLjI3NSAwLS41LS4yMjQtLjUtLjV2LTE3LjEzM2MwLS4yNzYuMjI1LS41LjUtLjVoNTAuMjY2Yy4yNzUgMCAuNS4yMjQuNS41eiIvPg0KICAgICAgICA8cGF0aCBkPSJtNDk2LjUgNDYzLjg2N2gtMTcuNjcyYy4wMTMtLjI2MS4wNC0uNTE5LjA0LS43ODN2LTguMjg0YzAtMTAuNjUyLTYuOTU5LTE5LjcwNC0xNi41NjctMjIuODY0di0xMzYuNTA1YzkuNjA4LTMuMTYgMTYuNTY3LTEyLjIxMiAxNi41NjctMjIuODY0di04LjI4NGMwLTguNzAzLTcuMDgxLTE1Ljc4My0xNS43ODQtMTUuNzgzaC0yLjU2MmMxLjE0My0yLjggMS43NzktNS44NiAxLjc3OS05LjA2NyAwLTEzLjI3LTEwLjc5Ni0yNC4wNjYtMjQuMDY2LTI0LjA2NnMtMjQuMDY2IDEwLjc5Ni0yNC4wNjYgMjQuMDY2YzAgMy4yMDcuNjM1IDYuMjY2IDEuNzc5IDkuMDY3aC0yLjU2M2MtOC43MDMgMC0xNS43ODMgNy4wODEtMTUuNzgzIDE1Ljc4M3Y4LjI4NGMwIDEwLjUxOCA2Ljc4NiAxOS40NzYgMTYuMjA3IDIyLjc0MS0xOC42MTYgMTguNDM4LTQwLjAzNyAzMy4zNTEtNjMuNzM0IDQ0LjMzNy0zLjc1OCAxLjc0Mi01LjM5MyA2LjIwMS0zLjY1IDkuOTU4IDEuMjcgMi43MzcgMy45NzggNC4zNDggNi44MSA0LjM0OCAxLjA1NiAwIDIuMTI5LS4yMjQgMy4xNDktLjY5OCAyMS4wNTgtOS43NjIgNDAuNDI3LTIyLjQzMiA1Ny43ODYtMzcuNzU0djIzLjcxMmMtNDUuNDEgMzUuNDk1LTEwMC4wMTQgNTQuMjQ3LTE1OC4xNjcgNTQuMjQ3LTU4LjE0OCAwLTExMi43NTYtMTguNzUzLTE1OC4xNjctNTQuMjQ5di0yMy42OWM0My43NjQgMzguNjkgOTkuMjggNTkuODA1IDE1OC4xNjcgNTkuODA1IDIzLjU5MiAwIDQ2LjkxMy0zLjQ0MSA2OS4zMTQtMTAuMjI4IDMuOTY0LTEuMjAxIDYuMjA0LTUuMzg4IDUuMDAzLTkuMzUzLTEuMjAxLTMuOTY0LTUuMzg5LTYuMjA3LTkuMzUzLTUuMDAzLTIwLjk4OSA2LjM1OS00Mi44NDcgOS41ODMtNjQuOTY0IDkuNTgzLTU5LjU3MiAwLTExNS40NjItMjMuMDctMTU3LjgwMi02NS4wMTggOS40MTktMy4yNjcgMTYuMjAyLTEyLjIyNCAxNi4yMDItMjIuNzR2LTguMjg0YzAtOC43MDMtNy4wOC0xNS43ODMtMTUuNzgzLTE1Ljc4M2gtMi41NjNjMS4xNDMtMi44IDEuNzc5LTUuODYgMS43NzktOS4wNjcgMC0xMy4yNy0xMC43OTYtMjQuMDY2LTI0LjA2Ni0yNC4wNjZzLTI0LjA3IDEwLjc5OC0yNC4wNyAyNC4wNjhjMCAzLjIwNy42MzYgNi4yNjYgMS43NzkgOS4wNjdoLTIuNTYyYy04LjcwMyAwLTE1Ljc4NCA3LjA4MS0xNS43ODQgMTUuNzgzdjguMjg0YzAgMTAuNjUyIDYuOTU5IDE5LjcwNCAxNi41NjcgMjIuODY0djEzNi41MDZjLTkuNjA4IDMuMTYtMTYuNTY3IDEyLjIxMi0xNi41NjcgMjIuODY0djguMjg0YzAgLjI2NC4wMjcuNTIyLjA0Ljc4M2gtMTcuNjczYy04LjU0NyAwLTE1LjUgNi45NTMtMTUuNSAxNS41djE3LjEzMmMwIDguNTQ3IDYuOTUzIDE1LjUgMTUuNSAxNS41aDU5LjgzM2M0LjE0MyAwIDcuNS0zLjM1OCA3LjUtNy41cy0zLjM1Ny03LjUtNy41LTcuNWgtNTkuODMzYy0uMjc1IDAtLjUtLjIyNC0uNS0uNXYtMTcuMTMzYzAtLjI3Ni4yMjUtLjUuNS0uNWg0ODFjLjI3NSAwIC41LjIyNC41LjV2MTcuMTMzYzAgLjI3Ni0uMjI1LjUtLjUuNWgtMzkxLjE2N2MtNC4xNDMgMC03LjUgMy4zNTgtNy41IDcuNXMzLjM1NyA3LjUgNy41IDcuNWgzOTEuMTY3YzguNTQ3IDAgMTUuNS02Ljk1MyAxNS41LTE1LjV2LTE3LjEzM2MwLTguNTQ3LTYuOTUzLTE1LjUtMTUuNS0xNS41em0tNjcuMzMzLTE2NC41NzdjLjE2MS0uODc4LjE1OC0xLjc3OC4wMDUtMi42NTZoMTguMTI4djE4LjEzM2gtMTguMTMzem0wIDQzLjkwNGMuMDEyLS4yMzkuMDEyLS40NzkgMC0uNzE5di0xMi43MDloMTguMTMzdjEwMC45NjdoLTE4LjEzM3ptMC0xMDMuNzYxYzAtNC45OTkgNC4wNjctOS4wNjYgOS4wNjYtOS4wNjZzOS4wNjYgNC4wNjcgOS4wNjYgOS4wNjYtNC4wNjcgOS4wNjctOS4wNjYgOS4wNjctOS4wNjYtNC4wNjctOS4wNjYtOS4wNjd6bS0xNi41NjcgMjQuODVjMC0uNDMyLjM1Mi0uNzgzLjc4My0uNzgzaDQ5LjdjLjQzMyAwIC43ODQuMzUyLjc4NC43ODN2OC4yODRjMCA0Ljk5OS00LjA2NyA5LjA2Ni05LjA2NyA5LjA2NmgtMzMuMTMzYy01IDAtOS4wNjctNC4wNjctOS4wNjctOS4wNjZ6bS0xNTYuNiAxNDQuMTc2YzU3LjY0OCAwIDExMi4wMDctMTcuNDIyIDE1OC4xNjctNTAuNTE0djczLjk5MWMtOS42MDggMy4xNi0xNi41NjcgMTIuMjEyLTE2LjU2NyAyMi44NjR2OC4yODRjMCAuMjY0LjAyNy41MjIuMDQuNzgzaC0yODMuMjc5Yy4wMTMtLjI2MS4wNC0uNTE5LjA0LS43ODN2LTguMjg0YzAtMTAuNjUyLTYuOTU5LTE5LjcwNC0xNi41NjctMjIuODY0di03My45OTJjNDYuMTYxIDMzLjA5MiAxMDAuNTIzIDUwLjUxNSAxNTguMTY2IDUwLjUxNXptLTE3My4xNjctMTEwLjc4OWMtLjAxMi4yNDctLjAxMi40OTUgMCAuNzQydjE2LjM1NWgtMTguMTMzdi0xOC4xMzNoMTguMTMzem0tMTguMTMzIDMyLjA5N2gxOC4xMzN2MTAwLjk2N2gtMTguMTMzem0wLTkwLjMzNGMwLTQuOTk5IDQuMDY3LTkuMDY2IDkuMDY2LTkuMDY2czkuMDY2IDQuMDY3IDkuMDY2IDkuMDY2LTQuMDY3IDkuMDY3LTkuMDY2IDkuMDY3LTkuMDY2LTQuMDY3LTkuMDY2LTkuMDY3em0tMTYuNTY3IDI0Ljg1YzAtLjQzMi4zNTItLjc4My43ODQtLjc4M2g0OS43Yy40MzIgMCAuNzgzLjM1Mi43ODMuNzgzdjguMjg0YzAgNC45OTktNC4wNjcgOS4wNjYtOS4wNjcgOS4wNjZoLTMzLjEzM2MtNSAwLTkuMDY3LTQuMDY3LTkuMDY3LTkuMDY2em0uNzg0IDE5OS41ODRjLS40MzMgMC0uNzg0LS4zNTItLjc4NC0uNzgzdi04LjI4NGMwLTQuOTk5IDQuMDY3LTkuMDY2IDkuMDY3LTkuMDY2aDMzLjEzM2M1IDAgOS4wNjcgNC4wNjcgOS4wNjcgOS4wNjZ2OC4yODRjMCAuNDMyLS4zNTIuNzgzLS43ODMuNzgzem0zNjQuNDY2IDBjLS40MzIgMC0uNzgzLS4zNTItLjc4My0uNzgzdi04LjI4NGMwLTQuOTk5IDQuMDY3LTkuMDY2IDkuMDY3LTkuMDY2aDMzLjEzM2M1IDAgOS4wNjcgNC4wNjcgOS4wNjcgOS4wNjZ2OC4yODRjMCAuNDMyLS4zNTIuNzgzLS43ODQuNzgzeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",hNe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ4MCA0ODAiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik00NzQuNjA4LDgwLjQzOWwtMjMyLTgwYy0xLjY5LTAuNTgzLTMuNTI2LTAuNTgzLTUuMjE2LDBsLTIzMiw4MEMyLjE2Niw4MS41NTEsMC4wMDEsODQuNTg3LDAsODcuOTk5djM4NA0KCQkJYzAsNC40MTgsMy41ODIsOCw4LDhoNDBjNC40MTgsMCw4LTMuNTgyLDgtOHYtMjQ4aDM2OHYyNDhjMCw0LjQxOCwzLjU4Miw4LDgsOGg0MGM0LjQxOCwwLDgtMy41ODIsOC04di0zODQNCgkJCUM0NzkuOTk5LDg0LjU4Nyw0NzcuODM0LDgxLjU1MSw0NzQuNjA4LDgwLjQzOXogTTQwLDIxNS45OTl2MjQ4SDE2di0zMDRoMjRWMjE1Ljk5OXogTTQyNCwyMDcuOTk5SDU2di0xNmgzNjhWMjA3Ljk5OXoNCgkJCSBNNDI0LDE3NS45OTlINTZ2LTE2aDM2OFYxNzUuOTk5eiBNNDY0LDQ2My45OTloLTI0di0zMDRoMjRWNDYzLjk5OXogTTQ2NCwxNDMuOTk5SDE2VjkzLjcwM2wyMjQtNzcuMjRsMjI0LDc3LjI0VjE0My45OTl6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0zOTUuNTc2LDM0NC43OTlsLTI5LjYtMTQuOGwtMjYuNC01Mi44Yy00LjA2MS04LjEyNS0xMi4zODEtMTMuMjQyLTIxLjQ2NC0xMy4ySDE2MS44ODgNCgkJCWMtOS4wOTgtMC4wMy0xNy40MjEsNS4xMTQtMjEuNDY0LDEzLjI2NGwtMjYuNCw1Mi44bC0yOS42LDE0LjhjLTIuNzA1LDEuMzUyLTQuNDE2LDQuMTEyLTQuNDI0LDcuMTM2djExMmMwLDguODM3LDcuMTYzLDE2LDE2LDE2DQoJCQloMzJjOC44MzcsMCwxNi03LjE2MywxNi0xNnYtMjRoMTkydjI0YzAsOC44MzcsNy4xNjMsMTYsMTYsMTZoMzJjOC44MzcsMCwxNi03LjE2MywxNi0xNnYtMTEyDQoJCQlDNDAwLjAxNywzNDguOTUyLDM5OC4zMDEsMzQ2LjE2LDM5NS41NzYsMzQ0Ljc5OXogTTE1NC43MzYsMjg0LjQyM2MxLjM0NS0yLjcxOCw0LjExOS00LjQzNCw3LjE1Mi00LjQyNGgxNTYuMjI0DQoJCQljMy4wMzMtMC4wMSw1LjgwNywxLjcwNiw3LjE1Miw0LjQyNGwyMS43OTIsNDMuNTc2SDEzMi45NDRMMTU0LjczNiwyODQuNDIzeiBNMTI4LDQ2My45OTlIOTZ2LTI0aDMyVjQ2My45OTl6IE0zODQsNDYzLjk5OWgtMzINCgkJCXYtMjRoMzJWNDYzLjk5OXogTTM4NCw0MjMuOTk5SDEzNkg5NnYtNjcuMDU2bDI1Ljg4OC0xMi45NDRoMjM2LjIyNEwzODQsMzU2Ljk0M1Y0MjMuOTk5eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTUyLDM1OS45OTloLTI0Yy04LjgzNywwLTE2LDcuMTYzLTE2LDE2djE2YzAsOC44MzcsNy4xNjMsMTYsMTYsMTZoMjRjOC44MzcsMCwxNi03LjE2MywxNi0xNnYtMTYNCgkJCUMxNjgsMzY3LjE2MiwxNjAuODM3LDM1OS45OTksMTUyLDM1OS45OTl6IE0xNTIsMzkxLjk5OWgtMjR2LTE2aDI0VjM5MS45OTl6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0zNTIsMzU5Ljk5OWgtMjRjLTguODM3LDAtMTYsNy4xNjMtMTYsMTZ2MTZjMCw4LjgzNyw3LjE2MywxNiwxNiwxNmgyNGM4LjgzNywwLDE2LTcuMTYzLDE2LTE2di0xNg0KCQkJQzM2OCwzNjcuMTYyLDM2MC44MzcsMzU5Ljk5OSwzNTIsMzU5Ljk5OXogTTM1MiwzOTEuOTk5aC0yNHYtMTZoMjRWMzkxLjk5OXoiLz4NCiAgICAgICAgPHBhdGggZD0iTTI4MCwzNTkuOTk5aC04MGMtOC44MzcsMC0xNiw3LjE2My0xNiwxNnYxNmMwLDguODM3LDcuMTYzLDE2LDE2LDE2aDgwYzguODM3LDAsMTYtNy4xNjMsMTYtMTZ2LTE2DQoJCQlDMjk2LDM2Ny4xNjIsMjg4LjgzNywzNTkuOTk5LDI4MCwzNTkuOTk5eiBNMjgwLDM5MS45OTloLTgwdi0xNmg4MFYzOTEuOTk5eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",wNe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMS45NzggNTExLjk3OCIgd2lkdGg9IjUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtMTMwLjAwOSAyMjMuMjQ4YzQuMTQzIDAgNy41LTMuMzU4IDcuNS03LjV2LTE2LjY5NmMwLTEyLjU1NyAxMC4yMTYtMjIuNzczIDIyLjc3Mi0yMi43NzNoMTUuMzkyYzQuMTQzIDAgNy41LTMuMzU4IDcuNS03LjVzLTMuMzU3LTcuNS03LjUtNy41aC0xNS4zOTJjLTIwLjgyOCAwLTM3Ljc3MiAxNi45NDUtMzcuNzcyIDM3Ljc3M3YxNi42OTZjMCA0LjE0MiAzLjM1OCA3LjUgNy41IDcuNXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTEzMC4wMDkgMjgxLjE4N2M0LjE0MyAwIDcuNS0zLjM1OCA3LjUtNy41di0yNC43NDZjMC00LjE0Mi0zLjM1Ny03LjUtNy41LTcuNXMtNy41IDMuMzU4LTcuNSA3LjV2MjQuNzQ2YzAgNC4xNDIgMy4zNTggNy41IDcuNSA3LjV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xNTcuODU2IDIwOC44NnYzNi4zMzljMCA0LjE0MiAzLjM1NyA3LjUgNy41IDcuNXM3LjUtMy4zNTggNy41LTcuNXYtMzYuMzM5YzAtMy4yOTQgMi43OTYtNi4wNzggNi4xMDUtNi4wNzhoMTMuMjM3YzQuMTQzIDAgNy41LTMuMzU4IDcuNS03LjVzLTMuMzU3LTcuNS03LjUtNy41aC0xMy4yMzdjLTExLjYzNyAwLTIxLjEwNSA5LjQ1NS0yMS4xMDUgMjEuMDc4eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjI4LjE4MSAyMTEuNDNjMi45NDIgMS45NjQgNi4zODIgMi45NjMgOS44ODkgMi45NjMgMi40NDIgMCA0LjkxOS0uNDg1IDcuMjgyLTEuNDY3bDI0Ljc2LTEwLjI1NSA2My41OTUgNC45MDYgNC42NjEgMTYuMTIxYzEuNjE5IDUuNjAxIDUuNTk2IDEwLjA3NCAxMS4xOTcgMTIuNTk1IDMuMTQ4IDEuNDE3IDYuNTkxIDIuMTI0IDEwLjA0MSAyLjEyNCAzLjY1MyAwIDcuMzE2LS43OTMgMTAuNjQ0LTIuMzc0bDExNy4yOTEtNTUuNzI5YzYuNDY5LTMuMDc0IDExLjQyNS05LjAxIDEzLjI1OC0xNS44OCAxLjU4Mi01LjkzMi42MjktMTEuODM1LTIuNjg0LTE2LjYxOWwtMjMuNjM5LTM0LjE2NGMxNy43NjMtMjAuNDYyIDIxLjk0MS00OS41OTUgMTAuMTI3LTc0LjQ2MS0xNi4yNzItMzQuMjAxLTU3LjMzMi00OC43OTctOTEuNTEtMzIuNTUtMjYuMTgxIDEyLjQzNS00MS41OTIgNDAuMDA4LTM4LjkxIDY4LjQ1OGwtMzMuNzY2IDE2LjA0MmMtLjAwMSAwLS4wMDEgMC0uMDAxIDAtMTAuNzI1IDUuMDk2LTE1LjM5MSAxNy4yODEtMTEuNjExIDMwLjMxNWw4Ljc0NSAzMC4yNDJoLTQ3LjE1N2wtMjUuMDU1LTEwLjM3N2MtNS43NjMtMi4zNzEtMTIuMTc5LTEuNzkzLTE3LjE2NyAxLjU0Ni00LjcxMyAzLjE1Ny03LjQxNiA4LjIyMS03LjQxNiAxMy44OTN2NDAuNzYxYy0uMDAyIDUuNjkxIDIuNzA2IDEwLjc2IDcuNDI2IDEzLjkxem0yNTcuNi01NS4wNzdjLjc5IDEuMTQuOTY2IDIuNTU4LjUyNCA0LjIxNC0uNjkyIDIuNTkzLTIuNzM0IDUuMDI2LTUuMjAyIDYuMTk5bC0xMTcuMjkxIDU1LjcyOGMtMi40NyAxLjE3My01LjY0NiAxLjIyMS04LjA5MS4xMi0xLjU2NS0uNzA0LTIuNTU2LTEuNzQxLTIuOTQzLTMuMDgzbC0yMi4zNzYtNzcuMzg1IDEwOS41NDItNTIuMDR6bS04Ni4yNTItMTM2LjE2MmMuMDAxIDAgLjAwMi0uMDAxLjAwMy0uMDAxIDI2LjcxNi0xMi43MDMgNTguODA2LTEuMjg4IDcxLjUyNCAyNS40NDIgOC42NjQgMTguMjM3IDYuMzMgMzkuNDE3LTUuNDYzIDU1LjE3M2wtLjAyNC0uMDI2LTI4LjAwMi00MC40N2MtNy43MjktMTEuMTYtMjAuMTM1LTE1LjI0MS0zMC44NjgtMTAuMTU3bC0zNy44MDMgMTcuOTU4LS4wMTIuMDAzYy4yMTctMjAuMTkgMTEuODk5LTM5LjAxOSAzMC42NDUtNDcuOTIyem0tNzIuNjc2IDg0LjQ5OCA4Ni4yNzMtNDAuOTg0YzQuNzUtMi4yNTEgOS40OTIgMS4zNjYgMTIuMTA3IDUuMTQzbDYuMDYyIDguNzYtMTA1LjExNSA0OS45MzctMi45NjctMTAuMjYyYy0xLjI3OC00LjQwNC0xLjA5LTEwLjM0NiAzLjY0LTEyLjU5NHptLTUwLjQ1MyA2Mi4wMDloNDUuNDc4bDcuMzY1IDI1LjQ5LTUyLjg0My00LjA3N3ptLTQwLjY0Ny05LjkzOGMwLS4zOTUuMDc5LS45NzIuNzY1LTEuNDMxLjIwNC0uMTM3Ljc3MS0uNDU1IDEuNjEzLS40NTUuNDI3IDAgLjkyNC4wODIgMS40OC4zMTFsMjEuNzg4IDkuMDI0djI1LjgzNGwtMjEuNzk3IDkuMDI3Yy0xLjY2NS42OTQtMi43OTIuMDg1LTMuMDk2LS4xMTgtLjY2OC0uNDQ2LS43NTQtLjk5OS0uNzU0LTEuNDMxdi00MC43NjF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xMTcuOTYgNDY0LjQ3OWMtMi45MjkgMi45MjktMi45MjkgNy42NzggMCAxMC42MDZsLjAyOC4wMjhjMS40NjIgMS40NjEgMy4zNzEgMi4xOSA1LjI4MyAyLjE5IDEuOTIgMCAzLjg0Mi0uNzM2IDUuMzEtMi4yMDQgMi45MjktMi45MjkgMi45MTUtNy42OTItLjAxNC0xMC42MjEtMi45My0yLjkyOC03LjY3OC0yLjkyOC0xMC42MDcuMDAxeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTkwLjkyIDQ2OC4yNzdjLTIuOTI5IDIuOTI5LTIuOTI5IDcuNjc4IDAgMTAuNjA2bC4wMjguMDI4YzEuNDYyIDEuNDYxIDMuMzcxIDIuMTkgNS4yODMgMi4xOSAxLjkyIDAgMy44NDItLjczNiA1LjMxLTIuMjA0IDIuOTI5LTIuOTI5IDIuOTE1LTcuNjkyLS4wMTQtMTAuNjIxLTIuOTMtMi45MjctNy42NzgtMi45MjctMTAuNjA3LjAwMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTMwNy45NTcgNDY0LjQ3OWMtMi45MjkgMi45MjktMi45MjkgNy42NzggMCAxMC42MDZsLjAyOC4wMjhjMS40NjIgMS40NjEgMy4zNzEgMi4xOSA1LjI4MyAyLjE5IDEuOTIgMCAzLjg0Mi0uNzM2IDUuMzEtMi4yMDQgMi45MjktMi45MjkgMi45MTUtNy42OTItLjAxNC0xMC42MjEtMi45My0yLjkyOC03LjY3OC0yLjkyOC0xMC42MDcuMDAxeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzc2LjIyMiA0ODEuMTAyYzEuOTIgMCAzLjg0Mi0uNzM2IDUuMzEtMi4yMDQgMi45MjktMi45MjkgMi45MTUtNy42OTItLjAxNC0xMC42MjEtMi45My0yLjkyOS03LjY3OC0yLjkyOS0xMC42MDcgMHMtMi45MjkgNy42NzggMCAxMC42MDZsLjAyOC4wMjhjMS40NjIgMS40NjIgMy4zNzEgMi4xOTEgNS4yODMgMi4xOTF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00NzAuNzg0IDQwOS4zODVjMjIuNzEzLTIuMjc4IDQxLjE5MS0yMi43OTIgNDEuMTkxLTQ1LjcyOXYtMjguNzQzYzAtMy43MDktMS41NDktNy4yMzQtNC4yNDgtOS42NzEtMi42OTItMi40MzEtNi4zNTItMy42MDktMTAuMDEtMy4yMzNsLTI4LjgxIDIuODkyYy05LjkyMyAxLjAxLTE5LjAzNyA1LjUwMi0yNi4xNTEgMTIuMTUybC4wNjMtNS4xNTRjMC0yMi45MDMtMTguMzM3LTQzLjI2Ni00MS4wNTQtNDUuNTc4bC0yOC43ODMtMi44OWMtMy42ODctLjM3OS03LjMzNC44MDItMTAuMDI1IDMuMjMyLTIuNjk5IDIuNDM4LTQuMjQ4IDUuOTYyLTQuMjQ4IDkuNjcxdjI4Ljc0M2MwIDIyLjkwMyAxOC40NzMgNDMuNDE3IDQxLjE4NSA0NS43MjlsMjcuODYzIDIuODE0djUzLjk5NmgtNTQuNTE5Yy00LjE0MyAwLTcuNSAzLjM1OC03LjUgNy41czMuMzU3IDcuNSA3LjUgNy41aDExOS4zMDRjMi40NDQgMCA0LjQzNCAxLjk3NiA0LjQzNCA0LjQwNXY0NS41MjNjMCAyLjQwMy0yLjAzIDQuNDM0LTQuNDM0IDQuNDM0aC00NzMuMTM0Yy0yLjM4OCAwLTQuNDA1LTIuMDMtNC40MDUtNC40MzR2LTQ1LjUyM2MwLTIuMzg4IDIuMDE4LTQuNDA1IDQuNDA1LTQuNDA1aDMxOS4xOTJjNC4xNDMgMCA3LjUtMy4zNTggNy41LTcuNXMtMy4zNTctNy41LTcuNS03LjVoLTc1LjEyNnYtMTUuMzk3bDI4LjA1Ny0yLjgzM2MyMi43MTMtMi4yNzggNDEuMTktMjIuNzkyIDQxLjE5LTQ1LjcyOXYtMjguNzQzYzAtMy43MDUtMS41NTItNy4yMjktNC4yNTctOS42NjktMi43LTIuNDM1LTYuMzU5LTMuNjEyLTEwLjAwMS0zLjIzNWwtMjguODEgMi44OTJjLTkuOTM0IDEuMDExLTE5LjA1OCA1LjUwNy0yNi4xOCAxMi4xNjMgMCAwIC4xOTktNC40MjkuMTk5LTUuMDEzIDAtMjIuOTA3LTE4LjQ3NC00My40Mi00MS4xOS00NS43MjlsLTI4Ljc3Ni0yLjg5Yy0zLjY2Ni0uMzc1LTcuMzA4Ljc5Ni05Ljk5NyAzLjIyMi0yLjcwNCAyLjQzOS00LjI1NSA1Ljk2Ny00LjI1NSA5LjY4MXYyOC43NDNjMCAyMi45MDMgMTguNDc0IDQzLjQxNyA0MS4xODYgNDUuNzI5bDI3LjgzNCAyLjgxM3Y1My45OTZoLTE2NC4yNTN2LTE1LjM5OGwyOC4wMjYtMi44MzJjMjIuNzEzLTIuMjc0IDQxLjE5MS0yMi43ODkgNDEuMTkxLTQ1LjcyOXYtMjguNzQzYzAtMy43MTMtMS41NTEtNy4yNDItNC4yNTUtOS42ODEtMi42ODktMi40MjYtNi4zMzMtMy42MDQtOS45NzUtMy4yMjRsLTI4LjgxIDIuODkyYy05LjkzNCAxLjAxMS0xOS4wNTggNS41MDctMjYuMTc5IDEyLjE2MiAwIDAgLjE5OC00LjQzLjE5OC01LjAxMiAwLTIyLjkwMy0xOC40NzQtNDMuNDE3LTQxLjE5LTQ1LjcyOWwtMjguNzc2LTIuODljLTMuNjYtLjM3NC03LjMwNi43OTUtOS45OTcgMy4yMjItMi43MDQgMi40MzktNC4yNTUgNS45NjgtNC4yNTUgOS42ODF2MjguNzQzYzAgMjIuOTAzIDE4LjQ3NCA0My40MTcgNDEuMTg2IDQ1LjcyOWwyNy44MzUgMi44MTN2MzEuNzk1IDIyLjIwMWgtNDkuODEyYy0xMC43IDAtMTkuNDA1IDguNzA1LTE5LjQwNSAxOS40MDV2NDUuNTIzYzAgMTAuNzE2IDguNzA1IDE5LjQzNCAxOS40MDUgMTkuNDM0aDQ3My4xMzRjMTAuNzE2IDAgMTkuNDM0LTguNzE4IDE5LjQzNC0xOS40MzR2LTQ1LjUyM2MwLTEwLjctOC43MTgtMTkuNDA1LTE5LjQzNC0xOS40MDVoLTQ5Ljc4NXYtMTUuMzk4em0tMjguMDI4LTM4Ljc1NmMwLTE1LjE3MSAxMi42NzItMjkuMjc5IDI3LjY2LTMwLjgwNWwyNi41NTktMi42NjZ2MjYuNDk4YzAgMTUuMTkyLTEyLjY4IDI5LjI5OS0yNy42OTMgMzAuODA1bC0xNS40MTUgMS41NTggMTkuMDY5LTIxLjA5N2MyLjc3Ny0zLjA3MyAyLjUzNy03LjgxNi0uNTM1LTEwLjU5My0zLjA3Mi0yLjc3NS03LjgxNC0yLjUzOS0xMC41OTQuNTM1bC0xOS4wNTEgMjEuMDc3em0tMTUtMjMuNDU3LTE4Ljg4LTIwLjg4OGMtMi43NzktMy4wNzItNy41MjEtMy4zMTItMTAuNTk0LS41MzVzLTMuMzEzIDcuNTItLjUzNSAxMC41OTNsMTkuMDY3IDIxLjA5Ni0xNS40MDgtMS41NTZjLTE1LjAxNC0xLjUyOC0yNy42OTgtMTUuNjM1LTI3LjY5OC0zMC44MDV2LTI2LjQ5N2wyNi41NDggMi42NjZjMTUuMDE1IDEuNTI4IDI3LjUgMTUuNjM1IDI3LjUgMzAuODA1em0tMTY0LjI4MiAyMy40NTdjMC0xNS4xNyAxMi42ODUtMjkuMjc3IDI3LjY4OC0zMC44MDVsMjYuNTU5LTIuNjY2djI2LjQ5OGMwIDE1LjE5Mi0xMi42NzkgMjkuMjk5LTI3LjY5MiAzMC44MDVsLTE1LjQxNCAxLjU1NyAxOS4wNjgtMjEuMDk2YzIuNzc3LTMuMDczIDIuNTM3LTcuODE2LS41MzUtMTAuNTkzLTMuMDcyLTIuNzc1LTcuODE0LTIuNTM5LTEwLjU5NC41MzVsLTE5LjA3OSAyMS4xMDh2LTE1LjM0M3ptLTQ0Ljk4LTM0LjI4NiAxOS4wNjkgMjEuMDk3LTE1LjQwOS0xLjU1N2MtMTUuMDE1LTEuNTI4LTI3LjY5OS0xNS42MzUtMjcuNjk5LTMwLjgwNXYtMjYuNDk1bDI2LjUyMSAyLjY2M2MxNS4wMTUgMS41MjYgMjcuNDk5IDE1LjYzMyAyNy40OTkgMzAuODA1djE1LjA5MWwtMTguODUyLTIwLjg1N2MtMi43NzgtMy4wNzItNy41MjEtMy4zMTItMTAuNTk0LS41MzVzLTMuMzEzIDcuNTItLjUzNSAxMC41OTN6bS0xMzQuMjczIDM0LjI4NmMwLTE1LjE3IDEyLjY4NS0yOS4yNzcgMjcuNjg4LTMwLjgwNWwyNi41My0yLjY2M3YyNi40OTVjMCAxNS4xOTUtMTIuNjc5IDI5LjMwMS0yNy42OTIgMzAuODA1bC0xNS40MDUgMS41NTcgMTkuMDgzLTIxLjA5NGMyLjc3OS0zLjA3MiAyLjU0Mi03LjgxNC0uNTMtMTAuNTkzLTMuMDY4LTIuNzc4LTcuODEzLTIuNTQyLTEwLjU5My41M2wtMTkuMDgxIDIxLjA5MXptLTQ0Ljk4MS0zNC4yODYgMTkuMDY5IDIxLjA5Ny0xNS40MDktMS41NThjLTE1LjAxNS0xLjUyOC0yNy42OTktMTUuNjM1LTI3LjY5OS0zMC44MDV2LTI2LjQ5NWwyNi41MiAyLjY2M2MxNS4wMTUgMS41MjggMjcuNTAxIDE1LjYzNSAyNy41MDEgMzAuODA1djE1LjA5MmwtMTguODUzLTIwLjg1OGMtMi43NzktMy4wNzItNy41MjEtMy4zMTItMTAuNTk0LS41MzVzLTMuMzEzIDcuNTIxLS41MzUgMTAuNTk0eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",CNe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTI2LjYyMiAxNTEuNzQxaDEwLjh2MzUuNjgxYzAgMTEuMTI1IDkuMDUxIDIwLjE3NSAyMC4xNzUgMjAuMTc1aDE0LjgxNGM0Ljc5OSAwIDkuMjA4LTEuNjkxIDEyLjY3NS00LjUgMy40NjcgMi44MDkgNy44NzUgNC41IDEyLjY3NSA0LjVoMTQuODE0YzExLjEyNCAwIDIwLjE3NS05LjA1IDIwLjE3NS0yMC4xNzV2LTM5Ljk0aDIwLjEzOXYxODUuMTE1aC0yMy40NTdjLTEwLjkzOCAwLTE5LjgzNyA4Ljg5OC0xOS44MzcgMTkuODM2djM3LjMyNGMwIDkuOTY4IDcuMzk4IDE4LjIxOSAxNi45ODggMTkuNjA4djg3LjU3NmMwIDguMzA0IDYuNzU1IDE1LjA1OSAxNS4wNTkgMTUuMDU5aDMwLjMzNWM4LjMwNCAwIDE1LjA1OS02Ljc1NSAxNS4wNTktMTUuMDU5di01My44NDRoNTEuNDY0YzQuMTQzIDAgNy41LTMuMzU4IDcuNS03LjVzLTMuMzU3LTcuNS03LjUtNy41Yy05Ljc2NSAwLTg1Ljc4NSAwLTk2LjkxNyAwdi0xOC41MDNoMjI4LjgzNHYxOC41MDNjLTExLjEzNyAwLTg3LjIxNyAwLTk2LjkxNyAwLTQuMTQzIDAtNy41IDMuMzU4LTcuNSA3LjVzMy4zNTcgNy41IDcuNSA3LjVoNTEuNDY1djUzLjg0NGMwIDguMzA0IDYuNzU1IDE1LjA1OSAxNS4wNTkgMTUuMDU5aDMwLjMzNGM4LjMwNCAwIDE1LjA2LTYuNzU1IDE1LjA2LTE1LjA1OSAwLTEwLjE1NCAwLTc3LjAzNiAwLTg3LjU3NiA5LjU5LTEuMzg5IDE2Ljk4OC05LjY0IDE2Ljk4OC0xOS42MDh2LTM3LjMyNGMwLTEwLjkzOC04Ljg5OC0xOS44MzYtMTkuODM3LTE5LjgzNmgtMjMuNDU3di03NS4wNThjMC00LjE0Mi0zLjM1Ny03LjUtNy41LTcuNXMtNy41IDMuMzU4LTcuNSA3LjV2NzUuMDU4aC0yNS4xNjRjMC0yMS43MTMgMC0xNjIuOTEyIDAtMTg1LjExNWgyNS4xNjR2NzUuMDU4YzAgNC4xNDIgMy4zNTcgNy41IDcuNSA3LjVzNy41LTMuMzU4IDcuNS03LjV2LTc1LjA1OGgyMC4xMzl2MzkuOTRjMCAxMS4xMjUgOS4wNTEgMjAuMTc1IDIwLjE3NSAyMC4xNzVoMTQuODE0YzQuNzk5IDAgOS4yMDgtMS42OTEgMTIuNjc1LTQuNSAzLjQ2NyAyLjgwOSA3Ljg3NSA0LjUgMTIuNjc0IDQuNWgxNC44MTVjMTEuMTI0IDAgMjAuMTc1LTkuMDUgMjAuMTc1LTIwLjE3NXYtMzUuNjgxaDEwLjhjMTEuMTI0IDAgMjAuMTc1LTkuMDUgMjAuMTc1LTIwLjE3NXYtMTQuODE0YzAtMTEuMTI1LTkuMDUxLTIwLjE3NS0yMC4xNzUtMjAuMTc1aC0xMC44di0zNS42ODFjMC0xMS4xMjQtOS4wNTEtMjAuMTc0LTIwLjE3NS0yMC4xNzRoLTE0LjgxNWMtNC43OTkgMC05LjIwNyAxLjY5MS0xMi42NzQgNC41LTMuNDY3LTIuODA5LTcuODc1LTQuNS0xMi42NzUtNC41aC0xNC44MTRjLTExLjEyNCAwLTIwLjE3NSA5LjA1LTIwLjE3NSAyMC4xNzR2MzkuOTQxaC0yMC4xMzl2LTgwLjY2M2MtLjAwMS0xMS4xMjQtOS4wNTEtMjAuMTc0LTIwLjE3NS0yMC4xNzRoLTE0LjgxNGMtMTEuMTI0IDAtMjAuMTc1IDkuMDUtMjAuMTc1IDIwLjE3NHY1MC41MzRoLTk1Ljg5NnYtNTAuNTM0YzAtMTEuMTI0LTkuMDUtMjAuMTc0LTIwLjE3NC0yMC4xNzRoLTE0LjgxNWMtMTEuMTI0IDAtMjAuMTc0IDkuMDUtMjAuMTc0IDIwLjE3NHY4MC42NjNoLTIwLjEzOXYtMzkuOTQxYzAtMTEuMTI0LTkuMDUxLTIwLjE3NC0yMC4xNzUtMjAuMTc0aC0xNC44MTRjLTQuNzk5IDAtOS4yMDggMS42OTEtMTIuNjc1IDQuNS0zLjQ2Ny0yLjgwOS03Ljg3NS00LjUtMTIuNjc1LTQuNWgtMTQuODE0Yy0xMS4xMjQgMC0yMC4xNzUgOS4wNS0yMC4xNzUgMjAuMTc0djM1LjY4MWgtMTAuOGMtMTEuMTI0IDAtMjAuMTc1IDkuMDUtMjAuMTc1IDIwLjE3NXYxNC44MTRjMCAxMS4xMjUgOS4wNTEgMjAuMTc1IDIwLjE3NSAyMC4xNzV6bTE0MS4yNjctNC4yNmgyNS4xNjN2MTg1LjExNWgtMjUuMTYzem00MC4xNjMgNjguNzEyaDk1Ljg5NnY3Ni45MDFoLTk1Ljg5NnptOTUuODk1LTE1aC05NS44OTZ2LTIzLjU4M2g5NS44OTZ6bS0xMzEuOTE5IDI0MS45MDQtLjA1MSA1My45MDMtMzAuMzkzLS4wMzljMC0uMDAxLS4wMDEtLjAwOC0uMDAxLS4wMnYtNTMuODQ0em0xOTguMzI5IDUzLjkwMy0zMC4zOTMtLjA1OXYtNTMuODQ0aDMwLjQ0NXptMTIuMjExLTE0OS40MDNjMi42NjcgMCA0LjgzNyAyLjE2OSA0LjgzNyA0LjgzNnYzNy4zMjRjMCAyLjY2Ny0yLjE3IDQuODM2LTQuODM3IDQuODM2LTEzLjIwMiAwLTI0MS4yNTYgMC0yNTMuMTM3IDAtMi42NjcgMC00LjgzNy0yLjE2OS00LjgzNy00LjgzNnYtMzcuMzI0YzAtMi42NjcgMi4xNy00LjgzNiA0LjgzNy00LjgzNnptLTE3NC41MTYtMTV2LTI0LjUwM2g5NS44OTZ2MjQuNTAzem05NS44OTUtMTY5Ljk4N2gtOTUuODk2di0xNS4xMjhoOTUuODk2em0tMTE1Ljk3Ny0zMC4xMjl2LTE2LjY0NWgxMzYuMDZ2MTYuNjQ1Yy00LjY1MyAwLTEzMC40MTEgMC0xMzYuMDYgMHptMjk3LjQwOC0yMC45MDRjMi44MDUgMCA1LjE3NSAyLjM3IDUuMTc1IDUuMTc1djE0LjgxNGMwIDIuODA1LTIuMzcgNS4xNzUtNS4xNzUgNS4xNzVoLTEwLjh2LTI1LjE2NHptLTQ1Ljc5LTU1Ljg1NWgxNC44MTVjMi44MDUgMCA1LjE3NSAyLjM3IDUuMTc1IDUuMTc0djEyNi41MjZjMCAyLjgwNS0yLjM3IDUuMTc1LTUuMTc1IDUuMTc1aC0xNC44MTVjLTIuODA1IDAtNS4xNzQtMi4zNy01LjE3NC01LjE3NXYtMTI2LjUyNmMwLTIuODA1IDIuMzY5LTUuMTc0IDUuMTc0LTUuMTc0em0tNDUuMzM4IDUuMTc0YzAtMi44MDUgMi4zNy01LjE3NCA1LjE3NS01LjE3NGgxNC44MTRjMi44MDUgMCA1LjE3NSAyLjM3IDUuMTc1IDUuMTc0djEyNi41MjZjMCAyLjgwNS0yLjM3IDUuMTc1LTUuMTc1IDUuMTc1aC0xNC44MTRjLTIuODU0IDAtNS4xNzUtMi4zMjEtNS4xNzUtNS4xNzUgMC0yLjkwNCAwLTEyMi42MDIgMC0xMjYuNTI2em0tMTUgNzEuNTg1Yy0xMy40NjMgMC0yNS4xODYgMC00MC4yMjEgMHYtMTYuNjQ1aDQwLjIyMXptLTYwLjMwMy0xMTIuMzA3YzAtMi44MDUgMi4zNy01LjE3NCA1LjE3NS01LjE3NGgxNC44MTRjMi44NTQgMCA1LjE3NSAyLjMyMSA1LjE3NSA1LjE3NHY4MC42NjNjLTkuMTA2IDAtMTYuMDU4IDAtMjUuMTY0IDAgMC05LjM3MyAwLTcwLjg4NSAwLTgwLjY2M3ptLTE1IDY1LjUzNHYxNS4xMjhoLTk1Ljg5NnYtMTUuMTI4em0tMTM2LjA1OC02NS41MzRjMC0yLjgwNSAyLjM2OS01LjE3NCA1LjE3NC01LjE3NGgxNC44MTVjMi44MDUgMCA1LjE3NCAyLjM3IDUuMTc0IDUuMTc0djgwLjY2M2MtOS4xMDQgMC0xNi4wMzkgMC0yNS4xNjMgMHptNS4wODEgOTUuNjYzdjE2LjY0NWMtMTUuMjczIDAtMjYuNDYgMC00MC4yMiAwdi0xNi42NDV6bS03NS4yMDktNjAuMTE1aDE0LjgxNGMyLjgwNSAwIDUuMTc1IDIuMzcgNS4xNzUgNS4xNzR2MTI2LjUyNmMwIDIuODU0LTIuMzIxIDUuMTc1LTUuMTc1IDUuMTc1aC0xNC44MTRjLTIuODA1IDAtNS4xNzUtMi4zNy01LjE3NS01LjE3NXYtMTI2LjUyNmMwLTIuODA1IDIuMzctNS4xNzQgNS4xNzUtNS4xNzR6bS00NS4zMzkgNS4xNzRjMC0yLjgwNSAyLjM3LTUuMTc0IDUuMTc1LTUuMTc0aDE0LjgxNGMyLjgwNSAwIDUuMTc1IDIuMzcgNS4xNzUgNS4xNzR2MTI2LjUyNmMwIDIuODU0LTIuMzIxIDUuMTc1LTUuMTc1IDUuMTc1aC0xNC44MTRjLTIuODU0IDAtNS4xNzUtMi4zMjEtNS4xNzUtNS4xNzUgMC01LjY3OSAwLTEyMC44MjcgMC0xMjYuNTI2em0tMzAuOTc1IDU1Ljg1NmMwLTIuODU0IDIuMzIxLTUuMTc1IDUuMTc1LTUuMTc1aDEwLjh2MjUuMTY0aC0xMC44Yy0yLjg1NCAwLTUuMTc1LTIuMzIxLTUuMTc1LTUuMTc1eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",ANe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ4MCA0ODAiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik00NzIsMjgwaC0xNlYxNjYuNGMwLTEyLTkuNi0yMi40LTIyLjQtMjIuNGgtNGMtMTIsMC0yMi40LDkuNi0yMi40LDIyLjRWMjgwaC0yNHYtMTZjMC0xMy42LTEwLjQtMjQtMjQtMjRIMTIwDQoJCQljLTEzLjYsMC0yNCwxMC40LTI0LDI0djE2SDcyVjE2Ni40YzAtMTItOS42LTIyLjQtMjIuNC0yMi40aC0zLjJjLTEyLjgsMC0yMi40LDkuNi0yMi40LDIyLjRWMjgwSDhjLTQuOCwwLTgsMy4yLTgsOHMzLjIsOCw4LDhoOA0KCQkJdjE0NGMwLDQuOCwzLjIsOCw4LDhoOHY4YzAsNC44LDMuMiw4LDgsOHM4LTMuMiw4LTh2LThoMzg0djhjMCw0LjgsMy4yLDgsOCw4czgtMy4yLDgtOHYtOGg4YzQuOCwwLDgtMy4yLDgtOFYyOTZoOA0KCQkJYzQuOCwwLDgtMy4yLDgtOFM0NzYuOCwyODAsNDcyLDI4MHogTTQzMC40LDE2MGg0YzMuMiwwLDYuNCwyLjQsNi40LDYuNFYyODBoLTE2VjE2Ni40SDQyNEM0MjQsMTYzLjIsNDI2LjQsMTYwLDQzMC40LDE2MHoNCgkJCSBNMTEyLDI2NGMwLTQuOCwzLjItOCw4LThoMjQwYzQuOCwwLDgsMy4yLDgsOHYxNkgxMTJWMjY0eiBNNDAsMTY2LjRjMC00LDIuNC02LjQsNi40LTYuNGg0YzMuMiwwLDUuNiwyLjQsNS42LDYuNFYyODBINDBWMTY2LjR6DQoJCQkgTTIzMiw0MzJIMzJ2LTY0aDIwMFY0MzJ6IE00NDgsNDMySDI0OHYtNjRoMjAwVjQzMnogTTQ0OCwzNTJIMzJ2LTU2aDQxNlYzNTJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0yMDgsMzg0Yy00LjgsMC04LDMuMi04LDh2MTZjMCw0LjgsMy4yLDgsOCw4czgtMy4yLDgtOHYtMTZDMjE2LDM4Ny4yLDIxMi44LDM4NCwyMDgsMzg0eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjcyLDM4NGMtNC44LDAtOCwzLjItOCw4djE2YzAsNC44LDMuMiw4LDgsOHM4LTMuMiw4LTh2LTE2QzI4MCwzODcuMiwyNzYuOCwzODQsMjcyLDM4NHoiLz4NCiAgICAgICAgPHBhdGggZD0iTTM4NCwxNkg5NmMtNC44LDAtOCwzLjItOCw4djE2MGMwLDQuOCwzLjIsOCw4LDhoMjg4YzQuOCwwLDgtMy4yLDgtOFYyNEMzOTIsMTkuMiwzODguOCwxNiwzODQsMTZ6IE0zNzYsMTc2SDEwNFYzMmgyNzINCgkJCVYxNzZ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0zNTIsMTQ0aC04Yy00LjgsMC04LDMuMi04LDhzMy4yLDgsOCw4aDhjNC44LDAsOC0zLjIsOC04UzM1Ni44LDE0NCwzNTIsMTQ0eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTU3LjYsNTAuNGMtMy4yLTMuMi04LTMuMi0xMS4yLDBsLTI0LDI0Yy0zLjIsMy4yLTMuMiw4LDAsMTEuMmMzLjIsMy4yLDgsMy4yLDExLjIsMGwyNC0yNA0KCQkJQzE2MC44LDU4LjQsMTYwLjgsNTMuNiwxNTcuNiw1MC40eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTk3LjYsNTAuNGMtMy4yLTMuMi04LTMuMi0xMS4yLDBsLTU2LDU2Yy0zLjIsMy4yLTMuMiw4LDAsMTEuMmMzLjIsMy4yLDgsMy4yLDExLjIsMGw1Ni01Ng0KCQkJQzIwMC44LDU4LjQsMjAwLjgsNTMuNiwxOTcuNiw1MC40eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",mNe="PHN2ZyBoZWlnaHQ9IjQ4MHB0IiB2aWV3Qm94PSIwIDAgNDgwIDQ4MCIgd2lkdGg9IjQ4MHB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im00NzIgOTZoLTE0NGMtNC40MTc5NjkgMC04IDMuNTgyMDMxLTggOHYxODRoLTE3NnYtMjRjMC00LjQxNzk2OS0zLjU4MjAzMS04LTgtOGgtMjR2MTZoMTZ2MTZoLTMydi0zMmgtMTZ2MzJoLTMydi0xNmgxNnYtMTZoLTI0Yy00LjQxNzk2OSAwLTggMy41ODIwMzEtOCA4djI0aC0yNGMtNC40MTc5NjkgMC04IDMuNTgyMDMxLTggOHYxNzZjMCA0LjQxNzk2OSAzLjU4MjAzMSA4IDggOGg0NjRjNC40MTc5NjkgMCA4LTMuNTgyMDMxIDgtOHYtMzY4YzAtNC40MTc5NjktMy41ODIwMzEtOC04LTh6bS0xMzYgMTZoMTI4djk2aC0xMjh6bS0xNiAyMjRoLTE0NHYtMzJoMTQ0em0tMzA0LTMyaDE0NHYzMmgtMTQ0em0wIDQ4aDE0NHYxMTJoLTE0NHptMTYwIDBoNjR2MTEyaC02NHptODAgMGg2NHYxMTJoLTY0em04MCAxMTJ2LTI0MGgxMjh2MjQwem0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTM1MiAxNDRoMTZ2MzJoLTE2em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTM1MiAyNTZoMTZ2MzJoLTE2em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ4IDMyMGMwIDQuNDE3OTY5LTMuNTgyMDMxIDgtOCA4cy04LTMuNTgyMDMxLTgtOCAzLjU4MjAzMS04IDgtOCA4IDMuNTgyMDMxIDggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im04MCAzMjBjMCA0LjQxNzk2OS0zLjU4MjAzMSA4LTggOHMtOC0zLjU4MjAzMS04LTggMy41ODIwMzEtOCA4LTggOCAzLjU4MjAzMSA4IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMTEyIDMyMGMwIDQuNDE3OTY5LTMuNTgyMDMxIDgtOCA4cy04LTMuNTgyMDMxLTgtOCAzLjU4MjAzMS04IDgtOCA4IDMuNTgyMDMxIDggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xNDQgMzIwYzAgNC40MTc5NjktMy41ODIwMzEgOC04IDhzLTgtMy41ODIwMzEtOC04IDMuNTgyMDMxLTggOC04IDggMy41ODIwMzEgOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTggMTUyaDE2MGM0LjQxNzk2OSAwIDgtMy41ODIwMzEgOC04di0yNGMwLTIuMTIxMDk0LS44NDM3NS00LjE1NjI1LTIuMzQzNzUtNS42NTYyNWwtMzItMzJjLTEuNS0xLjUtMy41MzUxNTYtMi4zNDM3NS01LjY1NjI1LTIuMzQzNzVoLTh2LTcyYzAtNC40MTc5NjktMy41ODIwMzEtOC04LThoLTY0Yy00LjQxNzk2OSAwLTggMy41ODIwMzEtOCA4djcyaC04Yy0yLjEyMTA5NCAwLTQuMTU2MjUuODQzNzUtNS42NTYyNSAyLjM0Mzc1bC0zMiAzMmMtMS41IDEuNS0yLjM0Mzc1IDMuNTM1MTU2LTIuMzQzNzUgNS42NTYyNXYyNGMwIDQuNDE3OTY5IDMuNTgyMDMxIDggOCA4em01Ni0xMzZoNDh2NjRoLTQ4em0tNDggMTA3LjMxMjUgMjcuMzEyNS0yNy4zMTI1aDg5LjM3NWwyNy4zMTI1IDI3LjMxMjV2MTIuNjg3NWgtMTQ0em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTEzNiAzNjhoLTk2Yy00LjQxNzk2OSAwLTggMy41ODIwMzEtOCA4djY0YzAgNC40MTc5NjkgMy41ODIwMzEgOCA4IDhoOTZjNC40MTc5NjkgMCA4LTMuNTgyMDMxIDgtOHYtNjRjMC00LjQxNzk2OS0zLjU4MjAzMS04LTgtOHptLTggNjRoLTgwdi00OGg4MHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yMzIgMzEyaDMydjE2aC0zMnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yMDggMzkyaDE2djMyaC0xNnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yNzIgMzkyaDE2djMyaC0xNnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xOTIgMjAwaDQ4YzQuNDE3OTY5IDAgOC0zLjU4MjAzMSA4LTh2LThjLS4wNTQ2ODgtMTQuNTQ2ODc1LTkuOTE0MDYyLTI3LjIyNjU2Mi0yNC0zMC44NjMyODF2LTE1My4xMzY3MTloLTE2djE1My4xMzY3MTljLTE0LjA4NTkzOCAzLjYzNjcxOS0yMy45NDUzMTIgMTYuMzE2NDA2LTI0IDMwLjg2MzI4MXY4YzAgNC40MTc5NjkgMy41ODIwMzEgOCA4IDh6bTI0LTMyYzguODM1OTM4IDAgMTYgNy4xNjQwNjIgMTYgMTZoLTMyYzAtOC44MzU5MzggNy4xNjQwNjItMTYgMTYtMTZ6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMjQ4IDEzNmg0OGM0LjQxNzk2OSAwIDgtMy41ODIwMzEgOC04di04Yy0uMDU0Njg4LTE0LjU0Njg3NS05LjkxNDA2Mi0yNy4yMjY1NjItMjQtMzAuODYzMjgxdi04OS4xMzY3MTloLTE2djg5LjEzNjcxOWMtMTQuMDg1OTM4IDMuNjM2NzE5LTIzLjk0NTMxMiAxNi4zMTY0MDYtMjQgMzAuODYzMjgxdjhjMCA0LjQxNzk2OSAzLjU4MjAzMSA4IDggOHptMjQtMzJjOC44MzU5MzggMCAxNiA3LjE2NDA2MiAxNiAxNmgtMzJjMC04LjgzNTkzOCA3LjE2NDA2Mi0xNiAxNi0xNnptMCAwIi8+DQogICAgPC9nPg0KPC9zdmc+",pNe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTUxMC40MTcgMjMzLjIyNS01OC42NDQtMTE3LjI3OWMtMTUuOTM5LTMxLjg3Ny00Ny45NzgtNTEuNjgtODMuNjItNTEuNjgtOC41ODYgMC0xNi45ODQgMS4xODgtMjUuMDMyIDMuNDM3LjEwNS0xLjQ4OS4xNzgtMi45ODguMTc4LTQuNTAzIDAtMzQuODQ5LTI4LjM1MS02My4yLTYzLjItNjMuMnMtNjMuMiAyOC4zNTItNjMuMiA2My4yYzAgMzAuOTkzIDIyLjQzMiA1Ni44MjggNTEuOTA5IDYyLjE2OWwtNjEuMzY2IDYxLjQ3Yy02Ljg3NSA2Ljg4Ni0yMS44NzEgMjcuODItMTAuMzMzIDU0LjQ2LTEuNzA1LS4xOTEtMy40MjEtLjI5OS01LjE0NC0uMjk5LTIzLjA4NyAwLTQyLjMzNiAxNi42OS00Ni4zNTEgMzguNjM1LTcuNzQtNC4xNDQtMTYuNTczLTYuNTAxLTI1Ljk0OS02LjUwMS0zMC40MTkgMC01NS4xNjcgMjQuNzQ4LTU1LjE2NyA1NS4xNjcgMCA5LjA2MyAyLjIxMSAxNy42MTUgNi4xIDI1LjE2N2gtNDAuNTk4di0zMzguNDY4YzAtOC4yODQtNi43MTYtMTUtMTUtMTVzLTE1IDYuNzE2LTE1IDE1djQ4MmMwIDguMjg0IDYuNzE2IDE1IDE1IDE1czE1LTYuNzE2IDE1LTE1di00OS4yNjdoMzA2LjU2M2M4LjI4NCAwIDE1LTYuNzE2IDE1LTE1di02NC4yNjdjMC04LjI4NC02LjcxNi0xNS0xNS0xNWgtMzYuNDEyYzMuMjc0LTguMzk1IDMuMjE0LTE1LjI2MyAzLjIxNC0xOC4yIDI4LjQ2OSAwIDQ4LjItMjIuMDk4IDQ4LjItNDcuMTMzIDAtMjUuOTg5LTIxLjE0NC00Ny4xMzMtNDcuMTMzLTQ3LjEzM2gtMTIuMzA0bDU1LjkwNC01Ni4wODYgNTMuNzM2IDEwNi43NzctLjEwMyAyMDUuMzAxYy0uMDAyIDMuOTc5IDEuNTc4IDcuNzk2IDQuMzkxIDEwLjYxMSAyLjgxMyAyLjgxNCA2LjYzIDQuMzk2IDEwLjYwOSA0LjM5Nmg4MC4zMzVjOC4yODQgMCAxNS02LjcxNiAxNS0xNXYtMjU3LjA2NmMwLTIuMzI5LS41NDItNC42MjUtMS41ODMtNi43MDh6bS0yNjMuNTE3LTE3MC4wMjVjMC0xOC4zMDcgMTQuODk0LTMzLjIgMzMuMi0zMy4yczMzLjIgMTQuODk0IDMzLjIgMzMuMi0xNC44OTQgMzMuMi0zMy4yIDMzLjJjLTE4LjMwNyAwLTMzLjItMTQuODkzLTMzLjItMzMuMnptLTEyNy4yMzMgMjM5LjkzM2MxMy44NzcgMCAyNS4xNjcgMTEuMjkgMjUuMTY3IDI1LjE2N3MtMTEuMjkgMjUuMTY3LTI1LjE2NyAyNS4xNjctMjUuMTY3LTExLjI5LTI1LjE2Ny0yNS4xNjcgMTEuMjktMjUuMTY3IDI1LjE2Ny0yNS4xNjd6bTIwMS44OTYgODAuMzM0djM0LjI2N2gtMjkxLjU2M3YtMzQuMjY3em0tMTcuMTMtMTEyLjQ2N2M5LjQ0NyAwIDE3LjEzMyA3LjY4NiAxNy4xMzMgMTcuMTMzIDAgOS41ODMtNy44MTQgMTcuMTMzLTE3LjEzMyAxNy4xMzNoLTE2LjA2N2MtOC4yODQgMC0xNSA2LjcxNi0xNSAxNXYxNi4wNjdjMCA5LjU4My03LjgxNCAxNy4xMzMtMTcuMTMzIDE3LjEzM2gtNjQuMjY3Yy05LjQ0NyAwLTE3LjEzMy03LjY4Ni0xNy4xMzMtMTcuMTMzdi00OC4yYzAtOS40NDcgNy42ODYtMTcuMTMzIDE3LjEzMy0xNy4xMzMgOS4yOTcgMCAxNy4xMzMgNy41MjYgMTcuMTMzIDE3LjEzM3YxNi4wNjdjMCA4LjI4NCA2LjcxNiAxNSAxNSAxNXMxNS02LjcxNiAxNS0xNXYtMTYuMDY3YzAtOS40MjkgNy42MTYtMTcuMTMzIDE3LjEzMy0xNy4xMzN6bTE3Ny41NjcgMjExaC01MC4zMjZsLjA5Ny0xOTMuODU5Yy4wMDEtMi4zNDQtLjU0Ny00LjY1Ni0xLjYwMS02Ljc1bC02NC42ODUtMTI4LjUzM2MtMi4xNjctNC4zMDUtNi4yNjktNy4zMDYtMTEuMDI3LTguMDY4LTQuNzYxLS43NjItOS41OTQuODEtMTIuOTk1IDQuMjIybC04Ni40NTggODYuNzM5Yy03LjI2MyA3LjI5MS0xOS4xMTUgNi44MDctMjYuMzA4LS4zODYtNy4zODEtNy4zODEtNy43MjgtMTkuNjExLS4wMjItMjcuMzI5bDk1LjI3LTk1LjQzMWMxMS43OTktMTEuODI1IDI3LjUtMTguMzM3IDQ0LjIxNy0xOC4zMzcgMjQuMTk5IDAgNDUuOTU1IDEzLjQ0OCA1Ni43NzkgMzUuMDk3bDU3LjA1OSAxMTQuMTA5eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",ONe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJNOTIuNTQ1LDE4NS4wOWM1MS4wMjksMCw5Mi41NDUtNDEuNTE2LDkyLjU0NS05Mi41NDVTMTQzLjU3NCwwLDkyLjU0NSwwUzAsNDEuNTE2LDAsOTIuNTQ1ICAgIFM0MS41MTYsMTg1LjA5LDkyLjU0NSwxODUuMDl6IE05Mi41NDUsMjBjNDAuMDAxLDAsNzIuNTQ1LDMyLjU0NCw3Mi41NDUsNzIuNTQ1cy0zMi41NDQsNzIuNTQ1LTcyLjU0NSw3Mi41NDUgICAgUzIwLDEzMi41NDYsMjAsOTIuNTQ1UzUyLjU0NCwyMCw5Mi41NDUsMjB6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0xMDAuNTAxLDExNC41MjZjMS45NTIsMS45NDUsNC41MDYsMi45MTcsNy4wNiwyLjkxN2MyLjU2NCwwLDUuMTMtMC45OCw3LjA4My0yLjk0ICAgIGMzLjg5OC0zLjkxMiwzLjg4OC0xMC4yNDQtMC4wMjMtMTQuMTQzbC0xMi4wMDgtMTEuOTY4VjQ0YzAtNS41MjItNC40NzgtMTAtMTAtMTBzLTEwLDQuNDc4LTEwLDEwdjQ4LjU0NSAgICBjMCwyLjY1OCwxLjA1OSw1LjIwNywyLjk0LDcuMDgzTDEwMC41MDEsMTE0LjUyNnoiLz4NCiAgICAgICAgPHBhdGggZD0iTTUwMiwzMzJoLTYxLjU0N2MtOC40Ni0xMi4wMzQtMjEuMTcyLTIwLjU1OC0zNS42NzEtMjMuNzI4bC00My45NjQtOS42MTMgICAgYzE3Ljk5MS0xMi4xMzQsMjkuODQ3LTMyLjcwMiwyOS44NDctNTUuOTg4di0yNC40MTd2LTExLjI5N3YtMi41NDJjMC0zNy4yMTItMzAuMjc0LTY3LjQ4Ni02Ny40ODYtNjcuNDg2ICAgIHMtNjcuNDg2LDMwLjI3NC02Ny40ODYsNjcuNDg2djIuNTQydjExLjI5N3YyNC40MTdjMCwyMy4yNTYsMTEuODI1LDQzLjgwMywyOS43NzgsNTUuOTQzbC00My45MzYsOS42MzkgICAgYy0xLjg3NywwLjQxMi0zLjcyMiwwLjkxNy01LjUzNSwxLjUwMlYyMjdjMC01LjUyMi00LjQ3OC0xMC0xMC0xMGgtNjhjLTUuNTIyLDAtMTAsNC40NzgtMTAsMTBzNC40NzgsMTAsMTAsMTBoNTh2MTQwaC02OHYtNTAgICAgYzAtMTYuNTQyLTEzLjQ1OC0zMC0zMC0zMHMtMzAsMTMuNDU4LTMwLDMwdjUwSDIwVjIzN2g1OGM1LjUyMiwwLDEwLTQuNDc4LDEwLTEwcy00LjQ3OC0xMC0xMC0xMEgxMGMtNS41MjIsMC0xMCw0LjQ3OC0xMCwxMHYxNjAgICAgYzAsNS41MjIsNC40NzgsMTAsMTAsMTBoNzh2MTloLTFjLTE3LjA5NCwwLTMxLDEzLjkwNi0zMSwzMXY1SDEwYy01LjUyMiwwLTEwLDQuNDc4LTEwLDEwdjQwYzAsNS41MjIsNC40NzgsMTAsMTAsMTBoNDkyICAgIGM1LjUyMiwwLDEwLTQuNDc4LDEwLTEwdi00MHYtNDB2LTQwdi00MEM1MTIsMzM2LjQ3OCw1MDcuNTIyLDMzMiw1MDIsMzMyeiBNNDQxLjE3OSw0NTJIMzg0di0yMGgxMDh2MjBINDQxLjE3OXogTTQ5Miw0MTJIMzg0ICAgIHYtMjBoMTA4VjQxMnogTTQ5MiwzNzJIMzg0di0yMGg1MC44NzRjMC4wMywwLDAuMDYsMC4wMDYsMC4wODksMC4wMDZjMC4wMzEsMCwwLjA2My0wLjAwNiwwLjA5NC0wLjAwNkg0OTJWMzcyeiBNMjc1LjY5MiwyMDQuNDE2ICAgIGMwLTI2LjE4NCwyMS4zMDMtNDcuNDg2LDQ3LjQ4Ni00Ny40ODZjMjQuOTMzLDAsNDUuNDM5LDE5LjMxNCw0Ny4zNDIsNDMuNzY3bC0yMy4yNDYtMTMuNjU3ICAgIGMtNC4yMTEtMi40NzUtOS41OTMtMS41NDQtMTIuNzMsMi4xOTljLTEwLjEyNiwxMi4wODUtMjQuOTc3LDE5LjAxNy00MC43NDQsMTkuMDE3aC0xOC4xMDd2LTEuMjk3VjIwNC40MTZ6IE0yNzUuNjkyLDIyOC4yNTUgICAgSDI5My44YzE4LjgyNSwwLDM2LjctNy4xNzksNTAuMjA1LTE5Ljk0bDI2LjY2LDE1LjY2M3YxOC42OTRjMCwyNi4xODQtMjEuMzAzLDQ3LjQ4Ni00Ny40ODYsNDcuNDg2cy00Ny40ODYtMjEuMzAzLTQ3LjQ4Ni00Ny40ODYgICAgVjIyOC4yNTV6IE0zMzguODQ0LDMwOC4zMDNsLTE1LjgxNSw0Mi4yOTRsLTE1Ljg0NC00Mi4zN2M1LjEzLDEuMjUyLDEwLjQ4MywxLjkzMSwxNS45OTMsMS45MzEgICAgQzMyOC41NzIsMzEwLjE1OCwzMzMuODEzLDMwOS41MDQsMzM4Ljg0NCwzMDguMzAzeiBNMjI2LDM5N2M1LjUyMiwwLDEwLTQuNDc4LDEwLTEwdi01NS42MjNjMy4wODUtMS42MjYsNi4zNzQtMi44MzIsOS44Mi0zLjU4OCAgICBsNDMuNzQtOS41OTZsMjQuMTAzLDY0LjQ1N2MxLjQ2MSwzLjkwNyw1LjE5NCw2LjQ5Nyw5LjM2Niw2LjQ5N3M3LjkwNS0yLjU5LDkuMzY2LTYuNDk4bDI0LjEwNC02NC40NjFsNDQuMDExLDkuNjIzICAgIGMzLjg2MywwLjg0NCw3LjUyOSwyLjI3NCwxMC45MDIsNC4xODhIMzc0Yy01LjUyMiwwLTEwLDQuNDc4LTEwLDEwdjQwdjQwdjMwSDIxNS4xNzl2LTU1SDIyNnogTTE5NS4xNzksMzk3djU1SDE4MHYtNSAgICBjMC0xNy4wOTQtMTMuOTA2LTMxLTMxLTMxaC0xdi0xOUgxOTUuMTc5eiBNMTA4LDMyN2MwLTUuNTE0LDQuNDg2LTEwLDEwLTEwczEwLDQuNDg2LDEwLDEwdjg5aC0yMFYzMjd6IE03Niw0NDcgICAgYzAtNi4wNjUsNC45MzUtMTEsMTEtMTFoMTFoNDBoMTFjNi4wNjUsMCwxMSw0LjkzNSwxMSwxMXY1SDc2VjQ0N3ogTTQ5Miw0OTJIMjB2LTIwaDQ3MlY0OTJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0xMTAuOTMsMjE5LjkzYy0xLjg2LDEuODYtMi45Myw0LjQ0LTIuOTMsNy4wN3MxLjA2OSw1LjIxLDIuOTMsNy4wNjljMS44NiwxLjg2LDQuNDQsMi45MzEsNy4wNywyLjkzMSAgICBzNS4yMS0xLjA3LDcuMDY5LTIuOTMxQzEyNi45MywyMzIuMjEsMTI4LDIyOS42MywxMjgsMjI3cy0xLjA3LTUuMjEtMi45MzEtNy4wN2MtMS44NTktMS44Ni00LjQzOS0yLjkzLTcuMDY5LTIuOTMgICAgUzExMi43OSwyMTguMDY5LDExMC45MywyMTkuOTN6Ii8+DQogICAgPC9nPg0KPC9zdmc+DQo=",ENe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCIgd2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik01NSwzNS45MzVjNC40OTMtLjU1NSw4LTQuOCw4LTkuOTM1LDAtNC44ODUtMy41MzUtMTktOS0xOXMtOSwxNC4xMTUtOSwxOWMwLDUuMTM4LDMuNTA3LDkuMzgsOCw5LjkzNVY0Mkg0OS45NDlhOS45NzgsOS45NzgsMCwwLDAtMTQuNDQxLTcuOTIybC0xLjYtMi41MTNMMzIuMzg4LDI3SDM2LjVhMS41LDEuNSwwLDAsMSwwLDNIMzZ2MmguNWEzLjUsMy41LDAsMCwwLDAtN0gzMWExLDEsMCwwLDAtLjk0OCwxLjMxNkwzMS42MTMsMzFIMjBWMjloM2ExLDEsMCwwLDAsMS0xLDUsNSwwLDAsMC0xMCwwLDEsMSwwLDAsMCwxLDFoM3YyLjY3NWwtMS45NjQsMi43YTkuOTkxLDkuOTkxLDAsMSwwLDQuNTEsMTEuNjA2LDMuOTg1LDMuOTg1LDAsMSwwLDYuNDI1LTQuNjM0bDUuNTIxLTguMjgzLDEuMzI5LDIuMDg5QTkuOTk1LDkuOTk1LDAsMSwwLDQ5Ljk0OSw0NEg2M1Y0Mkg1NVpNNDcsMjZjMC01LjA2NywzLjY2MS0xNyw3LTE3czcsMTEuOTMzLDcsMTdjMCw0LjAyMi0yLjYxNCw3LjM1MS02LDcuOTA5VjE4LjUzNWwyLjU1NS0xLjctMS4xMS0xLjY2NC0zLDJBMSwxLDAsMCwwLDUzLDE4djdsLTIuNC0xLjgtMS4yLDEuNkw1MywyNy41djYuNDA5QzQ5LjYxNCwzMy4zNTEsNDcsMzAuMDIyLDQ3LDI2Wk0xOSwyNWEzLjAwNiwzLjAwNiwwLDAsMSwyLjgyOSwySDE2LjE3MUEzLjAwNiwzLjAwNiwwLDAsMSwxOSwyNVptNSwxNWEzLjgzNiwzLjgzNiwwLDAsMC0uNTYuMDU3TDIwLjUsMzNoOS42MzJsLTQuODI1LDcuMjM3QTMuOTY4LDMuOTY4LDAsMCwwLDI0LDQwWk0xMSw1MWE4LDgsMCwxLDEsMy44NTctMTVsLTMuMDExLDQuMTRBMi45NiwyLjk2LDAsMCwwLDExLDQwYTMsMywwLDEsMCwyLjczOCw0LjIxNGw1LjEuMzkyQTguMDE0LDguMDE0LDAsMCwxLDExLDUxWm03Ljk4LTguMzg5LTUuMS0uMzkyYTMuMDA1LDMuMDA1LDAsMCwwLS40MTQtLjkxNmwzLTQuMTI1QTcuOTY5LDcuOTY5LDAsMCwxLDE4Ljk4LDQyLjYxMVpNMTIsNDNhMSwxLDAsMSwxLTEtMUExLDEsMCwwLDEsMTIsNDNabTguODc5LTEuNDcyYTkuOTY4LDkuOTY4LDAsMCwwLTMuMjI4LTUuOTc0bDEuMTExLTEuNTI3LDIuODMyLDYuOEE0LjAzMiw0LjAzMiwwLDAsMCwyMC44NzksNDEuNTI4Wk0yNCw0NmEyLDIsMCwxLDEsMi0yQTIsMiwwLDAsMSwyNCw0NlptMTYsNWE4LDgsMCwwLDEtNS4xLTE0LjE1NmwyLjc0OCw0LjMxOUEyLjk2NiwyLjk2NiwwLDAsMCwzNyw0M2EzLDMsMCwxLDAsMy0zLDIuOTYzLDIuOTYzLDAsMCwwLS42NzEuMDgybC0yLjc0MS00LjMwN0E4LDgsMCwxLDEsNDAsNTFabTAtOWExLDEsMCwxLDEtMSwxQTEsMSwwLDAsMSw0MCw0MloiLz4NCiAgICAgICAgPHBhdGggZD0iTTcsMThhNCw0LDAsMCwwLDIuNzg4LTEuMTM5LDUuNjMzLDUuNjMzLDAsMCwwLDMuOTYxLS41NDVBMy45NTQsMy45NTQsMCwwLDAsMTcsMThhNCw0LDAsMSwwLS4wODMtOCw2LDYsMCwwLDAtMTEuOS41MzhBMy45OTIsMy45OTIsMCwwLDAsNywxOFptLS42NTMtNS44NzdhMSwxLDAsMCwwLC42Ny0uOTc3QS42LjYsMCwwLDAsNywxMWE0LDQsMCwwLDEsOC0uMDQxYzAsLjAzMy0uMDE4LjE1Mi0uMDIuMTg1YTEsMSwwLDAsMCwxLjMzOS45ODZBMS45NywxLjk3LDAsMCwxLDE3LDEyYTIsMiwwLDEsMS0xLjksMi41NzMsMSwxLDAsMCwwLTEuNTg5LS40ODcsMy44LDMuOCwwLDAsMS0zLjc1MS42OTMsMSwxLDAsMCwwLTEuMTI5LjM3MiwxLjk5NCwxLjk5NCwwLDEsMS0yLjI4Mi0zLjAyOFoiLz4NCiAgICAgICAgPHJlY3QgeD0iMSIgeT0iNTUiIHdpZHRoPSI2MiIgaGVpZ2h0PSIyIi8+DQogICAgPC9nPg0KPC9zdmc+DQo=",_Ne="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTE2OC45OTIgMjc3LjU5MWMwLTI2LjU1MS0yMS42MDEtNDguMTUxLTQ4LjE1MS00OC4xNTFzLTQ4LjE1MSAyMS42MDEtNDguMTUxIDQ4LjE1MSAyMS42MDEgNDguMTUgNDguMTUxIDQ4LjE1IDQ4LjE1MS0yMS42IDQ4LjE1MS00OC4xNXptLTgxLjMwMyAwYzAtMTguMjc5IDE0Ljg3Mi0zMy4xNTEgMzMuMTUxLTMzLjE1MXMzMy4xNTEgMTQuODcyIDMzLjE1MSAzMy4xNTEtMTQuODcyIDMzLjE1LTMzLjE1MSAzMy4xNS0zMy4xNTEtMTQuODcxLTMzLjE1MS0zMy4xNXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ3OS4yNzIgNDYyaC0zNC4wNjJsLTM5LjE1OC0zNi42NjdjLTMuMDIzLTIuODMxLTcuNzctMi42NzUtMTAuNjAxLjM0OXMtMi42NzUgNy43Ny4zNDkgMTAuNjAxbDQxLjMyMSAzOC42OTJjMS4zOSAxLjMwMiAzLjIyMiAyLjAyNSA1LjEyNiAyLjAyNWgzNy4wMjRjOS43NzUgMCAxNy43MjggNy45NTMgMTcuNzI4IDE3LjcyOXYyLjI3MWgtNjAuODQ0Yy0yLjE0OCAwLTQuMjYxLS43MDMtNS45ODEtMS45ODZsLTE4OC40OTItMTc4LjkxNHYtMjQuMTMybDEzMi4yMDcgMTIzLjc5NmMzLjAyMyAyLjgzMSA3Ljc3IDIuNjc1IDEwLjYwMS0uMzQ5czIuNjc1LTcuNzctLjM0OS0xMC42MDFsLTE0Mi40NTktMTMzLjM5NnYtMi40NThjMC04LjI4NC02Ljc0LTE1LjAyNC0xNS4wMjUtMTUuMDI0aC0xMi41NDh2LTQyLjc4NmgxMS40MzhjNi41MzYgMCAxMi4zOC0zLjkwMSAxNC44ODYtOS45MzggMi41MDctNi4wMzcgMS4xNDUtMTIuOTMtMy40NzEtMTcuNTZsLTEwNC43MDYtMTA1LjAzNmMtMS4xNjgtMS4xNzItMi40ODctMi4xMzgtMy45MS0yLjg4OXYtMTAuODY5aDUwLjE0OGM4Ljk1OSAwIDE2LjI0OC03LjI4OSAxNi4yNDgtMTYuMjQ4di0yNS4yMTNjMC04Ljk1OS03LjI4OS0xNi4yNDgtMTYuMjQ4LTE2LjI0OGgtNTAuMTY2Yy0uMTg0LTMuOTc4LTMuNDU4LTcuMTQ5LTcuNDgyLTcuMTQ5LTQuMTQzIDAtNy41IDMuMzU3LTcuNSA3LjV2NjguMjIzYy0xLjQyNy43NTEtMi43NDkgMS43MTktMy45MiAyLjg5NGwtNDAuMDE1IDQwLjE0Yy0yLjkyNSAyLjkzNC0yLjkxNyA3LjY4Mi4wMTcgMTAuNjA2IDIuOTMzIDIuOTIzIDcuNjgxIDIuOTE3IDEwLjYwNi0uMDE3bDQwLjAxNi00MC4xNDFjLjI3MS0uMjcxLjU3OS0uMzI4Ljc5MS0uMzI4LjIxMSAwIC41MjEuMDU3Ljc5Mi4zMjlsMTA0LjcwNSAxMDUuMDM1Yy4xNTcuMTU4LjUyNy41MjkuMjQgMS4yMTktLjI4Ni42ODktLjgwOS42ODktMS4wMzIuNjg5aC0yMDkuNDFjLS4yMjQgMC0uNzQ3IDAtMS4wMzMtLjY4OXMuMDg0LTEuMDYxLjI0MS0xLjIxOWw0My41MjEtNDMuNjU4YzIuOTI1LTIuOTM0IDIuOTE3LTcuNjgzLS4wMTctMTAuNjA2LTIuOTM0LTIuOTI1LTcuNjgzLTIuOTE4LTEwLjYwNi4wMTdsLTQzLjUyMSA0My42NTdjLTQuNjE1IDQuNjMtNS45NzggMTEuNTIyLTMuNDcyIDE3LjU2MSAyLjUwNyA2LjAzNyA4LjM1IDkuOTM4IDE0Ljg4NyA5LjkzOGgxMS40Mzh2NjkuNDQ0YzAgNC4xNDMgMy4zNTcgNy41IDcuNSA3LjVzNy41LTMuMzU3IDcuNS03LjV2LTY5LjQ0NGgxNTYuNTM1djEzMi44ODJoLTE1Ni41MzZ2LTMzLjQ1MmMwLTQuMTQzLTMuMzU3LTcuNS03LjUtNy41cy03LjUgMy4zNTctNy41IDcuNXYxODYuNDJoLTIwLjA3M2MtNC4xNDMgMC03LjUgMy4zNTctNy41IDcuNXMzLjM1NyA3LjUgNy41IDcuNWg0OTdjNC4xNDMgMCA3LjUtMy4zNTcgNy41LTcuNXYtOS43NzFjMC0xOC4wNDctMTQuNjgyLTMyLjcyOS0zMi43MjgtMzIuNzI5em0tMjk5LjUzLTQzOC42MDN2MjUuMjEzYzAgLjY4OC0uNTYgMS4yNDgtMS4yNDggMS4yNDhoLTUwLjE0OHYtMjcuNzA5aDUwLjE0OGMuNjg5IDAgMS4yNDguNTYgMS4yNDggMS4yNDh6bTE2Ny4xOTYgNDEzLjI5MSA2My41NDEgNjAuMzEyaC02My41NDF6bS0xNSA2MC4zMTJoLTYwLjgxMXYtMTMyLjI3bDYwLjgxMSA1Ny43MnptLTc1LjgxLTE0Ni41MDh2MTQ2LjUwOGgtNDIuMDJ2LTE1Ni45NDJoMTIuNTQ4YzQuOTM5IDAgOS4zMTYtMi40MDYgMTIuMDU2LTYuMDk2em0tMjkuNDQ2LTgxLjUzMi0uMDEyIDU2LjA5N3MtLjAwNC4wMDEtLjAxNC4wMDFoLTEyLjU0OHYtNTYuMTEzem0tMjcuNTc0IDIyOC4wNGgtMzcuMTV2LTEzNy45NjloMzcuMTV6bS0xMDQuMzg0LTYxLjQ4NGg1Mi4yMzR2MjEuNDM2aC01Mi4yMzR6bTUyLjIzNC0xNWgtNTIuMjM0di0yMS40MzZoNTIuMjM0em0tNTIuMjM0IDUxLjQzNWg1Mi4yMzR2MjUuMDQ5aC01Mi4yMzR6bTUyLjIzNC0xMTIuOTJ2MjUuMDQ5aC01Mi4yMzR2LTI1LjA0OXptLTEwNC4zODUgMGgzNy4xNXYxMzcuOTY5aC0zNy4xNXoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",fNe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTM2Ny4wNDMgMTcwLjQxNGMtMTAuNTE2LS4zNjUtMjAuMDE2LTUuMDQ3LTI2Ljc0OS0xMy4xODEtNC45MTQtNS45MzctMTMuOTM4LTUuOTI1LTE4Ljg0MiAwLTE0LjU5NyAxNy42MzctNDEuNDYyIDE3LjYwNi01Ni4wMzEgMC00Ljk3My02LjAwNy0xNC4wMDUtNS44NDItMTguODQzIDAtMTQuNTkyIDE3LjYzMy00MS40NTUgMTcuNjEzLTU2LjAzMS0uMDAxLTQuOTIyLTUuOTQ1LTEzLjk0NS01LjkxNS0xOC44NDEgMC02LjczMyA4LjEzNS0xNi4yMzMgMTIuODE2LTI2Ljc0OSAxMy4xODItNC4xNC4xNDQtNy4zNzkgMy42MTYtNy4yMzQgNy43NTYuMTQ0IDQuMTQgMy41OTQgNy4zNzEgNy43NTYgNy4yMzUgMTMuNTY2LS40NzIgMjYuMzg2LTYuMzI4IDM1LjY0Ni0xNi4xODcgMjAuMjc2IDIxLjYyOSA1NC41NjkgMjEuNjU3IDc0Ljg3NS4wMDEgMjAuMjc4IDIxLjYyOSA1NC41NzEgMjEuNjU0IDc0Ljg3NC0uMDAxIDkuMjYyIDkuODU5IDIyLjA4IDE1LjcxNSAzNS42NDcgMTYuMTg3IDQuMTIxLjE0OSA3LjYxMy0zLjA5NSA3Ljc1Ni03LjIzNS4xNDUtNC4xNC0zLjA5NC03LjYxMi03LjIzNC03Ljc1NnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM0MC4yOTQgMjE4Ljc1N2MtNC45MTQtNS45MzctMTMuOTM4LTUuOTI1LTE4Ljg0MiAwLTE0LjU5NiAxNy42MzYtNDEuNDYxIDE3LjYwNy01Ni4wMzEgMC00Ljk3My02LjAwNy0xNC4wMDUtNS44NDItMTguODQzIDAtMTQuNTk2IDE3LjYzOS00MS40NjEgMTcuNjA2LTU2LjAzMS0uMDAxLTQuOTA0LTUuOTIyLTEzLjkyNy01LjkzOC0xOC44NDEuMDAxLTcuOTk0IDkuNjU4LTIwLjE4MiAxNC40ODQtMzIuNjEyIDEyLjkxNC00LjEtLjUxOS03Ljg2MSAyLjM4OS04LjM4MiA2LjQ5OS0uNTIxIDQuMTA5IDIuMzkgNy44NjIgNi40OTkgOC4zODIgMTYuNDgxIDIuMDg5IDMyLjY1OC0zLjc5NSA0My45MTYtMTUuODA4IDIwLjI3NyAyMS42MjggNTQuNTY4IDIxLjY1NCA3NC44NzMgMCAyMC4yNzYgMjEuNjI3IDU0LjU3IDIxLjY1NiA3NC44NzMgMCAxMS4yNTggMTIuMDEzIDI3LjQzNiAxNy44OTYgNDMuOTE1IDE1LjgwOCA0LjEwOS0uNTIgNy4wMi00LjI3MiA2LjQ5OS04LjM4MnMtNC4yODktNy4wMTktOC4zODItNi40OTljLTEyLjQzNSAxLjU2OS0yNC42MTgtMy4yNTUtMzIuNjExLTEyLjkxNHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM2MC43ODIgMTA3LjdjLTguMDgyLTEuNzAzLTE1LjE2Ny02LTIwLjQ4Ny0xMi40MjctNC45MTQtNS45MzctMTMuOTM4LTUuOTI1LTE4Ljg0MiAwLTE0LjU5NyAxNy42MzctNDEuNDYyIDE3LjYwNi01Ni4wMzEgMC00Ljk3My02LjAwNy0xNC4wMDUtNS44NDItMTguODQzIDAtMTQuNTkyIDE3LjYzMy00MS40NTUgMTcuNjEzLTU2LjAzMS0uMDAxLTQuOTIyLTUuOTQ1LTEzLjk0NS01LjkxNS0xOC44NDEgMC01LjMyIDYuNDI3LTEyLjQwNCAxMC43MjUtMjAuNDg2IDEyLjQyOC00LjA1NC44NTQtNi42NDcgNC44MzItNS43OTMgOC44ODVzNC44NCA2LjY0NyA4Ljg4NSA1Ljc5MmMxMC4zODMtMi4xODggMTkuNTkyLTcuMzkgMjYuODE2LTE1LjExNyAyMC4yODIgMjEuNjMxIDU0LjU3MiAyMS42NDggNzQuODcyLS4wMDEgMjAuMjc2IDIxLjYyNiA1NC41NjcgMjEuNjU2IDc0Ljg3MS4wMDIgNy4yMjYgNy43MjcgMTYuNDM2IDEyLjkzIDI2LjgxOCAxNS4xMTYgNC4wNDguODU1IDguMDMtMS43NCA4Ljg4NS01Ljc5My44NTMtNC4wNTMtMS43NDEtOC4wMzEtNS43OTMtOC44ODR6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im01NC45ODUgNDI5LjI3M2gxNjkuNzMydjY5LjU3OWMwIDcuMjUgNS44OTggMTMuMTQ4IDEzLjE0OSAxMy4xNDhoMjUuMTkyYzcuMjUgMCAxMy4xNDgtNS44OTggMTMuMTQ4LTEzLjE0OHYtMS40NjRoNzQuMTk5djEuNDY0YzAgNy4yNSA1Ljg5OCAxMy4xNDggMTMuMTQ5IDEzLjE0OGgyNS4xOTJjNy4yNSAwIDEzLjE0OC01Ljg5OCAxMy4xNDgtMTMuMTQ4di02OS41NzloNTUuMTE5YzI0LjEyMSAwIDQzLjA4MS0yMC44ODYgNDAuNjU3LTQ0Ljk1Ni0uMDA0LS4wNC0uMDA4LS4wOC0uMDEzLS4xMmwtMTMuMDM1LTExMS41NjdjLS40ODEtNC4xMTQtNC4yMTUtNy4wNjItOC4zMTktNi41NzktNC4xMTQuNDgxLTcuMDYgNC4yMDYtNi41NzkgOC4zMmwxMy4wMyAxMTEuNTAzYzEuNDYgMTQuODMzLTEwLjA5NCAyOC4zOTgtMjUuNzM4IDI4LjM5OGgtNTUuMTE5di0xOS4wNThoNDQuOTM3YzkuNDcgMCAxNi44OC04LjE5MSAxNS45MzUtMTcuNjE2LS4wMDUtLjA0My0uMDEtLjA4Ni0uMDE1LS4xMjlsLTM4Ljc1Ni0zMjkuMDc0Yy0uODYxLTguMTc5LTcuNjk1LTE0LjMzNy0xNS45MjctMTQuMzM3aC0xMzQuNTcxYy00LjE0MyAwLTcuNSAzLjM1OC03LjUgNy41czMuMzU3IDcuNSA3LjUgNy41aDEzNC41NzFjLjUyMyAwIC45NTcuMzkzIDEuMDEuOTE0LjAwNC4wNDIuMDA5LjA4My4wMTQuMTI1bDM4Ljc1IDMyOS4wMzRjLjAxOS4yNzUtLjA3NC41NDctLjI2Ljc1MS0uMTkxLjIxMi0uNDY2LjMzMy0uNzUyLjMzM2gtNDQuOTM3di0yMi44OTJjMC0zOS40NzctMzIuMjU2LTcwLjM0NC03MC4zNDUtNzAuMzQ0LTI2Ljc3OCAwLTUwLjk0NyAxNS4xODktNjIuODM5IDM4Ljc0NC0xMi4wMDgtMjMuNzcyLTM2LjcyNS0zOS4yNS02NC4yMDYtMzguNzMxLTM3LjcuNzA5LTY4Ljk4OCAzMS41OTMtNjguOTg4IDcwLjMzMnYyMi44OTJoLTcwLjM1MmMtLjI4NiAwLS41Ni0uMTIyLS43NTMtLjMzNS0uMTg1LS4yMDQtLjI3Ny0uNDc2LS4yNTktLjc1MWwzOC43NTItMzI5LjAzMmMuMDA1LS4wNDIuMDEtLjA4NC4wMTQtLjEyNy4wNTMtLjUyLjQ4Ni0uOTEyIDEuMDEtLjkxMmgxMzQuNTdjNC4xNDMgMCA3LjUtMy4zNTggNy41LTcuNXMtMy4zNTctNy41LTcuNS03LjVoLTEzNC41N2MtOC4yMzMgMC0xNS4wNjcgNi4xNi0xNS45MjcgMTQuMzM5bC0zOC43NTcgMzI5LjA3M2MtLjAwNS4wNDMtLjAxLjA4Ni0uMDE1LjEyOS0uOTQ2IDkuNDIyIDYuNDY0IDE3LjYxNiAxNS45MzUgMTcuNjE2aDE1OS41NTF2MTkuMDU4aC0xNjkuNzMyYy0xNC44NTIgMC0yNy4yNzktMTIuNzgyLTI1LjczOS0yOC4zOTlsNDAuNjA5LTM0Ny40ODNjLjAwNS0uMDQuMDA5LS4wOC4wMTMtLjExOSAxLjMzNi0xMy4yNjggMTIuMzk5LTIzLjI3MyAyNS43MzQtMjMuMjczaDMyMC43OThjMTMuMzM1IDAgMjQuMzk3IDEwLjAwNSAyNS43MzMgMjMuMjcyLjAwNC4wNC4wMDguMDguMDEzLjEybDIzLjQ4NyAyMDAuOTc5Yy40ODEgNC4xMTUgNC4yMTcgNy4wNjMgOC4zMTkgNi41NzkgNC4xMTQtLjQ4IDcuMDYtNC4yMDYgNi41NzktOC4zMmwtMjMuNDgtMjAwLjkyMmMtMi4xMzgtMjAuOTMyLTE5LjYwMy0zNi43MDgtNDAuNjUxLTM2LjcwOGgtMzIwLjc5OGMtMjEuMDQ5IDAtMzguNTE2IDE1Ljc3Ny00MC42NTIgMzYuNzFsLTQwLjYxIDM0Ny40ODhjLS4wMDUuMDQtLjAwOS4wOC0uMDEzLjEyLTIuNDE1IDIzLjk5OSAxNi40NjYgNDQuOTU1IDQwLjY1OCA0NC45NTV6bTI1Ny43MTMtNzEuMzAyYzAtMTAuMzI1IDguMTIyLTE5LjI4OSAxOC41LTE5LjQ4MyAxMC42ODItLjIwNCAxOS4yMDkgOC40OTEgMTkuMjA5IDE4LjgzNnYyMi44OTJoLTM3LjcwOXptLTM2LjQ5MSA3MS4zMDJoNzQuMTk5djE5LjA1OGgtNzQuMTk5em03OC4yMTUtMzQuMDU4YzUuNTY5IDAgMTAuMDE0IDQuODE4IDkuNDg0IDEwLjQzLS40NzMgNC44ODQtNC41OSA4LjYyNy05LjQ4NCA4LjYyN2gtNzguMjE1di0xOS4wNThjMjYuMTEyLjAwMSA1Mi4xNjcuMDAxIDc4LjIxNS4wMDF6bS03OC4yMTUgNjguMTE2aDc4LjIxNWM1LjUzNyAwIDEwLjAxNiA0Ljc5NiA5LjQ4NCAxMC40My0uNDcyIDQuODc0LTQuNTg3IDguNjI3LTkuNDg0IDguNjI3aC03OC4yMTV6bTExMC42OSAzMy42NjloLTIxLjQ5di0yLjIxM2MxOC4wMTQtOS4xMjcgMTguMDU0LTM0LjcwOCAwLTQzLjg1NXYtMjQuMjZjMTguMDk4LTkuMTcgMTcuOTY4LTM0Ljc1MiAwLTQzLjg1NXYtMjUuNDkzYzAtMjAuNDg2LTE4LjIwMi0zNi41MTctMzguNzk0LTMzLjQ5LTE2LjM1MyAyLjQtMjguOTE1IDE2LjUyNi0yOC45MTUgMzMuNDl2MjIuODkyaC0yMS40OXYtMjEuODM3YzAtMzAuNTUyIDI0LjQ2LTU2LjA5NCA1NC44MjItNTYuMzg2IDMxLjIxOC0uMjYyIDU1Ljg2NyAyNS4wNTggNTUuODY3IDU1LjMzMXptLTIzNi4zNzctMTE2Ljc4NXYtMjEuODM4YzAtMzIuMjI0IDI2LjY5Ni01Ny41ODMgNTcuNTg5LTU2LjM0MiAyOS40ODMgMS4yMDQgNTMuMDk5IDI1LjUwMyA1My4wOTkgNTUuMjg3djEzOS42NzdoLTIxLjQ5YzAtMTQuNDE4IDAtMTIxLjA2MyAwLTEzOS42NzcgMC0xNy45NS0xNC4wNjUtMzIuODA0LTMxLjkxNS0zMy43OTUtMTkuMjc2LTEuMDk2LTM1Ljc5MyAxNC4yNjEtMzUuNzkzIDMzLjc5NXYyMi44OTJoLTIxLjQ5em0zNi40OSAwdi0yMi4yNDVjMC05LjQyNSA2Ljc2Mi0xNy43MjQgMTUuODc3LTE5LjI0MyAxMS42MzktMS44NTIgMjEuODMgNy4yMzcgMjEuODMgMTguNTk2djIyLjg5MnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",SNe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik0yMTYsMjUySDExNmMtNS41MSwwLTEwLDQuNDktMTAsMTBzNC40OSwxMCwxMCwxMGgxMDBjNS41MSwwLDEwLTQuNDksMTAtMTBTMjIxLjUxLDI1MiwyMTYsMjUyeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjU2LDI1MmMtNS41MSwwLTEwLDQuNDktMTAsMTBzNC40OSwxMCwxMCwxMHMxMC00LjQ5LDEwLTEwUzI2MS41MSwyNTIsMjU2LDI1MnoiLz4NCiAgICAgICAgPHBhdGggZD0iTTM5NiwyNTJIMjk2Yy01LjUxLDAtMTAsNC40OS0xMCwxMHM0LjQ5LDEwLDEwLDEwaDEwMGM1LjUxLDAsMTAtNC40OSwxMC0xMFM0MDEuNTEsMjUyLDM5NiwyNTJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0yODYsMTA3aC02MGMtNS41MjMsMC0xMCw0LjQ3Ny0xMCwxMHY2MGMwLDUuNTIzLDQuNDc3LDEwLDEwLDEwaDYwYzUuNTIzLDAsMTAtNC40NzcsMTAtMTB2LTYwDQoJCQlDMjk2LDExMS40NzcsMjkxLjUyMywxMDcsMjg2LDEwN3ogTTI3NiwxNjdoLTQwdi00MGg0MFYxNjd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik01MDIsNDkyaC0xM1YyMzNjMC02Mi4yMzctMjQuMjM2LTEyMC43NDgtNjguMjQ0LTE2NC43NTZDMzc2Ljc0OCwyNC4yMzYsMzE4LjIzNywwLDI1NiwwUzEzNS4yNTIsMjQuMjM2LDkxLjI0NCw2OC4yNDQNCgkJCVMyMywxNzAuNzYzLDIzLDIzM3YyNTlIMTBjLTUuNTIzLDAtMTAsNC40NzctMTAsMTBzNC40NzcsMTAsMTAsMTBoNDkyYzUuNTIzLDAsMTAtNC40NzcsMTAtMTBTNTA3LjUyMyw0OTIsNTAyLDQ5MnogTTM4Niw0OTJIMTI2DQoJCQl2LTIwaDI2MFY0OTJ6IE0zODYsNDUySDEyNnYtMjBoMjYwVjQ1MnogTTM4Niw0MTJIMTI2di0yMGgyNjBWNDEyeiBNMzg2LDM3MkgxMjZ2LTIwaDI2MFYzNzJ6IE0zODYsMzMySDEyNnYtMjBoMjYwVjMzMnoNCgkJCSBNNDI5LDQ5MmgtMjNWMzAyYzAtNS41MjMtNC40NzctMTAtMTAtMTBIMTE2Yy01LjUyMywwLTEwLDQuNDc3LTEwLDEwdjE5MEg4M1YyMzNjMC05NS42NjgsNzcuMzgzLTE3My41LDE3Mi41LTE3My41DQoJCQlDMzUxLjE2OCw1OS41LDQyOSwxMzcuMzMyLDQyOSwyMzNWNDkyeiBNNDY5LDQ5MmgtMjBWMjMzYzAtMTA2LjY5Ni04Ni44MDQtMTkzLjUtMTkzLjUtMTkzLjUNCgkJCWMtNTEuNjM5LDAtMTAwLjA2MywyMC4xMzctMTM2LjM1Miw1Ni43MDJDODIuOTQsMTMyLjY4NCw2MywxODEuMjY3LDYzLDIzM3YyNTlINDNWMjMzYzAtMTE3LjQ0OSw5NS41NTEtMjEzLDIxMy0yMTMNCgkJCXMyMTMsOTUuNTUxLDIxMywyMTNWNDkyeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",xNe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTUwOC41NDEgMjE4LjM4NC0xNjIuNTA3LTIwMy4xMzRjLTcuNzUzLTkuNjkyLTE5LjMxOC0xNS4yNS0zMS43MjktMTUuMjVoLTgzLjE1NWMtOC43MDMgMC0xNS43ODMgNy4wOC0xNS43ODMgMTUuNzgzdjE2LjU2N2MwIDguNzAzIDcuMDggMTUuNzgzIDE1Ljc4MyAxNS43ODNoMzMuOTE3djExNy41MzNoLTMwLjYzMmwtMTIwLjMzNC0xNTAuNDE2Yy03Ljc1My05LjY5MS0xOS4zMTgtMTUuMjUtMzEuNzI5LTE1LjI1aC02Ni41ODljLTguNzAzIDAtMTUuNzgzIDcuMDgtMTUuNzgzIDE1Ljc4M3YxNi41NjdjMCA4LjcwMyA3LjA4IDE1Ljc4MyAxNS43ODMgMTUuNzgzaDE3LjM1djExNy41MzNoLTE3LjM1Yy04LjcwMy4wMDEtMTUuNzgzIDcuMDgxLTE1Ljc4MyAxNS43ODR2MzA2LjQ4M2MwIDEzLjI3MSAxMC43OTYgMjQuMDY3IDI0LjA2NyAyNC4wNjdoNDcyLjE1YzguNzAzIDAgMTUuNzgzLTcuMDggMTUuNzgzLTE1Ljc4M3YtNzQuNTUtMTQzLjI4OS01MC4xMzRjMC0zLjU3MS0xLjIyOC03LjA3My0zLjQ1OS05Ljg2em0tNjIuMDI0IDE5NS43ODNjLS40MzIgMC0uNzgzLS4zNTItLjc4My0uNzgzdi03NC41NS0xMjEuOTA4bDE4LjEzNCAyMi42Njd2MTc0LjU3NHptLTIzMS45MzQgMGMtLjQzMiAwLS43ODQtLjM1Mi0uNzg0LS43ODN2LTY3LjA1aDE4LjEzM3Y2Ny44MzN6bS02Ni4yNjYtODIuODM0Yy0uNDMyIDAtLjc4NC0uMzUyLS43ODQtLjc4NHYtNjcuMDQ5aDE4LjEzM3Y2Ny44MzN6bS02Ni4yNjctODIuODMzYy0uNDMyIDAtLjc4My0uMzUyLS43ODMtLjc4M3YtNjcuMDVoMTguMTMzdjY3LjgzM3ptODMuNjE2LTkxLjc0MXY4LjkwOGgtMTguMTMzdi0zMS41NzR6bTY2LjI2NyA4Mi44MzN2OC45MDhoLTE4LjEzM3YtMzEuNTc0em04MS4yNjcgOC4xMjV2LTE5Ni40MjhjLjA3Mi4wODQuMTUyLjE2LjIyMi4yNDdsMTcuOTExIDIyLjM4OXYxNzQuNTc1aC0xNy4zNWMtLjQzMSAwLS43ODMtLjM1Mi0uNzgzLS43ODN6bTExNy41MzMgNTAuNDgzaC0xOC4xMzN2LTEyMi42OTFsMTguMTM0IDIyLjY2N3YxMDAuMDI0em0tMTguMTMzIDE1aDE4LjEzNHYxOC4xMzNoLTE4LjEzNHptLTE1IDE4LjEzM2gtMTcuMzVjLS40MzIgMC0uNzgzLS4zNTItLjc4My0uNzg0di03NC41NDktMTIxLjkwOGwxOC4xMzMgMjIuNjY2em0tMzMuMTMzLTExNS45NjZoLTE4LjEzNHYtMTIyLjY5MWwxOC4xMzQgMjIuNjY3em0tMTguMTM0IDE1aDE4LjEzNHYxOC4xMzNoLTE4LjEzNHptMTguMTM0IDMzLjEzM3Y2Ny4wNWMwIC4yNjQuMDI3LjUyMi4wNC43ODRoLTg0LjQ0di01Mi45NTUtMTQuODc5em0tOTkuNDAxIDE3LjUwOXYxMDAuMDI0aC0xOC4xMzN2LTEyMi42OTFsNS4wODYgNi4zNTd6bS0xNTAuNjY2LTE4OC4zMzMgMTguMTMzIDIyLjY2N3YxMDAuMDI0aC0xOC4xMzN6bTMzLjEzMyA4Ny45OTFoMTguMTMzdjY3LjgzM2gtMTguMTMzem0zMy4xMzMtNS4xNTggMTguMTMzIDIyLjY2N3YxMDAuMDI0aC0xOC4xMzN6bTMzLjEzNCA4Ny45OTFoMTguMTMzdjY3LjgzM2gtMTguMTMzem0tMTE0LjQtOTcuODMzaC0xOC4xMzN2LTExNC4zNzhjLjA3My4wODQuMTUyLjE2LjIyMi4yNDdsMTcuOTExIDIyLjM5em0xNSA2NC43aDE4LjEzM3YxOC4xMzNoLTE4LjEzM3ptNjYuMjY2IDgyLjgzM2gxOC4xMzR2MTguMTMzaC0xOC4xMzN2LTE4LjEzM3ptNjYuMjY3IDgyLjgzM2gxOC4xMzN2MTguMTMzaC0xOC4xMzN6bTMzLjEzMy00OS43aDE1MC42Njd2NjcuMDVjMCAuMjY0LjAyNy41MjIuMDQuNzgzaC0xNTAuNzA3em0yMDcuMzE2LTc3LjM0NiA5LjYxOCAxMi4wMjJ2MTAwLjAyNGgtMTguMTMzdi0xMjIuNjl6bS04LjUxNSAxMjcuMDQ2aDE4LjEzM3YxOC4xMzNoLTE4LjEzM3ptLTI0OC41LTM2My42ODN2LTE2LjU2N2MwLS40MzIuMzUyLS43ODMuNzgzLS43ODNoODMuMTU1YzcuODMgMCAxNS4xMjUgMy41MDYgMjAuMDE3IDkuNjJsMTYyLjUwNyAyMDMuMTM0YzAgLjAwMS4wMDEuMDAxLjAwMi4wMDIuMTA5LjEzNy4xNy4zMTEuMTcuNDg4djI4Ljc1M2wtMTcxLjg2Ni0yMTQuODMxYy00LjU5My01Ljc0LTExLjQ0Mi05LjAzMi0xOC43OTMtOS4wMzJoLS42NDItNzQuNTVjLS40MzItLjAwMS0uNzgzLS4zNTItLjc4My0uNzg0em02Ny44MzMgMTUuNzgzdjg0LjRoLTE4LjEzNHYtODQuNHptLTE4LjEzNCA5OS40aDE4LjEzNHYxOC4xMzNoLTE4LjEzNHptMTguMTM0IDMzLjEzNHY2Ny4wNWMwIC4yNjQuMDI3LjUyMi4wNC43ODNoLTE4LjE3NHYtMjAuMjU2YzAtMy41Ny0xLjIyOC03LjA3Mi0zLjQ1OC05Ljg1OSAwLS4wMDEgMC0uMDAxIDAtLjAwMWwtMzAuMTc0LTM3LjcxOGg1MS43NjZ6bS0yODMuMi0xNDguMzE3di0xNi41NjdjMC0uNDMxLjM1Mi0uNzgzLjc4My0uNzgzaDY2LjU4OGM3LjgzIDAgMTUuMTI1IDMuNTA2IDIwLjAxNiA5LjYybDE2Mi41MDggMjAzLjEzNGMuMTEuMTM4LjE3MS4zMTMuMTcxLjQ5djI4Ljc1NGwtMTcxLjg2NS0yMTQuODMyYy00LjU5Mi01Ljc0LTExLjQ0Mi05LjAzMy0xOC43OTMtOS4wMzNoLS42NDItNTcuOTgzYy0uNDMxIDAtLjc4My0uMzUxLS43ODMtLjc4M3ptNTEuMjY3IDE1Ljc4M3Y4NC40aC0xOC4xMzR2LTg0LjR6bS0xOC4xMzQgOTkuNGgxOC4xMzN2MTguMTMzaC0xOC4xMzN6bS0yNC4wNjYgMzQ5LjQ2N2MtNSAwLTkuMDY3LTQuMDY3LTkuMDY3LTkuMDY3di0zMDYuNDgzYzAtLjQzMi4zNTItLjc4NC43ODMtLjc4NGg1MC40ODN2NjcuMDVjMCA4LjcwMyA3LjA4IDE1Ljc4MyAxNS43ODMgMTUuNzgzaDUwLjQ4M3Y2Ny4wNWMwIDguNzAzIDcuMDgxIDE1Ljc4NCAxNS43ODQgMTUuNzg0aDUwLjQ4NHY2Ny4wNWMwIDguNzAzIDcuMDgxIDE1Ljc4MyAxNS43ODQgMTUuNzgzaDUwLjQ4M3Y2Ny4wNWMwIC40MzItLjM1Mi43ODMtLjc4My43ODNoLTI0MC4yMTd6bTQ3Mi45MzMtLjc4M2MwIC40MzItLjM1Mi43ODMtLjc4My43ODNoLTIxNi4xOWMuMDEzLS4yNjEuMDQtLjUxOS4wNC0uNzgzdi02Ny4wNWgyMTYuOTMzeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",kNe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMS45OTggNTExLjk5OCI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTUwMS45OTgsMzAuNTk4aC0xNTJjLTUuNTIzLDAtMTAsNC40NzctMTAsMTB2NDAuMDAzYzAsNS41MjMsNC40NzcsMTAsMTAsMTBoMjAuMDAxdjc0Ljc5NGgtMTkwDQoJCQkJYy01LjUyMiwwLTEwLDQuNDc3LTEwLDEwdjQwLjAwMmMwLDUuNTIzLDQuNDc4LDEwLDEwLDEwSDIwMHY3NC43OTZIMTBjLTUuNTIzLDAtMTAsNC40NzctMTAsMTB2NDAuMDAxYzAsNS41MjMsNC40NzcsMTAsMTAsMTANCgkJCQloMTMuOTk2VjQ3MS40YzAsNS41MjMsNC40NzcsMTAsMTAsMTBoMTgxLjc2YzIuMjU2LDAsNC40NDUtMC43NjMsNi4yMTMtMi4xNjVsMjg2LjI0My0yMjYuOTcyDQoJCQkJYzIuMzkyLTEuODk2LDMuNzg2LTQuNzgyLDMuNzg2LTcuODM1VjgwLjYwMVY0MC41OThDNTExLjk5OCwzNS4wNzUsNTA3LjUyMiwzMC41OTgsNTAxLjk5OCwzMC41OTh6IE0xODkuOTk5LDIwNS4zOTd2LTIwLjAwMg0KCQkJCWgxODB2MjAuMDAySDE4OS45OTl6IE0yMCwzNDAuMTk0di0yMC4wMDFoMTgwdjIwLjAwMUgyMHogTTQ5MS45OTgsMTA5Ljg3OWgtNDEuMDM1Yy01LjUyMywwLTEwLDQuNDc3LTEwLDEwDQoJCQkJYzAsNS41MjMsNC40NzcsMTAsMTAsMTBoNDEuMDM1djEwOS43MTVMMjEyLjI3MSw0NjEuNEg0My45OTZ2LTYyLjI1M2g0MS4wMzZjNS41MjIsMCwxMC00LjQ3NywxMC0xMHMtNC40NzgtMTAtMTAtMTBINDMuOTk2DQoJCQkJdi0xOC45NTNIMjEwYzUuNTIzLDAsMTAtNC40NzcsMTAtMTB2LTQwLjAwMXYtODQuNzk2aDE1OS45OTljNS41MjMsMCwxMC00LjQ3NywxMC0xMHYtNDAuMDAyVjkwLjYwMWgxMDEuOTk5VjEwOS44Nzl6DQoJCQkJIE00OTEuOTk4LDcwLjYwMWgtMTMyVjUwLjU5OGgxMzJWNzAuNjAxeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTE0LDM3OS4xNDRoLTAuMjM2Yy01LjUyNCwwLTEwLDQuNDc3LTEwLDEwczQuNDc2LDEwLDEwLDEwSDExNGM1LjUyMiwwLDEwLTQuNDc3LDEwLTEwUzExOS41MjIsMzc5LjE0NCwxMTQsMzc5LjE0NHoiLz4NCiAgICAgICAgPHBhdGggZD0iTTQyMS45OTgsMTI5Ljg4aDAuMjM1YzUuNTIyLDAsMTAtNC40NzcsMTAtMTBzLTQuNDc4LTEwLTEwLTEwaC0wLjIzNWMtNS41MjMsMC0xMCw0LjQ3Ny0xMCwxMA0KCQkJCVM0MTYuNDc1LDEyOS44OCw0MjEuOTk4LDEyOS44OHoiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",YNe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im01LjUxOCA2NGgyLjk4NmMuNTUzIDAgMS0uNDQ3IDEtMXYtMi4wMjFoNDQuOTkydjIuMDIxYzAgLjU1My40NDcgMSAxIDFoM2MuNTUzIDAgMS0uNDQ3IDEtMXYtNjAuNWMwLTEuMzc4LTEuMTIxLTIuNS0yLjUtMi41cy0yLjUgMS4xMjItMi41IDIuNXYxNS41MDRoLTIuOTk4di0xMy45OTZjMC0uNTUyLS40NDctMS0xLTFoLTE1Ljk5NmMtLjU1MyAwLTEgLjQ0OC0xIDF2MTMuOTk1aC0zLjAwMnYtMTMuOTk1YzAtLjU1Mi0uNDQ3LTEtMS0xaC0xNS45OTZjLS41NTMgMC0xIC40NDgtMSAxdjEzLjk5NWgtM3YtMTUuNTAzYzAtMS4zNzgtMS4xMjEtMi41LTIuNS0yLjVzLTIuNSAxLjEyMi0yLjUgMi41bC4wMTQgNjAuNWMwIC41NTMuNDQ3IDEgMSAxem01MC45NzgtNjEuNWMwLS4yNzYuMjI1LS41LjUtLjVzLjUuMjI0LjUuNXY1OS41aC0xem0tMTQuOTk4IDIuNTA4aDIuMDAydjEuMDA4aC0yLjAwMnptLTUuOTk2IDBoMy45OTZ2Mi4wMDhjMCAuNTUyLjQ0NyAxIDEgMWg0LjAwMmMuNTUzIDAgMS0uNDQ4IDEtMXYtMi4wMDhoMy45OTh2MTIuOTk1aC0xMy45OTZ6bS0xNS4wMDIgMGgydjEuMDA4aC0yem0tNS45OTYgMGgzLjk5NnYyLjAwOGMwIC41NTIuNDQ3IDEgMSAxaDRjLjU1MyAwIDEtLjQ0OCAxLTF2LTIuMDA4aDR2MTIuOTk1aC0xMy45OTZ6bS01IDE0Ljk5NWg0IDE1Ljk5NiA1LjAwMiAxNS45OTYgMy45OTh2MWgtNDQuOTkyem0wIDNoNDQuOTkydjEzLjk3MWgtMi45OTZ2LTEwLjk5YzAtLjU1Mi0uNDQ3LTEtMS0xaC0zN2MtLjU1MyAwLTEgLjQ0OC0xIDF2MTAuOTkxaC0yLjk5NnptMTkuOTk2IDYuOTgxaDVjLjU1MyAwIDEtLjQ0OCAxLTF2LTJoMTR2OS45OTFoLTM1di05Ljk5MWgxNHYyYzAgLjU1Mi40NDcgMSAxIDF6bTEtMnYtMWgzdjF6bS0yMC45OTYgMTAuOTkxaDMuOTk2IDM3IDMuOTk2djEuMDAyaC00NC45OTJ6bTAgMy4wMDJoNDQuOTkydjE0aC0yLjk5NHYtMTEuOTljMC0uNTUzLS40NDctMS0xLTFoLTE0LjAwMmMtLjU1MyAwLTEgLjQ0Ny0xIDF2MTEuOTloLTIuOTk0di04Ljk4OGMwLS41NTMtLjQ0Ny0xLTEtMWgtNi45OTRjLS4wMDQgMC0uMDA2LS4wMDItLjAxLS4wMDJzLS4wMDYuMDAyLS4wMS4wMDJoLTMuOTgyYy0uMDA0IDAtLjAwNi0uMDAyLS4wMS0uMDAycy0uMDA2LjAwMi0uMDEuMDAyaC02Ljk4NmMtLjU1MyAwLTEgLjQ0Ny0xIDF2OC45ODhoLTN6bTMxLjk5NiA2LjAxN2g0LjAwMmMuNTUzIDAgMS0uNDQ3IDEtMXYtMi4wMDhoM3YxMC45OWgtMTIuMDAydi0xMC45OWgzdjIuMDA4YzAgLjU1My40NDcgMSAxIDF6bTEtMnYtMS4wMDhoMi4wMDJ2MS4wMDh6bS0yMiA1aDQuMDAyYy41NTMgMCAxLS40NDcgMS0xdi0yLjAwNmg1LjAwNHY3Ljk4OGgtMTYuMDAydi03Ljk4OGg0Ljk5NnYyLjAwNmMwIC41NTMuNDQ3IDEgMSAxem0xLTJ2LTEuMDA2aDIuMDAydjEuMDA2em0tMTEuOTk2IDguOTgzaDQgMTguMDAyIDQuOTk0IDE0LjAwMiAzLjk5NHYxLjAwMmgtNDQuOTkyem0tMi41LTU1Ljk3N2MuMjc1IDAgLjUuMjI0LjUuNXY1OS41aC0uOTg2bC0uMDE0LTU5LjVjMC0uMjc2LjIyNS0uNS41LS41eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",QNe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im02MyAzdi0yaC0zMWMtLjU1MyAwLTEgLjQ0Ny0xIDF2OGMwIC41NTMuNDQ3IDEgMSAxaDF2NTBoLTMydjJoMzMgNCA4IDQgMTN2LTJoLTEydi01aDEydi0yaC0xMy00LTN2LTJoMjB2LTJoLTIxYy0uNTUzIDAtMSAuNDQ3LTEgMXY0YzAgLjU1My40NDcgMSAxIDFoM3Y1aC02di01MGgyNHYtMmgtMjUtNC0xdi02em0tMTYgNTNoMnY1aC0yem0tMTAtNDV2NTBoLTJ2LTUweiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjEgMzJjMC0yLjExOC0uNTAxLTQuMjM4LTEuNDQ3LTYuMTMxbC0uNjU4LTEuMzE2Yy0uMzQtLjY3OC0xLjQ0OS0uNjc4LTEuNzg5IDBsLS42NTggMS4zMTZjLS45NDcgMS44OTMtMS40NDggNC4wMTMtMS40NDggNi4xMzEgMCAuMjQxLjAyOS40ODEuMDQyLjcyMi0uNjQ2LS40ODMtMS4zODMtLjgzNy0yLjE3Mi0xLjAzNGwtMi42MjgtLjY1N2MtLjMzOC0uMDg3LS43MDEuMDE1LS45NDkuMjYzcy0uMzQ5LjYwOC0uMjYzLjk0OWwuNjU3IDIuNjI5Yy4yNjkgMS4wNzMuODIzIDIuMDU1IDEuNjA1IDIuODM2Ljc4MS43ODIgMS43NjMgMS4zMzcgMi44MzYgMS42MDVoLjAwMWwuNjcyLjE2OC0xLjI1LjYyNS44OTUgMS43ODkgMi41NTQtMS4yNzd2Mi4zODJoLTdjLS41NTMgMC0xIC40NDctMSAxdjRjMCAuNTUzLjQ0NyAxIDEgMWgxLjA5NWwuOTEgOS4xYy4wNTEuNTEuNDgxLjkuOTk1LjloMTBjLjUxNCAwIC45NDQtLjM5Ljk5NS0uOWwuOTEtOS4xaDEuMDk1Yy41NTMgMCAxLS40NDcgMS0xdi00YzAtLjU1My0uNDQ3LTEtMS0xaC03di0yLjM4MmwyLjU1MyAxLjI3Ni44OTUtMS43ODktMS4yNS0uNjI1LjY3Mi0uMTY4aC4wMDFjMS4wNzMtLjI2OSAyLjA1NS0uODIzIDIuODM2LTEuNjA1Ljc4Mi0uNzgxIDEuMzM3LTEuNzYzIDEuNjA1LTIuODM3bC42NTctMi42MjhjLjA4Ni0uMzQxLS4wMTUtLjcwMS0uMjYzLS45NDlzLS42MDktLjM1LS45NDktLjI2M2wtMi42MjkuNjU3Yy0uNzg4LjE5Ny0xLjUyNS41NTEtMi4xNzEgMS4wMzQuMDE0LS4yNC4wNDMtLjQ4LjA0My0uNzIxem0xLjA5NSAyNWgtOC4xODlsLS44LThoOS43OXptMi45MDUtMTBoLTE0di0yaDE0em0tNy0xOS43MzRjLjY1NSAxLjQ4NSAxIDMuMTEgMSA0LjczNHMtLjM0NSAzLjI0OS0xIDQuNzM0Yy0uNjU1LTEuNDg1LTEtMy4xMS0xLTQuNzM0cy4zNDUtMy4yNDkgMS00LjczNHptLTUuMjkzIDkuMDI3Yy0uNTI1LS41MjUtLjg5OC0xLjE4Ni0xLjA4LTEuOTA3bC0uMjUyLTEuMDExIDEuMDEuMjUyYy43MjMuMTgyIDEuMzgzLjU1NSAxLjkwOCAxLjA4cy44OTggMS4xODYgMS4wOCAxLjkwN2wuMjUyIDEuMDExLTEuMDEtLjI1MmMtLjcyMi0uMTgyLTEuMzgzLS41NTUtMS45MDgtMS4wOHptMTAuOTA3LTIuNjY2IDEuMDExLS4yNTItLjI1MiAxLjAxYy0uMTgyLjcyMy0uNTU1IDEuMzgzLTEuMDggMS45MDhzLTEuMTg2Ljg5OC0xLjkwOCAxLjA4bC0xLjAxLjI1Mi4yNTItMS4wMWMuMTgyLS43MjMuNTU1LTEuMzgzIDEuMDgtMS45MDhzMS4xODYtLjg5OCAxLjkwNy0xLjA4eiIvPg0KICAgICAgICA8cGF0aCBkPSJtNSAxNWgxM2MyLjc1NyAwIDUtMi4yNDMgNS01cy0yLjI0My01LTUtNWMtLjQzOCAwLS44NzcuMDYxLTEuMzAzLjE4LS43NjYtMi40NTUtMy4wMjMtNC4xOC01LjY5Ny00LjE4LTMuMzA5IDAtNiAyLjY5MS02IDYtMi4yMDYgMC00IDEuNzk0LTQgNHMxLjc5NCA0IDQgNHptMC02Yy4yNyAwIC41MzMuMDU0Ljc4My4xNi4zNTIuMTQ3Ljc1Ni4wODUgMS4wNDMtLjE2My4yODgtLjI0OC40MTEtLjYzOS4zMTctMS4wMDctLjA5OC0uMzc3LS4xNDMtLjY5Mi0uMTQzLS45OSAwLTIuMjA2IDEuNzk0LTQgNC00IDIuMDgxIDAgMy43ODQgMS41NzQgMy45NjEgMy42NjIuMDI4LjM0NS4yMzMuNjQ4LjU0LjgwNi4zMDguMTU4LjY3NS4xNDUuOTctLjAzMi40ODMtLjI5Ljk5Ny0uNDM2IDEuNTI5LS40MzYgMS42NTQgMCAzIDEuMzQ2IDMgM3MtMS4zNDYgMy0zIDNoLTEzYy0xLjEwMyAwLTItLjg5Ny0yLTJzLjg5Ny0yIDItMnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",UNe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCIgd2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik01MSw1N0g0OC40MTRsLS44NzktLjg3OWE4LjU4Nyw4LjU4NywwLDAsMS0yLjQ3MS01LjExMkM1MS4xNTMsNDguNTg3LDU1LjYwNyw0MS45MzQsNTUuOTU3LDM0SDU2YTEsMSwwLDAsMCwxLTFWMzBhMSwxLDAsMCwwLTEtMUg1Mi40NjRhMTkuNTgyLDE5LjU4MiwwLDAsMCwxLjY3My00SDU3YTEsMSwwLDAsMCwxLTFWNGExLDEsMCwwLDAtMS0xSDQ2Ljg0MUExMi43LDEyLjcsMCwwLDAsMzMuMTU5LDNIMjNhMSwxLDAsMCwwLTEsMVYyNGExLDEsMCwwLDAsMSwxaDIuODYzYTE5LjU4MiwxOS41ODIsMCwwLDAsMS42NzMsNEgyNGExLDEsMCwwLDAtMSwxdjNhMSwxLDAsMCwwLDEsMWguMDQzYy4zNSw3LjkzNCw0LjgsMTQuNTg3LDEwLjg5MywxNy4wMDlhOC41ODcsOC41ODcsMCwwLDEtMi40NzEsNS4xMTJMMzEuNTg2LDU3SDI5YTEsMSwwLDAsMC0xLDF2NGExLDEsMCwwLDAsMSwxSDUxYTEsMSwwLDAsMCwxLTFWNThBMSwxLDAsMCwwLDUxLDU3Wk01Niw1VjIzSDU0LjYxMUEyMS40NDcsMjEuNDQ3LDAsMCwwLDU1LDE5LDE5LjQ5MywxOS40OTMsMCwwLDAsNDkuNDA3LDVaTTI0LDIzVjVoNi41OTNBMTkuNDkzLDE5LjQ5MywwLDAsMCwyNSwxOWEyMS40NDcsMjEuNDQ3LDAsMCwwLC4zODksNFptMy00YzAtOC44MjIsNS44MzItMTYsMTMtMTZzMTMsNy4xNzgsMTMsMTZhMTguNDA3LDE4LjQwNywwLDAsMS0yLjg3MiwxMEg0Ny42ODJBMTYsMTYsMCwwLDAsNTEsMTljMC03LjcyLTQuOTM1LTE0LTExLTE0UzI5LDExLjI4LDI5LDE5YTE2LDE2LDAsMCwwLDMuMzE4LDEwSDI5Ljg3MkExOC40MDcsMTguNDA3LDAsMCwxLDI3LDE5Wm04LjA2MSwxMEExMy4zMDgsMTMuMzA4LDAsMCwxLDMxLDE5YzAtNi42MTcsNC4wMzctMTIsOS0xMnM5LDUuMzgzLDksMTJhMTMuMzA4LDEzLjMwOCwwLDAsMS00LjA2MSwxMFpNMjUsMzFINTV2MUgyNVptMS4wNDIsM0g1My45NThDNTMuNTI4LDQyLjkwOCw0Ny40NDIsNTAsNDAsNTBTMjYuNDcyLDQyLjkwOCwyNi4wNDIsMzRaTTM2Ljg2NCw1MS42MjlhMTMuNDQsMTMuNDQsMCwwLDAsNi4yNzIsMEExMC41MzksMTAuNTM5LDAsMCwwLDQ1LjYzNiw1N0gzNC4zNjRBMTAuNTM5LDEwLjUzOSwwLDAsMCwzNi44NjQsNTEuNjI5Wk01MCw2MUgzMFY1OUg1MFoiLz4NCiAgICAgICAgPHJlY3QgeD0iMjUiIHk9IjYiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiLz4NCiAgICAgICAgPHBhdGggZD0iTTIzLDU3aC0uMDhBNy4wMSw3LjAxLDAsMCwwLDE5LDUxLjY4NVY0OGExLDEsMCwwLDAtMS0xSDE3VjI2LjgxNmEzLDMsMCwxLDAtMiwwVjQ3SDE0YTEsMSwwLDAsMC0xLDF2My42ODVBNy4wMSw3LjAxLDAsMCwwLDkuMDgsNTdIOWEzLDMsMCwwLDAsMCw2SDIzYTMsMywwLDAsMCwwLTZaTTE2LDIzYTEsMSwwLDEsMS0xLDFBMSwxLDAsMCwxLDE2LDIzWk0xNSw0OWgydjIuMDhhNi4yOSw2LjI5LDAsMCwwLTIsMFptMSw0YTUuMDA2LDUuMDA2LDAsMCwxLDUsNUgxMUE1LjAwNiw1LjAwNiwwLDAsMSwxNiw1M1ptNyw4SDlhMSwxLDAsMCwxLDAtMiwxLDEsMCwwLDAsMSwxSDIyYTEsMSwwLDAsMCwxLTEsMSwxLDAsMCwxLDAsMloiLz4NCiAgICAgICAgPHBhdGggZD0iTTgsMTVhMSwxLDAsMCwwLDEtMSw1LjAwNiw1LjAwNiwwLDAsMSw1LTUsMSwxLDAsMCwwLDAtMkE1LjAwNiw1LjAwNiwwLDAsMSw5LDIsMSwxLDAsMCwwLDcsMiw1LjAwNiw1LjAwNiwwLDAsMSwyLDcsMSwxLDAsMCwwLDIsOWE1LjAwNiw1LjAwNiwwLDAsMSw1LDVBMSwxLDAsMCwwLDgsMTVaTTUuNiw4QTcuMDY2LDcuMDY2LDAsMCwwLDgsNS42LDcuMDY2LDcuMDY2LDAsMCwwLDEwLjQsOCw3LjA2Niw3LjA2NiwwLDAsMCw4LDEwLjQsNy4wNjYsNy4wNjYsMCwwLDAsNS42LDhaIi8+DQogICAgICAgIDxwYXRoIGQ9Ik0xNCwxMWEzLDMsMCwwLDEtMywzLDEsMSwwLDAsMCwwLDIsMywzLDAsMCwxLDMsMywxLDEsMCwwLDAsMiwwLDMsMywwLDAsMSwzLTMsMSwxLDAsMCwwLDAtMiwzLDMsMCwwLDEtMy0zLDEsMSwwLDAsMC0yLDBabTIsNGE1LjAxNyw1LjAxNywwLDAsMC0xLDEsNS4wMTcsNS4wMTcsMCwwLDAtMS0xLDUuMDE3LDUuMDE3LDAsMCwwLDEtMUE1LjAxNyw1LjAxNywwLDAsMCwxNiwxNVoiLz4NCiAgICAgICAgPHBhdGggZD0iTTYyLDQ4YTMsMywwLDAsMS0zLTMsMSwxLDAsMCwwLTIsMCwzLDMsMCwwLDEtMywzLDEsMSwwLDAsMCwwLDIsMywzLDAsMCwxLDMsMywxLDEsMCwwLDAsMiwwLDMsMywwLDAsMSwzLTMsMSwxLDAsMCwwLDAtMlptLTQsMmE1LjAxNyw1LjAxNywwLDAsMC0xLTEsNS4wMTcsNS4wMTcsMCwwLDAsMS0xLDUuMDE3LDUuMDE3LDAsMCwwLDEsMUE1LjAxNyw1LjAxNywwLDAsMCw1OCw1MFoiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",vNe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUwOSA1MDkiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTM1OS4yIDB2ODkuOGgtODkuODAxdjg5LjhoLTg5Ljh2ODkuOGgtODkuNzk5djg5LjhoLTg5Ljh2MTQ5LjhoNTA5di01MDl6bTExOS44IDQ3OWgtNDQ5di04OS44aDg5Ljh2LTg5LjhoODkuOHYtODkuOGg4OS44di04OS44aDg5Ljh2LTg5LjhoODkuOHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTY4LjQ0OCAxNzYuOTU2IDk0LjA0MS05NC4wNC0zLjYyOSA0My4wNjYgMjkuODk1IDIuNTE5IDguNTYyLTEwMS42MjYtMTAxLjYyNyA4LjU2MiAyLjUxOCAyOS44OTQgNDMuMDY4LTMuNjI4LTk0LjA0MSA5NC4wNHoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",bNe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik0yMzguOTMzLDM0LjEzM2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzVjc2LjhjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzczguNTMzLTMuODIzLDguNTMzLTguNTMzVjQyLjY2Nw0KCQkJQzI0Ny40NjcsMzcuOTU2LDI0My42NDQsMzQuMTMzLDIzOC45MzMsMzQuMTMzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNNDc3Ljg2NywzNC4xMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM1Y3Ni44YzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM1M0ODYuNCw4MS41MSw0ODYuNCw3Ni44VjQyLjY2Nw0KCQkJQzQ4Ni40LDM3Ljk1Niw0ODIuNTc3LDM0LjEzMyw0NzcuODY3LDM0LjEzM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTE3OS4yLDBIOC41MzNDMy44MjMsMCwwLDMuODIzLDAsOC41MzN2NDk0LjkzM0MwLDUwOC4xNzcsMy44MjMsNTEyLDguNTMzLDUxMkgxNzkuMmM0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzMNCgkJCVY4LjUzM0MxODcuNzMzLDMuODIzLDE4My45MSwwLDE3OS4yLDB6IE0xNzAuNjY3LDQ5NC45MzNoLTE1My42VjE3LjA2N2gxNTMuNlY0OTQuOTMzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNNTAzLjQ2NywzNTguNEgxNzkuMmMtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzdjEzNi41MzNjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzaDMyNC4yNjcNCgkJCWM0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzNWMzY2LjkzM0M1MTIsMzYyLjIyMyw1MDguMTc3LDM1OC40LDUwMy40NjcsMzU4LjR6IE00OTQuOTMzLDQ5NC45MzNoLTMwNy4yVjM3NS40NjdoMzA3LjINCgkJCVY0OTQuOTMzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNNTAzLjQ2NywwSDE3OS4yYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzN2MzQuMTMzYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2gzMjQuMjY3DQoJCQljNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzVjguNTMzQzUxMiwzLjgyMyw1MDguMTc3LDAsNTAzLjQ2NywweiBNNDk0LjkzMywzNC4xMzNoLTMwNy4yVjE3LjA2N2gzMDcuMlYzNC4xMzN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0xMzYuNTMzLDI0Ny40NjdoLTI1LjZjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3MzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2gyNS42YzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzMw0KCQkJUzE0MS4yNDQsMjQ3LjQ2NywxMzYuNTMzLDI0Ny40Njd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0xMTAuOTMzLDI0Ny40NjdjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3YyNS42YzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM3M4LjUzMy0zLjgyMyw4LjUzMy04LjUzM1YyNTYNCgkJCUMxMTkuNDY3LDI1MS4yOSwxMTUuNjQ0LDI0Ny40NjcsMTEwLjkzMywyNDcuNDY3eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzY2LjkzMyw0MTguMTMzaC01MS4yYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNzMy44MjMsOC41MzMsOC41MzMsOC41MzNoNTEuMmM0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzMNCgkJCVMzNzEuNjQ0LDQxOC4xMzMsMzY2LjkzMyw0MTguMTMzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzQxLjMzMyw0MTguMTMzYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzN2MTcuMDY3YzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM3M4LjUzMy0zLjgyMyw4LjUzMy04LjUzMw0KCQkJdi0xNy4wNjdDMzQ5Ljg2Nyw0MjEuOTU2LDM0Ni4wNDQsNDE4LjEzMywzNDEuMzMzLDQxOC4xMzN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0yOTAuMTMzLDM0LjEzM2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzdjUxLjJjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzczguNTMzLTMuODIzLDguNTMzLTguNTMzdi01MS4yDQoJCQlDMjk4LjY2NywzNy45NTYsMjk0Ljg0NCwzNC4xMzMsMjkwLjEzMywzNC4xMzN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0yOTAuMTMzLDExOS40NjdjLTQ1LjkzNSwwLTc2LjgsMTcuMTQzLTc2LjgsNDIuNjY3VjE3OS4yYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2gxNy4wNjd2NzYuOA0KCQkJYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM0gzMzIuOGM0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzN2LTc2LjhIMzU4LjRjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzdi0xNy4wNjcNCgkJCUMzNjYuOTMzLDEzNi42MSwzMzYuMDY4LDExOS40NjcsMjkwLjEzMywxMTkuNDY3eiBNMzQ5Ljg2NywxNzAuNjY3SDMzMi44Yy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNWMjU2SDI1NnYtNzYuOA0KCQkJYzAtNC43MS0zLjgyMy04LjUzMy04LjUzMy04LjUzM0gyMzAuNHYtOC41MzNjMC0xMi40MDcsMjAuOTMyLTI1LjYsNTkuNzMzLTI1LjZzNTkuNzMzLDEzLjE5Myw1OS43MzMsMjUuNlYxNzAuNjY3eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzQ5Ljg2NywxMTkuNDY3Yy0xMS4zNzUsMC0yMi4wNDIsMS4wNzUtMzEuNjkzLDMuMTkxYy0zLjkxNywwLjg2Mi02LjcwNyw0LjMyNi02LjcwNyw4LjMzNw0KCQkJYzAsNC4wMTEsMi43OSw3LjQ3NSw2LjcwNyw4LjMzN2MxOS4yNTEsNC4yMTUsMzEuNjkzLDEzLjE2NywzMS42OTMsMjIuODAxdjguNTMzSDMzMi44Yy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzN2ODUuMzMzDQoJCQljMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzaDU5LjczM2M0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzN2LTc2LjhoMTcuMDY3YzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtMTcuMDY3DQoJCQlDNDI2LjY2NywxMzYuNjEsMzk1LjgwMiwxMTkuNDY3LDM0OS44NjcsMTE5LjQ2N3ogTTQwOS42LDE3MC42NjdoLTE3LjA2N2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzVjI1NmgtNDIuNjY3di02OC4yNjcNCgkJCUgzNTguNGM0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzN2LTE3LjA2N2MwLTkuODEzLTQuNzM2LTE4LjU3Ny0xMy4zOC0yNS41NTdjMzYuNDM3LDAuODAyLDU2LjA0NywxMy41NDIsNTYuMDQ3LDI1LjU1Nw0KCQkJVjE3MC42Njd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik00MDkuNiwxMTkuNDY3Yy0xMS4zNzUsMC0yMi4wNDIsMS4wNzUtMzEuNjkzLDMuMTkxYy0zLjkxNywwLjg2Mi02LjcwNyw0LjMyNi02LjcwNyw4LjMzNw0KCQkJYzAsNC4wMTEsMi43OSw3LjQ3NSw2LjcwNyw4LjMzN2MxOS4yNTEsNC4yMTUsMzEuNjkzLDEzLjE2NywzMS42OTMsMjIuODAxdjguNTMzaC0xNy4wNjdjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3Y4NS4zMzMNCgkJCWMwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNoNTkuNzMzYzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtNzYuOGgxNy4wNjdjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzdi0xNy4wNjcNCgkJCUM0ODYuNCwxMzYuNjEsNDU1LjUzNSwxMTkuNDY3LDQwOS42LDExOS40Njd6IE00NjkuMzMzLDE3MC42NjdoLTE3LjA2N2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzVjI1NmgtNDIuNjY3di02OC4yNjcNCgkJCWgxNy4wNjdjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzdi0xNy4wNjdjMC05LjgxMy00LjczNi0xOC41NzctMTMuMzgtMjUuNTU3YzM2LjQzNywwLjgwMiw1Ni4wNDcsMTMuNTQyLDU2LjA0NywyNS41NTcNCgkJCVYxNzAuNjY3eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjkwLjEzMyw4NS4zMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM2MwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNjNC43MDIsMCw4LjUzMywzLjgzMSw4LjUzMyw4LjUzMw0KCQkJYzAsNC43MDItMy44MzEsOC41MzMtOC41MzMsOC41MzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3MzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2MxNC4xMTQsMCwyNS42LTExLjQ4NiwyNS42LTI1LjYNCgkJCVMzMDQuMjQ3LDg1LjMzMywyOTAuMTMzLDg1LjMzM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTM1OC40LDM0LjEzM2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzdjUxLjJjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzczguNTMzLTMuODIzLDguNTMzLTguNTMzdi01MS4yDQoJCQlDMzY2LjkzMywzNy45NTYsMzYzLjExLDM0LjEzMywzNTguNCwzNC4xMzN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0zNTguNCw4NS4zMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM2MwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNjNC43MDIsMCw4LjUzMywzLjgzMSw4LjUzMyw4LjUzMw0KCQkJYzAsNC43MDItMy44MzEsOC41MzMtOC41MzMsOC41MzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3MzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2MxNC4xMTQsMCwyNS42LTExLjQ4NiwyNS42LTI1LjYNCgkJCVMzNzIuNTE0LDg1LjMzMywzNTguNCw4NS4zMzN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik00MjYuNjY3LDM0LjEzM2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzdjUxLjJjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzczguNTMzLTMuODIzLDguNTMzLTguNTMzdi01MS4yDQoJCQlDNDM1LjIsMzcuOTU2LDQzMS4zNzcsMzQuMTMzLDQyNi42NjcsMzQuMTMzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNNDI2LjY2Nyw4NS4zMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM2MwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNjNC43MDIsMCw4LjUzMywzLjgzMSw4LjUzMyw4LjUzMw0KCQkJYzAsNC43MDItMy44MzEsOC41MzMtOC41MzMsOC41MzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3MzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2MxNC4xMTQsMCwyNS42LTExLjQ4NiwyNS42LTI1LjYNCgkJCVM0NDAuNzgxLDg1LjMzMyw0MjYuNjY3LDg1LjMzM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTQ4Ni40LDMyNC4yNjdIMTc5LjJjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3YzNC4xMzNjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzaDMwNy4yDQoJCQljNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzVjMzMi44QzQ5NC45MzMsMzI4LjA5LDQ5MS4xMSwzMjQuMjY3LDQ4Ni40LDMyNC4yNjd6IE00NzcuODY3LDM1OC40SDE4Ny43MzN2LTE3LjA2N2gyOTAuMTMzDQoJCQlWMzU4LjR6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik00NjkuMzMzLDM5Mi41MzNoLTI1NmMtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzdjY4LjI2N2MwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNoMjU2DQoJCQljNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzdi02OC4yNjdDNDc3Ljg2NywzOTYuMzU2LDQ3NC4wNDQsMzkyLjUzMyw0NjkuMzMzLDM5Mi41MzN6IE00NjAuOCw0NjAuOEgyMjEuODY3di01MS4ySDQ2MC44DQoJCQlWNDYwLjh6Ii8+DQogICAgPC9nPg0KPC9zdmc+DQo=",$Ne="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im01NS43NTggNjEtMS41NjktNS41N2M0LjA1My0yLjIwNCA2LjgxMS02LjUwMSA2LjgxMS0xMS40M3YtMWMxLjEwMyAwIDItLjg5NyAyLTJ2LTJjMC0xLjEwMy0uODk3LTItMi0ydi0xMGMxLjEwMyAwIDItLjg5NyAyLTJ2LTJjMC0xLjEwMy0uODk3LTItMi0yaC0yNmMtMS4xMDMgMC0yIC44OTctMiAydjJjMCAxLjEwMy44OTcgMiAyIDJ2MTBjLTEuMTAzIDAtMiAuODk3LTIgMnYyYzAgMS4xMDMuODk3IDIgMiAydjFjMCA0LjkyOSAyLjc1OCA5LjIyNiA2LjgxMSAxMS40M2wtMS41NjkgNS41N2gtMTMuMzQzYy0uNDY1LTIuMjc5LTIuNDg0LTQtNC44OTktNGgtMXYtOS4wMDNjNC42OTMtMS45NjMgOC02LjYgOC0xMS45OTd2LTdoLTE4di00aDR2Mmgydi0yYzAtMS4xMDMtLjg5Ny0yLTItMmgtNi0xLTFjLTEuMTAzIDAtMiAuODk3LTIgMnY0aC0ydjdjMCA1LjM5NyAzLjMwNyAxMC4wMzQgOCAxMS45OTd2OS4wMDNoLTFjLTIuNDE0IDAtNC40MzQgMS43MjEtNC44OTkgNGgtNS4xMDF2Mmg2NHYtMnptLTIwLjc1OS0zOGgyNi4wMDF2MmgtMjZ6bTIuMDAxIDhoNHYtMmgtNHYtMmgyMnYxMGgtMjJ6bS0yLjAwMSA4aDI2LjAwMXYyaC0yNnptMi4wMDEgNXYtMWgyMnYxYzAgNi4wNjUtNC45MzUgMTEtMTEgMTFzLTExLTQuOTM1LTExLTExem02LjY2MSAxMi4yNGMxLjM2LjQ4MyAyLjgxNi43NiA0LjMzOS43NnMyLjk3OS0uMjc3IDQuMzM5LS43NmwxLjM0IDQuNzZoLTExLjM1OHptLTM2LjY2MS0zMS4yNGgxIDF2NGgtMnptMjAgNnYyaC0yMnYtMnptLTIyIDV2LTFoMjJ2MWMwIDYuMDY1LTQuOTM1IDExLTExIDExcy0xMS00LjkzNS0xMS0xMXptOCAxMi42MzdjLjk2NS4yMjkgMS45NjYuMzYzIDMgLjM2M3MyLjAzNS0uMTM0IDMtLjM2M3Y4LjM2M2gtNnptLTMgMTAuMzYzaDEyYzEuMzAyIDAgMi40MDIuODM5IDIuODE2IDJoLTE3LjYzMmMuNDE0LTEuMTYxIDEuNTE0LTIgMi44MTYtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQgMjFoMjRjMS42NTQgMCAzLTEuMzQ2IDMtM3YtMTRjMC0xLjY1NC0xLjM0Ni0zLTMtM2gtMjRjLTEuNjU0IDAtMyAxLjM0Ni0zIDN2MTRjMCAxLjY1NCAxLjM0NiAzIDMgM3ptLTEtMTdjMC0uNTUxLjQ0OC0xIDEtMWgyNGMuNTUyIDAgMSAuNDQ5IDEgMXYxNGMwIC41NTEtLjQ0OCAxLTEgMWgtMjRjLS41NTIgMC0xLS40NDktMS0xeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTAgMi41MTVoMnYxNi45NzFoLTJ6IiB0cmFuc2Zvcm09Im1hdHJpeCguNzA3IC0uNzA3IC43MDcgLjcwNyAtNC41NTYgMTEpIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yMCAyLjUxNWgydjE2Ljk3MWgtMnoiIHRyYW5zZm9ybT0ibWF0cml4KC43MDcgLS43MDcgLjcwNyAuNzA3IC0xLjYyNyAxOC4wNzEpIi8+DQogICAgICAgIDxwYXRoIGQ9Im0zNSA5aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM1IDEzaDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM3IDExaDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTMzIDExaDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ1IDNoMnYyaC0yeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNDUgN2gydjJoLTJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00NyA1aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQzIDVoMnYyaC0yeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNTUgMTNoMnYyaC0yeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNTUgMTdoMnYyaC0yeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNTcgMTVoMnYyaC0yeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNTMgMTVoMnYyaC0yeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",PNe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCIgd2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik01MSw1N0g0OC40MTRsLS44NzktLjg3OWE4LjU4Nyw4LjU4NywwLDAsMS0yLjQ3MS01LjExMkM1MS4xNTMsNDguNTg3LDU1LjYwNyw0MS45MzQsNTUuOTU3LDM0SDU2YTEsMSwwLDAsMCwxLTFWMzBhMSwxLDAsMCwwLTEtMUg1Mi40NjRhMTkuNTgyLDE5LjU4MiwwLDAsMCwxLjY3My00SDU3YTEsMSwwLDAsMCwxLTFWNGExLDEsMCwwLDAtMS0xSDQ2Ljg0MUExMi43LDEyLjcsMCwwLDAsMzMuMTU5LDNIMjNhMSwxLDAsMCwwLTEsMVYyNGExLDEsMCwwLDAsMSwxaDIuODYzYTE5LjU4MiwxOS41ODIsMCwwLDAsMS42NzMsNEgyNGExLDEsMCwwLDAtMSwxdjNhMSwxLDAsMCwwLDEsMWguMDQzYy4zNSw3LjkzNCw0LjgsMTQuNTg3LDEwLjg5MywxNy4wMDlhOC41ODcsOC41ODcsMCwwLDEtMi40NzEsNS4xMTJMMzEuNTg2LDU3SDI5YTEsMSwwLDAsMC0xLDF2NGExLDEsMCwwLDAsMSwxSDUxYTEsMSwwLDAsMCwxLTFWNThBMSwxLDAsMCwwLDUxLDU3Wk01Niw1VjIzSDU0LjYxMUEyMS40NDcsMjEuNDQ3LDAsMCwwLDU1LDE5LDE5LjQ5MywxOS40OTMsMCwwLDAsNDkuNDA3LDVaTTI0LDIzVjVoNi41OTNBMTkuNDkzLDE5LjQ5MywwLDAsMCwyNSwxOWEyMS40NDcsMjEuNDQ3LDAsMCwwLC4zODksNFptMy00YzAtOC44MjIsNS44MzItMTYsMTMtMTZzMTMsNy4xNzgsMTMsMTZhMTguNDA3LDE4LjQwNywwLDAsMS0yLjg3MiwxMEg0Ny42ODJBMTYsMTYsMCwwLDAsNTEsMTljMC03LjcyLTQuOTM1LTE0LTExLTE0UzI5LDExLjI4LDI5LDE5YTE2LDE2LDAsMCwwLDMuMzE4LDEwSDI5Ljg3MkExOC40MDcsMTguNDA3LDAsMCwxLDI3LDE5Wm04LjA2MSwxMEExMy4zMDgsMTMuMzA4LDAsMCwxLDMxLDE5YzAtNi42MTcsNC4wMzctMTIsOS0xMnM5LDUuMzgzLDksMTJhMTMuMzA4LDEzLjMwOCwwLDAsMS00LjA2MSwxMFpNMjUsMzFINTV2MUgyNVptMS4wNDIsM0g1My45NThDNTMuNTI4LDQyLjkwOCw0Ny40NDIsNTAsNDAsNTBTMjYuNDcyLDQyLjkwOCwyNi4wNDIsMzRaTTM2Ljg2NCw1MS42MjlhMTMuNDQsMTMuNDQsMCwwLDAsNi4yNzIsMEExMC41MzksMTAuNTM5LDAsMCwwLDQ1LjYzNiw1N0gzNC4zNjRBMTAuNTM5LDEwLjUzOSwwLDAsMCwzNi44NjQsNTEuNjI5Wk01MCw2MUgzMFY1OUg1MFoiLz4NCiAgICAgICAgPHJlY3QgeD0iMjUiIHk9IjYiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiLz4NCiAgICAgICAgPHBhdGggZD0iTTIzLDU3aC0uMDhBNy4wMSw3LjAxLDAsMCwwLDE5LDUxLjY4NVY0OGExLDEsMCwwLDAtMS0xSDE3VjI2LjgxNmEzLDMsMCwxLDAtMiwwVjQ3SDE0YTEsMSwwLDAsMC0xLDF2My42ODVBNy4wMSw3LjAxLDAsMCwwLDkuMDgsNTdIOWEzLDMsMCwwLDAsMCw2SDIzYTMsMywwLDAsMCwwLTZaTTE2LDIzYTEsMSwwLDEsMS0xLDFBMSwxLDAsMCwxLDE2LDIzWk0xNSw0OWgydjIuMDhhNi4yOSw2LjI5LDAsMCwwLTIsMFptMSw0YTUuMDA2LDUuMDA2LDAsMCwxLDUsNUgxMUE1LjAwNiw1LjAwNiwwLDAsMSwxNiw1M1ptNyw4SDlhMSwxLDAsMCwxLDAtMiwxLDEsMCwwLDAsMSwxSDIyYTEsMSwwLDAsMCwxLTEsMSwxLDAsMCwxLDAsMloiLz4NCiAgICAgICAgPHBhdGggZD0iTTgsMTVhMSwxLDAsMCwwLDEtMSw1LjAwNiw1LjAwNiwwLDAsMSw1LTUsMSwxLDAsMCwwLDAtMkE1LjAwNiw1LjAwNiwwLDAsMSw5LDIsMSwxLDAsMCwwLDcsMiw1LjAwNiw1LjAwNiwwLDAsMSwyLDcsMSwxLDAsMCwwLDIsOWE1LjAwNiw1LjAwNiwwLDAsMSw1LDVBMSwxLDAsMCwwLDgsMTVaTTUuNiw4QTcuMDY2LDcuMDY2LDAsMCwwLDgsNS42LDcuMDY2LDcuMDY2LDAsMCwwLDEwLjQsOCw3LjA2Niw3LjA2NiwwLDAsMCw4LDEwLjQsNy4wNjYsNy4wNjYsMCwwLDAsNS42LDhaIi8+DQogICAgICAgIDxwYXRoIGQ9Ik0xNCwxMWEzLDMsMCwwLDEtMywzLDEsMSwwLDAsMCwwLDIsMywzLDAsMCwxLDMsMywxLDEsMCwwLDAsMiwwLDMsMywwLDAsMSwzLTMsMSwxLDAsMCwwLDAtMiwzLDMsMCwwLDEtMy0zLDEsMSwwLDAsMC0yLDBabTIsNGE1LjAxNyw1LjAxNywwLDAsMC0xLDEsNS4wMTcsNS4wMTcsMCwwLDAtMS0xLDUuMDE3LDUuMDE3LDAsMCwwLDEtMUE1LjAxNyw1LjAxNywwLDAsMCwxNiwxNVoiLz4NCiAgICAgICAgPHBhdGggZD0iTTYyLDQ4YTMsMywwLDAsMS0zLTMsMSwxLDAsMCwwLTIsMCwzLDMsMCwwLDEtMywzLDEsMSwwLDAsMCwwLDIsMywzLDAsMCwxLDMsMywxLDEsMCwwLDAsMiwwLDMsMywwLDAsMSwzLTMsMSwxLDAsMCwwLDAtMlptLTQsMmE1LjAxNyw1LjAxNywwLDAsMC0xLTEsNS4wMTcsNS4wMTcsMCwwLDAsMS0xLDUuMDE3LDUuMDE3LDAsMCwwLDEsMUE1LjAxNyw1LjAxNywwLDAsMCw1OCw1MFoiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",WNe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJNMjM4LjkzMywzNC4xMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM1Y3Ni44YzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM3M4LjUzMy0zLjgyMyw4LjUzMy04LjUzM1Y0Mi42NjcNCgkJCUMyNDcuNDY3LDM3Ljk1NiwyNDMuNjQ0LDM0LjEzMywyMzguOTMzLDM0LjEzM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTQ3Ny44NjcsMzQuMTMzYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNWNzYuOGMwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNTNDg2LjQsODEuNTEsNDg2LjQsNzYuOFY0Mi42NjcNCgkJCUM0ODYuNCwzNy45NTYsNDgyLjU3NywzNC4xMzMsNDc3Ljg2NywzNC4xMzN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0xNzkuMiwwSDguNTMzQzMuODIzLDAsMCwzLjgyMywwLDguNTMzdjQ5NC45MzNDMCw1MDguMTc3LDMuODIzLDUxMiw4LjUzMyw1MTJIMTc5LjJjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzDQoJCQlWOC41MzNDMTg3LjczMywzLjgyMywxODMuOTEsMCwxNzkuMiwweiBNMTcwLjY2Nyw0OTQuOTMzaC0xNTMuNlYxNy4wNjdoMTUzLjZWNDk0LjkzM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTUwMy40NjcsMzU4LjRIMTc5LjJjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3YxMzYuNTMzYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2gzMjQuMjY3DQoJCQljNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzVjM2Ni45MzNDNTEyLDM2Mi4yMjMsNTA4LjE3NywzNTguNCw1MDMuNDY3LDM1OC40eiBNNDk0LjkzMyw0OTQuOTMzaC0zMDcuMlYzNzUuNDY3aDMwNy4yDQoJCQlWNDk0LjkzM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTUwMy40NjcsMEgxNzkuMmMtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzdjM0LjEzM2MwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNoMzI0LjI2Nw0KCQkJYzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzM1Y4LjUzM0M1MTIsMy44MjMsNTA4LjE3NywwLDUwMy40NjcsMHogTTQ5NC45MzMsMzQuMTMzaC0zMDcuMlYxNy4wNjdoMzA3LjJWMzQuMTMzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTM2LjUzMywyNDcuNDY3aC0yNS42Yy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNzMy44MjMsOC41MzMsOC41MzMsOC41MzNoMjUuNmM0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzMNCgkJCVMxNDEuMjQ0LDI0Ny40NjcsMTM2LjUzMywyNDcuNDY3eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTEwLjkzMywyNDcuNDY3Yy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzN2MjUuNmMwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNzOC41MzMtMy44MjMsOC41MzMtOC41MzNWMjU2DQoJCQlDMTE5LjQ2NywyNTEuMjksMTE1LjY0NCwyNDcuNDY3LDExMC45MzMsMjQ3LjQ2N3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTM2Ni45MzMsNDE4LjEzM2gtNTEuMmMtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzczMuODIzLDguNTMzLDguNTMzLDguNTMzaDUxLjJjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzDQoJCQlTMzcxLjY0NCw0MTguMTMzLDM2Ni45MzMsNDE4LjEzM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTM0MS4zMzMsNDE4LjEzM2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzdjE3LjA2N2MwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNzOC41MzMtMy44MjMsOC41MzMtOC41MzMNCgkJCXYtMTcuMDY3QzM0OS44NjcsNDIxLjk1NiwzNDYuMDQ0LDQxOC4xMzMsMzQxLjMzMyw0MTguMTMzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjkwLjEzMywzNC4xMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3Y1MS4yYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM3M4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtNTEuMg0KCQkJQzI5OC42NjcsMzcuOTU2LDI5NC44NDQsMzQuMTMzLDI5MC4xMzMsMzQuMTMzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjkwLjEzMywxMTkuNDY3Yy00NS45MzUsMC03Ni44LDE3LjE0My03Ni44LDQyLjY2N1YxNzkuMmMwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNoMTcuMDY3djc2LjgNCgkJCWMwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNIMzMyLjhjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzdi03Ni44SDM1OC40YzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtMTcuMDY3DQoJCQlDMzY2LjkzMywxMzYuNjEsMzM2LjA2OCwxMTkuNDY3LDI5MC4xMzMsMTE5LjQ2N3ogTTM0OS44NjcsMTcwLjY2N0gzMzIuOGMtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzVjI1NkgyNTZ2LTc2LjgNCgkJCWMwLTQuNzEtMy44MjMtOC41MzMtOC41MzMtOC41MzNIMjMwLjR2LTguNTMzYzAtMTIuNDA3LDIwLjkzMi0yNS42LDU5LjczMy0yNS42czU5LjczMywxMy4xOTMsNTkuNzMzLDI1LjZWMTcwLjY2N3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTM0OS44NjcsMTE5LjQ2N2MtMTEuMzc1LDAtMjIuMDQyLDEuMDc1LTMxLjY5MywzLjE5MWMtMy45MTcsMC44NjItNi43MDcsNC4zMjYtNi43MDcsOC4zMzcNCgkJCWMwLDQuMDExLDIuNzksNy40NzUsNi43MDcsOC4zMzdjMTkuMjUxLDQuMjE1LDMxLjY5MywxMy4xNjcsMzEuNjkzLDIyLjgwMXY4LjUzM0gzMzIuOGMtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzdjg1LjMzMw0KCQkJYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2g1OS43MzNjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzdi03Ni44aDE3LjA2N2M0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzN2LTE3LjA2Nw0KCQkJQzQyNi42NjcsMTM2LjYxLDM5NS44MDIsMTE5LjQ2NywzNDkuODY3LDExOS40Njd6IE00MDkuNiwxNzAuNjY3aC0xNy4wNjdjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM1YyNTZoLTQyLjY2N3YtNjguMjY3DQoJCQlIMzU4LjRjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzdi0xNy4wNjdjMC05LjgxMy00LjczNi0xOC41NzctMTMuMzgtMjUuNTU3YzM2LjQzNywwLjgwMiw1Ni4wNDcsMTMuNTQyLDU2LjA0NywyNS41NTcNCgkJCVYxNzAuNjY3eiIvPg0KICAgICAgICA8cGF0aCBkPSJNNDA5LjYsMTE5LjQ2N2MtMTEuMzc1LDAtMjIuMDQyLDEuMDc1LTMxLjY5MywzLjE5MWMtMy45MTcsMC44NjItNi43MDcsNC4zMjYtNi43MDcsOC4zMzcNCgkJCWMwLDQuMDExLDIuNzksNy40NzUsNi43MDcsOC4zMzdjMTkuMjUxLDQuMjE1LDMxLjY5MywxMy4xNjcsMzEuNjkzLDIyLjgwMXY4LjUzM2gtMTcuMDY3Yy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzN2ODUuMzMzDQoJCQljMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzaDU5LjczM2M0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzN2LTc2LjhoMTcuMDY3YzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtMTcuMDY3DQoJCQlDNDg2LjQsMTM2LjYxLDQ1NS41MzUsMTE5LjQ2Nyw0MDkuNiwxMTkuNDY3eiBNNDY5LjMzMywxNzAuNjY3aC0xNy4wNjdjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM1YyNTZoLTQyLjY2N3YtNjguMjY3DQoJCQloMTcuMDY3YzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtMTcuMDY3YzAtOS44MTMtNC43MzYtMTguNTc3LTEzLjM4LTI1LjU1N2MzNi40MzcsMC44MDIsNTYuMDQ3LDEzLjU0Miw1Ni4wNDcsMjUuNTU3DQoJCQlWMTcwLjY2N3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTI5MC4xMzMsODUuMzMzYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzYzQuNzAyLDAsOC41MzMsMy44MzEsOC41MzMsOC41MzMNCgkJCWMwLDQuNzAyLTMuODMxLDguNTMzLTguNTMzLDguNTMzYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNzMy44MjMsOC41MzMsOC41MzMsOC41MzNjMTQuMTE0LDAsMjUuNi0xMS40ODYsMjUuNi0yNS42DQoJCQlTMzA0LjI0Nyw4NS4zMzMsMjkwLjEzMyw4NS4zMzN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0zNTguNCwzNC4xMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3Y1MS4yYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM3M4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtNTEuMg0KCQkJQzM2Ni45MzMsMzcuOTU2LDM2My4xMSwzNC4xMzMsMzU4LjQsMzQuMTMzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzU4LjQsODUuMzMzYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzYzQuNzAyLDAsOC41MzMsMy44MzEsOC41MzMsOC41MzMNCgkJCWMwLDQuNzAyLTMuODMxLDguNTMzLTguNTMzLDguNTMzYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNzMy44MjMsOC41MzMsOC41MzMsOC41MzNjMTQuMTE0LDAsMjUuNi0xMS40ODYsMjUuNi0yNS42DQoJCQlTMzcyLjUxNCw4NS4zMzMsMzU4LjQsODUuMzMzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNNDI2LjY2NywzNC4xMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3Y1MS4yYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM3M4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtNTEuMg0KCQkJQzQzNS4yLDM3Ljk1Niw0MzEuMzc3LDM0LjEzMyw0MjYuNjY3LDM0LjEzM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTQyNi42NjcsODUuMzMzYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzYzQuNzAyLDAsOC41MzMsMy44MzEsOC41MzMsOC41MzMNCgkJCWMwLDQuNzAyLTMuODMxLDguNTMzLTguNTMzLDguNTMzYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNzMy44MjMsOC41MzMsOC41MzMsOC41MzNjMTQuMTE0LDAsMjUuNi0xMS40ODYsMjUuNi0yNS42DQoJCQlTNDQwLjc4MSw4NS4zMzMsNDI2LjY2Nyw4NS4zMzN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik00ODYuNCwzMjQuMjY3SDE3OS4yYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzN2MzQuMTMzYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2gzMDcuMg0KCQkJYzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzM1YzMzIuOEM0OTQuOTMzLDMyOC4wOSw0OTEuMTEsMzI0LjI2Nyw0ODYuNCwzMjQuMjY3eiBNNDc3Ljg2NywzNTguNEgxODcuNzMzdi0xNy4wNjdoMjkwLjEzMw0KCQkJVjM1OC40eiIvPg0KICAgICAgICA8cGF0aCBkPSJNNDY5LjMzMywzOTIuNTMzaC0yNTZjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3Y2OC4yNjdjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzaDI1Ng0KCQkJYzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtNjguMjY3QzQ3Ny44NjcsMzk2LjM1Niw0NzQuMDQ0LDM5Mi41MzMsNDY5LjMzMywzOTIuNTMzeiBNNDYwLjgsNDYwLjhIMjIxLjg2N3YtNTEuMkg0NjAuOA0KCQkJVjQ2MC44eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",RNe="PHN2ZyB2aWV3Qm94PSIwIDAgMzAwIDMwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtMTk0LjgzNiA1OGgtMTE5LjMyOGMtMjQuNDQ1IDAtNDQuMzM2IDE5Ljg4OS00NC4zMzYgNDQuMzM2djExOS4zMjhjMCAyNC40NDcgMTkuODkxIDQ0LjMzNiA0NC4zMzYgNDQuMzM2aDExOS4zMjhjMjQuNDQ1IDAgNDQuMzM2LTE5Ljg4OSA0NC4zMzYtNDQuMzM2di0xMTkuMzI4YzAtMjQuNDQ3LTE5Ljg5MS00NC4zMzYtNDQuMzM2LTQ0LjMzNnptMzYuMzM2IDE2My42NjRjMCAyMC4wMzUtMTYuMzAxIDM2LjMzNi0zNi4zMzYgMzYuMzM2aC0xMTkuMzI4Yy0yMC4wMzUgMC0zNi4zMzYtMTYuMzAxLTM2LjMzNi0zNi4zMzZ2LTExOS4zMjhjMC0yMC4wMzUgMTYuMzAxLTM2LjMzNiAzNi4zMzYtMzYuMzM2aDExOS4zMjhjMjAuMDM1IDAgMzYuMzM2IDE2LjMwMSAzNi4zMzYgMzYuMzM2eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTM1LjE3MiA3NGMtNDkuNjI1IDAtOTAgNDAuMzczLTkwIDkwczQwLjM3NSA5MCA5MCA5MCA5MC00MC4zNzMgOTAtOTAtNDAuMzc1LTkwLTkwLTkwem0wIDE3MmMtNDUuMjE1IDAtODItMzYuNzg1LTgyLTgyczM2Ljc4NS04MiA4Mi04MiA4MiAzNi43ODUgODIgODItMzYuNzg1IDgyLTgyIDgyeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTM1LjE3MiA5MGMtNDAuODA1IDAtNzQgMzMuMTk1LTc0IDc0czMzLjE5NSA3NCA3NCA3NCA3NC0zMy4xOTUgNzQtNzQtMzMuMTk1LTc0LTc0LTc0em0wIDE0MGMtMzYuMzkxIDAtNjYtMjkuNjA3LTY2LTY2czI5LjYwOS02NiA2Ni02NiA2NiAyOS42MDcgNjYgNjYtMjkuNjEgNjYtNjYgNjZ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im03OS4xNzIgMTM4djMyYzAgMi4yMDkgMS43ODkgNCA0IDRoMTA0YzIuMjExIDAgNC0xLjc5MSA0LTR2LTMyYzAtMi4yMDktMS43ODktNC00LTRoLTEwNGMtMi4yMTEgMC00IDEuNzkxLTQgNHptOCA0aDk2djI0aC05NnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTExNy4xNzIgMTI4LjUzYzIuNTAxIDAgNC41My0yLjAyOCA0LjUzLTQuNTNzLTIuMDI4LTQuNTMtNC41My00LjUzLTQuNTMgMi4wMjgtNC41MyA0LjUzYzAgMi41MDEgMi4wMjggNC41MyA0LjUzIDQuNTN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xMjkuMTcyIDEyOC41M2MyLjUwMSAwIDQuNTMtMi4wMjggNC41My00LjUzcy0yLjAyOC00LjUzLTQuNTMtNC41My00LjUzIDIuMDI4LTQuNTMgNC41M2MwIDIuNTAxIDIuMDI4IDQuNTMgNC41MyA0LjUzeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTQ1LjE3MiAxNTEuNDdjLTIuNTAyIDAtNC41MyAyLjAyOC00LjUzIDQuNTMgMCAyLjUwMSAyLjAyOCA0LjUzIDQuNTMgNC41MyAyLjUwMSAwIDQuNTMtMi4wMjggNC41My00LjUzLS4wMDEtMi41MDItMi4wMjktNC41My00LjUzLTQuNTN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xNDEuMTcyIDEyOC41M2MyLjUwMSAwIDQuNTMtMi4wMjggNC41My00LjUzcy0yLjAyOC00LjUzLTQuNTMtNC41My00LjUzIDIuMDI4LTQuNTMgNC41M2MwIDIuNTAxIDIuMDI4IDQuNTMgNC41MyA0LjUzeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTUzLjE3MiAxMjguNTNjMi41MDEgMCA0LjUzLTIuMDI4IDQuNTMtNC41M3MtMi4wMjgtNC41My00LjUzLTQuNTMtNC41MyAyLjAyOC00LjUzIDQuNTNjMCAyLjUwMSAyLjAyOCA0LjUzIDQuNTMgNC41M3oiLz4NCiAgICAgICAgPGNpcmNsZSBjeD0iMTk5LjE3MiIgY3k9IjM4IiByPSI0Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yMzkuMTcyIDQ2Yy02LjYxNyAwLTEyIDUuMzgzLTEyIDEyczUuMzgzIDEyIDEyIDEyIDEyLTUuMzgzIDEyLTEyLTUuMzgzLTEyLTEyLTEyem0wIDE2Yy0yLjIwNyAwLTQtMS43OTUtNC00czEuNzkzLTQgNC00IDQgMS43OTUgNCA0LTEuNzkzIDQtNCA0eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjY0LjgyOCAxMTAgMi44MjgtMi44MjhjMS41NjItMS41NjIgMS41NjItNC4wOTQgMC01LjY1NnMtNC4wOTQtMS41NjItNS42NTYgMGwtMi44MjggMi44MjgtMi44MjgtMi44MjhjLTEuNTYyLTEuNTYyLTQuMDk0LTEuNTYyLTUuNjU2IDBzLTEuNTYyIDQuMDk0IDAgNS42NTZsMi44MjggMi44MjgtMi44MjggMi44MjhjLTEuNTYyIDEuNTYyLTEuNTYyIDQuMDk0IDAgNS42NTYuNzgxLjc4MSAxLjgwNSAxLjE3MiAyLjgyOCAxLjE3MnMyLjA0Ny0uMzkxIDIuODI4LTEuMTcybDIuODI4LTIuODI4IDIuODI4IDIuODI4Yy43ODEuNzgxIDEuODA1IDEuMTcyIDIuODI4IDEuMTcyczIuMDQ3LS4zOTEgMi44MjgtMS4xNzJjMS41NjItMS41NjIgMS41NjItNC4wOTQgMC01LjY1NnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTEzOS4xNzIgMTk0aC00LjkzNGw1Ljg1OS05Ljc2OGMxLjEzNy0xLjg5NS41MjMtNC4zNTItMS4zNzEtNS40ODgtMS44OTgtMS4xMzctNC4zNTItLjUyMS01LjQ4OCAxLjM3MWwtOS40OTYgMTUuODI2Yy0uNzQyIDEuMjM2LS43NjIgMi43NzUtLjA1MSA0LjAyOXMyLjAzOSAyLjAyOSAzLjQ4IDIuMDI5aDUuNTI3bC01LjEwNSAxMC4yMTFjLS45ODggMS45NzctLjE4OCA0LjM3OSAxLjc4OSA1LjM2Ny41NzQuMjg3IDEuMTg0LjQyMiAxLjc4NS40MjIgMS40NjkgMCAyLjg3OS0uODA5IDMuNTgyLTIuMjExbDgtMTZjLjYyMS0xLjI0LjU1NS0yLjcxMy0uMTc2LTMuODkzLS43MjktMS4xNzYtMi4wMTQtMS44OTUtMy40MDEtMS44OTV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im05NS4xNzIgMTQ2Yy0yLjIxMSAwLTQgMS43OTEtNCA0djhjMCAyLjIwOSAxLjc4OSA0IDQgNHM0LTEuNzkxIDQtNHYtOGMwLTIuMjA5LTEuNzg5LTQtNC00eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTA3LjE3MiAxNDZjLTIuMjExIDAtNCAxLjc5MS00IDR2OGMwIDIuMjA5IDEuNzg5IDQgNCA0czQtMS43OTEgNC00di04YzAtMi4yMDktMS43ODktNC00LTR6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xMTkuMTcyIDE0NmMtMi4yMTEgMC00IDEuNzkxLTQgNHY4YzAgMi4yMDkgMS43ODkgNCA0IDRzNC0xLjc5MSA0LTR2LThjMC0yLjIwOS0xLjc4OS00LTQtNHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTEzMS4xNzIgMTQ2Yy0yLjIxMSAwLTQgMS43OTEtNCA0djhjMCAyLjIwOSAxLjc4OSA0IDQgNHM0LTEuNzkxIDQtNHYtOGMwLTIuMjA5LTEuNzg5LTQtNC00eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTYzLjE3MiAxNDZjLTIuMjExIDAtNCAxLjc5MS00IDR2OGMwIDIuMjA5IDEuNzg5IDQgNCA0czQtMS43OTEgNC00di04YzAtMi4yMDktMS43ODktNC00LTR6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xNzUuMTcyIDE0NmMtMi4yMTEgMC00IDEuNzkxLTQgNHY4YzAgMi4yMDkgMS43ODkgNCA0IDRzNC0xLjc5MSA0LTR2LThjMC0yLjIwOS0xLjc4OS00LTQtNHoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",JNe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDUxMi41IDUxMi41IiB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTUwNC43NSw0MTguNWMtNC4xNDMsMC03LjUsMy4zNTgtNy41LDcuNXY3OC41YzAsOS42NzMsMTUsOS42NzMsMTUsMFY0MjZDNTEyLjI1LDQyMS44NTgsNTA4Ljg5Myw0MTguNSw1MDQuNzUsNDE4LjV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik01MDQuNzUsMjQ5LjM1NWgtNTguODk0di0yNy4wNDNoMTguMDExYzEwLjk2NCwwLDE5Ljg4My04LjkxOSwxOS44ODMtMTkuODgzVjE5Ljg4NEM0ODMuNzUsOC45Miw0NzQuODMxLDAsNDYzLjg2NywwICAgSDE4NC4wNTljLTEwLjk2NCwwLTE5Ljg4Myw4LjkyLTE5Ljg4MywxOS44ODR2MjYuOTI5YzAsOS42NzMsMTUsOS42NzMsMTUsMFYxOS44ODRjMC0yLjY5MywyLjE5LTQuODg0LDQuODgzLTQuODg0aDI3OS44MDkgICBjMi42OTIsMCw0Ljg4MywyLjE5MSw0Ljg4Myw0Ljg4NHYxNDUuNDI5aC0yMi44OTRWODUuNDA2YzAtMi40NzUtMS4yMjEtNC43OS0zLjI2My02LjE4OGMtMi4wNDEtMS4zOTgtNC42NDEtMS42OTktNi45NDktMC44MDUgICBjLTEuOTYyLDAuNzYxLTQzLjM0LDE3LjY1OS01Mi4xNDYsODYuODk5SDE3OS4xNzZ2LTc5LjVjMC05LjY3My0xNS05LjY3My0xNSwwdjExNi42MTdjMCwxMC45NjQsOC45MTksMTkuODgzLDE5Ljg4MywxOS44ODMgICBoMTAwLjc0NnYyNy4wNDNIMTE0LjUxNmMxNi42MTItMTYuNTk0LDE4LjIzNC00Mi44NzEsMTguMjM0LTY0Ljk0OWMwLTQuMTQyLTMuMzU3LTcuNS03LjUtNy41aC00MC41di0xNC4xNTkgICBjMjQuMDYsNS4xMTQsNTAuMjg4LTE0LjYxNiw0OS45NjctMzkuNjQ1Yy0wLjA0My0zLjM1Mi0wLjQ1OS02Ljc1OC0zLjU1Ni04LjgwM2MtMTQuMjQ2LTkuNDAzLTMzLjg2Ni01LjQ4NS00Ni40MTEsNC43ODN2LTEzLjUyOSAgIGMyMS40MzMtMTQuNzkzLDIzLjAyNS00OS42MjksMi40MjktNjUuODg5Yy0yLjA3NS0xLjYzOC00LjM3MS0zLjE5Ny02LjgzNC00LjIwMWMtMTAuNTcxLTQuMzE2LTIyLjE5MSwxNC41MTMtMjQuNzEsMjEuNzgxICAgYy01Ljk1MSwxNy4xNzQtMC41NjgsMzYuOTI2LDE0LjExNCw0Ny44MjR2MTMuOTMxYy05LjYyNy03LjgzMy0yMi4yLTExLjY5Ni0zNC40ODMtOS4yMzZjLTUuMDc2LDEuMDE3LTEzLjk3MSwzLjMxNC0xNS4wNzgsOS40NjcgICBjLTQuNzU4LDI2LjQ3NiwyNS4yMzUsNDguNjQzLDQ5LjU2Miw0My41Mzl2MTQuMTM3aC00My41Yy00LjE0MywwLTcuNSwzLjM1OC03LjUsNy41YzAsMjIuMDQ3LDEuMTk2LDQ4LjM1NywxNy44MDYsNjQuOTQ5SDcuNzUgICBjLTQuMTQzLDAtNy41LDMuMzU4LTcuNSw3LjVWNTA0LjVjMCw5LjY3MywxNSw5LjY3MywxNSwwdi0zNWgxMzUuNXYzNWMwLDkuNjczLDE1LDkuNjczLDE1LDB2LTE5MWgyNjUuMjE1ICAgYzAuMDM5LDIuNjEzLDAuMjg5LDE2LjY4OCwwLjMyLDIwLjkwNkgzMDQuMzU2Yy0yOS42NTEsMC01MS42Miw3LjcxOC02NS4yOTgsMjIuOTM5Yy0xNi40MjIsMTguMjc0LTE0LjI2LDQwLjQyNi0xNC4xNTksNDEuMzU5ICAgYzAuNDA4LDMuODExLDMuNjI0LDYuNzAxLDcuNDU3LDYuNzAxaDk2Ljg5NHYxMy41aC0yOS41Yy05LjY3MywwLTkuNjczLDE1LDAsMTVoMjkuNVY0OTdoLTk2Yy05LjY3MywwLTkuNjczLDE1LDAsMTVoMTAwLjgyNSAgIGMwLjgzMiwwLjMxOCwxLjczMSwwLjUsMi42NzUsMC41czEuODQzLTAuMTgyLDIuNjc1LTAuNUg0NDAuMjVjOS42NzMsMCw5LjY3My0xNSwwLTE1aC05NnYtOTEuNTk0aDUwLjEwNiAgIGMxNy4yMTgsMCwyOS42NjQtNC4xNTEsMzguMDUyLTEyLjY5YzE0LjY5OS0xNC45NjUsMTQuMjUxLTQwLjAyMiwxMy42ODQtNzEuNzQ3Yy0wLjA0NC0yLjQ1NC0wLjA4Ny00Ljk1LTAuMTI1LTcuNDdoNTEuMjgzVjM4NCAgIGMwLDkuNjczLDE1LDkuNjczLDE1LDBWMjU2Ljg1NUM1MTIuMjUsMjUyLjcxMyw1MDguODkzLDI0OS4zNTUsNTA0Ljc1LDI0OS4zNTV6IE05Ny4yNzYsMTI4LjQ5NiAgIGM5LjY1Mi02LjEyNCwxOC4wNDktNC42ODEsMjIuNDIxLTMuMTM3Yy0xLjMyLDE1LjU0Ny0yMC4yMjEsMjYuODYtMzQuNjY4LDIxLjk2M0M4NS42MzUsMTQyLjUxMSw4OC4wNzcsMTM0LjMzMiw5Ny4yNzYsMTI4LjQ5NnogICAgTTQ3LjQyNCwxNDQuMDk3Yy02LjM3Mi00LjA0My0xMS43OTItMTEuMDA1LTEyLjQ5My0xOC43NDJjMTUuMDItNS4yOCwzMi42ODMsNi40MTgsMzQuNjQsMjEuOTY3ICAgQzYyLjI4NiwxNDkuNzkyLDUzLjgxLDE0OC4xNDgsNDcuNDI0LDE0NC4wOTd6IE03Ny42MzcsNTEuMTY5YzEyLjU2LDkuNTU0LDExLjk5NywzMS4zNTktMC4wNDQsNDEuMDU0ICAgYy0zLjcxNS0zLjA1NS05LjMxOS05LjQ4MS05LjMxOS0yMC40NDFDNjguMjczLDYwLjM1Miw3My45OTEsNTQuMDM1LDc3LjYzNyw1MS4xNjl6IE0zMy44NTYsMTkxLjkwNmg4My43ODEgICBjLTEuMjcsNDAuNTE1LTEzLjM2Miw1Ni41LTQxLjg4OCw1Ni41QzQ2LjgzMiwyNDguNDA3LDM1LjA3MiwyMzIuOTM2LDMzLjg1NiwxOTEuOTA2eiBNNDIxLjcwNywzODIuMjA1ICAgYy01LjQyMSw1LjUxOS0xNC4zNjcsOC4yMDEtMjcuMzUxLDguMjAxSDI0MC4wMTNjMC42OTQtNS45ODgsMy4wMDYtMTUuMDI2LDEwLjIwMy0yMy4wMzUgICBjMTAuNzEyLTExLjkyMSwyOC45MjctMTcuOTY1LDU0LjE0MS0xNy45NjVoMTI2LjczNkM0MzAuNDczLDM2NC4xMDUsNDI4LjI1MSwzNzUuNTQzLDQyMS43MDcsMzgyLjIwNXogTTQ2OC43NSwxODAuMzEzdjIyLjExNyAgIGMwLDIuNjkzLTIuMTksNC44ODMtNC44ODMsNC44ODNoLTE4LjAxMXYtMjdINDY4Ljc1eiBNNDE5LjEyNiwxMTEuMzU4YzQuMDg0LTUuMzk1LDguMTktOS40MSwxMS43My0xMi4zMjJ2MTg3Ljg2MyAgIGMtMy41MjgtMy4wMjMtNy42MDQtNy4xNDYtMTEuNjU5LTEyLjYyMmMtMTQuNjE1LTE5LjczOS0yMi4zNDEtNDguMDQ5LTIyLjM0MS04MS44NzIgICBDMzk2Ljg1NiwxNTguNjMyLDQwNC41NTgsMTMwLjYwNiw0MTkuMTI2LDExMS4zNTh6IE0zODMuODczLDIyMi4zMTNjMS40MzIsMTAuMDk1LDMuNTUzLDE5LjA3Nyw2LjEzOCwyNy4wNDNoLTI2Ljg5di0yNy4wNDMgICBIMzgzLjg3M3ogTTE3OS4xNzYsMjAyLjQyOXYtMjIuMTE3aDIwMi45OTNjLTAuNDY5LDguOTkyLTAuNDE1LDE4LjAxNSwwLjE2OSwyN0gxODQuMDU5ICAgQzE4MS4zNjYsMjA3LjMxMywxNzkuMTc2LDIwNS4xMjIsMTc5LjE3NiwyMDIuNDI5eiBNMjk5LjgwNSwyMjIuMzEzaDQ4LjMxNnYyNy4wNDNoLTQ4LjMxNlYyMjIuMzEzeiBNMzk1LjkwMSwyNjQuMzU1ICAgYzcuODE1LDE2LjcsMTcuNTE2LDI3LjQ4OCwyNS4zNjUsMzQuMTQ1SDE1LjI1di0zNC4xNDVIMzk1LjkwMXogTTE1LjI1LDQ1NC41di02M2gxMzUuNXY2M0gxNS4yNXogTTE1MC43NSwzNzYuNUgxNS4yNXYtNjNoMTM1LjUgICBWMzc2LjV6IE00NDUuODU2LDI5OC41di0zNC4xNDVoNTEuMzk0VjI5OC41SDQ0NS44NTZ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik01NC43NSwzNTIuNWg1N2M5LjY3MywwLDkuNjczLTE1LDAtMTVoLTU3QzQ1LjA3NywzMzcuNSw0NS4wNzcsMzUyLjUsNTQuNzUsMzUyLjV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0xMTEuNzUsNDE1LjVoLTU3Yy05LjY3MywwLTkuNjczLDE1LDAsMTVoNTdDMTIxLjQyMyw0MzAuNSwxMjEuNDIzLDQxNS41LDExMS43NSw0MTUuNXoiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",BNe={Anteroom:nNe,Attic:aNe,Balcony:cNe,Barn:uNe,Basement:lNe,Bathroom:NNe,Bedroom:LNe,"Boiler Room":"PHN2ZyBoZWlnaHQ9IjQ4MHB0IiB2aWV3Qm94PSItMyAwIDQ4MCA0ODAiIHdpZHRoPSI0ODBwdCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtMjM0Ljk2ODc1IDY0Yy0xMy4yNTM5MDYgMC0yNCAxMC43NDYwOTQtMjQgMjRzMTAuNzQ2MDk0IDI0IDI0IDI0IDI0LTEwLjc0NjA5NCAyNC0yNC0xMC43NDYwOTQtMjQtMjQtMjR6bTAgMzJjLTQuNDE3OTY5IDAtOC0zLjU4MjAzMS04LThzMy41ODIwMzEtOCA4LTggOCAzLjU4MjAzMSA4IDgtMy41ODIwMzEgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMzA2Ljk2ODc1IDE2MGgtMTQ0Yy00LjQxNzk2OSAwLTggMy41ODIwMzEtOCA4djY0YzAgNC40MTc5NjkgMy41ODIwMzEgOCA4IDhoMTQ0YzQuNDE3OTY5IDAgOC0zLjU4MjAzMSA4LTh2LTY0YzAtNC40MTc5NjktMy41ODIwMzEtOC04LTh6bS04IDY0aC0xMjh2LTQ4aDEyOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xODYuOTY4NzUgMTkyaDE2djE2aC0xNnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yMTguOTY4NzUgMTkyaDMydjE2aC0zMnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yNjYuOTY4NzUgMTkyaDE2djE2aC0xNnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xMzguOTY4NzUgNzJ2MzJoMTZ2LTI0aDE2di0xNmgtMjRjLTQuNDE3OTY5IDAtOCAzLjU4MjAzMS04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDY2Ljk2ODc1IDBoLTMyYy00LjQxNzk2OSAwLTggMy41ODIwMzEtOCA4djE5MmMwIDQuNDE3OTY5LTMuNTgyMDMxIDgtOCA4aC01NnYtNTZoMjRjNC40MTc5NjkgMCA4LTMuNTgyMDMxIDgtOHYtNDhjMC00LjQxNzk2OS0zLjU4MjAzMS04LTgtOGgtMjR2LTE2Yy0uMDI3MzQ0LTIyLjA4MjAzMS0xNy45MjE4NzUtMzkuOTcyNjU2LTQwLTQwaC0xNnYtMTZoLTE2djE2aC0xNy43NjE3MTlsLTYuNDgwNDY5LTI1LjkzNzVjLS44ODY3MTgtMy41NjI1LTQuMDg1OTM3LTYuMDYyNS03Ljc1NzgxMi02LjA2MjVoLTQ4Yy0zLjY3MTg3NSAwLTYuODcxMDk0IDIuNS03Ljc2MTcxOSA2LjA2MjVsLTYuNDgwNDY5IDI1LjkzNzVoLTE3Ljc1NzgxMnYtMTZoLTE2djE2aC0xNmMtMjIuMDgyMDMxLjAyNzM0NC0zOS45NzI2NTYgMTcuOTE3OTY5LTQwIDQwdjU2aC0yNGMtNC40MTc5NjkgMC04IDMuNTgyMDMxLTggOHY2NGMwIDQuNDE3OTY5IDMuNTgyMDMxIDggOCA4aDI0djIyNGgtMjRjLTQuNDE3OTY5IDAtOCAzLjU4MjAzMS04IDh2MzJjMCA0LjQxNzk2OSAzLjU4MjAzMSA4IDggOGg5NmM0LjQxNzk2OSAwIDgtMy41ODIwMzEgOC04di0zMmMwLTQuNDE3OTY5LTMuNTgyMDMxLTgtOC04aC0yNHYtNDEuNzEwOTM4YzEyLjM3MTA5NCA2LjM3NSAyNi4wODIwMzEgOS43MDMxMjYgNDAgOS43MTA5MzhoOHYyNGMwIDQuNDE3OTY5IDMuNTgyMDMxIDggOCA4aDQ4YzQuNDE3OTY5IDAgOC0zLjU4MjAzMSA4LTh2LTI0aDhjMTMuOTE0MDYyLS4wMDc4MTIgMjcuNjI4OTA2LTMuMzM1OTM4IDQwLTkuNzEwOTM4djQxLjcxMDkzOGgtMjRjLTQuNDE3OTY5IDAtOCAzLjU4MjAzMS04IDh2MzJjMCA0LjQxNzk2OSAzLjU4MjAzMSA4IDggOGg5NmM0LjQxNzk2OSAwIDgtMy41ODIwMzEgOC04di0zMmMwLTQuNDE3OTY5LTMuNTgyMDMxLTgtOC04aC0yNHYtMTc2aDU2YzMwLjkxMDE1Ni0uMDM5MDYyIDU1Ljk2MDkzOC0yNS4wODk4NDQgNTYtNTZ2LTE5MmMwLTQuNDE3OTY5LTMuNTgyMDMxLTgtOC04em0tODggMTA0djMyaC0xNnYtMzJ6bS0xNjEuNzUzOTA2LTg4aDM1LjUwMzkwNmw0IDE2aC00My41MDM5MDZ6bS05NC4yNDYwOTQgNTZjMC0xMy4yNTM5MDYgMTAuNzQ2MDk0LTI0IDI0LTI0aDE3NmMxMy4yNTM5MDYgMCAyNCAxMC43NDYwOTQgMjQgMjR2NTZoLTIyNHptLTMyIDEyMHYtNDhoMTZ2NDh6bTgwIDI3MmgtODB2LTE2aDgwem0tMzItMzJoLTE2di02OS41NTg1OTRjNC41MzUxNTYgNi40ODQzNzUgOS45MTQwNjIgMTIuMzMyMDMyIDE2IDE3LjM5MDYyNXptMTEyLTE2aC0zMnYtMTZoMzJ6bTEyOCA0OGgtODB2LTE2aDgwem0tMzItMzJoLTE2di01Mi4xNjc5NjljNi4wODIwMzEtNS4wNTg1OTMgMTEuNDY0ODQ0LTEwLjkwNjI1IDE2LTE3LjM5MDYyNXptMC0xMjBjLS4wNDI5NjkgMzkuNzQ2MDk0LTMyLjI1MzkwNiA3MS45NTcwMzEtNzIgNzJoLTgwYy0zOS43NDYwOTQtLjA0Mjk2OS03MS45NTcwMzEtMzIuMjUzOTA2LTcyLTcydi0xNjhoMjI0em0xMTItMTEyYy0uMDI3MzQ0IDIyLjA4MjAzMS0xNy45MjE4NzUgMzkuOTcyNjU2LTQwIDQwaC01NnYtMTZoNTZjMTMuMjUzOTA2IDAgMjQtMTAuNzQ2MDk0IDI0LTI0di0xODRoMTZ6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNTYuNjI1IDUzLjY1NjI1IDEwLjM0Mzc1LTEwLjM0Mzc1IDE4LjM0Mzc1IDE4LjM0Mzc1IDExLjMxMjUtMTEuMzEyNS0yNC0yNGMtMy4xMjUtMy4xMjEwOTQtOC4xODc1LTMuMTIxMDk0LTExLjMxMjUgMGwtMTAuOTM3NSAxMC45Mzc1LTM0LjM5ODQzOC0yNy41MjczNDQtMTAuMDA3ODEyIDEyLjQ5MjE4OCA0MCAzMmMzLjE4MzU5NCAyLjU1MDc4MSA3Ljc3MzQzOCAyLjI5Mjk2OCAxMC42NTYyNS0uNTg5ODQ0em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTAgODcuNDMzNTk0IDQwIDE2YzIuOTcyNjU2IDEuMTgzNTk0IDYuMzYzMjgxLjQ4NDM3NSA4LjYyNS0xLjc3NzM0NGwxMS45MTc5NjktMTEuOTIxODc1IDI2Ljg0NzY1NiAxMy40NjQ4NDQgNy4xNTIzNDQtMTQuMzIwMzEzLTMyLTE2Yy0zLjA3ODEyNS0xLjUzNTE1Ni02Ljc5Njg3NS0uOTI5Njg3LTkuMjMwNDY5IDEuNTAzOTA2bC0xMi4yNzM0MzggMTIuMjI2NTYzLTM1LjEwMTU2Mi0xNC4wNDI5Njl6bTAgMCIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",Carport:jNe,Cellar:gNe,Chamber:TNe,Corridor:yNe,"Dining Area":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMi4wMDEgNTEyLjAwMSI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTUwNS45NDcsMTIzLjU5N2MtNC4zNTMtNC43NTItMTAuNTQ2LTcuNDc3LTE2Ljk5LTcuNDc3aC02LjgzN2MtMTcuOTI5LDAtMzIuNjMxLDEzLjQ2OC0zNC4xOTgsMzEuMzI4bC03LjM5Nyw4NC4yNzkNCgkJCQljLTAuNjU1LDcuNDY5LTYuODA0LDEzLjEwMi0xNC4zMDMsMTMuMTAyaC02NC4wMjZjLTIwLjUxNiwwLTM3LjIwNywxNi42OTEtMzcuMjA3LDM3LjIwN3YzLjY5Nw0KCQkJCWMwLDEyLjM5NSwxMC4wODMsMjIuNDc4LDIyLjQ3OCwyMi40NzhoMTMuNzIzbC0xMy41MTQsNDQuMTM1Yy0wLjAxLDAuMDMzLTAuMDIsMC4wNjYtMC4wMywwLjA5OWwtMTAuMzMsMzMuNzM2DQoJCQkJYy0xLjIxMywzLjk2MSwxLjAxNSw4LjE1NCw0Ljk3NSw5LjM2N2MwLjczMiwwLjIyNCwxLjQ3MiwwLjMzMSwyLjE5OSwwLjMzMWMzLjIwOSwwLDYuMTgtMi4wNzcsNy4xNjgtNS4zMDZsOC43MTItMjguNDUxSDQ2My4yNA0KCQkJCWw4LjcxMiwyOC40NTFjMC45ODgsMy4yMjksMy45NTgsNS4zMDYsNy4xNjgsNS4zMDZjMC43MjgsMCwxLjQ2OC0wLjEwNywyLjE5OS0wLjMzMWMzLjk2LTEuMjEzLDYuMTg4LTUuNDA3LDQuOTc1LTkuMzY3DQoJCQkJbC0yNC41MTctODAuMDY2YzQuMzA1LTEuMjE5LDguNDYyLTIuOTUzLDEyLjM2Mi01LjE4OGMzLjU5My0yLjA2LDQuODM2LTYuNjQzLDIuNzc2LTEwLjIzNg0KCQkJCWMtMi4wNi0zLjU5My02LjY0NC00LjgzNi0xMC4yMzctMi43NzZjLTYuMDQ0LDMuNDY1LTEyLjkzOSw1LjI5Ny0xOS45NCw1LjI5N2gtNzUuNDAyYy0wLjAyNSwwLTAuMDUsMC0wLjA3NCwwaC0yMy43OTMNCgkJCQljLTQuMTIzLDAtNy40NzgtMy4zNTQtNy40NzgtNy40Nzh2LTMuNjk3YzAtMTIuMjQ1LDkuOTYyLTIyLjIwNywyMi4yMDctMjIuMjA3aDY0LjAyNmMxNS4zMzMsMCwyNy45MDYtMTEuNTE4LDI5LjI0Ni0yNi43OTENCgkJCQlsNy4zOTYtODQuMjhjMC44ODItMTAuMDU2LDkuMTYtMTcuNjQsMTkuMjU1LTE3LjY0aDYuODM3YzIuMjgyLDAsNC4zODksMC45MjcsNS45MywyLjYxYzEuNTQyLDEuNjgzLDIuMjgyLDMuODYyLDIuMDgyLDYuMTM2DQoJCQkJbC0xMC4yNDIsMTE2LjcxMWMtMC4yNTIsMi44NzgtMC44MTMsNS43MjYtMS42NjYsOC40NjRjLTEuMjMyLDMuOTU1LDAuOTc2LDguMTYsNC45MzEsOS4zOTFjMy45NiwxLjIzMiw4LjE1OS0wLjk3Nyw5LjM5Mi00LjkzDQoJCQkJYzEuMTcxLTMuNzYyLDEuOTQtNy42NjksMi4yODctMTEuNjE0bDEwLjI0Mi0xMTYuNzExQzUxMi40NzQsMTM0Ljc1Nyw1MTAuMywxMjguMzQ5LDUwNS45NDcsMTIzLjU5N3ogTTM3Ni44NzUsMzA4LjIxMmg2OS44NTUNCgkJCQlsMTEuOTE0LDM4LjkxaC05My42ODRMMzc2Ljg3NSwzMDguMjEyeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTQ5LjgwMywyNDQuODNIODUuNzc3Yy03LjQ5OSwwLTEzLjY0Ny01LjYzMi0xNC4zMDMtMTMuMTAybC03LjM5Ni04NC4yNzljLTEuNTY3LTE3Ljg2LTE2LjI2OS0zMS4zMjgtMzQuMTk4LTMxLjMyOA0KCQkJCWgtNi44MzdjLTYuNDQ0LDAtMTIuNjM3LDIuNzI1LTE2Ljk5LDcuNDc3Yy00LjM1Myw0Ljc1Mi02LjUyNywxMS4xNi01Ljk2NSwxNy41ODFsMTAuMjQyLDExNi43MTENCgkJCQljMS4yMDksMTMuNzczLDcuNDg5LDI2LjUwMSwxNy42ODQsMzUuODQxYzYuNDA1LDUuODY4LDE0LjAxLDEwLjA3NywyMi4yMDYsMTIuMzk3bC0yNC41MTQsODAuMDU1DQoJCQkJYy0xLjIxMywzLjk2MSwxLjAxNSw4LjE1NCw0Ljk3NSw5LjM2N2MwLjczMiwwLjIyNCwxLjQ3MiwwLjMzMSwyLjE5OSwwLjMzMWMzLjIwOSwwLDYuMTgtMi4wNzcsNy4xNjgtNS4zMDZsOC43MTItMjguNDUxSDE1MS42Mw0KCQkJCWw4LjcxMiwyOC40NTFjMC45ODgsMy4yMjksMy45NTgsNS4zMDYsNy4xNjgsNS4zMDZjMC43MjgsMCwxLjQ2OC0wLjEwNywyLjE5OS0wLjMzMWMzLjk2LTEuMjEzLDYuMTg4LTUuNDA3LDQuOTc1LTkuMzY3DQoJCQkJbC0xMC4zMy0zMy43MzZjLTAuMDEtMC4wMzMtMC4wMi0wLjA2Ni0wLjAzLTAuMDk5bC0xMy41MTQtNDQuMTM1aDEzLjcyM2MxMi4zOTUsMCwyMi40NzctMTAuMDgzLDIyLjQ3Ny0yMi40Nzh2LTMuNjk3DQoJCQkJQzE4Ny4wMSwyNjEuNTIxLDE3MC4zMTksMjQ0LjgzLDE0OS44MDMsMjQ0LjgzeiBNNTMuMzUzLDM0Ny4xMjJsMTEuOTE0LTM4LjkxaDY5Ljg1NWwxMS45MTQsMzguOTFINTMuMzUzeiBNMTcyLjAxLDI4NS43MzQNCgkJCQljMCw0LjEyNC0zLjM1NCw3LjQ3OC03LjQ3Nyw3LjQ3OGgtMjMuNzg4Yy0wLjAzLDAtMC4wNTksMC0wLjA4OSwwSDY1LjI2M2MtMS42MDQsMC0zLjE4Mi0wLjEwMy00LjczNi0wLjI4Mw0KCQkJCWMtMC4wMDEsMC0wLjAwMywwLTAuMDA1LDBjLTE4Ljc2NC0yLjE2OS0zMy41NTgtMTcuMDY1LTM1LjI1LTM2LjM1MkwxNS4wMywxMzkuODY3Yy0wLjItMi4yNzUsMC41NC00LjQ1NCwyLjA4Mi02LjEzNw0KCQkJCWMxLjU0MS0xLjY4MywzLjY0Ny0yLjYxLDUuOTMtMi42MWg2LjgzN2MxMC4wOTUsMCwxOC4zNzMsNy41ODMsMTkuMjU1LDE3LjY0bDcuMzk2LDg0LjI3OXYtMC4wMDENCgkJCQljMS4zNCwxNS4yNzMsMTMuOTEzLDI2Ljc5MSwyOS4yNDYsMjYuNzkxaDY0LjAyNmMxMi4yNDUsMCwyMi4yMDcsOS45NjIsMjIuMjA3LDIyLjIwN1YyODUuNzM0eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzEyLjk0OCwzNzEuMTQxYy0zLjA5NS0xMS44OTctMTMuODQxLTIwLjIwNi0yNi4xMzQtMjAuMjA2aC00LjY0MlYyMTQuNDAxaDkyLjM1NGM1LjMyLDAsMTAuMjk5LTIuMzY1LDEzLjY2MS02LjQ4OA0KCQkJCWMzLjM2Mi00LjEyNCw0LjY3Ny05LjQ3OCwzLjYwNS0xNC42OWMtMy4yMjYtMTUuNjg0LTE3LjE4OC0yNy4wNjctMzMuMTk5LTI3LjA2N0gyMDIuNjY1Yy00LjE0MywwLTcuNSwzLjM1OC03LjUsNy41DQoJCQkJczMuMzU3LDcuNSw3LjUsNy41aDE1NS45MjhjOC45MjYsMCwxNi43MDgsNi4zNDYsMTguNTA2LDE1LjA4OGMwLjIxOSwxLjA2NC0wLjI0MywxLjgyOS0wLjUzNywyLjE5MQ0KCQkJCWMtMC4yOTUsMC4zNjEtMC45NTEsMC45NjctMi4wMzYsMC45NjdIMTM3LjQ3MmMtMS4wODUsMC0xLjc0MS0wLjYwNi0yLjAzNi0wLjk2N2MtMC4yOTQtMC4zNjEtMC43NTYtMS4xMjctMC41MzctMi4xOQ0KCQkJCWMxLjc5OC04Ljc0Myw5LjU4LTE1LjA4OSwxOC41MDYtMTUuMDg5aDE0LjA4NGM0LjE0MywwLDcuNS0zLjM1OCw3LjUtNy41cy0zLjM1Ny03LjUtNy41LTcuNWgtMTQuMDg0DQoJCQkJYy0xNi4wMTIsMC0yOS45NzQsMTEuMzgzLTMzLjE5OSwyNy4wNjhjLTEuMDcxLDUuMjEyLDAuMjQzLDEwLjU2NiwzLjYwNSwxNC42ODljMy4zNjIsNC4xMjMsOC4zNDEsNi40ODgsMTMuNjYxLDYuNDg4aDkyLjM1NQ0KCQkJCXYxMzYuNTM1aC00LjY0MmMtMTIuMjkzLDAtMjMuMDM5LDguMzA5LTI2LjEzNCwyMC4yMDVsLTEuNzYxLDYuNzY3Yy0xLjEyNyw0LjMzNS0wLjIwMyw4Ljg1MiwyLjUzNiwxMi4zOTYNCgkJCQljMi43NCwzLjU0Myw2Ljg4LDUuNTc2LDExLjM1OCw1LjU3Nmg4OS42M2M0LjQ3OSwwLDguNjE4LTIuMDMyLDExLjM1OC01LjU3NmMyLjczOS0zLjU0MywzLjY2My04LjA2MSwyLjUzNi0xMi4zOTYNCgkJCQlMMzEyLjk0OCwzNzEuMTQxeiBNMjQ0LjgyNywyMTQuNDAxTDI0NC44MjcsMjE0LjQwMWgyMi4zNDZ2MTM2LjUzNWgtMjIuMzQ2VjIxNC40MDF6IE0yMTIuMDE2LDM4MC44NzlsMS41NTItNS45NjINCgkJCQljMS4zNzUtNS4yODgsNi4xNTItOC45ODEsMTEuNjE2LTguOTgxaDYxLjYyOWM1LjQ2NCwwLDEwLjI0MSwzLjY5MywxMS42MTYsOC45ODFsMS41NTIsNS45NjJIMjEyLjAxNnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==","Dining Room":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMi4wMDEgNTEyLjAwMSI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTUwNS45NDcsMTIzLjU5N2MtNC4zNTMtNC43NTItMTAuNTQ2LTcuNDc3LTE2Ljk5LTcuNDc3aC02LjgzN2MtMTcuOTI5LDAtMzIuNjMxLDEzLjQ2OC0zNC4xOTgsMzEuMzI4bC03LjM5Nyw4NC4yNzkNCgkJCQljLTAuNjU1LDcuNDY5LTYuODA0LDEzLjEwMi0xNC4zMDMsMTMuMTAyaC02NC4wMjZjLTIwLjUxNiwwLTM3LjIwNywxNi42OTEtMzcuMjA3LDM3LjIwN3YzLjY5Nw0KCQkJCWMwLDEyLjM5NSwxMC4wODMsMjIuNDc4LDIyLjQ3OCwyMi40NzhoMTMuNzIzbC0xMy41MTQsNDQuMTM1Yy0wLjAxLDAuMDMzLTAuMDIsMC4wNjYtMC4wMywwLjA5OWwtMTAuMzMsMzMuNzM2DQoJCQkJYy0xLjIxMywzLjk2MSwxLjAxNSw4LjE1NCw0Ljk3NSw5LjM2N2MwLjczMiwwLjIyNCwxLjQ3MiwwLjMzMSwyLjE5OSwwLjMzMWMzLjIwOSwwLDYuMTgtMi4wNzcsNy4xNjgtNS4zMDZsOC43MTItMjguNDUxSDQ2My4yNA0KCQkJCWw4LjcxMiwyOC40NTFjMC45ODgsMy4yMjksMy45NTgsNS4zMDYsNy4xNjgsNS4zMDZjMC43MjgsMCwxLjQ2OC0wLjEwNywyLjE5OS0wLjMzMWMzLjk2LTEuMjEzLDYuMTg4LTUuNDA3LDQuOTc1LTkuMzY3DQoJCQkJbC0yNC41MTctODAuMDY2YzQuMzA1LTEuMjE5LDguNDYyLTIuOTUzLDEyLjM2Mi01LjE4OGMzLjU5My0yLjA2LDQuODM2LTYuNjQzLDIuNzc2LTEwLjIzNg0KCQkJCWMtMi4wNi0zLjU5My02LjY0NC00LjgzNi0xMC4yMzctMi43NzZjLTYuMDQ0LDMuNDY1LTEyLjkzOSw1LjI5Ny0xOS45NCw1LjI5N2gtNzUuNDAyYy0wLjAyNSwwLTAuMDUsMC0wLjA3NCwwaC0yMy43OTMNCgkJCQljLTQuMTIzLDAtNy40NzgtMy4zNTQtNy40NzgtNy40Nzh2LTMuNjk3YzAtMTIuMjQ1LDkuOTYyLTIyLjIwNywyMi4yMDctMjIuMjA3aDY0LjAyNmMxNS4zMzMsMCwyNy45MDYtMTEuNTE4LDI5LjI0Ni0yNi43OTENCgkJCQlsNy4zOTYtODQuMjhjMC44ODItMTAuMDU2LDkuMTYtMTcuNjQsMTkuMjU1LTE3LjY0aDYuODM3YzIuMjgyLDAsNC4zODksMC45MjcsNS45MywyLjYxYzEuNTQyLDEuNjgzLDIuMjgyLDMuODYyLDIuMDgyLDYuMTM2DQoJCQkJbC0xMC4yNDIsMTE2LjcxMWMtMC4yNTIsMi44NzgtMC44MTMsNS43MjYtMS42NjYsOC40NjRjLTEuMjMyLDMuOTU1LDAuOTc2LDguMTYsNC45MzEsOS4zOTFjMy45NiwxLjIzMiw4LjE1OS0wLjk3Nyw5LjM5Mi00LjkzDQoJCQkJYzEuMTcxLTMuNzYyLDEuOTQtNy42NjksMi4yODctMTEuNjE0bDEwLjI0Mi0xMTYuNzExQzUxMi40NzQsMTM0Ljc1Nyw1MTAuMywxMjguMzQ5LDUwNS45NDcsMTIzLjU5N3ogTTM3Ni44NzUsMzA4LjIxMmg2OS44NTUNCgkJCQlsMTEuOTE0LDM4LjkxaC05My42ODRMMzc2Ljg3NSwzMDguMjEyeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTQ5LjgwMywyNDQuODNIODUuNzc3Yy03LjQ5OSwwLTEzLjY0Ny01LjYzMi0xNC4zMDMtMTMuMTAybC03LjM5Ni04NC4yNzljLTEuNTY3LTE3Ljg2LTE2LjI2OS0zMS4zMjgtMzQuMTk4LTMxLjMyOA0KCQkJCWgtNi44MzdjLTYuNDQ0LDAtMTIuNjM3LDIuNzI1LTE2Ljk5LDcuNDc3Yy00LjM1Myw0Ljc1Mi02LjUyNywxMS4xNi01Ljk2NSwxNy41ODFsMTAuMjQyLDExNi43MTENCgkJCQljMS4yMDksMTMuNzczLDcuNDg5LDI2LjUwMSwxNy42ODQsMzUuODQxYzYuNDA1LDUuODY4LDE0LjAxLDEwLjA3NywyMi4yMDYsMTIuMzk3bC0yNC41MTQsODAuMDU1DQoJCQkJYy0xLjIxMywzLjk2MSwxLjAxNSw4LjE1NCw0Ljk3NSw5LjM2N2MwLjczMiwwLjIyNCwxLjQ3MiwwLjMzMSwyLjE5OSwwLjMzMWMzLjIwOSwwLDYuMTgtMi4wNzcsNy4xNjgtNS4zMDZsOC43MTItMjguNDUxSDE1MS42Mw0KCQkJCWw4LjcxMiwyOC40NTFjMC45ODgsMy4yMjksMy45NTgsNS4zMDYsNy4xNjgsNS4zMDZjMC43MjgsMCwxLjQ2OC0wLjEwNywyLjE5OS0wLjMzMWMzLjk2LTEuMjEzLDYuMTg4LTUuNDA3LDQuOTc1LTkuMzY3DQoJCQkJbC0xMC4zMy0zMy43MzZjLTAuMDEtMC4wMzMtMC4wMi0wLjA2Ni0wLjAzLTAuMDk5bC0xMy41MTQtNDQuMTM1aDEzLjcyM2MxMi4zOTUsMCwyMi40NzctMTAuMDgzLDIyLjQ3Ny0yMi40Nzh2LTMuNjk3DQoJCQkJQzE4Ny4wMSwyNjEuNTIxLDE3MC4zMTksMjQ0LjgzLDE0OS44MDMsMjQ0LjgzeiBNNTMuMzUzLDM0Ny4xMjJsMTEuOTE0LTM4LjkxaDY5Ljg1NWwxMS45MTQsMzguOTFINTMuMzUzeiBNMTcyLjAxLDI4NS43MzQNCgkJCQljMCw0LjEyNC0zLjM1NCw3LjQ3OC03LjQ3Nyw3LjQ3OGgtMjMuNzg4Yy0wLjAzLDAtMC4wNTksMC0wLjA4OSwwSDY1LjI2M2MtMS42MDQsMC0zLjE4Mi0wLjEwMy00LjczNi0wLjI4Mw0KCQkJCWMtMC4wMDEsMC0wLjAwMywwLTAuMDA1LDBjLTE4Ljc2NC0yLjE2OS0zMy41NTgtMTcuMDY1LTM1LjI1LTM2LjM1MkwxNS4wMywxMzkuODY3Yy0wLjItMi4yNzUsMC41NC00LjQ1NCwyLjA4Mi02LjEzNw0KCQkJCWMxLjU0MS0xLjY4MywzLjY0Ny0yLjYxLDUuOTMtMi42MWg2LjgzN2MxMC4wOTUsMCwxOC4zNzMsNy41ODMsMTkuMjU1LDE3LjY0bDcuMzk2LDg0LjI3OXYtMC4wMDENCgkJCQljMS4zNCwxNS4yNzMsMTMuOTEzLDI2Ljc5MSwyOS4yNDYsMjYuNzkxaDY0LjAyNmMxMi4yNDUsMCwyMi4yMDcsOS45NjIsMjIuMjA3LDIyLjIwN1YyODUuNzM0eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzEyLjk0OCwzNzEuMTQxYy0zLjA5NS0xMS44OTctMTMuODQxLTIwLjIwNi0yNi4xMzQtMjAuMjA2aC00LjY0MlYyMTQuNDAxaDkyLjM1NGM1LjMyLDAsMTAuMjk5LTIuMzY1LDEzLjY2MS02LjQ4OA0KCQkJCWMzLjM2Mi00LjEyNCw0LjY3Ny05LjQ3OCwzLjYwNS0xNC42OWMtMy4yMjYtMTUuNjg0LTE3LjE4OC0yNy4wNjctMzMuMTk5LTI3LjA2N0gyMDIuNjY1Yy00LjE0MywwLTcuNSwzLjM1OC03LjUsNy41DQoJCQkJczMuMzU3LDcuNSw3LjUsNy41aDE1NS45MjhjOC45MjYsMCwxNi43MDgsNi4zNDYsMTguNTA2LDE1LjA4OGMwLjIxOSwxLjA2NC0wLjI0MywxLjgyOS0wLjUzNywyLjE5MQ0KCQkJCWMtMC4yOTUsMC4zNjEtMC45NTEsMC45NjctMi4wMzYsMC45NjdIMTM3LjQ3MmMtMS4wODUsMC0xLjc0MS0wLjYwNi0yLjAzNi0wLjk2N2MtMC4yOTQtMC4zNjEtMC43NTYtMS4xMjctMC41MzctMi4xOQ0KCQkJCWMxLjc5OC04Ljc0Myw5LjU4LTE1LjA4OSwxOC41MDYtMTUuMDg5aDE0LjA4NGM0LjE0MywwLDcuNS0zLjM1OCw3LjUtNy41cy0zLjM1Ny03LjUtNy41LTcuNWgtMTQuMDg0DQoJCQkJYy0xNi4wMTIsMC0yOS45NzQsMTEuMzgzLTMzLjE5OSwyNy4wNjhjLTEuMDcxLDUuMjEyLDAuMjQzLDEwLjU2NiwzLjYwNSwxNC42ODljMy4zNjIsNC4xMjMsOC4zNDEsNi40ODgsMTMuNjYxLDYuNDg4aDkyLjM1NQ0KCQkJCXYxMzYuNTM1aC00LjY0MmMtMTIuMjkzLDAtMjMuMDM5LDguMzA5LTI2LjEzNCwyMC4yMDVsLTEuNzYxLDYuNzY3Yy0xLjEyNyw0LjMzNS0wLjIwMyw4Ljg1MiwyLjUzNiwxMi4zOTYNCgkJCQljMi43NCwzLjU0Myw2Ljg4LDUuNTc2LDExLjM1OCw1LjU3Nmg4OS42M2M0LjQ3OSwwLDguNjE4LTIuMDMyLDExLjM1OC01LjU3NmMyLjczOS0zLjU0MywzLjY2My04LjA2MSwyLjUzNi0xMi4zOTYNCgkJCQlMMzEyLjk0OCwzNzEuMTQxeiBNMjQ0LjgyNywyMTQuNDAxTDI0NC44MjcsMjE0LjQwMWgyMi4zNDZ2MTM2LjUzNWgtMjIuMzQ2VjIxNC40MDF6IE0yMTIuMDE2LDM4MC44NzlsMS41NTItNS45NjINCgkJCQljMS4zNzUtNS4yODgsNi4xNTItOC45ODEsMTEuNjE2LTguOTgxaDYxLjYyOWM1LjQ2NCwwLDEwLjI0MSwzLjY5MywxMS42MTYsOC45ODFsMS41NTIsNS45NjJIMjEyLjAxNnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",Dining:DNe,"Dressing Room":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTQ5Ny4wMDQgMjc2LjE2OWMwLTQuMTM5IDMuMzc0LTcuNTEyIDcuNTEyLTcuNTEyczcuNDgzIDMuMzczIDcuNDgzIDcuNTEydjEzNy4zNCAzOS45OTdjMCA0LjEzOS0zLjM0NSA3LjQ4My03LjQ4MyA3LjQ4M2gtNDk3LjAwNGMtNC4xMzkgMC03LjUxMi0zLjM0NS03LjUxMi03LjQ4MyAwLTEyNC43NTQgMC0yNDkuNTM2IDAtMzc0LjI5MSAwLTcuNzY3IDMuMTc1LTE0LjgyNSA4LjI3Ny0xOS45MjggNS4xMDMtNS4xMDMgMTIuMTYxLTguMjc3IDE5LjkyOC04LjI3N2gxMjQuMjQ0YzcuOTA5IDAgMTUuMzY0IDMuMzE2IDIwLjcyMiA5LjA5OSA1LjM1Ny01Ljc4MyAxMi44MTItOS4wOTkgMjAuNzIyLTkuMDk5aDEyNC4yNDNjNy44ODEgMCAxNS4zNjQgMy4zMTYgMjAuNjkzIDkuMDk5IDUuMzU4LTUuNzgzIDEyLjgxMy05LjA5OSAyMC43MjItOS4wOTloMTI0LjI0NGM3Ljc2NyAwIDE0LjgyNiAzLjE3NSAxOS45MjggOC4yNzcgNS4xMDIgNS4xMDMgOC4yNzcgMTIuMTYxIDguMjc3IDE5LjkyOHYyNS42MjUgMTM3LjM0YzAgNC4xMzktMy4zNDUgNy41MTItNy40ODMgNy41MTItNC4xMzkgMC03LjUxMi0zLjM3My03LjUxMi03LjUxMnYtMTI5Ljg1NWgtNjcuODM1djEyLjkyNmw0Ni44MyAyMy44MzljNC4xOTUgMi4xMjYgNy4xMTUgNS43NTUgOC40NDcgOS44OTQgMS4zNiA0LjEzOSAxLjEzNCA4Ljc4Ny0uOTkyIDEyLjk1NC0xLjQ0NiAyLjgzNS0zLjY1NyA1LjE1OS02LjI5MyA2Ljc3NS0yLjY2NCAxLjY0NC01LjcyNiAyLjUyMy04Ljg3MiAyLjUyM2gtMy4zNDV2OTUuNjEzYzAgNC4xMzktMy4zNDUgNy40ODQtNy40ODQgNy40ODRoLTcxLjE1Yy00LjEzOSAwLTcuNDgzLTMuMzQ1LTcuNDgzLTcuNDg0di0zNC41NTRjMC00LjE2NyAzLjM0NS03LjUxMiA3LjQ4My03LjUxMiA0LjEzOSAwIDcuNTEyIDMuMzQ1IDcuNTEyIDcuNTEydjI3LjA0M2g1Ni4xMjd2LTg4LjEwMmgtNTYuMTI3djI3LjA3MWMwIDQuMTM5LTMuMzczIDcuNTEyLTcuNTEyIDcuNTEycy03LjQ4My0zLjM3My03LjQ4My03LjUxMnYtMjcuMDcxaC0zLjM0NWMtNC43MDYgMC04Ljk1Ny0xLjg5OS0xMi4wMTktNC45ODktMy4wOS0zLjA2MS00Ljk4OS03LjMxMy00Ljk4OS0xMi4wMTkgMC0zLjM0NS45OTItNi41MiAyLjY5My05LjE1NiAxLjcyOS0yLjY2NCA0LjEzOS00LjgxOSA2Ljk3NC02LjE4bDQ2LjAzNS0yMy40NDN2LTEzLjEyNGgtNjcuODM0djI5My43MDFoMTUwLjY2M3YtMTI5Ljg1N3ptLTczLjg0My0xMzcuMTk5Yy0uODIyLS41MS0xLjY3Mi0uNTEtMi40OTUgMGwtNDUuNzIzIDIzLjMwMWMtLjkwNy4zNC0xLjQ3NC45MzYtMS40NzQgMS45NTYgMCAxLjEwNS45MDcgMi4wMTMgMi4wMTMgMi4wMTNoOTIuODA3Yy43OTMgMCAxLjQ0Ni0uMzk3IDEuNzg2LTEuMTA1LjUxLS45OTIuMTQyLTIuMTgzLS44NzgtMi42OTNsLTE1LjMzNi03LjgyM2MtOS4wNDMtNC41OTMtMTguMDU3LTkuMTU4LTMwLjctMTUuNjQ5em0tMTY1LjgtLjA4NWMtLjcwOS0uNDI1LTEuNDc0LS40MjUtMi4yNCAwbC00NS44NjUgMjMuMzg2Yy0uODc5LjM0LTEuNDQ2LjkzNi0xLjQ0NiAxLjk1NiAwIDEuMTA1LjkwNyAyLjAxMyAyLjAxMyAyLjAxM2g5Mi44MDdjLjc5NCAwIDEuNDQ2LS4zOTcgMS43ODYtMS4xMDUuNTEtLjk5Mi4xNDItMi4xODMtLjg3OS0yLjY5My0xNS4zOTItNy44MjQtMzAuODEyLTE1LjY0OC00Ni4xNzYtMjMuNTU3em0tMjExLjY2Ni0yNi41NmMtNC4xMzkgMC03LjUxMi0zLjM0NS03LjUxMi03LjQ4NHMzLjM3My03LjUxMiA3LjUxMi03LjUxMmg4OS4yOTJjNC4xMzggMCA3LjUxMiAzLjM3NCA3LjUxMiA3LjUxMiAwIDQuMTM5LTMuMzczIDcuNDg0LTcuNTEyIDcuNDg0em0wIDEwMS45MzRjLTQuMTM5IDAtNy41MTItMy4zNzMtNy41MTItNy41MTJzMy4zNzMtNy40ODMgNy41MTItNy40ODNoODkuMjkyYzQuMTM4IDAgNy41MTIgMy4zNDUgNy41MTIgNy40ODMgMCA0LjEzOS0zLjM3MyA3LjUxMi03LjUxMiA3LjUxMnptMC0zMy45ODhjLTQuMTM5IDAtNy41MTItMy4zNDUtNy41MTItNy40ODNzMy4zNzMtNy41MTIgNy41MTItNy41MTJoODkuMjkyYzQuMTM4IDAgNy41MTIgMy4zNzMgNy41MTIgNy41MTJzLTMuMzczIDcuNDgzLTcuNTEyIDcuNDgzem0wLTMzLjk1OWMtNC4xMzkgMC03LjUxMi0zLjM3My03LjUxMi03LjUxMnMzLjM3My03LjQ4MyA3LjUxMi03LjQ4M2g4OS4yOTJjNC4xMzggMCA3LjUxMiAzLjM0NSA3LjUxMiA3LjQ4MyAwIDQuMTM5LTMuMzczIDcuNTEyLTcuNTEyIDcuNTEyem0yMDIuODIyLTIwLjg2M3YtMTMuMTI0aC02Ny44MzR2MTI5Ljg1N2MwIDQuMTM5LTMuMzczIDcuNTEyLTcuNTEyIDcuNTEycy03LjUxMi0zLjM3My03LjUxMi03LjUxMnYtMTYyLjk2N2MwLTMuNjI4LTEuNDc0LTYuOTE3LTMuODgzLTkuMzI2LTIuMzgxLTIuMzgxLTUuNjk4LTMuODg0LTkuMzI2LTMuODg0aC0xMjQuMjQ0Yy0zLjYyOCAwLTYuOTE3IDEuNTAyLTkuMzI3IDMuODg0LTIuMzgxIDIuNDA5LTMuODgzIDUuNjk3LTMuODgzIDkuMzI2djE5Mi4zNjFoMTUuMzA4YzYuMDk0IDAgMTEuNTk0IDIuNDY2IDE1LjU5IDYuNDY0IDMuOTk3IDMuOTk3IDYuNDkyIDkuNTI1IDYuNDkyIDE1LjU5djIzLjMwMWMwIDYuMDY3LTIuNDk1IDExLjU5NC02LjQ5MiAxNS41OTFzLTkuNDk2IDYuNDYzLTE1LjU5IDYuNDYzaC0xNS4zMDh2MTA3LjAwOWgxNTAuNjYzdi0xNjkuODI1YzAtNC4xMzkgMy4zNzQtNy41MTIgNy41MTItNy41MTJzNy41MTIgMy4zNzMgNy41MTIgNy41MTJ2MTI5Ljg1NmgxNTAuNjYzdi0yOTMuN2gtNjcuODM0djEyLjkyNmw0Ni42MyAyMy43MjZjNC4xNjcgMi4xMjYgNy4yIDUuNTI4IDguNjQ2IDEwLjAwNyAyLjQ2NiA3LjU2OC0uNTM5IDE1LjU5LTcuMjg1IDE5LjcyOS0yLjY2NCAxLjY0NC01Ljc1NCAyLjUyMy04Ljg3MiAyLjUyM2gtOTIuODA3Yy00LjcwNiAwLTguOTU4LTEuODk5LTEyLjA0Ny00Ljk4OS0zLjA2MS0zLjA2MS00Ljk2LTcuMzEzLTQuOTYtMTIuMDE5IDAtMy4zNDUuOTkyLTYuNTIgMi42OTMtOS4xNTYgMS43MDEtMi42NjQgNC4xMS00LjgxOSA2Ljk3My02LjE4em0tMjMzLjUyMSAxNzIuMzJoNi4wOTRjNC4xMzkgMCA3LjUxMiAzLjM3MyA3LjUxMiA3LjUxMnMtMy4zNzMgNy41MTItNy41MTIgNy41MTJoLTYuMDk0djExLjE5OGgxNS4zMDhjMS45NTYgMCAzLjcxMy0uNzk0IDQuOTg5LTIuMDY5IDEuMjc2LTEuMzA1IDIuMDk4LTMuMDYxIDIuMDk4LTQuOTl2LTIzLjMwMmMwLTEuOTI4LS44MjItMy42ODUtMi4wOTgtNC45ODktMS4yNzUtMS4yNzYtMy4wMzMtMi4wNjktNC45ODktMi4wNjloLTE1LjMwOHptMzMxLjM0NS0yMTguNTU0djE4LjExM2gxNTAuNjYzdi0xOC4xMTNjMC0zLjYyOC0xLjQ3NC02LjkxNy0zLjg4My05LjMyNi0yLjQwOS0yLjM4MS01LjY5OC0zLjg4NC05LjMyNy0zLjg4NGgtMTI0LjI0M2MtMy42MjggMC02LjkxNyAxLjUwMi05LjMyNiAzLjg4NC0yLjQxIDIuNDEtMy44ODQgNS42OTgtMy44ODQgOS4zMjZ6bS0xNjUuNjU4IDE4LjExNGgxNTAuNjYzdi0xOC4xMTRjMC0zLjYyOC0xLjUwMi02LjkxNy0zLjg4My05LjMyNi0yLjQxLTIuMzgxLTUuNjk4LTMuODg0LTkuMzI3LTMuODg0aC0xMjQuMjQzYy0zLjYyOSAwLTYuOTQ1IDEuNTAyLTkuMzI3IDMuODg0LTIuNDEgMi40MDktMy44ODMgNS42OTctMy44ODMgOS4zMjZ6bTMxNi4zMjEgMzIzLjY5MmgtMzE2LjMyMXYyNC45NzNoMzE2LjMyMnYtMjQuOTczeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",Driveway:dNe,Entrance:zNe,"Equipment Room":"PHN2ZyBoZWlnaHQ9IjUxMnB0IiB2aWV3Qm94PSIwIC00IDUxMiA1MTIiIHdpZHRoPSI1MTJwdCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtMzAzLjA5Mzc1IDE3NC4yNWMzLjM5NDUzMSAyLjM3ODkwNiA4LjA3MDMxMiAxLjU1MDc4MSAxMC40NDUzMTItMS44Mzk4NDRsMTUuOTUzMTI2LTIyLjc4OTA2MmMyLjM3ODkwNi0zLjM5NDUzMiAxLjU1NDY4Ny04LjA3MDMxMy0xLjgzOTg0NC0xMC40NDUzMTMtMy4zOTQ1MzItMi4zNzUtOC4wNzAzMTMtMS41NTA3ODEtMTAuNDQ1MzEzIDEuODQzNzVsLTE1Ljk1NzAzMSAyMi43ODUxNTdjLTIuMzc1IDMuMzk0NTMxLTEuNTUwNzgxIDguMDcwMzEyIDEuODQzNzUgMTAuNDQ1MzEyem0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTM0MS42NzE4NzUgMTU1Ljk4NDM3NS01LjQxNzk2OSAyNy4yODUxNTZjLS45MTc5NjggNC42NDA2MjUgMi42MzI4MTMgOC45NjA5MzggNy4zNjcxODggOC45NjA5MzggMy41MDc4MTIgMCA2LjY0MDYyNS0yLjQ3MjY1NyA3LjM0NzY1Ni02LjAzOTA2M2w1LjQxNDA2Mi0yNy4yODkwNjJjLjgwODU5NC00LjA2MjUtMS44MzIwMzEtOC4wMTE3MTktNS44OTQ1MzEtOC44MTY0MDYtNC4wNjY0MDYtLjgwNDY4OC04LjAxMTcxOSAxLjgzMjAzMS04LjgxNjQwNiA1Ljg5ODQzN3ptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0zMDkuNTg5ODQ0IDEyMS40NDkyMTljLTIuMTQ0NTMyLTMuNTQyOTY5LTYuNzU3ODEzLTQuNjcxODc1LTEwLjMwMDc4Mi0yLjUyNzM0NGwtMjMuNzg5MDYyIDE0LjQyMTg3NWMtMy41NDI5NjkgMi4xNDg0MzgtNC42NzE4NzUgNi43NjE3MTktMi41MjczNDQgMTAuMzA0Njg4IDIuMTUyMzQ0IDMuNTQyOTY4IDYuNzY1NjI1IDQuNjY3OTY4IDEwLjMwNDY4OCAyLjUyMzQzN2wyMy43ODkwNjItMTQuNDE3OTY5YzMuNTQyOTY5LTIuMTQ4NDM3IDQuNjcxODc1LTYuNzYxNzE4IDIuNTIzNDM4LTEwLjMwNDY4N3ptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im04My42NTIzNDQgMTUyLjE3OTY4OGMyLjc1NzgxMiAxLjM1OTM3NCA2LjExMzI4MSAxLjQwNjI1IDguOTY4NzUgMCA3LTMuNDUzMTI2IDI5LjgzNTkzNy0xNi41MDc4MTMgMjkuODM1OTM3LTM5LjQ2NDg0NCAwLTE4LjIwMzEyNS0yMS4yMTQ4NDMtMjcuMDY2NDA2LTM0LjMxMjUtMTYuMDc0MjE5LTUuMDYyNS00LjI2MTcxOS0xMS45NDE0MDYtNS44OTA2MjUtMTguNzUzOTA2LTQuMDg5ODQ0LTkuMzE2NDA2IDIuNDU3MDMxLTE1LjU3MDMxMyAxMC41NjI1LTE1LjU3MDMxMyAyMC4xNjQwNjMgMCAyMy4wMTU2MjUgMjIuODQzNzUgMzYuMDMxMjUgMjkuODMyMDMyIDM5LjQ2NDg0NHptLTMuNzc3MzQ0LTQyLjM2NzE4OGMxLjM5ODQzOCAyLjQ2ODc1IDQuNDY4NzUgNC42MjUgOC4wMjM0MzggNC43MTA5MzggMy41ODIwMzEuMTEzMjgxIDYuOTcyNjU2LTIuMDQ2ODc2IDguNDYwOTM3LTQuNjUyMzQ0IDMuMDU0Njg3LTUuMzU1NDY5IDExLjA5NzY1Ni0zLjE0NDUzMiAxMS4wOTc2NTYgMi44NDc2NTYgMCAxMi42OTE0MDYtMTMuMzk0NTMxIDIxLjU2NjQwNi0xOS4zMjQyMTkgMjQuODc1LTUuOTI5Njg3LTMuMjkyOTY5LTE5LjMxMjUtMTIuMTQ0NTMxLTE5LjMxMjUtMjQuODc1IDAtNi4wNDI5NjkgOC4wODU5MzgtOC4xMzI4MTIgMTEuMDU0Njg4LTIuOTA2MjV6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMTQxLjE0MDYyNSAxMDMuNjE3MTg4aDI5LjYzNjcxOWM0LjE0NDUzMSAwIDcuNS0zLjM1NTQ2OSA3LjUtNy41IDAtNC4xNDA2MjYtMy4zNTU0NjktNy41LTcuNS03LjVoLTI5LjYzNjcxOWMtNC4xNDQ1MzEgMC03LjUgMy4zNTkzNzQtNy41IDcuNSAwIDQuMTQ0NTMxIDMuMzU1NDY5IDcuNSA3LjUgNy41em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTE0MS4xNDA2MjUgMTMwLjAyNzM0NGgyOS42MzY3MTljNC4xNDQ1MzEgMCA3LjUtMy4zNTU0NjkgNy41LTcuNSAwLTQuMTQ0NTMyLTMuMzU1NDY5LTcuNS03LjUtNy41aC0yOS42MzY3MTljLTQuMTQ0NTMxIDAtNy41IDMuMzU1NDY4LTcuNSA3LjUgMCA0LjE0MDYyNSAzLjM1NTQ2OSA3LjUgNy41IDcuNXptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xNDEuMTQwNjI1IDE1Ni40Mzc1aDI5LjYzNjcxOWM0LjE0NDUzMSAwIDcuNS0zLjM1NTQ2OSA3LjUtNy41cy0zLjM1NTQ2OS03LjUtNy41LTcuNWgtMjkuNjM2NzE5Yy00LjE0NDUzMSAwLTcuNSAzLjM1NTQ2OS03LjUgNy41czMuMzU1NDY5IDcuNSA3LjUgNy41em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ5NS43Njk1MzEgMTUuMDA3ODEyYzQuMTQ0NTMxIDAgNy41LTMuMzU1NDY4IDcuNS03LjUgMC00LjE0NDUzMS0zLjM1NTQ2OS03LjQ5OTk5OTUtNy41LTcuNDk5OTk5NWgtNzMuNzEwOTM3Yy0uMTE3MTg4IDAtLjIzMDQ2OS4wMTE3MTg3LS4zNDc2NTYuMDE1NjI1LTIuNDk2MDk0LS4xMjg5MDY1LTUgLjk4NDM3NDUtNi41MzkwNjMgMy4xODM1OTM1bC0yNS44OTA2MjUgMzYuOTcyNjU3LTMyLjgzOTg0NC0yMi45OTYwOTRjLTE3LjM3MTA5NC0xMi4xNjQwNjMtMzguOTAyMzQ0LTE2LjI4OTA2My01OS41OTM3NS0xMS41MzkwNjNsLTIuNTk3NjU2LTEuODIwMzEyYy05LjU4OTg0NC02LjcxMDkzOC0yMi44MTY0MDYtNC4zNDc2NTctMjkuNSA1LjE5OTIxOWwtNS45Njg3NSA4LjUyMzQzN2MtNi42OTUzMTIgOS41NjI1LTQuMzYzMjgxIDIyLjgwMDc4MSA1LjIwMzEyNSAyOS40OTYwOTRsMi4wNDY4NzUgMS40MzM1OTNjLTYuODU5Mzc1IDMwLjYxNzE4OCAyNi44NjMyODEgNTQuMDgyMDMyIDUzLjE3OTY4OCAzNy4yMzgyODJsNC4xOTE0MDYgMi45MzM1OTRjLTYuODUxNTYzIDMwLjU3MDMxMiAyNi44MDQ2ODcgNTQuMTE3MTg3IDUzLjE3NTc4MSAzNy4yMzgyODFsNC4xOTUzMTMgMi45MzM1OTNjLTYuODU5Mzc2IDMwLjYxNzE4OCAyNi44NjMyODEgNTQuMDc4MTI2IDUzLjE3NTc4MSAzNy4yMzQzNzZsMi4wNTQ2ODcgMS40NDE0MDZjOS41NjY0MDYgNi42OTUzMTIgMjIuODAwNzgyIDQuMzYzMjgxIDI5LjQ5NjA5NC01LjIwMzEyNWw1Ljk2ODc1LTguNTIzNDM4YzYuNjk1MzEyLTkuNTYyNSA0LjM2MzI4MS0yMi44MDA3ODEtNS4xOTkyMTktMjkuNDk2MDkzbC0zLjI3MzQzNy0yLjI5Mjk2OWMtMi42MTMyODItMjEuMDY2NDA3LTEzLjg1NTQ2OS0zOS44ODY3MTktMzEuMjI2NTYzLTUyLjA1NDY4OGwtMzAuMTk5MjE5LTIxLjE0MDYyNSAyMy42NTIzNDQtMzMuNzc3MzQ0em0tMjE1LjQ1NzAzMSA0My40NzI2NTcgMjQuNjIxMDk0IDE3LjI0MjE4N2MtMTEuNzk2ODc1IDIuNzkyOTY5LTIzLjIyMjY1Ni01LjIzNDM3NS0yNC42MjEwOTQtMTcuMjQyMTg3em01Ny4zNjcxODggNDAuMTY3OTY5IDI0LjYyNSAxNy4yNDIxODdjLTExLjc2OTUzMiAyLjc5Njg3NS0yMy4yMjI2NTctNS4yMDcwMzEtMjQuNjI1LTE3LjI0MjE4N3ptNTcuMzcxMDkzIDQwLjE3MTg3NGMxNC45MTc5NjkgMTAuNDQ1MzEzIDkuNzc3MzQ0IDYuODQzNzUgMjQuNjI1IDE3LjI0MjE4OC0xMS43NzM0MzcgMi43OTY4NzUtMjMuMjIyNjU2LTUuMjE0ODQ0LTI0LjYyNS0xNy4yNDIxODh6bTY0LjEyODkwNyA2LjM0Mzc1LTUuOTY4NzUgOC41MjM0MzhjLTEuOTUzMTI2IDIuNzg5MDYyLTUuODEyNSAzLjQ3MjY1Ni04LjYwNTQ2OSAxLjUxOTUzMS0yLjQxMDE1Ny0xLjY4NzUtMTY5Ljg1OTM3NS0xMTguOTQxNDA2LTE3Mi4wMTk1MzEtMTIwLjQ0OTIxOS0yLjc2OTUzMi0xLjk0MTQwNi0zLjQ1NzAzMi01LjgzMjAzMS0xLjUxNTYyNi04LjYwNTQ2OGw1Ljk2ODc1LTguNTIzNDM4YzEuOTQ5MjE5LTIuNzgxMjUgNS44NDM3NS0zLjQ0OTIxOCA4LjYwNTQ2OS0xLjUxNTYyNWwxNzIuMDE5NTMxIDEyMC40NDUzMTNjMi43NzM0MzggMS45NDE0MDYgMy40NTcwMzIgNS44MzU5MzcgMS41MTU2MjYgOC42MDU0Njh6bS0xNC45MDIzNDQtMzYuMjg5MDYyYy03Ljg5NDUzMi01LjUzMTI1LTEyNS4wNDY4NzUtODcuNTU4NTk0LTEyOC43MTA5MzgtOTAuMTI1IDExLjQ3MjY1Ni4zNTE1NjIgMjIuNjcxODc1IDQgMzIuMjczNDM4IDEwLjcyMjY1Nmw3NS4zMjQyMTggNTIuNzQyMTg4YzkuNTk3NjU3IDYuNzIyNjU2IDE2Ljg1OTM3NiAxNiAyMS4xMTMyODIgMjYuNjYwMTU2em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ5MC44MjAzMTIgMzEwLjUxNTYyNWgtMjE3LjMyMDMxMmMtNC4xNDQ1MzEgMC03LjUgMy4zNTkzNzUtNy41IDcuNSAwIDQuMTQ0NTMxIDMuMzU1NDY5IDcuNTAzOTA2IDcuNSA3LjUwMzkwNmgyMTcuMzIwMzEyYzMuNDA2MjUgMCA2LjE3OTY4OCAyLjc2OTUzMSA2LjE3OTY4OCA2LjE3NTc4MXYxMy42Nzk2ODhjMCAzLjQwNjI1LTIuNzczNDM4IDYuMTc5Njg4LTYuMTc5Njg4IDYuMTc5Njg4LTMuNDQ1MzEyIDAtNDYzLjYwOTM3NCAwLTQ2OS42NDA2MjQgMC0zLjQwNjI1IDAtNi4xNzk2ODgtMi43Njk1MzItNi4xNzk2ODgtNi4xNzk2ODh2LTEzLjY3OTY4OGMwLTMuNDA2MjUgMi43NzM0MzgtNi4xNzU3ODEgNi4xNzk2ODgtNi4xNzU3ODFoMjE3LjMyMDMxMmM0LjE0NDUzMSAwIDcuNS0zLjM1OTM3NSA3LjUtNy41MDM5MDYgMC00LjE0MDYyNS0zLjM1NTQ2OS03LjUtNy41LTcuNWgtODUuMzU1NDY5Yy41OTc2NTctMS45NTMxMjUuOTI1NzgxLTQuMDI3MzQ0LjkyNTc4MS02LjE3NTc4MXYtMTMuNjc5Njg4YzAtMTEuNjc5Njg3LTkuNS0yMS4xNzk2ODctMjEuMTc5Njg3LTIxLjE3OTY4N2gtMTExLjcxMDkzN2MtMTEuNjc5Njg4IDAtMjEuMTc5Njg4IDkuNS0yMS4xNzk2ODggMjEuMTc5Njg3djEzLjY3OTY4OGMwIDUuMjE0ODQ0IDEuOTAyMzQ0IDkuOTg0Mzc1IDUuMDM5MDYyIDEzLjY3OTY4Ny0zLjEzNjcxOCAzLjY5MTQwNy01LjAzOTA2MiA4LjQ2NDg0NC01LjAzOTA2MiAxMy42NzU3ODF2MTMuNjc5Njg4YzAgMTEuMzI4MTI1IDguOTQ1MzEyIDIwLjU3ODEyNSAyMC4xMzY3MTkgMjEuMTI4OTA2djYuNjA5Mzc1YzAgMTEuNjc5Njg4IDkuNTAzOTA2IDIxLjE3OTY4OCAyMS4xNzk2ODcgMjEuMTc5Njg4aDIwLjcxNDg0NHY5NS4xNDA2MjVjMCA3Ljg3ODkwNiA2LjQxMDE1NiAxNC4yODkwNjIgMTQuMjkyOTY5IDE0LjI4OTA2MmgxNC4xNTIzNDNjNy44Nzg5MDcgMCAxNC4yOTI5NjktNi40MTAxNTYgMTQuMjkyOTY5LTE0LjI4OTA2MnYtOTUuMTQwNjI1aDMwMi40NjA5Mzh2OTUuMTQwNjI1YzAgNy44Nzg5MDYgNi40MTAxNTYgMTQuMjg5MDYyIDE0LjI5Mjk2OSAxNC4yODkwNjJoMTQuMTUyMzQzYzcuODgyODEzIDAgMTQuMjkyOTY5LTYuNDEwMTU2IDE0LjI5Mjk2OS0xNC4yODkwNjJ2LTk1LjE0MDYyNWgyMC43MTA5MzhjMTEuNjc5Njg3IDAgMjEuMTc5Njg3LTkuNSAyMS4xNzk2ODctMjEuMTc5Njg4di02LjYwOTM3NWMxMS4xOTUzMTMtLjU1MDc4MSAyMC4xNDA2MjUtOS44MDA3ODEgMjAuMTQwNjI1LTIxLjEyODkwNnYtMTMuNjc5Njg4YzAtMTEuNjc1NzgxLTkuNS0yMS4xNzk2ODctMjEuMTc5Njg4LTIxLjE3OTY4N3ptLTQ3NS44MjAzMTItMTkuODU1NDY5YzAtMy40MDYyNSAyLjc3MzQzOC02LjE3OTY4NyA2LjE3OTY4OC02LjE3OTY4N2gxMTEuNzEwOTM3YzMuNDA2MjUgMCA2LjE3OTY4NyAyLjc3MzQzNyA2LjE3OTY4NyA2LjE3OTY4N3YxMy42Nzk2ODhjMCAzLjQwNjI1LTIuNzczNDM3IDYuMTc5Njg3LTYuMTc5Njg3IDYuMTc5Njg3aC0xMTEuNzEwOTM3Yy0zLjQwNjI1IDAtNi4xNzk2ODgtMi43NzM0MzctNi4xNzk2ODgtNi4xNzk2ODd6bTc0Ljc2NTYyNSAxOTguMDYyNWgtMTIuNzM0Mzc1di05NC40Mjk2ODdoMTIuNzM0Mzc1em0zNDUuMjAzMTI1IDBoLTEyLjczODI4MXYtOTQuNDI5Njg3aDEyLjczODI4MXptNDEuODkwNjI1LTExNS42MDkzNzVjMCAzLjQwNjI1LTIuNzY5NTMxIDYuMTc5Njg4LTYuMTc5Njg3IDYuMTc5Njg4LTEzLjcxNDg0NCAwLTQxNS4wMzUxNTcgMC00MjkuMzYzMjgyIDAtMy40MDYyNSAwLTYuMTc5Njg3LTIuNzczNDM4LTYuMTc5Njg3LTYuMTc5Njg4di02LjU1ODU5M2g0NDEuNzIyNjU2em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTIyOC45NjA5MzggMTEyLjUyNzM0NGM0LjE0NDUzMSAwIDcuNS0zLjM1OTM3NSA3LjUtNy41di00MS4xMzY3MTljMC0xNi4zMTY0MDYtMTMuMjczNDM4LTI5LjU5Mzc1LTI5LjU4OTg0NC0yOS41OTM3NWgtMTc3LjI4MTI1Yy0xNi4zMTY0MDYgMC0yOS41ODk4NDQgMTMuMjczNDM3LTI5LjU4OTg0NCAyOS41OTM3NXYxMTcuMjc3MzQ0YzAgMTYuMzE2NDA2IDEzLjI3MzQzOCAyOS41ODk4NDMgMjkuNTg5ODQ0IDI5LjU4OTg0M2gxNzcuMjgxMjVjMTYuMzE2NDA2IDAgMjkuNTkzNzUtMTMuMjczNDM3IDI5LjU5Mzc1LTI5LjU4OTg0M3YtNDEuMTQwNjI1YzAtNC4xNDA2MjUtMy4zNTkzNzUtNy41LTcuNTAzOTA2LTcuNS00LjE0MDYyNiAwLTcuNSAzLjM1OTM3NS03LjUgNy41djQxLjE0MDYyNWMwIDguMDQyOTY5LTYuNTQ2ODc2IDE0LjU4OTg0My0xNC41ODk4NDQgMTQuNTg5ODQzaC0xNzcuMjgxMjVjLTguMDQyOTY5IDAtMTQuNTg5ODQ0LTYuNTQ2ODc0LTE0LjU4OTg0NC0xNC41ODk4NDN2LTExNy4yNzczNDRjMC04LjA0Njg3NSA2LjU0Njg3NS0xNC41OTM3NSAxNC41ODk4NDQtMTQuNTkzNzVoMTc3LjI4MTI1YzguMDQyOTY4IDAgMTQuNTg5ODQ0IDYuNTQ2ODc1IDE0LjU4OTg0NCAxNC41OTM3NXY0MS4xMzY3MTljMCA0LjE0MDYyNSAzLjM1OTM3NCA3LjUgNy41IDcuNXptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0zNC43NzM0MzggNjEuNTcwMzEyYy00LjE0NDUzMiAwLTcuNSAzLjM1OTM3Ni03LjUgNy41djEwNi45MTQwNjNjMCA0LjE0NDUzMSAzLjM1NTQ2OCA3LjUgNy41IDcuNWgxNjYuOTE0MDYyYzQuMTQ0NTMxIDAgNy41LTMuMzU1NDY5IDcuNS03LjV2LTEwNi45MTQwNjNjMC00LjE0MDYyNC0zLjM1NTQ2OS03LjUtNy41LTcuNXptMTU5LjQxNDA2MiAxMDYuOTE0MDYzaC0xNTEuOTE0MDYydi05MS45MTQwNjNoMTUxLjkxNDA2MnptMCAwIi8+DQogICAgPC9nPg0KPC9zdmc+","Front Yard":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik0xMjYuNDksMzYuOTQ3Yy0zMS41NzksMC01Ny4yNywyNS42OTEtNTcuMjcsNTcuMjdjMCwzMS41NzksMjUuNjkxLDU3LjI3LDU3LjI3LDU3LjI3YzMxLjU3OCwwLDU3LjI3LTI1LjY5MSw1Ny4yNy01Ny4yNw0KCQkJQzE4My43NjEsNjIuNjM4LDE1OC4wNywzNi45NDcsMTI2LjQ5LDM2Ljk0N3ogTTEyNi40OSwxMzEuNDg3Yy0yMC41NTEsMC0zNy4yNy0xNi43MTktMzcuMjctMzcuMjcNCgkJCWMwLTIwLjU1MSwxNi43MTktMzcuMjcsMzcuMjctMzcuMjdjMjAuNTUsMCwzNy4yNywxNi43MTksMzcuMjcsMzcuMjdDMTYzLjc2MSwxMTQuNzY4LDE0Ny4wNDIsMTMxLjQ4NywxMjYuNDksMTMxLjQ4N3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTEyNi40OSwwYy01LjUyMywwLTEwLDQuNDc3LTEwLDEwdjEyLjMzOGMwLDUuNTIzLDQuNDc3LDEwLDEwLDEwczEwLTQuNDc3LDEwLTEwVjEwQzEzNi40OSw0LjQ3NywxMzIuMDE0LDAsMTI2LjQ5LDB6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0xMjYuNDksMTU2LjA5N2MtNS41MjMsMC0xMCw0LjQ3Ny0xMCwxMHYxMi4zMzhjMCw1LjUyMyw0LjQ3NywxMCwxMCwxMHMxMC00LjQ3NywxMC0xMHYtMTIuMzM4DQoJCQlDMTM2LjQ5LDE2MC41NzQsMTMyLjAxNCwxNTYuMDk3LDEyNi40OSwxNTYuMDk3eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjEwLjcwOCw4NC4yMTdIMTk4LjM3Yy01LjUyMywwLTEwLDQuNDc3LTEwLDEwczQuNDc3LDEwLDEwLDEwaDEyLjMzOGM1LjUyMywwLDEwLTQuNDc3LDEwLTEwDQoJCQlTMjE2LjIzLDg0LjIxNywyMTAuNzA4LDg0LjIxN3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTU0LjYxLDg0LjIxN0g0Mi4yNzJjLTUuNTIzLDAtMTAsNC40NzctMTAsMTBzNC40NzcsMTAsMTAsMTBoMTIuMzM5YzUuNTIzLDAsMTAtNC40NzcsOS45OTktMTANCgkJCUM2NC42MSw4OC42OTQsNjAuMTM0LDg0LjIxNyw1NC42MSw4NC4yMTd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0yMDAuOTc3LDE5LjcyOWMtMy45MDUtMy45MDUtMTAuMjM3LTMuOTA1LTE0LjE0MiwwbC05Ljg3Nyw5Ljg3N2MtMy45MDUsMy45MDYtMy45MDUsMTAuMjM4LDAsMTQuMTQzDQoJCQljMS45NTIsMS45NTMsNC41MTIsMi45MjksNy4wNzEsMi45MjljMi41NTksMCw1LjExOS0wLjk3Niw3LjA3MS0yLjkyOWw5Ljg3Ny05Ljg3N0MyMDQuODgzLDI5Ljk2NiwyMDQuODgzLDIzLjYzNCwyMDAuOTc3LDE5LjcyOQ0KCQkJeiIvPg0KICAgICAgICA8cGF0aCBkPSJNNzYuMDIzLDE0NC42ODVjLTMuOTA2LTMuOTA1LTEwLjIzOC0zLjkwNS0xNC4xNDMsMGwtOS44NzcsOS44NzdjLTMuOTA1LDMuOTA2LTMuOTA1LDEwLjIzOCwwLDE0LjE0Mw0KCQkJYzEuOTUyLDEuOTUzLDQuNTEyLDIuOTI5LDcuMDcxLDIuOTI5czUuMTE5LTAuOTc2LDcuMDcyLTIuOTI5bDkuODc3LTkuODc3Qzc5LjkyOCwxNTQuOTIyLDc5LjkyOCwxNDguNTksNzYuMDIzLDE0NC42ODV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik03Ni4wMjEsMjkuNjA2bC05Ljg3Ny05Ljg3N2MtMy45MDUtMy45MDUtMTAuMjM3LTMuOTA1LTE0LjE0MiwwYy0zLjkwNSwzLjkwNi0zLjkwNSwxMC4yMzgsMCwxNC4xNDNsOS44NzcsOS44NzcNCgkJCWMxLjk1MiwxLjk1Myw0LjUxMiwyLjkyOSw3LjA3MSwyLjkyOXM1LjExOS0wLjk3Niw3LjA3MS0yLjkyOUM3OS45MjcsMzkuODQzLDc5LjkyNywzMy41MTEsNzYuMDIxLDI5LjYwNnoiLz4NCiAgICAgICAgPHBhdGggZD0iTTQ1OS41NCw0NjguMzg5Yy0wLjEyOS0wLjY0LTAuMzItMS4yNy0wLjU3LTEuODdjLTAuMjUtMC42LTAuNTYtMS4xOC0wLjkyLTEuNzJjLTAuMzYtMC41NS0wLjc4LTEuMDYtMS4yNC0xLjUzDQoJCQljLTAuNDYtMC40Ni0wLjk3LTAuODctMS41Mi0xLjI0Yy0wLjU0LTAuMzYtMS4xMi0wLjY3LTEuNzMtMC45MmMtMC41OTktMC4yNS0xLjIyOS0wLjQ0LTEuODctMC41N2MtMS4yOS0wLjI2LTIuNjItMC4yNi0zLjkwOSwwDQoJCQljLTAuNjMxLDAuMTMtMS4yNjEsMC4zMi0xLjg3LDAuNTdjLTAuNjAxLDAuMjUtMS4xODEsMC41Ni0xLjcyMSwwLjkyYy0wLjU1LDAuMzctMS4wNiwwLjc4LTEuNTIsMS4yNA0KCQkJYy0wLjQ2LDAuNDctMC44OCwwLjk4LTEuMjUsMS41M2MtMC4zNiwwLjU0LTAuNjcsMS4xMi0wLjkyLDEuNzJjLTAuMjUsMC42LTAuNDQsMS4yMy0wLjU3LDEuODcNCgkJCWMtMC4xMywwLjY1MS0wLjE5LDEuMzAxLTAuMTksMS45NjFjMCwwLjY1LDAuMDYsMS4zMSwwLjE5LDEuOTVjMC4xMywwLjY0LDAuMzIsMS4yNywwLjU3LDEuODdjMC4yNSwwLjYsMC41NiwxLjE4LDAuOTIsMS43Mw0KCQkJYzAuMzcsMC41NCwwLjc5LDEuMDYsMS4yNSwxLjUyYzAuNDYsMC40NiwwLjk3LDAuODgsMS41MiwxLjI0YzAuNTQsMC4zNiwxLjEyLDAuNjcsMS43MjEsMC45MmMwLjYwOSwwLjI1LDEuMjM5LDAuNDQsMS44NywwLjU3DQoJCQljMC42NSwwLjEzLDEuMzEsMC4yLDEuOTYsMC4yYzAuNjUsMCwxLjMxLTAuMDcsMS45NDktMC4yYzAuNjQxLTAuMTMsMS4yNy0wLjMyLDEuODctMC41N2MwLjYxLTAuMjUsMS4xOS0wLjU2LDEuNzMtMC45Mg0KCQkJYzAuNTUtMC4zNiwxLjA2LTAuNzgsMS41Mi0xLjI0YzAuNDYtMC40NiwwLjg4LTAuOTgsMS4yNC0xLjUyYzAuMzYxLTAuNTUsMC42Ny0xLjEzLDAuOTItMS43M2MwLjI1LTAuNiwwLjQ0LTEuMjMsMC41Ny0xLjg3DQoJCQlzMC4yLTEuMywwLjItMS45NUM0NTkuNzQsNDY5LjY4OSw0NTkuNjcsNDY5LjAzOSw0NTkuNTQsNDY4LjM4OXoiLz4NCiAgICAgICAgPHBhdGggZD0iTTQwOS43MzksNDYwLjM0Nkg2Mi4xMzhjLTUuNTIzLDAtMTAsNC40NzctMTAsMTBzNC40NzcsMTAsMTAsMTBoMzQ3LjZjNS41MjMsMCwxMC00LjQ3NywxMC4wMDEtMTANCgkJCUM0MTkuNzM5LDQ2NC44MjMsNDE1LjI2MSw0NjAuMzQ2LDQwOS43MzksNDYwLjM0NnoiLz4NCiAgICAgICAgPHBhdGggZD0iTTUwMS41NjMsNDI3LjkzMWgtNi44MDljLTMuODA2LTIxLjMxMi0yMi40NzYtMzcuNTQtNDQuODY0LTM3LjU0Yy0zLjMsMC02LjU5MSwwLjM2Mi05LjgwMywxLjA2N1YyOTMuMjkNCgkJCWMzNi40ODItNC45MDIsNjQuNzA0LTM2LjIzNiw2NC43MDQtNzQuMDM3YzAtMTkuNzA5LTcuNzgxLTM4LjUzMS0yMS41MjQtNTIuNDY0YzAuMTg2LTEuODE0LDAuMjc4LTMuNjQxLDAuMjc4LTUuNDY4DQoJCQljMC0yOS40NzctMjMuOTgxLTUzLjQ1OC01My40NTgtNTMuNDU4Yy0yOS40NzcsMC01My40NTgsMjMuOTgyLTUzLjQ1OCw1My40NThjMCwxLjgyNywwLjA5MywzLjY1MywwLjI3Nyw1LjQ2Nw0KCQkJYy0xMy43NDEsMTMuOTM0LTIxLjUyMywzMi43NTYtMjEuNTIzLDUyLjQ2NWMwLDM3LjgwMiwyOC4yMjMsNjkuMTM2LDY0LjcwNCw3NC4wMzd2ODkuNjJjLTQuNjg1LTEuNjMyLTkuNzE2LTIuNTItMTQuOTUxLTIuNTINCgkJCWMtMjUuMTI5LDAtNDUuNTczLDIwLjQ0NC00NS41NzMsNDUuNTc0djEuOTY4aC04LjUwNnYtMzUuMTNoMC4wMDFjNS41MjIsMCwxMC00LjQ3NywxMC0xMHYtNDNjMC01LjUyMy00LjQ3OC0xMC0xMC0xMGgtMC4wMDENCgkJCXYtNDcuMzI5YzAtMi44NDQtMS4yMTEtNS41NTMtMy4zMy03LjQ1TDMxNi4yNywyNDYuODZjLTMuNzk3LTMuMzk5LTkuNTQzLTMuMzk5LTEzLjM0LDBsLTI0Ljc4NywyMi4xOTFsLTI0Ljc4OC0yMi4xOTENCgkJCWMtMy43OTctMy4zOTgtOS41NDMtMy4zOTgtMTMuMzQsMGwtMjQuNzg4LDIyLjE5MWwtMjQuNzg4LTIyLjE5MWMtMy43OTctMy4zOTktOS41NDMtMy4zOTktMTMuMzQsMC4wMDFsLTI0Ljc4NywyMi4xOTENCgkJCWwtMjQuNzg4LTIyLjE5MWMtMy43OTctMy4zOTgtOS41NDMtMy4zOTgtMTMuMzQsMEw4OS4zOTgsMjY5LjA1TDY0LjYxLDI0Ni44NTljLTMuNzk2LTMuMzk5LTkuNTQzLTMuMzk5LTEzLjM0LTAuMDAxDQoJCQlsLTMxLjQ1OCwyOC4xNjNjLTIuMTE5LDEuODk3LTMuMzMsNC42MDYtMy4zMyw3LjQ1MXY0Ny4zMjloLTAuMDAxYy01LjUyMywwLTEwLDQuNDc3LTEwLDEwdjQzYzAsNS41MjMsNC40NzcsMTAsMTAsMTBoMC4wMDENCgkJCXYzNS4xM2gtNi4wNDRjLTUuNTIzLDAtMTAsNC40NzctMTAsMTBWNTAyYzAsNS41MjMsNC40NzcsMTAsMTAsMTBoNDkxLjEyM2M1LjUyMiwwLDEwLTQuNDc3LDEwLTEwdi02NC4wNjkNCgkJCUM1MTEuNTYzLDQzMi40MDgsNTA3LjA4NSw0MjcuOTMxLDUwMS41NjMsNDI3LjkzMXogTTQ0OS44OSw0MTAuMzkxYzExLjI5NiwwLDIwLjkwNSw3LjM2MiwyNC4yODEsMTcuNTRoLTIzLjQ2MnYtMS45NjgNCgkJCWMwLTUuNDQxLTAuOTU5LTEwLjY2Mi0yLjcxNi0xNS41MDRDNDQ4LjYyLDQxMC40MTQsNDQ5LjI1Myw0MTAuMzkxLDQ0OS44OSw0MTAuMzkxeiBNNDIwLjA4NywxODUuNTc0djMzLjExOGwtMTAuNDA3LTEwLjQwNw0KCQkJYy0zLjkwNi0zLjkwNC0xMC4yMzYtMy45MDQtMTQuMTQzLDBjLTMuOTA1LDMuOTA1LTMuOTA1LDEwLjIzNywwLDE0LjE0M2wyMy4yNTcsMjMuMjU3YzAuNDA3LDAuNDA2LDAuODM5LDAuNzcsMS4yOTMsMS4wOTENCgkJCXYyNi4yNjVjLTI1LjQwNS00LjcxMi00NC43MDQtMjcuMDM5LTQ0LjcwNC01My43ODljMC0xNS44MTYsNi44NDUtMzAuODU0LDE4Ljc3OC00MS4yNTZjMi43NC0yLjM4OCwzLjk2OS02LjA3NSwzLjIwOS05LjYyOQ0KCQkJYy0wLjQ5Mi0yLjI5OS0wLjc0MS00LjY3LTAuNzQxLTcuMDQ3YzAtMTguNDQ5LDE1LjAwOS0zMy40NTgsMzMuNDU4LTMzLjQ1OGMxOC40NDksMCwzMy40NTgsMTUuMDA5LDMzLjQ1OCwzMy40NTgNCgkJCWMwLDIuMzc4LTAuMjQ5LDQuNzQ4LTAuNzQxLDcuMDQ1Yy0wLjc2MiwzLjU1NSwwLjQ2Nyw3LjI0MywzLjIwOCw5LjYzMmMxMS45MzUsMTAuNDAzLDE4Ljc3OSwyNS40NCwxOC43NzksNDEuMjU2DQoJCQljMCwyNi43NS0xOS4yOTksNDkuMDc2LTQ0LjcwNCw1My43ODh2LTI2LjI2NWMwLjQ1My0wLjMyMiwwLjg4Ny0wLjY4NSwxLjI5My0xLjA5MWwyMy4yNTctMjMuMjU3DQoJCQljMy45MDUtMy45MDUsMy45MDUtMTAuMjM3LDAtMTQuMTQzYy0zLjkwNi0zLjkwNC0xMC4yMzYtMy45MDQtMTQuMTQzLDBsLTEwLjQwNywxMC40MDd2LTMzLjExOGMwLTUuNTIzLTQuNDc4LTEwLTEwLTEwDQoJCQlDNDI0LjU2NCwxNzUuNTc0LDQyMC4wODcsMTgwLjA1MSw0MjAuMDg3LDE4NS41NzR6IE0zNzkuNTYzLDQyNS45NjNjMC0xNC4xMDIsMTEuNDcyLTI1LjU3NCwyNS41NzMtMjUuNTc0DQoJCQljMTQuMTAyLDAsMjUuNTczLDExLjQ3MiwyNS41NzMsMjUuNTc0djEuOTY4aC01MS4xNDZWNDI1Ljk2M3ogTTI4OC4xNDMsMjg2Ljk0MWwyMS40NTctMTkuMjFsMjEuNDU3LDE5LjIxVjMyOS44aC00Mi45MTRWMjg2Ljk0MQ0KCQkJeiBNMjI1LjIyNywyODYuOTQxbDIxLjQ1OC0xOS4yMWwyMS40NTcsMTkuMjFWMzI5LjhoLTQyLjkxNVYyODYuOTQxeiBNMTYyLjMxMywyODYuOTQxbDIxLjQ1Ny0xOS4yMWwyMS40NTgsMTkuMjFWMzI5LjhoLTQyLjkxNQ0KCQkJVjI4Ni45NDF6IE05OS4zOTgsMjg2Ljk0MWwyMS40NTctMTkuMjFsMjEuNDU4LDE5LjIxVjMyOS44SDk5LjM5OFYyODYuOTQxeiBNMzYuNDgzLDI4Ni45NDFsMjEuNDU3LTE5LjIxbDIxLjQ1NywxOS4yMVYzMjkuOA0KCQkJSDM2LjQ4M1YyODYuOTQxeiBNMjYuNDgyLDM0OS44MDFoMzE0LjU3NXYyM0gyNi40ODJWMzQ5LjgwMXogTTMzMS4wNTcsMzkyLjgwMXYzNS4xM2gtNDIuOTE0di0zNS4xM0gzMzEuMDU3eiBNMjY4LjE0MywzOTIuODAxDQoJCQl2MzUuMTNoLTQyLjkxNXYtMzUuMTNIMjY4LjE0M3ogTTIwNS4yMjcsMzkyLjgwMXYzNS4xM2gtNDIuOTE1di0zNS4xM0gyMDUuMjI3eiBNMTQyLjMxMywzOTIuODAxdjM1LjEzSDk5LjM5OHYtMzUuMTNIMTQyLjMxM3oNCgkJCSBNNzkuMzk4LDM5Mi44MDF2MzUuMTNIMzYuNDgzdi0zNS4xM0g3OS4zOTh6IE0yMC40MzgsNDkydi00NC4wNjloNDcxLjEyM1Y0OTJIMjAuNDM4eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjc4LjQ4NywxMjcuODQzYy0wLjU1NiwwLTEuMTEyLDAuMDExLTEuNjY4LDAuMDMzYy03LjU0My0xNC40Mi0yMi41MTktMjMuOTIzLTM4Ljg5NC0yMy45MjMNCgkJCWMtMjAuNTg3LDAtMzguMDQ3LDE0LjY4My00Mi43NzMsMzQuMzQ2Yy0xOS43ODMsMS45My0zNS4zMDksMTkuMDAxLTM1LjMwOSwzOS43MDdjMCwyMS45OTQsMTcuNTE3LDM5Ljg4NywzOS4wNDgsMzkuODg3aDc5LjU5Ng0KCQkJYzI0LjI4NSwwLDQ0LjA0MS0yMC4xOTgsNDQuMDQxLTQ1LjAyNUMzMjIuNTI3LDE0OC4wNDEsMzAyLjc3MSwxMjcuODQzLDI3OC40ODcsMTI3Ljg0M3ogTTI3OC40ODcsMTk3Ljg5M2gtNzkuNTk2DQoJCQljLTEwLjUwMywwLTE5LjA0OC04LjkyMS0xOS4wNDgtMTkuODg3YzAtMTAuOTY3LDguNTQ1LTE5Ljg4OCwxOS4wNDgtMTkuODg4YzEuMDU2LDAsMi4xNDgsMC4wOTksMy4yNDQsMC4yOTYNCgkJCWMyLjg5MywwLjUxNiw1Ljg3LTAuMjY3LDguMTM1LTIuMTQxYzIuMjY1LTEuODc1LDMuNTktNC42NTIsMy42MjMtNy41OTJjMC4xNTMtMTMuNjM1LDEwLjkzMy0yNC43MjgsMjQuMDMyLTI0LjcyOA0KCQkJYzEwLjYzOCwwLDE5Ljg3Nyw3LjEwOCwyMi45ODgsMTcuNjg5YzEuNTExLDUuMTM1LDYuNzk0LDguMTczLDExLjk5NCw2Ljg4NmMxLjgzOC0wLjQ1NCwzLjcxNS0wLjY4NCw1LjU4LTAuNjg0DQoJCQljMTMuMjU2LDAsMjQuMDQxLDExLjIyNiwyNC4wNDEsMjUuMDI1QzMwMi41MjcsMTg2LjY2NywyOTEuNzQzLDE5Ny44OTMsMjc4LjQ4NywxOTcuODkzeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",Gallery:INe,Garage:hNe,Garden:wNe,"Ground Floor":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIuMDAyIDUxMi4wMDIiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIHN0cm9rZT0iIiBkPSJNNDc3LjQ0NCw0NzEuMDM0aC0zLjgzM2MtMy42NzktMTQuNDM1LTE1LjkyNi0yNS4zNTYtMzAuODU5LTI3LjI0MVYzMDguNTg3aDIuMTM4YzkuOTE3LDAsMTcuOTg1LTguMDY4LDE3Ljk4NS0xNy45ODYNCgkJCWMwLTkuOTE3LTguMDY4LTE3Ljk4NS0xNy45ODUtMTcuOTg1aC0yLjEzOFYxMjkuMzgyaDkuODE1YzcuMTk3LDAsMTMuMDUyLTUuODU1LDEzLjA1Mi0xMy4wNTJ2LTE0LjkwNA0KCQkJYzAtMC4wMzMtMC4wMDUtMC4wNjUtMC4wMDUtMC4wOThjLTAuMDAxLTAuMDk4LTAuMDA5LTAuMTk2LTAuMDE1LTAuMjk0Yy0wLjAwOS0wLjE3MS0wLjAyMS0wLjM0Mi0wLjA0Mi0wLjUxDQoJCQljLTAuMDExLTAuMDg5LTAuMDI2LTAuMTc3LTAuMDQxLTAuMjY2Yy0wLjAyOS0wLjE4My0wLjA2NS0wLjM2NC0wLjEwOC0wLjU0MmMtMC4wMS0wLjA0LTAuMDE0LTAuMDgxLTAuMDI0LTAuMTIxTDQ0Ni4xMjMsMjUuNDINCgkJCWMtMS41NzQtNi4wNi03LjA0Ny0xMC4yOTMtMTMuMzA3LTEwLjI5M2gtNDkuMTA1Yy00LjAyNSwwLTcuMjg3LDMuMjYyLTcuMjg3LDcuMjg3czMuMjYyLDcuMjg3LDcuMjg3LDcuMjg3aDQ4LjQ2OGwxNi43MzQsNjQuNDQNCgkJCUgzMzUuMzcyTDI5Mi4zNDcsMjkuN2g0NS44NjZjNC4wMjUsMCw3LjI4Ny0zLjI2Miw3LjI4Ny03LjI4N2MwLTQuMDI1LTMuMjYyLTcuMjg3LTcuMjg3LTcuMjg3aC01NS41OTZsLTAuOTI2LTEuMzg3DQoJCQlDMjc1Ljk0OCw1LjEzNywyNjYuMzQyLDAsMjU1Ljk5NywwYy0xMC4zNDUsMC0xOS45NSw1LjEzNi0yNS42OTQsMTMuNzM5bC0wLjkyNywxLjM4OEg3OS4xNzgNCgkJCWMtNi4yNjEsMC0xMS43MzMsNC4yMzItMTMuMzA3LDEwLjI5M0w0Ni42MDksOTkuNTk1Yy0wLjAxLDAuMDQtMC4wMTQsMC4wODEtMC4wMjQsMC4xMjFjLTAuMDQzLDAuMTc4LTAuMDc5LDAuMzU5LTAuMTA4LDAuNTQyDQoJCQljLTAuMDE0LDAuMDg5LTAuMDMsMC4xNzctMC4wNDEsMC4yNjZjLTAuMDIxLDAuMTY4LTAuMDMzLDAuMzM4LTAuMDQyLDAuNTFjLTAuMDA1LDAuMDk4LTAuMDE0LDAuMTk2LTAuMDE1LDAuMjk0DQoJCQljMCwwLjAzMy0wLjAwNSwwLjA2NS0wLjAwNSwwLjA5OHYxNC45MDRjMCw3LjE5Nyw1Ljg1NSwxMy4wNTIsMTMuMDUyLDEzLjA1Mmg5LjgxNXYxNDMuMjMzaC0yLjEzOA0KCQkJYy05LjkxNywwLTE3Ljk4NSw4LjA2OC0xNy45ODUsMTcuOTg1czguMDY4LDE3Ljk4NiwxNy45ODUsMTcuOTg2aDIuMTM4djQ2LjY5NmMwLDQuMDI0LDMuMjYyLDcuMjg3LDcuMjg3LDcuMjg3DQoJCQlzNy4yODctMy4yNjIsNy4yODctNy4yODd2LTQ2LjY5NmgzNDQuMzY0djEyOS4zMTFjLTAuMDU1LTAuMDMyLTAuMTEzLTAuMDYtMC4xNjktMC4wOTJjLTAuNzE0LTAuNDE1LTEuNDM5LTAuODEtMi4xNzYtMS4xODINCgkJCWMtMC4xNDQtMC4wNzMtMC4yOTEtMC4xMzktMC40MzUtMC4yMWMtMC42MTQtMC4zMDItMS4yMzUtMC41ODgtMS44NjMtMC44NTljLTAuMjEzLTAuMDkyLTAuNDI1LTAuMTgzLTAuNjM5LTAuMjcyDQoJCQljLTAuNzI3LTAuMy0xLjQ1OS0wLjU4NS0yLjIwMi0wLjg0NGMtMC4wNDQtMC4wMTUtMC4wODctMC4wMzMtMC4xMzEtMC4wNDljLTAuNzg0LTAuMjcxLTEuNTc4LTAuNTExLTIuMzc4LTAuNzM2DQoJCQljLTAuMjE5LTAuMDYyLTAuNDQtMC4xMTgtMC42Ni0wLjE3NmMtMC42NDItMC4xNjktMS4yODktMC4zMjMtMS45NC0wLjQ2MmMtMC4xODgtMC4wNC0wLjM3NS0wLjA4NS0wLjU2NC0wLjEyMw0KCQkJYy0wLjgxMi0wLjE2Mi0xLjYyOS0wLjMtMi40NTEtMC40MTRjLTAuMTc4LTAuMDI1LTAuMzU4LTAuMDQyLTAuNTM3LTAuMDY0Yy0wLjY3MS0wLjA4NC0xLjM0NS0wLjE1Mi0yLjAyMi0wLjIwNA0KCQkJYy0wLjIzNC0wLjAxOC0wLjQ2OC0wLjAzNi0wLjcwMi0wLjA1MWMtMC44NDItMC4wNTEtMS42ODUtMC4wODUtMi41MzMtMC4wODVjLTE1LjQ0NiwwLTI5LjY5OSw4LjYxLTM3LjA2MiwyMS45MTUNCgkJCWMtMC44NDYtMC4wMi0xLjY4NCwwLjAwMS0yLjUxNiwwLjA0NmMtMC4xOTUsMC4wMTEtMC4zODcsMC4wMzQtMC41ODEsMC4wNDhjLTAuNjM2LDAuMDQ3LTEuMjY4LDAuMTA3LTEuODk0LDAuMTkNCgkJCWMtMC4yMywwLjAzMS0wLjQ1OCwwLjA3MS0wLjY4NiwwLjEwN2MtMC41ODYsMC4wOTItMS4xNjgsMC4xOTctMS43NDQsMC4zMjFjLTAuMjM0LDAuMDUtMC40NjUsMC4xMDQtMC42OTcsMC4xNTkNCgkJCWMtMC41NzEsMC4xMzctMS4xMzUsMC4yODktMS42OTUsMC40NTdjLTAuMjE3LDAuMDY1LTAuNDM1LDAuMTI4LTAuNjUsMC4xOThjLTAuNTg4LDAuMTktMS4xNjcsMC40LTEuNzQsMC42MjQNCgkJCWMtMC4xNzEsMC4wNjctMC4zNDUsMC4xMjctMC41MTUsMC4xOTdjLTAuNzA1LDAuMjktMS4zOTksMC42MDItMi4wNzksMC45NDFjLTAuMDI4LDAuMDE0LTAuMDU4LDAuMDI2LTAuMDg2LDAuMDQNCgkJCWMtMC43MzMsMC4zNjktMS40NSwwLjc2Ni0yLjE1LDEuMTljLTAuMDY2LDAuMDQtMC4xMjksMC4wODYtMC4xOTUsMC4xMjdjLTAuNiwwLjM3LTEuMTg3LDAuNzU5LTEuNzYsMS4xNjkNCgkJCWMtMC4xODQsMC4xMzItMC4zNjEsMC4yNzItMC41NDIsMC40MDhjLTAuNDQ3LDAuMzM1LTAuODg4LDAuNjc3LTEuMzE2LDEuMDM2Yy0wLjIwNiwwLjE3Mi0wLjQwNywwLjM1MS0wLjYwOSwwLjUyOQ0KCQkJYy0wLjM5MSwwLjM0NS0wLjc3NCwwLjY5OC0xLjE0OCwxLjA2M2MtMC4yMDEsMC4xOTYtMC40MDEsMC4zOTQtMC41OTcsMC41OTZjLTAuMzY1LDAuMzc2LTAuNzE3LDAuNzYzLTEuMDY0LDEuMTU4DQoJCQljLTAuMTc4LDAuMjAzLTAuMzU5LDAuNDA0LTAuNTMzLDAuNjEyYy0wLjM2NywwLjQ0MS0wLjcxNywwLjg5Ny0xLjA2LDEuMzU5Yy0wLjEzMSwwLjE3Ni0wLjI2OSwwLjM0Ni0wLjM5NiwwLjUyNQ0KCQkJYy0wLjg4NSwxLjI0Ni0xLjY4OSwyLjU2LTIuMzkyLDMuOTQ0aC0zNS40NTdWMzQ2LjE4MWMwLTcuMTM1LTUuODA1LTEyLjkzOS0xMi45MzktMTIuOTM5aC03My4zNDkNCgkJCWMtNy4xMzUsMC0xMi45MzksNS44MDUtMTIuOTM5LDEyLjkzOXYxMjQuODUzaC02MC42MzljLTAuMTg4LTAuNDY5LTAuMzk5LTAuOTI1LTAuNjA1LTEuMzgzDQoJCQljLTAuMDg4LTAuMTk0LTAuMTY2LTAuMzk0LTAuMjU2LTAuNTg2Yy0wLjM1My0wLjc0OS0wLjcyOC0xLjQ4My0xLjEyOC0yLjIwMmMtMC4wNzUtMC4xMzUtMC4xNi0wLjI2My0wLjIzNi0wLjM5Nw0KCQkJYy0wLjMzMS0wLjU3Ny0wLjY3My0xLjE0Ny0xLjAzNC0xLjcwM2MtMC4xNTEtMC4yMzItMC4zMTEtMC40NTYtMC40NjctMC42ODVjLTAuMzA1LTAuNDQ4LTAuNjE2LTAuODkxLTAuOTQtMS4zMjQNCgkJCWMtMC4xODMtMC4yNDUtMC4zNzItMC40ODQtMC41NjItMC43MjRjLTAuMzItMC40MDUtMC42NDYtMC44MDMtMC45ODItMS4xOTNjLTAuMjAyLTAuMjM0LTAuNDA1LTAuNDY3LTAuNjEyLTAuNjk1DQoJCQljLTAuMzUyLTAuMzg4LTAuNzE0LTAuNzY2LTEuMDgxLTEuMTM4Yy0wLjIwNS0wLjIwNy0wLjQwNy0wLjQxNy0wLjYxNi0wLjYyYy0wLjQxOS0wLjQwNS0wLjg1Mi0wLjc5NC0xLjI5LTEuMTc4DQoJCQljLTAuMTcyLTAuMTUxLTAuMzM3LTAuMzA4LTAuNTExLTAuNDU1Yy0wLjYyMi0wLjUyNS0xLjI1OS0xLjAzMS0xLjkxNC0xLjUxM2MtMC4wNjctMC4wNDktMC4xMzctMC4wOTMtMC4yMDQtMC4xNDENCgkJCWMtMC41ODgtMC40MjYtMS4xODgtMC44MzYtMS44MDEtMS4yMjZjLTAuMjI1LTAuMTQ0LTAuNDU4LTAuMjc2LTAuNjg2LTAuNDE0Yy0wLjQ2Ny0wLjI4My0wLjkzOC0wLjU2Mi0xLjQxOC0wLjgyNA0KCQkJYy0wLjI3LTAuMTQ4LTAuNTQ1LTAuMjg3LTAuODE5LTAuNDI4Yy0wLjQ1Ni0wLjIzNC0wLjkxNi0wLjQ2MS0xLjM4My0wLjY3NmMtMC4yOS0wLjEzNC0wLjU4MS0wLjI2NC0wLjg3NS0wLjM5MQ0KCQkJYy0wLjQ3My0wLjIwMy0wLjk1My0wLjM5NC0xLjQzNi0wLjU3OGMtMC4yOTEtMC4xMS0wLjU3OS0wLjIyMy0wLjg3My0wLjMyNmMtMC41MjgtMC4xODYtMS4wNjUtMC4zNTMtMS42MDQtMC41MTQNCgkJCWMtMC4yNTYtMC4wNzctMC41MDgtMC4xNjItMC43NjYtMC4yMzNjLTAuOC0wLjIyMS0xLjYwOC0wLjQyMS0yLjQyOC0wLjU4OGMtMC41MjctMC43MTgtMS4wNzQtMS40MTgtMS42MzctMi4wOTkNCgkJCWMtMC4xOTMtMC4yMzMtMC4zOTgtMC40NTItMC41OTUtMC42ODFjLTAuMzc4LTAuNDQtMC43NTQtMC44ODItMS4xNDctMS4zMDZjLTAuMjQ2LTAuMjY1LTAuNTA1LTAuNTE0LTAuNzU3LTAuNzcyDQoJCQljLTAuMzYtMC4zNjktMC43MTYtMC43NDQtMS4wODctMS4xYy0wLjI3Ny0wLjI2NS0wLjU2Ni0wLjUxNC0wLjg0OS0wLjc3MmMtMC4zNjItMC4zMy0wLjcxOS0wLjY2NC0xLjA5MS0wLjk4MQ0KCQkJYy0wLjMwMS0wLjI1Ny0wLjYxNC0wLjQ5OC0wLjkyMS0wLjc0N2MtMC4zNjgtMC4yOTgtMC43MzItMC42LTEuMTA4LTAuODg2Yy0wLjMyMi0wLjI0NC0wLjY1NC0wLjQ3Mi0wLjk4MS0wLjcwNw0KCQkJYy0wLjM3Ni0wLjI3LTAuNzQ5LTAuNTQ0LTEuMTMzLTAuODAxYy0wLjMzOS0wLjIyNy0wLjY4Ny0wLjQzOS0xLjAzMS0wLjY1N2MtMC4zODctMC4yNDUtMC43NzEtMC40OTMtMS4xNjQtMC43MjUNCgkJCWMtMC4zNTMtMC4yMDktMC43MTUtMC40MDItMS4wNzQtMC42MDFjLTAuMzk3LTAuMjItMC43OTItMC40NDMtMS4xOTYtMC42NTFjLTAuMzY4LTAuMTktMC43NDItMC4zNjQtMS4xMTUtMC41NDQNCgkJCWMtMC40MDYtMC4xOTUtMC44MTEtMC4zOTMtMS4yMjQtMC41NzZjLTAuMzgtMC4xNjktMC43NjUtMC4zMjMtMS4xNS0wLjQ4MmMtMC40MTctMC4xNzEtMC44MzItMC4zNDQtMS4yNTUtMC41MDMNCgkJCWMtMC4zODktMC4xNDctMC43ODQtMC4yOC0xLjE3OC0wLjQxNmMtMC40MjctMC4xNDctMC44NTQtMC4yOTYtMS4yODYtMC40M2MtMC4zOTgtMC4xMjQtMC44MDEtMC4yMzYtMS4yMDQtMC4zNDkNCgkJCWMtMC40MzctMC4xMjMtMC44NzMtMC4yNDYtMS4zMTQtMC4zNTZjLTAuNDA3LTAuMTAxLTAuODE3LTAuMTkxLTEuMjI3LTAuMjgxYy0wLjQ0NS0wLjA5OC0wLjg5LTAuMTk0LTEuMzM4LTAuMjc5DQoJCQljLTAuNDE0LTAuMDc4LTAuODMxLTAuMTQ1LTEuMjQ4LTAuMjEyYy0wLjQ1My0wLjA3Mi0wLjkwNS0wLjE0My0xLjM2MS0wLjIwMmMtMC40Mi0wLjA1NC0wLjg0Mi0wLjA5OC0xLjI2NC0wLjE0MQ0KCQkJYy0wLjQ2LTAuMDQ3LTAuOTIxLTAuMDktMS4zODUtMC4xMjJjLTAuNDI0LTAuMDMtMC44NS0wLjA1MS0xLjI3Ni0wLjA2OWMtMC4yNjktMC4wMTItMC41MzQtMC4wMzYtMC44MDQtMC4wNDN2LTI5Ljg1MQ0KCQkJYzAtNC4wMjQtMy4yNjItNy4yODctNy4yODctNy4yODdjLTQuMDI1LDAtNy4yODcsMy4yNjItNy4yODcsNy4yODd2MzEuODU2Yy0xNy4wNTMsNS4yNzktMjkuODM5LDIwLjM1Ni0zMS43NSwzOC42MjNoLTIuOTQyDQoJCQljLTExLjI5NCwwLTIwLjQ4Myw5LjE4OS0yMC40ODMsMjAuNDgzczkuMTg5LDIwLjQ4MywyMC40ODMsMjAuNDgzaDQ0Mi44OTRjMTEuMjk0LDAsMjAuNDgzLTkuMTg5LDIwLjQ4My0yMC40ODMNCgkJCUM0OTcuOTI3LDQ4MC4yMjMsNDg4LjczOCw0NzEuMDM0LDQ3Ny40NDQsNDcxLjAzNHogTTIzOS4zMzMsMjYuNDZjMC0wLjAwMSwwLjAwMS0wLjAwMSwwLjAwMS0wLjAwMWwzLjA4OS00LjYyNw0KCQkJYzMuMDM0LTQuNTQ1LDguMTA5LTcuMjU4LDEzLjU3NC03LjI1OGM1LjQ2NSwwLDEwLjU0LDIuNzEzLDEzLjU3NCw3LjI1OWw0OC4yNzgsNzIuMzA4aC01LjIwMmwtNDYuMTAzLTY5LjA1Mw0KCQkJYy0yLjM1OC0zLjUzMS02LjMtNS42MzktMTAuNTQ2LTUuNjM5Yy00LjI0NiwwLTguMTg5LDIuMTA4LTEwLjU0Niw1LjYzOUwxOTkuMzQ3LDk0LjE0aC01LjIwMmw4Ljc3OC0xMy4xNDhMMjM5LjMzMywyNi40NnoNCgkJCSBNMjk1LjEyNCw5NC4xNEgyMTYuODdsMzkuMTI3LTU4LjYwNEwyOTUuMTI0LDk0LjE0eiBNNzkuODE2LDI5LjdoMTM5LjgzMUwyMDkuNTEsNDQuODgzTDE3Ni42MjIsOTQuMTRINjMuMDgxTDc5LjgxNiwyOS43eg0KCQkJIE02MC45NDgsMTE0LjgwOXYtNi4wOTZoMzkwLjA5OHY2LjA5Nkg2MC45NDh6IE00MjguMTc5LDEyOS4zODJ2MTQzLjIzM0g4My44MTVWMTI5LjM4Mkg0MjguMTc5eiBNNjcuMTA0LDI5NC4wMTQNCgkJCWMtMS44ODEsMC0zLjQxMi0xLjUzMS0zLjQxMi0zLjQxM2MwLTEuODgxLDEuNTMtMy40MTIsMy40MTItMy40MTJINDQ0Ljg5YzEuODgxLDAsMy40MTIsMS41MzEsMy40MTIsMy40MTINCgkJCWMwLDEuODgyLTEuNTMsMy40MTMtMy40MTIsMy40MTNINjcuMTA0eiBNMzYwLjQxNiw0NzAuODkzYzAuMzE3LTAuMTg3LDAuNjM4LTAuMzY4LDAuOTY3LTAuNTM1DQoJCQljMC4xNTYtMC4wNzksMC4zMTYtMC4xNDksMC40NzQtMC4yMjNjMC4yOC0wLjEzMSwwLjU2Mi0wLjI1NiwwLjg1LTAuMzcxYzAuMTgzLTAuMDczLDAuMzY4LTAuMTQyLDAuNTUzLTAuMjA4DQoJCQljMC4yNzItMC4wOTgsMC41NDctMC4xODcsMC44MjQtMC4yNzFjMC4yMDEtMC4wNiwwLjQwMi0wLjEyMSwwLjYwNS0wLjE3NGMwLjI3Ni0wLjA3MiwwLjU1Ni0wLjEzMiwwLjgzNi0wLjE5DQoJCQljMC4yMDctMC4wNDMsMC40MTEtMC4wOTEsMC42Mi0wLjEyNmMwLjM1Ni0wLjA2LDAuNzE4LTAuMTAyLDEuMDgxLTAuMTM5YzAuMTc2LTAuMDE4LDAuMzUyLTAuMDM5LDAuNTI5LTAuMDUyDQoJCQljMC40NDYtMC4wMzEsMC44OTYtMC4wNDcsMS4zNS0wLjA0M2MwLjMzNywwLjAwMywwLjY3OSwwLjAzMiwxLjAyLDAuMDU2YzAuMjM0LDAuMDE2LDAuNDY3LDAuMDIsMC43MDIsMC4wNDYNCgkJCWMwLjU3MiwwLjA2NSwxLjE0NiwwLjE1NSwxLjcxOSwwLjI3OWMzLjUwOSwwLjc1Niw3LjA0Ny0xLjE1NSw4LjMzNy00LjUwN2M0LjA5Mi0xMC42MzksMTQuNDk2LTE3Ljc4NywyNS44OTEtMTcuNzg3DQoJCQljNy45NSwwLDE1LjUzMywzLjQyOCwyMC44MDYsOS40MDZjMC4yMSwwLjIzOCwwLjQzMywwLjQ2LDAuNjY5LDAuNjY2YzAuMDEzLDAuMDExLDAuMDI4LDAuMDIsMC4wNDEsMC4wMzINCgkJCWMwLjkzMiwwLjgwNCwyLjA0MywxLjM1NSwzLjIzLDEuNjA4YzAuOTAzLDAuMTkzLDEuODQ4LDAuMjE2LDIuNzg3LDAuMDUxYzEwLjQxNi0xLjgzMSwxOS45NjQsMy44NjgsMjMuOTIyLDEyLjYyNGgtOTguMDYxDQoJCQlDMzYwLjI1LDQ3MC45ODUsMzYwLjMzNCw0NzAuOTQyLDM2MC40MTYsNDcwLjg5M3ogTTI5MS4wMzgsMzQ3LjgxNXYxMjMuMjE5aC03MC4wODJWMzQ3LjgxNUgyOTEuMDM4eiBNNzcuNzk3LDQ0NS4zNTINCgkJCWMwLjc2Ny0wLjEyMSwxLjUzNi0wLjIxNSwyLjMwNS0wLjI3OWMwLjA2Ni0wLjAwNSwwLjEzMi0wLjAwOSwwLjE5OC0wLjAxNGMwLjc4NC0wLjA2LDEuNTY3LTAuMDk2LDIuMzQzLTAuMDk2DQoJCQljMTAuNjg5LDAsMjAuNDY1LDUuNDI0LDI2LjE1LDE0LjUwOWMxLjE4OCwxLjg5OSwzLjE4NSwzLjE0Nyw1LjQxNCwzLjM4MWMwLjUyMywwLjA1NSwxLjAzOCwwLjEzNSwxLjU0OSwwLjIyNg0KCQkJYzAuMTE1LDAuMDIsMC4yMywwLjA0MSwwLjM0NSwwLjA2M2MwLjUsMC4wOTcsMC45OTUsMC4yMDgsMS40ODMsMC4zMzhjMC4wNjMsMC4wMTcsMC4xMjUsMC4wMzcsMC4xODksMC4wNTUNCgkJCWMwLjQ0NCwwLjEyMywwLjg4MSwwLjI2MSwxLjMxMywwLjQxMWMwLjA5OSwwLjAzNCwwLjE5OSwwLjA2NywwLjI5OCwwLjEwM2MwLjQ2NywwLjE2OSwwLjkyNywwLjM1MywxLjM3OSwwLjU1Mw0KCQkJYzAuMDg4LDAuMDM5LDAuMTc1LDAuMDgxLDAuMjYzLDAuMTIyYzAuNDAzLDAuMTg1LDAuOCwwLjM4LDEuMTksMC41ODhjMC4wNzQsMC4wMzksMC4xNDgsMC4wNzYsMC4yMjIsMC4xMTYNCgkJCWMwLjQzMSwwLjIzNiwwLjg1MiwwLjQ4OCwxLjI2NSwwLjc1MmMwLjA5NCwwLjA2LDAuMTg3LDAuMTIyLDAuMjgsMC4xODRjMC4zODgsMC4yNTcsMC43NjksMC41MjMsMS4xMzksMC44MDMNCgkJCWMwLjAzMiwwLjAyNCwwLjA2NiwwLjA0NywwLjA5OCwwLjA3MmMwLjM5MiwwLjMsMC43NywwLjYxNywxLjE0MSwwLjk0M2MwLjA4NywwLjA3NywwLjE3NCwwLjE1NCwwLjI2LDAuMjMyDQoJCQljMC4zNjUsMC4zMzEsMC43MjIsMC42NzEsMS4wNjQsMS4wMjdjMC4wMjksMC4wMywwLjA1NiwwLjA2MiwwLjA4NCwwLjA5MmMwLjMxOSwwLjMzNiwwLjYyNSwwLjY4MywwLjkyMywxLjAzOQ0KCQkJYzAuMDcyLDAuMDg2LDAuMTQ1LDAuMTcyLDAuMjE2LDAuMjZjMC4wNTMsMC4wNjYsMC4xMDEsMC4xMzYsMC4xNTQsMC4yMDJINTIuMTgxQzU0LjIyOSw0NTcuODY4LDY0LjY0Myw0NDcuNDM5LDc3Ljc5Nyw0NDUuMzUyeg0KCQkJIE00NzcuNDQ0LDQ5Ny40MjdIMzQuNTVjLTMuMjU5LDAtNS45MS0yLjY1MS01LjkxLTUuOTFjMC0zLjI1OSwyLjY1MS01LjkxLDUuOTEtNS45MWg0NDIuODk0YzMuMjU5LDAsNS45MSwyLjY1MSw1LjkxLDUuOTENCgkJCUM0ODMuMzU0LDQ5NC43NzYsNDgwLjcwMyw0OTcuNDI3LDQ3Ny40NDQsNDk3LjQyN3oiLz4NCiAgICAgICAgPHBhdGggb3BhY2l0eT0iMC4yNSIgIGQ9Ik0xODYuMjEzLDIzMS41NzJoLTMuMzM4di02NS43NDZjMC01LjcyNC00LjY1Ny0xMC4zOC0xMC4zOC0xMC4zOGgtNTkuMzU2Yy01LjcyNCwwLTEwLjM4LDQuNjU3LTEwLjM4LDEwLjM4djY1Ljc0Ng0KCQkJaC0zLjMzN2MtNC4wMjUsMC03LjI4NywzLjI2Mi03LjI4Nyw3LjI4N2MwLjAwMSw0LjAyNCwzLjI2Myw3LjI4Nyw3LjI4OCw3LjI4N2g4Ni43OWM0LjAyNSwwLDcuMjg3LTMuMjYyLDcuMjg3LTcuMjg3DQoJCQlDMTkzLjUsMjM0LjgzNSwxOTAuMjM4LDIzMS41NzIsMTg2LjIxMywyMzEuNTcyeiBNMTY4LjMwMywyMzEuNTczaC01MC45N3YtNjEuNTU0aDUwLjk3VjIzMS41NzN6Ii8+DQogICAgICAgIDxwYXRoIG9wYWNpdHk9IjAuMjUiICBkPSJNMjk5LjY2OCwyMzEuNTcyaC0zLjMzOHYtNjUuNzQ2YzAtNS43MjQtNC42NTctMTAuMzgtMTAuMzgtMTAuMzhoLTU5LjM1NWMtNS43MjQsMC0xMC4zOCw0LjY1Ny0xMC4zOCwxMC4zOHY2NS43NDYNCgkJCWgtMy4zMzhjLTQuMDI1LDAtNy4yODcsMy4yNjItNy4yODcsNy4yODdjMC4wMDEsNC4wMjQsMy4yNjMsNy4yODcsNy4yODcsNy4yODdoODYuNzkxYzQuMDI1LDAsNy4yODctMy4yNjIsNy4yODctNy4yODcNCgkJCUMzMDYuOTU1LDIzNC44MzUsMzAzLjY5MywyMzEuNTcyLDI5OS42NjgsMjMxLjU3MnogTTI4MS43NTgsMjMxLjU3M2gtNTAuOTd2LTYxLjU1NGg1MC45N1YyMzEuNTczeiIvPg0KICAgICAgICA8cGF0aCBvcGFjaXR5PSIwLjI1IiAgZD0iTTQxMi41NzIsMjMxLjU3MmgtMy4zMzh2LTY1Ljc0NmMwLTUuNzI0LTQuNjU3LTEwLjM4LTEwLjM3OS0xMC4zOGgtNTkuMzU2Yy01LjcyNCwwLTEwLjM4LDQuNjU3LTEwLjM4LDEwLjM4djY1Ljc0Ng0KCQkJaC0zLjMzOGMtNC4wMjUsMC03LjI4NywzLjI2Mi03LjI4Nyw3LjI4N2MwLDQuMDI0LDMuMjYyLDcuMjg3LDcuMjg3LDcuMjg3aDg2Ljc5MWM0LjAyNSwwLDcuMjg3LTMuMjYyLDcuMjg3LTcuMjg3DQoJCQlDNDE5Ljg1OSwyMzQuODM1LDQxNi41OTcsMjMxLjU3Miw0MTIuNTcyLDIzMS41NzJ6IE0zOTQuNjYxLDIzMS41NzNoLTUwLjk3di02MS41NTRoNTAuOTdWMjMxLjU3M3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTE4Mi44MTMsNDEzLjgzM2gtMC41Mjh2LTYwLjA0NWMwLTUuNTY2LTQuNTI5LTEwLjA5NS0xMC4wOTUtMTAuMDk1aC01My44ODZjLTUuNTY2LDAtMTAuMDk1LDQuNTI5LTEwLjA5NSwxMC4wOTV2NjAuMDQ1DQoJCQloLTAuNTI4Yy00LjAyNSwwLTcuMjg3LDMuMjYyLTcuMjg3LDcuMjg3YzAsNC4wMjUsMy4yNjIsNy4yODcsNy4yODcsNy4yODdoNy44MTRoNTkuNTA0aDcuODE0YzQuMDI1LDAsNy4yODctMy4yNjIsNy4yODctNy4yODcNCgkJCUMxOTAuMSw0MTcuMDk1LDE4Ni44MzgsNDEzLjgzMywxODIuODEzLDQxMy44MzN6IE0xNjcuNzEyLDQxMy44MzNoLTQ0LjkzMXYtNTUuNTY3aDQ0LjkzMVY0MTMuODMzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNNDA0LjMxNCw0MTMuODMzaC0wLjUyOHYtNjAuMDQ1YzAtNS41NjYtNC41MjktMTAuMDk1LTEwLjA5NS0xMC4wOTVoLTUzLjg4NmMtNS41NjYsMC0xMC4wOTYsNC41MjktMTAuMDk2LDEwLjA5NXY2MC4wNDUNCgkJCWgtMC41MjhjLTQuMDI1LDAtNy4yODcsMy4yNjItNy4yODcsNy4yODdjMCw0LjAyNSwzLjI2Miw3LjI4Nyw3LjI4Nyw3LjI4N2g3LjgxNEgzOTYuNWg3LjgxNGM0LjAyNSwwLDcuMjg3LTMuMjYyLDcuMjg3LTcuMjg3DQoJCQlDNDExLjYwMSw0MTcuMDk1LDQwOC4zMzksNDEzLjgzMyw0MDQuMzE0LDQxMy44MzN6IE0zODkuMjEzLDQxMy44MzNoLTQ0LjkzMnYtNTUuNTY3aDQ0LjkzMlY0MTMuODMzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjc2LjU0NSw0MDUuMDg5Yy00LjAyNSwwLTcuMjg3LDMuMjYyLTcuMjg3LDcuMjg3djEyLjYzYzAsNC4wMjQsMy4yNjIsNy4yODcsNy4yODcsNy4yODcNCgkJCWM0LjAyNSwwLDcuMjg3LTMuMjYyLDcuMjg3LTcuMjg3di0xMi42M0MyODMuODMyLDQwOC4zNTIsMjgwLjU3LDQwNS4wODksMjc2LjU0NSw0MDUuMDg5eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K","Guest Bathroom":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im02My42MTggNjItMi43MTgtNS40NDdhMSAxIDAgMCAwIC0uOS0uNTUzaC0xdi0zMGgzdi0yaC0zdi0xOWE1LjAwNiA1LjAwNiAwIDAgMCAtNS01aC0xNGE1LjAwNiA1LjAwNiAwIDAgMCAtNSA1djFhMyAzIDAgMCAwIC0zIDN2MWgtNWEzIDMgMCAwIDAgLTMgM3YyYTEgMSAwIDAgMCAxIDFoMTV2LTJoLTE0di0xYTEgMSAwIDAgMSAxLTFoMThhMSAxIDAgMCAxIDEgMXYxaC00djJoNWExIDEgMCAwIDAgMS0xdi0yYTMgMyAwIDAgMCAtMy0zaC01di0xYTMgMyAwIDAgMCAtMy0zdi0xYTMgMyAwIDAgMSAzLTNoMTRhMyAzIDAgMCAxIDMgM3YxOWgtNXYyaDV2MTRoLTN2LTJoLTJ2Nmgydi0yaDN2MTRoLTFhMSAxIDAgMCAwIC0uOS41NTNsLTIuNzE4IDUuNDQ3aC01Mi4zODJ2Mmg2NHYtMnptLTI1LjYxOC01M3YxaC00di0xYTEgMSAwIDAgMSAxLTFoMmExIDEgMCAwIDEgMSAxem0xOC42MTggNDloMi43NjRsMiA0aC02Ljc2NHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI5IDE4aDJ2NGgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI5IDI0aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI5IDM0aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM3IDM0aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI5IDI4aDJ2NGgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTMzIDIyaDJ2NGgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTMzIDI4aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTMzIDMyaDJ2NmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQxIDIyaDJ2NGgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQxIDI4aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQxIDMyaDJ2NmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM3IDE4aDJ2NGgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM3IDI0aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM3IDI4aDJ2NGgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ1IDM0aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ1IDE4aDJ2NGgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ1IDI0aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ1IDI4aDJ2NGgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQxIDE4aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTMzIDE4aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI1IDIyaDJ2NGgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI1IDI4aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI1IDMyaDJ2NmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI1IDE4aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTIgMzcuOTg3djE5LjAxM2ExIDEgMCAwIDAgMSAxaDEyYTEgMSAwIDAgMCAxLTF2LTE5LjFsMi0uMDEzdjIuMTEzaDJ2LTZoLTJ2MS44ODJsLTE4LjAwNi4xMTguMDEyIDJ6bTIgMTIuMDEzaDEwdjFoLTEwem0wIDZ2LTNoMTB2M3ptMTAtOGgtMTB2LTEwLjAyNmwxMC0uMDY2eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTAgMjljNC40ODYgMCA4LTUuMjcxIDgtMTJzLTMuNTE0LTEyLTgtMTItOCA1LjI3MS04IDEyIDMuNTE0IDEyIDggMTJ6bTAtMjJjMy4yNTIgMCA2IDQuNTc5IDYgMTBzLTIuNzQ4IDEwLTYgMTAtNi00LjU3OS02LTEwIDIuNzQ4LTEwIDYtMTB6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im01LjA5NSAxMy41aDcuODF2MmgtNy44MXoiIHRyYW5zZm9ybT0ibWF0cml4KC43NjggLS42NCAuNjQgLjc2OCAtNy4xOTcgOS4xMjIpIi8+DQogICAgICAgIDxwYXRoIGQ9Im03LjA5NSAxOC41aDcuODF2MmgtNy44MXoiIHRyYW5zZm9ybT0ibWF0cml4KC43NjggLS42NCAuNjQgLjc2OCAtOS45MzQgMTEuNTYyKSIvPg0KICAgIDwvZz4NCjwvc3ZnPg==","Guest Room":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTQ1NiwzMjhhNDAuMDM3LDQwLjAzNywwLDAsMC04LC44MDQ5M1YxNDRhNy45NzUyMiw3Ljk3NTIyLDAsMCwwLTIuMzQzODEtNS42NTc0NywxNC42NDUzNSwxNC42NDUzNSwwLDAsMSwwLTIwLjY4NTA2QTcuOTc1MjIsNy45NzUyMiwwLDAsMCw0NDgsMTEyVjg4aDQwYTcuOTk5NDYsNy45OTk0NiwwLDAsMCw2Ljk0NTgtMTEuOTY4NzVsLTMyLTU2QTcuOTk4NjMsNy45OTg2MywwLDAsMCw0NTYsMTZIMzg0YTcuOTk4NjMsNy45OTg2MywwLDAsMC02Ljk0NTgsNC4wMzEyNWwtMzIsNTZBNy45OTk0Niw3Ljk5OTQ2LDAsMCwwLDM1Miw4OGg0MHYyNGE3Ljk3NTIyLDcuOTc1MjIsMCwwLDAsMi4zNDM4MSw1LjY1NzQ3LDE0LjY0NTM1LDE0LjY0NTM1LDAsMCwxLDAsMjAuNjg1MDZBNy45NzUyMiw3Ljk3NTIyLDAsMCwwLDM5MiwxNDRWMzIwSDMxMlYyODhoMjRhOC4wMDAwOCw4LjAwMDA4LDAsMCwwLDgtOFYyNDhhOC4wMDAwOCw4LjAwMDA4LDAsMCwwLTgtOEgzMTJWMjE2aDQ4YTguMDAwMDgsOC4wMDAwOCwwLDAsMCw4LThWMTEyYTguMDAwMDgsOC4wMDAwOCwwLDAsMC04LThIMjA4YTguMDAwMDgsOC4wMDAwOCwwLDAsMC04LDh2OTZhOC4wMDAwOCw4LjAwMDA4LDAsMCwwLDgsOGg0OHYyNEgyMDUuNDE2MDhsLTEzLjYwNTUzLTM0LjAxNDY1LTQuOTc0MTItMzkuNzkzQTU2LjUzMTQ4LDU2LjUzMTQ4LDAsMCwwLDE4NCwxNTQuMjZWODBBNjQsNjQsMCwwLDAsNTYsODB2NTIuODI4NjFBNTYuMDQxOTMsNTYuMDQxOTMsMCwwLDAsMzMuNTk0MjQsMTYxLjkxOWwtMTcuMTgzNiw1MS41NTA3OGE3Ljk5OCw3Ljk5OCwwLDAsMC0uMTcxODcsNC40NzA3bDUuNTkxMzcsMjIuMzY1NDhBNy45OTc0NSw3Ljk5NzQ1LDAsMCwwLDE2LDI0OFY0ODhhOC4wMDAwOCw4LjAwMDA4LDAsMCwwLDgsOEg0ODhhOC4wMDAwOCw4LjAwMDA4LDAsMCwwLDgtOFYzNjhBNDAuMDQ1NTIsNDAuMDQ1NTIsMCwwLDAsNDU2LDMyOFptMjQsNDB2NTZINDMyVjM2OGEyNCwyNCwwLDAsMSw0OCwwWk0yNjQsNDI0VjQwMGE4LjAwOTE3LDguMDA5MTcsMCwwLDEsOC04SDQwOGE4LjAwOTE3LDguMDA5MTcsMCwwLDEsOCw4djI0Wk05Niw0MjRWNDAwYTguMDA5MTcsOC4wMDkxNywwLDAsMSw4LThIMjQwYTguMDA5MTcsOC4wMDkxNywwLDAsMSw4LDh2MjRabTMyMC04MHYzMy4zNzYyMkEyMy44ODIxMiwyMy44ODIxMiwwLDAsMCw0MDgsMzc2SDI3MmEyMy45MDExMSwyMy45MDExMSwwLDAsMC0xNiw2LjEzMDg2QTIzLjkwMTExLDIzLjkwMTExLDAsMCwwLDI0MCwzNzZIMTA0YTIzLjg4MjEyLDIzLjg4MjEyLDAsMCwwLTgsMS4zNzYyMlYzNDRhOC4wMDkxNyw4LjAwOTE3LDAsMCwxLDgtOEg0MDhBOC4wMDkxNyw4LjAwOTE3LDAsMCwxLDQxNiwzNDRabTEwLjQ1MTcyLTIwOEg0MTMuNTQ4MjhhMzAuODQzNTEsMzAuODQzNTEsMCwwLDAsMC0xNmgxMi45MDM0NEEzMC44NDM1MSwzMC44NDM1MSwwLDAsMCw0MjYuNDUxNzIsMTM2Wk0zODguNjQyNTgsMzJoNjIuNzE0ODRsMjIuODU2OTQsNDBIMzY1Ljc4NTY0Wk00MzIsODh2MTZINDA4Vjg4Wm0tMjQsNjRoMjRWMzM2LjAyMmMtLjM2NjMzLjI3NTY0LS43MjQxOC41NjItMS4wODA2OS44NDk2MUEyNC4wNDM2OSwyNC4wNDM2OSwwLDAsMCw0MDgsMzIwWk0yOTYsMzIwSDEwNGEyNC4wNDM2OSwyNC4wNDM2OSwwLDAsMC0yMi45MTkzMSwxNi44NzE1OEEzOS45LDM5LjksMCwwLDAsMzIsMzM2LjAyMlYyODhIMjk2Wm0zMi00OEgzMlYyNTZIMzI4Wk03MiwyNDBINjRWMjI1LjU0MWw3LjMxNjg5LTE4LjI5Mkw3MiwyMDkuMjk3ODVabTg4LS4wMDAyNC4wMDAyNC4wMDAyNEgxNjBaTTIxNiwyMDBWMTIwSDM1MnY4MEgzMTJWMTY4YTguMDAwMDgsOC4wMDAwOCwwLDAsMC04LThIMjY0YTguMDAwMDgsOC4wMDAwOCwwLDAsMC04LDh2MzJabTU2LTI0aDI0djY0SDI3MlpNMTIwLDMyYTQ4LjA1NCw0OC4wNTQsMCwwLDEsNDgsNDh2NTAuODUzNTJhNTYuNzI1NjIsNTYuNzI1NjIsMCwwLDAtNy45MTk5Mi01LjczNTM2bC0xMS40NDE2NS02Ljg2NUEzMS43OTQwNSwzMS43OTQwNSwwLDAsMCwxNTIsMTA0VjgwYTguMDAwMDgsOC4wMDAwOCwwLDAsMC04LThoLTYuMTExMzNhMjAuODMwNTMsMjAuODMwNTMsMCwwLDEtMTguNzMzNC0xMS41NzgxMiw4LjAwMDY0LDguMDAwNjQsMCwwLDAtMTIuODEyLTIuMDc5MTFsLTE2LDE2QTguMDAwNzYsOC4wMDA3NiwwLDAsMCw4OCw4MHYyNGEzMS44MDE4OCwzMS44MDE4OCwwLDAsMCwyLjc1NzUxLDEyLjk3MTE5TDcyLDEyNS4wMVY4MEE0OC4wNTQsNDguMDU0LDAsMCwxLDEyMCwzMlptMTYsNzJhMTYsMTYsMCwwLDEtMzIsMFY4My4zMTM0OGw2Ljk0Njc4LTYuOTQ2MjlBMzYuNjk4MTYsMzYuNjk4MTYsMCwwLDAsMTM2LDg3Ljk1MzEyWm0tMzQuNzcxOTEsMjUuODkyMDlhMzEuOTE2MTMsMzEuOTE2MTMsMCwwLDAsMzYuNzA0NDcuNTk3MTdsMS4yMzcxOC43NDI0M0wxMjAsMTU1LjE5MzM2bC0xOS44NjYyNy0yNC44MzIyOFpNNDguNzczLDE2Ni45Nzk0OUE0MC4wMzUzOCw0MC4wMzUzOCwwLDAsMSw3MC45NjM4NywxNDIuODYyM2wxMy45MTE2Mi01Ljk2MTkxLDI4Ljg3NzQ0LDM2LjA5NjY4YTcuOTk5NDMsNy45OTk0MywwLDAsMCwxMi40OTQxNCwwTDE1Mi45OSwxMzkuNTY4MzZhMzkuNzI3NzksMzkuNzI3NzksMCwwLDEsMTcuOTY5NDgsMjguNjA4NGw1LjEwMjU0LDQwLjgxNTQzYTcuOTgyODEsNy45ODI4MSwwLDAsMCwuNTEwMjYsMS45Nzg1MUwxODguMTgzNTksMjQwSDE4MGwtMjAtMjYuNjY3VjIwMS44MDY2NGE1MC44MjMzOCw1MC44MjMzOCwwLDAsMCwxLjkzMjYyLTM3LjMwNzYybC0yLjM0MzI2LTcuMDI5MjktMTUuMTc4NzIsNS4wNjA1NCwyLjM0MzI3LDcuMDI5M2EzNC45NTUxMywzNC45NTUxMywwLDAsMS0xLjkwOTE4LDI2Ljg2MjMxQTcuOTk5MzQsNy45OTkzNCwwLDAsMCwxNDQsMjAwdjQwSDg4VjIwOGE4LjAwNjQzLDguMDA2NDMsMCwwLDAtLjQxMDY0LTIuNTMwMjdsLTgtMjRhOC4wMDAwOSw4LjAwMDA5LDAsMCwwLTE1LjAxNzA5LS40NDA0M2wtMTYsNDBBNy45OTcyMyw3Ljk5NzIzLDAsMCwwLDQ4LDIyNHYxNkgzOC4yNDYwOWwtNS45MTk5Mi0yMy42ODA2NlpNMzIsMzY4YTI0LDI0LDAsMCwxLDQ4LDB2NTZIMzJaTTQ4MCw0ODBIMzJWNDQwSDQ4MFoiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",Gym:CNe,Hall:ANe,"Home Theater":"PHN2ZyBoZWlnaHQ9IjUxMXB0IiB2aWV3Qm94PSIxIC00NCA1MTEuOTk4OTkgNTExIiB3aWR0aD0iNTExcHQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICA8cGF0aCBkPSJtMjgyLjUxOTUzMSAzMzMuOTg4MjgxYy00LjE3MTg3NSAwLTcuNTQ2ODc1IDMuMzc4OTA3LTcuNTQ2ODc1IDcuNTQ2ODc1IDAgNC4xNjc5NjkgMy4zNzUgNy41NDY4NzUgNy41NDY4NzUgNy41NDY4NzVoMTE0LjMzOTg0NGM3LjA4MjAzMSAwIDEyLjg0Mzc1LTUuNzYxNzE5IDEyLjg0Mzc1LTEyLjg0NzY1NnYtMTkxLjkyOTY4N2MwLTcuMDgyMDMyLTUuNzYxNzE5LTEyLjg0NzY1Ny0xMi44NDM3NS0xMi44NDc2NTdoLTI4MS43MTg3NWMtNy4wODIwMzEgMC0xMi44NDM3NSA1Ljc2NTYyNS0xMi44NDM3NSAxMi44NDc2NTd2MTkxLjkyOTY4N2MwIDcuMDg1OTM3IDUuNzYxNzE5IDEyLjg0NzY1NiAxMi44NDM3NSAxMi44NDc2NTZoMTM3LjE5MTQwNmM0LjE2Nzk2OSAwIDcuNTQ2ODc1LTMuMzc4OTA2IDcuNTQ2ODc1LTcuNTQ2ODc1IDAtNC4xNjc5NjgtMy4zNzg5MDYtNy41NDY4NzUtNy41NDY4NzUtNy41NDY4NzVoLTEzNC45NDUzMTJ2LTE4Ny40Mzc1aDI3Ny4yMjY1NjJ2MTg3LjQzNzV6bTAgMCIvPg0KICAgIDxwYXRoIGQ9Im00OS4yNjE3MTkgODIuNzQyMTg4YzE1LjU4MjAzMSAwIDI4LjI2MTcxOS0xMi42Nzk2ODggMjguMjYxNzE5LTI4LjI1MzkwNyAwLTE1LjU4NTkzNy0xMi42Nzk2ODgtMjguMjYxNzE5LTI4LjI2MTcxOS0yOC4yNjE3MTktMTUuNTc4MTI1IDAtMjguMjUzOTA3IDEyLjY3NTc4Mi0yOC4yNTM5MDcgMjguMjYxNzE5IDAgMTUuNTc0MjE5IDEyLjY3NTc4MiAyOC4yNTM5MDcgMjguMjUzOTA3IDI4LjI1MzkwN3ptMC00MS40MjU3ODJjNy4yNjE3MTkgMCAxMy4xNjc5NjkgNS45MDYyNSAxMy4xNjc5NjkgMTMuMTcxODc1IDAgNy4yNTM5MDctNS45MDYyNSAxMy4xNjAxNTctMTMuMTY3OTY5IDEzLjE2MDE1Ny03LjI1MzkwNyAwLTEzLjE2MDE1Ny01LjkwNjI1LTEzLjE2MDE1Ny0xMy4xNjAxNTcgMC03LjI2NTYyNSA1LjkwNjI1LTEzLjE3MTg3NSAxMy4xNjAxNTctMTMuMTcxODc1em0wIDAiLz4NCiAgICA8cGF0aCBkPSJtNDYyLjczODI4MS41Yy0yNy4xNjQwNjIgMC00OS4yNjk1MzEgMjIuMTA1NDY5LTQ5LjI2OTUzMSA0OS4yNjk1MzF2NTYuMzA0Njg4Yy01LjY1MjM0NC0xLjM2NzE4OC02LjA0Mjk2OS0uNTM1MTU3LTU0LjMzMjAzMS0uNzc3MzQ0LTQuMTY0MDYzIDAtNy41NDI5NjkgMy4zODI4MTMtNy41NDI5NjkgNy41NDY4NzVzMy4zNzg5MDYgNy41NDY4NzUgNy41NDI5NjkgNy41NDY4NzVoNDcuNzIyNjU2YzcuNzMwNDY5IDAgMTMuOTE0MDYzIDYuMzA0Njg3IDEzLjkxNDA2MyAxMy45MTQwNjN2MjExLjkzMzU5M2MwIDcuNjY0MDYzLTYuMjQ2MDk0IDEzLjkxNDA2My0xMy45MTQwNjMgMTMuOTE0MDYzLTU5LjQxNzk2OSAwLTIzMS41NTQ2ODcgMC0zMDEuNzE4NzUgMC03LjY2Nzk2OSAwLTEzLjkxNDA2My02LjI1LTEzLjkxNDA2My0xMy45MTQwNjMgMC0xMC43NDYwOTMgMC0yMDQuNTg5ODQzIDAtMjExLjkzMzU5MyAwLTUuMjczNDM4IDIuOTU3MDMyLTkuODc4OTA3IDcuMzA0Njg4LTEyLjI0NjA5NCA1Ljg0Mzc1LTMuMTc1NzgyLTQuMjQyMTg4LTEuMDQ2ODc1IDIzMC40MjE4NzUtMS42Njc5NjkgNC4xNzU3ODEgMCA3LjU0Njg3NS0zLjM4MjgxMyA3LjU0Njg3NS03LjU0Njg3NXMtMy4zNzEwOTQtNy41NDY4NzUtNy41NDY4NzUtNy41NDY4NzVjLTIzNi4zNTE1NjMuMjczNDM3LTIyNC41NTA3ODEtLjY0NDUzMS0yMzAuNDIxODc1Ljc3NzM0NHYtNTYuMzA0Njg4YzAtMjcuMTY0MDYyLTIyLjEwNTQ2OS00OS4yNjk1MzEtNDkuMjY5NTMxLTQ5LjI2OTUzMS0yMi43Njk1MzEgMC00Mi40NDkyMTkgMTUuNDMzNTk0LTQ3Ljg2MzI4MSAzNy41MjczNDQtLjk4NDM3NiA0LjA1NDY4NyAxLjUgOC4xNDA2MjUgNS41NDI5NjggOS4xMjUgNC4wNDY4NzUuOTg4MjgxIDguMTI4OTA2LTEuNDg4MjgyIDkuMTI1LTUuNTMxMjUgMy43NDYwOTQtMTUuMzI0MjE5IDE3LjM5ODQzOC0yNi4wMzEyNSAzMy4xOTUzMTMtMjYuMDMxMjUgMTguODQzNzUgMCAzNC4xNzU3ODEgMTUuMzM1OTM3IDM0LjE3NTc4MSAzNC4xNzk2ODd2NjUuMzE2NDA3Yy0zLjExMzI4MSAzLjUxMTcxOC01LjM5MDYyNSA3Ljc3MzQzNy02LjUxMTcxOSAxMi40ODA0NjgtMi42NzE4NzUtMTIuODI0MjE4LTE0LjA1ODU5My0yMi40ODgyODEtMjcuNjY0MDYyLTIyLjQ4ODI4MS0xNS41NzgxMjUgMC0yOC4yNTM5MDcgMTIuNjc5Njg3LTI4LjI1MzkwNyAyOC4yNTc4MTMgMCAxNS41NzgxMjQgMTIuNjc1NzgyIDI4LjI1NzgxMiAyOC4yNTM5MDcgMjguMjU3ODEyIDEyLjUzNTE1NiAwIDIzLjE4NzUtOC4yMTA5MzggMjYuODcxMDkzLTE5LjUzMTI1djYxLjM5ODQzOGMtMy42ODM1OTMtMTEuMzIwMzEzLTE0LjMzNTkzNy0xOS41MjczNDQtMjYuODcxMDkzLTE5LjUyNzM0NC0xNS41NzgxMjUgMC0yOC4yNTM5MDcgMTIuNjc1NzgxLTI4LjI1MzkwNyAyOC4yNTM5MDYgMCAxNS41ODIwMzEgMTIuNjc1NzgyIDI4LjI1NzgxMiAyOC4yNTM5MDcgMjguMjU3ODEyIDEyLjUzNTE1NiAwIDIzLjE4NzUtOC4yMDcwMzEgMjYuODcxMDkzLTE5LjUzMTI1djYxLjQwMjM0NGMtMy42ODM1OTMtMTEuMzI0MjE4LTE0LjMzNTkzNy0xOS41MzEyNS0yNi44NzEwOTMtMTkuNTMxMjUtMTUuNTc4MTI1IDAtMjguMjUzOTA3IDEyLjY3NTc4Mi0yOC4yNTM5MDcgMjguMjUzOTA2IDAgMTUuNTgyMDMyIDEyLjY3NTc4MiAyOC4yNTc4MTMgMjguMjUzOTA3IDI4LjI1NzgxMyAxMi41MzUxNTYgMCAyMy4xODc1LTguMjA3MDMxIDI2Ljg3MTA5My0xOS41MzEyNXYxNy4wODk4NDRjLTIwLjEwNTQ2OCAyNS41MzEyNS02MS4wMzkwNjIgMTEuMTI1LTYxLjAzOTA2Mi0yMS4wOTc2NTd2LTIyNS44NDM3NWMwLTQuMTc1NzgxLTMuMzgyODEyLTcuNTQ2ODc0LTcuNTQ2ODc1LTcuNTQ2ODc0LTQuMTc1NzgxIDAtNy41NDY4NzUgMy4zNzEwOTMtNy41NDY4NzUgNy41NDY4NzR2MjI1Ljg0Mzc1YzAgMjQuNjAxNTYzIDE4LjEyMTA5NCA0NS4wNTA3ODIgNDEuNzE4NzUgNDguNjk1MzEzdjYyLjUyNzM0NGgtMTguOTY0ODQ0Yy00LjE2Nzk2OCAwLTcuNTQ2ODc1IDMuMzc4OTA2LTcuNTQ2ODc1IDcuNTQ2ODc1IDAgNC4xNjc5NjggMy4zNzg5MDcgNy41NDY4NzUgNy41NDY4NzUgNy41NDY4NzVoNTMuMDE5NTMyYzQuMTY3OTY4IDAgNy41NDY4NzQtMy4zNzg5MDcgNy41NDY4NzQtNy41NDY4NzUgMC00LjE2Nzk2OS0zLjM3ODkwNi03LjU0Njg3NS03LjU0Njg3NC03LjU0Njg3NWgtMTguOTY0ODQ0di02Mi41MzEyNWM3LjA0Mjk2OC0xLjA4NTkzOCAxMy41OTc2NTYtMy42Njc5NjkgMTkuMzI0MjE4LTcuNDEwMTU3djkuMTk5MjE5YzAgMTUuOTg0Mzc1IDEzLjAxOTUzMiAyOS4wMDM5MDcgMjkuMDA3ODEzIDI5LjAwMzkwN2g0NS44MjAzMTN2MzUuODk4NDM3YzAgNi4yODkwNjMgNS4xMDkzNzQgMTEuNDEwMTU2IDExLjM5ODQzNyAxMS40MTAxNTZoMjEuMTI4OTA2YzYuMjg5MDYzIDAgMTEuMzk4NDM4LTUuMTIxMDkzIDExLjM5ODQzOC0xMS40MTAxNTZ2LTM1Ljg5ODQzN2gxMjIuMjI2NTYydjM1Ljg5ODQzN2MwIDYuMjg5MDYzIDUuMTA5Mzc1IDExLjQxMDE1NiAxMS4zOTg0MzggMTEuNDEwMTU2aDIxLjEyODkwNmM2LjI4OTA2MyAwIDExLjM5ODQzNy01LjEyMTA5MyAxMS4zOTg0MzctMTEuNDEwMTU2di0zNS44OTg0MzdoNDUuODIwMzEzYzE1Ljk4ODI4MSAwIDI5LjAwNzgxMy0xMy4wMTk1MzIgMjkuMDA3ODEzLTI5LjAwMzkwN3YtOS4xOTkyMTljNS43MjY1NjIgMy43NDIxODggMTIuMjgxMjUgNi4zMjQyMTkgMTkuMzI0MjE4IDcuNDEwMTU3djYyLjUzMTI1aC0xOC45NjQ4NDRjLTQuMTY3OTY4IDAtNy41NDY4NzQgMy4zNzg5MDYtNy41NDY4NzQgNy41NDY4NzUgMCA0LjE2Nzk2OCAzLjM3ODkwNiA3LjU0Njg3NSA3LjU0Njg3NCA3LjU0Njg3NWg1My4wMTk1MzJjNC4xNjc5NjggMCA3LjU0Njg3NS0zLjM3ODkwNyA3LjU0Njg3NS03LjU0Njg3NSAwLTQuMTY3OTY5LTMuMzc4OTA3LTcuNTQ2ODc1LTcuNTQ2ODc1LTcuNTQ2ODc1aC0xOC45NjQ4NDR2LTYyLjUyNzM0NGMyMy41OTc2NTYtMy42NDQ1MzEgNDEuNzE4NzUtMjQuMDkzNzUgNDEuNzE4NzUtNDguNjk1MzEzdi0yNDUuOTg4MjgxYzAtMjcuMTY0MDYyLTIyLjA5Mzc1LTQ5LjI2OTUzMS00OS4yNjE3MTktNDkuMjY5NTMxem0tNDEzLjQ3NjU2MiAxNDZjLTcuMjU3ODEzIDAtMTMuMTY0MDYzLTUuOTA2MjUtMTMuMTY0MDYzLTEzLjE2NDA2MiAwLTcuMjU3ODEzIDUuOTA2MjUtMTMuMTY0MDYzIDEzLjE2NDA2My0xMy4xNjQwNjMgNy4yNTc4MTIgMCAxMy4xNjQwNjIgNS45MDYyNSAxMy4xNjQwNjIgMTMuMTY0MDYzIDAgNy4yNTc4MTItNS45MDYyNSAxMy4xNjQwNjItMTMuMTY0MDYyIDEzLjE2NDA2MnptMCA3OC44NTU0NjljLTcuMjU3ODEzIDAtMTMuMTY0MDYzLTUuOTA2MjUtMTMuMTY0MDYzLTEzLjE2Nzk2OSAwLTcuMjU3ODEyIDUuOTA2MjUtMTMuMTY0MDYyIDEzLjE2NDA2My0xMy4xNjQwNjIgNy4yNTc4MTIgMCAxMy4xNjQwNjIgNS45MDYyNSAxMy4xNjQwNjIgMTMuMTY0MDYyIDAgNy4yNjE3MTktNS45MDYyNSAxMy4xNjc5NjktMTMuMTY0MDYyIDEzLjE2Nzk2OXptMCA3OC44NTE1NjJjLTcuMjU3ODEzIDAtMTMuMTY0MDYzLTUuOTA2MjUtMTMuMTY0MDYzLTEzLjE2Nzk2OSAwLTcuMjU3ODEyIDUuOTA2MjUtMTMuMTY0MDYyIDEzLjE2NDA2My0xMy4xNjQwNjIgNy4yNTc4MTIgMCAxMy4xNjQwNjIgNS45MDYyNSAxMy4xNjQwNjIgMTMuMTY0MDYyIDAgNy4yNjE3MTktNS45MDYyNSAxMy4xNjc5NjktMTMuMTY0MDYyIDEzLjE2Nzk2OXptMTMwLjUzNTE1NiAxMDMuMjUzOTA3aC0xMy43NDYwOTR2LTMyLjIxODc1aDEzLjc0NjA5NHptMTY2LjE1MjM0NCAwaC0xMy43NDYwOTR2LTMyLjIxODc1aDEzLjc0NjA5NHptMTUwLjk1NzAzMS0xMTEuNzAzMTI2YzAgMzIuMjM4MjgyLTQwLjk0MTQwNiA0Ni42MjEwOTQtNjEuMDM5MDYyIDIxLjA5NzY1N3YtMTcuMDg1OTM4YzMuNjgzNTkzIDExLjMyMDMxMyAxNC4zMzU5MzcgMTkuNTI3MzQ0IDI2Ljg3MTA5MyAxOS41MjczNDQgMTUuNTc4MTI1IDAgMjguMjUzOTA3LTEyLjY3NTc4MSAyOC4yNTM5MDctMjguMjU3ODEzIDAtMTUuNTc4MTI0LTEyLjY3NTc4Mi0yOC4yNTM5MDYtMjguMjUzOTA3LTI4LjI1MzkwNi0xMi41MzUxNTYgMC0yMy4xODM1OTMgOC4yMDcwMzItMjYuODcxMDkzIDE5LjUyNzM0NHYtNjEuMzk0NTMxYzMuNjgzNTkzIDExLjMyMDMxMiAxNC4zMzU5MzcgMTkuNTI3MzQzIDI2Ljg3MTA5MyAxOS41MjczNDMgMTUuNTc4MTI1IDAgMjguMjUzOTA3LTEyLjY3NTc4MSAyOC4yNTM5MDctMjguMjU3ODEyIDAtMTUuNTc4MTI1LTEyLjY3NTc4Mi0yOC4yNTM5MDYtMjguMjUzOTA3LTI4LjI1MzkwNi0xMi41MzUxNTYgMC0yMy4xODM1OTMgOC4yMDcwMzEtMjYuODcxMDkzIDE5LjUyNzM0NHYtNjEuMzk4NDM4YzMuNjgzNTkzIDExLjMyNDIxOSAxNC4zMzU5MzcgMTkuNTMxMjUgMjYuODcxMDkzIDE5LjUzMTI1IDE1LjU3ODEyNSAwIDI4LjI1MzkwNy0xMi42NzU3ODEgMjguMjUzOTA3LTI4LjI1NzgxMiAwLTE1LjU3ODEyNi0xMi42NzU3ODItMjguMjUzOTA3LTI4LjI1MzkwNy0yOC4yNTM5MDctMTMuNjA1NDY5IDAtMjQuOTkyMTg3IDkuNjYwMTU3LTI3LjY2NDA2MiAyMi40ODQzNzUtMS4xMjEwOTQtNC43MDcwMzEtMy4zOTg0MzgtOC45Njg3NS02LjUxMTcxOS0xMi40NzY1NjJ2LTY1LjMyMDMxM2MwLTE4Ljg0Mzc1IDE1LjMzMjAzMS0zNC4xNzk2ODcgMzQuMTc5Njg4LTM0LjE3OTY4NyAxOC44NDM3NSAwIDM0LjE2Nzk2OCAxNS4zMzU5MzcgMzQuMTY3OTY4IDM0LjE3OTY4N3YyNDUuOTg4Mjgxem0tNDcuMzMyMDMxLTQuNzE4NzVjMC03LjI1NzgxMiA1LjkwNjI1LTEzLjE2NDA2MiAxMy4xNjQwNjItMTMuMTY0MDYyIDcuMjU3ODEzIDAgMTMuMTY0MDYzIDUuOTA2MjUgMTMuMTY0MDYzIDEzLjE2NDA2MiAwIDcuMjYxNzE5LTUuOTA2MjUgMTMuMTY3OTY5LTEzLjE2NDA2MyAxMy4xNjc5NjktNy4yNTc4MTIgMC0xMy4xNjQwNjItNS45MDYyNS0xMy4xNjQwNjItMTMuMTY3OTY5em0wLTc4Ljg1MTU2MmMwLTcuMjU3ODEyIDUuOTA2MjUtMTMuMTY0MDYyIDEzLjE2NDA2Mi0xMy4xNjQwNjIgNy4yNTc4MTMgMCAxMy4xNjQwNjMgNS45MDYyNSAxMy4xNjQwNjMgMTMuMTY0MDYyIDAgNy4yNjE3MTktNS45MDYyNSAxMy4xNjc5NjktMTMuMTY0MDYzIDEzLjE2Nzk2OS03LjI1NzgxMiAwLTEzLjE2NDA2Mi01LjkwNjI1LTEzLjE2NDA2Mi0xMy4xNjc5Njl6bTAtNzguODUxNTYyYzAtNy4yNTc4MTMgNS45MDYyNS0xMy4xNjQwNjMgMTMuMTY0MDYyLTEzLjE2NDA2MyA3LjI1NzgxMyAwIDEzLjE2NDA2MyA1LjkwNjI1IDEzLjE2NDA2MyAxMy4xNjQwNjMgMCA3LjI1NzgxMi01LjkwNjI1IDEzLjE2NDA2Mi0xMy4xNjQwNjMgMTMuMTY0MDYyLTcuMjU3ODEyIDAtMTMuMTY0MDYyLTUuOTA2MjUtMTMuMTY0MDYyLTEzLjE2NDA2MnptMCAwIi8+DQogICAgPHBhdGggZD0ibTQ2Mi43MzgyODEgMjYuMjI2NTYyYy0xNS41ODIwMzEgMC0yOC4yNTc4MTIgMTIuNjc1NzgyLTI4LjI1NzgxMiAyOC4yNTc4MTMgMCAxNS41NzgxMjUgMTIuNjc1NzgxIDI4LjI1MzkwNiAyOC4yNTc4MTIgMjguMjUzOTA2IDE1LjU3ODEyNSAwIDI4LjI1MzkwNy0xMi42NzU3ODEgMjguMjUzOTA3LTI4LjI1MzkwNiAwLTE1LjU4MjAzMS0xMi42NzU3ODItMjguMjU3ODEzLTI4LjI1MzkwNy0yOC4yNTc4MTN6bTAgNDEuNDIxODc2Yy03LjI2MTcxOSAwLTEzLjE2Nzk2OS01LjkwNjI1LTEzLjE2Nzk2OS0xMy4xNjQwNjMgMC03LjI2MTcxOSA1LjkwNjI1LTEzLjE2NDA2MyAxMy4xNjc5NjktMTMuMTY0MDYzIDcuMjU3ODEzIDAgMTMuMTY0MDYzIDUuOTAyMzQ0IDEzLjE2NDA2MyAxMy4xNjQwNjMgMCA3LjI1NzgxMy01LjkwNjI1IDEzLjE2NDA2My0xMy4xNjQwNjMgMTMuMTY0MDYzem0wIDAiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",Kitchen:mNe,"Laundry Room":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im02MSAyaC01OGMtLjU1MiAwLTEgLjQ0OC0xIDF2NThjMCAuNTUyLjQ0OCAxIDEgMWg1OGMuNTUyIDAgMS0uNDQ4IDEtMXYtNThjMC0uNTUyLS40NDgtMS0xLTF6bS0xIDZoLTR2LTJjMC0uNTUyLS40NDgtMS0xLTFoLTZjLS41NTIgMC0xIC40NDgtMSAxdjJoLTNjLS41NTIgMC0xIC40NDgtMSAxdjloLTJ2LTE0aDE4em0tMTIuMTQyIDMxLTEuNjkyLTExaDkuNjY5bC0xLjY5MiAxMXptMS4xNDItMTNjMC0xLjEwMy44OTctMiAyLTJzMiAuODk3IDIgMnptOC43NTkuMzQ5Yy0uMTktLjIyMi0uNDY3LS4zNDktLjc1OS0uMzQ5aC0yYzAtMi4yMDYtMS43OTQtNC00LTRzLTQgMS43OTQtNCA0aC0yYy0uMjkyIDAtLjU2OS4xMjctLjc1OS4zNDlzLS4yNzQuNTE1LS4yMjkuODAzbDEuODIzIDExLjg0OGgtMy44MzV2LTE5aDE4djE5aC0zLjgzNWwxLjgyMy0xMS44NDhjLjA0NS0uMjg4LS4wMzktLjU4Mi0uMjI5LS44MDN6bS03Ljc1OS0xNy4zNDl2LTJoNHYxMWgtNHptLTIgOWgtMnYtOGgyem04IDB2LThoNHY4em0tMTYtMTR2MTRoLTJ2LTEwYzAtLjU1Mi0uNDQ4LTEtMS0xaC02Yy0uNTUyIDAtMSAuNDQ4LTEgMXYxMGgtMnYtN2MwLS4yNjUtLjEwNS0uNTItLjI5My0uNzA3bC0xLjcwNy0xLjcwN3YtMi41ODZjMC0uNTUyLS40NDgtMS0xLTFoLTRjLS41NTIgMC0xIC40NDgtMSAxdjIuNTg2bC0xLjcwNyAxLjcwN2MtLjE4OC4xODctLjI5My40NDItLjI5My43MDd2N2gtMnYtMTBjMC0uNTUyLS40NDgtMS0xLTFoLThjLS41NTIgMC0xIC40NDgtMSAxdjEwaC0ydi0xNHptLTQgMTRoLTR2LTloNHptLTExLjcwNy04LjI5MyAxLjcwNyAxLjcwN3Y2LjU4NmgtNnYtNi41ODZsMS43MDctMS43MDdjLjE4OC0uMTg3LjI5My0uNDQyLjI5My0uNzA3di0yaDJ2MmMwIC4yNjUuMTA1LjUyLjI5My43MDd6bS0xMC4yOTMgOC4yOTNoLTZ2LTloNnptLTEwIDJoMzZ2NDBoLTM2em00NSAyOGgtMnYtMWgyem0tMyAyaDQuNjQ5bDQuMzUxIDMuNDh2Ni41MmgtOXptMTEgMTB2LTdjMC0uMzA0LS4xMzgtLjU5MS0uMzc1LS43ODFsLTUtNGMtLjE3OC0uMTQyLS4zOTgtLjIxOS0uNjI1LS4yMTl2LTJjMC0uNTUyLS40NDgtMS0xLTFoLTRjLS41NTIgMC0xIC40NDgtMSAxdjJjLS41NTIgMC0xIC40NDgtMSAxdjExaC0ydi0xOWgxOHYxOXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM3IDIyaC0zMGMtLjU1MiAwLTEgLjQ0OC0xIDF2MzRjMCAuNTUyLjQ0OCAxIDEgMWgzMGMuNTUyIDAgMS0uNDQ4IDEtMXYtMzRjMC0uNTUyLS40NDgtMS0xLTF6bS0xIDJ2NWgtMjh2LTV6bS0yOCAzMnYtMjVoMjh2MjV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yMiAzM2MtNi4wNjUgMC0xMSA0LjkzNS0xMSAxMXM0LjkzNSAxMSAxMSAxMSAxMS00LjkzNSAxMS0xMS00LjkzNS0xMS0xMS0xMXptMCAyMGMtNC45NjIgMC05LTQuMDM4LTktOXM0LjAzOC05IDktOSA5IDQuMDM4IDkgOS00LjAzOCA5LTkgOXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI2LjE5OSA0OC4yODYgMS4zOTkgMS40MjljLjY3Ny0uNjYzIDEuMjI2LTEuNDMyIDEuNjMxLTIuMjg2bC0xLjgwNy0uODU3Yy0uMzAzLjYzOS0uNzE0IDEuMjE2LTEuMjIzIDEuNzE0eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjIgMzZ2MmMzLjMwOSAwIDYgMi42OTEgNiA2aDJjMC00LjQxMS0zLjU4OS04LTgtOHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTEwIDI1aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTE0IDI1aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTMyIDI1aDJ2MmgtMnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=","Living Area":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTQ5NC41IDI3Ny42NjdoLTUuNXYtMzYuNWMwLTE1LjE2NC0xMi4zMzYtMjcuNS0yNy41LTI3LjVoLTExMGMtNy44NzUgMC0xNC45ODIgMy4zMzItMjAgOC42NTUtNS4wMTgtNS4zMjItMTIuMTI1LTguNjU1LTIwLTguNjU1aC0xMTBjLTcuODc1IDAtMTQuOTgyIDMuMzMyLTIwIDguNjU1LTUuMDE4LTUuMzIyLTEyLjEyNS04LjY1NS0yMC04LjY1NWgtNDAuNWMtNC4xNDIgMC03LjUgMy4zNTgtNy41IDcuNXMzLjM1OCA3LjUgNy41IDcuNWg0MC41YzYuODkzIDAgMTIuNSA1LjYwNyAxMi41IDEyLjV2NzcuMDE4Yy0zLjc1My0xLjkyNC04LTMuMDE4LTEyLjUtMy4wMThoLTEwMS41di0yMGMwLTkuNjQ5LTcuODUxLTE3LjUtMTcuNS0xNy41aC0zLjV2LTM2LjVjMC02Ljg5MyA1LjYwNy0xMi41IDEyLjUtMTIuNWgzNC41YzQuMTQyIDAgNy41LTMuMzU4IDcuNS03LjVzLTMuMzU4LTcuNS03LjUtNy41aC0zNC41Yy0xNS4xNjQgMC0yNy41IDEyLjMzNi0yNy41IDI3LjV2MzYuNWgtNi41Yy05LjY0OSAwLTE3LjUgNy44NTEtMTcuNSAxNy41djQyLjVjMCA0LjE0MiAzLjM1OCA3LjUgNy41IDcuNXM3LjUtMy4zNTggNy41LTcuNXYtNDIuNWMwLTEuMzc4IDEuMTIyLTIuNSAyLjUtMi41aDI1YzEuMzc4IDAgMi41IDEuMTIyIDIuNSAyLjV2MTQwLjVoLTI3LjVjLTEuMzc4IDAtMi41LTEuMTIyLTIuNS0yLjV2LTYwLjVjMC00LjE0Mi0zLjM1OC03LjUtNy41LTcuNXMtNy41IDMuMzU4LTcuNSA3LjV2NjAuNWMwIDkuNjQ5IDcuODUxIDE3LjUgMTcuNSAxNy41aDI3LjV2MTQuNjY3YzAgNi44OTMgNS42MDcgMTIuNSAxMi41IDEyLjVoMjVjNi44OTMgMCAxMi41LTUuNjA3IDEyLjUtMTIuNXYtMTQuNjY3aDMyMnYxNC42NjdjMCA2Ljg5MyA1LjYwNyAxMi41IDEyLjUgMTIuNWgyNWM2Ljg5MyAwIDEyLjUtNS42MDcgMTIuNS0xMi41di0xNC42NjdoMjcuNWM5LjY0OSAwIDE3LjUtNy44NTEgMTcuNS0xNy41di0xMzhjMC05LjY1LTcuODUxLTE3LjUtMTcuNS0xNy41em0tMTQzLTQ5aDExMGM2Ljg5MyAwIDEyLjUgNS42MDcgMTIuNSAxMi41djM2LjVoLTQuNWMtOS42NDkgMC0xNy41IDcuODUxLTE3LjUgMTcuNXYyMGgtMTAwLjVjLTQuNSAwLTguNzQ3IDEuMDkzLTEyLjUgMy4wMTh2LTc3LjAxOGMwLTYuODkzIDUuNjA3LTEyLjUgMTIuNS0xMi41em0tMjkxLjUgMjA3di0xNWgzMjZjNC4xNDIgMCA3LjUtMy4zNTggNy41LTcuNXMtMy4zNTgtNy41LTcuNS03LjVoLTMyNnYtMTUuNWgxMDEuNWM3Ljg3NSAwIDE0Ljk4Mi0zLjMzMiAyMC04LjY1NSA1LjAxOCA1LjMyMiAxMi4xMjUgOC42NTUgMjAgOC42NTVoMTEwYzcuODc1IDAgMTQuOTgyLTMuMzMyIDIwLTguNjU1IDUuMDE4IDUuMzIyIDEyLjEyNSA4LjY1NSAyMCA4LjY1NWgxMDAuNXYxNS41aC0zMWMtNC4xNDIgMC03LjUgMy4zNTgtNy41IDcuNXMzLjM1OCA3LjUgNy41IDcuNWgzMXYxNXptMzkyLTYwLjVoLTEwMC41Yy02Ljg5MyAwLTEyLjUtNS42MDctMTIuNS0xMi41di0yMGMwLTYuODkzIDUuNjA3LTEyLjUgMTIuNS0xMi41aDEwMC41em0tMTI4LTEyLjVjMCA2Ljg5My01LjYwNyAxMi41LTEyLjUgMTIuNWgtMTEwYy02Ljg5MyAwLTEyLjUtNS42MDctMTIuNS0xMi41di0yMGMwLTYuODkzIDUuNjA3LTEyLjUgMTIuNS0xMi41aDExMGM2Ljg5MyAwIDEyLjUgNS42MDcgMTIuNSAxMi41em0tMTIyLjUtMTM0aDExMGM2Ljg5MyAwIDEyLjUgNS42MDcgMTIuNSAxMi41djc3LjAxOGMtMy43NTMtMS45MjQtOC0zLjAxOC0xMi41LTMuMDE4aC0xMTBjLTQuNSAwLTguNzQ3IDEuMDkzLTEyLjUgMy4wMTh2LTc3LjAxOGMwLTYuODkzIDUuNjA3LTEyLjUgMTIuNS0xMi41em0tNDAgMTAxLjVjNi44OTMgMCAxMi41IDUuNjA3IDEyLjUgMTIuNXYyMGMwIDYuODkzLTUuNjA3IDEyLjUtMTIuNSAxMi41aC0xMDEuNXYtNDV6bS04MS41IDEzMi42NjZoLTIwdi0xMi4xNjdoMjB6bTM1MiAwdi0xMi4xNjdoMjB2MTIuMTY3em02NS0yOS42NjZjMCAxLjM3OC0xLjEyMiAyLjUtMi41IDIuNWgtMjcuNXYtMTQwLjVjMC0xLjM3OCAxLjEyMi0yLjUgMi41LTIuNWgyNWMxLjM3OCAwIDIuNSAxLjEyMiAyLjUgMi41eiIvPg0KICAgICAgICA8cGF0aCBkPSJtNjIgMTczLjY2N2g4OWM2Ljg5MyAwIDEyLjUtNS42MDcgMTIuNS0xMi41di01NmMwLTYuODkzLTUuNjA3LTEyLjUtMTIuNS0xMi41aC04OWMtNi44OTMgMC0xMi41IDUuNjA3LTEyLjUgMTIuNXY1NmMwIDYuODkyIDUuNjA3IDEyLjUgMTIuNSAxMi41em0yLjUtNjZoODR2NTFoLTg0eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzYyIDE3My42NjdoODljNi44OTMgMCAxMi41LTUuNjA3IDEyLjUtMTIuNXYtNTZjMC02Ljg5My01LjYwNy0xMi41LTEyLjUtMTIuNWgtODljLTYuODkzIDAtMTIuNSA1LjYwNy0xMi41IDEyLjV2NTZjMCA2Ljg5MiA1LjYwNyAxMi41IDEyLjUgMTIuNXptMi41LTY2aDg0djUxaC04NHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTIwMC40OSAxMzAuMTY3aDExMi4wMmM2Ljg4NyAwIDEyLjQ5LTUuNjAzIDEyLjQ5LTEyLjQ5di0xNi41NDljMC00LjE0Mi0zLjM1OC03LjUtNy41LTcuNXMtNy41IDMuMzU4LTcuNSA3LjV2MTQuMDM5aC0xMDd2LTY2aDEwN3YxNi45NjFjMCA0LjE0MiAzLjM1OCA3LjUgNy41IDcuNXM3LjUtMy4zNTggNy41LTcuNXYtMTkuNDcyYzAtNi44ODctNS42MDMtMTIuNDktMTIuNDktMTIuNDloLTExMi4wMmMtNi44ODcgMC0xMi40OSA1LjYwMy0xMi40OSAxMi40OXY3MS4wMjFjMCA2Ljg4NiA1LjYwMyAxMi40OSAxMi40OSAxMi40OXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTIzMS44ODEgMjc4LjEwMmM3LjM0OSA0LjgyOCAxMy41MjIgMTEuMDAyIDE4LjM1MSAxOC4zNTEgMS4zODcgMi4xMSAzLjc0MyAzLjM4MSA2LjI2OCAzLjM4MXM0Ljg4MS0xLjI3MSA2LjI2OC0zLjM4MWM0LjgyOC03LjM0OSAxMS4wMDItMTMuNTIyIDE4LjM1MS0xOC4zNTEgMi4xMS0xLjM4NyAzLjM4MS0zLjc0MyAzLjM4MS02LjI2OHMtMS4yNzEtNC44ODEtMy4zODEtNi4yNjhjLTcuMzQ5LTQuODI4LTEzLjUyMi0xMS4wMDItMTguMzUxLTE4LjM1MS0xLjM4Ny0yLjExLTMuNzQzLTMuMzgxLTYuMjY4LTMuMzgxcy00Ljg4MSAxLjI3MS02LjI2OCAzLjM4MWMtNC44MjggNy4zNDktMTEuMDAyIDEzLjUyMi0xOC4zNTEgMTguMzUxLTIuMTEgMS4zODctMy4zODEgMy43NDMtMy4zODEgNi4yNjhzMS4yNzEgNC44ODEgMy4zODEgNi4yNjh6bTI0LjYxOS0xNC4zNDVjMi40OTQgMi44ODcgNS4xODkgNS41ODMgOC4wNzYgOC4wNzYtMi44ODcgMi40OTQtNS41ODMgNS4xODktOC4wNzYgOC4wNzYtMi40OTQtMi44ODctNS4xODktNS41ODMtOC4wNzYtOC4wNzYgMi44ODctMi40OTMgNS41ODItNS4xODggOC4wNzYtOC4wNzZ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zODEuODgxIDI3OC4xMDJjNy4zNDkgNC44MjggMTMuNTIyIDExLjAwMiAxOC4zNTEgMTguMzUxIDEuMzg3IDIuMTEgMy43NDMgMy4zODEgNi4yNjggMy4zODFzNC44ODEtMS4yNzEgNi4yNjgtMy4zODFjNC44MjgtNy4zNDkgMTEuMDAyLTEzLjUyMiAxOC4zNTEtMTguMzUxIDIuMTEtMS4zODcgMy4zODEtMy43NDMgMy4zODEtNi4yNjhzLTEuMjcxLTQuODgxLTMuMzgxLTYuMjY4Yy03LjM0OS00LjgyOC0xMy41MjItMTEuMDAyLTE4LjM1MS0xOC4zNTEtMS4zODctMi4xMS0zLjc0My0zLjM4MS02LjI2OC0zLjM4MXMtNC44ODEgMS4yNzEtNi4yNjggMy4zODFjLTQuODI4IDcuMzQ5LTExLjAwMiAxMy41MjItMTguMzUxIDE4LjM1MS0yLjExIDEuMzg3LTMuMzgxIDMuNzQzLTMuMzgxIDYuMjY4czEuMjcxIDQuODgxIDMuMzgxIDYuMjY4em0yNC42MTktMTQuMzQ1YzIuNDk0IDIuODg3IDUuMTg5IDUuNTgzIDguMDc2IDguMDc2LTIuODg3IDIuNDk0LTUuNTgzIDUuMTg5LTguMDc2IDguMDc2LTIuNDk0LTIuODg3LTUuMTg5LTUuNTgzLTguMDc2LTguMDc2IDIuODg3LTIuNDkzIDUuNTgyLTUuMTg4IDguMDc2LTguMDc2eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTAwLjIzMiAyNDcuMjE1Yy00LjgyOCA3LjM0OS0xMS4wMDIgMTMuNTIyLTE4LjM1MSAxOC4zNTEtMi4xMSAxLjM4Ny0zLjM4MSAzLjc0My0zLjM4MSA2LjI2OHMxLjI3MSA0Ljg4MSAzLjM4MSA2LjI2OGM3LjM0OSA0LjgyOCAxMy41MjIgMTEuMDAyIDE4LjM1MSAxOC4zNTEgMS4zODcgMi4xMSAzLjc0MyAzLjM4MSA2LjI2OCAzLjM4MXM0Ljg4MS0xLjI3MSA2LjI2OC0zLjM4MWM0LjgyOC03LjM0OSAxMS4wMDItMTMuNTIyIDE4LjM1MS0xOC4zNTEgMi4xMS0xLjM4NyAzLjM4MS0zLjc0MyAzLjM4MS02LjI2OHMtMS4yNzEtNC44ODEtMy4zODEtNi4yNjhjLTcuMzQ5LTQuODI4LTEzLjUyMi0xMS4wMDItMTguMzUxLTE4LjM1MS0xLjM4Ny0yLjExLTMuNzQzLTMuMzgxLTYuMjY4LTMuMzgxcy00Ljg4MSAxLjI3LTYuMjY4IDMuMzgxem0xNC4zNDQgMjQuNjE4Yy0yLjg4NyAyLjQ5NC01LjU4MyA1LjE4OS04LjA3NiA4LjA3Ni0yLjQ5NC0yLjg4Ny01LjE4OS01LjU4My04LjA3Ni04LjA3NiAyLjg4Ny0yLjQ5NCA1LjU4My01LjE4OSA4LjA3Ni04LjA3NiAyLjQ5NCAyLjg4OCA1LjE4OSA1LjU4MyA4LjA3NiA4LjA3NnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=","Living Room":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTQ3MywzMzEuOTE2VjI3My42NDhBMzkuNzEsMzkuNzEsMCwwLDAsNDMzLjMyOCwyMzRIMzc2VjE3MGg0NC4wMDlhNi4yODksNi4yODksMCwwLDAsNS43NDctOC4wMkw0MDQuODMxLDkyLjI0OEE1Ljk3Niw1Ljk3NiwwLDAsMCwzOTkuMDg0LDg4SDM0MC45MTZhNS45MzIsNS45MzIsMCwwLDAtNS43NDcsNC4yTDMxNC4yNDQsMTYxLjkyYTYuMzcyLDYuMzcyLDAsMCwwLC45MzQsNS40ODMsNi4xNzYsNi4xNzYsMCwwLDAsNC44MTMsMi42SDM2NHY2NEg4OC42NzVBMzkuNzEzLDM5LjcxMywwLDAsMCw0OSwyNzMuNjQ4djU4LjI2OGEzOS40MTcsMzkuNDE3LDAsMCwwLTM3LDM5LjU1NlY0NjMuMWE1LjkxNSw1LjkxNSwwLDAsMCw2LDUuOUgzNXYzMGE2LjI0Niw2LjI0NiwwLDAsMCw2LjI4LDZoNjcuODY3QTUuODc3LDUuODc3LDAsMCwwLDExNSw0OTlWNDY5SDQwN3YzMGE1Ljg3OSw1Ljg3OSwwLDAsMCw1Ljg1NSw2aDY3Ljg2OUE2LjI0Myw2LjI0MywwLDAsMCw0ODcsNDk5VjQ2OWgxN2E1LjkxMyw1LjkxMywwLDAsMCw2LTUuOVYzNzEuNDcyQTM5LjQxNywzOS40MTcsMCwwLDAsNDczLDMzMS45MTZaTTM0NS4zODEsMTAwaDQ5LjIzOGwxNy4zMjYsNThoLTgzLjg5Wk04OC42NzUsMjQ2SDQzMy4zMjhBMjcuNywyNy43LDAsMCwxLDQ2MSwyNzMuNjQ4djU5LjNhMzkuODU0LDM5Ljg1NCwwLDAsMC0zMCwzOC41MjZWMzkwSDkxVjM3MS40NzJhMzkuODU0LDM5Ljg1NCwwLDAsMC0zMC0zOC41MjZ2LTU5LjNBMjcuNywyNy43LDAsMCwxLDg4LjY3NSwyNDZaTTEwMyw0OTNINDdWNDY5aDU2Wm0zNzIsMEg0MTlWNDY5aDU2Wm0yMy0zNkgyNFYzNzEuNDcyYTI3LjUsMjcuNSwwLDEsMSw1NSwwVjM5NS44YTYuNDQ4LDYuNDQ4LDAsMCwwLDYuMzEsNi4ySDQzNi42OTNBNi40NDUsNi40NDUsMCwwLDAsNDQzLDM5NS44VjM3MS40NzJhMjcuNSwyNy41LDAsMSwxLDU1LDBaIi8+DQogICAgICAgIDxwYXRoIGQ9Ik0yMTQsMjAzLjIzOFY1Ni42MjZBNS42NCw1LjY0LDAsMCwwLDIwOC4wNjIsNTFoLTUzLjkyTDExMi4yNzIsOC45NDRhNS43MzcsNS43MzcsMCwwLDAtOC40ODQuMDQ3TDYxLjkxOSw1MUg4YTUuNjkzLDUuNjkzLDAsMCwwLTYsNS42MjZWMjAzLjIzOEE1LjgsNS44LDAsMCwwLDgsMjA5SDIwOC4wNjJBNS43NDksNS43NDksMCwwLDAsMjE0LDIwMy4yMzhaTTE3NCwxMzEuOGwtNDIuMjMsMTkuNjg2TDgwLjM2NSwxMTYuNDQzYTYuMjQ1LDYuMjQ1LDAsMCwwLTcuMTMxLjE2M0w0MSwxNDAuNjg2Vjg3SDE3NFpNNDEsMTU1LjY4OWwzNi4wNjItMjYuOTExLDUwLjg4NSwzNC41NDJhNi4xNyw2LjE3LDAsMCwwLDMuNDI3LDEuMDM5LDUuMTY5LDUuMTY5LDAsMCwwLDIuMzMyLS41NTdMMTc0LDE0NS4wMjVWMTczSDQxWk0xNzguMTU1LDc1SDM3LjY4OUwyMy4yNDMsNjNIMTkyLjVaTTI5LDg0LjA5MVYxNzYuMkwxNCwxODkuOTI4VjcwLjQ3M1pNMzcuNywxODVIMTc4LjE0bDEzLjc2NywxMkgyMy44MzVaTTE4NiwxNzYuMjFWODQuMDc4bDE2LTEzLjlWMTkwLjIyNlpNMTA4LjAzLDIxLjg1OSwxMzcuMTcyLDUxSDc4Ljg4OVoiLz4NCiAgICAgICAgPHBhdGggZD0iTTEyOC4zNzQsMTMzLjJhMjAuMjE0LDIwLjIxNCwwLDEsMC0yMC4yMTQtMjAuMjE0QTIwLjIzNiwyMC4yMzYsMCwwLDAsMTI4LjM3NCwxMzMuMlptMC0yOC40MjdhOC4yMTQsOC4yMTQsMCwxLDEtOC4yMTQsOC4yMTNBOC4yMjMsOC4yMjMsMCwwLDEsMTI4LjM3NCwxMDQuNzY4WiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzQ4Ljc4NywzMDguNDRhMjIuMDg3LDIyLjA4NywwLDAsMCwwLDIxLjY2MmwtOC40NzksOC40NzlhNiw2LDAsMSwwLDguNDg0LDguNDg1bDguNDc5LTguNDhhMjIuMDksMjIuMDksMCwwLDAsMjEuNjYyLDBsOC40NzgsOC40NzlhNiw2LDAsMCwwLDguNDg2LTguNDg1bC04LjQ4Ny04LjQ4OGEyMi4yMTEsMjIuMjExLDAsMCwwLDAtMjEuNjQ0bDguNDg3LTguNDg4YTYsNiwwLDAsMC04LjQ4Ni04LjQ4NWwtOC40NzgsOC40NzlhMjIuMDkyLDIyLjA5MiwwLDAsMC0yMS42NjEsMGwtOC40OC04LjQ3OWE2LDYsMCwxLDAtOC40ODQsOC40ODVabTE5LjMxNi42NzhhMTAuMTU2LDEwLjE1NiwwLDEsMS03LjE3OSwyLjk3NEExMC4wODMsMTAuMDgzLDAsMCwxLDM2OC4xLDMwOS4xMThaIi8+DQogICAgICAgIDxwYXRoIGQ9Ik0yMzguNzg3LDMwOC40NGEyMi4wODcsMjIuMDg3LDAsMCwwLDAsMjEuNjYybC04LjQ3OSw4LjQ3OWE2LDYsMCwxLDAsOC40ODQsOC40ODVsOC40NzktOC40OGEyMi4wOSwyMi4wOSwwLDAsMCwyMS42NjIsMGw4LjQ3OCw4LjQ3OWE2LDYsMCwwLDAsOC40ODYtOC40ODVsLTguNDg3LTguNDg4YTIyLjIxMSwyMi4yMTEsMCwwLDAsMC0yMS42NDRsOC40ODctOC40ODhhNiw2LDAsMCwwLTguNDg2LTguNDg1bC04LjQ3OCw4LjQ3OWEyMi4wOTIsMjIuMDkyLDAsMCwwLTIxLjY2MSwwbC04LjQ4LTguNDc5YTYsNiwwLDEsMC04LjQ4NCw4LjQ4NVptMTkuMzE2LjY3OGExMC4xNTYsMTAuMTU2LDAsMSwxLTcuMTc5LDIuOTc0QTEwLjA4MywxMC4wODMsMCwwLDEsMjU4LjEsMzA5LjExOFoiLz4NCiAgICAgICAgPHBhdGggZD0iTTEyOC43ODcsMzA4LjQ0YTIyLjA4NywyMi4wODcsMCwwLDAsMCwyMS42NjJsLTguNDc5LDguNDc5YTYsNiwwLDEsMCw4LjQ4NCw4LjQ4NWw4LjQ3OS04LjQ4YTIyLjA5LDIyLjA5LDAsMCwwLDIxLjY2MiwwbDguNDc4LDguNDc5YTYsNiwwLDAsMCw4LjQ4Ni04LjQ4NWwtOC40ODctOC40ODhhMjIuMjExLDIyLjIxMSwwLDAsMCwwLTIxLjY0NGw4LjQ4Ny04LjQ4OGE2LDYsMCwwLDAtOC40ODYtOC40ODVsLTguNDc4LDguNDc5YTIyLjA5MiwyMi4wOTIsMCwwLDAtMjEuNjYxLDBsLTguNDgtOC40NzlhNiw2LDAsMSwwLTguNDg0LDguNDg1Wm0xOS4zMTYuNjc4YTEwLjE1NiwxMC4xNTYsMCwxLDEtNy4xNzksMi45NzRBMTAuMDgzLDEwLjA4MywwLDAsMSwxNDguMSwzMDkuMTE4WiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K","Locker Room":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDYwIDYwIiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im0yMyA0aC0xNWMtMi4yMDkxMzkgMC00IDEuNzkwODYxLTQgNHYzNGMwIDIuMjA5MTM5IDEuNzkwODYxIDQgNCA0aDZjLjU1MjI4NDcgMCAxLS40NDc3MTUzIDEtMXMtLjQ0NzcxNTMtMS0xLTFoLTZjLTEuMTA0NTY5NSAwLTItLjg5NTQzMDUtMi0ydi0zNGMwLTEuMTA0NTY5NS44OTU0MzA1LTIgMi0yaDE1YzEuMTA0NTY5NSAwIDIgLjg5NTQzMDUgMiAydjEyLjA1YzAgLjU1MjI4NDcuNDQ3NzE1MyAxIDEgMXMxLS40NDc3MTUzIDEtMXYtMTIuMDVjMC0yLjIwOTEzOS0xLjc5MDg2MS00LTQtNHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTExIDEyaDljLjU1MjI4NDcgMCAxLS40NDc3MTUzIDEtMXMtLjQ0NzcxNTMtMS0xLTFoLTljLS41NTIyODQ3IDAtMSAuNDQ3NzE1My0xIDFzLjQ0NzcxNTMgMSAxIDF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xMSAxNmg5Yy41NTIyODQ3IDAgMS0uNDQ3NzE1MyAxLTFzLS40NDc3MTUzLTEtMS0xaC05Yy0uNTUyMjg0NyAwLTEgLjQ0NzcxNTMtMSAxcy40NDc3MTUzIDEgMSAxeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjEgMTljMC0uNTUyMjg0Ny0uNDQ3NzE1My0xLTEtMWgtOWMtLjU1MjI4NDcgMC0xIC40NDc3MTUzLTEgMXMuNDQ3NzE1MyAxIDEgMWg5Yy41NTIyODQ3IDAgMS0uNDQ3NzE1MyAxLTF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im05IDM1Yy0uNTUyMjg0NzUgMC0xIC40NDc3MTUzLTEgMXY1YzAgLjU1MjI4NDcuNDQ3NzE1MjUgMSAxIDFoM2MuNTUyMjg0NyAwIDEtLjQ0NzcxNTMgMS0xcy0uNDQ3NzE1My0xLTEtMWgtMnYtNGMwLS41NTIyODQ3LS40NDc3MTUyNS0xLTEtMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTUyIDBoLTE1Yy0yLjkxMjIxNDIuMDAxODA2OTEtNS41OTM0MDA4IDEuNTg2MDA1MTgtNyA0LjEzNi0xLjQwNjU5OTItMi41NDk5OTQ4Mi00LjA4Nzc4NTgtNC4xMzQxOTMwOS03LTQuMTM2aC0xNWMtNC40MTYyMjE5Mi4wMDQ5NTk4OC03Ljk5NTA0MDEyIDMuNTgzNzc4MDgtOCA4djM0Yy4wMDQ5NTk4OCA0LjQxNjIyMTkgMy41ODM3NzgwOCA3Ljk5NTA0MDEgOCA4aDZjLjU1MjI4NDcgMCAxLS40NDc3MTUzIDEtMXMtLjQ0NzcxNTMtMS0xLTFoLTZjLTMuMzEyMzM3NTctLjAwMzMwNzQtNS45OTY2OTI2Mi0yLjY4NzY2MjQtNi02di0zNGMuMDAzMzA3MzgtMy4zMTIzMzc1NyAyLjY4NzY2MjQzLTUuOTk2NjkyNjIgNi02aDE1YzMuMzEyMzM3Ni4wMDMzMDczOCA1Ljk5NjY5MjYgMi42ODc2NjI0MyA2IDZ2MTJjMCAuNTUyMjg0Ny40NDc3MTUzIDEgMSAxczEtLjQ0NzcxNTMgMS0xdi0xMmMuMDAzMzA3NC0zLjMxMjMzNzU3IDIuNjg3NjYyNC01Ljk5NjY5MjYyIDYtNmgxNWMzLjMxMjMzNzYuMDAzMzA3MzggNS45OTY2OTI2IDIuNjg3NjYyNDMgNiA2djM0Yy0uMDAzMzA3NCAzLjMxMjMzNzYtMi42ODc2NjI0IDUuOTk2NjkyNi02IDZoLTZjLS41NTIyODQ3IDAtMSAuNDQ3NzE1My0xIDFzLjQ0NzcxNTMgMSAxIDFoNmM0LjQxNjIyMTktLjAwNDk1OTkgNy45OTUwNDAxLTMuNTgzNzc4MSA4LTh2LTM0Yy0uMDA0OTU5OS00LjQxNjIyMTkyLTMuNTgzNzc4MS03Ljk5NTA0MDEyLTgtOHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ2IDQ2aDZjMi4yMDkxMzkgMCA0LTEuNzkwODYxIDQtNHYtMzRjMC0yLjIwOTEzOS0xLjc5MDg2MS00LTQtNGgtMTVjLTIuMjA5MTM5IDAtNCAxLjc5MDg2MS00IDR2MTIuMDVjMCAuNTUyMjg0Ny40NDc3MTUzIDEgMSAxczEtLjQ0NzcxNTMgMS0xdi0xMi4wNWMwLTEuMTA0NTY5NS44OTU0MzA1LTIgMi0yaDE1YzEuMTA0NTY5NSAwIDIgLjg5NTQzMDUgMiAydjM0YzAgMS4xMDQ1Njk1LS44OTU0MzA1IDItMiAyaC02Yy0uNTUyMjg0NyAwLTEgLjQ0NzcxNTMtMSAxcy40NDc3MTUzIDEgMSAxeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNDAgMTJoOWMuNTUyMjg0NyAwIDEtLjQ0NzcxNTMgMS0xcy0uNDQ3NzE1My0xLTEtMWgtOWMtLjU1MjI4NDcgMC0xIC40NDc3MTUzLTEgMXMuNDQ3NzE1MyAxIDEgMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQwIDE2aDljLjU1MjI4NDcgMCAxLS40NDc3MTUzIDEtMXMtLjQ0NzcxNTMtMS0xLTFoLTljLS41NTIyODQ3IDAtMSAuNDQ3NzE1My0xIDFzLjQ0NzcxNTMgMSAxIDF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00MCAyMGg5Yy41NTIyODQ3IDAgMS0uNDQ3NzE1MyAxLTFzLS40NDc3MTUzLTEtMS0xaC05Yy0uNTUyMjg0NyAwLTEgLjQ0NzcxNTMtMSAxcy40NDc3MTUzIDEgMSAxeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNDkgMjd2M2MwIC41NTIyODQ3LjQ0NzcxNTMgMSAxIDFzMS0uNDQ3NzE1MyAxLTF2LTNjMC0uNTUyMjg0Ny0uNDQ3NzE1My0xLTEtMXMtMSAuNDQ3NzE1My0xIDF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yNyAyM2MtMy44NjQxNjU3LjAwNDQwODYtNi45OTU1OTE0IDMuMTM1ODM0My03IDd2NmMtMS42NTY4NTQyIDAtMyAxLjM0MzE0NTgtMyAzdjE4YzAgMS42NTY4NTQyIDEuMzQzMTQ1OCAzIDMgM2gyMGMxLjY1Njg1NDIgMCAzLTEuMzQzMTQ1OCAzLTN2LTE4YzAtMS42NTY4NTQyLTEuMzQzMTQ1OC0zLTMtM3YtNmMtLjAwNDQwODYtMy44NjQxNjU3LTMuMTM1ODM0My02Ljk5NTU5MTQtNy03em0xNCAxNnYxOGMwIC41NTIyODQ3LS40NDc3MTUzIDEtMSAxaC0yMGMtLjU1MjI4NDcgMC0xLS40NDc3MTUzLTEtMXYtMThjMC0uNTUyMjg0Ny40NDc3MTUzLTEgMS0xaDIwYy41NTIyODQ3IDAgMSAuNDQ3NzE1MyAxIDF6bS03LTNoLTh2LTZjMC0uNTUyMjg0Ny40NDc3MTUzLTEgMS0xaDZjLjU1MjI4NDcgMCAxIC40NDc3MTUzIDEgMXptNC02djZoLTJ2LTZjMC0xLjY1Njg1NDItMS4zNDMxNDU4LTMtMy0zaC02Yy0xLjY1Njg1NDIgMC0zIDEuMzQzMTQ1OC0zIDN2NmgtMnYtNmMuMDAzMzA2MS0yLjc2MDA1MzIgMi4yMzk5NDY4LTQuOTk2NjkzOSA1LTVoNmMyLjc2MDA1MzIuMDAzMzA2MSA0Ljk5NjY5MzkgMi4yMzk5NDY4IDUgNXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTMxLjIxMyA0MS4xNDRjLTEuNTA0MTcyLS4zNjkzNzI3LTMuMDk0NjQyNi0uMDI1NjA2OC00LjMxMi45MzItMS4yMTc4ODM0Ljk2MTgxMzQtMS45MjAxMjc1IDIuNDM0NjA4OS0xLjkwMDc0MDMgMy45ODYzNjU3LjAxOTM4NzEgMS41NTE3NTY4Ljc1ODIwNzYgMy4wMDY1NDgxIDEuOTk5NzQwMyAzLjkzNzYzNDN2M2MwIDEuNjU2ODU0MiAxLjM0MzE0NTggMyAzIDNzMy0xLjM0MzE0NTggMy0zdi0zYzEuNTQ0NTEwNy0xLjE1Njk1NDQgMi4yODUzNDkyLTMuMDk5NDU1NyAxLjkwMzUxOTEtNC45OTEwODUyLS4zODE4MzAxLTEuODkxNjI5Ni0xLjgxODE1ODctMy4zOTQ2NjQzLTMuNjkwNTE5MS0zLjg2MTkxNDh6bS41ODcgNy4yNTZjLS40OTcxNDc5LjM1NzYwNjYtLjc5NDI0MDEuOTMwNjIzMi0uOCAxLjU0M3YzLjA1N2MwIC41NTIyODQ3LS40NDc3MTUzIDEtMSAxcy0xLS40NDc3MTUzLTEtMXYtMy4wODFjLS4wMDU3MDgyLS42MDIwNTIyLS4yOTk0MjU5LTEuMTY0OTQ5Mi0uNzktMS41MTQtMS4wMzUwNTUzLS43NzE3ODcyLTEuNDYwMjE2NC0yLjExOTI1MDctMS4wNTU1MzY0LTMuMzQ1MzEzMXMxLjU0ODQyMS0yLjA1NTY4NjcgMi44Mzk1MzY0LTIuMDU5Njg2OWMuMjU1MDMwOS4wMDA1MDg1LjUwOTExNDQuMDMxMDUyMi43NTcuMDkxIDEuMDU1ODY4LjI2MzI0NjEgMS44ODI5MDcgMS4wODMzNzcyIDIuMTU1IDIuMTM3LjMxMzM3NDYgMS4xODM5Njk1LS4xMjQ0MTY1IDIuNDM5NTUxMi0xLjEwNiAzLjE3MnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",Nursery:pNe,Office:ONe,Outdoors:ENe,Playroom:_Ne,Pool:fNe,"Rear Wall":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik01MDMuNDY3LDguNTMzSDM4NGMtNC43MSwwLTguNTMzLDMuODE0LTguNTMzLDguNTMzdjExOS40NjdWMjU2djUxLjJoLTY5LjczNWMwLjk0OC0yLjY3MSwxLjQ2OC01LjU0MiwxLjQ2OC04LjUzMw0KCQkJCWMwLTE0LjExNC0xMS40ODYtMjUuNi0yNS42LTI1LjZoLTE3LjA2N1YyNTZoODUuMzMzYzQuNzEsMCw4LjUzMy0zLjgxNCw4LjUzMy04LjUzM1YxMTAuOTMzYzAtNC43MTktMy44MjMtOC41MzMtOC41MzMtOC41MzMNCgkJCQlIMTYyLjEzM2MtNC43MSwwLTguNTMzLDMuODE0LTguNTMzLDguNTMzdjEzNi41MzNjMCw0LjcxOSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2g4NS4zMzN2MTcuMDY3SDIzMC40DQoJCQkJYy0xNC4xMTQsMC0yNS42LDExLjQ4Ni0yNS42LDI1LjZjMCwyLjk5MSwwLjUyMSw1Ljg2MiwxLjQ2OCw4LjUzM2gtNjkuNzM1VjI1NlYxMzYuNTMzVjE3LjA2N2MwLTQuNzE5LTMuODIzLTguNTMzLTguNTMzLTguNTMzDQoJCQkJSDguNTMzQzMuODIzLDguNTMzLDAsMTIuMzQ4LDAsMTcuMDY3djExOS40NjdWMjU2djExOS40Njd2MTE5LjQ2N2MwLDQuNzE5LDMuODIzLDguNTMzLDguNTMzLDguNTMzSDEyOGgyNTZoMTE5LjQ2Nw0KCQkJCWM0LjcxLDAsOC41MzMtMy44MTQsOC41MzMtOC41MzNWMzc1LjQ2N1YyNTZWMTM2LjUzM1YxNy4wNjdDNTEyLDEyLjM0OCw1MDguMTc3LDguNTMzLDUwMy40NjcsOC41MzN6IE0xNzAuNjY3LDE1My42aDE3MC42NjcNCgkJCQl2NTEuMkgxNzAuNjY3VjE1My42eiBNMzQxLjMzMywxMTkuNDY3djE3LjA2N0gxNzAuNjY3di0xNy4wNjdIMzQxLjMzM3ogTTE3MC42NjcsMjIxLjg2N2gxNzAuNjY3djE3LjA2N0gxNzAuNjY3VjIyMS44Njd6DQoJCQkJIE0zNzUuNDY3LDQ4Ni40SDI2NC41MzN2LTkzLjg2N2g1MS4yaDU5LjczM1Y0ODYuNHogTTMwNy4yLDM3NS40NjdIMjA0LjhWMzU4LjRoMTAyLjRWMzc1LjQ2N3ogTTQ5NC45MzMsMjQ3LjQ2N2gtMTcuMDY3VjE3OS4yDQoJCQkJYzAtNC43MTktMy44MjMtOC41MzMtOC41MzMtOC41MzNoLTI1LjZoLTI1LjZjLTQuNzEsMC04LjUzMywzLjgxNC04LjUzMyw4LjUzM3Y2OC4yNjdoLTE3LjA2N3YtMTAyLjRoMTAyLjRWMjQ3LjQ2N3oNCgkJCQkgTTQyNi42NjcsMjQ3LjQ2N3YtNTkuNzMzaDguNTMzdjU5LjczM0g0MjYuNjY3eiBNNDUyLjI2NywxODcuNzMzaDguNTMzdjU5LjczM2gtOC41MzNWMTg3LjczM3ogTTM5Mi41MzMsMzE1LjczM3YtNTEuMmgyNS42DQoJCQkJaDI1LjZoMjUuNmgyNS42djEwMi40aC0xMDIuNFYzMTUuNzMzeiBNMzkyLjUzMywyNS42aDEwMi40VjEyOGgtMTAyLjRWMjUuNnogTTIyMS44NjcsMjk4LjY2N2MwLTQuNzEsMy44MzEtOC41MzMsOC41MzMtOC41MzMNCgkJCQloNTEuMmM0LjcwMiwwLDguNTMzLDMuODIzLDguNTMzLDguNTMzcy0zLjgzMSw4LjUzMy04LjUzMyw4LjUzM2gtNTEuMkMyMjUuNjk4LDMwNy4yLDIyMS44NjcsMzAzLjM3NywyMjEuODY3LDI5OC42Njd6DQoJCQkJIE0yMzAuNCwzMjQuMjY3aDUxLjJoOTMuODY3djUxLjJoLTUxLjJWMzU4LjRjMC05LjQxMi03LjY1NC0xNy4wNjctMTcuMDY3LTE3LjA2N0gyMDQuOGMtOS40MTIsMC0xNy4wNjcsNy42NTQtMTcuMDY3LDE3LjA2Nw0KCQkJCXYxNy4wNjdoLTUxLjJ2LTUxLjJIMjMwLjR6IE01MS4yLDMzMi44aDM0LjEzM3Y4LjUzM0g1MS4yVjMzMi44eiBNODUuMzMzLDMxNS43MzNINTEuMlYzMDcuMmgzNC4xMzNWMzE1LjczM3ogTTUxLjIsMzU4LjQNCgkJCQloMzQuMTMzdjguNTMzSDUxLjJWMzU4LjR6IE0xMDIuNCwzNDkuODY3di0yNS42di0yNS42YzAtNC43MTktMy44MjMtOC41MzMtOC41MzMtOC41MzNoLTUxLjJjLTQuNzEsMC04LjUzMywzLjgxNC04LjUzMyw4LjUzMw0KCQkJCXYyNS42djI1LjZ2MTcuMDY3SDE3LjA2N3YtMTAyLjRoMTAyLjR2NTEuMnY1MS4ySDEwMi40VjM0OS44Njd6IE01OS43MzMsMTEwLjkzM0g3Ni44VjEyOEg1OS43MzNWMTEwLjkzM3ogTTUxLjIsMTQ1LjA2N2gzNC4xMzMNCgkJCQloMzQuMTMzdjEwMi40aC0xMDIuNHYtMTAyLjRINTEuMnogTTE3LjA2NywyNS42aDEwMi40VjEyOGgtMjUuNnYtMTcuMDY3YzQuNzEsMCw4LjUzMy0zLjgxNCw4LjUzMy04LjUzMw0KCQkJCWMwLTQuNzE5LTMuODIzLTguNTMzLTguNTMzLTguNTMzaC04LjUzM0g1MS4yaC04LjUzM2MtNC43MSwwLTguNTMzLDMuODE0LTguNTMzLDguNTMzYzAsNC43MTksMy44MjMsOC41MzMsOC41MzMsOC41MzNWMTI4DQoJCQkJaC0yNS42VjI1LjZ6IE0xNy4wNjcsMzg0aDI1LjZoNTEuMmgyNS42djEwMi40aC0xMDIuNFYzODR6IE0xMzYuNTMzLDM5Mi41MzNoNTkuNzMzaDUxLjJWNDg2LjRIMTM2LjUzM1YzOTIuNTMzeiBNNDk0LjkzMyw0ODYuNA0KCQkJCWgtMTcuMDY3di02OC4yNjdjMC00LjcxOS0zLjgyMy04LjUzMy04LjUzMy04LjUzM3MtOC41MzMsMy44MTQtOC41MzMsOC41MzNWNDg2LjRoLTguNTMzdi02OC4yNjcNCgkJCQljMC00LjcxOS0zLjgyMy04LjUzMy04LjUzMy04LjUzM3MtOC41MzMsMy44MTQtOC41MzMsOC41MzNWNDg2LjRoLTguNTMzdi02OC4yNjdjMC00LjcxOS0zLjgyMy04LjUzMy04LjUzMy04LjUzMw0KCQkJCXMtOC41MzMsMy44MTQtOC41MzMsOC41MzNWNDg2LjRoLTE3LjA2N1YzODRoMTAyLjRWNDg2LjR6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0yMjEuODY3LDQwOS42SDIwNC44Yy00LjcxLDAtOC41MzMsMy44MTQtOC41MzMsOC41MzNzMy44MjMsOC41MzMsOC41MzMsOC41MzNoOC41MzN2OC41MzMNCgkJCQljMCw0LjcxOSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2M0LjcxLDAsOC41MzMtMy44MTQsOC41MzMtOC41MzN2LTE3LjA2N0MyMzAuNCw0MTMuNDE0LDIyNi41NzcsNDA5LjYsMjIxLjg2Nyw0MDkuNnoiLz4NCiAgICAgICAgPHBhdGggZD0iTTMwNy4yLDQwOS42aC0xNy4wNjdjLTQuNzEsMC04LjUzMywzLjgxNC04LjUzMyw4LjUzM1Y0MzUuMmMwLDQuNzE5LDMuODIzLDguNTMzLDguNTMzLDguNTMzczguNTMzLTMuODE0LDguNTMzLTguNTMzDQoJCQkJdi04LjUzM2g4LjUzM2M0LjcxLDAsOC41MzMtMy44MTQsOC41MzMtOC41MzNTMzExLjkxLDQwOS42LDMwNy4yLDQwOS42eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K","Second Floor":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIuMDAyIDUxMi4wMDIiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIHN0cm9rZT0iIiBkPSJNNDc3LjQ0NCw0NzEuMDM0aC0zLjgzM2MtMy42NzktMTQuNDM1LTE1LjkyNi0yNS4zNTYtMzAuODU5LTI3LjI0MVYzMDguNTg3aDIuMTM4YzkuOTE3LDAsMTcuOTg1LTguMDY4LDE3Ljk4NS0xNy45ODYNCgkJCWMwLTkuOTE3LTguMDY4LTE3Ljk4NS0xNy45ODUtMTcuOTg1aC0yLjEzOFYxMjkuMzgyaDkuODE1YzcuMTk3LDAsMTMuMDUyLTUuODU1LDEzLjA1Mi0xMy4wNTJ2LTE0LjkwNA0KCQkJYzAtMC4wMzMtMC4wMDUtMC4wNjUtMC4wMDUtMC4wOThjLTAuMDAxLTAuMDk4LTAuMDA5LTAuMTk2LTAuMDE1LTAuMjk0Yy0wLjAwOS0wLjE3MS0wLjAyMS0wLjM0Mi0wLjA0Mi0wLjUxDQoJCQljLTAuMDExLTAuMDg5LTAuMDI2LTAuMTc3LTAuMDQxLTAuMjY2Yy0wLjAyOS0wLjE4My0wLjA2NS0wLjM2NC0wLjEwOC0wLjU0MmMtMC4wMS0wLjA0LTAuMDE0LTAuMDgxLTAuMDI0LTAuMTIxTDQ0Ni4xMjMsMjUuNDINCgkJCWMtMS41NzQtNi4wNi03LjA0Ny0xMC4yOTMtMTMuMzA3LTEwLjI5M2gtNDkuMTA1Yy00LjAyNSwwLTcuMjg3LDMuMjYyLTcuMjg3LDcuMjg3czMuMjYyLDcuMjg3LDcuMjg3LDcuMjg3aDQ4LjQ2OGwxNi43MzQsNjQuNDQNCgkJCUgzMzUuMzcyTDI5Mi4zNDcsMjkuN2g0NS44NjZjNC4wMjUsMCw3LjI4Ny0zLjI2Miw3LjI4Ny03LjI4N2MwLTQuMDI1LTMuMjYyLTcuMjg3LTcuMjg3LTcuMjg3aC01NS41OTZsLTAuOTI2LTEuMzg3DQoJCQlDMjc1Ljk0OCw1LjEzNywyNjYuMzQyLDAsMjU1Ljk5NywwYy0xMC4zNDUsMC0xOS45NSw1LjEzNi0yNS42OTQsMTMuNzM5bC0wLjkyNywxLjM4OEg3OS4xNzgNCgkJCWMtNi4yNjEsMC0xMS43MzMsNC4yMzItMTMuMzA3LDEwLjI5M0w0Ni42MDksOTkuNTk1Yy0wLjAxLDAuMDQtMC4wMTQsMC4wODEtMC4wMjQsMC4xMjFjLTAuMDQzLDAuMTc4LTAuMDc5LDAuMzU5LTAuMTA4LDAuNTQyDQoJCQljLTAuMDE0LDAuMDg5LTAuMDMsMC4xNzctMC4wNDEsMC4yNjZjLTAuMDIxLDAuMTY4LTAuMDMzLDAuMzM4LTAuMDQyLDAuNTFjLTAuMDA1LDAuMDk4LTAuMDE0LDAuMTk2LTAuMDE1LDAuMjk0DQoJCQljMCwwLjAzMy0wLjAwNSwwLjA2NS0wLjAwNSwwLjA5OHYxNC45MDRjMCw3LjE5Nyw1Ljg1NSwxMy4wNTIsMTMuMDUyLDEzLjA1Mmg5LjgxNXYxNDMuMjMzaC0yLjEzOA0KCQkJYy05LjkxNywwLTE3Ljk4NSw4LjA2OC0xNy45ODUsMTcuOTg1czguMDY4LDE3Ljk4NiwxNy45ODUsMTcuOTg2aDIuMTM4djQ2LjY5NmMwLDQuMDI0LDMuMjYyLDcuMjg3LDcuMjg3LDcuMjg3DQoJCQlzNy4yODctMy4yNjIsNy4yODctNy4yODd2LTQ2LjY5NmgzNDQuMzY0djEyOS4zMTFjLTAuMDU1LTAuMDMyLTAuMTEzLTAuMDYtMC4xNjktMC4wOTJjLTAuNzE0LTAuNDE1LTEuNDM5LTAuODEtMi4xNzYtMS4xODINCgkJCWMtMC4xNDQtMC4wNzMtMC4yOTEtMC4xMzktMC40MzUtMC4yMWMtMC42MTQtMC4zMDItMS4yMzUtMC41ODgtMS44NjMtMC44NTljLTAuMjEzLTAuMDkyLTAuNDI1LTAuMTgzLTAuNjM5LTAuMjcyDQoJCQljLTAuNzI3LTAuMy0xLjQ1OS0wLjU4NS0yLjIwMi0wLjg0NGMtMC4wNDQtMC4wMTUtMC4wODctMC4wMzMtMC4xMzEtMC4wNDljLTAuNzg0LTAuMjcxLTEuNTc4LTAuNTExLTIuMzc4LTAuNzM2DQoJCQljLTAuMjE5LTAuMDYyLTAuNDQtMC4xMTgtMC42Ni0wLjE3NmMtMC42NDItMC4xNjktMS4yODktMC4zMjMtMS45NC0wLjQ2MmMtMC4xODgtMC4wNC0wLjM3NS0wLjA4NS0wLjU2NC0wLjEyMw0KCQkJYy0wLjgxMi0wLjE2Mi0xLjYyOS0wLjMtMi40NTEtMC40MTRjLTAuMTc4LTAuMDI1LTAuMzU4LTAuMDQyLTAuNTM3LTAuMDY0Yy0wLjY3MS0wLjA4NC0xLjM0NS0wLjE1Mi0yLjAyMi0wLjIwNA0KCQkJYy0wLjIzNC0wLjAxOC0wLjQ2OC0wLjAzNi0wLjcwMi0wLjA1MWMtMC44NDItMC4wNTEtMS42ODUtMC4wODUtMi41MzMtMC4wODVjLTE1LjQ0NiwwLTI5LjY5OSw4LjYxLTM3LjA2MiwyMS45MTUNCgkJCWMtMC44NDYtMC4wMi0xLjY4NCwwLjAwMS0yLjUxNiwwLjA0NmMtMC4xOTUsMC4wMTEtMC4zODcsMC4wMzQtMC41ODEsMC4wNDhjLTAuNjM2LDAuMDQ3LTEuMjY4LDAuMTA3LTEuODk0LDAuMTkNCgkJCWMtMC4yMywwLjAzMS0wLjQ1OCwwLjA3MS0wLjY4NiwwLjEwN2MtMC41ODYsMC4wOTItMS4xNjgsMC4xOTctMS43NDQsMC4zMjFjLTAuMjM0LDAuMDUtMC40NjUsMC4xMDQtMC42OTcsMC4xNTkNCgkJCWMtMC41NzEsMC4xMzctMS4xMzUsMC4yODktMS42OTUsMC40NTdjLTAuMjE3LDAuMDY1LTAuNDM1LDAuMTI4LTAuNjUsMC4xOThjLTAuNTg4LDAuMTktMS4xNjcsMC40LTEuNzQsMC42MjQNCgkJCWMtMC4xNzEsMC4wNjctMC4zNDUsMC4xMjctMC41MTUsMC4xOTdjLTAuNzA1LDAuMjktMS4zOTksMC42MDItMi4wNzksMC45NDFjLTAuMDI4LDAuMDE0LTAuMDU4LDAuMDI2LTAuMDg2LDAuMDQNCgkJCWMtMC43MzMsMC4zNjktMS40NSwwLjc2Ni0yLjE1LDEuMTljLTAuMDY2LDAuMDQtMC4xMjksMC4wODYtMC4xOTUsMC4xMjdjLTAuNiwwLjM3LTEuMTg3LDAuNzU5LTEuNzYsMS4xNjkNCgkJCWMtMC4xODQsMC4xMzItMC4zNjEsMC4yNzItMC41NDIsMC40MDhjLTAuNDQ3LDAuMzM1LTAuODg4LDAuNjc3LTEuMzE2LDEuMDM2Yy0wLjIwNiwwLjE3Mi0wLjQwNywwLjM1MS0wLjYwOSwwLjUyOQ0KCQkJYy0wLjM5MSwwLjM0NS0wLjc3NCwwLjY5OC0xLjE0OCwxLjA2M2MtMC4yMDEsMC4xOTYtMC40MDEsMC4zOTQtMC41OTcsMC41OTZjLTAuMzY1LDAuMzc2LTAuNzE3LDAuNzYzLTEuMDY0LDEuMTU4DQoJCQljLTAuMTc4LDAuMjAzLTAuMzU5LDAuNDA0LTAuNTMzLDAuNjEyYy0wLjM2NywwLjQ0MS0wLjcxNywwLjg5Ny0xLjA2LDEuMzU5Yy0wLjEzMSwwLjE3Ni0wLjI2OSwwLjM0Ni0wLjM5NiwwLjUyNQ0KCQkJYy0wLjg4NSwxLjI0Ni0xLjY4OSwyLjU2LTIuMzkyLDMuOTQ0aC0zNS40NTdWMzQ2LjE4MWMwLTcuMTM1LTUuODA1LTEyLjkzOS0xMi45MzktMTIuOTM5aC03My4zNDkNCgkJCWMtNy4xMzUsMC0xMi45MzksNS44MDUtMTIuOTM5LDEyLjkzOXYxMjQuODUzaC02MC42MzljLTAuMTg4LTAuNDY5LTAuMzk5LTAuOTI1LTAuNjA1LTEuMzgzDQoJCQljLTAuMDg4LTAuMTk0LTAuMTY2LTAuMzk0LTAuMjU2LTAuNTg2Yy0wLjM1My0wLjc0OS0wLjcyOC0xLjQ4My0xLjEyOC0yLjIwMmMtMC4wNzUtMC4xMzUtMC4xNi0wLjI2My0wLjIzNi0wLjM5Nw0KCQkJYy0wLjMzMS0wLjU3Ny0wLjY3My0xLjE0Ny0xLjAzNC0xLjcwM2MtMC4xNTEtMC4yMzItMC4zMTEtMC40NTYtMC40NjctMC42ODVjLTAuMzA1LTAuNDQ4LTAuNjE2LTAuODkxLTAuOTQtMS4zMjQNCgkJCWMtMC4xODMtMC4yNDUtMC4zNzItMC40ODQtMC41NjItMC43MjRjLTAuMzItMC40MDUtMC42NDYtMC44MDMtMC45ODItMS4xOTNjLTAuMjAyLTAuMjM0LTAuNDA1LTAuNDY3LTAuNjEyLTAuNjk1DQoJCQljLTAuMzUyLTAuMzg4LTAuNzE0LTAuNzY2LTEuMDgxLTEuMTM4Yy0wLjIwNS0wLjIwNy0wLjQwNy0wLjQxNy0wLjYxNi0wLjYyYy0wLjQxOS0wLjQwNS0wLjg1Mi0wLjc5NC0xLjI5LTEuMTc4DQoJCQljLTAuMTcyLTAuMTUxLTAuMzM3LTAuMzA4LTAuNTExLTAuNDU1Yy0wLjYyMi0wLjUyNS0xLjI1OS0xLjAzMS0xLjkxNC0xLjUxM2MtMC4wNjctMC4wNDktMC4xMzctMC4wOTMtMC4yMDQtMC4xNDENCgkJCWMtMC41ODgtMC40MjYtMS4xODgtMC44MzYtMS44MDEtMS4yMjZjLTAuMjI1LTAuMTQ0LTAuNDU4LTAuMjc2LTAuNjg2LTAuNDE0Yy0wLjQ2Ny0wLjI4My0wLjkzOC0wLjU2Mi0xLjQxOC0wLjgyNA0KCQkJYy0wLjI3LTAuMTQ4LTAuNTQ1LTAuMjg3LTAuODE5LTAuNDI4Yy0wLjQ1Ni0wLjIzNC0wLjkxNi0wLjQ2MS0xLjM4My0wLjY3NmMtMC4yOS0wLjEzNC0wLjU4MS0wLjI2NC0wLjg3NS0wLjM5MQ0KCQkJYy0wLjQ3My0wLjIwMy0wLjk1My0wLjM5NC0xLjQzNi0wLjU3OGMtMC4yOTEtMC4xMS0wLjU3OS0wLjIyMy0wLjg3My0wLjMyNmMtMC41MjgtMC4xODYtMS4wNjUtMC4zNTMtMS42MDQtMC41MTQNCgkJCWMtMC4yNTYtMC4wNzctMC41MDgtMC4xNjItMC43NjYtMC4yMzNjLTAuOC0wLjIyMS0xLjYwOC0wLjQyMS0yLjQyOC0wLjU4OGMtMC41MjctMC43MTgtMS4wNzQtMS40MTgtMS42MzctMi4wOTkNCgkJCWMtMC4xOTMtMC4yMzMtMC4zOTgtMC40NTItMC41OTUtMC42ODFjLTAuMzc4LTAuNDQtMC43NTQtMC44ODItMS4xNDctMS4zMDZjLTAuMjQ2LTAuMjY1LTAuNTA1LTAuNTE0LTAuNzU3LTAuNzcyDQoJCQljLTAuMzYtMC4zNjktMC43MTYtMC43NDQtMS4wODctMS4xYy0wLjI3Ny0wLjI2NS0wLjU2Ni0wLjUxNC0wLjg0OS0wLjc3MmMtMC4zNjItMC4zMy0wLjcxOS0wLjY2NC0xLjA5MS0wLjk4MQ0KCQkJYy0wLjMwMS0wLjI1Ny0wLjYxNC0wLjQ5OC0wLjkyMS0wLjc0N2MtMC4zNjgtMC4yOTgtMC43MzItMC42LTEuMTA4LTAuODg2Yy0wLjMyMi0wLjI0NC0wLjY1NC0wLjQ3Mi0wLjk4MS0wLjcwNw0KCQkJYy0wLjM3Ni0wLjI3LTAuNzQ5LTAuNTQ0LTEuMTMzLTAuODAxYy0wLjMzOS0wLjIyNy0wLjY4Ny0wLjQzOS0xLjAzMS0wLjY1N2MtMC4zODctMC4yNDUtMC43NzEtMC40OTMtMS4xNjQtMC43MjUNCgkJCWMtMC4zNTMtMC4yMDktMC43MTUtMC40MDItMS4wNzQtMC42MDFjLTAuMzk3LTAuMjItMC43OTItMC40NDMtMS4xOTYtMC42NTFjLTAuMzY4LTAuMTktMC43NDItMC4zNjQtMS4xMTUtMC41NDQNCgkJCWMtMC40MDYtMC4xOTUtMC44MTEtMC4zOTMtMS4yMjQtMC41NzZjLTAuMzgtMC4xNjktMC43NjUtMC4zMjMtMS4xNS0wLjQ4MmMtMC40MTctMC4xNzEtMC44MzItMC4zNDQtMS4yNTUtMC41MDMNCgkJCWMtMC4zODktMC4xNDctMC43ODQtMC4yOC0xLjE3OC0wLjQxNmMtMC40MjctMC4xNDctMC44NTQtMC4yOTYtMS4yODYtMC40M2MtMC4zOTgtMC4xMjQtMC44MDEtMC4yMzYtMS4yMDQtMC4zNDkNCgkJCWMtMC40MzctMC4xMjMtMC44NzMtMC4yNDYtMS4zMTQtMC4zNTZjLTAuNDA3LTAuMTAxLTAuODE3LTAuMTkxLTEuMjI3LTAuMjgxYy0wLjQ0NS0wLjA5OC0wLjg5LTAuMTk0LTEuMzM4LTAuMjc5DQoJCQljLTAuNDE0LTAuMDc4LTAuODMxLTAuMTQ1LTEuMjQ4LTAuMjEyYy0wLjQ1My0wLjA3Mi0wLjkwNS0wLjE0My0xLjM2MS0wLjIwMmMtMC40Mi0wLjA1NC0wLjg0Mi0wLjA5OC0xLjI2NC0wLjE0MQ0KCQkJYy0wLjQ2LTAuMDQ3LTAuOTIxLTAuMDktMS4zODUtMC4xMjJjLTAuNDI0LTAuMDMtMC44NS0wLjA1MS0xLjI3Ni0wLjA2OWMtMC4yNjktMC4wMTItMC41MzQtMC4wMzYtMC44MDQtMC4wNDN2LTI5Ljg1MQ0KCQkJYzAtNC4wMjQtMy4yNjItNy4yODctNy4yODctNy4yODdjLTQuMDI1LDAtNy4yODcsMy4yNjItNy4yODcsNy4yODd2MzEuODU2Yy0xNy4wNTMsNS4yNzktMjkuODM5LDIwLjM1Ni0zMS43NSwzOC42MjNoLTIuOTQyDQoJCQljLTExLjI5NCwwLTIwLjQ4Myw5LjE4OS0yMC40ODMsMjAuNDgzczkuMTg5LDIwLjQ4MywyMC40ODMsMjAuNDgzaDQ0Mi44OTRjMTEuMjk0LDAsMjAuNDgzLTkuMTg5LDIwLjQ4My0yMC40ODMNCgkJCUM0OTcuOTI3LDQ4MC4yMjMsNDg4LjczOCw0NzEuMDM0LDQ3Ny40NDQsNDcxLjAzNHogTTIzOS4zMzMsMjYuNDZjMC0wLjAwMSwwLjAwMS0wLjAwMSwwLjAwMS0wLjAwMWwzLjA4OS00LjYyNw0KCQkJYzMuMDM0LTQuNTQ1LDguMTA5LTcuMjU4LDEzLjU3NC03LjI1OGM1LjQ2NSwwLDEwLjU0LDIuNzEzLDEzLjU3NCw3LjI1OWw0OC4yNzgsNzIuMzA4aC01LjIwMmwtNDYuMTAzLTY5LjA1Mw0KCQkJYy0yLjM1OC0zLjUzMS02LjMtNS42MzktMTAuNTQ2LTUuNjM5Yy00LjI0NiwwLTguMTg5LDIuMTA4LTEwLjU0Niw1LjYzOUwxOTkuMzQ3LDk0LjE0aC01LjIwMmw4Ljc3OC0xMy4xNDhMMjM5LjMzMywyNi40NnoNCgkJCSBNMjk1LjEyNCw5NC4xNEgyMTYuODdsMzkuMTI3LTU4LjYwNEwyOTUuMTI0LDk0LjE0eiBNNzkuODE2LDI5LjdoMTM5LjgzMUwyMDkuNTEsNDQuODgzTDE3Ni42MjIsOTQuMTRINjMuMDgxTDc5LjgxNiwyOS43eg0KCQkJIE02MC45NDgsMTE0LjgwOXYtNi4wOTZoMzkwLjA5OHY2LjA5Nkg2MC45NDh6IE00MjguMTc5LDEyOS4zODJ2MTQzLjIzM0g4My44MTVWMTI5LjM4Mkg0MjguMTc5eiBNNjcuMTA0LDI5NC4wMTQNCgkJCWMtMS44ODEsMC0zLjQxMi0xLjUzMS0zLjQxMi0zLjQxM2MwLTEuODgxLDEuNTMtMy40MTIsMy40MTItMy40MTJINDQ0Ljg5YzEuODgxLDAsMy40MTIsMS41MzEsMy40MTIsMy40MTINCgkJCWMwLDEuODgyLTEuNTMsMy40MTMtMy40MTIsMy40MTNINjcuMTA0eiBNMzYwLjQxNiw0NzAuODkzYzAuMzE3LTAuMTg3LDAuNjM4LTAuMzY4LDAuOTY3LTAuNTM1DQoJCQljMC4xNTYtMC4wNzksMC4zMTYtMC4xNDksMC40NzQtMC4yMjNjMC4yOC0wLjEzMSwwLjU2Mi0wLjI1NiwwLjg1LTAuMzcxYzAuMTgzLTAuMDczLDAuMzY4LTAuMTQyLDAuNTUzLTAuMjA4DQoJCQljMC4yNzItMC4wOTgsMC41NDctMC4xODcsMC44MjQtMC4yNzFjMC4yMDEtMC4wNiwwLjQwMi0wLjEyMSwwLjYwNS0wLjE3NGMwLjI3Ni0wLjA3MiwwLjU1Ni0wLjEzMiwwLjgzNi0wLjE5DQoJCQljMC4yMDctMC4wNDMsMC40MTEtMC4wOTEsMC42Mi0wLjEyNmMwLjM1Ni0wLjA2LDAuNzE4LTAuMTAyLDEuMDgxLTAuMTM5YzAuMTc2LTAuMDE4LDAuMzUyLTAuMDM5LDAuNTI5LTAuMDUyDQoJCQljMC40NDYtMC4wMzEsMC44OTYtMC4wNDcsMS4zNS0wLjA0M2MwLjMzNywwLjAwMywwLjY3OSwwLjAzMiwxLjAyLDAuMDU2YzAuMjM0LDAuMDE2LDAuNDY3LDAuMDIsMC43MDIsMC4wNDYNCgkJCWMwLjU3MiwwLjA2NSwxLjE0NiwwLjE1NSwxLjcxOSwwLjI3OWMzLjUwOSwwLjc1Niw3LjA0Ny0xLjE1NSw4LjMzNy00LjUwN2M0LjA5Mi0xMC42MzksMTQuNDk2LTE3Ljc4NywyNS44OTEtMTcuNzg3DQoJCQljNy45NSwwLDE1LjUzMywzLjQyOCwyMC44MDYsOS40MDZjMC4yMSwwLjIzOCwwLjQzMywwLjQ2LDAuNjY5LDAuNjY2YzAuMDEzLDAuMDExLDAuMDI4LDAuMDIsMC4wNDEsMC4wMzINCgkJCWMwLjkzMiwwLjgwNCwyLjA0MywxLjM1NSwzLjIzLDEuNjA4YzAuOTAzLDAuMTkzLDEuODQ4LDAuMjE2LDIuNzg3LDAuMDUxYzEwLjQxNi0xLjgzMSwxOS45NjQsMy44NjgsMjMuOTIyLDEyLjYyNGgtOTguMDYxDQoJCQlDMzYwLjI1LDQ3MC45ODUsMzYwLjMzNCw0NzAuOTQyLDM2MC40MTYsNDcwLjg5M3ogTTI5MS4wMzgsMzQ3LjgxNXYxMjMuMjE5aC03MC4wODJWMzQ3LjgxNUgyOTEuMDM4eiBNNzcuNzk3LDQ0NS4zNTINCgkJCWMwLjc2Ny0wLjEyMSwxLjUzNi0wLjIxNSwyLjMwNS0wLjI3OWMwLjA2Ni0wLjAwNSwwLjEzMi0wLjAwOSwwLjE5OC0wLjAxNGMwLjc4NC0wLjA2LDEuNTY3LTAuMDk2LDIuMzQzLTAuMDk2DQoJCQljMTAuNjg5LDAsMjAuNDY1LDUuNDI0LDI2LjE1LDE0LjUwOWMxLjE4OCwxLjg5OSwzLjE4NSwzLjE0Nyw1LjQxNCwzLjM4MWMwLjUyMywwLjA1NSwxLjAzOCwwLjEzNSwxLjU0OSwwLjIyNg0KCQkJYzAuMTE1LDAuMDIsMC4yMywwLjA0MSwwLjM0NSwwLjA2M2MwLjUsMC4wOTcsMC45OTUsMC4yMDgsMS40ODMsMC4zMzhjMC4wNjMsMC4wMTcsMC4xMjUsMC4wMzcsMC4xODksMC4wNTUNCgkJCWMwLjQ0NCwwLjEyMywwLjg4MSwwLjI2MSwxLjMxMywwLjQxMWMwLjA5OSwwLjAzNCwwLjE5OSwwLjA2NywwLjI5OCwwLjEwM2MwLjQ2NywwLjE2OSwwLjkyNywwLjM1MywxLjM3OSwwLjU1Mw0KCQkJYzAuMDg4LDAuMDM5LDAuMTc1LDAuMDgxLDAuMjYzLDAuMTIyYzAuNDAzLDAuMTg1LDAuOCwwLjM4LDEuMTksMC41ODhjMC4wNzQsMC4wMzksMC4xNDgsMC4wNzYsMC4yMjIsMC4xMTYNCgkJCWMwLjQzMSwwLjIzNiwwLjg1MiwwLjQ4OCwxLjI2NSwwLjc1MmMwLjA5NCwwLjA2LDAuMTg3LDAuMTIyLDAuMjgsMC4xODRjMC4zODgsMC4yNTcsMC43NjksMC41MjMsMS4xMzksMC44MDMNCgkJCWMwLjAzMiwwLjAyNCwwLjA2NiwwLjA0NywwLjA5OCwwLjA3MmMwLjM5MiwwLjMsMC43NywwLjYxNywxLjE0MSwwLjk0M2MwLjA4NywwLjA3NywwLjE3NCwwLjE1NCwwLjI2LDAuMjMyDQoJCQljMC4zNjUsMC4zMzEsMC43MjIsMC42NzEsMS4wNjQsMS4wMjdjMC4wMjksMC4wMywwLjA1NiwwLjA2MiwwLjA4NCwwLjA5MmMwLjMxOSwwLjMzNiwwLjYyNSwwLjY4MywwLjkyMywxLjAzOQ0KCQkJYzAuMDcyLDAuMDg2LDAuMTQ1LDAuMTcyLDAuMjE2LDAuMjZjMC4wNTMsMC4wNjYsMC4xMDEsMC4xMzYsMC4xNTQsMC4yMDJINTIuMTgxQzU0LjIyOSw0NTcuODY4LDY0LjY0Myw0NDcuNDM5LDc3Ljc5Nyw0NDUuMzUyeg0KCQkJIE00NzcuNDQ0LDQ5Ny40MjdIMzQuNTVjLTMuMjU5LDAtNS45MS0yLjY1MS01LjkxLTUuOTFjMC0zLjI1OSwyLjY1MS01LjkxLDUuOTEtNS45MWg0NDIuODk0YzMuMjU5LDAsNS45MSwyLjY1MSw1LjkxLDUuOTENCgkJCUM0ODMuMzU0LDQ5NC43NzYsNDgwLjcwMyw0OTcuNDI3LDQ3Ny40NDQsNDk3LjQyN3oiLz4NCiAgICAgICAgPHBhdGggIGQ9Ik0xODYuMjEzLDIzMS41NzJoLTMuMzM4di02NS43NDZjMC01LjcyNC00LjY1Ny0xMC4zOC0xMC4zOC0xMC4zOGgtNTkuMzU2Yy01LjcyNCwwLTEwLjM4LDQuNjU3LTEwLjM4LDEwLjM4djY1Ljc0Ng0KCQkJaC0zLjMzN2MtNC4wMjUsMC03LjI4NywzLjI2Mi03LjI4Nyw3LjI4N2MwLjAwMSw0LjAyNCwzLjI2Myw3LjI4Nyw3LjI4OCw3LjI4N2g4Ni43OWM0LjAyNSwwLDcuMjg3LTMuMjYyLDcuMjg3LTcuMjg3DQoJCQlDMTkzLjUsMjM0LjgzNSwxOTAuMjM4LDIzMS41NzIsMTg2LjIxMywyMzEuNTcyeiBNMTY4LjMwMywyMzEuNTczaC01MC45N3YtNjEuNTU0aDUwLjk3VjIzMS41NzN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0yOTkuNjY4LDIzMS41NzJoLTMuMzM4di02NS43NDZjMC01LjcyNC00LjY1Ny0xMC4zOC0xMC4zOC0xMC4zOGgtNTkuMzU1Yy01LjcyNCwwLTEwLjM4LDQuNjU3LTEwLjM4LDEwLjM4djY1Ljc0Ng0KCQkJaC0zLjMzOGMtNC4wMjUsMC03LjI4NywzLjI2Mi03LjI4Nyw3LjI4N2MwLjAwMSw0LjAyNCwzLjI2Myw3LjI4Nyw3LjI4Nyw3LjI4N2g4Ni43OTFjNC4wMjUsMCw3LjI4Ny0zLjI2Miw3LjI4Ny03LjI4Nw0KCQkJQzMwNi45NTUsMjM0LjgzNSwzMDMuNjkzLDIzMS41NzIsMjk5LjY2OCwyMzEuNTcyeiBNMjgxLjc1OCwyMzEuNTczaC01MC45N3YtNjEuNTU0aDUwLjk3VjIzMS41NzN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik00MTIuNTcyLDIzMS41NzJoLTMuMzM4di02NS43NDZjMC01LjcyNC00LjY1Ny0xMC4zOC0xMC4zNzktMTAuMzhoLTU5LjM1NmMtNS43MjQsMC0xMC4zOCw0LjY1Ny0xMC4zOCwxMC4zOHY2NS43NDYNCgkJCWgtMy4zMzhjLTQuMDI1LDAtNy4yODcsMy4yNjItNy4yODcsNy4yODdjMCw0LjAyNCwzLjI2Miw3LjI4Nyw3LjI4Nyw3LjI4N2g4Ni43OTFjNC4wMjUsMCw3LjI4Ny0zLjI2Miw3LjI4Ny03LjI4Nw0KCQkJQzQxOS44NTksMjM0LjgzNSw0MTYuNTk3LDIzMS41NzIsNDEyLjU3MiwyMzEuNTcyeiBNMzk0LjY2MSwyMzEuNTczaC01MC45N3YtNjEuNTU0aDUwLjk3VjIzMS41NzN6Ii8+DQogICAgICAgIDxwYXRoIG9wYWNpdHk9IjAuMjUiIGQ9Ik0xODIuODEzLDQxMy44MzNoLTAuNTI4di02MC4wNDVjMC01LjU2Ni00LjUyOS0xMC4wOTUtMTAuMDk1LTEwLjA5NWgtNTMuODg2Yy01LjU2NiwwLTEwLjA5NSw0LjUyOS0xMC4wOTUsMTAuMDk1djYwLjA0NQ0KCQkJaC0wLjUyOGMtNC4wMjUsMC03LjI4NywzLjI2Mi03LjI4Nyw3LjI4N2MwLDQuMDI1LDMuMjYyLDcuMjg3LDcuMjg3LDcuMjg3aDcuODE0aDU5LjUwNGg3LjgxNGM0LjAyNSwwLDcuMjg3LTMuMjYyLDcuMjg3LTcuMjg3DQoJCQlDMTkwLjEsNDE3LjA5NSwxODYuODM4LDQxMy44MzMsMTgyLjgxMyw0MTMuODMzeiBNMTY3LjcxMiw0MTMuODMzaC00NC45MzF2LTU1LjU2N2g0NC45MzFWNDEzLjgzM3oiLz4NCiAgICAgICAgPHBhdGggb3BhY2l0eT0iMC4yNSIgZD0iTTQwNC4zMTQsNDEzLjgzM2gtMC41Mjh2LTYwLjA0NWMwLTUuNTY2LTQuNTI5LTEwLjA5NS0xMC4wOTUtMTAuMDk1aC01My44ODZjLTUuNTY2LDAtMTAuMDk2LDQuNTI5LTEwLjA5NiwxMC4wOTV2NjAuMDQ1DQoJCQloLTAuNTI4Yy00LjAyNSwwLTcuMjg3LDMuMjYyLTcuMjg3LDcuMjg3YzAsNC4wMjUsMy4yNjIsNy4yODcsNy4yODcsNy4yODdoNy44MTRIMzk2LjVoNy44MTRjNC4wMjUsMCw3LjI4Ny0zLjI2Miw3LjI4Ny03LjI4Nw0KCQkJQzQxMS42MDEsNDE3LjA5NSw0MDguMzM5LDQxMy44MzMsNDA0LjMxNCw0MTMuODMzeiBNMzg5LjIxMyw0MTMuODMzaC00NC45MzJ2LTU1LjU2N2g0NC45MzJWNDEzLjgzM3oiLz4NCiAgICAgICAgPHBhdGggb3BhY2l0eT0iMC4yNSIgZD0iTTI3Ni41NDUsNDA1LjA4OWMtNC4wMjUsMC03LjI4NywzLjI2Mi03LjI4Nyw3LjI4N3YxMi42M2MwLDQuMDI0LDMuMjYyLDcuMjg3LDcuMjg3LDcuMjg3DQoJCQljNC4wMjUsMCw3LjI4Ny0zLjI2Miw3LjI4Ny03LjI4N3YtMTIuNjNDMjgzLjgzMiw0MDguMzUyLDI4MC41Nyw0MDUuMDg5LDI3Ni41NDUsNDA1LjA4OXoiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",Shed:SNe,"Sleeping Area":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ4MCA0ODAiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik00NTYsMjI0Yy0xNC4xMzMsMC0yNCw2LjMwMS0yNCwxNS4zMnYyNy41MDVDNDE5LjMzMywyNDEuNzkzLDM5OS44NSwyMjQsMzc2LDIyNEgxNTJjLTQuNDE3LTAuMDAxLTcuOTk5LDMuNTc5LTgsNy45OTYNCgkJCWMwLDAuMDAxLDAsMC4wMDMsMCwwLjAwNHY0OC4wNjdjMC4wNDUtMTMuMDUyLTUuMjAxLTI2LjA3NS0xNS41ODYtMzUuNTgzYy0xOS41NTItMTcuOTAyLTQ5LjkxNS0xNi41NjQtNjcuODE2LDIuOTg5DQoJCQljLTE2Ljc2NCwxOC4zMDktMTYuODAxLDQ2LjM4LTAuMDg2LDY0LjczNGMtNC42MTIsMC41MDgtOC45NjgsMi4zOC0xMi41MTIsNS4zNzVWMTE1LjE5OUM0OCwxMDQuNDM0LDM3LjQ2MSw5NiwyNCw5Ng0KCQkJcy0yNCw4LjQzNC0yNCwxOS4xOTl2MzQ1LjYwMkMwLDQ3MS41NjYsMTAuNTM5LDQ4MCwyNCw0ODBzMjQtOC40MzQsMjQtMTkuMTk5VjQwOGgzODR2NTYuNjhjMCw5LjAxOSw5Ljg2NywxNS4zMiwyNCwxNS4zMg0KCQkJczI0LTYuMzAxLDI0LTE1LjMyVjIzOS4zMkM0ODAsMjMwLjMwMSw0NzAuMTMzLDIyNCw0NTYsMjI0eiBNMzIsNDYwLjgwMWMtMC4wODYsMC42NTYtMi43NzMsMy4xOTktOCwzLjE5OQ0KCQkJYy01LjI1LDAtNy45MjItMi41NDMtOC0zLjE5OVYxMTUuMTk5YzAuMDc4LTAuNjU2LDIuNzUtMy4xOTksOC0zLjE5OWM1LjIyNywwLDcuOTE0LDIuNTQzLDgsMy4xOTlWNDYwLjgwMXogTTE2MCwyNDBoMjE2DQoJCQljMzAuMTcyLDAsNTMuMTcyLDQ0LjkyNiw1NS43NTgsODhIMTYwVjI0MHogTTE0NCwyODAuMDgzdjM4LjU2Yy0zLjQ1Mi0zLjM1My03Ljg0OC01LjU2Ni0xMi41OTctNi4zNDINCgkJCUMxMzkuNzkzLDMwMy4xMzcsMTQzLjk1NiwyOTEuNiwxNDQsMjgwLjA4M3ogTTk2LDI0OGMxNy42NzMsMCwzMiwxNC4zMjcsMzIsMzJjMCwxNy42NzMtMTQuMzI3LDMyLTMyLDMycy0zMi0xNC4zMjctMzItMzINCgkJCUM2NC4wMTksMjYyLjMzNSw3OC4zMzUsMjQ4LjAxOSw5NiwyNDh6IE00MzIsMzkySDQ4di00OC4wMjNjNC4xNjMtMC4zMjgsNy4zNzQtMy44MDEsNy4zNzUtNy45NzcNCgkJCWMtMC4wNzctNC4zMzEsMy4zNjQtNy45MDksNy42OTUtOGg2NC42MWM0LjMzMSwwLjA5MSw3Ljc3MiwzLjY2OSw3LjY5NSw4Yy0wLjAwMSw0LjQxNywzLjU3OSw3Ljk5OSw3Ljk5Niw4DQoJCQljMC4wMDEsMCwwLjAwMywwLDAuMDA0LDBINDMyVjM5MnogTTQ2NCw0NjIuNTk0Yy01LjE2OSwxLjg3NS0xMC44MzEsMS44NzUtMTYsMFYyNDEuNDA2YzUuMTY5LTEuODc1LDEwLjgzMS0xLjg3NSwxNiwwVjQ2Mi41OTR6Ig0KICAgICAgICAvPg0KICAgICAgICA8cGF0aCBkPSJNMTM3LjA3OCwxNzZsMjkuMDctMzQuODc5YzEuOTg2LTIuMzg2LDIuNDEzLTUuNzA1LDEuMDk0LTguNTE2Yy0xLjMxNi0yLjgxLTQuMTM5LTQuNjA1LTcuMjQyLTQuNjA1aC00OHYxNmgzMC45MjINCgkJCWwtMjkuMDcsMzQuODc5Yy0yLjgyNywzLjM5OC0yLjM2NCw4LjQ0NCwxLjAzNCwxMS4yN2MxLjQzNywxLjE5NSwzLjI0NiwxLjg1LDUuMTE0LDEuODUxaDQ4di0xNkgxMzcuMDc4eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjI0LjM1OSwxMzZsNDUuOTUzLTU5LjA5YzEuODc3LTIuNDExLDIuMjE3LTUuNjgxLDAuODc1LTguNDI2Yy0xLjM0NC0yLjc0My00LjEzMi00LjQ4My03LjE4OC00LjQ4NGgtNjR2MTZoNDcuNjQxDQoJCQlsLTQ1Ljk1Myw1OS4wOWMtMi43MTQsMy40ODQtMi4wODksOC41MDksMS4zOTYsMTEuMjIzYzEuNDA1LDEuMDk0LDMuMTM2LDEuNjg4LDQuOTE3LDEuNjg4aDY0di0xNkgyMjQuMzU5eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzI4LDk2bDYyLjM5OC04My4xOTljMi42NTItMy41MzMsMS45MzktOC41NDYtMS41OTQtMTEuMTk5QzM4Ny40MTksMC41NjIsMzg1LjczMywwLDM4NCwwaC03MnYxNmg1NmwtNjIuMzk4LDgzLjE5OQ0KCQkJYy0xLjgxOCwyLjQyNC0yLjExMiw1LjY2OC0wLjc1OCw4LjM3OUMzMDYuMiwxMTAuMjg4LDMwOC45NywxMTIsMzEyLDExMmg4MFY5NkgzMjh6Ii8+DQogICAgPC9nPg0KPC9zdmc+DQo=",Stairway:xNe,Stairwell:kNe,Storeroom:YNe,"Summer House":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMS45OTkgNTExLjk5OSI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTE3My44MzIsMjI1LjI2M2gtNDMuMDM5Yy00LjE0MiwwLTcuNSwzLjM1OC03LjUsNy41djYwLjEzNGMwLDQuMTQyLDMuMzU3LDcuNSw3LjUsNy41aDQzLjAzOWM0LjE0MiwwLDcuNS0zLjM1OCw3LjUtNy41DQoJCQl2LTYwLjEzNEMxODEuMzMyLDIyOC42MjIsMTc3Ljk3NCwyMjUuMjYzLDE3My44MzIsMjI1LjI2M3ogTTE2Ni4zMzEsMjg1LjM5N2gtMjguMDM4di00NS4xMzNoMjguMDM4VjI4NS4zOTd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik00NTkuMTI3LDIwMS4xOTNjMy4zMTQsMi4yNzgsOC4wOTEsMS40NzEsMTAuNDMtMS45MzJjMCwwLDIzLjAwOS0zMy40NjksMjMuMDI5LTMzLjQ5OA0KCQkJYzIuMzE1LTMuMzY4LDEuNDI4LTguMTIxLTEuOTMyLTEwLjQzMUwyNzEuNzYzLDQuODYxYy05LjQyOS02LjQ4LTIyLjA5Ny02LjQ4MS0zMS41MjYsMGMwLDAtMTM5Ljc2Miw5Ni4wNzctMTQwLjI3Myw5Ni40MjgNCgkJCWMtNy45MTEsNS40MzgsMC40MjksMTcuOTEsOC40OTcsMTIuMzYzbDE0MC4yNzQtOTYuNDI5YzQuMzQ3LTIuOTg3LDEwLjE4Ny0yLjk4NywxNC41MzEtMC4wMDFsMjEyLjcwOSwxNDYuMjI0bC0xNC41MzEsMjEuMTM3DQoJCQljMCwwLTIwMS4xNDMtMTM4LjI3Mi0yMDEuMTk1LTEzOC4zMDhjLTIuNDk1LTEuNzE1LTUuOTk5LTEuNzE4LTguNDk4LTAuMDAxTDUwLjU1NywxODQuNTgzbC0xNC41My0yMS4xMzcNCgkJCWMwLDAsNDcuMTE3LTMyLjM5LDQ3LjI4OS0zMi41MDljNy44MDctNS4zNjYtMC40MTYtMTcuOTE3LTguNDk4LTEyLjM2MmMwLDAtNTMuMzAxLDM2LjY0LTUzLjQ3MSwzNi43NTcNCgkJCWMtMy4zNzQsMi4zMi00LjI0MSw3LjA3MS0xLjkzMywxMC40MzFsMjEuNzA5LDMxLjU3OXYzMDcuMTU2YzAsNC4xNDIsMy4zNTgsNy41LDcuNSw3LjVIMjU2YzQuMTQyLDAsNy41LTMuMzU4LDcuNS03LjVWMzk1Ljk3MQ0KCQkJSDQwMi42NHYxMDguNTI4YzAsNC4xNDIsMy4zNTgsNy41LDcuNTAxLDcuNWgzMC40ODhjNC4xNDIsMCw3LjUtMy4zNTgsNy41LTcuNVYzOTUuOTcxaDIzLjc2OWM0LjE0MiwwLDcuNS0zLjM1OCw3LjUtNy41di0zMC40ODcNCgkJCWMwLTQuMTQzLTMuMzU4LTcuNS03LjUtNy41aC0yMy43Njl2LTU3LjI1OWgyMy43NjljNC4xNDIsMCw3LjUtMy4zNTgsNy41LTcuNXYtMzAuNDg4YzAtNC4xNDItMy4zNTgtNy41LTcuNS03LjVoLTIzLjc2OXYtNTQuMTAzDQoJCQlMNDU5LjEyNywyMDEuMTkzeiBNNDE3LjY0MSwxODYuODc2aDE1LjQ4N3Y2MC44NThoLTE1LjQ4N1YxODYuODc2eiBNMjU2LDYxLjU1NmwzOS4wNzUsMjYuODYxaC03OC4xNDlMMjU2LDYxLjU1NnoNCgkJCSBNNTYuMTI1LDI3MC4zMzJoMzguMzk5djUzLjA1NWMwLDQuMTQxLDMuMzU4LDcuNSw3LjUsNy41SDIwMi42YzQuMTQyLDAsNy41MDEtMy4zNTgsNy41MDEtNy41di01My4wNTVoMzguMzk4djY4LjQ1Nkg1Ni4xMjUNCgkJCVYyNzAuMzMyeiBNMTA5LjUyNSwzMTUuODg2VjIwOS43NzdoODUuNTc1djEwNi4xMDlIMTA5LjUyNXogTTk0LjUyNCw0OTYuOTk4SDU2LjEyNXYtNTkuNzU0aDM4LjM5OVY0OTYuOTk4eiBNMTY2LjMzMSw0OTYuOTk3DQoJCQloLTI4LjAzOHYtODUuNzgzaDI4LjAzOFY0OTYuOTk3eiBNMTk1LjA5OSw0OTYuOTk3aC0xMy43Njd2LTkzLjI4M2MwLTQuMTQyLTMuMzU4LTcuNS03LjUtNy41aC00My4wMzkNCgkJCWMtNC4xNDIsMC03LjUwMSwzLjM1OC03LjUwMSw3LjV2OTMuMjgzaC0xMy43NjhWMzgwLjcyN2g4NS41NzVWNDk2Ljk5N3ogTTI0OC40OTksNDk2Ljk5OEgyMTAuMXYtNTkuNzU0aDM4LjM5OFY0OTYuOTk4eg0KCQkJIE0yNDguNSw0MjIuMjQ0aC0zOC4zOTl2LTQ5LjAxOGMtMC4wMDEtNC4xNDItMy4zNTktNy41LTcuNTAyLTcuNUgxMDIuMDI0Yy00LjE0MiwwLTcuNSwzLjM1OC03LjUsNy41MDF2NDkuMDE4SDU2LjEyNXYtNjguNDU2DQoJCQlIMjQ4LjVWNDIyLjI0NHogTTI0OC41LDI1NS4yMjVjMCwwLjAwMywwLDAuMDA2LDAsMC4wMXYwLjA5NmgtMzguMzk5di01My4wNTVjMC00LjE0Mi0zLjM1OC03LjUtNy41LTcuNUgxMDIuMDI0DQoJCQljLTQuMTQyLDAtNy41LDMuMzU4LTcuNSw3LjV2NTMuMDU1SDU2LjEyNXYtNTYuMzczbDE3LjY2My0xMi4xNDNjMC4yOTcsMC4wMzYsMC41OTcsMC4wNiwwLjkwNCwwLjA2SDI0OC41VjI1NS4yMjV6DQoJCQkgTTk1LjUyMywxNzEuODc1bDk5LjU4MS02OC40NTZoMTIxLjc5M2w5OS41ODEsNjguNDU2aC02LjMzNkg5NS41MjN6IE00MDIuNjQsMTg2Ljg3NnY2MC44NThIMjYzLjUwMXYtNjAuODU4SDQwMi42NHoNCgkJCSBNMjYzLjUwMSwyOTMuMjIzaDE1LjQ4NnY1Ny4yNTloLTE1LjQ4NlYyOTMuMjIzeiBNNDMzLjEyOCw0OTYuOTk4aC0xNS40ODdWMzk1Ljk3MWgxNS40ODdWNDk2Ljk5OHogTTQ2NC4zOTcsMzY1LjQ4NHYxNS40ODYNCgkJCUgyNjMuNTAxdi0xNS40ODZINDY0LjM5N3ogTTI5My45ODgsMzUwLjQ4MnYtNTcuMjU5aDE1LjQ4N3Y1Ny4yNTlIMjkzLjk4OHogTTMyNC40NzYsMzUwLjQ4MnYtNTcuMjU5aDE2LjMzN3Y1Ny4yNTlIMzI0LjQ3NnoNCgkJCSBNMzU1LjgxNCwzNTAuNDgydi01Ny4yNTloMTUuNDg3djU3LjI1OUgzNTUuODE0eiBNMzg2LjMwMiwzNTAuNDgydi01Ny4yNTloMTYuMzM3djU3LjI1OUgzODYuMzAyeiBNNDE3LjY0MSwzNTAuNDgydi01Ny4yNTkNCgkJCWgxNS40ODd2NTcuMjU5SDQxNy42NDF6IE00NjQuMzk3LDI2Mi43MzV2MTUuNDg3SDI2My41MDF2LTE1LjQ4N0g0NjQuMzk3eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K","Swimming Pool":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4Ny43MzMgMTg3LjczMyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTE4Ny41OTksMTUxLjQ1OEwxNTMuNDY1LDMzLjE4NmMtMC40MjItMS40NjEtMS43NTgtMi40NjYtMy4yNzktMi40NjZIMzcuNTQ3Yy0xLjUyMSwwLTIuODU3LDEuMDA1LTMuMjc5LDIuNDY2DQoJCQlMMC4xMzUsMTUxLjQ1OEMwLjA0NCwxNTEuNzY1LDAsMTUyLjA4NSwwLDE1Mi40MDV2MjUuMDg4YzAsMS44ODQsMS41MjksMy40MTMsMy40MTMsMy40MTNIMTg0LjMyDQoJCQljMS44ODQsMCwzLjQxMy0xLjUyOSwzLjQxMy0zLjQxM3YtMjUuMDg4QzE4Ny43MzMsMTUyLjA4NSwxODcuNjg3LDE1MS43NjUsMTg3LjU5OSwxNTEuNDU4eiBNMTgwLjkwNywxNzQuMDhINi44Mjd2LTIxLjE5Mg0KCQkJTDQwLjExNSwzNy41NDdIMTQ3LjYybDMzLjI4NywxMTUuMzQyVjE3NC4wOHoiLz4NCiAgICAgICAgPHBhdGggZD0iTTc4LjUwNyw2LjgyN2MtMS44ODQsMC0zLjQxMywxLjUyOS0zLjQxMywzLjQxM3Y1MS4yYzAsMS44ODQsMS41MjksMy40MTMsMy40MTMsMy40MTNzMy40MTMtMS41MjksMy40MTMtMy40MTN2LTUxLjINCgkJCUM4MS45Miw4LjM1Niw4MC4zOTEsNi44MjcsNzguNTA3LDYuODI3eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTA5LjIyNyw2LjgyN2MtMS44ODQsMC0zLjQxMywxLjUyOS0zLjQxMywzLjQxM3Y1MS4yYzAsMS44ODQsMS41MjksMy40MTMsMy40MTMsMy40MTNjMS44ODQsMCwzLjQxMy0xLjUyOSwzLjQxMy0zLjQxMw0KCQkJdi01MS4yQzExMi42NCw4LjM1NiwxMTEuMTExLDYuODI3LDEwOS4yMjcsNi44Mjd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0xMDkuMjI3LDE3LjA2N2gtMzAuNzJjLTEuODg0LDAtMy40MTMsMS41MjktMy40MTMsMy40MTNzMS41MjksMy40MTMsMy40MTMsMy40MTNoMzAuNzJjMS44ODQsMCwzLjQxMy0xLjUyOSwzLjQxMy0zLjQxMw0KCQkJUzExMS4xMTEsMTcuMDY3LDEwOS4yMjcsMTcuMDY3eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTA5LjIyNywzMC43MmgtMzAuNzJjLTEuODg0LDAtMy40MTMsMS41MjktMy40MTMsMy40MTNzMS41MjksMy40MTMsMy40MTMsMy40MTNoMzAuNzJjMS44ODQsMCwzLjQxMy0xLjUyOSwzLjQxMy0zLjQxMw0KCQkJUzExMS4xMTEsMzAuNzIsMTA5LjIyNywzMC43MnoiLz4NCiAgICAgICAgPHBhdGggZD0iTTEwOS4yMjcsNDQuMzczaC0zMC43MmMtMS44ODQsMC0zLjQxMywxLjUyOS0zLjQxMywzLjQxM3MxLjUyOSwzLjQxMywzLjQxMywzLjQxM2gzMC43MmMxLjg4NCwwLDMuNDEzLTEuNTI5LDMuNDEzLTMuNDEzDQoJCQlTMTExLjExMSw0NC4zNzMsMTA5LjIyNyw0NC4zNzN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0xNjMuNzg5LDE0Ni4xNzlsLTE3LjUxNi05OC45ODdjLTAuMjg4LTEuNjMtMS43MDUtMi44MTgtMy4zNi0yLjgxOEg0OC4zMjhjLTEuNjEzLDAtMy4wMDUsMS4xMjYtMy4zNCwyLjcwMw0KCQkJbC0yMS4wMTksOTguOTg3Yy0wLjIxMywxLjAwNywwLjAzOCwyLjA1NywwLjY4NiwyLjg1N2MwLjY0OSwwLjgsMS42MjEsMS4yNjUsMi42NTIsMS4yNjVoMTMzLjEyYzEuMDA5LDAsMS45NjYtMC40NDcsMi42MTYtMS4yMTkNCgkJCUMxNjMuNjkxLDE0OC4xOTUsMTYzLjk2NSwxNDcuMTc0LDE2My43ODksMTQ2LjE3OXogTTMxLjUyLDE0My4zNkw1MS4wODksNTEuMmg4OC45NThsMTYuMzA5LDkyLjE2SDMxLjUyeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",Terrace:QNe,Toilet:UNe,Upstairs:vNe,Wardrobe:bNe,Washroom:$Ne,Wc:PNe,Windscreen:WNe,Workshop:RNe,Workspace:JNe},GNe=[{_id:"hood",name:{en:"Hood",ru:"Вытяжка",de:"Abzugshaube",fr:"Capot",it:"Cappe",nl:"Hood",pl:"Okapy",pt:"Hood",es:"Campana","zh-cn":"抽油烟机"},icon:"Hoods.svg"},{_id:"alarm_system",name:{en:"Alarm System",ru:"Сигнализация",de:"Alarmanlage",fr:"Systèmes D'Alarme",it:"Sistemi Di Allarme",nl:"Alarm Systems",pl:"Systemy Alarmowe",pt:"Sistemas De Alarme",es:"Sistemas De Alarma","zh-cn":"报警系统"},icon:"Alarm Systems.svg"},{_id:"battery_status",name:{en:"Battery Status",ru:"Заряд батареи",de:"Batteriestatus",fr:"État De La Batterie",it:"Stato Della Batteria",nl:"Batterij Status",pl:"Stan Baterii",pt:"Estado Da Bateria",es:"Estado De La Batería","zh-cn":"电池状态"},icon:"Battery Status.svg"},{_id:"lighting",name:{en:"Lighting",ru:"Светильник",de:"Beleuchtung",fr:"Éclairages",it:"Illuminazione",nl:"Verlichting",pl:"Oprawy Oświetleniowe",pt:"Iluminações",es:"Iluminaciones","zh-cn":"照明"},icon:"Lightings.svg"},{_id:"shading",name:{en:"Shading",ru:"Затенение",de:"Beschattungen",fr:"Ombres",it:"Ombreggiatura",nl:"Shading",pl:"Zacienienie",pt:"Shading",es:"Sombreado","zh-cn":"底纹"},icon:"Shading.svg"},{_id:"irrigation",name:{en:"Irrigation",ru:"Орошение",de:"Bewässerung",fr:"Irrigation",it:"Irrigazione",nl:"Irrigatie",pl:"Nawadnianie",pt:"Irrigação",es:"Irrigación","zh-cn":"灌溉"},icon:"Irrigation.svg"},{_id:"iron",name:{en:"Iron",ru:"Утюг",de:"Bügeleisen",fr:"Le Fer",it:"Ferro",nl:"Ijzer",pl:"Żelazo",pt:"Ferro",es:"Hierro","zh-cn":"铁"},icon:"Iron.svg"},{_id:"computer",name:{en:"Computer",ru:"Компьютер",de:"Rechner",fr:"L'Ordinateur",it:"Computer",nl:"Computer",pl:"Komputer",pt:"Computador",es:"Ordenador","zh-cn":"电脑"},icon:"Computer.svg"},{_id:"ceiling_spotlight",name:{en:"Ceiling Spotlight",ru:"Потолочный прожектор",de:"Deckenspot",fr:"Plafond Spotlight",it:"Faretti A Soffitto",nl:"Plafond Spotlight",pl:"Reflektory Sufitowe",pt:"Tecto Foco",es:"Focos De Techo","zh-cn":"天花射灯"},icon:"Ceiling Spotlights.svg"},{_id:"printer",name:{en:"Printer",de:"Drucker",ru:"Принтер",pt:"Impressora",nl:"Printer",fr:"Imprimante",it:"Stampante",es:"Impresora",pl:"Drukarka","zh-cn":"打印机"},icon:"Printer.svg"},{_id:"power_consumption",name:{en:"Power Consumption",ru:"Потребляемая мощность",de:"Stromverbrauch",fr:"Consommation D'Énergie",it:"Consumo Di Energia",nl:"Energieverbruik",pl:"Pobór Energii",pt:"Consumo De Energia",es:"El Consumo De Energía","zh-cn":"能量消耗"},icon:"Power Consumption.svg"},{_id:"window",name:{en:"Window",ru:"Окно",de:"Fenster",fr:"La Fenêtre",it:"Finestra",nl:"Venster",pl:"Okno",pt:"Janela",es:"Ventana","zh-cn":"窗户"},icon:"Window.svg"},{_id:"garage_door",name:{en:"Garage Door",ru:"Гаражные Ворота",de:"Garagentor",fr:"Portes De Garage",it:"Garage Door",nl:"Garage Door",pl:"Bramy Garażowe",pt:"Portas De Garagem",es:"Las Puertas De Garaje","zh-cn":"车库门"},icon:"Garage Doors.svg"},{_id:"hairdryer",name:{en:"Hairdryer",ru:"Фен",de:"Haartrockner",fr:"Sèche-Cheveux",it:"Asciugacapelli",nl:"Haardroger",pl:"Suszarka Do Włosów",pt:"Secador De Cabelo",es:"Secador De Pelo","zh-cn":"电吹风"},icon:"Hairdryer.svg"},{_id:"hanging_lamp",name:{en:"Hanging Lamp",ru:"Подвесной светильник",de:"Hängelampe",fr:"Lampes Suspendues",it:"Lampade A Sospensione",nl:"Opknoping Lampen",pl:"Lampy Wiszące",pt:"Lâmpadas De Suspensão",es:"Lámparas Colgantes","zh-cn":"挂灯"},icon:"Hanging Lamps.svg"},{_id:"doorstep",name:{en:"Enterance",ru:"Входная дверь",de:"Haustür",fr:"Seuil De Porte",it:"Gradino Della Porta",nl:"Drempel",pl:"Próg",pt:"Porta",es:"Peldaño","zh-cn":"门阶"},icon:"Doorstep.svg"},{_id:"hot_water",name:{en:"Hot Water",ru:"Горячая вода",de:"Heißwasser",fr:"Eau Chaude",it:"Acqua Calda",nl:"Heet Water",pl:"Gorąca Woda",pt:"Água Quente",es:"Agua Caliente","zh-cn":"热水"},icon:"Hot Water.svg"},{_id:"heating",name:{en:"Heating",ru:"Отопление",de:"Heizung",fr:"Chauffe-Eau",it:"Riscaldatore",nl:"Verwarmer",pl:"Podgrzewacz",pt:"Aquecedor",es:"Calentador","zh-cn":"加热器"},icon:"Heater.svg"},{_id:"stove",name:{en:"Stove",ru:"Печь",de:"Herd",fr:"Le Fourneau",it:"Stufa",nl:"Fornuis",pl:"Kuchenka",pt:"Forno",es:"Cocina","zh-cn":"火炉"},icon:"Stove.svg"},{_id:"louvre",name:{en:"Louvre",ru:"Жалюзи",de:"Jalousie",fr:"Persienne",it:"Persiana Di Ventilazione",nl:"Louvre",pl:"Żaluzja",pt:"Trapeira",es:"Lumbrera","zh-cn":"卢浮宫"},icon:"Louvre.svg"},{_id:"coffee_maker",name:{en:"Coffee Maker",ru:"Кофеварка",de:"Kaffemaschine",fr:"Cafetière",it:"Macchine Da Caffè",nl:"Koffie Maker",pl:"Ekspresy Do Kawy",pt:"Cafeteira",es:"Cafetera","zh-cn":"咖啡壶"},icon:"Coffee Makers.svg"},{_id:"cold_water",name:{en:"Cold Water",ru:"Холодная вода",de:"Kaltwasser",fr:"Eau Froide",it:"Acqua Fredda",nl:"Koud Water",pl:"Zimna Woda",pt:"Água Fria",es:"Agua Fría","zh-cn":"冷水"},icon:"Cold Water.svg"},{_id:"climate",name:{en:"Climate",ru:"Климат",de:"Klima",fr:"Climat",it:"Clima",nl:"Klimaat",pl:"Klimat",pt:"Clima",es:"Clima","zh-cn":"气候"},icon:"Climate.svg"},{_id:"speaker",name:{en:"Speaker",ru:"Звуковая система",de:"Lautsprecher",fr:"Orateur",it:"Altoparlante",nl:"Spreker",pl:"Głośnik",pt:"Palestrante",es:"Altavoz","zh-cn":"扬声器"},icon:"Speaker.svg"},{_id:"led_strip",name:{en:"Led Strip",ru:"Светодиодная лента",de:"LED Leiste",fr:"Led Strip",it:"Led Strip",nl:"Loden Strip",pl:"Pasek Ledowy",pt:"Led Faixa",es:"Tira Llevada","zh-cn":"灯带"},icon:"Led Strip.svg"},{_id:"light",name:{en:"Light",ru:"Свет",de:"Licht",fr:"Lumière",it:"Leggero",nl:"Licht",pl:"Lekki",pt:"Luz",es:"Luz","zh-cn":"光"},icon:"Light.svg"},{_id:"fan",name:{en:"Fan",ru:"Вентилятор",de:"Lüfter",fr:"Ventilateur",it:"Fan",nl:"Ventilator",pl:"Wentylator",pt:"Ventilador",es:"Ventilador","zh-cn":"扇子"},icon:"Fan.svg"},{_id:"humidity",name:{en:"Humidity",ru:"Влажность",de:"Luftfeuchtigkeit",fr:"Humidité",it:"Umidità",nl:"Vochtigheid",pl:"Wilgotność",pt:"Umidade",es:"Humedad","zh-cn":"湿度"},icon:"Humidity.svg"},{_id:"ventilation",name:{en:"Ventilation",ru:"Вентиляция",de:"Lüftung",fr:"Ventilation",it:"Ventilazione",nl:"Ventilatie",pl:"Wentylacja",pt:"Ventilação",es:"Ventilación","zh-cn":"通风"},icon:"Ventilation.svg"},{_id:"chandelier",name:{en:"Chandelier",ru:"Люстра",de:"Kronleuchter",fr:"Lustre",it:"Lampadario",nl:"Kroonluchter",pl:"Żyrandol",pt:"Lustre",es:"Candelabro","zh-cn":"枝形吊灯"},icon:"Chandelier.svg"},{_id:"awning",name:{en:"Awning",ru:"Маркиза",de:"Markise",fr:"Auvents",it:"Tende",nl:"Luifels",pl:"Okrycia",pt:"Toldos",es:"Toldos","zh-cn":"遮阳篷"},icon:"Awnings.svg"},{_id:"music",name:{en:"Music",ru:"Музыка",de:"Musik",fr:"Musique",it:"Musica",nl:"Muziek",pl:"Muzyka",pt:"Música",es:"Música","zh-cn":"音乐"},icon:"Music.svg"},{_id:"people",name:{en:"People",ru:"Люди",de:"Personen",fr:"Gens",it:"Persone",nl:"Mensen",pl:"Ludzie",pt:"Pessoas",es:"Personas","zh-cn":"人们"},icon:"People.svg"},{_id:"pool",name:{en:"Pool",ru:"Бассейн",de:"Pool",fr:"Piscine",it:"Piscina",nl:"Zwembad",pl:"Basen",pt:"Piscina",es:"Piscina","zh-cn":"水池"},icon:"Pool.svg"},{_id:"pump",name:{en:"Pump",ru:"Насос",de:"Pumpe",fr:"Pompe",it:"Pompa",nl:"Pomp",pl:"Pompa",pt:"Bombear",es:"Bomba","zh-cn":"泵"},icon:"Pump.svg"},{_id:"outdoor_blinds",name:{en:"Outdoor Blinds",ru:"Внещгте жалюзи",de:"Raffstore",fr:"Volets",it:"Tende Da Esterni",nl:"Outdoor Blinds",pl:"Rolety Zewnętrzne",pt:"Estores Exteriores",es:"Persianas Exteriores","zh-cn":"室外百叶窗"},icon:"Outdoor Blinds.svg"},{_id:"mowing_machine",name:{en:"Mowing Machine",ru:"Газонокосилка",de:"Rasenmäher",fr:"Machine De Fauchage",it:"Macchina Di Falciatura",nl:"Maaimachine",pl:"Kosiarka",pt:"Roçada Máquina",es:"Segadora","zh-cn":"割草机"},icon:"Mowing Machine.svg"},{_id:"receiver",name:{en:"Receiver",ru:"Приставка",de:"Receiver",fr:"Destinataire",it:"Ricevitore",nl:"Ontvanger",pl:"Odbiorca",pt:"Recebedor",es:"Receptor","zh-cn":"接收者"},icon:"Receiver.svg"},{_id:"shutters",name:{en:"Shutters",ru:"Ставни",de:"Rollladen",fr:"Volets",it:"Persiane",nl:"Shutters",pl:"Żaluzje",pt:"Persianas",es:"Persianas","zh-cn":"百叶窗"},icon:"Shutters.svg"},{_id:"smoke_detector",name:{en:"Smoke detector",de:"Rauchmelder",ru:"Детектор дыма",pt:"Detector de fumaça",nl:"Rookdetector",fr:"Détecteur de fumée",it:"Rilevatore di fumo",es:"Detector de humo",pl:"Wykrywacz dymu","zh-cn":"烟雾探测器"},icon:"SmokeDetector.svg"},{_id:"lock",name:{en:"Lock",ru:"Замок",de:"Schloß",fr:"Fermer À Clé",it:"Serratura",nl:"Slot",pl:"Zamek",pt:"Trancar",es:"Cerrar Con Llave","zh-cn":"锁"},icon:"Lock.svg"},{_id:"security",name:{en:"Security",ru:"Безопасность",de:"Sicherheit",fr:"Sécurité",it:"Sicurezza",nl:"Veiligheid",pl:"Bezpieczeństwo",pt:"Segurança",es:"Seguridad","zh-cn":"安全"},icon:"Security.svg"},{_id:"dishwasher",name:{en:"Dishwasher",ru:"Посудомоечная машина",de:"Spülmaschine",fr:"Lave-Vaisselles",it:"Lavastoviglie",nl:"Vaatwassers",pl:"Zmywarki",pt:"Máquinas De Lavar Louça",es:"Lavaplatos","zh-cn":"洗碗机"},icon:"Dishwashers.svg"},{_id:"vacuum_cleaner",name:{en:"Vacuum Cleaner",ru:"Пылесос",de:"Staubsauger",fr:"Aspirateur",it:"Aspirapolvere",nl:"Stofzuiger",pl:"Odkurzacz",pt:"Aspirador De Pó",es:"Aspiradora","zh-cn":"吸尘器"},icon:"Vacuum Cleaner.svg"},{_id:"socket",name:{en:"Socket",ru:"Розетка",de:"Steckdose",fr:"Prise",it:"Socket",nl:"Socket",pl:"Gniazdka",pt:"Tomada",es:"Zócalo","zh-cn":"套接字"},icon:"Sockets.svg"},{_id:"floor_lamp",name:{en:"Floor Lamp",ru:"Торшер",de:"Stehlampe",fr:"Lampes Pour Plancher",it:"Lampade A Stelo",nl:"Vloerlampen",pl:"Lampy Podłogowe",pt:"Lâmpadas Chão",es:"Lámparas De Pie","zh-cn":"落地灯"},icon:"Floor Lamps.svg"},{_id:"power_consumption",name:{en:"Power Consumption",ru:"Потребляемая мощность",de:"Stromverbrauch",fr:"Consommation D'Énergie",it:"Consumo Di Energia",nl:"Energieverbruik",pl:"Pobór Energii",pt:"Consumo De Energia",es:"El Consumo De Energía","zh-cn":"能量消耗"},icon:"Power Consumption.svg"},{_id:"temperature_sensor",name:{en:"Temperature Sensor",ru:"Температурный датчик",de:"Temperatur-Sensor",fr:"Capteur De Température",it:"Sensori Di Temperatura",nl:"Temperatuursensor",pl:"Czujniki Temperatury",pt:"Sensores De Temperatura",es:"Sensores De Temperatura","zh-cn":"温度传感器"},icon:"Temperature Sensors.svg"},{_id:"table_lamp",name:{en:"Table Lamp",ru:"Настольная лампа",de:"Tischlampe",fr:"Lampe De Chevet",it:"Lampade Da Tavolo",nl:"Tafellampen",pl:"Lampy Stołowe",pt:"Lâmpadas De Mesa",es:"Lámparas De Mesa","zh-cn":"台灯"},icon:"Table Lamps.svg"},{_id:"gate",name:{en:"Gate",ru:"Ворота",de:"Tor",fr:"Porte",it:"Gate",nl:"Gate",pl:"Bramy",pt:"Portões",es:"Puertas","zh-cn":"盖茨"},icon:"Gates.svg"},{_id:"dryer",name:{en:"Dryer",ru:"Сушилка",de:"Trockner",fr:"Séchoir",it:"Asciugatrice",nl:"Droger",pl:"Suszarka",pt:"Secador",es:"Secadora","zh-cn":"烘干机"},icon:"Dryer.svg"},{_id:"door",name:{en:"Door",ru:"Дверь",de:"Tür",fr:"Des Portes",it:"Porte",nl:"Deuren",pl:"Drzwi",pt:"Portas",es:"Puertas","zh-cn":"门"},icon:"Doors.svg"},{_id:"tv",name:{en:"Tv",ru:"Телевизор",de:"TV",fr:"La Télé",it:"Tv",nl:"Tv",pl:"Telewizja",pt:"Televisão",es:"Televisor","zh-cn":"电视"},icon:"Tv.svg"},{_id:"consumption",name:{en:"Consumption",ru:"Потребление",de:"Verbrauch",fr:"Consommation",it:"Consumo",nl:"Consumptie",pl:"Konsumpcja",pt:"Consumo",es:"Consumo","zh-cn":"消费"},icon:"Consumption.svg"},{_id:"amplifier",name:{en:"Amplifier",ru:"Усилитель звука",de:"Verstärker",fr:"Amplificateur",it:"Amplificatore",nl:"Versterker",pl:"Wzmacniacz",pt:"Amplificador",es:"Amplificador","zh-cn":"放大器"},icon:"Amplifier.svg"},{_id:"curtains",name:{en:"Curtains",ru:"Шторы",de:"Vorhänge",fr:"Des Rideaux",it:"Le Tende",nl:"Gordijnen",pl:"Zasłony",pt:"Cortinas",es:"Cortinas","zh-cn":"窗帘"},icon:"Curtains.svg"},{_id:"sconce",name:{en:"Sconce",ru:"Настенный светильник",de:"Wandlampe",fr:"Sconce",it:"Sconce",nl:"Sconce",pl:"Kinkiety",pt:"Arandelas",es:"Los Apliques","zh-cn":"壁灯"},icon:"Sconces.svg"},{_id:"washing_machine",name:{en:"Washing Machine",ru:"Стиральная машина",de:"Waschmaschine",fr:"Machines À Laver",it:"Lavatrici",nl:"Wasmachines",pl:"Pralki",pt:"Máquinas De Lavar Roupas",es:"Lavadoras","zh-cn":"洗衣机"},icon:"Washing Machines.svg"},{_id:"water",name:{en:"Water",ru:"Вода",de:"Wasser",fr:"L'Eau",it:"Acqua",nl:"Water",pl:"Woda",pt:"Água",es:"Agua","zh-cn":"水"},icon:"Water.svg"},{_id:"water_heater",name:{en:"Water Heater",ru:"Нагреватель воды",de:"Wasserkocher",fr:"Chauffe-Eau",it:"Scaldabagno",nl:"Waterkoker",pl:"Podgrzewacz Wody",pt:"Aquecedor De Água",es:"Calentador De Agua","zh-cn":"热水器"},icon:"Water Heater.svg"},{_id:"water_consumption",name:{en:"Water Consumption",ru:"Потребление воды",de:"Wasserverbrauch",fr:"Consommation D'Eau",it:"Consumo D'Acqua",nl:"Waterverbruik",pl:"Konsumpcja Wody",pt:"Consumo De Água",es:"Consumo De Agua","zh-cn":"耗水量"},icon:"Water Consumption.svg"},{_id:"weather",name:{en:"Weather",ru:"Погода",de:"Wetter",fr:"La Météo",it:"Tempo Metereologico",nl:"Weer",pl:"Pogoda",pt:"Clima",es:"Tiempo","zh-cn":"天气"},icon:"Weather.svg"}],FNe=[{_id:"storeroom",name:{en:"Storeroom",ru:"Кладовая",de:"Abstellraum",fr:"Débarras",it:"Dispensa",nl:"Bergplaats",pl:"Magazyn",pt:"Despensa",es:"Trastero","zh-cn":"库房"},icon:"Storeroom.svg"},{_id:"second_floor",name:{en:"Second floor",ru:"Второй этаж",de:"Erster OG",pt:"Primeiro andar",nl:"Eerste verdieping",fr:"Premier étage",it:"Primo piano",es:"Primer piso",pl:"Pierwsze piętro","zh-cn":"第一层"},icon:"Second Floor.svg"},{_id:"dressing_room",name:{en:"Dressing Room",ru:"Гардеробная",de:"Ankleide",fr:"Vestiaire",it:"Camerino",nl:"Kleedkamer",pl:"Przebieralnia",pt:"Provador",es:"Vestidor","zh-cn":"更衣室"},icon:"Dressing Room.svg"},{_id:"workspace",name:{en:"Workspace",ru:"Рабочая Среда",de:"Arbeitszimmer",fr:"Espace De Travail",it:"Area Di Lavoro",nl:"Workspace",pl:"Workspace",pt:"Área De Trabalho",es:"Espacio De Trabajo","zh-cn":"工作区"},icon:"Workspace.svg"},{_id:"driveway",name:{en:"Driveway",ru:"Дорога",de:"Auffahrt",fr:"Allée",it:"Viale",nl:"Pad",pl:"Podjazd",pt:"Entrada Da Garagem",es:"Entrada De Coches","zh-cn":"车道"},icon:"Driveway.svg"},{_id:"outdoors",name:{en:"Outdoors",ru:"На Улице",de:"Außenbereich",fr:"En Plein Air",it:"All'Aperto",nl:"Buitenshuis",pl:"Na Dworze",pt:"Ao Ar Livre",es:"Al Aire Libre","zh-cn":"户外"},icon:"Outdoors.svg"},{_id:"bathroom",name:{en:"Bathroom",ru:"Ванная Комната",de:"Badezimmer",fr:"Salle De Bains",it:"Bagno",nl:"Badkamer",pl:"Łazienka",pt:"Banheiro",es:"Baño","zh-cn":"浴室"},icon:"Bathroom.svg"},{_id:"balcony",name:{en:"Balcony",ru:"Балкон",de:"Balkon",fr:"Balcon",it:"Balcone",nl:"Balkon",pl:"Balkon",pt:"Sacada",es:"Balcón","zh-cn":"阳台"},icon:"Balcony.svg"},{_id:"office",name:{en:"Office",ru:"Офис",de:"Office",fr:"Bureau",it:"Ufficio",nl:"Kantoor",pl:"Gabinet",pt:"Escritório",es:"Oficina","zh-cn":"办公室"},icon:"Office.svg"},{_id:"carport",name:{en:"Carport",ru:"Навес",de:"Carport",fr:"Carport",it:"Posto Auto Coperto",nl:"Carport",pl:"Wiata",pt:"Telheiro",es:"Cochera","zh-cn":"车棚"},icon:"Carport.svg"},{_id:"attic",name:{en:"Attic",ru:"Чердак",de:"Dachgeschoss",fr:"Grenier",it:"Attico",nl:"Zolder",pl:"Poddasze",pt:"Sótão",es:"Ático","zh-cn":"阁楼"},icon:"Attic.svg"},{_id:"hall",name:{en:"Hall",ru:"Зал",de:"Diele",fr:"Salle",it:"Sala",nl:"Hal",pl:"Sala",pt:"Corredor",es:"Sala","zh-cn":"大厅"},icon:"Hall.svg"},{_id:"entrance",name:{en:"Entrance",ru:"Вход",de:"Eingang",fr:"Entrée",it:"Ingresso",nl:"Ingang",pl:"Wejście",pt:"Entrada",es:"Entrada","zh-cn":"入口"},icon:"Entrance.svg"},{_id:"ground_floor",name:{en:"Ground Floor",ru:"Первый Этаж",de:"Erdgeschoss",fr:"Rez-De-Chaussée",it:"Piano Terra",nl:"Begane Grond",pl:"Parter",pt:"Térreo",es:"Planta Baja","zh-cn":"一楼"},icon:"Ground Floor.svg"},{_id:"dining_area",name:{en:"Dining Area",ru:"Столовая",de:"Essbereich",fr:"Salle À Manger",it:"Zona Pranzo",nl:"Eethoek",pl:"Jadalnia",pt:"Área De Refeições",es:"Comedor","zh-cn":"用餐区"},icon:"Dining Area.svg"},{_id:"dining_room",name:{en:"Dining Room",ru:"Столовая",de:"Esszimmer",fr:"Salle À Manger",it:"Sala Da Pranzo",nl:"Eetkamer",pl:"Jadalnia",pt:"Sala De Jantar",es:"Comedor","zh-cn":"饭厅"},icon:"Dining Room.svg"},{_id:"gym",name:{en:"Gym",ru:"Спортзал",de:"Fitnessraum",fr:"Gym",it:"Palestra",nl:"Sportschool",pl:"Siłownia",pt:"Ginásio",es:"Gimnasio","zh-cn":"健身房"},icon:"Gym.svg"},{_id:"gallery",name:{en:"Gallery",ru:"Галерея",de:"Galerie",fr:"Galerie",it:"Galleria",nl:"Galerij",pl:"Galeria",pt:"Galeria",es:"Galería","zh-cn":"画廊"},icon:"Gallery.svg"},{_id:"garage",name:{en:"Garage",ru:"Гараж",de:"Garage",fr:"Garage",it:"Box Auto",nl:"Garage",pl:"Garaż",pt:"Garagem",es:"Garaje","zh-cn":"车库"},icon:"Garage.svg"},{_id:"wardrobe",name:{en:"Wardrobe",ru:"Гардероб",de:"Garderobe",fr:"Penderie",it:"Armadio",nl:"Garderobe",pl:"Szafa",pt:"Guarda Roupa",es:"Armario","zh-cn":"衣柜"},icon:"Wardrobe.svg"},{_id:"garden",name:{en:"Garden",ru:"Сад",de:"Garten",fr:"Jardin",it:"Giardino",nl:"Tuin",pl:"Ogród",pt:"Jardim",es:"Jardín","zh-cn":"花园"},icon:"Garden.svg"},{_id:"summer_house",name:{en:"Summer House",ru:"Дача",de:"Gartenhaus",fr:"Maison D'Été",it:"Casa Estiva",nl:"Zomerhuis",pl:"Domek Letniskowy",pt:"Summer House",es:"Casa De Verano","zh-cn":"凉亭"},icon:"Summer House.svg"},{_id:"guest_bathroom",name:{en:"Guest Bathroom",ru:"Гостевая Комната",de:"Gäste-WC",fr:"Salle De Bains Invité",it:"Guest Bathroom",nl:"Gastenbadkamer",pl:"Łazienka Gościnna",pt:"Banheiro De Hóspedes",es:"Baño De Visitas","zh-cn":"客用浴室"},icon:"Guest Bathroom.svg"},{_id:"guest_room",name:{en:"Guest Room",ru:"Гостевая Комната",de:"Gästezimmer",fr:"Chambre D'Amis",it:"Stanza Degli Ospiti",nl:"Guest Room",pl:"Pokój Gościnny",pt:"Quarto De Hóspedes",es:"Habitación De Huéspedes","zh-cn":"客房"},icon:"Guest Room.svg"},{_id:"laundry_room",name:{en:"Laundry Room",ru:"Прачечная",de:"Hauswirtschaftsraum",fr:"Buanderie",it:"Lavanderia",nl:"Wasruimte",pl:"Pralnia",pt:"Lavandaria",es:"Cuarto De Lavado","zh-cn":"洗衣房"},icon:"Laundry Room.svg"},{_id:"home_theater",name:{en:"Home Theater",ru:"Домашний Театр",de:"Heimkino",fr:"Cinéma Maison",it:"Home Theater",nl:"Thuisbioscoop",pl:"Kino Domowe",pt:"Cinema Em Casa",es:"Cine En Casa","zh-cn":"家庭电影院"},icon:"Home Theater.svg"},{_id:"boiler_room",name:{en:"Boiler Room",ru:"Бойлерная",de:"Heizungsraum",fr:"Chaufferie",it:"Locale Caldaia",nl:"Boiler Room",pl:"Kotłownia",pt:"Sala Da Caldeira",es:"Sala De Calderas","zh-cn":"锅炉房"},icon:"Boiler Room.svg"},{_id:"chamber",name:{en:"Chamber",ru:"Камера",de:"Kammer",fr:"Chambre",it:"Camera",nl:"Kamer",pl:"Izba",pt:"Câmara",es:"Cámara","zh-cn":"商会"},icon:"Chamber.svg"},{_id:"basement,_cellar",name:{en:"Basement, Cellar",ru:"Подвал, Погреб",de:"Keller",fr:"Sous-Sol, Cave",it:"Taverna, Cantina",nl:"Kelder, Kelder",pl:"Piwnica, Piwnica",pt:"Porão, Adega",es:"Sótano, Bodega","zh-cn":"地下室,地窖"},icon:"Basement.svg"},{_id:"nursery",name:{en:"Nursery",ru:"Питомник",de:"Kinderzimmer",fr:"Garderie",it:"Asilo",nl:"Kinderkamer",pl:"Żłobek",pt:"Berçário",es:"Guardería","zh-cn":"苗圃"},icon:"Nursery.svg"},{_id:"corridor",name:{en:"Corridor",ru:"Коридор",de:"Korridor",fr:"Couloir",it:"Corridoio",nl:"Gang",pl:"Korytarz",pt:"Corredor",es:"Corredor","zh-cn":"走廊"},icon:"Corridor.svg"},{_id:"kitchen",name:{en:"Kitchen",ru:"Кухня",de:"Küche",fr:"Cuisine",it:"Cucina",nl:"Keuken",pl:"Kuchnia",pt:"Cozinha",es:"Cocina","zh-cn":"厨房"},icon:"Kitchen.svg"},{_id:"upstairs",name:{en:"Upstairs",ru:"Вверх По Лестнице",de:"Obergeschoss",fr:"En Haut",it:"Di Sopra",nl:"Boven",pl:"Na Górę",pt:"Andar De Cima",es:"Piso Superior","zh-cn":"楼上"},icon:"Upstairs.svg"},{_id:"office",name:{en:"Office",ru:"Офис",de:"Office",fr:"Bureau",it:"Ufficio",nl:"Kantoor",pl:"Gabinet",pt:"Escritório",es:"Oficina","zh-cn":"办公室"},icon:"Office.svg"},{_id:"pool",name:{en:"Pool",ru:"Бассейн",de:"Pool",fr:"Piscine",it:"Piscina",nl:"Zwembad",pl:"Basen",pt:"Piscina",es:"Piscina","zh-cn":"水池"},icon:"Pool.svg"},{_id:"rear_wall",name:{en:"Rear Wall",ru:"Задняя Стенка",de:"Rückwand",fr:"Paroi Arrière",it:"Parete Posteriore",nl:"Achterwand",pl:"Tylna Ściana",pt:"Parede Traseira",es:"Pared Posterior","zh-cn":"后墙"},icon:"Rear Wall.svg"},{_id:"barn",name:{en:"Barn",ru:"Амбар",de:"Scheune",fr:"Grange",it:"Fienile",nl:"Schuur",pl:"Stodoła",pt:"Celeiro",es:"Granero","zh-cn":"谷仓"},icon:"Barn.svg"},{_id:"sleeping_area",name:{en:"Sleeping Area",ru:"Спальное Место",de:"Schlafbereich",fr:"Coin Montagne",it:"Area Sleeping",nl:"Sleeping Area",pl:"Powierzchnia Spania",pt:"Sleeping Area",es:"Área De Dormir","zh-cn":"睡眠区"},icon:"Sleeping Area.svg"},{_id:"bedroom",name:{en:"Bedroom",ru:"Спальная Комната",de:"Schlafzimmer",fr:"Chambre",it:"Camera Da Letto",nl:"Slaapkamer",pl:"Sypialnia",pt:"Quarto",es:"Cuarto","zh-cn":"卧室"},icon:"Bedroom.svg"},{_id:"shed",name:{en:"Shed",ru:"Сбрасывать",de:"Schuppen",fr:"Hangar",it:"Capannone",nl:"Schuur",pl:"Budka",pt:"Cabana",es:"Cobertizo","zh-cn":"棚"},icon:"Shed.svg"},{_id:"swimming_pool",name:{en:"Swimming Pool",ru:"Плавательный Бассейн",de:"Schwimmbad",fr:"Piscine",it:"Piscina",nl:"Zwembad",pl:"Basen",pt:"Piscina",es:"Piscina","zh-cn":"游泳池"},icon:"Swimming Pool.svg"},{_id:"dining",name:{en:"Dining",ru:"Обеденный",de:"Speis",fr:"À Manger",it:"Cenare",nl:"Dining",pl:"Jadalnia",pt:"Jantar",es:"Comida","zh-cn":"用餐"},icon:"Dining.svg"},{_id:"playroom",name:{en:"Playroom",ru:"Игровая Комната",de:"Spielzimmer",fr:"Salle De Jeux",it:"Stanza Dei Giochi",nl:"Speelkamer",pl:"Pokój Zabaw",pt:"Sala De Jogos",es:"Cuarto De Jugar","zh-cn":"游戏室"},icon:"Playroom.svg"},{_id:"stairway",name:{en:"Stairway",ru:"Лестница",de:"Treppe",fr:"Escalier",it:"Scala",nl:"Trap",pl:"Klatka Schodowa",pt:"Escada",es:"Escalera","zh-cn":"楼梯"},icon:"Stairway.svg"},{_id:"equipment_room",name:{en:"Equipment Room",ru:"Оборудование Номера",de:"Technikraum",fr:"Salle D'Équipement",it:"Stanza Degli Attrezzi",nl:"Technische Ruimte",pl:"Wyposażenie Pokoi",pt:"Sala De Equipamentos",es:"Cuarto De Equipos","zh-cn":"机房"},icon:"Equipment Room.svg"},{_id:"terrace",name:{en:"Terrace",ru:"Терраса",de:"Terrasse",fr:"Terrasse",it:"Terrazza",nl:"Terras",pl:"Taras",pt:"Terraço",es:"Terraza","zh-cn":"阳台"},icon:"Terrace.svg"},{_id:"toilet",name:{en:"Toilet",ru:"Туалет",de:"Toilette",fr:"Toilette",it:"Gabinetto",nl:"Toilet",pl:"Toaleta",pt:"Banheiro",es:"Inodoro","zh-cn":"洗手间"},icon:"Toilet.svg"},{_id:"stairwell",name:{en:"Stairwell",ru:"Лестничная клетка",de:"Treppenhaus",fr:"Cage D'Escalier",it:"Tromba Delle Scale",nl:"Trappenhuis",pl:"Klatka Schodowa",pt:"Caixa De Escada",es:"Hueco De Escalera","zh-cn":"楼梯间"},icon:"Stairwell.svg"},{_id:"locker_room",name:{en:"Locker Room",ru:"Камера Хранения",de:"Umkleideraum",fr:"Vestiaire",it:"Spogliatoio",nl:"Kleedkamer",pl:"Szatnia",pt:"Vestiário",es:"Vestuario","zh-cn":"更衣室"},icon:"Locker Room.svg"},{_id:"basement",name:{en:"Basement",ru:"Подвал",de:"Untergeschoss",fr:"Sous-Sol",it:"Seminterrato",nl:"Kelder",pl:"Piwnica",pt:"Porão",es:"Sótano","zh-cn":"地下室"},icon:"Basement.svg"},{_id:"front_yard",name:{en:"Front Yard",ru:"Передний Двор",de:"Vorgarten",fr:"Front Yard",it:"Cortile",nl:"Voortuin",pl:"Podwórko",pt:"Jardim Da Frente",es:"Patio Delantero","zh-cn":"前院"},icon:"Front Yard.svg"},{_id:"anteroom",name:{en:"Anteroom",ru:"Передняя",de:"Vorraum",fr:"Antichambre",it:"Anticamera",nl:"Voorkamer",pl:"Przedpokój",pt:"Ante-Sala",es:"Antesala","zh-cn":"接待室"},icon:"Anteroom.svg"},{_id:"washroom",name:{en:"Washroom",ru:"Уборная",de:"Waschraum",fr:"Toilettes",it:"Bagno",nl:"Waskamer",pl:"Umywalnia",pt:"Banheiro",es:"Baño","zh-cn":"卫生间"},icon:"Washroom.svg"},{_id:"wc",name:{en:"Wc",ru:"Туалет",de:"WC",fr:"Toilettes",it:"Bagno",nl:"Wc",pl:"Toaleta",pt:"Banheiro",es:"Wc","zh-cn":"厕所"},icon:"Wc.svg"},{_id:"workshop",name:{en:"Workshop",ru:"Мастерская",de:"Werkstatt",fr:"Atelier",it:"Laboratorio",nl:"Werkplaats",pl:"Warsztat",pt:"Oficina",es:"Taller","zh-cn":"作坊"},icon:"Workshop.svg"},{_id:"windscreen",name:{en:"Windscreen",ru:"Ветровое Стекло",de:"Windfang",fr:"Pare-Brise",it:"Parabrezza",nl:"Voorruit",pl:"Szyba Przednia",pt:"Pára-Brisas",es:"Parabrisas","zh-cn":"风档"},icon:"Windscreen.svg"},{_id:"living_area",name:{en:"Living Area",ru:"Жилая Площадь",de:"Wohnbereich",fr:"Salon",it:"Zona Giorno",nl:"Living Area",pl:"Powierzchnia Mieszkalna",pt:"Sala-De-Estar",es:"Sala De Estar","zh-cn":"生活区域"},icon:"Living Area.svg"},{_id:"living_room",name:{en:"Living Room",ru:"Гостинная",de:"Wohnzimmer",fr:"Le Salon",it:"Soggiorno",nl:"Woonkamer",pl:"Salon",pt:"Sala De Estar",es:"Sala De Estar","zh-cn":"客厅"},icon:"Living Room.svg"},{_id:"living_room",name:{en:"Living Room",ru:"Гостинная",de:"Wohnzimmer",fr:"Le Salon",it:"Soggiorno",nl:"Woonkamer",pl:"Salon",pt:"Sala De Estar",es:"Sala De Estar","zh-cn":"客厅"},icon:"Living Room.svg"}];class HNe extends ze{constructor(e){super(e),this.state={opened:!1,names:[],filter:"",icons:null,loading:!1,isAnyName:!1}}loadAllIcons(){this.state.loading||this.state.icons||this.setState({loading:!0},()=>{const e=[],t=[];if(this.props.icons){const s=this.props.icons.map((r,o)=>{let M;if(typeof r=="object"){if(M=r.icon||r.src||r.href||"",t[o]=typeof r.name=="object"?r.name[this.props.lang]||r.name.en||r._id||"":r.name||"",!t[o]){const a=M.split(".");a.pop(),t[o]=a[a.length-1]}}else M=r;return M?M.startsWith("data:")?(e[o]=M,Promise.resolve()):E.getSvg(M).then(a=>e[o]=a):Promise.resolve()});Promise.all(s).catch(r=>console.error(r)).then(()=>this.setState({icons:e,loading:!1,names:t,isAnyName:!!t.find(r=>r)}))}else{let s=this.props.onlyRooms||!this.props.onlyRooms&&!this.props.onlyDevices?FNe:null;if(s&&(s.forEach(r=>{r.name&&typeof r.name=="object"&&(r.name=r.name[this.props.lang]||r.name.en||r._id),r.name=r.name||r._id}),s=s.filter((r,o)=>!(s!=null&&s.find((M,a)=>o!==a&&M.icon===r.icon&&M.name===r.name))),s.forEach((r,o)=>{t[o]=r.name,e[o]=`data:image/svg+xml;base64,${BNe[r.icon.replace(/\.svg$/,"")]}`})),s=this.props.onlyDevices||!this.props.onlyRooms&&!this.props.onlyDevices?GNe:null,s){const r=e.length;s&&s.forEach(o=>{o.name&&typeof o.name=="object"&&(o.name=o.name[this.props.lang]||o.name.en||o._id),o.name=o.name||o._id}),s=s.filter((o,M)=>!(s!=null&&s.find((a,u)=>M!==u&&a.icon===o.icon&&a.name===o.name))),s.forEach((o,M)=>{t[M+r]=o.name,e[M+r]=`data:image/svg+xml;base64,${MNe[o.icon.replace(/\.svg$/,"")]}`})}this.setState({icons:e,loading:!1,names:t,isAnyName:!!t.find(r=>r)})}})}render(){return this.state.loading?n.createElement(qi,null):n.createElement(n.Fragment,null,n.createElement(X,{color:"grey",variant:"outlined",title:this.props.t("ra_Select predefined icon"),onClick:()=>this.setState({opened:!0},()=>this.loadAllIcons()),style:{minWidth:40,marginRight:8}},"..."),this.state.opened?n.createElement(de,{onClose:()=>this.setState({opened:!1}),open:!0},n.createElement(he,null,this.props.t("ra_Select predefined icon"),this.state.isAnyName?n.createElement(le,{variant:"standard",margin:"dense",style:{marginLeft:20},value:this.state.filter,onChange:e=>this.setState({filter:e.target.value.toLowerCase()}),placeholder:this.props.t("ra_Filter"),slotProps:{input:{endAdornment:this.state.filter?n.createElement(P,{tabIndex:-1,size:"small",onClick:()=>this.setState({filter:""})},n.createElement(Ja,null)):void 0}}}):null),n.createElement(Ae,null,n.createElement("div",{style:{width:"100%",textAlign:"center"}},this.state.icons&&this.state.icons.map((e,t)=>!this.state.filter||this.state.names[t]&&this.state.names[t].toLowerCase().includes(this.state.filter)?n.createElement(ae,{title:this.state.names[t]||"",key:t,slotProps:{popper:{sx:{pointerEvents:"none"}}}},n.createElement(P,{onClick:()=>this.setState({opened:!1},()=>{const s=this.props.onSelect||this.props.onChange;s&&s(e)}),size:"large"},n.createElement(Se,{src:e,alt:t.toString(),style:{width:32,height:32,borderRadius:5}}))):null))),n.createElement(me,null,n.createElement(X,{color:"grey",variant:"contained",onClick:()=>this.setState({opened:!1}),startIcon:n.createElement(ge,null)},this.props.t("ra_Close")))):null)}}const _t={formContainer:{display:"flex",justifyContent:"left",alignItems:"center"},formControl:{display:"flex",padding:24,flexGrow:1e3},divContainer:{width:64,height:32,whiteSpace:"nowrap",lineHeight:"32px",marginRight:8},dragField:{textAlign:"center",display:"table",minHeight:90,width:"calc(100% - 60px)",border:"2px dashed #777",borderRadius:10,padding:4},formIcon:{margin:10,opacity:.6},text:{display:"table-cell",verticalAlign:"middle"}};function Jje(i){var a,u,l,N;const e=i.icon,t=i.onChange,s=Qt(c=>{const L=new FileReader;L.addEventListener("load",()=>t(L.result),!1),c[0]&&L.readAsDataURL(c[0])},[t]),{getRootProps:r,getInputProps:o,isDragActive:M}=oN({onDrop:s});return n.createElement("div",{style:_t.formContainer},e?n.createElement(e,{style:_t.formIcon}):null,n.createElement(wt,{variant:"standard",style:{..._t.formControl,padding:3}},n.createElement(As,{shrink:!0,sx:(a=i.customStyles)!=null&&a.label?{"&.MuiInputLabel-root":i.customStyles.label}:void 0,classes:{root:(u=i.customClasses)==null?void 0:u.label}},i.label),n.createElement("div",{style:_t.formContainer},i.value?n.createElement("div",{style:_t.divContainer},n.createElement(Se,{style:{...i.previewStyle,...((l=i.customStyles)==null?void 0:l.icon)||void 0},src:i.value,className:E.clsx(i.previewClassName,(N=i.customClasses)==null?void 0:N.icon)}),!i.disabled&&n.createElement(P,{style:{verticalAlign:"top"},title:D.t("ra_Clear icon"),size:"small",onClick:()=>i.onChange("")},n.createElement(Ja,null))):!i.disabled&&n.createElement(HNe,{icons:i.icons,onlyRooms:i.onlyRooms,onlyDevices:i.onlyDevices,onSelect:c=>i.onChange(c),t:D.t,lang:D.getLanguage()}),!i.disabled&&n.createElement("div",{...r(),style:{..._t.dragField,...M?{backgroundColor:"rgba(0, 255, 0, 0.1)"}:{cursor:"pointer"}}},n.createElement("input",{...o()}),M?n.createElement("span",{style:_t.text},D.t("ra_Drop the files here...")):n.createElement("span",{style:_t.text},D.t("ra_Drag 'n' drop some files here, or click to select files"))))))}function VNe(i){const e=document.createElement("div");e.innerHTML=i;const t=e.firstElementChild;return t!=null&&t.remove?t.remove():t&&e.removeChild(t),e.remove(),t}function ZNe(i){const e={};if(!i)return e;for(let t,s=0;so[1].toUpperCase()),e[t]=i[s].value}return e}class bi extends ze{svg;static REMOTE_SERVER=window.location.hostname.includes("iobroker.in");static REMOTE_PREFIX=window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/")+1);constructor(e){var t;super(e),this.state={svg:!!((t=this.props.src)!=null&&t.startsWith("data:")),created:!0,color:this.props.color||"",src:this.props.src||"",imgError:!1,showError:!!this.props.showError},this.svg=this.state.svg&&this.state.src?this.getSvgFromData(this.state.src):null}static getDerivedStateFromProps(e,t){var o;const s={};let r=!1;return e&&t&&e.src!==t.src&&(s.src=e.src,s.svg=(o=e.src)==null?void 0:o.startsWith("data:"),s.created=!1,r=!0),e&&t&&e.color!==t.color&&(s.color=e.color,s.created=!1,r=!0),e&&t&&e.showError!==t.showError&&(s.showError=e.showError,r=!0),r?s:null}getSvgFromData(e){const t="data:image/svg+xml;base64,";if(!e.startsWith(t))return null;e=e.substring(t.length);try{e=atob(e);const s=VNe(e),r=s.innerHTML,o=ZNe(s.attributes);return s.remove(),n.createElement(W,{component:"svg",sx:this.props.sx,className:this.props.className,style:this.state.color?{color:this.state.color}:void 0,...o,dangerouslySetInnerHTML:{__html:r}})}catch{}return null}render(){if(this.state.svg)return this.state.created||setTimeout(()=>{this.svg=this.state.src?this.getSvgFromData(this.state.src):null,this.setState({created:!0})},50),this.svg;if(this.state.src){if(this.state.imgError||!this.state.src)return n.createElement(sM,{className:this.props.className});if(bi.REMOTE_SERVER&&!this.state.src.startsWith("http://")&&!this.state.src.startsWith("https://")){let e=(this.props.imagePrefix||"")+this.state.src;return e.startsWith("./")?e=bi.REMOTE_PREFIX+e.substring(2):e.startsWith("/")||(e=bi.REMOTE_PREFIX+e),n.createElement(W,{component:"img",sx:this.props.sx,className:this.props.className,src:`https://remote-files.iobroker.in${e}`,alt:"",onError:()=>this.props.showError?this.setState({imgError:!0}):this.setState({src:""})})}return n.createElement(W,{component:"img",sx:this.props.sx,className:this.props.className,src:(this.props.imagePrefix||"")+this.state.src,alt:"",onError:()=>this.props.showError?this.setState({imgError:!0}):this.setState({src:""})})}return null}}var B={},lr={},Ht={};Object.defineProperty(Ht,"__esModule",{value:!0});Ht.StateType=Ht.Types=void 0;var bn;(function(i){i.unknown="unknown",i.airCondition="airCondition",i.blind="blind",i.blindButtons="blindButtons",i.button="button",i.buttonSensor="buttonSensor",i.camera="camera",i.chart="chart",i.cie="cie",i.ct="ct",i.dimmer="dimmer",i.door="door",i.fireAlarm="fireAlarm",i.floodAlarm="floodAlarm",i.gate="gate",i.hue="hue",i.humidity="humidity",i.illuminance="illuminance",i.image="image",i.info="info",i.instance="instance",i.light="light",i.location="location",i.locationOne="locationOne",i.lock="lock",i.media="media",i.motion="motion",i.percentage="percentage",i.rgb="rgb",i.rgbSingle="rgbSingle",i.rgbwSingle="rgbwSingle",i.slider="slider",i.socket="socket",i.temperature="temperature",i.thermostat="thermostat",i.vacuumCleaner="vacuumCleaner",i.volume="volume",i.volumeGroup="volumeGroup",i.warning="warning",i.weatherCurrent="weatherCurrent",i.weatherForecast="weatherForecast",i.window="window",i.windowTilt="windowTilt"})(bn||(Ht.Types=bn={}));var $n;(function(i){i.Number="number",i.String="string",i.Boolean="boolean"})($n||(Ht.StateType=$n={}));var ke={};Object.defineProperty(ke,"__esModule",{value:!0});ke.checkEnum=Vc;ke.roleOrEnum=Us;ke.roleOrEnumLight=XNe;ke.roleOrEnumBlind=KNe;ke.roleOrEnumGate=qNe;ke.roleOrEnumWindow=e0e;ke.roleOrEnumDoor=t0e;ke.getEnums=s0e;ke.getAllStatesInChannel=i0e;ke.getAllStatesInDevice=r0e;ke.getObjectsBelowId=ru;ke.getFunctionEnums=o0e;ke.getParentId=M0e;function Vc(i,e){let t=!1;return i&&i.forEach(s=>{const r=s.lastIndexOf(".");r!==-1&&(s=s.substring(r+1));for(const o in e)if(Object.prototype.hasOwnProperty.call(e,o)&&e[o].find(M=>M.test(s)))return t=!0,!1}),t}function Us(i,e,t,s){return i.common.role&&(t!=null&&t.includes(i.common.role))?!0:Vc(e,s)}const Zc={en:[/lights?/i,/lamps?/i,/ceilings?/i],de:[/licht(er)?/i,/lampen?/i,/beleuchtung(en)?/i],ru:[/свет/i,/ламп[аы]/i,/торшеры?/,/подсветк[аи]/i,/лампочк[аи]/i,/светильники?/i]},Xc=["switch.light","dimmer","value.dimmer","level.dimmer","sensor.light","state.light"];function XNe(i,e){return Us(i,e,Xc,Zc)}const Fi={en:[/blinds?/i,/windows?/i,/shutters?/i],de:[/rollladen?/i,/fenstern?/i,/beschattung(en)?/i,/jalousien?/i],ru:[/ставни/i,/рольставни/i,/окна|окно/,/жалюзи/i]},Kc=["blind","level.blind","value.blind","action.stop","button.stop","button.stop.blind","button.open.blind","button.close.blind","level.tilt","value.tilt","button.tilt.open","button.tilt.close","button.tilt.stop"];function KNe(i,e){return Us(i,e,Kc,Fi)}const qc={en:[/gates?/i],de:[/^toren$/i,/^tor$/i],ru:[/ворота/i]},eu=["gate","value.gate","switch.gate","action.stop","button.stop"];function qNe(i,e){return Us(i,e,eu,qc)}const tu=["window","state.window","sensor.window","value.window"];function e0e(i,e){return Us(i,e,tu,Fi)}const su={en:[/doors?/i,/gates?/i,/wickets?/i,/entry|entries/i],de:[/^türe?/i,/^tuere?/i,/^tore?$/i,/einfahrt(en)?/i,/pforten?/i],ru:[/двери|дверь/i,/ворота/i,/калитка|калитки/,/въезды?/i,/входы?/i]},iu=["door","state.door","sensor.door"];function t0e(i,e){return Us(i,e,iu,su)}function s0e(){return{door:{roles:iu,words:su},window:{roles:tu,words:Fi},blind:{roles:Kc,words:Fi},gate:{roles:eu,words:qc},light:{roles:Xc,words:Zc}}}function i0e(i,e){const t=[],s=new RegExp(`^${e.replace(/([$^.)([\]{}])/g,"\\$1")}\\.[^.]+$`);return i.forEach(r=>s.test(r)&&t.push(r)),t}function r0e(i,e){const t=[],s=new RegExp(`^${e.replace(/([$^.)([\]{}])/g,"\\$1")}\\.[^.]+\\.[^.]+$`);return i.forEach(r=>s.test(r)&&t.push(r)),t}function ru(i,e){const t=[];e+=".";let s=0,r=i.length-1,o=-1;for(;s<=r;){const M=Math.floor((s+r)/2);i[M]=i.length)return t;for(let M=o;M{e[M].common.members.includes(t)&&o.push(M)}),!o.length&&((r=e[t])===null||r===void 0?void 0:r.type)==="state"){const M=(0,zt.getParentId)(t);e[M]&&(e[M].type==="channel"||e[M].type==="device")&&this.enums.forEach(a=>{e[a].common.members.includes(M)&&o.push(a)})}return o.length?o:null}static copyState(e,t){const s=t||JSON.parse(JSON.stringify(e));return s.original=e.original||e,"enums"in e&&e.enums&&(s.enums=e.enums),"role"in e&&e.role&&(s.role=e.role),"channelRole"in e&&e.channelRole&&(s.channelRole=e.channelRole),s}_testOneState(e){var t,s,r,o,M,a;const u=e.objects,l=e.pattern,N=e.state,c=e.channelStates,L=e.usedIds,j=e.usedInCurrentDevice,g=e.ignoreIndicators,y=e.ignoreEnums,d=e.sortedKeys;let h=e.result,m=!1;for(const w of c)if(!(N.name==="COVER"&&(h!=null&&h.states.find(O=>O.id&&O.name==="COVER")))){if(N.indicator&&g){const A=w.split(".").pop()||"";if(A&&g.includes(A))continue}if(!N.indicator){if(j.includes(w))continue;if(!N.notSingle){if(!e.detectAllPossibleDevices){if(L.includes(w))continue}}}if(this._applyPattern(u,w,N,y,d)){if(h||(h=JSON.parse(JSON.stringify(ft.patterns[l])),e.result=h,h==null||h.states.forEach((O,A)=>Be.copyState(ft.patterns[l].states[A],O))),h.states.find(({id:O})=>O===w))m=!0;else for(const O of h.states)if(O.name===N.name){if(O.id){let A;e.favorId&&(w===e.favorId?A=!0:O.id===e.favorId&&(A=!1));const I=(r=(s=(t=u[O.id])===null||t===void 0?void 0:t.common)===null||s===void 0?void 0:s.role)!==null&&r!==void 0?r:"",p=(a=(M=(o=u[w])===null||o===void 0?void 0:o.common)===null||M===void 0?void 0:M.role)!==null&&a!==void 0?a:"",S=O.defaultRole;if(S&&A===void 0&&(p===S?A=!0:I===S&&(A=!1)),A===void 0){const f=p.split("."),$=f.length,x=I.split("."),Z=x.length;p===""||f[0]==="state"&&x[0]!=="state"?A=!1:f[0]!=="state"&&x[0]==="state"||$>Z?A=!0:$1)){for(const O of c)if(O!==w&&(N.indicator||!j.includes(O)&&(N.notSingle||!L.includes(O)))&&this._applyPattern(u,O,N,y,d))if(N.indicator||j.push(O),Array.isArray(N)){const A=Be.copyState(N[0]);A.id=O,h.states.push(A)}else{const A=Be.copyState(N);A.id=O,h.states.push(A)}}}}return m}static findParentChannelOrDevice(e,t,s){if(!e[t])return;const r=t.split("."),o=t;if(e[t].type==="state"&&(r.pop(),t=r.join(".")),r.length<=2)return t;const M=e[t];if((M==null?void 0:M.type)==="device"||s&&(M==null?void 0:M.type)==="channel")return t;if(s)return;r.pop();const a=r.join("."),u=e[a];if(!u)return M?t:o;if(u.type==="device"||r.length<=2)return a;if((M==null?void 0:M.type)==="channel")return t;r.pop();const l=r.join("."),N=e[l];return!N||N.type!=="device"&&N.type!=="channel"?a:l}static getChannelOrDeviceStates(e,t,s,r=!1,o=!1){var M;const a=(M=e[t])===null||M===void 0?void 0:M.type;switch(a){case void 0:return[...(0,zt.getObjectsBelowId)(s,t)];case"state":case"channel":case"device":case"folder":if(r&&a!=="device"){const u=Be.findParentChannelOrDevice(e,t);return u&&u!==t?[...(0,zt.getObjectsBelowId)(s,u)]:[t]}if(a!=="state")return[...(0,zt.getObjectsBelowId)(s,t)];if(o){const u=Be.findParentChannelOrDevice(e,t,!0);return u&&u!==t?[...(0,zt.getObjectsBelowId)(s,u)]:[t]}return[t];default:return[t]}}static patternIsAllowed(e,t,s){if(!e)return!1;if(Array.isArray(e.type)){for(let r=0;r{const o=e.indexOf(s),M=e.indexOf(r);if(o===-1||M===-1)return;const a=e.splice(o,1);e.splice(M,0,...a)}),e}_detectNext(e){var t,s,r,o;const{objects:M,id:a,_usedIdsOptional:u=[],ignoreIndicators:l,prioritizedTypes:N,detectParent:c,detectOnlyChannel:L,allowedTypes:j,excludedTypes:g,_keysOptional:y,detectAllPossibleDevices:d}=e;let{_patternList:h}=e;e._usedIdsOptional=u;const m=Be.getChannelOrDeviceStates(M,a,y||[],c,L);if(!(!((t=M[a])===null||t===void 0)&&t.common)&&!m.length)return null;if((s=e._checkedPatterns)!==null&&s!==void 0||(e._checkedPatterns=[]),!h){const A=Object.keys(ft.patterns).filter(I=>Be.patternIsAllowed(ft.patterns[I],j,g));h=N?this.sortTypes(A,N):A,e._patternList=h}const w={objects:M,channelStates:m,usedIds:u,ignoreIndicators:l||[],pattern:"unknown",usedInCurrentDevice:[],state:{},ignoreEnums:!!e.ignoreEnums,sortedKeys:y,favorId:e.detectParent?void 0:a,detectAllPossibleDevices:d},O=(r=M[a])===null||r===void 0?void 0:r.type;for(const A of h){if(e._checkedPatterns.includes(A))continue;e._checkedPatterns.push(A),delete w.result,w.pattern=A,w.usedInCurrentDevice=[];for(const p of ft.patterns[A].states){let S=!1;if(w.state=p,this._testOneState(w)&&(S=!0),p.required&&!S){delete w.result;break}}if(!Be.allRequiredStatesFound(w))continue;w.usedInCurrentDevice.forEach(p=>u.push(p));let I;if(O!=="device"){const p=(o=Be.findParentChannelOrDevice(M,a))!==null&&o!==void 0?o:a;if(M[p]&&(M[p].type==="channel"||M[p].type==="device")){I=(0,zt.getObjectsBelowId)(y,p);for(const S of I)w.result.states.forEach((f,$)=>{!f.id&&(f.indicator||f.searchInParent)&&!f.noDeviceDetection&&this._applyPattern(M,S,f.original,!!e.ignoreEnums,w.sortedKeys)&&w.result&&(w.result.states[$].id=S)})}}if(w.result.states.forEach(p=>Be.cleanState(p,w.objects)),e.limitTypesToOneOf){for(const p of e.limitTypesToOneOf)if(p.includes(A))for(const S of p)S===A||e._checkedPatterns.includes(S)||e._checkedPatterns.push(S)}return w.result}return null}detect(e){var t;const{objects:s,id:r,ignoreCache:o,detectAllPossibleDevices:M}=e;let{_keysOptional:a,_usedIdsOptional:u}=e;if(!o&&this.cache[r]){const{allowedTypes:c=[],excludedTypes:L=[]}=e;if(!c.length&&!L.length)return this.cache[r];const j=this.cache[r].filter(({type:g})=>c.includes(g)&&!L.includes(g));if(j.length)return j}a?e._keysOptionalSorted||a.sort():(a=Object.keys(s),a.sort(),e._keysOptional=a),u&&!e.detectParent&&(u=[],e._usedIdsOptional=u),e.ignoreEnums===void 0&&((t=e.allowedTypes)===null||t===void 0?void 0:t.length)===1&&(e.ignoreEnums=!0),M&&(e.excludedTypes||(e.excludedTypes=[]),e.excludedTypes.includes(Mt.Types.info)||e.excludedTypes.push(Mt.Types.info)),e._checkedPatterns=[];const l=[];let N;for(;N=this._detectNext(e);)l.push(N),e.detectAllPossibleDevices&&(e._usedIdsOptional=[]);return l.sort((c,L)=>{if(c.type===Mt.Types.info&&L.type!==Mt.Types.info)return 1;if(L.type===Mt.Types.info&&c.type!==Mt.Types.info)return-1;const j=c.states.find(h=>h.id===r&&h.required)?1:0,g=L.states.find(h=>h.id===r&&h.required)?1:0;if(j!==g)return g-j;if(!j){const h=c.states.find(w=>w.id===r)?1:0,m=L.states.find(w=>w.id===r)?1:0;if(h!==m)return m-h}const y=c.states.filter(h=>h.id).length;return L.states.filter(h=>h.id).length-y}),this.cache[r]=l.length?l:null,this.cache[r]}static getPatterns(){const e={};return Object.keys(ft.patterns).forEach(t=>{const s=JSON.parse(JSON.stringify(ft.patterns[t]));s.states.forEach((r,o)=>{const M=ft.patterns[t].states[o];M.role&&(s.states[o].role=M.role.toString()),M.enums&&(s.states[o].enums=!0)}),e[t]=s}),e}}lr.ChannelDetector=Be;Be.getEnums=zt.getEnums;(function(i){Object.defineProperty(i,"__esModule",{value:!0}),i.StateType=i.Types=void 0;const e=lr;i.default=e.ChannelDetector;var t=Ht;Object.defineProperty(i,"Types",{enumerable:!0,get:function(){return t.Types}}),Object.defineProperty(i,"StateType",{enumerable:!0,get:function(){return t.StateType}})})(B);var ou={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},Pn=n.createContext&&n.createContext(ou),n0e=["attr","size","title"];function a0e(i,e){if(i==null)return{};var t,s,r=c0e(i,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(i);for(s=0;sn.createElement(e.tag,Vi({key:t},e.attr),Mu(e.child)))}function v(i){return e=>n.createElement(L0e,Hi({attr:Vi({},i.attr)},e),Mu(i.child))}function L0e(i){var e=t=>{var{attr:s,size:r,title:o}=i,M=a0e(i,n0e),a=r||t.size||"1em",u;return t.className&&(u=t.className),i.className&&(u=(u?u+" ":"")+i.className),n.createElement("svg",Hi({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},t.attr,s,M,{className:u,style:Vi(Vi({color:i.color||t.color},t.style),i.style),height:a,width:a,xmlns:"http://www.w3.org/2000/svg"}),o&&n.createElement("title",null,o),i.children)};return Pn!==void 0?n.createElement(Pn.Consumer,null,t=>e(t)):e(ou)}function j0e(i){return v({attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-80 600c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V360c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v304zm224 0c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V360c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v304z"},child:[]}]})(i)}function g0e(i){return v({attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M847.9 592H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h605.2L612.9 851c-4.1 5.2-.4 13 6.3 13h72.5c4.9 0 9.5-2.2 12.6-6.1l168.8-214.1c16.5-21 1.6-51.8-25.2-51.8zM872 356H266.8l144.3-183c4.1-5.2.4-13-6.3-13h-72.5c-4.9 0-9.5 2.2-12.6 6.1L150.9 380.2c-16.5 21-1.6 51.8 25.1 51.8h696c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z"},child:[]}]})(i)}function T0e(i){return v({attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M712 824h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm2-696h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM136 374h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm0-174h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm752 624h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-348 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-230 72h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm230 624H358c-87.3 0-158-70.7-158-158V484c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v182c0 127 103 230 230 230h182c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z"},child:[]}]})(i)}function y0e(i){return v({attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M705.6 124.9a8 8 0 0 0-11.6 7.2v64.2c0 5.5 2.9 10.6 7.5 13.6a352.2 352.2 0 0 1 62.2 49.8c32.7 32.8 58.4 70.9 76.3 113.3a355 355 0 0 1 27.9 138.7c0 48.1-9.4 94.8-27.9 138.7a355.92 355.92 0 0 1-76.3 113.3 353.06 353.06 0 0 1-113.2 76.4c-43.8 18.6-90.5 28-138.5 28s-94.7-9.4-138.5-28a353.06 353.06 0 0 1-113.2-76.4A355.92 355.92 0 0 1 184 650.4a355 355 0 0 1-27.9-138.7c0-48.1 9.4-94.8 27.9-138.7 17.9-42.4 43.6-80.5 76.3-113.3 19-19 39.8-35.6 62.2-49.8 4.7-2.9 7.5-8.1 7.5-13.6V132c0-6-6.3-9.8-11.6-7.2C178.5 195.2 82 339.3 80 506.3 77.2 745.1 272.5 943.5 511.2 944c239 .5 432.8-193.3 432.8-432.4 0-169.2-97-315.7-238.4-386.7zM480 560h64c4.4 0 8-3.6 8-8V88c0-4.4-3.6-8-8-8h-64c-4.4 0-8 3.6-8 8v464c0 4.4 3.6 8 8 8z"},child:[]}]})(i)}function D0e(i){return v({attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM305.8 637.7c3.1 3.1 8.1 3.1 11.3 0l138.3-137.6L583 628.5c3.1 3.1 8.2 3.1 11.3 0l275.4-275.3c3.1-3.1 3.1-8.2 0-11.3l-39.6-39.6a8.03 8.03 0 0 0-11.3 0l-230 229.9L461.4 404a8.03 8.03 0 0 0-11.3 0L266.3 586.7a8.03 8.03 0 0 0 0 11.3l39.5 39.7z"},child:[]}]})(i)}function d0e(i){return v({attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M180 176h-60c-4.4 0-8 3.6-8 8v656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V184c0-4.4-3.6-8-8-8zm724 0h-60c-4.4 0-8 3.6-8 8v656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V184c0-4.4-3.6-8-8-8zM785.3 504.3L657.7 403.6a7.23 7.23 0 0 0-11.7 5.7V476H378v-62.8c0-6-7-9.4-11.7-5.7L238.7 508.3a7.14 7.14 0 0 0 0 11.3l127.5 100.8c4.7 3.7 11.7.4 11.7-5.7V548h268v62.8c0 6 7 9.4 11.7 5.7l127.5-100.8c3.8-2.9 3.8-8.5.2-11.4z"},child:[]}]})(i)}function z0e(i){return v({attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M840 836H184c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h656c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zm0-724H184c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h656c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zM610.8 378c6 0 9.4-7 5.7-11.7L515.7 238.7a7.14 7.14 0 0 0-11.3 0L403.6 366.3a7.23 7.23 0 0 0 5.7 11.7H476v268h-62.8c-6 0-9.4 7-5.7 11.7l100.8 127.5c2.9 3.7 8.5 3.7 11.3 0l100.8-127.5c3.7-4.7.4-11.7-5.7-11.7H548V378h62.8z"},child:[]}]})(i)}function I0e(i){return v({attr:{t:"1569683928793",viewBox:"0 0 1024 1024",version:"1.1"},child:[{tag:"path",attr:{d:"M464 144H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16z m-52 268H212V212h200v200zM864 144H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16z m-52 268H612V212h200v200zM864 544H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16z m-52 268H612V612h200v200zM424 712H296V584c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v128H104c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h128v128c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V776h128c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z"},child:[]}]})(i)}function h0e(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M24 5.25v13a.75.75 0 0 1-1.136.643L16.5 15.075v2.175A1.75 1.75 0 0 1 14.75 19h-13A1.75 1.75 0 0 1 0 17.25v-11C0 5.284.784 4.5 1.75 4.5h13c.966 0 1.75.784 1.75 1.75v2.175l6.364-3.818A.75.75 0 0 1 24 5.25Zm-9 1a.25.25 0 0 0-.25-.25h-13a.25.25 0 0 0-.25.25v11c0 .138.112.25.25.25h13a.25.25 0 0 0 .25-.25v-11Zm1.5 7.075 6 3.6V6.575l-6 3.6Z"},child:[]}]})(i)}function w0e(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M507.73 109.1c-2.24-9.03-13.54-12.09-20.12-5.51l-74.36 74.36-67.88-11.31-11.31-67.88 74.36-74.36c6.62-6.62 3.43-17.9-5.66-20.16-47.38-11.74-99.55.91-136.58 37.93-39.64 39.64-50.55 97.1-34.05 147.2L18.74 402.76c-24.99 24.99-24.99 65.51 0 90.5 24.99 24.99 65.51 24.99 90.5 0l213.21-213.21c50.12 16.71 107.47 5.68 147.37-34.22 37.07-37.07 49.7-89.32 37.91-136.73zM64 472c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z"},child:[]}]})(i)}function C0e(i){return v({attr:{viewBox:"0 0 576 512"},child:[{tag:"path",attr:{d:"M215.03 71.05L126.06 160H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V88.02c0-21.46-25.96-31.98-40.97-16.97zm233.32-51.08c-11.17-7.33-26.18-4.24-33.51 6.95-7.34 11.17-4.22 26.18 6.95 33.51 66.27 43.49 105.82 116.6 105.82 195.58 0 78.98-39.55 152.09-105.82 195.58-11.17 7.32-14.29 22.34-6.95 33.5 7.04 10.71 21.93 14.56 33.51 6.95C528.27 439.58 576 351.33 576 256S528.27 72.43 448.35 19.97zM480 256c0-63.53-32.06-121.94-85.77-156.24-11.19-7.14-26.03-3.82-33.12 7.46s-3.78 26.21 7.41 33.36C408.27 165.97 432 209.11 432 256s-23.73 90.03-63.48 115.42c-11.19 7.14-14.5 22.07-7.41 33.36 6.51 10.36 21.12 15.14 33.12 7.46C447.94 377.94 480 319.54 480 256zm-141.77-76.87c-11.58-6.33-26.19-2.16-32.61 9.45-6.39 11.61-2.16 26.2 9.45 32.61C327.98 228.28 336 241.63 336 256c0 14.38-8.02 27.72-20.92 34.81-11.61 6.41-15.84 21-9.45 32.61 6.43 11.66 21.05 15.8 32.61 9.45 28.23-15.55 45.77-45 45.77-76.88s-17.54-61.32-45.78-76.86z"},child:[]}]})(i)}function A0e(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M215.03 71.05L126.06 160H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V88.02c0-21.46-25.96-31.98-40.97-16.97zM461.64 256l45.64-45.64c6.3-6.3 6.3-16.52 0-22.82l-22.82-22.82c-6.3-6.3-16.52-6.3-22.82 0L416 210.36l-45.64-45.64c-6.3-6.3-16.52-6.3-22.82 0l-22.82 22.82c-6.3 6.3-6.3 16.52 0 22.82L370.36 256l-45.63 45.63c-6.3 6.3-6.3 16.52 0 22.82l22.82 22.82c6.3 6.3 16.52 6.3 22.82 0L416 301.64l45.64 45.64c6.3 6.3 16.52 6.3 22.82 0l22.82-22.82c6.3-6.3 6.3-16.52 0-22.82L461.64 256z"},child:[]}]})(i)}function m0e(i){return v({attr:{viewBox:"0 0 384 512"},child:[{tag:"path",attr:{d:"M215.03 72.04L126.06 161H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V89.02c0-21.47-25.96-31.98-40.97-16.98zm123.2 108.08c-11.58-6.33-26.19-2.16-32.61 9.45-6.39 11.61-2.16 26.2 9.45 32.61C327.98 229.28 336 242.62 336 257c0 14.38-8.02 27.72-20.92 34.81-11.61 6.41-15.84 21-9.45 32.61 6.43 11.66 21.05 15.8 32.61 9.45 28.23-15.55 45.77-45 45.77-76.88s-17.54-61.32-45.78-76.87z"},child:[]}]})(i)}function Rn(i){return v({attr:{viewBox:"0 0 576 512"},child:[{tag:"path",attr:{d:"M384 64H192C86 64 0 150 0 256s86 192 192 192h192c106 0 192-86 192-192S490 64 384 64zm0 320c-70.8 0-128-57.3-128-128 0-70.8 57.3-128 128-128 70.8 0 128 57.3 128 128 0 70.8-57.3 128-128 128z"},child:[]}]})(i)}function p0e(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M256 160c-52.9 0-96 43.1-96 96s43.1 96 96 96 96-43.1 96-96-43.1-96-96-96zm246.4 80.5l-94.7-47.3 33.5-100.4c4.5-13.6-8.4-26.5-21.9-21.9l-100.4 33.5-47.4-94.8c-6.4-12.8-24.6-12.8-31 0l-47.3 94.7L92.7 70.8c-13.6-4.5-26.5 8.4-21.9 21.9l33.5 100.4-94.7 47.4c-12.8 6.4-12.8 24.6 0 31l94.7 47.3-33.5 100.5c-4.5 13.6 8.4 26.5 21.9 21.9l100.4-33.5 47.3 94.7c6.4 12.8 24.6 12.8 31 0l47.3-94.7 100.4 33.5c13.6 4.5 26.5-8.4 21.9-21.9l-33.5-100.4 94.7-47.3c13-6.5 13-24.7.2-31.1zm-155.9 106c-49.9 49.9-131.1 49.9-181 0-49.9-49.9-49.9-131.1 0-181 49.9-49.9 131.1-49.9 181 0 49.9 49.9 49.9 131.1 0 181z"},child:[]}]})(i)}function O0e(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M367.9 329.76c-4.62 5.3-9.78 10.1-15.9 13.65v22.94c66.52 9.34 112 28.05 112 49.65 0 30.93-93.12 56-208 56S48 446.93 48 416c0-21.6 45.48-40.3 112-49.65v-22.94c-6.12-3.55-11.28-8.35-15.9-13.65C58.87 345.34 0 378.05 0 416c0 53.02 114.62 96 256 96s256-42.98 256-96c0-37.95-58.87-70.66-144.1-86.24zM256 128c35.35 0 64-28.65 64-64S291.35 0 256 0s-64 28.65-64 64 28.65 64 64 64zm-64 192v96c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-96c17.67 0 32-14.33 32-32v-96c0-26.51-21.49-48-48-48h-11.8c-11.07 5.03-23.26 8-36.2 8s-25.13-2.97-36.2-8H208c-26.51 0-48 21.49-48 48v96c0 17.67 14.33 32 32 32z"},child:[]}]})(i)}function E0e(i){return v({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M384 44v424c0 6.6-5.4 12-12 12h-48c-6.6 0-12-5.4-12-12V291.6l-195.5 181C95.9 489.7 64 475.4 64 448V64c0-27.4 31.9-41.7 52.5-24.6L312 219.3V44c0-6.6 5.4-12 12-12h48c6.6 0 12 5.4 12 12z"},child:[]}]})(i)}function Jn(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M496 384H160v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h80v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h336c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160h-80v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h336v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h80c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160H288V48c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16C7.2 64 0 71.2 0 80v32c0 8.8 7.2 16 16 16h208v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h208c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16z"},child:[]}]})(i)}function _0e(i){return v({attr:{viewBox:"0 0 416 512"},child:[{tag:"path",attr:{d:"M272 96c26.51 0 48-21.49 48-48S298.51 0 272 0s-48 21.49-48 48 21.49 48 48 48zM113.69 317.47l-14.8 34.52H32c-17.67 0-32 14.33-32 32s14.33 32 32 32h77.45c19.25 0 36.58-11.44 44.11-29.09l8.79-20.52-10.67-6.3c-17.32-10.23-30.06-25.37-37.99-42.61zM384 223.99h-44.03l-26.06-53.25c-12.5-25.55-35.45-44.23-61.78-50.94l-71.08-21.14c-28.3-6.8-57.77-.55-80.84 17.14l-39.67 30.41c-14.03 10.75-16.69 30.83-5.92 44.86s30.84 16.66 44.86 5.92l39.69-30.41c7.67-5.89 17.44-8 25.27-6.14l14.7 4.37-37.46 87.39c-12.62 29.48-1.31 64.01 26.3 80.31l84.98 50.17-27.47 87.73c-5.28 16.86 4.11 34.81 20.97 40.09 3.19 1 6.41 1.48 9.58 1.48 13.61 0 26.23-8.77 30.52-22.45l31.64-101.06c5.91-20.77-2.89-43.08-21.64-54.39l-61.24-36.14 31.31-78.28 20.27 41.43c8 16.34 24.92 26.89 43.11 26.89H384c17.67 0 32-14.33 32-32s-14.33-31.99-32-31.99z"},child:[]}]})(i)}function f0e(i){return v({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M400 224h-24v-72C376 68.2 307.8 0 224 0S72 68.2 72 152v72H48c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48zm-104 0H152v-72c0-39.7 32.3-72 72-72s72 32.3 72 72v72z"},child:[]}]})(i)}function S0e(i){return v({attr:{viewBox:"0 0 352 512"},child:[{tag:"path",attr:{d:"M96.06 454.35c.01 6.29 1.87 12.45 5.36 17.69l17.09 25.69a31.99 31.99 0 0 0 26.64 14.28h61.71a31.99 31.99 0 0 0 26.64-14.28l17.09-25.69a31.989 31.989 0 0 0 5.36-17.69l.04-38.35H96.01l.05 38.35zM0 176c0 44.37 16.45 84.85 43.56 115.78 16.52 18.85 42.36 58.23 52.21 91.45.04.26.07.52.11.78h160.24c.04-.26.07-.51.11-.78 9.85-33.22 35.69-72.6 52.21-91.45C335.55 260.85 352 220.37 352 176 352 78.61 272.91-.3 175.45 0 73.44.31 0 82.97 0 176zm176-80c-44.11 0-80 35.89-80 80 0 8.84-7.16 16-16 16s-16-7.16-16-16c0-61.76 50.24-112 112-112 8.84 0 16 7.16 16 16s-7.16 16-16 16z"},child:[]}]})(i)}function x0e(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z"},child:[]}]})(i)}function k0e(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M464 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48zM112 120c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56zM64 384h384V272l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L208 320l-55.515-55.515c-4.686-4.686-12.284-4.686-16.971 0L64 336v48z"},child:[]}]})(i)}function Y0e(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M352.57 128c-28.09 0-54.09 4.52-77.06 12.86l12.41-123.11C289 7.31 279.81-1.18 269.33.13 189.63 10.13 128 77.64 128 159.43c0 28.09 4.52 54.09 12.86 77.06L17.75 224.08C7.31 223-1.18 232.19.13 242.67c10 79.7 77.51 141.33 159.3 141.33 28.09 0 54.09-4.52 77.06-12.86l-12.41 123.11c-1.05 10.43 8.11 18.93 18.59 17.62 79.7-10 141.33-77.51 141.33-159.3 0-28.09-4.52-54.09-12.86-77.06l123.11 12.41c10.44 1.05 18.93-8.11 17.62-18.59-10-79.7-77.51-141.33-159.3-141.33zM256 288a32 32 0 1 1 32-32 32 32 0 0 1-32 32z"},child:[]}]})(i)}function Q0e(i){return v({attr:{viewBox:"0 0 640 512"},child:[{tag:"path",attr:{d:"M624 448h-80V113.45C544 86.19 522.47 64 496 64H384v64h96v384h144c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM312.24 1.01l-192 49.74C105.99 54.44 96 67.7 96 82.92V448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h336V33.18c0-21.58-19.56-37.41-39.76-32.17zM264 288c-13.25 0-24-14.33-24-32s10.75-32 24-32 24 14.33 24 32-10.75 32-24 32z"},child:[]}]})(i)}function U0e(i){return v({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M436 192H312c-13.3 0-24-10.7-24-24V44c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v84h84c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12zm-276-24V44c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v84H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h124c13.3 0 24-10.7 24-24zm0 300V344c0-13.3-10.7-24-24-24H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h84v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm192 0v-84h84c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12H312c-13.3 0-24 10.7-24 24v124c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12z"},child:[]}]})(i)}function v0e(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M200 288H88c-21.4 0-32.1 25.8-17 41l32.9 31-99.2 99.3c-6.2 6.2-6.2 16.4 0 22.6l25.4 25.4c6.2 6.2 16.4 6.2 22.6 0L152 408l31.1 33c15.1 15.1 40.9 4.4 40.9-17V312c0-13.3-10.7-24-24-24zm112-64h112c21.4 0 32.1-25.9 17-41l-33-31 99.3-99.3c6.2-6.2 6.2-16.4 0-22.6L481.9 4.7c-6.2-6.2-16.4-6.2-22.6 0L360 104l-31.1-33C313.8 55.9 288 66.6 288 88v112c0 13.3 10.7 24 24 24zm96 136l33-31.1c15.1-15.1 4.4-40.9-17-40.9H312c-13.3 0-24 10.7-24 24v112c0 21.4 25.9 32.1 41 17l31-32.9 99.3 99.3c6.2 6.2 16.4 6.2 22.6 0l25.4-25.4c6.2-6.2 6.2-16.4 0-22.6L408 360zM183 71.1L152 104 52.7 4.7c-6.2-6.2-16.4-6.2-22.6 0L4.7 30.1c-6.2 6.2-6.2 16.4 0 22.6L104 152l-33 31.1C55.9 198.2 66.6 224 88 224h112c13.3 0 24-10.7 24-24V88c0-21.3-25.9-32-41-16.9z"},child:[]}]})(i)}function b0e(i){return v({attr:{viewBox:"0 0 352 512"},child:[{tag:"path",attr:{d:"M176 80c-52.94 0-96 43.06-96 96 0 8.84 7.16 16 16 16s16-7.16 16-16c0-35.3 28.72-64 64-64 8.84 0 16-7.16 16-16s-7.16-16-16-16zM96.06 459.17c0 3.15.93 6.22 2.68 8.84l24.51 36.84c2.97 4.46 7.97 7.14 13.32 7.14h78.85c5.36 0 10.36-2.68 13.32-7.14l24.51-36.84c1.74-2.62 2.67-5.7 2.68-8.84l.05-43.18H96.02l.04 43.18zM176 0C73.72 0 0 82.97 0 176c0 44.37 16.45 84.85 43.56 115.78 16.64 18.99 42.74 58.8 52.42 92.16v.06h48v-.12c-.01-4.77-.72-9.51-2.15-14.07-5.59-17.81-22.82-64.77-62.17-109.67-20.54-23.43-31.52-53.15-31.61-84.14-.2-73.64 59.67-128 127.95-128 70.58 0 128 57.42 128 128 0 30.97-11.24 60.85-31.65 84.14-39.11 44.61-56.42 91.47-62.1 109.46a47.507 47.507 0 0 0-2.22 14.3v.1h48v-.05c9.68-33.37 35.78-73.18 52.42-92.16C335.55 260.85 352 220.37 352 176 352 78.8 273.2 0 176 0z"},child:[]}]})(i)}function $0e(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"circle",attr:{cx:"12",cy:"19",r:"2"},child:[]},{tag:"path",attr:{d:"M10 3h4v12h-4z"},child:[]}]})(i)}function P0e(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"m21.41 10.59-7.99-8c-.78-.78-2.05-.78-2.83 0l-8.01 8c-.78.78-.78 2.05 0 2.83l8.01 8c.78.78 2.05.78 2.83 0l7.99-8c.79-.79.79-2.05 0-2.83zM13.5 14.5V12H10v3H8v-4c0-.55.45-1 1-1h4.5V7.5L17 11l-3.5 3.5z"},child:[]}]})(i)}function W0e(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"m17 16-4-4V8.82C14.16 8.4 15 7.3 15 6c0-1.66-1.34-3-3-3S9 4.34 9 6c0 1.3.84 2.4 2 2.82V12l-4 4H3v5h5v-3.05l4-4.2 4 4.2V21h5v-5h-4z"},child:[]}]})(i)}function R0e(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M15 16v1.26l-6-3v-3.17L11.7 8H16V2h-6v4.9L7.3 10H3v6h5l7 3.5V22h6v-6z"},child:[]}]})(i)}function Bn(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M16.56 8.94 7.62 0 6.21 1.41l2.38 2.38-5.15 5.15a1.49 1.49 0 0 0 0 2.12l5.5 5.5c.29.29.68.44 1.06.44s.77-.15 1.06-.44l5.5-5.5c.59-.58.59-1.53 0-2.12zM5.21 10 10 5.21 14.79 10H5.21zM19 11.5s-2 2.17-2 3.5c0 1.1.9 2 2 2s2-.9 2-2c0-1.33-2-3.5-2-3.5zM2 20h20v4H2v-4z"},child:[]}]})(i)}function J0e(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M8.4 18.2c.38.5.6 1.12.6 1.8 0 1.66-1.34 3-3 3s-3-1.34-3-3 1.34-3 3-3c.44 0 .85.09 1.23.26l1.41-1.77a4.504 4.504 0 0 1-1.09-3.69l-2.03-.68A2.997 2.997 0 0 1 0 9.5c0-1.66 1.34-3 3-3s3 1.34 3 3c0 .07 0 .14-.01.21l2.03.68a4.468 4.468 0 0 1 3.22-2.32V5.91A3.018 3.018 0 0 1 9 3c0-1.66 1.34-3 3-3s3 1.34 3 3c0 1.4-.96 2.57-2.25 2.91v2.16c1.4.23 2.58 1.11 3.22 2.32L18 9.71V9.5c0-1.66 1.34-3 3-3s3 1.34 3 3-1.34 3-3 3c-1.06 0-1.98-.55-2.52-1.37l-2.03.68a4.49 4.49 0 0 1-1.09 3.69l1.41 1.77c.38-.18.79-.27 1.23-.27 1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3c0-.68.22-1.3.6-1.8l-1.41-1.77c-1.35.75-3.01.76-4.37 0L8.4 18.2z"},child:[]}]})(i)}function Gn(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z"},child:[]}]})(i)}function B0e(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"},child:[]}]})(i)}function G0e(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 8c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm8.94 3A8.994 8.994 0 0 0 13 3.06V1h-2v2.06A8.994 8.994 0 0 0 3.06 11H1v2h2.06A8.994 8.994 0 0 0 11 20.94V23h2v-2.06A8.994 8.994 0 0 0 20.94 13H23v-2h-2.06zM12 19c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7z"},child:[]}]})(i)}function F0e(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M7 5h10v2h2V3c0-1.1-.9-1.99-2-1.99L7 1c-1.1 0-2 .9-2 2v4h2V5zm8.41 11.59L20 12l-4.59-4.59L14 8.83 17.17 12 14 15.17l1.41 1.42zM10 15.17 6.83 12 10 8.83 8.59 7.41 4 12l4.59 4.59L10 15.17zM17 19H7v-2H5v4c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2v-4h-2v2z"},child:[]}]})(i)}function Fn(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M15.67 4H14V2h-4v2H8.33C7.6 4 7 4.6 7 5.33v15.33C7 21.4 7.6 22 8.33 22h7.33c.74 0 1.34-.6 1.34-1.33V5.33C17 4.6 16.4 4 15.67 4zM13 18h-2v-2h2v2zm0-4h-2V9h2v5z"},child:[]}]})(i)}function H0e(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M15.54 5.54 13.77 7.3 12 5.54 10.23 7.3 8.46 5.54 12 2zm2.92 10-1.76-1.77L18.46 12l-1.76-1.77 1.76-1.77L22 12zm-10 2.92 1.77-1.76L12 18.46l1.77-1.76 1.77 1.76L12 22zm-2.92-10 1.76 1.77L5.54 12l1.76 1.77-1.76 1.77L2 12z"},child:[]},{tag:"circle",attr:{cx:"12",cy:"12",r:"3"},child:[]}]})(i)}function Hn(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M20 6h-4V4c0-1.11-.89-2-2-2h-4c-1.11 0-2 .89-2 2v2H4c-1.11 0-1.99.89-1.99 2L2 19c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V8c0-1.11-.89-2-2-2zm-6 0h-4V4h4v2z"},child:[]}]})(i)}function V0e(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M11.07 12.85c.77-1.39 2.25-2.21 3.11-3.44.91-1.29.4-3.7-2.18-3.7-1.69 0-2.52 1.28-2.87 2.34L6.54 6.96C7.25 4.83 9.18 3 11.99 3c2.35 0 3.96 1.07 4.78 2.41.7 1.15 1.11 3.3.03 4.9-1.2 1.77-2.35 2.31-2.97 3.45-.25.46-.35.76-.35 2.24h-2.89c-.01-.78-.13-2.05.48-3.15zM14 20c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2z"},child:[]}]})(i)}function Vn(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 3C6.95 3 3.15 4.85 0 7.23L12 22 24 7.25C20.85 4.87 17.05 3 12 3zm1 13h-2v-6h2v6zm-2-8V6h2v2h-2z"},child:[]}]})(i)}function Z0e(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"M12 8c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm8.94 3A8.994 8.994 0 0 0 13 3.06V1h-2v2.06A8.994 8.994 0 0 0 3.06 11H1v2h2.06A8.994 8.994 0 0 0 11 20.94V23h2v-2.06A8.994 8.994 0 0 0 20.94 13H23v-2h-2.06zM12 19c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7z"},child:[]}]})(i)}function X0e(i){return v({attr:{version:"1.1",id:"Layer_1",x:"0px",y:"0px",viewBox:"0 0 30 30",style:"enable-background:new 0 0 30 30;"},child:[{tag:"path",attr:{d:`M9.91,19.56c0-0.85,0.2-1.64,0.59-2.38s0.94-1.35,1.65-1.84V5.42c0-0.8,0.27-1.48,0.82-2.03S14.2,2.55,15,2.55 - c0.81,0,1.49,0.28,2.04,0.83c0.55,0.56,0.83,1.23,0.83,2.03v9.92c0.71,0.49,1.25,1.11,1.64,1.84s0.58,1.53,0.58,2.38 - c0,0.92-0.23,1.78-0.68,2.56s-1.07,1.4-1.85,1.85s-1.63,0.68-2.56,0.68c-0.92,0-1.77-0.23-2.55-0.68s-1.4-1.07-1.86-1.85 - S9.91,20.48,9.91,19.56z M11.67,19.56c0,0.93,0.33,1.73,0.98,2.39c0.65,0.66,1.44,0.99,2.36,0.99c0.93,0,1.73-0.33,2.4-1 - s1.01-1.46,1.01-2.37c0-0.62-0.16-1.2-0.48-1.73c-0.32-0.53-0.76-0.94-1.32-1.23l-0.28-0.14c-0.1-0.04-0.15-0.14-0.15-0.29V5.42 - c0-0.32-0.11-0.59-0.34-0.81C15.62,4.4,15.34,4.29,15,4.29c-0.32,0-0.6,0.11-0.83,0.32c-0.23,0.21-0.34,0.48-0.34,0.81v10.74 - c0,0.15-0.05,0.25-0.14,0.29l-0.27,0.14c-0.55,0.29-0.98,0.7-1.29,1.23C11.82,18.35,11.67,18.92,11.67,19.56z M12.45,19.56 - c0,0.71,0.24,1.32,0.73,1.82s1.07,0.75,1.76,0.75s1.28-0.25,1.79-0.75c0.51-0.5,0.76-1.11,0.76-1.81c0-0.63-0.22-1.19-0.65-1.67 - c-0.43-0.48-0.96-0.77-1.58-0.85V9.69c0-0.06-0.03-0.13-0.1-0.19c-0.07-0.07-0.14-0.1-0.22-0.1c-0.09,0-0.16,0.03-0.21,0.08 - c-0.05,0.06-0.08,0.12-0.08,0.21v7.34c-0.61,0.09-1.13,0.37-1.56,0.85C12.66,18.37,12.45,18.92,12.45,19.56z`},child:[]}]})(i)}function K0e(i){return v({attr:{version:"1.1",id:"Layer_1",x:"0px",y:"0px",viewBox:"0 0 30 30",style:"enable-background:new 0 0 30 30;"},child:[{tag:"path",attr:{d:`M6.34,12.48c0-0.94,0.3-1.78,0.89-2.52s1.34-1.21,2.25-1.41C9.73,7.43,10.3,6.5,11.2,5.78s1.92-1.08,3.08-1.08 - c1.12,0,2.13,0.35,3.02,1.05c0.89,0.7,1.46,1.6,1.73,2.69h0.27c1.12,0,2.08,0.39,2.88,1.18c0.79,0.78,1.19,1.74,1.19,2.85 - c0,0.6-0.12,1.17-0.37,1.7c-0.25,0.53-0.59,0.99-1.03,1.37v0.03c0,0.59-0.19,1.12-0.56,1.59c-0.37,0.47-0.84,0.76-1.4,0.89 - c-0.14,0.62-0.45,1.15-0.91,1.58c-0.46,0.43-1.01,0.7-1.63,0.8c0.29,0.34,0.43,0.72,0.43,1.13c0,0.48-0.17,0.89-0.51,1.24 - c-0.34,0.34-0.75,0.52-1.23,0.52c-0.48,0-0.89-0.17-1.23-0.52c-0.34-0.34-0.51-0.76-0.51-1.24c0-0.19,0.03-0.38,0.1-0.57h-0.1 - c-0.58,0-1.08-0.21-1.5-0.63c-0.42-0.42-0.63-0.92-0.63-1.5c0-0.4,0.1-0.76,0.3-1.07c-0.52-0.29-0.89-0.7-1.12-1.25h-1.28v-0.01 - c-1.07-0.07-1.98-0.49-2.73-1.27S6.34,13.56,6.34,12.48z M7.74,12.23c0,0.8,0.28,1.48,0.84,2.04s1.24,0.84,2.03,0.84 - c0.49,0,0.95-0.11,1.37-0.34c0.12,0.74,0.47,1.36,1.04,1.86s1.25,0.74,2.02,0.74c0.87,0,1.61-0.31,2.22-0.92 - c0.41,0.48,0.92,0.71,1.54,0.71c0.57,0,1.05-0.2,1.46-0.6c0.4-0.4,0.6-0.89,0.6-1.46c0.4-0.27,0.72-0.61,0.95-1.04 - c0.23-0.42,0.35-0.88,0.35-1.37c0-0.79-0.28-1.47-0.85-2.02c-0.57-0.55-1.25-0.83-2.05-0.83c-0.56,0-1.07,0.15-1.53,0.44 - c0.06-0.24,0.08-0.51,0.08-0.79c0-0.96-0.34-1.78-1.03-2.46c-0.69-0.68-1.52-1.01-2.49-1.01c-0.94,0-1.75,0.33-2.43,0.97 - s-1.04,1.44-1.07,2.37c-0.02,0-0.05,0-0.08,0c-0.04,0-0.07,0-0.09,0c-0.79,0-1.46,0.28-2.03,0.84S7.74,11.45,7.74,12.23z`},child:[]}]})(i)}function q0e(i){return v({attr:{version:"1.1",id:"Layer_1",x:"0px",y:"0px",viewBox:"0 0 30 30",style:"enable-background:new 0 0 30 30;"},child:[{tag:"path",attr:{d:`M7.56,17.19c0-0.88,0.24-1.89,0.72-3.03s1.1-2.25,1.86-3.31c1.56-2.06,2.92-3.62,4.06-4.67l0.75-0.72 - c0.25,0.26,0.53,0.5,0.83,0.72c0.41,0.42,1.04,1.11,1.88,2.09s1.57,1.85,2.17,2.65c0.71,1.01,1.32,2.1,1.81,3.25 - s0.74,2.16,0.74,3.03c0,1-0.19,1.95-0.58,2.86c-0.39,0.91-0.91,1.7-1.57,2.36c-0.66,0.66-1.45,1.19-2.37,1.58 - c-0.92,0.39-1.89,0.59-2.91,0.59c-1,0-1.95-0.19-2.86-0.57c-0.91-0.38-1.7-0.89-2.36-1.55c-0.66-0.65-1.19-1.44-1.58-2.35 - S7.56,18.23,7.56,17.19z M9.82,14.26c0,0.83,0.17,1.49,0.52,1.99c0.35,0.49,0.88,0.74,1.59,0.74c0.72,0,1.25-0.25,1.61-0.74 - c0.35-0.49,0.53-1.15,0.54-1.99c-0.01-0.84-0.19-1.5-0.54-2c-0.35-0.49-0.89-0.74-1.61-0.74c-0.71,0-1.24,0.25-1.59,0.74 - C9.99,12.76,9.82,13.42,9.82,14.26z M11.39,14.26c0-0.15,0-0.27,0-0.35s0.01-0.19,0.02-0.33c0.01-0.14,0.02-0.25,0.05-0.32 - s0.05-0.16,0.09-0.24c0.04-0.08,0.09-0.15,0.15-0.18c0.07-0.04,0.14-0.06,0.23-0.06c0.14,0,0.25,0.04,0.33,0.12s0.14,0.21,0.17,0.38 - c0.03,0.18,0.05,0.32,0.06,0.45s0.01,0.3,0.01,0.52c0,0.23,0,0.4-0.01,0.52c-0.01,0.12-0.03,0.27-0.06,0.45 - c-0.03,0.17-0.09,0.3-0.17,0.38s-0.19,0.12-0.33,0.12c-0.09,0-0.16-0.02-0.23-0.06c-0.07-0.04-0.12-0.1-0.15-0.18 - c-0.04-0.08-0.07-0.17-0.09-0.24c-0.02-0.08-0.04-0.19-0.05-0.32c-0.01-0.14-0.02-0.25-0.02-0.32S11.39,14.41,11.39,14.26z - M11.98,22.01h1.32l4.99-10.74h-1.35L11.98,22.01z M16.28,19.02c0.01,0.84,0.2,1.5,0.55,2c0.35,0.49,0.89,0.74,1.6,0.74 - c0.72,0,1.25-0.25,1.6-0.74c0.35-0.49,0.52-1.16,0.53-2c-0.01-0.84-0.18-1.5-0.53-1.99c-0.35-0.49-0.88-0.74-1.6-0.74 - c-0.71,0-1.25,0.25-1.6,0.74C16.47,17.52,16.29,18.18,16.28,19.02z M17.85,19.02c0-0.23,0-0.4,0.01-0.52 - c0.01-0.12,0.03-0.27,0.06-0.45s0.09-0.3,0.17-0.38s0.19-0.12,0.33-0.12c0.09,0,0.17,0.02,0.24,0.06c0.07,0.04,0.12,0.1,0.16,0.19 - c0.04,0.09,0.07,0.17,0.1,0.24s0.04,0.18,0.05,0.32l0.01,0.32l0,0.34c0,0.16,0,0.28,0,0.35l-0.01,0.32l-0.05,0.32l-0.1,0.24 - l-0.16,0.19l-0.24,0.06c-0.14,0-0.25-0.04-0.33-0.12s-0.14-0.21-0.17-0.38c-0.03-0.18-0.05-0.33-0.06-0.45S17.85,19.25,17.85,19.02z - `},child:[]}]})(i)}function e4e(i){return v({attr:{version:"1.1",id:"Layer_1",x:"0px",y:"0px",viewBox:"0 0 30 30",style:"enable-background:new 0 0 30 30;"},child:[{tag:"path",attr:{d:`M7.38,21.83c0-0.3,0.1-0.55,0.29-0.76c0.19-0.21,0.43-0.31,0.7-0.31v-0.02l13.16,0.04c0.06-0.01,0.1-0.02,0.1-0.02 - c0.27,0.01,0.51,0.12,0.7,0.33c0.19,0.21,0.29,0.47,0.28,0.77c0,0.3-0.1,0.55-0.29,0.76c-0.19,0.21-0.43,0.31-0.7,0.31v0.01 - L8.59,22.9c-0.1,0.01-0.17,0.02-0.22,0.02c-0.28-0.01-0.51-0.11-0.7-0.32C7.47,22.39,7.37,22.13,7.38,21.83z M8.2,16.37 - c-0.01-0.43,0.04-0.93,0.16-1.52c0.06-0.3,0.2-0.76,0.44-1.37c0.02-0.05,0.07-0.14,0.13-0.28c0.01,0.02,0.03,0.03,0.04,0.05 - s0.02,0.02,0.02,0.03c0.11,0.44,0.27,0.84,0.49,1.2c0.21,0.32,0.48,0.56,0.82,0.69c0.26,0.11,0.63,0.17,1.1,0.18 - c0.02,0,0.05,0,0.08,0c0.03,0,0.06,0,0.08,0c-0.33-0.33-0.59-0.67-0.79-1c-0.3-0.52-0.49-1.12-0.57-1.81 - c-0.06-0.54-0.03-1.19,0.09-1.96c0.02-0.15,0.12-0.49,0.29-1.01c0.15-0.47,0.36-0.9,0.64-1.28C11.54,7.8,12,7.3,12.61,6.78 - c0.37-0.31,0.89-0.67,1.56-1.07c0.07-0.04,0.18-0.11,0.35-0.19c0,0.02,0,0.04,0,0.05s0,0.03,0,0.04v0.02 - c-0.24,0.57-0.41,1.15-0.49,1.73c-0.06,0.53,0.02,1.02,0.24,1.48c0.17,0.36,0.48,0.75,0.92,1.15c0.09,0.09,0.29,0.29,0.6,0.58 - c0.3,0.29,0.54,0.52,0.7,0.68l0.25,0.25c0.26-0.38,0.41-0.83,0.44-1.35c0.04-0.55,0-1.15-0.14-1.8c0-0.01,0-0.04,0.01-0.11 - c0.02,0.02,0.13,0.1,0.3,0.24c0.56,0.5,0.98,0.95,1.28,1.34c0.48,0.62,0.83,1.21,1.06,1.74c0.19,0.46,0.31,0.92,0.38,1.4 - c0.06,0.42,0.08,0.77,0.07,1.05c-0.01,0.78-0.1,1.43-0.25,1.96c-0.07,0.21-0.13,0.38-0.19,0.52c0.25-0.07,0.47-0.16,0.65-0.26 - c0.25-0.16,0.45-0.37,0.6-0.66c0.16-0.29,0.29-0.62,0.38-0.98c0-0.01,0.01-0.03,0.03-0.05c0.01,0.02,0.02,0.05,0.05,0.09 - c0.02,0.04,0.04,0.07,0.05,0.1c0.13,0.31,0.22,0.63,0.27,0.97c0.08,0.38,0.1,0.75,0.08,1.13c-0.02,0.29-0.07,0.56-0.16,0.81 - c-0.08,0.24-0.16,0.43-0.22,0.58c-0.19,0.38-0.39,0.71-0.62,0.98c-0.06,0.07-0.11,0.13-0.14,0.16H9.67 - c-0.01-0.01-0.03-0.03-0.07-0.06s-0.06-0.05-0.08-0.07C9.26,18.98,8.98,18.6,8.7,18.1c-0.08-0.15-0.18-0.38-0.29-0.69 - C8.29,17.1,8.22,16.75,8.2,16.37z`},child:[]}]})(i)}function t4e(i){return v({attr:{version:"1.1",id:"Layer_1",x:"0px",y:"0px",viewBox:"0 0 30 30",style:"enable-background:new 0 0 30 30;"},child:[{tag:"path",attr:{d:`M4.37,14.62c0-0.24,0.08-0.45,0.25-0.62c0.17-0.16,0.38-0.24,0.6-0.24h2.04c0.23,0,0.42,0.08,0.58,0.25 - c0.15,0.17,0.23,0.37,0.23,0.61S8,15.06,7.85,15.23c-0.15,0.17-0.35,0.25-0.58,0.25H5.23c-0.23,0-0.43-0.08-0.6-0.25 - C4.46,15.06,4.37,14.86,4.37,14.62z M7.23,21.55c0-0.23,0.08-0.43,0.23-0.61l1.47-1.43c0.15-0.16,0.35-0.23,0.59-0.23 - c0.24,0,0.44,0.08,0.6,0.23s0.24,0.34,0.24,0.57c0,0.24-0.08,0.46-0.24,0.64L8.7,22.14c-0.41,0.32-0.82,0.32-1.23,0 - C7.31,21.98,7.23,21.78,7.23,21.55z M7.23,7.71c0-0.23,0.08-0.43,0.23-0.61C7.66,6.93,7.87,6.85,8.1,6.85 - c0.22,0,0.42,0.08,0.59,0.24l1.43,1.47c0.16,0.15,0.24,0.35,0.24,0.59c0,0.24-0.08,0.44-0.24,0.6s-0.36,0.24-0.6,0.24 - c-0.24,0-0.44-0.08-0.59-0.24L7.47,8.32C7.31,8.16,7.23,7.95,7.23,7.71z M9.78,14.62c0-0.93,0.23-1.8,0.7-2.6s1.1-1.44,1.91-1.91 - s1.67-0.7,2.6-0.7c0.7,0,1.37,0.14,2.02,0.42c0.64,0.28,1.2,0.65,1.66,1.12c0.47,0.47,0.84,1.02,1.11,1.66 - c0.27,0.64,0.41,1.32,0.41,2.02c0,0.94-0.23,1.81-0.7,2.61c-0.47,0.8-1.1,1.43-1.9,1.9c-0.8,0.47-1.67,0.7-2.61,0.7 - s-1.81-0.23-2.61-0.7c-0.8-0.47-1.43-1.1-1.9-1.9C10.02,16.43,9.78,15.56,9.78,14.62z M11.48,14.62c0,0.98,0.34,1.81,1.03,2.5 - c0.68,0.69,1.51,1.04,2.49,1.04s1.81-0.35,2.5-1.04s1.04-1.52,1.04-2.5c0-0.96-0.35-1.78-1.04-2.47c-0.69-0.68-1.52-1.02-2.5-1.02 - c-0.97,0-1.8,0.34-2.48,1.02C11.82,12.84,11.48,13.66,11.48,14.62z M14.14,22.4c0-0.24,0.08-0.44,0.25-0.6s0.37-0.24,0.6-0.24 - c0.24,0,0.45,0.08,0.61,0.24s0.24,0.36,0.24,0.6v1.99c0,0.24-0.08,0.45-0.25,0.62c-0.17,0.17-0.37,0.25-0.6,0.25 - s-0.44-0.08-0.6-0.25c-0.17-0.17-0.25-0.38-0.25-0.62V22.4z M14.14,6.9V4.86c0-0.23,0.08-0.43,0.25-0.6C14.56,4.09,14.76,4,15,4 - s0.43,0.08,0.6,0.25c0.17,0.17,0.25,0.37,0.25,0.6V6.9c0,0.23-0.08,0.42-0.25,0.58S15.23,7.71,15,7.71s-0.44-0.08-0.6-0.23 - S14.14,7.13,14.14,6.9z M19.66,20.08c0-0.23,0.08-0.42,0.23-0.56c0.15-0.16,0.34-0.23,0.56-0.23c0.24,0,0.44,0.08,0.6,0.23 - l1.46,1.43c0.16,0.17,0.24,0.38,0.24,0.61c0,0.23-0.08,0.43-0.24,0.59c-0.4,0.31-0.8,0.31-1.2,0l-1.42-1.42 - C19.74,20.55,19.66,20.34,19.66,20.08z M19.66,9.16c0-0.25,0.08-0.45,0.23-0.59l1.42-1.47c0.17-0.16,0.37-0.24,0.59-0.24 - c0.24,0,0.44,0.08,0.6,0.25c0.17,0.17,0.25,0.37,0.25,0.6c0,0.25-0.08,0.46-0.24,0.62l-1.46,1.43c-0.18,0.16-0.38,0.24-0.6,0.24 - c-0.23,0-0.41-0.08-0.56-0.24S19.66,9.4,19.66,9.16z M21.92,14.62c0-0.24,0.08-0.44,0.24-0.62c0.16-0.16,0.35-0.24,0.57-0.24h2.02 - c0.23,0,0.43,0.09,0.6,0.26c0.17,0.17,0.26,0.37,0.26,0.6s-0.09,0.43-0.26,0.6c-0.17,0.17-0.37,0.25-0.6,0.25h-2.02 - c-0.23,0-0.43-0.08-0.58-0.25S21.92,14.86,21.92,14.62z`},child:[]}]})(i)}function Zn(i){return v({attr:{version:"1.1",id:"Layer_1",x:"0px",y:"0px",viewBox:"0 0 30 30",style:"enable-background:new 0 0 30 30;"},child:[{tag:"path",attr:{d:`M3.89,17.6c0-0.99,0.31-1.88,0.93-2.65s1.41-1.27,2.38-1.49c0.26-1.17,0.85-2.14,1.78-2.88c0.93-0.75,2-1.12,3.22-1.12 - c1.18,0,2.24,0.36,3.16,1.09c0.93,0.73,1.53,1.66,1.8,2.8h0.27c1.18,0,2.18,0.41,3.01,1.24s1.25,1.83,1.25,3 - c0,1.18-0.42,2.18-1.25,3.01s-1.83,1.25-3.01,1.25H8.16c-0.58,0-1.13-0.11-1.65-0.34S5.52,21,5.14,20.62 - c-0.38-0.38-0.68-0.84-0.91-1.36S3.89,18.17,3.89,17.6z M5.34,17.6c0,0.76,0.28,1.42,0.82,1.96s1.21,0.82,1.99,0.82h9.28 - c0.77,0,1.44-0.27,1.99-0.82c0.55-0.55,0.83-1.2,0.83-1.96c0-0.76-0.27-1.42-0.83-1.96c-0.55-0.54-1.21-0.82-1.99-0.82h-1.39 - c-0.1,0-0.15-0.05-0.15-0.15l-0.07-0.49c-0.1-0.94-0.5-1.73-1.19-2.35s-1.51-0.93-2.45-0.93c-0.94,0-1.76,0.31-2.46,0.94 - c-0.7,0.62-1.09,1.41-1.18,2.34l-0.07,0.42c0,0.1-0.05,0.15-0.16,0.15l-0.45,0.07c-0.72,0.06-1.32,0.36-1.81,0.89 - C5.59,16.24,5.34,16.87,5.34,17.6z M14.19,8.88c-0.1,0.09-0.08,0.16,0.07,0.21c0.43,0.19,0.79,0.37,1.08,0.55 - c0.11,0.03,0.19,0.02,0.22-0.03c0.61-0.57,1.31-0.86,2.12-0.86c0.81,0,1.5,0.27,2.1,0.81c0.59,0.54,0.92,1.21,0.99,2l0.09,0.64h1.42 - c0.65,0,1.21,0.23,1.68,0.7c0.47,0.47,0.7,1.02,0.7,1.66c0,0.6-0.21,1.12-0.62,1.57s-0.92,0.7-1.53,0.77c-0.1,0-0.15,0.05-0.15,0.16 - v1.13c0,0.11,0.05,0.16,0.15,0.16c1.01-0.06,1.86-0.46,2.55-1.19s1.04-1.6,1.04-2.6c0-1.06-0.37-1.96-1.12-2.7 - c-0.75-0.75-1.65-1.12-2.7-1.12h-0.15c-0.26-1-0.81-1.82-1.65-2.47c-0.83-0.65-1.77-0.97-2.8-0.97C16.28,7.29,15.11,7.82,14.19,8.88 - z`},child:[]}]})(i)}function Xn(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M352 146.4c-34.4-48.6-67.5-78.5-90.8-96.6-3.1-2.4-7.3-2.4-10.4-.1-23 17.1-56.1 48.4-90.5 96.5-37.3 52-63 108.4-64.2 170.9 0 1.2-.1 2.5-.1 3.7 0 18.4 3.9 35.9 10.9 52.1 4.1 9.3 9.2 18.1 15.2 26.3 28.5 39 77.8 64.8 133.8 64.8 88.4 0 160.1-64.1 160.1-143.2 0-63.7-27-122.2-64-174.4zm-86 264.3h-.5c-9.9 0-12-14.1-2.6-17.1 45.1-14.2 69.6-38.5 86.4-80.8 3.5-8.9 16.7-6.5 16.8 3.1v1.4c-.1 51.6-44.9 93.4-100.1 93.4z"},child:[]}]})(i)}function s4e(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M256 76c48.1 0 93.3 18.7 127.3 52.7S436 207.9 436 256s-18.7 93.3-52.7 127.3S304.1 436 256 436c-48.1 0-93.3-18.7-127.3-52.7S76 304.1 76 256s18.7-93.3 52.7-127.3S207.9 76 256 76m0-28C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48z"},child:[]},{tag:"path",attr:{d:"M363.5 148.5C334.8 119.8 296.6 104 256 104c-40.6 0-78.8 15.8-107.5 44.5C119.8 177.2 104 215.4 104 256s15.8 78.8 44.5 107.5C177.2 392.2 215.4 408 256 408c40.6 0 78.8-15.8 107.5-44.5C392.2 334.8 408 296.6 408 256s-15.8-78.8-44.5-107.5z"},child:[]}]})(i)}function i4e(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M430.1 347.9c-6.6-6.1-16.3-7.6-24.6-9-11.5-1.9-15.9-4-22.6-10-14.3-12.7-14.3-31.1 0-43.8l30.3-26.9c46.4-41 46.4-108.2 0-149.2-34.2-30.1-80.1-45-127.8-45-55.7 0-113.9 20.3-158.8 60.1-83.5 73.8-83.5 194.7 0 268.5 41.5 36.7 97.5 55 152.9 55.4h1.7c55.4 0 110-17.9 148.8-52.4 14.4-12.7 12-36.6.1-47.7zM120 216c0-17.7 14.3-32 32-32s32 14.3 32 32-14.3 32-32 32-32-14.3-32-32zm40 126c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm64-161c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm72 219c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm24-208c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"},child:[]}]})(i)}function r4e(i){return v({attr:{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},child:[{tag:"path",attr:{d:"M8 12a4 4 0 0 0 4 4m0 -8a4 4 0 0 0 -4 4"},child:[]},{tag:"path",attr:{d:"M3 12h1"},child:[]},{tag:"path",attr:{d:"M12 3v1"},child:[]},{tag:"path",attr:{d:"M12 20v1"},child:[]},{tag:"path",attr:{d:"M5.6 5.6l.7 .7"},child:[]},{tag:"path",attr:{d:"M6.3 17.7l-.7 .7"},child:[]},{tag:"path",attr:{d:"M20 7l-3 5h4l-3 5"},child:[]}]})(i)}function o4e(i){return v({attr:{viewBox:"0 0 256 256",fill:"currentColor"},child:[{tag:"path",attr:{d:"M224,127.17a96.48,96.48,0,0,1-2.39,22.18A24,24,0,0,1,198.21,168H152a24,24,0,0,0-24,24,24,24,0,0,1-32,22.61C58.73,201.44,32,169.81,32,128a96,96,0,0,1,95-96C179.84,31.47,223.55,74.35,224,127.17Z",opacity:"0.2"},child:[]},{tag:"path",attr:{d:"M200.77,53.89A103.27,103.27,0,0,0,128,24h-1.07A104,104,0,0,0,24,128c0,43,26.58,79.06,69.36,94.17A32,32,0,0,0,136,192a16,16,0,0,1,16-16h46.21a31.81,31.81,0,0,0,31.2-24.88,104.43,104.43,0,0,0,2.59-24A103.28,103.28,0,0,0,200.77,53.89Zm13,93.71A15.89,15.89,0,0,1,198.21,160H152a32,32,0,0,0-32,32,16,16,0,0,1-21.31,15.07C62.49,194.3,40,164,40,128a88,88,0,0,1,87.09-88h.9a88.35,88.35,0,0,1,88,87.25A88.86,88.86,0,0,1,213.81,147.6ZM140,76a12,12,0,1,1-12-12A12,12,0,0,1,140,76ZM96,100A12,12,0,1,1,84,88,12,12,0,0,1,96,100Zm0,56a12,12,0,1,1-12-12A12,12,0,0,1,96,156Zm88-56a12,12,0,1,1-12-12A12,12,0,0,1,184,100Z"},child:[]}]})(i)}function M4e(i){return n.createElement("svg",{viewBox:"0 0 512 512",...i},n.createElement("g",{fill:"currentColor"},n.createElement("path",{d:"M296,320H216a24,24,0,0,0,0,48h80a24,24,0,0,0,0-48Zm0,32H216a8,8,0,0,1,0-16h80a8,8,0,0,1,0,16Z"}),n.createElement("path",{d:"M68.071,123.492c22.578-13.918,52.2-25.229,85.674-32.71l-3.49-15.615c-35.688,7.977-66.163,19.653-90.58,34.705-17.914,11.043-32.041,23.643-41.99,37.451l12.98,9.354C39.376,144.588,51.961,133.423,68.071,123.492Z"}),n.createElement("path",{d:"M435.533,137.112C409.439,121.027,374,108.967,332.845,102.144,322.474,87,288.213,80,256,80s-66.474,7-76.845,22.144C138,108.967,102.561,121.027,76.467,137.112,47.376,155.045,32,176.792,32,200v96c0,29,24.155,55.7,68.016,75.193C141.813,389.77,197.209,400,256,400s114.187-10.23,155.984-28.807C455.845,351.7,480,325,480,296V200C480,176.792,464.624,155.045,435.533,137.112ZM177.64,151.23C185.676,168.192,221.98,176,256,176s70.324-7.808,78.36-24.77c21.862,4.212,41.832,10.19,58.13,17.44C422.343,181.941,432,195.509,432,200s-9.657,18.059-39.51,31.33C357.224,247.008,307.475,256,256,256s-101.224-8.992-136.49-24.67C89.657,218.059,80,204.491,80,200s9.657-18.059,39.512-31.331C135.808,161.42,155.778,155.442,177.64,151.23Zm14.36-19c15.6,8,40.35,11.773,64,11.773s48.4-3.775,64-11.773V144c0,.687-2.715,5.08-15.618,9.381C291.577,157.649,274.4,160,256,160s-35.577-2.351-48.382-6.619C194.715,149.08,192,144.687,192,144Zm15.618-29.608C220.423,98.351,237.605,96,256,96s35.577,2.351,48.382,6.619C317.285,106.92,320,111.313,320,112s-2.715,5.08-15.618,9.381C291.577,125.649,274.4,128,256,128s-35.577-2.351-48.382-6.619C194.715,117.08,192,112.687,192,112S194.715,106.92,207.618,102.619ZM176,118.937v16.319c-23.589,4.453-45.254,10.9-62.99,18.794C82.779,167.489,64,185.1,64,200s18.779,32.511,49.01,45.95C150.249,262.505,202.367,272,256,272s105.751-9.5,142.99-26.05C429.221,232.511,448,214.9,448,200s-18.779-32.511-49.008-45.95c-17.738-7.89-39.4-14.341-62.992-18.794V118.937C411.852,132.7,464,165.41,464,200c0,21.967-21.328,44.044-58.516,60.572C365.688,278.259,312.6,288,256,288s-109.688-9.741-149.484-27.428C69.328,244.044,48,221.967,48,200,48,165.41,100.148,132.7,176,118.937ZM464,296c0,21.967-21.327,44.044-58.514,60.572C365.689,374.259,312.6,384,256,384s-109.689-9.741-149.486-27.428C69.327,340.044,48,317.967,48,296V239.371c11.522,13.444,29.066,25.621,52.018,35.822C141.814,293.77,197.211,304,256,304s114.186-10.23,155.982-28.807c22.952-10.2,40.5-22.378,52.018-35.822Z"}),n.createElement("path",{d:"M418.482,385.814C374.684,405.28,316.979,416,256,416a488.01,488.01,0,0,1-78.705-6.23l-2.59,15.789A504.064,504.064,0,0,0,256,432c63.169,0,123.181-11.21,168.981-31.565q1.3-.576,2.572-1.16l-6.655-14.55Q419.7,385.274,418.482,385.814Z"}),n.createElement("path",{d:"M436.123,377.062l7.754,14c5.883-3.259,11.492-6.728,16.674-10.31l-9.1-13.161C446.7,370.871,441.546,374.059,436.123,377.062Z"}),n.createElement("rect",{x:"248",y:"192",width:"16",height:"16"}),n.createElement("rect",{x:"280",y:"192",width:"16",height:"16"}),n.createElement("rect",{x:"216",y:"192",width:"16",height:"16"})))}function Bje(i){return n.createElement("svg",{viewBox:"0 0 512 512",...i},n.createElement("path",{fill:"currentColor",d:"M448 490.667h-32v-480C416 4.779 411.221 0 405.333 0H106.667C100.779 0 96 4.779 96 10.667v480H64c-5.888 0-10.667 4.779-10.667 10.667C53.333 507.221 58.112 512 64 512h384c5.888 0 10.667-4.779 10.667-10.667s-4.779-10.666-10.667-10.666zm-53.333 0H117.333V21.333h277.333v469.334z"}),n.createElement("path",{fill:"currentColor",d:"M341.333 277.333c17.643 0 32-14.357 32-32s-14.357-32-32-32-32 14.357-32 32 14.358 32 32 32zm0-42.666c5.888 0 10.667 4.779 10.667 10.667S347.221 256 341.333 256s-10.667-4.779-10.667-10.667 4.779-10.666 10.667-10.666z"}))}function n4e(i){return n.createElement("svg",{viewBox:"0 0 512 512",...i},n.createElement("path",{fill:"currentColor",d:"M298.667 298.667c17.643 0 32-14.357 32-32s-14.357-32-32-32-32 14.357-32 32c0 17.642 14.357 32 32 32zm0-42.667c5.867 0 10.667 4.779 10.667 10.667s-4.8 10.667-10.667 10.667S288 272.555 288 266.667 292.8 256 298.667 256z"}),n.createElement("path",{fill:"currentColor",d:"M448 490.667h-32v-480C416 4.779 411.221 0 405.333 0H106.667c-.597 0-1.131.256-1.707.341-.555.085-1.088.149-1.621.32-.939.32-1.749.789-2.56 1.344-.32.213-.704.277-1.003.533-.107.085-.149.213-.256.32-.768.704-1.365 1.579-1.899 2.496-.213.341-.512.619-.661.981-.597 1.345-.96 2.774-.96 4.332v480H64c-5.888 0-10.667 4.779-10.667 10.667C53.333 507.221 58.112 512 64 512h42.667c.576 0 1.173-.043 1.749-.149l256-42.667a10.672 10.672 0 0 0 8.917-10.517V53.333c0-5.227-3.776-9.664-8.917-10.517L235.541 21.333h159.125v480c0 5.888 4.779 10.667 10.667 10.667H448c5.888 0 10.667-4.779 10.667-10.667s-4.779-10.666-10.667-10.666zm-96-428.31v387.264l-234.667 39.125V23.253L352 62.357z"}))}function Gje(i){return n.createElement("svg",{viewBox:"0 0 452.498 452.498",...i},n.createElement("path",{fill:"currentColor",d:"M301.317 295.155c-51.157-10.946-87.714-56.144-87.723-108.459a112.981 112.981 0 0 1 2.304-23.381 107.145 107.145 0 0 1 8.533-23.723 8.53 8.53 0 0 0-.427-8.533c-21.845-35.413-48.213-74.752-84.48-103.68a151.775 151.775 0 0 0-13.653-9.899 79.82 79.82 0 0 0-13.653-7.083 8.535 8.535 0 0 0-11.691 9.728l1.024 4.523c1.109 4.864 2.219 9.728 3.072 14.763a151.95 151.95 0 0 1 2.475 22.613v5.973a160.68 160.68 0 0 1-51.2 117.077 187.752 187.752 0 0 0-40.619 49.323 140.292 140.292 0 0 0-6.485 112.555C28.65 398.37 74.79 435.008 129.37 442.696h1.28a8.629 8.629 0 0 0 2.56-17.066 67.41 67.41 0 0 1-43.776-39.339 61.78 61.78 0 0 1 2.731-49.493 91.4 91.4 0 0 1 19.029-22.784 98.216 98.216 0 0 0 31.317-71.851v-3.669-5.12a86.72 86.72 0 0 1 17.067 19.029 80.214 80.214 0 0 1 12.885 42.667v.683a80.558 80.558 0 0 1-14.592 46.336 8.534 8.534 0 0 0 2.816 12.288 29.268 29.268 0 0 0 29.525 1.28 50.175 50.175 0 0 0 21.333-27.477 59.734 59.734 0 0 1 12.715 36.011c-.579 27.882-18.718 52.352-45.227 61.013a8.534 8.534 0 0 0 4.266 16.469c70.656-12.715 121.941-69.717 124.757-137.984a8.53 8.53 0 0 0-6.739-8.534zm-72.022 111.104a79.103 79.103 0 0 0 12.117-41.899 84.48 84.48 0 0 0-28.416-60.245 8.535 8.535 0 0 0-14.507 5.376c-.939 11.435-7.68 26.624-16.213 31.317a11.012 11.012 0 0 1-4.181 1.28 97.453 97.453 0 0 0 11.52-46.08v-1.024a97.279 97.279 0 0 0-15.616-52.053 105.562 105.562 0 0 0-39.509-35.925 8.535 8.535 0 0 0-12.117 10.155 78.449 78.449 0 0 1 3.755 22.016v2.731a81.32 81.32 0 0 1-26.027 59.733 105.478 105.478 0 0 0-22.443 27.477 80.723 80.723 0 0 0-8.533 35.499 79.108 79.108 0 0 0 13.397 43.947 131.416 131.416 0 0 1-57.941-67.669 123.223 123.223 0 0 1 5.717-98.901 170.67 170.67 0 0 1 37.205-44.629 177.58 177.58 0 0 0 56.405-129.451v-6.571a167.053 167.053 0 0 0-2.731-24.917V34.89a100.687 100.687 0 0 1 7.509 5.717c32.939 26.197 57.685 62.72 78.251 95.488a123.351 123.351 0 0 0-7.509 23.211 129.741 129.741 0 0 0-2.901 27.392c-.012 57.557 38.394 108.044 93.867 123.392a129.706 129.706 0 0 1-61.099 96.169z"}),n.createElement("path",{fill:"currentColor",d:"M324.527 58.697c-49.399.039-94.366 28.501-115.541 73.131a123.96 123.96 0 0 0-9.557 27.477 129.741 129.741 0 0 0-2.901 27.392 127.147 127.147 0 0 0 48.896 100.608 128.002 128.002 0 0 0 79.104 27.392 126.807 126.807 0 0 0 79.104-27.392 128.001 128.001 0 0 0 48.867-100.579c.015-70.693-57.279-128.013-127.972-128.029zm0 238.933a110.91 110.91 0 0 1-23.211-2.475c-51.157-10.946-87.714-56.144-87.723-108.459a112.938 112.938 0 0 1 2.219-23.723 107.639 107.639 0 0 1 8.533-23.808c18.353-38.703 57.347-63.382 100.181-63.403 61.267 0 110.933 49.667 110.933 110.933S385.794 297.63 324.527 297.63z"}),n.createElement("path",{fill:"currentColor",d:"M354.565 106.91a16.212 16.212 0 0 0-11.947-5.205h-36.267a16.216 16.216 0 0 0-11.947 5.205 15.19 15.19 0 0 0-4.011 11.52l6.4 79.616c.837 8.16 7.755 14.338 15.957 14.251h23.552c8.086.105 14.958-5.885 15.957-13.909l6.4-79.957a15.187 15.187 0 0 0-4.094-11.521zm-19.115 88.32h-21.675l-6.315-76.8h34.133l-6.143 76.8zM328.965 229.363h-8.96c-11.621.047-21.031 9.456-21.077 21.077v9.045c.047 11.621 9.456 21.031 21.077 21.077h9.045c11.654-.047 21.077-9.508 21.077-21.163v-8.96c-.047-11.653-9.508-21.076-21.162-21.076zm4.096 30.038a4.097 4.097 0 0 1-4.011 4.011h-8.96a4.097 4.097 0 0 1-4.011-4.011v-8.96a4.097 4.097 0 0 1 4.011-4.011h8.96a4.097 4.097 0 0 1 4.011 4.011v8.96z"}))}function Kn(i){return n.createElement("svg",{viewBox:"0 0 512.006 512.006",...i},n.createElement("path",{d:"M502.379 211.249c0 74.656-60.52 135.176-135.176 135.176-6.469.01-12.919-.473-19.311-1.448-66.487-9.598-115.837-66.555-115.866-133.728-.019-67.212 49.349-124.227 115.866-133.825a142.128 142.128 0 0 1 19.311-1.352c74.656 0 135.176 60.521 135.176 135.177z",fill:"#c52828"}),n.createElement("path",{d:"M463.757 211.249c-.029 67.173-49.378 124.131-115.865 133.728-66.487-9.598-115.837-66.555-115.866-133.728-.019-67.212 49.349-124.227 115.866-133.825 66.516 9.598 115.875 66.613 115.865 133.825z",fill:"#f44335"}),n.createElement("g",{fill:"#fdd834"},n.createElement("path",{d:"M380.527 230.56h-26.649a8.208 8.208 0 0 1-8.4-7.242l-7.242-90.472c-.212-4.47 3.235-8.275 7.705-8.497.232-.01.463-.01.695 0h41.036a8.105 8.105 0 0 1 8.4 7.802c.01.232.01.463 0 .695l-7.242 90.472c-.501 4.181-4.093 7.319-8.303 7.242zM362.085 269.181h10.235c7.84 0 14.194 6.353 14.194 14.194v10.235c0 7.84-6.353 14.194-14.194 14.194h-10.235c-7.84 0-14.194-6.353-14.194-14.194v-10.235c.001-7.84 6.354-14.194 14.194-14.194z"})),n.createElement("path",{d:"M308.015 332.714a132.057 132.057 0 0 1-24.332-15.256 138.367 138.367 0 0 1-25.587-26.456 134.123 134.123 0 0 1-26.07-79.754 136.453 136.453 0 0 1 3.09-28.966 129.801 129.801 0 0 1 9.655-28.966c-24.428-39.201-50.691-78.113-85.547-108.334-2.607-2.221-5.214-4.442-7.917-6.566a161.051 161.051 0 0 0-14.387-10.621 80.965 80.965 0 0 0-13.807-7.145c1.641 7.338 3.476 14.773 4.731 22.208a180.355 180.355 0 0 1 2.993 26.939v7.145a192.012 192.012 0 0 1-60.829 139.521 202.647 202.647 0 0 0-43.836 52.719 149.063 149.063 0 0 0-6.566 120.017 152.006 152.006 0 0 0 22.208 40.167 164.926 164.926 0 0 0 106.21 61.891 86.874 86.874 0 0 1-44.801-32.249 51.315 51.315 0 0 1-3.669-5.6 77.46 77.46 0 0 1-6.469-13.325 79.464 79.464 0 0 1 3.766-63.726 111.914 111.914 0 0 1 23.463-28.387 101.983 101.983 0 0 0 32.442-74.25v-3.862a97.875 97.875 0 0 0-4.731-27.132 112.539 112.539 0 0 1 10.911 6.566 108.053 108.053 0 0 1 30.222 30.801 100.963 100.963 0 0 1 15.835 46.443v8.4a100.92 100.92 0 0 1-18.249 57.933c22.98 13.035 38.622-8.593 44.994-28.966a60.067 60.067 0 0 0 2.51-12.842 88.458 88.458 0 0 1 28.966 61.312v5.214c-2.704 33.678-25.346 62.451-57.45 72.995 73.353-11.789 128.717-72.889 133.245-147.053a131.977 131.977 0 0 1-30.994-10.815z",fill:"#f57c00"}),n.createElement("path",{d:"M263.117 417.489v-5.214a88.462 88.462 0 0 0-28.966-61.312 60.129 60.129 0 0 1-2.51 12.842c-5.986 20.47-22.014 42.098-44.994 28.966a100.923 100.923 0 0 0 18.249-57.933v-.966-7.338a100.971 100.971 0 0 0-15.835-46.443 108.027 108.027 0 0 0-30.222-30.801 108.949 108.949 0 0 0-39.877-35.532 97.838 97.838 0 0 1 4.731 27.132v3.862a101.988 101.988 0 0 1-32.442 74.25 111.924 111.924 0 0 0-23.366 28.387 79.491 79.491 0 0 0-3.573 63.726 83.948 83.948 0 0 0 35.436 42.291 51.315 51.315 0 0 0 3.669 5.6 86.886 86.886 0 0 0 44.415 32.249 164.927 164.927 0 0 1-106.21-61.892 152.082 152.082 0 0 1-22.014-40.167 149.055 149.055 0 0 1 6.564-120.015 202.714 202.714 0 0 1 44.029-53.202A192.012 192.012 0 0 0 131.03 76.458v-7.145a180.486 180.486 0 0 0-2.993-26.939c-1.255-7.435-3.09-14.869-4.731-22.208a80.965 80.965 0 0 1 13.807 7.145 159.446 159.446 0 0 1 14.773 10.718c2.704 2.124 5.311 4.345 7.917 6.566 34.856 30.222 61.119 69.133 85.547 108.334a129.75 129.75 0 0 0-9.655 28.966 136.634 136.634 0 0 0-3.669 29.353 134.116 134.116 0 0 0 26.07 79.754 138.396 138.396 0 0 0 25.587 26.456 132.164 132.164 0 0 0 24.332 15.256 152.203 152.203 0 0 1-44.898 84.775z",fill:"#ff9801"}),n.createElement("path",{d:"M147.831 500.912h-1.448c-61.756-8.7-113.963-50.15-136.432-108.334a158.725 158.725 0 0 1 7.338-127.355 212.528 212.528 0 0 1 45.96-55.809 181.787 181.787 0 0 0 57.933-132.473v-6.759a171.298 171.298 0 0 0-2.8-25.587c-.966-5.697-2.221-11.2-3.476-16.704l-1.159-5.117c-1.178-5.204 2.076-10.37 7.28-11.548a9.663 9.663 0 0 1 5.948.541 89.473 89.473 0 0 1 15.449 8.014 172.47 172.47 0 0 1 15.449 11.2c41.036 32.732 70.871 77.244 95.589 117.314a9.673 9.673 0 0 1 .483 9.655 121.056 121.056 0 0 0-9.655 26.842 128.158 128.158 0 0 0-2.607 26.456c.01 59.198 41.374 110.333 99.258 122.721a9.655 9.655 0 0 1 7.628 9.655c-3.186 77.244-61.216 141.742-141.163 156.129-5.253.927-10.254-2.588-11.181-7.84a9.65 9.65 0 0 1 6.353-10.795c29.99-9.8 50.517-37.492 51.174-69.037a67.618 67.618 0 0 0-14.387-40.746 56.78 56.78 0 0 1-24.139 31.091 33.122 33.122 0 0 1-33.408-1.448c-4.644-2.626-6.276-8.516-3.659-13.16.145-.261.299-.502.473-.743a91.187 91.187 0 0 0 16.511-52.429v-.772a90.743 90.743 0 0 0-14.58-48.277 98.107 98.107 0 0 0-19.311-21.532v9.945a111.13 111.13 0 0 1-35.436 81.299 103.445 103.445 0 0 0-21.532 25.78 69.873 69.873 0 0 0-3.09 56.002 76.304 76.304 0 0 0 49.533 44.512c5.33.801 9.009 5.774 8.207 11.104-.801 5.328-5.774 8.997-11.103 8.205zM137.113 39.478v1.738a188.136 188.136 0 0 1 3.09 28.194v7.435A200.926 200.926 0 0 1 76.38 223.318a192.998 192.998 0 0 0-42.098 50.498 139.414 139.414 0 0 0-6.469 111.907 148.682 148.682 0 0 0 65.561 76.568 89.522 89.522 0 0 1-15.159-49.726 91.25 91.25 0 0 1 9.655-40.167 119.46 119.46 0 0 1 25.394-31.091 92.026 92.026 0 0 0 29.449-67.588v-3.09a88.799 88.799 0 0 0-4.248-24.911 9.653 9.653 0 0 1 6.237-12.147 9.638 9.638 0 0 1 7.473.657 119.392 119.392 0 0 1 44.705 40.649 110.062 110.062 0 0 1 17.669 58.898v1.159a110.343 110.343 0 0 1-13.035 52.139 12.555 12.555 0 0 0 4.731-1.448c9.655-5.31 17.283-22.497 18.345-35.436.434-5.31 5.088-9.269 10.409-8.844a9.61 9.61 0 0 1 6.006 2.761 95.586 95.586 0 0 1 32.153 68.168 89.528 89.528 0 0 1-13.711 47.408 146.774 146.774 0 0 0 69.133-108.817c-62.77-17.37-106.22-74.492-106.21-139.618a146.655 146.655 0 0 1 3.283-30.994 139.876 139.876 0 0 1 8.497-26.263c-23.27-37.077-51.27-78.402-88.541-108.045a113.049 113.049 0 0 0-8.496-6.467z"}),n.createElement("path",{d:"M367.203 356.081a144.841 144.841 0 0 1-89.506-30.994 143.882 143.882 0 0 1-55.326-113.838 146.655 146.655 0 0 1 3.283-30.994 140.652 140.652 0 0 1 10.814-31.091c23.965-50.498 74.839-82.699 130.735-82.747 79.986.019 144.813 64.875 144.803 144.861a144.848 144.848 0 0 1-55.297 113.809 143.543 143.543 0 0 1-89.506 30.994zm0-270.353c-48.47.019-92.586 27.943-113.355 71.74a121.83 121.83 0 0 0-9.655 26.939 127.805 127.805 0 0 0-2.51 26.842c.01 59.198 41.374 110.333 99.258 122.721a125.763 125.763 0 0 0 26.263 2.8c69.326 0 125.521-56.195 125.521-125.521S436.519 85.728 367.203 85.728z"}),n.createElement("path",{d:"M380.527 240.215h-26.649c-9.279.097-17.109-6.894-18.056-16.125l-7.242-90.085a17.201 17.201 0 0 1 4.538-13.035 18.38 18.38 0 0 1 13.518-5.89h41.036a18.375 18.375 0 0 1 13.518 5.89 17.204 17.204 0 0 1 4.635 13.035l-7.242 90.472c-1.139 9.076-8.912 15.854-18.056 15.738zm-25.49-19.311h24.525l6.952-86.899h-38.622l7.145 86.899zM372.32 317.459h-10.235c-13.151-.048-23.801-10.698-23.849-23.849v-10.235c.048-13.151 10.698-23.801 23.849-23.849h10.138c13.189 0 23.888 10.66 23.946 23.849v10.138c0 13.18-10.669 23.888-23.849 23.946zm-10.138-38.622a4.635 4.635 0 0 0-4.538 4.538v10.138a4.635 4.635 0 0 0 4.538 4.538h10.138a4.635 4.635 0 0 0 4.538-4.538v-10.138a4.635 4.635 0 0 0-4.538-4.538h-10.138z"}))}function Fje(i){return n.createElement("svg",{viewBox:"0 0 512.224 512.224",...i},n.createElement("path",{fill:"currentColor",d:"M321.71 427.573c-42.239-16.782-69.968-57.632-69.973-103.083.012-7.976.87-15.928 2.56-23.723a107.066 107.066 0 0 1 10.752-28.757 8.534 8.534 0 0 0-2.304-10.923 98.766 98.766 0 0 1-9.216-7.851 92.567 92.567 0 0 1-20.053-28.843 89.437 89.437 0 0 1-7.339-35.413 87.726 87.726 0 0 1 10.069-40.107c2.219-4.096 4.437-8.107 6.997-12.117a8.536 8.536 0 0 0 0-9.387l-17.835-28.416-17.067-27.392a24.148 24.148 0 0 0-7.906-7.906c-11.358-6.992-26.233-3.452-33.225 7.906l-50.176 80.64c-11.264 18.091-22.869 36.779-34.901 54.784l-3.413 5.035A698.15 698.15 0 0 0 39 275.935a158.81 158.81 0 0 0-17.664 72.96 160.509 160.509 0 0 0 13.056 63.659 165.287 165.287 0 0 0 88.661 86.784 167.511 167.511 0 0 0 64.683 12.885 167.509 167.509 0 0 0 64.683-12.8 164.36 164.36 0 0 0 52.907-34.901 162.072 162.072 0 0 0 20.309-24.149 8.532 8.532 0 0 0-3.925-12.8zm-28.331 24.917a147.644 147.644 0 0 1-47.445 31.147 152.92 152.92 0 0 1-116.395 0 148.222 148.222 0 0 1-79.445-77.824 143.623 143.623 0 0 1-11.691-56.917 141.656 141.656 0 0 1 15.701-65.195 688.246 688.246 0 0 1 38.741-62.293l3.413-5.035c12.203-18.176 23.893-37.035 35.243-55.211l50.176-80.725a6.995 6.995 0 0 1 6.059-3.413 7.082 7.082 0 0 1 6.144 3.84l17.067 27.392 14.933 24.064c-1.621 2.56-3.243 5.461-4.864 8.533a104.964 104.964 0 0 0-11.776 48.299 106.408 106.408 0 0 0 8.533 42.155 109.907 109.907 0 0 0 23.808 34.133 136.402 136.402 0 0 0 5.205 4.693 124.263 124.263 0 0 0-9.216 26.965 129.873 129.873 0 0 0-2.901 27.392c.04 48.518 27.402 92.877 70.741 114.688a143.263 143.263 0 0 1-12.031 13.312z"}),n.createElement("path",{fill:"currentColor",d:"M100.014 442.592c-.058 0-.114-.008-.172-.009-.057.001-.113.009-.17.009h.342z"}),n.createElement("path",{fill:"currentColor",d:"M105.646 428a112.632 112.632 0 0 1-24.576-35.755 109.311 109.311 0 0 1-8.533-43.349 107.531 107.531 0 0 1 11.861-49.408 8.533 8.533 0 0 0-3.889-12.306 8.533 8.533 0 0 0-11.216 4.455 124.582 124.582 0 0 0-13.824 57.259 126.296 126.296 0 0 0 10.24 50.091 129.715 129.715 0 0 0 28.331 41.131 8.535 8.535 0 0 0 5.802 2.466 8.527 8.527 0 0 0 5.853-2.515 8.534 8.534 0 0 0-.049-12.069zM419.161 140.597a456.86 456.86 0 0 0-26.453-42.155l-1.707-2.475C381.443 82.4 372.91 68.149 364.377 54.41L335.79 8.757a18.69 18.69 0 0 0-5.896-5.896c-8.742-5.486-20.277-2.846-25.763 5.896L275.63 54.41c-8.533 14.08-17.408 27.989-26.453 41.899-6.997 10.155-14.08 20.565-20.395 31.232-2.56 4.096-5.12 8.448-7.68 13.312a104.964 104.964 0 0 0-11.776 48.299 106.408 106.408 0 0 0 8.533 42.155 109.918 109.918 0 0 0 23.808 34.133 115.197 115.197 0 0 0 10.752 9.216 8.533 8.533 0 0 0 5.12 1.707l1.877-.256a8.532 8.532 0 0 0 5.717-4.267 110.25 110.25 0 0 1 42.155-43.435 112.64 112.64 0 0 1 106.581-2.389 8.533 8.533 0 0 0 12.117-4.95 105.041 105.041 0 0 0-6.825-80.469zm-7.083 65.707a129.795 129.795 0 0 0-113.408 7.253 127.305 127.305 0 0 0-43.349 41.387l-1.792-1.707a92.567 92.567 0 0 1-20.053-28.843 89.437 89.437 0 0 1-7.339-35.413 87.734 87.734 0 0 1 9.813-40.363c2.219-3.84 4.523-8.192 7.168-12.373 6.144-10.411 13.141-20.651 20.053-30.72 9.387-13.824 18.432-28.16 26.965-42.069l28.501-45.397a1.536 1.536 0 0 1 1.365-.768 1.535 1.535 0 0 1 1.365.768l27.904 45.312c8.619 13.909 17.579 28.245 26.965 42.069l1.707 2.475a443.768 443.768 0 0 1 25.6 40.533 87.883 87.883 0 0 1 8.535 57.856z"}),n.createElement("path",{fill:"currentColor",d:"M277.337 228.746a58.176 58.176 0 0 1-12.629-18.091 54.768 54.768 0 0 1-4.437-21.675 53.425 53.425 0 0 1 5.973-24.576c1.707-3.157 3.499-6.4 5.632-9.728l.512-.853a8.533 8.533 0 0 0-2.894-12.242 8.533 8.533 0 0 0-11.613 3.282l-.512.768c-2.219 3.584-4.352 7.253-6.229 10.837a70.656 70.656 0 0 0-7.936 32.512 71.854 71.854 0 0 0 5.888 28.501 75.615 75.615 0 0 0 16.299 23.467 8.531 8.531 0 0 0 5.973 2.389v.085a8.533 8.533 0 0 0 5.973-14.676z"}),n.createElement("path",{fill:"currentColor",d:"M421.721 210.826a129.961 129.961 0 0 0-123.051 2.731 127.233 127.233 0 0 0-48.64 50.176 124.24 124.24 0 0 0-12.459 33.365 129.873 129.873 0 0 0-2.901 27.392c0 70.692 57.308 128 128 128 47.899.071 91.829-26.606 113.855-69.14 32.508-62.775 7.971-140.016-54.804-172.524zM362.67 435.424c-61.267 0-110.933-49.667-110.933-110.933.006-8.004.864-15.985 2.56-23.808a107.209 107.209 0 0 1 10.752-28.843c19.355-35.894 56.842-58.275 97.621-58.283 61.267 0 110.933 49.666 110.933 110.933S423.937 435.424 362.67 435.424z"}),n.createElement("path",{fill:"currentColor",d:"M392.707 244.704a16.296 16.296 0 0 0-11.947-5.205h-36.267a16.296 16.296 0 0 0-11.947 5.205 15.274 15.274 0 0 0-4.011 11.52l6.4 79.531c.796 8.194 7.725 14.419 15.957 14.336h23.552c8.086.105 14.958-5.885 15.957-13.909l6.4-79.957a15.26 15.26 0 0 0-4.094-11.521zm-19.114 88.32h-21.675l-6.315-76.8h34.133l-6.143 76.8zM367.107 367.157h-8.96c-11.621.047-21.031 9.456-21.077 21.077v9.045c.047 11.621 9.456 21.031 21.077 21.077h9.045c11.654-.047 21.077-9.508 21.077-21.163v-8.96c-.046-11.653-9.507-21.076-21.162-21.076zm4.096 30.037a4.097 4.097 0 0 1-4.011 4.011h-8.96a4.097 4.097 0 0 1-4.011-4.011v-8.96a4.097 4.097 0 0 1 4.011-4.011h8.96a4.097 4.097 0 0 1 4.011 4.011v8.96z"}))}function qn(i){return n.createElement("svg",{viewBox:"0 0 512.002 512.002",...i},n.createElement("path",{d:"M481.929 324.35c0 65.951-53.464 119.415-119.415 119.415a111.938 111.938 0 0 1-17.059-1.279c-58.735-8.478-102.33-58.795-102.356-118.135-.017-59.375 43.595-109.742 102.356-118.221a125.333 125.333 0 0 1 17.059-1.194c65.951-.001 119.415 53.462 119.415 119.414z",fill:"#c52828"}),n.createElement("path",{d:"M447.81 324.35c-.026 59.341-43.621 109.657-102.356 118.135-58.735-8.478-102.33-58.795-102.356-118.135-.017-59.375 43.595-109.742 102.356-118.221 58.77 8.487 102.373 58.846 102.356 118.221z",fill:"#f44335"}),n.createElement("g",{fill:"#fdd834"},n.createElement("path",{d:"M374.285 341.409h-23.542a7.251 7.251 0 0 1-7.421-6.397l-6.397-79.923a7.174 7.174 0 0 1 6.807-7.506c.205-.009.409-.009.614 0h36.251a7.16 7.16 0 0 1 7.421 6.892c.009.205.009.409 0 .614l-6.397 79.923a7.249 7.249 0 0 1-7.336 6.397zM357.993 375.527h9.041c6.926 0 12.539 5.612 12.539 12.539v9.041c0 6.926-5.612 12.539-12.539 12.539h-9.041c-6.926 0-12.539-5.612-12.539-12.539v-9.041c0-6.926 5.621-12.539 12.539-12.539z"})),n.createElement("path",{d:"M318.415 435.235a153.553 153.553 0 0 1-19.192 22.859 157.081 157.081 0 0 1-50.154 33.095 159.575 159.575 0 0 1-61.413 12.283 149.268 149.268 0 0 1-20.556-1.365 155.17 155.17 0 0 1-40.857-10.833 156.698 156.698 0 0 1-84.017-82.311 152.753 152.753 0 0 1-12.368-60.219 150.27 150.27 0 0 1 17.059-69.005 752.602 752.602 0 0 1 42.648-68.237c15.268-22.774 29.513-46.145 44.013-69.346l34.119-54.504 7.335-11.771c4.504-7.353 14.117-9.656 21.469-5.143a15.525 15.525 0 0 1 5.143 5.143l34.716 55.869c-2.644 4.18-5.032 8.53-7.335 12.709a96.424 96.424 0 0 0-11.515 44.439 98.026 98.026 0 0 0 8.018 38.725 100.313 100.313 0 0 0 21.921 31.56 106.83 106.83 0 0 0 9.98 8.53 115.344 115.344 0 0 0-11.6 31.048 120.546 120.546 0 0 0-2.729 25.589c.041 48.9 29.878 92.828 75.315 110.885z",fill:"#0377bc"}),n.createElement("path",{d:"M277.217 435.235a153.553 153.553 0 0 1-19.192 22.859 157.081 157.081 0 0 1-50.154 33.095 158.847 158.847 0 0 1-40.772 10.833 155.17 155.17 0 0 1-40.857-10.833 156.698 156.698 0 0 1-84.017-82.311 152.657 152.657 0 0 1-12.368-60.134 150.27 150.27 0 0 1 17.059-69.005 752.602 752.602 0 0 1 42.648-68.237c15.268-22.774 29.513-46.145 44.013-69.346l34.119-54.504c9.212 14.671 18.339 29.427 27.465 44.098-2.644 4.18-5.032 8.53-7.335 12.709a96.502 96.502 0 0 0-10.833 44.354 98.026 98.026 0 0 0 8.018 38.725 100.313 100.313 0 0 0 21.921 31.56 106.83 106.83 0 0 0 9.98 8.53 115.323 115.323 0 0 0-12.283 31.133 120.546 120.546 0 0 0-2.729 25.589c.043 48.9 29.88 92.828 75.317 110.885z",fill:"#02a9f4"}),n.createElement("path",{d:"M411.388 144.545a477.911 477.911 0 0 0-27.636-43.842c-9.894-14.586-19.192-29.598-28.489-44.525L328.395 13.53c-3.037-4.708-9.323-6.065-14.031-3.028a10.259 10.259 0 0 0-3.028 3.028l-12.794 20.215-14.074 22.433c-9.297 14.927-18.595 29.939-28.489 44.525-6.994 10.236-13.989 20.471-20.301 31.133-2.644 4.18-5.032 8.53-7.335 12.709a96.502 96.502 0 0 0-10.833 44.354 98.758 98.758 0 0 0 29.939 70.284 106.83 106.83 0 0 0 9.98 8.53 119.423 119.423 0 0 1 84.017-60.902 114.9 114.9 0 0 1 21.068-1.877c5.186.009 10.372.324 15.524.938a119.369 119.369 0 0 1 39.578 12.539 96.462 96.462 0 0 0-6.228-73.866z",fill:"#0377bc"}),n.createElement("path",{d:"M379.573 188.899a93.046 93.046 0 0 1-1.535 17.059 131.537 131.537 0 0 0-15.524-1.024 114.797 114.797 0 0 0-21.068 1.877 119.425 119.425 0 0 0-84.017 60.902 106.96 106.96 0 0 1-9.98-8.53c-31.099-29.743-38.878-76.417-19.106-114.638 2.303-4.35 4.691-8.53 7.335-12.709 6.312-10.662 13.306-20.898 20.301-31.133 9.894-14.586 19.192-29.598 28.489-44.525l14.074-22.433 14.074 22.433c9.297 14.927 18.595 29.939 28.489 44.525a477.911 477.911 0 0 1 27.636 43.842 96.401 96.401 0 0 1 10.832 44.354z",fill:"#02a9f4"}),n.createElement("path",{d:"M187.656 512.002a167.398 167.398 0 0 1-64.655-12.88 165.226 165.226 0 0 1-88.623-86.746 160.466 160.466 0 0 1-13.05-63.631 158.81 158.81 0 0 1 17.656-72.928 698.388 698.388 0 0 1 39.663-63.887l3.412-5.032c12.027-17.998 23.627-36.677 34.886-54.76L167.1 71.531c6.986-11.353 21.861-14.893 33.214-7.898a24.1 24.1 0 0 1 7.898 7.898l17.059 27.38 17.827 28.404a8.521 8.521 0 0 1 0 9.383c-2.559 4.009-4.777 8.018-6.994 12.112a87.69 87.69 0 0 0-10.065 40.089 89.456 89.456 0 0 0 7.335 35.398 92.438 92.438 0 0 0 20.045 28.83 99.608 99.608 0 0 0 9.212 7.847 8.534 8.534 0 0 1 2.303 10.918 106.955 106.955 0 0 0-10.747 28.745 112.483 112.483 0 0 0-2.559 23.712c.009 45.429 27.721 86.26 69.943 103.038 4.393 1.706 6.559 6.653 4.853 11.046a8.584 8.584 0 0 1-.93 1.749 162.407 162.407 0 0 1-20.301 24.139 164.29 164.29 0 0 1-52.884 34.886 167.489 167.489 0 0 1-64.653 12.795zm0-435.012a6.99 6.99 0 0 0-6.056 3.412l-50.154 80.69c-11.344 18.168-23.03 37.019-35.227 55.187l-3.412 5.032a687.543 687.543 0 0 0-38.725 62.266 141.613 141.613 0 0 0-15.695 65.166 143.56 143.56 0 0 0 11.686 56.893 148.16 148.16 0 0 0 79.411 77.79 152.855 152.855 0 0 0 116.344 0 147.616 147.616 0 0 0 47.425-31.133 143.446 143.446 0 0 0 12.027-13.306c-43.322-21.802-70.668-66.139-70.711-114.638a129.576 129.576 0 0 1 2.9-27.38 124.357 124.357 0 0 1 9.212-26.954 136.293 136.293 0 0 1-5.203-4.691 109.87 109.87 0 0 1-23.798-34.119 106.411 106.411 0 0 1-8.53-42.136c0-16.803 4.035-33.359 11.771-48.278 1.621-3.071 3.241-5.971 4.862-8.53l-14.927-24.054-17.059-27.38a7.087 7.087 0 0 0-6.141-3.837z"}),n.createElement("path",{d:"M99.971 442.4A8.521 8.521 0 0 1 94 439.926a129.631 129.631 0 0 1-28.318-41.113 126.28 126.28 0 0 1-10.236-50.069 124.503 124.503 0 0 1 13.818-57.234c1.868-4.325 6.883-6.32 11.208-4.452s6.32 6.883 4.452 11.208c-.162.375-.35.742-.563 1.092a107.494 107.494 0 0 0-11.856 49.387 109.211 109.211 0 0 0 8.53 43.331 112.626 112.626 0 0 0 24.565 35.739c3.344 3.318 3.369 8.717.051 12.061a8.549 8.549 0 0 1-6.022 2.525l.342-.001zM257.428 276.242a8.526 8.526 0 0 1-5.118-1.706 115.222 115.222 0 0 1-10.747-9.212 109.87 109.87 0 0 1-23.798-34.119 106.411 106.411 0 0 1-8.53-42.136c0-16.803 4.035-33.359 11.771-48.278 2.559-4.862 5.118-9.212 7.677-13.306 6.312-10.662 13.392-21.068 20.386-31.218 9.041-13.903 17.912-27.807 26.442-41.881L304 8.753c5.485-8.734 17.017-11.379 25.751-5.894a18.698 18.698 0 0 1 5.894 5.894l28.574 45.634c8.53 13.733 17.059 27.977 26.612 41.539l1.706 2.474a457.473 457.473 0 0 1 26.442 42.136 104.968 104.968 0 0 1 6.824 80.434c-1.433 4.487-6.235 6.969-10.722 5.536a8.282 8.282 0 0 1-1.39-.589 112.612 112.612 0 0 0-106.535 2.388 110.28 110.28 0 0 0-42.136 43.416 8.52 8.52 0 0 1-5.715 4.265l-1.877.256zm62.437-258.959a1.541 1.541 0 0 0-1.365.768l-28.489 45.378c-8.53 13.903-17.571 28.233-26.954 42.051-6.909 10.065-13.903 20.301-20.045 30.707-2.644 4.18-4.947 8.53-7.165 12.368a87.722 87.722 0 0 0-9.809 40.345 89.456 89.456 0 0 0 7.335 35.398 92.438 92.438 0 0 0 20.045 28.83l1.791 1.706a127.216 127.216 0 0 1 43.331-41.369 129.73 129.73 0 0 1 113.359-7.25 87.904 87.904 0 0 0-8.53-57.831 444.102 444.102 0 0 0-25.589-40.516l-1.706-2.474c-9.383-13.818-18.339-28.148-26.954-42.051L321.23 18.05a1.532 1.532 0 0 0-1.365-.767z"}),n.createElement("path",{d:"M271.246 243.233a8.519 8.519 0 0 1-5.971-2.388 75.502 75.502 0 0 1-16.292-23.456 71.923 71.923 0 0 1-5.885-28.489 70.537 70.537 0 0 1 7.933-32.498c1.877-3.582 4.009-7.25 6.227-10.833l.512-.768a8.538 8.538 0 0 1 11.609-3.284 8.538 8.538 0 0 1 3.284 11.609 6.997 6.997 0 0 1-.392.631l-.512.853c-2.132 3.327-3.924 6.568-5.63 9.724a53.307 53.307 0 0 0-5.971 24.565 54.816 54.816 0 0 0 4.435 21.665 58.198 58.198 0 0 0 12.624 18.083c3.395 3.267 3.489 8.666.222 12.061a8.518 8.518 0 0 1-6.193 2.61v-.085z"}),n.createElement("path",{d:"M362.514 452.294c-70.66 0-127.945-57.285-127.945-127.945a129.576 129.576 0 0 1 2.9-27.38 123.98 123.98 0 0 1 12.453-33.351 127.15 127.15 0 0 1 48.619-50.154c37.94-21.495 84.136-22.518 122.997-2.729 62.744 32.489 87.275 109.7 54.777 172.452-22.005 42.512-65.916 69.184-113.801 69.107zm0-238.83c-40.763.009-78.234 22.382-97.579 58.257a107.238 107.238 0 0 0-10.747 28.83 112.818 112.818 0 0 0-2.559 23.798c0 61.243 49.643 110.885 110.885 110.885s110.885-49.642 110.885-110.885-49.643-110.885-110.885-110.885z"}),n.createElement("path",{d:"M374.285 349.939h-23.542c-8.231.085-15.157-6.141-15.95-14.33l-6.397-79.496a15.26 15.26 0 0 1 4.009-11.515 16.312 16.312 0 0 1 11.942-5.203h36.251a16.31 16.31 0 0 1 11.941 5.203 15.27 15.27 0 0 1 4.094 11.515l-6.397 79.923c-.999 8.026-7.865 14.013-15.951 13.903zm-22.519-17.06h21.665l6.141-76.767h-34.119l6.313 76.767zM367.034 418.176h-9.041c-11.617-.043-21.026-9.451-21.068-21.068v-9.041c.043-11.617 9.451-21.026 21.068-21.068h8.956c11.651 0 21.102 9.417 21.153 21.068v8.956c.001 11.651-9.416 21.11-21.068 21.153zm-8.956-34.119a4.095 4.095 0 0 0-4.009 4.009v8.956a4.095 4.095 0 0 0 4.009 4.009h8.956a4.095 4.095 0 0 0 4.009-4.009v-8.956a4.095 4.095 0 0 0-4.009-4.009h-8.956z"}))}function a4e(i){return n.createElement("svg",{viewBox:"0 0 512 512",...i},n.createElement("path",{fill:"currentColor",d:"M462,226c-5.52,0-10,4.48-10,10s4.48,10,10,10c5.52,0,10-4.48,10-10S467.52,226,462,226z"}),n.createElement("path",{fill:"currentColor",d:"M50,226c-5.52,0-10,4.48-10,10s4.48,10,10,10s10-4.48,10-10S55.52,226,50,226z"}),n.createElement("path",{fill:"currentColor",d:`M502,126h-0.027C508.265,117.637,512,107.248,512,96c0-27.57-22.43-50-50-50s-50,22.43-50,50 - c0,11.248,3.735,21.637,10.027,30H422c-5.522,0-10,4.478-10,10v50.03c-7.399,0.025-17.158,0.065-23,0.113V166.63 - c0-5.522-4.478-10-10-10c-5.522,0-10,4.478-10,10v12.435c-0.931-0.964-1.899-2.045-2.923-3.258 - c-10.745-12.754-24.515-23.761-40.077-32.106V121.83c0-5.522-4.478-10-10-10c-5.522,0-10,4.478-10,10v12.983 - c-12.92-4.643-26.438-7.5-40-8.448V96c0-5.522-4.478-10-10-10c-5.522,0-10,4.478-10,10v30.365 - c-13.565,0.948-27.084,3.807-40,8.452V120.17c0-5.522-4.477-10-10-10s-10,4.478-10,10v23.542 - c-15.764,8.457-29.695,19.652-40.55,32.652c-0.758,0.908-1.587,1.755-2.45,2.566v-12.3c0-5.522-4.477-10-10-10s-10,4.478-10,10 - v20.385c-4.189,0.067-14.913,0.05-23,0.024V136c0-5.522-4.477-10-10-10h-0.027C96.265,117.637,100,107.248,100,96 - c0-27.57-22.43-50-50-50S0,68.43,0,96c0,11.248,3.735,21.637,10.027,30H10c-5.523,0-10,4.478-10,10v320c0,5.522,4.477,10,10,10h80 - c5.523,0,10-4.478,10-10v-11h312v11c0,5.522,4.478,10,10,10h80c5.522,0,10-4.478,10-10V136C512,130.478,507.522,126,502,126z - M80,446H20V146h20v50c0,5.522,4.477,10,10,10s10-4.478,10-10v-50h20V446z M50,126c-16.542,0-30-13.458-30-30s13.458-30,30-30 - s30,13.458,30,30S66.542,126,50,126z M123,425h-23v-19h23V425z M123,386h-23V247h23V386z M123,227h-23v-19.959 - c3.808,0.011,8.197,0.022,12.244,0.022c4.378,0,8.351-0.012,10.756-0.046V227z M186,425h-43v-19h43V425z M186,276v40v70h-43 - V244.817c16.149-3.513,31.29-11.046,43-21.321V276z M186,194.605c-2.373,2.327-4.659,4.785-6.815,7.365 - c-8.521,10.2-21.771,18.214-36.185,22.224v-21.525c6.846-3.098,13.007-7.736,17.806-13.49c7.006-8.391,15.56-15.917,25.194-22.232 - V194.605z M206,156.285c12.757-5.415,26.344-8.765,40-9.871v20.099c-14.162,1.416-27.777,5.83-40,12.895V156.285z M206,203.562 - c11.538-9.26,25.37-15.088,40-16.922V266h-40V203.562z M246,425h-40v-19h40V425z M246,386h-40v-60h40V386z M306,425h-40v-19h40 - V425z M306,386h-40v-60h40V386z M306,306H206v-20h100V306z M306,266h-40v-79.359c14.617,1.835,28.449,7.664,40,16.924V266z - M306,179.418c-12.232-7.071-25.847-11.487-40-12.904v-20.1c13.651,1.106,27.238,4.454,40,9.865V179.418z M369,425h-43v-19h43V425 - z M369,386h-43v-70v-40v-52.635c11.722,10.137,26.674,17.329,43,20.634V386z M369,223.458 - c-14.663-3.788-27.83-11.575-36.517-21.887c-2.039-2.417-4.216-4.742-6.483-6.965v-27.672c9.465,6.201,17.88,13.567,24.789,21.767 - c4.64,5.496,10.324,11.234,18.211,14.57V223.458z M412,425h-23v-19h23V425z M412,386h-23V246h23V386z M412,226h-23v-19.856 - c5.683-0.048,15.526-0.088,23-0.113V226z M492,446h-60V146h20v50c0,5.522,4.478,10,10,10c5.522,0,10-4.478,10-10v-50h20V446z - M462,126c-16.542,0-30-13.458-30-30s13.458-30,30-30s30,13.458,30,30S478.542,126,462,126z`}))}function Hje(i){return n.createElement("svg",{viewBox:"0 0 512 512",...i},n.createElement("path",{fill:"currentColor",d:"M391,362h77.417L440.989,58.467C438.075,26.229,409.37,0,377,0H135c-32.37,0-61.075,26.229-63.989,58.467L43.583,362H121v30 H91v120h330V392h-30V362z M135,30h242c16.963,0,32.584,14.273,34.11,31.167L416.427,120H95.573l5.316-58.833 C102.416,44.273,118.037,30,135,30z M92.862,150h326.275l16.446,182H76.416L92.862,150z M151,362h210v30H151V362z M241,422v60h-45 v-60H241z M271,422h45v60h-45V422z M121,422h45v60h-45V422z M391,482h-45v-60h45V482z"}))}function Vje(i){return n.createElement("svg",{width:170,height:170,viewBox:"-20 -20 190 190",...i},n.createElement("path",{className:"path stOff",d:"M0 109v36.3c0 5.3 3.7 9.7 8.3 9.7h50.1v-23h37v23H153V84H0l28.4-29V13h18.1v24l30-37 66.2 69",fill:"none"}))}function c4e(i){return n.createElement("svg",{viewBox:"0 0 511.448 511.448",...i},n.createElement("path",{d:"M344.556 112.216C318.38 78.84 291.34 44.344 269.516 7.32c-5.76-9.76-21.824-9.76-27.552 0-21.856 37.024-48.896 71.52-75.072 104.896-53.056 67.68-103.168 131.616-103.168 207.232 0 105.888 86.112 192 192 192s192-86.112 192-192c0-75.616-50.112-139.552-103.168-207.232z",fill:"#2196f3"}),n.createElement("g",{fill:"#fafafa"},n.createElement("path",{d:"M207.724 287.448c-26.464 0-48-21.536-48-48s21.536-48 48-48 48 21.536 48 48-21.536 48-48 48zm0-64c-8.832 0-16 7.168-16 16s7.168 16 16 16 16-7.168 16-16-7.168-16-16-16zM303.724 447.448c-26.464 0-48-21.536-48-48s21.536-48 48-48 48 21.536 48 48-21.536 48-48 48zm0-64c-8.8 0-16 7.2-16 16s7.2 16 16 16 16-7.2 16-16-7.2-16-16-16zM175.724 415.448a16.07 16.07 0 0 1-11.328-4.672c-6.24-6.24-6.24-16.384 0-22.624l160-160c6.24-6.24 16.384-6.24 22.624 0s6.24 16.384 0 22.624l-160 160a15.943 15.943 0 0 1-11.296 4.672z"})))}function Zje(i){return n.createElement("svg",{viewBox:"-20 -20 190 190",...i},n.createElement("defs",null,n.createElement("filter",{id:"glow",x:"-5000%",y:"-5000%",width:"10000%",height:"10000%"},n.createElement("feFlood",{result:"flood",floodColor:"#70C5FF",floodOpacity:"1"}),n.createElement("feComposite",{in:"flood",result:"mask",in2:"SourceGraphic",operator:"in"}),n.createElement("feMorphology",{in:"mask",result:"dilated",operator:"dilate",radius:"2"}),n.createElement("feGaussianBlur",{in:"dilated",result:"blurred",stdDeviation:"5"}),n.createElement("feMerge",null,n.createElement("feMergeNode",{in:"blurred"}),n.createElement("feMergeNode",{in:"SourceGraphic"})))),n.createElement("path",{style:{stroke:"currentColor",fill:"none",strokeWidth:12,strokeLinejoin:"round",strokeMiterlimit:10},filter:i.isOn?"url(#glow)":"",className:"path",d:"M0,109v36.3c0,5.3,3.7,9.7,8.3,9.7h50.1v-23h37v23H153V84H0l28.4-29V13h18.1v24L76.5,0l66.2,69"}))}function ea(i){return n.createElement("svg",{viewBox:"0 0 508.16 508.16",...i},n.createElement("path",{d:"M504.18 13.67a3.924 3.924 0 0 0-.42.02H4a4 4 0 0 0-4 4v47.28a4 4 0 0 0 4 4h19.72l-13.44 42.04a4 4 0 0 0 3.8 5.24h9.64l-13.44 42.04a4 4 0 0 0 3.8 5.24h9.64l-13.44 42.04a4 4 0 0 0 3.8 5.24h9.64l-13.44 42.04a4 4 0 0 0 3.8 5.24h9.64l-13.44 42.08a4 4 0 0 0 .56 3.56 4 4 0 0 0 3.24 1.64h9.64l-13.44 42.08a4 4 0 0 0 .56 3.56 4 4 0 0 0 3.24 1.64h9.64l-13.44 42.08a4 4 0 0 0 .56 3.56 4 4 0 0 0 3.24 1.64h9.64l-13.44 42.16a4 4 0 0 0 .56 3.56 4 4 0 0 0 3.24 1.64h9.64l-13.44 42a4 4 0 0 0 .56 3.56 4 4 0 0 0 3.24 1.64h479.8a4 4 0 0 0 3.24-1.64 4 4 0 0 0 .56-3.56l-13.44-42.08h9.64a4 4 0 0 0 3.24-1.64 4 4 0 0 0 .56-3.56l-13.44-42.08h9.64a4 4 0 0 0 3.24-1.64 4 4 0 0 0 .56-3.56l-13.44-42.08h9.64a4 4 0 0 0 3.24-1.64 4 4 0 0 0 .56-3.56l-13.44-42.08h9.64a4 4 0 0 0 3.24-1.64 4 4 0 0 0 .56-3.56l-13.64-42.08h9.84a4 4 0 0 0 4-5.24l-13.44-42.04h9.44a4 4 0 0 0 4-5.24l-13.44-42.04h9.44a4 4 0 0 0 4-5.24l-13.44-42.04h9.44a4 4 0 0 0 4-5.24l-13.44-42.04h19.72a4 4 0 0 0 4-4V17.69a4 4 0 0 0-3.98-4.02zM99.08 486.49H19.56l12.56-39.28h66.96v39.28zm0-47.28H19.56l12.56-39.28h66.96v39.28zm0-47.28H19.56l12.56-39.28h66.96v39.28zm0-47.28H19.56l12.56-39.28h66.96v39.28zm0-47.28H19.56l12.56-39.28h66.96v39.28zm0-47.28H19.56l12.56-39.28h66.96v39.28zm0-47.28H19.56l12.56-39.28h66.96v39.28zm0-47.28H19.56l12.56-39.28h66.96v39.28zm0-47.28H19.56l12.56-39.28h66.96v39.28zm26.8 378.24h-18.8v-39.28h18.8v39.28zm0-47.28h-18.8v-39.28h18.8v39.28zm0-47.28h-18.8v-39.28h18.8v39.28zm0-47.28h-18.8v-39.28h18.8v39.28zm0-47.28h-18.8v-39.28h18.8v39.28zm0-47.28h-18.8v-39.28h18.8v39.28zm0-47.28h-18.8v-39.28h18.8v39.28zm0-47.28h-18.8v-39.28h18.8v39.28zm.16-47.28h-18.96V68.97h18.96v39.28zm247.84 378.24h-240v-39.28h240v39.28zm-240-47.28v-39.28h239.68v39.28H133.88zm240-47.28h-240v-39.28h240v39.28zm0-47.28h-240v-39.28h240v39.28zm0-47.28h-240v-39.28h240v39.28zm0-47.28h-240v-39.28h240v39.28zm0-47.28h-240v-39.28h240v39.28zm0-47.28h-240v-39.28h240v39.28zm-240-47.28V68.97h239.84v39.28H133.88zm266.64 378.24h-18.64l-.32-39.28h18.96v39.28zm0-47.28h-18.96v-39.28h18.96v39.28zm0-47.28h-18.96v-39.28h18.96v39.28zm0-47.28h-18.96v-39.28h18.96v39.28zm.32-47.28h-18.96v-39.28h18.96v39.28zm0-47.28h-18.96v-39.28h18.96v39.28zm0-47.28h-18.96v-39.28h18.96v39.28zm0-47.28h-18.96v-39.28h18.96v39.28zm-18.96-47.28V68.97h18.8v39.28h-18.8zm63.56 8v39.28h-36.92v-39.28h36.92zm-36.76-8V68.97h36.92v39.28h-36.92zm36.76 55.28v39.28h-36.92v-39.28h36.92zm0 47.28v39.28h-36.92v-39.28h36.92zm0 47.28v39.28h-36.92v-39.28h36.92zm0 47.28v39.28h-36.76l-.16-39.28h36.92zm42.68 181.12h-79.44v-39.28h66.96l12.48 39.28zm0-47.28h-79.44v-39.28h66.96l12.48 39.28zm0-47.28h-79.44v-39.28h36.92v17.44a4 4 0 0 0 8 0v-17.44h22.04l12.48 39.28zm0-47.28h-34.6v-39.28h22.04l12.56 39.28zm0-47.28h-34.6v-39.28h22.04l12.56 39.28zm0-47.28h-34.6v-39.28h22.04l12.56 39.28zm0-47.28h-34.6v-39.28h22.04l12.56 39.28zm0-47.28h-34.6v-39.28h22.04l12.56 39.28zm0-47.28h-34.6V68.97h22.04l12.56 39.28zm11.56-47.28H8V21.69h491.76l-.08 39.28z",fill:"currentColor"}),n.createElement("path",{d:"M454.32 37.33h-13.76a4 4 0 0 0 0 8h13.76a4 4 0 0 0 0-8zM414.84 37.33h-96a4 4 0 0 0 0 8h96a4 4 0 0 0 0-8z",fill:"currentColor"}))}function Xje(i){return n.createElement("svg",{viewBox:"0 0 230 230",...i},n.createElement("ellipse",{fill:"#2979ff",stroke:"#2979ff",strokeWidth:"1.5",cx:"112.9",cy:"114",rx:"112",ry:"112"}),n.createElement("ellipse",{fill:"#40c4ff",strokeWidth:"1.5",cx:"112.900006",cy:"113.999995",rx:"73.684216",ry:"73.684216",stroke:"#40c4ff"}),n.createElement("ellipse",{fill:"#ffffff",strokeWidth:"1.5",cx:"112.900003",cy:"114",rx:"33.578948",ry:"33.578948",stroke:"#ffffff"}))}function Kje(i){return n.createElement("svg",{viewBox:"0 0 24.986 24.986",...i},n.createElement("g",{fill:"currentColor"},n.createElement("path",{fill:"currentColor",d:"M17.548 17.961l-.771-.769s-1.225 1.305-1.304 1.305c-.081 0-1.308-1.305-1.308-1.305l-.771.769s1.306 1.198 1.306 1.308c0 .106-1.306 1.308-1.306 1.308l.771.767s1.217-1.305 1.308-1.305c.089 0 1.304 1.305 1.304 1.305l.771-.767s-1.307-1.218-1.307-1.308c.001-.092 1.307-1.308 1.307-1.308z"}),n.createElement("path",{fill:"currentColor",d:"M15.472 14.435a4.832 4.832 0 0 0 0 9.661 4.83 4.83 0 0 0 0-9.661zm0 8.913a4.083 4.083 0 0 1-4.081-4.082 4.079 4.079 0 0 1 4.081-4.081 4.083 4.083 0 0 1 0 8.163z"}),n.createElement("circle",{fill:"currentColor",cx:10.06,cy:2.207,r:2.207}),n.createElement("path",{fill:"currentColor",d:"M10.2 20.476v3.26l.009.009a1.25 1.25 0 0 0 1.251 1.238c.643 0 1.167-.487 1.236-1.11-.083-.052-.173-.093-.253-.146a5.425 5.425 0 0 1-2.243-3.251z"}),n.createElement("path",{fill:"currentColor",d:"M12.455 14.724c.08-.057.168-.097.253-.146l-.002-6.687h.606V12.945c0 .516.417.932.932.932a.931.931 0 0 0 .933-.932V7.51c-.206-2.42-3.013-2.385-3.013-2.385H7.74c-3.168.06-3.055 2.385-3.055 2.385l-.001 5.428h.003c-.002.014-.002.025-.002.04a.932.932 0 1 0 1.861 0l-.001-.04h.001V7.914h.584l-.007 15.811c0 .693.562 1.261 1.257 1.261s1.257-.565 1.257-1.261V13.523h.562v4.457a5.414 5.414 0 0 1 2.256-3.256z"})))}function u4e(i){return n.createElement("svg",{viewBox:"0 0 63.907 63.907",fill:"currentColor",...i},n.createElement("circle",{fill:"currentColor",cx:30.515,cy:6.136,r:6.136}),n.createElement("path",{fill:"currentColor",d:"M47.399 27.455C42.346 24.53 38.2 20.579 34.71 15.931c-2.193-3.084-7.991-2.923-10.347-.097-3.584 3.487-6.625 7.081-9.037 10.677a3.209 3.209 0 0 0 5.329 3.573 54.205 54.205 0 0 1 3.59-4.734c-.051 3.333.116 9.347.2 12.05.028.9-.177 1.78-.595 2.579-3.308 6.317-5.424 12.294-7.572 19.606a3.37 3.37 0 1 0 6.465 1.901c1.982-6.742 3.897-12.201 6.884-17.981.152.006.304.006.458-.001 1.907 5.69 3.815 11.383 5.725 17.073 1.387 4.147 7.822 1.993 6.431-2.155-2.087-6.221-4.171-12.439-6.251-18.659-.121-.357-.414-1.755-.455-2.211-.344-3.832-.469-7.652-.432-11.477a51.027 51.027 0 0 0 9.782 7.328c3.597 2.088 6.063-3.891 2.514-5.948z"}))}function l4e(i){return n.createElement("svg",{viewBox:"0 0 285 285",...i},n.createElement("g",null,n.createElement("path",{fill:"currentColor",d:`M88.4,87.996c2.525-2.146,2.832-5.933,0.687-8.458C82.801,72.144,79.34,62.719,79.34,53c0-22.607,18.393-41,41-41 - c22.607,0,41,18.393,41,41c0,9.729-3.467,19.161-9.761,26.557c-2.148,2.523-1.843,6.311,0.681,8.458 - c1.129,0.961,2.511,1.431,3.886,1.431c1.698,0,3.386-0.717,4.572-2.111C168.858,77.77,173.34,65.576,173.34,53 - c0-29.225-23.775-53-53-53c-29.225,0-53,23.775-53,53c0,12.563,4.476,24.748,12.602,34.31C82.089,89.835,85.873,90.141,88.4,87.996 - z`}),n.createElement("path",{fill:"currentColor",d:`M120.186,41.201c13.228,0,23.812,8.105,27.313,19.879c0.761-2.562,1.176-5.271,1.176-8.08 - c0-15.649-12.685-28.335-28.335-28.335c-15.648,0-28.334,12.686-28.334,28.335c0,2.623,0.364,5.16,1.031,7.571 - C96.691,49.076,107.152,41.201,120.186,41.201z`}),n.createElement("path",{fill:"currentColor",d:`M234.21,169.856c-3.769-22.452-19.597-26.04-27.034-26.462c-2.342-0.133-4.516-1.32-5.801-3.282 - c-5.388-8.225-12.609-10.4-18.742-10.4c-4.405,0-8.249,1.122-10.449,1.932c-0.275,0.102-0.559,0.15-0.837,0.15 - c-0.87,0-1.701-0.47-2.163-1.262c-5.472-9.387-13.252-11.809-19.822-11.809c-3.824,0-7.237,0.82-9.548,1.564 - c-0.241,0.077-0.764,0.114-1.001,0.114c-1.256,0-2.637-1.03-2.637-2.376V69.753c0-11.035-8.224-16.552-16.5-16.552 - c-8.276,0-16.5,5.517-16.5,16.552v84.912c0,4.989-3.811,8.074-7.918,8.074c-2.495,0-4.899-1.138-6.552-3.678l-7.937-12.281 - c-3.508-5.788-8.576-8.188-13.625-8.189c-11.412-0.001-22.574,12.258-14.644,25.344l62.491,119.692 - c0.408,0.782,1.225,1.373,2.108,1.373h87.757c1.253,0,2.289-1.075,2.365-2.325l2.196-35.816c0.025-0.413,0.162-0.84,0.39-1.186 - C231.591,212.679,237.828,191.414,234.21,169.856z`})))}function qje(i){return n.createElement("svg",{viewBox:"0 0 384.754 384.754",...i},n.createElement("path",{fill:"currentColor",d:`M214.86,374.508c0,4.971-4.029,9-9,9h-65.01c-4.971,0-9.223-3.57-9.223-8.541V288.87c0-4.971,4.252-9.361,9.223-9.361 - h99.585c4.971,0,9,4.029,9,9s-4.029,9-9,9h-90.808v68h56.232C210.83,365.508,214.86,369.538,214.86,374.508z M136.65,115.508h10 - c4.971,0,9-4.029,9-9s-4.029-9-9-9h-10c-4.971,0-9,4.029-9,9S131.679,115.508,136.65,115.508z M180.947,115.508h10 - c4.97,0,9-4.029,9-9s-4.029-9-9-9h-10c-4.971,0-9,4.029-9,9S175.976,115.508,180.947,115.508z M152.056,142.508c0,4.971,4.029,9,9,9 - h5c4.971,0,9-4.029,9-9s-4.029-9-9-9h-5C156.086,133.508,152.056,137.538,152.056,142.508z M127.875,220.987 - c6.952,11.05,21.072,18.33,36.689,18.33c15.619,0,29.74-7.282,36.691-18.332c12.326,0.961,24.51,6.008,33.264,13.909 - c3.69,3.329,9.381,3.038,12.712-0.651c3.33-3.69,3.038-9.536-0.651-12.866c-12.984-11.718-31.526-18.868-49.6-18.868h-1.237 - c-3.845,0-7.265,2.597-8.513,6.232c-2.119,6.173-10.584,12.499-22.666,12.499c-12.08,0-20.546-6.366-22.667-12.539 - c-1.249-3.636-4.668-6.193-8.512-6.193h-1.236c-30.601,0-59.207,19.216-65.123,43.549L40.6,354.841 - c-0.119,0.442-0.205,0.936-0.255,1.402c-0.124,1.119-0.033,2.244,0.243,3.289c0.245,0.932,0.635,1.814,1.145,2.602 - c1.056,1.635,2.77,2.936,4.713,3.615c0.342,0.119,0.181,0.45,1.181,0.528v0.23c0,0-0.258,0-0.257,0c0.646,0,1.293,0.107,1.93,0.107 - c0.089,0,0.177-0.107,0.266-0.107h54.025c4.971,0,9-4.029,9-9s-4.029-9-9-9H60.743l23.773-97.92 - C88.17,235.565,107.472,222.596,127.875,220.987z M189.97,248.508c-4.971,0-9,4.029-9,9s4.029,9,9,9h31.78c4.971,0,9-4.029,9-9 - s-4.029-9-9-9H189.97z M74.842,100.475c-0.417-4.952,3.259-9.306,8.212-9.723c1.519-0.126,2.98,0.13,4.292,0.692 - c1.424-6.374,3.641-12.519,6.628-18.336c-0.344-0.283-0.681-0.594-0.982-0.93c-0.329-0.366-0.648-0.756-0.91-1.164 - c-0.819-1.275-1.455-2.772-1.455-4.38c0-0.002,0-0.005,0-0.008s0-0.007,0-0.01c0-0.218,0-0.437,0-0.656c0-0.003,0-0.006,0-0.009 - c0-0.001,0-0.003,0-0.004c0-0.301,0.07-0.51,0.105-0.802C94.772,27.947,126.077,0,163.556,0c34.778,0,64.202,23.508,71.492,57.508 - h24.149c4.971,0,9,4.029,9,9s-4.029,9-9,9h-25.056c2.481,5,4.362,10.481,5.62,16.11c1.31-0.562,2.771-0.992,4.293-0.866 - c4.953,0.417,8.631,4.77,8.215,9.723l-1.17,13.92c-0.417,4.952-4.763,8.622-9.723,8.215c-0.326-0.027-0.646-0.072-0.961-0.133 - c-6.549,36.481-38.522,64.25-76.86,64.25c-38.337,0-70.31-27.769-76.858-64.25c-0.314,0.061-0.635,0.104-0.961,0.133 - c-4.945,0.421-9.306-3.261-9.723-8.215L74.842,100.475z M110.646,57.508h105.822c-6.838-23-28.063-39.334-52.912-39.334 - C138.708,18.174,117.483,34.508,110.646,57.508z M103.471,108.857c0,33.132,26.955,59.957,60.086,59.957 - c33.132,0,60.087-26.868,60.087-60c0-12.091-3.508-23.305-10.183-33.305h-99.809C106.977,85.508,103.471,96.765,103.471,108.857z - M344.428,256.584c-0.107-1.239-0.475-2.471-1.114-3.609c-0.174-0.312-0.367-0.614-0.579-0.905l-8.921-12.739 - c-2.851-4.072-8.461-5.063-12.534-2.21c-4.071,2.851-5.062,8.463-2.21,12.534l6.039,8.625l-5.512,11.819 - c-0.003,0.008-0.007,0.015-0.01,0.022l-5.523,12.046l-13.016,1.341c-0.002,0-0.004,0-0.006,0l-13.012,0.936l-7.494-10.805 - c-0.004-0.005-0.007-0.059-0.011-0.064l-7.484-10.715l11.044-23.697l10.49-0.924c4.952-0.434,8.615-4.802,8.182-9.753 - c-0.434-4.952-4.813-8.609-9.75-8.183l-15.495,1.356c-0.355,0.024-0.708,0.069-1.057,0.135c-1.297,0.243-2.487,0.761-3.515,1.485 - c-1.014,0.713-1.893,1.644-2.556,2.764c-0.182,0.306-0.345,0.621-0.49,0.947l-15.289,32.79c-0.16,0.328-0.3,0.664-0.419,1.006 - c-0.43,1.233-0.575,2.51-0.465,3.749c0.108,1.236,0.474,2.463,1.11,3.599c0.176,0.314,0.37,0.62,0.583,0.912l10.376,14.817 - c0.005,0.007,0.01,0.014,0.015,0.021l7.479,10.685l-36.083,77.381c-2.101,4.505-0.151,9.86,4.354,11.961 - c1.23,0.573,2.524,0.845,3.798,0.845c3.39,0,6.636-1.924,8.163-5.198l36.082-77.146l13.012-0.902c0.002,0,0.004,0,0.006,0 - l18.021-1.813c0.358-0.024,0.714-0.188,1.064-0.256c1.292-0.243,2.477-0.817,3.501-1.539c1.014-0.711,1.891-1.669,2.555-2.786 - c0.185-0.309,0.351-0.644,0.497-0.975l7.644-16.398c0.001-0.002,0.002-0.008,0.003-0.009l7.644-16.396 - c0.159-0.326,0.299-0.66,0.417-1.001C344.392,259.102,344.538,257.825,344.428,256.584z`}))}function Sr(i){return n.createElement("svg",{viewBox:"1 -10 511.99999 511",...i},n.createElement("g",{fill:"currentColor"},n.createElement("path",{d:"M 405.5 150 C 405.5 232.566406 338.566406 299.5 256 299.5 C 173.433594 299.5 106.5 232.566406 106.5 150 C 106.5 67.433594 173.433594 0.5 256 0.5 C 338.566406 0.5 405.5 67.433594 405.5 150 Z M 405.5 150 ",style:{stroke:"none",fillRule:"nonzero",fill:"rgb(25.882353%,75.294118%,88.627451%)",fillOpacity:1}}),n.createElement("path",{d:"M 512 342.921875 C 512 425.488281 445.066406 492.421875 362.5 492.421875 C 279.933594 492.421875 213 425.488281 213 342.921875 C 213 260.355469 279.933594 193.421875 362.5 193.421875 C 445.066406 193.421875 512 260.355469 512 342.921875 Z M 512 342.921875 ",style:{stroke:"none",fillRule:"nonzero",fill:"rgb(100%,81.568627%,38.039216%)",fillOpacity:1}}),n.createElement("path",{d:"M 220.746094 295.308594 C 232.050781 298.039062 243.855469 299.5 256 299.5 C 321.917969 299.5 377.871094 256.835938 397.753906 197.613281 C 386.449219 194.878906 374.644531 193.421875 362.5 193.421875 C 296.582031 193.421875 240.628906 236.085938 220.746094 295.308594 Z M 220.746094 295.308594 ",style:{stroke:"none",fillRule:"nonzero",fill:"rgb(28.627451%,74.117647%,56.470588%)",fillOpacity:1}}),n.createElement("path",{d:"M 299 342.921875 C 299 425.488281 232.066406 492.421875 149.5 492.421875 C 66.933594 492.421875 0 425.488281 0 342.921875 C 0 260.355469 66.933594 193.421875 149.5 193.421875 C 232.066406 193.421875 299 260.355469 299 342.921875 Z M 299 342.921875 ",style:{stroke:"none",fillRule:"nonzero",fill:"rgb(98.039216%,43.921569%,69.803922%)",fillOpacity:1}}),n.createElement("path",{d:"M 114.246094 197.613281 C 134.128906 256.835938 190.082031 299.5 256 299.5 C 268.144531 299.5 279.949219 298.039062 291.253906 295.308594 C 271.371094 236.085938 215.417969 193.421875 149.5 193.421875 C 137.355469 193.421875 125.550781 194.878906 114.246094 197.613281 Z M 114.246094 197.613281 ",style:{stroke:"none",fillRule:"nonzero",fill:"rgb(68.627451%,48.235294%,77.647059%)",fillOpacity:1}}),n.createElement("path",{d:"M 213 342.921875 C 213 383.800781 229.414062 420.839844 256 447.828125 C 282.585938 420.839844 299 383.800781 299 342.921875 C 299 302.042969 282.585938 265.003906 256 238.015625 C 229.414062 265.003906 213 302.042969 213 342.921875 Z M 213 342.921875 ",style:{stroke:"none",fillRule:"nonzero",fill:"rgb(93.72549%,38.039216%,13.333333%)",fillOpacity:1}}),n.createElement("path",{d:"M 291.253906 295.320312 C 279.949219 298.046875 268.140625 299.5 256 299.5 C 243.859375 299.5 232.050781 298.046875 220.746094 295.320312 C 228.058594 273.542969 240.242188 254.015625 256 238.015625 C 271.757812 254.015625 283.941406 273.542969 291.253906 295.320312 Z M 291.253906 295.320312 ",style:{stroke:"none",fillRule:"nonzero",fill:"rgb(100%,100%,100%)",fillOpacity:1}})))}function N4e(i){return n.createElement("svg",{width:32,height:32,viewBox:"0 0 365.445 365.445",...i},n.createElement("g",{fill:"currentColor"},n.createElement("path",{d:"M146.7 162.775h-26.8a6.655 6.655 0 0 0-6.647 6.647v26.602a6.653 6.653 0 0 0 6.647 6.646h26.8a6.654 6.654 0 0 0 6.647-6.646v-26.602a6.655 6.655 0 0 0-6.647-6.647zM245.547 162.775h-26.801a6.653 6.653 0 0 0-6.646 6.647v26.602a6.652 6.652 0 0 0 6.646 6.646h26.801a6.654 6.654 0 0 0 6.646-6.646v-26.602a6.655 6.655 0 0 0-6.646-6.647z"})),n.createElement("path",{d:"M345.445 1.204H20c-11.046 0-20 8.954-20 20v323.037c0 11.045 8.954 20 20 20h325.445c11.045 0 20-8.955 20-20V21.204c0-11.045-8.953-20-20-20zM182.723 287.66c-57.955 0-104.937-46.981-104.937-104.937 0-57.957 46.982-104.938 104.937-104.938S287.66 124.767 287.66 182.723 240.678 287.66 182.723 287.66z",fill:"currentColor"}))}function L4e(i){return n.createElement("svg",{width:32,height:32,viewBox:"0 0 45.659 45.659",...i},n.createElement("path",{fill:"currentColor",d:"M30.619 27.309V7.781C30.619 3.49 27.124 0 22.833 0c-4.29 0-7.785 3.491-7.785 7.78v19.528a10.722 10.722 0 0 0-3.05 7.522c0 5.972 4.857 10.828 10.829 10.828 5.97 0 10.834-4.856 10.834-10.828 0-2.918-1.141-5.572-3.042-7.521zM22.825 42.66c-4.316 0-7.824-3.512-7.824-7.828 0-2.527 1.174-4.779 3.077-6.211V16.237h3.372c.552 0 1-.47 1-1.022 0-.553-.448-1.021-1-1.021h-3.372v-2.466h3.372c.552 0 1-.434 1-.986a.989.989 0 0 0-1-.986h-3.372V7.78c0-2.636 2.119-4.78 4.754-4.78 2.637 0 4.756 2.144 4.756 4.781v20.871c1.903 1.434 3.047 3.671 3.047 6.18 0 4.316-3.494 7.828-7.81 7.828z"}),n.createElement("path",{fill:"currentColor",d:"M25.334 30.463V18.632h-5.002v11.831a4.973 4.973 0 0 0-2.537 4.369 5.038 5.038 0 0 0 5.038 5.046 5.034 5.034 0 0 0 5.034-5.046c0-1.866-.982-3.495-2.533-4.369z"}))}function ege(i){return n.createElement("svg",{viewBox:"0 0 512 512",...i},n.createElement("path",{fill:"currentColor",d:"M341.333 288.593V85.333C341.333 38.205 303.128 0 256 0s-85.333 38.205-85.333 85.333v203.259C144.48 312.03 128 346.091 128 384c0 70.693 57.308 128 128 128s128-57.307 128-128c0-37.909-16.48-71.97-42.667-95.407zM256 469.333c-47.128 0-85.333-38.205-85.333-85.333 0-24.637 10.441-47.492 28.455-63.615l14.212-12.72V85.333c0-23.564 19.103-42.667 42.667-42.667s42.667 19.102 42.667 42.667v222.332l14.212 12.72c18.014 16.123 28.455 38.977 28.455 63.615-.002 47.128-38.207 85.333-85.335 85.333z"}),n.createElement("path",{fill:"currentColor",d:"M234.667 170.667h42.667v256h-42.667z"}),n.createElement("circle",{fill:"currentColor",cx:256,cy:384,r:64}))}function j4e(i){return n.createElement("svg",{viewBox:"0 0 297 297",...i},n.createElement("g",null,n.createElement("path",{fill:"currentColor",d:"m243.404,138.042c-5.775,0-10.458,4.683-10.458,10.458 0,46.564-37.883,84.446-84.446,84.446s-84.446-37.882-84.446-84.446 37.883-84.446 84.446-84.446c5.775,0 10.458-4.683 10.458-10.458s-4.683-10.457-10.458-10.457c-58.097,0-105.361,47.265-105.361,105.361s47.264,105.361 105.361,105.361 105.361-47.264 105.361-105.361c0-5.775-4.681-10.458-10.457-10.458z"}),n.createElement("path",{fill:"currentColor",d:"m142.963,121.344l-20.272-30.41c-3.203-4.807-9.695-6.104-14.502-2.9-4.805,3.202-6.104,9.695-2.9,14.502l20.279,30.422c-3.015,4.436-4.78,9.787-4.78,15.543 0,15.281 12.432,27.713 27.713,27.713 15.281,0 27.713-12.432 27.713-27.713 0-15.281-12.432-27.713-27.713-27.713-1.897-0.001-3.749,0.191-5.538,0.556zm12.335,27.156c0,3.748-3.05,6.798-6.798,6.798s-6.798-3.05-6.798-6.798 3.05-6.798 6.798-6.798 6.798,3.05 6.798,6.798z"}),n.createElement("path",{fill:"currentColor",d:"M148.5,0C66.617,0,0,66.617,0,148.5S66.617,297,148.5,297S297,230.383,297,148.5S230.383,0,148.5,0z M158.958,275.653 v-6.366c0-5.775-4.683-10.458-10.458-10.458c-5.775,0-10.458,4.683-10.458,10.458v6.366 c-62.027-5.056-111.64-54.668-116.695-116.695h6.366c5.775,0,10.458-4.683,10.458-10.458s-4.683-10.458-10.458-10.458h-6.366 c5.056-62.027,54.668-111.64,116.695-116.695v6.366c0,5.775,4.683,10.458,10.458,10.458c5.775,0,10.458-4.683,10.458-10.458v-6.366 c62.027,5.056,111.64,54.668,116.695,116.695h-6.366c-5.775,0-10.458,4.683-10.458,10.458s4.683,10.458,10.458,10.458h6.366 C270.598,220.985,220.985,270.598,158.958,275.653z"})))}function tge(i){return n.createElement("svg",{viewBox:"0 0 480 480",...i},n.createElement("g",null,n.createElement("path",{fill:"currentColor",d:`M472,304h-80v-8c0-4.418-3.582-8-8-8h-32c-4.418,0-8,3.582-8,8v8h-48v-48c0-4.418-3.582-8-8-8h-8v-24c0-4.418-3.582-8-8-8 - h-8v-16h8c4.418,0,8-3.582,8-8v-32c0-4.418-3.582-8-8-8h-8v-24h44.28c5.382-0.016,10.547,2.121,14.344,5.936l7.44,7.44 - c14.167,14.169,37.138,14.171,51.308,0.004c6.806-6.805,10.629-16.036,10.628-25.66V92.28 - c0.002-20.037-16.239-36.282-36.276-36.284c-9.625-0.001-18.855,3.822-25.66,10.628l-7.44,7.44 - c-3.797,3.815-8.962,5.952-14.344,5.936H264V56c0-4.418-3.582-8-8-8h-32c-4.418,0-8,3.582-8,8v24h-52.28 - c-5.382,0.016-10.547-2.121-14.344-5.936l-7.44-7.44c-14.167-14.169-37.138-14.171-51.308-0.004 - C83.822,73.425,79.999,82.655,80,92.28v23.44c-0.002,20.037,16.239,36.282,36.276,36.284c9.625,0.001,18.855-3.822,25.66-10.628 - l7.44-7.44c3.797-3.815,8.962-5.952,14.344-5.936H216v24h-8c-4.418,0-8,3.582-8,8v32c0,4.418,3.582,8,8,8h8v16h-8 - c-4.418,0-8,3.582-8,8v24h-8c-4.418,0-8,3.582-8,8v48h-48v-8c0-4.418-3.582-8-8-8H96c-4.418,0-8,3.582-8,8v8H8 - c-4.418,0-8,3.582-8,8v104c0,4.418,3.582,8,8,8h80c0,4.418,3.582,8,8,8h32c4.418,0,8-3.582,8-8v-8h208v8c0,4.418,3.582,8,8,8h32 - c4.418,0,8-3.582,8-8v-8h80c4.418,0,8-3.582,8-8v-96C480,307.582,476.418,304,472,304z M88,408H16v-88h72V408z M120,416h-16V304 - h16V416z M232,64h16v16h-16V64z M163.72,112c-9.628-0.028-18.866,3.798-25.656,10.624l-7.44,7.44 - c-7.928,7.918-20.774,7.909-28.692-0.02c-3.796-3.801-5.929-8.953-5.932-14.324V92.28c0.006-11.205,9.095-20.283,20.3-20.276 - c5.372,0.003,10.523,2.137,14.324,5.932l7.44,7.44c6.79,6.826,16.028,10.652,25.656,10.624h144.56 - c9.628,0.028,18.866-3.798,25.656-10.624l7.44-7.44c7.928-7.918,20.774-7.909,28.692,0.02c3.796,3.801,5.929,8.953,5.932,14.324 - v23.44c-0.006,11.205-9.095,20.283-20.3,20.276c-5.372-0.003-10.523-2.136-14.324-5.932l-7.44-7.44 - c-6.79-6.826-16.028-10.652-25.656-10.624H163.72z M248,128v24h-16v-24H248z M216,168h48v16h-48V168z M248,200v16h-16v-16H248z - M216,232h48v16h-48V232z M344,400H136v-80h56c4.418,0,8-3.582,8-8v-48h80v48c0,4.418,3.582,8,8,8h56V400z M376,416h-16V304h16 - V416z M464,400h-72v-80h72V400z`})))}function sge(i){return n.createElement("svg",{width:361,height:361,viewBox:"0 0 361 361",...i},n.createElement("path",{d:"M267.826 263.303c0 3.91-3.156 7.082-7.05 7.082l-157.885.021c-3.894 0-7.05-3.171-7.05-7.083v-157.5c0-3.911 3.156-7.083 7.05-7.083l157.885-.021c3.894 0 7.05 3.172 7.05 7.083v157.501z",fill:"none",stroke:"currentColor",strokeWidth:10,strokeMiterlimit:10}),n.createElement("path",{d:"M258.5 185.584h6.639c2.726 0 5-2.274 5-5s-2.274-5-5-5H258.5c-2.726 0-5 2.274-5 5s2.274 5 5 5z",fill:"currentColor"}),n.createElement("path",{d:"M267.826 103.208c0 2.485-2.711 4.5-6.053 4.5l-159.88.021c-3.342 0-6.052-2.015-6.052-4.5v-9c0-2.485 2.71-4.5 6.052-4.5l159.88-.021c3.342 0 6.053 2.015 6.053 4.5v9z",fill:"none",stroke:"currentColor",strokeWidth:10,strokeMiterlimit:10}))}function g4e(i){return n.createElement("svg",{viewBox:"0 0 361 361",...i},n.createElement("path",{d:"M267.826 263.303c0 3.91-3.156 7.082-7.05 7.082l-157.885.021c-3.894 0-7.05-3.171-7.05-7.083v-157.5c0-3.911 3.156-7.083 7.05-7.083l157.885-.021c3.894 0 7.05 3.172 7.05 7.083v157.501z",fill:"none",stroke:"currentColor",strokeWidth:10,strokeMiterlimit:10}),n.createElement("path",{d:"M228.5 205.584h6.639c2.726 0 5-2.274 5-5s-2.274-5-5-5H228.5c-2.726 0-5 2.274-5 5s2.274 5 5 5z",fill:"currentColor"}),n.createElement("path",{d:"M267.826 103.208c0 2.485-2.711 4.5-6.053 4.5l-159.88.021c-3.342 0-6.052-2.015-6.052-4.5v-9c0-2.485 2.71-4.5 6.052-4.5l159.88-.021c3.342 0 6.053 2.015 6.053 4.5v9z",fill:"none",stroke:"currentColor",strokeWidth:10,strokeMiterlimit:10}),n.createElement("path",{d:"M232.826 280.905c-.339 3.356-18.813-.782-20.919-1.06l-45.073-5.94-45.074-5.94-14.507-1.912c-1.456-.192-6.201-.055-6.412-2.147-.621-6.157 0-12.699 0-18.878v-43.5-82.076-5.13c0-2.551 5.184-1.015 6.412-.853l35.438 4.67 83.723 11.035c1.457.192 6.201.055 6.412 2.147.169 1.673 0 3.451 0 5.13v144.454c0 6.448 10 6.448 10 0V136.451v-5.13c0-7.619-6.137-10.793-12.673-11.655l-28.531-3.76-88.411-11.652-9.897-1.304c-6.555-.864-12.473 4.9-12.473 11.38v144.832c0 2.023-.071 4.04.132 6.053.717 7.111 6.606 9.563 12.759 10.374l76.827 10.125 39.896 5.259 9.697 1.278c7.063.931 12.011-4.778 12.673-11.346.648-6.415-9.358-6.352-9.999 0z",fill:"currentColor"}))}function nu(i){return n.createElement("svg",{width:361,height:361,viewBox:"0 0 361 361",...i},n.createElement("path",{d:"M267.826 263.303c0 3.91-3.156 7.082-7.05 7.082l-157.885.021c-3.894 0-7.05-3.171-7.05-7.083v-157.5c0-3.911 3.156-7.083 7.05-7.083l157.885-.021c3.894 0 7.05 3.172 7.05 7.083v157.501z",fill:"none",stroke:"currentColor",strokeWidth:10,strokeMiterlimit:10}),n.createElement("path",{d:"M267.826 103.208c0 2.485-2.711 4.5-6.053 4.5l-159.88.021c-3.342 0-6.052-2.015-6.052-4.5v-9c0-2.485 2.71-4.5 6.052-4.5l159.88-.021c3.342 0 6.053 2.015 6.053 4.5v9zM265.732 265.178c.584 2.887-1.629 5.228-4.942 5.228H103.457c-3.313 0-6.474-2.341-7.058-5.228L75.24 130.633c-.584-2.887 1.628-5.228 4.942-5.228h157.333c3.313 0 6.474 2.34 7.058 5.228l21.159 134.545z",fill:"none",stroke:"currentColor",strokeWidth:10,strokeMiterlimit:10}),n.createElement("path",{d:"M247.194 199.667h6.639c2.726 0 5-2.274 5-5s-2.274-5-5-5h-6.639c-2.726 0-5 2.274-5 5s2.275 5 5 5z",fill:"currentColor"}))}const T4e={"type-Device type":"Device type","type-airCondition":"Air conditioner","type-blind":"Blinds","type-blindButtons":"Blind controlled by buttons","type-button":"Button","type-buttonSensor":"Button with feedback","type-camera":"Camera","type-chart":"Chart","type-cie":"CIE color light","type-ct":"Color temperature","type-dimmer":"Dimmer","type-door":"Door","type-fireAlarm":"Fire alarm","type-floodAlarm":"Flood alarm","type-gate":"Gate","type-hue":"HUE light","type-humidity":"Humidity","type-illuminance":"Illuminance","type-image":"Image","type-info":"Information","type-instance":"Instance","type-light":"Light","type-location":"Position","type-locationOne":"Position as one state","type-lock":"Lock","type-media":"Media-player","type-motion":"Motion sensor","type-rgb":"RGB light","type-rgbSingle":"R,G,B light - single states","type-rgbwSingle":"R,G,B,W light - single states","type-slider":"Slider","type-socket":"Socket","type-temperature":"Temperature","type-thermostat":"Thermostat","type-url":"URL","type-vacuumCleaner":"Vacuum cleaner","type-valve":"Valve","type-volume":"Volume","type-volumeGroup":"Volume group","type-warning":"Warning","type-weatherCurrent":"Current weather","type-weatherForecast":"Weather forecast","type-window":"Window sensor","type-windowTilt":"Window tilt sensor"},y4e={"type-Device type":"Gerätetyp","type-airCondition":"Klimaanlage","type-blind":"Jalousien","type-blindButtons":"Jalousie über Tasten gesteuert","type-button":"Taste","type-buttonSensor":"Taste mit Rückmeldung","type-camera":"Kamera","type-chart":"Diagramm","type-cie":"CIE Farblicht","type-ct":"Farbtemperatur","type-dimmer":"Dimmer","type-door":"Türsensor","type-fireAlarm":"Feueralarm","type-floodAlarm":"Wasseralarm","type-gate":"Tor-Steuerung","type-hue":"HUE-Licht","type-humidity":"Feuchtigkeit","type-illuminance":"Beleuchtungsstärke","type-image":"Bild","type-info":"Information","type-instance":"Instanz","type-light":"Licht","type-location":"Position","type-locationOne":"Position als ein Zustand","type-lock":"Schloss","type-media":"Mediaplayer","type-motion":"Bewegungssensor","type-rgb":"RGB-Licht","type-rgbSingle":"R,G,B-Licht Einzelwerte","type-rgbwSingle":"R,G,B,W-Licht Einzelwerte","type-slider":"Schieberegler","type-socket":"Steckdose","type-temperature":"Temperatur","type-thermostat":"Thermostat","type-url":"URL","type-vacuumCleaner":"Staubsauger","type-valve":"Ventil","type-volume":"Lautstärke","type-volumeGroup":"Lautstärke-Gruppe","type-warning":"Warnung","type-weatherCurrent":"Aktuelle Wetterlage","type-weatherForecast":"Wettervorhersage","type-window":"Fenstersensor","type-windowTilt":"Fensterkippung-Sensor"},D4e={"type-Device type":"Тип устройства","type-airCondition":"Кондиционер","type-blind":"Рольставни/Жалюзи","type-blindButtons":"Жалюзи управляющиеся кнопками","type-button":"Кнопка","type-buttonSensor":"Кнопка с обратной связью","type-camera":"Камера","type-chart":"Диаграмма","type-cie":"CIE свет","type-ct":"Цветовая температура","type-dimmer":"Диммер","type-door":"Датчик положения двери","type-fireAlarm":"Датчик дыма","type-floodAlarm":"Датчик затопления","type-gate":"Ворота","type-hue":"HUE свет","type-humidity":"Влажность","type-illuminance":"Освещенность","type-image":"Изображение","type-info":"Информация","type-instance":"Инстанция","type-light":"Свет","type-location":"Местоположение","type-locationOne":"Позиция в одном состоянии","type-lock":"Замок","type-media":"Медиа-плейер","type-motion":"Датчик движения","type-rgb":"RGB свет","type-rgbSingle":"R,G,B как отдельные значение","type-rgbwSingle":"R,G,B,W как отдельные значение","type-slider":"Ползунок","type-socket":"Розетка","type-temperature":"Температура","type-thermostat":"Термостат","type-url":"URL","type-vacuumCleaner":"Пылесос","type-valve":"Вентиль","type-volume":"Громкость","type-volumeGroup":"Группа громкости","type-warning":"Предупреждение","type-weatherCurrent":"Актуальная погода","type-weatherForecast":"Прогноз погоды","type-window":"Датчик открытия окна","type-windowTilt":"Датчик наклона окна"},d4e={"type-Device type":"Tipo de dispositivo","type-airCondition":"Ar condicionado","type-blind":"persianas","type-blindButtons":"Persiana controlada por botões","type-button":"botão","type-buttonSensor":"Sensor de botão","type-camera":"câmera","type-chart":"Gráfico","type-cie":"Luz colorida CIE","type-ct":"Temperatura de cor","type-dimmer":"dimmer","type-door":"porta","type-fireAlarm":"alarme de incêndio","type-floodAlarm":"alarme de inundação","type-gate":"portão","type-hue":"Luz HUE","type-humidity":"umidade","type-illuminance":"Iluminância","type-image":"imagem","type-info":"informação","type-instance":"exemplo","type-light":"luz","type-location":"localização","type-locationOne":"Posição como um estado","type-lock":"trancar","type-media":"mídia","type-motion":"movimento","type-rgb":"Luz RGB","type-rgbSingle":"Luz RGB única","type-rgbwSingle":"RGBW como valor único","type-slider":"controle deslizante","type-socket":"soquete","type-temperature":"temperatura","type-thermostat":"termostato","type-url":"URL","type-vacuumCleaner":"Aspirador de pó","type-valve":"válvula","type-volume":"volume","type-volumeGroup":"grupo de volume","type-warning":"aviso","type-weatherCurrent":"clima atual","type-weatherForecast":"previsão do tempo","type-window":"janela","type-windowTilt":"inclinação da janela"},z4e={"type-Device type":"Typ urządzenia","type-airCondition":"Klimatyzator","type-blind":"żaluzje","type-blindButtons":"Roleta sterowana przyciskami","type-button":"przycisk","type-buttonSensor":"Czujnik przycisku","type-camera":"kamera","type-chart":"Wykres","type-cie":"Światło kolorowe CIE","type-ct":"Temperatura barwowa","type-dimmer":"opornik","type-door":"drzwi","type-fireAlarm":"alarm pożarowy","type-floodAlarm":"alarm przeciwpowodziowy","type-gate":"brama","type-hue":"Światło HUE","type-humidity":"wilgotność","type-illuminance":"Natężenie oświetlenia","type-image":"obraz","type-info":"Informacje","type-instance":"przykład","type-light":"światło","type-location":"lokalizacja","type-locationOne":"Pozycja jako państwa","type-lock":"zamek","type-media":"głoska bezdźwięczna","type-motion":"ruch","type-rgb":"Światło RGB","type-rgbSingle":"Pojedyncze światło RGB","type-rgbwSingle":"RGBW jako pojedyncza wartość","type-slider":"suwak","type-socket":"gniazdo","type-temperature":"temperatura","type-thermostat":"termostat","type-url":"Adres URL","type-vacuumCleaner":"Odkurzacz","type-valve":"zawór","type-volume":"tom","type-volumeGroup":"grupa woluminów","type-warning":"ostrzeżenie","type-weatherCurrent":"aktualna pogoda","type-weatherForecast":"prognoza pogody","type-window":"okno","type-windowTilt":"pochylenie okna"},I4e={"type-Device type":"Type d'appareil","type-airCondition":"Climatiseur","type-blind":"stores","type-blindButtons":"Store commandé par boutons","type-button":"bouton","type-buttonSensor":"Capteur de bouton","type-camera":"caméra","type-chart":"Graphique","type-cie":"lumière colorée CIE","type-ct":"Température de couleur","type-dimmer":"variateur","type-door":"porte","type-fireAlarm":"alarme incendie","type-floodAlarm":"alarme d'inondation","type-gate":"grille","type-hue":"Lumière HUE","type-humidity":"humidité","type-illuminance":"Éclairement","type-image":"image","type-info":"informations","type-instance":"exemple","type-light":"lumière","type-location":"emplacement","type-locationOne":"Position en tant qu'État","type-lock":"verrouillage","type-media":"médias","type-motion":"mouvement","type-rgb":"lumière RVB","type-rgbSingle":"Lumière RVB simple","type-rgbwSingle":"RGBW comme valeur unique","type-slider":"curseur","type-socket":"douille","type-temperature":"température","type-thermostat":"thermostat","type-url":"URL","type-vacuumCleaner":"Aspirateur","type-valve":"soupape","type-volume":"volume","type-volumeGroup":"groupe de volumes","type-warning":"avertissement","type-weatherCurrent":"météo actuelle","type-weatherForecast":"prévisions météorologiques","type-window":"fenêtre","type-windowTilt":"inclinaison de la fenêtre"},h4e={"type-Device type":"Tipo di dispositivo","type-airCondition":"Condizionatore d'aria","type-blind":"tende","type-blindButtons":"Tenda controllata da pulsanti","type-button":"pulsante","type-buttonSensor":"Sensore del pulsante","type-camera":"telecamera","type-chart":"Grafico","type-cie":"Luce colorata CIE","type-ct":"Temperatura del colore","type-dimmer":"dimmer","type-door":"porta","type-fireAlarm":"allarme antincendio","type-floodAlarm":"allarme allagamento","type-gate":"cancello","type-hue":"Luce HUE","type-humidity":"umidità","type-illuminance":"Illuminamento","type-image":"immagine","type-info":"informazioni","type-instance":"esempio","type-light":"leggero","type-location":"posizione","type-locationOne":"Posizione come stato","type-lock":"serratura","type-media":"media","type-motion":"movimento","type-rgb":"luce RGB","type-rgbSingle":"Luce RGB singola","type-rgbwSingle":"RGBW come valore singolo","type-slider":"cursore","type-socket":"PRESA","type-temperature":"temperatura","type-thermostat":"termostato","type-url":"URL","type-vacuumCleaner":"Aspirapolvere","type-valve":"valvola","type-volume":"volume","type-volumeGroup":"gruppo di volumi","type-warning":"avvertimento","type-weatherCurrent":"meteo attuale","type-weatherForecast":"previsioni del tempo","type-window":"finestra","type-windowTilt":"inclinazione della finestra"},w4e={"type-Device type":"Apparaattype","type-airCondition":"Airconditioner","type-blind":"jaloezieën","type-blindButtons":"Jaloezie bediend door knoppen","type-button":"knop","type-buttonSensor":"Knopsensor","type-camera":"camera","type-chart":"Grafiek","type-cie":"CIE-kleurenlicht","type-ct":"Kleurtemperatuur","type-dimmer":"dimmer","type-door":"deur","type-fireAlarm":"brandalarm","type-floodAlarm":"overstromingsalarm","type-gate":"hek","type-hue":"HUE-licht","type-humidity":"vochtigheid","type-illuminance":"Verlichtingssterkte","type-image":"afbeelding","type-info":"informatie","type-instance":"aanleg","type-light":"licht","type-location":"locatie","type-locationOne":"Positie als staat","type-lock":"slot","type-media":"media","type-motion":"beweging","type-rgb":"RGB-licht","type-rgbSingle":"RGB-licht enkel","type-rgbwSingle":"RGBW als enkele waarde","type-slider":"schuifregelaar","type-socket":"stopcontact","type-temperature":"temperatuur","type-thermostat":"thermostaat","type-url":"URL","type-vacuumCleaner":"Stofzuiger","type-valve":"ventiel","type-volume":"volume","type-volumeGroup":"volumegroep","type-warning":"waarschuwing","type-weatherCurrent":"huidige weersomstandigheden","type-weatherForecast":"weersvoorspelling","type-window":"raam","type-windowTilt":"raamkanteling"},C4e={"type-Device type":"Тип пристрою","type-airCondition":"Кондиціонер","type-blind":"жалюзі","type-blindButtons":"Штора керується кнопками","type-button":"кнопку","type-buttonSensor":"Датчик кнопки","type-camera":"камера","type-chart":"Діаграма","type-cie":"Кольорове світло CIE","type-ct":"Колірна температура","type-dimmer":"диммер","type-door":"двері","type-fireAlarm":"пожежна сигналізація","type-floodAlarm":"сигналізація про повінь","type-gate":"ворота","type-hue":"світло HUE","type-humidity":"вологість","type-illuminance":"Освітленість","type-image":"зображення","type-info":"інформація","type-instance":"екземпляр","type-light":"світло","type-location":"розташування","type-locationOne":"Позиція як держави","type-lock":"замок","type-media":"ЗМІ","type-motion":"руху","type-rgb":"RGB світло","type-rgbSingle":"Одиночне світло RGB","type-rgbwSingle":"RGBW як одне значення","type-slider":"повзунок","type-socket":"гніздо","type-temperature":"температура","type-thermostat":"термостат","type-url":"URL","type-vacuumCleaner":"Пилосос","type-valve":"клапан","type-volume":"обсяг","type-volumeGroup":"група обсягів","type-warning":"УВАГА","type-weatherCurrent":"поточна погода","type-weatherForecast":"прогноз погоди","type-window":"вікно","type-windowTilt":"нахил вікна"},A4e={"type-Device type":"设备类型","type-airCondition":"空调","type-blind":"百叶窗","type-blindButtons":"按钮控制百叶窗","type-button":"按钮","type-buttonSensor":"按钮传感器","type-camera":"相机","type-chart":"图表","type-cie":"CIE色光","type-ct":"色温","type-dimmer":"调光器","type-door":"门","type-fireAlarm":"火灾报警","type-floodAlarm":"洪水警报","type-gate":"门","type-hue":"色调灯","type-humidity":"湿度","type-illuminance":"照度","type-image":"图像","type-info":"信息","type-instance":"实例","type-light":"光","type-location":"地点","type-locationOne":"作为一个国家的地位","type-lock":"锁","type-media":"媒体","type-motion":"运动","type-rgb":"RGB灯","type-rgbSingle":"RGB灯单","type-rgbwSingle":"RGBW 作为单一值","type-slider":"滑块","type-socket":"插座","type-temperature":"温度","type-thermostat":"恒温器","type-url":"网址","type-vacuumCleaner":"吸尘器","type-valve":"阀门","type-volume":"体积","type-volumeGroup":"卷组","type-warning":"警告","type-weatherCurrent":"当前天气","type-weatherForecast":"天气预报","type-window":"窗户","type-windowTilt":"窗户倾斜"};let ta=!1;function au(){ta||(ta=!0,D.extendTranslations({en:T4e,de:y4e,ru:D4e,pt:d4e,pl:z4e,fr:I4e,it:h4e,nl:w4e,uk:C4e,"zh-cn":A4e}))}const sa={[B.Types.airCondition]:Y0e,[B.Types.blind]:ea,[B.Types.blindButtons]:ea,[B.Types.button]:l4e,[B.Types.buttonSensor]:s4e,[B.Types.camera]:h0e,[B.Types.chart]:D0e,[B.Types.image]:k0e,[B.Types.dimmer]:b0e,[B.Types.door]:n4e,[B.Types.fireAlarm]:Kn,"sensor.alarm.fire":Kn,[B.Types.floodAlarm]:qn,"sensor.alarm.flood":qn,[B.Types.gate]:a4e,[B.Types.humidity]:c4e,[B.Types.illuminance]:r4e,[B.Types.info]:x0e,[B.Types.light]:S0e,[B.Types.lock]:f0e,[B.Types.location]:O0e,[B.Types.locationOne]:Z0e,[B.Types.media]:E0e,[B.Types.motion]:u4e,[B.Types.ct]:Bn,[B.Types.percentage]:Jn,[B.Types.rgb]:Sr,[B.Types.rgbSingle]:Sr,[B.Types.rgbwSingle]:o4e,[B.Types.hue]:Bn,[B.Types.cie]:Sr,[B.Types.slider]:Jn,[B.Types.socket]:N4e,[B.Types.temperature]:L4e,[B.Types.thermostat]:j4e,[B.Types.vacuumCleaner]:M4e,[B.Types.volume]:m0e,[B.Types.volumeGroup]:C0e,[B.Types.window]:g4e,[B.Types.windowTilt]:nu,[B.Types.weatherCurrent]:Zn,[B.Types.weatherForecast]:Zn,[B.Types.warning]:Gn,[B.Types.unknown]:V0e,[B.Types.instance]:w0e,invalid:Gn,hub3:W0e,node:R0e,hub5:J0e,controller:H0e},pi={width:32,height:32};function m4e(i){const[e,t]=n.useState(!1);if(ye(()=>{i.title&&!e&&(au(),t(!0))},[i.title,e]),!e&&i.title)return n.createElement(W,{style:{...pi,...i.style||void 0},className:i.className,sx:i.sx});const s=i.type||(i.src?Object.keys(sa).find(M=>i.src===M):void 0);if(!s&&i.src)return n.createElement(Se,{style:pi,...i,title:i.title===!0?void 0:i.title,src:i.src});const r=s&&sa[s];if(!r)return s?n.createElement("span",{style:{...pi,...i.style||void 0}},s[0].toUpperCase()):null;const o=n.createElement(r,{style:{...pi,...i.style||void 0},onClick:i.onClick,className:i.className,sx:i.sx});return i.title?n.createElement(ae,{slotProps:{popper:{sx:{pointerEvents:"none"}}},title:i.title===!0?D.t(`type-${s}`):i.title},n.createElement("div",{style:{display:"flex"}},o)):o}const St={itemChildrenWrapper:{display:"flex",width:"100%",justifyContent:"space-between"},type:{marginTop:10},selectIcon:{paddingRight:8,verticalAlign:"middle",width:20,height:20},selectText:{verticalAlign:"middle"},iconWrapper:{display:"flex",alignItems:"center"},iconStyle:{width:16,height:16,margin:"0 3px"},emptyIcon:{width:16,height:16,margin:"0 3px"}};function ige(i){const[e,t]=n.useState({}),[s,r]=n.useState([]);return ye(()=>{const o={};Object.keys(B.Types).filter(a=>{var u,l;return(!i.supportedDevices||((u=i.supportedDevices)==null?void 0:u.includes(a)))&&!((l=i.unsupportedDevices)!=null&&l.includes(a))}).forEach(a=>o[a]=D.t(`type-${B.Types[a]}`));const M=Object.keys(o);M.sort((a,u)=>o[a]===o[u]?0:o[a].localeCompare(o[u],"de")),au(),r(M),t(o)},[i.supportedDevices,i.unsupportedDevices]),s?n.createElement(wt,{style:{...St.type,...i.style},sx:i.sx,variant:"standard",error:!!i.error},n.createElement(As,null,i.label||D.t("type-Device type")),n.createElement(Xe,{variant:"standard",disabled:!!i.disabled,value:i.value,onChange:o=>i.onChange(o.target.value)},s.map(o=>{var M;return n.createElement(te,{key:B.Types[o],value:B.Types[o]},n.createElement("div",{style:St.itemChildrenWrapper},n.createElement("div",null,n.createElement(m4e,{type:B.Types[o],style:{...St.selectIcon,color:i.themeType==="dark"?"#FFFFFF":"#000"}}),n.createElement("span",{style:St.selectText},e[o])),(M=i.showApplications)!=null&&M.TYPE_OPTIONS[o]?n.createElement("div",{style:St.iconWrapper},Object.keys(i.showApplications.TYPE_OPTIONS[o]).map(a=>i.showApplications.TYPE_OPTIONS[o][a]?n.createElement(Se,{key:a,style:St.iconStyle,src:i.showApplications.ICONS_TYPE[a]}):n.createElement("div",{key:a,style:St.emptyIcon}))):null))}))):n.createElement(W,{style:{...St.type,...i.style},sx:i.sx})}function p4e(i){return v({attr:{version:"1",viewBox:"0 0 48 48",enableBackground:"new 0 0 48 48"},child:[{tag:"circle",attr:{fill:"#B2EBF2",cx:"32",cy:"24",r:"9"},child:[]},{tag:"path",attr:{fill:"#4DD0E1",d:"M32,12c-6.6,0-12,5.4-12,12c0,6.6,5.4,12,12,12s12-5.4,12-12C44,17.4,38.6,12,32,12z M32,32 c-4.4,0-8-3.6-8-8s3.6-8,8-8s8,3.6,8,8S36.4,32,32,32z"},child:[]},{tag:"g",attr:{fill:"#3F51B5"},child:[{tag:"polygon",attr:{points:"25.4,22 19.8,5.1 13.6,27.7 11.4,22 4,22 4,26 8.6,26 14.4,40.3 20.2,18.9 22.6,26 30,26 30,22"},child:[]},{tag:"circle",attr:{cx:"32",cy:"24",r:"4"},child:[]}]}]})(i)}function O4e(i){return v({attr:{role:"img",viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M4.428 2.727l3.335 3.335c-.486.07-.903.276-1.32.624L.886 12.383c-1.181 1.18-1.181 3.194 0 4.375a2.41 2.41 0 0 0 1.598.834l17.088 3.681-3.335-3.333c.486-.07.903-.278 1.32-.626l5.557-5.695c1.181-1.181 1.181-3.196 0-4.377a2.411 2.411 0 0 0-1.598-.833zM11.653 6.2c.694 0 1.25.486 1.25 1.18 0 .695-.486 1.251-1.181 1.251-.695 0-1.25-.485-1.25-1.18s.555-1.251 1.18-1.251zm1.51 3.792c.049-.006.088.046.088.098-.139.694-.695 1.181-1.39 1.181-.694 0-1.32-.487-1.46-1.112 0 0 .002-.07.071 0 .487.278.972.348 1.32.278.346 0 .833-.07 1.32-.416a.092.092 0 0 1 .05-.029zm.723 2.511c.058.013.06.106.06.158-.209.903-.973 1.666-1.946 1.666a2.167 2.167 0 0 1-2.084-1.528c-.07-.07 0-.138.138-.138.695.347 1.39.416 1.877.416.486 0 1.18-.14 1.875-.556.035-.017.06-.022.08-.018zm.597 3.018c.049-.013.087.09.087.195-.278 1.181-1.25 2.085-2.5 2.155-1.251 0-2.293-.835-2.57-1.946 0-.139.068-.278.207-.209.834.486 1.737.556 2.362.556s1.529-.208 2.362-.694c.018-.035.036-.053.052-.057z"},child:[]}]})(i)}function E4e(i){return v({attr:{version:"1.2",baseProfile:"tiny",viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M13 5l.855 3.42 3.389-.971 1.501 2.6-2.535 2.449 2.535 2.451-1.5 2.6-3.39-.971-.855 3.422h-3l-.855-3.422-3.39.971-1.501-2.6 2.535-2.451-2.534-2.449 1.5-2.6 3.39.971.855-3.42h3m0-2h-3c-.918 0-1.718.625-1.939 1.516l-.354 1.412-1.4-.4c-.184-.053-.369-.078-.552-.078-.7 0-1.368.37-1.731 1l-1.5 2.6c-.459.796-.317 1.802.342 2.438l1.047 1.011-1.048 1.015c-.66.637-.802 1.643-.343 2.438l1.502 2.6c.363.631 1.031 1 1.731 1 .183 0 .368-.025.552-.076l1.399-.401.354 1.415c.222.885 1.022 1.51 1.94 1.51h3c.918 0 1.718-.625 1.939-1.516l.354-1.414 1.399.4c.184.053.369.077.552.077.7 0 1.368-.37 1.731-1l1.5-2.6c.459-.796.317-1.8-.342-2.438l-1.047-1.013 1.047-1.013c.66-.637.801-1.644.342-2.438l-1.5-2.6c-.365-.631-1.031-1-1.732-1-.184 0-.368.025-.551.076l-1.4.401-.354-1.413c-.22-.884-1.02-1.509-1.938-1.509zM11.5 10.5c1.104 0 2 .895 2 2 0 1.104-.896 2-2 2s-2-.896-2-2c0-1.105.896-2 2-2m0-1c-1.654 0-3 1.346-3 3s1.346 3 3 3 3-1.346 3-3-1.346-3-3-3z"},child:[]}]})(i)}function _4e(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M7.707 17.707 13.414 12 7.707 6.293 6.293 7.707 10.586 12l-4.293 4.293zM15 6h2v12h-2z"},child:[]}]})(i)}function f4e(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M327.467 19.992c.748 14.94 2.317 51.268 2.59 98.76 3.474-.286 6.557-.381 9.72 1.08 18.04 8.345 27.243 29.326 27.026 50.506-.217 21.18-11.283 44.136-36.104 54.307a41.62 41.62 0 0 1-2.486.923c-3.408 80.504-12.307 166.37-33.754 225.5-6.876 15.831-17.029 29.217-26.828 40.94l55.27.422c20.676-12.19 32.041-27.395 36.32-46.407l17.558 3.954c-3.67 16.312-11.99 30.662-24.511 42.677l143.052 1.094c-5.13-14.524-16.16-46.501-20.357-70.217C451.89 293.171 450.15 45 450.025 19.992zM18.279 38.984l.881 18.725c17.856 12.047 32.035 23.91 45.969 35.527 12.887-11.156 2.404-29.725-5.82-39.091-13.668-5.346-27.335-10.467-41.03-15.16zM86.723 65.13c4.77 14.56 3.347 29.656-7.477 39.746 24.105 19.479 50.832 38.151 97.1 55.635 13.836-22.588 12.08-43.852-3.338-60.739-29.03-10.9-57.703-22.997-86.285-34.642zm-31.721 42.988V400h17.996V122.723c-6.187-4.856-12.114-9.73-17.996-14.606zm145.264 1.434c3.253 8.283 4.54 16.754 3.982 25.043-.765 11.35-4.673 22.135-10.545 32.095 16.926 5.691 36.192 11.248 58.451 16.655l2.604.633 1.834 1.953c9.223 9.826 22.535 17.206 35.469 21.006 12.933 3.8 25.473 3.655 31.814 1.056 18.024-7.385 24.773-22.363 24.932-37.84.152-14.822-7.069-28.554-15.479-33.306-45.88-1.699-89.948-12.607-133.062-27.295zm-33.264 66.476V400h17.996V182.605a502.784 502.784 0 0 1-17.996-6.578zM32 419.002v17.996h176v-17.996z"},child:[]}]})(i)}function S4e(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M352.7 21.04l-194.4.41L21.04 159.3l.41 194.4L159.3 491l194.4-.4L491 352.7l-.4-194.4L352.7 21.04zm-8 19.66l126.2 125.7.4 178.3-123.1 123.6-2.6 2.6-178.3.4L41.08 345.6l-.38-178.3L166.4 41.08l178.3-.38zm-7.5 18.01l-163.3.34L58.71 174.8l.34 163.3L174.8 453.3l163.3-.3 115.2-115.8-.3-163.3L337.2 58.71zM108.4 210.4c5.3 0 10.8.5 16.4 1.3 5.7.8 11.5 2 17.5 3.6v20.5c-5.3-2.4-10.5-4.2-15.6-5.4-5.1-1.2-9.9-1.8-14.4-1.8-6 0-10.4.8-13.25 2.5-2.87 1.6-4.3 4.2-4.3 7.7 0 2.6.96 4.6 2.87 6.1 1.95 1.4 5.48 2.7 10.58 3.7l10.6 2.1c10.8 2.2 18.5 5.5 23.1 9.9 4.5 4.5 6.8 10.8 6.8 18.9 0 10.7-3.2 18.7-9.5 24-6.4 5.2-16.1 7.8-29.2 7.8-6.1 0-12.3-.6-18.51-1.8-6.2-1.1-12.41-2.9-18.61-5.2v-21.1c6.2 3.3 12.19 5.8 17.96 7.5 5.82 1.6 11.46 2.4 16.76 2.4 5.5 0 9.7-.9 12.6-2.7 2.9-1.8 4.4-4.4 4.4-7.8 0-3.1-1-5.4-3-7.1-2-1.6-5.9-3.1-11.8-4.4l-9.7-2.1c-9.73-2.1-16.85-5.4-21.37-10-4.47-4.5-6.7-10.7-6.7-18.4 0-9.7 3.12-17.1 9.37-22.3 6.25-5.3 15.24-7.9 27-7.9zm187.7 0c15.6 0 27.8 4.5 36.7 13.5 8.9 8.9 13.3 21.2 13.3 37 0 15.7-4.4 28-13.3 37-8.9 8.9-21.1 13.4-36.7 13.4-15.6 0-27.8-4.5-36.7-13.4-8.9-9-13.3-21.3-13.3-37 0-15.8 4.4-28.1 13.3-37 8.9-9 21.1-13.5 36.7-13.5zm-141.9 1.8h89.6v18.9h-32.2v78.3h-25.1v-78.3h-32.3v-18.9zm205.8 0h41.6c12.3 0 21.8 2.8 28.4 8.3 6.7 5.4 10 13.2 10 23.4s-3.3 18.1-10 23.6c-6.6 5.4-16.1 8.2-28.4 8.2H385v33.7h-25v-97.2zm-63.9 16.4c-7.7 0-13.6 2.8-17.8 8.5-4.2 5.6-6.3 13.6-6.3 23.8 0 10.2 2.1 18.1 6.3 23.8 4.2 5.6 10.1 8.4 17.8 8.4 7.7 0 13.6-2.8 17.8-8.4 4.2-5.7 6.3-13.6 6.3-23.8 0-10.2-2.1-18.2-6.3-23.8-4.2-5.7-10.1-8.5-17.8-8.5zm88.9 1.8v27.1h13.9c4.9 0 8.6-1.2 11.3-3.5 2.6-2.4 3.9-5.8 3.9-10.1s-1.3-7.7-3.9-10c-2.7-2.4-6.4-3.5-11.3-3.5H385z"},child:[]}]})(i)}function x4e(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M256 54.28c-124.603 0-226 101.398-226 226 0 47.864 14.975 92.293 40.465 128.876l29.79-19.86c-17.188-24.545-28.708-53.362-32.696-84.577H96v-18H66.115c-.07-2.14-.115-4.284-.115-6.44 0-45.378 15.816-86.97 42.236-119.598l17.4 17.4 12.727-12.727-18.133-18.132C152.735 114.057 197.335 92.8 247 90.498v29.22h18V90.5c49.665 2.302 94.265 23.56 126.77 56.725l-18.133 18.132 12.726 12.727 17.4-17.4c26.42 32.63 42.237 74.22 42.237 119.6 0 2.154-.044 4.3-.115 6.437H416v18h28.44c-3.987 31.214-15.507 60.03-32.694 84.575l29.79 19.86C467.025 372.574 482 328.146 482 280.282c0-124.602-101.397-226-226-226zm15.83 66.23a144 160 0 0 1 74.608 100.062l49.966-17.568a160 160 0 0 0-4.3-7.012l-5.135 5.153-30.368-30.29-5.76-5.746 7.85-7.874a160 160 0 0 0-86.862-36.726zm156.15 89.844l-175.332 60.6C240.505 272.618 231 283.155 231 295.72c0 13.7 11.3 25 25 25 6.77 0 12.95-2.764 17.473-7.208L427.98 210.354zm-16.513 32.322l-60.713 40.72a144 160 0 0 1-56.6 108.323h76.057a160 160 0 0 0 39.763-68.572H398.48v-52.515h17.022a160 160 0 0 0-4.035-27.957zM128 421.72v36h256v-36H128z"},child:[]}]})(i)}function ia(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M140 29.92c-31.4 0-59.89 3.25-79.89 8.25-9.9 2.5-17.8 5.51-22.4 8.25-3.2 1.87-4.1 3.15-4.5 3.58.4.43 1.3 1.71 4.5 3.58 4.6 2.74 12.5 5.75 22.4 8.25 20 5 48.49 8.25 79.89 8.25h5.7c5.3-2 11.1-3.78 17.6-5.4 20.3-5.08 46.5-8.42 75.8-9.36 1.2-.57 2.3-1.14 3.2-1.7 3.1-1.87 4.1-3.15 4.5-3.58-.4-.43-1.4-1.71-4.5-3.58-4.6-2.74-12.5-5.75-22.5-8.25-19.9-5-48.4-8.25-79.8-8.25zm232 0c-31.4 0-59.9 3.25-79.8 8.25-10 2.5-17.9 5.51-22.5 8.25-3.1 1.87-4.1 3.15-4.5 3.58.4.43 1.4 1.71 4.5 3.58.9.56 2 1.13 3.2 1.7 29.3.94 55.5 4.28 75.8 9.36 6.5 1.62 12.3 3.4 17.6 5.4h5.7c31.4 0 59.9-3.25 79.8-8.25 10-2.5 17.9-5.51 22.5-8.25 3.1-1.87 4.1-3.15 4.5-3.58-.4-.43-1.4-1.71-4.5-3.58-4.6-2.74-12.5-5.75-22.5-8.25-19.9-5-48.4-8.25-79.8-8.25zM33.01 71.44V369.9c0 4.3 1.8 8 6.8 12.3 5 4.3 13.1 8.5 23.3 11.9 15.3 5.1 35 8.5 55.89 9.8V278.3l-16.5 28.6-7.79-4.5c-27.4-15.9-44.3-45.3-44.4-77v-9h52.59c-.6 2.6-.9 5.3-.9 8.1 0 13.1 6.8 24.8 17 31.7v-63.4c-1.9 1.3-3.6 2.7-5.2 4.2l-25.99-45.1 7.8-4.5c7.49-4.2 15.29-7.3 23.39-9.3V87.61c-24.19-1.08-45.99-4.01-63.19-8.32-8.9-2.21-16.5-4.76-22.8-7.85zm445.99 0c-6.3 3.09-14 5.63-22.8 7.84-17.2 4.31-39 7.24-63.2 8.32v50.6c8.1 2 16 5.1 23.4 9.3l7.7 4.5-4.4 7.8-21.5 37.2c-1.6-1.5-3.3-2.9-5.2-4.2v63.4c10.2-6.9 17-18.6 17-31.7 0-2.8-.3-5.5-.9-8.1h50.8v9c0 31.8-17 61.1-44.4 77l-7.8 4.5-14.7-25.5v122.5c20.9-1.3 40.7-4.7 55.9-9.8 10.2-3.4 18.3-7.6 23.3-11.9 5-4.3 6.8-8 6.8-12.3zM256 73c-34.7 0-66.2 3.57-88.3 9.1-11.1 2.77-19.8 6.09-25.1 9.19-4.3 2.58-5.3 4.42-5.5 4.71.2.29 1.2 2.12 5.5 4.7 5.3 3.1 14 6.4 25.1 9.2 22.1 5.5 53.6 9.1 88.3 9.1 34.7 0 66.2-3.6 88.3-9.1 11.1-2.8 19.8-6.1 25.1-9.2 4.3-2.58 5.3-4.41 5.5-4.7-.2-.29-1.2-2.13-5.5-4.71-5.3-3.1-14-6.42-25.1-9.19-22.1-5.53-53.6-9.1-88.3-9.1zm118.9 23c.1.1.1.1.1 0s0-.1-.1 0zm-237.8 0c-.1-.1-.1-.1-.1 0s0 .1.1 0zm-.1 22.1V448c0 5 2.2 9.3 7.9 14.2 5.6 4.8 14.7 9.5 25.9 13.3 22.6 7.5 54 11.5 85.2 11.5 31.2 0 62.6-4 85.2-11.5 11.2-3.8 20.3-8.5 25.9-13.3 5.7-4.9 7.9-9.2 7.9-14.2V118.1c-7.2 3.7-16 6.6-26.3 9.3-24.2 6-56.7 9.6-92.7 9.6s-68.5-3.6-92.7-9.6c-10.3-2.7-19.1-5.6-26.3-9.3zM256 191c16.8 0 33.5 4.4 48.5 13l7.8 4.5-4.5 7.8-24.1 41.6c-7.3-6.7-17-10.9-27.7-10.9s-20.4 4.2-27.7 10.9l-28.6-49.4 7.8-4.5c15-8.7 31.7-13 48.5-13zm0 74c12.8 0 23 10.2 23 23s-10.2 23-23 23-23-10.2-23-23 10.2-23 23-23zm-98 15h57.8c-.5 2.6-.8 5.3-.8 8 0 18.1 12 33.7 28.5 39l-29.2 50.5-7.8-4.5c-30-17.3-48.5-49.4-48.5-84zm138.2 0H352v9c0 34.6-18.5 66.7-48.5 84l-7.8 4.5-28.8-50c17.3-4.8 30.1-20.8 30.1-39.5 0-2.7-.3-5.4-.8-8z"},child:[]}]})(i)}function k4e(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M288.3 13.4c-12.3-.01-23 6.49-27.3 15.31l-2.9 5.95-6.6-1.01c-5.5-.85-11.3-1.32-17.1-1.32-18.8 0-35.7 4.5-47.3 11.14-11.5 6.64-16.9 14.59-16.9 22 0 7.42 5.4 15.37 16.9 22 11.6 6.64 28.5 11.13 47.3 11.13 7.5-.02 14.9-.74 21.8-2.13l6.3-1.23 3.2 5.46c5.6 9.2 23.7 18.2 44.7 18.2 13.9 0 26.4-3.6 34.8-8.8 8.4-5.2 12.2-11.23 12.2-16.9 0-5.09-3-10.48-10-15.44-6.9-4.97-17.6-8.87-30-9.95l-18.3-1.59 12.5-13.49c4.1-4.41 6.1-9.6 6.1-14.87 0-12.88-12.4-24.46-29.4-24.46zM152.2 65.46C84.8 102.3 39 173.9 39 256c0 32.1 7 62.6 19.54 90 5.95-7.9 10.48-13.4 12.67-16C62.05 307.2 57 282.2 57 256c0-74 40.27-138.5 100.1-172.78-3.1-5.39-4.9-11.34-4.9-17.74v-.02zm210.7 1.75c7.5 6.93 12.5 15.9 12.5 25.99 0 1.14-.1 2.27-.2 3.38C423.7 132.9 455 190.7 455 256c0 23.7-4.2 46.5-11.8 67.6l18.3 2.2c7.4-21.9 11.5-45.4 11.5-69.8 0-80.8-44.4-151.5-110.1-188.79zm58.6 270.49c-11.1.2-23 1.1-35.9 3.1l-.5.1-.5.1c-25.8 7.3-37.1 15.2-46.4 24.7l-2.2 2.2-.3 3.1c-3.4 29.6-5.8 60 0 91.8l1.3 6.8 6.8.6c30.6 2.6 58.7 1.4 86.2 0l1-.1.9-.2c18.5-5.2 34.4-12.8 46.4-24.6l1.7-1.6.6-2.2c10-33.4 3.4-63.8.4-92.7l-.8-7.4-7.3-.7c-16.2-1.5-32.8-3.2-51.4-3zM79.62 348.2c-4.94 6.1-11.43 14.5-18.58 25.6-12.29 18.9-22.53 42.4-20.51 54.9 1.43 8.8 6.97 19.6 14.51 27.6 7.54 7.9 16.69 12.8 24.58 12.8 7.87 0 17.03-4.9 24.58-12.8 7.5-8 13.1-18.8 14.5-27.6 2-12.5-8.2-36-20.5-54.9-7.15-11-13.64-19.5-18.58-25.6zM427 355.7c1.7 0 3.3 0 5 .1 5.4.1 10.7.4 16 .8-5.9 3.4-12.1 6.8-19.5 9.9l-2.4.2c-19.5 1.4-37.7.3-55.4-2 4.7-2 10.5-4 18.3-6.2 13.8-2.2 26.3-2.9 38-2.8zm38 11.6c2.8 22.9 5 44.5-1 66.6-7 6.3-16 11.4-27 15.4 3-22.5 2-44.8-.5-66.6 11.3-5 20.2-10.2 28.5-15.4zm-112.2 13.1c20.7 3.2 42.3 5.4 65.8 4.5 2.5 23 3.5 45.6-.4 67.8-21.5 1-43.1 1.5-65.8-.1-3.5-24-2.2-47.9.4-72.2zm-216.4 34.7c.9 5.5 1 11 .1 16.4-.3 1.6-.6 3.3-1 4.9C170 459.5 211.4 473 256 473c21.6 0 42.5-3.2 62.3-9.1l-2-18.2c-19 6-39.3 9.3-60.3 9.3-44.9 0-86.3-14.8-119.6-39.9z"},child:[]}]})(i)}function Y4e(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M33.125 19.406L135.5 128.22l81-23.157 18.72-5.344-7.564 17.936-46.125 109.78 134.282-70 26.157-13.655L328.436 170 256.5 309.25l91.25-57.125 22.97-14.375-9.22 25.47-34.625 95.624 71-36.375 21.188-10.845L410.906 334l-33.937 93.063 45.124-6.688 4.53-.656 3.313 3.155 64.313 61.47-30.5-80.5 23.313-46.908-72.5 39.532 51.062-141.158-91.188 47.47 72.344-142.813-128.217 82.81L421.875 70.063 239.03 168.69l30.44-99.563-103.845 25.25-132.5-74.97zM18.155 30.78l77.876 108.25-31.124 75.532 94.125-46.78-98.905 166.812 190.25-99.656-101.03 185.406 140.25-79.063-46.94 102.22 106.5-53-45.655 92.28 86.5-14.467 93.47 31.562-63.158-60.344-56.125 8.314-15.53 2.312 5.374-14.75 31.158-85.437-70.907 36.31-21.124 10.814 8.094-22.313 33.47-92.436-97.22 60.875-28.938 18.092L224.22 331l74.06-143.344-131.06 68.313-22.97 12 10.03-23.908 48.626-115.687-67.75 19.375-5.5 1.563-3.875-4.157L18.157 30.78z"},child:[]}]})(i)}function Q4e(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M20.127 52.803v58.986L250.46 245.153c26.367-28.823 70.087-36.533 105.313-16.195 35.29 20.374 50.465 62.207 38.567 99.503l101.648 58.855-64.728-74.65 35.638-37.352-57.27-7.687 84.72-86.92-125.71 33.186 12.995-120.208-66.578 96.363-27.448-80.593-16.353 88.77L20.127 52.803zm0 105.12l-.008.018.007.005v-.02zm0 .022l-.002 87.582 155.344 89.95-89.94 33.287h135.493l-63.658 99.87 116.22-70.083 15.77 85.852 38.543-80.01 63.66 87.018-5.853-87.047 90.54 17.268-102.4-59.198c-26.546 26.964-68.89 33.744-103.183 13.945-34.322-19.816-49.62-59.928-39.49-96.424L20.127 157.945zm316.6 119.442c-.938-.003-1.874.027-2.805.092-12.42.86-24.164 7.707-30.9 19.375-10.78 18.67-4.455 42.27 14.214 53.047 18.67 10.78 42.27 4.455 53.047-14.214 10.78-18.67 4.454-42.27-14.215-53.047-6.125-3.536-12.78-5.23-19.34-5.253z"},child:[]}]})(i)}function U4e(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M256 32l-64 96 80 16-16 80 64-96-80-16 16-80zm-96 217c-1.9 0-9.8 3-15.8 6.7-2.8 1.7-5.3 3.5-7.2 4.8v119c1.9 1.3 4.4 3.1 7.2 4.8 6 3.7 13.9 6.7 15.8 6.7 1.9 0 9.8-3 15.8-6.7 5.9-3.7 10.6-7.3 10.6-7.3l2.5-2H201V265h-12.1l-2.5-2s-4.7-3.6-10.6-7.3c-6-3.7-13.9-6.7-15.8-6.7zm192 0c-1.9 0-9.8 3-15.8 6.7-5.9 3.7-10.6 7.3-10.6 7.3l-2.5 2H311v110h12.1l2.5 2s4.7 3.6 10.6 7.3c6 3.7 13.9 6.7 15.8 6.7 1.9 0 9.8-3 15.8-6.7 2.8-1.7 5.3-3.5 7.2-4.8v-119c-1.9-1.3-4.4-3.1-7.2-4.8-6-3.7-13.9-6.7-15.8-6.7zm-133 16v110h14V265h-14zm32 0v110h42V265h-42zM95.5 311c-18.8 0-36.6 9.2-49.94 22.7C32.22 347.1 23 365 23 384v106h18V384c0-13 6.78-27.1 17.32-37.7C68.85 335.8 82.8 329 95.5 329H119v-18H95.5zm297.5 0v18h22.9c13.1 0 27.1 6.8 37.7 17.4C464.2 357 471 371 471 384v106h18V384c0-19-9.2-37-22.7-50.4-13.4-13.4-31.4-22.6-50.4-22.6H393z"},child:[]}]})(i)}function v4e(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M376 211H256V16L136 301h120v195z"},child:[]}]})(i)}function b4e(i){return v({attr:{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},child:[{tag:"path",attr:{d:"M18.36 6.64a9 9 0 1 1-12.73 0"},child:[]},{tag:"line",attr:{x1:"12",y1:"2",x2:"12",y2:"12"},child:[]}]})(i)}function $4e(i){return v({attr:{fill:"none",viewBox:"0 0 24 24",strokeWidth:"2",stroke:"currentColor","aria-hidden":"true"},child:[{tag:"path",attr:{strokeLinecap:"round",strokeLinejoin:"round",d:"M9.663 17h4.673M12 3v1m6.364 1.636l-.707.707M21 12h-1M4 12H3m3.343-5.657l-.707-.707m2.828 9.9a5 5 0 117.072 0l-.548.547A3.374 3.374 0 0014 18.469V19a2 2 0 11-4 0v-.531c0-.895-.356-1.754-.988-2.386l-.548-.547z"},child:[]}]})(i)}function P4e(i){return v({attr:{version:"1.1",viewBox:"0 0 16 16"},child:[{tag:"path",attr:{d:"M6 0l-6 8h6l-4 8 14-10h-8l6-6z"},child:[]}]})(i)}const rge={SET:I0e,WORKING:Hn,UNREACH:Vn,LOWBAT:Fn,MAINTAIN:$0e,ERROR:B0e,DIRECTION:P0e,CONNECTED:Vn,ACTUAL:E4e,SECOND:_4e,PRESS_LONG:v0e,PRESS:U0e,MUTE:A0e,ACCURACY:Q4e,RADIUS:T0e,ELEVATION:z0e,LATITUDE:d0e,LONGITUDE:g0e,GPS:G0e,ON_ACTUAL:Rn,ON_SET:Rn,OPEN:Q0e,STOP:S4e,WATER_ALARM:Xn,WASTE_ALARM:ia,PAUSE:j0e,STATE:k4e,BATTERY:Fn,WASTE:ia,WATER:Xn,WORK_MODE:Hn,MODE:F0e,POWER:y0e,BOOST:O4e,HUMIDITY:q0e,TEMPERATURE:X0e,BRIGHTNESS:t4e,MOTION:_0e,FIRE:e4e,WINDOW:nu,SMOKE:K0e,SWING:f4e,SPEED:x4e,DIMMER:$4e,ON:b4e,COLOR_TEMP:p0e,ELECTRIC_POWER:P4e,CURRENT:v4e,VOLTAGE:U4e,CONSUMPTION:p4e,FREQUENCY:Y4e,HUE:i4e};class cu extends n.Component{static generateFile(e,t){const s=window.document.createElement("a");s.setAttribute("href",`data:application/json;charset=utf-8,${encodeURIComponent(JSON.stringify(t,null,2))}`),s.setAttribute("download",e),s.style.display="none",window.document.body.appendChild(s),s.click(),window.document.body.removeChild(s)}handleFileSelect=e=>{const t=e.target,s=t==null?void 0:t.files;if(!s||!s.length){console.error("No files found. Please report to developers");return}const r=s[0];if(r){const o=new window.FileReader;o.onload=()=>{var a;const M=((a=o.result)==null?void 0:a.toString())||"";try{const u=JSON.parse(M);u.native&&u.common?u.common.name!==this.props.common.name?this.props.onError&&this.props.onError(D.t("ra_otherConfig",u.common.name)):this.props.onLoad&&this.props.onLoad(u.native):this.props.onError&&this.props.onError(D.t("ra_invalidConfig"))}catch(u){this.props.onError&&this.props.onError(u==null?void 0:u.toString())}},o.readAsText(r)}else alert("Failed to open JSON File")};download(){const e={_id:`system.adapter.${this.props.common.name}.${this.props.instance}`,common:JSON.parse(JSON.stringify(this.props.common)),native:this.props.native};e.common.news&&delete e.common.news,e.common.titleLang&&delete e.common.titleLang,e.common.desc&&delete e.common.desc,cu.generateFile(`${e._id}.json`,e)}upload(){const e=window.document.createElement("input");e.setAttribute("type","file"),e.setAttribute("id","files"),e.setAttribute("opacity","0"),e.addEventListener("change",this.handleFileSelect,!1),e.click()}render(){return n.createElement("div",{className:this.props.className,style:this.props.style},this.props.common.icon?n.createElement(Se,{src:this.props.common.icon,style:{padding:8,width:64},alt:"logo"}):null,this.props.common.readme?n.createElement(Ct,{size:"small",color:"primary","aria-label":"Help",style:{marginRight:5,marginTop:5,float:"right"},onClick:()=>{const e=window.open(this.props.common.readme,"_blank");e==null||e.focus()}},n.createElement(ml,null)):null,n.createElement(Ct,{size:"small",color:"primary","aria-label":"Load config",style:{marginRight:5,marginTop:5,float:"right"},title:D.t("ra_Load configuration from file"),onClick:()=>this.upload()},n.createElement(pl,null)),n.createElement(Ct,{size:"small",color:"primary","aria-label":"Save config",style:{marginRight:5,marginTop:5,float:"right"},title:D.t("ra_Save configuration to file"),onClick:()=>this.download()},n.createElement(Ol,null)))}}class uu{static text2link(e){const t=e.match(/\d+\.\)\s/);return t&&(e=e.replace(t[0],t[0].replace(/\s/," "))),e.replace(/[^a-zA-Zа-яА-Я0-9]/g,"").trim().replace(/\s/g,"").toLowerCase()}static openLink(e,t){e=e.replace(/\/\/([0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*)(:\d+)?\//i,"//[$1]$2/"),t==="this"?window.location.href=e:window.open(e,t||"_blank")}static getTitle(e){const t=uu.extractHeader(e);let s=t.body;const r=t.header;if(!r.title){s=s.replace(/{[^}]*}/g,""),s=s.trim();const o=s.replace(/\r/g,"").split(` -`);for(let M=0;M{if(!M.trim())return;const a=M.indexOf(":");if(a!==-1){const u=M.substring(0,a).trim();let l=M.substring(a+1).trim();l=l.replace(/^['"]|['"]$/g,""),l==="true"?t[u]=!0:l==="false"?t[u]=!1:parseFloat(l).toString()===l?t[u]=parseFloat(l):t[u]=l}else t[M.trim()]=!0}),e=e.substring(s+7))}return{header:t,body:e}}static removeDocsify(e){const t=e.match(/{docsify-[^}]*}/g);return t&&t.forEach(s=>e=e.replace(s,"")),e}static onCopy(e,t){Pc(t),e&&e.stopPropagation(),e&&e.preventDefault()}}function W4e(i){return n.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 512 512",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},n.createElement("path",{fill:"currentColor",d:"M448 0L320 96v62.06l-83.03 83.03c6.79 4.25 13.27 9.06 19.07 14.87 5.8 5.8 10.62 12.28 14.87 19.07L353.94 192H416l96-128-64-64zM128 278.59L10.92 395.67c-14.55 14.55-14.55 38.15 0 52.71l52.7 52.7c14.56 14.56 38.15 14.56 52.71 0L233.41 384c29.11-29.11 29.11-76.3 0-105.41s-76.3-29.11-105.41 0z"}))}function lu(i){return n.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 320 320",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},n.createElement("g",{fill:"currentColor"},n.createElement("rect",{rx:"32",height:"272",width:"267",y:"25",x:"25",strokeWidth:"15",stroke:"currentColor",fill:"none"}),n.createElement("ellipse",{stroke:"currentColor",ry:"26",rx:"26",cy:"248",cx:"160",fill:"none",strokeWidth:"15"}),n.createElement("line",{y2:"201.94531",x2:"159.5",y1:"46.94531",x1:"159.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"none"}),n.createElement("rect",{height:"27",width:"50",y:"79.7979",x:"133.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"#fff"})))}function Ts(i){return n.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 512 512",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},n.createElement("path",{fill:"currentColor",d:"M433.941 65.941l-51.882-51.882A48 48 0 0 0 348.118 0H176c-26.51 0-48 21.49-48 48v48H48c-26.51 0-48 21.49-48 48v320c0 26.51 21.49 48 48 48h224c26.51 0 48-21.49 48-48v-48h80c26.51 0 48-21.49 48-48V99.882a48 48 0 0 0-14.059-33.941zM266 464H54a6 6 0 0 1-6-6V150a6 6 0 0 1 6-6h74v224c0 26.51 21.49 48 48 48h96v42a6 6 0 0 1-6 6zm128-96H182a6 6 0 0 1-6-6V54a6 6 0 0 1 6-6h106v88c0 13.255 10.745 24 24 24h88v202a6 6 0 0 1-6 6zm6-256h-64V48h9.632c1.591 0 3.117.632 4.243 1.757l48.368 48.368a6 6 0 0 1 1.757 4.243V112z"}))}function Nu(i){return n.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 320 320",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},n.createElement("g",{fill:"currentColor"},n.createElement("rect",{rx:"32",height:"272",width:"267",y:"25",x:"25",strokeWidth:"15",stroke:"currentColor",fill:"none"}),n.createElement("ellipse",{stroke:"currentColor",ry:"26",rx:"26",cy:"252",cx:"160",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",fill:"#fff"}),n.createElement("line",{y2:"201.94531",x2:"159.5",y1:"46.94531",x1:"159.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"none"}),n.createElement("rect",{height:"27",width:"50",y:"140.83068",x:"133.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"#fff"}),n.createElement("ellipse",{stroke:"currentColor",ry:"26",rx:"26",cy:"251",cx:"241",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",fill:"#fff"}),n.createElement("line",{y2:"200.94531",x2:"240.5",y1:"45.94531",x1:"240.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"none"}),n.createElement("rect",{height:"27",width:"50",y:"78.7979",x:"214.5",strokeWidth:"15",stroke:"currentColor",fill:"#fff"}),n.createElement("ellipse",{stroke:"currentColor",ry:"26",rx:"26",cy:"252",cx:"84",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",fill:"#fff"}),n.createElement("line",{y2:"201.94531",x2:"83.5",y1:"46.94531",x1:"83.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"none"}),n.createElement("rect",{height:"27",width:"50",y:"79.7979",x:"57.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"#fff"})))}function R4e(i){return n.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",onClick:e=>i.onClick&&i.onClick(e),width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},n.createElement("path",{fill:"currentColor",d:"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48z"}))}function J4e(i){return n.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 512 512",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},n.createElement("path",{fill:"currentColor",d:"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48z"}),n.createElement("path",{fill:"currentColor",stroke:"null",d:"m261,270l-12,0l0,-24c0,-33.12 -26.88,-60 -60,-60s-60,26.88 -60,60l0,24l-12,0c-13.2,0 -24,10.8 -24,24l0,120c0,13.2 10.8,24 24,24l144,0c13.2,0 24,-10.8 24,-24l0,-120c0,-13.2 -10.8,-24 -24,-24zm-72,108c-13.2,0 -24,-10.8 -24,-24s10.8,-24 24,-24s24,10.8 24,24s-10.8,24 -24,24zm37.2,-108l-74.4,0l0,-24c0,-20.52 16.68,-37.2 37.2,-37.2c20.52,0 37.2,16.68 37.2,37.2l0,24z"}))}function B4e(i){return n.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 512 512",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},n.createElement("path",{fill:"currentColor",d:"M448 0L320 96v62.06l-83.03 83.03c6.79 4.25 13.27 9.06 19.07 14.87 5.8 5.8 10.62 12.28 14.87 19.07L353.94 192H416l96-128-64-64zM128 278.59L10.92 395.67c-14.55 14.55-14.55 38.15 0 52.71l52.7 52.7c14.56 14.56 38.15 14.56 52.71 0L233.41 384c29.11-29.11 29.11-76.3 0-105.41s-76.3-29.11-105.41 0z"}))}function Xs(i){return n.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 320 320",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},n.createElement("rect",{fill:"none",rx:"32",height:"272",width:"267",y:"25",x:"25",strokeWidth:"15",stroke:"currentColor"}),n.createElement("ellipse",{fill:"none",ry:"54",rx:"54",cy:"160",cx:"160",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor"}))}function G4e(i){return n.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 24 24",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},n.createElement("path",{fill:"currentColor",stroke:"currentColor",d:"M4.25 5.61C6.27 8.2 10 13 10 13v6c0 .55.45 1 1 1h2c.55 0 1-.45 1-1v-6s3.72-4.8 5.74-7.39A.998.998 0 0 0 18.95 4H5.04c-.83 0-1.3.95-.79 1.61z"}))}const xr={root:{width:"100%",height:"100%"},overflowHidden:{overflow:"hidden"},container:{height:"100%"}};function F4e(i){var e;return n.createElement(ba,{elevation:Number.isNaN(i.elevation)?1:i.elevation,style:{...xr.root,...((e=i.styles)==null?void 0:e.root)||void 0,...i.overflow!=="visible"?xr.overflowHidden:void 0},onKeyDown:i.onKeyDown,tabIndex:i.tabIndex},n.createElement(vt,{container:!0,direction:"column",wrap:"nowrap",sx:xr.container},i.children))}const ra={root:{height:"100%",overflow:"hidden"},overflowAuto:{overflow:"auto"}},H4e=n.forwardRef(function(e,t){return n.createElement(vt,{sx:{...ra.root,...(e==null?void 0:e.style)||void 0,...e.overflow==="auto"?ra.overflowAuto:void 0},ref:t},e.children)});function V4e(i){return n.createElement(vt,{container:!0,alignItems:"center"},i.children)}const hs=24,Ye=32,Lu=i=>i==="dark"?"#62ff25":"#37c400",ju=i=>i==="dark"?"#ee56ff":"#a204b4",Z4e=i=>i==="dark"?"#fff46e":"#b89101",gu=i=>"#ff6d69",Tu=i=>"#5773ff",X4e=["0_userdata.0.","alias.0."],bt={headerCellInput:{width:"calc(100% - 5px)",height:Ye,pt:0,"& .itemIcon":{verticalAlign:"middle",width:hs,height:hs,display:"inline-block"}},headerCellSelectItem:{"& .itemIcon":{width:hs,height:hs,mr:"5px",display:"inline-block"}},selectNone:{opacity:.5},selectClearButton:{position:"absolute",top:0,right:0,borderRadius:5,backgroundColor:"background.default"},cellIdTooltipLink:{color:"#7ec2fd","&:hover":{color:"#7ec2fd"},"&:visited":{color:"#7ec2fd"}},cellIdTooltip:{fontSize:14}};function K4e(i){return n.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 436 436",style:i==null?void 0:i.style,width:"24",height:"24",className:"admin-button"},n.createElement("g",{fill:"currentColor"},n.createElement("path",{d:"m195.23077,24.30769c-36,3 -67,12 -96,26c-49,24 -82,61 -93,104l-3,11l-1,50c0,46 0,49 2,59l5,20c21,58 84,103 165,116c16,3 53,4 70,2c60,-6 111,-28 147,-64c21,-21 36,-49 40,-74a866,866 0 0 0 1,-104c-3,-18 -6,-28 -13,-43c-26,-52 -87,-90 -162,-101c-16,-2 -48,-3 -63,-2l1,0zm60,23c36,5 70,18 95,35c31,20 51,47 59,77c2,7 2,11 2,25c1,15 0,18 -2,26c-19,69 -104,117 -200,114c-47,-2 -90,-15 -124,-38c-31,-20 -51,-47 -59,-77c-3,-11 -4,-32 -2,-43c8,-42 41,-78 91,-101a260,260 0 0 1 140,-19l0,1zm-221,222c21,26 57,49 95,62c81,27 174,14 239,-32c14,-10 31,-27 41,-41c2,-2 2,-2 2,7c-1,23 -16,50 -38,72c-78,74 -233,74 -311,-1a121,121 0 0 1 -39,-76l0,-6l3,4l8,11z"}),n.createElement("path",{d:"m201.23077,47.30769c-40,3 -79,19 -104,44c-55,55 -38,133 37,171c52,26 122,24 172,-5c30,-17 51,-42 58,-71c3,-11 3,-34 0,-45c-6,-23 -21,-44 -40,-60l-27,-16a184,184 0 0 0 -96,-18zm30,21c56,5 100,35 112,75c4,11 4,30 0,41c-8,25 -26,45 -54,59a166,166 0 0 1 -160,-8a98,98 0 0 1 -41,-53c-5,-18 -2,-39 8,-57c23,-39 79,-62 135,-57z"})))}function oa(i){i=(i||"").toString();const e=i[0]==="*",t=i[i.length-1]==="*";return i=i.replace(/[-/\\^$+?.()|[\]{}]/g,"\\$&").replace(/\*/g,".*"),(e?"":"^")+i+(t?"":"$")}function q4e(i,e){const t=[];for(let s=0;s{if(r==null)return;const M=typeof r=="object";if(t&&M&&typeof r.en=="string"&&typeof r.de=="string"){s[o]=r.en;return}s[o]=M?No(r,e,t):r}):eLe(i,(s,r,o)=>{if(r==null||e.includes(o))return;const M=typeof r=="object";if(t&&M&&typeof r.en=="string"&&typeof r.de=="string"){s[o]=r.en;return}s[o]=M?No(r,e,t):r})}function Ma(i,e,t){const s=document.createElement("a"),r=[];t.excludeSystemRepositories&&r.push("system.repositories");const o=r.length>0||t.excludeTranslations?No(e,r,t.excludeTranslations):e,M=t.beautify?JSON.stringify(o,null,2):JSON.stringify(o);s.setAttribute("href",`data:application/json;charset=utf-8,${encodeURIComponent(M)}`),s.setAttribute("download",i),s.style.display="none",document.body.appendChild(s),s.click(),document.body.removeChild(s)}class tLe extends ze{hasIcons;timer=null;constructor(e){var t;super(e),this.state={value:e.initialValue||[]},this.hasIcons=!!((t=e.values)!=null&&t.find(s=>s.icon))}componentWillUnmount(){this.timer&&clearTimeout(this.timer)}render(){var e;return n.createElement("div",{style:{position:"relative"}},n.createElement(Xe,{variant:"standard",key:this.props.name,sx:bt.headerCellInput,className:"no-underline",multiple:!0,renderValue:t=>t!=null&&t.length?t.map(s=>{const r=this.props.values.find(u=>typeof u=="object"?u.value===s:u===s);let o,M,a;return typeof r=="object"?(o=r.value,M=r.name,a=r.icon):(o=r,M=r),n.createElement(W,{component:"span",sx:bt.headerCellSelectItem,key:o},a||(this.hasIcons?n.createElement("div",{className:"itemIcon"}):null),M)}):this.props.name==="custom"?this.props.texts.showAll:this.props.texts[`filter_${this.props.name}`],value:this.state.value,onChange:t=>{let s=t.target.value;if(this.state.value[0]==="_"&&s.includes("_")&&s.length>1){const r=s.indexOf("_");r!==-1&&s.splice(r,1)}else this.state.value[0]!=="_"&&s.includes("_")&&(s=["_"]);s.includes("")&&(s=[]),this.setState({value:s},()=>{this.timer&&clearTimeout(this.timer),this.timer=setTimeout(()=>{this.timer=null,this.props.onChange(this.props.name,s)},400)})},onClose:()=>{this.timer&&(clearTimeout(this.timer),this.timer=null,this.props.onChange(this.props.name,this.state.value))},inputProps:{name:this.props.name,id:this.props.name},displayEmpty:!0},n.createElement(te,{key:"empty",value:""},n.createElement("span",{style:bt.selectNone},this.props.name==="custom"?this.props.texts.showAll:this.props.texts[`filter_${this.props.name}`])),(e=this.props.values)==null?void 0:e.map(t=>{let s,r,o;return typeof t=="object"?(s=t.value,r=t.name,o=t.icon):(s=t,r=t),n.createElement(te,{sx:bt.headerCellSelectItem,key:s,value:s},o||(this.hasIcons?n.createElement("div",{className:"itemIcon"}):null),r)})),this.state.value.length?n.createElement(W,{component:"div",sx:bt.selectClearButton},n.createElement(P,{size:"small",onClick:()=>{this.timer&&(clearTimeout(this.timer),this.timer=null),this.setState({value:[]},()=>this.props.onChange(this.props.name,void 0))}},n.createElement(ge,null))):null)}}class sLe extends ze{timer=null;constructor(e){super(e),this.state={value:e.initialValue||""}}componentWillUnmount(){this.timer&&clearTimeout(this.timer)}render(){return n.createElement(wt,{sx:this.props.styles,key:this.props.name,title:this.props.t("ra_You can use * as wildcard"),margin:"dense"},n.createElement(Ut,{classes:{underline:"no-underline"},id:this.props.name,placeholder:this.props.texts[`filter_${this.props.name}`],value:this.state.value,onChange:e=>{const t=e.target.value;this.setState({value:t},()=>{this.timer&&clearTimeout(this.timer),this.timer=setTimeout(()=>{this.timer=null,this.props.onChange(this.props.name,t)},400)})},onBlur:()=>{this.timer&&(clearTimeout(this.timer),this.timer=null,this.props.onChange(this.props.name,this.state.value))},autoComplete:"off"}),this.state.value?n.createElement("div",{style:{position:"absolute",right:0}},n.createElement(P,{size:"small",onClick:()=>{this.timer&&(clearTimeout(this.timer),this.timer=null),this.setState({value:""},()=>this.props.onChange(this.props.name,void 0))}},n.createElement(ge,null))):null)}}function oi(i,e,t,s){if(t||=0,s===void 0&&(s=i.length-1,!s))return i[0]===e;const r=Math.floor((t+s)/2);return e===i[r]?!0:s-1===t?i[t]===e||i[s]===e:e>i[r]?oi(i,e,r,s):ek.toLowerCase())),(L=e.custom)!=null&&L.length&&(r.custom=e.custom.map(k=>k.toLowerCase())),(j=e.role)!=null&&j.length&&(r.role=e.role.map(k=>k.toLowerCase())),(g=e.room)!=null&&g.length&&(r.room=[],e.room.forEach(k=>{var Y,J;r.room=r.room.concat(((J=(Y=s[k])==null?void 0:Y.common)==null?void 0:J.members)||[])})),(y=e.func)!=null&&y.length&&(r.func=[],e.func.forEach(k=>{var Y,J;r.func=r.func.concat(((J=(Y=s[k])==null?void 0:Y.common)==null?void 0:J.members)||[])}))}const N=i.data;if(N!=null&&N.id){const k=(d=N.obj)==null?void 0:d.common;if(M){if(M.type&&(typeof M.type=="string"?(!N.obj||M.type!==N.obj.type)&&(l=!0):Array.isArray(M.type)&&(!N.obj||!M.type.includes(N.obj.type))&&(l=!0)),!l&&((h=M.common)!=null&&h.type)&&(k!=null&&k.type?typeof M.common.type=="string"?M.common.type!==k.type&&(l=!0):Array.isArray(M.common.type)&&(M.common.type.includes(k.type)||(l=!0)):l=!0),!l&&((m=M.common)!=null&&m.role)&&(k!=null&&k.role?typeof M.common.role=="string"?k.role.startsWith(M.common.role)&&(l=!0):Array.isArray(M.common.role)&&(M.common.role.find(Y=>k.role.startsWith(Y))||(l=!0)):l=!0),!l&&((w=M.common)==null?void 0:w.custom)==="_"&&(k!=null&&k.custom))l=!0;else if(!l&&((O=M.common)!=null&&O.custom)&&((A=M.common)==null?void 0:A.custom)!=="_"){const Y=M.common.custom;if(!(k!=null&&k.custom))l=!0;else if(Y==="_dataSources")Object.keys(k.custom).find(J=>J.startsWith("history.")||J.startsWith("sql.")||J.startsWith("influxdb."))||(l=!0);else if(Array.isArray(Y)){const J=Object.keys(k.custom);Y.find(Le=>J.find(Je=>Je.startsWith(Le)))&&(l=!0)}else Y!==!0&&!Object.keys(k.custom).find(J=>J.startsWith(Y))&&(l=!0)}}!l&&!e.expertMode&&(l=N.id==="system"||N.id==="enum"||N.id.startsWith("system.")||N.id.startsWith("enum.")||N.id.startsWith("_design/")||N.id.endsWith(".admin")||!!(k!=null&&k.expert)),!l&&r.id&&(N.fID===void 0&&(N.fID=N.id.toLowerCase()),l=!N.fID.includes(r.id)),!l&&r.idRx&&(l=!r.idRx.test(N.id)),!l&&r.name&&(k?(N.fName===void 0&&(N.fName=Re(k.name,t)||"",N.fName=N.fName.toLowerCase()),l=!N.fName.includes(r.name)):l=!0),!l&&r.nameRx&&k&&(N.fName===void 0&&(N.fName=Re(k.name,t)||"",N.fName=N.fName.toLowerCase()),l=!r.nameRx.test(N.fName)),!l&&((I=e.role)!=null&&I.length)&&k&&(l=!(typeof k.role=="string"&&r.role.find(Y=>k.role.startsWith(Y)))),!l&&((p=r.room)!=null&&p.length)&&(l=!r.room.find(Y=>Y===N.id||N.id.startsWith(`${Y}.`))),!l&&((S=r.func)!=null&&S.length)&&(l=!r.func.find(Y=>Y===N.id||N.id.startsWith(`${Y}.`))),!l&&((f=r.type)!=null&&f.length)&&(l=!(($=N.obj)!=null&&$.type&&r.type.includes(N.obj.type))),!l&&a&&(l=!((x=N.obj)!=null&&x.type&&a.includes(N.obj.type))),!l&&((Z=r.custom)!=null&&Z.length)&&(k?r.custom[0]==="_"?l=!!k.custom:k.custom?l=!r.custom.find(Y=>k.custom[Y]):l=!0:l=r.custom[0]!=="_")}return N.visible=!l,N.hasVisibleChildren=!1,i.children&&u<20&&i.children.forEach(k=>{Lo(k,e,t,s,r,o,M,a,u+1)&&(N.hasVisibleChildren=!0)}),N.sumVisibility=N.visible||N.hasVisibleChildren,o&&N.sumVisibility&&o.count++,N.id&&N.sumVisibility&&i.children&&i.children.forEach(k=>k.data.hasVisibleParent=!0),N.visible||N.hasVisibleChildren}function yu(i,e,t,s){var o;s||=[];const r=i.data;return r.sumVisibility&&(r.id&&t[r.id]&&t[r.id].type===e&&s.push(r.id),(o=i.children)==null||o.forEach(M=>yu(M,e,t,s))),s}function na(i,e,t,s,r,o){let M;return e==="alias"||e==="alias.0"?M=n.createElement(Ba,{className:"iconOwn",style:{color:ju(s)}}):e==="0_userdata"||e==="0_userdata.0"?M=n.createElement(El,{className:"iconOwn",style:{color:Lu(s)}}):e.startsWith("_design/")||e==="system"?M=n.createElement(Pi,{className:"iconOwn",style:{color:gu(s)}}):e==="system.adapter"?M=n.createElement(Pi,{className:"iconOwn",style:{color:Tu(s)}}):e==="system.group"?M=n.createElement(Yo,{className:"iconOwn"}):e==="system.user"?M=n.createElement(Qo,{className:"iconOwn"}):e==="system.host"?M=n.createElement(Uo,{className:"iconOwn"}):e.endsWith(".connection")||e.endsWith(".connected")?M=n.createElement(zs,{className:"iconOwn"}):e.endsWith(".info")?M=n.createElement(vo,{className:"iconOwn"}):i[e]&&i[e].type==="meta"?M=n.createElement(er,{className:"iconOwn"}):t<2&&i[`system.adapter.${e}`]&&(M=Zi(i,`system.adapter.${e}`,r,o)),M||null}function Du(i,e){var t,s;return(s=(t=i==null?void 0:i.obj)==null?void 0:t.common)!=null&&s.desc&&Re(i.obj.common.desc,e)||null}function iLe(i,e){const t=Du(i,e);return t!=null&&t.startsWith("http")?n.createElement(W,{component:"a",sx:bt.cellIdTooltipLink,href:t,target:"_blank",rel:"noreferrer"},t):n.createElement("span",{style:bt.cellIdTooltip},t||i.id||"")}function aa(i,e){var N,c,L,j,g,y,d,h,m,w;const t=e.imagePrefix||".";let s=Object.keys(i);s.sort((O,A)=>O===A?0:(O=O.replace(/\./g,"!!!"),A=A.replace(/\./g,"!!!"),O>A?1:-1)),e.root&&(s=s.filter(O=>O===e.root||O.startsWith(`${e.root}.`)));let r=[],o="",M=0;const a={data:{name:"",id:""},children:[]},u={funcEnums:[],roomEnums:[],roles:[],ids:[],types:[],objects:i,customs:["_"],enums:[],hasSomeCustoms:!1,aliasesMap:{}};let l=a;for(let O=0;Ox.role===$)?typeof $!="string"?console.warn(`Invalid role type "${typeof $}" in "${I._id}"`):u.roles.push({role:$,type:f.type}):A.startsWith("enum.rooms.")?(u.roomEnums.push(A),u.enums.push(A)):A.startsWith("enum.functions.")?(u.funcEnums.push(A),u.enums.push(A)):I.type==="enum"?u.enums.push(A):I.type==="instance"&&f&&(f.supportCustoms||(N=f.adminUI)!=null&&N.custom)&&(u.hasSomeCustoms=!0,u.customs.push(A.substring(15))),A.startsWith("alias.")&&((c=I.common.alias)!=null&&c.id))if(typeof I.common.alias.id=="string"){const x=I.common.alias.id;u.aliasesMap[x]?u.aliasesMap[x].includes(A)||u.aliasesMap[x].push(A):u.aliasesMap[x]=[A]}else{const x=I.common.alias.id.read;x&&(u.aliasesMap[x]?u.aliasesMap[x].includes(A)||u.aliasesMap[x].push(A):u.aliasesMap[x]=[A]);const Z=I.common.alias.id.write;Z&&(u.aliasesMap[Z]?u.aliasesMap[Z].includes(A)||u.aliasesMap[Z].push(A):u.aliasesMap[Z]=[A])}}u.ids.push(A);let S;do if(S=!1,!o||A.startsWith(`${o}.`)){if(p.length-M>1){let $=o;for(let x=M;xZ.data.name===p[x]));else{const Z={data:{name:p[x],parent:l,id:$,obj:i[$],level:x,icon:na(i,$,x,e.themeType,e.lang,t),generated:!0}};l.children||=[],l.children.push(Z),l=Z,u.ids.push($)}}const f={data:{name:p[p.length-1],title:Re((L=I==null?void 0:I.common)==null?void 0:L.name,e.lang),obj:I,parent:l,icon:Zi(i,A,e.lang,t)||na(i,A,0,e.themeType,e.lang,t),id:A,hasCustoms:!!((j=I.common)!=null&&j.custom&&Object.keys(I.common.custom).length),level:p.length-1,generated:!1,button:I.type==="state"&&!!((g=I.common)!=null&&g.role)&&typeof I.common.role=="string"&&I.common.role.startsWith("button")&&((y=I.common)==null?void 0:y.write)!==!1,switch:I.type==="state"&&((d=I.common)==null?void 0:d.type)==="boolean"&&((h=I.common)==null?void 0:h.write)!==!1&&((m=I.common)==null?void 0:m.read)!==!1,url:!!((w=I.common)!=null&&w.role)&&typeof I.common.role=="string"&&I.common.role.startsWith("url")}};l.children||=[],l.children.push(f),l=f,M=p.length,r=p,o=A}else{let f=0;for(;r[f]===p[f];)f++;if(f>0){let $=r.length;for(r=r.splice(0,f),M=f,o=r.join(".");$>f;)l.data.parent?l=l.data.parent:console.error(`Parent is null for ${A} ${o} ${r.join(".")}`),$--}else l=a,r=[],o="",M=0;S=!0}while(S)}return u.roomEnums.sort((O,A)=>{var S,f,$,x;const I=Re((f=(S=i[O])==null?void 0:S.common)==null?void 0:f.name,e.lang)||O.split(".").pop(),p=Re((x=($=i[A])==null?void 0:$.common)==null?void 0:x.name,e.lang)||A.split(".").pop();return I>p?1:I{var S,f,$,x;const I=Re((f=(S=i[O])==null?void 0:S.common)==null?void 0:f.name,e.lang)||O.split(".").pop(),p=Re((x=($=i[A])==null?void 0:$.common)==null?void 0:x.name,e.lang)||A.split(".").pop();return I>p?1:IO.role.localeCompare(A.role)),u.types.sort(),{info:u,root:a}}function du(i,e,t,s,r){if(i.data.id===e)return i;if(t||(t=e.split("."),r=0,s=t[r]),!i.children&&i.data.id!==e)return null;let o;if(i.children)for(let M=0;Ms)break}return o?(r||=0,du(o,e,t,`${s}.${t[r+1]}`,r+1)):null}function zu(i,e,t,s){var M,a;if(!e)return{rooms:[],per:!1};s||=[];for(const u of i.roomEnums){const l=(M=i.objects[u])==null?void 0:M.common;if(!l)continue;const N=Re(l.name,t);(a=l.members)!=null&&a.includes(e)&&!s.includes(N)&&s.push(N)}let r;const o=e.split(".");return o.pop(),e=o.join("."),i.objects[e]&&(r=s.length,zu(i,e,t,s)),{rooms:s,per:!r}}function ys(i,e,t,s){var r,o;if(!e)return[];s||=[];for(let M=0;M946681200&&l<9466812e5&&(l*=1e3),l=l&&new Date(l).toString();else if(a!=null&&a.role&&typeof a.role=="string"&&a.role.match(/^value\.duration/)){if(typeof l=="number"&&l>=0){const g=Math.floor(l/3600),y=Math.floor(l%3600/60),d=Math.floor(l%60);l=`${g.toString().padStart(2,"0")}:${y.toString().padStart(2,"0")}:${d.toString().padStart(2,"0")}`}else if(typeof l=="string"&&E.isStringInteger(l)){const g=parseInt(l,10);if(g>=0){const y=Math.floor(g/3600),d=Math.floor(g%3600/60),h=Math.floor(g%60);l=`${y.toString().padStart(2,"0")}:${d.toString().padStart(2,"0")}:${h.toString().padStart(2,"0")}`}}}else N==="number"?Number.isInteger(l)||(l=Math.round(l*1e8)/1e8,s&&(l=l.toString().replace(".",","))):N==="object"?l=JSON.stringify(l):N!=="string"?l=l.toString():l.startsWith("data:image/")&&(u="image"),typeof l!="string"&&(l=l.toString());const c={v:l};M&&M[l]!==void 0&&l!==M[l]&&(c.s=l,l=M[l],c.v=l),((j=c.v)==null?void 0:j.length)>40&&(c.c=c.v,c.v=`${c.v.substring(0,40)}...`),a!=null&&a.unit&&(c.u=a.unit);let L;if(i.full&&(typeof l=="string"&&l.length>100?L=[{t:r.value,v:`${l.substring(0,100)}...`}]:L=[{t:r.value,v:l}],t)){if(t.ack!==void 0&&t.ack!==null&&L.push({t:r.ack,v:t.ack.toString()}),t.ts&&L.push({t:r.ts,v:t.ts?E.formatDate(new Date(t.ts),e):""}),t.lc&&L.push({t:r.lc,v:t.lc?E.formatDate(new Date(t.lc),e):""}),t.from){let g=t.from.toString();g.startsWith("system.adapter.")&&(g=g.substring(15)),L.push({t:r.from,v:g})}if(t.user){let g=t.user.toString();g.startsWith("system.user.")&&(g=g.substring(12)),L.push({t:r.user,v:g})}t.c&&L.push({t:r.c,v:t.c}),L.push({t:r.quality,v:E.quality2text(t.q||0).join(", "),nbr:!0})}return{valText:c,valFull:L,fileViewer:u}}function rLe(i){const{state:e}=i;return{color:e!=null&&e.ack?e.q?"#ffa500":"":"#ff2222c9"}}function oLe(i,e){let t=e,s=1;const r=[];for(;s=t)r.push(0);else if(s1){const s=e.path;let r;const o=i;if(o[s[0]]&&typeof o[s[0]]=="object")return s.length===2?r=o[s[0]][s[1]]:s.length===3?r=o[s[0]][s[1]]&&typeof o[s[0]][s[1]]=="object"?o[s[0]][s[1]][s[2]]:null:s.length===4?r=o[s[0]][s[1]]&&typeof o[s[0]][s[1]]=="object"&&o[s[0]][s[1]][s[2]]?o[s[0]][s[1]][s[2]][s[3]]:null:s.length===5?r=o[s[0]][s[1]]&&typeof o[s[0]][s[1]]=="object"&&o[s[0]][s[1]][s[2]]&&o[s[0]][s[1]][s[2]][s[3]]?o[s[0]][s[1]][s[2]][s[3]][s[4]]:null:s.length===6&&(r=o[s[0]][s[1]]&&typeof o[s[0]][s[1]]=="object"&&o[s[0]][s[1]][s[2]]&&o[s[0]][s[1]][s[2]][s[3]]&&o[s[0]][s[1]][s[2]][s[3]][s[4]]?o[s[0]][s[1]][s[2]][s[3]][s[4]][s[5]]:null),r??null}return null}function MLe(i,e,t){var s;if((s=i==null?void 0:i._id)!=null&&s.startsWith(`${e.adapter}.`)&&e.path.length>1){const r=e.path,o=i;if(o[r[0]]&&typeof o[r[0]]=="object"){if(r.length===2)return o[r[0]][r[1]]=t,!0;if(r.length===3){if(o[r[0]][r[1]]&&typeof o[r[0]][r[1]]=="object")return o[r[0]][r[1]][r[2]]=t,!0}else if(r.length===4){if(o[r[0]][r[1]]&&typeof o[r[0]][r[1]]=="object"&&o[r[0]][r[1]][r[2]]&&typeof o[r[0]][r[1]][r[2]]=="object")return o[r[0]][r[1]][r[2]][r[3]]=t,!0}else if(r.length===5){if(o[r[0]][r[1]]&&typeof o[r[0]][r[1]]=="object"&&o[r[0]][r[1]][r[2]]&&typeof o[r[0]][r[1]][r[2]]=="object"&&o[r[0]][r[1]][r[2]][r[3]]&&typeof o[r[0]][r[1]][r[2]][r[3]]=="object")return o[r[0]][r[1]][r[2]][r[3]][r[4]]=t,!0}else if(r.length===6&&o[r[0]][r[1]]&&typeof o[r[0]][r[1]]=="object"&&o[r[0]][r[1]][r[2]]&&typeof o[r[0]][r[1]][r[2]]=="object"&&o[r[0]][r[1]][r[2]][r[3]]&&typeof o[r[0]][r[1]][r[2]][r[3]]=="object"&&o[r[0]][r[1]][r[2]][r[3]][r[4]]&&typeof o[r[0]][r[1]][r[2]][r[3]][r[4]]=="object")return o[r[0]][r[1]][r[2]][r[3]][r[4]][r[5]]=t,!0}}return!1}function ua(i){return!!X4e.find(e=>i.startsWith(e))}const nLe=16,Te=20,hu="#ff413c",wu="#86211f",jo="#57ff45",go="#098c04",To="#f3ad11",yo="#6c5008",C={toolbar:{minHeight:38},toolbarButtons:{padding:4,marginLeft:4},switchColumnAuto:{marginLeft:16},dialogColumns:{transition:"opacity 1s"},dialogColumnsLabel:{fontSize:12,paddingTop:8},columnCustom:{width:"100%",display:"inline-block"},columnCustomEditable:{cursor:"text"},columnCustom_center:{textAlign:"center"},columnCustom_left:{textAlign:"left"},columnCustom_right:{textAlign:"right"},width100:{width:"100%"},transparent_10:{opacity:.1},transparent_20:{opacity:.2},transparent_30:{opacity:.3},transparent_40:{opacity:.4},transparent_50:{opacity:.5},transparent_60:{opacity:.6},transparent_70:{opacity:.7},transparent_80:{opacity:.8},transparent_90:{opacity:.9},transparent_100:{opacity:1},headerRow:{paddingLeft:8,height:38,whiteSpace:"nowrap",userSelect:"none"},buttonClearFilter:{position:"relative",float:"right",padding:0},buttonClearFilterIcon:{zIndex:2,position:"absolute",top:0,left:0,color:"#FF0000",opacity:.7},tableDiv:{paddingTop:0,paddingLeft:0,width:"calc(100% - 8px)",height:"calc(100% - 38px)",overflow:"auto"},tableRow:i=>({pl:1,height:Ye,lineHeight:`${Ye}px`,verticalAlign:"top",userSelect:"none",position:"relative",width:"100%","&:hover":{background:`${i.palette.mode==="dark"?i.palette.primary.dark:i.palette.primary.light} !important`,color:E.invertColor(i.palette.primary.main,!0)},whiteSpace:"nowrap",flexWrap:"nowrap"}),tableRowLines:i=>({borderBottom:`1px solid ${i.palette.mode==="dark","#8888882e"}`,"& > div":{borderRight:`1px solid ${i.palette.mode==="dark","#8888882e"}`}}),tableRowNoDragging:{cursor:"pointer"},tableRowAlias:{height:Ye+10},tableRowAliasReadWrite:{height:Ye+22},tableRowFocused:i=>({"&:after":{content:'""',position:"absolute",top:1,left:1,right:1,bottom:1,border:i.palette.mode?"1px dotted #000":"1px dotted #FFF"}}),checkBox:{padding:0},cellId:{position:"relative",fontSize:"1rem",overflow:"hidden",textOverflow:"ellipsis","& .copyButton":{display:"none"},"&:hover .copyButton":{display:"block"},"& .iconOwn":{display:"block",width:Ye-4,height:Ye-4,mt:"2px",float:"right"},"&:hover .iconOwn":{display:"none"},"& *":{width:"initial"}},cellIdSpan:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},cellIdIconFolder:i=>({marginRight:8,width:Ye-4,height:Ye-4,cursor:"pointer",color:i.palette.secondary.main||"#fbff7d",verticalAlign:"top"}),cellIdIconDocument:{verticalAlign:"middle",marginLeft:(Ye-Te)/2,marginRight:8,width:Te,height:Te},cellIdIconOwn:{},cellCopyButton:{width:Te,height:Te,top:(Ye-Te)/2,opacity:.8,position:"absolute",right:3},cellCopyButtonInDetails:{width:Te,height:Te,top:(Ye-Te)/2,opacity:.8},cellEditButton:{width:Te,height:Te,color:"white",position:"absolute",top:(Ye-Te)/2,right:Te+3,opacity:.7,"&:hover":{opacity:1}},cellName:{display:"inline-block",verticalAlign:"top",fontSize:14,ml:"5px",overflow:"hidden",textOverflow:"ellipsis",position:"relative","& .copyButton":{display:"none"},"&:hover .copyButton":{display:"block"}},cellNameWithDesc:{lineHeight:"normal"},cellNameDivDiv:{},cellDescription:{fontSize:10,opacity:.5,fontStyle:"italic"},cellIdAlias:i=>({fontStyle:"italic",fontSize:12,opacity:.7,"&:hover":{color:i.palette.mode==="dark"?"#009900":"#007700"}}),cellIdAliasReadWriteDiv:{height:24,marginTop:-5},cellIdAliasAlone:{lineHeight:0},cellIdAliasReadWrite:{lineHeight:"12px"},cellType:{display:"inline-block",verticalAlign:"top","& .itemIcon":{verticalAlign:"middle",width:hs,height:hs,display:"inline-block"},"& .itemIconFolder":{marginLeft:3}},cellRole:{display:"inline-block",verticalAlign:"top",textOverflow:"ellipsis",overflow:"hidden"},cellRoom:{display:"inline-block",verticalAlign:"top",textOverflow:"ellipsis",overflow:"hidden"},cellEnumParent:{opacity:.4},cellFunc:{display:"inline-block",verticalAlign:"top",textOverflow:"ellipsis",overflow:"hidden"},cellValue:{display:"inline-block",verticalAlign:"top",textOverflow:"ellipsis",overflow:"hidden"},cellValueButton:{marginTop:5},cellValueButtonFalse:{opacity:.3},cellAdapter:{display:"inline-block",verticalAlign:"top"},cellValueTooltip:{fontSize:12},cellValueText:{width:"100%",height:Ye,fontSize:16,display:"flex",overflow:"hidden",textOverflow:"ellipsis",position:"relative",verticalAlign:"top","& .copyButton":{display:"none"},"&:hover .copyButton":{display:"block"}},cellValueFile:{color:"#2837b9"},cellValueTooltipTitle:{fontStyle:"italic",width:100,display:"inline-block"},cellValueTooltipValue:{width:120,display:"inline-block",whiteSpace:"nowrap",textOverflow:"ellipsis"},cellValueTooltipImage:{width:100,height:"auto"},cellValueTooltipBoth:{width:220,display:"inline-block",whiteSpace:"nowrap"},cellValueTooltipBox:{width:250,overflow:"hidden",pointerEvents:"none"},tooltip:{pointerEvents:"none"},cellValueTextUnit:{marginLeft:4,opacity:.8,display:"inline-block"},cellValueTextState:{opacity:.7},cellValueTooltipCopy:{position:"absolute",bottom:3,right:3},cellValueTooltipEdit:{position:"absolute",bottom:3,right:15},cellButtons:{display:"inline-block",verticalAlign:"top"},cellButtonsButton:{display:"inline-block",opacity:.5,width:Te+4,height:Te+4,"&:hover":{opacity:1},p:0,mt:"-2px"},cellButtonsEmptyButton:{fontSize:12},cellButtonMinWidth:{minWidth:40},cellButtonsButtonAlone:{ml:`${Te+6}px`,pt:0,mt:"-2px"},cellButtonsButtonWithCustoms:i=>({color:i.palette.mode==="dark"?i.palette.primary.main:i.palette.secondary.main}),cellButtonsButtonWithoutCustoms:{opacity:.2},cellButtonsValueButton:i=>({position:"absolute",top:Te/2-2,opacity:.7,width:Te-2,height:Te-2,color:i.palette.action.active,"&:hover":{opacity:1}}),cellButtonsValueButtonCopy:{right:8,cursor:"pointer"},cellButtonsValueButtonEdit:{right:Te/2+16},cellDetailsLine:{display:"flex",alignItems:"center",width:"100%",height:32,fontSize:16},cellDetailsName:{fontWeight:"bold",marginRight:8,minWidth:80},filteredOut:{opacity:.5},filteredParentOut:{opacity:.3},filterInput:{mt:0,mb:0},selectIcon:{width:24,height:24,marginRight:4},itemSelected:i=>({background:`${i.palette.primary.main} !important`,color:`${E.invertColor(i.palette.primary.main,!0)} !important`}),header:{width:"100%"},headerCell:{display:"inline-block",verticalAlign:"top"},headerCellValue:{paddingTop:4,fontSize:16},visibleButtons:{color:"#2196f3",opacity:.7},grow:{flexGrow:1},enumIconDiv:{marginRight:8,width:32,height:32,borderRadius:8,background:"#FFFFFF"},enumIcon:{marginTop:4,marginLeft:4,width:24,height:24},enumDialog:{overflow:"hidden"},enumList:{minWidth:250,height:"calc(100% - 50px)",overflow:"auto"},enumCheckbox:{minWidth:0},buttonDiv:{display:"flex",height:"100%",alignItems:"center"},aclText:{fontSize:13,marginTop:6},rightsObject:{color:"#55ff55",paddingLeft:3},rightsState:{color:"#86b6ff",paddingLeft:3},textCenter:{padding:12,textAlign:"center"},tooltipAccessControl:{display:"flex",flexDirection:"column"},fontSizeTitle:{"@media screen and (max-width: 465px)":{"& *":{fontSize:12}}},draggable:{cursor:"copy"},nonDraggable:{cursor:"no-drop"},iconDeviceConnected:i=>({color:i.palette.mode==="dark"?jo:go,opacity:.8,position:"absolute",top:4,right:32,width:20}),iconDeviceDisconnected:i=>({color:i.palette.mode==="dark"?To:yo,opacity:.8,position:"absolute",top:4,right:32,width:20}),iconDeviceError:i=>({color:i.palette.mode==="dark"?hu:wu,opacity:.8,position:"absolute",top:4,right:50,width:20}),resizeHandle:{display:"block",position:"absolute",cursor:"col-resize",width:7,top:2,bottom:2,zIndex:1},resizeHandleRight:{right:3,borderRight:"2px dotted #888","&:hover":{borderColor:"#ccc",borderRightStyle:"solid"},"&.active":{borderColor:"#517ea5",borderRightStyle:"solid"}},invertedBackground:i=>({backgroundColor:i.palette.mode==="dark"?"#9a9a9a":"#565656",padding:"0 3px",borderRadius:"2px 0 0 2px"}),invertedBackgroundFlex:i=>({backgroundColor:i.palette.mode==="dark"?"#9a9a9a":"#565656",borderRadius:"0 2px 2px 0"}),contextMenuEdit:i=>({color:i.palette.mode==="dark"?"#ffee48":"#cbb801"}),contextMenuEditValue:i=>({color:i.palette.mode==="dark"?"#5dff45":"#1cd301"}),contextMenuView:i=>({color:i.palette.mode==="dark"?"#FFF":"#000"}),contextMenuCustom:i=>({color:i.palette.mode==="dark"?"#42eaff":"#01bbc2"}),contextMenuACL:i=>({color:i.palette.mode==="dark"?"#e079ff":"#500070"}),contextMenuRoom:i=>({color:i.palette.mode==="dark"?"#ff9a33":"#642a00"}),contextMenuRole:i=>({color:i.palette.mode==="dark"?"#ffdb43":"#562d00"}),contextMenuDelete:i=>({color:i.palette.mode==="dark"?"#ff4f4f":"#cf0000"}),contextMenuKeys:{marginLeft:8,opacity:.7,fontSize:"smaller"},contextMenuWithSubMenu:{display:"flex"},...bt},la={state:n.createElement(Xs,{className:"itemIcon",style:{verticalAlign:"middle"}}),channel:n.createElement(lu,{className:"itemIcon",style:{verticalAlign:"middle"}}),device:n.createElement(Nu,{className:"itemIcon",style:{verticalAlign:"middle"}}),adapter:n.createElement(W4e,{className:"itemIcon",style:{verticalAlign:"middle"}}),meta:n.createElement(er,{className:"itemIcon",style:{verticalAlign:"middle"}}),instance:n.createElement(B4e,{className:"itemIcon",style:{color:"#7da7ff",verticalAlign:"middle"}}),enum:n.createElement(Gl,{className:"itemIcon",style:{verticalAlign:"middle"}}),chart:n.createElement(Bl,{className:"itemIcon",style:{verticalAlign:"middle"}}),config:n.createElement(Gr,{className:"itemIcon",style:{verticalAlign:"middle"}}),group:n.createElement(Yo,{className:"itemIcon",style:{verticalAlign:"middle"}}),user:n.createElement(Qo,{className:"itemIcon",style:{verticalAlign:"middle"}}),host:n.createElement(Uo,{className:"itemIcon",style:{verticalAlign:"middle"}}),schedule:n.createElement(Jl,{className:"itemIcon",style:{verticalAlign:"middle"}}),script:n.createElement($o,{className:"itemIcon",style:{verticalAlign:"middle"}}),folder:n.createElement(ms,{className:"itemIcon itemIconFolder",style:{verticalAlign:"middle"}})},je={xs:{idWidth:"100%",fields:[],widths:{}},sm:{idWidth:300,fields:["room","val"],widths:{room:100,val:200}},md:{idWidth:300,fields:["room","func","val","buttons"],widths:{name:200,room:150,func:150,val:120,buttons:120}},lg:{idWidth:300,fields:["name","type","role","room","func","val","buttons","changedFrom","qualityCode","timestamp","lastChange"],widths:{name:300,type:80,role:120,room:180,func:180,val:140,buttons:120,changedFrom:120,qualityCode:100,timestamp:165,lastChange:165}},xl:{idWidth:550,fields:["name","type","role","room","func","val","buttons","changedFrom","qualityCode","timestamp","lastChange"],widths:{name:400,type:80,role:120,room:180,func:180,val:140,buttons:120,changedFrom:120,qualityCode:100,timestamp:170,lastChange:170}}};let Na=!1;const Ds={id:"",name:"",room:[],func:[],role:[],type:[],custom:[],expertMode:!1};class Xi extends ze{info={funcEnums:[],roomEnums:[],roles:[],ids:[],types:[],objects:{},customs:[],enums:[],hasSomeCustoms:!1,aliasesMap:{}};localStorage=window._localStorage||window.localStorage;tableRef;pausedSubscribes=!1;selectFirst;root=null;states={};subscribes=[];unsubscribeTimer=null;statesUpdateTimer=null;objectsUpdateTimer=null;visibleCols;texts;possibleCols;imagePrefix;adapterColumns=[];styleTheme="";edit={id:"",val:"",q:0,ack:!1};levelPadding;customWidth=!1;resizeTimeout=null;resizerNextName=null;resizerActiveName=null;resizerCurrentWidths={};resizeLeft=!1;resizerOldWidth=0;resizerMin=0;resizerNextMin=0;resizerOldWidthNext=0;resizerPosition=0;resizerActiveDiv=null;resizerNextDiv=null;storedWidths=null;systemConfig;objects;defaultHistory="";ctrlPressed=!1;columnsVisibility={};changedIds=null;contextMenu=null;recordStates=[];styles={};expertMode=!1;customColumnDialog=null;constructor(e){super(e);const t=this.localStorage.getItem(`${e.dialogName||"App"}.objectSelected`)||"";if(this.selectFirst="",this.expertMode=!!this.props.expertMode,t.startsWith("["))try{const d=JSON.parse(t);this.selectFirst=d[0]||""}catch{}else this.selectFirst=t;let s;const r=this.localStorage.getItem(`${e.dialogName||"App"}.objectExpanded`)||"[]";try{s=JSON.parse(r)}catch{s=[]}let o;const M=e.defaultFilters?"":this.localStorage.getItem(`${e.dialogName||"App"}.objectFilter`)||"";if(M)try{o=JSON.parse(M)}catch{o={...Ds}}else e.defaultFilters&&typeof e.defaultFilters=="object"?o={...e.defaultFilters}:o={...Ds};if(typeof o.room=="string"&&o.room&&(o.room=[o.room].filter(d=>d),o.room.length||delete o.room),typeof o.func=="string"&&o.func&&(o.func=[o.func].filter(d=>d),o.func.length||delete o.func),typeof o.role=="string"&&o.role&&(o.role=[o.role].filter(d=>d),o.role.length||delete o.role),typeof o.type=="string"&&(o.type=[o.type].filter(d=>d),o.type.length||delete o.type),typeof o.custom=="string"&&(o.custom=[o.custom].filter(d=>d),o.custom.length||delete o.custom),o.expertMode=e.expertMode!==void 0?e.expertMode:(window._sessionStorage||window.sessionStorage).getItem("App.expertMode")==="true",this.tableRef=Qa(),this.visibleCols=e.columns||je[e.width||"lg"].fields,e.types&&e.types.length===1){const d=this.visibleCols.indexOf("type");d!==-1&&this.visibleCols.splice(d,1)}this.possibleCols=je.xl.fields;let a=null;if(e.router){const d=e.router.getLocation();d.id&&d.dialog==="customs"&&(a=[d.id],this.pauseSubscribe(!0))}let u;Array.isArray(e.selected)?u=e.selected:u=[e.selected||""],u=u.map(d=>d.replace(/["']/g,"")).filter(d=>d),this.selectFirst=u.length&&u[0]?u[0]:this.selectFirst;const l=this.localStorage.getItem(`${e.dialogName||"App"}.columns`);let N;try{N=l?JSON.parse(l):null}catch{N=null}let c=null;try{c=c?JSON.parse(c):{}}catch{c={}}this.imagePrefix=e.imagePrefix||".";let L;const j=this.localStorage.getItem(`${e.dialogName||"App"}.foldersFirst`);j==="false"?L=!1:j==="true"?L=!0:L=e.foldersFirst===void 0?!0:e.foldersFirst;let g=!1;try{g=this.props.objectStatesView&&JSON.parse(this.localStorage.getItem(`${e.dialogName||"App"}.objectStatesView`)||"")||!1}catch{}this.state={aliasMenu:"",beautifyJsonExport:!0,columns:N,columnsAuto:this.localStorage.getItem(`${e.dialogName||"App"}.columnsAuto`)!=="false",columnsDialogTransparent:100,columnsEditCustomDialog:null,columnsForAdmin:null,columnsSelectorShow:!1,columnsWidths:c,customColumnDialogValueChanged:!1,customDialog:a,depth:0,editObjectAlias:!1,editObjectDialog:"",enumDialog:null,excludeSystemRepositoriesFromExport:!0,excludeTranslations:!1,expandAllVisible:!1,expanded:s,filter:o,filterKey:0,focused:this.localStorage.getItem(`${e.dialogName||"App"}.focused`)||"",foldersFirst:L,linesEnabled:this.localStorage.getItem(`${e.dialogName||"App"}.lines`)==="true",loaded:!1,noStatesByExportImport:!1,roleDialog:null,scrollBarWidth:16,selected:u,selectedNonObject:this.localStorage.getItem(`${e.dialogName||"App"}.selectedNonObject`)||"",showAliasEditor:"",showAllExportOptions:!1,showContextMenu:null,showDescription:this.localStorage.getItem(`${e.dialogName||"App"}.desc`)!=="false",showExportDialog:!1,showImportDialog:!1,showImportMenu:null,showRenameDialog:null,statesView:g,toast:"",tooltipInfo:null,viewFileDialog:""},this.texts={name:e.t("ra_Name"),categories:e.t("ra_Categories"),value:e.t("ra_tooltip_value"),ack:e.t("ra_tooltip_ack"),ts:e.t("ra_tooltip_ts"),lc:e.t("ra_tooltip_lc"),from:e.t("ra_tooltip_from"),user:e.t("ra_tooltip_user"),c:e.t("ra_tooltip_comment"),quality:e.t("ra_tooltip_quality"),editObject:e.t("ra_tooltip_editObject"),deleteObject:e.t("ra_tooltip_deleteObject"),customConfig:e.t("ra_tooltip_customConfig"),copyState:e.t("ra_tooltip_copyState"),editState:e.t("ra_tooltip_editState"),ctrlForLink:e.t("ra_tooltip_ctrlForLink"),close:e.t("ra_Close"),filter_id:e.t("ra_filter_id"),filter_name:e.t("ra_filter_name"),filter_type:e.t("ra_filter_type"),filter_role:e.t("ra_filter_role"),filter_room:e.t("ra_filter_room"),filter_func:e.t("ra_filter_func"),filter_custom:e.t("ra_filter_customs"),filterCustomsWithout:e.t("ra_filter_customs_without"),objectChangedByUser:e.t("ra_object_changed_by_user"),objectChangedBy:e.t("ra_object_changed_by"),objectChangedFrom:e.t("ra_state_changed_from"),stateChangedBy:e.t("ra_state_changed_by"),stateChangedFrom:e.t("ra_state_changed_from"),ownerGroup:e.t("ra_Owner group"),ownerUser:e.t("ra_Owner user"),showAll:e.t("ra_show_all"),deviceError:e.t("ra_Error"),deviceDisconnected:e.t("ra_Disconnected"),deviceConnected:e.t("ra_Connected"),aclOwner_read_object:e.t("ra_aclOwner_read_object"),aclOwner_read_state:e.t("ra_aclOwner_read_state"),aclOwner_write_object:e.t("ra_aclOwner_write_object"),aclOwner_write_state:e.t("ra_aclOwner_write_state"),aclGroup_read_object:e.t("ra_aclGroup_read_object"),aclGroup_read_state:e.t("ra_aclGroup_read_state"),aclGroup_write_object:e.t("ra_aclGroup_write_object"),aclGroup_write_state:e.t("ra_aclGroup_write_state"),aclEveryone_read_object:e.t("ra_aclEveryone_read_object"),aclEveryone_read_state:e.t("ra_aclEveryone_read_state"),aclEveryone_write_object:e.t("ra_aclEveryone_write_object"),aclEveryone_write_state:e.t("ra_aclEveryone_write_state"),create:e.t("ra_Create"),createBooleanState:e.t("ra_create_boolean_state"),createNumberState:e.t("ra_create_number_state"),createStringState:e.t("ra_create_string_state"),createState:e.t("ra_create_state"),createChannel:e.t("ra_create_channel"),createDevice:e.t("ra_create_device"),createFolder:e.t("ra_Create folder")},this.levelPadding=e.levelPadding||nLe;const y=this.localStorage.getItem(`${this.props.dialogName||"App"}.table`);if(y)try{const d=JSON.parse(y),h=this.props.width||"lg";this.storedWidths=JSON.parse(JSON.stringify(je[h])),Object.keys(d).forEach(m=>{m==="id"?je[h].idWidth=d.id:m==="nameHeader"?je[h].widths.name=d[m]:je[h].widths[m]!==void 0&&(je[h].widths[m]=d[m])}),this.customWidth=!0}catch{}this.calculateColumnsVisibility()}async loadAllObjects(e){var s;const t=this.props;try{await new Promise(l=>{this.setState({updating:!0},()=>l())});const r=(t.objectsWorker?await t.objectsWorker.getObjects(e):await t.socket.getObjects(e,!0))||{};if(t.types&&Oe.isWeb())for(let l=0;l{try{if(l(r[N]))this.objects[N]=r[N];else{const c=r[N]&&r[N].type;c&&(c==="channel"||c==="device"||c==="folder"||c==="adapter"||c==="instance")&&(this.objects[N]=r[N])}}catch(c){console.log(`Error by filtering of "${N}": ${c}`)}})}else if(t.types){this.objects={};const l=t.types;Object.keys(r).forEach(N=>{var L;const c=(L=r[N])==null?void 0:L.type;c&&(c==="channel"||c==="device"||c==="enum"||c==="folder"||c==="adapter"||c==="instance"||l.includes(c))&&(this.objects[N]=r[N])})}else this.objects=r;t.setObjectsReference&&t.setObjectsReference(this.objects),this.defaultHistory=this.systemConfig.common.defaultHistory,this.defaultHistory&&t.socket.getState(`system.adapter.${this.defaultHistory}.alive`).then(l=>{l!=null&&l.val||(this.defaultHistory="")}).catch(l=>window.alert(`Cannot get state: ${l}`));const o=await this.getAdditionalColumns();this.calculateColumnsVisibility(null,null,o);const{info:M,root:a}=aa(this.objects,{imagePrefix:t.imagePrefix,root:t.root,lang:t.lang,themeType:t.themeType});this.root=a,this.info=M;const u=((s=this.state.selected)==null?void 0:s.length)&&du(this.root,this.state.selected[0]);u&&!Lo(u,this.state.filter,t.lang,this.objects,void 0,void 0,t.customFilter,t.types)?this.setState({filter:{...Ds},columnsForAdmin:o},()=>{this.doFilter(),this.setState({loaded:!0,updating:!1},()=>this.expandAllSelected(()=>this.onAfterSelect()))}):(this.doFilter(),this.setState({loaded:!0,updating:!1,columnsForAdmin:o},()=>this.expandAllSelected(()=>this.onAfterSelect())))}catch(r){this.showError(r)}}expandAllSelected(e){const t=[...this.state.expanded];let s=!1;this.state.selected.forEach(r=>{const o=r.split("."),M=[];for(let a=0;a!this.objects[N]))&&((u=(a=this.props).onSelect)==null||u.call(a,this.state.selected,null,e))}else this.localStorage.removeItem(`${this.props.dialogName||"App"}.objectSelected`),this.state.selected.length?this.setState({selected:[]},()=>{this.props.onSelect&&(this.state.focused&&this.props.allowNonObjects?(this.selectFirst&&this.selectFirst!==this.state.selected[0]&&(this.selectFirst=""),this.props.onSelect([this.state.focused],null,e)):this.props.onSelect([],""))}):this.props.onSelect&&(this.state.focused&&this.props.allowNonObjects?(this.selectFirst&&this.selectFirst!==this.state.selected[0]&&(this.selectFirst=""),this.props.onSelect([this.state.focused],null,e)):this.props.onSelect([],""))}static getDerivedStateFromProps(e,t){const s={};let r=!1;return e.expertMode!==void 0&&e.expertMode!==t.filter.expertMode&&(r=!0,s.filter={...t.filter},s.filter.expertMode=e.expertMode),r?s:null}async componentDidMount(){await this.loadAllObjects(!Na),this.props.objectsWorker?this.props.objectsWorker.registerHandler(this.onObjectChangeFromWorker):await this.props.socket.subscribeObject("*",this.onObjectChange),Na=!0,window.addEventListener("contextmenu",this.onContextMenu,!0),window.addEventListener("keydown",this.onKeyPress,!0),window.addEventListener("keyup",this.onKeyPress,!0),this.props.onAllLoaded&&setTimeout(()=>{var e,t;(t=(e=this.props).onAllLoaded)==null||t.call(e)},100)}onKeyPress=e=>{e.type==="keydown"&&e.ctrlKey&&!this.ctrlPressed?(this.ctrlPressed=!0,this.tableRef.current&&(this.tableRef.current.className="highlight-link")):e.type==="keyup"&&!e.ctrlKey&&this.ctrlPressed&&(this.ctrlPressed=!1,this.tableRef.current&&(this.tableRef.current.className=""))};componentWillUnmount(){window.removeEventListener("contextmenu",this.onContextMenu,!0),window.removeEventListener("keydown",this.onKeyPress,!0),window.removeEventListener("keyup",this.onKeyPress,!0),this.props.objectsWorker?this.props.objectsWorker.unregisterHandler(this.onObjectChangeFromWorker,!0):this.props.socket.unsubscribeObject("*",this.onObjectChange).catch(e=>console.error(`Cannot unsubscribe *: ${e}`)),this.subscribes.forEach(e=>{this.props.socket.unsubscribeState(e,this.onStateChange)}),this.subscribes=[],this.objects={}}showDeleteDialog(e){var u,l,N,c;const{id:t,obj:s,item:r}=e,o=Object.keys(this.objects);o.sort();let M=0;const a=`${t}.`;for(let L=0;La)break;(c=(N=this.props).onObjectDelete)==null||c.call(N,t,!!((u=r.children)!=null&&u.length),!((l=s.common)!=null&&l.dontDelete),M+1)}onContextMenu=e=>{this.contextMenu&&Date.now()-this.contextMenu.ts<2e3?(e.preventDefault(),this.setState({showContextMenu:{item:this.contextMenu.item,position:{left:e.clientX+2,top:e.clientY-6}}})):this.state.showContextMenu&&(e.preventDefault(),this.setState({showContextMenu:null})),this.contextMenu=null};refreshComponent(){this.subscribes.forEach(e=>{this.props.socket.unsubscribeState(e,this.onStateChange)}),this.subscribes=[],this.loadAllObjects(!0).then(()=>console.log("updated!")).catch(e=>this.showError(e))}renderErrorDialog(){return this.state.error?n.createElement(de,{open:!0,maxWidth:"sm",fullWidth:!0,onClose:()=>this.setState({error:""}),"aria-labelledby":"error-dialog-title","aria-describedby":"error-dialog-description"},n.createElement(he,{id:"alert-dialog-title"},this.props.t("ra_Error")),n.createElement(Ae,null,n.createElement(Jt,{id:"alert-dialog-description"},this.state.error)),n.createElement(me,null,n.createElement(X,{variant:"contained",onClick:()=>this.setState({error:""}),color:"primary",autoFocus:!0,startIcon:n.createElement(Ue,null)},this.props.t("ra_Ok")))):null}showError(e){this.setState({error:typeof e=="object"?e&&typeof e.toString=="function"?e.toString():JSON.stringify(e):e})}onSelect(e,t,s){if(this.localStorage.setItem(`${this.props.dialogName||"App"}.focused`,e),!this.props.multiSelect)this.objects[e]&&(!this.props.types||this.props.types.includes(this.objects[e].type))?(this.localStorage.removeItem(`${this.props.dialogName||"App"}.selectedNonObject`),this.state.selected[0]!==e?this.setState({selected:[e],selectedNonObject:"",focused:e},()=>{this.onAfterSelect(t),s&&s()}):t&&this.props.onSelect&&this.onAfterSelect(t)):(this.localStorage.setItem(`${this.props.dialogName||"App"}.selectedNonObject`,e),this.setState({selected:[],selectedNonObject:e,focused:e},()=>{this.onAfterSelect(),s&&s()}));else if(this.objects[e]&&(!this.props.types||this.props.types.includes(this.objects[e].type))){this.localStorage.removeItem(`${this.props.dialogName||"App"}.selectedNonObject`);const r=[...this.state.selected],o=r.indexOf(e);o===-1?(r.push(e),r.sort()):t||r.splice(o,1),this.setState({selected:r,selectedNonObject:"",focused:e},()=>{this.onAfterSelect(t),s&&s()})}}_renderDefinedList(e){const t=[...this.possibleCols];if(t.unshift("id"),this.props.columns&&!this.props.columns.includes("buttons")){const s=t.indexOf("buttons");s!==-1&&t.splice(s,1)}return t.filter(s=>e&&(s==="val"||s==="buttons")||!e&&s!=="val"&&s!=="buttons").map(s=>{var r;return n.createElement(hM,{onClick:()=>{if(!this.state.columnsAuto&&s!=="id"){const o=[...this.state.columns||[]],M=o.indexOf(s);M===-1?(o.push(s),o.sort()):o.splice(M,1),this.localStorage.setItem(`${this.props.dialogName||"App"}.columns`,JSON.stringify(o)),this.calculateColumnsVisibility(null,o),this.setState({columns:o})}},key:s},n.createElement(ne,{edge:"start",disabled:s==="id"||this.state.columnsAuto,checked:s==="id"||!!(this.state.columnsAuto?this.visibleCols.includes(s):(r=this.state.columns)!=null&&r.includes(s)),disableRipple:!0}),n.createElement(nt,{primary:this.texts[`filter_${s}`]||this.props.t(`ra_${s}`)}))})}renderColumnsSelectorDialog(){return this.state.columnsSelectorShow?n.createElement(de,{onClose:()=>this.setState({columnsSelectorShow:!1}),open:!0,sx:{"& .MuiPaper-root":E.getStyle(this.props.theme,C.dialogColumns,C[`transparent_${this.state.columnsDialogTransparent}`])}},n.createElement(he,{sx:C.fontSizeTitle},this.props.t("ra_Configure")),n.createElement(Ae,{sx:C.fontSizeTitle},n.createElement(H,{style:C.switchColumnAuto,control:n.createElement(Di,{checked:this.state.foldersFirst,onChange:()=>{this.localStorage.setItem(`${this.props.dialogName||"App"}.foldersFirst`,this.state.foldersFirst?"false":"true"),this.setState({foldersFirst:!this.state.foldersFirst})}}),label:this.props.t("ra_Folders always first")}),n.createElement(H,{style:C.switchColumnAuto,control:n.createElement(Di,{checked:this.state.linesEnabled,onChange:()=>{this.localStorage.setItem(`${this.props.dialogName||"App"}.lines`,this.state.linesEnabled?"false":"true"),this.setState({linesEnabled:!this.state.linesEnabled})}}),label:this.props.t("ra_Show lines between rows")}),n.createElement(H,{style:C.switchColumnAuto,control:n.createElement(Di,{checked:this.state.columnsAuto,onChange:()=>{this.localStorage.setItem(`${this.props.dialogName||"App"}.columnsAuto`,this.state.columnsAuto?"false":"true"),this.state.columnsAuto?this.state.columns?(this.calculateColumnsVisibility(!1),this.setState({columnsAuto:!1})):(this.calculateColumnsVisibility(!1,[...this.visibleCols]),this.setState({columnsAuto:!1,columns:[...this.visibleCols]})):(this.calculateColumnsVisibility(!0),this.setState({columnsAuto:!0}))}}),label:this.props.t("ra_Auto (no custom columns)")}),n.createElement(wM,null,this._renderDefinedList(!1),this.state.columnsForAdmin&&Object.keys(this.state.columnsForAdmin).sort().map(e=>{var t;return(t=this.state.columnsForAdmin)==null?void 0:t[e].map(s=>{var r;return n.createElement(hM,{onClick:()=>{if(!this.state.columnsAuto){const o=[...this.state.columns||[]],M=`_${e}_${s.path}`,a=o.indexOf(M);a===-1?(o.push(M),o.sort()):o.splice(a,1),this.calculateColumnsVisibility(null,o),this.localStorage.setItem(`${this.props.dialogName||"App"}.columns`,JSON.stringify(o)),this.setState({columns:o})}},key:`${e}_${s.name}`},n.createElement(Yt,null,n.createElement(ne,{disabled:this.state.columnsAuto,edge:"start",checked:!this.state.columnsAuto&&((r=this.state.columns)==null?void 0:r.includes(`_${e}_${s.path}`)),disableRipple:!0})),n.createElement(nt,{primary:`${s.name} (${e})`}))})}),this._renderDefinedList(!0))),n.createElement(me,null,n.createElement(X,{variant:"contained",onClick:()=>this.setState({columnsSelectorShow:!1}),color:"primary",startIcon:n.createElement(ge,null)},this.texts.close))):null}async getAdditionalColumns(){try{const e=await this.props.socket.getAdapters();let t=null;return e.forEach(s=>t=this.parseObjectForAdmins(t,s)),t}catch(e){return console.error(`Cannot get adapters: ${e}`),null}}checkUnsubscribes(){for(let e=this.subscribes.length-1;e>=0;e--)this.recordStates.includes(this.subscribes[e])||this.unsubscribe(this.subscribes[e]);this.recordStates=[]}findItem(e,t,s,r){if(t||=e.split("."),s||=this.root,!s||!t.length)return null;if(r=(r?`${r}.`:"")+t.shift(),s.children){const o=s.children.find(M=>M.data.id===r);if(o){if(o.data.id===e)return o;if(t.length)return this.findItem(e,t,o,r)}else return null}return null}onStateChange=(e,t)=>{if(this.states[e]){const s=this.findItem(e);s!=null&&s.data.state&&(s.data.state=void 0)}t?this.states[e]=t:delete this.states[e],this.pausedSubscribes?this.statesUpdateTimer&&(clearTimeout(this.statesUpdateTimer),this.statesUpdateTimer=null):this.statesUpdateTimer||(this.statesUpdateTimer=setTimeout(()=>{this.statesUpdateTimer=null,this.forceUpdate()},300))};parseObjectForAdmins(e,t){var s;if((s=t.common)!=null&&s.adminColumns&&t.common.name){const r=t.common.adminColumns;let o;r&&typeof r!="object"?o=[r]:r&&(o=r);let M;r?M=o.map(a=>{if(typeof a!="object")return{path:a,name:a.split(".").pop()};const u=a;return u.objTypes&&typeof u.objTypes!="object"?u.objTypes=[u.objTypes]:u.objTypes||(u.objTypes=void 0),!u.name&&u.path?{path:u.path,name:u.path.split(".").pop(),width:u.width,edit:!!u.edit,type:u.type,objTypes:u.objTypes}:u.path?{path:u.path,name:Re(u.name||"",this.props.lang),width:u.width,edit:!!u.edit,type:u.type,objTypes:u.objTypes}:(console.warn(`Admin columns for ${t._id} ignored, because path not found`),null)}).filter(a=>a):M=null,M!=null&&M.length&&(e||={},e[t.common.name]=M.sort((a,u)=>a.path>u.path?-1:a.path{if(Array.isArray(e)){let t=null;e.forEach(s=>{const{newInnerState:r,filtered:o}=this.processOnObjectChangeElement(s.id,s.obj);o||(r&&t?Object.assign(t,r):t=r)}),t&&this.setState(t),this.afterObjectUpdated()}};onObjectChange=(e,t)=>{const{newInnerState:s,filtered:r}=this.processOnObjectChangeElement(e,t);r||(s&&this.setState(s),this.afterObjectUpdated())};afterObjectUpdated(){!this.objectsUpdateTimer&&this.objects&&(this.objectsUpdateTimer=setTimeout(()=>{this.objectsUpdateTimer=null;const{info:e,root:t}=aa(this.objects,{imagePrefix:this.props.imagePrefix,root:this.props.root,lang:this.props.lang,themeType:this.props.themeType});this.root=t,this.info=e,this.pausedSubscribes||this.doFilter()},500))}updateAliases(e){var s,r,o;if(!this.objects||!((s=this.info)!=null&&s.aliasesMap)||!(e!=null&&e.startsWith("alias.")))return;const t=Object.keys(this.objects).filter(M=>M.startsWith("alias.0"));this.info.aliasesMap={};for(const M of t){const a=this.objects[M];if((o=(r=a==null?void 0:a.common)==null?void 0:r.alias)!=null&&o.id)if(typeof a.common.alias.id=="string"){const u=a.common.alias.id;this.info.aliasesMap[u]?this.info.aliasesMap[u].includes(M)||this.info.aliasesMap[u].push(M):this.info.aliasesMap[u]=[M]}else{const u=a.common.alias.id.read;u&&(this.info.aliasesMap[u]?this.info.aliasesMap[u].includes(M)||this.info.aliasesMap[u].push(M):this.info.aliasesMap[u]=[M]);const l=a.common.alias.id.write;l&&(this.info.aliasesMap[l]?this.info.aliasesMap[l].includes(M)||this.info.aliasesMap[l].push(M):this.info.aliasesMap[l]=[M])}}}processOnObjectChangeElement(e,t){const s=t==null?void 0:t.type;if(t&&typeof this.props.filterFunc=="function"&&!this.props.filterFunc(t)&&s!=="channel"&&s!=="device"&&s!=="folder"&&s!=="adapter"&&s!=="instance")return{newInnerState:null,filtered:!0};let r=null;if(e.startsWith("system.adapter.")&&(t==null?void 0:t.type)==="adapter"){const o=JSON.parse(JSON.stringify(this.state.columnsForAdmin));this.parseObjectForAdmins(o,t),JSON.stringify(this.state.columnsForAdmin)!==JSON.stringify(o)&&(r={columnsForAdmin:o})}return this.objects||={},t?this.objects[e]=t:this.objects[e]&&delete this.objects[e],this.updateAliases(e),{newInnerState:r,filtered:!1}}subscribe(e){this.subscribes.includes(e)||(this.subscribes.push(e),this.pausedSubscribes||this.props.socket.subscribeState(e,this.onStateChange).catch(t=>console.error(`Cannot subscribe on state ${e}: ${t}`)))}unsubscribe(e){const t=this.subscribes.indexOf(e);t!==-1&&(this.subscribes.splice(t,1),this.states[e]&&delete this.states[e],this.props.socket.unsubscribeState(e,this.onStateChange),this.pausedSubscribes&&console.warn("Unsubscribe during pause?"))}pauseSubscribe(e){!this.pausedSubscribes&&e?(this.pausedSubscribes=!0,this.subscribes.forEach(t=>this.props.socket.unsubscribeState(t,this.onStateChange))):this.pausedSubscribes&&!e&&(this.pausedSubscribes=!1,this.subscribes.forEach(t=>this.props.socket.subscribeState(t,this.onStateChange)))}clearFilter(){JSON.stringify(this.state.filter)!==JSON.stringify(Ds)&&this.setState({filter:{...Ds},filterKey:this.state.filterKey+1},()=>{var e,t;this.doFilter(),(t=(e=this.props).onFilterChanged)==null||t.call(e,{...Ds})})}isFilterEmpty(){var e,t,s,r,o;return!!this.state.filter.id||!!this.state.filter.name||!!((e=this.state.filter.room)!=null&&e.length)||!!((t=this.state.filter.func)!=null&&t.length)||!!((s=this.state.filter.role)!=null&&s.length)||!!((r=this.state.filter.type)!=null&&r.length)||!!((o=this.state.filter.custom)!=null&&o.length)}getFilterInput(e){return n.createElement(sLe,{key:`${e}_${this.state.filterKey}`,styles:this.styles.filterInput,name:e,texts:this.texts,t:this.props.t,initialValue:this.state.filter[e],onChange:(t,s)=>{const r={...this.state.filter};s===void 0?delete r[t]:r[t]=s,this.setState({filter:r},()=>{var o,M;this.doFilter(),(M=(o=this.props).onFilterChanged)==null||M.call(o,r)})}})}getFilterSelect(e,t){return n.createElement(tLe,{key:`${e}_${this.state.filterKey}`,name:e,texts:this.texts,initialValue:this.state.filter[e]||[],values:t,onChange:(s,r)=>{const o={...this.state.filter};r===void 0?delete o[s]:o[s]=r,this.setState({filter:o},()=>{var M,a;this.doFilter(),(a=(M=this.props).onFilterChanged)==null||a.call(M,o)})}})}getFilterSelectRole(){return this.getFilterSelect("role",this.info.roles.map(e=>e.role))}getFilterSelectRoom(){const e=this.info.roomEnums.map(t=>{var s,r,o,M;return{name:Re((r=(s=this.objects[t])==null?void 0:s.common)==null?void 0:r.name,this.props.lang)||t.split(".").pop(),value:t,icon:n.createElement(Se,{src:((M=(o=this.objects[t])==null?void 0:o.common)==null?void 0:M.icon)||"",style:C.selectIcon})}});return this.getFilterSelect("room",e)}getFilterSelectFunction(){const e=this.info.funcEnums.map(t=>{var s,r,o,M;return{name:Re((r=(s=this.objects[t])==null?void 0:s.common)==null?void 0:r.name,this.props.lang)||t.split(".").pop(),value:t,icon:n.createElement(Se,{src:((M=(o=this.objects[t])==null?void 0:o.common)==null?void 0:M.icon)||"",style:C.selectIcon})}});return this.getFilterSelect("func",e)}getFilterSelectType(){const e=this.info.types.map(t=>({name:t,value:t,icon:la[t]||null}));return this.getFilterSelect("type",e)}getFilterSelectCustoms(){if(this.info.customs.length>1){const e=this.info.customs.map(t=>({name:t==="_"?this.texts.filterCustomsWithout:t,value:t,icon:t==="_"?null:n.createElement(Se,{src:Zi(this.objects,t,this.props.lang,this.imagePrefix)||"",style:C.selectIcon})}));return this.getFilterSelect("custom",e)}return null}onExpandAll(e,t){var r;const s=e||this.root;t||=[],(r=s==null?void 0:s.children)==null||r.forEach(o=>{o.data.sumVisibility&&(t.push(o.data.id),this.onExpandAll(o,t))}),s===this.root&&(t.sort(),this.localStorage.setItem(`${this.props.dialogName||"App"}.objectExpanded`,JSON.stringify(t)),this.setState({expanded:t}))}onCollapseAll(){this.localStorage.setItem(`${this.props.dialogName||"App"}.objectExpanded`,JSON.stringify([])),this.localStorage.setItem(`${this.props.dialogName||"App"}.objectSelected`,"[]"),this.setState({expanded:[],depth:0,selected:[]},()=>this.onAfterSelect())}expandDepth(e,t,s){var r;e||=this.root,t>0&&((r=e.children)==null||r.forEach(o=>{o.data.sumVisibility&&(oi(s,o.data.id)||(s.push(o.data.id),s.sort()),t-1>0&&this.expandDepth(o,t-1,s))}))}static collapseDepth(e,t){return t.filter(s=>s.split(".").length<=e)}onExpandVisible(){if(this.state.depth<9){const e=this.state.depth+1,t=[...this.state.expanded];this.root&&this.expandDepth(this.root,e,t),this.localStorage.setItem(`${this.props.dialogName||"App"}.objectExpanded`,JSON.stringify(t)),this.setState({depth:e,expanded:t})}}onStatesViewVisible(){const e=!this.state.statesView;this.localStorage.setItem(`${this.props.dialogName||"App"}.objectStatesView`,JSON.stringify(e)),this.setState({statesView:e})}onCollapseVisible(){if(this.state.depth>0){const e=this.state.depth-1,t=Xi.collapseDepth(e,this.state.expanded);this.localStorage.setItem(`${this.props.dialogName||"App"}.objectExpanded`,JSON.stringify(t)),this.setState({depth:e,expanded:t})}}getEnumsForId=e=>{const t=[];return this.info.enums.forEach(s=>{var r,o,M;if((M=(o=(r=this.objects[s])==null?void 0:r.common)==null?void 0:o.members)!=null&&M.includes(e)){const a={_id:this.objects[s]._id,common:JSON.parse(JSON.stringify(this.objects[s].common)),native:this.objects[s].native,type:"enum"};a.common&&(delete a.common.members,delete a.common.custom,delete a.common.mobile),t.push(a)}}),t.length?t:void 0};_createAllEnums=async(e,t)=>{var s,r;for(let o=0;or)break}return e}return[]}async _exportObjects(e){var o;if(e.isAll){Ma("allObjects.json",this.objects,e);return}if(!(this.state.selected.length||this.state.selectedNonObject)){window.alert(this.props.t("ra_Save of objects-tree is not possible"));return}const t={},s=this.state.selected[0]||this.state.selectedNonObject,r=this._getSelectedIdsForExport();for(const M of r){if(t[M]=JSON.parse(JSON.stringify(this.objects[M])),((o=t[M])==null?void 0:o.type)==="state"&&!e.noStatesByExportImport){const a=await this.props.socket.getState(M);a&&(t[M].val=a.val,t[M].ack=a.ack)}if(t[M].common){const a=this.getEnumsForId(M);a&&(t[M].common.enums=a)}}Ma(`${s}.json`,t,e)}renderExportDialog(){return this.state.showExportDialog===!1?null:n.createElement(de,{open:!0,maxWidth:"lg"},n.createElement(he,null,this.props.t("ra_Select type of export")),n.createElement(Ae,null,n.createElement(Jt,null,this.state.filter.expertMode||this.state.showAllExportOptions?n.createElement(n.Fragment,null,this.props.t("ra_You can export all objects or just the selected branch."),n.createElement("br",null),this.props.t("ra_Selected %s object(s)",this.state.showExportDialog),n.createElement("br",null),n.createElement(H,{control:n.createElement(ne,{checked:this.state.noStatesByExportImport,onChange:e=>this.setState({noStatesByExportImport:e.target.checked})}),label:this.props.t("ra_Do not export values of states")}),n.createElement("br",null),this.props.t("These options can reduce the size of the export file:"),n.createElement(H,{control:n.createElement(ne,{checked:this.state.beautifyJsonExport,onChange:e=>this.setState({beautifyJsonExport:e.target.checked})}),label:this.props.t("Beautify JSON output")}),n.createElement("br",null),n.createElement(H,{control:n.createElement(ne,{checked:this.state.excludeSystemRepositoriesFromExport,onChange:e=>this.setState({excludeSystemRepositoriesFromExport:e.target.checked})}),label:this.props.t("Exclude system repositories from export JSON")}),n.createElement(H,{control:n.createElement(ne,{checked:this.state.excludeTranslations,onChange:e=>this.setState({excludeTranslations:e.target.checked})}),label:this.props.t("Exclude translations (except english) from export JSON")})):null)),n.createElement(me,null,this.state.filter.expertMode||this.state.showAllExportOptions?n.createElement(X,{color:"grey",variant:"outlined",onClick:()=>this.setState({showExportDialog:!1,showAllExportOptions:!1},()=>this._exportObjects({isAll:!0,noStatesByExportImport:this.state.noStatesByExportImport,beautify:this.state.beautifyJsonExport,excludeSystemRepositories:this.state.excludeSystemRepositoriesFromExport,excludeTranslations:this.state.excludeTranslations}))},n.createElement("span",{style:{marginRight:8}},this.props.t("ra_All objects")),"(",Object.keys(this.objects).length,")"):n.createElement(X,{color:"grey",variant:"outlined",startIcon:n.createElement(uo,null),onClick:()=>this.setState({showAllExportOptions:!0})},this.props.t("ra_Advanced options")),n.createElement(X,{color:"primary",variant:"contained",autoFocus:!0,onClick:()=>this.setState({showExportDialog:!1,showAllExportOptions:!1},()=>this._exportObjects({isAll:!1,noStatesByExportImport:this.state.noStatesByExportImport,beautify:this.state.beautifyJsonExport,excludeSystemRepositories:this.state.excludeSystemRepositoriesFromExport,excludeTranslations:this.state.excludeTranslations}))},n.createElement("span",{style:{marginRight:8}},this.props.t("ra_Only selected")),"(",this.state.showExportDialog,")"),n.createElement(X,{color:"grey",variant:"contained",onClick:()=>this.setState({showExportDialog:!1,showAllExportOptions:!1}),startIcon:n.createElement(ge,null)},this.props.t("ra_Cancel"))))}renderRenameDialog(){var t;if(!this.state.showRenameDialog)return null;const e=this.props.objectMoveRenameDialog;return n.createElement(e,{expertMode:this.props.expertMode,onClose:()=>this.setState({showRenameDialog:null}),id:this.state.showRenameDialog.id,childrenIds:this.state.showRenameDialog.childrenIds,theme:this.props.theme,socket:this.props.socket,t:this.props.t,objectType:(t=this.objects[this.state.showRenameDialog.id])==null?void 0:t.type})}async parseJsonFile(e){try{const t=JSON.parse(e),s=Object.keys(t).length,r=t._id;if(r===void 0&&s)await this.loadObjects(t),window.alert(this.props.t("ra_%s object(s) processed",s));else{if(!r)return window.alert(this.props.t("ra_Invalid structure"));try{let o,M,a;if(t.common.enums&&(o=t.common.enums,delete t.common.enums),t.val&&(M=t.val,delete t.val),t.ack!==void 0&&(a=t.ack,delete t.ack),await this.props.socket.setObject(t._id,t),t.type==="state")if(M!=null)await this.props.socket.setState(t._id,M,a===void 0?!0:a);else{const u=await this.props.socket.getState(t._id);(!u||u.val===null||u.val===void 0)&&await this.props.socket.setState(t._id,t.common.def===void 0?null:t.common.def,!0)}o&&await this._createAllEnums(o,t._id),window.alert(this.props.t("ra_%s was imported",t._id))}catch(o){window.alert(o)}}}catch(t){window.alert(t)}}handleJsonUpload(e){var r;const t=e.target,s=((r=t.files)==null?void 0:r.length)&&t.files[0];if(s){const o=new FileReader;o.onload=M=>{var a;return this.parseJsonFile((a=M.target)==null?void 0:a.result),null},o.readAsText(s)}else window.alert(this.props.t("ra_Failed to open JSON File"))}toolTipObjectCreating=()=>{var s,r;const{t:e}=this.props;let t=[n.createElement("div",{key:1},e("ra_Only following structures of objects are available:")),n.createElement("div",{key:2},e("ra_Folder → State")),n.createElement("div",{key:3},e("ra_Folder → Channel → State")),n.createElement("div",{key:4},e("ra_Folder → Device → Channel → State")),n.createElement("div",{key:5},e("ra_Device → Channel → State")),n.createElement("div",{key:6},e("ra_Channel → State")),n.createElement("div",{key:7,style:{height:10}}),n.createElement("div",{key:8},e('ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".')),n.createElement("div",{key:9},e('ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").'))];if(this.state.selected.length||this.state.selectedNonObject){const o=this.state.selected[0]||this.state.selectedNonObject;if(!(o.split(".").length<2||this.objects[o]&&((s=this.objects[o])==null?void 0:s.type)==="state"))if(this.state.filter.expertMode)switch((r=this.objects[o])==null?void 0:r.type){case"device":t=[n.createElement("div",{key:1},e("ra_Only following structures of objects are available:")),n.createElement("div",{key:5},e("ra_Device → Channel → State")),n.createElement("div",{key:7,style:{height:10}}),n.createElement("div",{key:8},e('ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".')),n.createElement("div",{key:9},e('ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").'))];break;case"folder":t=[n.createElement("div",{key:1},e("ra_Only following structures of objects are available:")),n.createElement("div",{key:2},e("ra_Folder → State")),n.createElement("div",{key:3},e("ra_Folder → Channel → State")),n.createElement("div",{key:4},e("ra_Folder → Device → Channel → State")),n.createElement("div",{key:7,style:{height:10}}),n.createElement("div",{key:8},e('ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".')),n.createElement("div",{key:9},e('ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").'))];break;case"channel":t=[n.createElement("div",{key:1},e("ra_Only following structures of objects are available:")),n.createElement("div",{key:1},e("ra_Channel → State")),n.createElement("div",{key:7,style:{height:10}}),n.createElement("div",{key:8},e('ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".')),n.createElement("div",{key:9},e('ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").'))];break}else(o.startsWith("alias.0")||o.startsWith("0_userdata"))&&(t=[n.createElement("div",{key:1},e("ra_Only following structures of objects are available:")),n.createElement("div",{key:2},e("ra_Folder → State")),n.createElement("div",{key:3},e("ra_Folder → Channel → State")),n.createElement("div",{key:4},e("ra_Folder → Device → Channel → State")),n.createElement("div",{key:5},e("ra_Device → Channel → State")),n.createElement("div",{key:6},e("ra_Channel → State")),n.createElement("div",{key:7,style:{height:10}}),n.createElement("div",{key:7},e('ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".')),n.createElement("div",{key:8},e('ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").'))])}return t.length?t:e("ra_Add new child object to selected parent")};onOpenFile(){const e=document.createElement("input");e.setAttribute("type","file"),e.setAttribute("id","files"),e.setAttribute("opacity","0"),e.addEventListener("change",t=>this.handleJsonUpload(t),!1),e.click()}renderInputJsonDialog(){const e=this.props.objectBrowserInsertJsonObjects;return this.state.showImportDialog?n.createElement(e,{onClose:t=>{this.setState({showImportDialog:!1}),t&&this.parseJsonFile(t)},themeName:this.props.themeName,themeType:this.props.themeType,t:this.props.t}):null}getToolbar(){let e=!1;if(this.state.selected.length||this.state.selectedNonObject){const t=this.state.selected[0]||this.state.selectedNonObject;t.split(".").length<2||this.objects[t]&&this.objects[t].type==="state"?e=!1:(this.state.filter.expertMode||t.startsWith("alias.0")||t.startsWith("0_userdata"))&&(e=!0)}return n.createElement("div",{style:{display:"flex",width:"100%",alignItems:"center",overflowX:"auto"}},n.createElement("div",{style:{display:"flex",width:"100%",alignItems:"center"}},n.createElement(ae,{title:this.props.t("ra_Refresh tree"),slotProps:{popper:{sx:C.tooltip}}},n.createElement("div",null,n.createElement(P,{onClick:()=>this.refreshComponent(),disabled:this.state.updating,size:"large"},n.createElement(Wa,null)))),this.props.showExpertButton&&!this.props.expertMode&&n.createElement(ae,{title:this.props.t("ra_expertMode"),slotProps:{popper:{sx:C.tooltip}}},n.createElement(P,{key:"expertMode",color:this.state.filter.expertMode?"secondary":"default",onClick:()=>{const t={...this.state.filter};t.expertMode=!t.expertMode,this.localStorage.setItem(`${this.props.dialogName||"App"}.objectFilter`,JSON.stringify(t)),this.setState({filter:t})},size:"large"},n.createElement(uo,null))),!this.props.disableColumnSelector&&this.props.width!=="xs"&&n.createElement(ae,{title:this.props.t("ra_Configure"),slotProps:{popper:{sx:C.tooltip}}},n.createElement(P,{key:"columnSelector",color:this.state.columnsAuto?"primary":"default",onClick:()=>this.setState({columnsSelectorShow:!0}),size:"large"},n.createElement(_l,null))),this.props.width!=="xs"&&this.state.expandAllVisible&&n.createElement(ae,{title:this.props.t("ra_Expand all nodes"),slotProps:{popper:{sx:C.tooltip}}},n.createElement(P,{key:"expandAll",onClick:()=>this.onExpandAll(),size:"large"},n.createElement(vi,null))),n.createElement(ae,{title:this.props.t("ra_Collapse all nodes"),slotProps:{popper:{sx:C.tooltip}}},n.createElement(P,{key:"collapseAll",onClick:()=>this.onCollapseAll(),size:"large"},n.createElement(ms,null))),this.props.width!=="xs"&&n.createElement(ae,{title:this.props.t("ra_Expand one step node"),slotProps:{popper:{sx:C.tooltip}}},n.createElement(P,{key:"expandVisible",color:"primary",onClick:()=>this.onExpandVisible(),size:"large"},n.createElement(CM,{badgeContent:this.state.depth,color:"secondary",sx:t=>({badge:{right:3,top:3,border:`2px solid ${t.palette.background.paper}`,padding:"0 4px"}})},n.createElement(vi,null)))),this.props.width!=="xs"&&n.createElement(ae,{title:this.props.t("ra_Collapse one step node"),slotProps:{popper:{sx:C.tooltip}}},n.createElement(P,{key:"collapseVisible",color:"primary",onClick:()=>this.onCollapseVisible(),size:"large"},n.createElement(CM,{sx:t=>({badge:{right:3,top:3,border:`2px solid ${t.palette.background.paper}`,padding:"0 4px"}}),badgeContent:this.state.depth,color:"secondary"},n.createElement(ms,null)))),this.props.objectStatesView&&n.createElement(ae,{title:this.props.t("ra_Toggle the states view"),slotProps:{popper:{sx:C.tooltip}}},n.createElement(P,{onClick:()=>this.onStatesViewVisible(),size:"large"},n.createElement(fl,{color:this.state.statesView?"primary":"inherit"}))),n.createElement(ae,{title:this.props.t("ra_Show/Hide object descriptions"),slotProps:{popper:{sx:C.tooltip}}},n.createElement(P,{onClick:()=>{this.localStorage.setItem(`${this.props.dialogName||"App"}.desc`,this.state.showDescription?"false":"true"),this.setState({showDescription:!this.state.showDescription})},size:"large"},n.createElement(Sl,{color:this.state.showDescription?"primary":"inherit"}))),this.props.objectAddBoolean?n.createElement(ae,{title:this.toolTipObjectCreating(),slotProps:{popper:{sx:C.tooltip}}},n.createElement("div",null,n.createElement(P,{disabled:!e,onClick:()=>this.setState({modalNewObj:{id:this.state.selected[0]||this.state.selectedNonObject}}),size:"large"},n.createElement(Br,null)))):null,this.props.objectImportExport&&n.createElement(ae,{title:this.props.t("ra_Add objects tree from JSON file"),slotProps:{popper:{sx:C.tooltip}}},n.createElement(P,{onClick:t=>{this.props.objectBrowserInsertJsonObjects?this.setState({showImportMenu:t.currentTarget}):this.onOpenFile()},size:"large"},n.createElement(Wi,null))),this.props.objectBrowserInsertJsonObjects?n.createElement(ss,{anchorEl:this.state.showImportMenu,open:!!this.state.showImportMenu,onClose:()=>this.setState({showImportMenu:null})},n.createElement(te,{onClick:()=>this.setState({showImportMenu:null},()=>this.onOpenFile())},n.createElement(Yt,null,n.createElement(xl,null)),n.createElement(nt,null,this.props.t("ra_From file"))),n.createElement(te,{onClick:()=>this.setState({showImportMenu:null,showImportDialog:!0})},n.createElement(Yt,null,n.createElement(kl,null)),n.createElement(nt,null,this.props.t("ra_From text")))):null,this.props.objectImportExport&&(!!this.state.selected.length||this.state.selectedNonObject)&&n.createElement(ae,{title:this.props.t("ra_Save objects tree as JSON file"),slotProps:{popper:{sx:C.tooltip}}},n.createElement(P,{onClick:()=>this.setState({showExportDialog:this._getSelectedIdsForExport().length}),size:"large"},n.createElement(Wi,{style:{transform:"rotate(180deg)"}})))),!!this.props.objectBrowserEditObject&&this.props.width!=="xs"&&n.createElement("div",{style:{display:"flex",whiteSpace:"nowrap"}},`${this.props.t("ra_Objects")}: ${Object.keys(this.info.objects).length}, ${this.props.t("ra_States")}: ${Object.keys(this.info.objects).filter(t=>this.info.objects[t].type==="state").length}`),this.props.objectEditBoolean&&n.createElement(ae,{title:this.props.t("ra_Edit custom config"),slotProps:{popper:{sx:C.tooltip}}},n.createElement(P,{onClick:()=>{var s;const t=this.root?yu(this.root,"state",this.objects):[];t.length?(this.pauseSubscribe(!0),t.length===1&&(this.localStorage.setItem(`${this.props.dialogName||"App"}.objectSelected`,this.state.selected[0]),(s=this.props.router)==null||s.doNavigate(null,"custom",this.state.selected[0])),this.setState({customDialog:t,customDialogAll:!0})):this.setState({toast:this.props.t("ra_please select object")})},size:"large"},n.createElement(Yl,null))))}toggleExpanded(e){const t=JSON.parse(JSON.stringify(this.state.expanded)),s=t.indexOf(e);s===-1?(t.push(e),t.sort()):t.splice(s,1),this.localStorage.setItem(`${this.props.dialogName||"App"}.objectExpanded`,JSON.stringify(t)),this.setState({expanded:t})}onCopy(e,t){e.stopPropagation(),e.preventDefault(),t&&(E.copyToClipboard(t),t.length<50?this.setState({toast:this.props.t("ra_Copied %s",t)}):this.setState({toast:this.props.t("ra_Copied")}))}renderTooltipAccessControl=e=>{if(!e)return null;const t=[{value:"0x400",valueNum:1024,title:"read",group:"Owner"},{value:"0x200",valueNum:512,title:"write",group:"Owner"},{value:"0x40",valueNum:64,title:"read",group:"Group"},{value:"0x20",valueNum:32,title:"write",group:"Group"},{value:"0x4",valueNum:4,title:"read",group:"Everyone"},{value:"0x2",valueNum:2,title:"write",group:"Everyone"}],s=[],r=o=>{const M=e[o];t.forEach((a,u)=>{M&a.valueNum&&s.push(n.createElement("span",{key:o+u},this.texts[`acl${a.group}_${a.title}_${o}`],",",n.createElement("span",{style:o==="object"?C.rightsObject:C.rightsState},a.value)))})};return s.push(n.createElement("span",{key:"group"},`${this.texts.ownerGroup}: ${(e.ownerGroup||"").replace("system.group.","")}`)),s.push(n.createElement("span",{key:"owner"},`${this.texts.ownerUser}: ${(e.owner||"").replace("system.user.","")}`)),r("object"),e.state&&r("state"),s.length?n.createElement("span",{style:C.tooltipAccessControl},s.map(o=>o)):null};renderColumnButtons(e,t){var M,a,u,l;if(!t.data.obj)return this.props.onObjectDelete||this.props.objectEditOfAccessControl?n.createElement("div",{style:C.buttonDiv},this.state.filter.expertMode&&this.props.objectEditOfAccessControl?n.createElement(P,{sx:{...C.cellButtonsButton,...C.cellButtonsEmptyButton,...C.cellButtonMinWidth},onClick:()=>this.setState({modalEditOfAccess:!0,modalEditOfAccessObjData:t.data}),size:"large"},n.createElement("div",{style:{height:15}},"---")):null,this.props.onObjectDelete&&((M=t.children)!=null&&M.length)?n.createElement(P,{sx:{...C.cellButtonsButton,...C.cellButtonsButtonAlone},size:"small","aria-label":"delete",title:this.texts.deleteObject,onClick:()=>{var j;const N=Object.keys(this.objects);N.sort();let c=0;const L=`${e}.`;for(let g=0;gL)break;this.props.onObjectDelete&&this.props.onObjectDelete(e,!!((j=t.children)!=null&&j.length),!1,c+1)}},n.createElement(ut,{style:C.cellButtonsButtonIcon})):null):null;t.data.aclTooltip=t.data.aclTooltip||this.renderTooltipAccessControl(t.data.obj.acl);const s=t.data.obj.acl?t.data.obj.type==="state"?t.data.obj.acl.state:t.data.obj.acl.object:0,r=t.data.obj.acl&&(t.data.obj.type==="state"?this.systemConfig.common.defaultNewAcl.state:this.systemConfig.common.defaultNewAcl.object),o=this.state.filter.expertMode||ua(t.data.id);return[this.state.filter.expertMode&&this.props.objectEditOfAccessControl?n.createElement(ae,{key:"acl",title:t.data.aclTooltip,slotProps:{popper:{sx:C.tooltip}}},n.createElement(P,{sx:{...C.cellButtonsButton,...C.cellButtonMinWidth,opacity:1},onClick:()=>this.setState({modalEditOfAccess:!0,modalEditOfAccessObjData:t.data}),size:"large"},n.createElement("div",{style:C.aclText},Number.isNaN(Number(s))?Number(r).toString(16):Number(s).toString(16)))):n.createElement("div",{key:"aclEmpty",style:C.cellButtonMinWidth}),o?n.createElement(P,{key:"edit",sx:{marginRight:"2px",...C.cellButtonsButton},size:"small","aria-label":"edit",title:this.texts.editObject,onClick:()=>{this.localStorage.setItem(`${this.props.dialogName||"App"}.objectSelected`,e),this.setState({editObjectDialog:e,editObjectAlias:!1})}},n.createElement(Ks,{style:C.cellButtonsButtonIcon})):n.createElement(W,{component:"div",key:"editDisabled",sx:C.cellButtonsButton}),this.props.onObjectDelete&&((a=t.children)!=null&&a.length||!((u=t.data.obj.common)!=null&&u.dontDelete))?n.createElement(P,{key:"delete",sx:C.cellButtonsButton,size:"small","aria-label":"delete",onClick:()=>{var j,g,y;const N=Object.keys(this.objects);N.sort();let c=0;const L=`${e}.`;for(let d=0;dL)break;this.props.onObjectDelete&&this.props.onObjectDelete(e,!!((j=t.children)!=null&&j.length),!((y=(g=t.data.obj)==null?void 0:g.common)!=null&&y.dontDelete),c)},title:this.texts.deleteObject},n.createElement(ut,{style:C.cellButtonsButtonIcon})):null,this.props.objectCustomDialog&&this.info.hasSomeCustoms&&t.data.obj.type==="state"&&((l=t.data.obj.common)==null?void 0:l.type)!=="file"?n.createElement(P,{sx:{...C.cellButtonsButton,...t.data.hasCustoms?this.styles.cellButtonsButtonWithCustoms:C.cellButtonsButtonWithoutCustoms},key:"custom",size:"small","aria-label":"config",title:this.texts.customConfig,onClick:()=>{var N;this.localStorage.setItem(`${this.props.dialogName||"App"}.objectSelected`,e),this.pauseSubscribe(!0),(N=this.props.router)==null||N.doNavigate(null,"customs",e),this.setState({customDialog:[e],customDialogAll:!1})}},n.createElement(Gr,{style:C.cellButtonsButtonIcon})):null]}readHistory(e){var t,s;if(window.sparkline&&this.defaultHistory&&((s=(t=this.objects[e])==null?void 0:t.common)!=null&&s.custom)&&this.objects[e].common.custom[this.defaultHistory]){const r=new Date;r.setHours(r.getHours()-24),r.setMinutes(0),r.setSeconds(0),r.setMilliseconds(0);const o=r.getTime();this.props.socket.getHistory(e,{instance:this.defaultHistory,start:o,end:Date.now(),step:36e5,from:!1,ack:!1,q:!1,addId:!1,aggregate:"minmax"}).then(M=>{const a=window.document.getElementsByClassName("sparkline");for(let u=0;uconsole.warn(`Cannot read history: ${M}`))}}getTooltipInfo(e,t){var l,N,c;const s=this.objects[e],r=this.states[e],{valFull:o,fileViewer:M}=kr({state:r,obj:s,texts:this.texts,dateFormat:this.props.dateFormat||this.systemConfig.common.dateFormat,isFloatComma:this.props.isFloatComma===void 0?this.systemConfig.common.isFloatComma:this.props.isFloatComma,full:!0}),a=[];o==null||o.forEach(L=>{L.t===this.texts.quality&&r.q?(a.push(n.createElement("div",{style:C.cellValueTooltipBoth,key:L.t},L.t,": ",L.v)),L.nbr||a.push(n.createElement("br",{key:`${L.t}_br`}))):(a.push(n.createElement("div",{style:C.cellValueTooltipTitle,key:L.t},L.t,": ")),a.push(n.createElement("div",{style:C.cellValueTooltipValue,key:`${L.t}_v`},L.v)),L.nbr||a.push(n.createElement("br",{key:`${L.t}_br`})))});const u=((l=s==null?void 0:s.common)==null?void 0:l.role)||"";M==="image"?a.push(n.createElement("img",{style:C.cellValueTooltipImage,src:r.val,alt:e})):u==="url"||s.common.role==="url.self"||s.common.role==="url.blank"?a.unshift(n.createElement("div",{key:"ctrl",style:{textDecoration:"underline",fontWeight:"bold"}},this.texts.ctrlForLink)):this.defaultHistory&&((c=(N=s==null?void 0:s.common)==null?void 0:N.custom)!=null&&c[this.defaultHistory])&&a.push(n.createElement("svg",{key:"sparkline",className:"sparkline","data-id":e,style:{fill:"#3d85de"},width:"200",height:"30",strokeWidth:"3"})),this.setState({tooltipInfo:{el:a,id:e}},()=>t&&t())}renderColumnValue(e,t,s){var u,l;const r=t.data.obj;if(!r||!this.states)return null;if(((u=r.common)==null?void 0:u.type)==="file")return n.createElement(W,{component:"div",sx:{...C.cellValueText,...C.cellValueFile}},"[file]");if(!this.states[e])return r.type==="state"&&(this.recordStates.includes(e)||this.recordStates.push(e),this.states[e]={val:null},this.subscribe(e)),null;this.recordStates.includes(e)||this.recordStates.push(e);const o=this.states[e];let M=t.data.state;if(!M){const{valText:N}=kr({state:o,obj:r,texts:this.texts,dateFormat:this.props.dateFormat||this.systemConfig.common.dateFormat,isFloatComma:this.props.isFloatComma===void 0?this.systemConfig.common.isFloatComma:this.props.isFloatComma}),c=[];if(t.data.state={valTextRx:c},c.push(n.createElement("span",{className:`newValueBrowser-${this.props.themeType||"light"}`,key:`${N.v.toString()}valText`,style:{whiteSpace:"nowrap",display:"inline-block",overflow:"hidden",textOverflow:"ellipsis"}},N.v.toString())),N.u&&c.push(n.createElement("span",{className:`newValueBrowser-${this.props.themeType||"light"}`,style:C.cellValueTextUnit,key:`${N.v.toString()}unit`},N.u)),N.s!==void 0&&c.push(n.createElement("span",{style:C.cellValueTextState,className:`newValueBrowser-${this.props.themeType||"light"}`,key:`${N.v.toString()}states`},"(",N.s,")")),!s){const L=N.c!==void 0?N.c:N.v||"";c.push(n.createElement(Ts,{className:"copyButton",style:this.styles.iconCopy,onClick:j=>this.onCopy(j,L),key:"cc"}))}M=t.data.state}M.style=rLe({state:o,isExpertMode:this.state.filter.expertMode,isButton:t.data.button});let a=M.valTextRx;return this.state.filter.expertMode||(t.data.button?a=[n.createElement(K4e,{key:"button",style:{color:M.style.color,...C.cellValueButton}})]:t.data.switch&&(a=[n.createElement(Di,{key:"switch",sx:{"& .MuiSwitch-thumb":{color:M.style.color},"& .MuiSwitch-track":{backgroundColor:this.states[e].val&&this.state.selected.includes(e)?this.props.themeType==="dark"?"#FFF !important":"#111 !important":void 0}},checked:!!this.states[e].val})])),n.createElement(ae,{key:"value",title:(l=this.state.tooltipInfo)==null?void 0:l.el,slotProps:{popper:{sx:C.cellValueTooltipBox},tooltip:{sx:C.cellValueTooltip}},onOpen:()=>this.getTooltipInfo(e,()=>this.readHistory(e)),onClose:()=>{var N;return((N=this.state.tooltipInfo)==null?void 0:N.id)===e&&this.setState({tooltipInfo:null})}},n.createElement(W,{component:"div",style:M.style,className:t.data.url?"iob-link":void 0,sx:{...C.cellValueText,height:s?void 0:Ye,"& .admin-button:active":{transform:"translate(0, 2px)"}}},a))}_syncEnum(e,t,s,r){var a,u,l;if(!(t!=null&&t.length)){r&&r();return}const o=t.pop()||"",M=[];if((a=this.info.objects[o])!=null&&a.common){if((u=this.info.objects[o].common.members)!=null&&u.length){const N=this.info.objects[o].common.members.indexOf(e);if(N!==-1&&!s.includes(o)){const c=JSON.parse(JSON.stringify(this.info.objects[o]));c.common.members.splice(N,1),M.push(this.props.socket.setObject(o,c).then(()=>this.info.objects[o]=c).catch(L=>this.showError(L)))}}if(s.includes(o)&&!((l=this.info.objects[o].common.members)!=null&&l.includes(e))){const N=JSON.parse(JSON.stringify(this.info.objects[o]));N.common.members||=[],N.common.members.push(e),N.common.members.sort(),M.push(this.props.socket.setObject(o,N).then(()=>this.info.objects[o]=N).catch(c=>this.showError(c)))}}Promise.all(M).then(()=>{setTimeout(()=>this._syncEnum(e,t,s,r),0)})}syncEnum(e,t,s){const r=[...this.info[t==="func"?"funcEnums":"roomEnums"]];return new Promise(o=>{this._syncEnum(e,r,s,()=>{o()})})}renderEnumDialog(){if(!this.state.enumDialog)return null;const e=this.state.enumDialog.type,t=this.state.enumDialog.item,s=this.state.enumDialogEnums,r=this.state.enumDialog.enumsOriginal,o=(e==="room"?this.info.roomEnums:this.info.funcEnums).map(M=>{var a,u;return{name:Re(((u=(a=this.objects[M])==null?void 0:a.common)==null?void 0:u.name)||M.split(".").pop()||"",this.props.lang),value:M,icon:Zi(this.objects,M,this.props.lang,this.imagePrefix)}}).sort((M,a)=>M.name>a.name?1:-1);return o.forEach(M=>{M.icon&&typeof M.icon=="string"&&(M.icon=n.createElement(W,{style:C.enumIconDiv},n.createElement("img",{src:M.icon,style:C.enumIcon,alt:M.name})))}),n.createElement(de,{sx:{"& .MuiPaper-root":C.enumDialog},onClose:()=>this.setState({enumDialog:null}),"aria-labelledby":"enum-dialog-title",open:!0},n.createElement(he,{id:"enum-dialog-title",style:{display:"flex",justifyContent:"space-between",width:"100%",flexWrap:"nowrap",gap:8,paddingRight:12}},e==="func"?this.props.t("ra_Define functions"):this.props.t("ra_Define rooms"),n.createElement(Ct,{color:"primary",disabled:r===JSON.stringify(s),size:"small",onClick:()=>this.syncEnum(t.data.id,e,s).then(()=>this.setState({enumDialog:null,enumDialogEnums:null}))},n.createElement(Ue,null))),n.createElement(wM,{sx:{"&.MuiList-root":C.enumList}},o.map(M=>{let a,u,l;typeof M=="object"?(a=M.value,u=M.name,l=M.icon):(a=M,u=M);const N=`checkbox-list-label-${a}`;return n.createElement(rl,{sx:C.headerCellSelectItem,key:a,onClick:()=>{const c=s.indexOf(a),L=JSON.parse(JSON.stringify(this.state.enumDialogEnums));c===-1?(L.push(a),L.sort()):L.splice(c,1),this.setState({enumDialogEnums:L})},secondaryAction:l},n.createElement(Yt,{sx:{"&.MuiListItemIcon-root":C.enumCheckbox}},n.createElement(ne,{edge:"start",checked:s.includes(a),tabIndex:-1,disableRipple:!0,slotProps:{input:{"aria-labelledby":N}}})),n.createElement(nt,{id:N},u))})))}renderEditRoleDialog(){var e,t;if(!this.state.roleDialog||!this.props.objectBrowserEditRole)return null;if(this.state.roleDialog&&this.props.objectBrowserEditRole){const s=this.props.objectBrowserEditRole;return n.createElement(s,{key:"objectBrowserEditRole",id:this.state.roleDialog,socket:this.props.socket,t:this.props.t,roleArray:this.info.roles,commonType:(t=(e=this.info.objects[this.state.roleDialog])==null?void 0:e.common)==null?void 0:t.type,onClose:r=>{r&&(this.info.objects[this.state.roleDialog]=r),this.setState({roleDialog:null})}})}return null}onColumnsEditCustomDialogClose(e){var s,r;const t=this.customColumnDialog;if(e){let o=t.value;t.type==="boolean"?o=o==="true"||o===!0:t.type==="number"&&(o=parseFloat(o)),this.customColumnDialog=null,this.props.socket.getObject(((r=(s=this.state.columnsEditCustomDialog)==null?void 0:s.obj)==null?void 0:r._id)||"").then(M=>{var a;if(M&&MLe(M,(a=this.state.columnsEditCustomDialog)==null?void 0:a.it,o))return this.props.socket.setObject(M._id,M);throw new Error(this.props.t("ra_Cannot update attribute, because not found in the object"))}).then(()=>this.setState({columnsEditCustomDialog:null})).catch(M=>this.showError(M))}else this.customColumnDialog=null,this.setState({columnsEditCustomDialog:null})}renderColumnsEditCustomDialog(){if(!this.state.columnsEditCustomDialog)return null;if(!this.customColumnDialog){const e=ca(this.state.columnsEditCustomDialog.obj,this.state.columnsEditCustomDialog.it);this.customColumnDialog={type:this.state.columnsEditCustomDialog.it.type||typeof e,initValue:(e??"").toString(),value:(e??"").toString()}}return n.createElement(de,{onClose:()=>this.setState({columnsEditCustomDialog:null}),maxWidth:"md","aria-labelledby":"custom-dialog-title",open:!0},n.createElement(he,{id:"custom-dialog-title"},`${this.props.t("ra_Edit object field")}: ${this.state.columnsEditCustomDialog.obj._id}`),n.createElement(Ae,null,n.createElement(Jt,{id:"alert-dialog-description"},this.customColumnDialog.type==="boolean"?n.createElement(H,{control:n.createElement(ne,{onKeyUp:e=>e.key==="Enter"&&this.onColumnsEditCustomDialogClose(!0),defaultChecked:this.customColumnDialog.value==="true",onChange:e=>{const t=this.customColumnDialog;t.value=e.target.checked.toString();const s=t.value!==t.initValue;s===!this.state.customColumnDialogValueChanged&&this.setState({customColumnDialogValueChanged:s})}}),label:`${this.state.columnsEditCustomDialog.it.name} (${this.state.columnsEditCustomDialog.it.pathText})`}):n.createElement(le,{variant:"standard",defaultValue:this.customColumnDialog.value,fullWidth:!0,onKeyUp:e=>e.key==="Enter"&&this.onColumnsEditCustomDialogClose(!0),label:`${this.state.columnsEditCustomDialog.it.name} (${this.state.columnsEditCustomDialog.it.pathText})`,onChange:e=>{const t=this.customColumnDialog;t.value=e.target.value;const s=t.value!==t.initValue;s===!this.state.customColumnDialogValueChanged&&this.setState({customColumnDialogValueChanged:s})},autoFocus:!0}))),n.createElement(me,null,n.createElement(X,{variant:"contained",onClick:()=>this.onColumnsEditCustomDialogClose(!0),disabled:!this.state.customColumnDialogValueChanged,color:"primary",startIcon:n.createElement(Ue,null)},this.props.t("ra_Update")),n.createElement(X,{color:"grey",variant:"contained",onClick:()=>this.onColumnsEditCustomDialogClose(),startIcon:n.createElement(ge,null)},this.props.t("ra_Cancel"))))}renderCustomValue(e,t,s){const r=ca(e,t);return r!=null?t.edit&&!this.props.notEditable&&(!t.objTypes||t.objTypes.includes(e.type))?n.createElement(W,{component:"div",style:{...C.columnCustom,...C.columnCustomEditable,...C[`columnCustom_${t.align}`]},onClick:()=>this.setState({columnsEditCustomDialog:{item:s,it:t,obj:e},customColumnDialogValueChanged:!1})},r):n.createElement(W,{component:"div",style:{...C.columnCustom,...C[`columnCustom_${t.align}`]}},r):null}renderAliasLink(e,t,s){const r=t||0,o=this.objects[this.info.aliasesMap[e][r]].common.alias.id;return o?n.createElement(W,{component:"div",onClick:M=>{M.stopPropagation(),M.preventDefault();const a=this.info.aliasesMap[e][r];this.info.aliasesMap[e].length>1&&this.setState({aliasMenu:""}),this.onSelect(a),setTimeout(()=>this.expandAllSelected(()=>this.scrollToItem(a)),100)},sx:s||this.styles.aliasAlone},n.createElement("span",{className:"admin-browser-arrow"},typeof o=="string"||o.read===e&&o.write===e?"↔":o.read===e?"→":"←"),this.info.aliasesMap[e][r]):null}renderLeaf(e,t,s){var vs,bs,$s,Ti,yi,uM,lM,NM,LM,jM,gM,TM,yM,DM;const r=e.data.id;s.count++,t=t===void 0?this.state.expanded.includes(r):t;let o;const M=e.data.obj,a=M==null?void 0:M.type;e.children||a==="folder"||a==="device"||a==="channel"||a==="meta"?o=t?n.createElement(vi,{style:this.styles.cellIdIconFolder,onClick:()=>this.toggleExpanded(r)}):n.createElement(ms,{style:this.styles.cellIdIconFolder,onClick:()=>this.toggleExpanded(r)}):M&&M.common&&M.common.write===!1&&M.type==="state"?o=n.createElement(J4e,{style:this.styles.cellIdIconDocument}):o=n.createElement(R4e,{style:this.styles.cellIdIconDocument});let u=null;e.data.icon&&(typeof e.data.icon=="string"?e.data.icon.length<3?u=n.createElement("span",{className:"iconOwn",style:C.cellIdIconOwn},e.data.icon):u=n.createElement(Se,{style:C.cellIdIconOwn,className:"iconOwn",src:e.data.icon,alt:""}):u=e.data.icon);const l=M==null?void 0:M.common,N=(M==null?void 0:M.type)&&la[M.type]||n.createElement("div",{className:"itemIcon"}),c=this.levelPadding*(e.data.level||0);if(e.data.lang!==this.props.lang){const{rooms:Q,per:q}=zu(this.info,r,this.props.lang);e.data.rooms=Q.join(", "),e.data.per=q;const{funcs:ve,pef:we}=Iu(this.info,r,this.props.lang);e.data.funcs=ve.join(", "),e.data.pef=we,e.data.lang=this.props.lang}const L=this.props.multiSelect&&this.objects[r]&&(!this.props.types||this.props.types.includes(this.objects[r].type))?n.createElement(ne,{style:C.checkBox,checked:this.state.selected.includes(r)}):null;let j=!this.props.notEditable&&a==="state"&&(this.state.filter.expertMode||(l==null?void 0:l.write)!==!1);this.props.objectBrowserViewFile&&(l==null?void 0:l.type)==="file"&&(j=!0);const g=!this.props.notEditable&&this.objects[r]&&(this.state.filter.expertMode||a==="state"||a==="channel"||a==="device"),y=this.state.statesView&&(a==="state"||a==="channel"||a==="device");let d="";const h=[];if(y&&(d=(vs=this.states[r])==null?void 0:vs.from,d===void 0?d=" ":(d=d?d.replace(/^system\.adapter\.|^system\./,""):"",h.push(`${this.texts.stateChangedFrom} ${d}`)),M!=null&&M.user)){const Q=M.user.replace("system.user.","");d+=`/${Q}`,h.push(`${this.texts.stateChangedBy} ${Q}`)}M&&(M.from&&h.push(`${this.texts.objectChangedFrom} ${M.from.replace(/^system\.adapter\.|^system\./,"")}`),M.user&&h.push(`${this.texts.objectChangedBy} ${M.user.replace(/^system\.user\./,"")}`),M.ts&&h.push(`${this.texts.objectChangedByUser} ${E.formatDate(new Date(M.ts),this.props.dateFormat||this.systemConfig.common.dateFormat)}`));let m=!1,w=null;r.startsWith("alias.")&&((bs=l==null?void 0:l.alias)!=null&&bs.id)?(m=typeof l.alias.id=="object",m?w=n.createElement("div",{style:C.cellIdAliasReadWriteDiv},l.alias.id.read?n.createElement(W,{component:"div",onClick:Q=>{Q.stopPropagation(),Q.preventDefault(),this.onSelect(l.alias.id.read),setTimeout(()=>this.expandAllSelected(()=>this.scrollToItem(l.alias.id.read)),100)},sx:this.styles.aliasReadWrite},"←",l.alias.id.read):null,l.alias.id.write?n.createElement(W,{component:"div",onClick:Q=>{Q.stopPropagation(),Q.preventDefault(),this.onSelect(l.alias.id.write),setTimeout(()=>this.expandAllSelected(()=>this.scrollToItem(l.alias.id.write)),100)},sx:this.styles.aliasReadWrite},"→",l.alias.id.write):null):w=n.createElement(W,{component:"div",onClick:Q=>{Q.stopPropagation(),Q.preventDefault(),this.onSelect(l.alias.id),setTimeout(()=>this.expandAllSelected(()=>this.scrollToItem(l.alias.id)),100)},sx:this.styles.aliasAlone},"→",l.alias.id)):this.info.aliasesMap[r]&&(this.info.aliasesMap[r].length>1?w=n.createElement(W,{component:"div",id:`alias_${r}`,onClick:Q=>{Q.stopPropagation(),Q.preventDefault(),this.setState({aliasMenu:r})},sx:this.styles.aliasAlone},this.props.t("ra_%s links from aliases",this.info.aliasesMap[r].length)):w=this.renderAliasLink(r,0));let O=l==null?void 0:l.color,A;if(O&&!this.state.selected.includes(r)){const Q=this.props.themeName==="dark"?"#1f1f1f":this.props.themeName==="blue"?"#222a2e":"#FFFFFF";E.colorDistance(O,Q)<1e3&&(A=this.props.themeType==="dark"?"#9a9a9a":"#565656")}let I=!1;r==="0_userdata"?(O=Lu(this.props.themeType),I=!0):r==="alias"?(O=ju(this.props.themeType),I=!0):r==="javascript"?(O=Z4e(this.props.themeType),I=!0):r==="system"?(O=gu(this.props.themeType),I=!0):r==="system.adapter"?O=Tu(this.props.themeType):(!O||this.state.selected.includes(r))&&(O="inherit");const p=[];if(l!=null&&l.statusStates){const Q={};Object.keys(l.statusStates).forEach(ve=>{var it;let we=l.statusStates[ve];we.split(".").length<3&&(we=`${r}.${we}`),Q[ve]=we,this.states[we]?this.recordStates.includes(we)||this.recordStates.push(we):((it=this.objects[we])==null?void 0:it.type)==="state"&&(this.recordStates.includes(we)||this.recordStates.push(we),this.states[we]={val:null},this.subscribe(we))});let q=!1;l.statusStates.errorId&&this.states[Q.errorId]&&this.states[Q.errorId].val&&(O=this.props.themeType==="dark"?hu:wu,q=!0,p.push(n.createElement(Ql,{key:"error",style:this.styles.iconDeviceError}))),Q.onlineId&&this.states[Q.onlineId]?q?this.states[Q.onlineId].val?p.push(n.createElement(zs,{key:"conn",style:this.styles.iconDeviceConnected})):p.push(n.createElement(di,{key:"disc",style:this.styles.iconDeviceDisconnected})):this.states[Q.onlineId].val?(O=this.props.themeType==="dark"?jo:go,p.push(n.createElement(zs,{key:"conn",style:this.styles.iconDeviceConnected}))):(O=this.props.themeType==="dark"?To:yo,p.push(n.createElement(di,{key:"disc",style:this.styles.iconDeviceDisconnected}))):Q.offlineId&&this.states[Q.offlineId]&&(q?this.states[Q.offlineId].val?p.push(n.createElement(di,{key:"disc",style:this.styles.iconDeviceDisconnected})):p.push(n.createElement(zs,{key:"conn",style:this.styles.iconDeviceConnected})):this.states[Q.offlineId].val?(O=this.props.themeType==="dark"?To:yo,p.push(n.createElement(di,{key:"disc",style:this.styles.iconDeviceDisconnected}))):(O=this.props.themeType==="dark"?jo:go,p.push(n.createElement(zs,{key:"conn",style:this.styles.iconDeviceConnected}))))}const S=y?E.quality2text((($s=this.states[r])==null?void 0:$s.q)||0).join(", "):null;let f=((Ti=e.data)==null?void 0:Ti.title)||"",$=!1;if(this.state.showDescription){const Q=Du(e.data,this.props.lang);Q&&(f=[n.createElement("div",{key:"name",style:C.cellNameDivDiv},f),n.createElement("div",{key:"desc",style:C.cellDescription},Q)],$=!!Q)}const x=this.props.width==="xs"&&this.state.focused===r,Z=n.createElement(vt,{container:!0,wrap:"nowrap",direction:"row",sx:C.cellId,style:{width:this.columnsVisibility.id,paddingLeft:c}},n.createElement(vt,{container:!0,alignItems:"center"},L,o),n.createElement(vt,{style:{...C.cellIdSpan,...A?this.styles.invertedBackground:void 0,color:O,fontWeight:I?"bold":void 0}},n.createElement(ae,{title:iLe(e.data,this.props.lang),slotProps:{popper:{sx:C.tooltip}}},n.createElement("div",null,e.data.name)),w,p),n.createElement("div",{style:{...C.grow,...A?this.styles.invertedBackgroundFlex:{}}}),n.createElement(vt,{container:!0,alignItems:"center"},u),this.props.width!=="xs"?n.createElement("div",null,n.createElement(Ts,{className:x?"":"copyButton",style:C.cellCopyButton,onClick:Q=>this.onCopy(Q,r)})):null);let k=x&&f||this.columnsVisibility.name?n.createElement(W,{component:"div",sx:{...C.cellName,...$?C.cellNameWithDesc:void 0,width:this.props.width!=="xs"?this.columnsVisibility.name:void 0,ml:x?0:"5px"}},f,!x&&((yi=e.data)!=null&&yi.title)?n.createElement(W,{style:{color:O}},n.createElement(Ts,{className:"copyButton",style:C.cellCopyButton,onClick:Q=>{var q;return this.onCopy(Q,(q=e.data)==null?void 0:q.title)}})):null):null,Y;this.state.statesView?Y=[x&&y&&((uM=this.states[r])!=null&&uM.from)||this.columnsVisibility.changedFrom?{el:n.createElement("div",{key:"from",style:{...C.cellRole,width:this.props.width!=="xs"?this.columnsVisibility.changedFrom:void 0},title:h.join(` -`)},y&&((lM=this.states[r])!=null&&lM.from)?d:null),type:"from"}:null,x&&S||this.columnsVisibility.qualityCode?{el:n.createElement("div",{key:"q",style:{...C.cellRole,width:this.props.width!=="xs"?this.columnsVisibility.qualityCode:void 0},title:S||""},S),type:"quality"}:null,x&&y&&((NM=this.states[r])!=null&&NM.ts)||this.columnsVisibility.timestamp?{el:n.createElement("div",{key:"ts",style:{...C.cellRole,width:this.props.width!=="xs"?this.columnsVisibility.timestamp:void 0}},y&&((LM=this.states[r])!=null&&LM.ts)?E.formatDate(new Date(this.states[r].ts),this.props.dateFormat||this.systemConfig.common.dateFormat):null),type:"ts"}:null,x&&y&&((jM=this.states[r])!=null&&jM.lc)||this.columnsVisibility.lastChange?{el:n.createElement("div",{key:"lc",style:{...C.cellRole,width:this.props.width!=="xs"?this.columnsVisibility.lastChange:void 0}},y&&((gM=this.states[r])!=null&&gM.lc)?E.formatDate(new Date(this.states[r].lc),this.props.dateFormat||this.systemConfig.common.dateFormat):null),type:"lc"}:null]:Y=[x&&(M!=null&&M.type)||this.columnsVisibility.type?{el:n.createElement("div",{key:"type",style:{...C.cellType,width:this.props.width!=="xs"?this.columnsVisibility.type:void 0}},N," ",M==null?void 0:M.type),type:"filter_type"}:null,x&&l||this.columnsVisibility.role?{el:n.createElement("div",{key:"role",style:{...C.cellRole,width:this.props.width!=="xs"?this.columnsVisibility.role:"100%",cursor:this.state.filter.expertMode&&g&&this.props.objectBrowserEditRole?"text":"default"},onClick:!x&&this.state.filter.expertMode&&g&&this.props.objectBrowserEditRole?()=>this.setState({roleDialog:e.data.id}):void 0},l==null?void 0:l.role),type:"filter_role",onClick:x&&this.state.filter.expertMode&&g&&this.props.objectBrowserEditRole?()=>this.setState({roleDialog:e.data.id}):void 0}:null,x&&l||this.columnsVisibility.room?{el:n.createElement("div",{key:"room",style:{...C.cellRoom,...e.data.per?C.cellEnumParent:{},width:this.props.width!=="xs"?this.columnsVisibility.room:"100%",cursor:g?"text":"default"},onClick:!x&&g?()=>{const Q=ys(this.info,e.data.id,"roomEnums");this.setState({enumDialogEnums:Q,enumDialog:{item:e,type:"room",enumsOriginal:JSON.stringify(Q)}})}:void 0},e.data.rooms),type:"filter_room",onClick:x&&g?()=>{const Q=ys(this.info,e.data.id,"roomEnums");this.setState({enumDialogEnums:Q,enumDialog:{item:e,type:"room",enumsOriginal:JSON.stringify(Q)}})}:void 0}:null,x&&l||this.columnsVisibility.func?{el:n.createElement("div",{key:"func",style:{...C.cellFunc,...e.data.pef?C.cellEnumParent:{},width:this.props.width!=="xs"?this.columnsVisibility.func:"100%",cursor:g?"text":"default"},onClick:!x&&g?()=>{const Q=ys(this.info,e.data.id,"funcEnums");this.setState({enumDialogEnums:Q,enumDialog:{item:e,type:"func",enumsOriginal:JSON.stringify(Q)}})}:void 0},e.data.funcs),type:"filter_func",onClick:x&&g?()=>{const Q=ys(this.info,e.data.id,"funcEnums");this.setState({enumDialogEnums:Q,enumDialog:{item:e,type:"func",enumsOriginal:JSON.stringify(Q)}})}:void 0}:null];let J=((TM=this.adapterColumns)==null?void 0:TM.map(Q=>n.createElement("div",{style:{...C.cellAdapter,width:this.props.width!=="xs"?this.columnsVisibility[Q.id]:void 0},key:Q.id,title:`${Q.adapter} => ${Q.pathText}`},M?this.renderCustomValue(M,Q,e):null)))||null;const Le=x||this.columnsVisibility.val?this.renderColumnValue(r,e,x):null;let Je=x&&Le||this.columnsVisibility.val?n.createElement("div",{style:{...C.cellValue,width:this.props.width!=="xs"?this.columnsVisibility.val:"calc(100% - 100px)",cursor:j?(l==null?void 0:l.type)==="file"?"zoom-in":e.data.button?"grab":"text":"default"},onClick:Q=>{var q,ve,we;if(j){if(!(!M||!this.states))if((l==null?void 0:l.type)==="file")this.setState({viewFileDialog:r});else if(e.data.url&&Q.ctrlKey){if((q=this.states[r])!=null&&q.val&&typeof this.states[r].val=="string")if((l==null?void 0:l.role)==="url.self")window.location.href=this.states[r].val;else{const it=window.open(this.states[r].val,"_blank");it==null||it.focus()}}else!this.state.filter.expertMode&&e.data.button?this.props.socket.setState(r,!0).catch(it=>window.alert(`Cannot write state "${r}": ${it}`)):!this.state.filter.expertMode&&e.data.switch?this.props.socket.setState(r,!this.states[r].val).catch(it=>window.alert(`Cannot write state "${r}": ${it}`)):(this.edit={val:this.states[r]?this.states[r].val:"",q:this.states[r]&&this.states[r].q||0,ack:!1,id:r},this.setState({updateOpened:!0}))}else(l==null?void 0:l.role)==="url"||(l==null?void 0:l.role)==="url.blank"&&Q.ctrlKey?(ve=this.states[r])!=null&&ve.val&&typeof this.states[r].val=="string"&&window.open(this.states[r].val,"_blank"):(l==null?void 0:l.role)==="url.self"&&Q.ctrlKey&&(we=this.states[r])!=null&&we.val&&typeof this.states[r].val=="string"&&(window.location.href=this.states[r].val)}},Le):null,qe=x||this.columnsVisibility.buttons?n.createElement("div",{style:{...C.cellButtons,width:this.props.width!=="xs"?this.columnsVisibility.buttons:void 0}},this.renderColumnButtons(r,e)):null,us=null;if(this.props.width==="xs"&&this.state.focused===r){Y=Y.filter(q=>q);let Q;Y.length?Q=Y.map(q=>q?n.createElement("div",{key:q.type,style:C.cellDetailsLine},n.createElement("span",{style:C.cellDetailsName},this.texts[q.type],":"),q.el,n.createElement("div",{style:{flexGrow:1}}),q.onClick?n.createElement(Ks,{style:C.cellCopyButtonInDetails,onClick:()=>{q!=null&&q.onClick&&q.onClick()}}):null):null):Q=null,J.length||(J=null),us=n.createElement(ba,{style:{width:"100%",display:"flex",flexDirection:"column",padding:10,backgroundColor:this.props.theme.palette.mode==="dark"?"#333":"#ccc"}},n.createElement("div",{style:C.cellDetailsLine},n.createElement("div",{style:{flexGrow:1}}),n.createElement(Ts,{style:C.cellCopyButtonInDetails,onClick:q=>this.onCopy(q,r)})),k&&n.createElement("div",{style:C.cellDetailsLine},n.createElement("span",{style:C.cellDetailsName},this.texts.name,":"),k,n.createElement("div",{style:{flexGrow:1}}),(yM=e.data)!=null&&yM.title?n.createElement(Ts,{className:"copyButton",style:C.cellCopyButtonInDetails,onClick:q=>{var ve;return this.onCopy(q,(ve=e.data)==null?void 0:ve.title)}}):null),Q,J&&n.createElement("div",{style:C.cellDetailsLine},J),((DM=this.objects[r])==null?void 0:DM.type)==="state"&&n.createElement("div",{style:C.cellDetailsLine},n.createElement("span",{style:C.cellDetailsName},this.texts.value,":"),Je,n.createElement("div",{style:{flexGrow:1}}),n.createElement(Ts,{className:"copyButton",style:C.cellCopyButtonInDetails,onClick:q=>{const{valText:ve}=kr({state:this.states[r],obj:this.objects[r],texts:this.texts,dateFormat:this.props.dateFormat||this.systemConfig.common.dateFormat,isFloatComma:this.props.isFloatComma===void 0?this.systemConfig.common.isFloatComma:this.props.isFloatComma});this.onCopy(q,ve.c!==void 0?ve.c:ve.v.toString())},key:"cc"})),qe&&n.createElement("div",{style:{...C.cellDetailsLine,justifyContent:"right"}},qe)),k=null,Y=null,J=null,Je=null,qe=null}return{row:n.createElement(vt,{container:!0,direction:"row",wrap:"nowrap",sx:E.getStyle(this.props.theme,C.tableRow,this.state.linesEnabled&&C.tableRowLines,!this.props.dragEnabled&&C.tableRowNoDragging,w&&C.tableRowAlias,m&&C.tableRowAliasReadWrite,this.state.focused===r&&this.props.multiSelect&&C.tableRowFocused,!e.data.visible&&C.filteredOut,e.data.hasVisibleParent&&!e.data.visible&&!e.data.hasVisibleChildren&&C.filteredParentOut,this.state.selected.includes(r)&&C.itemSelected,this.state.selectedNonObject===r&&C.itemSelected),key:r,id:r,onMouseDown:Q=>{this.onSelect(r);let q;"which"in Q?q=Q.which===3:"button"in Q&&(q=Q.button===2),q?this.contextMenu={item:e,ts:Date.now()}:this.contextMenu=null},onDoubleClick:()=>{e.children?this.toggleExpanded(r):this.onSelect(r,!0)}},Z,k,Y==null?void 0:Y.map(Q=>Q==null?void 0:Q.el),J,Je,qe),details:us}}renderItem(e,t,s){const r=[];s=s||{count:0};const o=this.renderLeaf(e,t,s);let M;const a=this.props.DragWrapper;return this.props.dragEnabled&&a?e.data.sumVisibility?M=n.createElement(a,{key:e.data.id,item:e,style:C.draggable},o.row):M=n.createElement("div",{key:e.data.id,style:C.nonDraggable},o.row):M=o.row,e.data.id&&M&&r.push(M),o.details&&r.push(o.details),t=t===void 0?oi(this.state.expanded,e.data.id):t,(!e.data.id||t)&&(this.state.foldersFirst?e.children&&(r.push(e.children.map(u=>u.children&&(!this.state.columnsSelectorShow||s.count<15)&&u.data.sumVisibility?this.renderItem(u,void 0,s):null)),r.push(e.children.map(u=>!u.children&&(!this.state.columnsSelectorShow||s.count<15)&&u.data.sumVisibility?this.renderItem(u,void 0,s):null))):e.children&&r.push(e.children.map(u=>(!this.state.columnsSelectorShow||s.count<15)&&u.data.sumVisibility?this.renderItem(u,void 0,s):null))),r}calculateColumnsVisibility(e,t,s,r){let o=r||this.state.columnsWidths;const M=s||this.state.columnsForAdmin,a=t||this.state.columns||[],u=typeof e!="boolean"?this.state.columnsAuto:e;o=JSON.parse(JSON.stringify(o)),Object.keys(o).forEach(N=>{o[N]&&(o[N]=parseInt(o[N],10)||0)}),this.adapterColumns=[];const l=je[this.props.width||"lg"].widths;if(u){if(this.columnsVisibility={id:je[this.props.width||"lg"].idWidth,name:this.visibleCols.includes("name")&&l.name||0,nameHeader:this.visibleCols.includes("name")&&l.name||0,type:this.visibleCols.includes("type")&&l.type||0,role:this.visibleCols.includes("role")&&l.role||0,room:this.visibleCols.includes("room")&&l.room||0,func:this.visibleCols.includes("func")&&l.func||0,changedFrom:this.visibleCols.includes("changedFrom")&&l.changedFrom||0,qualityCode:this.visibleCols.includes("qualityCode")&&l.qualityCode||0,timestamp:this.visibleCols.includes("timestamp")&&l.timestamp||0,lastChange:this.visibleCols.includes("lastChange")&&l.lastChange||0,val:this.visibleCols.includes("val")&&l.val||0,buttons:this.visibleCols.includes("buttons")&&l.buttons||0},this.columnsVisibility.name&&!this.customWidth){let N=this.columnsVisibility.id||0;this.state.statesView?(N+=this.columnsVisibility.changedFrom||0,N+=this.columnsVisibility.qualityCode||0,N+=this.columnsVisibility.timestamp||0,N+=this.columnsVisibility.lastChange||0):(N+=this.columnsVisibility.type||0,N+=this.columnsVisibility.role||0,N+=this.columnsVisibility.room||0,N+=this.columnsVisibility.func||0),N+=this.columnsVisibility.val||0,N+=this.columnsVisibility.buttons||0,this.columnsVisibility.name=`calc(100% - ${N+5}px)`,this.columnsVisibility.nameHeader=`calc(100% - ${N+5+this.state.scrollBarWidth}px)`}else if(!this.customWidth){let N=0;this.state.statesView?(N+=this.columnsVisibility.changedFrom||0,N+=this.columnsVisibility.qualityCode||0,N+=this.columnsVisibility.timestamp||0,N+=this.columnsVisibility.lastChange||0):(N+=this.columnsVisibility.type||0,N+=this.columnsVisibility.role||0,N+=this.columnsVisibility.room||0,N+=this.columnsVisibility.func||0),N+=this.columnsVisibility.val||0,N+=this.columnsVisibility.buttons||0,this.columnsVisibility.id=`calc(100% - ${N+5}px)`}}else{const N=this.props.width||"lg";this.columnsVisibility={id:o.id||je[N].idWidth,name:a.includes("name")&&(o.name||l.name||je[N].widths.name)||0,type:a.includes("type")&&(o.type||l.type||je[N].widths.type)||0,role:a.includes("role")&&(o.role||l.role||je[N].widths.role)||0,room:a.includes("room")&&(o.room||l.room||je[N].widths.room)||0,func:a.includes("func")&&(o.func||l.func||je[N].widths.func)||0};let c=this.columnsVisibility.id;if(this.columnsVisibility.name&&(c+=this.columnsVisibility.type||0,c+=this.columnsVisibility.role||0,c+=this.columnsVisibility.room||0,c+=this.columnsVisibility.func||0),M&&a&&Object.keys(M).sort().forEach(L=>M[L].forEach(j=>{const g=`_${L}_${j.path}`;if(a.includes(g)){const y={adapter:L,id:`_${L}_${j.path}`,name:j.name,path:j.path.split("."),pathText:j.path};j.edit&&(y.edit=!0,j.type&&(y.type=j.type),j.objTypes&&(y.objTypes=j.objTypes)),this.adapterColumns.push(y),this.columnsVisibility[g]=o[y.id]||j.width||je[N].widths.func||je.xl.widths.func||0,c+=this.columnsVisibility[g]}else this.columnsVisibility[g]=0})),this.adapterColumns.sort((L,j)=>L.id>j.id?-1:L.idg==="id"||typeof this.columnsVisibility[g]=="string"||!this.columnsVisibility[g]?j:j+this.columnsVisibility[g],0);this.columnsVisibility.id=`calc(100% - ${L}px)`}}}resizerMouseMove=e=>{if(this.resizerActiveDiv){let t,s;this.resizeLeft?(t=this.resizerOldWidth-e.clientX+this.resizerPosition,s=this.resizerOldWidthNext+e.clientX-this.resizerPosition):(t=this.resizerOldWidth+e.clientX-this.resizerPosition,s=this.resizerOldWidthNext-e.clientX+this.resizerPosition),this.resizerActiveName&&this.resizerNextName&&(!this.resizerMin||t>this.resizerMin)&&(!this.resizerNextMin||s>this.resizerNextMin)&&(this.resizerCurrentWidths[this.resizerActiveName]=t,this.resizerCurrentWidths[this.resizerNextName]=s,this.resizerActiveDiv.style.width=`${t}px`,this.resizerNextDiv&&(this.resizerNextDiv.style.width=`${s}px`),this.columnsVisibility[this.resizerActiveName]=t,this.columnsVisibility[this.resizerNextName]=s,this.resizerNextName==="nameHeader"?(this.columnsVisibility.name=s-this.state.scrollBarWidth,this.resizerCurrentWidths.name=s-this.state.scrollBarWidth):this.resizerActiveName==="nameHeader"&&(this.columnsVisibility.name=t-this.state.scrollBarWidth,this.resizerCurrentWidths.name=t-this.state.scrollBarWidth),this.customWidth=!0,this.resizeTimeout&&clearTimeout(this.resizeTimeout),this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=null,this.forceUpdate()},200))}};resizerMouseUp=()=>{this.localStorage.setItem(`${this.props.dialogName||"App"}.table`,JSON.stringify(this.resizerCurrentWidths)),this.resizerActiveName=null,this.resizerNextName=null,this.resizerActiveDiv=null,this.resizerNextDiv=null,window.removeEventListener("mousemove",this.resizerMouseMove),window.removeEventListener("mouseup",this.resizerMouseUp)};resizerMouseDown=e=>{if(this.storedWidths||=JSON.parse(JSON.stringify(je[this.props.width||"lg"])),this.resizerCurrentWidths||={},this.resizerActiveDiv=e.target.parentNode,this.resizerActiveName=this.resizerActiveDiv.dataset.name||null,this.resizerActiveName){let t=0;if(e.target.dataset.left==="true"){this.resizeLeft=!0,this.resizerNextDiv=this.resizerActiveDiv.previousElementSibling;let s=this.resizerNextDiv.querySelector(".iob-ob-resize-handler");for(;this.resizerNextDiv&&!s&&t<10;)this.resizerNextDiv=this.resizerNextDiv.previousElementSibling,s=this.resizerNextDiv.querySelector(".iob-ob-resize-handler"),t++;(s==null?void 0:s.dataset.left)!=="true"&&(this.resizerNextDiv=this.resizerNextDiv.nextElementSibling)}else this.resizeLeft=!1,this.resizerNextDiv=this.resizerActiveDiv.nextElementSibling;this.resizerNextName=this.resizerNextDiv.dataset.name||null,this.resizerMin=parseInt(this.resizerActiveDiv.dataset.min,10)||0,this.resizerNextMin=parseInt(this.resizerNextDiv.dataset.min,10)||0,this.resizerPosition=e.clientX,this.resizerCurrentWidths[this.resizerActiveName]=this.resizerActiveDiv.offsetWidth,this.resizerOldWidth=this.resizerCurrentWidths[this.resizerActiveName],this.resizerNextName&&(this.resizerCurrentWidths[this.resizerNextName]=this.resizerNextDiv.offsetWidth,this.resizerOldWidthNext=this.resizerCurrentWidths[this.resizerNextName]),window.addEventListener("mousemove",this.resizerMouseMove),window.addEventListener("mouseup",this.resizerMouseUp)}};navigateKeyPress(e){var s,r;const t=this.state.selectedNonObject||this.state.selected[0];if(t){if(e.code==="ArrowUp"||e.code==="ArrowDown"){e.preventDefault();const o=[];(s=this.tableRef.current)==null||s.childNodes.forEach(l=>o.push(l.id));const M=o.indexOf(t),a=e.code==="ArrowDown"?M+1:M-1,u=o[a]||t;this.onSelect(u),this.scrollToItem(u)}if((e.code==="ArrowRight"||e.code==="ArrowLeft")&&this.toggleExpanded(t),e.code==="Delete"&&this.root&&t){const o=Xi.getItemFromRoot(this.root,t);if(o){const{obj:M}=o.data;M&&!((r=M.common)!=null&&r.dontDelete)&&this.showDeleteDialog({id:t,obj:M,item:o})}}}}static getItemFromRoot(e,t){const s=t.split(".");let r="",o=e;for(let M=0;M{this.customWidth=!1,je[this.props.width||"lg"]=JSON.parse(JSON.stringify(this.storedWidths)),this.calculateColumnsVisibility(),this.localStorage.removeItem(`${this.props.dialogName||"App"}.table`),this.forceUpdate()};renderHandleRight(){return n.createElement(W,{component:"div",className:"iob-ob-resize-handler",sx:{...C.resizeHandle,...C.resizeHandleRight},onMouseDown:this.resizerMouseDown,onDoubleClick:this.resizerReset,title:this.props.t("ra_Double click to reset table layout")})}renderHeader(){let e=null;return!this.columnsVisibility.buttons&&!this.isFilterEmpty()&&(e=n.createElement(P,{onClick:()=>this.clearFilter(),style:C.buttonClearFilter,title:this.props.t("ra_Clear filter"),size:"large"},n.createElement(G4e,null),n.createElement(ge,{style:C.buttonClearFilterIcon}))),this.props.width==="xs"?n.createElement("div",{style:C.headerRow},n.createElement("div",{style:{...C.headerCell,width:"100%"}},this.getFilterInput("id"))):n.createElement("div",{style:C.headerRow},n.createElement("div",{style:{...C.headerCell,width:this.columnsVisibility.id,position:"relative"},"data-min":240,"data-name":"id"},this.getFilterInput("id"),this.renderHandleRight()),this.columnsVisibility.name?n.createElement("div",{style:{...C.headerCell,width:this.columnsVisibility.nameHeader,position:"relative"},"data-min":100,"data-name":"nameHeader"},this.getFilterInput("name"),this.renderHandleRight()):null,!this.state.statesView&&n.createElement(n.Fragment,null,this.columnsVisibility.type?n.createElement("div",{style:{...C.headerCell,width:this.columnsVisibility.type,position:"relative"},"data-min":100,"data-name":"type"},this.getFilterSelectType(),this.renderHandleRight()):null,this.columnsVisibility.role?n.createElement("div",{style:{...C.headerCell,width:this.columnsVisibility.role,position:"relative"},"data-min":100,"data-name":"role"},this.getFilterSelectRole(),this.renderHandleRight()):null,this.columnsVisibility.room?n.createElement("div",{style:{...C.headerCell,width:this.columnsVisibility.room,position:"relative"},"data-min":100,"data-name":"room"},this.getFilterSelectRoom(),this.renderHandleRight()):null,this.columnsVisibility.func?n.createElement("div",{style:{...C.headerCell,width:this.columnsVisibility.func,position:"relative"},"data-min":100,"data-name":"func"},this.getFilterSelectFunction(),this.renderHandleRight()):null),this.state.statesView&&n.createElement(n.Fragment,null,n.createElement("div",{style:{...C.headerCell,...C.headerCellValue,width:this.columnsVisibility.changedFrom,position:"relative"},"data-min":100,"data-name":"changedFrom"},this.props.t("ra_Changed from"),this.renderHandleRight()),n.createElement("div",{style:{...C.headerCell,...C.headerCellValue,width:this.columnsVisibility.qualityCode,position:"relative"},"data-min":100,"data-name":"qualityCode"},this.props.t("ra_Quality code"),this.renderHandleRight()),n.createElement("div",{style:{...C.headerCell,...C.headerCellValue,width:this.columnsVisibility.timestamp,position:"relative"},"data-min":100,"data-name":"timestamp"},this.props.t("ra_Timestamp"),this.renderHandleRight()),n.createElement("div",{style:{...C.headerCell,...C.headerCellValue,width:this.columnsVisibility.lastChange,position:"relative"},"data-min":100,"data-name":"lastChange"},this.props.t("ra_Last change"),this.renderHandleRight())),this.adapterColumns.map(t=>n.createElement("div",{style:{...C.headerCell,...C.headerCellValue,width:this.columnsVisibility[t.id]},title:t.adapter,key:t.id,"data-min":100,"data-name":t.id},t.name)),this.columnsVisibility.val?n.createElement("div",{style:{...C.headerCell,...C.headerCellValue,width:this.columnsVisibility.val,position:"relative"},"data-min":120,"data-name":"val"},this.props.t("ra_Value"),e):null,this.columnsVisibility.buttons?n.createElement("div",{title:this.texts.filter_custom,style:{...C.headerCell,width:this.columnsVisibility.buttons}}," ",this.getFilterSelectCustoms()):null)}renderToast(){return n.createElement(Rr,{open:!!this.state.toast,autoHideDuration:3e3,onClick:()=>this.setState({toast:""}),onClose:()=>this.setState({toast:""}),message:this.state.toast,action:n.createElement(P,{size:"small","aria-label":"close",color:"inherit",onClick:()=>this.setState({toast:""})},n.createElement(ge,{fontSize:"small"}))})}componentDidUpdate(){if(this.tableRef.current){const e=this.tableRef.current.offsetWidth-this.tableRef.current.clientWidth;this.state.scrollBarWidth!==e?setTimeout(()=>this.setState({scrollBarWidth:e}),100):this.selectFirst&&this.scrollToItem(this.selectFirst)}}scrollToItem(e){this.selectFirst="";const t=window.document.getElementById(e);t==null||t.scrollIntoView({behavior:"auto",block:"center",inline:"center"})}renderCustomDialog(){if(this.state.customDialog&&this.props.objectCustomDialog){const e=this.props.objectCustomDialog;return n.createElement(e,{reportChangedIds:t=>this.changedIds=[...t],objectIDs:this.state.customDialog,allVisibleObjects:!!this.state.customDialogAll,expertMode:this.state.filter.expertMode,isFloatComma:this.props.isFloatComma===void 0?this.systemConfig.common.isFloatComma:this.props.isFloatComma,t:this.props.t,lang:this.props.lang,socket:this.props.socket,themeName:this.props.themeName,themeType:this.props.themeType,theme:this.props.theme,objects:this.objects,customsInstances:this.info.customs,onClose:()=>{var t;this.pauseSubscribe(!1),this.setState({customDialog:null}),this.changedIds&&(this.changedIds=null,this.forceUpdate()),(t=this.props.router)==null||t.doNavigate("tab-objects")},systemConfig:this.systemConfig})}return null}onUpdate(e){this.props.socket.setState(this.edit.id,{val:e.val,ack:e.ack,q:e.q||0,expire:e.expire||void 0}).catch(t=>this.showError(`Cannot write value: ${t}`))}renderEditObjectDialog(){if(!this.state.editObjectDialog||!this.props.objectBrowserEditObject)return null;const e=this.props.objectBrowserEditObject;return n.createElement(e,{key:this.state.editObjectDialog,obj:this.objects[this.state.editObjectDialog],roleArray:this.info.roles,objects:this.objects,dateFormat:this.props.dateFormat||this.systemConfig.common.dateFormat,isFloatComma:this.props.isFloatComma===void 0?this.systemConfig.common.isFloatComma:this.props.isFloatComma,themeType:this.props.themeType,theme:this.props.theme,socket:this.props.socket,dialogName:this.props.dialogName,aliasTab:this.state.editObjectAlias,t:this.props.t,expertMode:!!this.state.filter.expertMode,onNewObject:t=>this.props.socket.setObject(t._id,t).then(()=>this.setState({editObjectDialog:t._id,editObjectAlias:!1},()=>this.onSelect(t._id))).catch(s=>this.showError(`Cannot write object: ${s}`)),onClose:t=>{var s,r;if(t){let o;this.state.editObjectDialog.startsWith("alias.")&&JSON.stringify((s=this.objects[this.state.editObjectDialog].common)==null?void 0:s.alias)!==JSON.stringify((r=t.common)==null?void 0:r.alias)&&(o=this.state.editObjectDialog),this.props.socket.setObject(t._id,t).then(()=>{o&&this.subscribes.includes(o)&&(this.unsubscribe(o),setTimeout(()=>this.subscribe(o),100))}).catch(M=>this.showError(`Cannot write object: ${M}`))}this.setState({editObjectDialog:"",editObjectAlias:!1})},width:this.props.width})}renderViewObjectFileDialog(){if(!this.state.viewFileDialog||!this.props.objectBrowserViewFile)return null;const e=this.props.objectBrowserViewFile;return n.createElement(e,{key:"viewFile",obj:this.objects[this.state.viewFileDialog],socket:this.props.socket,t:this.props.t,onClose:()=>this.setState({viewFileDialog:""})})}renderAliasEditorDialog(){if(!this.props.objectBrowserAliasEditor||!this.state.showAliasEditor)return null;const e=this.props.objectBrowserAliasEditor;return n.createElement(e,{key:"editAlias",obj:this.objects[this.state.showAliasEditor],roleArray:this.info.roles,objects:this.objects,socket:this.props.socket,t:this.props.t,onClose:()=>this.setState({showAliasEditor:""}),onRedirect:(t,s)=>setTimeout(()=>this.onSelect(t,!1,()=>this.expandAllSelected(()=>{this.scrollToItem(t),setTimeout(()=>this.setState({editObjectDialog:t,showAliasEditor:"",editObjectAlias:!0}),300)})),s||0)})}showAddDataPointDialog(e,t,s){this.setState({showContextMenu:null,modalNewObj:{id:e,initialType:t,initialStateType:s}})}renderAliasMenu(){return this.state.aliasMenu?n.createElement(ss,{key:"aliasmenu",open:!0,anchorEl:window.document.getElementById(`alias_${this.state.aliasMenu}`),onClose:()=>this.setState({aliasMenu:""})},this.info.aliasesMap[this.state.aliasMenu].map((e,t)=>n.createElement(te,{key:e,onClick:()=>this.onSelect(e)},n.createElement(nt,null,this.renderAliasLink(this.state.aliasMenu,t,{"& .admin-browser-arrow":{mr:"8px"}}))))):null}renderContextMenu(){var L,j,g,y,d,h,m;if(!this.state.showContextMenu)return null;const e=this.state.showContextMenu.item,t=e.data.id,s=[],r=e.data.obj;let o="";if(this.props.objectEditOfAccessControl&&this.state.filter.expertMode)if(!r)o="---";else{const w=r.acl?r.type==="state"?r.acl.state:r.acl.object:0,O=r.acl&&(r.type==="state"?this.systemConfig.common.defaultNewAcl.state:this.systemConfig.common.defaultNewAcl.object);o=Number.isNaN(Number(w))?Number(O).toString(16):Number(w).toString(16)}const M=!this.props.notEditable&&r&&(this.state.filter.expertMode||r.type==="state"||r.type==="channel"||r.type==="device"),a=!e.data.obj||e.data.obj.type==="folder"||e.data.obj.type==="channel"||e.data.obj.type==="device"||e.data.id==="0_userdata.0"||e.data.obj.type==="meta",u=!e.data.obj||e.data.obj.type==="folder"||e.data.obj.type==="device"||e.data.id==="0_userdata.0"||e.data.obj.type==="meta",l=!e.data.obj||e.data.obj.type==="folder"||e.data.id==="0_userdata.0"||e.data.obj.type==="meta",N=!e.data.obj||e.data.obj.type==="folder"||e.data.id==="0_userdata.0"||e.data.obj.type==="meta",c={EDIT:{key:"0",visibility:!!(this.props.objectBrowserEditObject&&r&&(this.state.filter.expertMode||ua(t))),icon:n.createElement(Ks,{fontSize:"small",style:this.styles.contextMenuEdit}),label:this.texts.editObject,onClick:()=>this.setState({editObjectDialog:e.data.id,showContextMenu:null,editObjectAlias:!1})},EDIT_VALUE:{key:"1",visibility:!!(this.states&&!this.props.notEditable&&r&&r.type==="state"&&((L=r.common)==null?void 0:L.type)!=="file"&&(this.state.filter.expertMode||r.common.write!==!1)),icon:n.createElement(Wl,{fontSize:"small",style:this.styles.contextMenuEditValue}),label:this.props.t("ra_Edit value"),onClick:()=>{var w;this.edit={val:this.states[t]?this.states[t].val:"",q:((w=this.states[t])==null?void 0:w.q)||0,ack:!1,id:t},this.setState({updateOpened:!0,showContextMenu:null})}},VIEW:{visibility:!!this.props.objectBrowserViewFile&&(r==null?void 0:r.type)==="state"&&((j=r.common)==null?void 0:j.type)==="file",icon:n.createElement(Pl,{fontSize:"small",style:this.styles.contextMenuView}),label:this.props.t("ra_View file"),onClick:()=>this.setState({viewFileDialog:(r==null?void 0:r._id)||"",showContextMenu:null})},CUSTOM:{key:"2",visibility:!(this.props.objectCustomDialog&&this.info.hasSomeCustoms&&r&&r.type==="state"&&((g=r.common)==null?void 0:g.type)!=="file"),icon:n.createElement(Gr,{fontSize:"small",style:e.data.hasCustoms?this.styles.cellButtonsButtonWithCustoms:C.cellButtonsButtonWithoutCustoms}),style:this.styles.contextMenuCustom,label:this.texts.customConfig,onClick:()=>{var w;this.pauseSubscribe(!0),(w=this.props.router)==null||w.doNavigate(null,"customs",t),this.setState({customDialog:[t],showContextMenu:null})}},ACL:{key:"3",visibility:!!o,icon:o,iconStyle:{fontSize:"smaller"},listItemIconStyle:this.styles.contextMenuACL,style:this.styles.contextMenuACL,label:this.props.t("ra_Edit ACL"),onClick:()=>this.setState({showContextMenu:null,modalEditOfAccess:!0,modalEditOfAccessObjData:e.data})},ROLE:{key:"4",visibility:!!(this.state.filter.expertMode&&M&&this.props.objectBrowserEditRole),icon:n.createElement($l,{fontSize:"small",style:this.styles.contextMenuRole}),label:this.props.t("ra_Edit role"),onClick:()=>this.setState({roleDialog:e.data.id,showContextMenu:null})},FUNCTION:{key:"5",visibility:!!M,icon:n.createElement(bl,{fontSize:"small",style:this.styles.contextMenuRole}),label:this.props.t("ra_Edit function"),onClick:()=>{const w=ys(this.info,e.data.id,"funcEnums");this.setState({enumDialogEnums:w,enumDialog:{item:e,type:"func",enumsOriginal:JSON.stringify(w)},showContextMenu:null})}},ROOM:{key:"6",visibility:!!M,icon:n.createElement(vl,{fontSize:"small",style:this.styles.contextMenuRoom}),label:this.props.t("ra_Edit room"),onClick:()=>{const w=ys(this.info,e.data.id,"roomEnums");this.setState({enumDialogEnums:w,enumDialog:{item:e,type:"room",enumsOriginal:JSON.stringify(w)},showContextMenu:null})}},ALIAS:{key:"7",visibility:!!(!this.props.notEditable&&this.props.objectBrowserAliasEditor&&this.props.objectBrowserEditObject&&(r==null?void 0:r.type)==="state"&&((y=r.common)==null?void 0:y.type)!=="file"),icon:n.createElement(Ba,{style:(d=r==null?void 0:r.common)!=null&&d.alias?this.styles.cellButtonsButtonWithCustoms:C.cellButtonsButtonWithoutCustoms}),label:this.info.aliasesMap[e.data.id]||e.data.id.startsWith("alias.0.")?this.props.t("ra_Edit alias"):this.props.t("ra_Create alias"),onClick:()=>{var w;(w=r==null?void 0:r.common)!=null&&w.alias?this.setState({showContextMenu:null,editObjectDialog:e.data.id,editObjectAlias:!0}):this.setState({showContextMenu:null,showAliasEditor:e.data.id})}},CREATE:{key:"+",visibility:(e.data.id.startsWith("0_userdata.0")||e.data.id.startsWith("javascript."))&&(a||u||l||N),icon:n.createElement(Br,{fontSize:"small",style:this.styles.cellButtonsButtonWithCustoms}),style:C.contextMenuWithSubMenu,label:this.texts.create,subMenu:[{label:this.texts.createBooleanState,visibility:a,icon:n.createElement(Xs,{fontSize:"small"}),onClick:()=>this.showAddDataPointDialog(e.data.id,"state","boolean")},{label:this.texts.createNumberState,visibility:a,icon:n.createElement(Xs,{fontSize:"small"}),onClick:()=>this.showAddDataPointDialog(e.data.id,"state","number")},{label:this.texts.createStringState,visibility:a,icon:n.createElement(Xs,{fontSize:"small"}),onClick:()=>this.showAddDataPointDialog(e.data.id,"state","string")},{label:this.texts.createState,visibility:a,icon:n.createElement(Xs,{fontSize:"small"}),onClick:()=>this.showAddDataPointDialog(e.data.id,"state")},{label:this.texts.createChannel,visibility:u,icon:n.createElement(lu,{fontSize:"small"}),onClick:()=>this.showAddDataPointDialog(e.data.id,"channel")},{label:this.texts.createDevice,visibility:l,icon:n.createElement(Nu,{fontSize:"small"}),onClick:()=>this.showAddDataPointDialog(e.data.id,"device")},{label:this.texts.createFolder,icon:n.createElement(Ra,{fontSize:"small"}),visibility:N,onClick:()=>this.showAddDataPointDialog(e.data.id,"folder")}]},RENAME:{key:"8",visibility:!!(!this.props.notEditable&&this.props.objectMoveRenameDialog&&!e.data.id.startsWith("system.")&&e.data.id.split(".").length>2&&(this.props.expertMode||e.data.id.startsWith("javascript.0.")||e.data.id.startsWith("0_userdata.0."))),icon:n.createElement(Ul,null),label:this.props.t("ra_Rename_Move_Copy"),onClick:()=>{const w=Object.keys(this.objects),O=`${e.data.id}.`;this.setState({showContextMenu:null,showRenameDialog:{id:e.data.id,childrenIds:w.filter(A=>A.startsWith(O))}})}},DELETE:{key:"Delete",visibility:!!(this.props.onObjectDelete&&((h=e.children)!=null&&h.length||r&&!((m=r.common)!=null&&m.dontDelete))),icon:n.createElement(ut,{fontSize:"small",style:this.styles.contextMenuDelete}),style:this.styles.contextMenuDelete,label:this.texts.deleteObject,onClick:()=>this.setState({showContextMenu:null},()=>this.showDeleteDialog({id:t,obj:r||{},item:e}))}};return Object.keys(c).forEach(w=>{var O,A;c[w].visibility&&(c[w].subMenu?(s.push(n.createElement(te,{key:w,href:"",onClick:I=>this.state.showContextMenu&&this.setState({showContextMenu:{item:this.state.showContextMenu.item,position:this.state.showContextMenu.position,subItem:w,subAnchor:I.target}}),style:c[w].style},n.createElement(Yt,{style:{...c[w].iconStyle,...c[w].listItemIconStyle}},c[w].icon),n.createElement(nt,null,c[w].label,"..."),n.createElement("div",{style:{...C.contextMenuKeys,opacity:1}},n.createElement(Rl,null)))),((O=this.state.showContextMenu)==null?void 0:O.subItem)===w&&s.push(n.createElement(ss,{key:"subContextMenu",open:!0,anchorEl:this.state.showContextMenu.subAnchor,onClose:()=>{this.state.showContextMenu&&this.setState({showContextMenu:{item:this.state.showContextMenu.item,position:this.state.showContextMenu.position}}),this.contextMenu=null}},(A=c[w].subMenu)==null?void 0:A.map(I=>I.visibility?n.createElement(te,{key:I.label,onClick:I.onClick,style:I.style},n.createElement(Yt,{style:{...I.iconStyle,...I.listItemIconStyle||void 0}},I.icon),n.createElement(nt,null,I.label)):null)))):s.push(n.createElement(te,{key:w,onClick:c[w].onClick,sx:c[w].style},n.createElement(Yt,{style:{...c[w].iconStyle,...c[w].listItemIconStyle}},c[w].icon),n.createElement(nt,null,c[w].label),c[w].key?n.createElement("div",{style:C.contextMenuKeys},`Alt+${c[w].key==="Delete"?this.props.t("ra_Del"):c[w].key}`):null)))}),s.length?n.createElement(ss,{key:"contextMenu",open:!0,onKeyUp:w=>{w.preventDefault(),w.altKey&&Object.keys(c).forEach(O=>{w.key===c[O].key&&c[O].onClick&&c[O].onClick()})},anchorReference:"anchorPosition",anchorPosition:this.state.showContextMenu.position,onClose:()=>{this.setState({showContextMenu:null}),this.contextMenu=null}},s):(setTimeout(()=>this.setState({showContextMenu:null}),100),null)}renderEditValueDialog(){var r;if(!this.state.updateOpened||!this.props.objectBrowserValue)return null;if(!this.edit.id)return console.error(`Invalid ID for edit: ${JSON.stringify(this.edit)}`),null;if(!this.objects[this.edit.id])return console.error(`Something went wrong. Possibly the object ${this.edit.id} was deleted.`),null;const e=(r=this.objects[this.edit.id].common)!=null&&r.type?this.objects[this.edit.id].common.type:typeof this.edit.val,t=this.objects[this.edit.id].common.role,s=this.props.objectBrowserValue;return n.createElement(s,{t:this.props.t,lang:this.props.lang,type:e,role:t||"",states:E.getStates(this.objects[this.edit.id]),themeType:this.props.themeType,theme:this.props.theme,expertMode:!!this.state.filter.expertMode,value:this.edit.val,socket:this.props.socket,object:this.objects[this.edit.id],defaultHistory:this.defaultHistory,dateFormat:this.props.dateFormat||this.systemConfig.common.dateFormat,isFloatComma:this.props.isFloatComma===void 0?this.systemConfig.common.isFloatComma:this.props.isFloatComma,onClose:o=>{this.setState({updateOpened:!1}),o&&this.onUpdate(o)},width:this.props.width})}doFilter(e){if(!this.objects||!this.root)return;e||this.localStorage.setItem(`${this.props.dialogName||"App"}.objectFilter`,JSON.stringify(this.state.filter));const t={count:0};Lo(this.root,this.state.filter,this.props.lang,this.objects,void 0,t,this.props.customFilter,this.props.types),t.count<500&&!this.state.expandAllVisible?setTimeout(()=>this.setState({expandAllVisible:!0})):t.count>=500&&this.state.expandAllVisible?setTimeout(()=>this.setState({expandAllVisible:!1})):this.forceUpdate()}render(){if(this.recordStates=[],this.unsubscribeTimer&&clearTimeout(this.unsubscribeTimer),this.styleTheme!==this.props.themeType&&(this.styles={cellIdIconFolder:E.getStyle(this.props.theme,C.cellIdIconFolder),cellIdIconDocument:E.getStyle(this.props.theme,C.cellIdIconDocument),iconDeviceError:E.getStyle(this.props.theme,C.iconDeviceError),iconDeviceConnected:E.getStyle(this.props.theme,C.iconDeviceConnected),iconDeviceDisconnected:E.getStyle(this.props.theme,C.iconDeviceDisconnected),cellButtonsButtonWithCustoms:E.getStyle(this.props.theme,C.cellButtonsButtonWithCustoms),invertedBackground:E.getStyle(this.props.theme,C.invertedBackground),invertedBackgroundFlex:E.getStyle(this.props.theme,C.invertedBackgroundFlex),contextMenuEdit:E.getStyle(this.props.theme,C.contextMenuEdit),contextMenuEditValue:E.getStyle(this.props.theme,C.contextMenuEditValue),contextMenuView:E.getStyle(this.props.theme,C.contextMenuView),contextMenuCustom:E.getStyle(this.props.theme,C.contextMenuCustom),contextMenuACL:E.getStyle(this.props.theme,C.contextMenuACL),contextMenuRoom:E.getStyle(this.props.theme,C.contextMenuRoom),contextMenuRole:E.getStyle(this.props.theme,C.contextMenuRole),contextMenuDelete:E.getStyle(this.props.theme,C.contextMenuDelete),filterInput:E.getStyle(this.props.theme,C.headerCellInput,C.filterInput),iconCopy:E.getStyle(this.props.theme,C.cellButtonsValueButton,C.cellButtonsValueButtonCopy),aliasReadWrite:E.getStyle(this.props.theme,C.cellIdAlias,C.cellIdAliasReadWrite),aliasAlone:E.getStyle(this.props.theme,C.cellIdAlias,C.cellIdAliasAlone)},this.styleTheme=this.props.themeType),this.unsubscribeTimer=setTimeout(()=>{this.unsubscribeTimer=null,this.checkUnsubscribes()},200),this.expertMode!==!!this.state.filter.expertMode&&(this.expertMode=!!this.state.filter.expertMode,this.doFilter(!0)),!this.state.loaded)return n.createElement(qi,{key:`${this.props.dialogName}_c`});const e=this.root?this.renderItem(this.root,void 0):null;return n.createElement(F4e,{key:this.props.dialogName},n.createElement("style",null,` -@keyframes newValueAnimation-light { - 0% { - color: #00f900; - } - 80% { - color: #008000; - } - 100% { - color: #000; - } -} -@keyframes newValueAnimation-dark { - 0% { - color: #00f900; - } - 80% { - color: #008000; - } - 100% { - color: #fff; - } -} -.newValueBrowser-dark { - animation: newValueAnimation-dark 2s ease-in-out; -} -.newValueBrowser-light { - animation: newValueAnimation-light 2s ease-in-out; -} -.highlight-link .iob-link { - text-decoration: underline; - cursor: pointer; -} -`),n.createElement(V4e,null,this.getToolbar()),n.createElement(H4e,null,this.renderHeader(),n.createElement(W,{style:C.tableDiv,ref:this.tableRef,onKeyDown:t=>this.navigateKeyPress(t)},e)),this.renderContextMenu(),this.renderAliasMenu(),this.renderToast(),this.renderColumnsEditCustomDialog(),this.renderColumnsSelectorDialog(),this.renderCustomDialog(),this.renderEditValueDialog(),this.renderEditObjectDialog(),this.renderViewObjectFileDialog(),this.renderAliasEditorDialog(),this.renderEditRoleDialog(),this.renderEnumDialog(),this.renderErrorDialog(),this.renderExportDialog(),this.renderRenameDialog(),this.renderInputJsonDialog(),this.state.modalNewObj&&this.props.modalNewObject&&this.props.modalNewObject(this),this.state.modalEditOfAccess&&this.state.modalEditOfAccessObjData&&this.props.modalEditOfAccessControl&&this.props.modalEditOfAccessControl(this,this.state.modalEditOfAccessObjData))}}const aLe=ur()(Xi);class oge extends n.Component{refTypo;height;width;constructor(e){super(e),this.state={closed:this.props.storeId?window.localStorage.getItem(this.props.storeId)==="true":!1},this.height=0,this.width=0,this.refTypo=n.createRef()}componentDidMount(){this.detectHeight()}onClick(){this.props.storeId&&this.props.closed===void 0&&(this.state.closed?window.localStorage.removeItem(this.props.storeId):window.localStorage.setItem(this.props.storeId,"true")),this.props.closed===void 0?this.setState({closed:!this.state.closed},()=>{this.props.onClose&&this.props.onClose(this.state.closed)}):this.props.onClose&&this.props.onClose(!this.props.closed)}detectHeight(){const e=this.props.closed!==void 0?this.props.closed:this.state.closed;this.props.closeable&&!e&&this.refTypo.current&&window.requestAnimationFrame(()=>{(this.props.closed!==void 0?this.props.closed:this.state.closed)||this.refTypo.current&&(!this.height||this.width!==this.refTypo.current.clientWidth)&&(this.height=this.refTypo.current.clientHeight,this.width=this.refTypo.current.clientWidth,this.forceUpdate())})}componentDidUpdate(){this.detectHeight()}render(){const e=this.props.closed!==void 0?this.props.closed:this.state.closed,t=e?Hl:ge;return n.createElement(W,{className:"iom-info-box",style:{whiteSpace:"preserve",display:"flex",gap:8,alignItems:e||this.props.iconPosition==="top"?"flex-start":"center",borderWidth:1,borderStyle:"solid",padding:4,borderRadius:5,marginBottom:8,maxWidth:"100%",transition:"height 0.5s",height:this.props.closeable?e?30:this.height||void 0:void 0,overflow:this.props.closeable?"hidden":void 0,position:"relative",...this.props.style},sx:{borderColor:s=>this.props.type==="ok"?s.palette.info.main:s.palette[this.props.type].main}},this.props.type==="ok"?n.createElement(Ue,{style:{color:"#0F0"}}):this.props.type==="info"?n.createElement(vo,{color:"primary"}):n.createElement(Fl,{color:this.props.type}),n.createElement(ol,{ref:this.refTypo},this.props.children),this.props.closeable?n.createElement(t,{sx:{color:s=>s.palette.mode==="dark"?"lightgray":"gray",cursor:"pointer",position:"absolute",top:4,right:4},onClick:()=>this.onClick()}):null,this.props.closeable?n.createElement("div",{style:{width:22}}):null,e?n.createElement(W,{component:"div",sx:s=>{const r=s.palette[this.props.type==="ok"?"info":this.props.type].main;return{background:`linear-gradient(${r}00 0%, ${r}10 60%, ${r}90 100%)`}},style:{bottom:0,position:"absolute",left:0,right:0,height:10}}):null)}}const _={hr:{border:0,borderTop:"1px solid gray"},scrollWindow:{width:"100%",overflow:"auto",height:"calc(100% - 22px)"},rowDiv:{width:"100%"},modeDiv:{width:200,display:"inline-block",verticalAlign:"top"},settingsDiv:{display:"inline-block",verticalAlign:"top"},inputTime:{width:90,marginTop:0,marginLeft:5},inputDate:{width:140,marginTop:0,marginLeft:5},inputEvery:{width:40,marginLeft:5,marginRight:5},inputRadio:{padding:"4px 12px",verticalAlign:"top"},inputGroup:{maxWidth:400,display:"inline-block"},inputGroupElement:{width:120},inputDateDay:{width:60},inputDateDayCheck:{padding:4},inputSmallCheck:{padding:0},rowOnce:{},rowDays:i=>({background:i.palette.mode!=="dark"?"#ddeaff":"#4b5057"}),rowDows:i=>({background:i.palette.mode!=="dark"?"#DDFFDD":"#52646c"}),rowMonths:i=>({background:i.palette.mode!=="dark"?"#DDFFFF":"#1f5557"}),rowMonthsDates:i=>({background:i.palette.mode!=="dark"?"#EEFFFF":"#3c5737",maxWidth:600}),rowYears:i=>({background:i.palette.mode!=="dark"?"#fbffdd":"#574b33"}),rowDowsDows:i=>({background:i.palette.mode!=="dark"?"#EEFFEE":"#3d4c54",pl:"10px",pb:"10px"})},Yr=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],Oi=["January","February","March","April","May","June","July","August","September","October","November","December"],Qr={minutes:"minutes",hours:"hours"},Rs=["sunrise","sunriseEnd","goldenHourEnd","solarNoon","goldenHour","sunsetStart","sunset","dusk","nauticalDusk","night","nightEnd","nauticalDawn","dawn","nadir"];function yt(i){return i<10?`0${i}`:`${i}`}const La={time:{exactTime:!1,start:"00:00",end:"23:59",mode:"hours",interval:1},period:{once:"",days:1,dows:"",dates:"",weeks:0,months:"",years:0,yearMonth:0,yearDate:0},valid:{from:"",to:""}};function Ur(i){const e=i.split(".");return e.length===3?`${e[2]}-${e[1]}-${e[0]}`:""}class Ce extends ze{refFrom;refTo;refOnce;timerOnce=null;timerFrom=null;timerTo=null;constructor(e){super(e);let t;if(this.props.schedule&&typeof this.props.schedule=="string"&&this.props.schedule[0]==="{")try{t=JSON.parse(this.props.schedule)}catch{}else typeof this.props.schedule=="object"&&(t=this.props.schedule);(!t||!Object.keys(t).length)&&(setTimeout(()=>this.onChange(this.state.schedule,!0),200),t=La),t={...La,...t},t.valid.from||=Ce.now2string(),this.refFrom=n.createRef(),this.refTo=n.createRef(),this.refOnce=n.createRef(),this.state={schedule:t,desc:Ce.state2text(t)},JSON.stringify(t)!==this.props.schedule&&setTimeout(()=>{var s,r;return(r=(s=this.props).onChange)==null?void 0:r.call(s,JSON.stringify(t))},100)}onChange(e,t){var r,o;const s=JSON.stringify(e)!==JSON.stringify(this.state.schedule);if(t||s){s&&this.setState({schedule:e,desc:Ce.state2text(e)});const M=JSON.parse(JSON.stringify(e));if(M.period.once){const a=M.period.once;delete M.period,M.period={once:a},delete M.valid}else if(M.period.days){const a=M.period.days,u=M.period.dows;delete M.period,M.period={days:a},u&&u!=="[]"&&(M.period.dows=u)}else if(M.period.weeks){const a=M.period.weeks,u=M.period.dows;delete M.period,M.period={weeks:a},u&&u!=="[]"&&(M.period.dows=u)}else if(M.period.months){const a=M.period.months,u=M.period.dates;delete M.period,M.period={months:a},u&&u!=="[]"&&(M.period.dates=u)}else if(M.period.years){const a=M.period.years,u=M.period.yearMonth,l=M.period.yearDate;delete M.period,M.period={years:a,yearDate:l},u&&(M.period.yearMonth=u)}if(M.time.exactTime?(delete M.time.end,delete M.time.mode,delete M.time.interval):delete M.time.exactTime,M.valid){if(M.valid.to||delete M.valid.to,M.period.days===1||M.period.weeks===1||M.period.months===1||M.period.years===1){const a=Ce.string2date(M.valid.from),u=new Date;u.setHours(0),u.setMinutes(0),u.setSeconds(0),u.setMilliseconds(0),a<=u&&delete M.valid.from}!M.valid.from&&!M.valid.to&&delete M.valid}(o=(r=this.props).onChange)==null||o.call(r,JSON.stringify(M),Ce.state2text(e))}}static state2text(e){if(typeof e=="string")try{e=JSON.parse(e)}catch{return""}const t=[],s=Ce.string2date(e.valid.from);if(e.period.once){const r=Ce.string2date(e.period.once),o=new Date;if(o.setMilliseconds(0),o.setSeconds(0),o.setMinutes(0),o.setHours(0),rD.t(Yr[M]));if(o.length===1)t.push(D.t("sch_desc_onWeekday",o[0]));else if(o.length===7)t.push(D.t("sch_desc_everyDay"));else{const M=o.pop();t.push(D.t("sch_desc_onWeekdays",o.join(", "),M))}}}else t.push(D.t("sch_desc_everyDay"));else t.push(D.t("sch_desc_everyNDay",e.period.days.toString()));else if(e.period.weeks)if(e.period.weeks===1?t.push(D.t("sch_desc_everyWeek")):t.push(D.t("sch_desc_everyNWeeks",e.period.weeks.toString())),e.period.dows){const r=JSON.parse(e.period.dows);if(r.length===2&&r[0]===0&&r[1]===6)t.push(D.t("sch_desc_onWeekends"));else if(r.length===5&&r[0]===1&&r[1]===2&&r[2]===3&&r[3]===4&&r[4]===5)t.push(D.t("sch_desc_onWorkdays"));else{const o=r.map(M=>D.t(Yr[M]));if(o.length===1)t.push(D.t("sch_desc_onWeekday",o[0]));else if(o.length===7)t.push(D.t("sch_desc_everyDay"));else{const M=o.pop();t.push(D.t("sch_desc_onWeekdays",o.join(", "),M))}}}else return D.t("sch_desc_never");else if(e.period.months){if(e.period.dates){const r=JSON.parse(e.period.dates);if(r.length===1)t.push(D.t("sch_desc_onDate",r[0]));else if(r.length===31)t.push(D.t("sch_desc_onEveryDate"));else if(r.length){const o=r.pop();t.push(D.t("sch_desc_onDates",r.join(", "),o))}else return D.t("sch_desc_never")}else t.push(D.t("sch_desc_onEveryDate"));if(e.period.months===1)t.push(D.t("sch_desc_everyMonth"));else if(typeof e.period.months=="number")t.push(D.t("sch_desc_everyNMonths",e.period.months.toString()));else{const o=JSON.parse(e.period.months).map(M=>D.t(Oi[M-1]));if(!o.length)return D.t("sch_desc_never");if(o.length===1)t.push(D.t("sch_desc_onMonth",o[0]));else if(o.length===12)t.push(D.t("sch_desc_everyMonth"));else{const M=o.pop();t.push(D.t("sch_desc_onMonths",o.join(", "),M))}}}else e.period.years&&(e.period.years===1?t.push(D.t("sch_desc_everyYear")):t.push(D.t("sch_desc_everyNYears",e.period.years.toString())),t.push(D.t("sch_desc_onDate",e.period.yearDate.toString(),e.period.yearMonth?D.t(Oi[e.period.yearMonth-1]):D.t("sch_desc_everyMonth"))));if(e.time.exactTime)Rs.includes(e.time.start)?t.push(D.t("sch_desc_atTime",D.t(`sch_astro_${e.time.start}`))):t.push(D.t("sch_desc_atTime",e.time.start));else{e.time.mode===Qr.minutes?e.time.interval===1?t.push(D.t("sch_desc_everyMinute")):t.push(D.t("sch_desc_everyNMinutes",e.time.interval.toString())):e.time.interval===1?t.push(D.t("sch_desc_everyHour")):t.push(D.t("sch_desc_everyNHours",e.time.interval.toString()));const r=Rs.indexOf(e.time.start)!==-1?D.t(`sch_astro_${e.time.start}`):e.time.start,o=Rs.indexOf(e.time.end)!==-1?D.t(`sch_astro_${e.time.end}`):e.time.end;(r!=="00:00"||o!=="24:00"&&o!=="23:59")&&t.push(D.t("sch_desc_intervalFromTo",r,o))}return e.period.once||(s.getTime()>Date.now()&&e.valid.to?t.push(D.t("sch_desc_validFromTo",e.valid.from,e.valid.to)):s.getTime()>Date.now()?t.push(D.t("sch_desc_validFrom",e.valid.from)):e.valid.to&&t.push(D.t("sch_desc_validTo",e.valid.to))),t.join(" ")}getTimePeriodElements(){const e=this.state.schedule;let t=!1,s=!1,r=!1,o=!0;return e.time.start==="00:00"&&e.time.end==="24:00"?(t=!0,o=!1):e.time.start==="sunrise"?(s=!0,o=!1):e.time.start==="sunset"&&(r=!0,o=!1),n.createElement("div",{key:"timePeriod",style:_.rowDiv},n.createElement("div",{style:_.modeDiv},n.createElement(H,{control:n.createElement(Me,{style:_.inputRadio,checked:!e.time.exactTime,onClick:()=>{const M=JSON.parse(JSON.stringify(this.state.schedule));M.time.exactTime=!1,this.onChange(M)}}),label:D.t("sch_intervalTime")})),n.createElement("div",{style:_.settingsDiv},n.createElement("div",{style:_.settingsDiv},!e.time.exactTime&&n.createElement("div",null,n.createElement("div",null,n.createElement(H,{control:n.createElement(Me,{style:_.inputRadio,checked:!!o,onClick:()=>{const M=JSON.parse(JSON.stringify(this.state.schedule));M.time.start="00:00",M.time.end="23:59",this.onChange(M)}}),label:o?"":D.t("sch_fromTo")}),o&&[n.createElement(le,{variant:"standard",style:{..._.inputTime,marginRight:10},key:"exactTimeFrom",type:"time",sx:M=>({'& input[type="time"]::-webkit-calendar-picker-indicator':{filter:M.palette.mode==="dark"?"invert(80%)":void 0}}),value:this.state.schedule.time.start,onChange:M=>{const a=JSON.parse(JSON.stringify(this.state.schedule));a.time.start=M.target.value,this.onChange(a)},slotProps:{inputLabel:{shrink:!0}},label:D.t("sch_from"),margin:"normal"}),n.createElement(le,{variant:"standard",style:_.inputTime,key:"exactTimeTo",type:"time",sx:M=>({'& input[type="time"]::-webkit-calendar-picker-indicator':{filter:M.palette.mode==="dark"?"invert(80%)":void 0}}),value:this.state.schedule.time.end,onChange:M=>{const a=JSON.parse(JSON.stringify(this.state.schedule));a.time.end=M.target.value,this.onChange(a)},slotProps:{inputLabel:{shrink:!0}},label:D.t("sch_to"),margin:"normal"})])),!e.time.exactTime&&n.createElement("div",null,n.createElement(H,{control:n.createElement(Me,{style:_.inputRadio,checked:!!t,onClick:()=>{const M=JSON.parse(JSON.stringify(this.state.schedule));M.time.start="00:00",M.time.end="24:00",this.onChange(M)}}),label:D.t("sch_wholeDay")})),!e.time.exactTime&&n.createElement("div",null,n.createElement(H,{control:n.createElement(Me,{style:_.inputRadio,checked:!!s,onClick:()=>{const M=JSON.parse(JSON.stringify(this.state.schedule));M.time.start="sunrise",M.time.end="sunset",this.onChange(M)}}),label:D.t("sch_astroDay")})),!e.time.exactTime&&n.createElement("div",null,n.createElement(H,{control:n.createElement(Me,{style:_.inputRadio,checked:!!r,onClick:()=>{const M=JSON.parse(JSON.stringify(this.state.schedule));M.time.start="sunset",M.time.end="sunrise",this.onChange(M)}}),label:D.t("sch_astroNight")}))),!e.time.exactTime&&this.getPeriodSettingsMinutes(o)))}getTimeExactElements(){const e=Rs.includes(this.state.schedule.time.start);return n.createElement("div",{key:"timeExact",style:_.rowDiv},n.createElement("div",{style:_.modeDiv},n.createElement(H,{control:n.createElement(Me,{style:_.inputRadio,checked:!!this.state.schedule.time.exactTime,onClick:()=>{const t=JSON.parse(JSON.stringify(this.state.schedule));t.time.exactTime=!0,this.onChange(t)}}),label:D.t("sch_exactTime")})),this.state.schedule.time.exactTime&&n.createElement(Xe,{variant:"standard",value:e?this.state.schedule.time.start:"00:00",onChange:t=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.time.start=t.target.value,this.onChange(s)}},n.createElement(te,{key:"specific",value:"00:00"},D.t("sch_specificTime")),Rs.map(t=>n.createElement(te,{key:t,value:t},D.t(`sch_astro_${t}`)))),this.state.schedule.time.exactTime&&!e&&n.createElement("div",{style:_.settingsDiv},n.createElement(le,{variant:"standard",style:_.inputTime,key:"exactTimeValue",value:this.state.schedule.time.start,type:"time",sx:t=>({'& input[type="time"]::-webkit-calendar-picker-indicator':{filter:t.palette.mode==="dark"?"invert(80%)":void 0}}),onChange:t=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.time.start=t.target.value,this.onChange(s)},slotProps:{inputLabel:{shrink:!0}},margin:"normal"})))}static getDivider(){return n.createElement("hr",{style:_.hr})}getPeriodModes(){const e=this.state.schedule,t=!e.period.dows&&!e.period.months&&!e.period.dates&&!e.period.years&&!e.period.days&&!e.period.weeks;return t&&!e.period.once&&(e.period.once=Ce.now2string(!0)),[n.createElement("div",{key:"once",style:{..._.rowDiv,..._.rowOnce}},n.createElement("div",{style:_.modeDiv},n.createElement(H,{control:n.createElement(Me,{style:_.inputRadio,checked:!!t,onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.once||=Ce.now2string(!0),s.period.dows="",s.period.months="",s.period.dates="",s.period.years=0,s.period.yearDate=0,s.period.yearMonth=0,s.period.weeks=0,s.period.days=0,this.onChange(s)}}),label:D.t("sch_periodOnce")})),t&&n.createElement("div",{style:_.settingsDiv},n.createElement(le,{variant:"standard",style:_.inputDate,type:"date",ref:this.refOnce,key:"exactDateAt",defaultValue:Ur(e.period.once),onChange:s=>{this.timerOnce&&clearTimeout(this.timerOnce),this.timerOnce=null,this.refOnce.current&&(this.refOnce.current.style.background="#ff000030"),this.timerOnce=setTimeout(r=>{this.timerOnce=null,this.refOnce.current&&(this.refOnce.current.style.background="");const o=JSON.parse(JSON.stringify(this.state.schedule)),M=Ce.string2date(r);M.toString()!=="Invalid Date"&&(o.period.once=`${yt(M.getDate())}.${yt(M.getMonth()+1)}.${M.getFullYear()}`,this.onChange(o))},1500,s.target.value)},slotProps:{inputLabel:{shrink:!0}},label:D.t("sch_at"),margin:"normal"}))),n.createElement(W,{component:"div",key:"days",sx:E.getStyle(this.props.theme,_.rowDiv,_.rowDays)},n.createElement("div",{style:_.modeDiv},n.createElement(H,{control:n.createElement(Me,{style:_.inputRadio,checked:!!e.period.days,onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.days=1,s.period.dows="",s.period.months="",s.period.dates="",s.period.years=0,s.period.yearDate=0,s.period.yearMonth=0,s.period.weeks=0,s.period.once="",this.onChange(s)}}),label:D.t("sch_periodDaily")})),n.createElement("div",{style:_.settingsDiv},this.getPeriodSettingsDaily(),e.period.days?this.getPeriodSettingsWeekdays():null)),n.createElement(W,{component:"div",key:"weeks",sx:E.getStyle(this.props.theme,_.rowDiv,_.rowDows)},n.createElement("div",{style:_.modeDiv},n.createElement(H,{control:n.createElement(Me,{style:_.inputRadio,checked:!!e.period.weeks,onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.weeks=e.period.weeks?0:1,s.period.dows||="[0]",s.period.months="",s.period.dates="",s.period.years=0,s.period.yearDate=0,s.period.yearMonth=0,s.period.days=0,s.period.once="",this.onChange(s)}}),label:D.t("sch_periodWeekly")})),n.createElement(W,{component:"div",style:_.settingsDiv},n.createElement("div",{style:_.settingsDiv},this.getPeriodSettingsWeekly()),n.createElement(W,{component:"div",sx:E.getStyle(this.props.theme,_.settingsDiv,_.rowDowsDows)},this.state.schedule.period.weeks?this.getPeriodSettingsWeekdays():null))),n.createElement(W,{component:"div",key:"months",sx:E.getStyle(this.props.theme,_.rowDiv,_.rowMonths)},n.createElement("div",{style:_.modeDiv},n.createElement(H,{control:n.createElement(Me,{style:_.inputRadio,checked:!!e.period.months,onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.months=1,s.period.dows="",s.period.dates="",s.period.years=0,s.period.yearDate=0,s.period.yearMonth=0,s.period.weeks=0,s.period.days=0,s.period.once="",this.onChange(s)}}),label:D.t("sch_periodMonthly")})),n.createElement("div",{style:_.settingsDiv},this.getPeriodSettingsMonthly(),e.period.months?n.createElement(W,null,n.createElement(W,{component:"div",sx:E.getStyle(this.props.theme,_.settingsDiv,_.rowMonthsDates)},n.createElement(H,{control:n.createElement(ne,{style:_.inputRadio,checked:!!e.period.dates,onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.months||=1;const r=[];for(let o=1;o<=31;o++)r.push(o);s.period.dates||=JSON.stringify(r),s.period.dows="",s.period.years=0,s.period.yearDate=0,s.period.yearMonth=0,s.period.weeks=0,s.period.days=0,s.period.once="",this.onChange(s)}}),label:D.t("sch_periodDates")})),n.createElement(W,{component:"div",sx:E.getStyle(this.props.theme,_.settingsDiv,_.rowMonthsDates)},this.getPeriodSettingsDates())):null)),n.createElement(W,{component:"div",key:"years",sx:E.getStyle(this.props.theme,_.rowDiv,_.rowYears)},n.createElement("div",{style:_.modeDiv},n.createElement(H,{control:n.createElement(Me,{style:_.inputRadio,checked:!!e.period.years,onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.years=1,s.period.yearDate=1,s.period.yearMonth=1,s.period.dows="",s.period.months=0,s.period.dates="",s.period.weeks=0,s.period.days=0,s.period.once="",this.onChange(s)}}),label:D.t("sch_periodYearly")})),n.createElement("div",{style:_.settingsDiv},n.createElement("div",{style:_.settingsDiv},this.getPeriodSettingsYearly()),!!e.period.years&&n.createElement("div",{style:_.settingsDiv},n.createElement("span",null,D.t("sch_on")),n.createElement(Ut,{key:"input",value:this.state.schedule.period.yearDate,style:_.inputEvery,type:"number",inputProps:{min:1,max:31},onChange:s=>{const r=JSON.parse(JSON.stringify(this.state.schedule));r.period.yearDate=parseInt(s.target.value,10),r.period.yearDate<1&&(r.period.yearDate=31),r.period.yearDate>31&&(r.period.yearDate=1),this.onChange(r)}}),n.createElement(Xe,{variant:"standard",value:e.period.yearMonth,onChange:s=>{const r=JSON.parse(JSON.stringify(this.state.schedule));r.period.yearMonth=s.target.value,this.onChange(r)}},n.createElement(te,{key:"every",value:0},D.t("sch_yearEveryMonth")),Oi.map((s,r)=>n.createElement(te,{key:s,value:r+1},D.t(s)))))))]}getPeriodSettingsMinutes(e){return n.createElement("div",{style:{display:"inline-block",marginTop:e?15:"inherit"}},n.createElement("label",{style:{marginLeft:4,marginRight:4}},D.t("sch_every")),n.createElement(Ut,{value:this.state.schedule.time.interval,style:{..._.inputEvery,verticalAlign:"bottom"},type:"number",inputProps:{min:1},onChange:t=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.time.interval=parseInt(t.target.value,10),this.onChange(s)}}),n.createElement(Xe,{variant:"standard",value:this.state.schedule.time.mode,onChange:t=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.time.mode=t.target.value,this.onChange(s)}},n.createElement(te,{value:Qr.minutes},D.t("sch_periodMinutes")),n.createElement(te,{value:Qr.hours},D.t("sch_periodHours"))))}getPeriodSettingsWeekdays(){const e=this.state.schedule,t=e.period.dows&&e.period.dows!=="[1, 2, 3, 4, 5]"&&e.period.dows!=="[0, 6]";return[n.createElement("div",{key:"workdays"},n.createElement(H,{control:n.createElement(Me,{style:_.inputRadio,checked:e.period.dows==="[1, 2, 3, 4, 5]",onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.dows="[1, 2, 3, 4, 5]",s.period.days&&(s.period.days=1),this.onChange(s)}}),label:D.t("sch_periodWorkdays")})),n.createElement("div",{key:"weekend"},n.createElement(H,{control:n.createElement(Me,{style:_.inputRadio,checked:e.period.dows==="[0, 6]",onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.dows="[0, 6]",s.period.days&&(s.period.days=1),this.onChange(s)}}),label:D.t("sch_periodWeekend")})),n.createElement("div",{key:"specific",style:{verticalAlign:"top"}},n.createElement(H,{style:{verticalAlign:"top"},control:n.createElement(Me,{style:_.inputRadio,checked:!!t,onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.dows="[0, 1, 2, 3, 4, 5, 6]",s.period.days&&(s.period.days=1),this.onChange(s)}}),label:D.t("sch_periodWeekdays")}),t&&(e.period.days===1||e.period.weeks)&&n.createElement(Tr,{row:!0,style:{..._.inputGroup,width:150}},[1,2,3,4,5,6,0].map(s=>n.createElement(H,{key:`specific_${s}`,style:_.inputGroupElement,control:n.createElement(ne,{style:_.inputSmallCheck,checked:e.period.dows.includes(s.toString()),onChange:r=>{const o=JSON.parse(JSON.stringify(this.state.schedule));let M;try{M=JSON.parse(o.period.dows)}catch{M=[]}r.target.checked&&!M.includes(s)?M.push(s):!r.target.checked&&M.includes(s)&&M.splice(M.indexOf(s),1),M.sort((a,u)=>a-u),o.period.dows=JSON.stringify(M),o.period.days&&(o.period.days=1),this.onChange(o)}}),label:D.t(Yr[s])}))))]}getPeriodSettingsDaily(){if(!this.state.schedule.period.days)return null;const e=this.state.schedule;return[n.createElement("div",{key:"every_day"},n.createElement(H,{control:n.createElement(Me,{style:_.inputRadio,checked:e.period.days===1&&!e.period.dows,onClick:()=>{const t=JSON.parse(JSON.stringify(this.state.schedule));t.period.days=1,t.period.dows="",this.onChange(t)}}),label:D.t("sch_periodEveryDay")})),n.createElement("div",{key:"everyN_day"},n.createElement(H,{control:n.createElement(Me,{style:_.inputRadio,checked:e.period.days>1,onClick:()=>{const t=JSON.parse(JSON.stringify(this.state.schedule));t.period.days=2,t.period.dows="",this.onChange(t)}}),label:D.t("sch_periodEvery")}),e.period.days>1&&[n.createElement(Ut,{key:"input",value:this.state.schedule.period.days,style:_.inputEvery,type:"number",inputProps:{min:2},onChange:t=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.days=parseInt(t.target.value,10),s.period.dows="",this.onChange(s)}}),n.createElement("span",{key:"span",style:{paddingRight:10}},D.t("sch_periodDay"))])]}getPeriodSettingsWeekly(){if(!this.state.schedule.period.weeks)return null;const e=this.state.schedule;return[n.createElement("div",{key:"radios",style:{display:"inline-block",verticalAlign:"top"}},n.createElement("div",null,n.createElement(H,{control:n.createElement(Me,{style:_.inputRadio,checked:e.period.weeks===1,onClick:()=>{const t=JSON.parse(JSON.stringify(this.state.schedule));t.period.weeks=1,this.onChange(t)}}),label:D.t("sch_periodEveryWeek")})),n.createElement("div",null,n.createElement(H,{control:n.createElement(Me,{style:_.inputRadio,checked:e.period.weeks>1,onClick:()=>{const t=JSON.parse(JSON.stringify(this.state.schedule));t.period.weeks=2,this.onChange(t)}}),label:D.t("sch_periodEvery")}),e.period.weeks>1&&[n.createElement(Ut,{key:"input",value:this.state.schedule.period.weeks,style:_.inputEvery,type:"number",inputProps:{min:2},onChange:t=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.weeks=parseInt(t.target.value,10),this.onChange(s)}}),n.createElement("span",{key:"text"},D.t("sch_periodWeek"))]))]}getPeriodSettingsDates(){if(!this.state.schedule.period.dates)return null;const e=this.state.schedule,t=[];for(let r=1;r<=31;r++)t.push(r);const s=JSON.parse(e.period.dates);return n.createElement(Tr,{row:!0,style:{..._.inputGroup,maxWidth:620}},n.createElement(H,{style:_.inputDateDay,control:n.createElement(ne,{style:_.inputDateDayCheck,checked:s.length===31,onChange:()=>{const r=JSON.parse(JSON.stringify(this.state.schedule)),o=[];for(let M=1;M<=31;M++)o.push(M);r.period.dates=JSON.stringify(o),this.onChange(r)}}),label:D.t("sch_all")}),n.createElement(H,{style:_.inputDateDay,control:n.createElement(ne,{style:_.inputDateDayCheck,checked:!s.length,onChange:()=>{const r=JSON.parse(JSON.stringify(this.state.schedule));r.period.dates="[]",this.onChange(r)}}),label:D.t("sch_no_one")}),s.length!==31&&!!s.length&&n.createElement(H,{style:_.inputDateDay,control:n.createElement(ne,{style:_.inputDateDayCheck,checked:!1,onChange:()=>{const r=JSON.parse(JSON.stringify(this.state.schedule)),o=[],M=JSON.parse(r.period.dates);for(let a=1;a<=31;a++)M.includes(a)||o.push(a);o.sort((a,u)=>a-u),r.period.dates=JSON.stringify(o),this.onChange(r)}}),label:D.t("sch_invert")}),n.createElement("div",null),t.map(r=>n.createElement(H,{key:`date_${r}`,style:r?_.inputDateDay:{..._.inputDateDay,opacity:0,cursor:"default",userSelect:"none",pointerEvents:"none"},control:n.createElement(ne,{style:_.inputDateDayCheck,checked:JSON.parse(e.period.dates).includes(r),onChange:o=>{const M=JSON.parse(JSON.stringify(this.state.schedule));let a;try{a=JSON.parse(M.period.dates)}catch{a=[]}o.target.checked&&!a.includes(r)?a.push(r):!o.target.checked&&a.includes(r)&&a.splice(a.indexOf(r),1),a.sort((u,l)=>u-l),M.period.dates=JSON.stringify(a),this.onChange(M)}}),label:r<10?[n.createElement("span",{key:"0",style:{opacity:0}},"0"),n.createElement("span",{key:"num"},r)]:r})))}getPeriodSettingsMonthly(){if(!this.state.schedule.period.months)return null;const e=this.state.schedule,t=typeof e.period.months=="string"?JSON.parse(e.period.months):[];return[n.createElement("div",{key:"every"},n.createElement(H,{control:n.createElement(Me,{style:_.inputRadio,checked:typeof e.period.months=="number"&&e.period.months===1,onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.months=1,this.onChange(e)}}),label:D.t("sch_periodEveryMonth")})),n.createElement("div",{key:"everyN"},n.createElement(H,{control:n.createElement(Me,{style:_.inputRadio,checked:typeof e.period.months=="number"&&e.period.months>1,onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.months=2,this.onChange(s)}}),label:D.t("sch_periodEvery")}),typeof e.period.months=="number"&&e.period.months>1&&[n.createElement(Ut,{key:"input",value:e.period.months,style:_.inputEvery,type:"number",inputProps:{min:2},onChange:s=>{const r=JSON.parse(JSON.stringify(this.state.schedule));r.period.months=parseInt(s.target.value,10),r.period.months<1&&(r.period.months=1),this.onChange(r)}}),n.createElement("span",{key:"text"},D.t("sch_periodMonth"))]),n.createElement("div",{key:"specific",style:{verticalAlign:"top"}},n.createElement(H,{style:{verticalAlign:"top"},control:n.createElement(Me,{style:_.inputRadio,checked:typeof e.period.months=="string",onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.months="[1,2,3,4,5,6,7,8,9,10,11,12]",this.onChange(s)}}),label:D.t("sch_periodSpecificMonths")}),typeof e.period.months=="string"&&n.createElement(Tr,{row:!0,style:_.inputGroup},n.createElement(H,{style:_.inputDateDay,control:n.createElement(ne,{style:_.inputDateDayCheck,checked:t.length===12,onChange:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule)),r=[];for(let o=1;o<=12;o++)r.push(o);s.period.months=JSON.stringify(r),this.onChange(s)}}),label:D.t("sch_all")}),n.createElement(H,{style:_.inputDateDay,control:n.createElement(ne,{style:_.inputDateDayCheck,checked:!t.length,onChange:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.months="[]",this.onChange(s)}}),label:D.t("sch_no_one")}),t.length!==12&&!!t.length&&n.createElement(H,{style:_.inputDateDay,control:n.createElement(ne,{style:_.inputDateDayCheck,checked:!1,onChange:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule)),r=[],o=JSON.parse(s.period.months);for(let M=1;M<=12;M++)o.includes(M)||r.push(M);r.sort((M,a)=>M-a),s.period.months=JSON.stringify(r),this.onChange(s)}}),label:D.t("sch_invert")}),n.createElement("div",null),Oi.map((s,r)=>n.createElement(H,{key:`month_${r}`,style:_.inputGroupElement,control:n.createElement(ne,{style:_.inputSmallCheck,checked:typeof e.period.months=="string"?JSON.parse(e.period.months).includes(r+1):e.period.months===r,onChange:o=>{const M=JSON.parse(JSON.stringify(this.state.schedule));let a;try{a=JSON.parse(M.period.months)}catch{a=[]}o.target.checked&&!a.includes(r+1)?a.push(r+1):!o.target.checked&&a.includes(r+1)&&a.splice(a.indexOf(r+1),1),a.sort((u,l)=>u-l),M.period.months=JSON.stringify(a),this.onChange(M)}}),label:D.t(s)}))))]}getPeriodSettingsYearly(){if(!this.state.schedule.period.years)return null;const e=this.state.schedule;return[n.createElement("div",{key:"year"},n.createElement(H,{control:n.createElement(Me,{style:_.inputRadio,checked:e.period.years===1,onClick:()=>{const t=JSON.parse(JSON.stringify(this.state.schedule));t.period.years=1,this.onChange(t)}}),label:D.t("sch_periodEveryYear")})),n.createElement("div",{key:"every"},n.createElement(H,{control:n.createElement(Me,{style:_.inputRadio,checked:e.period.years>1,onClick:()=>{const t=JSON.parse(JSON.stringify(this.state.schedule));t.period.years=2,this.onChange(t)}}),label:D.t("sch_periodEvery")}),e.period.years>1&&[n.createElement(Ut,{key:"input",value:this.state.schedule.period.years,style:_.inputEvery,type:"number",inputProps:{min:2},onChange:t=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.years=parseInt(t.target.value,10),s.period.years<1&&(s.period.years=1),this.onChange(s)}}),n.createElement("span",{key:"text"},D.t("sch_periodYear"))])]}static now2string(e){const t=new Date;return t.setHours(0),t.setMinutes(0),t.setSeconds(0),t.setMilliseconds(0),e&&(t.setDate(t.getDate()+2),t.setMilliseconds(t.getMilliseconds()-1)),`${yt(t.getDate())}.${yt(t.getMonth()+1)}.${yt(t.getFullYear())}`}static string2date(e){let t=e.split(".");return t.length===1?(t=e.split("-"),new Date(parseInt(t[0],10),parseInt(t[1],10)-1,parseInt(t[2],10))):new Date(parseInt(t[2],10),parseInt(t[1],10)-1,parseInt(t[0],10))}getValidSettings(){const e=this.state.schedule;return n.createElement("div",{style:_.rowDiv},n.createElement("div",{style:{..._.modeDiv,verticalAlign:"middle"}},n.createElement("span",{style:{fontWeight:"bold",paddingRight:10}},D.t("sch_valid")),n.createElement("span",null,D.t("sch_validFrom"))),n.createElement("div",{style:_.settingsDiv},n.createElement(le,{variant:"standard",style:{..._.inputDate,marginRight:10},key:"exactTimeFrom",inputRef:this.refFrom,defaultValue:Ur(e.valid.from),type:"date",onChange:t=>{this.timerFrom&&clearTimeout(this.timerFrom),this.refFrom.current&&(this.refFrom.current.style.background="#ff000030"),this.timerFrom=setTimeout(s=>{this.timerFrom=null,this.refFrom.current&&(this.refFrom.current.style.background="");const r=JSON.parse(JSON.stringify(this.state.schedule)),o=Ce.string2date(s);o.toString()!=="Invalid Date"&&(r.valid.from=`${yt(o.getDate())}.${yt(o.getMonth()+1)}.${o.getFullYear()}`,this.onChange(r))},1500,t.target.value)},slotProps:{inputLabel:{shrink:!0}},margin:"normal"}),n.createElement(H,{control:n.createElement(ne,{style:_.inputRadio,checked:!!e.valid.to,onClick:()=>{const t=JSON.parse(JSON.stringify(this.state.schedule));t.valid.to=t.valid.to?"":Ce.now2string(!0),this.onChange(t)}}),label:D.t("sch_validTo")}),!!e.valid.to&&n.createElement(le,{variant:"standard",inputRef:this.refTo,style:{..._.inputDate,marginRight:10},key:"exactTimeFrom",type:"date",defaultValue:Ur(e.valid.to),onChange:t=>{this.timerTo&&clearTimeout(this.timerTo),this.refTo.current&&(this.refTo.current.style.background="#ff000030"),this.timerTo=setTimeout(s=>{this.timerTo=null,this.refTo.current&&(this.refTo.current.style.background="");const r=JSON.parse(JSON.stringify(this.state.schedule)),o=Ce.string2date(s);o.toString()!=="Invalid Date"&&(r.valid.to=`${yt(o.getDate())}.${yt(o.getMonth()+1)}.${o.getFullYear()}`,this.onChange(r))},1500,t.target.value)},slotProps:{inputLabel:{shrink:!0}},margin:"normal"})))}render(){return n.createElement("div",{style:{height:"calc(100% - 48px)",width:"100%",overflow:"hidden"}},n.createElement("div",null,this.state.desc),n.createElement("div",{style:_.scrollWindow},n.createElement("h5",null,D.t("sch_time")),this.getTimePeriodElements(),this.getTimeExactElements(),Ce.getDivider(),n.createElement("h5",null,D.t("sch_period")),this.getPeriodModes(),!this.state.schedule.period.once&&Ce.getDivider(),!this.state.schedule.period.once&&this.getValidSettings()))}}const Ei={different:{opacity:.5},icon:{width:16,height:16,marginRight:8}};class Mge extends ze{wordDifferent;timeout=null;constructor(e){super(e),e.different&&(this.wordDifferent=e.t("ra___different__"));let t;Array.isArray(e.list)?t=e.list.filter(s=>(s==null?void 0:s._id)&&s.common).map(s=>{var r,o;return{name:E.getObjectNameFromObj(s,e.lang).replace("system.group.","").replace("system.user.","").replace("enum.rooms.","").replace("enum.functions.",""),value:s._id,icon:(r=s.common)==null?void 0:r.icon,color:(o=s.common)==null?void 0:o.color}}):t=Object.values(e.list).filter(s=>(s==null?void 0:s._id)&&s.common).map(s=>{var r,o;return{name:E.getObjectNameFromObj(s,e.lang).replace("system.group.","").replace("system.user.","").replace("enum.rooms.","").replace("enum.functions.",""),value:s._id,icon:(r=s.common)==null?void 0:r.icon,color:(o=s.common)==null?void 0:o.color}}),e.different&&e.value===e.different&&t.unshift({value:e.different,name:this.wordDifferent||""}),e.allowNone&&t.unshift({value:"",name:D.t("ra_none")}),this.state={list:t}}render(){this.props.allowNone&&!this.state.list.find(r=>r.value==="")?this.timeout=this.timeout||setTimeout(()=>{this.timeout=null;const r=JSON.parse(JSON.stringify(this.state.list));r.unshift({value:"",name:D.t("ra_none")}),this.setState({list:r})},100):!this.props.allowNone&&this.state.list.find(r=>r.value==="")&&(this.timeout=this.timeout||setTimeout(()=>{this.timeout=null;const r=JSON.parse(JSON.stringify(this.state.list)),o=this.state.list.findIndex(M=>M.value==="");r.splice(o,1),this.setState({list:r})},100));const e=this.state.list.find(r=>r.value===this.props.value||this.props.removePrefix&&r.value.replace(this.props.removePrefix,"")===this.props.value),t=this.props.value===this.props.different?{}:{color:(e==null?void 0:e.color)||void 0,backgroundColor:E.getInvertedColor((e==null?void 0:e.color)||"",this.props.themeType)};this.props.dense&&this.props.style&&Object.assign(t,this.props.style);const s=n.createElement(Xe,{variant:"standard",disabled:this.props.disabled,value:this.props.value,slotProps:{input:this.props.inputProps},renderValue:()=>n.createElement("span",null,e!=null&&e.icon?n.createElement(Se,{src:e==null?void 0:e.icon,style:Ei.icon}):null,e==null?void 0:e.name),sx:{"&.MuiSelect-root":this.props.value===this.props.different?Ei.different:{}},classes:{root:this.props.dense?this.props.className:""},style:t,onChange:r=>{if(this.props.different&&r.target.value!==this.props.different){let o=null;for(let M=0;Mthis.props.onChange(r.target.value));return}}this.props.onChange(this.props.removePrefix?r.target.value.replace(this.props.removePrefix,""):r.target.value)}},this.state.list.map(r=>n.createElement(te,{style:this.props.different&&r.value===this.props.different?Ei.different:{color:r.color||void 0,backgroundColor:E.getInvertedColor(r.color||"",this.props.themeType)},key:r.value,value:r.value},r.icon?n.createElement(Se,{src:r.icon,style:Ei.icon}):null,r.name)));return this.props.dense?s:n.createElement(wt,{variant:"standard",fullWidth:!!this.props.fullWidth,style:this.props.style,className:this.props.className},n.createElement(As,null,this.props.label),s)}}class nge extends ze{resizerRefTable;resizerActiveIndex;resizerActiveDiv;resizerCurrentWidths;widthFilled=!1;installTimeout=null;resizerMin=0;resizerMinNext=0;resizerPosition=0;resizerOldWidth=0;resizerOldWidthNext=0;constructor(e){super(e),this.resizerRefTable=n.createRef(),this.resizerActiveIndex=null,this.resizerActiveDiv=null,this.resizerCurrentWidths=[]}componentDidMount(){this.resizerInstall()}componentWillUnmount(){this.resizerUninstall()}resizerInstall(){if(this.resizerRefTable.current&&!this.resizerRefTable.current._installed){this.resizerRefTable.current._installed=!0;const e=this.resizerRefTable.current.querySelectorAll("th"),t=(window._localStorage||window.localStorage).getItem(`App.${this.props.name||"history"}.table`);if(this.widthFilled=!1,t)try{this.resizerCurrentWidths=JSON.parse(t),this.widthFilled=!0}catch{}if(this.widthFilled)if(this.resizerCurrentWidths.length!==e.length)this.resizerCurrentWidths=[],this.widthFilled=!1;else{const s=this.resizerRefTable.current.offsetWidth;let r=0;for(let o=0;o20&&(this.resizerCurrentWidths=[],this.widthFilled=!1)}for(let s=0;s{this.installTimeout=null,this.resizerInstall()},100)}resizerReset=()=>{for(let e=0;e{if(this.resizerActiveDiv&&this.resizerActiveIndex!==null){const t=this.resizerOldWidth+e.clientX-this.resizerPosition,s=this.resizerOldWidthNext-e.clientX+this.resizerPosition;(!this.resizerMin||t>this.resizerMin)&&(!this.resizerMinNext||s>this.resizerMinNext)&&(this.resizerCurrentWidths[this.resizerActiveIndex]=t,this.resizerCurrentWidths[this.resizerActiveIndex+1]=s,this.resizerApplyWidths())}};resizerMouseUp=()=>{(window._localStorage||window.localStorage).setItem(`App.${this.props.name||"history"}.table`,JSON.stringify(this.resizerCurrentWidths)),this.resizerActiveIndex=null,this.resizerActiveDiv=null,window.removeEventListener("mousemove",this.resizerMouseMove),window.removeEventListener("mouseup",this.resizerMouseUp)};resizerMouseDown=e=>{var t,s,r,o;if(this.resizerActiveIndex===null||this.resizerActiveIndex===void 0){console.log(`Mouse down ${(t=e.target)==null?void 0:t.dataset.index}`),this.resizerActiveIndex=parseInt(((s=e.target)==null?void 0:s.dataset.index)||"0",10),this.resizerActiveDiv=e.target,this.resizerMin=this.props.minWidths?this.props.minWidths[this.resizerActiveIndex]:0,this.resizerMinNext=this.props.minWidths?this.props.minWidths[this.resizerActiveIndex+1]:0,this.resizerPosition=e.clientX;let M;this.resizerCurrentWidths[this.resizerActiveIndex]==="auto"&&(M=(r=this.resizerRefTable.current)==null?void 0:r.querySelectorAll("th"),M&&(this.resizerCurrentWidths[this.resizerActiveIndex]=M[this.resizerActiveIndex].offsetWidth)),this.resizerCurrentWidths[this.resizerActiveIndex+1]==="auto"&&(M=M||((o=this.resizerRefTable.current)==null?void 0:o.querySelectorAll("th")),M&&(this.resizerCurrentWidths[this.resizerActiveIndex+1]=M[this.resizerActiveIndex+1].offsetWidth)),this.resizerOldWidth=this.resizerCurrentWidths[this.resizerActiveIndex],this.resizerOldWidthNext=this.resizerCurrentWidths[this.resizerActiveIndex+1],window.addEventListener("mousemove",this.resizerMouseMove),window.addEventListener("mouseup",this.resizerMouseUp)}};render(){if(this.props.ready===!1)return n.createElement(Ml,null);const e={gridTemplateColumns:this.resizerApplyWidths()};return n.createElement($a,{stickyHeader:this.props.stickyHeader,size:this.props.size||"small",className:this.props.className,sx:this.props.sx,ref:this.resizerRefTable,style:{...this.props.style||void 0,...e}},this.props.children)}}const vr={div:{borderRadius:3,padding:"0 3px",lineHeight:"20px",whiteSpace:"nowrap",overflow:"hidden",display:"flex",alignItems:"center"},icon:{width:16,height:16,marginRight:8,verticalAlign:"middle"},text:{display:"inline-block",overflow:"hidden",textOverflow:"ellipsis"}};function age(i){var o,M,a,u,l,N,c,L,j;const e=i.value;let t;const s=i.removePrefix||"";if(typeof e=="string"){const g=i.list;if(g)if(Array.isArray(g)){const y=g.find(d=>(d==null?void 0:d._id)===s+e);y?t={name:E.getObjectNameFromObj(y,i.lang).replace("system.group.",""),value:y._id,icon:i.icon||((o=y.common)==null?void 0:o.icon),color:i.color||((M=y.common)==null?void 0:M.color)}:t={name:e,value:s+e}}else if(g[s+e]){const y=g[s+e];t={name:E.getObjectNameFromObj(y,i.lang).replace("system.group.",""),value:y._id,icon:i.icon||((a=y.common)==null?void 0:a.icon),color:i.color||((u=y.common)==null?void 0:u.color)}}else t={name:e,value:s+e,icon:i.icon,color:i.color};else t={name:e,value:s+e,icon:i.icon,color:i.color}}else if(!e||typeof e!="object")t={name:"",value:"",icon:i.icon,color:i.color};else{const g=e;t={name:E.getObjectNameFromObj(g,i.lang).replace("system.group.","").replace("system.user.","").replace("enum.rooms.","").replace("enum.functions.",""),value:g._id,icon:i.icon||((l=g.common)==null?void 0:l.icon),color:i.color||((N=g.common)==null?void 0:N.color)}}const r=t!=null&&t.color?{border:`1px solid ${E.invertColor(t==null?void 0:t.color)}`,color:E.getInvertedColor(t==null?void 0:t.color,i.themeType||"light",!0)||void 0,backgroundColor:t==null?void 0:t.color}:{};return n.createElement("div",{style:{...i.style||void 0,...vr.div,...r||void 0},className:E.clsx(i.className,(c=i.moreClasses)==null?void 0:c.root),title:i.title||t.value},t!=null&&t.icon?n.createElement(Se,{src:t==null?void 0:t.icon,className:(L=i.moreClasses)==null?void 0:L.icon,style:vr.icon}):null,n.createElement("div",{style:vr.text,className:(j=i.moreClasses)==null?void 0:j.text},t==null?void 0:t.name))}function cge({themeName:i,toggleTheme:e,t,className:s,style:r,size:o}){return n.createElement("div",{className:s||void 0,style:r||void 0},n.createElement(ae,{title:t("ra_Change color theme"),slotProps:{popper:{sx:{pointerEvents:"none"}}}},n.createElement(P,{onClick:()=>e(),size:o||"medium"},i==="dark"&&n.createElement(Vl,{className:s}),i==="blue"&&n.createElement(Zl,{className:s}),i==="colored"&&n.createElement(bo,{className:s}),i!=="dark"&&i!=="blue"&&i!=="colored"&&n.createElement(Xl,{className:s}))))}function Lr(){return(Lr=Object.assign||function(i){for(var e=1;e=0||(r[t]=i[t]);return r}function Do(i){var e=Fe(i),t=Fe(function(s){e.current&&e.current(s)});return e.current=i,t.current}var Mi=function(i,e,t){return e===void 0&&(e=0),t===void 0&&(t=1),i>t?t:i0:d.buttons>0)&&r.current?o(ja(r.current,d,a.current)):y(!1)},g=function(){return y(!1)};function y(d){var h=u.current,m=zo(r.current),w=d?m.addEventListener:m.removeEventListener;w(h?"touchmove":"mousemove",j),w(h?"touchend":"mouseup",g)}return[function(d){var h=d.nativeEvent,m=r.current;if(m&&(ga(h),!(function(O,A){return A&&!ei(O)})(h,u.current)&&m)){if(ei(h)){u.current=!0;var w=h.changedTouches||[];w.length&&(a.current=w[0].identifier)}m.focus(),o(ja(m,h,a.current)),y(!0)}},function(d){var h=d.which||d.keyCode;h<37||h>40||(d.preventDefault(),M({left:h===39?.05:h===37?-.05:0,top:h===40?.05:h===38?-.05:0}))},y]},[M,o]),N=l[0],c=l[1],L=l[2];return ye(function(){return L},[L]),n.createElement("div",Lr({},s,{onTouchStart:N,onMouseDown:N,className:"react-colorful__interactive",ref:r,onKeyDown:c,tabIndex:0,role:"slider"}))}),rM=function(i){return i.filter(Boolean).join(" ")},mu=function(i){var e=i.color,t=i.left,s=i.top,r=s===void 0?.5:s,o=rM(["react-colorful__pointer",i.className]);return n.createElement("div",{className:o,style:{top:100*r+"%",left:100*t+"%"}},n.createElement("div",{className:"react-colorful__pointer-fill",style:{backgroundColor:e}}))},pe=function(i,e,t){return e===void 0&&(e=0),t===void 0&&(t=Math.pow(10,e)),Math.round(t*i)/t},cLe=function(i){return jLe(Io(i))},Io=function(i){return i[0]==="#"&&(i=i.substring(1)),i.length<6?{r:parseInt(i[0]+i[0],16),g:parseInt(i[1]+i[1],16),b:parseInt(i[2]+i[2],16),a:i.length===4?pe(parseInt(i[3]+i[3],16)/255,2):1}:{r:parseInt(i.substring(0,2),16),g:parseInt(i.substring(2,4),16),b:parseInt(i.substring(4,6),16),a:i.length===8?pe(parseInt(i.substring(6,8),16)/255,2):1}},uLe=function(i){return LLe(NLe(i))},lLe=function(i){var e=i.s,t=i.v,s=i.a,r=(200-e)*t/100;return{h:pe(i.h),s:pe(r>0&&r<200?e*t/100/(r<=100?r:200-r)*100:0),l:pe(r/2),a:pe(s,2)}},ho=function(i){var e=lLe(i);return"hsl("+e.h+", "+e.s+"%, "+e.l+"%)"},NLe=function(i){var e=i.h,t=i.s,s=i.v,r=i.a;e=e/360*6,t/=100,s/=100;var o=Math.floor(e),M=s*(1-t),a=s*(1-(e-o)*t),u=s*(1-(1-e+o)*t),l=o%6;return{r:pe(255*[s,a,M,M,u,s][l]),g:pe(255*[u,s,s,a,M,M][l]),b:pe(255*[M,M,u,s,s,a][l]),a:pe(r,2)}},_i=function(i){var e=i.toString(16);return e.length<2?"0"+e:e},LLe=function(i){var e=i.r,t=i.g,s=i.b,r=i.a,o=r<1?_i(pe(255*r)):"";return"#"+_i(e)+_i(t)+_i(s)+o},jLe=function(i){var e=i.r,t=i.g,s=i.b,r=i.a,o=Math.max(e,t,s),M=o-Math.min(e,t,s),a=M?o===e?(t-s)/M:o===t?2+(s-e)/M:4+(e-t)/M:0;return{h:pe(60*(a<0?a+6:a)),s:pe(o?M/o*100:0),v:pe(o/255*100),a:r}},gLe=n.memo(function(i){var e=i.hue,t=i.onChange,s=rM(["react-colorful__hue",i.className]);return n.createElement("div",{className:s},n.createElement(Au,{onMove:function(r){t({h:360*r.left})},onKey:function(r){t({h:Mi(e+360*r.left,0,360)})},"aria-label":"Hue","aria-valuenow":pe(e),"aria-valuemax":"360","aria-valuemin":"0"},n.createElement(mu,{className:"react-colorful__hue-pointer",left:e/360,color:ho({h:e,s:100,v:100,a:1})})))}),TLe=n.memo(function(i){var e=i.hsva,t=i.onChange,s={backgroundColor:ho({h:e.h,s:100,v:100,a:1})};return n.createElement("div",{className:"react-colorful__saturation",style:s},n.createElement(Au,{onMove:function(r){t({s:100*r.left,v:100-100*r.top})},onKey:function(r){t({s:Mi(e.s+100*r.left,0,100),v:Mi(e.v-100*r.top,0,100)})},"aria-label":"Color","aria-valuetext":"Saturation "+pe(e.s)+"%, Brightness "+pe(e.v)+"%"},n.createElement(mu,{className:"react-colorful__saturation-pointer",top:1-e.v/100,left:e.s/100,color:ho(e)})))}),pu=function(i,e){if(i===e)return!0;for(var t in i)if(i[t]!==e[t])return!1;return!0},yLe=function(i,e){return i.toLowerCase()===e.toLowerCase()||pu(Io(i),Io(e))};function DLe(i,e,t){var s=Do(t),r=ko(function(){return i.toHsva(e)}),o=r[0],M=r[1],a=Fe({color:e,hsva:o});ye(function(){if(!i.equal(e,a.current.color)){var l=i.toHsva(e);a.current={hsva:l,color:e},M(l)}},[e,i]),ye(function(){var l;pu(o,a.current.hsva)||i.equal(l=i.fromHsva(o),a.current.color)||(a.current={hsva:o,color:l},s(l))},[o,i,s]);var u=Qt(function(l){M(function(N){return Object.assign({},N,l)})},[]);return[o,u]}var dLe=typeof window<"u"?Xu:ye,zLe=function(){return typeof __webpack_nonce__<"u"?__webpack_nonce__:void 0},Ta=new Map,ILe=function(i){dLe(function(){var e=i.current?i.current.ownerDocument:document;if(e!==void 0&&!Ta.has(e)){var t=e.createElement("style");t.innerHTML=`.react-colorful{position:relative;display:flex;flex-direction:column;width:200px;height:200px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.react-colorful__saturation{position:relative;flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(0deg,#000,transparent),linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.react-colorful__alpha-gradient,.react-colorful__pointer-fill{content:"";position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;border-radius:inherit}.react-colorful__alpha-gradient,.react-colorful__saturation{box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.react-colorful__alpha,.react-colorful__hue{position:relative;height:24px}.react-colorful__hue{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.react-colorful__last-control{border-radius:0 0 8px 8px}.react-colorful__interactive{position:absolute;left:0;top:0;right:0;bottom:0;border-radius:inherit;outline:none;touch-action:none}.react-colorful__pointer{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}.react-colorful__interactive:focus .react-colorful__pointer{transform:translate(-50%,-50%) scale(1.1)}.react-colorful__alpha,.react-colorful__alpha-pointer{background-color:#fff;background-image:url('data:image/svg+xml;charset=utf-8,')}.react-colorful__saturation-pointer{z-index:3}.react-colorful__hue-pointer{z-index:2}`,Ta.set(e,t);var s=zLe();s&&t.setAttribute("nonce",s),e.head.appendChild(t)}},[])},hLe=function(i){var e=i.className,t=i.colorModel,s=i.color,r=s===void 0?t.defaultColor:s,o=i.onChange,M=Cu(i,["className","colorModel","color","onChange"]),a=Fe(null);ILe(a);var u=DLe(t,r,o),l=u[0],N=u[1],c=rM(["react-colorful",e]);return n.createElement("div",Lr({},M,{ref:a,className:c}),n.createElement(TLe,{hsva:l,onChange:N}),n.createElement(gLe,{hue:l.h,onChange:N,className:"react-colorful__last-control"}))},wLe={defaultColor:"000",toHsva:cLe,fromHsva:function(i){return uLe({h:i.h,s:i.s,v:i.v,a:1})},equal:yLe},CLe=function(i){return n.createElement(hLe,Lr({},i,{colorModel:wLe}))};class ALe extends ze{dialogName;filters;filterFunc;constructor(e){super(e),this.dialogName=this.props.dialogName||"default",this.dialogName=`SelectID.${this.dialogName}`;const t=(window._localStorage||window.localStorage).getItem(this.dialogName)||"{}";try{this.filters=JSON.parse(t)}catch{this.filters={}}e.filters&&(this.filters={...this.filters,...e.filters||{}});let s=this.props.selected||[];if(Array.isArray(s)||(s=[s]),s=s.filter(r=>r),e.filterFunc)if(typeof e.filterFunc=="string")try{this.filterFunc=new Function("obj",e.filterFunc)}catch{console.error(`Cannot parse filter function: "obj => ${e.filterFunc}"`),this.filterFunc=void 0}else this.filterFunc=e.filterFunc;this.state={selected:s,name:"",selectionBlocked:!1}}handleCancel(){this.props.onClose()}handleOk(){this.props.onOk(this.props.multiSelect?this.state.selected:this.state.selected[0]||"",this.state.name),this.props.onClose()}render(){let e;return this.state.name||this.state.selected.length?this.state.selected.length===1?e=[n.createElement("span",{key:"selected"},D.t("ra_Selected")," "),n.createElement("span",{key:"id",style:{fontWeight:"bold",fontStyle:"italic"}},(this.state.name||this.state.selected[0])+(this.state.name?` [${this.state.selected[0]}]`:""))]:e=[n.createElement("span",{key:"selected"},D.t("ra_Selected")," "),n.createElement("span",{key:"id",style:{fontWeight:"bold",fontStyle:"italic"}},D.t("%s items",this.state.selected.length.toString()))]:e=this.props.title||D.t("ra_Please select object ID..."),n.createElement(de,{onClose:()=>{},maxWidth:!1,style:{zIndex:this.props.zIndex||void 0},sx:{"& .MuiDialog-paper":{height:"95%",p:"4px",width:"100%",maxWidth:"100%",maxHeight:"calc(100% - 16px)"}},fullWidth:!0,open:!0,"aria-labelledby":"ar_dialog_selectid_title"},n.createElement(he,{id:"ar_dialog_selectid_title",style:{whiteSpace:"nowrap",width:"calc(100% - 72px)",overflow:"hidden",display:"inline-block",textOverflow:"ellipsis"}},e),n.createElement(Ae,{style:{height:"100%",overflow:"hidden",padding:"8px 4px"}},n.createElement(aLe,{foldersFirst:this.props.foldersFirst,imagePrefix:this.props.imagePrefix||this.props.prefix,dateFormat:this.props.dateFormat,defaultFilters:this.filters,dialogName:this.dialogName,isFloatComma:this.props.isFloatComma,showExpertButton:this.props.showExpertButton!==void 0?this.props.showExpertButton:!0,expertMode:this.props.expertMode,columns:this.props.columns||["name","type","role","room","func","val"],types:this.props.types?Array.isArray(this.props.types)?this.props.types:[this.props.types]:["state"],root:this.props.root,t:D.t,lang:this.props.lang||D.getLanguage(),socket:this.props.socket,selected:this.state.selected,multiSelect:this.props.multiSelect,notEditable:this.props.notEditable===void 0?!0:this.props.notEditable,themeName:this.props.themeName,themeType:this.props.themeType,theme:this.props.theme,customFilter:this.props.customFilter,allowNonObjects:this.props.allowNonObjects,onFilterChanged:t=>{this.filters=t,(window._localStorage||window.localStorage).setItem(this.dialogName,JSON.stringify(t))},onSelect:async(t,s,r)=>{let o;if(Array.isArray(t)?o=t:o=[t],JSON.stringify(o)!==JSON.stringify(this.state.selected)){let M=!0;if(this.props.onSelectConfirm){const a={};for(const u of o)try{a[u]=await this.props.socket.getObject(u)}catch{}M=await this.props.onSelectConfirm(o,a)}this.setState({selected:o,name:s,selectionBlocked:!M},()=>r&&this.handleOk())}else r&&this.handleOk()},filterFunc:this.filterFunc,title:"",onAllLoaded:()=>this.setState({allLoaded:!0})})),n.createElement(me,null,n.createElement(X,{id:`ar_dialog_selectid_ok_${this.props.dialogName||""}`,variant:"contained",onClick:()=>this.handleOk(),startIcon:n.createElement(Ue,null),disabled:!this.state.allLoaded||!this.state.selected.length||this.state.selectionBlocked,color:"primary"},this.props.ok||D.t("ra_Ok")),n.createElement(X,{id:`ar_dialog_selectid_cancel_${this.props.dialogName||""}`,color:"grey",variant:"contained",onClick:()=>this.handleCancel(),startIcon:n.createElement(ui,null)},this.props.cancel||D.t("ra_Cancel"))))}}function $t(i,e,t){if(typeof e=="string"&&(e=e.split(".")),!i)return null;if(e.length===1)return t&&t[i[e[0]]]?t[i[e[0]]]:i[e[0]];const s=e.shift();return $t(i[s],e)}function Ou(i,e,t){if(typeof e=="string"&&(e=e.split(".")),e.length===1)return i[e[0]]=t;const s=e.shift();return(i[s]===null||i[s]===void 0)&&(i[s]={}),Ou(i[s],e,t)}const R={tableContainer:{width:"100%",height:"100%",overflow:"auto"},table:{width:"100%",minWidth:800,maxWidth:1920},cell:{paddingTop:0,paddingBottom:0,paddingLeft:4,paddingRight:4},rowMainWithChildren:{},rowMainWithoutChildren:{},rowNoEdit:{opacity:.3},cellExpand:{width:30},cellButton:{width:30},cellHeader:{fontWeight:"bold",background:i=>(i.palette.mode==="dark","#888"),color:i=>i.palette.mode==="dark"?"#EEE":"#111",height:48,wordBreak:"break-word",whiteSpace:"pre"},width_name_nicknames:{maxWidth:150},width_ioType:{maxWidth:100},width_type:{maxWidth:100},width_displayTraits:{maxWidth:100},width_roomHint:{maxWidth:100},rowSecondary:{fontStyle:"italic"},cellSecondary:{fontSize:10},visuallyHidden:{border:0,clip:"rect(0 0 0 0)",height:1,margin:-1,overflow:"hidden",padding:0,position:"absolute",top:20,width:1},fieldEditWithButton:{width:"calc(100% - 33px)",display:"inline-block"},fieldEdit:{width:"100%",display:"inline-block",lineHeight:"50px",verticalAlign:"middle"},fieldButton:{width:30,display:"inline-block"},colorDialog:{overflow:"hidden",padding:15},subText:{fontSize:10,fontStyle:"italic"},glow:{animation:"glow 0.2s 2 alternate"}};function ya(i,e,t,s){const r=$t(i,t,s)||"",o=$t(e,t,s)||"";return or?1:0}function mLe(i,e,t){return i==="desc"?(s,r)=>ya(s,r,e,t):(s,r)=>-ya(s,r,e,t)}function pLe(i,e){const t=i.map((s,r)=>({e:s,i:r}));return t.sort((s,r)=>{const o=e(s.e,r.e);return o||s.i-r.i}),t.map(s=>s.e)}class wo extends ze{selectCallback=null;updateTimeout=null;constructor(e){super(e);let t=(window._localStorage||window.localStorage).getItem(this.props.name||"iob-table")||"[]";try{t=JSON.parse(t)||[]}catch{t=[]}Array.isArray(t)||(t=[]),this.state={opened:t,editMode:!1,deleteMode:!1,editData:null,order:"asc",update:null,orderBy:this.props.columns[0].field,showSelectColor:!1}}static getDerivedStateFromProps(e,t){if(e.glowOnChange){const s=[];let r=0;return e.data&&t.data&&e.data.forEach(o=>{var a;r++;const M=(a=t.data)==null?void 0:a.find(u=>u.id===o.id);M?JSON.stringify(M)!==JSON.stringify(o)&&s.push(o.id):s.push(o.id)}),s.length&&s.length!==r?{data:e.data,update:s}:{data:e.data}}return{data:e.data}}renderCellEdit(e,t){let s=$t(e,t.field);return Array.isArray(s)&&(s=s[0]),t.lookup?this.renderCellEditSelect(t,s):t.editComponent?this.renderCellEditCustom(t,s,e):t.type==="boolean"||!t.type&&typeof s=="boolean"?this.renderCellEditBoolean(t,s):t.type==="color"?this.renderCellEditColor(t,s):t.type==="oid"?this.renderCellEditObjectID(t,s):t.type==="numeric"?this.renderCellEditNumber(t,s):this.renderCellEditString(t,s)}onChange(e,t,s){const r=this.state.editData?{...this.state.editData}:{};s===t?delete r[e.field]:r[e.field]=s,this.setState({editData:r})}renderCellEditSelect(e,t){return n.createElement(Xe,{variant:"standard",onChange:s=>this.onChange(e,t,s.target.value),value:this.state.editData&&this.state.editData[e.field]||t},e.lookup&&Object.keys(e.lookup).map((s,r)=>{var o;return n.createElement(te,{key:r,value:s},(o=e.lookup)==null?void 0:o[s])}))}renderCellEditString(e,t){return n.createElement(le,{variant:"standard",style:R.fieldEdit,fullWidth:!0,value:this.state.editData&&this.state.editData[e.field]!==void 0?this.state.editData[e.field]:t,onChange:s=>this.onChange(e,t,s.target.value)})}renderCellEditNumber(e,t){return n.createElement(le,{variant:"standard",style:R.fieldEdit,type:"number",fullWidth:!0,value:this.state.editData&&this.state.editData[e.field]!==void 0?this.state.editData[e.field]:t,onChange:s=>this.onChange(e,t,s.target.value)})}renderCellEditCustom(e,t,s){const r=e.editComponent;return this.state.editData&&this.state.editData[e.field]!==void 0&&(t=this.state.editData[e.field],s=JSON.parse(JSON.stringify(s)),s[e.field]=t),r?n.createElement(r,{value:t,rowData:s,onChange:o=>this.onChange(e,t,o)}):null}renderCellEditBoolean(e,t){return n.createElement(ne,{checked:this.state.editData&&this.state.editData[e.field]!==void 0?!!this.state.editData[e.field]:!!t,onChange:s=>this.onChange(e,!!t,s.target.checked),inputProps:{"aria-label":"checkbox"}})}renderSelectColorDialog(){return n.createElement(de,{sx:{"& .MuiPaper-root":R.root,"& .MuiPaper-paper":R.paper},onClose:()=>{this.selectCallback=null,this.setState({showSelectColor:!1})},open:this.state.showSelectColor},n.createElement(CLe,{color:this.state.selectIdValue,onChange:e=>this.setState({selectIdValue:e},()=>{this.selectCallback&&this.selectCallback(e)})}))}renderCellEditColor(e,t){const s=this.state.editData&&this.state.editData[e.field]!==void 0?this.state.editData[e.field]:t;return n.createElement("div",{style:R.fieldEdit},n.createElement(le,{variant:"standard",fullWidth:!0,style:R.fieldEditWithButton,value:s,inputProps:{style:{backgroundColor:s,color:E.isUseBright(s)?"#FFF":"#000"}},onChange:r=>this.onChange(e,!!t,r.target.value)}),n.createElement(P,{style:R.fieldButton,onClick:()=>{this.selectCallback=r=>this.onChange(e,t,r),this.setState({showSelectColor:!0,selectIdValue:t})},size:"large"},n.createElement(Kl,null)))}renderSelectIdDialog(){return this.state.showSelectId&&this.props.socket?n.createElement(ALe,{key:"tableSelect",imagePrefix:"../..",dialogName:this.props.adapterName,themeType:this.props.themeType,theme:this.props.theme,socket:this.props.socket,selected:this.state.selectIdValue,onClose:()=>this.setState({showSelectId:!1}),onOk:e=>{this.setState({showSelectId:!1,selectIdValue:null});const t=Array.isArray(e)?e[0]:e;t&&this.selectCallback&&(this.selectCallback&&this.selectCallback(t),this.selectCallback=null)}}):null}renderCellEditObjectID(e,t){return n.createElement("div",{style:R.fieldEdit},n.createElement(le,{variant:"standard",fullWidth:!0,style:R.fieldEditWithButton,value:this.state.editData&&this.state.editData[e.field]!==void 0?this.state.editData[e.field]:t,onChange:s=>this.onChange(e,t,s.target.value)}),n.createElement(P,{style:R.fieldButton,onClick:()=>{this.selectCallback=s=>this.onChange(e,t,s),this.setState({showSelectId:!0,selectIdValue:t})},size:"large"},n.createElement(ql,null)))}static renderCellNonEdit(e,t){let s=$t(e,t.field,t.lookup);return Array.isArray(s)&&(s=s[0]),t.type==="boolean"?n.createElement(ne,{checked:!!s,disabled:!0,inputProps:{"aria-label":"checkbox"}}):s}renderCell(e,t,s,r){return this.state.editMode===r&&t.editable!=="never"&&t.editable!==!1?n.createElement(Ve,{key:t.field,style:{...R.cell,...s?R.cellSecondary:void 0,...t.cellStyle},component:"th"},this.renderCellEdit(e,t)):n.createElement(Ve,{key:t.field,style:{...R.cell,...s?R.cellSecondary:void 0,...t.cellStyle},component:"th"},wo.renderCellNonEdit(e,t))}static renderCellWithSubField(e,t){const s=$t(e,t.field,t.lookup);if(t.subField){const r=$t(e,t.subField,t.subLookup);return n.createElement("div",null,n.createElement("div",{style:R.mainText},s),n.createElement("div",{style:{...R.subText,...t.subStyle||void 0}},r))}return n.createElement("div",null,n.createElement("div",{style:R.mainText},s))}renderLine(e,t){const s=this.props.levelShift===void 0?24:this.props.levelShift;t=t||0;const r=this.props.data.indexOf(e);if(!e||!t&&e.parentId||t&&!e.parentId)return null;const o=this.state.opened.includes(e.id),M=this.props.data.filter(u=>u.parentId===e.id),a=n.createElement(AM,{key:e.id,className:`table-row-${(e.id||"").toString().replace(/[.$]/g,"_")}`,style:{...this.state.update&&this.state.update.includes(e.id)&&R.glow||void 0,...R.row,...t?R.rowSecondary:void 0,...!t&&M.length?R.rowMainWithChildren:void 0,...!t&&!M.length?R.rowMainWithoutChildren:void 0,...this.state.editMode!==!1&&this.state.editMode!==r?R.rowNoEdit:void 0,...this.state.deleteMode!==!1&&this.state.deleteMode!==r?R.rowNoEdit:void 0}},n.createElement(Ve,{style:{...R.cell,...R.cellExpand,...t?R.cellSecondary:void 0}},M.length?n.createElement(P,{onClick:()=>{const u=[...this.state.opened],l=u.indexOf(e.id);l===-1?(u.push(e.id),u.sort()):u.splice(l,1),(window._localStorage||window.localStorage).setItem(this.props.name||"iob-table",JSON.stringify(u)),this.setState({opened:u})},size:"small"},o?n.createElement(eN,null):n.createElement(tN,null)):null),n.createElement(Ve,{scope:"row",style:{...R.cell,...t?R.cellSecondary:void 0,...this.props.columns[0].cellStyle,paddingLeft:s*t}},this.props.columns[0].subField?wo.renderCellWithSubField(e,this.props.columns[0]):$t(e,this.props.columns[0].field,this.props.columns[0].lookup)),this.props.columns.map((u,l)=>!l&&!u.hidden?null:this.renderCell(e,u,t,r)),this.props.onUpdate?n.createElement(Ve,{style:{...R.cell,...R.cellButton}},this.state.editMode===r||this.state.deleteMode===r?n.createElement(P,{disabled:this.state.editMode!==!1&&(!this.state.editData||!Object.keys(this.state.editData).length),onClick:()=>{if(this.state.editMode!==!1){const u=JSON.parse(JSON.stringify(e));this.state.editData&&Object.keys(this.state.editData).forEach(l=>{var N;return Ou(u,l,(N=this.state.editData)==null?void 0:N[l])}),this.setState({editMode:!1},()=>this.props.onUpdate&&this.props.onUpdate(u,e))}else this.setState({deleteMode:!1},()=>this.props.onDelete&&this.props.onDelete(e))},size:"large"},n.createElement(Ue,null)):n.createElement(P,{disabled:this.state.editMode!==!1,onClick:()=>this.setState({editMode:r,editData:null}),size:"large"},n.createElement(Ks,null))):null,this.props.onDelete&&!this.props.onUpdate?n.createElement(Ve,{style:{...R.cell,...R.cellButton}},this.state.deleteMode===r?n.createElement(P,{disabled:this.state.editMode!==!1&&(!this.state.editData||!Object.keys(this.state.editData).length),onClick:()=>this.setState({deleteMode:!1},()=>this.props.onDelete&&this.props.onDelete(e)),size:"large"},n.createElement(Ue,null)):null):null,this.props.onUpdate||this.props.onDelete?n.createElement(Ve,{style:{...R.cell,...R.cellButton}},this.state.editMode===r||this.state.deleteMode===r?n.createElement(P,{onClick:()=>this.setState({editMode:!1,deleteMode:!1}),size:"large"},n.createElement(ge,null)):this.props.onDelete?n.createElement(P,{disabled:this.state.deleteMode!==!1,onClick:()=>this.setState({deleteMode:r}),size:"large"},n.createElement(ut,null)):null):null);if(!t&&o){const u=M.map(l=>this.renderLine(l,t+1));return u.unshift(a),u}return a}handleRequestSort(e){const t=this.state.orderBy===e&&this.state.order==="asc";this.setState({order:t?"desc":"asc",orderBy:e})}renderHead(){return n.createElement(nl,null,n.createElement(AM,{key:"headerRow"},n.createElement(Ve,{component:"th",sx:E.getStyle(this.props.theme,R.cell,R.cellHeader,R.cellExpand)}),n.createElement(Ve,{component:"th",sx:E.getStyle(this.props.theme,R.cell,R.cellHeader,R[`width_${this.props.columns[0].field.replace(/\./g,"_")}`]),style:this.props.columns[0].headerStyle||this.props.columns[0].cellStyle,sortDirection:this.props.noSort?!1:this.state.orderBy===this.props.columns[0].field?this.state.order:!1},this.props.noSort?null:n.createElement(mM,{active:this.state.orderBy===this.props.columns[0].field,direction:this.state.orderBy===this.props.columns[0].field?this.state.order:"asc",onClick:()=>this.handleRequestSort(this.props.columns[0].field)},this.props.columns[0].title||this.props.columns[0].field,this.state.orderBy===this.props.columns[0].field?n.createElement("span",{style:R.visuallyHidden},this.state.order==="desc"?"sorted descending":"sorted ascending"):null)),this.props.columns.map((e,t)=>!t&&!e.hidden?null:n.createElement(Ve,{key:e.field,sx:E.getStyle(this.props.theme,R.cell,R.cellHeader,R[`width_${e.field.replace(/\./g,"_")}`]),style:e.headerStyle||e.cellStyle,component:"th"},this.props.noSort?null:n.createElement(mM,{active:this.state.orderBy===e.field,direction:this.state.orderBy===e.field?this.state.order:"asc",onClick:()=>this.handleRequestSort(e.field)},e.title||e.field,this.state.orderBy===e.field?n.createElement("span",{style:R.visuallyHidden},this.state.order==="desc"?"sorted descending":"sorted ascending"):null))),this.props.onUpdate?n.createElement(Ve,{component:"th",sx:E.getStyle(this.props.theme,R.cell,R.cellHeader,R.cellButton)},this.props.noAdd?null:n.createElement(Ct,{color:"primary",size:"small",disabled:this.state.editMode!==!1,onClick:()=>this.props.onUpdate&&this.props.onUpdate(!0)},n.createElement(Br,null))):null,this.props.onDelete||this.props.onUpdate?n.createElement(Ve,{component:"th",sx:E.getStyle(this.props.theme,R.cell,R.cellHeader,R.cellButton)}):null))}render(){const e=this.props.columns.find(t=>t.field===this.state.orderBy);if(e){const t=e.lookup,s=pLe(this.props.data,mLe(this.state.order,this.state.orderBy,t));return this.state.update&&this.state.update.length&&(this.updateTimeout&&clearTimeout(this.updateTimeout),this.updateTimeout=setTimeout(()=>{this.updateTimeout=null,this.setState({update:null})},500)),n.createElement("div",{style:R.tableContainer,className:this.props.className},n.createElement($a,{style:R.table,"aria-label":"simple table",size:"small",stickyHeader:!0},this.renderHead(),n.createElement(al,null,s.map(r=>this.renderLine(r)))),this.renderSelectIdDialog(),this.renderSelectColorDialog())}return null}}function Da(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(i);e&&(s=s.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,s)}return t}function Eu(i){for(var e=1;ei.length)&&(e=i.length);for(var t=0,s=new Array(e);t
',BLe=Number.isNaN||Nt.isNaN;function K(i){return typeof i=="number"&&!BLe(i)}var fa=function(e){return e>0&&e<1/0};function br(i){return typeof i>"u"}function Ms(i){return Co(i)==="object"&&i!==null}var GLe=Object.prototype.hasOwnProperty;function ws(i){if(!Ms(i))return!1;try{var e=i.constructor,t=e.prototype;return e&&t&&GLe.call(t,"isPrototypeOf")}catch{return!1}}function Pe(i){return typeof i=="function"}var FLe=Array.prototype.slice;function bu(i){return Array.from?Array.from(i):FLe.call(i)}function De(i,e){return i&&Pe(e)&&(Array.isArray(i)||K(i.length)?bu(i).forEach(function(t,s){e.call(i,t,s,i)}):Ms(i)&&Object.keys(i).forEach(function(t){e.call(i,i[t],t,i)})),i}var ue=Object.assign||function(e){for(var t=arguments.length,s=new Array(t>1?t-1:0),r=1;r0&&s.forEach(function(o){Ms(o)&&Object.keys(o).forEach(function(M){e[M]=o[M]})}),e},HLe=/\.\d*(?:0|9){12}\d*$/;function ps(i){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1e11;return HLe.test(i)?Math.round(i*e)/e:i}var VLe=/^width|height|left|top|marginLeft|marginTop$/;function Wt(i,e){var t=i.style;De(e,function(s,r){VLe.test(r)&&K(s)&&(s="".concat(s,"px")),t[r]=s})}function ZLe(i,e){return i.classList?i.classList.contains(e):i.className.indexOf(e)>-1}function Ie(i,e){if(e){if(K(i.length)){De(i,function(s){Ie(s,e)});return}if(i.classList){i.classList.add(e);return}var t=i.className.trim();t?t.indexOf(e)<0&&(i.className="".concat(t," ").concat(e)):i.className=e}}function lt(i,e){if(e){if(K(i.length)){De(i,function(t){lt(t,e)});return}if(i.classList){i.classList.remove(e);return}i.className.indexOf(e)>=0&&(i.className=i.className.replace(e,""))}}function Cs(i,e,t){if(e){if(K(i.length)){De(i,function(s){Cs(s,e,t)});return}t?Ie(i,e):lt(i,e)}}var XLe=/([a-z\d])([A-Z])/g;function cM(i){return i.replace(XLe,"$1-$2").toLowerCase()}function xo(i,e){return Ms(i[e])?i[e]:i.dataset?i.dataset[e]:i.getAttribute("data-".concat(cM(e)))}function ai(i,e,t){Ms(t)?i[e]=t:i.dataset?i.dataset[e]=t:i.setAttribute("data-".concat(cM(e)),t)}function KLe(i,e){if(Ms(i[e]))try{delete i[e]}catch{i[e]=void 0}else if(i.dataset)try{delete i.dataset[e]}catch{i.dataset[e]=void 0}else i.removeAttribute("data-".concat(cM(e)))}var $u=/\s\s*/,Pu=(function(){var i=!1;if(jr){var e=!1,t=function(){},s=Object.defineProperty({},"once",{get:function(){return i=!0,e},set:function(o){e=o}});Nt.addEventListener("test",t,s),Nt.removeEventListener("test",t,s)}return i})();function tt(i,e,t){var s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},r=t;e.trim().split($u).forEach(function(o){if(!Pu){var M=i.listeners;M&&M[o]&&M[o][t]&&(r=M[o][t],delete M[o][t],Object.keys(M[o]).length===0&&delete M[o],Object.keys(M).length===0&&delete i.listeners)}i.removeEventListener(o,r,s)})}function Ze(i,e,t){var s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},r=t;e.trim().split($u).forEach(function(o){if(s.once&&!Pu){var M=i.listeners,a=M===void 0?{}:M;r=function(){delete a[o][t],i.removeEventListener(o,r,s);for(var l=arguments.length,N=new Array(l),c=0;cMath.abs(t)&&(t=L)})}),t}function Si(i,e){var t=i.pageX,s=i.pageY,r={endX:t,endY:s};return e?r:Eu({startX:t,startY:s},r)}function tje(i){var e=0,t=0,s=0;return De(i,function(r){var o=r.startX,M=r.startY;e+=o,t+=M,s+=1}),e/=s,t/=s,{pageX:e,pageY:t}}function Rt(i){var e=i.aspectRatio,t=i.height,s=i.width,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"contain",o=fa(s),M=fa(t);if(o&&M){var a=t*e;r==="contain"&&a>s||r==="cover"&&a90?{width:u,height:a}:{width:a,height:u}}function ije(i,e,t,s){var r=e.aspectRatio,o=e.naturalWidth,M=e.naturalHeight,a=e.rotate,u=a===void 0?0:a,l=e.scaleX,N=l===void 0?1:l,c=e.scaleY,L=c===void 0?1:c,j=t.aspectRatio,g=t.naturalWidth,y=t.naturalHeight,d=s.fillColor,h=d===void 0?"transparent":d,m=s.imageSmoothingEnabled,w=m===void 0?!0:m,O=s.imageSmoothingQuality,A=O===void 0?"low":O,I=s.maxWidth,p=I===void 0?1/0:I,S=s.maxHeight,f=S===void 0?1/0:S,$=s.minWidth,x=$===void 0?0:$,Z=s.minHeight,k=Z===void 0?0:Z,Y=document.createElement("canvas"),J=Y.getContext("2d"),Le=Rt({aspectRatio:j,width:p,height:f}),Je=Rt({aspectRatio:j,width:x,height:k},"cover"),qe=Math.min(Le.width,Math.max(Je.width,g)),us=Math.min(Le.height,Math.max(Je.height,y)),gr=Rt({aspectRatio:r,width:p,height:f}),vs=Rt({aspectRatio:r,width:x,height:k},"cover"),bs=Math.min(gr.width,Math.max(vs.width,o)),$s=Math.min(gr.height,Math.max(vs.height,M)),Ti=[-bs/2,-$s/2,bs,$s];return Y.width=ps(qe),Y.height=ps(us),J.fillStyle=h,J.fillRect(0,0,qe,us),J.save(),J.translate(qe/2,us/2),J.rotate(u*Math.PI/180),J.scale(N,L),J.imageSmoothingEnabled=w,J.imageSmoothingQuality=A,J.drawImage.apply(J,[i].concat(fu(Ti.map(function(yi){return Math.floor(ps(yi))})))),J.restore(),Y}var Ru=String.fromCharCode;function rje(i,e,t){var s="";t+=e;for(var r=e;r0;)t.push(Ru.apply(null,bu(r.subarray(0,s)))),r=r.subarray(s);return"data:".concat(e,";base64,").concat(btoa(t.join("")))}function aje(i){var e=new DataView(i),t;try{var s,r,o;if(e.getUint8(0)===255&&e.getUint8(1)===216)for(var M=e.byteLength,a=2;a+1=8&&(o=l+c)}}}if(o){var L=e.getUint16(o,s),j,g;for(g=0;g=0?o:Uu),height:Math.max(s.offsetHeight,M>=0?M:vu)};this.containerData=a,Wt(r,{width:a.width,height:a.height}),Ie(e,We),lt(r,We)},initCanvas:function(){var e=this.containerData,t=this.imageData,s=this.options.viewMode,r=Math.abs(t.rotate)%180===90,o=r?t.naturalHeight:t.naturalWidth,M=r?t.naturalWidth:t.naturalHeight,a=o/M,u=e.width,l=e.height;e.height*a>e.width?s===3?u=e.height*a:l=e.width/a:s===3?l=e.width/a:u=e.height*a;var N={aspectRatio:a,naturalWidth:o,naturalHeight:M,width:u,height:l};this.canvasData=N,this.limited=s===1||s===2,this.limitCanvas(!0,!0),N.width=Math.min(Math.max(N.width,N.minWidth),N.maxWidth),N.height=Math.min(Math.max(N.height,N.minHeight),N.maxHeight),N.left=(e.width-N.width)/2,N.top=(e.height-N.height)/2,N.oldLeft=N.left,N.oldTop=N.top,this.initialCanvasData=ue({},N)},limitCanvas:function(e,t){var s=this.options,r=this.containerData,o=this.canvasData,M=this.cropBoxData,a=s.viewMode,u=o.aspectRatio,l=this.cropped&&M;if(e){var N=Number(s.minCanvasWidth)||0,c=Number(s.minCanvasHeight)||0;a>1?(N=Math.max(N,r.width),c=Math.max(c,r.height),a===3&&(c*u>N?N=c*u:c=N/u)):a>0&&(N?N=Math.max(N,l?M.width:0):c?c=Math.max(c,l?M.height:0):l&&(N=M.width,c=M.height,c*u>N?N=c*u:c=N/u));var L=Rt({aspectRatio:u,width:N,height:c});N=L.width,c=L.height,o.minWidth=N,o.minHeight=c,o.maxWidth=1/0,o.maxHeight=1/0}if(t)if(a>(l?0:1)){var j=r.width-o.width,g=r.height-o.height;o.minLeft=Math.min(0,j),o.minTop=Math.min(0,g),o.maxLeft=Math.max(0,j),o.maxTop=Math.max(0,g),l&&this.limited&&(o.minLeft=Math.min(M.left,M.left+(M.width-o.width)),o.minTop=Math.min(M.top,M.top+(M.height-o.height)),o.maxLeft=M.left,o.maxTop=M.top,a===2&&(o.width>=r.width&&(o.minLeft=Math.min(0,j),o.maxLeft=Math.max(0,j)),o.height>=r.height&&(o.minTop=Math.min(0,g),o.maxTop=Math.max(0,g))))}else o.minLeft=-o.width,o.minTop=-o.height,o.maxLeft=r.width,o.maxTop=r.height},renderCanvas:function(e,t){var s=this.canvasData,r=this.imageData;if(t){var o=sje({width:r.naturalWidth*Math.abs(r.scaleX||1),height:r.naturalHeight*Math.abs(r.scaleY||1),degree:r.rotate||0}),M=o.width,a=o.height,u=s.width*(M/s.naturalWidth),l=s.height*(a/s.naturalHeight);s.left-=(u-s.width)/2,s.top-=(l-s.height)/2,s.width=u,s.height=l,s.aspectRatio=M/a,s.naturalWidth=M,s.naturalHeight=a,this.limitCanvas(!0,!1)}(s.width>s.maxWidth||s.widths.maxHeight||s.heightt.width?o.height=o.width/s:o.width=o.height*s),this.cropBoxData=o,this.limitCropBox(!0,!0),o.width=Math.min(Math.max(o.width,o.minWidth),o.maxWidth),o.height=Math.min(Math.max(o.height,o.minHeight),o.maxHeight),o.width=Math.max(o.minWidth,o.width*r),o.height=Math.max(o.minHeight,o.height*r),o.left=t.left+(t.width-o.width)/2,o.top=t.top+(t.height-o.height)/2,o.oldLeft=o.left,o.oldTop=o.top,this.initialCropBoxData=ue({},o)},limitCropBox:function(e,t){var s=this.options,r=this.containerData,o=this.canvasData,M=this.cropBoxData,a=this.limited,u=s.aspectRatio;if(e){var l=Number(s.minCropBoxWidth)||0,N=Number(s.minCropBoxHeight)||0,c=a?Math.min(r.width,o.width,o.width+o.left,r.width-o.left):r.width,L=a?Math.min(r.height,o.height,o.height+o.top,r.height-o.top):r.height;l=Math.min(l,r.width),N=Math.min(N,r.height),u&&(l&&N?N*u>l?N=l/u:l=N*u:l?N=l/u:N&&(l=N*u),L*u>c?L=c/u:c=L*u),M.minWidth=Math.min(l,c),M.minHeight=Math.min(N,L),M.maxWidth=c,M.maxHeight=L}t&&(a?(M.minLeft=Math.max(0,o.left),M.minTop=Math.max(0,o.top),M.maxLeft=Math.min(r.width,o.left+o.width)-M.width,M.maxTop=Math.min(r.height,o.top+o.height)-M.height):(M.minLeft=0,M.minTop=0,M.maxLeft=r.width-M.width,M.maxTop=r.height-M.height))},renderCropBox:function(){var e=this.options,t=this.containerData,s=this.cropBoxData;(s.width>s.maxWidth||s.widths.maxHeight||s.height=t.width&&s.height>=t.height?xu:nM),Wt(this.cropBox,ue({width:s.width,height:s.height},ti({translateX:s.left,translateY:s.top}))),this.cropped&&this.limited&&this.limitCanvas(!0,!0),this.disabled||this.output()},output:function(){this.preview(),Os(this.element,Oo,this.getData())}},lje={initPreview:function(){var e=this.element,t=this.crossOrigin,s=this.options.preview,r=t?this.crossOriginUrl:this.url,o=e.alt||"The image to preview",M=document.createElement("img");if(t&&(M.crossOrigin=t),M.src=r,M.alt=o,this.viewBox.appendChild(M),this.viewBoxImage=M,!!s){var a=s;typeof s=="string"?a=e.ownerDocument.querySelectorAll(s):s.querySelector&&(a=[s]),this.previews=a,De(a,function(u){var l=document.createElement("img");ai(u,fi,{width:u.offsetWidth,height:u.offsetHeight,html:u.innerHTML}),t&&(l.crossOrigin=t),l.src=r,l.alt=o,l.style.cssText='display:block;width:100%;height:auto;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;image-orientation:0deg!important;"',u.innerHTML="",u.appendChild(l)})}},resetPreview:function(){De(this.previews,function(e){var t=xo(e,fi);Wt(e,{width:t.width,height:t.height}),e.innerHTML=t.html,KLe(e,fi)})},preview:function(){var e=this.imageData,t=this.canvasData,s=this.cropBoxData,r=s.width,o=s.height,M=e.width,a=e.height,u=s.left-t.left-e.left,l=s.top-t.top-e.top;!this.cropped||this.disabled||(Wt(this.viewBoxImage,ue({width:M,height:a},ti(ue({translateX:-u,translateY:-l},e)))),De(this.previews,function(N){var c=xo(N,fi),L=c.width,j=c.height,g=L,y=j,d=1;r&&(d=L/r,y=o*d),o&&y>j&&(d=j/o,g=r*d,y=j),Wt(N,{width:g,height:y}),Wt(N.getElementsByTagName("img")[0],ue({width:M*d,height:a*d},ti(ue({translateX:-u*d,translateY:-l*d},e))))}))}},Nje={bind:function(){var e=this.element,t=this.options,s=this.cropper;Pe(t.cropstart)&&Ze(e,fo,t.cropstart),Pe(t.cropmove)&&Ze(e,_o,t.cropmove),Pe(t.cropend)&&Ze(e,Eo,t.cropend),Pe(t.crop)&&Ze(e,Oo,t.crop),Pe(t.zoom)&&Ze(e,So,t.zoom),Ze(s,wa,this.onCropStart=this.cropStart.bind(this)),t.zoomable&&t.zoomOnWheel&&Ze(s,Oa,this.onWheel=this.wheel.bind(this),{passive:!1,capture:!0}),t.toggleDragModeOnDblclick&&Ze(s,ha,this.onDblclick=this.dblclick.bind(this)),Ze(e.ownerDocument,Ca,this.onCropMove=this.cropMove.bind(this)),Ze(e.ownerDocument,Aa,this.onCropEnd=this.cropEnd.bind(this)),t.responsive&&Ze(window,pa,this.onResize=this.resize.bind(this))},unbind:function(){var e=this.element,t=this.options,s=this.cropper;Pe(t.cropstart)&&tt(e,fo,t.cropstart),Pe(t.cropmove)&&tt(e,_o,t.cropmove),Pe(t.cropend)&&tt(e,Eo,t.cropend),Pe(t.crop)&&tt(e,Oo,t.crop),Pe(t.zoom)&&tt(e,So,t.zoom),tt(s,wa,this.onCropStart),t.zoomable&&t.zoomOnWheel&&tt(s,Oa,this.onWheel,{passive:!1,capture:!0}),t.toggleDragModeOnDblclick&&tt(s,ha,this.onDblclick),tt(e.ownerDocument,Ca,this.onCropMove),tt(e.ownerDocument,Aa,this.onCropEnd),t.responsive&&tt(window,pa,this.onResize)}},Lje={resize:function(){if(!this.disabled){var e=this.options,t=this.container,s=this.containerData,r=t.offsetWidth/s.width,o=t.offsetHeight/s.height,M=Math.abs(r-1)>Math.abs(o-1)?r:o;if(M!==1){var a,u;e.restore&&(a=this.getCanvasData(),u=this.getCropBoxData()),this.render(),e.restore&&(this.setCanvasData(De(a,function(l,N){a[N]=l*M})),this.setCropBoxData(De(u,function(l,N){u[N]=l*M})))}}},dblclick:function(){this.disabled||this.options.dragMode===Qu||this.setDragMode(ZLe(this.dragBox,mo)?Yu:aM)},wheel:function(e){var t=this,s=Number(this.options.wheelZoomRatio)||.1,r=1;this.disabled||(e.preventDefault(),!this.wheeling&&(this.wheeling=!0,setTimeout(function(){t.wheeling=!1},50),e.deltaY?r=e.deltaY>0?1:-1:e.wheelDelta?r=-e.wheelDelta/120:e.detail&&(r=e.detail>0?1:-1),this.zoom(-r*s,e)))},cropStart:function(e){var t=e.buttons,s=e.button;if(!(this.disabled||(e.type==="mousedown"||e.type==="pointerdown"&&e.pointerType==="mouse")&&(K(t)&&t!==1||K(s)&&s!==0||e.ctrlKey))){var r=this.options,o=this.pointers,M;e.changedTouches?De(e.changedTouches,function(a){o[a.identifier]=Si(a)}):o[e.pointerId||0]=Si(e),Object.keys(o).length>1&&r.zoomable&&r.zoomOnTouch?M=ku:M=xo(e.target,ni),$Le.test(M)&&Os(this.element,fo,{originalEvent:e,action:M})!==!1&&(e.preventDefault(),this.action=M,this.cropping=!1,M===Su&&(this.cropping=!0,Ie(this.dragBox,Ki)))}},cropMove:function(e){var t=this.action;if(!(this.disabled||!t)){var s=this.pointers;e.preventDefault(),Os(this.element,_o,{originalEvent:e,action:t})!==!1&&(e.changedTouches?De(e.changedTouches,function(r){ue(s[r.identifier]||{},Si(r,!0))}):ue(s[e.pointerId||0]||{},Si(e,!0)),this.change(e))}},cropEnd:function(e){if(!this.disabled){var t=this.action,s=this.pointers;e.changedTouches?De(e.changedTouches,function(r){delete s[r.identifier]}):delete s[e.pointerId||0],t&&(e.preventDefault(),Object.keys(s).length||(this.action=""),this.cropping&&(this.cropping=!1,Cs(this.dragBox,Ki,this.cropped&&this.options.modal)),Os(this.element,Eo,{originalEvent:e,action:t}))}}},jje={change:function(e){var t=this.options,s=this.canvasData,r=this.containerData,o=this.cropBoxData,M=this.pointers,a=this.action,u=t.aspectRatio,l=o.left,N=o.top,c=o.width,L=o.height,j=l+c,g=N+L,y=0,d=0,h=r.width,m=r.height,w=!0,O;!u&&e.shiftKey&&(u=c&&L?c/L:1),this.limited&&(y=o.minLeft,d=o.minTop,h=y+Math.min(r.width,s.width,s.left+s.width),m=d+Math.min(r.height,s.height,s.top+s.height));var A=M[Object.keys(M)[0]],I={x:A.endX-A.startX,y:A.endY-A.startY},p=function(f){switch(f){case Zt:j+I.x>h&&(I.x=h-j);break;case Xt:l+I.xm&&(I.y=m-g);break}};switch(a){case nM:l+=I.x,N+=I.y;break;case Zt:if(I.x>=0&&(j>=h||u&&(N<=d||g>=m))){w=!1;break}p(Zt),c+=I.x,c<0&&(a=Xt,c=-c,l-=c),u&&(L=c/u,N+=(o.height-L)/2);break;case xt:if(I.y<=0&&(N<=d||u&&(l<=y||j>=h))){w=!1;break}p(xt),L-=I.y,N+=I.y,L<0&&(a=ds,L=-L,N-=L),u&&(c=L*u,l+=(o.width-c)/2);break;case Xt:if(I.x<=0&&(l<=y||u&&(N<=d||g>=m))){w=!1;break}p(Xt),c-=I.x,l+=I.x,c<0&&(a=Zt,c=-c,l-=c),u&&(L=c/u,N+=(o.height-L)/2);break;case ds:if(I.y>=0&&(g>=m||u&&(l<=y||j>=h))){w=!1;break}p(ds),L+=I.y,L<0&&(a=xt,L=-L,N-=L),u&&(c=L*u,l+=(o.width-c)/2);break;case Js:if(u){if(I.y<=0&&(N<=d||j>=h)){w=!1;break}p(xt),L-=I.y,N+=I.y,c=L*u}else p(xt),p(Zt),I.x>=0?jd&&(L-=I.y,N+=I.y):(L-=I.y,N+=I.y);c<0&&L<0?(a=Fs,L=-L,c=-c,N-=L,l-=c):c<0?(a=Bs,c=-c,l-=c):L<0&&(a=Gs,L=-L,N-=L);break;case Bs:if(u){if(I.y<=0&&(N<=d||l<=y)){w=!1;break}p(xt),L-=I.y,N+=I.y,c=L*u,l+=o.width-c}else p(xt),p(Xt),I.x<=0?l>y?(c-=I.x,l+=I.x):I.y<=0&&N<=d&&(w=!1):(c-=I.x,l+=I.x),I.y<=0?N>d&&(L-=I.y,N+=I.y):(L-=I.y,N+=I.y);c<0&&L<0?(a=Gs,L=-L,c=-c,N-=L,l-=c):c<0?(a=Js,c=-c,l-=c):L<0&&(a=Fs,L=-L,N-=L);break;case Fs:if(u){if(I.x<=0&&(l<=y||g>=m)){w=!1;break}p(Xt),c-=I.x,l+=I.x,L=c/u}else p(ds),p(Xt),I.x<=0?l>y?(c-=I.x,l+=I.x):I.y>=0&&g>=m&&(w=!1):(c-=I.x,l+=I.x),I.y>=0?g=0&&(j>=h||g>=m)){w=!1;break}p(Zt),c+=I.x,L=c/u}else p(ds),p(Zt),I.x>=0?j=0&&g>=m&&(w=!1):c+=I.x,I.y>=0?g0?a=I.y>0?Gs:Js:I.x<0&&(l-=c,a=I.y>0?Fs:Bs),I.y<0&&(N-=L),this.cropped||(lt(this.cropBox,We),this.cropped=!0,this.limited&&this.limitCropBox(!0,!0));break}w&&(o.width=c,o.height=L,o.left=l,o.top=N,this.action=a,this.renderCropBox()),De(M,function(S){S.startX=S.endX,S.startY=S.endY})}},gje={crop:function(){return this.ready&&!this.cropped&&!this.disabled&&(this.cropped=!0,this.limitCropBox(!0,!0),this.options.modal&&Ie(this.dragBox,Ki),lt(this.cropBox,We),this.setCropBoxData(this.initialCropBoxData)),this},reset:function(){return this.ready&&!this.disabled&&(this.imageData=ue({},this.initialImageData),this.canvasData=ue({},this.initialCanvasData),this.cropBoxData=ue({},this.initialCropBoxData),this.renderCanvas(),this.cropped&&this.renderCropBox()),this},clear:function(){return this.cropped&&!this.disabled&&(ue(this.cropBoxData,{left:0,top:0,width:0,height:0}),this.cropped=!1,this.renderCropBox(),this.limitCanvas(!0,!0),this.renderCanvas(),lt(this.dragBox,Ki),Ie(this.cropBox,We)),this},replace:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return!this.disabled&&e&&(this.isImg&&(this.element.src=e),t?(this.url=e,this.image.src=e,this.ready&&(this.viewBoxImage.src=e,De(this.previews,function(s){s.getElementsByTagName("img")[0].src=e}))):(this.isImg&&(this.replaced=!0),this.options.data=null,this.uncreate(),this.load(e))),this},enable:function(){return this.ready&&this.disabled&&(this.disabled=!1,lt(this.cropper,za)),this},disable:function(){return this.ready&&!this.disabled&&(this.disabled=!0,Ie(this.cropper,za)),this},destroy:function(){var e=this.element;return e[ce]?(e[ce]=void 0,this.isImg&&this.replaced&&(e.src=this.originalUrl),this.uncreate(),this):this},move:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e,s=this.canvasData,r=s.left,o=s.top;return this.moveTo(br(e)?e:r+Number(e),br(t)?t:o+Number(t))},moveTo:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e,s=this.canvasData,r=!1;return e=Number(e),t=Number(t),this.ready&&!this.disabled&&this.options.movable&&(K(e)&&(s.left=e,r=!0),K(t)&&(s.top=t,r=!0),r&&this.renderCanvas(!0)),this},zoom:function(e,t){var s=this.canvasData;return e=Number(e),e<0?e=1/(1-e):e=1+e,this.zoomTo(s.width*e/s.naturalWidth,null,t)},zoomTo:function(e,t,s){var r=this.options,o=this.canvasData,M=o.width,a=o.height,u=o.naturalWidth,l=o.naturalHeight;if(e=Number(e),e>=0&&this.ready&&!this.disabled&&r.zoomable){var N=u*e,c=l*e;if(Os(this.element,So,{ratio:e,oldRatio:M/u,originalEvent:s})===!1)return this;if(s){var L=this.pointers,j=Wu(this.cropper),g=L&&Object.keys(L).length?tje(L):{pageX:s.pageX,pageY:s.pageY};o.left-=(N-M)*((g.pageX-j.left-o.left)/M),o.top-=(c-a)*((g.pageY-j.top-o.top)/a)}else ws(t)&&K(t.x)&&K(t.y)?(o.left-=(N-M)*((t.x-o.left)/M),o.top-=(c-a)*((t.y-o.top)/a)):(o.left-=(N-M)/2,o.top-=(c-a)/2);o.width=N,o.height=c,this.renderCanvas(!0)}return this},rotate:function(e){return this.rotateTo((this.imageData.rotate||0)+Number(e))},rotateTo:function(e){return e=Number(e),K(e)&&this.ready&&!this.disabled&&this.options.rotatable&&(this.imageData.rotate=e%360,this.renderCanvas(!0,!0)),this},scaleX:function(e){var t=this.imageData.scaleY;return this.scale(e,K(t)?t:1)},scaleY:function(e){var t=this.imageData.scaleX;return this.scale(K(t)?t:1,e)},scale:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e,s=this.imageData,r=!1;return e=Number(e),t=Number(t),this.ready&&!this.disabled&&this.options.scalable&&(K(e)&&(s.scaleX=e,r=!0),K(t)&&(s.scaleY=t,r=!0),r&&this.renderCanvas(!0,!0)),this},getData:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,t=this.options,s=this.imageData,r=this.canvasData,o=this.cropBoxData,M;if(this.ready&&this.cropped){M={x:o.left-r.left,y:o.top-r.top,width:o.width,height:o.height};var a=s.width/s.naturalWidth;if(De(M,function(N,c){M[c]=N/a}),e){var u=Math.round(M.y+M.height),l=Math.round(M.x+M.width);M.x=Math.round(M.x),M.y=Math.round(M.y),M.width=l-M.x,M.height=u-M.y}}else M={x:0,y:0,width:0,height:0};return t.rotatable&&(M.rotate=s.rotate||0),t.scalable&&(M.scaleX=s.scaleX||1,M.scaleY=s.scaleY||1),M},setData:function(e){var t=this.options,s=this.imageData,r=this.canvasData,o={};if(this.ready&&!this.disabled&&ws(e)){var M=!1;t.rotatable&&K(e.rotate)&&e.rotate!==s.rotate&&(s.rotate=e.rotate,M=!0),t.scalable&&(K(e.scaleX)&&e.scaleX!==s.scaleX&&(s.scaleX=e.scaleX,M=!0),K(e.scaleY)&&e.scaleY!==s.scaleY&&(s.scaleY=e.scaleY,M=!0)),M&&this.renderCanvas(!0,!0);var a=s.width/s.naturalWidth;K(e.x)&&(o.left=e.x*a+r.left),K(e.y)&&(o.top=e.y*a+r.top),K(e.width)&&(o.width=e.width*a),K(e.height)&&(o.height=e.height*a),this.setCropBoxData(o)}return this},getContainerData:function(){return this.ready?ue({},this.containerData):{}},getImageData:function(){return this.sized?ue({},this.imageData):{}},getCanvasData:function(){var e=this.canvasData,t={};return this.ready&&De(["left","top","width","height","naturalWidth","naturalHeight"],function(s){t[s]=e[s]}),t},setCanvasData:function(e){var t=this.canvasData,s=t.aspectRatio;return this.ready&&!this.disabled&&ws(e)&&(K(e.left)&&(t.left=e.left),K(e.top)&&(t.top=e.top),K(e.width)?(t.width=e.width,t.height=e.width/s):K(e.height)&&(t.height=e.height,t.width=e.height*s),this.renderCanvas(!0)),this},getCropBoxData:function(){var e=this.cropBoxData,t;return this.ready&&this.cropped&&(t={left:e.left,top:e.top,width:e.width,height:e.height}),t||{}},setCropBoxData:function(e){var t=this.cropBoxData,s=this.options.aspectRatio,r,o;return this.ready&&this.cropped&&!this.disabled&&ws(e)&&(K(e.left)&&(t.left=e.left),K(e.top)&&(t.top=e.top),K(e.width)&&e.width!==t.width&&(r=!0,t.width=e.width),K(e.height)&&e.height!==t.height&&(o=!0,t.height=e.height),s&&(r?t.height=t.width/s:o&&(t.width=t.height*s)),this.renderCropBox()),this},getCroppedCanvas:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!this.ready||!window.HTMLCanvasElement)return null;var t=this.canvasData,s=ije(this.image,this.imageData,t,e);if(!this.cropped)return s;var r=this.getData(e.rounded),o=r.x,M=r.y,a=r.width,u=r.height,l=s.width/Math.floor(t.naturalWidth);l!==1&&(o*=l,M*=l,a*=l,u*=l);var N=a/u,c=Rt({aspectRatio:N,width:e.maxWidth||1/0,height:e.maxHeight||1/0}),L=Rt({aspectRatio:N,width:e.minWidth||0,height:e.minHeight||0},"cover"),j=Rt({aspectRatio:N,width:e.width||(l!==1?s.width:a),height:e.height||(l!==1?s.height:u)}),g=j.width,y=j.height;g=Math.min(c.width,Math.max(L.width,g)),y=Math.min(c.height,Math.max(L.height,y));var d=document.createElement("canvas"),h=d.getContext("2d");d.width=ps(g),d.height=ps(y),h.fillStyle=e.fillColor||"transparent",h.fillRect(0,0,g,y);var m=e.imageSmoothingEnabled,w=m===void 0?!0:m,O=e.imageSmoothingQuality;h.imageSmoothingEnabled=w,O&&(h.imageSmoothingQuality=O);var A=s.width,I=s.height,p=o,S=M,f,$,x,Z,k,Y;p<=-a||p>A?(p=0,f=0,x=0,k=0):p<=0?(x=-p,p=0,f=Math.min(A,a+p),k=f):p<=A&&(x=0,f=Math.min(a,A-p),k=f),f<=0||S<=-u||S>I?(S=0,$=0,Z=0,Y=0):S<=0?(Z=-S,S=0,$=Math.min(I,u+S),Y=$):S<=I&&(Z=0,$=Math.min(u,I-S),Y=$);var J=[p,S,f,$];if(k>0&&Y>0){var Le=g/a;J.push(x*Le,Z*Le,k*Le,Y*Le)}return h.drawImage.apply(h,[s].concat(fu(J.map(function(Je){return Math.floor(ps(Je))})))),d},setAspectRatio:function(e){var t=this.options;return!this.disabled&&!br(e)&&(t.aspectRatio=Math.max(0,e)||NaN,this.ready&&(this.initCropBox(),this.cropped&&this.renderCropBox())),this},setDragMode:function(e){var t=this.options,s=this.dragBox,r=this.face;if(this.ready&&!this.disabled){var o=e===aM,M=t.movable&&e===Yu;e=o||M?e:Qu,t.dragMode=e,ai(s,ni,e),Cs(s,mo,o),Cs(s,po,M),t.cropBoxMovable||(ai(r,ni,e),Cs(r,mo,o),Cs(r,po,M))}return this}},Tje=Nt.Cropper,Ju=(function(){function i(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(ELe(this,i),!e||!RLe.test(e.tagName))throw new Error("The first argument is required and must be an or element.");this.element=e,this.options=ue({},_a,ws(t)&&t),this.cropped=!1,this.disabled=!1,this.pointers={},this.ready=!1,this.reloading=!1,this.replaced=!1,this.sized=!1,this.sizing=!1,this.init()}return _Le(i,[{key:"init",value:function(){var t=this.element,s=t.tagName.toLowerCase(),r;if(!t[ce]){if(t[ce]=this,s==="img"){if(this.isImg=!0,r=t.getAttribute("src")||"",this.originalUrl=r,!r)return;r=t.src}else s==="canvas"&&window.HTMLCanvasElement&&(r=t.toDataURL());this.load(r)}}},{key:"load",value:function(t){var s=this;if(t){this.url=t,this.imageData={};var r=this.element,o=this.options;if(!o.rotatable&&!o.scalable&&(o.checkOrientation=!1),!o.checkOrientation||!window.ArrayBuffer){this.clone();return}if(PLe.test(t)){WLe.test(t)?this.read(Mje(t)):this.clone();return}var M=new XMLHttpRequest,a=this.clone.bind(this);this.reloading=!0,this.xhr=M,M.onabort=a,M.onerror=a,M.ontimeout=a,M.onprogress=function(){M.getResponseHeader("content-type")!==Ea&&M.abort()},M.onload=function(){s.read(M.response)},M.onloadend=function(){s.reloading=!1,s.xhr=null},o.checkCrossOrigin&&Sa(t)&&r.crossOrigin&&(t=xa(t)),M.open("GET",t,!0),M.responseType="arraybuffer",M.withCredentials=r.crossOrigin==="use-credentials",M.send()}}},{key:"read",value:function(t){var s=this.options,r=this.imageData,o=aje(t),M=0,a=1,u=1;if(o>1){this.url=nje(t,Ea);var l=cje(o);M=l.rotate,a=l.scaleX,u=l.scaleY}s.rotatable&&(r.rotate=M),s.scalable&&(r.scaleX=a,r.scaleY=u),this.clone()}},{key:"clone",value:function(){var t=this.element,s=this.url,r=t.crossOrigin,o=s;this.options.checkCrossOrigin&&Sa(s)&&(r||(r="anonymous"),o=xa(s)),this.crossOrigin=r,this.crossOriginUrl=o;var M=document.createElement("img");r&&(M.crossOrigin=r),M.src=o||s,M.alt=t.alt||"The image to crop",this.image=M,M.onload=this.start.bind(this),M.onerror=this.stop.bind(this),Ie(M,Ia),t.parentNode.insertBefore(M,t.nextSibling)}},{key:"start",value:function(){var t=this,s=this.image;s.onload=null,s.onerror=null,this.sizing=!0;var r=Nt.navigator&&/(?:iPad|iPhone|iPod).*?AppleWebKit/i.test(Nt.navigator.userAgent),o=function(l,N){ue(t.imageData,{naturalWidth:l,naturalHeight:N,aspectRatio:l/N}),t.initialImageData=ue({},t.imageData),t.sizing=!1,t.sized=!0,t.build()};if(s.naturalWidth&&!r){o(s.naturalWidth,s.naturalHeight);return}var M=document.createElement("img"),a=document.body||document.documentElement;this.sizingImage=M,M.onload=function(){o(M.width,M.height),r||a.removeChild(M)},M.src=s.src,r||(M.style.cssText="left:0;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;opacity:0;position:absolute;top:0;z-index:-1;",a.appendChild(M))}},{key:"stop",value:function(){var t=this.image;t.onload=null,t.onerror=null,t.parentNode.removeChild(t),this.image=null}},{key:"build",value:function(){if(!(!this.sized||this.ready)){var t=this.element,s=this.options,r=this.image,o=t.parentNode,M=document.createElement("div");M.innerHTML=JLe;var a=M.querySelector(".".concat(ce,"-container")),u=a.querySelector(".".concat(ce,"-canvas")),l=a.querySelector(".".concat(ce,"-drag-box")),N=a.querySelector(".".concat(ce,"-crop-box")),c=N.querySelector(".".concat(ce,"-face"));this.container=o,this.cropper=a,this.canvas=u,this.dragBox=l,this.cropBox=N,this.viewBox=a.querySelector(".".concat(ce,"-view-box")),this.face=c,u.appendChild(r),Ie(t,We),o.insertBefore(a,t.nextSibling),lt(r,Ia),this.initPreview(),this.bind(),s.initialAspectRatio=Math.max(0,s.initialAspectRatio)||NaN,s.aspectRatio=Math.max(0,s.aspectRatio)||NaN,s.viewMode=Math.max(0,Math.min(3,Math.round(s.viewMode)))||0,Ie(N,We),s.guides||Ie(N.getElementsByClassName("".concat(ce,"-dashed")),We),s.center||Ie(N.getElementsByClassName("".concat(ce,"-center")),We),s.background&&Ie(a,"".concat(ce,"-bg")),s.highlight||Ie(c,QLe),s.cropBoxMovable&&(Ie(c,po),ai(c,ni,nM)),s.cropBoxResizable||(Ie(N.getElementsByClassName("".concat(ce,"-line")),We),Ie(N.getElementsByClassName("".concat(ce,"-point")),We)),this.render(),this.ready=!0,this.setDragMode(s.dragMode),s.autoCrop&&this.crop(),this.setData(s.data),Pe(s.ready)&&Ze(t,ma,s.ready,{once:!0}),Os(t,ma)}}},{key:"unbuild",value:function(){if(this.ready){this.ready=!1,this.unbind(),this.resetPreview();var t=this.cropper.parentNode;t&&t.removeChild(this.cropper),lt(this.element,We)}}},{key:"uncreate",value:function(){this.ready?(this.unbuild(),this.ready=!1,this.cropped=!1):this.sizing?(this.sizingImage.onload=null,this.sizing=!1,this.sized=!1):this.reloading?(this.xhr.onabort=null,this.xhr.abort()):this.image&&this.stop()}}],[{key:"noConflict",value:function(){return window.Cropper=Tje,i}},{key:"setDefaults",value:function(t){ue(_a,ws(t)&&t)}}])})();ue(Ju.prototype,uje,lje,Nje,Lje,jje,gje);var ts=function(){return ts=Object.assign||function(i){for(var e,t=1,s=arguments.length;t0&&S.zoomTo(Je)})(p.currentTarget.cropper,w),d&&d(p)}}));h&&h(I)}return function(){var p,S;(S=(p=O.current)===null||p===void 0?void 0:p.cropper)===null||S===void 0||S.destroy()}}),[O]);var A=(function(I){return yje.reduce((function(p,S){var f=p,$=S;return f[$],Pr(f,[typeof $=="symbol"?$:$+""])}),I)})(ts(ts({},m),{crossOrigin:u,src:o,alt:y}));return n.createElement("div",{style:M,className:a},n.createElement("img",ts({},A,{style:Dje,ref:O})))}));const zje=` -/*! - * Cropper.js v1.5.12 - * https://fengyuanchen.github.io/cropperjs - * - * Copyright 2015-present Chen Fengyuan - * Released under the MIT license - * - * Date: 2021-06-12T08:00:11.623Z - */ - -.cropper-container { - direction: ltr; - font-size: 0; - line-height: 0; - position: relative; - -ms-touch-action: none; - touch-action: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.cropper-container img { - display: block; - height: 100%; - image-orientation: 0deg; - max-height: none !important; - max-width: none !important; - min-height: 0 !important; - min-width: 0 !important; - width: 100%; -} - -.cropper-wrap-box, -.cropper-canvas, -.cropper-drag-box, -.cropper-crop-box, -.cropper-modal { - bottom: 0; - left: 0; - position: absolute; - right: 0; - top: 0; -} - -.cropper-wrap-box, -.cropper-canvas { - overflow: hidden; -} - -.cropper-drag-box { - background-color: #fff; - opacity: 0; -} - -.cropper-modal { - background-color: #000; - opacity: 0.5; -} - -.cropper-view-box { - display: block; - height: 100%; - outline: 1px solid #39f; - outline-color: rgba(51, 153, 255, 0.75); - overflow: hidden; - width: 100%; -} - -.cropper-dashed { - border: 0 dashed #eee; - display: block; - opacity: 0.5; - position: absolute; -} - -.cropper-dashed.dashed-h { - border-bottom-width: 1px; - border-top-width: 1px; - height: calc(100% / 3); - left: 0; - top: calc(100% / 3); - width: 100%; -} - -.cropper-dashed.dashed-v { - border-left-width: 1px; - border-right-width: 1px; - height: 100%; - left: calc(100% / 3); - top: 0; - width: calc(100% / 3); -} - -.cropper-center { - display: block; - height: 0; - left: 50%; - opacity: 0.75; - position: absolute; - top: 50%; - width: 0; -} - -.cropper-center::before, -.cropper-center::after { - background-color: #eee; - content: ' '; - display: block; - position: absolute; -} - -.cropper-center::before { - height: 1px; - left: -3px; - top: 0; - width: 7px; -} - -.cropper-center::after { - height: 7px; - left: 0; - top: -3px; - width: 1px; -} - -.cropper-face, -.cropper-line, -.cropper-point { - display: block; - height: 100%; - opacity: 0.1; - position: absolute; - width: 100%; -} - -.cropper-face { - background-color: #fff; - left: 0; - top: 0; -} - -.cropper-line { - background-color: #39f; -} - -.cropper-line.line-e { - cursor: ew-resize; - right: -3px; - top: 0; - width: 5px; -} - -.cropper-line.line-n { - cursor: ns-resize; - height: 5px; - left: 0; - top: -3px; -} - -.cropper-line.line-w { - cursor: ew-resize; - left: -3px; - top: 0; - width: 5px; -} - -.cropper-line.line-s { - bottom: -3px; - cursor: ns-resize; - height: 5px; - left: 0; -} - -.cropper-point { - background-color: #39f; - height: 5px; - opacity: 0.75; - width: 5px; -} - -.cropper-point.point-e { - cursor: ew-resize; - margin-top: -3px; - right: -3px; - top: 50%; -} - -.cropper-point.point-n { - cursor: ns-resize; - left: 50%; - margin-left: -3px; - top: -3px; -} - -.cropper-point.point-w { - cursor: ew-resize; - left: -3px; - margin-top: -3px; - top: 50%; -} - -.cropper-point.point-s { - bottom: -3px; - cursor: s-resize; - left: 50%; - margin-left: -3px; -} - -.cropper-point.point-ne { - cursor: nesw-resize; - right: -3px; - top: -3px; -} - -.cropper-point.point-nw { - cursor: nwse-resize; - left: -3px; - top: -3px; -} - -.cropper-point.point-sw { - bottom: -3px; - cursor: nesw-resize; - left: -3px; -} - -.cropper-point.point-se { - bottom: -3px; - cursor: nwse-resize; - height: 20px; - opacity: 1; - right: -3px; - width: 20px; -} - -@media (min-width: 768px) { - .cropper-point.point-se { - height: 15px; - width: 15px; - } -} - -@media (min-width: 992px) { - .cropper-point.point-se { - height: 10px; - width: 10px; - } -} - -@media (min-width: 1200px) { - .cropper-point.point-se { - height: 5px; - opacity: 0.75; - width: 5px; - } -} - -.cropper-point.point-se::before { - background-color: #39f; - bottom: -50%; - content: ' '; - display: block; - height: 200%; - opacity: 0; - position: absolute; - right: -50%; - width: 200%; -} - -.cropper-invisible { - opacity: 0; -} - -.cropper-bg { - background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC'); -} - -.cropper-hide { - display: block; - height: 0; - position: absolute; - width: 0; -} - -.cropper-hidden { - display: none !important; -} - -.cropper-move { - cursor: move; -} - -.cropper-crop { - cursor: crosshair; -} - -.cropper-disabled .cropper-drag-box, -.cropper-disabled .cropper-face, -.cropper-disabled .cropper-line, -.cropper-disabled .cropper-point { - cursor: not-allowed; -} -`,$e={dropZone:{width:"100%",height:100,position:"relative"},dropZoneEmpty:{},image:{objectFit:"contain",margin:"auto",display:"flex",width:"100%",height:"100%"},uploadDiv:{position:"relative",width:"100%",height:300,opacity:.9,marginTop:30,cursor:"pointer",outline:"none"},uploadDivDragging:{opacity:1,background:"rgba(128,255,128,0.1)"},uploadCenterDiv:{margin:5,border:"3px dashed grey",borderRadius:5,width:"calc(100% - 10px)",height:"calc(100% - 10px)",position:"relative",display:"flex"},uploadCenterIcon:{paddingTop:10,width:48,height:48},uploadCenterText:{fontSize:16},uploadCenterTextAndIcon:{textAlign:"center",position:"absolute",top:0,bottom:0,left:0,right:0,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},disabledOpacity:{opacity:.3,cursor:"default"},buttonRemoveWrapper:{position:"absolute",zIndex:222,right:0},buttonCropWrapper:{position:"absolute",zIndex:222,right:0,top:50},error:{border:"2px solid red",boxSizing:"border-box"}};class uge extends ze{cropperRef;constructor(e){if(super(e),this.state={uploadFile:!1,anchorEl:null,cropHandler:!1},this.cropperRef=Qa(),!window.document.getElementById("cropper-style-json-component")){const t=window.document.createElement("style");t.setAttribute("id","cropper-style-json-component"),t.innerHTML=zje,window.document.head.appendChild(t)}}onDrop(e){const t=this.props.onChange,s=this.props.maxSize||10*1024,r=e[0],o=new FileReader;o.onabort=()=>console.log("file reading was aborted"),o.onerror=()=>console.log("file reading has failed"),o.onload=()=>{var u,l;if(!r||!r.name)return;const M=(u=r.name)==null?void 0:u.split(".");let a=M!=null&&M.length?`image/${(l=M.pop())==null?void 0:l.toLowerCase()}`:"image/jpeg";if(a==="image/jpg"?a="image/jpeg":a.includes("svg")&&(a="image/svg+xml"),r.size>s)window.alert(D.t("ra_File is too big. Max %sk allowed. Try use SVG.",Math.round(s/1024)));else{const N=`data:${a};base64,${btoa(new Uint8Array(o.result).reduce((c,L)=>c+String.fromCharCode(L),""))}`;t?t(N):console.log(N)}},o.readAsArrayBuffer(r)}render(){const{disabled:e,icon:t,removeIconFunc:s,error:r,crop:o,onChange:M}=this.props,a=this.props.maxSize||10*1024;let u=this.props.accept||{"image/*":[]};const{uploadFile:l,anchorEl:N,cropHandler:c}=this.state;if(typeof u=="string")u={[u]:[]};else if(Array.isArray(u)){const L={};u.forEach(j=>{L[j]=[]}),u=L}return n.createElement(Ga,{disabled:!!e||c,key:"dropzone",multiple:!1,accept:u,maxSize:a,onDragEnter:()=>this.setState({uploadFile:"dragging"}),onDragLeave:()=>this.setState({uploadFile:!0}),onDrop:(L,j)=>{var g,y,d;this.setState({uploadFile:!1}),L.length?this.onDrop(L):window.alert(((d=(y=(g=j==null?void 0:j[0])==null?void 0:g.errors)==null?void 0:y[0])==null?void 0:d.message)||D.t("ra_Cannot upload"))}},({getRootProps:L,getInputProps:j})=>n.createElement("div",{style:{...$e.uploadDiv,...l==="dragging"?$e.uploadDivDragging:void 0,...$e.dropZone,...e?$e.disabledOpacity:void 0,...t?void 0:$e.dropZoneEmpty},...L()},n.createElement("input",{...j()}),n.createElement("div",{style:{...$e.uploadCenterDiv,...r?$e.error:void 0}},t?s&&!c&&n.createElement("div",{style:$e.buttonRemoveWrapper},n.createElement(ae,{title:D.t("ra_Clear"),slotProps:{popper:{sx:{pointerEvents:"none"}}}},n.createElement(P,{size:"large",onClick:g=>{s&&s(),g.stopPropagation()}},n.createElement(ge,null)))):n.createElement("div",{style:$e.uploadCenterTextAndIcon},n.createElement(sN,{style:$e.uploadCenterIcon}),n.createElement("div",{style:$e.uploadCenterText},l==="dragging"?D.t("ra_Drop file here"):D.t("ra_Place your files here or click here to open the browse dialog"))),t&&o&&n.createElement("div",{style:$e.buttonCropWrapper},n.createElement(ae,{title:D.t("ra_Crop"),slotProps:{popper:{sx:{pointerEvents:"none"}}}},n.createElement(P,{size:"large",onClick:g=>{c?this.setState({anchorEl:g.currentTarget}):this.setState({cropHandler:!0}),g.stopPropagation()}},n.createElement(iN,{color:c?"primary":"inherit"}))),n.createElement(ss,{anchorEl:N,keepMounted:!0,open:!!N,onClose:()=>this.setState({anchorEl:null})},n.createElement(te,{onClick:()=>this.setState({anchorEl:null,cropHandler:!1},()=>{var y,d;const g=(d=(y=this.cropperRef)==null?void 0:y.current)==null?void 0:d.cropper;g&&(M?M(g.getCroppedCanvas().toDataURL()):console.log(g.getCroppedCanvas().toDataURL()))})},D.t("ra_Save")),n.createElement(te,{onClick:()=>this.setState({anchorEl:null,cropHandler:!1})},D.t("ra_Close")))),t&&!c?n.createElement(Se,{src:t,style:$e.image,alt:"icon"}):null,t&&o&&c?n.createElement(dje,{ref:this.cropperRef,style:$e.image,src:t,initialAspectRatio:1,viewMode:1,guides:!1,minCropBoxHeight:10,minCropBoxWidth:10,background:!1,checkOrientation:!1}):null)))}}const kt={mainDiv:{width:"100%",height:"100%",overflow:"auto"},formControl:{margin:0,minWidth:120},formControlMarginRight:{marginRight:5},formControlPaddingTop:{paddingTop:6.2}},Ije={once:"once"},_e={seconds:"seconds",minutes:"minutes"},ka=["ra_Sunday","ra_Monday","ra_Tuesday","ra_Wednesday","ra_Thursday","ra_Friday","ra_Saturday","ra_Sunday"];function ct(i){return i<10?`0${i}`:`${i}`}const hje={mode:"interval",interval:{period:1,unit:_e.minutes}};function $i(i){if(i==="*")return[0,1,2,3,4,5,6];const e=i.split(","),t=[];return e.forEach(s=>{const r=s.split("-");if(r.length===2){const o=parseInt(r[0],10),M=parseInt(r[1],10);for(let a=o;a<=M;a++)t.includes(a===7?0:a)||t.push(a===7?0:a)}else{s==="7"&&(s="0");const o=parseInt(s,10);t.includes(o)||t.push(o)}}),t.sort(),t}function Bu(i,e){i=i.replace(/['"]/g,"").trim();const t=i.split(" ");let s,r=null;return t.length===6?s={seconds:t[0]||"*",minutes:t[1]||"*",hours:t[2]||"*",date:t[3]||"*",months:t[4]||"*",dow:t[5]||"*"}:s={seconds:null,minutes:t[0]||"*",hours:t[1]||"*",date:t[2]||"*",months:t[3]||"*",dow:t[4]||"*"},s.seconds===null&&s.minutes==="*"&&s.hours==="*"&&s.date==="*"&&s.months==="*"&&(s.dow==="*"||e)&&(r={mode:"interval",interval:{period:1,unit:_e.minutes}}),s.seconds==="*"&&s.minutes==="*"&&s.hours==="*"&&s.date==="*"&&s.months==="*"&&(s.dow==="*"||e)?r={mode:"interval",interval:{period:1,unit:_e.seconds}}:s.seconds===null&&s.minutes.includes("/")&&s.hours==="*"&&s.date==="*"&&s.months==="*"&&(s.dow==="*"||e)?r={mode:"interval",interval:{period:parseInt(s.minutes.split("/")[1],10),unit:_e.minutes}}:s.seconds!==null&&s.seconds.includes("/")&&s.minutes==="*"&&s.hours==="*"&&s.date==="*"&&s.months==="*"&&(s.dow==="*"||e)?r={mode:"interval",interval:{period:parseInt(s.seconds.split("/")[1],10),unit:_e.seconds}}:s.seconds!==null&&s.seconds.includes("/")&&s.minutes==="*"&&s.hours.includes("-")&&s.date==="*"&&s.months==="*"&&(s.dow==="*"||e)?r={mode:"intervalBetween",intervalBetween:{period:parseInt(s.seconds.split("/")[1],10),unit:_e.seconds,timeFrom:parseInt(s.hours.split("-")[0],10),timeTo:parseInt(s.hours.split("-")[1],10),weekdays:$i(s.dow)}}:s.seconds===null&&s.minutes.includes("/")&&s.hours.includes("-")&&s.date==="*"&&s.months==="*"&&(s.dow==="*"||e)?r={mode:"intervalBetween",intervalBetween:{period:parseInt(s.minutes.split("/")[1],10),unit:_e.minutes,timeFrom:parseInt(s.hours.split("-")[0],10),timeTo:parseInt(s.hours.split("-")[1],10),weekdays:$i(s.dow)}}:s.seconds===null&&parseInt(s.minutes,10).toString()===s.minutes&&parseInt(s.hours,10).toString()===s.hours&&s.date==="*"&&s.months==="*"&&(s.dow==="*"||e)?r={mode:"specific",specific:{time:`${ct(parseInt(s.hours,10))}:${ct(parseInt(s.minutes,10))}`,weekdays:$i(s.dow)}}:s.seconds===null&&parseInt(s.minutes,10).toString()===s.minutes&&parseInt(s.hours,10).toString()===s.hours&&parseInt(s.date,10).toString()===s.date&&parseInt(s.months,10).toString()===s.months&&(s.dow==="*"||e)&&(r={mode:"once",once:{time:`${ct(parseInt(s.hours,10))}:${ct(parseInt(s.minutes,10))}`,date:`${ct(parseInt(s.date,10))}.${ct(parseInt(s.months,10))}`}}),r}class ci extends n.Component{constructor(e){super(e);let t=typeof e.cronExpression=="string"?e.cronExpression.replace(/^["']/,"").replace(/["']\n?$/,""):"";t[0]==="{"&&(t="");const s=Bu(t||"* * * * *",!0)||hje;this.state={extended:!1,cron:ci.state2cron(s),mode:"interval",once:{time:"00:00",date:""},interval:{period:1,unit:_e.minutes},intervalBetween:{period:1,unit:_e.minutes,timeFrom:0,timeTo:23,weekdays:[0,1,2,3,4,5,6]},specific:{time:"00:00",weekdays:[0,1,2,3,4,5,6]}},Object.assign(this.state,s),this.state.cron!==e.cronExpression&&setTimeout(()=>e.onChange&&e.onChange(this.state.cron),100)}static periodArray2text(e,t=7){if(t=t||7,e.length===t)return"*";const s=[];let r=null,o=null;if(!e.length)return"_";for(let M=0;M60&&(s.period=60),s.period!==void 0&&s.period<1&&(s.period=1),s.minutes!==void 0&&s.minutes!==null&&s.minutes>60&&(s.minutes=60),s.minutes!==void 0&&s.minutes!==null&&s.minutes<1&&(s.minutes=1),s.hours!==void 0&&s.hours!==null&&s.hours>24&&(s.hours=24),s.hours!==void 0&&s.hours!==null&&s.hours<1&&(s.hours=1),e.extended)t=`${s.minutes!==void 0&&s.minutes!==null&&s.minutes>1?`*/${s.minutes}`:"*"} ${s.hours!==void 0&&s.hours!==null&&s.hours>1?`*/${s.hours}`:"*"} * * *`;else switch(s.unit){case _e.seconds:t=`${s.period>1?`*/${s.period}`:"*"} * * * * *`;break;case _e.minutes:t=`${s.period>1?`*/${s.period}`:"*"} * * * *`;break}}else if(e.mode==="intervalBetween"){const s=e.intervalBetween||{period:1,unit:_e.minutes,timeFrom:0,timeTo:24,weekdays:[0,1,2,3,4,5,6]};let r;switch(s.timeFrom=s.timeFrom||0,s.timeTo=s.timeTo===void 0?24:s.timeTo,s.timeFrom!==0&&s.timeTo===24&&(s.timeTo=23),s.timeFrom===0&&s.timeTo===24?r="*":r=s.timeFrom!==s.timeTo?`${s.timeFrom}-${s.timeTo}`:"*",s.period>60&&(s.period=60),s.period<1&&(s.period=1),s.unit=s.unit||_e.minutes,s.unit){case _e.seconds:t=`${s.period>1?`*/${s.period}`:"*"} * ${r} * * ${this.periodArray2text(s.weekdays)}`;break;case _e.minutes:t=`${s.period>1?`*/${s.period}`:"*"} ${r} * * ${this.periodArray2text(s.weekdays)}`;break}}else if(e.mode==="specific"){const s=e.specific||{time:"00:00",weekdays:[0,1,2,3,4,5,6]},r=(s.time||"00:00").split(":");let o=parseInt(r[1],10)||0;o>59&&(o=59),o<0&&(o=0);let M=parseInt(r[0],10)||0;M>23&&(M=59),M<0&&(M=0),t=`${o} ${M} * * ${this.periodArray2text(s.weekdays||[])}`}else if(e.mode==="once"){const s=e.once||{time:"00:00",date:""};s.date||(s.date=`${new Date().getDate()}.${ct(new Date().getMonth()+1)}`);const r=(s.time||"00:00").split(":"),o=s.date.split(".");let M=parseInt(r[1],10)||0;M>59&&(M=59),M<0&&(M=0);let a=parseInt(r[0],10)||0;a>23&&(a=59),a<0&&(a=0);let u=parseInt(o[0],10)||1;u>31&&(u=31),u<1&&(a=1);let l=parseInt(o[1],10)||1;l>12&&(l=12),l<1&&(l=1),t=`${M} ${a} ${u} ${l} *`}return t}recalcCron(){this.onChange(ci.state2cron(this.state))}getControlsWeekdaysElements(e){const t=e==="intervalBetween"?this.state.intervalBetween:this.state.specific;return n.createElement("div",{key:"weekdays",style:{paddingLeft:8,width:"calc(100% - 8px)",maxWidth:600}},n.createElement("h5",null,D.t("ra_On weekdays")),[1,2,3,4,5,6,0].map(s=>n.createElement(H,{key:ka[s],control:n.createElement(ne,{checked:t.weekdays.includes(s),onChange:r=>{const o=JSON.parse(JSON.stringify(this.state[e])),M=o.weekdays.indexOf(s);r.target.checked?M===-1&&o.weekdays.push(s):M!==-1&&o.weekdays.splice(M,1),o.weekdays.sort(),e==="intervalBetween"?this.setState({intervalBetween:o},()=>this.recalcCron()):this.setState({specific:o},()=>this.recalcCron())},value:s.toString()}),label:D.t(ka[s])})))}getControlsPeriodElements(e){const t=e==="interval"?this.state.interval:this.state.intervalBetween;return this.state.extended?n.createElement("div",{key:"period",style:{paddingLeft:8,display:"inline-block"}},n.createElement("h5",{style:{marginBottom:5}},D.t("sc_period")),n.createElement(le,{variant:"standard",style:{marginTop:0,marginBottom:0,verticalAlign:"bottom"},key:"value",label:D.t("sc_minutes"),value:t.minutes,onChange:s=>{const r=JSON.parse(JSON.stringify(this.state[e]));r.minutes=parseInt(s.target.value,10),r.minutes<1&&(r.minutes=1),e==="interval"?this.setState({interval:r},()=>this.recalcCron()):this.setState({intervalBetween:r},()=>this.recalcCron())},slotProps:{htmlInput:{min:1,max:60},inputLabel:{shrink:!0}},type:"number",margin:"normal"}),n.createElement(le,{variant:"standard",style:{marginTop:0,marginBottom:0,verticalAlign:"bottom"},key:"value",label:D.t("sc_hours"),value:t.hours,onChange:s=>{const r=JSON.parse(JSON.stringify(this.state[e]));r.hours=parseInt(s.target.value,10),r.hours<1&&(r.hours=1),e==="interval"?this.setState({interval:r},()=>this.recalcCron()):this.setState({intervalBetween:r},()=>this.recalcCron())},slotProps:{htmlInput:{min:1,max:24},inputLabel:{shrink:!0}},type:"number",margin:"normal"})):n.createElement("div",{key:"period",style:{paddingLeft:8,display:"inline-block"}},n.createElement("h5",{style:{marginBottom:5}},D.t("sc_period")),n.createElement(le,{variant:"standard",style:{marginTop:0,marginBottom:0,verticalAlign:"bottom"},key:"value",label:D.t("sc_every"),value:t.period,onChange:s=>{const r=JSON.parse(JSON.stringify(this.state[e]));r.period=parseInt(s.target.value,10),r.period<1&&(r.period=1),e==="interval"?this.setState({interval:r},()=>this.recalcCron()):this.setState({intervalBetween:r},()=>this.recalcCron())},slotProps:{htmlInput:{min:1,max:60},inputLabel:{shrink:!0}},type:"number",margin:"normal"}),n.createElement(Xe,{variant:"standard",style:{verticalAlign:"bottom"},value:t.unit,onChange:s=>{const r=JSON.parse(JSON.stringify(this.state[e]));r.unit=s.target.value,e==="interval"?this.setState({interval:r},()=>this.recalcCron()):this.setState({intervalBetween:r},()=>this.recalcCron())}},n.createElement(te,{value:"seconds"},D.t("sc_seconds")),")",n.createElement(te,{value:"minutes"},D.t("sc_minutes")),")"))}getControlsTime(e){const t=e==="once"?this.state.once:this.state.specific;return n.createElement(wt,{variant:"standard",sx:{...kt.formControl,"&.MuiFormControl-root":kt.formControlMarginRight}},n.createElement(le,{variant:"standard",key:"at",label:D.t("sc_time"),value:t.time,type:"time",sx:s=>({'& input[type="time"]::-webkit-calendar-picker-indicator':{filter:s.palette.mode==="dark"?"invert(80%)":void 0}}),onChange:s=>{const r=JSON.parse(JSON.stringify(this.state[e]));r.time=s.target.value,e==="once"?this.setState({once:r},()=>this.recalcCron()):this.setState({specific:r},()=>this.recalcCron())},slotProps:{inputLabel:{shrink:!0}},margin:"normal"}))}getControlsDate(){const e=this.state.once;if(!e.date){const t=new Date;e.date=`${t.getDate()}.${ct(t.getMonth()+1)}`}return n.createElement(wt,{variant:"standard",style:kt.formControl},n.createElement(le,{variant:"standard",key:"date",label:D.t("sc_date"),value:e.date,type:"text",slotProps:{htmlInput:{style:kt.formControlPaddingTop},inputLabel:{shrink:!0}},onChange:t=>{const s=JSON.parse(JSON.stringify(this.state.once));s.date=t.target.value,this.setState({once:s},()=>this.recalcCron())},margin:"normal"}))}getOnceElements(){return n.createElement("div",{style:{marginLeft:8}},this.getControlsTime("once"),this.getControlsDate())}getIntervalElements(){return this.getControlsPeriodElements("interval")}getIntervalBetweenElements(){const e=this.state.intervalBetween;return[this.getControlsPeriodElements("intervalBetween"),n.createElement("div",{key:"between",style:{paddingLeft:8,display:"inline-block",verticalAlign:"top"}},n.createElement("h5",{style:{marginBottom:5}},D.t("sc_hours")),n.createElement(wt,{variant:"standard",style:kt.formControl},n.createElement(As,{shrink:!0,htmlFor:"age-label-placeholder"},D.t("sc_from")),n.createElement(Xe,{variant:"standard",style:{width:100},value:e.timeFrom,onChange:t=>{const s=JSON.parse(JSON.stringify(this.state.intervalBetween));s.timeFrom=parseInt(t.target.value,10),s.timeTo===24&&(s.timeTo=23),this.setState({intervalBetween:s},()=>this.recalcCron())}},[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23].map(t=>n.createElement(te,{key:`B_${t}`,value:t},`${ct(t)}:00`)))),n.createElement(wt,{variant:"standard",style:kt.formControl},n.createElement(As,{shrink:!0,htmlFor:"age-label-placeholder"},D.t("sc_to")),n.createElement(Xe,{variant:"standard",style:{width:100},value:e.timeTo,onChange:t=>{const s=JSON.parse(JSON.stringify(this.state.intervalBetween));s.timeTo=parseInt(t.target.value,10),this.setState({intervalBetween:s},()=>this.recalcCron())}},[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23].map(t=>n.createElement(te,{key:`A_${t}`,value:t},`${ct(t)}:00`)),!e.timeFrom&&n.createElement(te,{value:24},"00:00")))),this.getControlsWeekdaysElements("intervalBetween")]}getSpecificTimeElements(){return[n.createElement("div",{key:"time",style:{marginLeft:8}},this.getControlsTime("specific")),this.getControlsWeekdaysElements("specific")]}onModeChange(e){e!==this.state.mode&&this.setState({mode:e},()=>this.recalcCron())}onChange(e){e!==this.state.cron&&(this.setState({cron:e}),this.props.onChange&&this.props.onChange(e))}render(){return n.createElement("div",{style:kt.mainDiv},n.createElement("div",{style:{paddingLeft:8,width:"calc(100% - 8px)"}},n.createElement(le,{variant:"standard",style:{width:"100%"},value:this.state.cron,disabled:!0,error:this.state.cron.includes("_")})),n.createElement("div",{style:{paddingLeft:8,width:"calc(100% - 8px)",height:60}},this.state.cron.includes("_")?D.t("sc_invalid_cron"):Bc(this.state.cron,this.props.language||"en")),n.createElement("div",null,n.createElement(wt,{variant:"standard",style:{...kt.formControl,marginLeft:8,marginTop:8}},n.createElement(As,null,D.t("ra_Repeat")),n.createElement(Xe,{variant:"standard",value:this.state.mode,onChange:e=>this.onModeChange(e.target.value),inputProps:{name:"mode",id:"mode"}},n.createElement(te,{value:"once"},D.t("sc_once")),n.createElement(te,{value:"interval"},D.t("sc_interval")),n.createElement(te,{value:"intervalBetween"},D.t("sc_intervalBetween")),n.createElement(te,{value:"specific"},D.t("sc_specific"))))),this.state.mode===Ije.once&&this.getOnceElements(),this.state.mode==="interval"&&this.getIntervalElements(),this.state.mode==="intervalBetween"&&this.getIntervalBetweenElements(),this.state.mode==="specific"&&this.getSpecificTimeElements())}}function lge(i){return n.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 436 436",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},n.createElement("g",{fill:"currentColor"},n.createElement("path",{d:"m195.23077,24.30769c-36,3 -67,12 -96,26c-49,24 -82,61 -93,104l-3,11l-1,50c0,46 0,49 2,59l5,20c21,58 84,103 165,116c16,3 53,4 70,2c60,-6 111,-28 147,-64c21,-21 36,-49 40,-74a866,866 0 0 0 1,-104c-3,-18 -6,-28 -13,-43c-26,-52 -87,-90 -162,-101c-16,-2 -48,-3 -63,-2l1,0zm60,23c36,5 70,18 95,35c31,20 51,47 59,77c2,7 2,11 2,25c1,15 0,18 -2,26c-19,69 -104,117 -200,114c-47,-2 -90,-15 -124,-38c-31,-20 -51,-47 -59,-77c-3,-11 -4,-32 -2,-43c8,-42 41,-78 91,-101a260,260 0 0 1 140,-19l0,1zm-221,222c21,26 57,49 95,62c81,27 174,14 239,-32c14,-10 31,-27 41,-41c2,-2 2,-2 2,7c-1,23 -16,50 -38,72c-78,74 -233,74 -311,-1a121,121 0 0 1 -39,-76l0,-6l3,4l8,11z"}),n.createElement("path",{d:"m201.23077,47.30769c-40,3 -79,19 -104,44c-55,55 -38,133 37,171c52,26 122,24 172,-5c30,-17 51,-42 58,-71c3,-11 3,-34 0,-45c-6,-23 -21,-44 -40,-60l-27,-16a184,184 0 0 0 -96,-18zm30,21c56,5 100,35 112,75c4,11 4,30 0,41c-8,25 -26,45 -54,59a166,166 0 0 1 -160,-8a98,98 0 0 1 -41,-53c-5,-18 -2,-39 8,-57c23,-39 79,-62 135,-57z"})))}function Nge(i){return n.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 95 95",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},n.createElement("path",{fill:"currentColor",d:`M93.779,63.676c-0.981-1.082-2.24-1.653-3.639-1.653c-1.145,0-3.953,0.396-5.318,4.062 - c-0.344,0.922-0.443,1.413-0.907,1.363c-0.786-0.078-3.845-3.346-4.845-8.145l-2.482-11.6c1.961-3.177,3.977-5.629,5.988-7.292 - c1.08-0.882,2.314-1.349,3.808-1.43c3.815-0.26,5.203-0.74,6.14-1.399c1.547-1.115,2.397-2.728,2.397-4.542 - c0-1.596-0.604-3.019-1.75-4.115c-1.106-1.059-2.581-1.618-4.26-1.618c-2.468,0-5.239,1.142-8.474,3.49 - c-1.91,1.388-3.935,3.406-6.121,6.111c-0.711-2.653-1.319-3.889-1.771-4.628c-1.396-2.303-3.664-2.303-4.41-2.303l-0.813,0.013 - l-23.045,0.544l1.297-5.506c0.828-3.593,1.915-6.436,3.226-8.45c0.638-0.98,1.614-2.148,2.638-2.148 - c0.387,0,1.152,0.063,2.582,0.36c3.978,0.86,5.465,0.959,6.239,0.959c1.708,0,3.21-0.571,4.347-1.651 - c1.176-1.119,1.797-2.583,1.797-4.233c0-1.29-0.424-3.156-2.445-4.722c-1.396-1.081-3.311-1.629-5.691-1.629 - c-3.568,0-7.349,1.141-11.241,3.39c-3.862,2.232-7.038,5.317-9.438,9.171c-2.105,3.379-3.929,8.124-5.555,14.459H21.877 - l-2.238,8.831h10.186l-7.74,31.116c-1.603,6.443-2.777,8.028-3.098,8.361c-0.875,0.904-2.68,1.094-4.04,1.094 - c-1.683,0-3.477-0.121-5.349-0.361c-1.286-0.157-2.265-0.234-2.991-0.234c-1.878,0-3.423,0.488-4.59,1.448 - C0.716,81.858,0,83.403,0,85.14c0,1.357,0.44,3.309,2.539,4.895c1.434,1.08,3.389,1.628,5.813,1.628 - c6.069,0,11.725-2.411,16.813-7.165c4.947-4.624,8.571-11.413,10.773-20.195l6.119-24.935l20.87,0.354l2.244,9.64l-4.573,6.748 - c-0.824,1.209-2.051,2.701-3.658,4.441c-0.84,0.92-1.398,1.426-1.721,1.689c-1.316-1.608-2.809-2.424-4.432-2.424 - c-1.525,0-2.91,0.625-4.002,1.804c-1.036,1.116-1.583,2.514-1.583,4.038c0,1.83,0.783,3.459,2.264,4.709 - c1.357,1.146,3.034,1.728,4.981,1.728c2.414,0,4.884-0.921,7.344-2.737c2.053-1.519,4.697-4.526,8.074-9.189 - c2.17,6.24,5.248,10.252,6.714,11.927c2.313,2.644,6.049,4.22,9.993,4.22c3.348,0,5.244-1.402,6.916-2.641l0.148-0.109 - c2.926-2.164,3.54-4.545,3.54-6.166C95.174,65.965,94.691,64.679,93.779,63.676z`}))}function Lge(i){return n.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 512 512",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},n.createElement("path",{fill:"currentColor",d:"M510.371,226.513c-1.088-2.603-2.645-4.971-4.629-6.955l-63.979-63.979c-8.341-8.32-21.824-8.32-30.165,0 c-8.341,8.341-8.341,21.845,0,30.165l27.584,27.584H320.013c-11.797,0-21.333,9.557-21.333,21.333s9.536,21.333,21.333,21.333 h119.168l-27.584,27.584c-8.341,8.341-8.341,21.845,0,30.165c4.16,4.181,9.621,6.251,15.083,6.251s10.923-2.069,15.083-6.251 l63.979-63.979c1.984-1.963,3.541-4.331,4.629-6.955C512.525,237.606,512.525,231.718,510.371,226.513z"}),n.createElement("path",{fill:"currentColor",d:`M362.68,298.667c-11.797,0-21.333,9.557-21.333,21.333v106.667h-85.333V85.333c0-9.408-6.187-17.728-15.211-20.437 - l-74.091-22.229h174.635v106.667c0,11.776,9.536,21.333,21.333,21.333s21.333-9.557,21.333-21.333v-128 - C384.013,9.557,374.477,0,362.68,0H21.347c-0.768,0-1.451,0.32-2.197,0.405c-1.003,0.107-1.92,0.277-2.88,0.512 - c-2.24,0.576-4.267,1.451-6.165,2.645c-0.469,0.299-1.045,0.32-1.493,0.661C8.44,4.352,8.376,4.587,8.205,4.715 - C5.88,6.549,3.939,8.789,2.531,11.456c-0.299,0.576-0.363,1.195-0.597,1.792c-0.683,1.621-1.429,3.2-1.685,4.992 - c-0.107,0.64,0.085,1.237,0.064,1.856c-0.021,0.427-0.299,0.811-0.299,1.237V448c0,10.176,7.189,18.923,17.152,20.907 - l213.333,42.667c1.387,0.299,2.795,0.427,4.181,0.427c4.885,0,9.685-1.685,13.525-4.843c4.928-4.053,7.808-10.091,7.808-16.491 - v-21.333H362.68c11.797,0,21.333-9.557,21.333-21.333V320C384.013,308.224,374.477,298.667,362.68,298.667z`}))}function jge(i){return n.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 339 339",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},n.createElement("path",{fill:"currentColor",d:"M 318.371 88.485 C 332.371 114.538 339.207 142.418 338.881 172.125 C 338.874 172.605 338.631 172.845 338.151 172.845 L 335.411 172.845 C 335.077 172.845 334.911 173.012 334.911 173.345 L 334.911 181.215 C 334.911 181.635 335.121 181.845 335.541 181.845 L 337.711 181.845 C 338.157 181.845 338.364 182.068 338.331 182.515 C 331.921 264.525 267.321 330.135 185.931 337.995 C 89.911 347.265 6.491 275.385 0.301 179.465 C 0.274 179.052 0.467 178.845 0.881 178.845 L 2.381 178.845 C 2.741 178.845 2.921 178.665 2.921 178.305 L 2.911 171.465 C 2.904 171.052 2.694 170.845 2.281 170.845 L 0.441 170.845 C 0.147 170.845 0.001 170.698 0.001 170.405 C -0.289 83.535 64.591 10.095 151.421 0.955 C 211.511 -5.375 269.171 20.055 305.341 68.135 C 305.538 68.391 305.938 68.338 306.062 68.039 C 306.065 68.031 306.068 68.023 306.071 68.015 L 311.541 51.395 C 311.63 51.125 311.924 50.977 312.201 51.065 L 316.881 52.625 C 317.274 52.758 317.407 53.022 317.281 53.415 L 310.271 74.305 C 310.157 74.645 310.197 74.968 310.391 75.275 L 314.011 80.905 C 314.204 81.205 314.481 81.378 314.841 81.425 L 336.771 84.365 C 337.124 84.412 337.277 84.612 337.231 84.965 L 336.601 89.775 C 336.547 90.182 336.321 90.358 335.921 90.305 L 318.721 87.975 C 318.267 87.915 318.151 88.085 318.371 88.485 Z M 200.701 172.615 C 170.541 200.245 121.671 181.975 117.251 140.865 C 117.211 140.518 117.017 140.345 116.671 140.345 L 8.941 140.345 C 8.68 140.346 8.46 140.532 8.421 140.785 C -10.469 249.095 80.901 345.385 189.421 331.625 C 265.701 321.955 325.741 260.435 332.311 183.415 C 343.611 50.895 200.811 -38.365 85.961 28.845 C 47.041 51.625 20.601 89.335 9.791 133.265 C 9.611 133.985 9.891 134.345 10.631 134.345 L 116.371 134.345 C 116.664 134.345 116.824 134.202 116.851 133.915 C 118.397 116.288 126.001 103.005 139.661 94.065 C 172.821 72.345 214.571 95.715 216.891 133.845 C 216.911 134.178 217.087 134.345 217.421 134.345 L 330.342 134.345 C 330.842 134.345 331.092 134.595 331.092 135.095 L 331.092 139.595 C 331.092 140.095 330.842 140.345 330.342 140.345 L 217.161 140.345 C 216.827 140.345 216.641 140.512 216.601 140.845 C 215.141 153.652 209.841 164.242 200.701 172.615 Z M 210.861 135.845 C 210.861 111.572 191.183 91.895 166.911 91.895 C 142.638 91.895 122.961 111.572 122.961 135.845 C 122.961 160.118 142.638 179.795 166.911 179.795 C 191.183 179.795 210.861 160.118 210.861 135.845 Z",transform:"matrix(0.9999999999999999, 0, 0, 0.9999999999999999, -5.684341886080802e-14, 0)"}),n.createElement("path",{fill:"currentColor",d:"M 222.771 42.215 C 224.237 43.708 223.741 45.092 221.281 46.365 C 220.5 46.768 219.574 46.779 218.781 46.395 C 183.761 29.182 149.014 29.638 114.541 47.765 C 113.252 48.444 111.662 47.8 111.211 46.415 C 110.891 45.435 110.867 44.465 111.141 43.505 C 111.234 43.158 111.437 42.898 111.751 42.725 C 145.631 23.545 186.631 23.045 221.051 41.045 C 221.831 41.452 222.404 41.842 222.771 42.215 Z",transform:"matrix(0.9999999999999999, 0, 0, 0.9999999999999999, -5.684341886080802e-14, 0)"}),n.createElement("text",{style:{whiteSpace:"pre",fontFamily:"Arial, sans-serif",fontSize:16},x:"139.395",y:"288.084",transform:"matrix(0.9999999999999999, 0, 0, 0.9999999999999999, -5.684341886080802e-14, 0)"},"vacuum"))}const wje={dialogPaper:{height:"calc(100% - 96px)"}};class gge extends n.Component{constructor(e){super(e);let t;this.props.cron&&typeof this.props.cron=="string"&&this.props.cron.replace(/^["']/,"")[0]!=="{"?t=this.props.cron.replace(/['"]/g,"").trim():(t=this.props.cron||"{}",typeof t=="string"&&(t=t.replace(/^["']/,"").replace(/["']\n?$/,""))),this.state={showWarning:"",cron:t}}handleCancel(){this.props.onClose()}handleOk(e){if(!e){const t=Pt.cron2state(this.state.cron);if(t.seconds==="*"||t.seconds==="*/1"){this.setState({showWarning:"everySecond"});return}if(t.minutes==="*"||t.minutes==="*/1"){this.setState({showWarning:"everyMinute"});return}}this.props.onOk(this.state.cron),this.props.onClose()}renderWarningDialog(){return this.state.showWarning?n.createElement(Wc,{title:D.t("ra_Please confirm"),text:D.t(this.state.showWarning==="everySecond"?"ra_The schedule will be executed every second. Are you sure?":"ra_The schedule will be executed every minute. Are you sure?"),onClose:e=>this.setState({showWarning:""},()=>{e&&this.handleOk(!0)})}):null}handleClear(){this.props.onOk(!1),this.props.onClose()}render(){return n.createElement(de,{onClose:()=>{},maxWidth:"md",fullWidth:!0,sx:{"& .MuiDialog-paper":wje.dialogPaper},open:!0,"aria-labelledby":"cron-dialog-title"},this.renderWarningDialog(),n.createElement(he,{id:"cron-dialog-title"},this.props.title||D.t("ra_Define schedule...")),n.createElement(Ae,{style:{height:"100%",overflow:"hidden"}},n.createElement(Pt,{cronExpression:this.state.cron,onChange:e=>this.setState({cron:e}),language:D.getLanguage()})),n.createElement(me,null,!!this.props.clearButton&&n.createElement(X,{color:"grey",variant:"contained",onClick:()=>this.handleClear(),startIcon:n.createElement(ut,null)},this.props.clear||D.t("ra_Clear")),n.createElement(X,{variant:"contained",onClick:()=>this.handleOk(),color:"primary",startIcon:n.createElement(Ue,null)},this.props.ok||D.t("ra_Ok")),n.createElement(X,{color:"grey",variant:"contained",onClick:()=>this.handleCancel(),startIcon:n.createElement(ui,null)},this.props.cancel||D.t("ra_Cancel"))))}}const Cje={dialogPaper:{height:"calc(100% - 96px)"}};class Tge extends n.Component{constructor(e){super(e);let t;this.props.cron&&typeof this.props.cron=="string"&&this.props.cron.replace(/^["']/,"")[0]!=="{"?t=this.props.cron.replace(/['"]/g,"").trim():(t=this.props.cron||"{}",typeof t=="string"&&(t=t.replace(/^["']/,"").replace(/["']\n?$/,""))),this.state={cron:t,mode:this.props.simple?"simple":this.props.complex?"complex":(typeof t=="object"||t[0]==="{")&&!this.props.noWizard?"wizard":Bu(this.props.cron||"* * * * *")?"simple":"complex"}}handleCancel(){this.props.onClose()}handleOk(){this.props.onOk(this.state.cron),this.props.onClose()}setMode(e){this.setState({mode:e})}render(){return n.createElement(de,{onClose:()=>{},maxWidth:"md",fullWidth:!0,sx:{"& .MuiDialog-paper":Cje.dialogPaper},open:!0,"aria-labelledby":"cron-dialog-title"},n.createElement(he,{id:"cron-dialog-title"},this.props.title||D.t("ra_Define schedule...")),n.createElement(Ae,{style:{height:"100%",overflow:"hidden"}},this.props.simple&&this.props.complex||!this.props.simple&&!this.props.complex?n.createElement("div",null,!this.props.simple&&!this.props.complex&&!this.props.noWizard&&n.createElement(n.Fragment,null,n.createElement(Me,{key:"wizard",checked:this.state.mode==="wizard",onChange:()=>this.setMode("wizard")}),n.createElement("label",{onClick:()=>this.setMode("wizard"),style:this.state.mode!=="wizard"?{color:"lightgrey"}:{}},D.t("sc_wizard"))),(!this.props.simple&&!this.props.complex||this.props.simple)&&n.createElement(n.Fragment,null,n.createElement(Me,{key:"simple",checked:this.state.mode==="simple",onChange:()=>this.setMode("simple")}),n.createElement("label",{onClick:()=>this.setMode("simple"),style:this.state.mode!=="simple"?{color:"lightgrey"}:{}},D.t("sc_simple"))),(!this.props.simple&&!this.props.complex||this.props.complex)&&n.createElement(n.Fragment,null,n.createElement(Me,{key:"complex",checked:this.state.mode==="complex",onChange:()=>this.setMode("complex")}),n.createElement("label",{onClick:()=>this.setMode("complex"),style:this.state.mode!=="complex"?{color:"lightgrey"}:{}},D.t("sc_cron")))):null,this.state.mode==="simple"&&n.createElement(ci,{cronExpression:this.state.cron,onChange:e=>this.setState({cron:e}),language:D.getLanguage()}),this.state.mode==="wizard"&&n.createElement(Ce,{theme:this.props.theme,schedule:this.state.cron,onChange:e=>this.setState({cron:e})}),this.state.mode==="complex"&&n.createElement(Pt,{cronExpression:this.state.cron,onChange:e=>this.setState({cron:e}),language:D.getLanguage()})),n.createElement(me,null,n.createElement(X,{variant:"contained",onClick:()=>this.handleOk(),color:"primary",startIcon:n.createElement(Ue,null)},this.props.ok||D.t("ra_Ok")),n.createElement(X,{variant:"contained",onClick:()=>this.handleCancel(),color:"grey",startIcon:n.createElement(ui,null)},this.props.cancel||D.t("ra_Cancel"))))}}class yge extends ze{handleOk(){this.props.onClose&&this.props.onClose()}render(){return n.createElement(de,{open:!0,maxWidth:"sm",fullWidth:this.props.fullWidth!==void 0?this.props.fullWidth:!0,onClose:()=>this.handleOk(),"aria-labelledby":"ar_dialog_message_title","aria-describedby":"ar_dialog_message_description"},n.createElement(he,{id:"ar_dialog_message_title"},this.props.title||D.t("ra_Message")),n.createElement(Ae,null,n.createElement(Jt,{id:"ar_dialog_message_description"},n.createElement("span",{style:{marginRight:this.props.icon?8:0}},this.props.icon||null),this.props.text)),n.createElement(me,null,n.createElement(X,{id:"ar_dialog_message_ok",variant:"contained",onClick:()=>this.handleOk(),color:"primary",autoFocus:!0,startIcon:n.createElement(ge,null)},this.props.ok||D.t("ra_Close"))))}}const Kt={headerID:{fontWeight:"bold",fontStyle:"italic"},dialog:{height:"95%"},dialogMobile:{padding:"4px",width:"100%",maxWidth:"100%",maxHeight:"calc(100% - 16px)",height:"100%"},content:{height:"100%",overflow:"hidden"},contentMobile:{padding:"8px 4px"},titleRoot:{whiteSpace:"nowrap",width:"calc(100% - 72px)",overflow:"hidden",display:"inline-block",textOverflow:"ellipsis"}};class Dge extends n.Component{dialogName;filters;constructor(e){super(e),this.dialogName=this.props.dialogName||"default",this.dialogName=`SelectFile.${this.dialogName}`;const t=(window._localStorage||window.localStorage).getItem(this.dialogName)||"{}";try{this.filters=JSON.parse(t)}catch{this.filters={}}e.filters&&(this.filters={...this.filters,...e.filters});let s=this.props.selected||[];typeof s!="object"?s=[s]:s=[...s],s=s.filter(r=>r),this.state={selected:s}}handleCancel(){this.props.onClose()}handleOk(){this.props.onOk(this.props.multiSelect||!Array.isArray(this.state.selected)?this.state.selected:this.state.selected[0]||""),this.props.onClose()}render(){let e;return this.state.selected.length?!Array.isArray(this.state.selected)||this.state.selected.length===1?e=[n.createElement("span",{key:"selected"},D.t("ra_Selected")," "),n.createElement("span",{key:"id",style:Kt.headerID},this.state.selected)]:e=[n.createElement("span",{key:"selected"},D.t("ra_Selected")," "),n.createElement("span",{key:"id",style:Kt.headerID},D.t("%s items",this.state.selected.length))]:e=this.props.title||D.t("ra_Please select file..."),n.createElement(de,{onClose:()=>{},maxWidth:!1,style:{zIndex:this.props.zIndex||void 0},sx:{"& .MuiDialog-paper":{...Kt.dialog,...Kt.dialogMobile}},fullWidth:!0,open:!0,"aria-labelledby":"ar_dialog_selectfile_title"},n.createElement(he,{id:"ar_dialog_selectfile_title",sx:{"&.MuiDialogTitle-root":Kt.titleRoot}},e),n.createElement(Ae,{style:{...Kt.content,...Kt.contentMobile}},n.createElement(Tle,{ready:!0,imagePrefix:this.props.imagePrefix||this.props.prefix||"../",allowUpload:!!this.props.allowUpload,allowDownload:this.props.allowDownload!==!1,allowCreateFolder:!!this.props.allowCreateFolder,allowDelete:!!this.props.allowDelete,allowView:this.props.allowView!==!1,showViewTypeButton:this.props.showViewTypeButton!==!1,showToolbar:this.props.showToolbar!==!1,limitPath:this.props.limitPath,filterFiles:this.props.filterFiles,filterByType:this.props.filterByType,selected:this.props.selected,restrictToFolder:this.props.restrictToFolder,allowNonRestricted:this.props.allowNonRestricted,onSelect:(t,s,r)=>{this.setState({selected:Array.isArray(t)?t:[t]},()=>s&&(!this.props.selectOnlyFolders||r)&&this.handleOk())},t:this.props.t||D.t,lang:this.props.lang||D.getLanguage(),socket:this.props.socket,themeType:this.props.themeType,themeName:this.props.themeName,theme:this.props.theme,showExpertButton:this.props.showExpertButton,expertMode:this.props.expertMode,showTypeSelector:this.props.showTypeSelector})),n.createElement(me,null,n.createElement(X,{variant:"contained",onClick:()=>this.handleOk(),startIcon:n.createElement(Ue,null),disabled:!this.state.selected.length,color:"primary"},this.props.ok||D.t("ra_Ok")),n.createElement(X,{color:"grey",variant:"contained",onClick:()=>this.handleCancel(),startIcon:n.createElement(ui,null)},this.props.cancel||D.t("ra_Cancel"))))}}const Aje={dialogPaper:{height:"calc(100% - 96px)"}};class dge extends n.Component{constructor(e){super(e);let t;this.props.cron&&typeof this.props.cron=="string"&&this.props.cron.replace(/^["']/,"")[0]!=="{"?t=this.props.cron.replace(/['"]/g,"").trim():(t=this.props.cron||"{}",typeof t=="string"&&(t=t.replace(/^["']/,"").replace(/["']\n?$/,""))),this.state={cron:t}}handleCancel(){this.props.onClose()}handleOk(){this.props.onOk(this.state.cron),this.props.onClose()}render(){return n.createElement(de,{onClose:()=>{},maxWidth:"md",fullWidth:!0,sx:{"& .MuiDialog-paper":Aje.dialogPaper},open:!0,"aria-labelledby":"cron-dialog-title"},n.createElement(he,{id:"cron-dialog-title"},this.props.title||D.t("ra_Define CRON...")),n.createElement(Ae,{style:{height:"100%",overflow:"hidden"}},n.createElement(ci,{cronExpression:this.state.cron,onChange:e=>this.setState({cron:e}),language:D.getLanguage()})),n.createElement(me,null,n.createElement(X,{variant:"contained",disabled:!this.state.cron||this.state.cron.includes("_"),onClick:()=>this.handleOk(),color:"primary",startIcon:n.createElement(Ue,null)},this.props.ok||D.t("ra_Ok")),n.createElement(X,{variant:"contained",onClick:()=>this.handleCancel(),color:"grey",startIcon:n.createElement(ui,null)},this.props.cancel||D.t("ra_Cancel"))))}}const Dt={CONNECTING:0,CONNECTED:1,OBJECTS_LOADED:2,STATES_LOADED:3,READY:4},dt="permissionError",b="notConnectedError";function Ya(i){i=(i||"").toString();const e=i[0]==="*",t=i[i.length-1]==="*";return i=i.replace(/[-/\\^$+?.()|[\]{}]/g,"\\$&").replace(/\*/g,".*"),(e?"":"^")+i+(t?"":"$")}class F{_socket;_authTimer;systemLang="en";_waitForFirstConnection;_waitForFirstConnectionResolve=null;_promises={};_instanceSubscriptions;props;doNotLoadAllObjects;doNotLoadACL;states={};objects=null;scriptLoadCounter;acl=null;firstConnect=!0;waitForRestart=!1;connected=!1;statesSubscribes={};objectsSubscribes={};filesSubscribes={};onConnectionHandlers=[];onLogHandlers=[];onProgress;onError;loaded=!1;loadTimer=null;loadCounter=0;ignoreState="";simStates={};autoSubscribes;autoSubscribeLog;subscribed;isSecure;onCmdStdoutHandler;onCmdStderrHandler;onCmdExitHandler;systemConfig=null;objectViewCached;constructor(e){e||={protocol:window.location.protocol,host:window.location.hostname},this.props=e,this.autoSubscribes=this.props.autoSubscribes||[],this.autoSubscribeLog=this.props.autoSubscribeLog||!1,this.props.protocol||=window.location.protocol,this.props.host||=window.location.hostname,this.props.port||=window.location.port==="3000"?F.isWeb()?8082:8081:window.location.port,this.props.ioTimeout=Math.max(this.props.ioTimeout||2e4,2e4),this.props.cmdTimeout=Math.max(this.props.cmdTimeout||5e3,5e3),this._instanceSubscriptions={},this.doNotLoadAllObjects=this.props.doNotLoadAllObjects===void 0?!0:this.props.doNotLoadAllObjects,this.doNotLoadACL=this.props.doNotLoadACL===void 0?!0:this.props.doNotLoadACL,this.states={},this._waitForFirstConnection=new Promise(t=>{this._waitForFirstConnectionResolve=t}),this.onProgress=this.props.onProgress||(()=>{}),this.onError=this.props.onError||(t=>console.error(t)),this.startSocket()}static isWeb(){const e=window.adapterName;return e==="material"||e==="vis"||(e==null?void 0:e.startsWith("vis-"))||e==="echarts-show"||window.socketUrl!==void 0}startSocket(){if(typeof window.io>"u"&&typeof window.iob>"u"){if(typeof window.registerSocketOnLoad!="function"){if(this.scriptLoadCounter||=0,this.scriptLoadCounter++,this.scriptLoadCounter<30){setTimeout(()=>this.startSocket(),100);return}window.alert("Cannot load socket.io.js!")}else window.registerSocketOnLoad(()=>this.startSocket());return}if(this._socket)return;let e=this.props.host,t=this.props.port,s=this.props.protocol.replace(":",""),r=window.location.pathname;if(window.location.hostname==="iobroker.net"||window.location.hostname==="iobroker.pro")r="";else{if(window.socketUrl){const a=new URL(window.socketUrl);e=a.hostname,t=a.port,s=a.protocol.replace(":","")}const M=r.lastIndexOf("/");if(M!==-1&&(r=r.substring(0,M+1)),F.isWeb()){const a=r.split("/");a.length>2&&(a.pop(),a[a.length-1].match(/\d+\.\d+\.\d+/)&&a.pop(),a.pop(),r=a.join("/"),r.endsWith("/")||(r+="/"))}}const o=t?`${s}://${e}:${t}${r}`:`${s}://${e}${r}`;this._socket=(window.io||window.iob).connect(o,{path:r.endsWith("/")?`${r}socket.io`:`${r}/socket.io`,query:"ws=true",name:this.props.name,timeout:this.props.ioTimeout,uuid:this.props.uuid}),this._socket.on("connect",M=>{M!==!0?setTimeout(()=>this.getVersion().then(a=>{const[u,l,N]=a.version.split(".");parseInt(u,10)*1e4+parseInt(l,10)*100+parseInt(N,10)<40102?(this._authTimer=null,this.onPreConnect(!1,!1)):this._socket.emit("authenticate",(L,j)=>this.onPreConnect(L,j))}),500):this._socket.emit("authenticate",(a,u)=>this.onPreConnect(a,u))}),this._socket.on("reconnect",()=>{this.onProgress(Dt.READY),this.connected=!0,this.waitForRestart?window.location.reload():(this._subscribe(!0),this.onConnectionHandlers.forEach(M=>M(!0)))}),this._socket.on("disconnect",()=>{this.connected=!1,this.subscribed=!1,this.onProgress(Dt.CONNECTING),this.onConnectionHandlers.forEach(M=>M(!1))}),this._socket.on("reauthenticate",()=>F.authenticate()),this._socket.on("log",M=>{var a,u;(u=(a=this.props).onLog)==null||u.call(a,M),this.onLogHandlers.forEach(l=>l(M))}),this._socket.on("error",M=>{let a=M||"";typeof a.toString!="function"&&(a=JSON.stringify(a),console.error(`Received strange error: ${a}`)),a=a.toString(),a.includes("User not authorized")?F.authenticate():window.alert(`Socket Error: ${M}`)}),this._socket.on("connect_error",M=>console.error(`Connect error: ${M}`)),this._socket.on("permissionError",M=>this.onError({message:"no permission",operation:M.operation,type:M.type,id:M.id||""})),this._socket.on("objectChange",(M,a)=>setTimeout(()=>this.objectChange(M,a),0)),this._socket.on("stateChange",(M,a)=>setTimeout(()=>this.stateChange(M,a),0)),this._socket.on("im",(M,a,u)=>setTimeout(()=>this.instanceMessage(M,a,u),0)),this._socket.on("fileChange",(M,a,u)=>setTimeout(()=>this.fileChange(M,a,u),0)),this._socket.on("cmdStdout",(M,a)=>{var u;return(u=this.onCmdStdoutHandler)==null?void 0:u.call(this,M,a)}),this._socket.on("cmdStderr",(M,a)=>{var u;return(u=this.onCmdStderrHandler)==null?void 0:u.call(this,M,a)}),this._socket.on("cmdExit",(M,a)=>{var u;return(u=this.onCmdExitHandler)==null?void 0:u.call(this,M,a)})}onPreConnect(e,t){this._authTimer&&(clearTimeout(this._authTimer),this._authTimer=null),this.connected=!0,this.isSecure=t,this.waitForRestart?window.location.reload():(this.firstConnect?(this.loadTimer=setTimeout(()=>{this.loadTimer=null,this.loadCounter++,this.loadCounter<10&&this.onConnect().catch(s=>this.onError(s))},1e3),this.loaded||this.onConnect().catch(s=>this.onError(s))):this.onProgress(Dt.READY),this._subscribe(!0),this.onConnectionHandlers.forEach(s=>s(!0))),this._waitForFirstConnectionResolve&&(this._waitForFirstConnectionResolve(),this._waitForFirstConnectionResolve=null)}static isCloud(){return window.location.hostname.includes("amazonaws.com")||window.location.hostname.includes("iobroker.in")?!0:typeof window.socketUrl>"u"?!1:window.socketUrl.includes("iobroker.in")||window.socketUrl.includes("amazonaws")}isConnected(){return this.connected}waitForFirstConnection(){return this._waitForFirstConnection}async _getUserPermissions(){return this.doNotLoadACL?null:new Promise((e,t)=>{this._socket.emit("getUserPermissions",(s,r)=>s?t(new Error(s)):e(r))})}async onConnect(){var s,r,o,M,a;let e;try{e=await this._getUserPermissions()}catch(u){const l=u;this.onError(`Cannot read user permissions: ${l.message}`);return}if(!this.doNotLoadACL){if(this.loaded)return;this.loaded=!0,this.loadTimer&&(clearTimeout(this.loadTimer),this.loadTimer=null),this.onProgress(Dt.CONNECTED),this.firstConnect=!1,this.acl=e}let t;try{if(t=await this.getSystemConfig(),this.doNotLoadACL){if(this.loaded)return;this.loaded=!0,this.loadTimer&&(clearTimeout(this.loadTimer),this.loadTimer=null),this.onProgress(Dt.CONNECTED),this.firstConnect=!1}this.systemConfig=t,(s=this.systemConfig)!=null&&s.common?this.systemLang=this.systemConfig.common.language:(this.systemLang=window.navigator.userLanguage||window.navigator.language,/^(en|de|ru|pt|nl|fr|it|es|pl|uk)-?/.test(this.systemLang)?this.systemLang=this.systemLang.substr(0,2):/^(en|de|ru|pt|nl|fr|it|es|pl|uk|zh-cn)$/.test(this.systemLang)||(this.systemLang="en")),(o=(r=this.props).onLanguage)==null||o.call(r,this.systemLang),this.doNotLoadAllObjects?(this.objects={"system.config":t},this.onProgress(Dt.READY),(a=(M=this.props).onReady)==null||a.call(M,this.objects)):(await this.getObjects(),this.onProgress(Dt.READY),this.props.onReady&&this.objects&&this.props.onReady(this.objects))}catch(u){this.onError(`Cannot read system config: ${u}`)}}static authenticate(){window.location.search.includes("&href=")?window.location.href=`${window.location.protocol}//${window.location.host}${window.location.pathname}${window.location.search}${window.location.hash}`:window.location.href=`${window.location.protocol}//${window.location.host}${window.location.pathname}?login&href=${window.location.search}${window.location.hash}`}async subscribeState(e,t,s){typeof t=="function"&&(s=t,t=!1);let r;if(Array.isArray(e)?r=e:r=[e],!s)return console.error("No callback found for subscribeState"),Promise.reject(new Error("No callback found for subscribeState"));const o=[];for(let M=0;M{this._socket.emit(F.isWeb()?"getStates":"getForeignStates",r,(u,l)=>{u?(console.error(`Cannot getForeignStates "${e}": ${JSON.stringify(u)}`),a(new Error(u))):(l&&Object.keys(l).forEach(N=>s(N,l[N])),M())})})}subscribeStateAsync(e,t){let s;Array.isArray(e)?s=e:s=[e];const r=[];for(let o=0;o{typeof t=="function"&&this.connected?this._socket.emit(F.isWeb()?"getStates":"getForeignStates",e,(a,u)=>{a&&console.error(`Cannot getForeignStates "${e}": ${JSON.stringify(a)}`),u&&Object.keys(u).forEach(l=>t(l,u[l])),u?o():M(new Error(`Cannot getForeignStates "${e}": ${JSON.stringify(a)}`))}):this.connected?M(new Error("callback is not a function")):M(new Error("not connected"))})}unsubscribeState(e,t){let s;Array.isArray(e)?s=e:s=[e];const r=[];for(let o=0;o{(o===e||this.objectsSubscribes[o].reg.test(e))&&this.objectsSubscribes[o].cbs.forEach(M=>{try{M(e,t,s)}catch(a){console.error(`Error by callback of objectChange: ${a}`)}})}),r&&this.props.onObjectChange&&this.props.onObjectChange(e,t)}stateChange(e,t){for(const s in this.statesSubscribes)Object.prototype.hasOwnProperty.call(this.statesSubscribes,s)&&this.statesSubscribes[s].reg.test(e)&&this.statesSubscribes[s].cbs.forEach(r=>{try{r(e,t)}catch(o){const M=o;console.error(`Error by callback of stateChange: ${M==null?void 0:M.message}`)}})}instanceMessage(e,t,s){this._instanceSubscriptions[t]&&this._instanceSubscriptions[t].forEach(r=>{r.messageType===e&&r.callback(s,t,e)})}getStates(e,t){return this.connected?(typeof e=="boolean"&&(t=e,e=void 0),new Promise((s,r)=>{this._socket.emit("getStates",e,(o,M)=>{this.states=M,!t&&this.onProgress(Dt.STATES_LOADED),o?r(new Error(o)):s(this.states)})})):Promise.reject(new Error(b))}getState(e){return this.connected?e&&e===this.ignoreState?Promise.resolve(this.simStates[e]||{val:null,ack:!0}):new Promise((t,s)=>{this._socket.emit("getState",e,(r,o)=>r?s(new Error(r)):t(o))}):Promise.reject(new Error(b))}getBinaryState(e){return this.connected?new Promise((t,s)=>{this._socket.emit("getBinaryState",e,(r,o)=>r?s(new Error(r)):t(o))}):Promise.reject(new Error(b))}setBinaryState(e,t){return this.connected?new Promise((s,r)=>{this._socket.emit("setBinaryState",e,t,o=>o?r(new Error(o)):s())}):Promise.reject(new Error(b))}setState(e,t,s){if(!this.connected)return Promise.reject(new Error(b));if(e&&e===this.ignoreState){let r;if(typeof s=="boolean"||typeof t=="object"&&t.val!==void 0?r=t:r={val:t,ack:!1,ts:Date.now(),lc:Date.now(),from:"system.adapter.vis.0"},this.simStates[e]=r,this.statesSubscribes[e])for(const o of this.statesSubscribes[e].cbs)try{o(e,r)}catch(M){console.error(`Error by callback of stateChanged: ${M}`)}return Promise.resolve()}return new Promise((r,o)=>{this._socket.emit("setState",e,t,M=>M?o(new Error(M)):r())})}getObjects(e,t){return this.connected?new Promise((s,r)=>{!e&&this.objects?s(this.objects):this._socket.emit(F.isWeb()?"getObjects":"getAllObjects",(o,M)=>{this.objects=M,t&&this.onProgress(Dt.OBJECTS_LOADED),o?r(new Error(o)):s(this.objects)})}):Promise.reject(new Error(b))}getObjectsById(e){return this.connected?new Promise((t,s)=>{this._socket.emit("getObjects",e,(r,o)=>r?s(new Error(r)):t(o))}):Promise.reject(new Error(b))}_subscribe(e){if(e&&!this.subscribed){this.subscribed=!0,this.autoSubscribes.forEach(s=>this._socket.emit("subscribeObjects",s)),Object.keys(this.objectsSubscribes).forEach(s=>this._socket.emit("subscribeObjects",s)),this.autoSubscribeLog&&this._socket.emit("requireLog",!0);const t=Object.keys(this.statesSubscribes);t.forEach(s=>this._socket.emit("subscribe",s)),t.length&&this._socket.emit(F.isWeb()?"getStates":"getForeignStates",t,(s,r)=>{s&&console.error(`Cannot getForeignStates: ${JSON.stringify(s)}`),r&&Object.keys(r).forEach(o=>this.stateChange(o,r[o]))})}else!e&&this.subscribed&&(this.subscribed=!1,this.autoSubscribes.forEach(t=>this._socket.emit("unsubscribeObjects",t)),Object.keys(this.objectsSubscribes).forEach(t=>this._socket.emit("unsubscribeObjects",t)),this.autoSubscribeLog&&this._socket.emit("requireLog",!1),Object.keys(this.statesSubscribes).forEach(t=>this._socket.emit("unsubscribe",t)))}requireLog(e){return this.connected?new Promise((t,s)=>{this._socket.emit("requireLog",e,r=>r?s(new Error(r)):t())}):Promise.reject(new Error(b))}delObject(e,t){return this.connected?new Promise((s,r)=>{this._socket.emit("delObject",e,{maintenance:!!t},o=>o?r(new Error(o)):s())}):Promise.reject(new Error(b))}delObjects(e,t){return this.connected?new Promise((s,r)=>{this._socket.emit("delObjects",e,{maintenance:!!t},o=>o?r(new Error(o)):s())}):Promise.reject(new Error(b))}setObject(e,t){return this.connected?t?(t=JSON.parse(JSON.stringify(t)),Object.prototype.hasOwnProperty.call(t,"from")&&delete t.from,Object.prototype.hasOwnProperty.call(t,"user")&&delete t.user,Object.prototype.hasOwnProperty.call(t,"ts")&&delete t.ts,new Promise((s,r)=>{this._socket.emit("setObject",e,t,o=>o?r(new Error(o)):s())})):Promise.reject(new Error("Null object is not allowed")):Promise.reject(new Error(b))}getObject(e){return this.connected?e&&e===this.ignoreState?Promise.resolve({_id:this.ignoreState,type:"state",common:{name:"ignored state",type:"mixed",read:!0,write:!0,role:"state"},native:{}}):new Promise((t,s)=>{this._socket.emit("getObject",e,(r,o)=>r?s(new Error(r)):t(o))}):Promise.reject(new Error(b))}getAdapterInstances(e,t){return typeof e=="boolean"&&(t=e,e=""),e||="",!t&&this._promises[`instances_${e}`]instanceof Promise?this._promises[`instances_${e}`]:this.connected?(this._promises[`instances_${e}`]=new Promise((s,r)=>{this._socket.emit("getAdapterInstances",e,(o,M)=>o?r(new Error(o)):s(M))}),this._promises[`instances_${e}`]):Promise.reject(new Error(b))}getAdapters(e,t){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):(typeof e=="boolean"&&(t=e,e=""),e||="",!t&&this._promises[`adapter_${e}`]instanceof Promise?this._promises[`adapter_${e}`]:this.connected?(this._promises[`adapter_${e}`]=new Promise((s,r)=>{this._socket.emit("getAdapters",e,(o,M)=>{o?r(new Error(o)):s(M)})}),this._promises[`adapter_${e}`]):Promise.reject(new Error(b)))}_renameGroups(e,t){if(!(e!=null&&e.length))t==null||t(null);else{const s=e.pop();if(!s){setTimeout(()=>this._renameGroups(e,t),0);return}const r=s._id;s._id=s.newId,delete s.newId,this.setObject(s._id,s).then(()=>this.delObject(r)).then(()=>setTimeout(()=>this._renameGroups(e,t),0)).catch(o=>t==null?void 0:t(o))}}async renameGroup(e,t,s){if(F.isWeb())return Promise.reject(new Error("Allowed only in admin"));const r=await this.getGroups(!0);if(r.length){const o=r.filter(a=>a._id.startsWith(`${e}.`));o.forEach(a=>{a.newId=t+a._id.substring(e.length)}),await new Promise((a,u)=>{this._renameGroups(o,l=>l?u(new Error(l)):a(null))});const M=r.find(a=>a._id===e);if(M)return M._id=t,s!==void 0&&(M.common||={},M.common.name=s),this.setObject(M._id,M).then(()=>this.delObject(e))}return Promise.resolve()}sendTo(e,t,s){return this.connected?new Promise(r=>{this._socket.emit("sendTo",e,t,s,o=>r(o))}):Promise.reject(new Error(b))}extendObject(e,t){return this.connected?(t=JSON.parse(JSON.stringify(t)),Object.prototype.hasOwnProperty.call(t,"from")&&delete t.from,Object.prototype.hasOwnProperty.call(t,"user")&&delete t.user,Object.prototype.hasOwnProperty.call(t,"ts")&&delete t.ts,new Promise((s,r)=>{this._socket.emit("extendObject",e,t,o=>o?r(new Error(o)):s())})):Promise.reject(new Error(b))}registerLogHandler(e){!this.onLogHandlers.includes(e)&&this.onLogHandlers.push(e)}unregisterLogHandler(e){const t=this.onLogHandlers.indexOf(e);t!==-1&&this.onLogHandlers.splice(t,1)}registerConnectionHandler(e){!this.onConnectionHandlers.includes(e)&&this.onConnectionHandlers.push(e)}unregisterConnectionHandler(e){const t=this.onConnectionHandlers.indexOf(e);t!==-1&&this.onConnectionHandlers.splice(t,1)}registerCmdStdoutHandler(e){this.onCmdStdoutHandler=e}unregisterCmdStdoutHandler(){this.onCmdStdoutHandler=void 0}registerCmdStderrHandler(e){this.onCmdStderrHandler=e}unregisterCmdStderrHandler(){this.onCmdStderrHandler=void 0}registerCmdExitHandler(e){this.onCmdExitHandler=e}unregisterCmdExitHandler(){this.onCmdExitHandler=void 0}getEnums(e,t){return!t&&this._promises[`enums_${e||"all"}`]instanceof Promise?this._promises[`enums_${e||"all"}`]:this.connected?(this._promises[`enums_${e||"all"}`]=new Promise((s,r)=>{this._socket.emit("getObjectView","system","enum",{startkey:`enum.${e||""}`,endkey:`enum.${e?`${e}.`:""}香`},(o,M)=>{if(!o&&M){const a={};for(let u=0;u{this._socket.emit("getObjectView",e,t,{startkey:s,endkey:r},(a,u)=>{if(a)M(new Error(a));else{const l={};if(u&&u.rows)for(let N=0;N{const s=[];return t&&t.native&&t.native.certificates&&Object.keys(t.native.certificates).forEach(r=>{const o=t.native.certificates[r];if(!o)return;const M={name:r,type:""};o.length<700&&(o.includes("/")||o.includes("\\"))?(r.toLowerCase().includes("private")||o.toLowerCase().includes("private")?M.type="private":(r.toLowerCase().includes("public")||o.toLowerCase().includes("public"))&&(M.type="public"),s.push(M)):(M.type=o.substring(0,26)==="-----BEGIN RSA PRIVATE KEY"||o.substring(0,22)==="-----BEGIN PRIVATE KEY"?"private":"public",M.type==="public"&&o.split("-----END CERTIFICATE-----").filter(u=>u.replace(/\r\n|\r|\n/,"").trim()).length>1&&(M.type="chained"),s.push(M))}),s}),this._promises.cert):Promise.reject(new Error(b))}getLogs(e,t){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise(s=>{this._socket.emit("sendToHost",e,"getLogs",t||200,r=>s(r))}):Promise.reject(new Error(b))}getLogsFiles(e){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise((t,s)=>{this._socket.emit("readLogs",e,(r,o)=>r?s(new Error(r)):t(o))}):Promise.reject(new Error(b))}delLogs(e){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise((t,s)=>{this._socket.emit("sendToHost",e,"delLogs",null,r=>r?s(new Error(r)):t())}):Promise.reject(new Error(b))}readMetaItems(){return this.connected?new Promise((e,t)=>{this._socket.emit("getObjectView","system","meta",{startkey:"",endkey:"香"},(s,r)=>s?t(new Error(s)):e(r.rows&&r.rows.map(o=>o.value)))}):Promise.reject(new Error(b))}readDir(e,t){return this.connected?new Promise((s,r)=>{this._socket.emit("readDir",e,t,(o,M)=>o?r(new Error(o)):s(M))}):Promise.reject(new Error(b))}readFile(e,t,s){return this.connected?new Promise((r,o)=>{s?this._socket.emit("readFile64",e,t,s,(M,a)=>M?o(new Error(M)):r(a)):this._socket.emit("readFile",e,t,(M,a,u)=>{M?o(new Error(M)):r({data:a,type:u})})}):Promise.reject(new Error(b))}writeFile64(e,t,s){return this.connected?new Promise((r,o)=>{if(typeof s=="string")this._socket.emit("writeFile",e,t,s,M=>M?o(new Error(M)):r());else{const M=btoa(new Uint8Array(s).reduce((a,u)=>a+String.fromCharCode(u),""));this._socket.emit("writeFile64",e,t,M,a=>a?o(new Error(a)):r())}}):Promise.reject(new Error(b))}deleteFile(e,t){return this.connected?new Promise((s,r)=>{this._socket.emit("unlink",e,t,o=>o?r(new Error(o)):s())}):Promise.reject(new Error(b))}deleteFolder(e,t){return this.connected?new Promise((s,r)=>{this._socket.emit("deleteFolder",e,t,o=>o?r(new Error(o)):s())}):Promise.reject(new Error(b))}getHosts(e){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):!e&&this._promises.hosts instanceof Promise?this._promises.hosts:this.connected?(this._promises.hosts=new Promise((t,s)=>{this._socket.emit("getObjectView","system","host",{startkey:"system.host.",endkey:"system.host.香"},(r,o)=>{r?s(new Error(r)):t(o.rows.map(M=>M.value))})}),this._promises.hosts):Promise.reject(new Error(b))}getUsers(e){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):!e&&this._promises.users instanceof Promise?this._promises.users:this.connected?(this._promises.users=new Promise((t,s)=>{this._socket.emit("getObjectView","system","user",{startkey:"system.user.",endkey:"system.user.香"},(r,o)=>{r?s(new Error(r)):t(o.rows.map(M=>M.value))})}),this._promises.users):Promise.reject(new Error(b))}getGroups(e){return!e&&this._promises.groups instanceof Promise?this._promises.groups:this.connected?(this._promises.groups=new Promise((t,s)=>{this._socket.emit("getObjectView","system","group",{startkey:"system.group.",endkey:"system.group.香"},(r,o)=>{r?s(new Error(r)):t(o.rows.map(M=>M.value))})}),this._promises.groups):Promise.reject(new Error(b))}getHostInfo(e,t,s){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):(e.startsWith("system.host.")||(e+=`system.host.${e}`),!t&&this._promises[`hostInfo_${e}`]instanceof Promise?this._promises[`hostInfo_${e}`]:this.connected?(this._promises[`hostInfo_${e}`]=new Promise((r,o)=>{let M=setTimeout(()=>{M&&(M=null,o(new Error("getHostInfo timeout")))},s||this.props.cmdTimeout);this._socket.emit("sendToHost",e,"getHostInfo",null,a=>{M&&(clearTimeout(M),M=null,a===dt?o(new Error('May not read "getHostInfo"')):!a||typeof a!="object"?o(new Error('Cannot read "getHostInfo"')):r(a))})}),this._promises[`hostInfo_${e}`]):Promise.reject(new Error(b)))}getHostInfoShort(e,t,s){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):(e.startsWith("system.host.")||(e+=`system.host.${e}`),!t&&this._promises[`hostInfoShort_${e}`]instanceof Promise?this._promises[`hostInfoShort_${e}`]:this.connected?(this._promises[`hostInfoShort_${e}`]=new Promise((r,o)=>{let M=setTimeout(()=>{M&&(M=null,o(new Error("hostInfoShort timeout")))},s||this.props.cmdTimeout);this._socket.emit("sendToHost",e,"getHostInfoShort",null,a=>{M&&(clearTimeout(M),M=null,a===dt?o(new Error('May not read "getHostInfoShort"')):!a||typeof a!="object"?o(new Error('Cannot read "getHostInfoShort"')):r(a))})}),this._promises[`hostInfoShort_${e}`]):Promise.reject(new Error(b)))}getRepository(e,t,s,r){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):!s&&this._promises.repo instanceof Promise?this._promises.repo:this.connected?(e.startsWith("system.host.")||(e+=`system.host.${e}`),this._promises.repo=new Promise((o,M)=>{let a=setTimeout(()=>{a&&(a=null,M(new Error("getRepository timeout")))},r||this.props.cmdTimeout);this._socket.emit("sendToHost",e,"getRepository",t,u=>{a&&(clearTimeout(a),a=null,u===dt?M(new Error('May not read "getRepository"')):!u||typeof u!="object"?M(new Error('Cannot read "getRepository"')):o(u))})}),this._promises.repo):Promise.reject(new Error(b))}getInstalled(e,t,s){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):(this._promises.installed=this._promises.installed||{},!t&&this._promises.installed[e]instanceof Promise?this._promises.installed[e]:this.connected?(e.startsWith("system.host.")||(e+=`system.host.${e}`),this._promises.installed[e]=new Promise((r,o)=>{let M=setTimeout(()=>{M&&(M=null,o(new Error("getInstalled timeout")))},s||this.props.cmdTimeout);this._socket.emit("sendToHost",e,"getInstalled",null,a=>{M&&(clearTimeout(M),M=null,a===dt?o(new Error('May not read "getInstalled"')):!a||typeof a!="object"?o(new Error('Cannot read "getInstalled"')):r(a))})}),this._promises.installed[e]):Promise.reject(new Error(b)))}rename(e,t,s){return this.connected?new Promise((r,o)=>{this._socket.emit("rename",e,t,s,M=>M?o(new Error(M)):r())}):Promise.reject(new Error(b))}renameFile(e,t,s){return this.connected?new Promise((r,o)=>{this._socket.emit("renameFile",e,t,s,M=>M?o(new Error(M)):r())}):Promise.reject(new Error(b))}cmdExec(e,t,s,r){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?(e.startsWith(e)||(e+=`system.host.${e}`),new Promise((o,M)=>{let a=r?setTimeout(()=>{a&&(a=null,M(new Error("cmdExec timeout")))},r):null;this._socket.emit("cmdExec",e,s,t,null,u=>{(!r||a)&&(a&&clearTimeout(a),a=null,u?M(new Error(u)):o())})})):Promise.reject(new Error(b))}checkFeatureSupported(e,t){return!t&&this._promises[`supportedFeatures_${e}`]instanceof Promise?this._promises[`supportedFeatures_${e}`]:this.connected?(this._promises[`supportedFeatures_${e}`]=new Promise((s,r)=>{this._socket.emit("checkFeatureSupported",e,(o,M)=>o?r(new Error(o)):s(M))}),this._promises[`supportedFeatures_${e}`]):Promise.reject(new Error(b))}async readBaseSettings(e){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):await this.checkFeatureSupported("CONTROLLER_READWRITE_BASE_SETTINGS")?this.connected?new Promise((s,r)=>{let o=setTimeout(()=>{o&&(o=null,r(new Error("readBaseSettings timeout")))},this.props.cmdTimeout);e.startsWith("system.host.")&&(e=e.replace(/^system\.host\./,"")),this._socket.emit("sendToHost",e,"readBaseSettings",null,M=>{o&&(clearTimeout(o),o=null,M===dt?r(new Error('May not read "BaseSettings"')):!M||typeof M!="object"?r(new Error('Cannot read "BaseSettings"')):s(M))})}):Promise.reject(new Error(b)):Promise.reject(new Error("Not supported"))}writeBaseSettings(e,t){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.checkFeatureSupported("CONTROLLER_READWRITE_BASE_SETTINGS").then(s=>s?this.connected?new Promise((r,o)=>{let M=setTimeout(()=>{M&&(M=null,o(new Error("writeBaseSettings timeout")))},this.props.cmdTimeout);this._socket.emit("sendToHost",e,"writeBaseSettings",t,a=>{M&&(clearTimeout(M),M=null,a===dt?o(new Error('May not write "BaseSettings"')):a?r(a):o(new Error('Cannot write "BaseSettings"')))})}):Promise.reject(new Error(b)):Promise.reject(new Error("Not supported")))}restartController(e){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):new Promise((t,s)=>{this._socket.emit("sendToHost",e,"restartController",null,r=>{r?s(new Error(r)):t(!0)})})}getDiagData(e,t){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):new Promise(s=>{this._socket.emit("sendToHost",e,"getDiagData",t,r=>s(r))})}getForeignStates(e){return this.connected?F.isWeb()?new Promise((t,s)=>{this._socket.emit("getStates",e||"*",(r,o)=>r?s(new Error(r)):t(o))}):new Promise((t,s)=>{this._socket.emit("getForeignStates",e||"*",(r,o)=>r?s(new Error(r)):t(o))}):Promise.reject(new Error(b))}getForeignObjects(e,t){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise((s,r)=>{this._socket.emit("getForeignObjects",e||"*",t,(o,M)=>o?r(new Error(o)):s(M))}):Promise.reject(new Error(b))}getSystemConfig(e){return!e&&this._promises.systemConfig instanceof Promise?this._promises.systemConfig:this.connected?(this._promises.systemConfig=this.getObject("system.config").then(t=>{const s=t||{};return s.common||={},s.native||={},s}),this._promises.systemConfig):Promise.reject(new Error(b))}setSystemConfig(e){return this.setObject("system.config",e).then(()=>this._promises.systemConfig=Promise.resolve(e))}getRawSocket(){return this._socket}getHistory(e,t){return this.connected?new Promise((s,r)=>{this._socket.emit("getHistory",e,t,(o,M)=>o?r(new Error(o)):s(M))}):Promise.reject(new Error(b))}getHistoryEx(e,t){return this.connected?new Promise((s,r)=>{this._socket.emit("getHistory",e,t,(o,M,a,u)=>o?r(new Error(o)):s({values:M,sessionId:u,step:a}))}):Promise.reject(new Error(b))}changePassword(e,t){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):new Promise((s,r)=>{this._socket.emit("changePassword",e,t,o=>o?r(new Error(o)):s())})}getIpAddresses(e,t){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):(e.startsWith("system.host.")||(e=`system.host.${e}`),!t&&this._promises[`IPs_${e}`]instanceof Promise?this._promises[`IPs_${e}`]:(this._promises[`IPs_${e}`]=this.getObject(e).then(s=>s!=null&&s.common?s.common.address||[]:[]),this._promises[`IPs_${e}`]))}getHostByIp(e,t){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):(e.startsWith("system.host.")&&(e=e.replace(/^system\.host\./,"")),!t&&this._promises[`rIPs_${e}`]instanceof Promise?this._promises[`rIPs_${e}`]:(this._promises[`rIPs_${e}`]=new Promise(s=>{this._socket.emit("getHostByIp",e,(r,o)=>{var u,l;const M=[{name:"[IPv4] 0.0.0.0 - Listen on all IPs",address:"0.0.0.0",family:"ipv4"}],a=[{name:"[IPv6] :: - Listen on all IPs",address:"::",family:"ipv6"}];if((l=(u=o==null?void 0:o.native)==null?void 0:u.hardware)!=null&&l.networkInterfaces){for(const N in o.native.hardware.networkInterfaces)if(Object.prototype.hasOwnProperty.call(o.native.hardware.networkInterfaces,N))for(let c=0;c{this._socket.emit("encrypt",e,(r,o)=>r?s(new Error(r)):t(o))})}decrypt(e){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):new Promise((t,s)=>{this._socket.emit("decrypt",e,(r,o)=>r?s(new Error(r)):t(o))})}getVersion(e){return!e&&this._promises.version instanceof Promise?this._promises.version:(this._promises.version=new Promise((t,s)=>{this._socket.emit("getVersion",(r,o,M)=>{r&&!o&&typeof r=="string"&&r.match(/\d+\.\d+\.\d+/)?t({version:r,serverName:"socketio"}):r?s(new Error(r)):t({version:o,serverName:M})})}),this._promises.version)}getWebServerName(){return this._promises.webName instanceof Promise?this._promises.webName:(this._promises.webName=new Promise((e,t)=>{this._socket.emit("getAdapterName",(s,r)=>s?t(new Error(s)):e(r))}),this._promises.webName)}getAdminVersion(){return console.log("Deprecated: use getVersion"),this.getVersion()}chmodFile(e,t,s){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise((r,o)=>{this._socket.emit("chmodFile",e,t,s,(M,a,u)=>M?o(new Error(M)):r({entries:a,id:u}))}):Promise.reject(new Error(b))}chownFile(e,t,s){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise((r,o)=>{this._socket.emit("chownFile",e,t,s,(M,a,u)=>M?o(new Error(M)):r({entries:a,id:u}))}):Promise.reject(new Error(b))}fileExists(e,t){return this.connected?new Promise((s,r)=>{this._socket.emit("fileExists",e,t,(o,M)=>o?r(new Error(o)):s(M))}):Promise.reject(new Error(b))}getNotifications(e,t){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise(s=>{this._socket.emit("sendToHost",e,"getNotifications",{category:t},r=>s(r))}):Promise.reject(new Error(b))}clearNotifications(e,t){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise(s=>{this._socket.emit("sendToHost",e,"clearNotifications",{category:t},r=>s(r))}):Promise.reject(new Error(b))}getIsEasyModeStrict(){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise((e,t)=>{this._socket.emit("getIsEasyModeStrict",(s,r)=>s?t(new Error(s)):e(r))}):Promise.reject(new Error(b))}getEasyMode(){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise((e,t)=>{this._socket.emit("getEasyMode",(s,r)=>s?t(new Error(s)):e(r))}):Promise.reject(new Error(b))}getCurrentUser(){return this.connected?new Promise(e=>{this._socket.emit("authEnabled",(t,s)=>e(s))}):Promise.reject(new Error(b))}getCurrentSession(e){return this.connected?new Promise((t,s)=>{const r=new AbortController;let o=setTimeout(()=>{o&&(o=null,r.abort(),s(new Error("getCurrentSession timeout")))},e||5e3);fetch("./session",{signal:r.signal}).then(M=>M.json()).then(M=>{o&&(clearTimeout(o),o=null,t(M))}).catch(M=>s(new Error(`getCurrentSession: ${M}`)))}):Promise.reject(new Error(b))}getRatings(e){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise((t,s)=>{this._socket.emit("getRatings",e,(r,o)=>r?s(new Error(r)):t(o))}):Promise.reject(new Error(b))}getCurrentInstance(){return this.connected?this._promises.currentInstance instanceof Promise?this._promises.currentInstance:(this._promises.currentInstance=new Promise((e,t)=>{this._socket.emit("getCurrentInstance",(s,r)=>s?t(new Error(s)):e(r))}),this._promises.currentInstance):Promise.reject(new Error(b))}getCompactAdapters(e){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):!e&&this._promises.compactAdapters instanceof Promise?this._promises.compactAdapters:this.connected?(this._promises.compactAdapters=new Promise((t,s)=>{this._socket.emit("getCompactAdapters",(r,o)=>r?s(new Error(r)):t(o))}),this._promises.compactAdapters):Promise.reject(new Error(b))}getAdaptersResetCache(e){e||="",delete this._promises.compactAdapters,delete this._promises[`adapter_${e}`]}getCompactInstances(e){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):!e&&this._promises.compactInstances instanceof Promise?this._promises.compactInstances:this.connected?(this._promises.compactInstances=new Promise((t,s)=>{this._socket.emit("getCompactInstances",(r,o)=>r?s(new Error(r)):t(o))}),this._promises.compactInstances):Promise.reject(new Error(b))}getAdapternInstancesResetCache(e){e||="",delete this._promises.compactInstances,delete this._promises[`instances_${e}`]}getCompactInstalled(e,t,s){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):(this._promises.installedCompact||={},!t&&this._promises.installedCompact[e]instanceof Promise?this._promises.installedCompact[e]:this.connected?(e.startsWith("system.host.")||(e+=`system.host.${e}`),this._promises.installedCompact[e]=new Promise((r,o)=>{let M=setTimeout(()=>{M&&(M=null,o(new Error("getCompactInstalled timeout")))},s||this.props.cmdTimeout);this._socket.emit("getCompactInstalled",e,a=>{M&&(clearTimeout(M),M=null,a===dt?o(new Error('May not read "getCompactInstalled"')):!a||typeof a!="object"?o(new Error('Cannot read "getCompactInstalled"')):r(a))})}),this._promises.installedCompact[e]):Promise.reject(new Error(b)))}getCompactSystemRepositories(e,t){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):!e&&this._promises.getCompactSystemRepositories instanceof Promise?this._promises.getCompactSystemRepositories:this.connected?(this._promises.getCompactSystemRepositories=new Promise((s,r)=>{let o=setTimeout(()=>{o&&(o=null,r(new Error("getCompactSystemRepositories timeout")))},t||this.props.cmdTimeout);this._socket.emit("getCompactSystemRepositories",M=>{o&&(clearTimeout(o),o=null,M===dt?r(new Error('May not read "getCompactSystemRepositories"')):!M||typeof M!="object"?r(new Error('Cannot read "getCompactSystemRepositories"')):s(M))})}),this._promises.getCompactSystemRepositories):Promise.reject(new Error(b))}getCompactSystemConfig(e){return!e&&this._promises.systemConfigPromise instanceof Promise?this._promises.systemConfigPromise:this.connected?(this._promises.systemConfigPromise=new Promise((t,s)=>{this._socket.emit("getCompactSystemConfig",(r,o)=>r?s(new Error(r)):t(o))}),this._promises.systemConfigPromise):Promise.reject(new Error(b))}getCompactRepository(e,t,s){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):!t&&this._promises.repoCompact instanceof Promise?this._promises.repoCompact:this.connected?(e.startsWith("system.host.")||(e+=`system.host.${e}`),this._promises.repoCompact=new Promise((r,o)=>{let M=setTimeout(()=>{M&&(M=null,o(new Error("getCompactRepository timeout")))},s||this.props.cmdTimeout);this._socket.emit("getCompactRepository",e,a=>{M&&(clearTimeout(M),M=null,a===dt?o(new Error('May not read "getCompactRepository"')):a?r(a):o(new Error('Cannot read "getCompactRepository"')))})}),this._promises.repoCompact):Promise.reject(new Error(b))}getInstalledResetCache(){delete this._promises.repoCompact,delete this._promises.repo}getCompactHosts(e){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):!e&&this._promises.hostsCompact instanceof Promise?this._promises.hostsCompact:this.connected?(this._promises.hostsCompact=new Promise((t,s)=>{this._socket.emit("getCompactHosts",(r,o)=>r?s(new Error(r)):t(o))}),this._promises.hostsCompact):Promise.reject(new Error(b))}getUuid(){return this._promises.uuid instanceof Promise?this._promises.uuid:this.connected?(this._promises.uuid=this.getObject("system.meta.uuid").then(e=>{var t;return(t=e==null?void 0:e.native)==null?void 0:t.uuid}),this._promises.uuid):Promise.reject(new Error(b))}subscribeOnInstance(e,t,s,r){return this.connected?new Promise((o,M)=>{this._socket.emit("clientSubscribe",e,t,s,(a,u)=>{a?M(new Error(a)):u!=null&&u.error?M(new Error(u.error)):(e.startsWith("system.adapter.")||(e=`system.adapter.${e}`),this._instanceSubscriptions[e]||=[],this._instanceSubscriptions[e].find(l=>l.messageType===t&&l.callback===r)||this._instanceSubscriptions[e].push({messageType:t,callback:r}),o(u))})}):Promise.reject(new Error(b))}unsubscribeFromInstance(e,t,s){var M;e.startsWith("system.adapter.")||(e=`system.adapter.${e}`);let r;const o=[];do{r=!1;const a=(M=this._instanceSubscriptions[e])==null?void 0:M.findIndex(u=>(!t||u.messageType===t)&&(!s||u.callback===s));if(a!=null&&a!==-1){r=!0;const u=this._instanceSubscriptions[e][a].messageType;this._instanceSubscriptions[e].splice(a,1),this._instanceSubscriptions[e].length||delete this._instanceSubscriptions[e],this._instanceSubscriptions[e]&&this._instanceSubscriptions[e].find(N=>N.messageType===u)||o.push(new Promise((N,c)=>{this._socket.emit("clientUnsubscribe",e,t,(L,j)=>{L?c(new Error(L)):N(j)})}))}}while(r&&(!s||!t));return o.length?Promise.all(o).then(a=>a.find(u=>u)||!1):Promise.resolve(!1)}log(e,t){e&&this._socket.emit("log",e,t||"debug")}logout(){return this.connected?new Promise((e,t)=>{this._socket.emit("logout",s=>s?t(new Error(s)):e())}):Promise.reject(new Error(b))}setStateToIgnore(e){this.ignoreState=e||""}}function zge(i){var e;return i.type==="object"?`iobobject://${i.address}/${i.path||""}`:i.type==="state"?`iobstate://${i.address}`:i.type==="file"?`iobfile://${i.address}/${i.path||""}`:i.type==="http"?i.address:(e=i.path)!=null&&e.includes("/")?`iobfile://${i.address}/${i.path}`:i.path?`iobobject://${i.address}/${i.path}`:`iobstate://${i.address}`}function mje(i){const e={type:"object",address:""};if(i.startsWith("iobobject://")){e.type="object",i=i.replace("iobobject://","");const t=i.split("/");e.address=t[0],e.path=t[1]}else if(i.startsWith("iobstate://")){e.type="state",i=i.replace("iobstate://","");const t=i.split("/");e.address=t[0],e.path=t[1]}else if(i.startsWith("iobfile://")){e.type="file",i=i.replace("iobfile://","");const t=i.split("/");e.address=t.shift(),e.path=t.join("/")}else if(i.startsWith("http://")||i.startsWith("https://"))e.type="http",e.address=i;else if(i.startsWith("data:"))e.type="base64",e.address=i;else{const t=i.split("/");if(t.length===2)if(e.address=t[0],e.path=t[1],e.path.includes("."))e.type="object";else if(e.path)if(e.path==="val"||e.path==="q"||e.path==="ack"||e.path==="ts"||e.path==="lc"||e.path==="from"||e.path==="user"||e.path==="expire"||e.path==="c")e.type="state";else if(e.path==="common"||e.path==="native"||e.path==="from"||e.path==="acl"||e.path==="type")e.type="object";else throw new Error(`Unknown path: ${e.path}`);else e.type="state";else t.length===1?(e.address=t[0],e.type="state"):(e.address=t.shift(),e.type="file",e.path=t.join("/"))}return e}function Gu(i,e,t){if(t||=0,i==null||!e)return i;if(e.length-1===t)return i[e[t]];if(typeof i=="object")return Gu(i[e[t]],e,t+1)}function pje(i,e,t,s){if(s||=0,i==null||!e)return t;if(e.length-1===s)return i[e[s]]=t,i;if(typeof i=="object")return pje(i[e[s]],e,t,s+1)}async function Ige(i,e){var t;if(typeof i=="string"&&(i=mje(i)),i.type==="object"){const s=await e.getObject(i.address);return Gu(s,(t=i.path)==null?void 0:t.split("."))}if(i.type==="state"){const s=await e.getState(i.address);return i.path?s==null?void 0:s[i.path]:s}if(i.type==="file")return await e.readFile(i.address,i.path,!0);if(i.type==="http")return fetch(i.address).then(s=>s.text()).then(s=>{if(s.startsWith("{")&&s.endsWith("}")||s.startsWith("[")&&s.endsWith("]"))try{return JSON.parse(s)}catch{}return s});throw new Error(`Unknown type: ${i.type}`)}const Wr=i=>{const e={};return i.forEach(t=>{e[t]={requiredVersion:"*",singleton:!0}}),e};function hge(i){const e=["@emotion/react","@emotion/styled","@iobroker/adapter-react-v5","@iobroker/json-config","@iobroker/dm-gui-components","@mui/icons-material","@mui/material","@mui/x-date-pickers","date-fns","date-fns/locale","leaflet","leaflet-geosearch","react","react-ace","react-dom","react-dropzone","semver"];return Array.isArray(i)?Wr(e.filter(t=>i.includes(t))):i&&(i.dependencies||i.devDependencies)?Wr(e.filter(t=>{var s,r;return((s=i.dependencies)==null?void 0:s[t])||((r=i.devDependencies)==null?void 0:r[t])})):Wr(e)}export{$je as AdminConnection,M4e as Cleaner,Vs as ColorPicker,Pt as ComplexCron,gge as ComplexCronDialog,Wc as Confirm,Oe as Connection,Tge as Cron,Pje as CustomModal,m4e as DeviceTypeIcon,ige as DeviceTypeSelector,gge as DialogComplexCron,Wc as DialogConfirm,Tge as DialogCron,Rc as DialogError,yge as DialogMessage,Dge as DialogSelectFile,ALe as DialogSelectID,dge as DialogSimpleCron,Bue as DialogTextInput,Bje as DoorClosed,n4e as DoorOpened,fe as ERRORS,Ee as EXTENSIONS,Rc as Error,Tle as FileBrowser,iM as FileBrowserClass,gle as FileViewer,jle as FileViewerClass,Gje as FireOff,Kn as FireOn,Fje as FloodOff,qn as FloodOn,a4e as Gate,qt as GenericApp,Hje as HeatValve,Vje as Home,c4e as Humidity,D as I18n,la as ITEM_IMAGES,Se as Icon,W4e as IconAdapter,Nle as IconAlias,lge as IconButtonImage,lu as IconChannel,G4e as IconClearFilter,ms as IconClosed,Ts as IconCopy,Nu as IconDevice,R4e as IconDocument,J4e as IconDocumentReadOnly,uo as IconExpert,Nge as IconFx,Zje as IconHome,B4e as IconInstance,Lge as IconLogout,sM as IconNoIcon,vi as IconOpen,Jje as IconPicker,HNe as IconSelector,Xs as IconState,jge as IconVacuum,bi as Image,oge as InfoBox,ea as Jalousie,F as LegacyConnection,Dg as Loader,ug as LoaderMV,lg as LoaderNW,yg as LoaderPT,Lg as LoaderVendor,cu as Logo,uu as MDUtils,Xje as Material,yge as Message,Kje as MotionOff,u4e as MotionOn,aLe as ObjectBrowser,Xi as ObjectBrowserClass,bje as PERMISSION_ERROR,at as PROGRESS,l4e as PushButton,Sr as RGB,qje as RepairExpert,qs as Router,rge as STATES_NAME_ICONS,Cg as SaveCloseButtons,Ce as Schedule,Dge as SelectFile,ALe as SelectID,Mge as SelectWithIcon,ci as SimpleCron,dge as SimpleCronDialog,N4e as Socket,F4e as TabContainer,H4e as TabContent,V4e as TabHeader,nge as TableResize,Bue as TextInput,age as TextWithIcon,uN as Theme,L4e as Thermometer,ege as ThermometerSimple,j4e as Thermostat,cge as ToggleThemeMenu,wo as TreeTable,uge as UploadImage,E as Utils,tge as Valve,sge as WindowClosed,g4e as WindowOpened,nu as WindowTilted,Bc as convertCronToText,Pc as copy,Bu as cron2state,Oue as dictionary,au as extendDeviceTypeTranslation,Gu as getAttrInObject,Rje as getSelectIdIcon,Zi as getSelectIdIconFromObjects,Wje as getSystemIcon,mje as iobUriParse,Ige as iobUriRead,zge as iobUriToString,hge as moduleFederationShared,Ya as pattern2RegEx,cg as printPrompt,pje as setAttrInObject,ur as withWidth}; diff --git a/admin/custom/assets/index-CYc31Gwg.js b/admin/custom/assets/index-CYc31Gwg.js new file mode 100644 index 000000000..67a117644 --- /dev/null +++ b/admin/custom/assets/index-CYc31Gwg.js @@ -0,0 +1,960 @@ +import{o as He,g as zM,c as IM,a as hM}from"./createTheme-Wd4QxQE0.js";import{h as n,a as ye,i as ze,f as Yo,j as Hu,k as Vu,_ as Fe,g as Qt,l as Zu,m as Xu,n as va,o as Ku,p as qu}from"./ConfigCustomJavascriptSet__loadShare__react__loadShare__.mjs-0SjJESw9.js";import{h as qi,i as ba,j as Ct,k as de,l as he,m as Ae,n as Jt,_ as H,a as ne,o as me,p as X,q as Jr,r as P,s as W,b as le,t as ss,e as Xe,f as te,u as el,v as tl,w as ls,x as sl,y as $a,z as ae,A as Yt,B as nt,C as il,D as Ut,E as rl,c as wt,d as As,F as Pa,G as vt,H as wM,I as Di,J as CM,K as AM,L as ol,M as Ml,N as Me,O as Tr,P as nl,Q as Wa,R as Ve,S as mM,T as al,U as pM,V as cl}from"./ConfigCustomJavascriptSet__loadShare___mf_0_mui_mf_1_material__loadShare__.mjs-KsT5vKjV.js";import{_ as Br,a as ge,b as Ue,c as ut,d as ul,e as Pi,f as ll,g as Qo,h as Uo,i as vo,j as zs,k as bo,l as er,m as $o,n as Nl,o as Ll,p as Ra,q as jl,r as Po,s as gl,t as Tl,u as Ks,v as yl,w as Dl,x as dl,y as zl,z as Il,A as hl,B as wl,C as Cl,D as Al,E as Ja,F as Ba,G as Wi,H as ml,I as Ga,J as pl,K as Ol,L as El,M as Fa,N as _l,O as fl,P as Sl,Q as xl,R as Gr,S as kl,T as Yl,U as Ql,V as Fr,W as Ul,X as di,Y as vl,Z as bl,$ as $l,a0 as Pl,a1 as Wl,a2 as Rl,a3 as Jl,a4 as Bl,a5 as Gl,a6 as Fl,a7 as Hl,a8 as Vl,a9 as Zl,aa as Xl,ab as Kl,ac as ui,ad as ql,ae as eN,af as tN,ag as sN,ah as iN,ai as rN}from"./ConfigCustomJavascriptSet__loadShare___mf_0_mui_mf_1_icons_mf_2_material__loadShare__.mjs-B551AMx-.js";import{C as oN,D as Ha,u as MN}from"./index-YBvFYuP6.js";function nN(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}import{u as aN}from"./useTheme-BfhDdtAr.js";import"./blue-CagzI6CQ.js";import"./index-huvZQhZw.js";import"./defaultTheme-F2iJF2G2.js";import"./useTheme-DWZ6jNyq.js";const yr=11/23/100;function OM(i){const e={r:0,g:0,b:0};if(i.length===7)e.r=parseInt(i.substring(1,3),16),e.g=parseInt(i.substring(3,5),16),e.b=parseInt(i.substring(5,7),16);else if(i.length===4){const t=i[1],s=i[2],r=i[3];e.r=parseInt(t+t,16),e.g=parseInt(s+s,16),e.b=parseInt(r+r,16)}return e}function cN(i){return`#${Math.round(i.r).toString(16)}${Math.round(i.g).toString(16)}${Math.round(i.b).toString(16)}`}function uN(i,e,t){const s=OM(i),r=OM(e);return s.r+=r.r*(.05+yr*(t-1)),s.g+=r.g*(.05+yr*(t-1)),s.b+=r.b*(.05+yr*(t-1)),cN(s)}function Dr(i,e){const t={};for(let s=1;s<=24;s++)t[`elevation${s}`]={backgroundColor:uN(i,e,s)};return t}function lN(i,e){var M,a,u,l,N,c,L,j,g,y,d;let t,s;i==="dark"?(s={MuiAppBar:{colorDefault:{backgroundColor:"#272727"}},MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:He[200],"&:hover":{color:He[100]}}},MuiPaper:Dr("#121212","#fff")},t={name:i,palette:{mode:"dark",background:{paper:"#121212",default:"#121212"},primary:{main:"#4dabf5"},secondary:{main:"#436a93"},expert:"#14bb00",text:{primary:"#ffffff",secondary:"#ffffff"}}}):i==="blue"?(s={MuiAppBar:{colorDefault:{backgroundColor:"#3399CC"}},MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:He[400],"&:hover":{color:He[300]}}}},t={name:i,palette:{mode:"dark",background:{paper:"#151d21",default:"#151d21"},primary:{main:"#4dabf5"},secondary:{main:"#436a93"},expert:"#14bb00",text:{primary:"#ffffff",secondary:"#ffffff"}}}):i==="colored"?(s={MuiAppBar:{colorDefault:{backgroundColor:"#2a3135"}},MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:He[200],"&:hover":{color:He[100]}}},MuiPaper:Dr("#151d21","#fff")},t={name:i,palette:{mode:"light",primary:{main:"#3399CC"},secondary:{main:"#164477"},expert:"#96fc96"}}):i==="PT"?(s={MuiAppBar:{colorDefault:{backgroundColor:"#0F99DE"}},MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:He[400],"&:hover":{color:He[300]}}}},t={name:i,palette:{mode:"light",primary:{main:"#0F99DE"},secondary:{main:"#88A536"},expert:"#BD1B24"}}):i==="NW"?(s={MuiAppBar:{colorDefault:{backgroundColor:"#272727"}},MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:He[400],"&:hover":{color:He[300]}}},MuiPaper:Dr("#121212","#fff")},t={name:i,palette:{mode:"dark",background:{paper:"#121212",default:"#121212"},primary:{main:"#00af78"},secondary:{main:"#005a40"},expert:"#14bb00",text:{primary:"#ffffff",secondary:"#ffffff"}}}):(s={MuiLink:{root:{textTransform:"uppercase",transition:"color .3s ease",color:He[400],"&:hover":{color:He[300]}}}},t={name:i,palette:{mode:"light",primary:{main:"#3399CC",dark:"#256c97",light:"#76d0fd"},secondary:{main:"#164477"},expert:"#14bb00"}}),t.toolbar={height:48},t.saveToolbar={background:(a=(M=t.palette)==null?void 0:M.primary)==null?void 0:a.main,button:{borderRadius:3,height:32}},t.palette&&(t.palette.grey={main:zM[300],dark:zM[400]});const r=IM(t),o=r.palette;return IM(r,{...e||void 0,components:{...s,MuiButton:{variants:[{props:{variant:"contained",color:"grey"},style:{backgroundColor:(u=o.grey)==null?void 0:u[300],color:o.getContrastText&&((l=o.grey)!=null&&l[300])?o.getContrastText(o.grey[300]):void 0}},{props:{variant:"outlined",color:"grey"},style:{color:(N=o.text)==null?void 0:N.primary,borderColor:o.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)","&.Mui-disabled":{border:`1px solid ${(c=o.action)==null?void 0:c.disabledBackground}`},"&:hover":{borderColor:o.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)",backgroundColor:hM(((L=o.text)==null?void 0:L.primary)||"",((j=o.action)==null?void 0:j.hoverOpacity)||.04)}}},{props:{variant:"text",color:"grey"},style:{color:(g=o.text)==null?void 0:g.primary,"&:hover":{backgroundColor:hM(((y=o.text)==null?void 0:y.primary)||"",((d=o.action)==null?void 0:d.hoverOpacity)||.04)}}}]},...(e==null?void 0:e.components)||void 0}})}function NN(){let i,e;const t=new Promise((s,r)=>{i=s,e=r});return t.resolve=i,t.reject=e,t}function Hr(i){return(i==null?void 0:i.rows.map(e=>e.value).filter(e=>!!e))??[]}function It(i){return i!=null&&i.startsWith("system.host.")||(i=`system.host.${i}`),i}function Ps(i){return i!=null&&i.startsWith("system.host.")&&(i=i.substring(12)),i}function EM(i){return new Promise(e=>{setTimeout(e,i)})}function zi(i){i=(i||"").toString();const e=i[0]==="*",t=i[i.length-1]==="*";return i=i.replace(/[-/\\^$+?.()|[\]{}]/g,"\\$&").replace(/\*/g,".*"),(e?"":"^")+i+(t?"":"$")}typeof globalThis.process<"u"&&(globalThis.location||={href:"http://localhost:8081/",protocol:"http:",host:"localhost:8081",pathname:"/",hostname:"localhost",reload:()=>{}},globalThis.localStorage||={_keys:{},setItem:(i,e)=>{globalThis.localStorage._keys[i]=e},getItem:i=>i in globalThis.localStorage._keys?globalThis.localStorage._keys[i]:null,removeItem:i=>{i in globalThis.localStorage._keys&&delete globalThis.localStorage._keys[i]}},globalThis.sessionStorage||=globalThis.localStorage,globalThis.navigator||={language:"en"});var at;(function(i){i[i.CONNECTING=0]="CONNECTING",i[i.CONNECTED=1]="CONNECTED",i[i.OBJECTS_LOADED=2]="OBJECTS_LOADED",i[i.READY=3]="READY"})(at||(at={}));var fe;(function(i){i.PERMISSION_ERROR="permissionError",i.NOT_CONNECTED="notConnectedError",i.TIMEOUT="timeout",i.NOT_ADMIN="Allowed only in admin",i.NOT_SUPPORTED="Not supported"})(fe||(fe={}));const Pje=fe.PERMISSION_ERROR;fe.NOT_CONNECTED;const LN=["material","echarts","vis"];class Oe{props;connId;lastAccessToken=null;ignoreState="";connected=!1;subscribed=!1;firstConnect=!0;waitForRestart=!1;loaded=!1;simStates={};objectViewCached;constructor(e){this.props=this.applyDefaultProps(e),this.connId=`${this.props.name?`${this.props.name}-`:""}${Math.round(Math.random()*1e6).toString().padStart(6,"0")}`,this.waitForSocketLib().then(()=>this.startSocket()).catch(t=>{alert(`Socket connection could not be initialized: ${t}`)})}applyDefaultProps(e){return{...e,protocol:e.protocol||globalThis.location.protocol,host:e.host||globalThis.location.hostname,port:e.port||(globalThis.location.port==="3000"?8081:globalThis.location.port),ioTimeout:Math.max(e.ioTimeout||2e4,2e4),cmdTimeout:Math.max(e.cmdTimeout||5e3,5e3),admin5only:e.admin5only||!1,autoSubscribes:e.autoSubscribes??[],autoSubscribeLog:e.autoSubscribeLog??!1,doNotLoadACL:e.doNotLoadACL??!0,doNotLoadAllObjects:e.doNotLoadAllObjects??!0}}statesSubscribes={};filesSubscribes={};objectsSubscribes={};objects={};states={};acl=null;isSecure=!1;onReadyDone=!1;onConnectionHandlers=[];onLogHandlers=[];onCmdStdoutHandler;onCmdStderrHandler;onCmdExitHandler;onError(e){(this.props.onError??console.error)(e)}_socket;_waitForSocketPromise;_waitForFirstConnectionPromise=NN();_instanceSubscriptions={};_promises={};_authTimer=null;_refreshTimer=null;_systemConfig;get systemConfig(){return this._systemConfig}systemLang="en";static isWeb(){return globalThis.socketUrl!==void 0}waitForSocketLib(){return this._waitForSocketPromise?this._waitForSocketPromise:(this._waitForSocketPromise=new Promise(async(e,t)=>{if(this.props.connect){e();return}if(typeof globalThis.io>"u"&&typeof globalThis.iob>"u")if(typeof globalThis.registerSocketOnLoad=="function")globalThis.registerSocketOnLoad(()=>e());else{for(let s=1;s<=30;s++){if(globalThis.io||globalThis.iob)return e();await EM(100)}t(new Error("Socket library could not be loaded!"))}else e()}),this._waitForSocketPromise)}async startSocket(){if(this._socket)return;let e=this.props.host,t=this.props.port,s=(this.props.protocol||globalThis.location.protocol).replace(":",""),r=globalThis.location.pathname;if(globalThis.location.hostname==="iobroker.net"||globalThis.location.hostname==="iobroker.pro")r="";else{if(globalThis.socketUrl){const u=new globalThis.URL(globalThis.socketUrl);e=u.hostname,t=u.port,s=u.protocol.replace(":","")}const a=r.lastIndexOf("/");if(a!==-1&&(r=r.substring(0,a+1)),Oe.isWeb()){const u=r.split("/");u.length>2&&(u.pop(),u.pop(),LN.includes(u[u.length-1])&&u.pop(),r=u.join("/"),r.endsWith("/")||(r+="/"))}}const o=t?`${s}://${e}:${t}`:`${s}://${e}`,M=this.props.connect||(globalThis.io||globalThis.iob).connect;return this._socket=M(o,{path:r.endsWith("/")?`${r}socket.io`:`${r}/socket.io`,query:"ws=true",name:this.props.name,timeout:this.props.ioTimeout,uuid:this.props.uuid,token:this.props.token}),this._socket.on("connect",a=>{var l;(l=globalThis.addEventListener)==null||l.call(globalThis,"storage",this.onAccessTokenUpdated);const u=Oe.readTokens();if(u&&!u.owner){const N=Date.now();this.saveTokens({access_token:u.access_token,refresh_token:u.refresh_token,expires_in:Math.round((u.expires_in.getTime()-N)/1e3),refresh_token_expires_in:Math.round((u.refresh_token_expires_in.getTime()-N)/1e3),token_type:"Bearer"},u.stayLoggedIn)}this.onReadyDone=!1,a!==!0?(this.connected=!0,setTimeout(()=>this.getVersion().then(N=>{const[c,L,j]=N.version.split(".");parseInt(c,10)*1e4+parseInt(L,10)*100+parseInt(j,10)<40102?(this._authTimer=null,this.onPreConnect(!1,!1)):this._socket.emit("authenticate",(y,d)=>this.onPreConnect(y,d))}).catch(N=>this.onError({message:N.toString(),operation:"getVersion"})),500)):this._socket.emit("authenticate",(N,c)=>{this.onPreConnect(N,c)})}),this._socket.on("reconnect",()=>{var a,u;this.onReadyDone=!1,(u=(a=this.props).onProgress)==null||u.call(a,at.READY),this.connected=!0,this.waitForRestart?globalThis.location.reload():(this._subscribe(!0),this.onConnectionHandlers.forEach(l=>l(!0)))}),this._socket.on("disconnect",()=>{var a,u;this.onReadyDone=!1,this.connected=!1,this.subscribed=!1,(u=(a=this.props).onProgress)==null||u.call(a,at.CONNECTING),this.onConnectionHandlers.forEach(l=>l(!1))}),this._socket.on("reauthenticate",()=>this.authenticate()),this._socket.on("log",a=>{var u,l;(l=(u=this.props).onLog)==null||l.call(u,a),this.onLogHandlers.forEach(N=>N(a))}),this._socket.on("error",a=>{let u;a==null?u="":typeof a.toString=="function"?u=a.toString():(u=JSON.stringify(a),console.error(`Received strange error: ${u}`)),u.includes("User not authorized")?this.authenticate():u.includes("websocket error")?(console.error(`Socket Error => reload: ${a}`),globalThis.location.reload()):console.error(`Socket Error: ${a}`)}),this._socket.on("connect_error",a=>console.error(`Connect error: ${a}`)),this._socket.on("permissionError",a=>this.onError({message:"no permission",operation:a.operation,type:a.type,id:a.id||""})),this._socket.on("objectChange",(a,u)=>{setTimeout(()=>this.objectChange(a,u),0)}),this._socket.on("stateChange",(a,u)=>{setTimeout(()=>this.stateChange(a,u),0)}),this._socket.on("im",(a,u,l)=>{setTimeout(()=>this.instanceMessage(a,u,l),0)}),this._socket.on("fileChange",(a,u,l)=>{setTimeout(()=>this.fileChange(a,u,l),0)}),this._socket.on("cmdStdout",(a,u)=>{var l;(l=this.onCmdStdoutHandler)==null||l.call(this,a,u)}),this._socket.on("cmdStderr",(a,u)=>{var l;(l=this.onCmdStderrHandler)==null||l.call(this,a,u)}),this._socket.on("cmdExit",(a,u)=>{var l;(l=this.onCmdExitHandler)==null||l.call(this,a,u)}),Promise.resolve()}onPreConnect(e,t){var s,r;this._authTimer&&(clearTimeout(this._authTimer),this._authTimer=null),this.connected=!0,this.isSecure=t,this.waitForRestart?globalThis.location.reload():(this.firstConnect?this.loadData().catch(o=>{console.error(`Cannot load data: ${o}`)}):(r=(s=this.props).onProgress)==null||r.call(s,at.READY),this._subscribe(!0),this.onConnectionHandlers.forEach(o=>o(!0)),this.checkAccessTokenExpire()),this._waitForFirstConnectionPromise.resolve()}static readTokens(){let e=globalThis.sessionStorage.getItem("iob_tokens");const t=!e;if(e||(e=globalThis.localStorage.getItem("iob_tokens")),!e)return null;const[s,r,o,M,a]=e.split(";"),u=new Date(r);return u.getTime(){if(e.key==="iob_tokens"){const t=Oe.readTokens();t&&(console.log(`Tab ${this.connId} received updated token: ${t.access_token}`),this.updateTokenExpiration(t.access_token))}};updateTokenExpiration(e){this.lastAccessToken!==e&&(this.lastAccessToken=e,this._socket.emit("updateTokenExpiration",e,(t,s)=>{t?(console.error(`[UPDATE/${new Date().toISOString()}] cannot say to server about new token: ${t}`),globalThis.location.reload()):s?console.log(`[UPDATE/${new Date().toISOString()}] server accepted new token: ${e}`):(console.error(`[UPDATE/${new Date().toISOString()}] cannot say to server about new token`),globalThis.location.reload())})),this.checkAccessTokenExpire()}refreshTokens(e,t){if(!e){console.log(`[REFRESH/${new Date().toISOString()}] No token structure found => reloading the page`),setTimeout(()=>globalThis.location.reload(),500);return}t||!e.owner||e.owner===this.connId?(console.log(`[REFRESH/${new Date().toISOString()}] claim ownership of the token`),this.acquireTokenLock()?(console.log(`[REFRESH/${new Date().toISOString()}] refreshing token`),fetch("./oauth/token",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:`grant_type=refresh_token&refresh_token=${e.refresh_token}&client_id=ioBroker&stayloggedin=${e.stayLoggedIn}`}).then(s=>{if(s.ok)return s.json();throw new Error("Cannot refresh access token")}).then(s=>{if(s.access_token)console.log(`[REFRESH/${new Date().toISOString()}] received new token: ${s.access_token}`),this.saveTokens(s,e.stayLoggedIn),this.releaseTokenLock(),this.updateTokenExpiration(s.access_token);else throw new Error("Cannot get access token")}).catch(s=>{console.warn(`[REFRESH/${new Date().toISOString()}] cannot refresh token: ${s}`),this.releaseTokenLock(),this.deleteTokens(e.stayLoggedIn),console.error(s),globalThis.location.reload()})):(console.log(`[REFRESH/${new Date().toISOString()}] Someone else is updating the token, so wait for the next check`),this.checkAccessTokenExpire())):this.lastAccessToken!==e.access_token&&this.updateTokenExpiration(e.access_token)}acquireTokenLock(){const e=Date.now(),t=globalThis.localStorage.getItem("iob_token_semaphore");if(t)try{const r=JSON.parse(t);if(e{r?(console.log(`[TOKEN/${new Date().toISOString()}] Token will be prolonged`),this.refreshTokens(e,s)):(console.log(`[TOKEN/${new Date().toISOString()}] Token will not be prolonged. Reloading the page`),setTimeout(()=>globalThis.location.reload(),Date.now()>t?500:t-Date.now()))})):(console.log(`[TOKEN/${new Date().toISOString()}] No tokenTimeoutHandler defined. Prolonging the token`),this.refreshTokens(e,s))):this.lastAccessToken!==e.access_token?(console.log(`[TOKEN/${new Date().toISOString()}] We are not the owner of the token, but we will inform the server about new token`),this.refreshTokens(e)):(console.log(`[TOKEN/${new Date().toISOString()}] We are not the owner of the token and the token did not change. Check in 3 seconds if the owner updated the token`),this._refreshTimer=setTimeout(()=>{this._refreshTimer=null,this.checkAccessTokenExpire()},3e3)):(console.log(`[TOKEN/${new Date().toISOString()}] We do not have a refresh token, so we need to reauthenticate`),setTimeout(()=>globalThis.location.reload(),Date.now()>t?500:t-Date.now()))}else this._refreshTimer=setTimeout(()=>{this._refreshTimer=null,this.checkAccessTokenExpire()},t-Date.now()-3e4>12e4?12e4:t-Date.now()-3e4)}}}static isCloud(){return globalThis.location.hostname.includes("amazonaws.com")||globalThis.location.hostname.includes("iobroker.in")?!0:typeof globalThis.socketUrl>"u"?!1:globalThis.socketUrl.includes("iobroker.in")||globalThis.socketUrl.includes("amazonaws")}isConnected(){return this.connected}waitForFirstConnection(){return this._waitForFirstConnectionPromise}async getUserPermissions(){return this.request({commandTimeout:!1,executor:(e,t)=>{this._socket.emit("getUserPermissions",(s,r)=>{s?t(s):e(r||null)})}})}async loadData(){if(this.loaded)return;const e=10;for(let t=1;t<=e;t++){if(this.doLoadData().catch(s=>console.error(`Cannot load data: ${s}`)),this.loaded)return;await EM(Oe.isCloud()?5e3:1e3)}}async doLoadData(){var e,t,s,r,o,M,a,u,l;if(!this.loaded){if(!this.props.doNotLoadACL)try{this.acl=await this.getUserPermissions()}catch(N){this.onError(`Cannot read user permissions: ${N}`);return}try{this.props.admin5only&&!Oe.isWeb()&&(!globalThis.vendorPrefix||globalThis.vendorPrefix==="@@vendorPrefix@@")?this._systemConfig=await this.getCompactSystemConfig():this._systemConfig=await this.getSystemConfig()}catch(N){this.onError(`Cannot read system config: ${N}`);return}this._systemConfig&&(this.systemLang=(e=this._systemConfig.common)==null?void 0:e.language,this.systemLang||(this.systemLang=globalThis.navigator.userLanguage||globalThis.navigator.language,/^(en|de|ru|pt|nl|fr|it|es|pl|uk)-?/.test(this.systemLang)?this.systemLang=this.systemLang.substring(0,2):/^(en|de|ru|pt|nl|fr|it|es|pl|uk|zh-cn)$/.test(this.systemLang)||(this.systemLang="en"),this._systemConfig.common.language=this.systemLang)),(s=(t=this.props).onLanguage)==null||s.call(t,this.systemLang),this.loaded=!0,(o=(r=this.props).onProgress)==null||o.call(r,at.CONNECTED),this.firstConnect=!1,this.props.doNotLoadAllObjects?this.props.admin5only?this.objects={}:this.objects={"system.config":this._systemConfig}:this.objects=await this.getObjects(),(a=(M=this.props).onProgress)==null||a.call(M,at.READY),this.onReadyDone||(this.onReadyDone=!0,(l=(u=this.props).onReady)==null||l.call(u,this.objects))}}authenticate(){globalThis.location.search.includes("&href=")?globalThis.location.href=`${globalThis.location.protocol}//${globalThis.location.host}${globalThis.location.pathname}${globalThis.location.search}`:globalThis.location.href=`${globalThis.location.protocol}//${globalThis.location.host}${globalThis.location.pathname}?login&href=${encodeURIComponent(globalThis.location.search+globalThis.location.hash)}`}async subscribeState(...e){let t,s,r;e.length===3?[t,s,r]=e:([t,r]=e,s=!1);let o;if(Array.isArray(t)?o=t:o=[t],typeof r!="function")throw new Error("The state change handler must be a function!");const M=[];for(let a=0;aa.includes("*"))){let a;for(let u=0;uconsole.error(`Cannot call state change handler: ${L}`))}}}else try{const a=await(Oe.isWeb()?this.getStates(o):this.getForeignStates(o));if(a)for(const[u,l]of Object.entries(a)){const N=r(u,l);N instanceof Promise&&N.catch(c=>console.error(`Cannot call state change handler: ${c}`))}}catch(a){console.error(`Cannot getState "${o.join(", ")}": ${a.message}`);return}}async subscribeStateAsync(e,t){return this.subscribeState(e,t)}unsubscribeState(e,t){var o;let s;Array.isArray(e)?s=e:s=[e];const r=[];for(let M=0;M{try{const N=l(e,t,s);N instanceof Promise&&N.catch(c=>console.error(`Cannot call object change handler: ${c}`))}catch(N){console.error(`Error by callback of objectChange: ${N}`)}});if(r){const a=(M=(o=this.props).onObjectChange)==null?void 0:M.call(o,e,t);a instanceof Promise&&a.catch(u=>console.error(`Cannot call object change handler: ${u}`))}}stateChange(e,t){for(const s of Object.values(this.statesSubscribes))if(s.reg.test(e))for(const r of s.cbs)try{const o=r(e,t??null);o instanceof Promise&&o.catch(M=>console.error(`Cannot call state change handler: ${M}`))}catch(o){console.error(`Error by callback of stateChanged: ${o}`)}}instanceMessage(e,t,s){var r;(r=this._instanceSubscriptions[t])==null||r.forEach(o=>{if(o.messageType===e){const M=o.callback(s,t,e);M instanceof Promise&&M.catch(a=>console.error(`Cannot call instance message handler: ${a}`))}})}fileChange(e,t,s){for(const r of Object.values(this.filesSubscribes))if(r.regId.test(e)&&r.regFilePattern.test(t))for(const o of r.cbs)try{o(e,t,s)}catch(M){console.error(`Error by callback of fileChange: ${M}`)}}async subscribeFiles(e,t,s){if(typeof s!="function")throw new Error("The state change handler must be a function!");let r;Array.isArray(t)?r=t:r=[t];const o=[];for(let M=0;M{const c={elapsed:!1,clearTimeout:()=>{}};let L;s!==!1&&(L=setTimeout(()=>{c.elapsed=!0,r==null||r(),e&&this._promises[e]instanceof Promise&&delete this._promises[e],N(new Error(fe.TIMEOUT))},s??this.props.cmdTimeout),c.clearTimeout=()=>{clearTimeout(L)});try{await a(l,N,c)}catch(j){e&&this._promises[e]instanceof Promise&&delete this._promises[e],N(new Error(j.toString()))}});return e&&(this._promises[e]=u),u}resetCache(e,t){t?Object.keys(this._promises).filter(s=>s.startsWith(e)).forEach(s=>{delete this._promises[s]}):delete this._promises[e]}getStates(e){return this.request({commandTimeout:!1,executor:(t,s)=>{this._socket.emit("getStates",e,(r,o)=>{this.states=o??{},r?s(r):t(this.states)})}})}getState(e){return this.request({commandTimeout:!1,executor:(t,s)=>{if(e&&e===this.ignoreState){t(this.simStates[e]||{val:null,ack:!0});return}this._socket.emit("getState",e,(r,o)=>{r?s(r):t(o)})}})}getBinaryState(e){return this.request({commandTimeout:!1,executor:(t,s)=>{this._socket.emit("getBinaryState",e,(r,o)=>{r?s(r):t(o)})}})}setBinaryState(e,t){return this.request({commandTimeout:!1,executor:(s,r)=>{this._socket.emit("setBinaryState",e,t,o=>{o?r(o):s()})}})}setState(e,t,s){return typeof s=="boolean"&&(t={val:t,ack:s}),this.request({commandTimeout:!1,executor:(r,o)=>{if(e&&e===this.ignoreState){let M;if(typeof s=="boolean"||typeof t=="object"&&t.val!==void 0?M=t:M={val:t,ack:!1,ts:Date.now(),lc:Date.now(),from:"system.adapter.vis.0"},this.simStates[e]=M,this.statesSubscribes[e])for(const a of this.statesSubscribes[e].cbs)try{const u=a(e,M);u instanceof Promise&&u.catch(l=>console.error(`Cannot call state change handler: ${l}`))}catch(u){console.error(`Error by callback of stateChanged: ${u}`)}r();return}this._socket.emit("setState",e,t,M=>{M?o(M):r()})}})}getObjects(e,t){return this.request({commandTimeout:!1,executor:(s,r)=>{if(!e&&this.objects){s(this.objects);return}this._socket.emit(Oe.isWeb()?"getObjects":"getAllObjects",(o,M)=>{var a,u;t||(u=(a=this.props).onProgress)==null||u.call(a,at.OBJECTS_LOADED),o?r(o):(this.objects=M??{},s(this.objects))})}})}getObjectsById(e){return this.request({commandTimeout:!1,executor:(t,s)=>{this._socket.emit("getObjects",e,(r,o)=>{r?s(r):t(o)})}})}_subscribe(e){var t,s;if(e&&!this.subscribed){this.subscribed=!0,(t=this.props.autoSubscribes)!=null&&t.length&&this._socket.emit("subscribeObjects",this.props.autoSubscribes);const r=Object.keys(this.objectsSubscribes);r.length&&this._socket.emit("subscribeObjects",r),Object.keys(this.objectsSubscribes).forEach(o=>this._socket.emit("subscribeObjects",o)),this.props.autoSubscribeLog&&this._socket.emit("requireLog",!0),Object.keys(this.statesSubscribes).forEach(o=>this._socket.emit("subscribe",o)),Object.keys(this.filesSubscribes).forEach(o=>{const[M,a]=o.split("$%$");this._socket.emit("subscribeFiles",M,a)})}else if(!e&&this.subscribed){this.subscribed=!1,(s=this.props.autoSubscribes)!=null&&s.length&&this._socket.emit("unsubscribeObjects",this.props.autoSubscribes);const r=Object.keys(this.objectsSubscribes);r.length&&this._socket.emit("unsubscribeObjects",r),this.props.autoSubscribeLog&&this._socket.emit("requireLog",!1),Object.keys(this.statesSubscribes).forEach(o=>this._socket.emit("unsubscribe",o)),Object.keys(this.filesSubscribes).forEach(o=>{const[M,a]=o.split("$%$");this._socket.emit("unsubscribeFiles",M,a)})}}requireLog(e){return this.request({commandTimeout:!1,executor:(t,s)=>{this._socket.emit("requireLog",e,r=>{r?s(r):t()})}})}delObject(e,t=!1){return this.request({commandTimeout:!1,executor:(s,r)=>{this._socket.emit("delObject",e,{maintenance:t},o=>{o?r(o):s()})}})}delObjects(e,t){return this.request({commandTimeout:!1,executor:(s,r)=>{this._socket.emit("delObjects",e,{maintenance:t},o=>{o?r(o):s()})}})}setObject(e,t){return t?(t=JSON.parse(JSON.stringify(t)),delete t.from,delete t.user,delete t.ts,this.request({commandTimeout:!1,executor:(s,r)=>{this._socket.emit("setObject",e,t,o=>{o?r(o):s()})}})):Promise.reject(new Error("Null object is not allowed"))}getObject(e){return this.request({commandTimeout:!1,executor:(t,s)=>{if(e&&e===this.ignoreState){t({_id:this.ignoreState,type:"state",common:{name:"ignored state",type:"mixed"}});return}this._socket.emit("getObject",e,(r,o)=>{r?s(r):t(o)})}})}sendTo(e,t,s){return this.request({commandTimeout:!1,executor:r=>{this._socket.emit("sendTo",e,t,s,o=>{r(o)})}})}extendObject(e,t){return t?(t=JSON.parse(JSON.stringify(t)),delete t.from,delete t.user,delete t.ts,this.request({commandTimeout:!1,executor:(s,r)=>{this._socket.emit("extendObject",e,t,o=>{o?r(o):s()})}})):Promise.reject(new Error("Null object is not allowed"))}registerLogHandler(e){this.onLogHandlers.includes(e)||this.onLogHandlers.push(e)}unregisterLogHandler(e){const t=this.onLogHandlers.indexOf(e);t!==-1&&this.onLogHandlers.splice(t,1)}registerConnectionHandler(e){this.onConnectionHandlers.includes(e)||this.onConnectionHandlers.push(e)}unregisterConnectionHandler(e){const t=this.onConnectionHandlers.indexOf(e);t!==-1&&this.onConnectionHandlers.splice(t,1)}registerCmdStdoutHandler(e){this.onCmdStdoutHandler=e}unregisterCmdStdoutHandler(){this.onCmdStdoutHandler=void 0}registerCmdStderrHandler(e){this.onCmdStderrHandler=e}unregisterCmdStderrHandler(){this.onCmdStderrHandler=void 0}registerCmdExitHandler(e){this.onCmdExitHandler=e}unregisterCmdExitHandler(){this.onCmdExitHandler=void 0}getEnums(e,t){return this.request({cacheKey:`enums_${e||"all"}`,forceUpdate:t,commandTimeout:!1,executor:(s,r)=>{this._socket.emit("getObjectView","system","enum",{startkey:`enum.${e||""}`,endkey:e?`enum.${e}.香`:"enum.香"},(o,M)=>{if(o)r(o);else{const a={};if(M)for(let u=0;u{s||="",r||="香",this._socket.emit("getObjectView",e,t,{startkey:s,endkey:r},(a,u)=>{if(a)M(a);else{const l={};if(u&&u.rows)for(let N=0;N{this._socket.emit("getObjectView","system","meta",{startkey:"",endkey:"香"},(s,r)=>{var o;s?t(s):e((o=r.rows)==null?void 0:o.map(M=>M.value).filter(M=>!!M))})}})}readDir(e,t){return this.request({commandTimeout:!1,executor:(s,r)=>{this._socket.emit("readDir",e,t,(o,M)=>{o?r(o):s(M)})}})}readFile(e,t,s){return this.request({commandTimeout:!1,executor:(r,o)=>{this._socket.emit(s?"readFile64":"readFile",e,t,(M,a,u)=>{M?o(M):r({file:a,mimeType:u})})}})}writeFile64(e,t,s){return this.request({commandTimeout:!1,executor:(r,o)=>{if(typeof s=="string")this._socket.emit("writeFile",e,t,s,M=>{M?o(M):r()});else{const M=btoa(new Uint8Array(s).reduce((a,u)=>a+String.fromCharCode(u),""));this._socket.emit("writeFile64",e,t,M,a=>{a?o(a):r()})}}})}deleteFile(e,t){return this.request({commandTimeout:!1,executor:(s,r)=>{this._socket.emit("deleteFile",e,t,o=>{o?r(o):s()})}})}deleteFolder(e,t){return this.request({commandTimeout:!1,executor:(s,r)=>{this._socket.emit("deleteFolder",e,t,o=>{o?r(o):s()})}})}rename(e,t,s){return this.request({commandTimeout:!1,executor:(r,o)=>{this._socket.emit("rename",e,t,s,M=>{M?o(M):r()})}})}renameFile(e,t,s){return this.request({commandTimeout:!1,executor:(r,o)=>{this._socket.emit("renameFile",e,t,s,M=>{M?o(M):r()})}})}cmdExec(e,t,s,r){return this.request({commandTimeout:r,executor:(o,M,a)=>{e=It(e),this._socket.emit("cmdExec",e,s,t,u=>{a.elapsed||(a.clearTimeout(),u?M(u):o())})}})}getSystemConfig(e){return this.request({cacheKey:"systemConfig",forceUpdate:e,commandTimeout:!1,executor:async t=>{let s=await this.getObject("system.config");s??={},s.common??={},s.native??={},t(s)}})}getCompactSystemConfig(e){return this.request({cacheKey:"systemConfigCommon",forceUpdate:e,commandTimeout:!1,requireAdmin:!0,executor:(t,s)=>{this._socket.emit("getCompactSystemConfig",(r,o)=>{r?s(r):(o??={},o.common??={},o.native??={},t(o))})}})}getForeignStates(e){return this.request({commandTimeout:!1,executor:(t,s)=>{this._socket.emit("getForeignStates",e||"*",(r,o)=>{r?s(r):t(o??{})})}})}getForeignObjects(e,t){return this.request({commandTimeout:!1,executor:(s,r)=>{this._socket.emit("getForeignObjects",e||"*",t,(o,M)=>{o?r(o):s(M)})}})}setSystemConfig(e){return this.setObject("system.config",e)}getRawSocket(){return this._socket}getHistory(e,t){return this.request({commandTimeout:!1,executor:(s,r)=>{this._socket.emit("getHistory",e,t,(o,M)=>{o?r(o):s(M)})}})}getHistoryEx(e,t){return this.request({commandTimeout:!1,executor:(s,r)=>{this._socket.emit("getHistory",e,t,(o,M,a,u)=>{o?r(o):s({values:M,sessionId:u,step:a})})}})}getIpAddresses(e,t){return e=It(e),this.request({cacheKey:`IPs_${e}`,forceUpdate:t,commandTimeout:!1,executor:async s=>{const r=await this.getObject(e);s((r==null?void 0:r.common.address)??[])}})}getVersion(e){return this.request({cacheKey:"version",forceUpdate:e,commandTimeout:!1,executor:(t,s)=>{this._socket.emit("getVersion",(r,o,M)=>{r&&!o&&typeof r=="string"&&r.match(/\d+\.\d+\.\d+/)?t({version:r,serverName:"socketio"}):r?s(r):t({version:o,serverName:M})})}})}getWebServerName(){return this.request({cacheKey:"webName",commandTimeout:!1,executor:(e,t)=>{this._socket.emit("getAdapterName",(s,r)=>{s?t(s):e(r)})}})}fileExists(e,t){return this.request({commandTimeout:!1,executor:(s,r)=>{this._socket.emit("fileExists",e,t,(o,M)=>{o?r(o):s(!!M)})}})}getCurrentUser(){return this.request({commandTimeout:!1,executor:e=>{this._socket.emit("authEnabled",(t,s)=>{e(s)})}})}getUuid(){return this.request({cacheKey:"uuid",commandTimeout:!1,executor:async e=>{var s;const t=await this.getObject("system.meta.uuid");e((s=t==null?void 0:t.native)==null?void 0:s.uuid)}})}checkFeatureSupported(e,t){return this.request({cacheKey:`supportedFeatures_${e}`,forceUpdate:t,commandTimeout:!1,executor:(s,r)=>{this._socket.emit("checkFeatureSupported",e,(o,M)=>{o?r(o):s(M)})}})}getAdapterInstances(e,t){return typeof e=="boolean"&&(t=e,e=""),e||="",this.request({cacheKey:`instances_${e}`,forceUpdate:t,commandTimeout:!1,executor:async s=>{const r=e?`system.adapter.${e}.`:"system.adapter.",o=`${r}香`,M=await this.getObjectViewSystem("instance",r,o),a=Object.values(M);s(e?a.filter(u=>u.common.name===e):a)}})}getAdapters(e,t){return typeof e=="boolean"&&(t=e,e=""),e||="",this.request({cacheKey:`adapter_${e}`,forceUpdate:t,commandTimeout:!1,executor:async s=>{const r=await this.getObjectViewSystem("adapter",`system.adapter.${e||""}`,`system.adapter.${e||"香"}`),o=Object.values(r);s(e?o.filter(M=>M.common.name===e):o)}})}getGroups(e){return this.request({cacheKey:"groups",forceUpdate:e,commandTimeout:!1,executor:(t,s)=>{this._socket.emit("getObjectView","system","group",{startkey:"system.group.",endkey:"system.group.香"},(r,o)=>{r?s(r):t(Hr(o))})}})}logout(){return this.request({commandTimeout:!1,executor:(e,t)=>{this._socket.emit("logout",s=>{s?t(s):e(null)})}})}subscribeOnInstance(e,t,s,r){return this.request({commandTimeout:!1,executor:(o,M)=>{this._socket.emit("clientSubscribe",e,t,s,(a,u)=>{a?M(a):u&&(u.error?M(u.error):(e.startsWith("system.adapter.")||(e=`system.adapter.${e}`),this._instanceSubscriptions[e]=this._instanceSubscriptions[e]||[],this._instanceSubscriptions[e].find(l=>l.messageType===t&&l.callback===r)||this._instanceSubscriptions[e].push({messageType:t,callback:r}),o(u)))})}})}unsubscribeFromInstance(e,t,s){var M;e.startsWith("system.adapter.")||(e=`system.adapter.${e}`);let r;const o=[];do{r=!1;const a=(M=this._instanceSubscriptions[e])==null?void 0:M.findIndex(u=>(!t||u.messageType===t)&&(!s||u.callback===s));if(a!=null&&a!==-1){r=!0;const u=this._instanceSubscriptions[e][a].messageType;this._instanceSubscriptions[e].splice(a,1),this._instanceSubscriptions[e].length||delete this._instanceSubscriptions[e],this._instanceSubscriptions[e]&&this._instanceSubscriptions[e].find(N=>N.messageType===u)||o.push(this.request({commandTimeout:!1,executor:(N,c)=>{this._socket.emit("clientUnsubscribe",e,t,(L,j)=>L?c(L):N(j))}}))}}while(r&&(!s||!t));return o.length?Promise.all(o).then(a=>!!a.find(u=>u)):Promise.resolve(!1)}log(e,t){return e?this.request({commandTimeout:!1,executor:s=>(this._socket.emit("log",e,t),s(null))}):Promise.resolve(null)}setStateToIgnore(e){this.ignoreState=e}destroy(){var e;if(this._socket){const t=this._socket;try{typeof t.destroy=="function"?t.destroy():typeof t.close=="function"&&t.close(!0)}catch{}}(e=globalThis.removeEventListener)==null||e.call(globalThis,"storage",this.onAccessTokenUpdated),this._authTimer&&(clearTimeout(this._authTimer),this._authTimer=null),this._refreshTimer&&(clearTimeout(this._refreshTimer),this._refreshTimer=null),this.onConnectionHandlers.length=0,this.onLogHandlers.length=0;for(const t of Object.keys(this.statesSubscribes))delete this.statesSubscribes[t];for(const t of Object.keys(this.objectsSubscribes))delete this.objectsSubscribes[t];for(const t of Object.keys(this.filesSubscribes))delete this.filesSubscribes[t];this._instanceSubscriptions={},this.connected=!1,this.onReadyDone=!1}}function jN(i,e){if(!e)return;let t;if(e.length<700&&(e.indexOf("/")!==-1||e.indexOf("\\")!==-1))if(i.toLowerCase().includes("private"))t="private";else if(e.toLowerCase().includes("private"))t="private";else if(i.toLowerCase().includes("public"))t="public";else if(e.toLowerCase().includes("public"))t="public";else if(i.toLowerCase().includes("chain"))t="chained";else if(e.toLowerCase().includes("chain"))t="chained";else return;else t=e.substring(0,26)==="-----BEGIN RSA PRIVATE KEY"||e.substring(0,22)==="-----BEGIN PRIVATE KEY"?"private":"public",t==="public"&&e.split("-----END CERTIFICATE-----").filter(r=>r.replace(/\r\n|\r|\n/,"").trim()).length>1&&(t="chained");return{name:i,type:t}}function gN(i){var s,r,o,M;const e=[{name:"[IPv4] 0.0.0.0 - Listen on all IPs",address:"0.0.0.0",family:"ipv4"}],t=[{name:"[IPv6] :: - Listen on all IPs",address:"::",family:"ipv6"}];if((r=(s=i.native)==null?void 0:s.hardware)!=null&&r.networkInterfaces){const a=(M=(o=i.native)==null?void 0:o.hardware)==null?void 0:M.networkInterfaces;Object.keys(a).forEach(u=>{var l;(l=a[u])==null||l.forEach(N=>{N.family!=="IPv6"?e.push({name:`[${N.family}] ${N.address} - ${u}`,address:N.address,family:"ipv4"}):t.push({name:`[${N.family}] ${N.address} - ${u}`,address:N.address,family:"ipv6"})})})}return{IPs4:e,IPs6:t}}class Wje extends Oe{constructor(e){super(e)}request(e){return super.request({requireAdmin:!0,...e})}getCertificates(e){return this.request({cacheKey:"cert",forceUpdate:e,commandTimeout:!1,executor:async t=>{var r;const s=await this.getObject("system.certificates");(r=s==null?void 0:s.native)!=null&&r.certificates?t(Object.entries(s.native.certificates).map(([o,M])=>jN(o,M)).filter(o=>!!o)):t([])}})}getLogs(e,t=200){return this.request({commandTimeout:!1,executor:s=>{this._socket.emit("sendToHost",e,"getLogs",t||200,r=>{s(r)})}})}upgradeAdapterWithWebserver(e,t){return this.request({commandTimeout:!1,executor:s=>{this._socket.emit("sendToHost",e,"upgradeAdapterWithWebserver",t,r=>{s(r)})}})}upgradeController(e,t,s){return this.request({commandTimeout:!1,executor:(r,o)=>{this._socket.emit("sendToHost",e,"upgradeController",{version:t,adminInstance:s},M=>{const a=M;a.error?o(a.error):r(a.result)})}})}updateLicenses(e,t){return this.request({commandTimeout:!1,executor:(s,r)=>{this._socket.emit("updateLicenses",e,t,(o,M)=>{o?r(o):s(M)})}})}upgradeOsPackages(e,t,s){return this.request({commandTimeout:!1,executor:r=>{this._socket.emit("sendToHost",e,"upgradeOsPackages",{packages:t,restart:!!s},o=>{r(o)})}})}getLogsFiles(e){return this.request({commandTimeout:!1,executor:(t,s)=>{this._socket.emit("readLogs",e,(r,o)=>{r&&s(r),t(o)})}})}delLogs(e){return this.request({commandTimeout:!1,executor:(t,s)=>{this._socket.emit("sendToHost",e,"delLogs",null,r=>{r&&s(r),t()})}})}deleteFile(e,t){return this.request({commandTimeout:!1,executor:(s,r)=>{this._socket.emit("deleteFile",e,t,o=>{o&&r(o),s()})}})}deleteFolder(e,t){return this.request({commandTimeout:!1,executor:(s,r)=>{this._socket.emit("deleteFolder",e,t,o=>{o&&r(o),s()})}})}rename(e,t,s){return this.request({commandTimeout:!1,executor:(r,o)=>{this._socket.emit("rename",e,t,s,M=>{M&&o(M),r()})}})}renameFile(e,t,s){return this.request({commandTimeout:!1,executor:(r,o)=>{this._socket.emit("renameFile",e,t,s,M=>{M&&o(M),r()})}})}getHosts(e){return this.request({cacheKey:"hosts",forceUpdate:e,commandTimeout:!1,executor:(t,s)=>{this._socket.emit("getObjectView","system","host",{startkey:"system.host.",endkey:"system.host.香"},(r,o)=>{r?s(r):t(Hr(o))})}})}getUsers(e){return this.request({cacheKey:"users",forceUpdate:e,commandTimeout:!1,executor:(t,s)=>{this._socket.emit("getObjectView","system","user",{startkey:"system.user.",endkey:"system.user.香"},(r,o)=>{r?s(r):t(Hr(o))})}})}renameGroup(e,t,s){return this.request({commandTimeout:!1,executor:async r=>{const o=await this.getGroups(!0),M=o.filter(u=>u._id.startsWith(`${e}.`));for(const u of M){const l=u._id,N=t+u._id.substring(e.length);u._id=N,await this.setObject(N,u),await this.delObject(l)}const a=o.find(u=>u._id===e);if(a){const u=a._id;a._id=t,s!==void 0&&(a.common??={},a.common.name=s),await this.setObject(t,a),await this.delObject(u)}r()}})}getHostInfo(e,t,s){return e=It(e),this.request({cacheKey:`hostInfo_${e}`,forceUpdate:t,commandTimeout:s,executor:(r,o,M)=>{this._socket.emit("sendToHost",e,"getHostInfo",null,a=>{M.elapsed||(M.clearTimeout(),a===fe.PERMISSION_ERROR?o('May not read "getHostInfo"'):a?r(a):o('Cannot read "getHostInfo"'))})}})}getHostInfoShort(e,t,s){return e=It(e),this.request({cacheKey:`hostInfoShort_${e}`,forceUpdate:t,commandTimeout:s,executor:(r,o,M)=>{this._socket.emit("sendToHost",e,"getHostInfoShort",null,a=>{M.elapsed||(M.clearTimeout(),a===fe.PERMISSION_ERROR?o('May not read "getHostInfoShort"'):a?r(a):o('Cannot read "getHostInfoShort"'))})}})}getRepository(e,t,s,r){return this.request({cacheKey:`repository_${e}`,forceUpdate:s,commandTimeout:r,executor:(o,M,a)=>{this._socket.emit("sendToHost",e,"getRepository",t,u=>{a.elapsed||(a.clearTimeout(),u===fe.PERMISSION_ERROR?M('May not read "getRepository"'):u?o(u):M('Cannot read "getRepository"'))})}})}getInstalled(e,t,s){return e=It(e),this.request({cacheKey:`installed_${e}`,forceUpdate:t,commandTimeout:s,executor:(r,o,M)=>{this._socket.emit("sendToHost",e,"getInstalled",null,a=>{M.elapsed||(M.clearTimeout(),a===fe.PERMISSION_ERROR?o('May not read "getInstalled"'):a?r(a):o('Cannot read "getInstalled"'))})}})}cmdExec(e,t,s,r){return this.request({commandTimeout:r,executor:(o,M,a)=>{e=It(e),this._socket.emit("cmdExec",e,s,t,u=>{a.elapsed||(a.clearTimeout(),u&&M(u),o())})}})}readBaseSettings(e){return e=Ps(e),this.request({requireFeatures:["CONTROLLER_READWRITE_BASE_SETTINGS"],executor:(t,s,r)=>{this._socket.emit("sendToHost",e,"readBaseSettings",null,o=>{r.elapsed||(r.clearTimeout(),o===fe.PERMISSION_ERROR?s('May not read "BaseSettings"'):o?o.error?s(new Error(o.error)):t(o):s('Cannot read "BaseSettings"'))})}})}writeBaseSettings(e,t){return e=Ps(e),this.request({requireFeatures:["CONTROLLER_READWRITE_BASE_SETTINGS"],executor:(s,r,o)=>{this._socket.emit("sendToHost",e,"writeBaseSettings",t,M=>{o.elapsed||(o.clearTimeout(),M===fe.PERMISSION_ERROR?r('May not write "BaseSettings"'):M?s(M):r('Cannot write "BaseSettings"'))})}})}restartController(e){return e=Ps(e),this.request({executor:(t,s,r)=>{this._socket.emit("sendToHost",e,"restartController",null,()=>{r.elapsed||(r.clearTimeout(),t(!0))})}})}getDiagData(e,t){return e=Ps(e),this.request({executor:(s,r,o)=>{this._socket.emit("sendToHost",e,"getDiagData",t,M=>{o.elapsed||(o.clearTimeout(),s(M||null))})}})}changePassword(e,t){return this.request({executor:(s,r,o)=>{this._socket.emit("changePassword",e,t,M=>{o.elapsed||(o.clearTimeout(),M&&r(M),s())})}})}getIpAddresses(e,t){return e=It(e),this.request({cacheKey:`IPs_${e}`,forceUpdate:t,commandTimeout:!1,executor:async s=>{const r=await this.getObject(e);s((r==null?void 0:r.common.address)??[])}})}getHostByIp(e,t){return e=Ps(e),this.request({cacheKey:`rIPs_${e}`,forceUpdate:t,executor:(s,r,o)=>{this._socket.emit("getHostByIp",e,(M,a)=>{if(o.elapsed)return;o.clearTimeout();const{IPs4:u,IPs6:l}=gN(a);s([...u,...l])})}})}encrypt(e){return this.request({executor:(t,s,r)=>{this._socket.emit("encrypt",e,(o,M)=>{r.elapsed||(r.clearTimeout(),o&&s(o),t(M))})}})}decrypt(e){return this.request({executor:(t,s,r)=>{this._socket.emit("decrypt",e,(o,M)=>{r.elapsed||(r.clearTimeout(),o&&s(o),t(M))})}})}chmodFile(e,t,s){return this.request({executor:(r,o,M)=>{this._socket.emit("chmodFile",e,t,s,(a,u)=>{M.elapsed||(M.clearTimeout(),a&&o(a),r(u))})}})}chownFile(e,t,s){return this.request({executor:(r,o,M)=>{this._socket.emit("chownFile",e,t,s,(a,u)=>{M.elapsed||(M.clearTimeout(),a&&o(a),r(u))})}})}getNotifications(e,t){return this.request({executor:(s,r,o)=>{this._socket.emit("sendToHost",e,"getNotifications",{category:t},M=>{o.elapsed||(o.clearTimeout(),s(M))})}})}clearNotifications(e,t){return this.request({executor:(s,r,o)=>{this._socket.emit("sendToHost",e,"clearNotifications",{category:t},M=>{o.elapsed||(o.clearTimeout(),s(M))})}})}getIsEasyModeStrict(){return this.request({executor:(e,t,s)=>{this._socket.emit("getIsEasyModeStrict",(r,o)=>{s.elapsed||(s.clearTimeout(),r&&t(r),e(!!o))})}})}getEasyMode(){return this.request({executor:(e,t,s)=>{this._socket.emit("getEasyMode",(r,o)=>{s.elapsed||(s.clearTimeout(),r?t(new Error(r)):e(o))})}})}getRatings(e){return this.request({executor:(t,s,r)=>{this._socket.emit("getRatings",!!e,(o,M)=>{r.elapsed||(r.clearTimeout(),o?s(new Error(o)):t(M))})}})}getCurrentSession(e){const t=new AbortController;return this.request({commandTimeout:e||5e3,onTimeout:()=>{t.abort()},executor:async(s,r,o)=>{try{const M=await fetch("./session",{signal:t.signal});if(o.elapsed)return;o.clearTimeout();const a=await M.json();s(a)}catch(M){r(`getCurrentSession: ${M}`)}}})}getCurrentInstance(){return this.request({cacheKey:"currentInstance",executor:(e,t,s)=>{this._socket.emit("getCurrentInstance",(r,o)=>{s.elapsed||(s.clearTimeout(),r?t(r):e(o))})}})}getAdapterInstances(e,t){let s;return typeof e=="boolean"?(t=e,s=""):s=e||"",this.request({cacheKey:`instances_${s}`,forceUpdate:t,executor:(r,o,M)=>{this._socket.emit("getAdapterInstances",s,(a,u)=>{M.elapsed||(M.clearTimeout(),a&&o(a),r(u))})}})}getAdapters(e,t){let s;return typeof e=="boolean"?(t=e,s=""):s=e||"",this.request({cacheKey:`adapter_${s}`,forceUpdate:t,executor:(r,o,M)=>{this._socket.emit("getAdapters",s,(a,u)=>{M.elapsed||(M.clearTimeout(),a&&o(a),r(u))})}})}getCompactAdapters(e){return this.request({cacheKey:"compactAdapters",forceUpdate:e,executor:(t,s,r)=>{this._socket.emit("getCompactAdapters",(o,M)=>{r.elapsed||(r.clearTimeout(),o&&s(o),t(M))})}})}getAdaptersResetCache(e){e=e??"",this.resetCache(`adapter_${e}`),this.resetCache("compactAdapters")}getCompactInstances(e){return this.request({cacheKey:"compactInstances",forceUpdate:e,executor:(t,s,r)=>{this._socket.emit("getCompactInstances",(o,M)=>{r.elapsed||(r.clearTimeout(),o&&s(o),t(M))})}})}getAdapterInstancesResetCache(e){e=e??"",this.resetCache(`instances_${e}`),this.resetCache("compactInstances")}getCompactInstalled(e,t,s){return e=It(e),this.request({cacheKey:`installedCompact_${e}`,forceUpdate:t,commandTimeout:s,executor:(r,o,M)=>{this._socket.emit("getCompactInstalled",e,a=>{M.elapsed||(M.clearTimeout(),a===fe.PERMISSION_ERROR?o('May not read "getCompactInstalled"'):a?r(a):o('Cannot read "getCompactInstalled"'))})}})}getInstalledResetCache(e){e?(this.resetCache(`installedCompact_${e}`),this.resetCache(`installed_${e}`)):(this.resetCache("installedCompact_",!0),this.resetCache("installed_",!0))}getCompactRepository(e,t,s){return e=It(e),this.request({cacheKey:`repositoryCompact_${e}`,forceUpdate:t,commandTimeout:s,executor:(r,o,M)=>{this._socket.emit("getCompactRepository",e,a=>{M.elapsed||(M.clearTimeout(),a===fe.PERMISSION_ERROR?o('May not read "getCompactRepository"'):a?r(a):o('Cannot read "getCompactRepository"'))})}})}getRepositoryResetCache(e){e?(this.resetCache(`repositoryCompact_${e}`),this.resetCache(`repository_${e}`)):(this.resetCache("repositoryCompact_",!0),this.resetCache("repository_",!0))}getCompactHosts(e){return this.request({cacheKey:"hostsCompact",forceUpdate:e,executor:(t,s,r)=>{this._socket.emit("getCompactHosts",(o,M)=>{r.elapsed||(r.clearTimeout(),o&&s(o),t(M))})}})}getCompactSystemRepositories(e){return this.request({cacheKey:"repositoriesCompact",forceUpdate:e,executor:(t,s,r)=>{this._socket.emit("getCompactSystemRepositories",(o,M)=>{r.elapsed||(r.clearTimeout(),o&&s(o),t(M))})}})}}const V=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__,oe=globalThis,is="10.44.0";function tr(){return sr(oe),oe}function sr(i){const e=i.__SENTRY__=i.__SENTRY__||{};return e.version=e.version||is,e[is]=e[is]||{}}function xs(i,e,t=oe){const s=t.__SENTRY__=t.__SENTRY__||{},r=s[is]=s[is]||{};return r[i]||(r[i]=e())}const TN=["debug","info","warn","error","log","assert","trace"],yN="Sentry Logger ",Ri={};function ks(i){if(!("console"in oe))return i();const e=oe.console,t={},s=Object.keys(Ri);s.forEach(r=>{const o=Ri[r];t[r]=e[r],e[r]=o});try{return i()}finally{s.forEach(r=>{e[r]=t[r]})}}function DN(){Ro().enabled=!0}function dN(){Ro().enabled=!1}function Va(){return Ro().enabled}function zN(...i){Wo("log",...i)}function IN(...i){Wo("warn",...i)}function hN(...i){Wo("error",...i)}function Wo(i,...e){V&&Va()&&ks(()=>{oe.console[i](`${yN}[${i}]:`,...e)})}function Ro(){return V?xs("loggerSettings",()=>({enabled:!1})):{enabled:!1}}const G={enable:DN,disable:dN,isEnabled:Va,log:zN,warn:IN,error:hN},Za=50,rs="?",_M=/\(error: (.*)\)/,fM=/captureMessage|captureException/;function Xa(...i){const e=i.sort((t,s)=>t[0]-s[0]).map(t=>t[1]);return(t,s=0,r=0)=>{const o=[],M=t.split(` +`);for(let a=s;a1024&&(u=u.slice(0,1024));const l=_M.test(u)?u.replace(_M,"$1"):u;if(!l.match(/\S*Error: /)){for(const N of e){const c=N(l);if(c){o.push(c);break}}if(o.length>=Za+r)break}}return CN(o.slice(r))}}function wN(i){return Array.isArray(i)?Xa(...i):i}function CN(i){if(!i.length)return[];const e=Array.from(i);return/sentryWrapped/.test(Ii(e).function||"")&&e.pop(),e.reverse(),fM.test(Ii(e).function||"")&&(e.pop(),fM.test(Ii(e).function||"")&&e.pop()),e.slice(0,Za).map(t=>({...t,filename:t.filename||Ii(e).filename,function:t.function||rs}))}function Ii(i){return i[i.length-1]||{}}const dr="";function Bt(i){try{return!i||typeof i!="function"?dr:i.name||dr}catch{return dr}}function SM(i){const e=i.exception;if(e){const t=[];try{return e.values.forEach(s=>{s.stacktrace.frames&&t.push(...s.stacktrace.frames)}),t}catch{return}}}function Ka(i){return"__v_isVNode"in i&&i.__v_isVNode?"[VueVNode]":"[VueViewModel]"}const xi={},xM={};function ns(i,e){xi[i]=xi[i]||[],xi[i].push(e)}function as(i,e){if(!xM[i]){xM[i]=!0;try{e()}catch(t){V&&G.error(`Error while instrumenting ${i}`,t)}}}function st(i,e){const t=i&&xi[i];if(t)for(const s of t)try{s(e)}catch(r){V&&G.error(`Error while triggering instrumentation handler. +Type: ${i} +Name: ${Bt(s)} +Error:`,r)}}let zr=null;function AN(i){const e="error";ns(e,i),as(e,mN)}function mN(){zr=oe.onerror,oe.onerror=function(i,e,t,s,r){return st("error",{column:s,error:r,line:t,msg:i,url:e}),zr?zr.apply(this,arguments):!1},oe.onerror.__SENTRY_INSTRUMENTED__=!0}let Ir=null;function pN(i){const e="unhandledrejection";ns(e,i),as(e,ON)}function ON(){Ir=oe.onunhandledrejection,oe.onunhandledrejection=function(i){return st("unhandledrejection",i),Ir?Ir.apply(this,arguments):!0},oe.onunhandledrejection.__SENTRY_INSTRUMENTED__=!0}const qa=Object.prototype.toString;function ir(i){switch(qa.call(i)){case"[object Error]":case"[object Exception]":case"[object DOMException]":case"[object WebAssembly.Exception]":return!0;default:return Gt(i,Error)}}function Ys(i,e){return qa.call(i)===`[object ${e}]`}function ec(i){return Ys(i,"ErrorEvent")}function kM(i){return Ys(i,"DOMError")}function EN(i){return Ys(i,"DOMException")}function At(i){return Ys(i,"String")}function Jo(i){return typeof i=="object"&&i!==null&&"__sentry_template_string__"in i&&"__sentry_template_values__"in i}function rr(i){return i===null||Jo(i)||typeof i!="object"&&typeof i!="function"}function si(i){return Ys(i,"Object")}function or(i){return typeof Event<"u"&&Gt(i,Event)}function _N(i){return typeof Element<"u"&&Gt(i,Element)}function fN(i){return Ys(i,"RegExp")}function li(i){return!!(i!=null&&i.then&&typeof i.then=="function")}function SN(i){return si(i)&&"nativeEvent"in i&&"preventDefault"in i&&"stopPropagation"in i}function Gt(i,e){try{return i instanceof e}catch{return!1}}function tc(i){return!!(typeof i=="object"&&i!==null&&(i.__isVue||i._isVue||i.__v_isVNode))}function sc(i){return typeof Request<"u"&&Gt(i,Request)}const Bo=oe,xN=80;function ic(i,e={}){if(!i)return"";try{let t=i;const s=5,r=[];let o=0,M=0;const a=" > ",u=a.length;let l;const N=Array.isArray(e)?e:e.keyAttrs,c=!Array.isArray(e)&&e.maxStringLength||xN;for(;t&&o++1&&M+r.length*u+l.length>=c));)r.push(l),M+=l.length,t=t.parentNode;return r.reverse().join(a)}catch{return""}}function kN(i,e){const t=i,s=[];if(!(t!=null&&t.tagName))return"";if(Bo.HTMLElement&&t instanceof HTMLElement&&t.dataset){if(t.dataset.sentryComponent)return t.dataset.sentryComponent;if(t.dataset.sentryElement)return t.dataset.sentryElement}s.push(t.tagName.toLowerCase());const r=e!=null&&e.length?e.filter(M=>t.getAttribute(M)).map(M=>[M,t.getAttribute(M)]):null;if(r!=null&&r.length)r.forEach(M=>{s.push(`[${M[0]}="${M[1]}"]`)});else{t.id&&s.push(`#${t.id}`);const M=t.className;if(M&&At(M)){const a=M.split(/\s+/);for(const u of a)s.push(`.${u}`)}}const o=["aria-label","type","name","title","alt"];for(const M of o){const a=t.getAttribute(M);a&&s.push(`[${M}="${a}"]`)}return s.join("")}function Go(){try{return Bo.document.location.href}catch{return""}}function YN(i){if(!Bo.HTMLElement)return null;let e=i;const t=5;for(let s=0;s"}}function QM(i){if(typeof i=="object"&&i!==null){const e={};for(const t in i)Object.prototype.hasOwnProperty.call(i,t)&&(e[t]=i[t]);return e}else return{}}function QN(i){const e=Object.keys(oc(i));return e.sort(),e[0]?e.join(", "):"[object has no keys]"}let Ns;function Mr(i){if(Ns!==void 0)return Ns?Ns(i):i();const e=Symbol.for("__SENTRY_SAFE_RANDOM_ID_WRAPPER__"),t=oe;return e in t&&typeof t[e]=="function"?(Ns=t[e],Ns(i)):(Ns=null,i())}function Ji(){return Mr(()=>Math.random())}function nr(){return Mr(()=>Date.now())}function Vr(i,e=0){return typeof i!="string"||e===0||i.length<=e?i:`${i.slice(0,e)}...`}function UM(i,e){if(!Array.isArray(i))return"";const t=[];for(let s=0;ski(i,s,t))}function UN(){const i=oe;return i.crypto||i.msCrypto}let hr;function vN(){return Ji()*16}function Ke(i=UN()){try{if(i!=null&&i.randomUUID)return Mr(()=>i.randomUUID()).replace(/-/g,"")}catch{}return hr||(hr="10000000100040008000"+1e11),hr.replace(/[018]/g,e=>(e^(vN()&15)>>e/4).toString(16))}function Mc(i){var e,t;return(t=(e=i.exception)==null?void 0:e.values)==null?void 0:t[0]}function es(i){const{message:e,event_id:t}=i;if(e)return e;const s=Mc(i);return s?s.type&&s.value?`${s.type}: ${s.value}`:s.type||s.value||t||"":t||""}function Zr(i,e,t){const s=i.exception=i.exception||{},r=s.values=s.values||[],o=r[0]=r[0]||{};o.value||(o.value=e||""),o.type||(o.type="Error")}function Es(i,e){const t=Mc(i);if(!t)return;const s={type:"generic",handled:!0},r=t.mechanism;if(t.mechanism={...s,...r,...e},e&&"data"in e){const o={...r==null?void 0:r.data,...e.data};t.mechanism.data=o}}function vM(i){if(bN(i))return!0;try{Ft(i,"__sentry_captured__",!0)}catch{}return!1}function bN(i){try{return i.__sentry_captured__}catch{}}const nc=1e3;function Ni(){return nr()/nc}function $N(){const{performance:i}=oe;if(!(i!=null&&i.now)||!i.timeOrigin)return Ni;const e=i.timeOrigin;return()=>(e+Mr(()=>i.now()))/nc}let bM;function mt(){return(bM??(bM=$N()))()}function PN(i){const e=mt(),t={sid:Ke(),init:!0,timestamp:e,started:e,duration:0,status:"ok",errors:0,ignoreDuration:!1,toJSON:()=>RN(t)};return i&&_s(t,i),t}function _s(i,e={}){if(e.user&&(!i.ipAddress&&e.user.ip_address&&(i.ipAddress=e.user.ip_address),!i.did&&!e.did&&(i.did=e.user.id||e.user.email||e.user.username)),i.timestamp=e.timestamp||mt(),e.abnormal_mechanism&&(i.abnormal_mechanism=e.abnormal_mechanism),e.ignoreDuration&&(i.ignoreDuration=e.ignoreDuration),e.sid&&(i.sid=e.sid.length===32?e.sid:Ke()),e.init!==void 0&&(i.init=e.init),!i.did&&e.did&&(i.did=`${e.did}`),typeof e.started=="number"&&(i.started=e.started),i.ignoreDuration)i.duration=void 0;else if(typeof e.duration=="number")i.duration=e.duration;else{const t=i.timestamp-i.started;i.duration=t>=0?t:0}e.release&&(i.release=e.release),e.environment&&(i.environment=e.environment),!i.ipAddress&&e.ipAddress&&(i.ipAddress=e.ipAddress),!i.userAgent&&e.userAgent&&(i.userAgent=e.userAgent),typeof e.errors=="number"&&(i.errors=e.errors),e.status&&(i.status=e.status)}function WN(i,e){let t={};i.status==="ok"&&(t={status:"exited"}),_s(i,t)}function RN(i){return{sid:`${i.sid}`,init:i.init,started:new Date(i.started*1e3).toISOString(),timestamp:new Date(i.timestamp*1e3).toISOString(),status:i.status,errors:i.errors,did:typeof i.did=="number"||typeof i.did=="string"?`${i.did}`:void 0,duration:i.duration,abnormal_mechanism:i.abnormal_mechanism,attrs:{release:i.release,environment:i.environment,ip_address:i.ipAddress,user_agent:i.userAgent}}}function Li(i,e,t=2){if(!e||typeof e!="object"||t<=0)return e;if(i&&Object.keys(e).length===0)return i;const s={...i};for(const r in e)Object.prototype.hasOwnProperty.call(e,r)&&(s[r]=Li(s[r],e[r],t-1));return s}function $M(){return Ke()}function ac(){return Ke().substring(16)}const Xr="_sentrySpan";function PM(i,e){e?Ft(i,Xr,e):delete i[Xr]}function WM(i){return i[Xr]}const JN=100;class pt{constructor(){this._notifyingListeners=!1,this._scopeListeners=[],this._eventProcessors=[],this._breadcrumbs=[],this._attachments=[],this._user={},this._tags={},this._attributes={},this._extra={},this._contexts={},this._sdkProcessingMetadata={},this._propagationContext={traceId:$M(),sampleRand:Ji()}}clone(){const e=new pt;return e._breadcrumbs=[...this._breadcrumbs],e._tags={...this._tags},e._attributes={...this._attributes},e._extra={...this._extra},e._contexts={...this._contexts},this._contexts.flags&&(e._contexts.flags={values:[...this._contexts.flags.values]}),e._user=this._user,e._level=this._level,e._session=this._session,e._transactionName=this._transactionName,e._fingerprint=this._fingerprint,e._eventProcessors=[...this._eventProcessors],e._attachments=[...this._attachments],e._sdkProcessingMetadata={...this._sdkProcessingMetadata},e._propagationContext={...this._propagationContext},e._client=this._client,e._lastEventId=this._lastEventId,e._conversationId=this._conversationId,PM(e,WM(this)),e}setClient(e){this._client=e}setLastEventId(e){this._lastEventId=e}getClient(){return this._client}lastEventId(){return this._lastEventId}addScopeListener(e){this._scopeListeners.push(e)}addEventProcessor(e){return this._eventProcessors.push(e),this}setUser(e){return this._user=e||{email:void 0,id:void 0,ip_address:void 0,username:void 0},this._session&&_s(this._session,{user:e}),this._notifyScopeListeners(),this}getUser(){return this._user}setConversationId(e){return this._conversationId=e||void 0,this._notifyScopeListeners(),this}setTags(e){return this._tags={...this._tags,...e},this._notifyScopeListeners(),this}setTag(e,t){return this.setTags({[e]:t})}setAttributes(e){return this._attributes={...this._attributes,...e},this._notifyScopeListeners(),this}setAttribute(e,t){return this.setAttributes({[e]:t})}removeAttribute(e){return e in this._attributes&&(delete this._attributes[e],this._notifyScopeListeners()),this}setExtras(e){return this._extra={...this._extra,...e},this._notifyScopeListeners(),this}setExtra(e,t){return this._extra={...this._extra,[e]:t},this._notifyScopeListeners(),this}setFingerprint(e){return this._fingerprint=e,this._notifyScopeListeners(),this}setLevel(e){return this._level=e,this._notifyScopeListeners(),this}setTransactionName(e){return this._transactionName=e,this._notifyScopeListeners(),this}setContext(e,t){return t===null?delete this._contexts[e]:this._contexts[e]=t,this._notifyScopeListeners(),this}setSession(e){return e?this._session=e:delete this._session,this._notifyScopeListeners(),this}getSession(){return this._session}update(e){if(!e)return this;const t=typeof e=="function"?e(this):e,s=t instanceof pt?t.getScopeData():si(t)?e:void 0,{tags:r,attributes:o,extra:M,user:a,contexts:u,level:l,fingerprint:N=[],propagationContext:c,conversationId:L}=s||{};return this._tags={...this._tags,...r},this._attributes={...this._attributes,...o},this._extra={...this._extra,...M},this._contexts={...this._contexts,...u},a&&Object.keys(a).length&&(this._user=a),l&&(this._level=l),N.length&&(this._fingerprint=N),c&&(this._propagationContext=c),L&&(this._conversationId=L),this}clear(){return this._breadcrumbs=[],this._tags={},this._attributes={},this._extra={},this._user={},this._contexts={},this._level=void 0,this._transactionName=void 0,this._fingerprint=void 0,this._session=void 0,this._conversationId=void 0,PM(this,void 0),this._attachments=[],this.setPropagationContext({traceId:$M(),sampleRand:Ji()}),this._notifyScopeListeners(),this}addBreadcrumb(e,t){var o;const s=typeof t=="number"?t:JN;if(s<=0)return this;const r={timestamp:Ni(),...e,message:e.message?Vr(e.message,2048):e.message};return this._breadcrumbs.push(r),this._breadcrumbs.length>s&&(this._breadcrumbs=this._breadcrumbs.slice(-s),(o=this._client)==null||o.recordDroppedEvent("buffer_overflow","log_item")),this._notifyScopeListeners(),this}getLastBreadcrumb(){return this._breadcrumbs[this._breadcrumbs.length-1]}clearBreadcrumbs(){return this._breadcrumbs=[],this._notifyScopeListeners(),this}addAttachment(e){return this._attachments.push(e),this}clearAttachments(){return this._attachments=[],this}getScopeData(){return{breadcrumbs:this._breadcrumbs,attachments:this._attachments,contexts:this._contexts,tags:this._tags,attributes:this._attributes,extra:this._extra,user:this._user,level:this._level,fingerprint:this._fingerprint||[],eventProcessors:this._eventProcessors,propagationContext:this._propagationContext,sdkProcessingMetadata:this._sdkProcessingMetadata,transactionName:this._transactionName,span:WM(this),conversationId:this._conversationId}}setSDKProcessingMetadata(e){return this._sdkProcessingMetadata=Li(this._sdkProcessingMetadata,e,2),this}setPropagationContext(e){return this._propagationContext=e,this}getPropagationContext(){return this._propagationContext}captureException(e,t){const s=(t==null?void 0:t.event_id)||Ke();if(!this._client)return V&&G.warn("No client configured on scope - will not capture exception!"),s;const r=new Error("Sentry syntheticException");return this._client.captureException(e,{originalException:e,syntheticException:r,...t,event_id:s},this),s}captureMessage(e,t,s){const r=(s==null?void 0:s.event_id)||Ke();if(!this._client)return V&&G.warn("No client configured on scope - will not capture message!"),r;const o=(s==null?void 0:s.syntheticException)??new Error(e);return this._client.captureMessage(e,t,{originalException:e,syntheticException:o,...s,event_id:r},this),r}captureEvent(e,t){const s=e.event_id||(t==null?void 0:t.event_id)||Ke();return this._client?(this._client.captureEvent(e,{...t,event_id:s},this),s):(V&&G.warn("No client configured on scope - will not capture event!"),s)}_notifyScopeListeners(){this._notifyingListeners||(this._notifyingListeners=!0,this._scopeListeners.forEach(e=>{e(this)}),this._notifyingListeners=!1)}}function BN(){return xs("defaultCurrentScope",()=>new pt)}function GN(){return xs("defaultIsolationScope",()=>new pt)}class FN{constructor(e,t){let s;e?s=e:s=new pt;let r;t?r=t:r=new pt,this._stack=[{scope:s}],this._isolationScope=r}withScope(e){const t=this._pushScope();let s;try{s=e(t)}catch(r){throw this._popScope(),r}return li(s)?s.then(r=>(this._popScope(),r),r=>{throw this._popScope(),r}):(this._popScope(),s)}getClient(){return this.getStackTop().client}getScope(){return this.getStackTop().scope}getIsolationScope(){return this._isolationScope}getStackTop(){return this._stack[this._stack.length-1]}_pushScope(){const e=this.getScope().clone();return this._stack.push({client:this.getClient(),scope:e}),e}_popScope(){return this._stack.length<=1?!1:!!this._stack.pop()}}function fs(){const i=tr(),e=sr(i);return e.stack=e.stack||new FN(BN(),GN())}function HN(i){return fs().withScope(i)}function VN(i,e){const t=fs();return t.withScope(()=>(t.getStackTop().scope=i,e(i)))}function RM(i){return fs().withScope(()=>i(fs().getIsolationScope()))}function ZN(){return{withIsolationScope:RM,withScope:HN,withSetScope:VN,withSetIsolationScope:(i,e)=>RM(e),getCurrentScope:()=>fs().getScope(),getIsolationScope:()=>fs().getIsolationScope()}}function Ho(i){const e=sr(i);return e.acs?e.acs:ZN()}function Lt(){const i=tr();return Ho(i).getCurrentScope()}function cs(){const i=tr();return Ho(i).getIsolationScope()}function XN(){return xs("globalScope",()=>new pt)}function KN(...i){const e=tr(),t=Ho(e);if(i.length===2){const[s,r]=i;return s?t.withSetScope(s,r):t.withScope(r)}return t.withScope(i[0])}function xe(){return Lt().getClient()}function qN(i){const e=i.getPropagationContext(),{traceId:t,parentSpanId:s,propagationSpanId:r}=e,o={trace_id:t,span_id:r||ac()};return s&&(o.parent_span_id=s),o}const e0="sentry.source",t0="sentry.sample_rate",s0="sentry.previous_trace_sample_rate",i0="sentry.op",r0="sentry.origin",cc="sentry.profile_id",uc="sentry.exclusive_time",o0="gen_ai.conversation.id",M0=0,n0=1,a0="_sentryScope",c0="_sentryIsolationScope";function u0(i){if(i){if(typeof i=="object"&&"deref"in i&&typeof i.deref=="function")try{return i.deref()}catch{return}return i}}function lc(i){const e=i;return{scope:e[a0],isolationScope:u0(e[c0])}}const l0="sentry-",N0=/^sentry-/;function L0(i){const e=j0(i);if(!e)return;const t=Object.entries(e).reduce((s,[r,o])=>{if(r.match(N0)){const M=r.slice(l0.length);s[M]=o}return s},{});if(Object.keys(t).length>0)return t}function j0(i){if(!(!i||!At(i)&&!Array.isArray(i)))return Array.isArray(i)?i.reduce((e,t)=>{const s=JM(t);return Object.entries(s).forEach(([r,o])=>{e[r]=o}),e},{}):JM(i)}function JM(i){return i.split(",").map(e=>{const t=e.indexOf("=");if(t===-1)return[];const s=e.slice(0,t),r=e.slice(t+1);return[s,r].map(o=>{try{return decodeURIComponent(o.trim())}catch{return}})}).reduce((e,[t,s])=>(t&&s&&(e[t]=s),e),{})}const g0=/^o(\d+)\./,T0=/^(?:(\w+):)\/\/(?:(\w+)(?::(\w+)?)?@)((?:\[[:.%\w]+\]|[\w.-]+))(?::(\d+))?\/(.+)/;function y0(i){return i==="http"||i==="https"}function ji(i,e=!1){const{host:t,path:s,pass:r,port:o,projectId:M,protocol:a,publicKey:u}=i;return`${a}://${u}${e&&r?`:${r}`:""}@${t}${o?`:${o}`:""}/${s&&`${s}/`}${M}`}function D0(i){const e=T0.exec(i);if(!e){ks(()=>{console.error(`Invalid Sentry Dsn: ${i}`)});return}const[t,s,r="",o="",M="",a=""]=e.slice(1);let u="",l=a;const N=l.split("/");if(N.length>1&&(u=N.slice(0,-1).join("/"),l=N.pop()),l){const c=l.match(/^\d+/);c&&(l=c[0])}return Nc({host:o,pass:r,path:u,projectId:l,port:M,protocol:t,publicKey:s})}function Nc(i){return{protocol:i.protocol,publicKey:i.publicKey||"",pass:i.pass||"",host:i.host,port:i.port||"",path:i.path||"",projectId:i.projectId}}function d0(i){if(!V)return!0;const{port:e,projectId:t,protocol:s}=i;return["protocol","publicKey","host","projectId"].find(M=>i[M]?!1:(G.error(`Invalid Sentry Dsn: ${M} missing`),!0))?!1:t.match(/^\d+$/)?y0(s)?e&&isNaN(parseInt(e,10))?(G.error(`Invalid Sentry Dsn: Invalid port ${e}`),!1):!0:(G.error(`Invalid Sentry Dsn: Invalid protocol ${s}`),!1):(G.error(`Invalid Sentry Dsn: Invalid projectId ${t}`),!1)}function z0(i){const e=i.match(g0);return e==null?void 0:e[1]}function I0(i){const e=i.getOptions(),{host:t}=i.getDsn()||{};let s;return e.orgId?s=String(e.orgId):t&&(s=z0(t)),s}function h0(i){const e=typeof i=="string"?D0(i):Nc(i);if(!(!e||!d0(e)))return e}function w0(i){if(typeof i=="boolean")return Number(i);const e=typeof i=="string"?parseFloat(i):i;if(!(typeof e!="number"||isNaN(e)||e<0||e>1))return e}const Lc=1;let BM=!1;function C0(i){const{spanId:e,traceId:t,isRemote:s}=i.spanContext(),r=s?e:Vo(i).parent_span_id,o=lc(i).scope,M=s?(o==null?void 0:o.getPropagationContext().propagationSpanId)||ac():e;return{parent_span_id:r,span_id:M,trace_id:t}}function A0(i){if(i&&i.length>0)return i.map(({context:{spanId:e,traceId:t,traceFlags:s,...r},attributes:o})=>({span_id:e,trace_id:t,sampled:s===Lc,attributes:o,...r}))}function GM(i){return typeof i=="number"?FM(i):Array.isArray(i)?i[0]+i[1]/1e9:i instanceof Date?FM(i.getTime()):mt()}function FM(i){return i>9999999999?i/1e3:i}function Vo(i){var s;if(p0(i))return i.getSpanJSON();const{spanId:e,traceId:t}=i.spanContext();if(m0(i)){const{attributes:r,startTime:o,name:M,endTime:a,status:u,links:l}=i,N="parentSpanId"in i?i.parentSpanId:"parentSpanContext"in i?(s=i.parentSpanContext)==null?void 0:s.spanId:void 0;return{span_id:e,trace_id:t,data:r,description:M,parent_span_id:N,start_timestamp:GM(o),timestamp:GM(a)||void 0,status:E0(u),op:r[i0],origin:r[r0],links:A0(l)}}return{span_id:e,trace_id:t,start_timestamp:0,data:{}}}function m0(i){const e=i;return!!e.attributes&&!!e.startTime&&!!e.name&&!!e.endTime&&!!e.status}function p0(i){return typeof i.getSpanJSON=="function"}function O0(i){const{traceFlags:e}=i.spanContext();return e===Lc}function E0(i){if(!(!i||i.code===M0))return i.code===n0?"ok":i.message||"internal_error"}const _0="_sentryRootSpan";function jc(i){return i[_0]||i}function HM(){BM||(ks(()=>{console.warn("[Sentry] Returning null from `beforeSendSpan` is disallowed. To drop certain spans, configure the respective integrations directly or use `ignoreSpans`.")}),BM=!0)}function f0(i){var t;if(typeof __SENTRY_TRACING__=="boolean"&&!__SENTRY_TRACING__)return!1;const e=(t=xe())==null?void 0:t.getOptions();return!!e&&(e.tracesSampleRate!=null||!!e.tracesSampler)}function VM(i){G.log(`Ignoring span ${i.op} - ${i.description} because it matches \`ignoreSpans\`.`)}function ZM(i,e){if(!(e!=null&&e.length)||!i.description)return!1;for(const t of e){if(x0(t)){if(ki(i.description,t))return V&&VM(i),!0;continue}if(!t.name&&!t.op)continue;const s=t.name?ki(i.description,t.name):!0,r=t.op?i.op&&ki(i.op,t.op):!0;if(s&&r)return V&&VM(i),!0}return!1}function S0(i,e){const t=e.parent_span_id,s=e.span_id;if(t)for(const r of i)r.parent_span_id===s&&(r.parent_span_id=t)}function x0(i){return typeof i=="string"||i instanceof RegExp}const Zo="production",k0="_frozenDsc";function gc(i,e){const t=e.getOptions(),{publicKey:s}=e.getDsn()||{},r={environment:t.environment||Zo,release:t.release,public_key:s,trace_id:i,org_id:I0(e)};return e.emit("createDsc",r),r}function Y0(i,e){const t=e.getPropagationContext();return t.dsc||gc(t.traceId,i)}function Q0(i){var g;const e=xe();if(!e)return{};const t=jc(i),s=Vo(t),r=s.data,o=t.spanContext().traceState,M=(o==null?void 0:o.get("sentry.sample_rate"))??r[t0]??r[s0];function a(y){return(typeof M=="number"||typeof M=="string")&&(y.sample_rate=`${M}`),y}const u=t[k0];if(u)return a(u);const l=o==null?void 0:o.get("sentry.dsc"),N=l&&L0(l);if(N)return a(N);const c=gc(i.spanContext().traceId,e),L=r[e0],j=s.description;return L!=="url"&&j&&(c.transaction=j),f0()&&(c.sampled=String(O0(t)),c.sample_rand=(o==null?void 0:o.get("sentry.sample_rand"))??((g=lc(t).scope)==null?void 0:g.getPropagationContext().sampleRand.toString())),a(c),e.emit("createDsc",c,t),c}function ht(i,e=100,t=1/0){try{return Kr("",i,e,t)}catch(s){return{ERROR:`**non-serializable** (${s})`}}}function Tc(i,e=3,t=100*1024){const s=ht(i,e);return $0(s)>t?Tc(i,e-1,t):s}function Kr(i,e,t=1/0,s=1/0,r=P0()){const[o,M]=r;if(e==null||["boolean","string"].includes(typeof e)||typeof e=="number"&&Number.isFinite(e))return e;const a=U0(i,e);if(!a.startsWith("[object "))return a;if(e.__sentry_skip_normalization__)return e;const u=typeof e.__sentry_override_normalization_depth__=="number"?e.__sentry_override_normalization_depth__:t;if(u===0)return a.replace("object ","");if(o(e))return"[Circular ~]";const l=e;if(l&&typeof l.toJSON=="function")try{const j=l.toJSON();return Kr("",j,u-1,s,r)}catch{}const N=Array.isArray(e)?[]:{};let c=0;const L=oc(e);for(const j in L){if(!Object.prototype.hasOwnProperty.call(L,j))continue;if(c>=s){N[j]="[MaxProperties ~]";break}const g=L[j];N[j]=Kr(j,g,u-1,s,r),c++}return M(e),N}function U0(i,e){try{if(i==="domain"&&e&&typeof e=="object"&&e._events)return"[Domain]";if(i==="domainEmitter")return"[DomainEmitter]";if(typeof global<"u"&&e===global)return"[Global]";if(typeof window<"u"&&e===window)return"[Window]";if(typeof document<"u"&&e===document)return"[Document]";if(tc(e))return Ka(e);if(SN(e))return"[SyntheticEvent]";if(typeof e=="number"&&!Number.isFinite(e))return`[${e}]`;if(typeof e=="function")return`[Function: ${Bt(e)}]`;if(typeof e=="symbol")return`[${String(e)}]`;if(typeof e=="bigint")return`[BigInt: ${String(e)}]`;const t=v0(e);return/^HTML(\w*)Element$/.test(t)?`[HTMLElement: ${t}]`:`[object ${t}]`}catch(t){return`**non-serializable** (${t})`}}function v0(i){const e=Object.getPrototypeOf(i);return e!=null&&e.constructor?e.constructor.name:"null prototype"}function b0(i){return~-encodeURI(i).split(/%..|./).length}function $0(i){return b0(JSON.stringify(i))}function P0(){const i=new WeakSet;function e(s){return i.has(s)?!0:(i.add(s),!1)}function t(s){i.delete(s)}return[e,t]}function Qs(i,e=[]){return[i,e]}function W0(i,e){const[t,s]=i;return[t,[...s,e]]}function qr(i,e){const t=i[1];for(const s of t){const r=s[0].type;if(e(s,r))return!0}return!1}function R0(i,e){return qr(i,(t,s)=>e.includes(s))}function eo(i){const e=sr(oe);return e.encodePolyfill?e.encodePolyfill(i):new TextEncoder().encode(i)}function J0(i){const[e,t]=i;let s=JSON.stringify(e);function r(o){typeof s=="string"?s=typeof o=="string"?s+o:[eo(s),o]:s.push(typeof o=="string"?eo(o):o)}for(const o of t){const[M,a]=o;if(r(` +${JSON.stringify(M)} +`),typeof a=="string"||a instanceof Uint8Array)r(a);else{let u;try{u=JSON.stringify(a)}catch{u=JSON.stringify(ht(a))}r(u)}}return typeof s=="string"?s:B0(s)}function B0(i){const e=i.reduce((r,o)=>r+o.length,0),t=new Uint8Array(e);let s=0;for(const r of i)t.set(r,s),s+=r.length;return t}function G0(i){const e=typeof i.data=="string"?eo(i.data):i.data;return[{type:"attachment",length:e.length,filename:i.filename,content_type:i.contentType,attachment_type:i.attachmentType},e]}const F0={session:"session",sessions:"session",attachment:"attachment",transaction:"transaction",event:"error",client_report:"internal",user_report:"default",profile:"profile",profile_chunk:"profile",replay_event:"replay",replay_recording:"replay",check_in:"monitor",feedback:"feedback",span:"span",raw_security:"security",log:"log_item",metric:"metric",trace_metric:"metric"};function XM(i){return F0[i]}function yc(i){if(!(i!=null&&i.sdk))return;const{name:e,version:t}=i.sdk;return{name:e,version:t}}function H0(i,e,t,s){var o;const r=(o=i.sdkProcessingMetadata)==null?void 0:o.dynamicSamplingContext;return{event_id:i.event_id,sent_at:new Date().toISOString(),...e&&{sdk:e},...!!t&&s&&{dsn:ji(s)},...r&&{trace:r}}}function V0(i,e){var s,r,o,M;if(!e)return i;const t=i.sdk||{};return i.sdk={...t,name:t.name||e.name,version:t.version||e.version,integrations:[...((s=i.sdk)==null?void 0:s.integrations)||[],...e.integrations||[]],packages:[...((r=i.sdk)==null?void 0:r.packages)||[],...e.packages||[]],settings:(o=i.sdk)!=null&&o.settings||e.settings?{...(M=i.sdk)==null?void 0:M.settings,...e.settings}:void 0},i}function Z0(i,e,t,s){const r=yc(t),o={sent_at:new Date().toISOString(),...r&&{sdk:r},...!!s&&e&&{dsn:ji(e)}},M="aggregates"in i?[{type:"sessions"},i]:[{type:"session"},i.toJSON()];return Qs(o,[M])}function X0(i,e,t,s){const r=yc(t),o=i.type&&i.type!=="replay_event"?i.type:"event";V0(i,t==null?void 0:t.sdk);const M=H0(i,r,s,e);return delete i.sdkProcessingMetadata,Qs(M,[[{type:o},i]])}const wr=0,KM=1,qM=2;function gi(i){return new ii(e=>{e(i)})}function Xo(i){return new ii((e,t)=>{t(i)})}class ii{constructor(e){this._state=wr,this._handlers=[],this._runExecutor(e)}then(e,t){return new ii((s,r)=>{this._handlers.push([!1,o=>{if(!e)s(o);else try{s(e(o))}catch(M){r(M)}},o=>{if(!t)r(o);else try{s(t(o))}catch(M){r(M)}}]),this._executeHandlers()})}catch(e){return this.then(t=>t,e)}finally(e){return new ii((t,s)=>{let r,o;return this.then(M=>{o=!1,r=M,e&&e()},M=>{o=!0,r=M,e&&e()}).then(()=>{if(o){s(r);return}t(r)})})}_executeHandlers(){if(this._state===wr)return;const e=this._handlers.slice();this._handlers=[],e.forEach(t=>{t[0]||(this._state===KM&&t[1](this._value),this._state===qM&&t[2](this._value),t[0]=!0)})}_runExecutor(e){const t=(o,M)=>{if(this._state===wr){if(li(M)){M.then(s,r);return}this._state=o,this._value=M,this._executeHandlers()}},s=o=>{t(KM,o)},r=o=>{t(qM,o)};try{e(s,r)}catch(o){r(o)}}}function K0(i,e,t,s=0){try{const r=to(e,t,i,s);return li(r)?r:gi(r)}catch(r){return Xo(r)}}function to(i,e,t,s){const r=t[s];if(!i||!r)return i;const o=r({...i},e);return V&&o===null&&G.log(`Event processor "${r.id||"?"}" dropped event`),li(o)?o.then(M=>to(M,e,t,s+1)):to(o,e,t,s+1)}let gt,en,tn,Ot;function q0(i){const e=oe._sentryDebugIds,t=oe._debugIds;if(!e&&!t)return{};const s=e?Object.keys(e):[],r=t?Object.keys(t):[];if(Ot&&s.length===en&&r.length===tn)return Ot;en=s.length,tn=r.length,Ot={},gt||(gt={});const o=(M,a)=>{for(const u of M){const l=a[u],N=gt==null?void 0:gt[u];if(N&&Ot&&l)Ot[N[0]]=l,gt&&(gt[u]=[N[0],l]);else if(l){const c=i(u);for(let L=c.length-1;L>=0;L--){const j=c[L],g=j==null?void 0:j.filename;if(g&&Ot&>){Ot[g]=l,gt[u]=[g,l];break}}}}};return e&&o(s,e),t&&o(r,t),Ot}function e4(i,e){const{fingerprint:t,span:s,breadcrumbs:r,sdkProcessingMetadata:o}=e;t4(i,e),s&&r4(i,s),o4(i,t),s4(i,r),i4(i,o)}function sn(i,e){const{extra:t,tags:s,attributes:r,user:o,contexts:M,level:a,sdkProcessingMetadata:u,breadcrumbs:l,fingerprint:N,eventProcessors:c,attachments:L,propagationContext:j,transactionName:g,span:y}=e;Ws(i,"extra",t),Ws(i,"tags",s),Ws(i,"attributes",r),Ws(i,"user",o),Ws(i,"contexts",M),i.sdkProcessingMetadata=Li(i.sdkProcessingMetadata,u,2),a&&(i.level=a),g&&(i.transactionName=g),y&&(i.span=y),l.length&&(i.breadcrumbs=[...i.breadcrumbs,...l]),N.length&&(i.fingerprint=[...i.fingerprint,...N]),c.length&&(i.eventProcessors=[...i.eventProcessors,...c]),L.length&&(i.attachments=[...i.attachments,...L]),i.propagationContext={...i.propagationContext,...j}}function Ws(i,e,t){i[e]=Li(i[e],t,1)}function Dc(i,e){const t=XN().getScopeData();return i&&sn(t,i.getScopeData()),e&&sn(t,e.getScopeData()),t}function t4(i,e){const{extra:t,tags:s,user:r,contexts:o,level:M,transactionName:a}=e;Object.keys(t).length&&(i.extra={...t,...i.extra}),Object.keys(s).length&&(i.tags={...s,...i.tags}),Object.keys(r).length&&(i.user={...r,...i.user}),Object.keys(o).length&&(i.contexts={...o,...i.contexts}),M&&(i.level=M),a&&i.type!=="transaction"&&(i.transaction=a)}function s4(i,e){const t=[...i.breadcrumbs||[],...e];i.breadcrumbs=t.length?t:void 0}function i4(i,e){i.sdkProcessingMetadata={...i.sdkProcessingMetadata,...e}}function r4(i,e){i.contexts={trace:C0(e),...i.contexts},i.sdkProcessingMetadata={dynamicSamplingContext:Q0(e),...i.sdkProcessingMetadata};const t=jc(e),s=Vo(t).description;s&&!i.transaction&&i.type==="transaction"&&(i.transaction=s)}function o4(i,e){i.fingerprint=i.fingerprint?Array.isArray(i.fingerprint)?i.fingerprint:[i.fingerprint]:[],e&&(i.fingerprint=i.fingerprint.concat(e)),i.fingerprint.length||delete i.fingerprint}function M4(i,e,t,s,r,o){const{normalizeDepth:M=3,normalizeMaxBreadth:a=1e3}=i,u={...e,event_id:e.event_id||t.event_id||Ke(),timestamp:e.timestamp||Ni()},l=t.integrations||i.integrations.map(h=>h.name);n4(u,i),u4(u,l),r&&r.emit("applyFrameMetadata",e),e.type===void 0&&a4(u,i.stackParser);const N=N4(s,t.captureContext);t.mechanism&&Es(u,t.mechanism);const c=r?r.getEventProcessors():[],L=Dc(o,N),j=[...t.attachments||[],...L.attachments];j.length&&(t.attachments=j),e4(u,L);const g=[...c,...L.eventProcessors];return(t.data&&t.data.__sentry__===!0?gi(u):K0(g,u,t)).then(h=>(h&&c4(h),typeof M=="number"&&M>0?l4(h,M,a):h))}function n4(i,e){var a,u;const{environment:t,release:s,dist:r,maxValueLength:o}=e;i.environment=i.environment||t||Zo,!i.release&&s&&(i.release=s),!i.dist&&r&&(i.dist=r);const M=i.request;M!=null&&M.url&&o&&(M.url=Vr(M.url,o)),o&&((u=(a=i.exception)==null?void 0:a.values)==null||u.forEach(l=>{l.value&&(l.value=Vr(l.value,o))}))}function a4(i,e){var s,r;const t=q0(e);(r=(s=i.exception)==null?void 0:s.values)==null||r.forEach(o=>{var M,a;(a=(M=o.stacktrace)==null?void 0:M.frames)==null||a.forEach(u=>{u.filename&&(u.debug_id=t[u.filename])})})}function c4(i){var s,r;const e={};if((r=(s=i.exception)==null?void 0:s.values)==null||r.forEach(o=>{var M,a;(a=(M=o.stacktrace)==null?void 0:M.frames)==null||a.forEach(u=>{u.debug_id&&(u.abs_path?e[u.abs_path]=u.debug_id:u.filename&&(e[u.filename]=u.debug_id),delete u.debug_id)})}),Object.keys(e).length===0)return;i.debug_meta=i.debug_meta||{},i.debug_meta.images=i.debug_meta.images||[];const t=i.debug_meta.images;Object.entries(e).forEach(([o,M])=>{t.push({type:"sourcemap",code_file:o,debug_id:M})})}function u4(i,e){e.length>0&&(i.sdk=i.sdk||{},i.sdk.integrations=[...i.sdk.integrations||[],...e])}function l4(i,e,t){var r,o;if(!i)return null;const s={...i,...i.breadcrumbs&&{breadcrumbs:i.breadcrumbs.map(M=>({...M,...M.data&&{data:ht(M.data,e,t)}}))},...i.user&&{user:ht(i.user,e,t)},...i.contexts&&{contexts:ht(i.contexts,e,t)},...i.extra&&{extra:ht(i.extra,e,t)}};return(r=i.contexts)!=null&&r.trace&&s.contexts&&(s.contexts.trace=i.contexts.trace,i.contexts.trace.data&&(s.contexts.trace.data=ht(i.contexts.trace.data,e,t))),i.spans&&(s.spans=i.spans.map(M=>({...M,...M.data&&{data:ht(M.data,e,t)}}))),(o=i.contexts)!=null&&o.flags&&s.contexts&&(s.contexts.flags=ht(i.contexts.flags,3,t)),s}function N4(i,e){if(!e)return i;const t=i?i.clone():new pt;return t.update(e),t}function L4(i,e){return Lt().captureException(i,void 0)}function dc(i,e){return Lt().captureEvent(i,e)}function rn(i){const e=cs(),{user:t}=Dc(e,Lt()),{userAgent:s}=oe.navigator||{},r=PN({user:t,...s&&{userAgent:s},...i}),o=e.getSession();return(o==null?void 0:o.status)==="ok"&&_s(o,{status:"exited"}),zc(),e.setSession(r),r}function zc(){const i=cs(),t=Lt().getSession()||i.getSession();t&&WN(t),Ic(),i.setSession()}function Ic(){const i=cs(),e=xe(),t=i.getSession();t&&e&&e.captureSession(t)}function Cr(i=!1){if(i){zc();return}Ic()}const j4="7";function g4(i){const e=i.protocol?`${i.protocol}:`:"",t=i.port?`:${i.port}`:"";return`${e}//${i.host}${t}${i.path?`/${i.path}`:""}/api/`}function T4(i){return`${g4(i)}${i.projectId}/envelope/`}function y4(i,e){const t={sentry_version:j4};return i.publicKey&&(t.sentry_key=i.publicKey),e&&(t.sentry_client=`${e.name}/${e.version}`),new URLSearchParams(t).toString()}function D4(i,e,t){return e||`${T4(i)}?${y4(i,t)}`}const on=[];function d4(i){const e={};return i.forEach(t=>{const{name:s}=t,r=e[s];r&&!r.isDefaultInstance&&t.isDefaultInstance||(e[s]=t)}),Object.values(e)}function z4(i){const e=i.defaultIntegrations||[],t=i.integrations;e.forEach(r=>{r.isDefaultInstance=!0});let s;if(Array.isArray(t))s=[...e,...t];else if(typeof t=="function"){const r=t(e);s=Array.isArray(r)?r:[r]}else s=e;return d4(s)}function I4(i,e){const t={};return e.forEach(s=>{s&&hc(i,s,t)}),t}function Mn(i,e){for(const t of e)t!=null&&t.afterAllSetup&&t.afterAllSetup(i)}function hc(i,e,t){if(t[e.name]){V&&G.log(`Integration skipped because it was already installed: ${e.name}`);return}if(t[e.name]=e,!on.includes(e.name)&&typeof e.setupOnce=="function"&&(e.setupOnce(),on.push(e.name)),e.setup&&typeof e.setup=="function"&&e.setup(i),typeof e.preprocessEvent=="function"){const s=e.preprocessEvent.bind(e);i.on("preprocessEvent",(r,o)=>s(r,o,i))}if(typeof e.processEvent=="function"){const s=e.processEvent.bind(e),r=Object.assign((o,M)=>s(o,M,i),{id:e.name});i.addEventProcessor(r)}V&&G.log(`Integration installed: ${e.name}`)}function h4(i){return[{type:"log",item_count:i.length,content_type:"application/vnd.sentry.items.log+json"},{items:i}]}function w4(i,e,t,s){const r={};return e!=null&&e.sdk&&(r.sdk={name:e.sdk.name,version:e.sdk.version}),t&&s&&(r.dsn=ji(s)),Qs(r,[h4(i)])}function so(i,e){const t=e??C4(i)??[];if(t.length===0)return;const s=i.getOptions(),r=w4(t,s._metadata,s.tunnel,i.getDsn());wc().set(i,[]),i.emit("flushLogs"),i.sendEnvelope(r)}function C4(i){return wc().get(i)}function wc(){return xs("clientToLogBufferMap",()=>new WeakMap)}function A4(i){return[{type:"trace_metric",item_count:i.length,content_type:"application/vnd.sentry.items.trace-metric+json"},{items:i}]}function m4(i,e,t,s){const r={};return e!=null&&e.sdk&&(r.sdk={name:e.sdk.name,version:e.sdk.version}),t&&s&&(r.dsn=ji(s)),Qs(r,[A4(i)])}function Cc(i,e){const t=e??p4(i)??[];if(t.length===0)return;const s=i.getOptions(),r=m4(t,s._metadata,s.tunnel,i.getDsn());Ac().set(i,[]),i.emit("flushMetrics"),i.sendEnvelope(r)}function p4(i){return Ac().get(i)}function Ac(){return xs("clientToMetricBufferMap",()=>new WeakMap)}function mc(i){return typeof i=="object"&&typeof i.unref=="function"&&i.unref(),i}const Ko=Symbol.for("SentryBufferFullError");function qo(i=100){const e=new Set;function t(){return e.sizes(a),()=>s(a)),a}function o(M){if(!e.size)return gi(!0);const a=Promise.allSettled(Array.from(e)).then(()=>!0);if(!M)return a;const u=[a,new Promise(l=>mc(setTimeout(()=>l(!1),M)))];return Promise.race(u)}return{get $(){return Array.from(e)},add:r,drain:o}}const O4=60*1e3;function E4(i,e=nr()){const t=parseInt(`${i}`,10);if(!isNaN(t))return t*1e3;const s=Date.parse(`${i}`);return isNaN(s)?O4:s-e}function _4(i,e){return i[e]||i.all||0}function f4(i,e,t=nr()){return _4(i,e)>t}function S4(i,{statusCode:e,headers:t},s=nr()){const r={...i},o=t==null?void 0:t["x-sentry-rate-limits"],M=t==null?void 0:t["retry-after"];if(o)for(const a of o.trim().split(",")){const[u,l,,,N]=a.split(":",5),c=parseInt(u,10),L=(isNaN(c)?60:c)*1e3;if(!l)r.all=s+L;else for(const j of l.split(";"))j==="metric_bucket"?(!N||N.split(";").includes("custom"))&&(r[j]=s+L):r[j]=s+L}else M?r.all=s+E4(M,s):e===429&&(r.all=s+60*1e3);return r}const pc=64;function x4(i,e,t=qo(i.bufferSize||pc)){let s={};const r=M=>t.drain(M);function o(M){const a=[];if(qr(M,(c,L)=>{const j=XM(L);f4(s,j)?i.recordDroppedEvent("ratelimit_backoff",j):a.push(c)}),a.length===0)return Promise.resolve({});const u=Qs(M[0],a),l=c=>{if(R0(u,["client_report"])){V&&G.warn(`Dropping client report. Will not send outcomes (reason: ${c}).`);return}qr(u,(L,j)=>{i.recordDroppedEvent(c,XM(j))})},N=()=>e({body:J0(u)}).then(c=>c.statusCode===413?(V&&G.error("Sentry responded with status code 413. Envelope was discarded due to exceeding size limits."),l("send_error"),c):(V&&c.statusCode!==void 0&&(c.statusCode<200||c.statusCode>=300)&&G.warn(`Sentry responded with status code ${c.statusCode} to sent event.`),s=S4(s,c),c),c=>{throw l("network_error"),V&&G.error("Encountered error running transport request:",c),c});return t.add(N).then(c=>c,c=>{if(c===Ko)return V&&G.error("Skipped sending event because buffer is full."),l("queue_overflow"),Promise.resolve({});throw c})}return{send:o,flush:r}}function k4(i,e,t){const s=[{type:"client_report"},{timestamp:Ni(),discarded_events:i}];return Qs(e?{dsn:e}:{},[s])}function Oc(i){const e=[];i.message&&e.push(i.message);try{const t=i.exception.values[i.exception.values.length-1];t!=null&&t.value&&(e.push(t.value),t.type&&e.push(`${t.type}: ${t.value}`))}catch{}return e}function Y4(i){var u;const{trace_id:e,parent_span_id:t,span_id:s,status:r,origin:o,data:M,op:a}=((u=i.contexts)==null?void 0:u.trace)??{};return{data:M??{},description:i.transaction,op:a,parent_span_id:t,span_id:s??"",start_timestamp:i.start_timestamp??0,status:r,timestamp:i.timestamp,trace_id:e??"",origin:o,profile_id:M==null?void 0:M[cc],exclusive_time:M==null?void 0:M[uc],measurements:i.measurements,is_segment:!0}}function Q4(i){return{type:"transaction",timestamp:i.timestamp,start_timestamp:i.start_timestamp,transaction:i.description,contexts:{trace:{trace_id:i.trace_id,span_id:i.span_id,parent_span_id:i.parent_span_id,op:i.op,status:i.status,origin:i.origin,data:{...i.data,...i.profile_id&&{[cc]:i.profile_id},...i.exclusive_time&&{[uc]:i.exclusive_time}}}},measurements:i.measurements}}const nn="Not capturing exception because it's already been captured.",an="Discarded session because of missing or non-string release",Ec=Symbol.for("SentryInternalError"),_c=Symbol.for("SentryDoNotSendEventError"),U4=5e3;function Yi(i){return{message:i,[Ec]:!0}}function Ar(i){return{message:i,[_c]:!0}}function cn(i){return!!i&&typeof i=="object"&&Ec in i}function un(i){return!!i&&typeof i=="object"&&_c in i}function ln(i,e,t,s,r){let o=0,M,a=!1;i.on(t,()=>{o=0,clearTimeout(M),a=!1}),i.on(e,u=>{o+=s(u),o>=8e5?r(i):a||(a=!0,M=mc(setTimeout(()=>{r(i)},U4)))}),i.on("flush",()=>{r(i)})}class v4{constructor(e){var s,r,o;if(this._options=e,this._integrations={},this._numProcessing=0,this._outcomes={},this._hooks={},this._eventProcessors=[],this._promiseBuffer=qo(((s=e.transportOptions)==null?void 0:s.bufferSize)??pc),e.dsn?this._dsn=h0(e.dsn):V&&G.warn("No DSN provided, client will not send events."),this._dsn){const M=D4(this._dsn,e.tunnel,e._metadata?e._metadata.sdk:void 0);this._transport=e.transport({tunnel:this._options.tunnel,recordDroppedEvent:this.recordDroppedEvent.bind(this),...e.transportOptions,url:M})}this._options.enableLogs=this._options.enableLogs??((r=this._options._experiments)==null?void 0:r.enableLogs),this._options.enableLogs&&ln(this,"afterCaptureLog","flushLogs",W4,so),(this._options.enableMetrics??((o=this._options._experiments)==null?void 0:o.enableMetrics)??!0)&&ln(this,"afterCaptureMetric","flushMetrics",P4,Cc)}captureException(e,t,s){const r=Ke();if(vM(e))return V&&G.log(nn),r;const o={event_id:r,...t};return this._process(()=>this.eventFromException(e,o).then(M=>this._captureEvent(M,o,s)).then(M=>M),"error"),o.event_id}captureMessage(e,t,s,r){const o={event_id:Ke(),...s},M=Jo(e)?e:String(e),a=rr(e),u=a?this.eventFromMessage(M,t,o):this.eventFromException(e,o);return this._process(()=>u.then(l=>this._captureEvent(l,o,r)),a?"unknown":"error"),o.event_id}captureEvent(e,t,s){const r=Ke();if(t!=null&&t.originalException&&vM(t.originalException))return V&&G.log(nn),r;const o={event_id:r,...t},M=e.sdkProcessingMetadata||{},a=M.capturedSpanScope,u=M.capturedSpanIsolationScope,l=Nn(e.type);return this._process(()=>this._captureEvent(e,o,a||s,u),l),o.event_id}captureSession(e){this.sendSession(e),_s(e,{init:!1})}getDsn(){return this._dsn}getOptions(){return this._options}getSdkMetadata(){return this._options._metadata}getTransport(){return this._transport}async flush(e){const t=this._transport;if(!t)return!0;this.emit("flush");const s=await this._isClientDoneProcessing(e),r=await t.flush(e);return s&&r}async close(e){so(this);const t=await this.flush(e);return this.getOptions().enabled=!1,this.emit("close"),t}getEventProcessors(){return this._eventProcessors}addEventProcessor(e){this._eventProcessors.push(e)}init(){(this._isEnabled()||this._options.integrations.some(({name:e})=>e.startsWith("Spotlight")))&&this._setupIntegrations()}getIntegrationByName(e){return this._integrations[e]}addIntegration(e){const t=this._integrations[e.name];hc(this,e,this._integrations),t||Mn(this,[e])}sendEvent(e,t={}){this.emit("beforeSendEvent",e,t);let s=X0(e,this._dsn,this._options._metadata,this._options.tunnel);for(const r of t.attachments||[])s=W0(s,G0(r));this.sendEnvelope(s).then(r=>this.emit("afterSendEvent",e,r))}sendSession(e){const{release:t,environment:s=Zo}=this._options;if("aggregates"in e){const o=e.attrs||{};if(!o.release&&!t){V&&G.warn(an);return}o.release=o.release||t,o.environment=o.environment||s,e.attrs=o}else{if(!e.release&&!t){V&&G.warn(an);return}e.release=e.release||t,e.environment=e.environment||s}this.emit("beforeSendSession",e);const r=Z0(e,this._dsn,this._options._metadata,this._options.tunnel);this.sendEnvelope(r)}recordDroppedEvent(e,t,s=1){if(this._options.sendClientReports){const r=`${e}:${t}`;V&&G.log(`Recording outcome: "${r}"${s>1?` (${s} times)`:""}`),this._outcomes[r]=(this._outcomes[r]||0)+s}}on(e,t){const s=this._hooks[e]=this._hooks[e]||new Set,r=(...o)=>t(...o);return s.add(r),()=>{s.delete(r)}}emit(e,...t){const s=this._hooks[e];s&&s.forEach(r=>r(...t))}async sendEnvelope(e){if(this.emit("beforeEnvelope",e),this._isEnabled()&&this._transport)try{return await this._transport.send(e)}catch(t){return V&&G.error("Error while sending envelope:",t),{}}return V&&G.error("Transport disabled"),{}}dispose(){}_setupIntegrations(){const{integrations:e}=this._options;this._integrations=I4(this,e),Mn(this,e)}_updateSessionFromEvent(e,t){var u,l;let s=t.level==="fatal",r=!1;const o=(u=t.exception)==null?void 0:u.values;if(o){r=!0,s=!1;for(const N of o)if(((l=N.mechanism)==null?void 0:l.handled)===!1){s=!0;break}}const M=e.status==="ok";(M&&e.errors===0||M&&s)&&(_s(e,{...s&&{status:"crashed"},errors:e.errors||Number(r||s)}),this.captureSession(e))}async _isClientDoneProcessing(e){let t=0;for(;!e||tsetTimeout(s,1)),!this._numProcessing)return!0;t++}return!1}_isEnabled(){return this.getOptions().enabled!==!1&&this._transport!==void 0}_prepareEvent(e,t,s,r){const o=this.getOptions(),M=Object.keys(this._integrations);return!t.integrations&&(M!=null&&M.length)&&(t.integrations=M),this.emit("preprocessEvent",e,t),e.type||r.setLastEventId(e.event_id||t.event_id),M4(o,e,t,s,this,r).then(a=>{var l;if(a===null)return a;this.emit("postprocessEvent",a,t),a.contexts={trace:{...(l=a.contexts)==null?void 0:l.trace,...qN(s)},...a.contexts};const u=Y0(this,s);return a.sdkProcessingMetadata={dynamicSamplingContext:u,...a.sdkProcessingMetadata},a})}_captureEvent(e,t={},s=Lt(),r=cs()){return V&&io(e)&&G.log(`Captured error event \`${Oc(e)[0]||""}\``),this._processEvent(e,t,s,r).then(o=>o.event_id,o=>{V&&(un(o)?G.log(o.message):cn(o)?G.warn(o.message):G.warn(o))})}_processEvent(e,t,s,r){const o=this.getOptions(),{sampleRate:M}=o,a=fc(e),u=io(e),N=`before send for type \`${e.type||"error"}\``,c=typeof M>"u"?void 0:w0(M);if(u&&typeof c=="number"&&Ji()>c)return this.recordDroppedEvent("sample_rate","error"),Xo(Ar(`Discarding event because it's not included in the random sample (sampling rate = ${M})`));const L=Nn(e.type);return this._prepareEvent(e,t,s,r).then(j=>{var d;if(j===null)throw this.recordDroppedEvent("event_processor",L),Ar("An event processor returned `null`, will not send event.");if(((d=t.data)==null?void 0:d.__sentry__)===!0)return j;const y=$4(this,o,j,t);return b4(y,N)}).then(j=>{var d;if(j===null){if(this.recordDroppedEvent("before_send",L),a){const m=1+(e.spans||[]).length;this.recordDroppedEvent("before_send","span",m)}throw Ar(`${N} returned \`null\`, will not send event.`)}const g=s.getSession()||r.getSession();if(u&&g&&this._updateSessionFromEvent(g,j),a){const h=((d=j.sdkProcessingMetadata)==null?void 0:d.spanCountBeforeProcessing)||0,m=j.spans?j.spans.length:0,w=h-m;w>0&&this.recordDroppedEvent("before_send","span",w)}const y=j.transaction_info;if(a&&y&&j.transaction!==e.transaction){const h="custom";j.transaction_info={...y,source:h}}return this.sendEvent(j,t),j}).then(null,j=>{throw un(j)||cn(j)?j:(this.captureException(j,{mechanism:{handled:!1,type:"internal"},data:{__sentry__:!0},originalException:j}),Yi(`Event processing pipeline threw an error, original event will not be sent. Details have been sent as a new event. +Reason: ${j}`))})}_process(e,t){this._numProcessing++,this._promiseBuffer.add(e).then(s=>(this._numProcessing--,s),s=>(this._numProcessing--,s===Ko&&this.recordDroppedEvent("queue_overflow",t),s))}_clearOutcomes(){const e=this._outcomes;return this._outcomes={},Object.entries(e).map(([t,s])=>{const[r,o]=t.split(":");return{reason:r,category:o,quantity:s}})}_flushOutcomes(){V&&G.log("Flushing outcomes...");const e=this._clearOutcomes();if(e.length===0){V&&G.log("No outcomes to send");return}if(!this._dsn){V&&G.log("No dsn provided, will not send outcomes");return}V&&G.log("Sending outcomes:",e);const t=k4(e,this._options.tunnel&&ji(this._dsn));this.sendEnvelope(t)}}function Nn(i){return i==="replay_event"?"replay":i||"error"}function b4(i,e){const t=`${e} must return \`null\` or a valid event.`;if(li(i))return i.then(s=>{if(!si(s)&&s!==null)throw Yi(t);return s},s=>{throw Yi(`${e} rejected with ${s}`)});if(!si(i)&&i!==null)throw Yi(t);return i}function $4(i,e,t,s){const{beforeSend:r,beforeSendTransaction:o,beforeSendSpan:M,ignoreSpans:a}=e;let u=t;if(io(u)&&r)return r(u,s);if(fc(u)){if(M||a){const l=Y4(u);if(a!=null&&a.length&&ZM(l,a))return null;if(M){const N=M(l);N?u=Li(t,Q4(N)):HM()}if(u.spans){const N=[],c=u.spans;for(const j of c){if(a!=null&&a.length&&ZM(j,a)){S0(c,j);continue}if(M){const g=M(j);g?N.push(g):(HM(),N.push(j))}else N.push(j)}const L=u.spans.length-N.length;L&&i.recordDroppedEvent("before_send","span",L),u.spans=N}}if(o){if(u.spans){const l=u.spans.length;u.sdkProcessingMetadata={...t.sdkProcessingMetadata,spanCountBeforeProcessing:l}}return o(u,s)}}return u}function io(i){return i.type===void 0}function fc(i){return i.type==="transaction"}function P4(i){let e=0;return i.name&&(e+=i.name.length*2),e+=8,e+Sc(i.attributes)}function W4(i){let e=0;return i.message&&(e+=i.message.length*2),e+Sc(i.attributes)}function Sc(i){if(!i)return 0;let e=0;return Object.values(i).forEach(t=>{Array.isArray(t)?e+=t.length*Ln(t[0]):rr(t)?e+=Ln(t):e+=100}),e}function Ln(i){return typeof i=="string"?i.length*2:typeof i=="number"?8:typeof i=="boolean"?4:0}function R4(i){return ir(i)&&"__sentry_fetch_url_host__"in i&&typeof i.__sentry_fetch_url_host__=="string"}function jn(i){return R4(i)?`${i.message} (${i.__sentry_fetch_url_host__})`:i.message}function J4(i,e){e.debug===!0&&(V?G.enable():ks(()=>{console.warn("[Sentry] Cannot initialize SDK with `debug` option using a non-debug bundle.")})),Lt().update(e.initialScope);const s=new i(e);return B4(s),s.init(),s}function B4(i){Lt().setClient(i)}function mr(i){if(!i)return{};const e=i.match(/^(([^:/?#]+):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/);if(!e)return{};const t=e[6]||"",s=e[8]||"";return{host:e[4],path:e[5],protocol:e[2],search:t,hash:s,relative:e[5]+t+s}}function G4(i,e=!0){if(i.startsWith("data:")){const t=i.match(/^data:([^;,]+)/),s=t?t[1]:"text/plain",r=i.includes(";base64,"),o=i.indexOf(",");let M="";if(e&&o!==-1){const a=i.slice(o+1);M=a.length>10?`${a.slice(0,10)}... [truncated]`:a}return`data:${s}${r?",base64":""}${M?`,${M}`:""}`}return i}function F4(i){var e;"aggregates"in i?((e=i.attrs)==null?void 0:e.ip_address)===void 0&&(i.attrs={...i.attrs,ip_address:"{{auto}}"}):i.ipAddress===void 0&&(i.ipAddress="{{auto}}")}function H4(i,e,t=[e],s="npm"){const r=(i._metadata=i._metadata||{}).sdk=i._metadata.sdk||{};r.name||(r.name=`sentry.javascript.${e}`,r.packages=t.map(o=>({name:`${s}:@sentry/${o}`,version:is})),r.version=is)}const V4=100;function os(i,e){const t=xe(),s=cs();if(!t)return;const{beforeBreadcrumb:r=null,maxBreadcrumbs:o=V4}=t.getOptions();if(o<=0)return;const a={timestamp:Ni(),...i},u=r?ks(()=>r(a,e)):a;u!==null&&(t.emit&&t.emit("beforeAddBreadcrumb",u,e),s.addBreadcrumb(u,o))}let gn;const Z4="FunctionToString",Tn=new WeakMap,X4=(()=>({name:Z4,setupOnce(){gn=Function.prototype.toString;try{Function.prototype.toString=function(...i){const e=Fo(this),t=Tn.has(xe())&&e!==void 0?e:this;return gn.apply(t,i)}}catch{}},setup(i){Tn.set(i,!0)}})),K4=X4,q4=[/^Script error\.?$/,/^Javascript error: Script error\.? on line 0$/,/^ResizeObserver loop completed with undelivered notifications.$/,/^Cannot redefine property: googletag$/,/^Can't find variable: gmo$/,/^undefined is not an object \(evaluating 'a\.[A-Z]'\)$/,`can't redefine non-configurable property "solana"`,"vv().getRestrictions is not a function. (In 'vv().getRestrictions(1,a)', 'vv().getRestrictions' is undefined)","Can't find variable: _AutofillCallbackHandler",/^Non-Error promise rejection captured with value: Object Not Found Matching Id:\d+, MethodName:simulateEvent, ParamCount:\d+$/,/^Java exception was raised during method invocation$/],eL="EventFilters",tL=(i={})=>{let e;return{name:eL,setup(t){const s=t.getOptions();e=yn(i,s)},processEvent(t,s,r){if(!e){const o=r.getOptions();e=yn(i,o)}return iL(t,e)?null:t}}},sL=((i={})=>({...tL(i),name:"InboundFilters"}));function yn(i={},e={}){return{allowUrls:[...i.allowUrls||[],...e.allowUrls||[]],denyUrls:[...i.denyUrls||[],...e.denyUrls||[]],ignoreErrors:[...i.ignoreErrors||[],...e.ignoreErrors||[],...i.disableErrorDefaults?[]:q4],ignoreTransactions:[...i.ignoreTransactions||[],...e.ignoreTransactions||[]]}}function iL(i,e){if(i.type){if(i.type==="transaction"&&oL(i,e.ignoreTransactions))return V&&G.warn(`Event dropped due to being matched by \`ignoreTransactions\` option. +Event: ${es(i)}`),!0}else{if(rL(i,e.ignoreErrors))return V&&G.warn(`Event dropped due to being matched by \`ignoreErrors\` option. +Event: ${es(i)}`),!0;if(cL(i))return V&&G.warn(`Event dropped due to not having an error message, error type or stacktrace. +Event: ${es(i)}`),!0;if(ML(i,e.denyUrls))return V&&G.warn(`Event dropped due to being matched by \`denyUrls\` option. +Event: ${es(i)}. +Url: ${Bi(i)}`),!0;if(!nL(i,e.allowUrls))return V&&G.warn(`Event dropped due to not being matched by \`allowUrls\` option. +Event: ${es(i)}. +Url: ${Bi(i)}`),!0}return!1}function rL(i,e){return e!=null&&e.length?Oc(i).some(t=>ar(t,e)):!1}function oL(i,e){if(!(e!=null&&e.length))return!1;const t=i.transaction;return t?ar(t,e):!1}function ML(i,e){if(!(e!=null&&e.length))return!1;const t=Bi(i);return t?ar(t,e):!1}function nL(i,e){if(!(e!=null&&e.length))return!0;const t=Bi(i);return t?ar(t,e):!0}function aL(i=[]){for(let e=i.length-1;e>=0;e--){const t=i[e];if(t&&t.filename!==""&&t.filename!=="[native code]")return t.filename||null}return null}function Bi(i){var e,t;try{const s=[...((e=i.exception)==null?void 0:e.values)??[]].reverse().find(o=>{var M,a,u;return((M=o.mechanism)==null?void 0:M.parent_id)===void 0&&((u=(a=o.stacktrace)==null?void 0:a.frames)==null?void 0:u.length)}),r=(t=s==null?void 0:s.stacktrace)==null?void 0:t.frames;return r?aL(r):null}catch{return V&&G.error(`Cannot extract url for event ${es(i)}`),null}}function cL(i){var e,t;return(t=(e=i.exception)==null?void 0:e.values)!=null&&t.length?!i.message&&!i.exception.values.some(s=>s.stacktrace||s.type&&s.type!=="Error"||s.value):!1}function uL(i,e,t,s,r,o){var a;if(!((a=r.exception)!=null&&a.values)||!o||!Gt(o.originalException,Error))return;const M=r.exception.values.length>0?r.exception.values[r.exception.values.length-1]:void 0;M&&(r.exception.values=ro(i,e,s,o.originalException,t,r.exception.values,M,0))}function ro(i,e,t,s,r,o,M,a){if(o.length>=t+1)return o;let u=[...o];if(Gt(s[r],Error)){Dn(M,a,s);const l=i(e,s[r]),N=u.length;dn(l,r,N,a),u=ro(i,e,t,s[r],r,[l,...u],l,N)}return xc(s)&&s.errors.forEach((l,N)=>{if(Gt(l,Error)){Dn(M,a,s);const c=i(e,l),L=u.length;dn(c,`errors[${N}]`,L,a),u=ro(i,e,t,l,r,[c,...u],c,L)}}),u}function xc(i){return Array.isArray(i.errors)}function Dn(i,e,t){i.mechanism={handled:!0,type:"auto.core.linked_errors",...xc(t)&&{is_exception_group:!0},...i.mechanism,exception_id:e}}function dn(i,e,t,s){i.mechanism={handled:!0,...i.mechanism,type:"chained",source:e,exception_id:t,parent_id:s}}function lL(i){const e="console";ns(e,i),as(e,NL)}function NL(){"console"in oe&&TN.forEach(function(i){i in oe.console&&Ge(oe.console,i,function(e){return Ri[i]=e,function(...t){st("console",{args:t,level:i});const r=Ri[i];r==null||r.apply(oe.console,t)}})})}function LL(i){return i==="warn"?"warning":["fatal","error","warning","log","info","debug"].includes(i)?i:"log"}const jL="Dedupe",gL=(()=>{let i;return{name:jL,processEvent(e){if(e.type)return e;try{if(TL(e,i))return V&&G.warn("Event dropped due to being a duplicate of previously captured event."),null}catch{}return i=e}}}),kc=gL;function TL(i,e){return e?!!(yL(i,e)||DL(i,e)):!1}function yL(i,e){const t=i.message,s=e.message;return!(!t&&!s||t&&!s||!t&&s||t!==s||!Qc(i,e)||!Yc(i,e))}function DL(i,e){const t=zn(e),s=zn(i);return!(!t||!s||t.type!==s.type||t.value!==s.value||!Qc(i,e)||!Yc(i,e))}function Yc(i,e){let t=SM(i),s=SM(e);if(!t&&!s)return!0;if(t&&!s||!t&&s||(t=t,s=s,s.length!==t.length))return!1;for(let r=0;r({name:dL,setup(i){i.on("spanStart",e=>{const t=Lt().getScopeData(),s=cs().getScopeData(),r=t.conversationId||s.conversationId;r&&e.setAttribute(o0,r)})}})),IL=zL;function Uc(i){if(i!==void 0)return i>=400&&i<500?"warning":i>=500?"error":void 0}const ri=oe;function hL(){return"history"in ri&&!!ri.history}function wL(){if(!("fetch"in ri))return!1;try{return new Headers,new Request("data:,"),new Response,!0}catch{return!1}}function oo(i){return i&&/^function\s+\w+\(\)\s+\{\s+\[native code\]\s+\}$/.test(i.toString())}function CL(){var t;if(typeof EdgeRuntime=="string")return!0;if(!wL())return!1;if(oo(ri.fetch))return!0;let i=!1;const e=ri.document;if(e&&typeof e.createElement=="function")try{const s=e.createElement("iframe");s.hidden=!0,e.head.appendChild(s),(t=s.contentWindow)!=null&&t.fetch&&(i=oo(s.contentWindow.fetch)),e.head.removeChild(s)}catch(s){V&&G.warn("Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ",s)}return i}function AL(i,e){const t="fetch";ns(t,i),as(t,()=>mL(void 0,e))}function mL(i,e=!1){e&&!CL()||Ge(oe,"fetch",function(t){return function(...s){const r=new Error,{method:o,url:M}=pL(s),a={args:s,fetchData:{method:o,url:M},startTimestamp:mt()*1e3,virtualError:r,headers:OL(s)};return st("fetch",{...a}),t.apply(oe,s).then(async u=>(st("fetch",{...a,endTimestamp:mt()*1e3,response:u}),u),u=>{st("fetch",{...a,endTimestamp:mt()*1e3,error:u}),ir(u)&&u.stack===void 0&&(u.stack=r.stack,Ft(u,"framesToPop",1));const l=xe(),N=(l==null?void 0:l.getOptions().enhanceFetchErrorMessages)??"always";if(N!==!1&&u instanceof TypeError&&(u.message==="Failed to fetch"||u.message==="Load failed"||u.message==="NetworkError when attempting to fetch resource."))try{const j=new URL(a.fetchData.url).host;N==="always"?u.message=`${u.message} (${j})`:Ft(u,"__sentry_fetch_url_host__",j)}catch{}throw u})}})}function Qi(i,e){return!!i&&typeof i=="object"&&!!i[e]}function In(i){return typeof i=="string"?i:i?Qi(i,"url")?i.url:i.toString?i.toString():"":""}function pL(i){if(i.length===0)return{method:"GET",url:""};if(i.length===2){const[t,s]=i;return{url:In(t),method:Qi(s,"method")?String(s.method).toUpperCase():sc(t)&&Qi(t,"method")?String(t.method).toUpperCase():"GET"}}const e=i[0];return{url:In(e),method:Qi(e,"method")?String(e.method).toUpperCase():"GET"}}function OL(i){const[e,t]=i;try{if(typeof t=="object"&&t!==null&&"headers"in t&&t.headers)return new Headers(t.headers);if(sc(e))return new Headers(e.headers)}catch{}}function EL(){return"npm"}const Ne=oe;let Mo=0;function vc(){return Mo>0}function _L(){Mo++,setTimeout(()=>{Mo--})}function Ss(i,e={}){function t(r){return typeof r=="function"}if(!t(i))return i;try{const r=i.__sentry_wrapped__;if(r)return typeof r=="function"?r:i;if(Fo(i))return i}catch{return i}const s=function(...r){try{const o=r.map(M=>Ss(M,e));return i.apply(this,o)}catch(o){throw _L(),KN(M=>{M.addEventProcessor(a=>(e.mechanism&&(Zr(a,void 0),Es(a,e.mechanism)),a.extra={...a.extra,arguments:r},a)),L4(o)}),o}};try{for(const r in i)Object.prototype.hasOwnProperty.call(i,r)&&(s[r]=i[r])}catch{}rc(s,i),Ft(i,"__sentry_wrapped__",s);try{Object.getOwnPropertyDescriptor(s,"name").configurable&&Object.defineProperty(s,"name",{get(){return i.name}})}catch{}return s}function fL(){const i=Go(),{referrer:e}=Ne.document||{},{userAgent:t}=Ne.navigator||{},s={...e&&{Referer:e},...t&&{"User-Agent":t}};return{url:i,headers:s}}function eM(i,e){const t=tM(i,e),s={type:QL(e),value:UL(e)};return t.length&&(s.stacktrace={frames:t}),s.type===void 0&&s.value===""&&(s.value="Unrecoverable error caught"),s}function SL(i,e,t,s){const r=xe(),o=r==null?void 0:r.getOptions().normalizeDepth,M=WL(e),a={__serialized__:Tc(e,o)};if(M)return{exception:{values:[eM(i,M)]},extra:a};const u={exception:{values:[{type:or(e)?e.constructor.name:s?"UnhandledRejection":"Error",value:$L(e,{isUnhandledRejection:s})}]},extra:a};if(t){const l=tM(i,t);l.length&&(u.exception.values[0].stacktrace={frames:l})}return u}function pr(i,e){return{exception:{values:[eM(i,e)]}}}function tM(i,e){const t=e.stacktrace||e.stack||"",s=kL(e),r=YL(e);try{return i(t,s,r)}catch{}return[]}const xL=/Minified React error #\d+;/i;function kL(i){return i&&xL.test(i.message)?1:0}function YL(i){return typeof i.framesToPop=="number"?i.framesToPop:0}function bc(i){return typeof WebAssembly<"u"&&typeof WebAssembly.Exception<"u"?i instanceof WebAssembly.Exception:!1}function QL(i){const e=i==null?void 0:i.name;return!e&&bc(i)?i.message&&Array.isArray(i.message)&&i.message.length==2?i.message[0]:"WebAssembly.Exception":e}function UL(i){const e=i==null?void 0:i.message;return bc(i)?Array.isArray(i.message)&&i.message.length==2?i.message[1]:"wasm exception":e?e.error&&typeof e.error.message=="string"?jn(e.error):jn(i):"No error message"}function vL(i,e,t,s){const r=(t==null?void 0:t.syntheticException)||void 0,o=sM(i,e,r,s);return Es(o),o.level="error",t!=null&&t.event_id&&(o.event_id=t.event_id),gi(o)}function bL(i,e,t="info",s,r){const o=(s==null?void 0:s.syntheticException)||void 0,M=no(i,e,o,r);return M.level=t,s!=null&&s.event_id&&(M.event_id=s.event_id),gi(M)}function sM(i,e,t,s,r){let o;if(ec(e)&&e.error)return pr(i,e.error);if(kM(e)||EN(e)){const M=e;if("stack"in e)o=pr(i,e);else{const a=M.name||(kM(M)?"DOMError":"DOMException"),u=M.message?`${a}: ${M.message}`:a;o=no(i,u,t,s),Zr(o,u)}return"code"in M&&(o.tags={...o.tags,"DOMException.code":`${M.code}`}),o}return ir(e)?pr(i,e):si(e)||or(e)?(o=SL(i,e,t,r),Es(o,{synthetic:!0}),o):(o=no(i,e,t,s),Zr(o,`${e}`),Es(o,{synthetic:!0}),o)}function no(i,e,t,s){const r={};if(s&&t){const o=tM(i,t);o.length&&(r.exception={values:[{value:e,stacktrace:{frames:o}}]}),Es(r,{synthetic:!0})}if(Jo(e)){const{__sentry_template_string__:o,__sentry_template_values__:M}=e;return r.logentry={message:o,params:M},r}return r.message=e,r}function $L(i,{isUnhandledRejection:e}){const t=QN(i),s=e?"promise rejection":"exception";return ec(i)?`Event \`ErrorEvent\` captured as ${s} with message \`${i.message}\``:or(i)?`Event \`${PL(i)}\` (type=${i.type}) captured as ${s}`:`Object captured as ${s} with keys: ${t}`}function PL(i){try{const e=Object.getPrototypeOf(i);return e?e.constructor.name:void 0}catch{}}function WL(i){for(const e in i)if(Object.prototype.hasOwnProperty.call(i,e)){const t=i[e];if(t instanceof Error)return t}}class RL extends v4{constructor(e){var N;const t=JL(e),s=Ne.SENTRY_SDK_SOURCE||EL();H4(t,"browser",["browser"],s),(N=t._metadata)!=null&&N.sdk&&(t._metadata.sdk.settings={infer_ip:t.sendDefaultPii?"auto":"never",...t._metadata.sdk.settings}),super(t);const{sendDefaultPii:r,sendClientReports:o,enableLogs:M,_experiments:a,enableMetrics:u}=this._options,l=u??(a==null?void 0:a.enableMetrics)??!0;Ne.document&&(o||M||l)&&Ne.document.addEventListener("visibilitychange",()=>{Ne.document.visibilityState==="hidden"&&(o&&this._flushOutcomes(),M&&so(this),l&&Cc(this))}),r&&this.on("beforeSendSession",F4)}eventFromException(e,t){return vL(this._options.stackParser,e,t,this._options.attachStacktrace)}eventFromMessage(e,t="info",s){return bL(this._options.stackParser,e,t,s,this._options.attachStacktrace)}_prepareEvent(e,t,s,r){return e.platform=e.platform||"javascript",super._prepareEvent(e,t,s,r)}}function JL(i){var e;return{release:typeof __SENTRY_RELEASE__=="string"?__SENTRY_RELEASE__:(e=Ne.SENTRY_RELEASE)==null?void 0:e.id,sendClientReports:!0,parentSpanIsAlwaysRootSpan:!0,...i}}const BL=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__,Qe=oe,GL=1e3;let hn,ao,co;function FL(i){ns("dom",i),as("dom",HL)}function HL(){if(!Qe.document)return;const i=st.bind(null,"dom"),e=wn(i,!0);Qe.document.addEventListener("click",e,!1),Qe.document.addEventListener("keypress",e,!1),["EventTarget","Node"].forEach(t=>{var o,M;const r=(o=Qe[t])==null?void 0:o.prototype;(M=r==null?void 0:r.hasOwnProperty)!=null&&M.call(r,"addEventListener")&&(Ge(r,"addEventListener",function(a){return function(u,l,N){if(u==="click"||u=="keypress")try{const c=this.__sentry_instrumentation_handlers__=this.__sentry_instrumentation_handlers__||{},L=c[u]=c[u]||{refCount:0};if(!L.handler){const j=wn(i);L.handler=j,a.call(this,u,j,N)}L.refCount++}catch{}return a.call(this,u,l,N)}}),Ge(r,"removeEventListener",function(a){return function(u,l,N){if(u==="click"||u=="keypress")try{const c=this.__sentry_instrumentation_handlers__||{},L=c[u];L&&(L.refCount--,L.refCount<=0&&(a.call(this,u,L.handler,N),L.handler=void 0,delete c[u]),Object.keys(c).length===0&&delete this.__sentry_instrumentation_handlers__)}catch{}return a.call(this,u,l,N)}}))})}function VL(i){if(i.type!==ao)return!1;try{if(!i.target||i.target._sentryId!==co)return!1}catch{}return!0}function ZL(i,e){return i!=="keypress"?!1:e!=null&&e.tagName?!(e.tagName==="INPUT"||e.tagName==="TEXTAREA"||e.isContentEditable):!0}function wn(i,e=!1){return t=>{if(!t||t._sentryCaptured)return;const s=XL(t);if(ZL(t.type,s))return;Ft(t,"_sentryCaptured",!0),s&&!s._sentryId&&Ft(s,"_sentryId",Ke());const r=t.type==="keypress"?"input":t.type;VL(t)||(i({event:t,name:r,global:e}),ao=t.type,co=s?s._sentryId:void 0),clearTimeout(hn),hn=Qe.setTimeout(()=>{co=void 0,ao=void 0},GL)}}function XL(i){try{return i.target}catch{return null}}let hi;function $c(i){const e="history";ns(e,i),as(e,KL)}function KL(){if(Qe.addEventListener("popstate",()=>{const e=Qe.location.href,t=hi;if(hi=e,t===e)return;st("history",{from:t,to:e})}),!hL())return;function i(e){return function(...t){const s=t.length>2?t[2]:void 0;if(s){const r=hi,o=qL(String(s));if(hi=o,r===o)return e.apply(this,t);st("history",{from:r,to:o})}return e.apply(this,t)}}Ge(Qe.history,"pushState",i),Ge(Qe.history,"replaceState",i)}function qL(i){try{return new URL(i,Qe.location.origin).toString()}catch{return i}}const Ui={};function ej(i){const e=Ui[i];if(e)return e;let t=Qe[i];if(oo(t))return Ui[i]=t.bind(Qe);const s=Qe.document;if(s&&typeof s.createElement=="function")try{const r=s.createElement("iframe");r.hidden=!0,s.head.appendChild(r);const o=r.contentWindow;o!=null&&o[i]&&(t=o[i]),s.head.removeChild(r)}catch(r){BL&&G.warn(`Could not create sandbox iframe for ${i} check, bailing to window.${i}: `,r)}return t&&(Ui[i]=t.bind(Qe))}function tj(i){Ui[i]=void 0}const Hs="__sentry_xhr_v3__";function sj(i){ns("xhr",i),as("xhr",ij)}function ij(){if(!Qe.XMLHttpRequest)return;const i=XMLHttpRequest.prototype;i.open=new Proxy(i.open,{apply(e,t,s){const r=new Error,o=mt()*1e3,M=At(s[0])?s[0].toUpperCase():void 0,a=rj(s[1]);if(!M||!a)return e.apply(t,s);t[Hs]={method:M,url:a,request_headers:{}},M==="POST"&&a.match(/sentry_key/)&&(t.__sentry_own_request__=!0);const u=()=>{const l=t[Hs];if(l&&t.readyState===4){try{l.status_code=t.status}catch{}const N={endTimestamp:mt()*1e3,startTimestamp:o,xhr:t,virtualError:r};st("xhr",N)}};return"onreadystatechange"in t&&typeof t.onreadystatechange=="function"?t.onreadystatechange=new Proxy(t.onreadystatechange,{apply(l,N,c){return u(),l.apply(N,c)}}):t.addEventListener("readystatechange",u),t.setRequestHeader=new Proxy(t.setRequestHeader,{apply(l,N,c){const[L,j]=c,g=N[Hs];return g&&At(L)&&At(j)&&(g.request_headers[L.toLowerCase()]=j),l.apply(N,c)}}),e.apply(t,s)}}),i.send=new Proxy(i.send,{apply(e,t,s){const r=t[Hs];if(!r)return e.apply(t,s);s[0]!==void 0&&(r.body=s[0]);const o={startTimestamp:mt()*1e3,xhr:t};return st("xhr",o),e.apply(t,s)}})}function rj(i){if(At(i))return i;try{return i.toString()}catch{}}const oj=40;function Mj(i,e=ej("fetch")){let t=0,s=0;async function r(o){const M=o.body.length;t+=M,s++;const a={body:o.body,method:"POST",referrerPolicy:"strict-origin",headers:i.headers,keepalive:t<=6e4&&s<15,...i.fetchOptions};try{const u=await e(i.url,a);return{statusCode:u.status,headers:{"x-sentry-rate-limits":u.headers.get("X-Sentry-Rate-Limits"),"retry-after":u.headers.get("Retry-After")}}}catch(u){throw tj("fetch"),u}finally{t-=M,s--}}return x4(i,r,qo(i.bufferSize||oj))}const cr=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__,nj=30,aj=50;function uo(i,e,t,s){const r={filename:i,function:e===""?rs:e,in_app:!0};return t!==void 0&&(r.lineno=t),s!==void 0&&(r.colno=s),r}const cj=/^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i,uj=/^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,lj=/\((\S*)(?::(\d+))(?::(\d+))\)/,Nj=/at (.+?) ?\(data:(.+?),/,Lj=i=>{var r;const e=i.match(Nj);if(e)return{filename:``,function:e[1]};const t=cj.exec(i);if(t){const[,o,M,a]=t;return uo(o,rs,+M,+a)}const s=uj.exec(i);if(s){if(((r=s[2])==null?void 0:r.indexOf("eval"))===0){const u=lj.exec(s[2]);u&&(s[2]=u[1],s[3]=u[2],s[4]=u[3])}const[M,a]=Pc(s[1]||rs,s[2]);return uo(a,M,s[3]?+s[3]:void 0,s[4]?+s[4]:void 0)}},jj=[nj,Lj],gj=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,Tj=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,yj=i=>{const e=gj.exec(i);if(e){if(e[3]&&e[3].indexOf(" > eval")>-1){const o=Tj.exec(e[3]);o&&(e[1]=e[1]||"eval",e[3]=o[1],e[4]=o[2],e[5]="")}let s=e[3],r=e[1]||rs;return[r,s]=Pc(r,s),uo(s,r,e[4]?+e[4]:void 0,e[5]?+e[5]:void 0)}},Dj=[aj,yj],dj=[jj,Dj],zj=Xa(...dj),Pc=(i,e)=>{const t=i.indexOf("safari-extension")!==-1,s=i.indexOf("safari-web-extension")!==-1;return t||s?[i.indexOf("@")!==-1?i.split("@")[0]:rs,t?`safari-extension:${e}`:`safari-web-extension:${e}`]:[i,e]},wi=1024,Ij="Breadcrumbs",hj=((i={})=>{const e={console:!0,dom:!0,fetch:!0,history:!0,sentry:!0,xhr:!0,...i};return{name:Ij,setup(t){e.console&&lL(mj(t)),e.dom&&FL(Aj(t,e.dom)),e.xhr&&sj(pj(t)),e.fetch&&AL(Oj(t)),e.history&&$c(Ej(t)),e.sentry&&t.on("beforeSendEvent",Cj(t))}}}),wj=hj;function Cj(i){return function(t){xe()===i&&os({category:`sentry.${t.type==="transaction"?"transaction":"event"}`,event_id:t.event_id,level:t.level,message:es(t)},{event:t})}}function Aj(i,e){return function(s){if(xe()!==i)return;let r,o,M=typeof e=="object"?e.serializeAttribute:void 0,a=typeof e=="object"&&typeof e.maxStringLength=="number"?e.maxStringLength:void 0;a&&a>wi&&(cr&&G.warn(`\`dom.maxStringLength\` cannot exceed ${wi}, but a value of ${a} was configured. Sentry will use ${wi} instead.`),a=wi),typeof M=="string"&&(M=[M]);try{const l=s.event,N=_j(l)?l.target:l;r=ic(N,{keyAttrs:M,maxStringLength:a}),o=YN(N)}catch{r=""}if(r.length===0)return;const u={category:`ui.${s.name}`,message:r};o&&(u.data={"ui.component_name":o}),os(u,{event:s.event,name:s.name,global:s.global})}}function mj(i){return function(t){if(xe()!==i)return;const s={category:"console",data:{arguments:t.args,logger:"console"},level:LL(t.level),message:UM(t.args," ")};if(t.level==="assert")if(t.args[0]===!1)s.message=`Assertion failed: ${UM(t.args.slice(1)," ")||"console.assert"}`,s.data.arguments=t.args.slice(1);else return;os(s,{input:t.args,level:t.level})}}function pj(i){return function(t){if(xe()!==i)return;const{startTimestamp:s,endTimestamp:r}=t,o=t.xhr[Hs];if(!s||!r||!o)return;const{method:M,url:a,status_code:u,body:l}=o,N={method:M,url:a,status_code:u},c={xhr:t.xhr,input:l,startTimestamp:s,endTimestamp:r},L={category:"xhr",data:N,type:"http",level:Uc(u)};i.emit("beforeOutgoingRequestBreadcrumb",L,c),os(L,c)}}function Oj(i){return function(t){if(xe()!==i)return;const{startTimestamp:s,endTimestamp:r}=t;if(r&&!(t.fetchData.url.match(/sentry_key/)&&t.fetchData.method==="POST"))if(t.fetchData.method,t.fetchData.url,t.error){const o=t.fetchData,M={data:t.error,input:t.args,startTimestamp:s,endTimestamp:r},a={category:"fetch",data:o,level:"error",type:"http"};i.emit("beforeOutgoingRequestBreadcrumb",a,M),os(a,M)}else{const o=t.response,M={...t.fetchData,status_code:o==null?void 0:o.status};t.fetchData.request_body_size,t.fetchData.response_body_size,o==null||o.status;const a={input:t.args,response:o,startTimestamp:s,endTimestamp:r},u={category:"fetch",data:M,type:"http",level:Uc(M.status_code)};i.emit("beforeOutgoingRequestBreadcrumb",u,a),os(u,a)}}}function Ej(i){return function(t){if(xe()!==i)return;let s=t.from,r=t.to;const o=mr(Ne.location.href);let M=s?mr(s):void 0;const a=mr(r);M!=null&&M.path||(M=o),o.protocol===a.protocol&&o.host===a.host&&(r=a.relative),o.protocol===M.protocol&&o.host===M.host&&(s=M.relative),os({category:"navigation",data:{from:s,to:r}})}}function _j(i){return!!i&&!!i.target}const fj=["EventTarget","Window","Node","ApplicationCache","AudioTrackList","BroadcastChannel","ChannelMergerNode","CryptoOperation","EventSource","FileReader","HTMLUnknownElement","IDBDatabase","IDBRequest","IDBTransaction","KeyOperation","MediaController","MessagePort","ModalWindow","Notification","SVGElementInstance","Screen","SharedWorker","TextTrack","TextTrackCue","TextTrackList","WebSocket","WebSocketWorker","Worker","XMLHttpRequest","XMLHttpRequestEventTarget","XMLHttpRequestUpload"],Sj="BrowserApiErrors",xj=((i={})=>{const e={XMLHttpRequest:!0,eventTarget:!0,requestAnimationFrame:!0,setInterval:!0,setTimeout:!0,unregisterOriginalCallbacks:!1,...i};return{name:Sj,setupOnce(){e.setTimeout&&Ge(Ne,"setTimeout",Cn),e.setInterval&&Ge(Ne,"setInterval",Cn),e.requestAnimationFrame&&Ge(Ne,"requestAnimationFrame",Yj),e.XMLHttpRequest&&"XMLHttpRequest"in Ne&&Ge(XMLHttpRequest.prototype,"send",Qj);const t=e.eventTarget;t&&(Array.isArray(t)?t:fj).forEach(r=>Uj(r,e))}}}),kj=xj;function Cn(i){return function(...e){const t=e[0];return e[0]=Ss(t,{mechanism:{handled:!1,type:`auto.browser.browserapierrors.${Bt(i)}`}}),i.apply(this,e)}}function Yj(i){return function(e){return i.apply(this,[Ss(e,{mechanism:{data:{handler:Bt(i)},handled:!1,type:"auto.browser.browserapierrors.requestAnimationFrame"}})])}}function Qj(i){return function(...e){const t=this;return["onload","onerror","onprogress","onreadystatechange"].forEach(r=>{r in t&&typeof t[r]=="function"&&Ge(t,r,function(o){const M={mechanism:{data:{handler:Bt(o)},handled:!1,type:`auto.browser.browserapierrors.xhr.${r}`}},a=Fo(o);return a&&(M.mechanism.data.handler=Bt(a)),Ss(o,M)})}),i.apply(this,e)}}function Uj(i,e){var r,o;const s=(r=Ne[i])==null?void 0:r.prototype;(o=s==null?void 0:s.hasOwnProperty)!=null&&o.call(s,"addEventListener")&&(Ge(s,"addEventListener",function(M){return function(a,u,l){try{vj(u)&&(u.handleEvent=Ss(u.handleEvent,{mechanism:{data:{handler:Bt(u),target:i},handled:!1,type:"auto.browser.browserapierrors.handleEvent"}}))}catch{}return e.unregisterOriginalCallbacks&&bj(this,a,u),M.apply(this,[a,Ss(u,{mechanism:{data:{handler:Bt(u),target:i},handled:!1,type:"auto.browser.browserapierrors.addEventListener"}}),l])}}),Ge(s,"removeEventListener",function(M){return function(a,u,l){try{const N=u.__sentry_wrapped__;N&&M.call(this,a,N,l)}catch{}return M.call(this,a,u,l)}}))}function vj(i){return typeof i.handleEvent=="function"}function bj(i,e,t){i&&typeof i=="object"&&"removeEventListener"in i&&typeof i.removeEventListener=="function"&&i.removeEventListener(e,t)}const $j=(i={})=>{const e=i.lifecycle??"route";return{name:"BrowserSession",setupOnce(){if(typeof Ne.document>"u"){cr&&G.warn("Using the `browserSessionIntegration` in non-browser environments is not supported.");return}rn({ignoreDuration:!0}),Cr();const t=cs();let s=t.getUser();t.addScopeListener(r=>{const o=r.getUser();((s==null?void 0:s.id)!==(o==null?void 0:o.id)||(s==null?void 0:s.ip_address)!==(o==null?void 0:o.ip_address))&&(Cr(),s=o)}),e==="route"&&$c(({from:r,to:o})=>{r!==o&&(rn({ignoreDuration:!0}),Cr())})}}},Pj="CultureContext",Wj=(()=>({name:Pj,preprocessEvent(i){var t;const e=Jj();e&&(i.contexts={...i.contexts,culture:{...e,...(t=i.contexts)==null?void 0:t.culture}})}})),Rj=Wj;function Jj(){try{const i=Ne.Intl;if(!i)return;const e=i.DateTimeFormat().resolvedOptions();return{locale:e.locale,timezone:e.timeZone,calendar:e.calendar}}catch{return}}const Bj="GlobalHandlers",Gj=((i={})=>{const e={onerror:!0,onunhandledrejection:!0,...i};return{name:Bj,setupOnce(){Error.stackTraceLimit=50},setup(t){e.onerror&&(Hj(t),An("onerror")),e.onunhandledrejection&&(Vj(t),An("onunhandledrejection"))}}}),Fj=Gj;function Hj(i){AN(e=>{const{stackParser:t,attachStacktrace:s}=Wc();if(xe()!==i||vc())return;const{msg:r,url:o,line:M,column:a,error:u}=e,l=Kj(sM(t,u||r,void 0,s,!1),o,M,a);l.level="error",dc(l,{originalException:u,mechanism:{handled:!1,type:"auto.browser.global_handlers.onerror"}})})}function Vj(i){pN(e=>{const{stackParser:t,attachStacktrace:s}=Wc();if(xe()!==i||vc())return;const r=Zj(e),o=rr(r)?Xj(r):sM(t,r,void 0,s,!0);o.level="error",dc(o,{originalException:r,mechanism:{handled:!1,type:"auto.browser.global_handlers.onunhandledrejection"}})})}function Zj(i){if(rr(i))return i;try{if("reason"in i)return i.reason;if("detail"in i&&"reason"in i.detail)return i.detail.reason}catch{}return i}function Xj(i){return{exception:{values:[{type:"UnhandledRejection",value:`Non-Error promise rejection captured with value: ${String(i)}`}]}}}function Kj(i,e,t,s){const r=i.exception=i.exception||{},o=r.values=r.values||[],M=o[0]=o[0]||{},a=M.stacktrace=M.stacktrace||{},u=a.frames=a.frames||[],l=s,N=t,c=qj(e)??Go();return u.length===0&&u.push({colno:l,filename:c,function:rs,in_app:!0,lineno:N}),i}function An(i){cr&&G.log(`Global Handler attached: ${i}`)}function Wc(){const i=xe();return(i==null?void 0:i.getOptions())||{stackParser:()=>[],attachStacktrace:!1}}function qj(i){if(!(!At(i)||i.length===0))return i.startsWith("data:")?`<${G4(i,!1)}>`:i}const eg=()=>({name:"HttpContext",preprocessEvent(i){var s;if(!Ne.navigator&&!Ne.location&&!Ne.document)return;const e=fL(),t={...e.headers,...(s=i.request)==null?void 0:s.headers};i.request={...e,...i.request,headers:t}}}),tg="cause",sg=5,ig="LinkedErrors",rg=((i={})=>{const e=i.limit||sg,t=i.key||tg;return{name:ig,preprocessEvent(s,r,o){const M=o.getOptions();uL(eM,M.stackParser,t,e,s,r)}}}),og=rg;function Mg(){return ng()?(cr&&ks(()=>{console.error("[Sentry] You cannot use Sentry.init() in a browser extension, see: https://docs.sentry.io/platforms/javascript/best-practices/browser-extensions/")}),!0):!1}function ng(){var o;if(typeof Ne.window>"u")return!1;const i=Ne;if(i.nw)return!1;const e=i.chrome||i.browser;if(!((o=e==null?void 0:e.runtime)!=null&&o.id))return!1;const t=Go(),s=["chrome-extension","moz-extension","ms-browser-extension","safari-web-extension"];return!(Ne===Ne.top&&s.some(M=>t.startsWith(`${M}://`)))}function ag(i){return[sL(),K4(),IL(),kj(),wj(),Fj(),og(),kc(),eg(),Rj(),$j()]}function cg(i={}){const e=!i.skipBrowserExtensionCheck&&Mg();let t=i.defaultIntegrations==null?ag():i.defaultIntegrations;const s={...i,enabled:e?!1:i.enabled,stackParser:wN(i.stackParser||zj),integrations:z4({integrations:i.integrations,defaultIntegrations:t}),transport:i.transport||Mj};return J4(RL,s)}function ug(){console.log(` +██╗ ██████╗ ██████╗ ██████╗ ██████╗ ██╗ ██╗███████╗██████╗ +██║██╔═══██╗██╔══██╗██╔══██╗██╔═══██╗██║ ██╔╝██╔════╝██╔══██╗ +██║██║ ██║██████╔╝██████╔╝██║ ██║█████╔╝ █████╗ ██████╔╝ +██║██║ ██║██╔══██╗██╔══██╗██║ ██║██╔═██╗ ██╔══╝ ██╔══██╗ +██║╚██████╔╝██████╔╝██║ ██║╚██████╔╝██║ ██╗███████╗██║ ██║ +╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝ +`),console.log("Nice to see you here! :) Join our dev community here https://github.com/ioBroker/ioBroker or here https://github.com/iobroker-community-adapters"),console.log("Help us to create open source project with reactJS!"),console.log("See you :)")}function lg(i){const e=i.themeType||"light",t=i.size||300;return n.createElement("div",{style:{width:"100%",height:"100%",position:"absolute",top:0,left:0,backgroundImage:i.backgroundImage&&i.backgroundImage!=="@@loginBackgroundImage@@"?i.backgroundImage:window.loadingBackgroundImage&&window.loadingBackgroundImage!=="@@loginBackgroundImage@@"?`url(${window.loadingBackgroundImage})`:void 0,backgroundColor:i.backgroundColor&&i.backgroundColor!=="@@loginBackgroundColor@@"?i.backgroundColor:window.loadingBackgroundColor&&window.loadingBackgroundColor!=="@@loginBackgroundColor@@"?window.loadingBackgroundColor:e==="dark"?"#000":"#FFF",backgroundSize:"cover"}},n.createElement("div",{style:{width:t,height:t,position:"absolute",top:"50%",left:"50%",transform:"translate(-50%,-50%)",zIndex:2}},n.createElement("svg",{viewBox:"0 0 500 500",xmlns:"http://www.w3.org/2000/svg",width:"100%",height:"100%"},n.createElement("circle",{strokeWidth:"5",fill:"none",stroke:"#01BBF5",cx:"250",cy:"250",r:"200"}),n.createElement("circle",{strokeWidth:"5",fill:"none",stroke:"#01BBF5",cx:"250",cy:"250",r:"133"}),n.createElement("circle",{strokeWidth:"5",fill:"none",stroke:"#01BBF5",cx:"250",cy:"250",r:"83"}),n.createElement("circle",{strokeWidth:"5",fill:"none",stroke:"#01BBF5",cx:"250",cy:"250",r:"66"}),n.createElement("circle",{strokeWidth:"15",fill:"none",stroke:"#01BBF5",cx:"250",cy:"250",r:"15"}),n.createElement("g",null,n.createElement("line",{y2:"185",x2:"250",y1:"240",x1:"250",strokeWidth:"5",stroke:"#01BBF5",fill:"none"}),n.createElement("line",{y2:"315",x2:"250",y1:"260",x1:"250",strokeWidth:"5",stroke:"#01BBF5",fill:"none"}),n.createElement("g",{transform:"rotate(60, 250, 250)"},n.createElement("line",{y2:"185",x2:"250",y1:"240",x1:"250",strokeWidth:"5",stroke:"#01BBF5",fill:"none"}),n.createElement("line",{y2:"315",x2:"250",y1:"260",x1:"250",strokeWidth:"5",stroke:"#01BBF5",fill:"none"})),n.createElement("g",{transform:"rotate(120, 250, 250)"},n.createElement("line",{y2:"185",x2:"250",y1:"240",x1:"250",strokeWidth:"5",stroke:"#01BBF5",fill:"none"}),n.createElement("line",{y2:"315",x2:"250",y1:"260",x1:"250",strokeWidth:"5",stroke:"#01BBF5",fill:"none"})),[0,15,30,45,60,75,90,105,120,135,150,165,180,195,210,225,240,255,270,285,300,315,330,345].map(s=>n.createElement("line",{key:s,transform:`rotate(${s}, 250, 250)`,y2:"250",x2:"115",y1:"240",x1:"135",strokeWidth:"5",stroke:"#01BBF5",fill:"none"})),n.createElement("animateTransform",{attributeType:"xml",attributeName:"transform",type:"rotate",from:"0 250 250",to:"360 250 250",dur:"10s",additive:"sum",repeatCount:"indefinite"})),n.createElement("path",{d:"M 56.089 160.250 C 55.077 162.588, 46.037 182.950, 36 205.500 C 25.963 228.050, 16.923 248.412, 15.911 250.750 L 14.071 255 28.286 254.976 L 42.500 254.952 47.931 242.226 C 50.918 235.227, 54.366 227.250, 55.592 224.500 L 57.822 219.500 66.383 237.250 L 74.945 255 88.973 255 C 96.688 255, 103 254.841, 103 254.646 C 103 254.452, 100.043 248.071, 96.430 240.466 L 89.859 226.638 91.603 222.771 C 92.563 220.644, 93.660 218.710, 94.043 218.473 C 94.426 218.237, 108.609 246.609, 125.562 281.522 L 156.384 345 166.071 345 C 175.705 345, 175.763 344.985, 176.856 342.250 C 179.911 334.602, 208 260.765, 208 260.383 C 208 260.138, 202.546 260.065, 195.879 260.219 L 183.759 260.500 174.629 285.244 C 169.608 298.853, 165.254 309.990, 164.952 309.994 C 164.651 309.997, 148.901 277.389, 129.952 237.532 C 111.004 197.674, 95.275 165.057, 95 165.049 C 94.725 165.041, 90.685 172.415, 86.022 181.435 C 81.358 190.455, 77.308 197.689, 77.022 197.510 C 76.735 197.331, 72.675 187.920, 68 176.598 C 63.325 165.275, 59.147 156.008, 58.714 156.005 C 58.282 156.002, 57.101 157.912, 56.089 160.250 M 55.294 168.694 C 52.241 175.842, 52.166 176.323, 53.718 178.692 L 55.349 181.182 56.706 178.591 C 57.453 177.166, 58.406 176, 58.825 176 C 59.244 176, 60.777 178.363, 62.232 181.250 C 64.829 186.403, 64.879 186.440, 64.939 183.250 C 64.973 181.463, 65.422 180, 65.937 180 C 66.724 180, 60.176 162.824, 58.920 161.596 C 58.689 161.370, 57.057 164.564, 55.294 168.694 M 91.698 175.542 C 89.205 180.626, 89.099 181.308, 90.410 183.792 L 91.840 186.500 92.926 183.669 C 94.349 179.961, 96.024 180.653, 98.588 186.009 L 100.676 190.370 101.324 187.132 C 101.832 184.592, 101.217 182.395, 98.473 176.947 C 96.549 173.126, 94.849 170, 94.696 170 C 94.542 170, 93.193 172.494, 91.698 175.542 M 157.005 192.607 C 143.168 197.636, 134.999 209.202, 135.001 223.761 C 135.002 232.756, 138.710 240.755, 145.856 247.180 C 152.159 252.848, 158.121 255, 167.518 255 C 173.509 255, 175.684 254.499, 180.811 251.936 C 200.823 241.936, 205.088 216.155, 189.337 200.403 C 181.479 192.546, 166.868 189.022, 157.005 192.607 M 206 223 L 206 255 215.472 255 L 224.944 255 225.222 241.419 L 225.500 227.837 230.500 234.660 C 233.250 238.412, 238.002 244.636, 241.060 248.491 L 246.620 255.500 253.810 255.168 L 261 254.836 261 222.918 L 261 191 251.528 191 L 242.056 191 241.778 204.552 L 241.500 218.104 231.111 204.552 L 220.722 191 213.361 191 L 206 191 206 223 M 285.821 192.331 C 276.229 195.045, 270.010 202.130, 270.004 210.349 C 269.995 221.957, 275.913 226.925, 295.801 232.006 C 300.753 233.271, 302.228 235.609, 299.412 237.730 C 296.739 239.746, 288.369 238.774, 281.563 235.657 L 276.132 233.171 272.469 239.320 C 268.119 246.621, 268.341 247.287, 276.524 251.500 C 281.399 254.010, 283.761 254.556, 290.977 254.842 C 302.365 255.294, 307.420 253.846, 312.603 248.649 C 317.383 243.855, 319.463 236.989, 318.043 230.693 C 316.210 222.562, 311.258 218.610, 297.878 214.599 C 288.025 211.645, 285.443 209.631, 288.538 207.315 C 291.104 205.394, 302.270 205.946, 306.769 208.217 L 310.039 209.866 313.104 203.794 C 316.516 197.035, 316.622 197.304, 309.167 193.844 C 303.663 191.289, 292.140 190.542, 285.821 192.331 M 322 199 L 322 207 330 207 L 338 207 338 231 L 338 255 347.500 255 L 357 255 357 231.044 L 357 207.088 364.250 206.794 L 371.500 206.500 371.792 198.750 L 372.084 191 347.042 191 L 322 191 322 199 M 379 223 L 379 255 401 255 L 423 255 423 247.500 L 423 240 409.500 240 L 396 240 396 235 L 396 230 407.500 230 L 419 230 419 222 L 419 214 407.500 214 L 396 214 396 210.529 L 396 207.058 409.250 206.779 L 422.500 206.500 422.792 198.750 L 423.084 191 401.042 191 L 379 191 379 223 M 433 223 L 433 255 442 255 L 451 255 451 247 L 451 239 454.800 239 C 458.555 239, 458.645 239.092, 462.469 246.937 L 466.339 254.874 476.172 255.187 C 481.580 255.359, 486.003 255.111, 486.002 254.636 C 486.001 254.160, 483.277 249.264, 479.949 243.754 C 473.914 233.765, 473.903 233.732, 475.836 231.619 C 480.222 226.824, 482.359 220.791, 482.431 213 C 482.512 204.192, 480.272 198.822, 475.031 195.260 C 469.795 191.703, 465.527 191.012, 448.750 191.006 L 433 191 433 223 M 448.210 213.250 L 448.500 221.500 455.338 221.500 C 461.319 221.500, 462.417 221.204, 464.088 219.139 C 465.995 216.785, 466.556 212.613, 465.379 209.545 C 464.356 206.879, 459.449 205, 453.509 205 L 447.919 205 448.210 213.250 M 163.169 209.017 C 156.337 210.583, 151.176 218.533, 152.339 225.701 C 154.672 240.077, 175.040 242.355, 180.446 228.844 C 184.978 217.516, 175.176 206.267, 163.169 209.017 M 216.676 271.715 C 216.037 272.750, 188 344.021, 188 344.612 C 188 344.863, 192.811 344.940, 198.691 344.784 L 209.381 344.500 211.894 336.750 L 214.406 329 226.550 329 L 238.694 329 242.097 336.992 L 245.500 344.983 255.250 344.992 C 262.399 344.998, 264.994 344.667, 264.979 343.750 C 264.968 343.063, 258.477 326.525, 250.555 307 L 236.150 271.500 226.656 271.215 C 221.434 271.058, 216.943 271.283, 216.676 271.715 M 273 307 C 273 326.800, 272.887 343.337, 272.750 343.750 C 272.613 344.163, 277.102 344.628, 282.727 344.785 L 292.954 345.069 293.227 327.379 L 293.500 309.689 307 327.336 L 320.500 344.982 328.262 344.991 L 336.025 345 335.762 308.250 L 335.500 271.500 326.750 271.211 L 318 270.922 317.882 286.711 C 317.816 295.395, 317.816 302.837, 317.882 303.250 C 317.947 303.663, 317.808 304, 317.574 304 C 317.340 304, 310.809 296.575, 303.060 287.500 L 288.971 271 280.985 271 L 273 271 273 307 M 223.254 303.048 L 220.078 312 226.539 312 C 230.093 312, 233 311.861, 233 311.691 C 233 311.257, 226.886 294.553, 226.636 294.302 C 226.522 294.189, 225.001 298.125, 223.254 303.048",stroke:"none",fill:i.themeType==="dark"?"#EEE":"#111",fillRule:"evenodd"}))))}function Ng(i){const e=i.themeType||"dark",t=i.size||300;return n.createElement("div",{style:{width:"100%",height:"100%",position:"absolute",top:0,left:0,backgroundImage:i.backgroundImage&&i.backgroundImage!=="@@loginBackgroundImage@@"?i.backgroundImage:window.loadingBackgroundImage&&window.loadingBackgroundImage!=="@@loginBackgroundImage@@"?`url(${window.loadingBackgroundImage})`:void 0,backgroundColor:i.backgroundColor&&i.backgroundColor!=="@@loginBackgroundColor@@"?i.backgroundColor:window.loadingBackgroundColor&&window.loadingBackgroundColor!=="@@loginBackgroundColor@@"?window.loadingBackgroundColor:e==="dark"?"#000":"#FFF",backgroundSize:"cover"}},n.createElement("div",{style:{width:t,height:t,position:"absolute",top:"50%",left:"50%",transform:"translate(-50%,-50%)",zIndex:2}},n.createElement("svg",{viewBox:"0 0 2000 1728",style:{fillRule:"evenodd",clipRule:"evenodd",fill:"#00af78"}},n.createElement("style",null,` + @keyframes jump { + 0% { fill: #00af78; } + 25% { fill: #00af78; } + 25.01% { fill: #00785A; } + 100% { fill: #00785A; } + } + .bar { animation: jump 2s linear infinite; } + .bar.bar1 { animation-delay: 0s; } + .bar.bar2 { animation-delay: 0.5s; } + .bar.bar3 { animation-delay: 1s; } + .bar.bar4 { animation-delay: 1.5s; } + `),n.createElement("path",{d:"M944.5 76.5a852 852 0 0 1 129 6.5 598 598 0 0 1 51 9c19.36 5.344 38.69 10.677 58 16a834 834 0 0 1 117 52 698 698 0 0 1 95 69c2.67 2 5.33 2 8 0a410 410 0 0 1 37-28 18.4 18.4 0 0 1 6-.5q.495 10.51 4.5 20a3200 3200 0 0 0 18 73 3553 3553 0 0 0 19 66 48.8 48.8 0 0 0 2.5 11 4.94 4.94 0 0 1-1 2.5c-2.33.667-4.67.667-7 0a19 19 0 0 0-5-3 209 209 0 0 0-24-7 292 292 0 0 0-20-8c-8.68-2.341-17.34-4.674-26-7a221 221 0 0 0-21-8 337 337 0 0 1-34-11 1272 1272 0 0 1-43-13q-2.91-3.23-1.5-7.5a671 671 0 0 0 42.5-35l-1.5-3a289 289 0 0 0-21.5-18.5c-9.31-6.637-18.65-13.304-28-20a731 731 0 0 1-44-26 175 175 0 0 1-30-15 568 568 0 0 0-50-20 1038 1038 0 0 1-53-16 1070 1070 0 0 0-48-10 1087 1087 0 0 1-55-6 1379 1379 0 0 0-99 1 203.5 203.5 0 0 1-35 5Q629.152 192.558 494 414.5a132 132 0 0 1-10 17 1277 1277 0 0 0-21 43l-11 27a637 637 0 0 1-14 41 8191 8191 0 0 1-16 67 50.7 50.7 0 0 0-1 15 11.3 11.3 0 0 0 1.5 3.5 327 327 0 0 1 40 8q62.273 18.89 115 56 70.252 53.736 113.5 130.5 59.461 114.478 41 243c-.667 1.33-1.333 2.67-2 4a335 335 0 0 1-3 18 507 507 0 0 1-20 53 309 309 0 0 1-10 17c-1.699.91-3.533 1.24-5.5 1 .377-40.1-3.456-79.77-11.5-119l-3-6a154.4 154.4 0 0 0-7-27Q629.1 886.514 525.5 812a44.5 44.5 0 0 1-9.5-5.5l-1.5.5q69.98 79.772 110.5 177.5a684 684 0 0 1 21 74c.389 8.51 1.722 16.84 4 25q1.302 30.765 2.5 61.5-2.217 6.885.5 13.5l17.5 13.5a1597 1597 0 0 0 61 36 3333 3333 0 0 1 61 26q25.04 7.53 50 15a771 771 0 0 0 51 10 526.7 526.7 0 0 0 120 5c15.24-2.5 30.57-4.17 46-5 154.49-25.8 278.99-100.96 373.5-225.5 36-49.308 63.67-102.974 83-161 .29-5.821 1.96-11.154 5-16q7.2-33.086 15-66a343 343 0 0 1 4-30c-5.29 5.217-9.62 11.217-13 18-26.71 37.032-60.54 65.866-101.5 86.5a471 471 0 0 1-27 11 50.1 50.1 0 0 0-17 5q-13.77 1.158-27 5-33 2.977-66 0a153 153 0 0 0-29-5c-52.38-14.072-96.21-41.572-131.5-82.5q-58.935-72.777-58.5-167.5.345-16.269 1.5-32.5 10.89-72.278 57-128c66.33-75.505 149.5-104.339 249.5-86.5a700 700 0 0 1 48 16c4.24 2.853 8.57 5.52 13 8l6 2c20.5 12.068 38.84 26.735 55 44q2.37 1.06 4.5 2.5a442 442 0 0 0 25.5-24.5c2.59-1.601 5.26-1.767 8-.5a1168 1168 0 0 0 25.5 55 1221 1221 0 0 0 16 45c.41 6.057 2.08 11.724 5 17 .58 6.637 2.24 12.97 5 19a778 778 0 0 1 10 55c18.69 162.392-18.64 309.725-112 442-15.67 19-31.33 38-47 57-34.61 35.92-72.44 68.42-113.5 97.5q-16.53 10.545-33 21a516 516 0 0 1-35 18l-3 3c-14.49 6.96-29.16 13.63-44 20-26.02 9.5-52.35 18.17-79 26q-132.478 31.62-267 9a1979 1979 0 0 0-61-14 421 421 0 0 1-25-9c-3.333-.67-6.667-1.33-10-2-20.636-8.65-41.303-17.32-62-26-124.377-64.5-220.21-158.33-287.5-281.5a1010 1010 0 0 1-17-39l-3-4a395 395 0 0 0-15-41 374 374 0 0 1-11-36l-9-39a366 366 0 0 0-6-36 1642 1642 0 0 1-5.5-92.5q5.24-279.871 211-466 61.788-53.755 135-91a1492 1492 0 0 1 47-21l28-10 37-11a1956 1956 0 0 1 46-10 1145 1145 0 0 1 87-10.5m367 359c12.69-.014 25.35.486 38 1.5a399 399 0 0 1 39 10c56.18 22.509 95.34 62.009 117.5 118.5 21.9 63.822 14.57 123.822-22 180-20.98 28.71-47.15 51.21-78.5 67.5-37.69 16.585-77.02 21.585-118 15-69.62-14.983-118.78-54.816-147.5-119.5a284 284 0 0 1-11-39q-15.24-126.17 85.5-201.5c29.7-18.676 62.04-29.509 97-32.5"}),n.createElement("path",{d:"M899.5 258.5a2829 2829 0 0 0 135 0c5.33.53 10.66 1.03 16 1.5l1.5 1.5q.255 125.792 1.5 251.5c-.56 6.766-2.73 12.932-6.5 18.5a587 587 0 0 0-9.5 25.5 71.8 71.8 0 0 1-5.5 20.5 575 575 0 0 0-5.5 52.5 587 587 0 0 0 5.5 55.5 515 515 0 0 0 18.5 58.5c-.24.873-.57 1.707-1 2.5a4183 4183 0 0 1-152 .5 11.3 11.3 0 0 1-1.5-3.5 58052 58052 0 0 1 0-482 30 30 0 0 1 3.5-3"}),n.createElement("path",{d:"M717.5 423.5q71.002-.25 142 .5l1.5 1.5q.713 154.588.5 309 .27 6.043-2 11.5a2513 2513 0 0 1-141 1 6.98 6.98 0 0 1-3.5-2.5 37080 37080 0 0 1-1.5-314.5q-.099-4.63 4-6.5"}),n.createElement("path",{d:"M1360.5 487.5c2.13-.353 3.47.48 4 2.5-.74 4.181-1.57 8.348-2.5 12.5a13569 13569 0 0 1-34 102 27.2 27.2 0 0 0-1 8c1.33 1.838 3.16 2.838 5.5 3a937 937 0 0 1 86 0 4.95 4.95 0 0 1-.5 3 820 820 0 0 0-27 29q-50.445 59.205-100.5 119-5.535 6.54-12 12a3.6 3.6 0 0 1-1.5-1q-1.005-3 0-6a1048 1048 0 0 0 16-61c2.94-5.581 4.6-11.581 5-18l3-6a156.5 156.5 0 0 1 5-24 11.3 11.3 0 0 0-3.5-1.5l-90-1a3.6 3.6 0 0 1-1-1.5c49.72-57.045 99.38-114.045 149-171"},n.createElement("animate",{attributeName:"fill",values:`#00af78;${e==="dark"?"#ffffff":"#00785A"};#00af78`,dur:"2s",repeatCount:"indefinite"})),n.createElement("path",{className:"bar bar1",d:"M544.5 537.5q68.283-.426 136.5 1a2379 2379 0 0 1 1.5 96.5l-.5 92.5q-.918 3.798-4.5 2.5-50.249-64.14-122-103-8.75-1.76-14.5-8.5-1-39 0-78a30 30 0 0 1 3.5-3M721.5 777.5q60.628-.732 121 1.5 37.233 79.24 74.5 158.5 1 2 0 4a3116 3116 0 0 1-136.5.5 417 417 0 0 1-8.5-38.5 962 962 0 0 1-15-47 713 713 0 0 0-21-46 732 732 0 0 1-16-27q-1.122-3.51 1.5-6"}),n.createElement("path",{className:"bar bar2",d:"M879.5 777.5q93-.25 186 .5c18.83 33.513 43.5 62.179 74 86a144.6 144.6 0 0 1 23 16q13.5 5.88 25.5 14.5a574 574 0 0 1 22.5 45c-.33 1-.67 2-1 3-84.63-.161-169.3.006-254 .5q-3.752-3.208-6.5-7.5a2804 2804 0 0 1-8-20 252 252 0 0 1-13-24 3463 3463 0 0 0-23-53 1506 1506 0 0 1-27-55q-1.122-3.51 1.5-6"}),n.createElement("path",{className:"bar bar3",d:"M786.5 971.5q68.56.08 137 0a29.2 29.2 0 0 1 7 2.5 9467 9467 0 0 0 68.5 141.5c4 11.67 9.34 22.67 16 33 1.47 4.53-.2 6.87-5 7-86.772-.2-173.606-.37-260.5-.5-1.754-4.38-.921-8.22 2.5-11.5a411 411 0 0 1 10-25 578 578 0 0 0 10-32 99.6 99.6 0 0 1 5-22q2.12-21.06 5-42l1-48q1.478-1.971 3.5-3"}),n.createElement("path",{className:"bar bar4",d:"M970.5 971.5c83.58.74 167.25.74 251 0 2.73.182 5.39.682 8 1.5 18.09 35.51 36.26 71.01 54.5 106.5 7.67 13.67 15.33 27.33 23 41 2.16 3.76 2.82 7.76 2 12-10.9 7.75-22.4 14.59-34.5 20.5-2.92.99-5.92 1.65-9 2-68.48.48-136.82.65-205 .5-4.11-.08-7.28-1.74-9.5-5a3780 3780 0 0 0-67-140 71388 71388 0 0 1-12-28q-5.977-4.855-1.5-11"}),n.createElement("path",{d:"M83.5 1377.5a332.5 332.5 0 0 0 50.5 0c3.056.58 6.056 1.24 9 2a31209 31209 0 0 1 126.5 194 3.6 3.6 0 0 0 1.5-1c.652-63.71.652-127.37 0-191 .51-2.76 2.177-4.09 5-4a279.4 279.4 0 0 0 47 0c2.145-.1 3.979.56 5.5 2 .529 54.71.862 109.54 1 164.5l-.5 116.5c-.575 3.3-2.575 4.96-6 5a490 490 0 0 0-52 0q-5.74-1.74-10-6a14653 14653 0 0 0-125.5-193q-2.01 1.785-2 4.5a6168 6168 0 0 1 .5 191.5q-2.794 3.675-7.5 3a219.4 219.4 0 0 0-41 0q-5.057-.81-5.5-6c-.667-93.33-.667-186.67 0-280a19.2 19.2 0 0 0 3.5-2"}),n.createElement("path",{d:"M986.5 1377.5c17.32 1.09 34.66 1.25 52 .5 3.23 1.94 5.4 4.78 6.5 8.5 9.36 38.7 18.7 77.37 28 116 3.05 6.64 4.72 13.64 5 21 2.95 5.96 4.62 12.29 5 19 4.15 16.12 8.49 32.12 13 48 2.04-1.08 3.38-2.75 4-5 4.23-19.04 8.56-38.04 13-57 4.55-15.3 8.88-30.64 13-46 .76-4.32 1.43-8.65 2-13 4.33-15.33 8.66-30.66 13-46 2.08-12.15 4.75-24.15 8-36 .85-3.2 2.35-6.03 4.5-8.5 19.85-.22 39.68-.72 59.5-1.5 2.3-.01 4.47.49 6.5 1.5 6.53 21.92 12.37 44.09 17.5 66.5 2.94 6.32 4.61 12.99 5 20 3.56 15.24 7.89 30.24 13 45 2.47 11.74 5.14 23.41 8 35a7.4 7.4 0 0 0 2 3c2.38 11.75 5.04 23.41 8 35 1.33 3.33 3.16 6.33 5.5 9a2872 2872 0 0 1 27.5-111c.39-7.01 2.06-13.68 5-20 .39-7.01 2.06-13.68 5-20 .57-4.35 1.24-8.68 2-13 4.34-16 8.67-32 13-48l1.5-1.5c16.17-.29 32.34-.79 48.5-1.5q5.385-.045 10.5 1.5c.58.89.91 1.89 1 3-2.02 4.57-3.18 9.4-3.5 14.5-2.84 6-4.5 12.34-5 19a351 351 0 0 0-8 25c-2.97 11.6-5.63 23.27-8 35-2.56 8.31-5.23 16.65-8 25-.39 6.38-2.06 12.38-5 18a8809 8809 0 0 1-38 144q-4.725 2.91-10.5 3a410 410 0 0 0-56.5 0c-3.08-.44-5.91-1.44-8.5-3-8.05-31.19-16.88-62.19-26.5-93-.67-4-1.33-8-2-12-9.67-32.85-18.5-65.85-26.5-99-3.92 8.2-6.42 16.87-7.5 26-.72 2.45-1.72 4.78-3 7a2343 2343 0 0 1-28 109c-.72 2.45-1.72 4.78-3 7-4.17 18.07-8.51 36.07-13 54-4.52 3.47-9.69 4.8-15.5 4a685 685 0 0 0-55.5 0c-1.63-.38-3.13-1.04-4.5-2q-6-17.88-10.5-36c-10.91-43.39-21.91-86.73-33-130-2.88-5.97-4.54-12.31-5-19a32 32 0 0 1-3-7 4792 4792 0 0 0-18-75c-3.031-5.25-4.031-10.92-3-17 .995-.57 1.828-1.23 2.5-2"}),n.createElement("path",{d:"M1648.5 1406.5c16.35.64 32.68 1.3 49 2 1.4 1.35 2.06 3.02 2 5a255 255 0 0 0-.5 38c.5 1.17 1.33 2 2.5 2.5 16.33.33 32.67.67 49 1 .92.37 1.75.87 2.5 1.5.82 13.58.66 27.08-.5 40.5-17 .33-34 .67-51 1-1.17.5-2 1.33-2.5 2.5-.67 31.33-.67 62.67 0 94 2.29 23.73 15.12 33.23 38.5 28.5 4.85-3.25 10.02-4.08 15.5-2.5.64 13.67.98 27.34 1 41a11.4 11.4 0 0 1-4.5 3.5c-22.63 5.41-45.29 5.75-68 1-13.91-4.18-24.08-12.68-30.5-25.5-4.8-11.14-7.13-22.81-7-35-.65-34.59-.65-69.25 0-104-.32-1.56-1.15-2.73-2.5-3.5-9-.33-18-.67-27-1-.92-.37-1.75-.87-2.5-1.5-.21-11.69-.71-23.36-1.5-35 .19-3.23 1.85-5.06 5-5.5 9-.33 18-.67 27-1l1.5-1.5c.33-14.33.67-28.67 1-43 .98-1.31 2.15-2.31 3.5-3M1807.5 1406.5c9.18.78 18.35.78 27.5 0 7.6.35 15.1 1.18 22.5 2.5a980 980 0 0 1 1.5 43.5l1.5 1.5c15 .33 30 .67 45 1 1.17.5 2 1.33 2.5 2.5-.77 11.49-.61 22.99.5 34.5a23 23 0 0 1-2 5c-15 .33-30 .67-45 1-.92.37-1.75.87-2.5 1.5-.67 32.67-.67 65.33 0 98 1.84 19.84 12.68 28.67 32.5 26.5 4.83-.18 9.33-1.35 13.5-3.5 1.44.06 2.77.39 4 1a673 673 0 0 0 3.5 36c.38 2.82-.62 4.99-3 6.5-23.81 6.5-47.81 7.17-72 2-12.46-5.13-21.63-13.63-27.5-25.5-1.1-4.87-2.77-9.54-5-14-.33-3.33-.67-6.67-1-10-.33-39-.67-78-1-117l-1.5-1.5c-10.43-.05-20.77-.71-31-2-.66-6.59-.99-13.26-1-20 .01-6.74.34-13.41 1-20 10.26-1.26 20.59-1.93 31-2l1.5-1.5c.33-14 .67-28 1-42 .69-1.85 1.86-3.18 3.5-4"}),n.createElement("path",{d:"M878.5 1446.5c27.433-1.66 52.433 5.01 75 20 21.826 18.58 34.326 42.24 37.5 71 3.595 25.23 1.262 49.9-7 74-16.274 34.06-43.107 53.89-80.5 59.5q-48.019 5.13-88-21-30.077-28.71-35.5-70.5a400 400 0 0 1 0-40q13.828-84.585 98.5-93m1 47c25.457-.37 42.623 11.3 51.5 35q9.63 36.765-4 72-17.011 26.355-48.5 22.5a61.5 61.5 0 0 0-14-5c-7.087-4.96-12.92-11.13-17.5-18.5a28.9 28.9 0 0 0-5-11c-3.333-19.33-3.333-38.67 0-58 4.098-14.4 12.598-25.23 25.5-32.5q6.626-1.05 12-4.5"}),n.createElement("path",{d:"M447.5 1447.5c21.766-2.21 42.766.62 63 8.5 21.067 11.41 35.234 28.57 42.5 51.5q1.39 10.62 4 21a229.3 229.3 0 0 1 1 40c-1.171 1.39-2.671 2.23-4.5 2.5q-65.505.255-131 1.5c-2.062 4.18-2.229 8.51-.5 13 2.366 8.1 5.7 15.77 10 23 15.264 15.93 33.764 20.77 55.5 14.5 3.87-2.52 7.87-4.85 12-7 3.262-2.59 5.762-5.76 7.5-9.5a39.7 39.7 0 0 1 8-7 965 965 0 0 0 21.5 8.5q10.12 1.62 18.5 7.5c.667 1.67.667 3.33 0 5q-9.276 20.79-27.5 34.5c-23.698 14.22-49.365 19.55-77 16-51.283-10.29-80.116-41.45-86.5-93.5-.894-14.71-.56-29.37 1-44a86 86 0 0 0 4-18 125.3 125.3 0 0 1 10.5-23c7.797-11.96 17.464-22.13 29-30.5 12.242-7.13 25.242-11.96 39-14.5m14 42c25.166 1.33 39.166 14.5 42 39.5q-1.824 2.61-5 3a719 719 0 0 1-75-1q2.218-22.395 21-36a123 123 0 0 1 17-5.5"}),n.createElement("path",{d:"M1482.5 1447.5c14.73-.22 29.39.61 44 2.5 37.88 7.55 57.72 30.72 59.5 69.5.33 38 .67 76 1 114 1.99 9.92 2.66 19.92 2 30-.75.63-1.58 1.13-2.5 1.5-15.66-.53-31.33-.53-47 0-2.44-2.29-3.94-5.13-4.5-8.5-1.06-4.6-1.73-9.27-2-14a7.2 7.2 0 0 0-2.5-2c-4.34 5.21-9.01 10.04-14 14.5-26.31 16.05-54.31 19.72-84 11q-44.205-19.29-37.5-67.5a124 124 0 0 0 5-17c8.22-13.88 19.38-24.72 33.5-32.5 9.71-4.13 19.71-7.46 30-10 21.1-4.3 42.44-6.63 64-7 1.8-.64 3.14-1.8 4-3.5-1.04-7.84-2.88-15.5-5.5-23a34.4 34.4 0 0 1-6.5-7.5 31.4 31.4 0 0 1-8-5c-6.73-.84-13.4-2.01-20-3.5-5.98 1.27-11.98 2.44-18 3.5q-3.72 4.11-9 6c-1.8 3.1-3.97 5.94-6.5 8.5-1.37 5.77-3.7 11.1-7 16-.8 1.3-1.97 1.97-3.5 2a426 426 0 0 0-34-13.5c-3.12-1.97-6.28-3.81-9.5-5.5-.65-3.09-.32-6.09 1-9 9.52-23.19 26.36-38.35 50.5-45.5a221 221 0 0 1 27-4.5m28 122c6.92-.31 13.76.02 20.5 1 2.47 19.95-4.37 35.78-20.5 47.5-4.04.9-7.7 2.57-11 5q-16.545 4.515-33 0c-16.58-9.72-18.91-22.05-7-37 2.29-1.29 4.29-2.96 6-5 14.59-5.91 29.59-9.74 45-11.5"}),n.createElement("path",{d:"M578.5 1454.5q29.139-.72 58 1.5c1.167 1.17 2.333 2.33 3.5 3.5a800 800 0 0 0 34 54c1.667-1.33 3.333-2.67 5-4a337 337 0 0 1 18-30 182 182 0 0 0 16.5-23.5 222 222 0 0 1 29-1.5c8.667.17 17.333.33 26 .5q3.726 3.42.5 7.5a2217 2217 0 0 0-63.5 93.5 103.5 103.5 0 0 0 8.5 15.5 5919 5919 0 0 1 59 85c2.155 3.04 1.988 5.87-.5 8.5a457 457 0 0 0-51 .5q-3.55-.51-7-1.5a728 728 0 0 1-40-60.5c-2.341-1.21-4.507-.88-6.5 1a926 926 0 0 1-28 45 120 120 0 0 1-11.5 14.5l-7.5 1.5c-16.734-.89-33.4-1.23-50-1q-.411-4.725 2-9a2463 2463 0 0 0 67.5-97.5 9.6 9.6 0 0 0-1.5-4.5 1263 1263 0 0 1-46-69l-18-24q-1.615-5.115 3.5-6"}))))}const Lg=` +.logo-background-light, .logo-background-colored { + background: white; +} +.logo-background-dark, .logo-background-blue { + background: black; +} +`;function jg(i){ye(()=>{if(!window.document.getElementById("vendor-iobroker-component")){const t=window.document.createElement("style");t.setAttribute("id","vendor-iobroker-component"),t.innerHTML=Lg,window.document.head.appendChild(t)}},[]);const e=i.themeType||i.themeName||"light";return n.createElement("div",{className:`vendor-logo-back logo-background-${e}`,style:{display:"flex",flexDirection:"column",height:"100%",width:"10%",margin:"auto",backgroundImage:i.backgroundImage&&i.backgroundImage!=="@@loginBackgroundImage@@"?i.backgroundImage:window.loadingBackgroundImage&&window.loadingBackgroundImage!=="@@loginBackgroundImage@@"?`url(${window.loadingBackgroundImage})`:void 0,backgroundColor:i.backgroundColor&&i.backgroundColor!=="@@loginBackgroundColor@@"?i.backgroundColor:window.loadingBackgroundColor&&window.loadingBackgroundColor!=="@@loginBackgroundColor@@"?window.loadingBackgroundColor:i.themeType==="dark"?"#000":"#FFF",backgroundSize:"cover"}},n.createElement("div",{style:{flexGrow:1}}),n.createElement(qi,{color:"secondary",size:i.size||200,thickness:5}),n.createElement("div",{style:{flexGrow:1}}))}const gg=` +/** + * Copyright 2018-2024 Denis Haev (bluefox) + * + * MIT License + * + **/ + +.logo-background-light, .logo-background-colored { + background: white; +} +.logo-background-dark, .logo-background-blue { + background: black; +} +.logo-div { + position: absolute; + top: 50%; + left: 50%; + -ms-transform: translateX(-50%) translateY(-50%); + -webkit-transform: translate(-50%,-50%); + transform: translate(-50%,-50%); + overflow: hidden; + border-radius: 50%; + z-index: 2; +} +.logo-border { + /*border-color: #164477;*/ + border-top-color: #3399CC; + border-left-color: #164477; + border-bottom-color: #164477; + border-right-color: #164477; + border-radius: 50%; + border-style: solid; + box-sizing: border-box; + width: 100%; + height: 100%; + position: absolute; +} +.logo-top { + position: absolute; + width: 4.5%; + height: 16%; + top: 0; + z-index: 2; +} +.logo-i { + position: absolute; + width: 14.5%; + height: 60%; + top: 20%; + left: 42%; + background: #3399CC; +} +.logo-i-top { + position: absolute; + width: 14.5%; + height: 4%; + left: 42%; + background: #3399CC; + border-radius: 100%; +} +.logo-back { + width: 100%; + height: 100%; + z-index: 0; + overflow: hidden; +} +@keyframes logo-grow { + 0% { + width: 230px; + height: 230px; + transform: translate(-50%,-50%) scale(1); + opacity: 1 + } + 99% { + width: 230px; + height: 230px; + transform: translate(-50%,-50%) scale(10); + opacity: 0; + } + 100% { + width: 0; + height: 0; + opacity: 0; + } +} +@keyframes logo-spin { 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } +@keyframes logo-color-inside-light { + 0% { + background: #FEFEFE; + } + 100% { + background: #3399CC; + } +} +@keyframes logo-color-inside-dark { + 0% { + background: #030303; + } + 100% { + background: #3399CC; + } +} +@keyframes logo-color-inside-colored { + 0% { + background: #FEFEFE; + } + 100% { + background: #3399CC; + } +} +@keyframes logo-color-inside-blue { + 0% { + background: #030303; + } + 100% { + background: #3399CC; + } +} + +@keyframes logo-color-outside-light { + 0% { + border-color: #FEFEFE; + } + 100% { + border-top-color: #3399CC; + border-left-color: #164477; + border-bottom-color: #164477; + border-right-color: #164477; + } +} +@keyframes logo-color-outside-dark { + 0% { + border-color: #040404; + } + 100% { + border-top-color: #3399CC; + border-left-color: #164477; + border-bottom-color: #164477; + border-right-color: #164477; + } +} +@keyframes logo-color-outside-colored { + 0% { + border-color: #FEFEFE; + } + 100% { + border-top-color: #3399CC; + border-left-color: #164477; + border-bottom-color: #164477; + border-right-color: #164477; + } +} +@keyframes logo-color-outside-blue { + 0% { + border-color: #040404; + } + 100% { + border-top-color: #3399CC; + border-left-color: #164477; + border-bottom-color: #164477; + border-right-color: #164477; + } +} + +.logo-animate-wait { + animation: logo-color-outside 1.5s, logo-spin 1.5s linear infinite; +} + +.logo-animate-grow-light { + background: #DDD; +} +.logo-animate-grow-dark { + background: #1d1d1d; +} +.logo-animate-grow-colored { + background: #DDD; +} +.logo-animate-grow-blue { + background: #1d1d1d; +} + +.logo-animate-grow { + display: inline-block; + text-align: center; + z-index: 1; + top: 50%; + left: 50%; + -ms-transform: translateX(-50%) translateY(-50%); + -webkit-transform: translate(-50%,-50%); + transform: translate(-50%,-50%); + width: 245px; + height: 245px; + border-radius: 50%; + position: absolute; + animation: logo-grow 1s 1 ease forwards; +} + +.logo-animate-color-inside-light { + animation: logo-color-inside-light 2.5s; +} +.logo-animate-color-inside-dark { + animation: logo-color-inside-dark 2.5s; +} +.logo-animate-color-inside-colored { + animation: logo-color-inside-colored 2.5s; +} +.logo-animate-color-inside-blue { + animation: logo-color-inside-blue 2.5s; +} + +.logo-animate-color-outside-light { + animation: logo-color-outside-light 1.5s; +} +.logo-animate-color-outside-dark { + animation: logo-color-outside-dark 1.5s; +} +.logo-animate-color-outside-colored { + animation: logo-color-outside-colored 1.5s; +} +.logo-animate-color-outside-blue { + animation: logo-color-outside-blue 1.5s; +} +`;function Tg(i){ye(()=>{if(!window.document.getElementById("loader-iobroker-component")){const s=window.document.createElement("style");s.setAttribute("id","loader-iobroker-component"),s.innerHTML=gg,window.document.head.appendChild(s)}},[]);const e=i.size||234,t=i.themeName||i.theme||i.themeType||"light";return n.createElement("div",{className:`logo-back logo-background-${t}`,style:{backgroundImage:i.backgroundImage&&i.backgroundImage!=="@@loginBackgroundImage@@"?i.backgroundImage:window.loadingBackgroundImage&&window.loadingBackgroundImage!=="@@loginBackgroundImage@@"?`url(${window.loadingBackgroundImage})`:void 0,backgroundColor:i.backgroundColor&&i.backgroundColor!=="@@loginBackgroundColor@@"?i.backgroundColor:window.loadingBackgroundColor&&window.loadingBackgroundColor!=="@@loginBackgroundColor@@"?window.loadingBackgroundColor:void 0,backgroundSize:"cover"}},window.loadingHideLogo==="true"?null:n.createElement(n.Fragment,null,n.createElement("div",{className:"logo-div",style:{width:e,height:e}},n.createElement("div",{className:`logo-top logo-background-${t}`,style:{left:"37%"}}),n.createElement("div",{className:`logo-top logo-background-${t}`,style:{left:"57%"}}),n.createElement("div",{className:`logo-border logo-background-${t} logo-animate-wait`,style:{borderWidth:e*.132}}),n.createElement("div",{className:`logo-i logo-animate-color-inside-${t}`}),n.createElement("div",{className:`logo-i-top logo-animate-color-inside-${t}`,style:{top:"18%"}}),n.createElement("div",{className:`logo-i-top logo-animate-color-inside-${t}`,style:{bottom:"18%"}})),n.createElement("div",{className:`logo-animate-grow logo-animate-grow-${t}`,style:{width:e+11,height:e+11}})))}const yg=` +.logo-background-light, .logo-background-colored { + background: white; +} +.logo-background-dark, .logo-background-blue { + background: black; +} +.pt-logo-div { + position: absolute; + top: 50%; + left: 50%; + -ms-transform: translateX(-50%) translateY(-50%); + -webkit-transform: translate(-50%,-50%); + transform: translate(-50%,-50%); + z-index: 2; +} +.pt-logo-border { + border-style: solid; + box-sizing: border-box; + width: 100%; + height: 100%; + position: absolute; +} +.pt-loader-block { + height: 65px; + width: 74px; + border-radius: 15px; + position: absolute; + box-sizing: content-box; +} +.pt-loader-blue { + border: 9px solid #0F99DE; + transform: rotate(5grad); + left: 93px; + top: 0; + animation: spin-blue 5s ease-in-out infinite; +} +.pt-loader-green { + border: 9px solid #88A536; + transform: rotate(-6grad); + left: 70px; + top: 58px; + animation: spin-green 5s ease-in-out infinite; +} +.pt-loader-red { + border: 9px solid #BD1B24; + transform: rotate(-15grad); + left: 24px; + top: 100px; + animation: spin-red 5s ease-in-out infinite; +} + +@keyframes spin-blue { + 0% { + transform: rotate(5deg); + } + 25% { + transform: rotate(185deg); + } + 50% { + transform: rotate(185deg); + } + 75% { + transform: rotate(185deg); + } + 100% { + transform: rotate(185deg); + } +} +@keyframes spin-green { + 0% { + transform: rotate(-6deg); + } + 25% { + transform: rotate(-6deg); + } + 50% { + transform: rotate(174deg); + } + 75% { + transform: rotate(174deg); + } + 100% { + transform: rotate(-6deg); + } +} +@keyframes spin-red { + 0% { + transform: rotate(-15deg); + } + 25% { + transform: rotate(-15deg); + } + 50% { + transform: rotate(-15deg); + } + 75% { + transform: rotate(165deg); + } + 100% { + transform: rotate(165deg); + } +} +`;function Dg(i){const e=i.size||200;ye(()=>{if(!window.document.getElementById("pt-iobroker-component")){const s=window.document.createElement("style");s.setAttribute("id","pt-iobroker-component"),s.innerHTML=yg,window.document.head.appendChild(s)}},[]);const t=i.themeType||i.themeName||"light";return n.createElement("div",{className:`pt-logo-back logo-background-${t}`,style:{backgroundImage:i.backgroundImage&&i.backgroundImage!=="@@loginBackgroundImage@@"?i.backgroundImage:window.loadingBackgroundImage&&window.loadingBackgroundImage!=="@@loginBackgroundImage@@"?`url(${window.loadingBackgroundImage})`:void 0,backgroundColor:i.backgroundColor&&i.backgroundColor!=="@@loginBackgroundColor@@"?i.backgroundColor:window.loadingBackgroundColor&&window.loadingBackgroundColor!=="@@loginBackgroundColor@@"?window.loadingBackgroundColor:i.themeType==="dark"?"#000":"#FFF",backgroundSize:"cover"}},n.createElement("div",{className:"pt-logo-div",style:{width:e,height:e}},n.createElement("div",{style:{width:200,height:200}},n.createElement("div",{className:"pt-loader-blue pt-loader-block"}),n.createElement("div",{className:"pt-loader-green pt-loader-block"}),n.createElement("div",{className:"pt-loader-red pt-loader-block"}))))}function dg(i){const e=window.vendorPrefix;return e==="PT"?n.createElement(Dg,{themeType:i.themeType}):e==="MV"?n.createElement(lg,{themeType:i.themeType}):e==="NW"?n.createElement(Ng,{themeType:"dark"}):e&&e!=="@@vendorPrefix@@"?n.createElement(jg,{themeType:i.themeType}):n.createElement(Tg,{themeType:i.themeType})}class qs extends ze{onHashChangedBound;constructor(e){super(e),this.onHashChangedBound=this.onHashChanged.bind(this)}componentDidMount(){window.addEventListener("hashchange",this.onHashChangedBound)}componentWillUnmount(){window.removeEventListener("hashchange",this.onHashChangedBound)}onHashChanged(){}static getLocation(){let e=window.location.hash;e=e.replace(/^#/,"");const t=e.split("/").map(s=>{try{return s?decodeURIComponent(s):""}catch{return console.error(`Router: Cannot decode ${s}`),s}});return{tab:t[0]||"",dialog:t[1]||"",id:t[2]||"",arg:t[3]||""}}static doNavigate(e,t,s,r){let o="";const M=qs.getLocation();r!==void 0&&!s&&(s=M.id),s&&!t&&(t=M.dialog),(t&&!e||e===null)&&(e=M.tab),e&&(o=`#${e}`,t&&(o+=`/${t}`,s&&(o+=`/${s}`,r!==void 0&&(o+=`/${r}`)))),window.location.hash!==o&&(window.location.hash=o)}}function zg(){const i=document.getSelection();if(!(i!=null&&i.rangeCount))return()=>{};let e=document.activeElement;const t=[];for(let s=0;s{i.type==="Caret"&&i.removeAllRanges(),i.rangeCount||t.forEach(s=>i.addRange(s)),e&&e.focus()}}const mn={"text/plain":"Text","text/html":"Url",default:"Text"},Ig="Copy to clipboard: #{key}, Enter";function hg(i){const e=`${/mac os x/i.test(navigator.userAgent)?"⌘":"Ctrl"}+C`;return i.replace(/#{\s*key\s*}/g,e)}function Rc(i,e){let t,s,r,o,M=!1;e=e||{};const a=e.debug||!1;try{if(t=zg(),s=document.createRange(),r=document.getSelection(),o=document.createElement("span"),o.textContent=i,o.ariaHidden="true",o.style.all="unset",o.style.position="fixed",o.style.top="0px",o.style.clip="rect(0, 0, 0, 0)",o.style.whiteSpace="pre",o.style.userSelect="text",o.addEventListener("copy",l=>{var N,c,L,j;if(l.stopPropagation(),e!=null&&e.format)if(l.preventDefault(),typeof l.clipboardData>"u"){a&&console.warn("unable to use e.clipboardData"),a&&console.warn("trying IE specific stuff"),(N=window.clipboardData)==null||N.clearData();const g=mn[e.format]||mn.default;(c=window.clipboardData)==null||c.setData(g,i)}else(L=l.clipboardData)==null||L.clearData(),(j=l.clipboardData)==null||j.setData(e.format,i)}),document.body.appendChild(o),s.selectNodeContents(o),r==null||r.addRange(s),!document.execCommand("copy"))throw new Error("copy command was unsuccessful");M=!0}catch(u){a&&console.error("unable to copy using execCommand: ",u),a&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(e.format||"text",i),M=!0}catch(l){a&&console.error("unable to copy using clipboardData: ",l),a&&console.error("falling back to prompt");const N=hg("message"in e?e.message||"":Ig);window.prompt(N,i)}}finally{r&&(s&&typeof r.removeRange=="function"?r.removeRange(s):r.removeAllRanges()),o&&document.body.removeChild(o),t&&t()}return M}class D{static translations={};static unknownTranslations=[];static lang=window.sysLang||"en";static _disableWarning=!1;static setLanguage(e){e&&(D.lang=e)}static extendTranslations(e,t){if(e.prefix){const s=e;if(typeof s.prefix=="string"){const r=s.prefix;delete s.prefix,Object.keys(s).forEach(o=>{const M=o,a={},u=s[M];Object.keys(u).forEach(l=>{l&&u&&(l.startsWith(r)?a[l]=u[l]:a[`${r}${l}`]=u[l])}),e[M]=a})}else console.warn("Found prefix in translations, but it is not a string")}try{if(!t)e.en&&e.de&&e.ru?Object.keys(e).forEach(s=>{const r=s;D.translations[r]=D.translations[r]||{};const o=D.translations[r];Object.assign(o,e[r])}):Object.keys(e).forEach(s=>{const r=e[s];Object.keys(r).forEach(o=>{const M=o,a=D.translations[M];a?a[s]?a[s]!==r[M]&&console.warn(`Translation for word "${s}" in "${M}" was ignored: existing = "${a[s]}", new = ${r[M]}`):a[s]=r[M]:console.warn(`Used unknown language: ${M}`)})});else{D.translations[t]||console.warn(`Used unknown language: ${t}`),D.translations[t]=D.translations[t]||{};const s=D.translations[t];s&&Object.keys(e).forEach(r=>{s[r]?s[r]!==e[r]&&console.warn(`Translation for word "${r}" in "${t}" was ignored: existing = "${s[r]}", new = ${e[r]}`):s[r]=e[r]})}}catch(s){console.error(`Cannot apply translations: ${s}`)}}static setTranslations(e){e&&(D.translations=e)}static getLanguage(){return D.lang}static t(e,...t){const s=D.translations[D.lang];if(s){const r=s[e];if(r)e=r;else if(D.unknownTranslations.includes(e)||(D.unknownTranslations.push(e),!D._disableWarning&&console.log(`Translate: ${e}`)),D.lang!=="en"&&D.translations.en){const o=D.translations.en[e];o&&(e=o)}}for(const r of t)e=e.replace("%s",r);return e}static i18nShow(e){const t={};e?typeof e=="string"?(D.unknownTranslations.forEach(s=>{s.startsWith(e)&&(t[s]=s.replace(e,""))}),console.log(JSON.stringify(t,null,2))):typeof e=="object"&&(D.unknownTranslations.forEach(s=>{e.test(s)&&(t[s]=s)}),console.log(JSON.stringify(t,null,2))):(D.unknownTranslations.forEach(s=>t[s]=s),console.log(JSON.stringify(t,null,2)))}static disableWarning(e){D._disableWarning=!!e}}window.i18nShow=D.i18nShow;window.i18nDisableWarning=D.disableWarning;const rt="material",wg=["Su","Mo","Tu","We","Th","Fr","Sa"],Cg=["Jan","Feb","Mar","Apr","Mai","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],Or={0:"0x00 - good",1:"0x01 - general problem",2:"0x02 - no connection problem",16:"0x10 - substitute value from controller",32:"0x20 - substitute initial value",64:"0x40 - substitute value from device or instance",128:"0x80 - substitute value from sensor",17:"0x11 - general problem by instance",65:"0x41 - general problem by device",129:"0x81 - general problem by sensor",18:"0x12 - instance not connected",66:"0x42 - device not connected",130:"0x82 - sensor not connected",68:"0x44 - device reports error",132:"0x84 - sensor reports error"},pn={JVBERi0:"pdf",R0lGODdh:"gif",R0lGODlh:"gif",iVBORw0KGgo:"png","/9j/":"jpg",PHN2Zw:"svg",Qk1:"bmp",AAABAA:"ico"};class E{static namespace=rt;static INSTANCES="instances";static dateFormat=["DD","MM"];static FORBIDDEN_CHARS=/[^._\-/ :!#$%&()+=@^{}|~\p{Ll}\p{Lu}\p{Nd}]+/gu;static CapitalWords(e){return(e||"").split(/[\s_]/).filter(t=>t).map(t=>t?t[0].toUpperCase()+t.substring(1).toLowerCase():"").join(" ")}static formatSeconds(e){const t=Math.floor(e/86400);e%=3600*24;const s=Math.floor(e/3600).toString().padStart(2,"0");e%=3600;const r=Math.floor(e/60).toString().padStart(2,"0");e%=60;const o=Math.floor(e).toString().padStart(2,"0");let M="";return t&&(M+=`${t} ${D.t("ra_daysShortText")} `),M+=`${s}:${r}:${o}`,M}static getObjectName(e,t,s,r,o){var u;const M=e[t];let a;if(typeof s=="string"&&!r&&(r={language:s},s=null),r=r||{},r.language||(r.language=e["system.config"]&&e["system.config"].common&&e["system.config"].common.language||window.sysLang||"en"),s!=null&&s.name){const l=s.name;typeof l=="object"?a=r.language&&l[r.language]||l.en:a=l}else if(o&&((u=M==null?void 0:M.common)!=null&&u.desc)){const l=M.common.desc;typeof l=="object"?a=r.language&&l[r.language]||l.en||l.de||l.ru||"":a=l,a=(a||"").toString().replace(/[_.]/g," "),a===a.toUpperCase()&&(a=a[0]+a.substring(1).toLowerCase())}else if(!o&&(M!=null&&M.common)){const l=M.common.name||M.common.desc;l&&typeof l=="object"?a=r.language&&l[r.language]||l.en||l.de||l.ru||"":a=l,a=(a||"").toString().replace(/[_.]/g," "),a===a.toUpperCase()&&(a=a[0]+a.substring(1).toLowerCase())}else{const l=t.lastIndexOf(".");a=t.substring(l+1).replace(/[_.]/g," "),a=E.CapitalWords(a)}return(a==null?void 0:a.trim())||""}static getObjectNameFromObj(e,t,s,r,o){var u,l;const M=e;let a=(e==null?void 0:e._id)||"";if(typeof t=="string"&&!s&&(s={language:t},t=null),s=s||{},t!=null&&t.name){const N=t.name;typeof N=="object"?a=s.language&&N[s.language]||N.en:a=N}else if(r&&((u=M==null?void 0:M.common)!=null&&u.desc)){const N=M.common.desc;typeof N=="object"?a=s.language&&N[s.language]||N.en:a=N,a=(a||"").toString().replace(/[_.]/g," "),a===a.toUpperCase()&&(a=a[0]+a.substring(1).toLowerCase())}else if(!r&&((l=M==null?void 0:M.common)!=null&&l.name)){let N=M.common.name;!N&&M.common.desc&&(N=M.common.desc),typeof N=="object"?a=s.language&&N[s.language]||N.en:a=N,a=(a||"").toString().replace(/[_.]/g," "),a===a.toUpperCase()&&(a=a[0]+a.substring(1).toLowerCase())}return o?a:a.trim()}static getSettingsOrder(e,t,s){let r;e&&Object.prototype.hasOwnProperty.call(e,"common")?r=e.common:r=e;let o;if(r!=null&&r.custom){o=r.custom[rt];const M=s.user||"admin";if(o&&o[M]){if(t){if(o[M].subOrder&&o[M].subOrder[t])return JSON.parse(JSON.stringify(o[M].subOrder[t]))}else if(o[M].order)return JSON.parse(JSON.stringify(o[M].order))}}return null}static getSettingsCustomURLs(e,t,s){let r;e&&Object.prototype.hasOwnProperty.call(e,"common")?r=e.common:r=e;let o;if(r!=null&&r.custom){o=r.custom[rt];const M=s.user||"admin";if(o&&o[M]){if(t){if(o[M].subURLs&&o[M].subURLs[t])return JSON.parse(JSON.stringify(o[M].subURLs[t]))}else if(o[M].URLs)return JSON.parse(JSON.stringify(o[M].URLs))}}return null}static reorder(e,t,s){const r=Array.from(e),[o]=r.splice(t,1);return r.splice(s,0,o),r}static getSettings(e,t,s){let r;const o=(e==null?void 0:e._id)||(t==null?void 0:t.id);let M;if(e&&Object.prototype.hasOwnProperty.call(e,"common")?M=e.common:M=e,M!=null&&M.custom?(r=M.custom,r=r[rt]&&r[rt][t.user||"admin"]?JSON.parse(JSON.stringify(r[rt][t.user||"admin"])):{enabled:!0}):r={enabled:s===void 0?!0:s,useCustom:!1},Object.prototype.hasOwnProperty.call(r,"enabled")||(r.enabled=s===void 0?!0:s),t&&(!r.name&&t.name&&(r.name=t.name),!r.icon&&t.icon&&(r.icon=t.icon),!r.color&&t.color&&(r.color=t.color)),M&&(!r.color&&M.color&&(r.color=M.color),!r.icon&&M.icon&&(r.icon=M.icon),!r.name&&M.name&&(r.name=M.name)),typeof r.name=="object"&&(r.name=t.language&&r.name[t.language]||r.name.en,r.name=(r.name||"").toString().replace(/_/g," "),r.name===r.name.toUpperCase()&&(r.name=r.name[0]+r.name.substring(1).toLowerCase())),!r.name&&o){const a=o.lastIndexOf(".");r.name=o.substring(a+1).replace(/[_.]/g," "),r.name=(r.name||"").toString().replace(/_/g," "),r.name=E.CapitalWords(r.name)}return r}static setSettings(e,t,s){if(e){e.common=e.common||{},e.common.custom=e.common.custom||{},e.common.custom[rt]=e.common.custom[rt]||{},e.common.custom[rt][s.user||"admin"]=t;const r=e.common.custom[rt][s.user||"admin"];return r.useCommon&&(r.color!==void 0&&(e.common.color=r.color,delete r.color),r.icon!==void 0&&(e.common.icon=r.icon,delete r.icon),r.name!==void 0&&(typeof e.common.name!="object"&&s.language?e.common.name={[s.language]:r.name}:typeof e.common.name=="object"&&s.language&&(e.common.name[s.language]=r.name),delete r.name)),!0}return!1}static getIcon(e,t){return e!=null&&e.icon?e.icon.length<=2?n.createElement("span",{style:t||{}},e.icon):e.icon.startsWith("data:image")?n.createElement("img",{alt:e.name,src:e.icon,style:t||{}}):n.createElement("img",{alt:e.name,src:(e.prefix||"")+e.icon,style:t}):null}static getObjectIcon(e,t){var s;if(typeof e=="object"&&(t=e,e=t==null?void 0:t._id),(s=t==null?void 0:t.common)!=null&&s.icon){let r=t.common.icon;if(typeof r=="string"&&r.length<=2||r.startsWith("data:image"))return r;const o=e.split(".");return o[0]==="system"?r=`adapter/${o[2]}${r.startsWith("/")?"":"/"}${r}`:r=`adapter/${o[0]}${r.startsWith("/")?"":"/"}${r}`,window.location.pathname.match(/adapter\/[^/]+\/[^/]+\.html/)?r=`../../${r}`:window.location.pathname.match(/material\/[.\d]+/)?r=`../../${r}`:window.location.pathname.match(/material\//)&&(r=`../${r}`),r}return null}static splitCamelCase(e){return e?E.CapitalWords(e):""}static isUseBright(e,t){if(!e)return t===void 0?!0:t;e=e.toString(),e.startsWith("#")&&(e=e.slice(1));let s,r,o;const M=e.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i);if(M&&M.length===4)s=parseInt(M[1],10),r=parseInt(M[2],10),o=parseInt(M[3],10);else{if(e.length===3&&(e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]),e.length===8)e=e.substring(0,6);else if(e.length!==6)return!1;s=parseInt(e.slice(0,2),16),r=parseInt(e.slice(2,4),16),o=parseInt(e.slice(4,6),16)}return s*.299+r*.587+o*.114<=186}static getTimeString(e){if(e=parseFloat(e),Number.isNaN(e))return"--:--";const t=Math.floor(e/3600),s=Math.floor(e%3600/60).toString().padStart(2,"0"),r=(e%60).toString().padStart(2,"0");return t?`${t}:${s}:${r}`:`${s}:${r}`}static getWindDirection(e){return e>=0&&e<11.25?"N":e>=11.25&&e<33.75?"NNE":e>=33.75&&e<56.25?"NE":e>=56.25&&e<78.75?"ENE":e>=78.75&&e<101.25?"E":e>=101.25&&e<123.75?"ESE":e>=123.75&&e<146.25?"SE":e>=146.25&&e<168.75?"SSE":e>=168.75&&e<191.25?"S":e>=191.25&&e<213.75?"SSW":e>=213.75&&e<236.25?"SW":e>=236.25&&e<258.75?"WSW":e>=258.75&&e<281.25?"W":e>=281.25&&e<303.75?"WNW":e>=303.75&&e<326.25?"NW":e>=326.25&&e<348.75?"NNW":"N"}static padding(e){return typeof e=="string"?e.length<2?`0${e}`:e:e<10?`0${e}`:e.toString()}static setDataFormat(e){e&&(E.dateFormat=e.toUpperCase().split(/[.-/]/),E.dateFormat.splice(E.dateFormat.indexOf("YYYY"),1))}static date2string(e){if(typeof e=="string"){if(e=e.trim(),!e)return"";if(e.match(/^[\w\s]+$/))return e;const s=e.match(/(\d{1,4})[-./](\d{1,2})[-./](\d{1,4})/);if(s){const r=[parseInt(s[1],10),parseInt(s[2],10),parseInt(s[3],10)],o=r.find(M=>M>31);if(o!==void 0){r.splice(r.indexOf(o),1);const M=r.find(a=>a>12);M?(r.splice(r.indexOf(M),1),e=new Date(o,r[0]-1,M)):E.dateFormat[0][0]==="M"&&E.dateFormat[1][0]==="D"?(e=new Date(o,r[0]-1,r[1]),Math.abs(e.getTime()-Date.now())>36e5*24*10&&(e=new Date(o,r[1]-1,r[0]))):E.dateFormat[0][0]==="D"&&E.dateFormat[1][0]==="M"?(e=new Date(o,r[1]-1,r[0]),Math.abs(e.getTime()-Date.now())>36e5*24*10&&(e=new Date(o,r[0]-1,r[1]))):e=new Date(e)}else e=new Date(e)}else e=new Date(e)}else e=new Date(e);let t=D.t(`ra_dow_${wg[e.getDay()]}`).replace("ra_dow_","");return t+=`. ${e.getDate()} ${D.t(`ra_month_${Cg[e.getMonth()]}`).replace("ra_month_","")}`,t}static renderTextWithA(e){let t=e.match(/||[^<]+<\/b>|[^<]+<\/i>/);if(t){const s=[];let r=1;do{const o=e.substring(0,t.index);if(e=e.substring((t.index||0)+t[0].length),o&&s.push(n.createElement("span",{key:`a${r++}`},o)),t[0].startsWith(""))s.push(n.createElement("b",{key:`a${r++}`},t[0].substring(3,t[0].length-4)));else if(t[0].startsWith(""))s.push(n.createElement("i",{key:`a${r++}`},t[0].substring(3,t[0].length-4)));else if(t[0].startsWith("([^<]*)||[^<]+<\/b>|[^<]+<\/i>/):null,!t&&e&&s.push(n.createElement("span",{key:`a${r++}`},e))}while(t);return s}return e}static getSmartName(e,t,s,r){var M,a;if(!t){if(!r)return!e.common||e&&!e.common?e.smartName:e.common.smartName;if(e&&!e.common)return e.smartName;const u=e;return(M=u==null?void 0:u.common)!=null&&M.custom&&u.common.custom[s]?u.common.custom[s].smartName:void 0}if(!r)return e[t].common.smartName;const o=e[t];return(a=o==null?void 0:o.common)!=null&&a.custom&&o.common.custom[s]&&o.common.custom[s].smartName||null}static getSmartNameFromObj(e,t,s){var o,M;if(!s)return!e.common||e&&!e.common?e.smartName:e.common.smartName;if(e&&!e.common)return e.smartName;const r=(M=(o=e==null?void 0:e.common)==null?void 0:o.custom)==null?void 0:M[t];return r?r.smartName:void 0}static enableSmartName(e,t,s){const r=e;s?(r.common.custom||={},r.common.custom[t]||={},r.common.custom[t].smartName={}):r.common.smartName={}}static removeSmartName(e,t,s){var o,M;const r=e;s?(M=(o=r==null?void 0:r.common)==null?void 0:o.custom)!=null&&M[t]&&(r.common.custom[t]=null):r.common.smartName=null}static updateSmartName(e,t,s,r,o,M){var l,N;const a=D.getLanguage(),u=e;if(typeof u.common.smartName=="string"){const c=u.common.smartName;u.common.smartName={},u.common.smartName[a]=c}if((l=u.native)!=null&&l.byON){delete u.native.byON;let c=u.common.smartName;c&&typeof c!="object"&&(c={en:c,[a]:c}),u.common.smartName=c}if(r!==void 0&&(M?(u.common.custom||={},u.common.custom[o]||={},u.common.custom[o].smartName||={},r?u.common.custom[o].smartName.smartType=r:delete u.common.custom[o].smartName.smartType):(u.common.smartName||={},r?u.common.smartName.smartType=r:delete u.common.smartName.smartType)),s!==void 0&&(M?(u.common.custom||={},u.common.custom[o]||={},u.common.custom[o].smartName||={},u.common.custom[o].smartName.byON=s):(u.common.smartName||={},u.common.smartName.byON=s)),t!==void 0){let c;if(M?(u.common.custom||={},u.common.custom[o]||={},u.common.custom[o].smartName||={},c=u.common.custom[o].smartName):(u.common.smartName||={},c=u.common.smartName),c[a]=t,c&&(!c[a]||c[a]===u.common.name&&!u.common.role)){delete c[a];let L=!0;for(const j in c)if(Object.prototype.hasOwnProperty.call(c,j)){L=!1;break}if(L)if(M&&((N=u.common.custom)!=null&&N[o]))u.common.custom[o].smartName.byON===void 0?delete u.common.custom[o]:(delete u.common.custom[o].en,delete u.common.custom[o].de,delete u.common.custom[o].ru,delete u.common.custom[o].nl,delete u.common.custom[o].pl,delete u.common.custom[o].it,delete u.common.custom[o].fr,delete u.common.custom[o].pt,delete u.common.custom[o].es,delete u.common.custom[o].uk,delete u.common.custom[o]["zh-cn"]);else if(u.common.smartName&&u.common.smartName.byON!==void 0){const j=u.common.smartName;delete j.en,delete j.de,delete j.ru,delete j.nl,delete j.pl,delete j.it,delete j.fr,delete j.pt,delete j.es,delete j.uk,delete j["zh-cn"]}else u.common.smartName=null}}}static updateSmartNameEx(e,t){var o,M,a,u;const s=D.getLanguage(),r=e;if(typeof r.common.smartName=="string"){const l=r.common.smartName;r.common.smartName={},r.common.smartName[s]=l}if((o=r.native)!=null&&o.byON){delete r.native.byON;let l=r.common.smartName;l&&typeof l!="object"&&(l={en:l,[s]:l}),r.common.smartName=l}if(t.smartType!==void 0&&(t.noCommon?(r.common.custom||={},r.common.custom[t.instanceId]||={},r.common.custom[t.instanceId].smartName||={},t.smartType?r.common.custom[t.instanceId].smartName.smartType=t.smartType:delete r.common.custom[t.instanceId].smartName.smartType):(r.common.smartName||={},t.smartType?r.common.smartName.smartType=t.smartType:delete r.common.smartName.smartType)),t.byON!==void 0&&(t.noCommon?(r.common.custom||={},r.common.custom[t.instanceId]||={},r.common.custom[t.instanceId].smartName||={},r.common.custom[t.instanceId].smartName.byON=t.byON):(r.common.smartName||={},r.common.smartName.byON=t.byON)),t.noAutoDetect!==void 0&&(t.noCommon?t.noAutoDetect?(r.common.custom||={},r.common.custom[t.instanceId]||={},r.common.custom[t.instanceId].smartName||={},r.common.custom[t.instanceId].smartName.noAutoDetect=t.noAutoDetect):(a=(M=r.common.custom)==null?void 0:M[t.instanceId])!=null&&a.smartName&&delete r.common.custom[t.instanceId].smartName.noAutoDetect:!t.noAutoDetect&&r.common.smartName?delete r.common.smartName.noAutoDetect:(r.common.smartName||={},r.common.smartName.noAutoDetect=t.noAutoDetect)),t.smartName!==void 0){let l;if(t.noCommon?(r.common.custom||={},r.common.custom[t.instanceId]||={},r.common.custom[t.instanceId].smartName||={},l=r.common.custom[t.instanceId].smartName):(r.common.smartName||={},l=r.common.smartName),l[s]=t.smartName,l&&(!l[s]||l[s]===r.common.name&&!r.common.role)){delete l[s];let N=!0;for(const c in l)if(Object.prototype.hasOwnProperty.call(l,c)){N=!1;break}if(N)if(t.noCommon&&((u=r.common.custom)!=null&&u[t.instanceId]))r.common.custom[t.instanceId].smartName.byON===void 0?delete r.common.custom[t.instanceId]:(delete r.common.custom[t.instanceId].en,delete r.common.custom[t.instanceId].de,delete r.common.custom[t.instanceId].ru,delete r.common.custom[t.instanceId].nl,delete r.common.custom[t.instanceId].pl,delete r.common.custom[t.instanceId].it,delete r.common.custom[t.instanceId].fr,delete r.common.custom[t.instanceId].pt,delete r.common.custom[t.instanceId].es,delete r.common.custom[t.instanceId].uk,delete r.common.custom[t.instanceId]["zh-cn"]);else if(r.common.smartName&&r.common.smartName.byON!==void 0){const c=r.common.smartName;delete c.en,delete c.de,delete c.ru,delete c.nl,delete c.pl,delete c.it,delete c.fr,delete c.pt,delete c.es,delete c.uk,delete c["zh-cn"]}else r.common.smartName=null}}}static disableSmartName(e,t,s){const r=e;s?(r.common.custom||={},r.common.custom[t]||={},r.common.custom[t].smartName=!1):r.common.smartName=!1}static copyToClipboard(e,t){return t&&(t.stopPropagation(),t.preventDefault()),Rc(e)}static getFileExtension(e){const t=(e||"").lastIndexOf(".");return t!==-1?e.substring(t+1).toLowerCase():null}static formatBytes(e){if(Math.abs(e)<1024)return`${e} B`;const t=["KB","MB","GB"];let s=-1;do e/=1024,++s;while(Math.abs(e)>=1024&&s186?`#000000${s||""}`:`#FFFFFF${s||""}`;const a=(255-r).toString(16),u=(255-o).toString(16),l=(255-M).toString(16);return`#${a.padStart(2,"0")}${u.padStart(2,"0")}${l.padStart(2,"0")}${s||""}`}static color2rgb(e){if(e==null||e===""||typeof e!="string")return!1;if(e.startsWith("rgba")){const t=e.match(/rgba?\((\d+),\s*(\d+),\s*(\d+),\s*([.\d]+)\)/);t&&(e=parseInt(t[1],10).toString(16).padStart(2,"0")+parseInt(t[2],10).toString(16).padStart(2,"0")+parseInt(t[2],10).toString(16).padStart(2,"0"))}else if(e.startsWith("rgb")){const t=e.match(/rgb?\((\d+),\s*(\d+),\s*(\d+)\)/);t&&(e=parseInt(t[1],10).toString(16).padStart(2,"0")+parseInt(t[2],10).toString(16).padStart(2,"0")+parseInt(t[2],10).toString(16).padStart(2,"0"))}else e.startsWith("#")&&(e=e.slice(1));return e.length===3&&(e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]),e.length!==6&&e.length!==8?(console.warn(`Cannot invert color: ${e}`),!1):[parseInt(e.slice(0,2),16),parseInt(e.slice(2,4),16),parseInt(e.slice(4,6),16)]}static rgb2lab(e){let t=e[0]/255,s=e[1]/255,r=e[2]/255;t=t>.04045?((t+.055)/1.055)**2.4:t/12.92,s=s>.04045?((s+.055)/1.055)**2.4:s/12.92,r=r>.04045?((r+.055)/1.055)**2.4:r/12.92;let o=(t*.4124+s*.3576+r*.1805)/.95047,M=t*.2126+s*.7152+r*.0722,a=(t*.0193+s*.1192+r*.9505)/1.08883;return o=o>.008856?o**.33333333:7.787*o+.137931,M=M>.008856?M**.33333333:7.787*M+.137931,a=a>.008856?a**.33333333:7.787*a+.137931,[116*M-16,500*(o-M),200*(M-a)]}static colorDistance(e,t){const s=E.color2rgb(e),r=E.color2rgb(t);if(!s||!r)return 0;const o=E.rgb2lab(s),M=E.rgb2lab(r),a=o[0]-M[0],u=o[1]-M[1],l=o[2]-M[2],N=Math.sqrt(o[1]*o[1]+o[2]*o[2]),c=Math.sqrt(M[1]*M[1]+M[2]*M[2]),L=N-c;let j=u*u+l*l-L*L;j=j<0?0:Math.sqrt(j);const g=1+.045*N,y=1+.015*N,d=a,h=L/g,m=j/y,w=d*d+h*h+m*m;return w<0?0:w}static _toVal(e){let t,s="";if(typeof e=="string"||typeof e=="number")s+=e;else if(typeof e=="object")if(Array.isArray(e))for(let r=0;r{if(s=s.trim(),s){const r=s.split("="),o=decodeURIComponent(r[0]).trim();if(r.length>1){const M=decodeURIComponent(r[1]);if(M==="true")t[o]=!0;else if(M==="false")t[o]=!1;else{const a=parseFloat(M);a.toString()===M?t[o]=a:t[o]=M}}else t[o]=!0}}),t}static getParentId(e){const t=(e||"").toString().split(".");return t.length>1?(t.pop(),t.join(".")):null}static formatDate(e,t){if(!e)return"";let s;const r=(e.getMonth()+1).toString().padStart(2,"0"),o=e.getDate().toString().padStart(2,"0");return t==="MM/DD/YYYY"?s=`${r}/${o}/${e.getFullYear()}`:s=`${e.getFullYear()}-${r}-${o}`,s+=` ${e.getHours().toString().padStart(2,"0")}:${e.getMinutes().toString().padStart(2,"0")}:${e.getSeconds().toString().padStart(2,"0")}.${e.getMilliseconds().toString().padStart(3,"0")}`,s}static formatTime(e){if(e){e=Math.round(e);const t=Math.floor(e/(3600*24)),s=Math.floor(e%(3600*24)/3600),r=Math.floor(e%3600/60),o=e%60;return t?`${t}.${s.toString().padStart(2,"0")}:${r.toString().padStart(2,"0")}:${o.toString().padStart(2,"0")}`:s?`${s}:${r.toString().padStart(2,"0")}:${o.toString().padStart(2,"0")}`:`0:${r.toString().padStart(2,"0")}:${o.toString().padStart(2,"0")}`}return"0:00:00"}static MDtext2link(e){const t=e.match(/\d+\.\)\s/);return t&&(e=e.replace(t[0],t[0].replace(/\s/," "))),e.replace(/[^a-zA-Zа-яА-Я0-9]/g,"").trim().replace(/\s/g,"").toLowerCase()}static openLink(e,t){e=e.replace(/\/\/([0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*)(:\d+)?\//i,"//[$1]$2/"),t==="this"?window.location.href=e:window.open(e,t||"_blank")}static MDgetTitle(e){var o;const t=E.MDextractHeader(e),s=t.header;let r=t.body;if(!s.title){r=r.replace(/{[^}]*}/g,""),r=r.trim();const M=r.replace(/\r/g,"").split(` +`);for(let a=0;a{if(!M.trim())return;const a=M.indexOf(":");if(a!==-1){const u=M.substring(0,a).trim();let l=M.substring(a+1).trim();l=l.replace(/^['"]|['"]$/g,""),l==="true"?t[u]=!0:l==="false"?t[u]=!1:parseFloat(l).toString()===t[u]?t[u]=parseFloat(l):t[u]=l}else t[M.trim()]=!0}),e=e.substring(s+7))}return{header:t,body:e}}static MDremoveDocsify(e){const t=e.match(/{docsify-[^}]*}/g);return t&&t.forEach(s=>e=e.replace(s,"")),e}static generateFile(e,t){const s=document.createElement("a");s.setAttribute("href",`data:application/json;charset=utf-8,${encodeURIComponent(JSON.stringify(t,null,2))}`),s.setAttribute("download",e),s.style.display="none",document.body.appendChild(s),s.click(),document.body.removeChild(s)}static quality2text(e){const t=e&4294901760,s=Or[e];let r;return s?r=[s]:e&1?r=[Or[1],`0x${(e&65534).toString(16)}`]:e&2?r=[Or[2],`0x${(e&65533).toString(16)}`]:r=[`0x${e.toString(16)}`],t&&r.push(`0x${(t>>16).toString(16).toUpperCase()}`),r}static clone(e){return JSON.parse(JSON.stringify(e))}static getStates(e){var r;const t=(r=e==null?void 0:e.common)==null?void 0:r.states;let s;if(t)if(typeof t=="string"&&t[0]==="{")try{s=JSON.parse(t)}catch{console.error(`Cannot parse states: ${t}`),s=null}else if(typeof t=="string"){const o=t.split(";");s={};for(let M=0;Ms[M]=o):(e==null?void 0:e.common.type)==="string"?t.forEach(o=>s[o]=o):(e==null?void 0:e.common.type)==="boolean"&&(s.false=t[0],s.true=t[1])):typeof t=="object"&&(s=t);return s||null}static async getSvg(e){const s=await(await fetch(e)).blob();return new Promise(r=>{const o=new FileReader;o.onload=()=>{var M;return r(((M=o.result)==null?void 0:M.toString())||"")},o.readAsDataURL(s)})}static detectMimeType(e){const t=Object.keys(pn).find(s=>e.startsWith(s));return t?pn[t]:null}static isStableRepository(e){return!!(typeof e=="string"&&e.toLowerCase().startsWith("stable")||e&&typeof e!="string"&&e.find(t=>t.toLowerCase().startsWith("stable")))}static isStringInteger(e){return typeof e=="number"?Math.round(e)===e:parseInt(e,10).toString()===e}static isValidDate(e){return e instanceof Date&&!isNaN(e)}static getStyle(e,...t){const s={};for(let r=0;r{if(typeof t[r][o]=="function")s[o]=t[r][o](e);else if(typeof t[r][o]=="object"){const M=t[r][o];s[o]={},Object.keys(M).forEach(a=>{typeof M[a]=="function"?s[o][a]=M(e):(M[a]||M[a]===0)&&(s[o][a]=M[a])})}else(t[r][o]||t[r][o]===0)&&(s[o]=t[r][o])});return s}}const Er={buttonIcon:{marginRight:8}};class Ag extends n.Component{isIFrame;constructor(e){super(e);const t=e.newReact===void 0?!0:e.newReact;if(e.isIFrame!==void 0)this.isIFrame=e.isIFrame;else try{this.isIFrame=!t&&window.self!==window.top}catch{this.isIFrame=!t}}render(){const e=this.props.noTextOnButtons,t={borderRadius:this.props.theme.saveToolbar.button.borderRadius||3,height:this.props.theme.saveToolbar.button.height||32},s={bottom:this.isIFrame?38:0,left:this.props.paddingLeft||0,right:0,position:"absolute",background:this.props.theme.saveToolbar.background};return this.props.dense&&(s.minHeight=48),this.props.error&&(t.border="1px solid red"),n.createElement(ba,{style:s},n.createElement(Ct,{variant:"extended","aria-label":"Save",disabled:!this.props.changed||this.props.error,onClick:()=>this.props.onSave(!1),style:t},n.createElement(Br,{style:e?void 0:Er.buttonIcon}),!e&&D.t("ra_Save")),n.createElement(Ct,{variant:"extended","aria-label":"Save and close",disabled:!this.props.changed||this.props.error,onClick:()=>this.props.onSave(!0),style:{...t,marginLeft:10}},n.createElement(Br,{style:e?void 0:Er.buttonIcon}),e?"+":D.t("ra_Save and close"),e&&n.createElement(ge,null)),n.createElement("div",{style:{flexGrow:1}}),n.createElement(Ct,{variant:"extended","aria-label":"Close",onClick:()=>this.props.onClose(),style:t},n.createElement(ge,{style:e?void 0:Er.buttonIcon}),!e&&D.t("ra_Close")))}}const On={suppress:{fontSize:12},suppressRoot:{marginTop:"16px"}};class Jc extends ze{constructor(e){if(super(e),!this.props.dialogName&&this.props.suppressQuestionMinutes)throw new Error("dialogName required if suppressQuestionMinutes used");let t=!1;this.props.suppressQuestionMinutes&&(t=parseInt((window._localStorage||window.localStorage).getItem(this.props.dialogName),10)||0,t?Date.now()>t&&((window._localStorage||window.localStorage).removeItem(this.props.dialogName),t=!1):t=!1),this.state={suppress:t}}handleOk(){this.state.suppress&&(window._localStorage||window.localStorage).setItem(this.props.dialogName,Date.now()+(this.props.suppressQuestionMinutes||2)*6e4),this.props.onClose&&this.props.onClose(!0)}handleCancel(){this.props.onClose&&this.props.onClose(!1)}render(){return typeof this.state.suppress=="number"?(setTimeout(()=>this.props.onClose&&this.props.onClose(!0),100),null):n.createElement(de,{open:!0,maxWidth:"md",fullWidth:this.props.fullWidth!==void 0?this.props.fullWidth:!0,onClose:(e,t)=>{t!=="backdropClick"&&t!=="escapeKeyDown"&&this.handleCancel()},"aria-labelledby":"ar_confirmation_dialog_title","aria-describedby":"ar_confirmation_dialog_description"},n.createElement(he,{id:"ar_confirmation_dialog_title"},this.props.title||D.t("ra_Are you sure?")),n.createElement(Ae,null,n.createElement(Jt,{id:"ar_confirmation_dialog_description"},this.props.icon||null,this.props.text,this.props.suppressQuestionMinutes?n.createElement("br",null):null,this.props.suppressQuestionMinutes?n.createElement(H,{sx:{"& .FormControlLabel-label":On.suppress,"&.FormControlLabel-root":On.suppressRoot},control:n.createElement(ne,{id:`ar_dialog_confirm_suppress_${this.props.dialogName||""}`,checked:!!this.state.suppress,onChange:()=>this.setState({suppress:!this.state.suppress})}),label:this.props.suppressText||D.t("ra_Suppress question for next %s minutes",(this.props.suppressQuestionMinutes||2).toString())}):null)),n.createElement(me,null,n.createElement(X,{id:`ar_dialog_confirm_ok_${this.props.dialogName||""}`,variant:"contained",onClick:()=>this.handleOk(),color:"primary",autoFocus:!0,startIcon:n.createElement(Ue,null)},this.props.ok||D.t("ra_Ok")),n.createElement(X,{id:`ar_dialog_confirm_cancel_${this.props.dialogName||""}`,variant:"contained",onClick:()=>this.handleCancel(),color:"grey",startIcon:n.createElement(ge,null)},this.props.cancel||D.t("ra_Cancel"))))}}class Bc extends ze{handleOk(){this.props.onClose&&this.props.onClose()}render(){return n.createElement(de,{open:!0,maxWidth:"sm",fullWidth:this.props.fullWidth!==void 0?this.props.fullWidth:!0,onClose:()=>this.handleOk(),"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description"},n.createElement(he,{id:"ar_alert_dialog_title"},this.props.title||D.t("ra_Error")),n.createElement(Ae,null,n.createElement(Jt,{id:"ar_alert_dialog_description"},this.props.text||D.t("ra_Unknown error!"))),n.createElement(me,null,n.createElement(X,{id:"ar_dialog_error_ok",variant:"contained",onClick:()=>this.handleOk(),color:"primary",autoFocus:!0,startIcon:n.createElement(Ue,null)},D.t("ra_Ok"))))}}const mg="Actions",pg="Append",Og="Cancel",Eg="Categories",_g="Checked",fg="Delete",Sg="Close",xg="Commercial",kg="Configure",Yg="Connected",Qg="Continue",Ug="Copied",vg="Create",bg="Crop",$g="Delete",Pg="Delete",Wg="Discard",Rg="Disconnected",Jg="Error",Bg="Filter",Gg="Friday",Fg="Latitude",Hg="Logout",Vg="Longitude",Zg="Message",Xg="Monday",Kg="Name",qg="Objects",eT="Ok",tT="Product",sT="Rename/Move/Copy",iT="Repeat",rT="Replace",oT="Root",MT="Saturday",nT="Save",aT="Selected",cT="States",uT="Sunday",lT="Thursday",NT="Timestamp",LT="Tuesday",jT="Update",gT="Valid till",TT="Value",yT="Version",DT="Wednesday",dT="Width",zT="Yes",IT="different",hT="Everyone can read object",wT="Everyone can read state",CT="Everyone can write object",AT="Everyone can write state",mT="Group can read object",pT="Group can read state",OT="Group can write object",ET="Group can write state",_T="Owner can read object",fT="Owner can read state",ST="Owner can write object",xT="Owner can write state",kT="Buttons",YT="Changed from",QT="close",UT="Create boolean state",vT="Create channel",bT="Create device",$T="Create number state",PT="Create state",WT="Create string state",RT="days",JT="Fr",BT="Mo",GT="Sa",FT="Su",HT="Th",VT="Tu",ZT="We",XT="Expert mode",KT="FALSE",qT="All files",ey="Audio",ty="Code/JSON",sy="Images",iy="Text",ry="Video",oy="Settings",My="without",ny="Function",ay="ID",cy="Name",uy="Role",ly="Room",Ny="Type",Ly="Invalid settings",jy="Last change",gy="locally",Ty="Apr",yy="Aug",Dy="Dec",dy="Feb",zy="Jan",Iy="Jul",hy="Jun",wy="Mai",Cy="Mar",Ay="Nov",my="Oct",py="Sep",Oy="Apr",Ey="Aug",_y="Dec",fy="Feb",Sy="Jan",xy="Jul",ky="Jun",Yy="Mai",Qy="Mar",Uy="Nov",vy="Oct",by="Sep",$y="none",Py="Object changed by",Wy="Object last changed at",Ry="Settings from other adapter %s",Jy="Quality code",By="repeat",Gy='To select folder, just hold the key "shift" by clicking the folder.',Fy="Show all",Hy="State changed by",Vy="Object changed from",Zy="Timestamp",Xy="Acknowledged",Ky="Comment",qy="Copy the state value",eD="Hold Cltr/⌘ key to open the link",tD="Custom settings",sD="Delete object",iD="Edit object",rD="Edit the state value",oD="Expires in",MD="From",nD="Last changed",aD="Quality",cD="Time stamp",uD="User",lD="Value",ND="TRUE",LD="Value",jD="Warning: The CRON job will run every minute during the specified period!",gD="Warning: The CRON job will run every second during the specified period!",TD="CRON",yD="Date",DD="Dates",dD="Day",zD="Day of week",ID="Every",hD="every N days",wD="every Nth day of the week",CD="every N day of week",AD="every N hours",mD="every N minutes",pD="every N months",OD="every N seconds",ED="every day",_D="every day of the week",fD="every day of the week",SD="every hour",xD="every minute",kD="every month",YD="every second",QD="From",UD="Hours",vD="Interval",bD="Interval between",$D="Invalid CRON",PD="Minutes",WD="months",RD="Once",JD="Period",BD="Seconds",GD="Simple",FD="Specific time",HD="specific dates",VD="specific day(s) of the week",ZD="specific day of weeks",XD="specific hours",KD="specific minutes",qD="specific months",ed="specific seconds",td="Time",sd="To",id="Wizard",rd="all",od="Astro day",Md="Astro night",nd="Dawn",ad="Dusk",cd="Golden hour",ud="Golden hour end",ld="Nadir",Nd="Nautical dawn",Ld="Nautical dusk",jd="Night",gd="Night end",Td="Solar noon",yd="Sunrise",Dd="Sunrise end",dd="Sunset",zd="Sunset start",Id="at",hd="at %s",wd="every day",Cd="every hour",Ad="every minute",md="every month",pd="every %s day",Od="every %s hours",Ed="every %s minutes",_d="every %s months",fd="every %s weeks",Sd="every %s years",xd="every week",kd="every year",Yd="from %s to %s",Qd="never",Ud="on %s of %s",vd="on %s and %s of",bd="on every date of",$d="%s",Pd="%s and %s",Wd="on %s",Rd="on %s and %s",Jd="on weekends",Bd="on working days",Gd="will ne be not executed any more, because start is in the past",Fd="on %s",Hd="from %s",Vd="Execute from to",Zd="to %s",Xd="every",Kd="Specific time",qd="from",e1="From-to",t1="Interval time",s1="invert",i1="none",r1="on",o1="Period",M1="Daily",n1="Dates",a1="Day",c1="Every",u1="Every day",l1="Every month",N1="Every week",L1="Every year",j1="Hours",g1="Minutes",T1="month",y1="Monthly",D1="Once",d1="Specific months",z1="Week",I1="Weekdays",h1="Weekend",w1="Weekly",C1="Workdays",A1="Year",m1="Yearly",p1="Specific time",O1="Time",E1="to",_1="Valid",f1="from",S1="to",x1="Whole day",k1="every month",Y1={"ra_%s links from aliases":"%s links from aliases","ra_%s object(s) processed":"%s object(s) processed","ra_%s was imported":"%s was imported","ra_Accept license":"Accept license",ra_Actions:mg,"ra_Add new child object to selected parent":"Add new child object to selected parent","ra_Add objects tree from JSON file":"Add objects tree from JSON file","ra_Add row":"Add row","ra_Advanced options":"Advanced options","ra_All items are filtered out":"All items are filtered out","ra_All objects":"All objects",ra_Append:pg,"ra_Append %s entries or replace existing?":"Append %s entries or replace existing?","ra_Append or replace?":"Append or replace?","ra_Are you sure?":"Are you sure?","ra_Auto (no custom columns)":"Auto (no custom columns)","ra_Back to %s":"Back to %s","ra_Background image":"Background image",ra_Cancel:Og,"ra_Cannot add items with set filter":"Cannot add items with set filter","ra_Cannot decode license":"Cannot decode license","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"Cannot determine position: System settings are empty and GPS detection is disabled in browser",'ra_Cannot find "%s"':'Cannot find "%s"','ra_Cannot read "%s"':'Cannot read "%s"',"ra_Cannot read licenses: %s":"Cannot read licenses: %s","ra_Cannot retrieve options, as instance is offline":"Cannot retrieve options, as instance is offline","ra_Cannot update attribute, because not found in the object":"Cannot update attribute, because not found in the object","ra_Cannot upload":"Cannot upload",ra_Categories:Eg,"ra_Chained certificate":"Chained certificate","ra_Change color theme":"Change color theme","ra_Changed from":"Changed from","ra_Channel → State":"Channel → State","ra_Check license":"Check license",ra_Checked:_g,ra_Clear:fg,"ra_Clear filter":"Clear filter","ra_Clear icon":"Clear icon","ra_Click to show":"Click to show","ra_Clone current row":"Clone current row",ra_Close:Sg,"ra_Collapse all nodes":"Collapse all nodes","ra_Collapse one step node":"Collapse one level",ra_Commercial:xg,ra_Configure:kg,"ra_Configure visible columns":"Configure visible columns","ra_Confirm deletion of %s":"Confirm deletion of %s",ra_Connected:Yg,ra_Continue:Qg,ra_Copied:Ug,"ra_Copied %s":'Copied "%s"',"ra_Copy content":"Copy content",ra_Create:vg,"ra_Create alias":"Create alias","ra_Create folder":"Create folder","ra_Create new folder in %s":"Create new folder in %s",ra_Crop:bg,"ra_Define CRON...":"Define CRON...","ra_Define functions":"Define functions","ra_Define rooms":"Define rooms","ra_Define schedule":"Define schedule","ra_Define schedule...":"Define schedule...",ra_Del:$g,ra_Delete:Pg,"ra_Delete current row":"Delete current row","ra_Deselect all":"Unselect all","ra_Device → Channel → State":"Device → Channel → State","ra_Disable/Enable translation":"Disable/Enable translation",ra_Discard:Wg,ra_Disconnected:Rg,"ra_Do not ask for next 2 hours in this session":"Do not ask for next 2 hours in this session","ra_Do not export values of states":"Do not export values of states","ra_Do not use let's encrypt":"Do not use let's encrypt","ra_Docker is not available":"Docker is not available","ra_Docker is not installed or not running":"Docker is not installed or not running","ra_Double click to reset table layout":"Double click to reset table layout","ra_Drag 'n' drop some files here, or click to select files":"Drag 'n' drop some files here, or click to select files","ra_Drop file here":"Drop file here","ra_Drop the files here...":"Drop the file here...","ra_Duplicate name":"Duplicate name","ra_Edit ACL":"Edit ACL","ra_Edit alias":"Edit alias","ra_Edit custom config":"Edit custom config","ra_Edit full path":"Edit full path","ra_Edit function":"Edit function","ra_Edit object field":"Edit object field","ra_Edit role":"Edit role","ra_Edit room":"Edit room","ra_Edit value":"Edit value","ra_Enter the code from that page here":"Enter the code from that page here",ra_Error:Jg,"ra_Expand all nodes":"Expand all nodes","ra_Expand one step node":"Expand one level","ra_Expand/Collapse card":"Expand/Collapse card","ra_Export configuration section":"Export configuration section","ra_Export data to %s file":"Export data to %s file","ra_Failed to open JSON File":"Failed to open JSON File","ra_Fallback custom certificates":"Fallback custom certificates","ra_File is too big. Max %sk allowed. Try use SVG.":"File is too big. Max %sk allowed. Try use SVG.",ra_Filter:Bg,"ra_Filter and Data Actions":"Filter and Data Actions","ra_Filter files":"Filter files","ra_Folder name":"Folder name","ra_Folder → Channel → State":"Folder → Channel → State","ra_Folder → Device → Channel → State":"Folder → Device → Channel → State","ra_Folder → State":"Folder → State","ra_Folders always first":"Folders always first",ra_Friday:Gg,"ra_From file":"From file","ra_From text":"From text","ra_Get %s access":"Get %s access","ra_Good luck":"Good luck","ra_Hide empty folders":"Hide empty folders","ra_If no file will be created in the folder, it will disappear after the browser closed":"If no file will be created in the folder, it will disappear after the browser closed","ra_If the button above does not work, you can authorize manually this app by visiting this url":"If the button above does not work, you can authorize manually this app by visiting this url","ra_Import and add configuration section":"Import and add configuration section","ra_Import and replace configuration section":"Import and replace configuration section","ra_Import data from %s file":"Import data from %s file","ra_Import from %s":"Import from %s","ra_Instance %s is alive":"Instance %s is alive","ra_Instance %s is not alive":"Instance %s is not alive","ra_Instance is not alive":"Instance is not alive","ra_Invalid CRON":"Invalid CRON","ra_Invalid JSON":"Invalid JSON","ra_Invalid JSON file.":"Invalid JSON file.","ra_Invalid JSON format. Expected an array.":"Invalid JSON format. Expected an array.","ra_Invalid answer from server":"Invalid answer from server","ra_Invalid parent folder!":"Invalid parent folder!","ra_Invalid structure":"Invalid structure","ra_JSON editor":"JSON editor","ra_Last change":"Last change",ra_Latitude:Fg,"ra_License %s":"License %s","ra_License agreement":"License agreement","ra_License does not exist":"License does not exist","ra_License expired on %s":"License expired on %s",'ra_License for other product "%s"':'License for other product "%s"',"ra_License is for version %s, but required version is %s.":"License is for version %s, but required version is %s.","ra_License must be converted":"License must be converted to newer version. You can do it in your iobroker.net profile.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"License not found in the license manager. Do you want to update licenses from iobroker.net?","ra_Listen on all IPs":"Listen on all IPs","ra_Load configuration from file":"Load configuration from file",ra_Logout:Hg,ra_Longitude:Vg,'ra_May not trigger "updateLicenses"':'May not trigger "updateLicenses"',ra_Message:Zg,ra_Monday:Xg,"ra_Move down":"Move down","ra_Move up":"Move up",ra_Name:Kg,"ra_No data found in file":"No data found in file","ra_No one license found in license manager":"No one license found in license manager","ra_No response from admin":"No response from admin","ra_No response from the backend":"No response from the backend",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':'Non-experts may create new objects only in "0_userdata.0" or "alias.0".',"ra_Not a number":"Not a number",ra_Objects:qg,ra_Ok:eT,"ra_On weekdays":"On weekdays","ra_Only following structures of objects are available:":"Only following structures of objects are available:","ra_Only selected":"Only selected","ra_Owner group":"Owner group","ra_Owner user":"Owner user","ra_Passwords are not equal!":"Passwords are not equal!","ra_Place your files here or click here to open the browse dialog":"Place your files here or click here to open the browse dialog","ra_Please allow popups in your browser for this page!":"Please allow popups in your browser for this page!","ra_Please confirm":"Please confirm","ra_Please create license":"Please create license","ra_Please enter the license":"Please enter the license","ra_Please select file...":"Please select file...","ra_Please select object ID...":"Please select object ID...","ra_Port could be used by %s":"Port could be used by %s","ra_Port is already used by %s":"Port is already used by %s","ra_Press ENTER Key to add new item":"Press ENTER Key to add new item","ra_Private certificate":"Private certificate",ra_Product:tT,"ra_Public certificate":"Public certificate","ra_Quality code":"Quality","ra_Refresh tree":"Refresh tree","ra_Reload files":"Reload files",ra_Rename_Move_Copy:sT,"ra_Renew %s access":"Renew %s access",ra_Repeat:iT,ra_Replace:rT,"ra_Request timed out":"Request timed out","ra_Restrict to folder":"Restrict to folder",ra_Root:oT,ra_Saturday:MT,ra_Save:nT,"ra_Save and close":"Save and close","ra_Save configuration to file":"Save configuration to file","ra_Save objects tree as JSON file":"Save objects tree as JSON file","ra_Select all":"Select all","ra_Select color":"Select color","ra_Select predefined icon":"Select predefined icon","ra_Select type of export":"Select type of export",ra_Selected:aT,"ra_Selected %s object(s)":"Selected %s object(s)","ra_Serial number (UUID)":"Serial number (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':'Serial number (UUID) "%s" in license is for other device.',"ra_Session will expire in %s seconds. Continue?":"Session will expire in %s seconds. Continue?","ra_Show all folders":"Show all folders","ra_Show lines between rows":"Show lines between rows","ra_Show/Hide object descriptions":"Show/Hide object descriptions","ra_Show/hide filter input":"Show/hide filter input","ra_Some data are not stored. Discard?":"Some data are not stored. Discard?",ra_States:cT,"ra_Successfully authorized. Token valid till %s and will be automatically renewed.":"Successfully authorized. Token valid till %s and will be automatically renewed.","ra_Successfully authorized. Token valid till %s but it can expire as the instance is not running.":"Successfully authorized. Token valid till %s but it can expire as the instance is not running.","ra_Suitable license not found in license manager":"Suitable license not found in license manager",ra_Sunday:uT,"ra_Suppress question for next %s minutes":"Suppress question for next %s minutes","ra_System language":"System language","ra_Take browser position":"Take position from browser","ra_Take position from system settings":"Take position from system settings",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':'The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").',"ra_The page you are looking for was not found":"The page you are looking for was not found","ra_The schedule will be executed every minute. Are you sure?":"The schedule will be executed every minute. Are you sure?","ra_The schedule will be executed every second. Are you sure?":"The schedule will be executed every second. Are you sure?",ra_Thursday:lT,ra_Timestamp:NT,"ra_Toggle expert mode":"Toggle expert mode","ra_Toggle the states view":"Toggle the states view","ra_Toggle view mode":"Toggle view mode","ra_Too big":"Too big","ra_Too small":"Too small","ra_Transparent dialog":"Transparent dialog",ra_Tuesday:LT,"ra_Unknown error":"Unknown error","ra_Unknown error!":"Unknown error!",ra_Update:jT,"ra_Upload file":"Upload file","ra_Use all available let's encrypt certificates":"Use all available let's encrypt certificates","ra_Use iobroker.acme adapter for letsencrypt certificates":"Use iobroker.acme adapter for letsencrypt certificates","ra_Use system settings for position":"Use system settings for position","ra_Used system settings":"Used system settings","ra_User files":"User files",ra_ValidTill:gT,ra_Value:TT,ra_Version:yT,"ra_View file":"View file","ra_View: %s":"View: %s",ra_Wednesday:DT,ra_Width:dT,"ra_YAML editor":"YAML editor",ra_Yes:zT,"ra_You can export all objects or just the selected branch.":"You can export all objects or just the selected branch.","ra_You can filter entries by entering here some text":"You can filter entries by entering here some text","ra_You can use * as wildcard":"You can use * as wildcard",ra___different__:IT,ra_aclEveryone_read_object:hT,ra_aclEveryone_read_state:wT,ra_aclEveryone_write_object:CT,ra_aclEveryone_write_state:AT,ra_aclGroup_read_object:mT,ra_aclGroup_read_state:pT,ra_aclGroup_write_object:OT,ra_aclGroup_write_state:ET,ra_aclOwner_read_object:_T,ra_aclOwner_read_state:fT,ra_aclOwner_write_object:ST,ra_aclOwner_write_state:xT,ra_buttons:kT,ra_changedFrom:YT,ra_close:QT,ra_create_boolean_state:UT,ra_create_channel:vT,ra_create_device:bT,ra_create_number_state:$T,ra_create_state:PT,ra_create_string_state:WT,ra_daysShortText:RT,ra_dow_Fr:JT,ra_dow_Mo:BT,ra_dow_Sa:GT,ra_dow_Su:FT,ra_dow_Th:HT,ra_dow_Tu:VT,ra_dow_We:ZT,ra_expertMode:XT,ra_false:KT,ra_fileType_all:qT,ra_fileType_audio:ey,ra_fileType_code:ty,ra_fileType_images:sy,ra_fileType_txt:iy,ra_fileType_video:ry,"ra_fileType_video,":"Video",ra_filter_customs:oy,ra_filter_customs_without:My,ra_filter_func:ny,ra_filter_id:ay,ra_filter_name:cy,ra_filter_role:uy,ra_filter_room:ly,ra_filter_type:Ny,"ra_import data from %s file":"Import data from %s file",ra_invalidConfig:Ly,ra_lastChange:jy,ra_locally:gy,ra_month_Apr:Ty,ra_month_Aug:yy,ra_month_Dec:Dy,ra_month_Feb:dy,ra_month_Jan:zy,ra_month_Jul:Iy,ra_month_Jun:hy,ra_month_Mai:wy,ra_month_Mar:Cy,ra_month_Nov:Ay,ra_month_Oct:my,ra_month_Sep:py,ra_months_Apr:Oy,ra_months_Aug:Ey,ra_months_Dec:_y,ra_months_Feb:fy,ra_months_Jan:Sy,ra_months_Jul:xy,ra_months_Jun:ky,ra_months_Mai:Yy,ra_months_Mar:Qy,ra_months_Nov:Uy,ra_months_Oct:vy,ra_months_Sep:by,"ra_no confirm for 5 mins":"no confirm for 5 mins",ra_none:$y,ra_object_changed_by:Py,ra_object_changed_by_user:Wy,ra_otherConfig:Ry,ra_qualityCode:Jy,ra_repeat:By,ra_select_folder_hint:Gy,ra_show_all:Fy,ra_state_changed_by:Hy,ra_state_changed_from:Vy,ra_timestamp:Zy,ra_tooltip_ack:Xy,ra_tooltip_comment:Ky,ra_tooltip_copyState:qy,ra_tooltip_ctrlForLink:eD,ra_tooltip_customConfig:tD,ra_tooltip_deleteObject:sD,ra_tooltip_editObject:iD,ra_tooltip_editState:rD,ra_tooltip_expire:oD,ra_tooltip_from:MD,ra_tooltip_lc:nD,ra_tooltip_quality:aD,ra_tooltip_ts:cD,ra_tooltip_user:uD,ra_tooltip_value:lD,ra_true:ND,"ra_use seconds":"use seconds",ra_val:LD,"ra_via internet":"via internet",ra_warning_every_minute:jD,ra_warning_every_second:gD,sc_cron:TD,sc_date:yD,sc_dates:DD,sc_dow:dD,sc_dows:zD,sc_every:ID,sc_everyN_dates:hD,sc_everyN_dow:wD,sc_everyN_dows:CD,sc_everyN_hours:AD,sc_everyN_minutes:mD,sc_everyN_months:pD,sc_everyN_seconds:OD,sc_every_dates:ED,sc_every_dow:_D,sc_every_dows:fD,sc_every_hours:SD,sc_every_minutes:xD,sc_every_months:kD,sc_every_seconds:YD,sc_from:QD,sc_hours:UD,sc_interval:vD,sc_intervalBetween:bD,sc_invalid_cron:$D,sc_minutes:PD,sc_months:WD,sc_once:RD,sc_period:JD,sc_seconds:BD,sc_simple:GD,sc_specific:FD,sc_specific_dates:HD,sc_specific_dow:VD,sc_specific_dows:ZD,sc_specific_hours:XD,sc_specific_minutes:KD,sc_specific_months:qD,sc_specific_seconds:ed,sc_time:td,sc_to:sd,sc_wizard:id,sch_all:rd,sch_astroDay:od,sch_astroNight:Md,sch_astro_dawn:nd,sch_astro_dusk:ad,sch_astro_goldenHour:cd,sch_astro_goldenHourEnd:ud,sch_astro_nadir:ld,sch_astro_nauticalDawn:Nd,sch_astro_nauticalDusk:Ld,sch_astro_night:jd,sch_astro_nightEnd:gd,sch_astro_solarNoon:Td,sch_astro_sunrise:yd,sch_astro_sunriseEnd:Dd,sch_astro_sunset:dd,sch_astro_sunsetStart:zd,sch_at:Id,sch_desc_atTime:hd,sch_desc_everyDay:wd,sch_desc_everyHour:Cd,sch_desc_everyMinute:Ad,sch_desc_everyMonth:md,sch_desc_everyNDay:pd,sch_desc_everyNHours:Od,sch_desc_everyNMinutes:Ed,sch_desc_everyNMonths:_d,sch_desc_everyNWeeks:fd,sch_desc_everyNYears:Sd,sch_desc_everyWeek:xd,sch_desc_everyYear:kd,sch_desc_intervalFromTo:Yd,sch_desc_never:Qd,sch_desc_onDate:Ud,sch_desc_onDates:vd,sch_desc_onEveryDate:bd,sch_desc_onMonth:$d,sch_desc_onMonths:Pd,sch_desc_onWeekday:Wd,sch_desc_onWeekdays:Rd,sch_desc_onWeekends:Jd,sch_desc_onWorkdays:Bd,sch_desc_onceInPast:Gd,sch_desc_once_on:Fd,sch_desc_validFrom:Hd,sch_desc_validFromTo:Vd,sch_desc_validTo:Zd,sch_every:Xd,sch_exactTime:Kd,sch_from:qd,sch_fromTo:e1,sch_intervalTime:t1,sch_invert:s1,sch_no_one:i1,sch_on:r1,sch_period:o1,sch_periodDaily:M1,sch_periodDates:n1,sch_periodDay:a1,sch_periodEvery:c1,sch_periodEveryDay:u1,sch_periodEveryMonth:l1,sch_periodEveryWeek:N1,sch_periodEveryYear:L1,sch_periodHours:j1,sch_periodMinutes:g1,sch_periodMonth:T1,sch_periodMonthly:y1,sch_periodOnce:D1,sch_periodSpecificMonths:d1,sch_periodWeek:z1,sch_periodWeekdays:I1,sch_periodWeekend:h1,sch_periodWeekly:w1,sch_periodWorkdays:C1,sch_periodYear:A1,sch_periodYearly:m1,sch_specificTime:p1,sch_time:O1,sch_to:E1,sch_valid:_1,sch_validFrom:f1,sch_validTo:S1,sch_wholeDay:x1,sch_yearEveryMonth:k1},Q1="Aktionen",U1="Anhängen",v1="Abbrechen",b1="Kategorien",$1="Geprüft",P1="Löschen",W1="Schließen",R1="Kommerziell",J1="Konfigurieren",B1="Verbunden",G1="Weitermachen",F1="Kopiert",H1="Erstellen",V1="Ernte",Z1="Entf",X1="Löschen",K1="Verwerfen",q1="Getrennt",ez="Fehler",tz="Filter",sz="Freitag",iz="Breite",rz="Ausloggen",oz="Längengrad",Mz="Meldung",nz="Montag",az="Name",cz="Objekte",uz="OK",lz="Produkt",Nz="Umbenennen/Verschieben/Kopieren",Lz="Wiederholen",jz="Ersetzen",gz="Anfang",Tz="Samstag",yz="Speichern",Dz="Ausgewählt",dz="Zustände",zz="Sonntag",Iz="Donnerstag",hz="Zeitstempel",wz="Dienstag",Cz="Aktualisieren",Az="Gültig bis",mz="Wert",pz="Ausführung",Oz="Mittwoch",Ez="Breite",_z="Ja",fz="unterschiedlich",Sz="Jeder kann Objekt lesen",xz="Jeder kann Zustand lesen",kz="Jeder kann ein Objekt schreiben",Yz="Jeder kann Zustand schreiben",Qz="Gruppe kann Objekt lesen",Uz="Gruppe kann Status lesen",vz="Gruppe kann Objekt schreiben",bz="Gruppe kann Status schreiben",$z="Besitzer kann Objekt lesen",Pz="Besitzer kann Zustand lesen",Wz="Besitzer kann Objekt schreiben",Rz="Besitzer kann Zustand schreiben",Jz="Tasten",Bz="Geändert von",Gz="Schließen",Fz="Booleschen Zustand erstellen",Hz="Kanal erstellen",Vz="Gerät erstellen",Zz="Nummern-Zustand erstellen",Xz="Zustand erstellen",Kz="String-Zustand erstellen",qz="T.",eI="Fr",tI="Mo",sI="Sa",iI="So",rI="Do",oI="Di",MI="Mi",nI="Expertenmodus",aI="FALSCH",cI="Alle Dateien",uI="Audio",lI="Code/JSON",NI="Bilder",LI="Text",jI="Video",gI="Einstellungen",TI="ohne",yI="Funktion",DI="ID",dI="Name",zI="Rolle",II="Raum",hI="Typ",wI="Ungültige Einstellungen",CI="Letzte Änderung",AI="örtlich",mI="Apr",pI="Aug",OI="Dez",EI="Feb",_I="Jan",fI="Jul",SI="Jun",xI="Mai",kI="Mär",YI="Nov",QI="Okt",UI="Sep",vI="Apr",bI="Aug",$I="Dez",PI="Feb",WI="Jan",RI="Jul",JI="Jun",BI="Mai",GI="Mär",FI="Nov",HI="Okt",VI="Sep",ZI="kein",XI="Objekt geändert von",KI="Objekt zuletzt geändert um",qI="Einstellungen von anderen Adaptern %s",eh="Qualitätscode",th="wiederholen",sh='Um einen Ordner auszuwählen, halten Sie einfach die Taste "Shift" gedrückt, indem Sie auf den Ordner klicken.',ih="Alle anzeigen",rh="Zustand geändert durch",oh="Objekt geändert von",Mh="Zeitstempel",nh="Bestätigt",ah="Kommentar",ch="Statuswert kopieren",uh="Strg/⌘-Taste gedrückt halten, um den Link zu öffnen",lh="Benutzerdefinierte Einstellungen",Nh="Objekt löschen",Lh="Objekt bearbeiten",jh="Statuswert bearbeiten",gh="Läuft ab in",Th="Von",yh="Zuletzt geändert",Dh="Qualität",dh="Zeitstempel",zh="Benutzer",Ih="Wert",hh="WAHR",wh="Wert",Ch="Achtung: Der CRON-Job wird im angegebenen Zeitraum jede Minute ausgeführt!",Ah="Achtung: Der CRON-Job wird im angegebenen Zeitraum jede Sekunde ausgeführt!",mh="CRON",ph="Datum",Oh="Tage",Eh="Tag",_h="Wochentage",fh="Jeden",Sh="alle N Tage",xh="jeden x-ten Tag der Woche",kh="alle N Wochentage",Yh="alle N Stunden",Qh="alle N Minuten",Uh="alle N Monate",vh="alle N Sekunden",bh="jeden Tag",$h="jeden Tag der Woche",Ph="jeden Tag der Woche",Wh="jede Stunde",Rh="jede Minute",Jh="jeden Monat",Bh="jede Sekunde",Gh="Von",Fh="Stunden",Hh="Intervall",Vh="Intervall zwischen",Zh="Ungültiger CRON",Xh="Minuten",Kh="Monate",qh="Einmal",ew="Zeitraum",tw="Sekunden",sw="Einfach",iw="Bestimmte Zeit",rw="bestimmte Tage",ow="bestimmte(r) Tag(e) der Woche",Mw="bestimmten Wochentag",nw="bestimmte Stunden",aw="bestimmte Minuten",cw="bestimmte Monate",uw="bestimmte Sekunden",lw="Zeit",Nw="Bis",Lw="Wizard",jw="alle",gw="Astronomischer Tag",Tw="Astronomische Nacht",yw="Morgendämmerung",Dw="Abenddämmerung",dw="Goldene Stunde",zw="Goldene Stundenende",Iw="Nadir",hw="Nautische Morgendämmerung",ww="Nautische Abenddämmerung",Cw="Nacht",Aw="Nachtende",mw="Sonnenmittag",pw="Sonnenaufgang",Ow="Sonnenaufgangende",Ew="Sonnenuntergang",_w="Sonnenuntergangstart",fw="am",Sw="um %s",xw="jeden Tag",kw="jede Stunde",Yw="jede Minute",Qw="jeden Monat",Uw="jeden %s Tag",vw="alle %s Stunden",bw="alle %s Minuten",$w="alle %s Monate",Pw="alle %s Wochen",Ww="alle %s Jahre",Rw="jede Woche",Jw="jedes Jahr",Bw="von %s bis %s",Gw="noch nie",Fw="am %s von %s",Hw="am %s und %s von",Vw="an jedem Datum von",Zw="%s",Xw="%s und %s",Kw="auf %s",qw="auf %s und %s",eC="an Wochenenden",tC="an Werktagen",sC="wird nicht mehr ausgeführt, weil der Start in der Vergangenheit ist",iC="auf %s",rC="von %s",oC="Ausführen von bis",MC="bis %s",nC="jeden",aC="Bestimmte Zeit",cC="von",uC="Von bis",lC="Zeitintervall",NC="umkehren",LC="keiner",jC="am",gC="Zeitraum",TC="Täglich",yC="Daten",DC="Tag",dC="Jeden",zC="Jeden Tag",IC="Jeden Monat",hC="Jede Woche",wC="Jedes Jahr",CC="Stunden",AC="Minuten",mC="Monat",pC="Monatlich",OC="Einmal",EC="Bestimmte Monate",_C="Woche",fC="Wochentage",SC="Wochenende",xC="Wöchentlich",kC="Arbeitstage",YC="Jahr",QC="Jährlich",UC="Bestimmte Zeit",vC="Zeit",bC="zu",$C="Gültigkeit",PC="von",WC="bis",RC="Ganzer Tag",JC="jeden Monat",BC={"ra_%s links from aliases":"%s Links von Aliasen","ra_%s object(s) processed":"%s Objekt(e) verarbeitet","ra_%s was imported":"%s wurde importiert","ra_Accept license":"Lizenz akzeptieren",ra_Actions:Q1,"ra_Add new child object to selected parent":"Dem ausgewählten übergeordneten Objekt ein neues untergeordnetes Objekt hinzufügen","ra_Add objects tree from JSON file":"Objektbaum aus JSON-Datei hinzufügen","ra_Add row":"Zeile hinzufügen","ra_Advanced options":"Erweiterte Optionen","ra_All items are filtered out":"Alle Elemente sind herausgefiltert","ra_All objects":"Alle Objekte",ra_Append:U1,"ra_Append %s entries or replace existing?":"%s Einträge anhängen oder vorhandene ersetzen?","ra_Append or replace?":"Anhängen oder ersetzen?","ra_Are you sure?":"Bist du sicher?","ra_Auto (no custom columns)":"Auto (keine benutzerdefinierten Spalten)","ra_Back to %s":"Zurück zu %s","ra_Background image":"Hintergrundbild",ra_Cancel:v1,"ra_Cannot add items with set filter":"Elemente mit festgelegtem Filter können nicht hinzugefügt werden","ra_Cannot decode license":"Lizenz kann nicht entschlüsselt werden","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"Position kann nicht bestimmt werden: Die Systemeinstellungen sind leer und die GPS-Erkennung ist im Browser deaktiviert",'ra_Cannot find "%s"':'Kann "%s" nicht finden','ra_Cannot read "%s"':'"%s" kann nicht gelesen werden',"ra_Cannot read licenses: %s":"Lizenzen können nicht gelesen werden: %s","ra_Cannot retrieve options, as instance is offline":"Optionen können nicht abgerufen werden, da die Instanz offline ist","ra_Cannot update attribute, because not found in the object":"Attribut kann nicht aktualisiert werden, da es nicht im Objekt gefunden wurde","ra_Cannot upload":"Kann nicht hochladen",ra_Categories:b1,"ra_Chained certificate":"Chained Zertifikat","ra_Change color theme":"Farbthema ändern","ra_Changed from":"Geändert von","ra_Channel → State":"Kanal → Zustand","ra_Check license":"Lizenz prüfen",ra_Checked:$1,ra_Clear:P1,"ra_Clear filter":"Filter löschen","ra_Clear icon":"Symbol löschen","ra_Click to show":"Zum Anzeigen klicken","ra_Clone current row":"Aktuelle Zeile klonen",ra_Close:W1,"ra_Collapse all nodes":"Alle Knoten zuklappen","ra_Collapse one step node":"Eine Ebene zuklappen",ra_Commercial:R1,ra_Configure:J1,"ra_Configure visible columns":"Spalten Konfigurieren","ra_Confirm deletion of %s":"Das Löschen von %s bestätigen",ra_Connected:B1,ra_Continue:G1,ra_Copied:F1,"ra_Copied %s":'"%s" kopiert',"ra_Copy content":"Inhalte kopieren",ra_Create:H1,"ra_Create alias":"Alias erstellen","ra_Create folder":"Ordner erstellen","ra_Create new folder in %s":'Neuen Ordner in "%s" erstellen',ra_Crop:V1,"ra_Define CRON...":"Definieren Sie CRON ...","ra_Define functions":"Funktionen definieren","ra_Define rooms":"Räume definieren","ra_Define schedule":"Zeitplan definieren","ra_Define schedule...":"Zeitplan definieren ...",ra_Del:Z1,ra_Delete:X1,"ra_Delete current row":"Aktuelle Zeile löschen","ra_Deselect all":"Alles abwählen","ra_Device → Channel → State":"Gerät → Kanal → Zustand","ra_Disable/Enable translation":"Übersetzung deaktivieren/aktivieren",ra_Discard:K1,ra_Disconnected:q1,"ra_Do not ask for next 2 hours in this session":"Fragen Sie nicht nach den nächsten 2 Stunden in dieser Sitzung","ra_Do not export values of states":"Keine Zustandswerte exportieren","ra_Do not use let's encrypt":"Let's encrypt nicht verwenden","ra_Docker is not available":"Docker ist nicht verfügbar","ra_Docker is not installed or not running":"Docker ist nicht installiert oder läuft nicht","ra_Double click to reset table layout":"Doppelklicken, um das Tabellenlayout zurückzusetzen","ra_Drag 'n' drop some files here, or click to select files":"Die Datei hierher ziehen und ablegen, oder klicken, um die Datei auszuwählen","ra_Drop file here":"Datei hier ablegen","ra_Drop the files here...":"Datei hier ablegen...","ra_Duplicate name":"Doppelter Name","ra_Edit ACL":"ACL bearbeiten","ra_Edit alias":"Alias bearbeiten","ra_Edit custom config":"Bearbeite Benutzerdefinierte Konfiguration","ra_Edit full path":"Vollständigen Pfad bearbeiten","ra_Edit function":"Funktion bearbeiten","ra_Edit object field":"Objektfeld bearbeiten","ra_Edit role":"Rolle bearbeiten","ra_Edit room":"Raum bearbeiten","ra_Edit value":"Wert bearbeiten","ra_Enter the code from that page here":"Geben Sie den Code von dieser Seite hier ein",ra_Error:ez,"ra_Expand all nodes":"Alle Knoten aufklappen","ra_Expand one step node":"Eine Ebene aufklappen","ra_Expand/Collapse card":"Karte ein-/ausklappen","ra_Export configuration section":"Konfigurationsabschnitt exportieren","ra_Export data to %s file":"Daten in %s-Datei exportieren","ra_Failed to open JSON File":"Fehler beim Öffnen der JSON-Datei","ra_Fallback custom certificates":"Benutzerdefinierte Fallback-Zertifikate","ra_File is too big. Max %sk allowed. Try use SVG.":"Datei ist zu groß. Max %sk erlaubt. Versuchen Sie, SVG zu verwenden.",ra_Filter:tz,"ra_Filter and Data Actions":"Filter- und Datenaktionen","ra_Filter files":"Dateien filtern","ra_Folder name":"Ordnernamen","ra_Folder → Channel → State":"Ordner → Kanal → Zustand","ra_Folder → Device → Channel → State":"Ordner → Gerät → Kanal → Zustand","ra_Folder → State":"Ordner → Zustand","ra_Folders always first":"Ordner immer zuerst",ra_Friday:sz,"ra_From file":"Aus der Datei","ra_From text":"Aus dem Text","ra_Get %s access":"%s Zugriff erhalten","ra_Good luck":"Viel Glück","ra_Hide empty folders":"Leere Ordner ausblenden","ra_If no file will be created in the folder, it will disappear after the browser closed":"Wenn im Ordner keine Datei erstellt wird, verschwindet dieser nach dem Schließen des Browsers","ra_If the button above does not work, you can authorize manually this app by visiting this url":"Wenn die Schaltfläche oben nicht funktioniert, können Sie diese App manuell autorisieren, indem Sie diese URL besuchen","ra_Import and add configuration section":"Konfigurationsabschnitt importieren und hinzufügen","ra_Import and replace configuration section":"Konfigurationsabschnitt importieren und ersetzen","ra_Import data from %s file":"Daten aus %s-Datei importieren","ra_Import from %s":"Von %s importieren","ra_Instance %s is alive":"Instanz %s ist aktiv","ra_Instance %s is not alive":"Instanz %s ist nicht aktiv","ra_Instance is not alive":"Instanz ist nicht am Leben","ra_Invalid CRON":"Ungültiger CRON","ra_Invalid JSON":"Ungültiges JSON","ra_Invalid JSON file.":"Ungültige JSON-Datei.","ra_Invalid JSON format. Expected an array.":"Ungültiges JSON-Format. Array erwartet.","ra_Invalid answer from server":"Ungültige Antwort vom Server","ra_Invalid parent folder!":"Ungültiger übergeordneter Ordner!","ra_Invalid structure":"Ungültige Struktur","ra_JSON editor":"JSON-Editor","ra_Last change":"Letzte Änderung",ra_Latitude:iz,"ra_License %s":"Lizenz %s","ra_License agreement":"Lizenzvereinbarung","ra_License does not exist":"Lizenz existiert nicht","ra_License expired on %s":"Lizenz am %s abgelaufen",'ra_License for other product "%s"':"Lizenz für anderes Produkt „%s“","ra_License is for version %s, but required version is %s.":"Lizenz ist für Version %s, aber erforderliche Version ist %s.","ra_License must be converted":"Die Lizenz muss auf eine neuere Version konvertiert werden. Sie können dies in Ihrem iobroker.net-Profil tun.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"Lizenz im Lizenzmanager nicht gefunden. Möchten Sie Lizenzen von iobroker.net aktualisieren?","ra_Listen on all IPs":"Zugriff von allen IPs zulassen","ra_Load configuration from file":"Konfiguration aus Datei laden",ra_Logout:rz,ra_Longitude:oz,'ra_May not trigger "updateLicenses"':"Löst möglicherweise nicht „updateLicenses“ aus",ra_Message:Mz,ra_Monday:nz,"ra_Move down":"Nach unten","ra_Move up":"Nach oben",ra_Name:az,"ra_No data found in file":"Keine Daten in der Datei gefunden","ra_No one license found in license manager":"Im Lizenzmanager wurde keine Lizenz gefunden","ra_No response from admin":"Keine Antwort vom Administrator","ra_No response from the backend":"Keine Antwort vom Backend",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':'Nicht-Experten dürfen neue Objekte nur in "0_userdata.0" oder "alias.0" erstellen.',"ra_Not a number":"Keine Nummer",ra_Objects:cz,ra_Ok:uz,"ra_On weekdays":"An Wochentagen","ra_Only following structures of objects are available:":"Es stehen nur folgende Objektstrukturen zur Verfügung:","ra_Only selected":"Nur ausgewählt","ra_Owner group":"Besitzergruppe","ra_Owner user":"Besitzer Benutzer","ra_Passwords are not equal!":"Passwörter sind nicht gleich!","ra_Place your files here or click here to open the browse dialog":"Die Dateien hier platzieren oder hier klicken, um den Suchdialog zu öffnen","ra_Please allow popups in your browser for this page!":"Bitte lassen Sie Popups für diese Seite in Ihrem Browser zu!","ra_Please confirm":"Bitte bestätigen","ra_Please create license":"Bitte erstellen Sie eine Lizenz","ra_Please enter the license":"Bitte die Lizenz eingeben","ra_Please select file...":"Bitte Datei auswählen...","ra_Please select object ID...":"Bitte Objekt-ID auswählen...","ra_Port could be used by %s":"Port könnte von %s verwendet werden","ra_Port is already used by %s":"Port wird bereits von %s verwendet","ra_Press ENTER Key to add new item":"Die Eingabetaste drücken, um ein neues Element hinzuzufügen","ra_Private certificate":"Privates Zertifikat",ra_Product:lz,"ra_Public certificate":"Öffentliches Zertifikat","ra_Quality code":"Qualität","ra_Refresh tree":"Baum aktualisieren","ra_Reload files":"Dateien neu laden",ra_Rename_Move_Copy:Nz,"ra_Renew %s access":"%s Zugriff erneuern",ra_Repeat:Lz,ra_Replace:jz,"ra_Request timed out":"Zeitüberschreitung der Anforderung","ra_Restrict to folder":"Auf Ordner beschränken",ra_Root:gz,ra_Saturday:Tz,ra_Save:yz,"ra_Save and close":"Speichern und schließen","ra_Save configuration to file":"Konfiguration in Datei speichern","ra_Save objects tree as JSON file":"Objektbaum als JSON-Datei speichern","ra_Select all":"Alle auswählen","ra_Select color":"Wähle Farbe","ra_Select predefined icon":"Vordefiniertes Symbol auswählen","ra_Select type of export":"Die Art des Exports auswählen ",ra_Selected:Dz,"ra_Selected %s object(s)":"Ausgewählt %s Objekt(en)","ra_Serial number (UUID)":"Seriennummer (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':"Seriennummer (UUID) „%s“ in der Lizenz gilt für ein anderes Gerät.","ra_Session will expire in %s seconds. Continue?":"Die Sitzung läuft in %s Sekunden ab. Fortfahren?","ra_Show all folders":"Alle Ordner anzeigen","ra_Show lines between rows":"Linien zwischen Zeilen anzeigen","ra_Show/Hide object descriptions":"Objektbeschreibungen ein-/ausblenden","ra_Show/hide filter input":"Filtereingabe ein-/ausblenden","ra_Some data are not stored. Discard?":"Einige Daten werden nicht gespeichert. Verwerfen?",ra_States:dz,"ra_Successfully authorized. Token valid till %s and will be automatically renewed.":"Erfolgreich autorisiert. Token gültig bis %s und wird automatisch erneuert.","ra_Successfully authorized. Token valid till %s but it can expire as the instance is not running.":"Erfolgreich autorisiert. Token gültig bis %s, kann aber ablaufen, da die Instanz nicht ausgeführt wird.","ra_Suitable license not found in license manager":"Passende Lizenz im Lizenzmanager nicht gefunden",ra_Sunday:zz,"ra_Suppress question for next %s minutes":"Frage für die nächsten %s Minuten unterdrücken","ra_System language":"Systemsprache","ra_Take browser position":"Position vom Browser einnehmen","ra_Take position from system settings":"Position aus den Systemeinstellungen übernehmen",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':'Die Experten können Objekte überall erstellen, außer auf der zweiten Ebene (z. B. "vis.0" oder "javascript.0").',"ra_The page you are looking for was not found":"Die gesuchte Seite wurde nicht gefunden","ra_The schedule will be executed every minute. Are you sure?":"Der Zeitplan wird jede Minute ausgeführt. Sind Sie sicher?","ra_The schedule will be executed every second. Are you sure?":"Der Zeitplan wird jede Sekunde ausgeführt. Sind Sie sicher?",ra_Thursday:Iz,ra_Timestamp:hz,"ra_Toggle expert mode":"Expertenmodus umschalten","ra_Toggle the states view":"Statusansicht umschalten","ra_Toggle view mode":"Ansichtsmodus umschalten","ra_Too big":"Zu groß","ra_Too small":"Zu klein","ra_Transparent dialog":"Transparenter Dialog",ra_Tuesday:wz,"ra_Unknown error":"Unbekannter Fehler","ra_Unknown error!":"Unbekannter Fehler!",ra_Update:Cz,"ra_Upload file":"Datei hochladen","ra_Use all available let's encrypt certificates":"Alle verfügbaren Zertifikate von Let's encrypt benutzen","ra_Use iobroker.acme adapter for letsencrypt certificates":"ioBroker.acme-Adapter für letsencrypt-Zertifikate verwenden","ra_Use system settings for position":"Systemeinstellungen für die Position verwenden","ra_Used system settings":"Systemeinstellungen","ra_User files":"Benutzerdaten",ra_ValidTill:Az,ra_Value:mz,ra_Version:pz,"ra_View file":"Datei ansehen","ra_View: %s":"Anschauen: %s",ra_Wednesday:Oz,ra_Width:Ez,"ra_YAML editor":"YAML-Editor",ra_Yes:_z,"ra_You can export all objects or just the selected branch.":"Sie können alle Objekte oder nur den ausgewählten Zweig exportieren.","ra_You can filter entries by entering here some text":"Sie können Einträge filtern, indem Sie hier Text eingeben","ra_You can use * as wildcard":"Sie können * als Platzhalter verwenden",ra___different__:fz,ra_aclEveryone_read_object:Sz,ra_aclEveryone_read_state:xz,ra_aclEveryone_write_object:kz,ra_aclEveryone_write_state:Yz,ra_aclGroup_read_object:Qz,ra_aclGroup_read_state:Uz,ra_aclGroup_write_object:vz,ra_aclGroup_write_state:bz,ra_aclOwner_read_object:$z,ra_aclOwner_read_state:Pz,ra_aclOwner_write_object:Wz,ra_aclOwner_write_state:Rz,ra_buttons:Jz,ra_changedFrom:Bz,ra_close:Gz,ra_create_boolean_state:Fz,ra_create_channel:Hz,ra_create_device:Vz,ra_create_number_state:Zz,ra_create_state:Xz,ra_create_string_state:Kz,ra_daysShortText:qz,ra_dow_Fr:eI,ra_dow_Mo:tI,ra_dow_Sa:sI,ra_dow_Su:iI,ra_dow_Th:rI,ra_dow_Tu:oI,ra_dow_We:MI,ra_expertMode:nI,ra_false:aI,ra_fileType_all:cI,ra_fileType_audio:uI,ra_fileType_code:lI,ra_fileType_images:NI,ra_fileType_txt:LI,ra_fileType_video:jI,"ra_fileType_video,":"Video",ra_filter_customs:gI,ra_filter_customs_without:TI,ra_filter_func:yI,ra_filter_id:DI,ra_filter_name:dI,ra_filter_role:zI,ra_filter_room:II,ra_filter_type:hI,"ra_import data from %s file":"Daten aus %s-Datei importieren",ra_invalidConfig:wI,ra_lastChange:CI,ra_locally:AI,ra_month_Apr:mI,ra_month_Aug:pI,ra_month_Dec:OI,ra_month_Feb:EI,ra_month_Jan:_I,ra_month_Jul:fI,ra_month_Jun:SI,ra_month_Mai:xI,ra_month_Mar:kI,ra_month_Nov:YI,ra_month_Oct:QI,ra_month_Sep:UI,ra_months_Apr:vI,ra_months_Aug:bI,ra_months_Dec:$I,ra_months_Feb:PI,ra_months_Jan:WI,ra_months_Jul:RI,ra_months_Jun:JI,ra_months_Mai:BI,ra_months_Mar:GI,ra_months_Nov:FI,ra_months_Oct:HI,ra_months_Sep:VI,"ra_no confirm for 5 mins":"5 Minuten lang keine Bestätigung",ra_none:ZI,ra_object_changed_by:XI,ra_object_changed_by_user:KI,ra_otherConfig:qI,ra_qualityCode:eh,ra_repeat:th,ra_select_folder_hint:sh,ra_show_all:ih,ra_state_changed_by:rh,ra_state_changed_from:oh,ra_timestamp:Mh,ra_tooltip_ack:nh,ra_tooltip_comment:ah,ra_tooltip_copyState:ch,ra_tooltip_ctrlForLink:uh,ra_tooltip_customConfig:lh,ra_tooltip_deleteObject:Nh,ra_tooltip_editObject:Lh,ra_tooltip_editState:jh,ra_tooltip_expire:gh,ra_tooltip_from:Th,ra_tooltip_lc:yh,ra_tooltip_quality:Dh,ra_tooltip_ts:dh,ra_tooltip_user:zh,ra_tooltip_value:Ih,ra_true:hh,"ra_use seconds":"Sekunden benutzen",ra_val:wh,"ra_via internet":"übers Internet",ra_warning_every_minute:Ch,ra_warning_every_second:Ah,sc_cron:mh,sc_date:ph,sc_dates:Oh,sc_dow:Eh,sc_dows:_h,sc_every:fh,sc_everyN_dates:Sh,sc_everyN_dow:xh,sc_everyN_dows:kh,sc_everyN_hours:Yh,sc_everyN_minutes:Qh,sc_everyN_months:Uh,sc_everyN_seconds:vh,sc_every_dates:bh,sc_every_dow:$h,sc_every_dows:Ph,sc_every_hours:Wh,sc_every_minutes:Rh,sc_every_months:Jh,sc_every_seconds:Bh,sc_from:Gh,sc_hours:Fh,sc_interval:Hh,sc_intervalBetween:Vh,sc_invalid_cron:Zh,sc_minutes:Xh,sc_months:Kh,sc_once:qh,sc_period:ew,sc_seconds:tw,sc_simple:sw,sc_specific:iw,sc_specific_dates:rw,sc_specific_dow:ow,sc_specific_dows:Mw,sc_specific_hours:nw,sc_specific_minutes:aw,sc_specific_months:cw,sc_specific_seconds:uw,sc_time:lw,sc_to:Nw,sc_wizard:Lw,sch_all:jw,sch_astroDay:gw,sch_astroNight:Tw,sch_astro_dawn:yw,sch_astro_dusk:Dw,sch_astro_goldenHour:dw,sch_astro_goldenHourEnd:zw,sch_astro_nadir:Iw,sch_astro_nauticalDawn:hw,sch_astro_nauticalDusk:ww,sch_astro_night:Cw,sch_astro_nightEnd:Aw,sch_astro_solarNoon:mw,sch_astro_sunrise:pw,sch_astro_sunriseEnd:Ow,sch_astro_sunset:Ew,sch_astro_sunsetStart:_w,sch_at:fw,sch_desc_atTime:Sw,sch_desc_everyDay:xw,sch_desc_everyHour:kw,sch_desc_everyMinute:Yw,sch_desc_everyMonth:Qw,sch_desc_everyNDay:Uw,sch_desc_everyNHours:vw,sch_desc_everyNMinutes:bw,sch_desc_everyNMonths:$w,sch_desc_everyNWeeks:Pw,sch_desc_everyNYears:Ww,sch_desc_everyWeek:Rw,sch_desc_everyYear:Jw,sch_desc_intervalFromTo:Bw,sch_desc_never:Gw,sch_desc_onDate:Fw,sch_desc_onDates:Hw,sch_desc_onEveryDate:Vw,sch_desc_onMonth:Zw,sch_desc_onMonths:Xw,sch_desc_onWeekday:Kw,sch_desc_onWeekdays:qw,sch_desc_onWeekends:eC,sch_desc_onWorkdays:tC,sch_desc_onceInPast:sC,sch_desc_once_on:iC,sch_desc_validFrom:rC,sch_desc_validFromTo:oC,sch_desc_validTo:MC,sch_every:nC,sch_exactTime:aC,sch_from:cC,sch_fromTo:uC,sch_intervalTime:lC,sch_invert:NC,sch_no_one:LC,sch_on:jC,sch_period:gC,sch_periodDaily:TC,sch_periodDates:yC,sch_periodDay:DC,sch_periodEvery:dC,sch_periodEveryDay:zC,sch_periodEveryMonth:IC,sch_periodEveryWeek:hC,sch_periodEveryYear:wC,sch_periodHours:CC,sch_periodMinutes:AC,sch_periodMonth:mC,sch_periodMonthly:pC,sch_periodOnce:OC,sch_periodSpecificMonths:EC,sch_periodWeek:_C,sch_periodWeekdays:fC,sch_periodWeekend:SC,sch_periodWeekly:xC,sch_periodWorkdays:kC,sch_periodYear:YC,sch_periodYearly:QC,sch_specificTime:UC,sch_time:vC,sch_to:bC,sch_valid:$C,sch_validFrom:PC,sch_validTo:WC,sch_wholeDay:RC,sch_yearEveryMonth:JC},GC="Действия",FC="Добавить",HC="Отмена",VC="Категории",ZC="Проверено",XC="Удалить",KC="Закрыть",qC="Коммерческая",e2="Настроить",t2="Соединение установлено",s2="Продолжать",i2="скопировано",r2="Создать",o2="Обрезать",M2="Delete",n2="Удалить",a2="Отказаться",c2="Отключено",u2="Ошибка",l2="Фильтр",N2="Пятница",L2="Широта",j2="Выйти",g2="Долгота",T2="Сообщение",y2="Понедельник",D2="Имя",d2="Объекты",z2="Ok",I2="Продукт",h2="Переименовать/Переместить/Копировать",w2="Повторение",C2="Заменять",A2="Начало",m2="Суббота",p2="Сохранить",O2="выбранный",E2="Состояния",_2="Воскресенье",f2="Четверг",S2="Времени",x2="Вторник",k2="Обновить",Y2="Годен до",Q2="Значение",U2="Версия",v2="Среда",b2="Ширина",$2="Да",P2="разное",W2="Каждый может читать объект",R2="Каждый может читать состояние",J2="Каждый может написать объект",B2="Каждый может написать состояние",G2="Группа может читать объект",F2="Группа может читать состояние",H2="Группа может писать объект",V2="Группа может записывать состояние",Z2="Владелец может читать объект",X2="Владелец может читать состояние",K2="Владелец может писать объект",q2="Владелец может писать состояние",eA="Кнопки",tA="Изменено с",sA="Закрыть",iA="Создать логическое состояние",rA="Создать канал",oA="Создать устройство",MA="Создать состояние номера",nA="Создать состояние",aA="Создать состояние строки",cA="д.",uA="Пт",lA="Пн",NA="Сб",LA="Вс",jA="Чт",gA="Вт",TA="Ср",yA="Экспертный режим",DA="ЛОЖЬ",dA="Все файлы",zA="Аудио",IA="Код/JSON",hA="Картинки",wA="Текст",CA="видео",AA="настройки",mA="без",pA="функция",OA="ID",EA="Имя",_A="роль",fA="комната",SA="Тип",xA="Неверные настройки",kA="Последнее изменение",YA="локально",QA="Апр",UA="Авг",vA="Дек",bA="Фев",$A="Янв",PA="Июл",WA="Июн",RA="Май",JA="Мрт",BA="Ноя",GA="Окт",FA="Сен",HA="Апр",VA="Авг",ZA="Дек",XA="Фев",KA="Янв",qA="Июнь",em="Июль",tm="Май",sm="Март",im="Ноя",rm="Окт",om="Сен",Mm="ничего",nm="Объект изменен",am="Последний раз объект изменен в",cm="Настройки из другого адаптера %s",um="Код качества",lm="повтор",Nm="Чтобы выбрать папку, просто удерживайте клавишу «Shift», щелкнув папку.",Lm="Показать все",jm="Состояние изменено",gm="Объект изменен с",Tm="Отметка времени",ym="Подтверждено",Dm="Комментарий",dm="Скопируйте значение состояния",zm="Удерживайте клавишу Cltr/⌘, чтобы открыть ссылку",Im="Пользовательские настройки",hm="Удалить объект",wm="Редактировать объект",Cm="Изменить значение состояния",Am="Истекает через",mm="От",pm="Последнее изменение",Om="Качество",Em="Отметка времени",_m="пользователь",fm="Значение",Sm="истинный",xm="Значение",km="Внимание: задание CRON будет запускаться каждую минуту в течение указанного периода!",Ym="Внимание: задание CRON будет выполняться каждую секунду в течение указанного периода!",Qm="CRON",Um="Дата",vm="Даты",bm="День",$m="День недели",Pm="каждый(ую/ые)",Wm="каждый N день",Rm="каждый N-й день недели",Jm="каждый N день недели",Bm="каждые N часов",Gm="каждые N минут",Fm="каждые N месяцев",Hm="каждые N секунд",Vm="каждый день",Zm="Каждый день недели",Xm="каждый день недели",Km="каждый час",qm="каждую минуту",ep="каждый месяц",tp="каждую секунду",sp="От",ip="часы",rp="Интервал",op="Интервал между",Mp="Неверный CRON",np="минуты",ap="Месяцы",cp="один раз",up="Период",lp="секунды",Np="Просто",Lp="Конкретное время",jp="конкретные даты",gp="конкретный день(а) недели",Tp="конкретный день недели",yp="конкретные часы",Dp="конкретные минуты",dp="конкретные месяцы",zp="конкретные секунды",Ip="Время",hp="До",wp="Форма",Cp="все",Ap="днём",mp="ночью",pp="Рассвет",Op="Сумерки",Ep="Золотой час",_p="Конец золотого часа",fp="Надир",Sp="Морской рассвет",xp="Морские сумерки",kp="Ночь",Yp="Конец ночи",Qp="Солнечный полдень",Up="Восход",vp="Восход солнца",bp="Заход солнца",$p="Начало заката",Pp="дата",Wp="в %s",Rp="каждый день",Jp="каждый час",Bp="каждую минуту",Gp="каждый месяц",Fp="каждый %s день",Hp="каждый %s часов",Vp="каждые %s минут",Zp="каждые %s месяцев",Xp="каждые %s недель",Kp="каждые %s лет",qp="каждую неделю",e3="каждый год",t3="от %s до %s",s3="никогда",i3="%s %s",r3="%s и %s",o3="в каждый день",M3="%s",n3="%s и %s",a3="%s",c3="%s и %s",u3="на выходных",l3="в рабочие дни",N3="не будет больше выполняться, потому что начало в прошлом",L3="%s",j3="%s",g3="Выполнить с",T3="%s",y3="каждый",D3="Конкретное время",d3="от",z3="От и до",I3="Интервал времени",h3="инвертировать",w3="никакой",C3="на",A3="период",m3="Ежедневно",p3="Даты",O3="День",E3="каждый",_3="Каждый день",f3="Каждый месяц",S3="Каждую неделю",x3="Каждый год",k3="часов",Y3="минут",Q3="месяц",U3="ежемесячно",v3="однажды",b3="Конкретные месяцы",$3="Неделю",P3="Будние дни",W3="выходные",R3="еженедельно",J3="Рабочие дни",B3="Год",G3="каждый год",F3="Конкретное время",H3="Время",V3="в",Z3="действительный",X3="от",K3="в",q3="Весь день",eO="каждый месяц",tO={"ra_%s links from aliases":"%s ссылок из псевдонимов","ra_%s object(s) processed":"Объектов обработано: %s","ra_%s was imported":"%s был импортирован","ra_Accept license":"Принять лицензию",ra_Actions:GC,"ra_Add new child object to selected parent":"Добавить новый дочерний объект к выбранному родительскому объекту","ra_Add objects tree from JSON file":"Добавить дерево объектов из файла JSON","ra_Add row":"Добавить ряд","ra_Advanced options":"Расширенные настройки","ra_All items are filtered out":"Все элементы отфильтрованы","ra_All objects":"Все объекты",ra_Append:FC,"ra_Append %s entries or replace existing?":"Добавить записи %s или заменить существующие?","ra_Append or replace?":"Дополнить или заменить?","ra_Are you sure?":"Вы уверены?","ra_Auto (no custom columns)":"Авто (без настраиваемых столбцов)","ra_Back to %s":"Вернуться к %s","ra_Background image":"Фоновая картинка",ra_Cancel:HC,"ra_Cannot add items with set filter":"Невозможно добавить элементы с установленным фильтром","ra_Cannot decode license":"Не могу декодировать лицензию","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"Невозможно определить местоположение: системные настройки пусты, а обнаружение GPS отключено в браузере.",'ra_Cannot find "%s"':'Не могу найти "%s"','ra_Cannot read "%s"':'Не могу прочитать "%s"',"ra_Cannot read licenses: %s":"Невозможно прочитать лицензии: %s","ra_Cannot retrieve options, as instance is offline":"Невозможно получить параметры, так как экземпляр находится в автономном режиме.","ra_Cannot update attribute, because not found in the object":"Невозможно обновить атрибут, потому что он не найден в объекте","ra_Cannot upload":"Невозможно загрузить",ra_Categories:VC,"ra_Chained certificate":"Chained сертификат","ra_Change color theme":"Изменить цветовую тему","ra_Changed from":"Изменено","ra_Channel → State":"Канал → Состояние","ra_Check license":"Проверить лицензию",ra_Checked:ZC,ra_Clear:XC,"ra_Clear filter":"Очистить фильтр","ra_Clear icon":"Очистить значок","ra_Click to show":"Нажмите, чтобы показать","ra_Clone current row":"Клонировать текущую строку",ra_Close:KC,"ra_Collapse all nodes":"Свернуть все узлы","ra_Collapse one step node":"Свернуть один уровень",ra_Commercial:qC,ra_Configure:e2,"ra_Configure visible columns":"Настроить видимые столбцы","ra_Confirm deletion of %s":"Подтвердите удаление %s",ra_Connected:t2,ra_Continue:s2,ra_Copied:i2,"ra_Copied %s":'Скопировано "%s"',"ra_Copy content":"Копировать содержимое",ra_Create:r2,"ra_Create alias":"Создать псевдоним","ra_Create folder":"Создать папку","ra_Create new folder in %s":"Создать новую папку в %s",ra_Crop:o2,"ra_Define CRON...":"Определите CRON...","ra_Define functions":"Задать функции","ra_Define rooms":"Задать комнаты","ra_Define schedule":"Задать расписание","ra_Define schedule...":"Определить расписание ...",ra_Del:M2,ra_Delete:n2,"ra_Delete current row":"Удалить текущую строку","ra_Deselect all":"Убрать выбор везде","ra_Device → Channel → State":"Устройство → Канал → Состояние","ra_Disable/Enable translation":"Включить/отключить перевод",ra_Discard:a2,ra_Disconnected:c2,"ra_Do not ask for next 2 hours in this session":"Не спрашивайте о следующих 2 часах в этом сеансе","ra_Do not export values of states":"Не экспортировать значения состояний","ra_Do not use let's encrypt":"Не использовать Let’s Encrypt","ra_Docker is not available":"Докер недоступен","ra_Docker is not installed or not running":"Docker не установлен или не запущен","ra_Double click to reset table layout":"Дважды щелкните, чтобы сбросить макет таблицы","ra_Drag 'n' drop some files here, or click to select files":"Перетащите сюда несколько файлов или щелкните, чтобы выбрать файлы","ra_Drop file here":"Перетащите файл сюда","ra_Drop the files here...":"Перетащите файл сюда ...","ra_Duplicate name":"Повторяющееся имя","ra_Edit ACL":"Изменить ACL-список","ra_Edit alias":"Изменить псевдоним","ra_Edit custom config":"Редактировать настраиваемую конфигурацию","ra_Edit full path":"Изменить полный путь","ra_Edit function":"Изменить функцию","ra_Edit object field":"Поле редактирования объекта","ra_Edit role":"Изменить роль","ra_Edit room":"Редактировать комнату","ra_Edit value":"Изменить значение","ra_Enter the code from that page here":"Введите код с этой страницы здесь",ra_Error:u2,"ra_Expand all nodes":"Развернуть все узлы","ra_Expand one step node":"Открыть один уровень","ra_Expand/Collapse card":"Развернуть/Свернуть карточку","ra_Export configuration section":"Раздел конфигурации экспорта","ra_Export data to %s file":"Экспорт данных в файл %s","ra_Failed to open JSON File":"Не удалось открыть файл JSON","ra_Fallback custom certificates":"Резервные пользовательские сертификаты","ra_File is too big. Max %sk allowed. Try use SVG.":"Файл слишком большой. Разрешено максимальное количество %sk. Попробуйте использовать SVG.",ra_Filter:l2,"ra_Filter and Data Actions":"Фильтрация и действия с данными","ra_Filter files":"Фильтровать файлы","ra_Folder name":"Имя папки","ra_Folder → Channel → State":"Папка → Канал → Состояние","ra_Folder → Device → Channel → State":"Папка → Устройство → Канал → Состояние","ra_Folder → State":"Папка → Состояние","ra_Folders always first":"Папки всегда на первом месте",ra_Friday:N2,"ra_From file":"Из файла","ra_From text":"Из текста","ra_Get %s access":"Получить %s доступ","ra_Good luck":"Удачи","ra_Hide empty folders":"Скрыть пустые папки","ra_If no file will be created in the folder, it will disappear after the browser closed":"Если в папке не будет создан файл, он исчезнет после закрытия браузера.","ra_If the button above does not work, you can authorize manually this app by visiting this url":"Если кнопка выше не работает, вы можете вручную авторизовать это приложение, перейдя по этой ссылке.","ra_Import and add configuration section":"Импорт и добавление раздела конфигурации","ra_Import and replace configuration section":"Импорт и замена раздела конфигурации","ra_Import data from %s file":"Импорт данных из файла %s","ra_Import from %s":"Импорт из %s","ra_Instance %s is alive":"Экземпляр %s работает","ra_Instance %s is not alive":"Экземпляр %s не работает","ra_Instance is not alive":"Экземпляр не живой","ra_Invalid CRON":"Неверный CRON","ra_Invalid JSON":"Неверный JSON","ra_Invalid JSON file.":"Неверный файл JSON.","ra_Invalid JSON format. Expected an array.":"Недопустимый формат JSON. Ожидается массив.","ra_Invalid answer from server":"Неверный ответ от сервера","ra_Invalid parent folder!":"Неверная родительская папка!","ra_Invalid structure":"Неверная структура","ra_JSON editor":"Редактор JSON","ra_Last change":"Последнее изменение",ra_Latitude:L2,"ra_License %s":"Лицензия %s","ra_License agreement":"Лицензионное соглашение","ra_License does not exist":"Лицензия не существует","ra_License expired on %s":"Срок действия лицензии истек %s",'ra_License for other product "%s"':'Лицензия на другой продукт "%s"',"ra_License is for version %s, but required version is %s.":"Лицензия предназначена для версии %s, но необходима версия %s.","ra_License must be converted":"Лицензия должна быть преобразована в более новую версию. Вы можете сделать это в своем профиле на iobroker.net.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"Лицензия не найдена в диспетчере лицензий. Вы хотите обновить лицензии от iobroker.net?","ra_Listen on all IPs":"Слушать на всех IP","ra_Load configuration from file":"Загрузить конфигурацию из файла",ra_Logout:j2,ra_Longitude:g2,'ra_May not trigger "updateLicenses"':"Не может запускать «updateLicenses»",ra_Message:T2,ra_Monday:y2,"ra_Move down":"Вниз","ra_Move up":"Вверх",ra_Name:D2,"ra_No data found in file":"Данные в файле не найдены","ra_No one license found in license manager":"В менеджере лицензий не найдена ни одна лицензия","ra_No response from admin":"Нет ответа от администратора","ra_No response from the backend":"Нет ответа от бэкэнда",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':"Не-эксперты могут создавать новые объекты только в «0_userdata.0» или «alias.0».","ra_Not a number":"Не число",ra_Objects:d2,ra_Ok:z2,"ra_On weekdays":"На выходных","ra_Only following structures of objects are available:":"Доступны только следующие структуры объектов:","ra_Only selected":"Только выбранные","ra_Owner group":"Группа владельцев","ra_Owner user":"Пользователь-владелец","ra_Passwords are not equal!":"Пароли не равны!","ra_Place your files here or click here to open the browse dialog":"Поместите свои файлы сюда или щелкните здесь, чтобы открыть диалоговое окно выбора","ra_Please allow popups in your browser for this page!":"Пожалуйста, разрешите всплывающие окна в вашем браузере для этой страницы!","ra_Please confirm":"Пожалуйста подтвердите","ra_Please create license":"Пожалуйста, создайте лицензию","ra_Please enter the license":"Пожалуйста, введите лицензию","ra_Please select file...":"Пожалуйста, выберите файл...","ra_Please select object ID...":"Пожалуйста, выберите идентификатор объекта ...","ra_Port could be used by %s":"Порт может использоваться %s","ra_Port is already used by %s":"Порт уже используется %s","ra_Press ENTER Key to add new item":"Нажмите клавишу ENTER, чтобы добавить новый элемент.","ra_Private certificate":"Частный сертификат",ra_Product:I2,"ra_Public certificate":"Публичный сертификат","ra_Quality code":"Валидность","ra_Refresh tree":"Обновить дерево","ra_Reload files":"Обновить",ra_Rename_Move_Copy:h2,"ra_Renew %s access":"Продлить доступ %s",ra_Repeat:w2,ra_Replace:C2,"ra_Request timed out":"Истекло время запроса","ra_Restrict to folder":"Ограничить папкой",ra_Root:A2,ra_Saturday:m2,ra_Save:p2,"ra_Save and close":"Сохранить и закрыть","ra_Save configuration to file":"Сохранить конфигурацию в файл","ra_Save objects tree as JSON file":"Сохранить дерево объектов как файл JSON","ra_Select all":"Выбрать все","ra_Select color":"Выберите цвет","ra_Select predefined icon":"Выберите предопределенный значок","ra_Select type of export":"Выберите тип экспорта",ra_Selected:O2,"ra_Selected %s object(s)":"Объектов: %s","ra_Serial number (UUID)":"Серийный номер (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':"Серийный номер (UUID) «%s» в лицензии предназначен для другого устройства.","ra_Session will expire in %s seconds. Continue?":"Сессия истечет через %s секунд. Продолжить?","ra_Show all folders":"Показать все папки","ra_Show lines between rows":"Показать линии между строками","ra_Show/Hide object descriptions":"Показать/скрыть описания объектов","ra_Show/hide filter input":"Показать/скрыть ввод фильтра","ra_Some data are not stored. Discard?":"Некоторые данные не сохранились. Отказаться?",ra_States:E2,"ra_Successfully authorized. Token valid till %s and will be automatically renewed.":"Авторизация выполнена успешно. Токен действителен до %s и будет автоматически продлен.","ra_Successfully authorized. Token valid till %s but it can expire as the instance is not running.":"Авторизация выполнена успешно. Токен действителен до %s, но его срок действия может истечь, так как экземпляр не запущен.","ra_Suitable license not found in license manager":"Подходящая лицензия не найдена в менеджере лицензий",ra_Sunday:_2,"ra_Suppress question for next %s minutes":"Скрыть вопрос на следующие %s минут(ы)","ra_System language":"Язык системы","ra_Take browser position":"Взять позицию из браузера","ra_Take position from system settings":"Занять позицию из системных настроек",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':"Эксперты могут создавать объекты везде, кроме второго уровня (например, «vis.0» или «javascript.0»).","ra_The page you are looking for was not found":"Страница, которую вы ищете, не найдена","ra_The schedule will be executed every minute. Are you sure?":"Расписание будет выполняться каждую минуту. Вы уверены?","ra_The schedule will be executed every second. Are you sure?":"Расписание будет выполняться каждую секунду. Вы уверены?",ra_Thursday:f2,ra_Timestamp:S2,"ra_Toggle expert mode":"Переключить экспертный режим","ra_Toggle the states view":"Переключить режим просмотра состояний","ra_Toggle view mode":"Переключить режим просмотра","ra_Too big":"Слишком большое","ra_Too small":"Слишком маленькое","ra_Transparent dialog":"Прозрачный диалог",ra_Tuesday:x2,"ra_Unknown error":"Неизвестная ошибка","ra_Unknown error!":"Неизвестная ошибка!",ra_Update:k2,"ra_Upload file":"Загрузить файл","ra_Use all available let's encrypt certificates":"Использовать все доступные сертификаты Let’s encrypt","ra_Use iobroker.acme adapter for letsencrypt certificates":"Используйте адаптер iobroker.acme для сертификатов letsencrypt","ra_Use system settings for position":"Использовать системные настройки для позиции","ra_Used system settings":"Системные настройки","ra_User files":"Файлы пользователя",ra_ValidTill:Y2,ra_Value:Q2,ra_Version:U2,"ra_View file":"Посмотреть файл","ra_View: %s":"Просмотр: %s",ra_Wednesday:v2,ra_Width:b2,"ra_YAML editor":"Редактор YAML",ra_Yes:$2,"ra_You can export all objects or just the selected branch.":"Вы можете экспортировать все объекты или только выбранную ветвь.","ra_You can filter entries by entering here some text":"Вы можете отфильтровать записи, введя здесь текст","ra_You can use * as wildcard":"Вы можете использовать * в качестве подстановочного знака",ra___different__:P2,ra_aclEveryone_read_object:W2,ra_aclEveryone_read_state:R2,ra_aclEveryone_write_object:J2,ra_aclEveryone_write_state:B2,ra_aclGroup_read_object:G2,ra_aclGroup_read_state:F2,ra_aclGroup_write_object:H2,ra_aclGroup_write_state:V2,ra_aclOwner_read_object:Z2,ra_aclOwner_read_state:X2,ra_aclOwner_write_object:K2,ra_aclOwner_write_state:q2,ra_buttons:eA,ra_changedFrom:tA,ra_close:sA,ra_create_boolean_state:iA,ra_create_channel:rA,ra_create_device:oA,ra_create_number_state:MA,ra_create_state:nA,ra_create_string_state:aA,ra_daysShortText:cA,ra_dow_Fr:uA,ra_dow_Mo:lA,ra_dow_Sa:NA,ra_dow_Su:LA,ra_dow_Th:jA,ra_dow_Tu:gA,ra_dow_We:TA,ra_expertMode:yA,ra_false:DA,ra_fileType_all:dA,ra_fileType_audio:zA,ra_fileType_code:IA,ra_fileType_images:hA,ra_fileType_txt:wA,ra_fileType_video:CA,"ra_fileType_video,":"видео",ra_filter_customs:AA,ra_filter_customs_without:mA,ra_filter_func:pA,ra_filter_id:OA,ra_filter_name:EA,ra_filter_role:_A,ra_filter_room:fA,ra_filter_type:SA,"ra_import data from %s file":"Импортировать данные из файла %s",ra_invalidConfig:xA,ra_lastChange:kA,ra_locally:YA,ra_month_Apr:QA,ra_month_Aug:UA,ra_month_Dec:vA,ra_month_Feb:bA,ra_month_Jan:$A,ra_month_Jul:PA,ra_month_Jun:WA,ra_month_Mai:RA,ra_month_Mar:JA,ra_month_Nov:BA,ra_month_Oct:GA,ra_month_Sep:FA,ra_months_Apr:HA,ra_months_Aug:VA,ra_months_Dec:ZA,ra_months_Feb:XA,ra_months_Jan:KA,ra_months_Jul:qA,ra_months_Jun:em,ra_months_Mai:tm,ra_months_Mar:sm,ra_months_Nov:im,ra_months_Oct:rm,ra_months_Sep:om,"ra_no confirm for 5 mins":"не спрашивать подтверждения в течение 5 минут",ra_none:Mm,ra_object_changed_by:nm,ra_object_changed_by_user:am,ra_otherConfig:cm,ra_qualityCode:um,ra_repeat:lm,ra_select_folder_hint:Nm,ra_show_all:Lm,ra_state_changed_by:jm,ra_state_changed_from:gm,ra_timestamp:Tm,ra_tooltip_ack:ym,ra_tooltip_comment:Dm,ra_tooltip_copyState:dm,ra_tooltip_ctrlForLink:zm,ra_tooltip_customConfig:Im,ra_tooltip_deleteObject:hm,ra_tooltip_editObject:wm,ra_tooltip_editState:Cm,ra_tooltip_expire:Am,ra_tooltip_from:mm,ra_tooltip_lc:pm,ra_tooltip_quality:Om,ra_tooltip_ts:Em,ra_tooltip_user:_m,ra_tooltip_value:fm,ra_true:Sm,"ra_use seconds":"секунды",ra_val:xm,"ra_via internet":"через интернет",ra_warning_every_minute:km,ra_warning_every_second:Ym,sc_cron:Qm,sc_date:Um,sc_dates:vm,sc_dow:bm,sc_dows:$m,sc_every:Pm,sc_everyN_dates:Wm,sc_everyN_dow:Rm,sc_everyN_dows:Jm,sc_everyN_hours:Bm,sc_everyN_minutes:Gm,sc_everyN_months:Fm,sc_everyN_seconds:Hm,sc_every_dates:Vm,sc_every_dow:Zm,sc_every_dows:Xm,sc_every_hours:Km,sc_every_minutes:qm,sc_every_months:ep,sc_every_seconds:tp,sc_from:sp,sc_hours:ip,sc_interval:rp,sc_intervalBetween:op,sc_invalid_cron:Mp,sc_minutes:np,sc_months:ap,sc_once:cp,sc_period:up,sc_seconds:lp,sc_simple:Np,sc_specific:Lp,sc_specific_dates:jp,sc_specific_dow:gp,sc_specific_dows:Tp,sc_specific_hours:yp,sc_specific_minutes:Dp,sc_specific_months:dp,sc_specific_seconds:zp,sc_time:Ip,sc_to:hp,sc_wizard:wp,sch_all:Cp,sch_astroDay:Ap,sch_astroNight:mp,sch_astro_dawn:pp,sch_astro_dusk:Op,sch_astro_goldenHour:Ep,sch_astro_goldenHourEnd:_p,sch_astro_nadir:fp,sch_astro_nauticalDawn:Sp,sch_astro_nauticalDusk:xp,sch_astro_night:kp,sch_astro_nightEnd:Yp,sch_astro_solarNoon:Qp,sch_astro_sunrise:Up,sch_astro_sunriseEnd:vp,sch_astro_sunset:bp,sch_astro_sunsetStart:$p,sch_at:Pp,sch_desc_atTime:Wp,sch_desc_everyDay:Rp,sch_desc_everyHour:Jp,sch_desc_everyMinute:Bp,sch_desc_everyMonth:Gp,sch_desc_everyNDay:Fp,sch_desc_everyNHours:Hp,sch_desc_everyNMinutes:Vp,sch_desc_everyNMonths:Zp,sch_desc_everyNWeeks:Xp,sch_desc_everyNYears:Kp,sch_desc_everyWeek:qp,sch_desc_everyYear:e3,sch_desc_intervalFromTo:t3,sch_desc_never:s3,sch_desc_onDate:i3,sch_desc_onDates:r3,sch_desc_onEveryDate:o3,sch_desc_onMonth:M3,sch_desc_onMonths:n3,sch_desc_onWeekday:a3,sch_desc_onWeekdays:c3,sch_desc_onWeekends:u3,sch_desc_onWorkdays:l3,sch_desc_onceInPast:N3,sch_desc_once_on:L3,sch_desc_validFrom:j3,sch_desc_validFromTo:g3,sch_desc_validTo:T3,sch_every:y3,sch_exactTime:D3,sch_from:d3,sch_fromTo:z3,sch_intervalTime:I3,sch_invert:h3,sch_no_one:w3,sch_on:C3,sch_period:A3,sch_periodDaily:m3,sch_periodDates:p3,sch_periodDay:O3,sch_periodEvery:E3,sch_periodEveryDay:_3,sch_periodEveryMonth:f3,sch_periodEveryWeek:S3,sch_periodEveryYear:x3,sch_periodHours:k3,sch_periodMinutes:Y3,sch_periodMonth:Q3,sch_periodMonthly:U3,sch_periodOnce:v3,sch_periodSpecificMonths:b3,sch_periodWeek:$3,sch_periodWeekdays:P3,sch_periodWeekend:W3,sch_periodWeekly:R3,sch_periodWorkdays:J3,sch_periodYear:B3,sch_periodYearly:G3,sch_specificTime:F3,sch_time:H3,sch_to:V3,sch_valid:Z3,sch_validFrom:X3,sch_validTo:K3,sch_wholeDay:q3,sch_yearEveryMonth:eO},sO="Ações",iO="Acrescentar",rO="Cancelar",oO="Categorias",MO="Verificado",nO="Excluir",aO="Perto",cO="Comercial",uO="Configurar",lO="Conectado",NO="Continuar",LO="Copiado",jO="Crio",gO="Colheita",TO="Delete",yO="Excluir",DO="Descartar",dO="Desconectado",zO="Erro",IO="Filtro",hO="Sexta-feira",wO="Latitude",CO="Sair",AO="Longitude",mO="mensagem",pO="Segunda-feira",OO="Nome",EO="Objetos",_O="Está bem",fO="produtos",SO="Renomear/Mover/Copiar",xO="Repita",kO="Substituir",YO="Raiz",QO="Sábado",UO="Salve ",vO="Selecionado",bO="Estados",$O="Domingo",PO="Quinta-feira",WO="Timestamp",RO="Terça-feira",JO="Atualizar",BO="Válida até",GO="Valor",FO="Versão",HO="Quarta-feira",VO="Largura",ZO="Sim",XO="diferente",KO="Todos podem ler objetos",qO="Todos podem ler o estado",eE="Todos podem escrever objetos",tE="Todos podem escrever o estado",sE="O grupo pode ler o objeto",iE="O grupo pode ler o estado",rE="O grupo pode escrever o objeto",oE="O grupo pode escrever o estado",ME="O proprietário pode ler o objeto",nE="O proprietário pode ler o estado",aE="O proprietário pode escrever o objeto",cE="O proprietário pode escrever o estado",uE="Botões",lE="Mudou de",NE="fechar",LE="Criar estado booleano",jE="Criar canal",gE="Criar dispositivo",TE="Criar estado numérico",yE="Criar estado",DE="Criar estado de string",dE="d.",zE="Fr",IE="Mo",hE="Sa",wE="Su",CE="º",AE="Tu",mE="Nós",pE="Modo especialista",OE="FALSO",EE="Todos os arquivos",_E="áudio",fE="Código/JSON",SE="Imagens",xE="Texto",kE="Vídeo",YE="Configurações",QE="sem",UE="Função",vE="ID",bE="Nome",$E="Papel (Função)",PE="Quarto",WE="Tipo",RE="Configurações inválidas",JE="Última mudança",BE="localmente",GE="abril",FE="agosto",HE="dezembro",VE="fevereiro",ZE="janeiro",XE="julho",KE="junho",qE="Mai",e_="março",t_="novembro",s_="outubro",i_="setembro",r_="abril",o_="agosto",M_="dezembro",n_="fevereiro",a_="janeiro",c_="julho",u_="junho",l_="Mai",N_="março",L_="novembro",j_="outubro",g_="setembro",T_="Nenhum",y_="Objeto alterado por",D_="Objeto alterado pela última vez em",d_="Configurações de outro adaptador %s",z_="Código de qualidade",I_="repetir",h_='Para selecionar a pasta, basta segurar a tecla "shift" clicando na pasta.',w_="Mostrar tudo",C_="Estado alterado por",A_="Objeto alterado de",m_="Timestamp",p_="Confirmado",O_="Comente",E_="Copie o valor do estado",__="Segure a tecla Ctrl/⌘ para abrir o link",f_="Opções customizadas",S_="Excluir objeto",x_="Editar objeto",k_="Edite o valor do estado",Y_="Expira em",Q_="De",U_="Última alteração",v_="Qualidade",b_="Timestamp",$_="Usuário",P_="Valor",W_="verdadeiro",R_="Valor",J_="Aviso: O trabalho CRON será executado a cada minuto durante o período especificado!",B_="Aviso: O trabalho CRON será executado a cada segundo durante o período especificado!",G_="CRON",F_="Data",H_="Dias",V_="Dia",Z_="Dia da semana",X_="todos",K_="a cada N dias",q_="todo enésimo dia da semana",ef="todos os N dias da semana",tf="a cada N horas",sf="a cada N minutos",rf="a cada N meses",of="a cada N segundos",Mf="todo dia",nf="todos os dias da semana",af="todos os dias da semana",cf="toda hora",uf="todo minuto",lf="todo mês",Nf="todo segundo",Lf="de",jf="horas",gf="intervalo",Tf="intervalo entre",yf="CRON inválido",Df="minutos",df="meses",zf="uma vez",If="período",hf="segundos",wf="simples",Cf="tempo específico",Af="datas específicas",mf="dia(s) específico(s) da semana",pf="dia específico de semanas",Of="horas específicas",Ef="minutos específicos",_f="meses específicos",ff="segundos específicos",Sf="tempo",xf="para",kf="assistente",Yf="tudo",Qf="dia astral",Uf="noite astral",vf="amanhecer",bf="anoitecer",$f="hora dourada",Pf="Fim da hora dourada",Wf="nadir",Rf="Amanhecer náutico",Jf="Anoitecer náutico",Bf="noite",Gf="fim da noite",Ff="meio-dia solar",Hf="nascer do sol",Vf="fim do nascer do sol",Zf="pôr do sol",Xf="início do pôr do sol",Kf="às",qf="em %s",eS="todo dia",tS="toda hora",sS="todo minuto",iS="todo mês",rS="a cada %s dias",oS="a cada %s horas",MS="a cada %s minutos",nS="a cada %s meses",aS="a cada %s semanas",cS="a cada %s anos",uS="toda semana",lS="todo ano",NS="de %s para %s",LS="nunca",jS="em %s de %s",gS="em %s e %s de",TS="em toda data de",yS="%s",DS="%s e %s",dS="em %s",zS="em %s e %s",IS="nos fins de semana",hS="em dias úteis",wS="não será mais executado, porque o começo está no passado",CS="em %s",AS="de %s",mS="Executar de até",pS="até %s",OS="cada",ES="tempo específico",_S="de",fS="de a´t",SS="tempo de intervalo",xS="invertido",kS="nenhum",YS="em",QS="período",US="diariamente",vS="datas",bS="dia",$S="todos",PS="todo dia",WS="todo mês",RS="toda semana",JS="todo ano",BS="horas",GS="minutos",FS="mês",HS="por mês",VS="uma vez",ZS="meses específicos",XS="semana",KS="dias úteis",qS="final de semana",ex="semanal",tx="dias úteis",sx="ano",ix="anual",rx="tempo específico",ox="tempo",Mx="para",nx="válido",ax="de",cx="para",ux="dia inteiro",lx="todo mês",Nx={"ra_%s links from aliases":"%s links de aliases","ra_%s object(s) processed":"%s objeto(s) processado(s)","ra_%s was imported":"%s foi importado","ra_Accept license":"Aceitar licença",ra_Actions:sO,"ra_Add new child object to selected parent":"Adicionar novo objeto filho ao pai selecionado","ra_Add objects tree from JSON file":"Adicionar árvore de objetos do arquivo JSON","ra_Add row":"Adicionar linha","ra_Advanced options":"Opções avançadas","ra_All items are filtered out":"Todos os itens são filtrados","ra_All objects":"Todos os objetos",ra_Append:iO,"ra_Append %s entries or replace existing?":"Acrescentar %s entradas ou substituir as existentes?","ra_Append or replace?":"Acrescentar ou substituir?","ra_Are you sure?":"Você tem certeza?","ra_Auto (no custom columns)":"Auto (sem colunas personalizadas)","ra_Back to %s":"Voltar para %s","ra_Background image":"Imagem de fundo",ra_Cancel:rO,"ra_Cannot add items with set filter":"Não é possível adicionar itens com filtro definido","ra_Cannot decode license":"Não é possível decodificar a licença","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"Não é possível determinar a posição: as configurações do sistema estão vazias e a detecção de GPS está desativada no navegador",'ra_Cannot find "%s"':'Não foi possível encontrar "%s"','ra_Cannot read "%s"':'Não é possível ler "%s"',"ra_Cannot read licenses: %s":"Não é possível ler licenças: %s","ra_Cannot retrieve options, as instance is offline":"Não é possível recuperar opções, pois a instância está off-line","ra_Cannot update attribute, because not found in the object":"Não é possível atualizar o atributo, porque não foi encontrado no objeto","ra_Cannot upload":"Não é possível fazer upload",ra_Categories:oO,"ra_Chained certificate":"certificado encadeado","ra_Change color theme":"Alterar tema de cores","ra_Changed from":"Mudou de","ra_Channel → State":"Canal → Estado","ra_Check license":"Verifique a licença",ra_Checked:MO,ra_Clear:nO,"ra_Clear filter":"Filtro limpo","ra_Clear icon":"Ícone de limpeza","ra_Click to show":"Clique para mostrar","ra_Clone current row":"Clonar linha atual",ra_Close:aO,"ra_Collapse all nodes":"Recolher todos os nós","ra_Collapse one step node":"Recolher um nível",ra_Commercial:cO,ra_Configure:uO,"ra_Configure visible columns":"Configurar colunas visíveis","ra_Confirm deletion of %s":"Confirme a exclusão de %s",ra_Connected:lO,ra_Continue:NO,ra_Copied:LO,"ra_Copied %s":'"%s" copiado',"ra_Copy content":"Copiar conteúdo",ra_Create:jO,"ra_Create alias":"Criar alias","ra_Create folder":"Criar pasta","ra_Create new folder in %s":"Crie uma nova pasta em %s",ra_Crop:gO,"ra_Define CRON...":"Defina CRON...","ra_Define functions":"Definir funções","ra_Define rooms":"Definir quartos","ra_Define schedule":"Definir cronograma","ra_Define schedule...":"Definir programação ...",ra_Del:TO,ra_Delete:yO,"ra_Delete current row":"Excluir linha atual","ra_Deselect all":"Desmarque todos","ra_Device → Channel → State":"Dispositivo → Canal → Estado","ra_Disable/Enable translation":"Desativar/Ativar tradução",ra_Discard:DO,ra_Disconnected:dO,"ra_Do not ask for next 2 hours in this session":"Não peça as próximas 2 horas nesta sessão","ra_Do not export values of states":"Não exporte valores de estados","ra_Do not use let's encrypt":"Não use vamos criptografar","ra_Docker is not available":"O Docker não está disponível","ra_Docker is not installed or not running":"O Docker não está instalado ou não está em execução","ra_Double click to reset table layout":"Clique duas vezes para redefinir o layout da tabela","ra_Drag 'n' drop some files here, or click to select files":"Arraste e solte alguns arquivos aqui ou clique para selecionar arquivos","ra_Drop file here":"Solte o arquivo aqui","ra_Drop the files here...":"Solte o arquivo aqui ...","ra_Duplicate name":"Nome duplicado","ra_Edit ACL":"Editar ACL","ra_Edit alias":"Editar alias","ra_Edit custom config":"Editar configuração personalizada","ra_Edit full path":"Editar caminho completo","ra_Edit function":"Função de edição","ra_Edit object field":"Editar campo de objeto","ra_Edit role":"Editar papel","ra_Edit room":"Sala de edição","ra_Edit value":"Editar valor","ra_Enter the code from that page here":"Digite o código dessa página aqui",ra_Error:zO,"ra_Expand all nodes":"Expanda todos os nós","ra_Expand one step node":"Expanda um nível","ra_Expand/Collapse card":"Expandir/Recolher cartão","ra_Export configuration section":"Seção de configuração de exportação","ra_Export data to %s file":"Exportar dados para o arquivo %s","ra_Failed to open JSON File":"Falha ao abrir arquivo JSON","ra_Fallback custom certificates":"Certificados personalizados alternativos","ra_File is too big. Max %sk allowed. Try use SVG.":"O arquivo é muito grande. Max %sk permitido. Tente usar SVG.",ra_Filter:IO,"ra_Filter and Data Actions":"Ações de filtro e dados","ra_Filter files":"Filtrar arquivos","ra_Folder name":"Nome da pasta","ra_Folder → Channel → State":"Pasta → Canal → Estado","ra_Folder → Device → Channel → State":"Pasta → Dispositivo → Canal → Estado","ra_Folder → State":"Pasta → Estado","ra_Folders always first":"Pastas sempre primeiro",ra_Friday:hO,"ra_From file":"Do arquivo","ra_From text":"Do texto","ra_Get %s access":"Obtenha acesso %s","ra_Good luck":"Boa sorte","ra_Hide empty folders":"Esconder pastas vazias","ra_If no file will be created in the folder, it will disappear after the browser closed":"Se nenhum arquivo for criado na pasta, ele desaparecerá depois que o navegador for fechado","ra_If the button above does not work, you can authorize manually this app by visiting this url":"Se o botão acima não funcionar, você pode autorizar manualmente este aplicativo visitando esta url","ra_Import and add configuration section":"Seção de importação e adição de configuração","ra_Import and replace configuration section":"Seção de configuração de importação e substituição","ra_Import data from %s file":"Importar dados do arquivo %s","ra_Import from %s":"Importar de %s","ra_Instance %s is alive":"O %s da instância está ativo","ra_Instance %s is not alive":"O %s da instância não está ativo","ra_Instance is not alive":"A instância não está ativa","ra_Invalid CRON":"CRON inválido","ra_Invalid JSON":"JSON inválido","ra_Invalid JSON file.":"Arquivo JSON inválido.","ra_Invalid JSON format. Expected an array.":"Formato JSON inválido. Esperava-se uma matriz.","ra_Invalid answer from server":"Resposta inválida do servidor","ra_Invalid parent folder!":"Pasta pai inválida!","ra_Invalid structure":"Estrutura inválida","ra_JSON editor":"Editor JSON","ra_Last change":"Última mudança",ra_Latitude:wO,"ra_License %s":"Licença %s","ra_License agreement":"Contrato de licença","ra_License does not exist":"A licença não existe","ra_License expired on %s":"A licença expirou em %s",'ra_License for other product "%s"':'Licença para outro produto "%s"',"ra_License is for version %s, but required version is %s.":"A licença é para a versão %s, mas a versão necessária é %s.","ra_License must be converted":"A licença deve ser convertida para uma versão mais recente. Você pode fazê-lo em seu perfil iobroker.net.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"Licença não encontrada no gerenciador de licenças. Deseja atualizar as licenças do iobroker.net?","ra_Listen on all IPs":"Ouça em todos os IPs","ra_Load configuration from file":"Carregar configuração do arquivo",ra_Logout:CO,ra_Longitude:AO,'ra_May not trigger "updateLicenses"':'Pode não acionar "updateLicenses"',ra_Message:mO,ra_Monday:pO,"ra_Move down":"Mover para baixo","ra_Move up":"Subir",ra_Name:OO,"ra_No data found in file":"Nenhum dado encontrado no arquivo","ra_No one license found in license manager":"Nenhuma licença encontrada no gerenciador de licenças","ra_No response from admin":"Nenhuma resposta do administrador","ra_No response from the backend":"Nenhuma resposta do backend",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':'Os não especialistas podem criar novos objetos apenas em "0_userdata.0" ou "alias.0".',"ra_Not a number":"Não é um número",ra_Objects:EO,ra_Ok:_O,"ra_On weekdays":"Nos dias úteis","ra_Only following structures of objects are available:":"Apenas as seguintes estruturas de objetos estão disponíveis:","ra_Only selected":"Apenas selecionado","ra_Owner group":"Grupo proprietário","ra_Owner user":"Usuário proprietário","ra_Passwords are not equal!":"As senhas não são iguais!","ra_Place your files here or click here to open the browse dialog":"Coloque seus arquivos aqui ou clique aqui para abrir a janela de navegação","ra_Please allow popups in your browser for this page!":"Por favor, permita pop-ups no seu navegador para esta página!","ra_Please confirm":"Por favor confirme","ra_Please create license":"Crie uma licença","ra_Please enter the license":"Por favor, insira a licença","ra_Please select file...":"Selecione o arquivo...","ra_Please select object ID...":"Selecione o ID do objeto ...","ra_Port could be used by %s":"A porta pode ser usada por %s","ra_Port is already used by %s":"A porta já está sendo usada por %s","ra_Press ENTER Key to add new item":"Pressione a tecla ENTER para adicionar um novo item","ra_Private certificate":"certificado privado",ra_Product:fO,"ra_Public certificate":"certificado público","ra_Quality code":"Qualidade","ra_Refresh tree":"Atualizar árvore","ra_Reload files":"Recarregar arquivos",ra_Rename_Move_Copy:SO,"ra_Renew %s access":"Renovar acesso %s",ra_Repeat:xO,ra_Replace:kO,"ra_Request timed out":"Solicitação expirou","ra_Restrict to folder":"Restringir à pasta",ra_Root:YO,ra_Saturday:QO,ra_Save:UO,"ra_Save and close":"Salvar e fechar","ra_Save configuration to file":"Salvar configuração em arquivo","ra_Save objects tree as JSON file":"Salvar árvore de objetos como arquivo JSON","ra_Select all":"Selecionar tudo","ra_Select color":"Selecione a cor","ra_Select predefined icon":"Selecione o ícone predefinido","ra_Select type of export":"Selecione o tipo de exportação",ra_Selected:vO,"ra_Selected %s object(s)":"%s objeto(s) selecionado(s)","ra_Serial number (UUID)":"Número de série (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':'O número de série (UUID) "%s" na licença é para outro dispositivo.',"ra_Session will expire in %s seconds. Continue?":"A sessão irá expirar em %s segundos. Continuar?","ra_Show all folders":"Mostrar todas as pastas","ra_Show lines between rows":"Mostrar linhas entre as linhas","ra_Show/Hide object descriptions":"Mostrar/ocultar descrições de objetos","ra_Show/hide filter input":"Mostrar/ocultar entrada de filtro","ra_Some data are not stored. Discard?":"Alguns dados não são armazenados. Descartar?",ra_States:bO,"ra_Successfully authorized. Token valid till %s and will be automatically renewed.":"Autorizado com sucesso. Token válido até %s e será renovado automaticamente.","ra_Successfully authorized. Token valid till %s but it can expire as the instance is not running.":"Autorizado com sucesso. Token válido até %s, mas pode expirar, pois a instância não está em execução.","ra_Suitable license not found in license manager":"Licença adequada não encontrada no gerenciador de licenças",ra_Sunday:$O,"ra_Suppress question for next %s minutes":"Suprimir pergunta nos próximos %s minutos","ra_System language":"Idioma do sistema","ra_Take browser position":"Tomar posição do navegador","ra_Take position from system settings":"Tomar posição a partir das configurações do sistema",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':'Os especialistas podem criar objetos em qualquer lugar, exceto no segundo nível (por exemplo, "vis.0" ou "javascript.0").',"ra_The page you are looking for was not found":"A página que você está procurando não foi encontrada","ra_The schedule will be executed every minute. Are you sure?":"O agendamento será executado a cada minuto. Tem certeza?","ra_The schedule will be executed every second. Are you sure?":"O agendamento será executado a cada segundo. Tem certeza?",ra_Thursday:PO,ra_Timestamp:WO,"ra_Toggle expert mode":"Alternar modo especialista","ra_Toggle the states view":"Alternar a visualização dos estados","ra_Toggle view mode":"Alternar modo de visualização","ra_Too big":"Muito grande","ra_Too small":"Muito pequeno","ra_Transparent dialog":"Diálogo transparente",ra_Tuesday:RO,"ra_Unknown error":"Erro desconhecido","ra_Unknown error!":"Erro desconhecido!",ra_Update:JO,"ra_Upload file":"Subir arquivo","ra_Use all available let's encrypt certificates":"Use todos os certificados disponíveis vamos criptografar","ra_Use iobroker.acme adapter for letsencrypt certificates":"Use o adaptador iobroker.acme para certificados letsencrypt","ra_Use system settings for position":"Use as configurações do sistema para a posição","ra_Used system settings":"Configurações do sistema usadas","ra_User files":"Arquivos do usuário",ra_ValidTill:BO,ra_Value:GO,ra_Version:FO,"ra_View file":"Visualizar arquivo","ra_View: %s":"Visualizar: %s",ra_Wednesday:HO,ra_Width:VO,"ra_YAML editor":"Editor YAML",ra_Yes:ZO,"ra_You can export all objects or just the selected branch.":"Você pode exportar todos os objetos ou apenas a ramificação selecionada.","ra_You can filter entries by entering here some text":"Você pode filtrar as entradas digitando aqui algum texto","ra_You can use * as wildcard":"Você pode usar * como curinga",ra___different__:XO,ra_aclEveryone_read_object:KO,ra_aclEveryone_read_state:qO,ra_aclEveryone_write_object:eE,ra_aclEveryone_write_state:tE,ra_aclGroup_read_object:sE,ra_aclGroup_read_state:iE,ra_aclGroup_write_object:rE,ra_aclGroup_write_state:oE,ra_aclOwner_read_object:ME,ra_aclOwner_read_state:nE,ra_aclOwner_write_object:aE,ra_aclOwner_write_state:cE,ra_buttons:uE,ra_changedFrom:lE,ra_close:NE,ra_create_boolean_state:LE,ra_create_channel:jE,ra_create_device:gE,ra_create_number_state:TE,ra_create_state:yE,ra_create_string_state:DE,ra_daysShortText:dE,ra_dow_Fr:zE,ra_dow_Mo:IE,ra_dow_Sa:hE,ra_dow_Su:wE,ra_dow_Th:CE,ra_dow_Tu:AE,ra_dow_We:mE,ra_expertMode:pE,ra_false:OE,ra_fileType_all:EE,ra_fileType_audio:_E,ra_fileType_code:fE,ra_fileType_images:SE,ra_fileType_txt:xE,ra_fileType_video:kE,"ra_fileType_video,":"Vídeo",ra_filter_customs:YE,ra_filter_customs_without:QE,ra_filter_func:UE,ra_filter_id:vE,ra_filter_name:bE,ra_filter_role:$E,ra_filter_room:PE,ra_filter_type:WE,"ra_import data from %s file":"Importar dados do arquivo %s",ra_invalidConfig:RE,ra_lastChange:JE,ra_locally:BE,ra_month_Apr:GE,ra_month_Aug:FE,ra_month_Dec:HE,ra_month_Feb:VE,ra_month_Jan:ZE,ra_month_Jul:XE,ra_month_Jun:KE,ra_month_Mai:qE,ra_month_Mar:e_,ra_month_Nov:t_,ra_month_Oct:s_,ra_month_Sep:i_,ra_months_Apr:r_,ra_months_Aug:o_,ra_months_Dec:M_,ra_months_Feb:n_,ra_months_Jan:a_,ra_months_Jul:c_,ra_months_Jun:u_,ra_months_Mai:l_,ra_months_Mar:N_,ra_months_Nov:L_,ra_months_Oct:j_,ra_months_Sep:g_,"ra_no confirm for 5 mins":"sem confirmação por 5 minutos",ra_none:T_,ra_object_changed_by:y_,ra_object_changed_by_user:D_,ra_otherConfig:d_,ra_qualityCode:z_,ra_repeat:I_,ra_select_folder_hint:h_,ra_show_all:w_,ra_state_changed_by:C_,ra_state_changed_from:A_,ra_timestamp:m_,ra_tooltip_ack:p_,ra_tooltip_comment:O_,ra_tooltip_copyState:E_,ra_tooltip_ctrlForLink:__,ra_tooltip_customConfig:f_,ra_tooltip_deleteObject:S_,ra_tooltip_editObject:x_,ra_tooltip_editState:k_,ra_tooltip_expire:Y_,ra_tooltip_from:Q_,ra_tooltip_lc:U_,ra_tooltip_quality:v_,ra_tooltip_ts:b_,ra_tooltip_user:$_,ra_tooltip_value:P_,ra_true:W_,"ra_use seconds":"use segundos",ra_val:R_,"ra_via internet":"via internet",ra_warning_every_minute:J_,ra_warning_every_second:B_,sc_cron:G_,sc_date:F_,sc_dates:H_,sc_dow:V_,sc_dows:Z_,sc_every:X_,sc_everyN_dates:K_,sc_everyN_dow:q_,sc_everyN_dows:ef,sc_everyN_hours:tf,sc_everyN_minutes:sf,sc_everyN_months:rf,sc_everyN_seconds:of,sc_every_dates:Mf,sc_every_dow:nf,sc_every_dows:af,sc_every_hours:cf,sc_every_minutes:uf,sc_every_months:lf,sc_every_seconds:Nf,sc_from:Lf,sc_hours:jf,sc_interval:gf,sc_intervalBetween:Tf,sc_invalid_cron:yf,sc_minutes:Df,sc_months:df,sc_once:zf,sc_period:If,sc_seconds:hf,sc_simple:wf,sc_specific:Cf,sc_specific_dates:Af,sc_specific_dow:mf,sc_specific_dows:pf,sc_specific_hours:Of,sc_specific_minutes:Ef,sc_specific_months:_f,sc_specific_seconds:ff,sc_time:Sf,sc_to:xf,sc_wizard:kf,sch_all:Yf,sch_astroDay:Qf,sch_astroNight:Uf,sch_astro_dawn:vf,sch_astro_dusk:bf,sch_astro_goldenHour:$f,sch_astro_goldenHourEnd:Pf,sch_astro_nadir:Wf,sch_astro_nauticalDawn:Rf,sch_astro_nauticalDusk:Jf,sch_astro_night:Bf,sch_astro_nightEnd:Gf,sch_astro_solarNoon:Ff,sch_astro_sunrise:Hf,sch_astro_sunriseEnd:Vf,sch_astro_sunset:Zf,sch_astro_sunsetStart:Xf,sch_at:Kf,sch_desc_atTime:qf,sch_desc_everyDay:eS,sch_desc_everyHour:tS,sch_desc_everyMinute:sS,sch_desc_everyMonth:iS,sch_desc_everyNDay:rS,sch_desc_everyNHours:oS,sch_desc_everyNMinutes:MS,sch_desc_everyNMonths:nS,sch_desc_everyNWeeks:aS,sch_desc_everyNYears:cS,sch_desc_everyWeek:uS,sch_desc_everyYear:lS,sch_desc_intervalFromTo:NS,sch_desc_never:LS,sch_desc_onDate:jS,sch_desc_onDates:gS,sch_desc_onEveryDate:TS,sch_desc_onMonth:yS,sch_desc_onMonths:DS,sch_desc_onWeekday:dS,sch_desc_onWeekdays:zS,sch_desc_onWeekends:IS,sch_desc_onWorkdays:hS,sch_desc_onceInPast:wS,sch_desc_once_on:CS,sch_desc_validFrom:AS,sch_desc_validFromTo:mS,sch_desc_validTo:pS,sch_every:OS,sch_exactTime:ES,sch_from:_S,sch_fromTo:fS,sch_intervalTime:SS,sch_invert:xS,sch_no_one:kS,sch_on:YS,sch_period:QS,sch_periodDaily:US,sch_periodDates:vS,sch_periodDay:bS,sch_periodEvery:$S,sch_periodEveryDay:PS,sch_periodEveryMonth:WS,sch_periodEveryWeek:RS,sch_periodEveryYear:JS,sch_periodHours:BS,sch_periodMinutes:GS,sch_periodMonth:FS,sch_periodMonthly:HS,sch_periodOnce:VS,sch_periodSpecificMonths:ZS,sch_periodWeek:XS,sch_periodWeekdays:KS,sch_periodWeekend:qS,sch_periodWeekly:ex,sch_periodWorkdays:tx,sch_periodYear:sx,sch_periodYearly:ix,sch_specificTime:rx,sch_time:ox,sch_to:Mx,sch_valid:nx,sch_validFrom:ax,sch_validTo:cx,sch_wholeDay:ux,sch_yearEveryMonth:lx},Lx="Acties",jx="toevoegen",gx="Annuleer",Tx="Categorieën",yx="Gecontroleerd",Dx="Verwijderen",dx="Dichtbij",zx="Reclame",Ix="Configureren",hx="Verbonden",wx="Doorgaan",Cx="Gekopieerd",Ax="Creëer",mx="Bijsnijden",px="Delete",Ox="Verwijderen",Ex="Weggooien",_x="Verbinding verbroken",fx="Fout",Sx="Filter",xx="Vrijdag",kx="Breedtegraad",Yx="Uitloggen",Qx="Lengtegraad",Ux="Bericht",vx="Maandag",bx="Naam",$x="Voorwerpen",Px="OK",Wx="Product",Rx="Hernoemen/Verplaatsen/Kopiëren",Jx="Herhaling",Bx="Vervangen",Gx="Wortel",Fx="Zaterdag",Hx="Sparen",Vx="Geselecteerd",Zx="Staten",Xx="Zondag",Kx="Donderdag",qx="Tijdstempel",e5="Dinsdag",t5="Bijwerken",s5="Geldig tot",i5="Waarde",r5="Versie",o5="Woensdag",M5="Breedte",n5="Ja",a5="verschillend",c5="Iedereen kan object lezen",u5="Iedereen kan staat lezen",l5="Iedereen kan object schrijven",N5="Iedereen kan staat schrijven",L5="Groep kan object lezen",j5="Groep kan status lezen",g5="Groep kan object schrijven",T5="Groep kan staat schrijven",y5="Eigenaar kan object lezen",D5="Eigenaar kan staat lezen",d5="Eigenaar kan object schrijven",z5="Eigenaar kan staat schrijven",I5="Toetsen",h5="Veranderd van",w5="dichtbij",C5="Creëer een Booleaanse status",A5="Kanaal maken",m5="Apparaat maken",p5="Nummerstatus maken",O5="Staat creëren",E5="Tekenreeksstatus maken",_5="d.",f5="Fr",S5="Mo",x5="Za",k5="Zo",Y5="Th",Q5="Tu",U5="Wij",v5="Expert modus",b5="ONWAAR",$5="Alle bestanden",P5="Audio",W5="Code/JSON",R5="Afbeeldingen",J5="Tekst",B5="Video",G5="Instellingen",F5="zonder",H5="Functie",V5="ID",Z5="Naam",X5="Rol",K5="Kamer",q5="Type",ek="Ongeldige instellingen",tk="Laatste wijziging",sk="plaatselijk",ik="april",rk="aug",ok="dec",Mk="februari",nk="jan",ak="jul",ck="juni",uk="Mei",lk="mrt",Nk="nov",Lk="Okt",jk="sept",gk="april",Tk="aug",yk="dec",Dk="februari",dk="jan",zk="jul",Ik="juni",hk="Mei",wk="mrt",Ck="nov",Ak="Okt",mk="sept",pk="geen",Ok="Object veranderd door",Ek="Object voor het laatst gewijzigd om",_k="Instellingen van andere adapter %s",fk="Kwaliteitscode",Sk="herhalen",xk='Om een map te selecteren, houdt u gewoon de toets "shift" ingedrukt door op de map te klikken.',kk="Alles weergeven",Yk="Staat veranderd door",Qk="Object veranderd van",Uk="Tijdstempel",vk="Erkende vlag",bk="Opmerking",$k="Kopieer de statuswaarde",Pk="Houd de Cltr/⌘-toets ingedrukt om de link te openen",Wk="Aangepaste instellingen",Rk="Object verwijderen",Jk="Object bewerken",Bk="Bewerk de statuswaarde",Gk="Verloopt over",Fk="Van",Hk="Laatst gewijzigd",Vk="Kwaliteit",Zk="Tijdstempel",Xk="Gebruiker",Kk="Waarde",qk="WAAR",eY="Waarde",tY="Waarschuwing: De CRON-taak wordt elke minuut uitgevoerd gedurende de opgegeven periode!",sY="Waarschuwing: De CRON-taak wordt elke seconde uitgevoerd gedurende de opgegeven periode!",iY="CRON",rY="Datum",oY="data",MY="Dag",nY="Dag van de week",aY="elk",cY="elke N dagen",uY="elke N-de dag van de week",lY="elke N dag van de week",NY="elke N uur",LY="elke N minuten",jY="elke N maanden",gY="elke N seconden",TY="elke dag",yY="elke dag van de week",DY="elke dag van de week",dY="elk uur",zY="elke minuut",IY="elke maand",hY="elke seconde",wY="Van",CY="uren",AY="Interval",mY="Interval tussen",pY="Ongeldige CRON",OY="Notulen",EY="maanden",_Y="Een keer",fY="Periode",SY="seconden",xY="Gemakkelijk",kY="Specifieke tijd",YY="specifieke data",QY="specifieke dag(en) van de week",UY="specifieke dag van weken",vY="specifieke uren",bY="specifieke minuten",$Y="specifieke maanden",PY="specifieke seconden",WY="Tijd",RY="Naar",JY="tovenaar",BY="allemaal",GY="Astro-dag",FY="Astro-nacht",HY="Dageraad",VY="Schemer",ZY="gouden uur",XY="Gouden uur einde",KY="Nadir",qY="Nautische dageraad",eQ="Nautische schemering",tQ="Nacht",sQ="Nacht einde",iQ="Zonne middag",rQ="zonsopkomst",oQ="Sunrise einde",MQ="Zonsondergang",nQ="Zonsondergang start",aQ="Bij",cQ="op %s",uQ="elke dag",lQ="elk uur",NQ="elke minuut",LQ="elke maand",jQ="elke %s dag",gQ="elke %s uur",TQ="elke %s minuten",yQ="elke %s maanden",DQ="elke %s weken",dQ="elke %s jaar",zQ="elke week",IQ="elk jaar",hQ="van %s tot %s",wQ="nooit",CQ="op %s van %s",AQ="op %s en %s van",mQ="op elke datum van",pQ="%s",OQ="%s en %s",EQ="op %s",_Q="op %s en %s",fQ="in het weekend",SQ="op werkdagen",xQ="zal niet meer worden uitgevoerd, omdat start verleden tijd is",kQ="op %s",YQ="van %s",QQ="Uitvoeren van tot",UQ="tot %s",vQ="elk",bQ="Specifieke tijd",$Q="van",PQ="Van naar",WQ="Interval tijd",RQ="omkeren",JQ="geen",BQ="Aan",GQ="Periode",FQ="Dagelijks",HQ="data",VQ="Dag",ZQ="elk",XQ="Elke dag",KQ="Elke maand",qQ="Elke week",eU="Elk jaar",tU="uren",sU="Notulen",iU="maand",rU="Maandelijks",oU="Een keer",MU="Specifieke maanden",nU="Week",aU="Doordeweekse dagen",cU="Weekend",uU="Wekelijks",lU="werkdagen",NU="Jaar",LU="jaar-",jU="Specifieke tijd",gU="Tijd",TU="naar",yU="Geldig",DU="van",dU="naar",zU="Hele dag",IU="elke maand",hU={"ra_%s links from aliases":"%s links van aliassen","ra_%s object(s) processed":"%s object(en) verwerkt","ra_%s was imported":"%s is geïmporteerd","ra_Accept license":"Accepteer licentie",ra_Actions:Lx,"ra_Add new child object to selected parent":"Voeg een nieuw kindobject toe aan het geselecteerde bovenliggende object","ra_Add objects tree from JSON file":"Objectenboom toevoegen vanuit JSON-bestand","ra_Add row":"Voeg een rij toe","ra_Advanced options":"Geavanceerde mogelijkheden","ra_All items are filtered out":"Alle items zijn uitgefilterd","ra_All objects":"Alle objecten",ra_Append:jx,"ra_Append %s entries or replace existing?":"%s ingangen toevoegen of bestaande vervangen?","ra_Append or replace?":"Toevoegen of vervangen?","ra_Are you sure?":"Weet je het zeker?","ra_Auto (no custom columns)":"Auto (geen aangepaste kolommen)","ra_Back to %s":"Terug naar %s","ra_Background image":"Achtergrond afbeelding",ra_Cancel:gx,"ra_Cannot add items with set filter":"Kan geen items toevoegen met ingestelde filter","ra_Cannot decode license":"Kan licentie niet decoderen","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"Kan positie niet bepalen: systeeminstellingen zijn leeg en GPS-detectie is uitgeschakeld in browser",'ra_Cannot find "%s"':'Kan "%s" niet vinden','ra_Cannot read "%s"':'Kan "%s" niet lezen',"ra_Cannot read licenses: %s":"Kan licenties niet lezen: %s","ra_Cannot retrieve options, as instance is offline":"Kan opties niet ophalen, omdat instantie offline is","ra_Cannot update attribute, because not found in the object":"Kan kenmerk niet bijwerken, omdat het niet in het object is gevonden","ra_Cannot upload":"Kan niet uploaden",ra_Categories:Tx,"ra_Chained certificate":"Geketend certificaat","ra_Change color theme":"Kleurthema wijzigen","ra_Changed from":"Veranderd van","ra_Channel → State":"Kanaal → Staat","ra_Check license":"Licentie controleren",ra_Checked:yx,ra_Clear:Dx,"ra_Clear filter":"Filter wissen","ra_Clear icon":"Pictogram wissen","ra_Click to show":"Klik om te tonen","ra_Clone current row":"Kloon de huidige rij",ra_Close:dx,"ra_Collapse all nodes":"Vouw alle knooppunten samen","ra_Collapse one step node":"Eén niveau samenvouwen",ra_Commercial:zx,ra_Configure:Ix,"ra_Configure visible columns":"Configureer zichtbare kolommen","ra_Confirm deletion of %s":"Bevestig het verwijderen van %s",ra_Connected:hx,ra_Continue:wx,ra_Copied:Cx,"ra_Copied %s":'"%s" gekopieerd',"ra_Copy content":"Inhoud kopiëren",ra_Create:Ax,"ra_Create alias":"Alias maken","ra_Create folder":"Map aanmaken","ra_Create new folder in %s":"Maak een nieuwe map in %s",ra_Crop:mx,"ra_Define CRON...":"Definieer CRON...","ra_Define functions":"Definieer functies","ra_Define rooms":"Definieer kamers","ra_Define schedule":"Definieer schema","ra_Define schedule...":"Schema definiëren ...",ra_Del:px,ra_Delete:Ox,"ra_Delete current row":"Huidige rij verwijderen","ra_Deselect all":"Deselecteer alles","ra_Device → Channel → State":"Apparaat → Kanaal → Staat","ra_Disable/Enable translation":"Vertaling uitschakelen/inschakelen",ra_Discard:Ex,ra_Disconnected:_x,"ra_Do not ask for next 2 hours in this session":"Vraag niet om de volgende 2 uur in deze sessie","ra_Do not export values of states":"Exporteer geen waarden van staten","ra_Do not use let's encrypt":"Gebruik geen let's encrypt","ra_Docker is not available":"Docker is niet beschikbaar","ra_Docker is not installed or not running":"Docker is niet geïnstalleerd of draait niet","ra_Double click to reset table layout":"Dubbelklik om de tafelindeling te resetten","ra_Drag 'n' drop some files here, or click to select files":"Sleep enkele bestanden hierheen, of klik om bestanden te selecteren","ra_Drop file here":"Zet het bestand hier neer","ra_Drop the files here...":"Zet het bestand hier neer...","ra_Duplicate name":"Dubbele naam","ra_Edit ACL":"ACL bewerken","ra_Edit alias":"Alias bewerken","ra_Edit custom config":"Bewerk aangepaste config","ra_Edit full path":"Volledig pad bewerken","ra_Edit function":"Bewerkingsfunctie","ra_Edit object field":"Bewerk objectveld","ra_Edit role":"Rol bewerken","ra_Edit room":"Kamer bewerken","ra_Edit value":"Waarde bewerken","ra_Enter the code from that page here":"Voer hier de code van die pagina in",ra_Error:fx,"ra_Expand all nodes":"Vouw alle knooppunten uit","ra_Expand one step node":"Vouw een niveau uit","ra_Expand/Collapse card":"Kaart uit-/inklappen","ra_Export configuration section":"Sectie Exportconfiguratie","ra_Export data to %s file":"Exporteer gegevens naar %s bestand","ra_Failed to open JSON File":"JSON-bestand kan niet worden geopend","ra_Fallback custom certificates":"Fallback aangepaste certificaten","ra_File is too big. Max %sk allowed. Try use SVG.":"Bestand is te groot. Max. %sk toegestaan. Probeer SVG te gebruiken.",ra_Filter:Sx,"ra_Filter and Data Actions":"Filter- en gegevensacties","ra_Filter files":"Bestanden filteren","ra_Folder name":"Naam van de map","ra_Folder → Channel → State":"Map → Kanaal → Staat","ra_Folder → Device → Channel → State":"Map → Apparaat → Kanaal → Staat","ra_Folder → State":"Map → Staat","ra_Folders always first":"Mappen altijd eerst",ra_Friday:xx,"ra_From file":"Van bestand","ra_From text":"Van tekst","ra_Get %s access":"Krijg %s toegang","ra_Good luck":"Veel geluk","ra_Hide empty folders":"Verberg lege mappen","ra_If no file will be created in the folder, it will disappear after the browser closed":"Als er geen bestand in de map wordt gemaakt, verdwijnt het nadat de browser is gesloten","ra_If the button above does not work, you can authorize manually this app by visiting this url":"Als de bovenstaande knop niet werkt, kunt u deze app handmatig autoriseren door deze url te bezoeken","ra_Import and add configuration section":"Configuratiesectie importeren en toevoegen","ra_Import and replace configuration section":"Configuratiesectie importeren en vervangen","ra_Import data from %s file":"Importeer gegevens uit %s bestand","ra_Import from %s":"Importeren uit %s","ra_Instance %s is alive":"Instantie %s leeft","ra_Instance %s is not alive":"Instantie %s is niet actief","ra_Instance is not alive":"Instantie leeft niet","ra_Invalid CRON":"Ongeldige CRON","ra_Invalid JSON":"Ongeldige JSON","ra_Invalid JSON file.":"Ongeldig JSON-bestand.","ra_Invalid JSON format. Expected an array.":"Ongeldige JSON-indeling. Er werd een array verwacht.","ra_Invalid answer from server":"Ongeldig antwoord van de server","ra_Invalid parent folder!":"Ongeldige bovenliggende map!","ra_Invalid structure":"Ongeldige structuur","ra_JSON editor":"JSON-editor","ra_Last change":"Laatste wijziging",ra_Latitude:kx,"ra_License %s":"Licentie %s","ra_License agreement":"Licentieovereenkomst","ra_License does not exist":"Licentie bestaat niet","ra_License expired on %s":"Licentie verlopen op %s",'ra_License for other product "%s"':'Licentie voor ander product "%s"',"ra_License is for version %s, but required version is %s.":"Licentie is voor versie %s, maar vereiste versie is %s.","ra_License must be converted":"Licentie moet worden omgezet naar nieuwere versie. U kunt dit doen in uw iobroker.net-profiel.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"Licentie niet gevonden in licentiebeheer. Wilt u licenties van iobroker.net bijwerken?","ra_Listen on all IPs":"Luister op alle IP's","ra_Load configuration from file":"Laad configuratie uit bestand",ra_Logout:Yx,ra_Longitude:Qx,'ra_May not trigger "updateLicenses"':'Activeert mogelijk niet "updateLicenses"',ra_Message:Ux,ra_Monday:vx,"ra_Move down":"Naar beneden verplaatsen","ra_Move up":"Omhoog gaan",ra_Name:bx,"ra_No data found in file":"Geen gegevens gevonden in bestand","ra_No one license found in license manager":"Geen enkele licentie gevonden in licentiebeheer","ra_No response from admin":"Geen reactie van de beheerder","ra_No response from the backend":"Geen reactie van de backend",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':'Niet-experts mogen alleen nieuwe objecten maken in "0_userdata.0" of "alias.0".',"ra_Not a number":"Geen nummer",ra_Objects:$x,ra_Ok:Px,"ra_On weekdays":"Op weekdagen","ra_Only following structures of objects are available:":"Alleen de volgende structuren van objecten zijn beschikbaar:","ra_Only selected":"Alleen geselecteerd","ra_Owner group":"Eigenaarsgroep","ra_Owner user":"Eigenaar gebruiker","ra_Passwords are not equal!":"Wachtwoorden zijn niet gelijk!","ra_Place your files here or click here to open the browse dialog":"Plaats uw bestanden hier of klik hier om het bladervenster te openen","ra_Please allow popups in your browser for this page!":"Sta pop-ups toe in uw browser voor deze pagina!","ra_Please confirm":"Bevestig alstublieft","ra_Please create license":"Maak een licentie aan","ra_Please enter the license":"Voer de licentie in","ra_Please select file...":"Selecteer bestand...","ra_Please select object ID...":"Selecteer object-ID ...","ra_Port could be used by %s":"Poort kan worden gebruikt door %s","ra_Port is already used by %s":"Poort wordt al gebruikt door %s","ra_Press ENTER Key to add new item":"Druk op de ENTER-toets om een nieuw item toe te voegen","ra_Private certificate":"Privé certificaat",ra_Product:Wx,"ra_Public certificate":"Openbaar certificaat","ra_Quality code":"Kwaliteit","ra_Refresh tree":"Vernieuw de boom","ra_Reload files":"Laad bestanden opnieuw",ra_Rename_Move_Copy:Rx,"ra_Renew %s access":"%s toegang verlengen",ra_Repeat:Jx,ra_Replace:Bx,"ra_Request timed out":"Verzoek verlopen","ra_Restrict to folder":"Beperken tot map",ra_Root:Gx,ra_Saturday:Fx,ra_Save:Hx,"ra_Save and close":"Opslaan en afsluiten","ra_Save configuration to file":"Sla de configuratie op in een bestand","ra_Save objects tree as JSON file":"Sla de objectenboom op als JSON-bestand","ra_Select all":"Selecteer alles","ra_Select color":"Selecteer kleur","ra_Select predefined icon":"Selecteer voorgedefinieerd pictogram","ra_Select type of export":"Selecteer het type export",ra_Selected:Vx,"ra_Selected %s object(s)":"Geselecteerde %s object(en)","ra_Serial number (UUID)":"Serienummer (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':'Serienummer (UUID) "%s" in licentie is voor ander apparaat.',"ra_Session will expire in %s seconds. Continue?":"Sessie verloopt over %s seconden. Doorgaan?","ra_Show all folders":"Toon alle mappen","ra_Show lines between rows":"Toon lijnen tussen rijen","ra_Show/Hide object descriptions":"Toon/verberg objectbeschrijvingen","ra_Show/hide filter input":"Filterinvoer weergeven/verbergen","ra_Some data are not stored. Discard?":"Sommige gegevens worden niet opgeslagen. Weggooien?",ra_States:Zx,"ra_Successfully authorized. Token valid till %s and will be automatically renewed.":"Succesvol geautoriseerd. Token geldig tot %s en wordt automatisch verlengd.","ra_Successfully authorized. Token valid till %s but it can expire as the instance is not running.":"Succesvol geautoriseerd. Token geldig tot %s, maar kan verlopen omdat de instantie niet actief is.","ra_Suitable license not found in license manager":"Geschikte licentie niet gevonden in licentiebeheer",ra_Sunday:Xx,"ra_Suppress question for next %s minutes":"Vraag de volgende %s minuten onderdrukken","ra_System language":"Systeemtaal","ra_Take browser position":"Positie innemen vanuit de browser","ra_Take position from system settings":"Neem positie over van systeeminstellingen",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':'De experts kunnen overal objecten maken, behalve vanaf het tweede niveau (bijv. "Vis.0" of "javascript.0").',"ra_The page you are looking for was not found":"De pagina die u zoekt is niet gevonden","ra_The schedule will be executed every minute. Are you sure?":"Het schema wordt elke minuut uitgevoerd. Weet u het zeker?","ra_The schedule will be executed every second. Are you sure?":"Het schema wordt elke seconde uitgevoerd. Weet je het zeker?",ra_Thursday:Kx,ra_Timestamp:qx,"ra_Toggle expert mode":"Schakel tussen expertmodus","ra_Toggle the states view":"Schakel de statusweergave in of uit","ra_Toggle view mode":"Schakelen tussen weergavemodus","ra_Too big":"Te groot","ra_Too small":"Te klein","ra_Transparent dialog":"Transparant dialoogvenster",ra_Tuesday:e5,"ra_Unknown error":"Onbekende fout","ra_Unknown error!":"Onbekende fout!",ra_Update:t5,"ra_Upload file":"Upload bestand","ra_Use all available let's encrypt certificates":"Gebruik alle beschikbare Let's Encrypt-certificaten","ra_Use iobroker.acme adapter for letsencrypt certificates":"Gebruik de iobroker.acme-adapter voor letsencrypt-certificaten","ra_Use system settings for position":"Gebruik systeeminstellingen voor positie","ra_Used system settings":"Gebruikte systeeminstellingen","ra_User files":"Gebruikersbestanden",ra_ValidTill:s5,ra_Value:i5,ra_Version:r5,"ra_View file":"Bestand bekijken","ra_View: %s":"Bekijk: %s",ra_Wednesday:o5,ra_Width:M5,"ra_YAML editor":"YAML-editor",ra_Yes:n5,"ra_You can export all objects or just the selected branch.":"U kunt alle objecten of alleen de geselecteerde tak exporteren.","ra_You can filter entries by entering here some text":"U kunt items filteren door hier wat tekst in te voeren","ra_You can use * as wildcard":"U kunt * als joker gebruiken",ra___different__:a5,ra_aclEveryone_read_object:c5,ra_aclEveryone_read_state:u5,ra_aclEveryone_write_object:l5,ra_aclEveryone_write_state:N5,ra_aclGroup_read_object:L5,ra_aclGroup_read_state:j5,ra_aclGroup_write_object:g5,ra_aclGroup_write_state:T5,ra_aclOwner_read_object:y5,ra_aclOwner_read_state:D5,ra_aclOwner_write_object:d5,ra_aclOwner_write_state:z5,ra_buttons:I5,ra_changedFrom:h5,ra_close:w5,ra_create_boolean_state:C5,ra_create_channel:A5,ra_create_device:m5,ra_create_number_state:p5,ra_create_state:O5,ra_create_string_state:E5,ra_daysShortText:_5,ra_dow_Fr:f5,ra_dow_Mo:S5,ra_dow_Sa:x5,ra_dow_Su:k5,ra_dow_Th:Y5,ra_dow_Tu:Q5,ra_dow_We:U5,ra_expertMode:v5,ra_false:b5,ra_fileType_all:$5,ra_fileType_audio:P5,ra_fileType_code:W5,ra_fileType_images:R5,ra_fileType_txt:J5,ra_fileType_video:B5,"ra_fileType_video,":"Video",ra_filter_customs:G5,ra_filter_customs_without:F5,ra_filter_func:H5,ra_filter_id:V5,ra_filter_name:Z5,ra_filter_role:X5,ra_filter_room:K5,ra_filter_type:q5,"ra_import data from %s file":"Importeer gegevens uit %s bestand",ra_invalidConfig:ek,ra_lastChange:tk,ra_locally:sk,ra_month_Apr:ik,ra_month_Aug:rk,ra_month_Dec:ok,ra_month_Feb:Mk,ra_month_Jan:nk,ra_month_Jul:ak,ra_month_Jun:ck,ra_month_Mai:uk,ra_month_Mar:lk,ra_month_Nov:Nk,ra_month_Oct:Lk,ra_month_Sep:jk,ra_months_Apr:gk,ra_months_Aug:Tk,ra_months_Dec:yk,ra_months_Feb:Dk,ra_months_Jan:dk,ra_months_Jul:zk,ra_months_Jun:Ik,ra_months_Mai:hk,ra_months_Mar:wk,ra_months_Nov:Ck,ra_months_Oct:Ak,ra_months_Sep:mk,"ra_no confirm for 5 mins":"geen bevestiging gedurende 5 minuten",ra_none:pk,ra_object_changed_by:Ok,ra_object_changed_by_user:Ek,ra_otherConfig:_k,ra_qualityCode:fk,ra_repeat:Sk,ra_select_folder_hint:xk,ra_show_all:kk,ra_state_changed_by:Yk,ra_state_changed_from:Qk,ra_timestamp:Uk,ra_tooltip_ack:vk,ra_tooltip_comment:bk,ra_tooltip_copyState:$k,ra_tooltip_ctrlForLink:Pk,ra_tooltip_customConfig:Wk,ra_tooltip_deleteObject:Rk,ra_tooltip_editObject:Jk,ra_tooltip_editState:Bk,ra_tooltip_expire:Gk,ra_tooltip_from:Fk,ra_tooltip_lc:Hk,ra_tooltip_quality:Vk,ra_tooltip_ts:Zk,ra_tooltip_user:Xk,ra_tooltip_value:Kk,ra_true:qk,"ra_use seconds":"gebruik seconden",ra_val:eY,"ra_via internet":"via internet",ra_warning_every_minute:tY,ra_warning_every_second:sY,sc_cron:iY,sc_date:rY,sc_dates:oY,sc_dow:MY,sc_dows:nY,sc_every:aY,sc_everyN_dates:cY,sc_everyN_dow:uY,sc_everyN_dows:lY,sc_everyN_hours:NY,sc_everyN_minutes:LY,sc_everyN_months:jY,sc_everyN_seconds:gY,sc_every_dates:TY,sc_every_dow:yY,sc_every_dows:DY,sc_every_hours:dY,sc_every_minutes:zY,sc_every_months:IY,sc_every_seconds:hY,sc_from:wY,sc_hours:CY,sc_interval:AY,sc_intervalBetween:mY,sc_invalid_cron:pY,sc_minutes:OY,sc_months:EY,sc_once:_Y,sc_period:fY,sc_seconds:SY,sc_simple:xY,sc_specific:kY,sc_specific_dates:YY,sc_specific_dow:QY,sc_specific_dows:UY,sc_specific_hours:vY,sc_specific_minutes:bY,sc_specific_months:$Y,sc_specific_seconds:PY,sc_time:WY,sc_to:RY,sc_wizard:JY,sch_all:BY,sch_astroDay:GY,sch_astroNight:FY,sch_astro_dawn:HY,sch_astro_dusk:VY,sch_astro_goldenHour:ZY,sch_astro_goldenHourEnd:XY,sch_astro_nadir:KY,sch_astro_nauticalDawn:qY,sch_astro_nauticalDusk:eQ,sch_astro_night:tQ,sch_astro_nightEnd:sQ,sch_astro_solarNoon:iQ,sch_astro_sunrise:rQ,sch_astro_sunriseEnd:oQ,sch_astro_sunset:MQ,sch_astro_sunsetStart:nQ,sch_at:aQ,sch_desc_atTime:cQ,sch_desc_everyDay:uQ,sch_desc_everyHour:lQ,sch_desc_everyMinute:NQ,sch_desc_everyMonth:LQ,sch_desc_everyNDay:jQ,sch_desc_everyNHours:gQ,sch_desc_everyNMinutes:TQ,sch_desc_everyNMonths:yQ,sch_desc_everyNWeeks:DQ,sch_desc_everyNYears:dQ,sch_desc_everyWeek:zQ,sch_desc_everyYear:IQ,sch_desc_intervalFromTo:hQ,sch_desc_never:wQ,sch_desc_onDate:CQ,sch_desc_onDates:AQ,sch_desc_onEveryDate:mQ,sch_desc_onMonth:pQ,sch_desc_onMonths:OQ,sch_desc_onWeekday:EQ,sch_desc_onWeekdays:_Q,sch_desc_onWeekends:fQ,sch_desc_onWorkdays:SQ,sch_desc_onceInPast:xQ,sch_desc_once_on:kQ,sch_desc_validFrom:YQ,sch_desc_validFromTo:QQ,sch_desc_validTo:UQ,sch_every:vQ,sch_exactTime:bQ,sch_from:$Q,sch_fromTo:PQ,sch_intervalTime:WQ,sch_invert:RQ,sch_no_one:JQ,sch_on:BQ,sch_period:GQ,sch_periodDaily:FQ,sch_periodDates:HQ,sch_periodDay:VQ,sch_periodEvery:ZQ,sch_periodEveryDay:XQ,sch_periodEveryMonth:KQ,sch_periodEveryWeek:qQ,sch_periodEveryYear:eU,sch_periodHours:tU,sch_periodMinutes:sU,sch_periodMonth:iU,sch_periodMonthly:rU,sch_periodOnce:oU,sch_periodSpecificMonths:MU,sch_periodWeek:nU,sch_periodWeekdays:aU,sch_periodWeekend:cU,sch_periodWeekly:uU,sch_periodWorkdays:lU,sch_periodYear:NU,sch_periodYearly:LU,sch_specificTime:jU,sch_time:gU,sch_to:TU,sch_valid:yU,sch_validFrom:DU,sch_validTo:dU,sch_wholeDay:zU,sch_yearEveryMonth:IU},wU="Actes",CU="Ajouter",AU="Annuler",mU="Catégories",pU="Vérifié",OU="Effacer",EU="Fermer",_U="Commercial",fU="Configurer",SU="Lié",xU="Continuer",kU="Copié",YU="Créer",QU="Recadrer",UU="Delete",vU="Supprimer",bU="Jeter",$U="Débranché",PU="Erreur",WU="Filtre",RU="Vendredi",JU="Latitude",BU="Déconnexion",GU="Longitude",FU="Message",HU="Lundi",VU="Nom",ZU="Objets",XU="D'accord",KU="Produit",qU="Renommer/Déplacer/Copier",ev="Répéter",tv="Remplacer",sv="Racine",iv="Samedi",rv="sauver",ov="Choisi",Mv="États",nv="Dimanche",av="Jeudi",cv="Horodatage",uv="Mardi",lv="Mise à jour",Nv="Valable jusqu'au",Lv="Valeur",jv="Version",gv="Mercredi",Tv="Largeur",yv="Oui",Dv="différent",dv="Tout le monde peut lire un objet",zv="Tout le monde peut lire l'état",Iv="Tout le monde peut écrire un objet",hv="Tout le monde peut écrire l'état",wv="Le groupe peut lire l'objet",Cv="Le groupe peut lire l'état",Av="Le groupe peut écrire un objet",mv="Le groupe peut écrire l'état",pv="Le propriétaire peut lire l'objet",Ov="Le propriétaire peut lire l'état",Ev="Le propriétaire peut écrire un objet",_v="Le propriétaire peut écrire l'état",fv="Boutons",Sv="Changé de",xv="Fermer",kv="Créer un état booléen",Yv="Créer une chaîne",Qv="Créer un appareil",Uv="Créer un état de numéro",vv="Créer un état",bv="Créer un état de chaîne",$v="j.",Pv="Fr",Wv="Mo",Rv="Sa",Jv="Su",Bv="Th",Gv="Tu",Fv="Nous",Hv="Mode expert",Vv="FAUX",Zv="Tous les fichiers",Xv="l'audio",Kv="Code/JSON",qv="Images",e6="Texte",t6="Vidéo",s6="Paramètres",i6="sans",r6="Une fonction",o6="ID",M6="Prénom",n6="Rôle",a6="Pièce",c6="Type",u6="Paramètres invalides",l6="Dernier changement",N6="localement",L6="Avr",j6="Août",g6="Déc",T6="Fév",y6="Jan",D6="Juil",d6="Juin",z6="Mai",I6="Mar",h6="Nov",w6="Oct",C6="Sep",A6="Avr",m6="Août",p6="Déc",O6="Fév",E6="Jan",_6="Juil",f6="Juin",S6="Mai",x6="Mar",k6="Nov",Y6="Oct",Q6="Sep",U6="rien",v6="Objet modifié par",b6="Objet modifié pour la dernière fois à",$6="Paramètres d'un autre adaptateur %s",P6="Code de qualité",W6="répéter",R6='Pour sélectionner un dossier, maintenez simplement la touche "shift" enfoncée en cliquant sur le dossier.',J6="Tout afficher",B6="État modifié par",G6="Objet changé de",F6="Horodatage",H6="Drapeau reconnu",V6="Commentaire",Z6="Copiez la valeur d'état",X6="Maintenez la touche Cltr/⌘ enfoncée pour ouvrir le lien",K6="Paramètres personnalisés",q6="Supprimer un objet",e8="Modifier l'objet",t8="Modifier la valeur d'état",s8="Expire dans",i8="De",r8="Dernière modification",o8="Qualité",M8="Horodatage",n8="Utilisateur",a8="Valeur",c8="VRAI",u8="Valeur",l8="Attention : la tâche CRON s’exécutera toutes les minutes pendant la période spécifiée !",N8="Attention : la tâche CRON s’exécutera toutes les secondes pendant la période spécifiée !",L8="CRON",j8="Date",g8="Rendez-vous",T8="Jour",y8="Jour de la semaine",D8="Chaque",d8="tous les N jours",z8="chaque Nième jour de la semaine",I8="tous les N jours de la semaine",h8="toutes les N heures",w8="toutes les N minutes",C8="tous les N mois",A8="toutes les N secondes",m8="tous les jours",p8="Chaque jour de la semaine",O8="Chaque jour de la semaine",E8="Toutes les heures",_8="chaque minute",f8="chaque mois",S8="chaque seconde",x8="De",k8="Heures",Y8="Intervalle",Q8="Intervalle entre",U8="CRON non valide",v8="Minutes",b8="mois",$8="Une fois que",P8="Période",W8="Secondes",R8="Facile",J8="Temps spécifique",B8="dates spécifiques",G8="jour(s) spécifique(s) de la semaine",F8="jour spécifique de semaines",H8="heures spécifiques",V8="minutes spécifiques",Z8="mois spécifiques",X8="secondes spécifiques",K8="Temps",q8="À",eb="sorcier",tb="tout",sb="Journée astronomique",ib="Nuit astronomique",rb="Aube",ob="Crépuscule",Mb="Heure d'or",nb="Fin de l'heure d'or",ab="Nadir",cb="Aube nautique",ub="Crépuscule nautique",lb="Nuit",Nb="Fin de nuit",Lb="Midi solaire",jb="lever du soleil",gb="Fin du lever du soleil",Tb="Le coucher du soleil",yb="Coucher du soleil",Db="à",db="à %s",zb="tous les jours",Ib="Toutes les heures",hb="chaque minute",wb="chaque mois",Cb="chaque %s jour",Ab="chaque %s heures",mb="toutes les %s minutes",pb="tous les %s mois",Ob="chaque %s semaines",Eb="tous les %s ans",_b="toutes les semaines",fb="chaque année",Sb="de %s à %s",xb="jamais",kb="sur %s de %s",Yb="sur %s et %s de",Qb="à chaque date de",Ub="%s",vb="%s et %s",bb="sur %s",$b="sur %s et %s",Pb="les weekends",Wb="les jours ouvrables",Rb="ne sera plus exécuté, car start est dans le passé",Jb="sur %s",Bb="de %s",Gb="Exécuter de à",Fb="à %s",Hb="chaque",Vb="Temps spécifique",Zb="de",Xb="De à",Kb="Temps d'interval",qb="inverser",e9="aucun",t9="sur",s9="Période",i9="du quotidien",r9="Rendez-vous",o9="journée",M9="Chaque",n9="Tous les jours",a9="Chaque mois",c9="Toutes les semaines",u9="Chaque année",l9="Heures",N9="Minutes",L9="mois",j9="Mensuel",g9="Une fois que",T9="Mois spécifiques",y9="La semaine",D9="Jours de la semaine",d9="Weekend",z9="Hebdomadaire",I9="Jours ouvrables",h9="Année",w9="Annuel",C9="Temps spécifique",A9="Temps",m9="à",p9="Valide",O9="de",E9="à",_9="Toute la journée",f9="chaque mois",S9={"ra_%s links from aliases":"%s liens provenant d'alias","ra_%s object(s) processed":"%s objet(s) traité(s)","ra_%s was imported":"%s a été importé","ra_Accept license":"Accepter la licence",ra_Actions:wU,"ra_Add new child object to selected parent":"Ajouter un nouvel objet enfant au parent sélectionné","ra_Add objects tree from JSON file":"Ajouter une arborescence d'objets à partir d'un fichier JSON","ra_Add row":"Ajouter une rangée","ra_Advanced options":"Options avancées","ra_All items are filtered out":"Tous les éléments sont filtrés","ra_All objects":"Tous les objets",ra_Append:CU,"ra_Append %s entries or replace existing?":"Ajouter %s entrées ou remplacer l'existant ?","ra_Append or replace?":"Ajouter ou remplacer ?","ra_Are you sure?":"Êtes-vous sûr?","ra_Auto (no custom columns)":"Auto (pas de colonnes personnalisées)","ra_Back to %s":"Retour à %s","ra_Background image":"Image de fond",ra_Cancel:AU,"ra_Cannot add items with set filter":"Impossible d'ajouter des éléments avec le filtre défini","ra_Cannot decode license":"Impossible de décoder la licence","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"Impossible de déterminer la position : les paramètres système sont vides et la détection GPS est désactivée dans le navigateur",'ra_Cannot find "%s"':'Impossible de trouver "%s"','ra_Cannot read "%s"':'Impossible de lire "%s"',"ra_Cannot read licenses: %s":"Impossible de lire les licences : %s","ra_Cannot retrieve options, as instance is offline":"Impossible de récupérer les options, car l'instance est hors ligne","ra_Cannot update attribute, because not found in the object":"Impossible de mettre à jour l'attribut, car il est introuvable dans l'objet","ra_Cannot upload":"Impossible de télécharger",ra_Categories:mU,"ra_Chained certificate":"Certificat chaîné","ra_Change color theme":"Changer le thème de couleur","ra_Changed from":"Changé de","ra_Channel → State":"Canal → État","ra_Check license":"Vérifier la licence",ra_Checked:pU,ra_Clear:OU,"ra_Clear filter":"Effacer le filtre","ra_Clear icon":"Effacer l'icône","ra_Click to show":"Cliquez pour afficher","ra_Clone current row":"Cloner la ligne actuelle",ra_Close:EU,"ra_Collapse all nodes":"Réduire tous les nœuds","ra_Collapse one step node":"Réduire d'un niveau",ra_Commercial:_U,ra_Configure:fU,"ra_Configure visible columns":"Configurer les colonnes visibles","ra_Confirm deletion of %s":"Confirmer la suppression de %s",ra_Connected:SU,ra_Continue:xU,ra_Copied:kU,"ra_Copied %s":'"%s" copié',"ra_Copy content":"Copier le contenu",ra_Create:YU,"ra_Create alias":"Créer un alias","ra_Create folder":"Créer le dossier","ra_Create new folder in %s":"Créer un nouveau dossier dans %s",ra_Crop:QU,"ra_Define CRON...":"Définir CRON...","ra_Define functions":"Définir des fonctions","ra_Define rooms":"Définir des pièces","ra_Define schedule":"Définir le calendrier","ra_Define schedule...":"Définir le calendrier ...",ra_Del:UU,ra_Delete:vU,"ra_Delete current row":"Supprimer la ligne actuelle","ra_Deselect all":"Tout déselectionner","ra_Device → Channel → State":"Appareil → Canal → État","ra_Disable/Enable translation":"Activer/Désactiver la traduction",ra_Discard:bU,ra_Disconnected:$U,"ra_Do not ask for next 2 hours in this session":"Ne demandez pas les 2 prochaines heures de cette session","ra_Do not export values of states":"Ne pas exporter les valeurs des états","ra_Do not use let's encrypt":"Ne pas utiliser let's encrypt","ra_Docker is not available":"Docker n'est pas disponible","ra_Docker is not installed or not running":"Docker n'est pas installé ou n'est pas en cours d'exécution","ra_Double click to reset table layout":"Double-cliquez pour réinitialiser la disposition du tableau","ra_Drag 'n' drop some files here, or click to select files":"Glissez-déposez des fichiers ici, ou cliquez pour sélectionner des fichiers","ra_Drop file here":"Déposer le fichier ici","ra_Drop the files here...":"Déposez le fichier ici...","ra_Duplicate name":"Nom en double","ra_Edit ACL":"Modifier la LCA","ra_Edit alias":"Modifier l'alias","ra_Edit custom config":"Modifier la configuration personnalisée","ra_Edit full path":"Modifier le chemin complet","ra_Edit function":"Fonction d'édition","ra_Edit object field":"Modifier le champ d'objet","ra_Edit role":"Modifier le rôle","ra_Edit room":"Modifier la salle","ra_Edit value":"Modifier la valeur","ra_Enter the code from that page here":"Entrez le code de cette page ici",ra_Error:PU,"ra_Expand all nodes":"Développer tous les nœuds","ra_Expand one step node":"Développer un niveau","ra_Expand/Collapse card":"Carte Développer/Réduire","ra_Export configuration section":"Exporter la section de configuration","ra_Export data to %s file":"Exporter les données vers le fichier %s","ra_Failed to open JSON File":"Échec de l'ouverture du fichier JSON","ra_Fallback custom certificates":"Certificats personnalisés de secours","ra_File is too big. Max %sk allowed. Try use SVG.":"Le fichier est trop volumineux. Max %sk autorisé. Essayez d'utiliser SVG.",ra_Filter:WU,"ra_Filter and Data Actions":"Actions sur les filtres et les données","ra_Filter files":"Filtrer les fichiers","ra_Folder name":"Nom de dossier","ra_Folder → Channel → State":"Dossier → Chaîne → État","ra_Folder → Device → Channel → State":"Dossier → Appareil → Canal → État","ra_Folder → State":"Dossier → État","ra_Folders always first":"Les dossiers toujours en premier",ra_Friday:RU,"ra_From file":"À partir du fichier","ra_From text":"À partir du texte","ra_Get %s access":"Obtenir l'accès %s","ra_Good luck":"Bonne chance","ra_Hide empty folders":"Masquer les dossiers vides","ra_If no file will be created in the folder, it will disappear after the browser closed":"Si aucun fichier ne sera créé dans le dossier, il disparaîtra après la fermeture du navigateur","ra_If the button above does not work, you can authorize manually this app by visiting this url":"Si le bouton ci-dessus ne fonctionne pas, vous pouvez autoriser manuellement cette application en visitant cette URL","ra_Import and add configuration section":"Importer et ajouter la section de configuration","ra_Import and replace configuration section":"Importer et remplacer la section de configuration","ra_Import data from %s file":"Importer des données à partir du fichier %s","ra_Import from %s":"Importer depuis %s","ra_Instance %s is alive":"L'instance %s est active","ra_Instance %s is not alive":"L'instance %s n'est pas active","ra_Instance is not alive":"L'instance n'est pas active","ra_Invalid CRON":"CRON invalide","ra_Invalid JSON":"JSON invalide","ra_Invalid JSON file.":"Fichier JSON invalide.","ra_Invalid JSON format. Expected an array.":"Format JSON invalide. Tableau attendu.","ra_Invalid answer from server":"Réponse invalide du serveur","ra_Invalid parent folder!":"Dossier parent non valide!","ra_Invalid structure":"Structure invalide","ra_JSON editor":"Éditeur JSON","ra_Last change":"Dernier changement",ra_Latitude:JU,"ra_License %s":"Licence %s","ra_License agreement":"Accord de licence","ra_License does not exist":"La licence n'existe pas","ra_License expired on %s":"Licence expirée le %s",'ra_License for other product "%s"':'Licence pour un autre produit "%s"',"ra_License is for version %s, but required version is %s.":"La licence est pour la version %s, mais la version requise est %s.","ra_License must be converted":"La licence doit être convertie en une version plus récente. Vous pouvez le faire dans votre profil iobroker.net.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"Licence introuvable dans le gestionnaire de licences. Voulez-vous mettre à jour les licences depuis iobroker.net ?","ra_Listen on all IPs":"Écoutez sur toutes les adresses IP","ra_Load configuration from file":"Charger la configuration à partir du fichier",ra_Logout:BU,ra_Longitude:GU,'ra_May not trigger "updateLicenses"':'Peut ne pas déclencher "updateLicences"',ra_Message:FU,ra_Monday:HU,"ra_Move down":"Descendre","ra_Move up":"Déplacer vers le haut",ra_Name:VU,"ra_No data found in file":"Aucune donnée trouvée dans le fichier","ra_No one license found in license manager":"Aucune licence trouvée dans le gestionnaire de licences","ra_No response from admin":"Aucune réponse de l'administrateur","ra_No response from the backend":"Aucune réponse du backend",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':'Les non-experts ne peuvent créer de nouveaux objets que dans "0_userdata.0" ou "alias.0".',"ra_Not a number":"Pas un numéro",ra_Objects:ZU,ra_Ok:XU,"ra_On weekdays":"En semaine","ra_Only following structures of objects are available:":"Seules les structures d'objets suivantes sont disponibles:","ra_Only selected":"Uniquement sélectionné","ra_Owner group":"Groupe propriétaire","ra_Owner user":"Utilisateur propriétaire","ra_Passwords are not equal!":"Les mots de passe ne sont pas égaux !","ra_Place your files here or click here to open the browse dialog":"Placez vos fichiers ici ou cliquez ici pour ouvrir la boîte de dialogue de navigation","ra_Please allow popups in your browser for this page!":"Veuillez autoriser les popups dans votre navigateur pour cette page !","ra_Please confirm":"Veuillez confirmer","ra_Please create license":"Veuillez créer une licence","ra_Please enter the license":"Veuillez entrer la licence","ra_Please select file...":"Veuillez sélectionner le fichier...","ra_Please select object ID...":"Veuillez sélectionner l'ID d'objet ...","ra_Port could be used by %s":"Le port pourrait être utilisé par %s","ra_Port is already used by %s":"Le port est déjà utilisé par %s","ra_Press ENTER Key to add new item":"Appuyez sur la touche ENTRÉE pour ajouter un nouvel élément","ra_Private certificate":"Certificat privé",ra_Product:KU,"ra_Public certificate":"Certificat public","ra_Quality code":"Qualité","ra_Refresh tree":"Rafraîchir l'arborescence","ra_Reload files":"Recharger les fichiers",ra_Rename_Move_Copy:qU,"ra_Renew %s access":"Renouveler l'accès %s",ra_Repeat:ev,ra_Replace:tv,"ra_Request timed out":"La demande a expiré","ra_Restrict to folder":"Restreindre au dossier",ra_Root:sv,ra_Saturday:iv,ra_Save:rv,"ra_Save and close":"Sauver et fermer","ra_Save configuration to file":"Enregistrer la configuration dans un fichier","ra_Save objects tree as JSON file":"Enregistrer l'arborescence des objets en tant que fichier JSON","ra_Select all":"Tout sélectionner","ra_Select color":"Choisissez la couleur","ra_Select predefined icon":"Sélectionnez l'icône prédéfinie","ra_Select type of export":"Sélectionnez le type d'exportation",ra_Selected:ov,"ra_Selected %s object(s)":"Objet(s) %s sélectionné(s)","ra_Serial number (UUID)":"Numéro de série (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':'Le numéro de série (UUID) "%s" dans la licence est pour un autre appareil.',"ra_Session will expire in %s seconds. Continue?":"La session expirera dans %s secondes. Continuer ?","ra_Show all folders":"Afficher tous les dossiers","ra_Show lines between rows":"Afficher les lignes entre les lignes","ra_Show/Hide object descriptions":"Afficher/Masquer les descriptions d'objets","ra_Show/hide filter input":"Afficher/masquer l'entrée de filtre","ra_Some data are not stored. Discard?":"Certaines données ne sont pas stockées. Jeter?",ra_States:Mv,"ra_Successfully authorized. Token valid till %s and will be automatically renewed.":"Autorisation réussie. Jeton valide jusqu'au %s et sera automatiquement renouvelé.","ra_Successfully authorized. Token valid till %s but it can expire as the instance is not running.":"Autorisation réussie. Jeton valide jusqu'à %s, mais il peut expirer car l'instance n'est pas en cours d'exécution.","ra_Suitable license not found in license manager":"Licence appropriée introuvable dans le gestionnaire de licences",ra_Sunday:nv,"ra_Suppress question for next %s minutes":"Supprimer la question pour les %s prochaines minutes","ra_System language":"Langue du système","ra_Take browser position":"Prendre position depuis le navigateur","ra_Take position from system settings":"Prendre position à partir des paramètres système",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':'Les experts peuvent créer des objets partout mais à partir du deuxième niveau (par exemple "vis.0" ou "javascript.0").',"ra_The page you are looking for was not found":"La page que vous recherchez n'a pas été trouvée","ra_The schedule will be executed every minute. Are you sure?":"Le planning sera exécuté toutes les minutes. Êtes-vous sûr ?","ra_The schedule will be executed every second. Are you sure?":"Le planning sera exécuté toutes les secondes. Êtes-vous sûr ?",ra_Thursday:av,ra_Timestamp:cv,"ra_Toggle expert mode":"Basculer en mode expert","ra_Toggle the states view":"Basculer la vue des états","ra_Toggle view mode":"Basculer le mode d'affichage","ra_Too big":"Trop grand","ra_Too small":"Trop petit","ra_Transparent dialog":"Dialogue transparent",ra_Tuesday:uv,"ra_Unknown error":"Erreur inconnue","ra_Unknown error!":"Erreur inconnue!",ra_Update:lv,"ra_Upload file":"Téléverser un fichier","ra_Use all available let's encrypt certificates":"Utilisez tous les certificats let's encrypt disponibles","ra_Use iobroker.acme adapter for letsencrypt certificates":"Utiliser l'adaptateur iobroker.acme pour les certificats Letsencrypt","ra_Use system settings for position":"Utiliser les paramètres système pour la position","ra_Used system settings":"Paramètres système utilisés","ra_User files":"Fichiers utilisateurs",ra_ValidTill:Nv,ra_Value:Lv,ra_Version:jv,"ra_View file":"Voir la fiche","ra_View: %s":"Affichage : %s",ra_Wednesday:gv,ra_Width:Tv,"ra_YAML editor":"Éditeur YAML",ra_Yes:yv,"ra_You can export all objects or just the selected branch.":"Vous pouvez exporter tous les objets ou uniquement la branche sélectionnée.","ra_You can filter entries by entering here some text":"Vous pouvez filtrer les entrées en saisissant ici du texte","ra_You can use * as wildcard":"Vous pouvez utiliser * comme caractère générique",ra___different__:Dv,ra_aclEveryone_read_object:dv,ra_aclEveryone_read_state:zv,ra_aclEveryone_write_object:Iv,ra_aclEveryone_write_state:hv,ra_aclGroup_read_object:wv,ra_aclGroup_read_state:Cv,ra_aclGroup_write_object:Av,ra_aclGroup_write_state:mv,ra_aclOwner_read_object:pv,ra_aclOwner_read_state:Ov,ra_aclOwner_write_object:Ev,ra_aclOwner_write_state:_v,ra_buttons:fv,ra_changedFrom:Sv,ra_close:xv,ra_create_boolean_state:kv,ra_create_channel:Yv,ra_create_device:Qv,ra_create_number_state:Uv,ra_create_state:vv,ra_create_string_state:bv,ra_daysShortText:$v,ra_dow_Fr:Pv,ra_dow_Mo:Wv,ra_dow_Sa:Rv,ra_dow_Su:Jv,ra_dow_Th:Bv,ra_dow_Tu:Gv,ra_dow_We:Fv,ra_expertMode:Hv,ra_false:Vv,ra_fileType_all:Zv,ra_fileType_audio:Xv,ra_fileType_code:Kv,ra_fileType_images:qv,ra_fileType_txt:e6,ra_fileType_video:t6,"ra_fileType_video,":"Vidéo",ra_filter_customs:s6,ra_filter_customs_without:i6,ra_filter_func:r6,ra_filter_id:o6,ra_filter_name:M6,ra_filter_role:n6,ra_filter_room:a6,ra_filter_type:c6,"ra_import data from %s file":"Importer des données à partir du fichier %s",ra_invalidConfig:u6,ra_lastChange:l6,ra_locally:N6,ra_month_Apr:L6,ra_month_Aug:j6,ra_month_Dec:g6,ra_month_Feb:T6,ra_month_Jan:y6,ra_month_Jul:D6,ra_month_Jun:d6,ra_month_Mai:z6,ra_month_Mar:I6,ra_month_Nov:h6,ra_month_Oct:w6,ra_month_Sep:C6,ra_months_Apr:A6,ra_months_Aug:m6,ra_months_Dec:p6,ra_months_Feb:O6,ra_months_Jan:E6,ra_months_Jul:_6,ra_months_Jun:f6,ra_months_Mai:S6,ra_months_Mar:x6,ra_months_Nov:k6,ra_months_Oct:Y6,ra_months_Sep:Q6,"ra_no confirm for 5 mins":"pas de confirmation pendant 5 minutes",ra_none:U6,ra_object_changed_by:v6,ra_object_changed_by_user:b6,ra_otherConfig:$6,ra_qualityCode:P6,ra_repeat:W6,ra_select_folder_hint:R6,ra_show_all:J6,ra_state_changed_by:B6,ra_state_changed_from:G6,ra_timestamp:F6,ra_tooltip_ack:H6,ra_tooltip_comment:V6,ra_tooltip_copyState:Z6,ra_tooltip_ctrlForLink:X6,ra_tooltip_customConfig:K6,ra_tooltip_deleteObject:q6,ra_tooltip_editObject:e8,ra_tooltip_editState:t8,ra_tooltip_expire:s8,ra_tooltip_from:i8,ra_tooltip_lc:r8,ra_tooltip_quality:o8,ra_tooltip_ts:M8,ra_tooltip_user:n8,ra_tooltip_value:a8,ra_true:c8,"ra_use seconds":"utiliser les secondes",ra_val:u8,"ra_via internet":"par Internet",ra_warning_every_minute:l8,ra_warning_every_second:N8,sc_cron:L8,sc_date:j8,sc_dates:g8,sc_dow:T8,sc_dows:y8,sc_every:D8,sc_everyN_dates:d8,sc_everyN_dow:z8,sc_everyN_dows:I8,sc_everyN_hours:h8,sc_everyN_minutes:w8,sc_everyN_months:C8,sc_everyN_seconds:A8,sc_every_dates:m8,sc_every_dow:p8,sc_every_dows:O8,sc_every_hours:E8,sc_every_minutes:_8,sc_every_months:f8,sc_every_seconds:S8,sc_from:x8,sc_hours:k8,sc_interval:Y8,sc_intervalBetween:Q8,sc_invalid_cron:U8,sc_minutes:v8,sc_months:b8,sc_once:$8,sc_period:P8,sc_seconds:W8,sc_simple:R8,sc_specific:J8,sc_specific_dates:B8,sc_specific_dow:G8,sc_specific_dows:F8,sc_specific_hours:H8,sc_specific_minutes:V8,sc_specific_months:Z8,sc_specific_seconds:X8,sc_time:K8,sc_to:q8,sc_wizard:eb,sch_all:tb,sch_astroDay:sb,sch_astroNight:ib,sch_astro_dawn:rb,sch_astro_dusk:ob,sch_astro_goldenHour:Mb,sch_astro_goldenHourEnd:nb,sch_astro_nadir:ab,sch_astro_nauticalDawn:cb,sch_astro_nauticalDusk:ub,sch_astro_night:lb,sch_astro_nightEnd:Nb,sch_astro_solarNoon:Lb,sch_astro_sunrise:jb,sch_astro_sunriseEnd:gb,sch_astro_sunset:Tb,sch_astro_sunsetStart:yb,sch_at:Db,sch_desc_atTime:db,sch_desc_everyDay:zb,sch_desc_everyHour:Ib,sch_desc_everyMinute:hb,sch_desc_everyMonth:wb,sch_desc_everyNDay:Cb,sch_desc_everyNHours:Ab,sch_desc_everyNMinutes:mb,sch_desc_everyNMonths:pb,sch_desc_everyNWeeks:Ob,sch_desc_everyNYears:Eb,sch_desc_everyWeek:_b,sch_desc_everyYear:fb,sch_desc_intervalFromTo:Sb,sch_desc_never:xb,sch_desc_onDate:kb,sch_desc_onDates:Yb,sch_desc_onEveryDate:Qb,sch_desc_onMonth:Ub,sch_desc_onMonths:vb,sch_desc_onWeekday:bb,sch_desc_onWeekdays:$b,sch_desc_onWeekends:Pb,sch_desc_onWorkdays:Wb,sch_desc_onceInPast:Rb,sch_desc_once_on:Jb,sch_desc_validFrom:Bb,sch_desc_validFromTo:Gb,sch_desc_validTo:Fb,sch_every:Hb,sch_exactTime:Vb,sch_from:Zb,sch_fromTo:Xb,sch_intervalTime:Kb,sch_invert:qb,sch_no_one:e9,sch_on:t9,sch_period:s9,sch_periodDaily:i9,sch_periodDates:r9,sch_periodDay:o9,sch_periodEvery:M9,sch_periodEveryDay:n9,sch_periodEveryMonth:a9,sch_periodEveryWeek:c9,sch_periodEveryYear:u9,sch_periodHours:l9,sch_periodMinutes:N9,sch_periodMonth:L9,sch_periodMonthly:j9,sch_periodOnce:g9,sch_periodSpecificMonths:T9,sch_periodWeek:y9,sch_periodWeekdays:D9,sch_periodWeekend:d9,sch_periodWeekly:z9,sch_periodWorkdays:I9,sch_periodYear:h9,sch_periodYearly:w9,sch_specificTime:C9,sch_time:A9,sch_to:m9,sch_valid:p9,sch_validFrom:O9,sch_validTo:E9,sch_wholeDay:_9,sch_yearEveryMonth:f9},x9="Azioni",k9="Aggiungere",Y9="Annulla",Q9="Categorie",U9="Controllato",v9="Elimina",b9="Vicino",$9="Commerciale",P9="Configura",W9="Collegato",R9="Continuare",J9="Copiato",B9="Creare",G9="Raccolto",F9="Delete",H9="Elimina",V9="Scartare",Z9="Disconnesso",X9="Errore",K9="Filtro",q9="Venerdì",e7="Latitudine",t7="Esci",s7="Longitudine",i7="Messaggio",r7="Lunedi",o7="Nome",M7="Oggetti",n7="Ok",a7="Prodotto",c7="Rinomina/Sposta/Copia",u7="Ripetere",l7="Sostituire",N7="Radice",L7="Sabato",j7="Salva",g7="Selezionato",T7="stati",y7="Domenica",D7="Giovedì",d7="Timestamp",z7="Martedì",I7="Aggiornare",h7="Valido fino a",w7="Valore",C7="Versione",A7="Mercoledì",m7="Larghezza",p7="SÌ",O7="diverso",E7="Tutti possono leggere gli oggetti",_7="Tutti possono leggere lo stato",f7="Tutti possono scrivere oggetti",S7="Tutti possono scrivere stato",x7="Il gruppo può leggere l'oggetto",k7="Il gruppo può leggere lo stato",Y7="Il gruppo può scrivere l'oggetto",Q7="Il gruppo può scrivere lo stato",U7="Il proprietario può leggere l'oggetto",v7="Il proprietario può leggere lo stato",b7="Il proprietario può scrivere l'oggetto",$7="Il proprietario può scrivere lo stato",P7="Bottoni",W7="Cambiato da",R7="vicino",J7="Crea uno stato booleano",B7="Crea canale",G7="Crea dispositivo",F7="Crea lo stato del numero",H7="Crea stato",V7="Crea lo stato della stringa",Z7="g.",X7="fr",K7="momento",q7="Sa",e$="su",t$="th",s$="Tu",i$="Noi",r$="Modalità esperto",o$="FALSO",M$="Tutti i files",n$="Audio",a$="Codice/JSON",c$="immagini",u$="Testo",l$="video",N$="impostazioni",L$="senza",j$="Funzione",g$="ID",T$="Nome",y$="Ruolo",D$="Camera",d$="genere",z$="Impostazioni non valide",I$="Ultima modifica",h$="localmente",w$="apr",C$="agosto",A$="Dic",m$="febbraio",p$="gen",O$="lug",E$="giu",_$="Mai",f$="marzo",S$="nov",x$="ottobre",k$="Sett",Y$="apr",Q$="agosto",U$="Dic",v$="febbraio",b$="gen",$$="lug",P$="giu",W$="Mai",R$="marzo",J$="nov",B$="ottobre",G$="Sett",F$="nessuna",H$="Oggetto modificato da",V$="L'oggetto è stato modificato l'ultima volta alle",Z$="Impostazioni dall'altro adattatore %s",X$="Codice di qualità",K$="ripetere",q$='Per selezionare la cartella, basta tenere premuto il tasto "shift" facendo clic sulla cartella.',eP="Mostra tutto",tP="Stato cambiato da",sP="Oggetto cambiato da",iP="Timestamp",rP="Bandiera riconosciuta",oP="Commento",MP="Copia il valore dello stato",nP="Tieni premuto il tasto Cltr/⌘ per aprire il collegamento",aP="Impostazioni personalizzate",cP="Elimina oggetto",uP="Modifica oggetto",lP="Modifica il valore dello stato",NP="Scade tra",LP="A partire dal",jP="Ultima modifica",gP="Qualità",TP="Data e ora",yP="Utente",DP="Valore",dP="VERO",zP="Valore",IP="Attenzione: il processo CRON verrà eseguito ogni minuto durante il periodo specificato!",hP="Attenzione: il processo CRON verrà eseguito ogni secondo durante il periodo specificato!",wP="CRON",CP="Data",AP="Date",mP="Giorno",pP="Giorno della settimana",OP="Ogni",EP="ogni N giorni",_P="ogni Nesimo giorno della settimana",fP="ogni N giorno della settimana",SP="ogni N ore",xP="ogni N minuti",kP="ogni N mesi",YP="ogni N secondi",QP="ogni giorno",UP="Tutti i giorni della settimana",vP="Tutti i giorni della settimana",bP="ogni ora",$P="ogni minuto",PP="ogni mese",WP="ogni secondo",RP="A partire dal",JP="Ore",BP="Intervallo",GP="Intervallo tra",FP="CRON non valido",HP="Minuti",VP="mesi",ZP="Una volta",XP="Periodo",KP="secondi",qP="Semplice",eW="Orario preciso",tW="date specifiche",sW="giorno/i specifico/i della settimana",iW="giorno specifico delle settimane",rW="orari specifici",oW="minuti specifici",MW="mesi specifici",nW="secondi specifici",aW="Tempo",cW="Per",uW="procedura guidata",lW="tutti",NW="Astro day",LW="Astro night",jW="Alba",gW="Crepuscolo",TW="Ora d'oro",yW="Fine dell'ora d'oro",DW="Nadir",dW="Alba nautica",zW="Crepuscolo nautico",IW="Notte",hW="Fine della notte",wW="Mezzogiorno solare",CW="Alba",AW="Fine dell'alba",mW="Tramonto",pW="Inizio del tramonto",OW="a",EW="a %s",_W="ogni giorno",fW="ogni ora",SW="ogni minuto",xW="ogni mese",kW="ogni %s giorno",YW="ogni %s ore",QW="ogni %s minuti",UW="ogni %s mesi",vW="ogni %s settimane",bW="ogni %s anni",$W="ogni settimana",PW="ogni anno",WW="da %s a %s",RW="mai",JW="su %s di %s",BW="su %s e %s di",GW="in ogni data di",FW="%s",HW="%s e %s",VW="su %s",ZW="su %s e %s",XW="nei finesettimana",KW="nei giorni lavorativi",qW="non verrà più eseguito, perché start è nel passato",eR="su %s",tR="da %s",sR="Eseguire da a",iR="a %s",rR="ogni",oR="Orario preciso",MR="a partire dal",nR="Da A",aR="Intervallo di tempo",cR="invertire",uR="nessuna",lR="sopra",NR="Periodo",LR="Quotidiano",jR="Date",gR="Giorno",TR="Ogni",yR="Ogni giorno",DR="Ogni mese",dR="Ogni settimana",zR="Ogni anno",IR="Ore",hR="Minuti",wR="mese",CR="Mensile",AR="Una volta",mR="Mesi specifici",pR="Settimana",OR="Giorni della settimana",ER="Fine settimana",_R="settimanalmente",fR="giorni feriali",SR="Anno",xR="Annuale",kR="Orario preciso",YR="Tempo",QR="per",UR="Valido",vR="a partire dal",bR="per",$R="Giorno intero",PR="ogni mese",WR={"ra_%s links from aliases":"%s link da alias","ra_%s object(s) processed":"%s oggetti elaborati","ra_%s was imported":"%s è stato importato","ra_Accept license":"Accetta licenza",ra_Actions:x9,"ra_Add new child object to selected parent":"Aggiungi un nuovo oggetto figlio al genitore selezionato","ra_Add objects tree from JSON file":"Aggiungi l'albero degli oggetti dal file JSON","ra_Add row":"Aggiungi riga","ra_Advanced options":"Opzioni avanzate","ra_All items are filtered out":"Tutti gli elementi vengono filtrati","ra_All objects":"Tutti gli oggetti",ra_Append:k9,"ra_Append %s entries or replace existing?":"Aggiungi %s voci o sostituisci quelle esistenti?","ra_Append or replace?":"Aggiungere o sostituire?","ra_Are you sure?":"Sei sicuro?","ra_Auto (no custom columns)":"Auto (nessuna colonna personalizzata)","ra_Back to %s":"Torna a %s","ra_Background image":"Immagine di sfondo",ra_Cancel:Y9,"ra_Cannot add items with set filter":"Impossibile aggiungere elementi con il filtro impostato","ra_Cannot decode license":"Impossibile decodificare la licenza","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"Impossibile determinare la posizione: le impostazioni di sistema sono vuote e il rilevamento GPS è disabilitato nel browser",'ra_Cannot find "%s"':'Impossibile trovare "%s"','ra_Cannot read "%s"':'Impossibile leggere "%s"',"ra_Cannot read licenses: %s":"Impossibile leggere le licenze: %s","ra_Cannot retrieve options, as instance is offline":"Impossibile recuperare le opzioni, poiché l'istanza è offline","ra_Cannot update attribute, because not found in the object":"Impossibile aggiornare l'attributo, perché non trovato nell'oggetto","ra_Cannot upload":"Impossibile caricare",ra_Categories:Q9,"ra_Chained certificate":"Certificato incatenato","ra_Change color theme":"Cambia tema colore","ra_Changed from":"Cambiato da","ra_Channel → State":"Canale → Stato","ra_Check license":"Controlla la licenza",ra_Checked:U9,ra_Clear:v9,"ra_Clear filter":"Filtro pulito","ra_Clear icon":"Cancella icona","ra_Click to show":"Clicca per mostrare","ra_Clone current row":"Clona riga corrente",ra_Close:b9,"ra_Collapse all nodes":"Comprimi tutti i nodi","ra_Collapse one step node":"Comprimi un livello",ra_Commercial:$9,ra_Configure:P9,"ra_Configure visible columns":"Configura colonne visibili","ra_Confirm deletion of %s":"Conferma l'eliminazione di %s",ra_Connected:W9,ra_Continue:R9,ra_Copied:J9,"ra_Copied %s":'"%s" copiato',"ra_Copy content":"Copia contenuto",ra_Create:B9,"ra_Create alias":"Crea alias","ra_Create folder":"Creare una cartella","ra_Create new folder in %s":"Crea nuova cartella in %s",ra_Crop:G9,"ra_Define CRON...":"Definisci CRON...","ra_Define functions":"Definire le funzioni","ra_Define rooms":"Definisci le stanze","ra_Define schedule":"Definisci programma","ra_Define schedule...":"Definisci pianificazione ...",ra_Del:F9,ra_Delete:H9,"ra_Delete current row":"Elimina la riga corrente","ra_Deselect all":"Deseleziona tutto","ra_Device → Channel → State":"Dispositivo → Canale → Stato","ra_Disable/Enable translation":"Disabilita/Abilita la traduzione",ra_Discard:V9,ra_Disconnected:Z9,"ra_Do not ask for next 2 hours in this session":"Non chiedere per le prossime 2 ore in questa sessione","ra_Do not export values of states":"Non esportare i valori degli stati","ra_Do not use let's encrypt":"Non utilizzare crittografiamo","ra_Docker is not available":"Docker non è disponibile","ra_Docker is not installed or not running":"Docker non è installato o non è in esecuzione","ra_Double click to reset table layout":"Fare doppio clic per ripristinare il layout della tabella","ra_Drag 'n' drop some files here, or click to select files":"Trascina e rilascia alcuni file qui o fai clic per selezionare i file","ra_Drop file here":"Trascina il file qui","ra_Drop the files here...":"Trascina qui il file...","ra_Duplicate name":"Nome duplicato","ra_Edit ACL":"Modifica ACL","ra_Edit alias":"Modifica alias","ra_Edit custom config":"Modifica configurazione personalizzata","ra_Edit full path":"Modifica percorso completo","ra_Edit function":"Funzione di modifica","ra_Edit object field":"Modifica campo oggetto","ra_Edit role":"Modifica ruolo","ra_Edit room":"Modifica stanza","ra_Edit value":"Modifica valore","ra_Enter the code from that page here":"Inserisci qui il codice da quella pagina",ra_Error:X9,"ra_Expand all nodes":"Espandi tutti i nodi","ra_Expand one step node":"Espandi un livello","ra_Expand/Collapse card":"Espandi/Comprimi scheda","ra_Export configuration section":"Sezione di configurazione dell'esportazione","ra_Export data to %s file":"Esporta i dati nel file %s","ra_Failed to open JSON File":"Impossibile aprire il file JSON","ra_Fallback custom certificates":"Certificati personalizzati di fallback","ra_File is too big. Max %sk allowed. Try use SVG.":"Il file è troppo grande. Max %sk consentito. Prova a usare SVG.",ra_Filter:K9,"ra_Filter and Data Actions":"Azioni sui filtri e sui dati","ra_Filter files":"Filtra i file","ra_Folder name":"Nome della cartella","ra_Folder → Channel → State":"Cartella → Canale → Stato","ra_Folder → Device → Channel → State":"Cartella → Dispositivo → Canale → Stato","ra_Folder → State":"Cartella → Stato","ra_Folders always first":"Le cartelle sono sempre al primo posto",ra_Friday:q9,"ra_From file":"Dal file","ra_From text":"Dal testo","ra_Get %s access":"Ottieni l'accesso %s","ra_Good luck":"Buona fortuna","ra_Hide empty folders":"Nascondi cartelle vuote","ra_If no file will be created in the folder, it will disappear after the browser closed":"Se nessun file verrà creato nella cartella, scomparirà dopo la chiusura del browser","ra_If the button above does not work, you can authorize manually this app by visiting this url":"Se il pulsante sopra non funziona, puoi autorizzare manualmente questa app visitando questo URL","ra_Import and add configuration section":"Importa e aggiungi la sezione di configurazione","ra_Import and replace configuration section":"Importa e sostituisci la sezione di configurazione","ra_Import data from %s file":"Importa i dati dal file %s","ra_Import from %s":"Importa da %s","ra_Instance %s is alive":"Il %s dell'istanza è vivo","ra_Instance %s is not alive":"Il TESTO dell'istanza non è vivo","ra_Instance is not alive":"L'istanza non è viva","ra_Invalid CRON":"CRON non valido","ra_Invalid JSON":"JSON non valido","ra_Invalid JSON file.":"File JSON non valido.","ra_Invalid JSON format. Expected an array.":"Formato JSON non valido. È previsto un array.","ra_Invalid answer from server":"Risposta non valida dal server","ra_Invalid parent folder!":"Cartella principale non valida!","ra_Invalid structure":"Struttura non valida","ra_JSON editor":"Editor JSON","ra_Last change":"Ultima modifica",ra_Latitude:e7,"ra_License %s":"Licenza %s","ra_License agreement":"Contratto di licenza","ra_License does not exist":"La licenza non esiste","ra_License expired on %s":"Licenza scaduta il %s",'ra_License for other product "%s"':'Licenza per altro prodotto "%s"',"ra_License is for version %s, but required version is %s.":"La licenza è per la versione %s, ma la versione richiesta è %s.","ra_License must be converted":"La licenza deve essere convertita in una versione più recente. Puoi farlo nel tuo profilo iobroker.net.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"Licenza non trovata nel gestore delle licenze. Vuoi aggiornare le licenze da iobroker.net?","ra_Listen on all IPs":"Ascolta su tutti gli IP","ra_Load configuration from file":"Carica la configurazione dal file",ra_Logout:t7,ra_Longitude:s7,'ra_May not trigger "updateLicenses"':'Potrebbe non attivare "updateLicenses"',ra_Message:i7,ra_Monday:r7,"ra_Move down":"Abbassati","ra_Move up":"Andare avanti",ra_Name:o7,"ra_No data found in file":"Nessun dato trovato nel file","ra_No one license found in license manager":"Nessuna licenza trovata nel gestore delle licenze","ra_No response from admin":"Nessuna risposta dall'amministratore","ra_No response from the backend":"Nessuna risposta dal backend",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':'I non esperti possono creare nuovi oggetti solo in "0_userdata.0" o "alias.0".',"ra_Not a number":"Non un numero",ra_Objects:M7,ra_Ok:n7,"ra_On weekdays":"Nei giorni della settimana","ra_Only following structures of objects are available:":"Sono disponibili solo le seguenti strutture di oggetti:","ra_Only selected":"Solo selezionato","ra_Owner group":"Gruppo di proprietari","ra_Owner user":"Utente proprietario","ra_Passwords are not equal!":"Le password non sono uguali!","ra_Place your files here or click here to open the browse dialog":"Posiziona i file qui o fai clic qui per aprire la finestra di dialogo Sfoglia","ra_Please allow popups in your browser for this page!":"Si prega di abilitare i popup nel browser per questa pagina!","ra_Please confirm":"Si prega di confermare","ra_Please create license":"Si prega di creare la licenza","ra_Please enter the license":"Inserisci la licenza","ra_Please select file...":"Si prega di selezionare il file...","ra_Please select object ID...":"Seleziona l'ID oggetto ...","ra_Port could be used by %s":"La porta potrebbe essere utilizzata da %s","ra_Port is already used by %s":"La porta è già utilizzata da %s","ra_Press ENTER Key to add new item":"Premere il tasto INVIO per aggiungere un nuovo elemento","ra_Private certificate":"Certificato privato",ra_Product:a7,"ra_Public certificate":"Certificato pubblico","ra_Quality code":"Qualità","ra_Refresh tree":"Aggiorna l'albero","ra_Reload files":"Ricarica i file",ra_Rename_Move_Copy:c7,"ra_Renew %s access":"Rinnova l'accesso %s",ra_Repeat:u7,ra_Replace:l7,"ra_Request timed out":"Tempo scaduto per la richiesta","ra_Restrict to folder":"Limita alla cartella",ra_Root:N7,ra_Saturday:L7,ra_Save:j7,"ra_Save and close":"Salva e chiudi","ra_Save configuration to file":"Salva la configurazione su file","ra_Save objects tree as JSON file":"Salva l'albero degli oggetti come file JSON","ra_Select all":"Seleziona tutto","ra_Select color":"Seleziona il colore","ra_Select predefined icon":"Seleziona l'icona predefinita","ra_Select type of export":"Seleziona il tipo di esportazione",ra_Selected:g7,"ra_Selected %s object(s)":"%s oggetto/i selezionato/i","ra_Serial number (UUID)":"Numero di serie (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':'Il numero di serie (UUID) "%s" nella licenza è per un altro dispositivo.',"ra_Session will expire in %s seconds. Continue?":"La sessione scadrà tra %s secondi. Continuare?","ra_Show all folders":"Mostra tutte le cartelle","ra_Show lines between rows":"Mostra linee tra le righe","ra_Show/Hide object descriptions":"Mostra/Nascondi le descrizioni degli oggetti","ra_Show/hide filter input":"Mostra/nascondi input filtro","ra_Some data are not stored. Discard?":"Alcuni dati non vengono memorizzati. Scartare?",ra_States:T7,"ra_Successfully authorized. Token valid till %s and will be automatically renewed.":"Autorizzazione completata. Il token è valido fino al %s e verrà rinnovato automaticamente.","ra_Successfully authorized. Token valid till %s but it can expire as the instance is not running.":"Autorizzazione completata. Il token è valido fino al %s, ma potrebbe scadere perché l'istanza non è in esecuzione.","ra_Suitable license not found in license manager":"Licenza adatta non trovata nel gestore delle licenze",ra_Sunday:y7,"ra_Suppress question for next %s minutes":"Sopprimi la domanda per i prossimi %s minuti","ra_System language":"Linguaggio di sistema","ra_Take browser position":"Prendi posizione dal browser","ra_Take position from system settings":"Prendi posizione dalle impostazioni di sistema",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':'Gli esperti possono creare oggetti ovunque ma dal secondo livello (es. "Vis.0" o "javascript.0").',"ra_The page you are looking for was not found":"La pagina che stai cercando non è stata trovata","ra_The schedule will be executed every minute. Are you sure?":"La pianificazione verrà eseguita ogni minuto. Sei sicuro?","ra_The schedule will be executed every second. Are you sure?":"La pianificazione verrà eseguita ogni secondo. Sei sicuro?",ra_Thursday:D7,ra_Timestamp:d7,"ra_Toggle expert mode":"Attiva / disattiva la modalità esperto","ra_Toggle the states view":"Attiva o disattiva la visualizzazione degli stati","ra_Toggle view mode":"Attiva / disattiva la modalità di visualizzazione","ra_Too big":"Troppo grande","ra_Too small":"Troppo piccolo","ra_Transparent dialog":"Finestra di dialogo trasparente",ra_Tuesday:z7,"ra_Unknown error":"Errore sconosciuto","ra_Unknown error!":"Errore sconosciuto!",ra_Update:I7,"ra_Upload file":"Caricare un file","ra_Use all available let's encrypt certificates":"Usa tutti i certificati Let's Encrypt disponibili","ra_Use iobroker.acme adapter for letsencrypt certificates":"Utilizzare l'adattatore iobroker.acme per i certificati letsencrypt","ra_Use system settings for position":"Usa le impostazioni di sistema per la posizione","ra_Used system settings":"Impostazioni di sistema utilizzate","ra_User files":"File utente",ra_ValidTill:h7,ra_Value:w7,ra_Version:C7,"ra_View file":"Vedi il file","ra_View: %s":"Visualizza: %s",ra_Wednesday:A7,ra_Width:m7,"ra_YAML editor":"Editor YAML",ra_Yes:p7,"ra_You can export all objects or just the selected branch.":"Puoi esportare tutti gli oggetti o solo il ramo selezionato.","ra_You can filter entries by entering here some text":"Puoi filtrare le voci inserendo qui del testo","ra_You can use * as wildcard":"Puoi usare * come carattere jolly",ra___different__:O7,ra_aclEveryone_read_object:E7,ra_aclEveryone_read_state:_7,ra_aclEveryone_write_object:f7,ra_aclEveryone_write_state:S7,ra_aclGroup_read_object:x7,ra_aclGroup_read_state:k7,ra_aclGroup_write_object:Y7,ra_aclGroup_write_state:Q7,ra_aclOwner_read_object:U7,ra_aclOwner_read_state:v7,ra_aclOwner_write_object:b7,ra_aclOwner_write_state:$7,ra_buttons:P7,ra_changedFrom:W7,ra_close:R7,ra_create_boolean_state:J7,ra_create_channel:B7,ra_create_device:G7,ra_create_number_state:F7,ra_create_state:H7,ra_create_string_state:V7,ra_daysShortText:Z7,ra_dow_Fr:X7,ra_dow_Mo:K7,ra_dow_Sa:q7,ra_dow_Su:e$,ra_dow_Th:t$,ra_dow_Tu:s$,ra_dow_We:i$,ra_expertMode:r$,ra_false:o$,ra_fileType_all:M$,ra_fileType_audio:n$,ra_fileType_code:a$,ra_fileType_images:c$,ra_fileType_txt:u$,ra_fileType_video:l$,"ra_fileType_video,":"video",ra_filter_customs:N$,ra_filter_customs_without:L$,ra_filter_func:j$,ra_filter_id:g$,ra_filter_name:T$,ra_filter_role:y$,ra_filter_room:D$,ra_filter_type:d$,"ra_import data from %s file":"Importa dati dal file %s",ra_invalidConfig:z$,ra_lastChange:I$,ra_locally:h$,ra_month_Apr:w$,ra_month_Aug:C$,ra_month_Dec:A$,ra_month_Feb:m$,ra_month_Jan:p$,ra_month_Jul:O$,ra_month_Jun:E$,ra_month_Mai:_$,ra_month_Mar:f$,ra_month_Nov:S$,ra_month_Oct:x$,ra_month_Sep:k$,ra_months_Apr:Y$,ra_months_Aug:Q$,ra_months_Dec:U$,ra_months_Feb:v$,ra_months_Jan:b$,ra_months_Jul:$$,ra_months_Jun:P$,ra_months_Mai:W$,ra_months_Mar:R$,ra_months_Nov:J$,ra_months_Oct:B$,ra_months_Sep:G$,"ra_no confirm for 5 mins":"nessuna conferma per 5 minuti",ra_none:F$,ra_object_changed_by:H$,ra_object_changed_by_user:V$,ra_otherConfig:Z$,ra_qualityCode:X$,ra_repeat:K$,ra_select_folder_hint:q$,ra_show_all:eP,ra_state_changed_by:tP,ra_state_changed_from:sP,ra_timestamp:iP,ra_tooltip_ack:rP,ra_tooltip_comment:oP,ra_tooltip_copyState:MP,ra_tooltip_ctrlForLink:nP,ra_tooltip_customConfig:aP,ra_tooltip_deleteObject:cP,ra_tooltip_editObject:uP,ra_tooltip_editState:lP,ra_tooltip_expire:NP,ra_tooltip_from:LP,ra_tooltip_lc:jP,ra_tooltip_quality:gP,ra_tooltip_ts:TP,ra_tooltip_user:yP,ra_tooltip_value:DP,ra_true:dP,"ra_use seconds":"usa i secondi",ra_val:zP,"ra_via internet":"attraverso internet",ra_warning_every_minute:IP,ra_warning_every_second:hP,sc_cron:wP,sc_date:CP,sc_dates:AP,sc_dow:mP,sc_dows:pP,sc_every:OP,sc_everyN_dates:EP,sc_everyN_dow:_P,sc_everyN_dows:fP,sc_everyN_hours:SP,sc_everyN_minutes:xP,sc_everyN_months:kP,sc_everyN_seconds:YP,sc_every_dates:QP,sc_every_dow:UP,sc_every_dows:vP,sc_every_hours:bP,sc_every_minutes:$P,sc_every_months:PP,sc_every_seconds:WP,sc_from:RP,sc_hours:JP,sc_interval:BP,sc_intervalBetween:GP,sc_invalid_cron:FP,sc_minutes:HP,sc_months:VP,sc_once:ZP,sc_period:XP,sc_seconds:KP,sc_simple:qP,sc_specific:eW,sc_specific_dates:tW,sc_specific_dow:sW,sc_specific_dows:iW,sc_specific_hours:rW,sc_specific_minutes:oW,sc_specific_months:MW,sc_specific_seconds:nW,sc_time:aW,sc_to:cW,sc_wizard:uW,sch_all:lW,sch_astroDay:NW,sch_astroNight:LW,sch_astro_dawn:jW,sch_astro_dusk:gW,sch_astro_goldenHour:TW,sch_astro_goldenHourEnd:yW,sch_astro_nadir:DW,sch_astro_nauticalDawn:dW,sch_astro_nauticalDusk:zW,sch_astro_night:IW,sch_astro_nightEnd:hW,sch_astro_solarNoon:wW,sch_astro_sunrise:CW,sch_astro_sunriseEnd:AW,sch_astro_sunset:mW,sch_astro_sunsetStart:pW,sch_at:OW,sch_desc_atTime:EW,sch_desc_everyDay:_W,sch_desc_everyHour:fW,sch_desc_everyMinute:SW,sch_desc_everyMonth:xW,sch_desc_everyNDay:kW,sch_desc_everyNHours:YW,sch_desc_everyNMinutes:QW,sch_desc_everyNMonths:UW,sch_desc_everyNWeeks:vW,sch_desc_everyNYears:bW,sch_desc_everyWeek:$W,sch_desc_everyYear:PW,sch_desc_intervalFromTo:WW,sch_desc_never:RW,sch_desc_onDate:JW,sch_desc_onDates:BW,sch_desc_onEveryDate:GW,sch_desc_onMonth:FW,sch_desc_onMonths:HW,sch_desc_onWeekday:VW,sch_desc_onWeekdays:ZW,sch_desc_onWeekends:XW,sch_desc_onWorkdays:KW,sch_desc_onceInPast:qW,sch_desc_once_on:eR,sch_desc_validFrom:tR,sch_desc_validFromTo:sR,sch_desc_validTo:iR,sch_every:rR,sch_exactTime:oR,sch_from:MR,sch_fromTo:nR,sch_intervalTime:aR,sch_invert:cR,sch_no_one:uR,sch_on:lR,sch_period:NR,sch_periodDaily:LR,sch_periodDates:jR,sch_periodDay:gR,sch_periodEvery:TR,sch_periodEveryDay:yR,sch_periodEveryMonth:DR,sch_periodEveryWeek:dR,sch_periodEveryYear:zR,sch_periodHours:IR,sch_periodMinutes:hR,sch_periodMonth:wR,sch_periodMonthly:CR,sch_periodOnce:AR,sch_periodSpecificMonths:mR,sch_periodWeek:pR,sch_periodWeekdays:OR,sch_periodWeekend:ER,sch_periodWeekly:_R,sch_periodWorkdays:fR,sch_periodYear:SR,sch_periodYearly:xR,sch_specificTime:kR,sch_time:YR,sch_to:QR,sch_valid:UR,sch_validFrom:vR,sch_validTo:bR,sch_wholeDay:$R,sch_yearEveryMonth:PR},RR="Comportamiento",JR="Adjuntar",BR="Cancelar",GR="Categorías",FR="Comprobado",HR="Borrar",VR="Cerca",ZR="Comercial",XR="Configurar",KR="Conectado",qR="Continuar",eJ="Copiado",tJ="Crear",sJ="Cultivo",iJ="Delete",rJ="Eliminar",oJ="Desechar",MJ="Desconectado",nJ="Error",aJ="Filtrar",cJ="Viernes",uJ="Latitud",lJ="Cerrar sesión",NJ="Longitud",LJ="Mensaje",jJ="Lunes",gJ="Nombre",TJ="Objetos",yJ="Okay",DJ="Producto",dJ="Cambiar nombre/Mover/Copiar",zJ="Repetir",IJ="Reemplazar",hJ="Raíz",wJ="Sábado",CJ="Salvar",AJ="Seleccionado",mJ="Estados",pJ="Domingo",OJ="Jueves",EJ="Marca de tiempo",_J="Martes",fJ="Actualizar",SJ="Válida hasta",xJ="Valor",kJ="Versión",YJ="Miércoles",QJ="Anchura",UJ="Sí",vJ="diferente",bJ="Todo el mundo puede leer el objeto",$J="Todos pueden leer el estado",PJ="Todos pueden escribir objetos",WJ="Todos pueden escribir el estado",RJ="El grupo puede leer el objeto",JJ="El grupo puede leer el estado",BJ="El grupo puede escribir un objeto",GJ="El grupo puede escribir el estado",FJ="El propietario puede leer el objeto",HJ="El propietario puede leer el estado",VJ="El propietario puede escribir el objeto",ZJ="El propietario puede escribir el estado",XJ="Botones",KJ="Cambiaron desde",qJ="cerrar",eB="Crear estado booleano",tB="Crear canal",sB="Crear dispositivo",iB="Crear estado numérico",rB="Crear estado",oB="Crear estado de cadena",MB="d.",nB="Fr",aB="Mes",cB="Sa",uB="Su",lB="Th",NB="Tu",LB="Nosotros",jB="Modo experto",gB="FALSO",TB="Todos los archivos",yB="Audio",DB="Código/JSON",dB="Imágenes",zB="Texto",IB="Video",hB="Configuraciones",wB="sin",CB="Función",AB="ID",mB="Nombre",pB="Papel",OB="Habitación",EB="Tipo",_B="Configuraciones inválidas",fB="Ultimo cambio",SB="en la zona",xB="Abr",kB="Ago",YB="Dic",QB="Feb",UB="Ene",vB="Jul",bB="Jun",$B="Mai",PB="Mar",WB="Nov",RB="Oct",JB="Sep",BB="Abr",GB="Ago",FB="Dic",HB="Feb",VB="Ene",ZB="Jul",XB="Jun",KB="Mai",qB="Mar",eG="Nov",tG="Oct",sG="Sep",iG="ninguno",rG="Objeto cambiado por",oG="Objeto cambiado por última vez a las",MG="Configuraciones de otro adaptador %s",nG="Código de calidad",aG="repetir",cG='Para seleccionar la carpeta, simplemente mantenga presionada la tecla "shift" haciendo clic en la carpeta.',uG="Mostrar todo",lG="Estado cambiado por",NG="Objeto cambiado de",LG="Marca de tiempo",jG="Bandera reconocida",gG="Comentario",TG="Copie el valor del estado",yG="Mantenga presionada la tecla Cltr/⌘ para abrir el enlace",DG="Ajustes personalizados",dG="Eliminar objeto",zG="Editar objeto",IG="Edite el valor del estado",hG="Caduca en",wG="Desde",CG="Último cambio",AG="Calidad",mG="Sello de tiempo",pG="Usuario",OG="Valor",EG="VERDADERO",_G="Valor",fG="Advertencia: ¡El trabajo CRON se ejecutará cada minuto durante el período especificado!",SG="Advertencia: ¡El trabajo CRON se ejecutará cada segundo durante el período especificado!",xG="CRON",kG="Fecha",YG="fechas",QG="Día",UG="Día de la semana",vG="Cada",bG="cada N días",$G="cada enésimo día de la semana",PG="cada N día de la semana",WG="cada N horas",RG="cada N minutos",JG="cada N meses",BG="cada N segundos",GG="cada día",FG="Cada día de la semana",HG="Cada día de la semana",VG="cada hora",ZG="cada minuto",XG="cada mes",KG="cada segundo",qG="De",eF="Horas",tF="Intervalo",sF="Intervalo entre",iF="CRON no válido",rF="Minutos",oF="meses",MF="Una vez",nF="Período",aF="Segundos",cF="Sencillo",uF="Tiempo específico",lF="fechas especificas",NF="día(s) específico(s) de la semana",LF="día específico de semanas",jF="horas específicas",gF="minutos específicos",TF="meses específicos",yF="segundos específicos",DF="Hora",dF="A",zF="Mago",IF="todas",hF="Día astro",wF="Noche astro",CF="Amanecer",AF="Oscuridad",mF="hora dorada",pF="Fin de la hora dorada",OF="Nadir",EF="Amanecer náutico",_F="Anochecer náutico",fF="Noche",SF="Fin de la noche",xF="Mediodía solar",kF="amanecer",YF="Fin del amanecer",QF="Puesta de sol",UF="Puesta de sol",vF="a",bF="en %s",$F="cada día",PF="cada hora",WF="cada minuto",RF="cada mes",JF="cada %s días",BF="cada %s horas",GF="cada %s minutos",FF="cada %s meses",HF="cada %s semanas",VF="cada %s años",ZF="cada semana",XF="todos los años",KF="de %s a %s",qF="Nunca",eH="en %s de %s",tH="en %s y %s de",sH="en cada fecha de",iH="%s",rH="%s y %s",oH="en %s",MH="en %s y %s",nH="en los fines de semana",aH="en días laborables",cH="ya no se ejecutará más, porque el inicio está en el pasado",uH="en %s",lH="de %s",NH="Ejecutar desde hasta",LH="a %s",jH="cada",gH="Tiempo específico",TH="de",yH="De-a",DH="Tiempo de intervalo",dH="invertir; poner boca abajo o en la posición opuesta, orden o arreglo; Boca abajo",zH="ninguna",IH="en",hH="Período",wH="Diario",CH="fechas",AH="Día",mH="Cada",pH="Cada día",OH="Cada mes",EH="Cada semana",_H="Todos los años",fH="Horas",SH="Minutos",xH="mes",kH="Mensual",YH="Una vez",QH="Meses específicos",UH="Semana",vH="Días laborables",bH="Fin de semana",$H="Semanal",PH="Días laborables",WH="Año",RH="Anual",JH="Tiempo específico",BH="Hora",GH="a",FH="Válido",HH="de",VH="a",ZH="Todo el dia",XH="cada mes",KH={"ra_%s links from aliases":"%s enlaces de alias","ra_%s object(s) processed":"%s objeto(s) procesados","ra_%s was imported":"%s fue importado","ra_Accept license":"Aceptar licencia",ra_Actions:RR,"ra_Add new child object to selected parent":"Agregar nuevo objeto hijo al padre seleccionado","ra_Add objects tree from JSON file":"Agregar árbol de objetos desde el archivo JSON","ra_Add row":"Añadir fila","ra_Advanced options":"Opciones avanzadas","ra_All items are filtered out":"Todos los elementos se filtran","ra_All objects":"Todos los objetos",ra_Append:JR,"ra_Append %s entries or replace existing?":"¿Agregar %s entradas o reemplazar las existentes?","ra_Append or replace?":"¿Agregar o reemplazar?","ra_Are you sure?":"¿Estás seguro?","ra_Auto (no custom columns)":"Automático (sin columnas personalizadas)","ra_Back to %s":"Volver a %s","ra_Background image":"Imagen de fondo",ra_Cancel:BR,"ra_Cannot add items with set filter":"No se pueden agregar elementos con el filtro establecido","ra_Cannot decode license":"No se puede decodificar la licencia","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"No se puede determinar la posición: la configuración del sistema está vacía y la detección de GPS está deshabilitada en el navegador",'ra_Cannot find "%s"':'No se puede encontrar "%s"','ra_Cannot read "%s"':'No se puede leer "%s"',"ra_Cannot read licenses: %s":"No se pueden leer licencias: %s","ra_Cannot retrieve options, as instance is offline":"No se pueden recuperar las opciones, ya que la instancia está fuera de línea","ra_Cannot update attribute, because not found in the object":"No se puede actualizar el atributo porque no se encuentra en el objeto","ra_Cannot upload":"no se puede cargar",ra_Categories:GR,"ra_Chained certificate":"certificado encadenado","ra_Change color theme":"Cambiar tema de color","ra_Changed from":"Cambiaron desde","ra_Channel → State":"Canal → Estado","ra_Check license":"Verificar licencia",ra_Checked:FR,ra_Clear:HR,"ra_Clear filter":"Filtro claro","ra_Clear icon":"Icono claro","ra_Click to show":"Haga clic para mostrar","ra_Clone current row":"Clonar fila actual",ra_Close:VR,"ra_Collapse all nodes":"Contraer todos los nodos","ra_Collapse one step node":"Contraer un nivel",ra_Commercial:ZR,ra_Configure:XR,"ra_Configure visible columns":"Configurar columnas visibles","ra_Confirm deletion of %s":"Confirmar la eliminación de %s",ra_Connected:KR,ra_Continue:qR,ra_Copied:eJ,"ra_Copied %s":'Copiado "%s"',"ra_Copy content":"Copiar contenido",ra_Create:tJ,"ra_Create alias":"Crear alias","ra_Create folder":"Crear carpeta","ra_Create new folder in %s":"Crear nueva carpeta en %s",ra_Crop:sJ,"ra_Define CRON...":"Definir CRON...","ra_Define functions":"Definir funciones","ra_Define rooms":"Definir habitaciones","ra_Define schedule":"Definir horario","ra_Define schedule...":"Definir horario ...",ra_Del:iJ,ra_Delete:rJ,"ra_Delete current row":"Eliminar fila actual","ra_Deselect all":"Deselecciona todo","ra_Device → Channel → State":"Dispositivo → Canal → Estado","ra_Disable/Enable translation":"Deshabilitar/Habilitar traducción",ra_Discard:oJ,ra_Disconnected:MJ,"ra_Do not ask for next 2 hours in this session":"No preguntes por las siguientes 2 horas en esta sesión.","ra_Do not export values of states":"No exportar valores de estados.","ra_Do not use let's encrypt":"No use vamos a cifrar","ra_Docker is not available":"Docker no está disponible","ra_Docker is not installed or not running":"Docker no está instalado o no se está ejecutando","ra_Double click to reset table layout":"Haga doble clic para restablecer el diseño de la tabla","ra_Drag 'n' drop some files here, or click to select files":"Arrastre y suelte algunos archivos aquí, o haga clic para seleccionar archivos","ra_Drop file here":"Suelta el archivo aquí","ra_Drop the files here...":"Suelta el archivo aquí ...","ra_Duplicate name":"Nombre duplicado","ra_Edit ACL":"Editar LCA","ra_Edit alias":"Editar alias","ra_Edit custom config":"Editar configuración personalizada","ra_Edit full path":"Editar ruta completa","ra_Edit function":"Función de edición","ra_Edit object field":"Editar campo de objeto","ra_Edit role":"Editar rol","ra_Edit room":"Cuarto de edición","ra_Edit value":"Editar valor","ra_Enter the code from that page here":"Introduzca el código de esa página aquí",ra_Error:nJ,"ra_Expand all nodes":"Expandir todos los nodos","ra_Expand one step node":"Expandir un nivel","ra_Expand/Collapse card":"Expandir/Contraer tarjeta","ra_Export configuration section":"Exportar sección de configuración","ra_Export data to %s file":"Exportar datos al archivo %s","ra_Failed to open JSON File":"No se pudo abrir el archivo JSON","ra_Fallback custom certificates":"Certificados personalizados alternativos","ra_File is too big. Max %sk allowed. Try use SVG.":"El archivo es demasiado grande. Máximo de %sk permitido. Intenta usar SVG.",ra_Filter:aJ,"ra_Filter and Data Actions":"Acciones de filtrado y datos","ra_Filter files":"Filtrar archivos","ra_Folder name":"Nombre de la carpeta","ra_Folder → Channel → State":"Carpeta → Canal → Estado","ra_Folder → Device → Channel → State":"Carpeta → Dispositivo → Canal → Estado","ra_Folder → State":"Carpeta → Estado","ra_Folders always first":"Carpetas siempre primero",ra_Friday:cJ,"ra_From file":"Desde archivo","ra_From text":"Del texto","ra_Get %s access":"Obtener %s acceso","ra_Good luck":"Buena suerte","ra_Hide empty folders":"Ocultar carpetas vacías","ra_If no file will be created in the folder, it will disappear after the browser closed":"Si no se creará ningún archivo en la carpeta, desaparecerá después de que se cierre el navegador.","ra_If the button above does not work, you can authorize manually this app by visiting this url":"Si el botón de arriba no funciona, puedes autorizar manualmente esta aplicación visitando esta URL","ra_Import and add configuration section":"Importar y agregar sección de configuración","ra_Import and replace configuration section":"Importar y reemplazar sección de configuración","ra_Import data from %s file":"Importar datos del archivo %s","ra_Import from %s":"Importar desde %s","ra_Instance %s is alive":"Instancia %s está vivo","ra_Instance %s is not alive":"Instancia %s no está vivo","ra_Instance is not alive":"La instancia no está viva","ra_Invalid CRON":"CRON no válido","ra_Invalid JSON":"JSON no válido","ra_Invalid JSON file.":"Archivo JSON inválido.","ra_Invalid JSON format. Expected an array.":"Formato JSON inválido. Se esperaba un array.","ra_Invalid answer from server":"Respuesta inválida del servidor","ra_Invalid parent folder!":"Carpeta principal no válida.","ra_Invalid structure":"Estructura inválida","ra_JSON editor":"editor JSON","ra_Last change":"Ultimo cambio",ra_Latitude:uJ,"ra_License %s":"Licencia %s","ra_License agreement":"Acuerdo de licencia","ra_License does not exist":"La licencia no existe","ra_License expired on %s":"La licencia venció el %s",'ra_License for other product "%s"':'Licencia para otro producto "%s"',"ra_License is for version %s, but required version is %s.":"La licencia es para la versión %s, pero la versión requerida es %s.","ra_License must be converted":"La licencia debe convertirse a una versión más reciente. Puedes hacerlo en tu perfil de iobroker.net.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"Licencia no encontrada en el administrador de licencias. ¿Quieres actualizar las licencias de iobroker.net?","ra_Listen on all IPs":"Escuche en todas las IP","ra_Load configuration from file":"Cargar configuración desde archivo",ra_Logout:lJ,ra_Longitude:NJ,'ra_May not trigger "updateLicenses"':'No puede activar "updateLicenses"',ra_Message:LJ,ra_Monday:jJ,"ra_Move down":"Mover hacia abajo","ra_Move up":"Ascender",ra_Name:gJ,"ra_No data found in file":"No se encontraron datos en el archivo","ra_No one license found in license manager":"No se encontró ninguna licencia en el administrador de licencias","ra_No response from admin":"No hay respuesta del administrador","ra_No response from the backend":"No hay respuesta del backend",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':'Los no expertos pueden crear nuevos objetos solo en "0_userdata.0" o "alias.0".',"ra_Not a number":"No un número",ra_Objects:TJ,ra_Ok:yJ,"ra_On weekdays":"De lunes a viernes","ra_Only following structures of objects are available:":"Solo están disponibles las siguientes estructuras de objetos:","ra_Only selected":"Solo seleccionados","ra_Owner group":"Grupo propietario","ra_Owner user":"Usuario propietario","ra_Passwords are not equal!":"¡Las contraseñas no son iguales!","ra_Place your files here or click here to open the browse dialog":"Coloque sus archivos aquí o haga clic aquí para abrir el cuadro de diálogo de exploración","ra_Please allow popups in your browser for this page!":"¡Permita ventanas emergentes en su navegador para esta página!","ra_Please confirm":"Por favor confirmar","ra_Please create license":"Por favor cree una licencia","ra_Please enter the license":"Por favor ingrese la licencia","ra_Please select file...":"Seleccione el archivo...","ra_Please select object ID...":"Por favor seleccione ID de objeto ...","ra_Port could be used by %s":"El puerto podría ser utilizado por %s","ra_Port is already used by %s":"El puerto ya está en uso por %s","ra_Press ENTER Key to add new item":"Presione la tecla ENTER para agregar un nuevo elemento","ra_Private certificate":"certificado privado",ra_Product:DJ,"ra_Public certificate":"Certificado público","ra_Quality code":"Calidad","ra_Refresh tree":"Actualizar árbol","ra_Reload files":"Recargar archivos",ra_Rename_Move_Copy:dJ,"ra_Renew %s access":"Renovar el acceso a %s",ra_Repeat:zJ,ra_Replace:IJ,"ra_Request timed out":"Tiempo de espera agotado","ra_Restrict to folder":"Restringir a carpeta",ra_Root:hJ,ra_Saturday:wJ,ra_Save:CJ,"ra_Save and close":"Guardar y cerrar","ra_Save configuration to file":"Guardar configuración en archivo","ra_Save objects tree as JSON file":"Guardar el árbol de objetos como archivo JSON","ra_Select all":"Seleccionar todo","ra_Select color":"Seleccionar el color","ra_Select predefined icon":"Seleccionar icono predefinido","ra_Select type of export":"Seleccione tipo de exportación",ra_Selected:AJ,"ra_Selected %s object(s)":"%s objetos seleccionados","ra_Serial number (UUID)":"Número de serie (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':'El número de serie (UUID) "%s" en la licencia es para otro dispositivo.',"ra_Session will expire in %s seconds. Continue?":"La sesión expirará en %s segundos. ¿Continuar?","ra_Show all folders":"Mostrar todas las carpetas","ra_Show lines between rows":"Mostrar líneas entre filas","ra_Show/Hide object descriptions":"Mostrar/ocultar descripciones de objetos","ra_Show/hide filter input":"Mostrar/ocultar entrada de filtro","ra_Some data are not stored. Discard?":"Algunos datos no se almacenan. ¿Desechar?",ra_States:mJ,"ra_Successfully authorized. Token valid till %s and will be automatically renewed.":"Autorizado correctamente. El token es válido hasta el %s y se renovará automáticamente.","ra_Successfully authorized. Token valid till %s but it can expire as the instance is not running.":"Autorizado correctamente. El token es válido hasta %s, pero puede caducar porque la instancia no está en ejecución.","ra_Suitable license not found in license manager":"Licencia adecuada no encontrada en el administrador de licencias",ra_Sunday:pJ,"ra_Suppress question for next %s minutes":"Suprimir pregunta durante los próximos %s minutos","ra_System language":"Lenguaje del sistema","ra_Take browser position":"Tomar posición desde el navegador","ra_Take position from system settings":"Tomar posición desde la configuración del sistema",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':'Los expertos pueden crear objetos en todas partes excepto desde el segundo nivel (por ejemplo, "vis.0" o "javascript.0").',"ra_The page you are looking for was not found":"No se encontró la página que busca","ra_The schedule will be executed every minute. Are you sure?":"El cronograma se ejecutará cada minuto. ¿Estás seguro?","ra_The schedule will be executed every second. Are you sure?":"El cronograma se ejecutará cada segundo. ¿Estás seguro?",ra_Thursday:OJ,ra_Timestamp:EJ,"ra_Toggle expert mode":"Alternar modo experto","ra_Toggle the states view":"Alternar la vista de estados","ra_Toggle view mode":"Alternar modo de vista","ra_Too big":"Demasiado grande","ra_Too small":"Demasiado pequeña","ra_Transparent dialog":"Diálogo transparente",ra_Tuesday:_J,"ra_Unknown error":"Error desconocido","ra_Unknown error!":"¡Error desconocido!",ra_Update:fJ,"ra_Upload file":"Subir archivo","ra_Use all available let's encrypt certificates":"Utilice todos los certificados let's encrypt disponibles","ra_Use iobroker.acme adapter for letsencrypt certificates":"Use el adaptador iobroker.acme para los certificados de letsencrypt","ra_Use system settings for position":"Usar la configuración del sistema para la posición","ra_Used system settings":"Configuraciones del sistema usadas","ra_User files":"Archivos de usuario",ra_ValidTill:SJ,ra_Value:xJ,ra_Version:kJ,"ra_View file":"Ver archivo","ra_View: %s":"Ver: %s",ra_Wednesday:YJ,ra_Width:QJ,"ra_YAML editor":"Editor YAML",ra_Yes:UJ,"ra_You can export all objects or just the selected branch.":"Puede exportar todos los objetos o solo la rama seleccionada.","ra_You can filter entries by entering here some text":"Puede filtrar las entradas ingresando aquí algún texto","ra_You can use * as wildcard":"Puedes utilizar * como comodín",ra___different__:vJ,ra_aclEveryone_read_object:bJ,ra_aclEveryone_read_state:$J,ra_aclEveryone_write_object:PJ,ra_aclEveryone_write_state:WJ,ra_aclGroup_read_object:RJ,ra_aclGroup_read_state:JJ,ra_aclGroup_write_object:BJ,ra_aclGroup_write_state:GJ,ra_aclOwner_read_object:FJ,ra_aclOwner_read_state:HJ,ra_aclOwner_write_object:VJ,ra_aclOwner_write_state:ZJ,ra_buttons:XJ,ra_changedFrom:KJ,ra_close:qJ,ra_create_boolean_state:eB,ra_create_channel:tB,ra_create_device:sB,ra_create_number_state:iB,ra_create_state:rB,ra_create_string_state:oB,ra_daysShortText:MB,ra_dow_Fr:nB,ra_dow_Mo:aB,ra_dow_Sa:cB,ra_dow_Su:uB,ra_dow_Th:lB,ra_dow_Tu:NB,ra_dow_We:LB,ra_expertMode:jB,ra_false:gB,ra_fileType_all:TB,ra_fileType_audio:yB,ra_fileType_code:DB,ra_fileType_images:dB,ra_fileType_txt:zB,ra_fileType_video:IB,"ra_fileType_video,":"Video",ra_filter_customs:hB,ra_filter_customs_without:wB,ra_filter_func:CB,ra_filter_id:AB,ra_filter_name:mB,ra_filter_role:pB,ra_filter_room:OB,ra_filter_type:EB,"ra_import data from %s file":"Importar datos del archivo %s",ra_invalidConfig:_B,ra_lastChange:fB,ra_locally:SB,ra_month_Apr:xB,ra_month_Aug:kB,ra_month_Dec:YB,ra_month_Feb:QB,ra_month_Jan:UB,ra_month_Jul:vB,ra_month_Jun:bB,ra_month_Mai:$B,ra_month_Mar:PB,ra_month_Nov:WB,ra_month_Oct:RB,ra_month_Sep:JB,ra_months_Apr:BB,ra_months_Aug:GB,ra_months_Dec:FB,ra_months_Feb:HB,ra_months_Jan:VB,ra_months_Jul:ZB,ra_months_Jun:XB,ra_months_Mai:KB,ra_months_Mar:qB,ra_months_Nov:eG,ra_months_Oct:tG,ra_months_Sep:sG,"ra_no confirm for 5 mins":"Sin confirmación durante 5 minutos",ra_none:iG,ra_object_changed_by:rG,ra_object_changed_by_user:oG,ra_otherConfig:MG,ra_qualityCode:nG,ra_repeat:aG,ra_select_folder_hint:cG,ra_show_all:uG,ra_state_changed_by:lG,ra_state_changed_from:NG,ra_timestamp:LG,ra_tooltip_ack:jG,ra_tooltip_comment:gG,ra_tooltip_copyState:TG,ra_tooltip_ctrlForLink:yG,ra_tooltip_customConfig:DG,ra_tooltip_deleteObject:dG,ra_tooltip_editObject:zG,ra_tooltip_editState:IG,ra_tooltip_expire:hG,ra_tooltip_from:wG,ra_tooltip_lc:CG,ra_tooltip_quality:AG,ra_tooltip_ts:mG,ra_tooltip_user:pG,ra_tooltip_value:OG,ra_true:EG,"ra_use seconds":"usar segundos",ra_val:_G,"ra_via internet":"vía Internet",ra_warning_every_minute:fG,ra_warning_every_second:SG,sc_cron:xG,sc_date:kG,sc_dates:YG,sc_dow:QG,sc_dows:UG,sc_every:vG,sc_everyN_dates:bG,sc_everyN_dow:$G,sc_everyN_dows:PG,sc_everyN_hours:WG,sc_everyN_minutes:RG,sc_everyN_months:JG,sc_everyN_seconds:BG,sc_every_dates:GG,sc_every_dow:FG,sc_every_dows:HG,sc_every_hours:VG,sc_every_minutes:ZG,sc_every_months:XG,sc_every_seconds:KG,sc_from:qG,sc_hours:eF,sc_interval:tF,sc_intervalBetween:sF,sc_invalid_cron:iF,sc_minutes:rF,sc_months:oF,sc_once:MF,sc_period:nF,sc_seconds:aF,sc_simple:cF,sc_specific:uF,sc_specific_dates:lF,sc_specific_dow:NF,sc_specific_dows:LF,sc_specific_hours:jF,sc_specific_minutes:gF,sc_specific_months:TF,sc_specific_seconds:yF,sc_time:DF,sc_to:dF,sc_wizard:zF,sch_all:IF,sch_astroDay:hF,sch_astroNight:wF,sch_astro_dawn:CF,sch_astro_dusk:AF,sch_astro_goldenHour:mF,sch_astro_goldenHourEnd:pF,sch_astro_nadir:OF,sch_astro_nauticalDawn:EF,sch_astro_nauticalDusk:_F,sch_astro_night:fF,sch_astro_nightEnd:SF,sch_astro_solarNoon:xF,sch_astro_sunrise:kF,sch_astro_sunriseEnd:YF,sch_astro_sunset:QF,sch_astro_sunsetStart:UF,sch_at:vF,sch_desc_atTime:bF,sch_desc_everyDay:$F,sch_desc_everyHour:PF,sch_desc_everyMinute:WF,sch_desc_everyMonth:RF,sch_desc_everyNDay:JF,sch_desc_everyNHours:BF,sch_desc_everyNMinutes:GF,sch_desc_everyNMonths:FF,sch_desc_everyNWeeks:HF,sch_desc_everyNYears:VF,sch_desc_everyWeek:ZF,sch_desc_everyYear:XF,sch_desc_intervalFromTo:KF,sch_desc_never:qF,sch_desc_onDate:eH,sch_desc_onDates:tH,sch_desc_onEveryDate:sH,sch_desc_onMonth:iH,sch_desc_onMonths:rH,sch_desc_onWeekday:oH,sch_desc_onWeekdays:MH,sch_desc_onWeekends:nH,sch_desc_onWorkdays:aH,sch_desc_onceInPast:cH,sch_desc_once_on:uH,sch_desc_validFrom:lH,sch_desc_validFromTo:NH,sch_desc_validTo:LH,sch_every:jH,sch_exactTime:gH,sch_from:TH,sch_fromTo:yH,sch_intervalTime:DH,sch_invert:dH,sch_no_one:zH,sch_on:IH,sch_period:hH,sch_periodDaily:wH,sch_periodDates:CH,sch_periodDay:AH,sch_periodEvery:mH,sch_periodEveryDay:pH,sch_periodEveryMonth:OH,sch_periodEveryWeek:EH,sch_periodEveryYear:_H,sch_periodHours:fH,sch_periodMinutes:SH,sch_periodMonth:xH,sch_periodMonthly:kH,sch_periodOnce:YH,sch_periodSpecificMonths:QH,sch_periodWeek:UH,sch_periodWeekdays:vH,sch_periodWeekend:bH,sch_periodWeekly:$H,sch_periodWorkdays:PH,sch_periodYear:WH,sch_periodYearly:RH,sch_specificTime:JH,sch_time:BH,sch_to:GH,sch_valid:FH,sch_validFrom:HH,sch_validTo:VH,sch_wholeDay:ZH,sch_yearEveryMonth:XH},qH="Akcje",eV="Dodać",tV="Anuluj",sV="Kategorie",iV="Sprawdzony",rV="Kasować",oV="Blisko",MV="Handlowy",nV="Konfiguruj",aV="Połączony",cV="Kontynuować",uV="Skopiowano",lV="Stwórz",NV="Przyciąć",LV="Delete",jV="Usunąć",gV="Wyrzucać",TV="Niepowiązany",yV="Błąd",DV="Filtr",dV="Piątek",zV="Szerokość",IV="Wyloguj",hV="Długość geograficzna",wV="Wiadomość",CV="Poniedziałek",AV="Nazwa",mV="Obiekty",pV="Dobrze",OV="Produkt",EV="Zmień nazwę/Przenieś/Kopiuj",_V="Powtarzać",fV="Zastępować",SV="Korzeń",xV="Sobota",kV="Zapisać",YV="Wybrany",QV="Stany",UV="Niedziela",vV="Czwartek",bV="Znak czasu",$V="Wtorek",PV="Aktualizacja",WV="Obowiązuje do",RV="Wartość",JV="Wersja",BV="Środa",GV="Szerokość",FV="Tak",HV="różne",VV="Każdy może czytać obiekt",ZV="Każdy może czytać stan",XV="Każdy może pisać przedmiot",KV="Każdy może pisać stan",qV="Grupa może odczytać obiekt",eZ="Grupa może odczytać stan",tZ="Grupa może pisać obiekt",sZ="Grupa może pisać stan",iZ="Właściciel może czytać obiekt",rZ="Właściciel może odczytać stan",oZ="Właściciel może napisać obiekt",MZ="Właściciel może pisać stan",nZ="guziki",aZ="Zmieniony z",cZ="blisko",uZ="Utwórz stan logiczny",lZ="Utwórz kanał",NZ="Utwórz urządzenie",LZ="Utwórz stan liczbowy",jZ="Utwórz stan",gZ="Utwórz stan ciągu",TZ="d.",yZ="Ks",DZ="Mo",dZ="Sa",zZ="Su",IZ="Th",hZ="Tu",wZ="My",CZ="Tryb ekspercki",AZ="FAŁSZ",mZ="Wszystkie pliki",pZ="Audio",OZ="Kod/JSON",EZ="Obrazy",_Z="Tekst",fZ="Wideo",SZ="Ustawienia",xZ="bez",kZ="Funkcjonować",YZ="ID",QZ="Imię",UZ="Rola",vZ="Sala",bZ="Rodzaj",$Z="Nieprawidłowe ustawienia",PZ="Ostatnia zmiana",WZ="lokalnie",RZ="kwiecień",JZ="sierpień",BZ="grudzień",GZ="luty",FZ="styczeń",HZ="lipiec",VZ="czerwiec",ZZ="Mai",XZ="Zniszczyć",KZ="listopad",qZ="październik",eX="wrzesień",tX="kwiecień",sX="sierpień",iX="grudzień",rX="luty",oX="styczeń",MX="lipiec",nX="czerwiec",aX="Mai",cX="Zniszczyć",uX="listopad",lX="październik",NX="wrzesień",LX="Żaden",jX="Obiekt zmieniony przez",gX="Obiekt ostatnio zmieniony o godz",TX="Ustawienia z innego adaptera %s",yX="Kod jakości",DX="powtarzać",dX="Aby wybrać folder, wystarczy przytrzymać klawisz „shift”, klikając folder.",zX="Pokaż wszystko",IX="Stan zmieniony przez",hX="Obiekt zmieniony z",wX="Znak czasu",CX="Potwierdzon",AX="Komentarz",mX="Skopiuj wartość stanu",pX="Przytrzymaj klawisz CTRL/⌘, aby otworzyć link",OX="Własne ustawienia",EX="Usuń obiekt",_X="Edytuj obiekt",fX="Edytuj wartość stanu",SX="Wygasa za",xX="Z",kX="Ostatnia zmiana",YX="Jakość",QX="Znak czasu",UX="Użytkownik",vX="Wartość",bX="PRAWDA",$X="Wartość",PX="Ostrzeżenie: Zadanie CRON będzie uruchamiane co minutę w określonym przedziale czasowym!",WX="Ostrzeżenie: Zadanie CRON będzie uruchamiane co sekundę w określonym przedziale czasowym!",RX="CRON",JX="Data",BX="Daktyle",GX="Dzień",FX="Dzień tygodnia",HX="Każdy",VX="co N dni",ZX="w każdy N-ty dzień tygodnia",XX="co N dnia tygodnia",KX="co N godzin",qX="co N minut",eK="co N miesięcy",tK="co N sekund",sK="codziennie",iK="każdy dzień tygodnia",rK="każdy dzień tygodnia",oK="co godzinę",MK="każda minuta",nK="każdego miesiąca",aK="każda sekunda",cK="Od",uK="godziny",lK="Interwał",NK="Interwał między",LK="Nieprawidłowy CRON",jK="Minuty",gK="miesięcy",TK="Pewnego razu",yK="Kropka",DK="sekundy",dK="Prosty",zK="Określony czas",IK="konkretne daty",hK="określone dni tygodnia",wK="określony dzień tygodni",CK="określone godziny",AK="określone minuty",mK="określone miesiące",pK="określone sekundy",OK="Czas",EK="Do",_K="Czarodziej",fK="wszystko",SK="Dzień Astro",xK="Noc Astro",kK="Świt",YK="Zmierzch",QK="Złota godzina",UK="Koniec złotej godziny",vK="Północ",bK="Morski świt",$K="Morski zmierzch",PK="Noc",WK="Koniec nocy",RK="Południe słoneczne",JK="Wschód słońca",BK="Koniec wschodu słońca",GK="Zachód słońca",FK="Początek zachodu słońca",HK="w",VK="na %s",ZK="codziennie",XK="co godzinę",KK="każda minuta",qK="każdego miesiąca",eq="każdego dnia %s",tq="co %s godzin",sq="co %s minut",iq="co %s miesięcy",rq="co %s tygodni",oq="co %s lat",Mq="co tydzień",nq="każdego roku",aq="od %s do %s",cq="nigdy",uq="na %s z %s",lq="na %s i %s z",Nq="w każdą datę",Lq="%s",jq="%s i %s",gq="na %s",Tq="na %s i %s",yq="w weekendy",Dq="w dni robocze",dq="nie będzie już wykonywany, ponieważ start jest w przeszłości",zq="na %s",Iq="z %s",hq="Wykonaj od do",wq="do %s",Cq="każdy",Aq="Określony czas",mq="od",pq="Od-do",Oq="Czas przerwy",Eq="odwracać",_q="Żaden",fq="na",Sq="Kropka",xq="Codziennie",kq="Daktyle",Yq="Dzień",Qq="Każdy",Uq="Codziennie",vq="Każdego miesiąca",bq="Co tydzień",$q="Każdego roku",Pq="godziny",Wq="Minuty",Rq="miesiąc",Jq="Miesięczny",Bq="Pewnego razu",Gq="Określone miesiące",Fq="Tydzień",Hq="Dni powszednie",Vq="Weekend",Zq="Co tydzień",Xq="Dni robocze",Kq="Rok",qq="Rocznie",eee="Określony czas",tee="Czas",see="do",iee="Ważny",ree="od",oee="do",Mee="Cały dzień",nee="każdego miesiąca",aee={"ra_%s links from aliases":"%s linków z aliasów","ra_%s object(s) processed":"Przetworzono %s obiektów","ra_%s was imported":"%s został zaimportowany","ra_Accept license":"Zaakceptuj licencję",ra_Actions:qH,"ra_Add new child object to selected parent":"Dodaj nowy obiekt potomny do wybranego rodzica","ra_Add objects tree from JSON file":"Dodaj drzewo obiektów z pliku JSON","ra_Add row":"Dodaj wiersz","ra_Advanced options":"Zaawansowane opcje","ra_All items are filtered out":"Wszystkie pozycje są odfiltrowane","ra_All objects":"Wszystkie obiekty",ra_Append:eV,"ra_Append %s entries or replace existing?":"Dołączyć wpisy %s czy zastąpić istniejące?","ra_Append or replace?":"Dołączyć czy zastąpić?","ra_Are you sure?":"Jesteś pewny?","ra_Auto (no custom columns)":"Auto (bez kolumn niestandardowych)","ra_Back to %s":"Powrót do %s","ra_Background image":"Zdjęcie w tle",ra_Cancel:tV,"ra_Cannot add items with set filter":"Nie można dodać elementów z ustawionym filtrem","ra_Cannot decode license":"Nie można zdekodować licencji","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"Nie można określić pozycji: ustawienia systemu są puste, a wykrywanie GPS jest wyłączone w przeglądarce",'ra_Cannot find "%s"':"Nie można znaleźć „%s”",'ra_Cannot read "%s"':"Nie można odczytać „%s”","ra_Cannot read licenses: %s":"Nie można odczytać licencji: %s","ra_Cannot retrieve options, as instance is offline":"Nie można pobrać opcji, ponieważ instancja jest w trybie offline","ra_Cannot update attribute, because not found in the object":"Nie można zaktualizować atrybutu, ponieważ nie znaleziono go w obiekcie","ra_Cannot upload":"Nie można przesłać",ra_Categories:sV,"ra_Chained certificate":"Certyfikat łańcuchowy","ra_Change color theme":"Zmień motyw kolorystyczny","ra_Changed from":"Zmieniony z","ra_Channel → State":"Kanał → Stan","ra_Check license":"Sprawdź licencję",ra_Checked:iV,ra_Clear:rV,"ra_Clear filter":"Czysty filtr","ra_Clear icon":"Wyczyść ikonę","ra_Click to show":"Kliknij, aby pokazać","ra_Clone current row":"Sklonuj bieżący wiersz",ra_Close:oV,"ra_Collapse all nodes":"Zwiń wszystkie węzły","ra_Collapse one step node":"Zwiń o jeden poziom",ra_Commercial:MV,ra_Configure:nV,"ra_Configure visible columns":"Skonfiguruj widoczne kolumny","ra_Confirm deletion of %s":"Potwierdź usunięcie %s",ra_Connected:aV,ra_Continue:cV,ra_Copied:uV,"ra_Copied %s":'Skopiowano "%s"',"ra_Copy content":"Kopiuj zawartość",ra_Create:lV,"ra_Create alias":"Utwórz alias","ra_Create folder":"Utwórz folder","ra_Create new folder in %s":"Utwórz nowy folder w %s",ra_Crop:NV,"ra_Define CRON...":"Zdefiniuj CRON...","ra_Define functions":"Zdefiniuj funkcje","ra_Define rooms":"Zdefiniuj pokoje","ra_Define schedule":"Zdefiniuj harmonogram","ra_Define schedule...":"Zdefiniuj harmonogram ...",ra_Del:LV,ra_Delete:jV,"ra_Delete current row":"Usuń bieżący wiersz","ra_Deselect all":"Odznacz wszystko","ra_Device → Channel → State":"Urządzenie → Kanał → Stan","ra_Disable/Enable translation":"Wyłącz/Włącz tłumaczenie",ra_Discard:gV,ra_Disconnected:TV,"ra_Do not ask for next 2 hours in this session":"Nie proś o kolejne 2 godziny w tej sesji","ra_Do not export values of states":"Nie eksportuj wartości stanów","ra_Do not use let's encrypt":"Nie używaj zaszyfrujmy","ra_Docker is not available":"Docker nie jest dostępny","ra_Docker is not installed or not running":"Docker nie jest zainstalowany lub nie działa","ra_Double click to reset table layout":"Kliknij dwukrotnie, aby zresetować układ tabeli","ra_Drag 'n' drop some files here, or click to select files":"Przeciągnij i upuść kilka plików tutaj lub kliknij, aby wybrać pliki","ra_Drop file here":"Upuść plik tutaj","ra_Drop the files here...":"Upuść plik tutaj...","ra_Duplicate name":"Zduplikowana nazwa","ra_Edit ACL":"Edytuj listy ACL","ra_Edit alias":"Edytuj alias","ra_Edit custom config":"Edytuj konfigurację niestandardową","ra_Edit full path":"Edytuj pełną ścieżkę","ra_Edit function":"Funkcja edycji","ra_Edit object field":"Edytuj pole obiektu","ra_Edit role":"Edytuj rolę","ra_Edit room":"Edytuj pokój","ra_Edit value":"Edytuj wartość","ra_Enter the code from that page here":"Wpisz kod z tej strony tutaj",ra_Error:yV,"ra_Expand all nodes":"Rozwiń wszystkie węzły","ra_Expand one step node":"Rozwiń o jeden poziom","ra_Expand/Collapse card":"Rozwiń/Zwiń kartę","ra_Export configuration section":"Sekcja konfiguracji eksportu","ra_Export data to %s file":"Eksportuj dane do pliku %s","ra_Failed to open JSON File":"Nie udało się otworzyć pliku JSON","ra_Fallback custom certificates":"Niestandardowe certyfikaty zastępcze","ra_File is too big. Max %sk allowed. Try use SVG.":"Plik jest za duży. Maksymalna dozwolona liczba %sk. Spróbuj użyć SVG.",ra_Filter:DV,"ra_Filter and Data Actions":"Akcje filtrów i danych","ra_Filter files":"Filtruj pliki","ra_Folder name":"Nazwa folderu","ra_Folder → Channel → State":"Folder → Kanał → Stan","ra_Folder → Device → Channel → State":"Folder → Urządzenie → Kanał → Stan","ra_Folder → State":"Folder → Stan","ra_Folders always first":"Foldery zawsze na pierwszym miejscu",ra_Friday:dV,"ra_From file":"Z pliku","ra_From text":"Z tekstu","ra_Get %s access":"Uzyskaj dostęp %s","ra_Good luck":"Powodzenia","ra_Hide empty folders":"Ukryj puste foldery","ra_If no file will be created in the folder, it will disappear after the browser closed":"Jeśli w folderze nie zostanie utworzony żaden plik, zniknie on po zamknięciu przeglądarki","ra_If the button above does not work, you can authorize manually this app by visiting this url":"Jeśli przycisk powyżej nie działa, możesz autoryzować tę aplikację ręcznie, odwiedzając ten adres URL","ra_Import and add configuration section":"Importuj i dodaj sekcję konfiguracji","ra_Import and replace configuration section":"Importuj i zastąp sekcję konfiguracji","ra_Import data from %s file":"Importuj dane z pliku %s","ra_Import from %s":"Importuj z %s","ra_Instance %s is alive":"Instancja %s jest aktywna","ra_Instance %s is not alive":"Instancja TEKST nie jest aktywna","ra_Instance is not alive":"Instancja nie jest aktywna","ra_Invalid CRON":"Nieprawidłowy CRON","ra_Invalid JSON":"Nieprawidłowy JSON","ra_Invalid JSON file.":"Nieprawidłowy plik JSON.","ra_Invalid JSON format. Expected an array.":"Nieprawidłowy format JSON. Oczekiwano tablicy.","ra_Invalid answer from server":"Nieprawidłowa odpowiedź z serwera","ra_Invalid parent folder!":"Nieprawidłowy folder nadrzędny!","ra_Invalid structure":"Nieprawidłowa struktura","ra_JSON editor":"Edytor JSON","ra_Last change":"Ostatnia zmiana",ra_Latitude:zV,"ra_License %s":"Licencja %s","ra_License agreement":"Umowa licencyjna","ra_License does not exist":"Licencja nie istnieje","ra_License expired on %s":"Licencja wygasła w dniu %s",'ra_License for other product "%s"':"Licencja na inny produkt „%s”","ra_License is for version %s, but required version is %s.":"Licencja dotyczy wersji %s, ale wymagana wersja to %s.","ra_License must be converted":"Licencja musi zostać przekonwertowana na nowszą wersję. Możesz to zrobić w swoim profilu iobroker.net.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"Nie znaleziono licencji w menedżerze licencji. Chcesz zaktualizować licencje z iobroker.net?","ra_Listen on all IPs":"Słuchaj na wszystkich adresach IP","ra_Load configuration from file":"Załaduj konfigurację z pliku",ra_Logout:IV,ra_Longitude:hV,'ra_May not trigger "updateLicenses"':"Może nie uruchamiać „updateLicenses”",ra_Message:wV,ra_Monday:CV,"ra_Move down":"Padnij","ra_Move up":"Podnieść",ra_Name:AV,"ra_No data found in file":"Nie znaleziono danych w pliku","ra_No one license found in license manager":"Nie znaleziono licencji w menedżerze licencji","ra_No response from admin":"Brak odpowiedzi od administratora","ra_No response from the backend":"Brak odpowiedzi z zaplecza",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':"Osoby nie będące ekspertami mogą tworzyć nowe obiekty tylko w „0_userdata.0” lub „alias.0”.","ra_Not a number":"Nie numer",ra_Objects:mV,ra_Ok:pV,"ra_On weekdays":"W dni powszednie","ra_Only following structures of objects are available:":"Dostępne są tylko następujące struktury obiektów:","ra_Only selected":"Tylko wybrane","ra_Owner group":"Grupa właścicieli","ra_Owner user":"Właściciel użytkownika","ra_Passwords are not equal!":"Hasła nie są równe!","ra_Place your files here or click here to open the browse dialog":"Umieść swoje pliki tutaj lub kliknij tutaj, aby otworzyć okno dialogowe przeglądania","ra_Please allow popups in your browser for this page!":"Proszę zezwolić na wyświetlanie wyskakujących okienek w przeglądarce dla tej strony!","ra_Please confirm":"Proszę potwierdzić","ra_Please create license":"Utwórz licencję","ra_Please enter the license":"Proszę wprowadzić licencję","ra_Please select file...":"Wybierz plik...","ra_Please select object ID...":"Wybierz identyfikator obiektu ...","ra_Port could be used by %s":"Port może być używany przez %s","ra_Port is already used by %s":"Port jest już używany przez %s","ra_Press ENTER Key to add new item":"Naciśnij klawisz ENTER, aby dodać nowy element","ra_Private certificate":"Prywatny certyfikat",ra_Product:OV,"ra_Public certificate":"Certyfikat publiczny","ra_Quality code":"Jakości","ra_Refresh tree":"Odśwież drzewo","ra_Reload files":"Załaduj ponownie pliki",ra_Rename_Move_Copy:EV,"ra_Renew %s access":"Odnów dostęp %s",ra_Repeat:_V,ra_Replace:fV,"ra_Request timed out":"Upłynął limit czasu żądania","ra_Restrict to folder":"Ogranicz do folderu",ra_Root:SV,ra_Saturday:xV,ra_Save:kV,"ra_Save and close":"Zapisz i zamknij","ra_Save configuration to file":"Zapisz konfigurację do pliku","ra_Save objects tree as JSON file":"Zapisz drzewo obiektów jako plik JSON","ra_Select all":"Zaznacz wszystko","ra_Select color":"Wybierz kolor","ra_Select predefined icon":"Wybierz predefiniowaną ikonę","ra_Select type of export":"Wybierz rodzaj eksportu",ra_Selected:YV,"ra_Selected %s object(s)":"Wybrane obiekty %s","ra_Serial number (UUID)":"Numer seryjny (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':"Numer seryjny (UUID) „%s” w licencji dotyczy innego urządzenia.","ra_Session will expire in %s seconds. Continue?":"Sesja wygaśnie za %s sekund. Kontynuować?","ra_Show all folders":"Pokaż wszystkie foldery","ra_Show lines between rows":"Pokaż linie między rzędami","ra_Show/Hide object descriptions":"Pokaż/ukryj opisy obiektów","ra_Show/hide filter input":"Pokaż/ukryj wejście filtra","ra_Some data are not stored. Discard?":"Niektóre dane nie są przechowywane. Wyrzucać?",ra_States:QV,"ra_Successfully authorized. Token valid till %s and will be automatically renewed.":"Pomyślnie autoryzowano. Token ważny do %s i zostanie automatycznie odnowiony.","ra_Successfully authorized. Token valid till %s but it can expire as the instance is not running.":"Pomyślnie autoryzowano. Token ważny do %s, ale może wygasnąć, ponieważ instancja nie jest uruchomiona.","ra_Suitable license not found in license manager":"Nie znaleziono odpowiedniej licencji w menedżerze licencji",ra_Sunday:UV,"ra_Suppress question for next %s minutes":"Ukryj pytanie przez następne %s minut","ra_System language":"Język systemu","ra_Take browser position":"Zajmij pozycję z przeglądarki","ra_Take position from system settings":"Zajmij pozycję z ustawień systemowych",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':"Eksperci mogą tworzyć obiekty wszędzie poza drugim poziomem (np. „Vis.0” lub „javascript.0”).","ra_The page you are looking for was not found":"Strona, której szukasz nie została znaleziona","ra_The schedule will be executed every minute. Are you sure?":"Harmonogram będzie wykonywany co minutę. Czy jesteś pewien?","ra_The schedule will be executed every second. Are you sure?":"Harmonogram będzie wykonywany co sekundę. Czy jesteś pewien?",ra_Thursday:vV,ra_Timestamp:bV,"ra_Toggle expert mode":"Przełącz tryb eksperta","ra_Toggle the states view":"Przełącz widok stanów","ra_Toggle view mode":"Przełącz tryb widoku","ra_Too big":"Za duży","ra_Too small":"Za mały","ra_Transparent dialog":"Przejrzyste okno dialogowe",ra_Tuesday:$V,"ra_Unknown error":"Nieznany błąd","ra_Unknown error!":"Nieznany błąd!",ra_Update:PV,"ra_Upload file":"Przesyłanie pliku","ra_Use all available let's encrypt certificates":"Użyj wszystkich dostępnych certyfikatów Let's Encrypt","ra_Use iobroker.acme adapter for letsencrypt certificates":"Użyj adaptera iobroker.acme dla certyfikatów letsencrypt","ra_Use system settings for position":"Użyj ustawień systemowych dla pozycji","ra_Used system settings":"Używane ustawienia systemowe","ra_User files":"Pliki użytkownika",ra_ValidTill:WV,ra_Value:RV,ra_Version:JV,"ra_View file":"Zobaczyć plik","ra_View: %s":"Widok: %s",ra_Wednesday:BV,ra_Width:GV,"ra_YAML editor":"Edytor YAML",ra_Yes:FV,"ra_You can export all objects or just the selected branch.":"Możesz wyeksportować wszystkie obiekty lub tylko wybraną gałąź.","ra_You can filter entries by entering here some text":"Możesz filtrować wpisy, wpisując tutaj jakiś tekst","ra_You can use * as wildcard":"Możesz użyć * jako symbolu wieloznacznego",ra___different__:HV,ra_aclEveryone_read_object:VV,ra_aclEveryone_read_state:ZV,ra_aclEveryone_write_object:XV,ra_aclEveryone_write_state:KV,ra_aclGroup_read_object:qV,ra_aclGroup_read_state:eZ,ra_aclGroup_write_object:tZ,ra_aclGroup_write_state:sZ,ra_aclOwner_read_object:iZ,ra_aclOwner_read_state:rZ,ra_aclOwner_write_object:oZ,ra_aclOwner_write_state:MZ,ra_buttons:nZ,ra_changedFrom:aZ,ra_close:cZ,ra_create_boolean_state:uZ,ra_create_channel:lZ,ra_create_device:NZ,ra_create_number_state:LZ,ra_create_state:jZ,ra_create_string_state:gZ,ra_daysShortText:TZ,ra_dow_Fr:yZ,ra_dow_Mo:DZ,ra_dow_Sa:dZ,ra_dow_Su:zZ,ra_dow_Th:IZ,ra_dow_Tu:hZ,ra_dow_We:wZ,ra_expertMode:CZ,ra_false:AZ,ra_fileType_all:mZ,ra_fileType_audio:pZ,ra_fileType_code:OZ,ra_fileType_images:EZ,ra_fileType_txt:_Z,ra_fileType_video:fZ,"ra_fileType_video,":"Wideo",ra_filter_customs:SZ,ra_filter_customs_without:xZ,ra_filter_func:kZ,ra_filter_id:YZ,ra_filter_name:QZ,ra_filter_role:UZ,ra_filter_room:vZ,ra_filter_type:bZ,"ra_import data from %s file":"Importuj dane z pliku %s",ra_invalidConfig:$Z,ra_lastChange:PZ,ra_locally:WZ,ra_month_Apr:RZ,ra_month_Aug:JZ,ra_month_Dec:BZ,ra_month_Feb:GZ,ra_month_Jan:FZ,ra_month_Jul:HZ,ra_month_Jun:VZ,ra_month_Mai:ZZ,ra_month_Mar:XZ,ra_month_Nov:KZ,ra_month_Oct:qZ,ra_month_Sep:eX,ra_months_Apr:tX,ra_months_Aug:sX,ra_months_Dec:iX,ra_months_Feb:rX,ra_months_Jan:oX,ra_months_Jul:MX,ra_months_Jun:nX,ra_months_Mai:aX,ra_months_Mar:cX,ra_months_Nov:uX,ra_months_Oct:lX,ra_months_Sep:NX,"ra_no confirm for 5 mins":"brak potwierdzenia przez 5 minut",ra_none:LX,ra_object_changed_by:jX,ra_object_changed_by_user:gX,ra_otherConfig:TX,ra_qualityCode:yX,ra_repeat:DX,ra_select_folder_hint:dX,ra_show_all:zX,ra_state_changed_by:IX,ra_state_changed_from:hX,ra_timestamp:wX,ra_tooltip_ack:CX,ra_tooltip_comment:AX,ra_tooltip_copyState:mX,ra_tooltip_ctrlForLink:pX,ra_tooltip_customConfig:OX,ra_tooltip_deleteObject:EX,ra_tooltip_editObject:_X,ra_tooltip_editState:fX,ra_tooltip_expire:SX,ra_tooltip_from:xX,ra_tooltip_lc:kX,ra_tooltip_quality:YX,ra_tooltip_ts:QX,ra_tooltip_user:UX,ra_tooltip_value:vX,ra_true:bX,"ra_use seconds":"użyj sekund",ra_val:$X,"ra_via internet":"przez internet",ra_warning_every_minute:PX,ra_warning_every_second:WX,sc_cron:RX,sc_date:JX,sc_dates:BX,sc_dow:GX,sc_dows:FX,sc_every:HX,sc_everyN_dates:VX,sc_everyN_dow:ZX,sc_everyN_dows:XX,sc_everyN_hours:KX,sc_everyN_minutes:qX,sc_everyN_months:eK,sc_everyN_seconds:tK,sc_every_dates:sK,sc_every_dow:iK,sc_every_dows:rK,sc_every_hours:oK,sc_every_minutes:MK,sc_every_months:nK,sc_every_seconds:aK,sc_from:cK,sc_hours:uK,sc_interval:lK,sc_intervalBetween:NK,sc_invalid_cron:LK,sc_minutes:jK,sc_months:gK,sc_once:TK,sc_period:yK,sc_seconds:DK,sc_simple:dK,sc_specific:zK,sc_specific_dates:IK,sc_specific_dow:hK,sc_specific_dows:wK,sc_specific_hours:CK,sc_specific_minutes:AK,sc_specific_months:mK,sc_specific_seconds:pK,sc_time:OK,sc_to:EK,sc_wizard:_K,sch_all:fK,sch_astroDay:SK,sch_astroNight:xK,sch_astro_dawn:kK,sch_astro_dusk:YK,sch_astro_goldenHour:QK,sch_astro_goldenHourEnd:UK,sch_astro_nadir:vK,sch_astro_nauticalDawn:bK,sch_astro_nauticalDusk:$K,sch_astro_night:PK,sch_astro_nightEnd:WK,sch_astro_solarNoon:RK,sch_astro_sunrise:JK,sch_astro_sunriseEnd:BK,sch_astro_sunset:GK,sch_astro_sunsetStart:FK,sch_at:HK,sch_desc_atTime:VK,sch_desc_everyDay:ZK,sch_desc_everyHour:XK,sch_desc_everyMinute:KK,sch_desc_everyMonth:qK,sch_desc_everyNDay:eq,sch_desc_everyNHours:tq,sch_desc_everyNMinutes:sq,sch_desc_everyNMonths:iq,sch_desc_everyNWeeks:rq,sch_desc_everyNYears:oq,sch_desc_everyWeek:Mq,sch_desc_everyYear:nq,sch_desc_intervalFromTo:aq,sch_desc_never:cq,sch_desc_onDate:uq,sch_desc_onDates:lq,sch_desc_onEveryDate:Nq,sch_desc_onMonth:Lq,sch_desc_onMonths:jq,sch_desc_onWeekday:gq,sch_desc_onWeekdays:Tq,sch_desc_onWeekends:yq,sch_desc_onWorkdays:Dq,sch_desc_onceInPast:dq,sch_desc_once_on:zq,sch_desc_validFrom:Iq,sch_desc_validFromTo:hq,sch_desc_validTo:wq,sch_every:Cq,sch_exactTime:Aq,sch_from:mq,sch_fromTo:pq,sch_intervalTime:Oq,sch_invert:Eq,sch_no_one:_q,sch_on:fq,sch_period:Sq,sch_periodDaily:xq,sch_periodDates:kq,sch_periodDay:Yq,sch_periodEvery:Qq,sch_periodEveryDay:Uq,sch_periodEveryMonth:vq,sch_periodEveryWeek:bq,sch_periodEveryYear:$q,sch_periodHours:Pq,sch_periodMinutes:Wq,sch_periodMonth:Rq,sch_periodMonthly:Jq,sch_periodOnce:Bq,sch_periodSpecificMonths:Gq,sch_periodWeek:Fq,sch_periodWeekdays:Hq,sch_periodWeekend:Vq,sch_periodWeekly:Zq,sch_periodWorkdays:Xq,sch_periodYear:Kq,sch_periodYearly:qq,sch_specificTime:eee,sch_time:tee,sch_to:see,sch_valid:iee,sch_validFrom:ree,sch_validTo:oee,sch_wholeDay:Mee,sch_yearEveryMonth:nee},cee="Дії",uee="Додайте",lee="Скасувати",Nee="Категорії",Lee="Перевірено",jee="Видалити",gee="Закрити",Tee="Комерційний",yee="Налаштувати",Dee="Підключено",dee="Продовжити",zee="Скопійовано",Iee="Створити",hee="Урожай",wee="Delete",Cee="Видалити",Aee="Відкинути",mee="Відключено",pee="Помилка",Oee="фільтр",Eee="П'ятниця",_ee="Широта",fee="Вийти",See="Довгота",xee="повідомлення",kee="понеділок",Yee="Ім'я",Qee="Об'єкти",Uee="В порядку",vee="Продукт",bee="Перейменувати/Перемістити/Копіювати",$ee="Повторіть",Pee="Замінити",Wee="Корінь",Ree="Субота",Jee="зберегти",Bee="Вибране",Gee="держави",Fee="неділя",Hee="четвер",Vee="Мітка часу",Zee="вівторок",Xee="оновлення",Kee="Дійсний до",qee="Значення",ete="Версія",tte="Середа",ste="Ширина",ite="Так",rte="інший",ote="Кожен може читати об'єкт",Mte="Кожен може читати стан",nte="Кожен може написати об'єкт",ate="Кожен може написати стан",cte="Група може читати об'єкт",ute="Група може читати стан",lte="Група може писати об'єкт",Nte="Група може писати стан",Lte="Власник може читати об'єкт",jte="Власник може читати стан",gte="Власник може написати об'єкт",Tte="Власник може написати стан",yte="кнопки",Dte="Змінено з",dte="закрити",zte="Створіть логічний стан",Ite="Створити канал",hte="Створити пристрій",wte="Створити номерний стан",Cte="Створити состояние",Ate="Створити рядковий стан",mte="днів",pte="О",Ote="пн",Ete="Sa",_te="Нд",fte="чт",Ste="вт",xte="ми",kte="Експертний режим",Yte="НЕПРАВДА",Qte="Всі файли",Ute="Аудіо",vte="Код/JSON",bte="Зображення",$te="текст",Pte="відео",Wte="Налаштування",Rte="без",Jte="функція",Bte="ID",Gte="Ім'я",Fte="Роль",Hte="Кімната",Vte="Тип",Zte="Недійсні налаштування",Xte="Остання зміна",Kte="локально",qte="квіт",ese="серп",tse="груд",sse="лютий",ise="січня",rse="лип",ose="черв",Mse="травень",nse="березень",ase="Листопад",cse="жовт",use="вер",lse="квіт",Nse="серп",Lse="груд",jse="лютий",gse="січня",Tse="лип",yse="черв",Dse="травень",dse="березень",zse="Листопад",Ise="жовт",hse="вер",wse="немає",Cse="Об'єкт змінено",Ase="Об'єкт востаннє змінено о",mse="Налаштування з іншого адаптера %s",pse="Код якості",Ose="повторити",Ese="Щоб вибрати папку, просто клацніть папку, утримуючи клавішу «Shift».",_se="Показати все",fse="Стан змінено на",Sse="Об'єкт змінено з",xse="Мітка часу",kse="Визнано",Yse="коментар",Qse="Скопіюйте значення стану",Use="Утримуйте клавішу Cltr/⌘, щоб відкрити посилання",vse="Спеціальні налаштування",bse="Видалити об'єкт",$se="Редагувати об'єкт",Pse="Відредагуйте значення стану",Wse="Термін дії закінчується через",Rse="Від",Jse="Востаннє змінено",Bse="якість",Gse="Позначка часу",Fse="Користувач",Hse="Значення",Vse="ПРАВДА",Zse="Значення",Xse="Попередження: завдання CRON виконуватиметься щохвилини протягом зазначеного періоду!",Kse="Попередження: завдання CRON виконуватиметься кожну секунду протягом зазначеного періоду!",qse="CRON",eie="Дата",tie="дати",sie="День",iie="День тижня",rie="кожен",oie="кожні N днів",Mie="кожен N-й день тижня",nie="кожні N днів тижня",aie="кожні N годин",cie="кожні N хвилин",uie="кожні N місяців",lie="кожні N секунд",Nie="кожен день",Lie="кожен день тижня",jie="кожен день тижня",gie="щогодини",Tie="кожну хвилину",yie="щомісяця",Die="кожна секунда",die="Від",zie="години",Iie="Інтервал",hie="Інтервал між",wie="Недійсний CRON",Cie="хвилин",Aie="місяців",mie="Один раз",pie="Крапка",Oie="секунд",Eie="просто",_ie="Конкретний час",fie="конкретні дати",Sie="конкретний день (дні) тижня",xie="конкретний день тижня",kie="конкретні години",Yie="конкретні хвилини",Qie="конкретні місяці",Uie="конкретні секунди",vie="час",bie="до",$ie="майстер",Pie="все",Wie="Астродень",Rie="Астро ніч",Jie="Світанок",Bie="Сутінки",Gie="Золота година",Fie="Кінець золотої години",Hie="Надір",Vie="Морський світанок",Zie="Морські сутінки",Xie="ніч",Kie="Кінець ночі",qie="Сонячний полудень",ere="Схід сонця",tre="Кінець сходу сонця",sre="Захід сонця",ire="Початок заходу сонця",rre="в",ore="в %s",Mre="кожен день",nre="щогодини",are="кожну хвилину",cre="щомісяця",ure="кожен %s день",lre="кожні %s годин",Nre="кожні %s хвилин",Lre="кожні %s місяців",jre="кожні %s тижнів",gre="кожні %s років",Tre="щотижня",yre="щороку",Dre="від %s до %s",dre="ніколи",zre="на %s з %s",Ire="на %s і %s з",hre="на кожну дату",wre="%s",Cre="%s і %s",Are="на %s",mre="на %s і %s",pre="на вихідних",Ore="в робочі дні",Ere="більше не виконуватиметься, оскільки запуск у минулому",_re="на %s",fre="від %s",Sre="Виконати від до",xre="до %s",kre="кожен",Yre="Конкретний час",Qre="від",Ure="Від до",vre="Час інтервалу",bre="інвертувати",$re="немає",Pre="на",Wre="Крапка",Rre="Щодня",Jre="дати",Bre="День",Gre="кожен",Fre="Кожен день",Hre="Щомісяця",Vre="Щотижня",Zre="Щороку",Xre="години",Kre="хвилин",qre="місяць",eoe="Щомісяця",toe="Один раз",soe="Конкретні місяці",ioe="тиждень",roe="будні",ooe="Вихідні",Moe="Щотижня",noe="робочі дні",aoe="рік",coe="щорічно",uoe="Конкретний час",loe="час",Noe="до",Loe="Дійсний",joe="від",goe="до",Toe="Цілий день",yoe="щомісяця",Doe={"ra_%s links from aliases":"%s посилань із псевдонімів","ra_%s object(s) processed":"Оброблено %s об’єктів","ra_%s was imported":"%s було імпортовано","ra_Accept license":"Прийняти ліцензію",ra_Actions:cee,"ra_Add new child object to selected parent":"Додати новий дочірній об’єкт до вибраного батьківського","ra_Add objects tree from JSON file":"Додайте дерево об’єктів із файлу JSON","ra_Add row":"Додати рядок","ra_Advanced options":"Розширені опції","ra_All items are filtered out":"Усі елементи відфільтровано","ra_All objects":"Всі об'єкти",ra_Append:uee,"ra_Append %s entries or replace existing?":"Додати %s записів чи замінити наявні?","ra_Append or replace?":"Додати чи замінити?","ra_Are you sure?":"Ти впевнений?","ra_Auto (no custom columns)":"Автоматично (без спеціальних стовпців)","ra_Back to %s":"Назад до %s","ra_Background image":"Фонове зображення",ra_Cancel:lee,"ra_Cannot add items with set filter":"Неможливо додати елементи зі встановленим фільтром","ra_Cannot decode license":"Неможливо розшифрувати ліцензію","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"Неможливо визначити положення: системні налаштування порожні, а визначення GPS вимкнено в браузері",'ra_Cannot find "%s"':'Не вдається знайти "%s"','ra_Cannot read "%s"':'Неможливо прочитати "%s"',"ra_Cannot read licenses: %s":"Неможливо прочитати ліцензії: %s","ra_Cannot retrieve options, as instance is offline":"Неможливо отримати параметри, оскільки екземпляр офлайн","ra_Cannot update attribute, because not found in the object":"Неможливо оновити атрибут, оскільки його не знайдено в об’єкті","ra_Cannot upload":"Неможливо завантажити",ra_Categories:Nee,"ra_Chained certificate":"Прикутий сертифікат","ra_Change color theme":"Змінити кольорову тему","ra_Changed from":"Змінено з","ra_Channel → State":"Канал → Стан","ra_Check license":"Перевірити ліцензію",ra_Checked:Lee,ra_Clear:jee,"ra_Clear filter":"Очистити фільтр","ra_Clear icon":"Очистити значок","ra_Click to show":"Натисніть, щоб показати","ra_Clone current row":"Клонувати поточний рядок",ra_Close:gee,"ra_Collapse all nodes":"Згорнути всі вузли","ra_Collapse one step node":"Згорнути на один рівень",ra_Commercial:Tee,ra_Configure:yee,"ra_Configure visible columns":"Налаштувати видимі стовпці","ra_Confirm deletion of %s":"Підтвердити видалення %s",ra_Connected:Dee,ra_Continue:dee,ra_Copied:zee,"ra_Copied %s":'Скопійовано "%s"',"ra_Copy content":"Скопіюйте вміст",ra_Create:Iee,"ra_Create alias":"Створити псевдонім","ra_Create folder":"Створити папку","ra_Create new folder in %s":"Створіть нову папку в %s",ra_Crop:hee,"ra_Define CRON...":"Визначити CRON...","ra_Define functions":"Визначити функції","ra_Define rooms":"Визначте кімнати","ra_Define schedule":"Визначити розклад","ra_Define schedule...":"Визначити розклад...",ra_Del:wee,ra_Delete:Cee,"ra_Delete current row":"Видалити поточний рядок","ra_Deselect all":"Скасувати вибір усіх","ra_Device → Channel → State":"Пристрій → Канал → Стан","ra_Disable/Enable translation":"Вимкнути/Увімкнути переклад",ra_Discard:Aee,ra_Disconnected:mee,"ra_Do not ask for next 2 hours in this session":"Не запитуйте про наступні 2 години цього сеансу","ra_Do not export values of states":"Не експортуйте значення станів","ra_Do not use let's encrypt":"Не використовуйте let's encrypt","ra_Docker is not available":"Докер недоступний","ra_Docker is not installed or not running":"Docker не встановлено або не працює","ra_Double click to reset table layout":"Двічі клацніть, щоб скинути макет таблиці","ra_Drag 'n' drop some files here, or click to select files":"Перетягніть деякі файли сюди або натисніть, щоб вибрати файли","ra_Drop file here":"Перетягніть файл сюди","ra_Drop the files here...":"Перетягніть файл сюди...","ra_Duplicate name":"Повторюване ім'я","ra_Edit ACL":"Редагувати ACL","ra_Edit alias":"Редагувати псевдонім","ra_Edit custom config":"Редагувати спеціальну конфігурацію","ra_Edit full path":"Редагувати повний шлях","ra_Edit function":"функція редагування","ra_Edit object field":"Поле редагування об'єкта","ra_Edit role":"Редагувати роль","ra_Edit room":"Редагувати кімнату","ra_Edit value":"Редагувати значення","ra_Enter the code from that page here":"Введіть тут код з цієї сторінки",ra_Error:pee,"ra_Expand all nodes":"Розгорнути всі вузли","ra_Expand one step node":"Розгорніть один рівень","ra_Expand/Collapse card":"Розгорнути/Згорнути картку","ra_Export configuration section":"Розділ конфігурації експорту","ra_Export data to %s file":"Експортувати дані у файл %s","ra_Failed to open JSON File":"Не вдалося відкрити файл JSON","ra_Fallback custom certificates":"Запасні спеціальні сертифікати","ra_File is too big. Max %sk allowed. Try use SVG.":"Файл завеликий. Максимально дозволено %sk. Спробуйте використовувати SVG.",ra_Filter:Oee,"ra_Filter and Data Actions":"Фільтр і дії з даними","ra_Filter files":"Фільтр файлів","ra_Folder name":"Назва папки","ra_Folder → Channel → State":"Папка → Канал → Стан","ra_Folder → Device → Channel → State":"Папка → Пристрій → Канал → Стан","ra_Folder → State":"Папка → Стан","ra_Folders always first":"Папки завжди першими",ra_Friday:Eee,"ra_From file":"З файлу","ra_From text":"З тексту","ra_Get %s access":"Отримайте доступ %s","ra_Good luck":"Удачі","ra_Hide empty folders":"Приховати порожні папки","ra_If no file will be created in the folder, it will disappear after the browser closed":"Якщо в папці не буде створено файл, він зникне після закриття браузера","ra_If the button above does not work, you can authorize manually this app by visiting this url":"Якщо кнопка вище не працює, ви можете авторизувати цю програму вручну, перейшовши за цим посиланням","ra_Import and add configuration section":"Розділ імпорту та додавання конфігурації","ra_Import and replace configuration section":"Розділ імпорту та заміни конфігурації","ra_Import data from %s file":"Імпортувати дані з файлу %s","ra_Import from %s":"Імпортувати з %s","ra_Instance %s is alive":"Примірник %s живий","ra_Instance %s is not alive":"Примірник %s не живий","ra_Instance is not alive":"Примірник не живий","ra_Invalid CRON":"Недійсний CRON","ra_Invalid JSON":"Недійсний JSON","ra_Invalid JSON file.":"Недійсний JSON-файл.","ra_Invalid JSON format. Expected an array.":"Недійсний формат JSON. Очікується масив.","ra_Invalid answer from server":"Недійсна відповідь від сервера","ra_Invalid parent folder!":"Недійсна батьківська папка!","ra_Invalid structure":"Недійсна структура","ra_JSON editor":"Редактор JSON","ra_Last change":"Остання зміна",ra_Latitude:_ee,"ra_License %s":"Ліцензія %s","ra_License agreement":"Ліцензійна угода","ra_License does not exist":"Ліцензії не існує","ra_License expired on %s":"Термін дії ліцензії закінчився %s",'ra_License for other product "%s"':'Ліцензія на інший продукт "%s"',"ra_License is for version %s, but required version is %s.":"Ліцензія для версії %s, але потрібна версія %s.","ra_License must be converted":"Ліцензію необхідно конвертувати до новішої версії. Ви можете зробити це у своєму профілі на iobroker.net.","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"Ліцензія не знайдена в менеджері ліцензій. Хочете оновити ліцензії з iobroker.net?","ra_Listen on all IPs":"Прослуховування на всіх IP","ra_Load configuration from file":"Завантажити конфігурацію з файлу",ra_Logout:fee,ra_Longitude:See,'ra_May not trigger "updateLicenses"':'Може не запускати "updateLicenses"',ra_Message:xee,ra_Monday:kee,"ra_Move down":"Рухатися вниз","ra_Move up":"Рухатися вгору",ra_Name:Yee,"ra_No data found in file":"Немає даних у файлі","ra_No one license found in license manager":"У менеджері ліцензій не знайдено жодної ліцензії","ra_No response from admin":"Немає відповіді від адміністратора","ra_No response from the backend":"Немає відповіді від сервера",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':"Неексперти можуть створювати нові об’єкти лише в «0_userdata.0» або «alias.0».","ra_Not a number":"Не номер",ra_Objects:Qee,ra_Ok:Uee,"ra_On weekdays":"В будні дні","ra_Only following structures of objects are available:":"Доступні тільки такі структури об'єктів:","ra_Only selected":"Тільки обрані","ra_Owner group":"Група власників","ra_Owner user":"Користувач-власник","ra_Passwords are not equal!":"Паролі не бувають рівними!","ra_Place your files here or click here to open the browse dialog":"Розмістіть свої файли тут або натисніть тут, щоб відкрити діалогове вікно перегляду","ra_Please allow popups in your browser for this page!":"Будь ласка, дозвольте спливаючі вікна у вашому браузері для цієї сторінки!","ra_Please confirm":"Будь-ласка підтвердіть","ra_Please create license":"Будь ласка, створіть ліцензію","ra_Please enter the license":"Будь ласка, введіть ліцензію","ra_Please select file...":"Виберіть файл...","ra_Please select object ID...":"Виберіть ідентифікатор об'єкта...","ra_Port could be used by %s":"Порт може використовуватися %s","ra_Port is already used by %s":"Порт уже використовується %s","ra_Press ENTER Key to add new item":"Натисніть клавішу ENTER, щоб додати новий елемент","ra_Private certificate":"Приватний сертифікат",ra_Product:vee,"ra_Public certificate":"Публічний сертифікат","ra_Quality code":"якість","ra_Refresh tree":"Оновити дерево","ra_Reload files":"Перезавантажте файли",ra_Rename_Move_Copy:bee,"ra_Renew %s access":"Поновити доступ %s",ra_Repeat:$ee,ra_Replace:Pee,"ra_Request timed out":"Час запиту вичерпано","ra_Restrict to folder":"Обмежити папкою",ra_Root:Wee,ra_Saturday:Ree,ra_Save:Jee,"ra_Save and close":"Зберегти та закрити","ra_Save configuration to file":"Зберегти конфігурацію у файл","ra_Save objects tree as JSON file":"Зберегти дерево об’єктів як файл JSON","ra_Select all":"Вибрати все","ra_Select color":"Виберіть колір","ra_Select predefined icon":"Виберіть попередньо визначений значок","ra_Select type of export":"Виберіть тип експорту",ra_Selected:Bee,"ra_Selected %s object(s)":"Вибрані об’єкти %s","ra_Serial number (UUID)":"Серійний номер (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':'Серійний номер (UUID) "%s" у ліцензії призначений для іншого пристрою.',"ra_Session will expire in %s seconds. Continue?":"Сеанс закінчиться через %s секунд. Продовжити?","ra_Show all folders":"Показати всі папки","ra_Show lines between rows":"Показувати лінії між рядками","ra_Show/Hide object descriptions":"Показати/Сховати описи об’єктів","ra_Show/hide filter input":"Показати/сховати введення фільтра","ra_Some data are not stored. Discard?":"Деякі дані не зберігаються. Відкинути?",ra_States:Gee,"ra_Successfully authorized. Token valid till %s and will be automatically renewed.":"Авторизацію успішно пройшло. Токен дійсний до %s та буде автоматично поновлено.","ra_Successfully authorized. Token valid till %s but it can expire as the instance is not running.":"Авторизацію успішно виконано. Токен дійсний до %s, але його термін дії може закінчитися, оскільки екземпляр не запущено.","ra_Suitable license not found in license manager":"Відповідна ліцензія не знайдена в менеджері ліцензій",ra_Sunday:Fee,"ra_Suppress question for next %s minutes":"Приховати запитання на наступні %s хвилин","ra_System language":"Системна мова","ra_Take browser position":"Займіть позицію з браузера","ra_Take position from system settings":"Займіть позицію в налаштуваннях системи",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':"Експерти можуть створювати об’єкти всюди, крім другого рівня (наприклад, «vis.0» або «javascript.0»).","ra_The page you are looking for was not found":"Сторінка, яку ви шукаєте, не знайдена","ra_The schedule will be executed every minute. Are you sure?":"Розклад буде виконуватися щохвилини. Ви впевнені?","ra_The schedule will be executed every second. Are you sure?":"Розклад буде виконуватися щосекунди. Ви впевнені?",ra_Thursday:Hee,ra_Timestamp:Vee,"ra_Toggle expert mode":"Перемкнути експертний режим","ra_Toggle the states view":"Перемкнути перегляд штатів","ra_Toggle view mode":"Перемкнути режим перегляду","ra_Too big":"Занадто великий","ra_Too small":"Занадто малий","ra_Transparent dialog":"Прозорий діалог",ra_Tuesday:Zee,"ra_Unknown error":"Невідома помилка","ra_Unknown error!":"Невідома помилка!",ra_Update:Xee,"ra_Upload file":"Завантажити файл","ra_Use all available let's encrypt certificates":"Використовуйте всі доступні сертифікати let's encrypt","ra_Use iobroker.acme adapter for letsencrypt certificates":"Використовуйте адаптер iobroker.acme для сертифікатів letsencrypt","ra_Use system settings for position":"Використовуйте системні налаштування для позиції","ra_Used system settings":"Використані системні налаштування","ra_User files":"Файли користувача",ra_ValidTill:Kee,ra_Value:qee,ra_Version:ete,"ra_View file":"Переглянути файл","ra_View: %s":"Перегляд: %s",ra_Wednesday:tte,ra_Width:ste,"ra_YAML editor":"Редактор YAML",ra_Yes:ite,"ra_You can export all objects or just the selected branch.":"Ви можете експортувати всі об’єкти або лише вибрану гілку.","ra_You can filter entries by entering here some text":"Ви можете фільтрувати записи, ввівши тут певний текст","ra_You can use * as wildcard":"Ви можете використовувати * як символ підстановки",ra___different__:rte,ra_aclEveryone_read_object:ote,ra_aclEveryone_read_state:Mte,ra_aclEveryone_write_object:nte,ra_aclEveryone_write_state:ate,ra_aclGroup_read_object:cte,ra_aclGroup_read_state:ute,ra_aclGroup_write_object:lte,ra_aclGroup_write_state:Nte,ra_aclOwner_read_object:Lte,ra_aclOwner_read_state:jte,ra_aclOwner_write_object:gte,ra_aclOwner_write_state:Tte,ra_buttons:yte,ra_changedFrom:Dte,ra_close:dte,ra_create_boolean_state:zte,ra_create_channel:Ite,ra_create_device:hte,ra_create_number_state:wte,ra_create_state:Cte,ra_create_string_state:Ate,ra_daysShortText:mte,ra_dow_Fr:pte,ra_dow_Mo:Ote,ra_dow_Sa:Ete,ra_dow_Su:_te,ra_dow_Th:fte,ra_dow_Tu:Ste,ra_dow_We:xte,ra_expertMode:kte,ra_false:Yte,ra_fileType_all:Qte,ra_fileType_audio:Ute,ra_fileType_code:vte,ra_fileType_images:bte,ra_fileType_txt:$te,ra_fileType_video:Pte,"ra_fileType_video,":"відео",ra_filter_customs:Wte,ra_filter_customs_without:Rte,ra_filter_func:Jte,ra_filter_id:Bte,ra_filter_name:Gte,ra_filter_role:Fte,ra_filter_room:Hte,ra_filter_type:Vte,"ra_import data from %s file":"Імпортувати дані з файлу %s",ra_invalidConfig:Zte,ra_lastChange:Xte,ra_locally:Kte,ra_month_Apr:qte,ra_month_Aug:ese,ra_month_Dec:tse,ra_month_Feb:sse,ra_month_Jan:ise,ra_month_Jul:rse,ra_month_Jun:ose,ra_month_Mai:Mse,ra_month_Mar:nse,ra_month_Nov:ase,ra_month_Oct:cse,ra_month_Sep:use,ra_months_Apr:lse,ra_months_Aug:Nse,ra_months_Dec:Lse,ra_months_Feb:jse,ra_months_Jan:gse,ra_months_Jul:Tse,ra_months_Jun:yse,ra_months_Mai:Dse,ra_months_Mar:dse,ra_months_Nov:zse,ra_months_Oct:Ise,ra_months_Sep:hse,"ra_no confirm for 5 mins":"без підтвердження протягом 5 хв",ra_none:wse,ra_object_changed_by:Cse,ra_object_changed_by_user:Ase,ra_otherConfig:mse,ra_qualityCode:pse,ra_repeat:Ose,ra_select_folder_hint:Ese,ra_show_all:_se,ra_state_changed_by:fse,ra_state_changed_from:Sse,ra_timestamp:xse,ra_tooltip_ack:kse,ra_tooltip_comment:Yse,ra_tooltip_copyState:Qse,ra_tooltip_ctrlForLink:Use,ra_tooltip_customConfig:vse,ra_tooltip_deleteObject:bse,ra_tooltip_editObject:$se,ra_tooltip_editState:Pse,ra_tooltip_expire:Wse,ra_tooltip_from:Rse,ra_tooltip_lc:Jse,ra_tooltip_quality:Bse,ra_tooltip_ts:Gse,ra_tooltip_user:Fse,ra_tooltip_value:Hse,ra_true:Vse,"ra_use seconds":"використовуйте секунди",ra_val:Zse,"ra_via internet":"через інтернет",ra_warning_every_minute:Xse,ra_warning_every_second:Kse,sc_cron:qse,sc_date:eie,sc_dates:tie,sc_dow:sie,sc_dows:iie,sc_every:rie,sc_everyN_dates:oie,sc_everyN_dow:Mie,sc_everyN_dows:nie,sc_everyN_hours:aie,sc_everyN_minutes:cie,sc_everyN_months:uie,sc_everyN_seconds:lie,sc_every_dates:Nie,sc_every_dow:Lie,sc_every_dows:jie,sc_every_hours:gie,sc_every_minutes:Tie,sc_every_months:yie,sc_every_seconds:Die,sc_from:die,sc_hours:zie,sc_interval:Iie,sc_intervalBetween:hie,sc_invalid_cron:wie,sc_minutes:Cie,sc_months:Aie,sc_once:mie,sc_period:pie,sc_seconds:Oie,sc_simple:Eie,sc_specific:_ie,sc_specific_dates:fie,sc_specific_dow:Sie,sc_specific_dows:xie,sc_specific_hours:kie,sc_specific_minutes:Yie,sc_specific_months:Qie,sc_specific_seconds:Uie,sc_time:vie,sc_to:bie,sc_wizard:$ie,sch_all:Pie,sch_astroDay:Wie,sch_astroNight:Rie,sch_astro_dawn:Jie,sch_astro_dusk:Bie,sch_astro_goldenHour:Gie,sch_astro_goldenHourEnd:Fie,sch_astro_nadir:Hie,sch_astro_nauticalDawn:Vie,sch_astro_nauticalDusk:Zie,sch_astro_night:Xie,sch_astro_nightEnd:Kie,sch_astro_solarNoon:qie,sch_astro_sunrise:ere,sch_astro_sunriseEnd:tre,sch_astro_sunset:sre,sch_astro_sunsetStart:ire,sch_at:rre,sch_desc_atTime:ore,sch_desc_everyDay:Mre,sch_desc_everyHour:nre,sch_desc_everyMinute:are,sch_desc_everyMonth:cre,sch_desc_everyNDay:ure,sch_desc_everyNHours:lre,sch_desc_everyNMinutes:Nre,sch_desc_everyNMonths:Lre,sch_desc_everyNWeeks:jre,sch_desc_everyNYears:gre,sch_desc_everyWeek:Tre,sch_desc_everyYear:yre,sch_desc_intervalFromTo:Dre,sch_desc_never:dre,sch_desc_onDate:zre,sch_desc_onDates:Ire,sch_desc_onEveryDate:hre,sch_desc_onMonth:wre,sch_desc_onMonths:Cre,sch_desc_onWeekday:Are,sch_desc_onWeekdays:mre,sch_desc_onWeekends:pre,sch_desc_onWorkdays:Ore,sch_desc_onceInPast:Ere,sch_desc_once_on:_re,sch_desc_validFrom:fre,sch_desc_validFromTo:Sre,sch_desc_validTo:xre,sch_every:kre,sch_exactTime:Yre,sch_from:Qre,sch_fromTo:Ure,sch_intervalTime:vre,sch_invert:bre,sch_no_one:$re,sch_on:Pre,sch_period:Wre,sch_periodDaily:Rre,sch_periodDates:Jre,sch_periodDay:Bre,sch_periodEvery:Gre,sch_periodEveryDay:Fre,sch_periodEveryMonth:Hre,sch_periodEveryWeek:Vre,sch_periodEveryYear:Zre,sch_periodHours:Xre,sch_periodMinutes:Kre,sch_periodMonth:qre,sch_periodMonthly:eoe,sch_periodOnce:toe,sch_periodSpecificMonths:soe,sch_periodWeek:ioe,sch_periodWeekdays:roe,sch_periodWeekend:ooe,sch_periodWeekly:Moe,sch_periodWorkdays:noe,sch_periodYear:aoe,sch_periodYearly:coe,sch_specificTime:uoe,sch_time:loe,sch_to:Noe,sch_valid:Loe,sch_validFrom:joe,sch_validTo:goe,sch_wholeDay:Toe,sch_yearEveryMonth:yoe},doe="操作",zoe="附加",Ioe="取消",hoe="类别",woe="勾选",Coe="删除",Aoe="关",moe="商业的",poe="配置",Ooe="连接的",Eoe="继续",_oe="复制的",foe="创建",Soe="庄稼",xoe="Delete",koe="删除",Yoe="丢弃",Qoe="断开连接",Uoe="错误",voe="筛选",boe="星期五",$oe="纬度",Poe="登出",Woe="经度",Roe="信息",Joe="周一",Boe="姓名",Goe="对象",Foe="好",Hoe="产品",Voe="重命名/移动/复制",Zoe="重复",Xoe="代替",Koe="根",qoe="周六",eMe="保存",tMe="已选",sMe="状态",iMe="星期日",rMe="周四",oMe="时间戳记",MMe="周二",nMe="更新资料",aMe="有效期至",cMe="值",uMe="版本",lMe="周三",NMe="宽度",LMe="是的",jMe="不同的",gMe="每个人都可以阅读对象",TMe="每个人都可以阅读状态",yMe="每个人都可以写对象",DMe="每个人都可以写状态",dMe="组可以读取对象",zMe="群组可以读取状态",IMe="组可以写对象",hMe="组可以写状态",wMe="所有者可以读取对象",CMe="所有者可以读取状态",AMe="所有者可以写对象",mMe="所有者可以写状态",pMe="纽扣",OMe="更改为",EMe="关闭",_Me="创建布尔状态",fMe="创建频道",SMe="创建设备",xMe="创建号码状态",kMe="创建状态",YMe="创建字符串状态",QMe="天",UMe="r",vMe="莫",bMe="萨",$Me="苏",PMe="Th",WMe="Tu",RMe="我们",JMe="专家模式",BMe="错误的",GMe="所有文件",FMe="声音的",HMe="代码/JSON",VMe="图片",ZMe="文本",XMe="视频",KMe="设定值",qMe="没有",ene="功能",tne="ID",sne="名称",ine="角色",rne="房间",one="类型",Mne="无效的设定",nne="最后一次变更",ane="本地",cne="4月",une="八月",lne="十二月",Nne="二月",Lne="简",jne="七月",gne="君",Tne="迈",yne="三月",Dne="十一月",dne="十月",zne="九月",Ine="4月",hne="八月",wne="十二月",Cne="二月",Ane="简",mne="七月",pne="君",One="迈",Ene="三月",_ne="十一月",fne="十月",Sne="九月",xne="没有任何",kne="物件变更者",Yne="对象上次更改时间为",Qne="来自其他适配器%s的设置",Une="质量代码",vne="重复",bne="要选择文件夹,只需按住“shift”键单击文件夹即可。",$ne="显示全部",Pne="状态由",Wne="对象已从更改",Rne="时间戳记",Jne="致谢国旗",Bne="评论",Gne="复制状态值",Fne="按住 Cltr/⌘ 键打开链接",Hne="自定义设置",Vne="删除物件",Zne="编辑物件",Xne="编辑状态值",Kne="有效期:",qne="从",eae="最后改变了",tae="质量",sae="时间戳",iae="用户",rae="值",oae="真的",Mae="值",nae="警告:CRON 作业将在指定期间内每分钟运行一次!",aae="警告:CRON 作业将在指定期间内每秒运行一次!",cae="周期任务",uae="日期",lae="日",Nae="天",Lae="星期",jae="每",gae="每N天",Tae="每周的第 N 天",yae="每周N天",Dae="每N小时一次",dae="每N分钟",zae="每N个月",Iae="每N秒",hae="每天",wae="一周的每一天",Cae="一周的每一天",Aae="每小时",mae="每分钟",pae="每月",Oae="每秒",Eae="从",_ae="小时",fae="间隔",Sae="间隔时间",xae="无效的 CRON",kae="分钟",Yae="月",Qae="一次",Uae="周期",vae="秒",bae="简单模式",$ae="特定的时间",Pae="特定的日子",Wae="一周中的特定日子",Rae="特定的一周",Jae="特定的小时",Bae="特定的分钟",Gae="特定的月份",Fae="特定的描述",Hae="时间",Vae="至",Zae="向导模式",Xae="全选",Kae="天文白天",qae="天文夜晚",ece="黎明",tce="黄昏",sce="黄金时段",ice="黄金时段结束",rce="天底",oce="航海黎明",Mce="航海黄昏",nce="夜晚",ace="夜晚结束",cce="正午",uce="日出",lce="日出结束",Nce="日落",Lce="日落开始",jce="在",gce="的%s",Tce="每天",yce="每小时",Dce="每分钟",dce="每月",zce="每%s天",Ice="每%s小时",hce="每%s分钟",wce="每%s月",Cce="每%s周",Ace="每%s年",mce="每周",pce="每年",Oce="从%s到%s",Ece="决不",_ce="在%s的%s上",fce="在%s和%s上",Sce="在每天",xce="%s",kce="%s和%s",Yce="在%s上",Qce="在%s和%s上",Uce="在周末",vce="在工作日",bce="将不再执行,因为起始时间已经是过去的时间了。",$ce="在%s上",Pce="来自%s",Wce="从执行到",Rce="到%s",Jce="每",Bce="特定的时间",Gce="从",Fce="从到",Hce="间隔时间",Vce="倒置",Zce="取消全选",Xce="的",Kce="周期",qce="每天",eue="日期",tue="天",sue="每",iue="每天",rue="每月",oue="每周",Mue="每年",nue="小时",aue="分钟",cue="月",uue="每月一次",lue="一次",Nue="特定的月份",Lue="周",jue="工作日",gue="周末",Tue="每周",yue="工作日",Due="年",due="每年",zue="特定的时间",Iue="时间",hue="至",wue="生效",Cue="从",Aue="至",mue="一整天",pue="每月",Oue={"ra_%s links from aliases":"来自别名的 %s 个链接","ra_%s object(s) processed":"已处理%s个对象","ra_%s was imported":"对象已导入","ra_Accept license":"接受许可",ra_Actions:doe,"ra_Add new child object to selected parent":"将新的子对象添加到选定的父对象","ra_Add objects tree from JSON file":"从JSON文件添加对象树","ra_Add row":"添加行","ra_Advanced options":"高级选项","ra_All items are filtered out":"所有项目都被过滤掉","ra_All objects":"所有对象",ra_Append:zoe,"ra_Append %s entries or replace existing?":"追加 %s 条目还是替换现有条目?","ra_Append or replace?":"追加还是替换?","ra_Are you sure?":"你确定吗?","ra_Auto (no custom columns)":"自动(无自定义列)","ra_Back to %s":"返回“%s”","ra_Background image":"背景图像",ra_Cancel:Ioe,"ra_Cannot add items with set filter":"无法使用设置过滤器添加项目","ra_Cannot decode license":"无法解码许可证","ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser":"无法确定位置:系统设置为空且浏览器中禁用了 GPS 检测",'ra_Cannot find "%s"':"找不到“%s”",'ra_Cannot read "%s"':"无法阅读“%s”","ra_Cannot read licenses: %s":"无法读取许可证:%s","ra_Cannot retrieve options, as instance is offline":"无法检索选项,因为实例处于脱机状态","ra_Cannot update attribute, because not found in the object":"无法更新属性,因为在对象中找不到","ra_Cannot upload":"无法上传",ra_Categories:hoe,"ra_Chained certificate":"链式证书","ra_Change color theme":"更改颜色主题","ra_Changed from":"更改为","ra_Channel → State":"频道→状态","ra_Check license":"检查许可证",ra_Checked:woe,ra_Clear:Coe,"ra_Clear filter":"清除筛选","ra_Clear icon":"清除图标","ra_Click to show":"点击显示","ra_Clone current row":"克隆当前行",ra_Close:Aoe,"ra_Collapse all nodes":"收合所有节点","ra_Collapse one step node":"折叠一级",ra_Commercial:moe,ra_Configure:poe,"ra_Configure visible columns":"配置可见列","ra_Confirm deletion of %s":"确认删除%s",ra_Connected:Ooe,ra_Continue:Eoe,ra_Copied:_oe,"ra_Copied %s":'复制的"%s"',"ra_Copy content":"复制内容",ra_Create:foe,"ra_Create alias":"创建别名","ra_Create folder":"创建文件夹","ra_Create new folder in %s":"在%s中创建新文件夹",ra_Crop:Soe,"ra_Define CRON...":"定义 CRON...","ra_Define functions":"定义功能","ra_Define rooms":"定义房间","ra_Define schedule":"定义时间表","ra_Define schedule...":"定义时间表...",ra_Del:xoe,ra_Delete:koe,"ra_Delete current row":"删除当前行","ra_Deselect all":"全部取消选择","ra_Device → Channel → State":"设备→频道→状态","ra_Disable/Enable translation":"禁用/启用翻译",ra_Discard:Yoe,ra_Disconnected:Qoe,"ra_Do not ask for next 2 hours in this session":"本次会话中不要询问接下来的 2 个小时","ra_Do not export values of states":"不导出状态值","ra_Do not use let's encrypt":"不要使用让我们加密","ra_Docker is not available":"Docker 不可用","ra_Docker is not installed or not running":"Docker 未安装或未运行","ra_Double click to reset table layout":"双击重置表格布局","ra_Drag 'n' drop some files here, or click to select files":"将一些文件拖放到此处,或单击以选择文件","ra_Drop file here":"将档案放在这里","ra_Drop the files here...":"把文件放在这里...","ra_Duplicate name":"名称重复","ra_Edit ACL":"编辑访问控制列表","ra_Edit alias":"编辑别名","ra_Edit custom config":"编辑自定义配置","ra_Edit full path":"编辑完整路径","ra_Edit function":"编辑功能","ra_Edit object field":"编辑对象字段","ra_Edit role":"编辑角色","ra_Edit room":"编辑室","ra_Edit value":"编辑值","ra_Enter the code from that page here":"在此处输入该页面的代码",ra_Error:Uoe,"ra_Expand all nodes":"展开所有节点","ra_Expand one step node":"扩大一级","ra_Expand/Collapse card":"展开/折叠卡","ra_Export configuration section":"导出配置部分","ra_Export data to %s file":"将数据导出到 %s 文件","ra_Failed to open JSON File":"无法打开JSON文件","ra_Fallback custom certificates":"后备自定义证书","ra_File is too big. Max %sk allowed. Try use SVG.":"文件太大。允许的最大字节%s数。尝试使用 SVG。",ra_Filter:voe,"ra_Filter and Data Actions":"过滤和数据操作","ra_Filter files":"过滤文件","ra_Folder name":"文件夹名称","ra_Folder → Channel → State":"文件夹→频道→状态","ra_Folder → Device → Channel → State":"文件夹→设备→频道→状态","ra_Folder → State":"文件夹→状态","ra_Folders always first":"资料夹永远优先",ra_Friday:boe,"ra_From file":"从文件","ra_From text":"文本","ra_Get %s access":"获取 %s 访问权限","ra_Good luck":"祝你好运","ra_Hide empty folders":"隐藏空文件夹","ra_If no file will be created in the folder, it will disappear after the browser closed":"如果在该文件夹中未创建任何文件,则该文件将在浏览器关闭后消失","ra_If the button above does not work, you can authorize manually this app by visiting this url":"如果上面的按钮不起作用,您可以通过访问此网址手动授权此应用","ra_Import and add configuration section":"导入并添加配置部分","ra_Import and replace configuration section":"导入和替换配置部分","ra_Import data from %s file":"从 %s 文件导入数据","ra_Import from %s":"从 %s 导入","ra_Instance %s is alive":"实例 %s 是活动的","ra_Instance %s is not alive":"实例 %s 不存在","ra_Instance is not alive":"实例不存在","ra_Invalid CRON":"无效的 CRON","ra_Invalid JSON":"JSON 无效","ra_Invalid JSON file.":"无效的JSON文件。","ra_Invalid JSON format. Expected an array.":"JSON格式无效。应为数组。","ra_Invalid answer from server":"来自服务器的无效答案","ra_Invalid parent folder!":"父文件夹无效!","ra_Invalid structure":"结构无效","ra_JSON editor":"JSON 编辑器","ra_Last change":"最后一次变更",ra_Latitude:$oe,"ra_License %s":"许可证 %s","ra_License agreement":"许可协议","ra_License does not exist":"许可证不存在","ra_License expired on %s":"许可证已于 %s 过期",'ra_License for other product "%s"':"其他产品“%s”的许可证","ra_License is for version %s, but required version is %s.":"许可证适用于版本 %s,但所需版本为 %s。","ra_License must be converted":"许可证必须转换为更新版本。您可以在 iobroker.net 个人资料中执行此操作。","ra_License not found in license manager. Do you want to read licenses from iobroker.net?":"在许可证管理器中找不到许可证。您要从 iobroker.net 更新许可证吗?","ra_Listen on all IPs":"监听所有IP","ra_Load configuration from file":"从文件加载配置",ra_Logout:Poe,ra_Longitude:Woe,'ra_May not trigger "updateLicenses"':"可能不会触发“updateLicenses”",ra_Message:Roe,ra_Monday:Joe,"ra_Move down":"下移","ra_Move up":"提升",ra_Name:Boe,"ra_No data found in file":"文件中未找到数据","ra_No one license found in license manager":"许可证管理器中未找到任何许可证","ra_No response from admin":"管理员没有回应","ra_No response from the backend":"后端无响应",'ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".':"非专家只能在“ 0_userdata.0”或“ alias.0”中创建新对象。","ra_Not a number":"不是数字",ra_Objects:Goe,ra_Ok:Foe,"ra_On weekdays":"在工作日","ra_Only following structures of objects are available:":"仅以下对象结构可用:","ra_Only selected":"只选择","ra_Owner group":"所有者组","ra_Owner user":"所有者用户","ra_Passwords are not equal!":"密码不相等!","ra_Place your files here or click here to open the browse dialog":"将文件放在此处或单击此处打开浏览对话框","ra_Please allow popups in your browser for this page!":"请允许浏览器弹出此页面!","ra_Please confirm":"请确认","ra_Please create license":"请创建许可证","ra_Please enter the license":"请输入许可证","ra_Please select file...":"请选择文件...","ra_Please select object ID...":"请选择对象ID ...","ra_Port could be used by %s":"%s 可以使用端口","ra_Port is already used by %s":"端口已被 %s 使用","ra_Press ENTER Key to add new item":"按 ENTER 键添加新项目","ra_Private certificate":"私有证书",ra_Product:Hoe,"ra_Public certificate":"公共证书","ra_Quality code":"质量代码","ra_Refresh tree":"刷新树","ra_Reload files":"重新载入文件",ra_Rename_Move_Copy:Voe,"ra_Renew %s access":"续订 %s 访问权限",ra_Repeat:Zoe,ra_Replace:Xoe,"ra_Request timed out":"请求超时","ra_Restrict to folder":"限制到文件夹",ra_Root:Koe,ra_Saturday:qoe,ra_Save:eMe,"ra_Save and close":"保存并关闭","ra_Save configuration to file":"将配置保存到文件","ra_Save objects tree as JSON file":"将对象树另存为JSON文件","ra_Select all":"全选","ra_Select color":"选择颜色","ra_Select predefined icon":"选择预定义图标","ra_Select type of export":"选择导出类型",ra_Selected:tMe,"ra_Selected %s object(s)":"选定的 %s 个对象","ra_Serial number (UUID)":"序列号 (UUID)",'ra_Serial number (UUID) "%s" in license is for other device.':"许可证中的序列号 (UUID)“%s”用于其他设备。","ra_Session will expire in %s seconds. Continue?":"会话将在 %s 秒后过期。是否继续?","ra_Show all folders":"显示所有文件夹","ra_Show lines between rows":"显示行之间的线","ra_Show/Hide object descriptions":"显示/隐藏对象描述","ra_Show/hide filter input":"显示/隐藏过滤器输入","ra_Some data are not stored. Discard?":"部分数据未存储。丢弃?",ra_States:sMe,"ra_Successfully authorized. Token valid till %s and will be automatically renewed.":"授权成功。令牌有效期至 %s,并将自动续订。","ra_Successfully authorized. Token valid till %s but it can expire as the instance is not running.":"授权成功。令牌有效期至 %s,但由于实例未运行,令牌可能会过期。","ra_Suitable license not found in license manager":"在许可证管理器中找不到合适的许可证",ra_Sunday:iMe,"ra_Suppress question for next %s minutes":"在接下来的%s分钟内取消提问","ra_System language":"系统语言","ra_Take browser position":"从浏览器获取位置","ra_Take position from system settings":"从系统设置中获取位置",'ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").':"专家可以在任何地方创建对象,但要从第二层开始(例如“ vis.0”或“ javascript.0”)。","ra_The page you are looking for was not found":"未找到您要查找的页面","ra_The schedule will be executed every minute. Are you sure?":"该计划将每分钟执行一次。您确定吗?","ra_The schedule will be executed every second. Are you sure?":"该计划将每秒执行一次。你确定吗?",ra_Thursday:rMe,ra_Timestamp:oMe,"ra_Toggle expert mode":"切换专家模式","ra_Toggle the states view":"切换状态视图","ra_Toggle view mode":"切换检视模式","ra_Too big":"太大","ra_Too small":"太小","ra_Transparent dialog":"透明对话框",ra_Tuesday:MMe,"ra_Unknown error":"未知错误","ra_Unknown error!":"未知错误!",ra_Update:nMe,"ra_Upload file":"上传文件","ra_Use all available let's encrypt certificates":"使用所有可用的让我们加密证书","ra_Use iobroker.acme adapter for letsencrypt certificates":"使用 iobroker.acme 适配器获取 letsencrypt 证书","ra_Use system settings for position":"使用系统设置定位","ra_Used system settings":"使用的系统设置","ra_User files":"用户档案",ra_ValidTill:aMe,ra_Value:cMe,ra_Version:uMe,"ra_View file":"查看文件","ra_View: %s":"查看:%s",ra_Wednesday:lMe,ra_Width:NMe,"ra_YAML editor":"YAML 编辑器",ra_Yes:LMe,"ra_You can export all objects or just the selected branch.":"您可以导出所有对象或仅导出选定的分支。","ra_You can filter entries by entering here some text":"您可以通过在此处输入一些文本来过滤条目","ra_You can use * as wildcard":"您可以使用 * 作为通配符",ra___different__:jMe,ra_aclEveryone_read_object:gMe,ra_aclEveryone_read_state:TMe,ra_aclEveryone_write_object:yMe,ra_aclEveryone_write_state:DMe,ra_aclGroup_read_object:dMe,ra_aclGroup_read_state:zMe,ra_aclGroup_write_object:IMe,ra_aclGroup_write_state:hMe,ra_aclOwner_read_object:wMe,ra_aclOwner_read_state:CMe,ra_aclOwner_write_object:AMe,ra_aclOwner_write_state:mMe,ra_buttons:pMe,ra_changedFrom:OMe,ra_close:EMe,ra_create_boolean_state:_Me,ra_create_channel:fMe,ra_create_device:SMe,ra_create_number_state:xMe,ra_create_state:kMe,ra_create_string_state:YMe,ra_daysShortText:QMe,ra_dow_Fr:UMe,ra_dow_Mo:vMe,ra_dow_Sa:bMe,ra_dow_Su:$Me,ra_dow_Th:PMe,ra_dow_Tu:WMe,ra_dow_We:RMe,ra_expertMode:JMe,ra_false:BMe,ra_fileType_all:GMe,ra_fileType_audio:FMe,ra_fileType_code:HMe,ra_fileType_images:VMe,ra_fileType_txt:ZMe,ra_fileType_video:XMe,"ra_fileType_video,":"视频",ra_filter_customs:KMe,ra_filter_customs_without:qMe,ra_filter_func:ene,ra_filter_id:tne,ra_filter_name:sne,ra_filter_role:ine,ra_filter_room:rne,ra_filter_type:one,"ra_import data from %s file":"从 %s 文件导入数据",ra_invalidConfig:Mne,ra_lastChange:nne,ra_locally:ane,ra_month_Apr:cne,ra_month_Aug:une,ra_month_Dec:lne,ra_month_Feb:Nne,ra_month_Jan:Lne,ra_month_Jul:jne,ra_month_Jun:gne,ra_month_Mai:Tne,ra_month_Mar:yne,ra_month_Nov:Dne,ra_month_Oct:dne,ra_month_Sep:zne,ra_months_Apr:Ine,ra_months_Aug:hne,ra_months_Dec:wne,ra_months_Feb:Cne,ra_months_Jan:Ane,ra_months_Jul:mne,ra_months_Jun:pne,ra_months_Mai:One,ra_months_Mar:Ene,ra_months_Nov:_ne,ra_months_Oct:fne,ra_months_Sep:Sne,"ra_no confirm for 5 mins":"5分钟内无需确认",ra_none:xne,ra_object_changed_by:kne,ra_object_changed_by_user:Yne,ra_otherConfig:Qne,ra_qualityCode:Une,ra_repeat:vne,ra_select_folder_hint:bne,ra_show_all:$ne,ra_state_changed_by:Pne,ra_state_changed_from:Wne,ra_timestamp:Rne,ra_tooltip_ack:Jne,ra_tooltip_comment:Bne,ra_tooltip_copyState:Gne,ra_tooltip_ctrlForLink:Fne,ra_tooltip_customConfig:Hne,ra_tooltip_deleteObject:Vne,ra_tooltip_editObject:Zne,ra_tooltip_editState:Xne,ra_tooltip_expire:Kne,ra_tooltip_from:qne,ra_tooltip_lc:eae,ra_tooltip_quality:tae,ra_tooltip_ts:sae,ra_tooltip_user:iae,ra_tooltip_value:rae,ra_true:oae,"ra_use seconds":"用秒",ra_val:Mae,"ra_via internet":"通过互联网",ra_warning_every_minute:nae,ra_warning_every_second:aae,sc_cron:cae,sc_date:uae,sc_dates:lae,sc_dow:Nae,sc_dows:Lae,sc_every:jae,sc_everyN_dates:gae,sc_everyN_dow:Tae,sc_everyN_dows:yae,sc_everyN_hours:Dae,sc_everyN_minutes:dae,sc_everyN_months:zae,sc_everyN_seconds:Iae,sc_every_dates:hae,sc_every_dow:wae,sc_every_dows:Cae,sc_every_hours:Aae,sc_every_minutes:mae,sc_every_months:pae,sc_every_seconds:Oae,sc_from:Eae,sc_hours:_ae,sc_interval:fae,sc_intervalBetween:Sae,sc_invalid_cron:xae,sc_minutes:kae,sc_months:Yae,sc_once:Qae,sc_period:Uae,sc_seconds:vae,sc_simple:bae,sc_specific:$ae,sc_specific_dates:Pae,sc_specific_dow:Wae,sc_specific_dows:Rae,sc_specific_hours:Jae,sc_specific_minutes:Bae,sc_specific_months:Gae,sc_specific_seconds:Fae,sc_time:Hae,sc_to:Vae,sc_wizard:Zae,sch_all:Xae,sch_astroDay:Kae,sch_astroNight:qae,sch_astro_dawn:ece,sch_astro_dusk:tce,sch_astro_goldenHour:sce,sch_astro_goldenHourEnd:ice,sch_astro_nadir:rce,sch_astro_nauticalDawn:oce,sch_astro_nauticalDusk:Mce,sch_astro_night:nce,sch_astro_nightEnd:ace,sch_astro_solarNoon:cce,sch_astro_sunrise:uce,sch_astro_sunriseEnd:lce,sch_astro_sunset:Nce,sch_astro_sunsetStart:Lce,sch_at:jce,sch_desc_atTime:gce,sch_desc_everyDay:Tce,sch_desc_everyHour:yce,sch_desc_everyMinute:Dce,sch_desc_everyMonth:dce,sch_desc_everyNDay:zce,sch_desc_everyNHours:Ice,sch_desc_everyNMinutes:hce,sch_desc_everyNMonths:wce,sch_desc_everyNWeeks:Cce,sch_desc_everyNYears:Ace,sch_desc_everyWeek:mce,sch_desc_everyYear:pce,sch_desc_intervalFromTo:Oce,sch_desc_never:Ece,sch_desc_onDate:_ce,sch_desc_onDates:fce,sch_desc_onEveryDate:Sce,sch_desc_onMonth:xce,sch_desc_onMonths:kce,sch_desc_onWeekday:Yce,sch_desc_onWeekdays:Qce,sch_desc_onWeekends:Uce,sch_desc_onWorkdays:vce,sch_desc_onceInPast:bce,sch_desc_once_on:$ce,sch_desc_validFrom:Pce,sch_desc_validFromTo:Wce,sch_desc_validTo:Rce,sch_every:Jce,sch_exactTime:Bce,sch_from:Gce,sch_fromTo:Fce,sch_intervalTime:Hce,sch_invert:Vce,sch_no_one:Zce,sch_on:Xce,sch_period:Kce,sch_periodDaily:qce,sch_periodDates:eue,sch_periodDay:tue,sch_periodEvery:sue,sch_periodEveryDay:iue,sch_periodEveryMonth:rue,sch_periodEveryWeek:oue,sch_periodEveryYear:Mue,sch_periodHours:nue,sch_periodMinutes:aue,sch_periodMonth:cue,sch_periodMonthly:uue,sch_periodOnce:lue,sch_periodSpecificMonths:Nue,sch_periodWeek:Lue,sch_periodWeekdays:jue,sch_periodWeekend:gue,sch_periodWeekly:Tue,sch_periodWorkdays:yue,sch_periodYear:Due,sch_periodYearly:due,sch_specificTime:zue,sch_time:Iue,sch_to:hue,sch_valid:wue,sch_validFrom:Cue,sch_validTo:Aue,sch_wholeDay:mue,sch_yearEveryMonth:pue},Eue={en:Y1,de:BC,ru:tO,pt:Nx,nl:hU,fr:S9,it:WR,es:KH,pl:aee,uk:Doe,"zh-cn":Oue},_ue=` +html { + height: 100%; +} + +body { + margin: 0; + padding: 0; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + width: 100%; + height: 100%; + overflow: hidden; +} + +/* scrollbar */ +::-webkit-scrollbar-track { + background-color: #ccc; + border-radius: 5px; +} + +::-webkit-scrollbar { + width: 5px; + height: 5px; + background-color: #ccc; +} + +::-webkit-scrollbar-thumb { + background-color: #575757; + border-radius: 5px; +} + +#root { + height: 100%; +} + +.App { + height: 100%; +} + +@keyframes glow { + from { + background-color: initial; + } + to { + background-color: #58c458; + } +} +`;function fue(){try{return window.self!==window.top}catch{return!0}}class qt extends qs{socket;isIFrame=fue();instance;adapterName;instanceId;newReact;encryptedFields;sentryDSN;alertDialogRendered;_secret;_systemConfig;savedNative;common=null;sentryStarted=!1;sentryInited=!1;resizeTimer=null;constructor(e,t){const s=e.Connection||(t==null?void 0:t.Connection)||Oe;if(!window.document.getElementById("generic-app-iobroker-component")){const N=window.document.createElement("style");N.setAttribute("id","generic-app-iobroker-component"),N.innerHTML=_ue,window.document.head.appendChild(N)}if(!qt.isWeb()&&window.io&&window.location.port==="3000")try{const N=new window.SocketClient;delete window.io,window.io=N}catch{}super(e),ug();const r=(window.location.search||"").replace(/^\?/,"").replace(/#.*$/,""),o={};r.trim().split("&").filter(N=>N.trim()).forEach(N=>{const c=N.split("=");o[c[0]]=c.length===2?c[1]:!0,o[c[0]]==="true"?o[c[0]]=!0:o[c[0]]==="false"&&(o[c[0]]=!1)}),this.instance=(t==null?void 0:t.instance)??e.instance??(o.instance!==void 0?parseInt(o.instance,10)||0:parseInt(window.location.search.slice(1),10)||0);const M=window.location.pathname.split("/");this.adapterName=(t==null?void 0:t.adapterName)||e.adapterName||window.adapterName||M[M.length-2]||"iot",this.instanceId=`system.adapter.${this.adapterName}.${this.instance}`,this.newReact=o.newReact===!0;const a=qs.getLocation();a.tab=a.tab||(window._localStorage||window.localStorage).getItem(`${this.adapterName}-adapter`)||"";const u=this.createTheme();this.state=Object.assign(this.state||{},{selectedTab:(window._localStorage||window.localStorage).getItem(`${this.adapterName}-adapter`)||"",selectedTabNum:-1,native:{},errorText:"",changed:!1,connected:!1,loaded:!1,isConfigurationError:"",expertMode:!1,toast:"",theme:u,themeName:this.getThemeName(u),themeType:this.getThemeType(u),bottomButtons:(t&&t.bottomButtons)===!1?!1:(e==null?void 0:e.bottomButtons)!==!1,width:qt.getWidth(),confirmClose:!1,_alert:!1,_alertType:"info",_alertMessage:""});const l=Eue;t!=null&&t.translations?Object.keys(t.translations).forEach(N=>{t.translations&&(l[N]=Object.assign(l[N],t.translations[N]||{}))}):e.translations&&Object.keys(e.translations).forEach(N=>{e.translations&&(l[N]=Object.assign(l[N],e.translations[N]||{}))}),D.setTranslations(l),this.savedNative={},this.encryptedFields=e.encryptedFields||(t==null?void 0:t.encryptedFields)||[],this.sentryDSN=t&&t.sentryDSN||e.sentryDSN,window.socketUrl&&(window.socketUrl.startsWith(":")?window.socketUrl=`${window.location.protocol}//${window.location.hostname}${window.socketUrl}`:!window.socketUrl.startsWith("http://")&&!window.socketUrl.startsWith("https://")&&(window.socketUrl=`${window.location.protocol}//${window.socketUrl}`)),this.alertDialogRendered=!1,window.iobOldAlert||(window.iobOldAlert=window.alert),window.alert=N=>{if(!this.alertDialogRendered){window.iobOldAlert(N);return}N!=null&&N.toString().toLowerCase().includes("error")?(console.error(N),this.showAlert(N.toString(),"error")):(console.log(N),this.showAlert(N.toString(),"info"))},this.socket=new s({...(e==null?void 0:e.socket)||(t==null?void 0:t.socket),name:this.adapterName,doNotLoadAllObjects:t==null?void 0:t.doNotLoadAllObjects,onProgress:N=>{N===at.CONNECTING?this.setState({connected:!1}):N===at.READY?this.setState({connected:!0}):this.setState({connected:!0})},onReady:()=>{D.setLanguage(this.socket.systemLang),this.socket.subscribeObject("system.config",this.onSystemConfigChanged).then(()=>this.getSystemConfig()).then(N=>(this._secret=typeof N<"u"&&N.native&&N.native.secret||"Zgfr56gFe87jJOM",this._systemConfig=(N==null?void 0:N.common)||{},this.socket.getObject(this.instanceId))).then(async N=>{var y,d;let c;const L=N,g=((y=await this.socket.getState(`${this.instanceId}.plugins.sentry.enabled`))==null?void 0:y.val)!==!1&&((d=this._systemConfig)==null?void 0:d.diag)!=="none"&&(L==null?void 0:L.common)&&L.common.name&&L.common.version&&!L.common.disableDataReporting&&window.location.host!=="localhost:3000";!this.sentryStarted&&this.sentryDSN&&g&&(this.sentryStarted=!0,cg({dsn:this.sentryDSN,release:`iobroker.${L.common.name}@${L.common.version}`,integrations:[kc()]}),console.log("Sentry initialized")),!this.sentryInited&&g&&(this.sentryInited=!0,c=this.socket.getObject("system.meta.uuid").then(h=>{h&&h.native&&h.native.uuid&&Lt().setUser({id:h.native.uuid})})),c=c instanceof Promise?c:Promise.resolve(),c.then(()=>{L?(this.common=L==null?void 0:L.common,this.onPrepareLoad(L.native,L.encryptedNative),this.savedNative=JSON.parse(JSON.stringify(L.native)),this.setState({native:L.native,loaded:!0,expertMode:this.getExpertMode()},()=>this.onConnectionReady&&this.onConnectionReady())):(console.warn("Cannot load instance settings"),this.setState({native:{},loaded:!0,expertMode:this.getExpertMode()},()=>this.onConnectionReady&&this.onConnectionReady()))})}).catch(N=>window.alert(`Cannot settings: ${N}`))},onError:N=>{console.error(N),this.showError(N)}})}static isWeb(){return window.socketUrl!==void 0}showAlert(e,t){t!=="error"&&t!=="warning"&&t!=="info"&&t!=="success"&&(t="info"),this.setState({_alert:!0,_alertType:t,_alertMessage:e})}renderAlertSnackbar(){return this.alertDialogRendered=!0,n.createElement(Jr,{style:this.state._alertType==="error"?{backgroundColor:"#f44336"}:this.state._alertType==="success"?{backgroundColor:"#4caf50"}:void 0,open:this.state._alert,autoHideDuration:6e3,onClose:(e,t)=>t!=="clickaway"&&this.setState({_alert:!1}),message:this.state._alertMessage})}onSystemConfigChanged=(e,t)=>{var s,r;t&&e==="system.config"&&(this.socket.systemLang!==(t==null?void 0:t.common.language)&&(this.socket.systemLang=(t==null?void 0:t.common.language)||"en",D.setLanguage(this.socket.systemLang)),((s=this._systemConfig)==null?void 0:s.expertMode)!==!!((r=t==null?void 0:t.common)!=null&&r.expertMode)?(this._systemConfig=(t==null?void 0:t.common)||{},this.setState({expertMode:this.getExpertMode()})):this._systemConfig=(t==null?void 0:t.common)||{})};componentDidMount(){window.addEventListener("resize",this.onResize,!0),window.addEventListener("message",this.onReceiveMessage,!1),super.componentDidMount()}componentWillUnmount(){window.removeEventListener("resize",this.onResize,!0),window.removeEventListener("message",this.onReceiveMessage,!1),window.iobOldAlert&&(window.alert=window.iobOldAlert,delete window.iobOldAlert),super.componentWillUnmount()}onReceiveMessage=e=>{if(e!=null&&e.data)if(e.data==="updateTheme"){const t=E.getThemeName();E.setThemeName(E.getThemeName());const s=this.createTheme(t);this.setState({theme:s,themeName:this.getThemeName(s),themeType:this.getThemeType(s)},()=>{this.props.onThemeChange&&this.props.onThemeChange(t),this.onThemeChanged&&this.onThemeChanged(t)})}else e.data==="updateExpertMode"?this.onToggleExpertMode&&this.onToggleExpertMode(this.getExpertMode()):e.data!=="chartReady"&&console.debug(`Received unknown message: "${JSON.stringify(e.data)}". May be it will be processed later`)};onResize=()=>{this.resizeTimer&&clearTimeout(this.resizeTimer),this.resizeTimer=setTimeout(()=>{this.resizeTimer=null,this.setState({width:qt.getWidth()})},200)};static getWidth(){const e={xs:0,sm:600,md:960,lg:1280,xl:1920},t=window.innerWidth;return Object.keys(e).reverse().find(o=>t>=e[o])||"xs"}createTheme(e){return lN(E.getThemeName(e))}getThemeName(e){return e.name}getThemeType(e){return e.palette.mode}onThemeChanged(e){}onToggleExpertMode(e){}toggleTheme(e){const t=this.state.themeName;if(e=e||(t==="dark"||t==="blue"||t==="colored"?"light":"dark"),e!==t){E.setThemeName(e);const s=this.createTheme(e);this.setState({theme:s,themeName:this.getThemeName(s),themeType:this.getThemeType(s)},()=>{this.props.onThemeChange&&this.props.onThemeChange(e||"light"),this.onThemeChanged&&this.onThemeChanged(e||"light")})}}getSystemConfig(){return this.socket.getSystemConfig()}getExpertMode(){var e;return window.sessionStorage.getItem("App.expertMode")==="true"||!!((e=this._systemConfig)!=null&&e.expertMode)}onConnectionReady(){}encrypt(e){let t="";if(this._secret)for(let s=0;s{e[s]&&(e[s]=this.encrypt(e[s]))}),!0}onPrepareLoad(e,t){var s;(s=this.encryptedFields)==null||s.forEach(r=>{e[r]&&(e[r]=this.decrypt(e[r]))}),t==null||t.forEach(r=>{this.encryptedFields=this.encryptedFields||[],!this.encryptedFields.includes(r)&&this.encryptedFields.push(r),e[r]&&(e[r]=this.decrypt(e[r]))})}async getExtendableInstances(){try{const e=await this.socket.getObjectViewSystem("instance","system.adapter.","system.adapter.香");return Object.values(e).filter(t=>{var s;return!!((s=t==null?void 0:t.common)!=null&&s.webExtendable)})}catch{return[]}}async getIpAddresses(e){var o;const t=await this.socket.getHostByIp(e||((o=this.common)==null?void 0:o.host)||""),s=t.find(M=>M.address==="0.0.0.0");s&&(s.name=`[IPv4] 0.0.0.0 - ${D.t("ra_Listen on all IPs")}`);const r=t.find(M=>M.address==="::");return r&&(r.name=`[IPv4] :: - ${D.t("ra_Listen on all IPs")}`),t}onSave(e){let t;if(this.state.isConfigurationError){this.setState({errorText:this.state.isConfigurationError});return}this.socket.getObject(this.instanceId).then(s=>{t=s||{};for(const r in this.state.native)Object.prototype.hasOwnProperty.call(this.state.native,r)&&(this.state.native[r]===null?t.native[r]=null:this.state.native[r]!==void 0?t.native[r]=JSON.parse(JSON.stringify(this.state.native[r])):delete t.native[r]);if(this.state.common)for(const r in this.state.common)this.state.common[r]===null?t.common[r]=null:this.state.common[r]!==void 0?t.common[r]=JSON.parse(JSON.stringify(this.state.common[r])):delete t.common[r];return this.onPrepareSave(t.native)!==!1?this.socket.setObject(this.instanceId,t):Promise.reject(new Error("Invalid configuration"))}).then(()=>{this.savedNative=t.native,globalThis.changed=!1;try{window.parent.postMessage("nochange","*")}catch{}this.setState({changed:!1},()=>{e&&qt.onClose()})}).catch(s=>console.error(`Cannot save configuration: ${s}`))}renderToast(){return this.state.toast?n.createElement(Jr,{anchorOrigin:{vertical:"bottom",horizontal:"left"},open:!0,autoHideDuration:6e3,onClose:()=>this.setState({toast:""}),ContentProps:{"aria-describedby":"message-id"},message:n.createElement("span",{id:"message-id"},this.state.toast),action:[n.createElement(P,{key:"close","aria-label":"Close",color:"inherit",onClick:()=>this.setState({toast:""}),size:"large"},n.createElement(ge,null))]}):null}static onClose(){if(typeof window.parent<"u"&&window.parent)try{window.parent.$iframeDialog&&typeof window.parent.$iframeDialog.close=="function"?window.parent.$iframeDialog.close():window.parent.postMessage("close","*")}catch{window.parent.postMessage("close","*")}}renderError(){return this.state.errorText?n.createElement(Bc,{text:this.state.errorText,onClose:()=>this.setState({errorText:""})}):null}getIsChanged(e){e=e||this.state.native;const t=JSON.stringify(e)!==JSON.stringify(this.savedNative);return globalThis.changed=t,t}onLoadConfig(e){JSON.stringify(e)!==JSON.stringify(this.state.native)&&this.setState({native:e,changed:this.getIsChanged(e)})}setConfigurationError(e){this.state.isConfigurationError!==e&&this.setState({isConfigurationError:e})}renderSaveCloseButtons(){return!this.state.confirmClose&&!this.state.bottomButtons?null:n.createElement(n.Fragment,null,this.state.bottomButtons?n.createElement(Ag,{theme:this.state.theme,newReact:this.newReact,noTextOnButtons:this.state.width==="xs"||this.state.width==="sm"||this.state.width==="md",changed:this.state.changed,onSave:e=>this.onSave(e),onClose:()=>{this.state.changed?this.setState({confirmClose:!0}):qt.onClose()},error:!!this.state.isConfigurationError}):null,this.state.confirmClose?n.createElement(Jc,{title:D.t("ra_Please confirm"),text:D.t("ra_Some data are not stored. Discard?"),ok:D.t("ra_Discard"),cancel:D.t("ra_Cancel"),onClose:e=>this.setState({confirmClose:!1},()=>e&&qt.onClose())}):null)}_updateNativeValue(e,t,s){typeof t!="object"&&(t=t.split("."));const r=t.shift()||"";if(!t.length)return s&&typeof s=="object"?JSON.stringify(e[r])!==JSON.stringify(s)?(e[r]=s,!0):!1:e[r]!==s?(e[r]=s,!0):!1;if(e[r]=e[r]||{},typeof e[r]!="object")throw new Error(`attribute ${r} is no object, but ${typeof e[r]}`);return this._updateNativeValue(e[r],t,s)}updateNativeValue(e,t,s){const r=JSON.parse(JSON.stringify(this.state.native));if(this._updateNativeValue(r,e,t)){const o=this.getIsChanged(r);if(o!==this.state.changed)try{window.parent.postMessage(o?"change":"nochange","*")}catch{}this.setState({native:r,changed:o},s)}}showError(e){this.setState({errorText:e})}showToast(e){this.setState({toast:e})}renderHelperDialogs(){return n.createElement(n.Fragment,null,this.renderError(),this.renderToast(),this.renderSaveCloseButtons(),this.renderAlertSnackbar())}render(){return this.state.loaded?n.createElement("div",{className:"App"},this.renderError(),this.renderToast(),this.renderSaveCloseButtons(),this.renderAlertSnackbar()):n.createElement(dg,{themeType:this.state.themeType})}}const et={color:{width:36,height:14,borderRadius:2},delButton:{marginTop:16},swatch:{mt:"16px",p:"5px",backgroundColor:"background.paper",borderRadius:"1px",boxShadow:"0 0 0 1px rgba(0,0,0,.1)",display:"inline-block",cursor:"pointer",verticalAlign:"middle"},swatchDisabled:{opacity:.5,cursor:"default"},popover:{"& .MuiPaper-root":{textAlign:"right",backgroundColor:"#00000000",boxShadow:"none"}},popoverList:{padding:0},closeButton:i=>({backgroundColor:`${i.palette.background.paper} !important`,borderRadius:"0 0 25% 25%","&:hover":{backgroundColor:`${i.palette.secondary.main} !important`}}),textDense:{mt:0,mb:0},iconButton:{width:16,height:16},button:{width:32,height:32,minWidth:32,minHeight:32}};class Vs extends ze{constructor(e){super(e),this.state={displayColorPicker:!1,color:this.props.value||this.props.color||"",anchorEl:null}}handleClick=e=>{this.setState({displayColorPicker:!this.state.displayColorPicker,anchorEl:this.state.displayColorPicker?null:e.currentTarget})};handleClose=()=>{this.setState({displayColorPicker:!1,anchorEl:null})};static getColor(e,t){if(e&&typeof e=="object"){const s=e;if(s.rgb)return t?`#${s.rgb.r.toString(16).padStart(2,"0")}${s.rgb.g.toString(16).padStart(2,"0")}${s.rgb.b.toString(16).padStart(2,"0")}`:`rgba(${s.rgb.r},${s.rgb.g},${s.rgb.b},${s.rgb.a})`;const r=e;return t?`#${r.r.toString(16).padStart(2,"0")}${r.g.toString(16).padStart(2,"0")}${r.b.toString(16).padStart(2,"0")}`:`rgba(${r.r},${r.g},${r.b},${r.a})`}return typeof e=="string"?t?Vs.rgb2hex(e||""):e||"":""}static rgb2hex(e){const t=e.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i);if(t){const s=parseInt(t[1],10).toString(16).padStart(2,"0"),r=parseInt(t[2],10).toString(16).padStart(2,"0"),o=parseInt(t[3],10).toString(16).padStart(2,"0");return(t==null?void 0:t.length)===4?`#${s}${r}${o}`:e}return e}handleChange=e=>{this.setState({color:e},()=>this.props.onChange&&this.props.onChange(Vs.getColor(e)))};componentDidUpdate(e,t){const s=Vs.getColor(this.props.color||this.props.value||"");s!==t.color&&this.setState({color:s})}renderCustomPalette(){return this.props.customPalette?n.createElement("div",{style:{width:"100%",display:"flex",flexWrap:"wrap"}},this.props.customPalette.map(e=>n.createElement(X,{style:et.button,key:e,onClick:()=>{this.handleChange(e),setTimeout(()=>this.handleClose(),300)}},n.createElement("div",{style:{...et.iconButton,background:e}})))):null}render(){var s;const e={...this.props.style||{}};e.position="relative";const{color:t}=this.state;return n.createElement(W,{component:"div",style:e,sx:this.props.sx||void 0,className:this.props.className||""},this.props.noInputField?null:n.createElement(le,{disabled:this.props.disabled,variant:"standard",id:"ar_color_picker_name",label:this.props.label||this.props.name,value:t||"",margin:"dense",sx:{"&.MuiFormControl-root":et.textDense,width:t?"calc(100% - 80px)":"calc(100% - 56px)",mr:t?void 0:1},onChange:r=>this.handleChange(r.target.value)}),!this.props.noInputField&&t?n.createElement(P,{disabled:this.props.disabled,onClick:()=>this.handleChange(""),size:"small",style:this.props.label||this.props.name?et.delButton:void 0},n.createElement(ut,null)):null,n.createElement(W,{component:"div",onClick:r=>!this.props.disabled&&this.handleClick(r),title:D.t("ra_Select color"),sx:{...et.swatch,...this.props.disabled?et.swatchDisabled:void 0,background:t?void 0:"transparent",border:t?void 0:"1px dashed #ccc",boxSizing:"border-box",marginTop:this.props.noInputField||!(this.props.label||this.props.name)?0:void 0}},n.createElement("div",{style:{...et.color,background:Vs.getColor(t),width:this.props.noInputField?this.props.barWidth||16:this.props.barWidth||36}})),this.state.displayColorPicker&&!this.props.disabled?n.createElement(ss,{sx:{...et.popover,"&. MuiMenu-list":et.popoverList},anchorEl:this.state.anchorEl,open:!0,onClose:()=>this.handleClose()},n.createElement(oN,{color:this.state.color||void 0,onChangeComplete:r=>this.handleChange(r.rgb),styles:{default:{picker:{backgroundColor:((s=this.props.theme)==null?void 0:s.palette.background.paper)||"#888"}}}}),t&&this.props.noInputField?n.createElement(P,{sx:et.closeButton,onClick:()=>this.handleChange("")},n.createElement(ut,null)):null,n.createElement(P,{sx:et.closeButton,onClick:()=>this.handleClose()},n.createElement(ge,null)),this.renderCustomPalette()):null)}}var _r={exports:{}},En;function jt(){return En||(En=1,(function(i,e){(function(s,r){i.exports=r()})(globalThis,()=>(()=>{var t={949(M,a,u){Object.defineProperty(a,"__esModule",{value:!0}),a.CronParser=void 0;var l=u(515),N=(function(){function c(L,j,g){j===void 0&&(j=!0),g===void 0&&(g=!1),this.expression=L,this.dayOfWeekStartIndexZero=j,this.monthStartIndexZero=g}return c.prototype.parse=function(){var L,j,g=(L=this.expression)!==null&&L!==void 0?L:"";if(g==="@reboot")return j=["@reboot","","","","","",""],j;if(g.startsWith("@")){var y=this.parseSpecial(this.expression);j=this.extractParts(y)}else j=this.extractParts(this.expression);return this.normalize(j),this.validate(j),j},c.prototype.parseSpecial=function(L){var j={"@yearly":"0 0 1 1 *","@annually":"0 0 1 1 *","@monthly":"0 0 1 * *","@weekly":"0 0 * * 0","@daily":"0 0 * * *","@midnight":"0 0 * * *","@hourly":"0 * * * *","@reboot":"@reboot"},g=j[L];if(!g)throw new Error("Unknown special expression.");return g},c.prototype.extractParts=function(L){if(!this.expression)throw new Error("cron expression is empty");for(var j=L.trim().split(/[ ]+/),g=0;g7)throw new Error("Expression has ".concat(j.length," parts; too many!"));return j},c.prototype.normalize=function(L){var j=this;if(L[3]=L[3].replace("?","*"),L[5]=L[5].replace("?","*"),L[2]=L[2].replace("?","*"),L[0].indexOf("0/")==0&&(L[0]=L[0].replace("0/","*/")),L[1].indexOf("0/")==0&&(L[1]=L[1].replace("0/","*/")),L[2].indexOf("0/")==0&&(L[2]=L[2].replace("0/","*/")),L[3].indexOf("1/")==0&&(L[3]=L[3].replace("1/","*/")),L[4].indexOf("1/")==0&&(L[4]=L[4].replace("1/","*/")),L[6].indexOf("1/")==0&&(L[6]=L[6].replace("1/","*/")),L[5]=L[5].replace(/(^\d)|([^#/\s]\d)/g,function(A){var I=A.replace(/\D/,""),p=I;return j.dayOfWeekStartIndexZero?I=="7"&&(p="0"):p=(parseInt(I)-1).toString(),A.replace(I,p)}),L[5]=="L"&&(L[5]="6"),L[3]=="?"&&(L[3]="*"),L[3].indexOf("W")>-1&&(L[3].indexOf(",")>-1||L[3].indexOf("-")>-1))throw new Error("The 'W' character can be specified only when the day-of-month is a single day, not a range or list of days.");var g={SUN:0,MON:1,TUE:2,WED:3,THU:4,FRI:5,SAT:6};for(var y in g)L[5]=L[5].replace(new RegExp(y,"gi"),g[y].toString());L[4]=L[4].replace(/(^\d{1,2})|([^#/\s]\d{1,2})/g,function(A){var I=A.replace(/\D/,""),p=I;return j.monthStartIndexZero&&(p=(parseInt(I)+1).toString()),A.replace(I,p)});var d={JAN:1,FEB:2,MAR:3,APR:4,MAY:5,JUN:6,JUL:7,AUG:8,SEP:9,OCT:10,NOV:11,DEC:12};for(var h in d)L[4]=L[4].replace(new RegExp(h,"gi"),d[h].toString());L[0]=="0"&&(L[0]=""),!/\*|\-|\,|\//.test(L[2])&&(/\*|\//.test(L[1])||/\*|\//.test(L[0]))&&(L[2]+="-".concat(L[2]));for(var m=0;m-1&&!/^\*|\-|\,/.test(L[m])){var w=null;switch(m){case 4:w="12";break;case 5:w="6";break;case 6:w="9999";break;default:w=null;break}if(w!==null){var O=L[m].split("/");L[m]="".concat(O[0],"-").concat(w,"/").concat(O[1])}}},c.prototype.validate=function(L){var j="0-9,\\-*/";this.validateOnlyExpectedCharactersFound(L[0],j),this.validateOnlyExpectedCharactersFound(L[1],j),this.validateOnlyExpectedCharactersFound(L[2],j),this.validateOnlyExpectedCharactersFound(L[3],"0-9,\\-*/LW"),this.validateOnlyExpectedCharactersFound(L[4],j),this.validateOnlyExpectedCharactersFound(L[5],"0-9,\\-*/L#"),this.validateOnlyExpectedCharactersFound(L[6],j),this.validateAnyRanges(L)},c.prototype.validateAnyRanges=function(L){l.default.secondRange(L[0]),l.default.minuteRange(L[1]),l.default.hourRange(L[2]),l.default.dayOfMonthRange(L[3]),l.default.monthRange(L[4],this.monthStartIndexZero),l.default.dayOfWeekRange(L[5],this.dayOfWeekStartIndexZero)},c.prototype.validateOnlyExpectedCharactersFound=function(L,j){var g=L.match(new RegExp("[^".concat(j,"]+"),"gi"));if(g&&g.length)throw new Error("Expression contains invalid values: '".concat(g.toString(),"'"))},c})();a.CronParser=N},333(M,a,u){Object.defineProperty(a,"__esModule",{value:!0}),a.ExpressionDescriptor=void 0;var l=u(823),N=u(949),c=(function(){function L(j,g){if(this.expression=j,this.options=g,this.expressionParts=new Array(5),!this.options.locale&&L.defaultLocale&&(this.options.locale=L.defaultLocale),!L.locales[this.options.locale]){var y=Object.keys(L.locales)[0];console.warn("Locale '".concat(this.options.locale,"' could not be found; falling back to '").concat(y,"'.")),this.options.locale=y}this.i18n=L.locales[this.options.locale],g.use24HourTimeFormat===void 0&&(g.use24HourTimeFormat=this.i18n.use24HourTimeFormatByDefault())}return L.toString=function(j,g){var y=g===void 0?{}:g,d=y.throwExceptionOnParseError,h=d===void 0?!0:d,m=y.verbose,w=m===void 0?!1:m,O=y.dayOfWeekStartIndexZero,A=O===void 0?!0:O,I=y.monthStartIndexZero,p=I===void 0?!1:I,S=y.use24HourTimeFormat,f=y.trimHoursLeadingZero,$=f===void 0?!1:f,x=y.locale,Z=x===void 0?null:x,k=y.logicalAndDayFields,Y=k===void 0?!1:k,J={throwExceptionOnParseError:h,verbose:w,dayOfWeekStartIndexZero:A,monthStartIndexZero:p,use24HourTimeFormat:S,trimHoursLeadingZero:$,locale:Z,logicalAndDayFields:Y};J.tzOffset&&console.warn("'tzOffset' option has been deprecated and is no longer supported.");var Le=new L(j,J);return Le.getFullDescription()},L.initialize=function(j,g){g===void 0&&(g="en"),L.specialCharacters=["/","-",",","*"],L.defaultLocale=g,j.load(L.locales)},L.prototype.getFullDescription=function(){var j,g,y="";try{var d=new N.CronParser(this.expression,this.options.dayOfWeekStartIndexZero,this.options.monthStartIndexZero);if(this.expressionParts=d.parse(),this.expressionParts[0]==="@reboot")return((g=(j=this.i18n).atReboot)===null||g===void 0?void 0:g.call(j))||"Run once, at startup";var h=this.getTimeOfDayDescription(),m=this.getDayOfMonthDescription(),w=this.getMonthDescription(),O=this.getDayOfWeekDescription(),A=this.getYearDescription();y+=h+m+O+w+A,y=this.transformVerbosity(y,!!this.options.verbose),y=y.charAt(0).toLocaleUpperCase()+y.substr(1)}catch(I){if(!this.options.throwExceptionOnParseError)y=this.i18n.anErrorOccuredWhenGeneratingTheExpressionD();else throw"".concat(I)}return y},L.prototype.getTimeOfDayDescription=function(){var j=this.expressionParts[0],g=this.expressionParts[1],y=this.expressionParts[2],d="";if(!l.StringUtilities.containsAny(g,L.specialCharacters)&&!l.StringUtilities.containsAny(y,L.specialCharacters)&&!l.StringUtilities.containsAny(j,L.specialCharacters))d+=this.i18n.atSpace()+this.formatTime(y,g,j);else if(!j&&g.indexOf("-")>-1&&!(g.indexOf(",")>-1)&&!(g.indexOf("/")>-1)&&!l.StringUtilities.containsAny(y,L.specialCharacters)){var h=g.split("-");d+=l.StringUtilities.format(this.i18n.everyMinuteBetweenX0AndX1(),this.formatTime(y,h[0],""),this.formatTime(y,h[1],""))}else if(!j&&y.indexOf(",")>-1&&y.indexOf("-")==-1&&y.indexOf("/")==-1&&!l.StringUtilities.containsAny(g,L.specialCharacters)){var m=y.split(",");d+=this.i18n.at();for(var w=0;w-1?m=d.substring(0,d.indexOf("#")):d.indexOf("L")>-1&&(m=m.replace("L",""));var w=parseInt(m),O=j.i18n.daysOfTheWeekInCase?j.i18n.daysOfTheWeekInCase(h)[w]:g[w];if(d.indexOf("#")>-1){var A=null,I=d.substring(d.indexOf("#")+1),p=d.substring(0,d.indexOf("#"));switch(I){case"1":A=j.i18n.first(p);break;case"2":A=j.i18n.second(p);break;case"3":A=j.i18n.third(p);break;case"4":A=j.i18n.fourth(p);break;case"5":A=j.i18n.fifth(p);break}O=A+" "+O}return O},function(d){return parseInt(d)==1?"":l.StringUtilities.format(j.i18n.commaEveryX0DaysOfTheWeek(d),d)},function(d){var h=d.substring(0,d.indexOf("-")),m=j.expressionParts[3]!="*";return m?j.i18n.commaAndX0ThroughX1(h):j.i18n.commaX0ThroughX1(h)},function(d){var h=null;if(d.indexOf("#")>-1){var m=d.substring(d.indexOf("#")+1),w=d.substring(0,d.indexOf("#"));h=j.i18n.commaOnThe(m,w).trim()+j.i18n.spaceX0OfTheMonth()}else if(d.indexOf("L")>-1)h=j.i18n.commaOnTheLastX0OfTheMonth(d.replace("L",""));else{var O=j.expressionParts[3]!="*";O?j.options.logicalAndDayFields?h=j.i18n.commaOnlyOnX0(d):h=j.i18n.commaAndOnX0():h=j.i18n.commaOnlyOnX0(d)}return h}),y},L.prototype.getMonthDescription=function(){var j=this,g=this.i18n.monthsOfTheYear(),y=this.getSegmentDescription(this.expressionParts[4],"",function(d,h){return h&&j.i18n.monthsOfTheYearInCase?j.i18n.monthsOfTheYearInCase(h)[parseInt(d)-1]:g[parseInt(d)-1]},function(d){return parseInt(d)==1?"":l.StringUtilities.format(j.i18n.commaEveryX0Months(d),d)},function(d){return j.i18n.commaMonthX0ThroughMonthX1()||j.i18n.commaX0ThroughX1()},function(d){return j.i18n.commaOnlyInMonthX0?j.i18n.commaOnlyInMonthX0():j.i18n.commaOnlyInX0()});return y},L.prototype.getDayOfMonthDescription=function(){var j=this,g=null,y=this.expressionParts[3];switch(y){case"L":g=this.i18n.commaOnTheLastDayOfTheMonth();break;case"WL":case"LW":g=this.i18n.commaOnTheLastWeekdayOfTheMonth();break;default:var d=y.match(/(\d{1,2}W)|(W\d{1,2})/);if(d){var h=parseInt(d[0].replace("W","")),m=h==1?this.i18n.firstWeekday():l.StringUtilities.format(this.i18n.weekdayNearestDayX0(),h.toString());g=l.StringUtilities.format(this.i18n.commaOnTheX0OfTheMonth(),m);break}else{var w=y.match(/L-(\d{1,2})/);if(w){var O=w[1];g=l.StringUtilities.format(this.i18n.commaDaysBeforeTheLastDayOfTheMonth(O),O);break}else{if(y=="*"&&this.expressionParts[5]!="*")return"";g=this.getSegmentDescription(y,this.i18n.commaEveryDay(),function(A){return A=="L"?j.i18n.lastDay():j.i18n.dayX0?l.StringUtilities.format(j.i18n.dayX0(),A):A},function(A){return A=="1"?j.i18n.commaEveryDay():j.i18n.commaEveryX0Days(A)},function(A){return j.i18n.commaBetweenDayX0AndX1OfTheMonth(A)},function(A){return j.i18n.commaOnDayX0OfTheMonth(A)})}break}}return g},L.prototype.getYearDescription=function(){var j=this,g=this.getSegmentDescription(this.expressionParts[6],"",function(y){return/^\d+$/.test(y)?new Date(parseInt(y),1).getFullYear().toString():y},function(y){return l.StringUtilities.format(j.i18n.commaEveryX0Years(y),y)},function(y){return j.i18n.commaYearX0ThroughYearX1()||j.i18n.commaX0ThroughX1()},function(y){return j.i18n.commaOnlyInYearX0?j.i18n.commaOnlyInYearX0():j.i18n.commaOnlyInX0()});return g},L.prototype.getSegmentDescription=function(j,g,y,d,h,m){var w=null,O=j.indexOf("/")>-1,A=j.indexOf("-")>-1,I=j.indexOf(",")>-1;if(!j)w="";else if(j==="*")w=g;else if(!O&&!A&&!I)w=l.StringUtilities.format(m(j),y(j));else if(I){for(var p=j.split(","),S="",f=0;f0&&p.length>2&&(S+=",",f0&&p.length>1&&(f==p.length-1||p.length==2)&&(S+="".concat(this.i18n.spaceAnd()," ")),p[f].indexOf("/")>-1||p[f].indexOf("-")>-1){var $=p[f].indexOf("-")>-1&&p[f].indexOf("/")==-1,x=this.getSegmentDescription(p[f],g,y,d,$?this.i18n.commaX0ThroughX1:h,m);$&&(x=x.replace(", ","")),S+=x}else if(!O)S+=y(p[f]);else{var Z=this.getSegmentDescription(p[f],g,y,d,h,m);Z&&Z.startsWith(", ")&&(Z=Z.substring(2)),S+=Z}O?w=S:w=l.StringUtilities.format(m(j),S)}else if(O){var p=j.split("/");if(w=l.StringUtilities.format(d(p[1]),p[1]),p[0].indexOf("-")>-1){var k=this.generateRangeSegmentDescription(p[0],h,y);k.indexOf(", ")!=0&&(w+=", "),w+=k}else if(p[0].indexOf("*")==-1){var Y=l.StringUtilities.format(m(p[0]),y(p[0]));Y=Y.replace(", ",""),w+=l.StringUtilities.format(this.i18n.commaStartingX0(),Y)}}else A&&(w=this.generateRangeSegmentDescription(j,h,y));return w},L.prototype.generateRangeSegmentDescription=function(j,g,y){var d="",h=j.split("-"),m=y(h[0],1),w=y(h[1],2),O=g(j);return d+=l.StringUtilities.format(O,m,w),d},L.prototype.formatTime=function(j,g,y){var d=0,h=0,m=parseInt(j)+d,w=parseInt(g)+h;w>=60?(w-=60,m+=1):w<0&&(w+=60,m-=1),m>=24?m=m-24:m<0&&(m=24+m);var O="",A=!1;this.options.use24HourTimeFormat||(A=!!(this.i18n.setPeriodBeforeTime&&this.i18n.setPeriodBeforeTime()),O=A?"".concat(this.getPeriod(m)," "):" ".concat(this.getPeriod(m)),m>12&&(m-=12),m===0&&(m=12));var I="";y&&(I=":".concat(("00"+y).substring(y.length)));var p=m.toString(),S=("00"+p).substring(p.length),f=w.toString(),$=("00"+f).substring(f.length),x=this.options.trimHoursLeadingZero?p:S;return"".concat(A?O:"").concat(x,":").concat($).concat(I).concat(A?"":O)},L.prototype.transformVerbosity=function(j,g){if(!g&&(j=j.replace(new RegExp(", ".concat(this.i18n.everyMinute()),"g"),""),j=j.replace(new RegExp(", ".concat(this.i18n.everyHour()),"g"),""),j=j.replace(new RegExp(this.i18n.commaEveryDay(),"g"),""),j=j.replace(/\, ?$/,""),this.i18n.conciseVerbosityReplacements))for(var y=0,d=Object.entries(this.i18n.conciseVerbosityReplacements());y=12?this.i18n.pm&&this.i18n.pm()||"PM":this.i18n.am&&this.i18n.am()||"AM"},L.locales={},L})();a.ExpressionDescriptor=c},747(M,a,u){Object.defineProperty(a,"__esModule",{value:!0}),a.enLocaleLoader=void 0;var l=u(486),N=(function(){function c(){}return c.prototype.load=function(L){L.en=new l.en},c})();a.enLocaleLoader=N},486(M,a){Object.defineProperty(a,"__esModule",{value:!0}),a.en=void 0;var u=(function(){function l(){}return l.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},l.prototype.atX0MinutesPastTheHourGt20=function(){return null},l.prototype.commaMonthX0ThroughMonthX1=function(){return null},l.prototype.commaYearX0ThroughYearX1=function(){return null},l.prototype.use24HourTimeFormatByDefault=function(){return!1},l.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"An error occurred when generating the expression description. Check the cron expression syntax."},l.prototype.everyMinute=function(){return"every minute"},l.prototype.everyHour=function(){return"every hour"},l.prototype.atSpace=function(){return"At "},l.prototype.everyMinuteBetweenX0AndX1=function(){return"Every minute between %s and %s"},l.prototype.at=function(){return"At"},l.prototype.spaceAnd=function(){return" and"},l.prototype.everySecond=function(){return"every second"},l.prototype.everyX0Seconds=function(){return"every %s seconds"},l.prototype.secondsX0ThroughX1PastTheMinute=function(){return"seconds %s through %s past the minute"},l.prototype.atX0SecondsPastTheMinute=function(){return"at %s seconds past the minute"},l.prototype.everyX0Minutes=function(){return"every %s minutes"},l.prototype.minutesX0ThroughX1PastTheHour=function(){return"minutes %s through %s past the hour"},l.prototype.atX0MinutesPastTheHour=function(){return"at %s minutes past the hour"},l.prototype.everyX0Hours=function(){return"every %s hours"},l.prototype.betweenX0AndX1=function(){return"between %s and %s"},l.prototype.atX0=function(){return"at %s"},l.prototype.commaEveryDay=function(){return", every day"},l.prototype.commaEveryX0DaysOfTheWeek=function(){return", every %s days of the week"},l.prototype.commaX0ThroughX1=function(){return", %s through %s"},l.prototype.commaAndX0ThroughX1=function(){return", %s through %s"},l.prototype.first=function(){return"first"},l.prototype.second=function(){return"second"},l.prototype.third=function(){return"third"},l.prototype.fourth=function(){return"fourth"},l.prototype.fifth=function(){return"fifth"},l.prototype.commaOnThe=function(){return", on the "},l.prototype.spaceX0OfTheMonth=function(){return" %s of the month"},l.prototype.lastDay=function(){return"the last day"},l.prototype.commaOnTheLastX0OfTheMonth=function(){return", on the last %s of the month"},l.prototype.commaOnlyOnX0=function(){return", only on %s"},l.prototype.commaAndOnX0=function(){return", and on %s"},l.prototype.commaEveryX0Months=function(){return", every %s months"},l.prototype.commaOnlyInX0=function(){return", only in %s"},l.prototype.commaOnTheLastDayOfTheMonth=function(){return", on the last day of the month"},l.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", on the last weekday of the month"},l.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s days before the last day of the month"},l.prototype.firstWeekday=function(){return"first weekday"},l.prototype.weekdayNearestDayX0=function(){return"weekday nearest day %s"},l.prototype.commaOnTheX0OfTheMonth=function(){return", on the %s of the month"},l.prototype.commaEveryX0Days=function(){return", every %s days in a month"},l.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", between day %s and %s of the month"},l.prototype.commaOnDayX0OfTheMonth=function(){return", on day %s of the month"},l.prototype.commaEveryHour=function(){return", every hour"},l.prototype.commaEveryX0Years=function(){return", every %s years"},l.prototype.commaStartingX0=function(){return", starting %s"},l.prototype.daysOfTheWeek=function(){return["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},l.prototype.monthsOfTheYear=function(){return["January","February","March","April","May","June","July","August","September","October","November","December"]},l.prototype.atReboot=function(){return"Run once, at startup"},l.prototype.onTheHour=function(){return"on the hour"},l})();a.en=u},515(M,a){Object.defineProperty(a,"__esModule",{value:!0});function u(N,c){if(!N)throw new Error(c)}var l=(function(){function N(){}return N.secondRange=function(c){for(var L=c.split(","),j=0;j=0&&g<=59,"seconds part must be >= 0 and <= 59")}},N.minuteRange=function(c){for(var L=c.split(","),j=0;j=0&&g<=59,"minutes part must be >= 0 and <= 59")}},N.hourRange=function(c){for(var L=c.split(","),j=0;j=0&&g<=23,"hours part must be >= 0 and <= 23")}},N.dayOfMonthRange=function(c){for(var L=c.split(","),j=0;j=1&&g<=31,"DOM part must be >= 1 and <= 31")}},N.monthRange=function(c,L){for(var j=c.split(","),g=0;g=1&&y<=12,L?"month part must be >= 0 and <= 11":"month part must be >= 1 and <= 12")}},N.dayOfWeekRange=function(c,L){for(var j=c.split(","),g=0;g=0&&y<=6,L?"DOW part must be >= 0 and <= 6":"DOW part must be >= 1 and <= 7")}},N})();a.default=l},823(M,a){Object.defineProperty(a,"__esModule",{value:!0}),a.StringUtilities=void 0;var u=(function(){function l(){}return l.format=function(N){for(var c=[],L=1;L-1})},l})();a.StringUtilities=u}},s={};function r(M){var a=s[M];if(a!==void 0)return a.exports;var u=s[M]={exports:{}};return t[M](u,u.exports,r),u.exports}var o={};return(()=>{var M=o;Object.defineProperty(M,"__esModule",{value:!0}),M.toString=void 0;var a=r(333),u=r(747);a.ExpressionDescriptor.initialize(new u.enLocaleLoader),M.default=a.ExpressionDescriptor;var l=a.ExpressionDescriptor.toString;M.toString=l})(),o})())})(_r)),_r.exports}var Sue=jt();const xue=nN(Sue);var kue={exports:{}};(function(i,e){(function(s,r){i.exports=r(jt())})(globalThis,t=>(()=>{var s={93(c){c.exports=t}},r={};function o(c){var L=r[c];if(L!==void 0)return L.exports;var j=r[c]={exports:{}};return s[c](j,j.exports,o),j.exports}o.n=c=>{var L=c&&c.__esModule?()=>c.default:()=>c;return o.d(L,{a:L}),L},o.d=(c,L)=>{for(var j in L)o.o(L,j)&&!o.o(c,j)&&Object.defineProperty(c,j,{enumerable:!0,get:L[j]})},o.o=(c,L)=>Object.prototype.hasOwnProperty.call(c,L),o.r=c=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(c,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(c,"__esModule",{value:!0})};var M={};o.r(M);var a=o(93),u=o.n(a),l=M;Object.defineProperty(l,"__esModule",{value:!0}),l.fr=void 0;var N=(function(){function c(){}return c.prototype.conciseVerbosityReplacements=function(){return{"de le":"du"}},c.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},c.prototype.atX0MinutesPastTheHourGt20=function(){return null},c.prototype.commaMonthX0ThroughMonthX1=function(){return null},c.prototype.commaYearX0ThroughYearX1=function(){return null},c.prototype.use24HourTimeFormatByDefault=function(){return!0},c.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"Une erreur est survenue en générant la description de l'expression cron. Vérifiez sa syntaxe."},c.prototype.everyMinute=function(){return"toutes les minutes"},c.prototype.everyHour=function(){return"toutes les heures"},c.prototype.atSpace=function(){return"À "},c.prototype.everyMinuteBetweenX0AndX1=function(){return"Toutes les minutes entre %s et %s"},c.prototype.at=function(){return"À"},c.prototype.spaceAnd=function(){return" et"},c.prototype.everySecond=function(){return"toutes les secondes"},c.prototype.everyX0Seconds=function(){return"toutes les %s secondes"},c.prototype.secondsX0ThroughX1PastTheMinute=function(){return"les secondes entre %s et %s après la minute"},c.prototype.atX0SecondsPastTheMinute=function(){return"%s secondes après la minute"},c.prototype.everyX0Minutes=function(){return"toutes les %s minutes"},c.prototype.minutesX0ThroughX1PastTheHour=function(){return"les minutes entre %s et %s après l'heure"},c.prototype.atX0MinutesPastTheHour=function(){return"%s minutes après l'heure"},c.prototype.everyX0Hours=function(){return"toutes les %s heures"},c.prototype.betweenX0AndX1=function(){return"de %s à %s"},c.prototype.atX0=function(){return"%s"},c.prototype.commaEveryDay=function(){return", tous les jours"},c.prototype.commaEveryX0DaysOfTheWeek=function(){return", tous les %s jours de la semaine"},c.prototype.commaX0ThroughX1=function(){return", de %s à %s"},c.prototype.commaAndX0ThroughX1=function(){return", et de %s à %s"},c.prototype.first=function(){return"premier"},c.prototype.second=function(){return"second"},c.prototype.third=function(){return"troisième"},c.prototype.fourth=function(){return"quatrième"},c.prototype.fifth=function(){return"cinquième"},c.prototype.commaOnThe=function(){return", le "},c.prototype.spaceX0OfTheMonth=function(){return" %s du mois"},c.prototype.lastDay=function(){return"le dernier jour"},c.prototype.commaOnTheLastX0OfTheMonth=function(){return", le dernier %s du mois"},c.prototype.commaOnlyOnX0=function(){return", uniquement le %s"},c.prototype.commaAndOnX0=function(){return", et %s"},c.prototype.commaEveryX0Months=function(){return", tous les %s mois"},c.prototype.commaOnlyInX0=function(){return", uniquement en %s"},c.prototype.commaOnTheLastDayOfTheMonth=function(){return", le dernier jour du mois"},c.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", le dernier jour ouvrable du mois"},c.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s jours avant le dernier jour du mois"},c.prototype.firstWeekday=function(){return"premier jour ouvrable"},c.prototype.weekdayNearestDayX0=function(){return"jour ouvrable le plus proche du %s"},c.prototype.commaOnTheX0OfTheMonth=function(){return", le %s du mois"},c.prototype.commaEveryX0Days=function(){return", tous les %s jours"},c.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", du %s au %s du mois"},c.prototype.commaOnDayX0OfTheMonth=function(){return", le %s du mois"},c.prototype.commaEveryHour=function(){return", chaque heure"},c.prototype.commaEveryX0Years=function(){return", tous les %s ans"},c.prototype.commaDaysX0ThroughX1=function(){return", du %s au %s"},c.prototype.commaStartingX0=function(){return", à partir de %s"},c.prototype.daysOfTheWeek=function(){return["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"]},c.prototype.monthsOfTheYear=function(){return["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"]},c.prototype.onTheHour=function(){return"à l'heure pile"},c})();return l.fr=N,u().locales.fr=new N,M})())})(kue);var Yue={exports:{}};(function(i,e){(function(s,r){i.exports=r(jt())})(globalThis,t=>(()=>{var s={93(c){c.exports=t}},r={};function o(c){var L=r[c];if(L!==void 0)return L.exports;var j=r[c]={exports:{}};return s[c](j,j.exports,o),j.exports}o.n=c=>{var L=c&&c.__esModule?()=>c.default:()=>c;return o.d(L,{a:L}),L},o.d=(c,L)=>{for(var j in L)o.o(L,j)&&!o.o(c,j)&&Object.defineProperty(c,j,{enumerable:!0,get:L[j]})},o.o=(c,L)=>Object.prototype.hasOwnProperty.call(c,L),o.r=c=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(c,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(c,"__esModule",{value:!0})};var M={};o.r(M);var a=o(93),u=o.n(a),l=M;Object.defineProperty(l,"__esModule",{value:!0}),l.es=void 0;var N=(function(){function c(){}return c.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},c.prototype.atX0MinutesPastTheHourGt20=function(){return null},c.prototype.commaMonthX0ThroughMonthX1=function(){return null},c.prototype.commaYearX0ThroughYearX1=function(){return null},c.prototype.use24HourTimeFormatByDefault=function(){return!0},c.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"Ocurrió un error mientras se generaba la descripción de la expresión. Revise la sintaxis de la expresión de cron."},c.prototype.at=function(){return"A las"},c.prototype.atSpace=function(){return"A las "},c.prototype.atX0=function(){return"a las %s"},c.prototype.atX0MinutesPastTheHour=function(){return"a los %s minutos de la hora"},c.prototype.atX0SecondsPastTheMinute=function(){return"a los %s segundos del minuto"},c.prototype.betweenX0AndX1=function(){return"entre las %s y las %s"},c.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", entre los días %s y %s del mes"},c.prototype.commaEveryDay=function(){return", cada día"},c.prototype.commaEveryX0Days=function(){return", cada %s días"},c.prototype.commaEveryX0DaysOfTheWeek=function(){return", cada %s días de la semana"},c.prototype.commaEveryX0Months=function(){return", cada %s meses"},c.prototype.commaOnDayX0OfTheMonth=function(){return", el día %s del mes"},c.prototype.commaOnlyInX0=function(){return", sólo en %s"},c.prototype.commaOnlyOnX0=function(){return", sólo el %s"},c.prototype.commaAndOnX0=function(){return", y el %s"},c.prototype.commaOnThe=function(){return", en el "},c.prototype.commaOnTheLastDayOfTheMonth=function(){return", en el último día del mes"},c.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", en el último día de la semana del mes"},c.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s días antes del último día del mes"},c.prototype.commaOnTheLastX0OfTheMonth=function(){return", en el último %s del mes"},c.prototype.commaOnTheX0OfTheMonth=function(){return", en el %s del mes"},c.prototype.commaX0ThroughX1=function(){return", de %s a %s"},c.prototype.commaAndX0ThroughX1=function(){return", y de %s a %s"},c.prototype.everyHour=function(){return"cada hora"},c.prototype.everyMinute=function(){return"cada minuto"},c.prototype.everyMinuteBetweenX0AndX1=function(){return"cada minuto entre las %s y las %s"},c.prototype.everySecond=function(){return"cada segundo"},c.prototype.everyX0Hours=function(){return"cada %s horas"},c.prototype.everyX0Minutes=function(){return"cada %s minutos"},c.prototype.everyX0Seconds=function(){return"cada %s segundos"},c.prototype.fifth=function(){return"quinto"},c.prototype.first=function(){return"primero"},c.prototype.firstWeekday=function(){return"primer día de la semana"},c.prototype.fourth=function(){return"cuarto"},c.prototype.minutesX0ThroughX1PastTheHour=function(){return"del minuto %s al %s pasada la hora"},c.prototype.second=function(){return"segundo"},c.prototype.secondsX0ThroughX1PastTheMinute=function(){return"En los segundos %s al %s de cada minuto"},c.prototype.spaceAnd=function(){return" y"},c.prototype.spaceX0OfTheMonth=function(){return" %s del mes"},c.prototype.lastDay=function(){return"el último día"},c.prototype.third=function(){return"tercer"},c.prototype.weekdayNearestDayX0=function(){return"día de la semana más próximo al %s"},c.prototype.commaEveryX0Years=function(){return", cada %s años"},c.prototype.commaStartingX0=function(){return", comenzando %s"},c.prototype.daysOfTheWeek=function(){return["domingo","lunes","martes","miércoles","jueves","viernes","sábado"]},c.prototype.monthsOfTheYear=function(){return["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"]},c.prototype.onTheHour=function(){return"en punto"},c})();return l.es=N,u().locales.es=new N,M})())})(Yue);var Que={exports:{}};(function(i,e){(function(s,r){i.exports=r(jt())})(globalThis,t=>(()=>{var s={93(c){c.exports=t}},r={};function o(c){var L=r[c];if(L!==void 0)return L.exports;var j=r[c]={exports:{}};return s[c](j,j.exports,o),j.exports}o.n=c=>{var L=c&&c.__esModule?()=>c.default:()=>c;return o.d(L,{a:L}),L},o.d=(c,L)=>{for(var j in L)o.o(L,j)&&!o.o(c,j)&&Object.defineProperty(c,j,{enumerable:!0,get:L[j]})},o.o=(c,L)=>Object.prototype.hasOwnProperty.call(c,L),o.r=c=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(c,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(c,"__esModule",{value:!0})};var M={};o.r(M);var a=o(93),u=o.n(a),l=M;Object.defineProperty(l,"__esModule",{value:!0}),l.de=void 0;var N=(function(){function c(){}return c.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},c.prototype.atX0MinutesPastTheHourGt20=function(){return null},c.prototype.commaMonthX0ThroughMonthX1=function(){return null},c.prototype.commaYearX0ThroughYearX1=function(){return null},c.prototype.use24HourTimeFormatByDefault=function(){return!0},c.prototype.everyMinute=function(){return"jede Minute"},c.prototype.everyHour=function(){return"jede Stunde"},c.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"Beim Generieren der Ausdrucksbeschreibung ist ein Fehler aufgetreten. Überprüfen Sie die Syntax des Cron-Ausdrucks."},c.prototype.atSpace=function(){return"Um "},c.prototype.everyMinuteBetweenX0AndX1=function(){return"Jede Minute zwischen %s und %s"},c.prototype.at=function(){return"Um"},c.prototype.spaceAnd=function(){return" und"},c.prototype.everySecond=function(){return"Jede Sekunde"},c.prototype.everyX0Seconds=function(){return"alle %s Sekunden"},c.prototype.secondsX0ThroughX1PastTheMinute=function(){return"Sekunden %s bis %s"},c.prototype.atX0SecondsPastTheMinute=function(){return"bei Sekunde %s"},c.prototype.everyX0Minutes=function(){return"alle %s Minuten"},c.prototype.minutesX0ThroughX1PastTheHour=function(){return"Minuten %s bis %s"},c.prototype.atX0MinutesPastTheHour=function(){return"bei Minute %s"},c.prototype.everyX0Hours=function(){return"alle %s Stunden"},c.prototype.betweenX0AndX1=function(){return"zwischen %s und %s"},c.prototype.atX0=function(){return"um %s"},c.prototype.commaEveryDay=function(){return", jeden Tag"},c.prototype.commaEveryX0DaysOfTheWeek=function(){return", alle %s Tage der Woche"},c.prototype.commaX0ThroughX1=function(){return", %s bis %s"},c.prototype.commaAndX0ThroughX1=function(){return", und %s bis %s"},c.prototype.first=function(){return"ersten"},c.prototype.second=function(){return"zweiten"},c.prototype.third=function(){return"dritten"},c.prototype.fourth=function(){return"vierten"},c.prototype.fifth=function(){return"fünften"},c.prototype.commaOnThe=function(){return", am "},c.prototype.spaceX0OfTheMonth=function(){return" %s des Monats"},c.prototype.lastDay=function(){return"der letzte Tag"},c.prototype.commaOnTheLastX0OfTheMonth=function(){return", am letzten %s des Monats"},c.prototype.commaOnlyOnX0=function(){return", nur jeden %s"},c.prototype.commaAndOnX0=function(){return", und jeden %s"},c.prototype.commaEveryX0Months=function(){return", alle %s Monate"},c.prototype.commaOnlyInX0=function(){return", nur im %s"},c.prototype.commaOnTheLastDayOfTheMonth=function(){return", am letzten Tag des Monats"},c.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", am letzten Werktag des Monats"},c.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s tage vor dem letzten Tag des Monats"},c.prototype.firstWeekday=function(){return"ersten Werktag"},c.prototype.weekdayNearestDayX0=function(){return"Werktag am nächsten zum %s Tag"},c.prototype.commaOnTheX0OfTheMonth=function(){return", am %s des Monats"},c.prototype.commaEveryX0Days=function(){return", alle %s Tage"},c.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", zwischen Tag %s und %s des Monats"},c.prototype.commaOnDayX0OfTheMonth=function(){return", an Tag %s des Monats"},c.prototype.commaEveryX0Years=function(){return", alle %s Jahre"},c.prototype.commaStartingX0=function(){return", beginnend %s"},c.prototype.daysOfTheWeek=function(){return["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"]},c.prototype.monthsOfTheYear=function(){return["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"]},c.prototype.onTheHour=function(){return"zur vollen Stunde"},c})();return l.de=N,u().locales.de=new N,M})())})(Que);var Uue={exports:{}};(function(i,e){(function(s,r){i.exports=r(jt())})(globalThis,t=>(()=>{var s={93(c){c.exports=t}},r={};function o(c){var L=r[c];if(L!==void 0)return L.exports;var j=r[c]={exports:{}};return s[c](j,j.exports,o),j.exports}o.n=c=>{var L=c&&c.__esModule?()=>c.default:()=>c;return o.d(L,{a:L}),L},o.d=(c,L)=>{for(var j in L)o.o(L,j)&&!o.o(c,j)&&Object.defineProperty(c,j,{enumerable:!0,get:L[j]})},o.o=(c,L)=>Object.prototype.hasOwnProperty.call(c,L),o.r=c=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(c,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(c,"__esModule",{value:!0})};var M={};o.r(M);var a=o(93),u=o.n(a),l=M;Object.defineProperty(l,"__esModule",{value:!0}),l.it=void 0;var N=(function(){function c(){}return c.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},c.prototype.atX0MinutesPastTheHourGt20=function(){return null},c.prototype.commaMonthX0ThroughMonthX1=function(){return null},c.prototype.commaYearX0ThroughYearX1=function(){return null},c.prototype.use24HourTimeFormatByDefault=function(){return!0},c.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"È verificato un errore durante la generazione la descrizione espressione. Controllare la sintassi delle espressioni cron."},c.prototype.at=function(){return"Alle"},c.prototype.atSpace=function(){return"Alle "},c.prototype.atX0=function(){return"alle %s"},c.prototype.atX0MinutesPastTheHour=function(){return"al %s minuto passata l'ora"},c.prototype.atX0SecondsPastTheMinute=function(){return"al %s secondo passato il minuto"},c.prototype.betweenX0AndX1=function(){return"tra le %s e le %s"},c.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", tra il giorno %s e %s del mese"},c.prototype.commaEveryDay=function(){return", ogni giorno"},c.prototype.commaEveryX0Days=function(){return", ogni %s giorni"},c.prototype.commaEveryX0DaysOfTheWeek=function(){return", ogni %s giorni della settimana"},c.prototype.commaEveryX0Months=function(){return", ogni %s mesi"},c.prototype.commaEveryX0Years=function(){return", ogni %s anni"},c.prototype.commaOnDayX0OfTheMonth=function(){return", il giorno %s del mese"},c.prototype.commaOnlyInX0=function(){return", solo in %s"},c.prototype.commaOnlyOnX0=function(){return", solo il %s"},c.prototype.commaAndOnX0=function(){return", e il %s"},c.prototype.commaOnThe=function(){return", il "},c.prototype.commaOnTheLastDayOfTheMonth=function(){return", l'ultimo giorno del mese"},c.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", nell'ultima settimana del mese"},c.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s giorni prima dell'ultimo giorno del mese"},c.prototype.commaOnTheLastX0OfTheMonth=function(){return", l'ultimo %s del mese"},c.prototype.commaOnTheX0OfTheMonth=function(){return", il %s del mese"},c.prototype.commaX0ThroughX1=function(){return", %s al %s"},c.prototype.commaAndX0ThroughX1=function(){return", e %s al %s"},c.prototype.everyHour=function(){return"ogni ora"},c.prototype.everyMinute=function(){return"ogni minuto"},c.prototype.everyMinuteBetweenX0AndX1=function(){return"Ogni minuto tra le %s e le %s"},c.prototype.everySecond=function(){return"ogni secondo"},c.prototype.everyX0Hours=function(){return"ogni %s ore"},c.prototype.everyX0Minutes=function(){return"ogni %s minuti"},c.prototype.everyX0Seconds=function(){return"ogni %s secondi"},c.prototype.fifth=function(){return"quinto"},c.prototype.first=function(){return"primo"},c.prototype.firstWeekday=function(){return"primo giorno della settimana"},c.prototype.fourth=function(){return"quarto"},c.prototype.minutesX0ThroughX1PastTheHour=function(){return"minuti %s al %s dopo l'ora"},c.prototype.second=function(){return"secondo"},c.prototype.secondsX0ThroughX1PastTheMinute=function(){return"secondi %s al %s oltre il minuto"},c.prototype.spaceAnd=function(){return" e"},c.prototype.spaceX0OfTheMonth=function(){return" %s del mese"},c.prototype.lastDay=function(){return"l'ultimo giorno"},c.prototype.third=function(){return"terzo"},c.prototype.weekdayNearestDayX0=function(){return"giorno della settimana più vicino al %s"},c.prototype.commaStartingX0=function(){return", a partire %s"},c.prototype.daysOfTheWeek=function(){return["domenica","lunedì","martedì","mercoledì","giovedì","venerdì","sabato"]},c.prototype.monthsOfTheYear=function(){return["gennaio","febbraio","marzo","aprile","maggio","giugno","luglio","agosto","settembre","ottobre","novembre","dicembre"]},c.prototype.onTheHour=function(){return"all'ora esatta"},c})();return l.it=N,u().locales.it=new N,M})())})(Uue);var vue={exports:{}};(function(i,e){(function(s,r){i.exports=r(jt())})(globalThis,t=>(()=>{var s={93(j){j.exports=t}},r={};function o(j){var g=r[j];if(g!==void 0)return g.exports;var y=r[j]={exports:{}};return s[j](y,y.exports,o),y.exports}o.n=j=>{var g=j&&j.__esModule?()=>j.default:()=>j;return o.d(g,{a:g}),g},o.d=(j,g)=>{for(var y in g)o.o(g,y)&&!o.o(j,y)&&Object.defineProperty(j,y,{enumerable:!0,get:g[y]})},o.o=(j,g)=>Object.prototype.hasOwnProperty.call(j,g),o.r=j=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(j,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(j,"__esModule",{value:!0})};var M={};o.r(M);var a=o(93),u=o.n(a),l=M;Object.defineProperty(l,"__esModule",{value:!0}),l.ru=void 0;var N=function(j,g){var y=Number(j);return y!==void 0?g[y%100>4&&y%100<20?2:[2,0,1,1,1,2][y%10<5?Math.abs(y)%10:5]]:g[2]},c=function(j,g){var y=Number(j);return y!==void 0?g[y===0?0:y===1||y===2||y===4?1:2]:g[1]},L=(function(){function j(){}return j.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},j.prototype.atX0MinutesPastTheHourGt20=function(){return null},j.prototype.commaMonthX0ThroughMonthX1=function(){return null},j.prototype.commaYearX0ThroughYearX1=function(){return null},j.prototype.use24HourTimeFormatByDefault=function(){return!0},j.prototype.everyMinute=function(){return"каждую минуту"},j.prototype.everyHour=function(){return"каждый час"},j.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"Произошла ошибка во время генерации описания выражения. Проверьте синтаксис крон-выражения."},j.prototype.atSpace=function(){return"В "},j.prototype.everyMinuteBetweenX0AndX1=function(){return"Каждую минуту с %s по %s"},j.prototype.at=function(){return"В"},j.prototype.spaceAnd=function(){return" и"},j.prototype.everySecond=function(){return"каждую секунду"},j.prototype.everyX0Seconds=function(g){return N(g,["каждую %s секунду","каждые %s секунды","каждые %s секунд"])},j.prototype.secondsX0ThroughX1PastTheMinute=function(){return"секунды с %s по %s"},j.prototype.atX0SecondsPastTheMinute=function(g){return N(g,["в %s секунду","в %s секунды","в %s секунд"])},j.prototype.everyX0Minutes=function(g){return N(g,["каждую %s минуту","каждые %s минуты","каждые %s минут"])},j.prototype.minutesX0ThroughX1PastTheHour=function(){return"минуты с %s по %s"},j.prototype.atX0MinutesPastTheHour=function(g){return N(g,["в %s минуту","в %s минуты","в %s минут"])},j.prototype.everyX0Hours=function(g){return N(g,["каждый %s час","каждые %s часа","каждые %s часов"])},j.prototype.betweenX0AndX1=function(){return"с %s по %s"},j.prototype.atX0=function(){return"в %s"},j.prototype.commaEveryDay=function(){return", каждый день"},j.prototype.commaEveryX0DaysOfTheWeek=function(g){return N(g,[", каждый %s день недели",", каждые %s дня недели",", каждые %s дней недели"])},j.prototype.commaX0ThroughX1=function(g){return g&&(g[0]=="2"||g[0]=="3")?", со %s по %s":", с %s по %s"},j.prototype.commaAndX0ThroughX1=function(g){return g&&(g[0]=="2"||g[0]=="3")?" и со %s по %s":" и с %s по %s"},j.prototype.first=function(g){return c(g,["первое","первый","первую"])},j.prototype.second=function(g){return c(g,["второе","второй","вторую"])},j.prototype.third=function(g){return c(g,["третье","третий","третью"])},j.prototype.fourth=function(g){return c(g,["четвертое","четвертый","четвертую"])},j.prototype.fifth=function(g){return c(g,["пятое","пятый","пятую"])},j.prototype.commaOnThe=function(g){return g==="2"?", во ":", в "},j.prototype.spaceX0OfTheMonth=function(){return" %s месяца"},j.prototype.lastDay=function(){return"последний день"},j.prototype.commaOnTheLastX0OfTheMonth=function(g){return c(g,[", в последнее %s месяца",", в последний %s месяца",", в последнюю %s месяца"])},j.prototype.commaOnlyOnX0=function(g){return g&&g[0]==="2"?", только во %s":", только в %s"},j.prototype.commaAndOnX0=function(){return", и %s"},j.prototype.commaEveryX0Months=function(g){return N(g,[""," каждые %s месяца"," каждые %s месяцев"])},j.prototype.commaOnlyInMonthX0=function(){return", только %s"},j.prototype.commaOnlyInX0=function(){return", только в %s"},j.prototype.commaOnTheLastDayOfTheMonth=function(){return", в последний день месяца"},j.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", в последний будний день месяца"},j.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(g){return N(g,[", за %s день до конца месяца",", за %s дня до конца месяца",", за %s дней до конца месяца"])},j.prototype.firstWeekday=function(){return"первый будний день"},j.prototype.weekdayNearestDayX0=function(){return"ближайший будний день к %s числу"},j.prototype.commaOnTheX0OfTheMonth=function(){return", в %s месяца"},j.prototype.commaEveryX0Days=function(g){return N(g,[", каждый %s день",", каждые %s дня",", каждые %s дней"])},j.prototype.commaBetweenDayX0AndX1OfTheMonth=function(g){return g&&g.substring(0,g.indexOf("-"))=="2"?", со %s по %s число месяца":", с %s по %s число месяца"},j.prototype.commaOnDayX0OfTheMonth=function(g){return g&&g[0]=="2"?", во %s число месяца":", в %s число месяца"},j.prototype.commaEveryX0Years=function(g){return N(g,[", каждый %s год",", каждые %s года",", каждые %s лет"])},j.prototype.commaStartingX0=function(){return", начало %s"},j.prototype.daysOfTheWeek=function(){return["воскресенье","понедельник","вторник","среда","четверг","пятница","суббота"]},j.prototype.daysOfTheWeekInCase=function(g){return g===void 0&&(g=2),g==1?["воскресенья","понедельника","вторника","среды","четверга","пятницы","субботы"]:["воскресенье","понедельник","вторник","среду","четверг","пятницу","субботу"]},j.prototype.monthsOfTheYear=function(){return["январь","февраль","март","апрель","май","июнь","июль","август","сентябрь","октябрь","ноябрь","декабрь"]},j.prototype.monthsOfTheYearInCase=function(g){return g==1?["января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря"]:this.monthsOfTheYear()},j.prototype.onTheHour=function(){return"ровно в час"},j})();return l.ru=L,u().locales.ru=new L,M})())})(vue);var bue={exports:{}};(function(i,e){(function(s,r){i.exports=r(jt())})(globalThis,t=>(()=>{var s={93(c){c.exports=t}},r={};function o(c){var L=r[c];if(L!==void 0)return L.exports;var j=r[c]={exports:{}};return s[c](j,j.exports,o),j.exports}o.n=c=>{var L=c&&c.__esModule?()=>c.default:()=>c;return o.d(L,{a:L}),L},o.d=(c,L)=>{for(var j in L)o.o(L,j)&&!o.o(c,j)&&Object.defineProperty(c,j,{enumerable:!0,get:L[j]})},o.o=(c,L)=>Object.prototype.hasOwnProperty.call(c,L),o.r=c=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(c,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(c,"__esModule",{value:!0})};var M={};o.r(M);var a=o(93),u=o.n(a),l=M;Object.defineProperty(l,"__esModule",{value:!0}),l.zh_CN=void 0;var N=(function(){function c(){}return c.prototype.setPeriodBeforeTime=function(){return!0},c.prototype.pm=function(){return"下午"},c.prototype.am=function(){return"上午"},c.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},c.prototype.atX0MinutesPastTheHourGt20=function(){return null},c.prototype.commaMonthX0ThroughMonthX1=function(){return null},c.prototype.commaYearX0ThroughYearX1=function(){return", 从%s年至%s年"},c.prototype.use24HourTimeFormatByDefault=function(){return!1},c.prototype.everyMinute=function(){return"每分钟"},c.prototype.everyHour=function(){return"每小时"},c.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"生成表达式描述时发生了错误,请检查cron表达式语法。"},c.prototype.atSpace=function(){return"在"},c.prototype.everyMinuteBetweenX0AndX1=function(){return"在 %s 至 %s 之间的每分钟"},c.prototype.at=function(){return"在"},c.prototype.spaceAnd=function(){return" 和"},c.prototype.everySecond=function(){return"每秒"},c.prototype.everyX0Seconds=function(){return"每隔 %s 秒"},c.prototype.secondsX0ThroughX1PastTheMinute=function(){return"在一分钟后的第 %s 到 %s 秒"},c.prototype.atX0SecondsPastTheMinute=function(){return"在一分钟后的第 %s 秒"},c.prototype.everyX0Minutes=function(){return"每隔 %s 分钟"},c.prototype.minutesX0ThroughX1PastTheHour=function(){return"在整点后的第 %s 到 %s 分钟"},c.prototype.atX0MinutesPastTheHour=function(){return"在整点后的第 %s 分钟"},c.prototype.everyX0Hours=function(){return"每隔 %s 小时"},c.prototype.betweenX0AndX1=function(){return"在 %s 和 %s 之间"},c.prototype.atX0=function(){return"在%s"},c.prototype.commaEveryDay=function(){return", 每天"},c.prototype.commaEveryX0DaysOfTheWeek=function(){return", 每周的每 %s 天"},c.prototype.commaX0ThroughX1=function(){return", %s至%s"},c.prototype.commaAndX0ThroughX1=function(){return", 和%s至%s"},c.prototype.first=function(){return"第一个"},c.prototype.second=function(){return"第二个"},c.prototype.third=function(){return"第三个"},c.prototype.fourth=function(){return"第四个"},c.prototype.fifth=function(){return"第五个"},c.prototype.commaOnThe=function(){return", 限每月的"},c.prototype.spaceX0OfTheMonth=function(){return"%s"},c.prototype.lastDay=function(){return"本月最后一天"},c.prototype.commaOnTheLastX0OfTheMonth=function(){return", 限每月的最后一个%s"},c.prototype.commaOnlyOnX0=function(){return", 仅%s"},c.prototype.commaAndOnX0=function(){return", 或者为%s"},c.prototype.commaEveryX0Months=function(){return", 每隔 %s 个月"},c.prototype.commaOnlyInX0=function(){return", 仅限%s"},c.prototype.commaOnlyInMonthX0=function(){return", 仅于%s份"},c.prototype.commaOnlyInYearX0=function(){return", 仅于 %s 年"},c.prototype.commaOnTheLastDayOfTheMonth=function(){return", 限每月的最后一天"},c.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", 限每月的最后一个工作日"},c.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", 限每月最后%s天"},c.prototype.firstWeekday=function(){return"第一个工作日"},c.prototype.weekdayNearestDayX0=function(){return"最接近 %s 号的工作日"},c.prototype.commaOnTheX0OfTheMonth=function(){return", 限每月的%s"},c.prototype.commaEveryX0Days=function(){return", 每隔 %s 天"},c.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", 限每月的 %s 至 %s 之间"},c.prototype.commaOnDayX0OfTheMonth=function(){return", 限每月%s"},c.prototype.commaEveryX0Years=function(){return", 每隔 %s 年"},c.prototype.commaStartingX0=function(){return", %s开始"},c.prototype.dayX0=function(){return" %s 号"},c.prototype.daysOfTheWeek=function(){return["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]},c.prototype.monthsOfTheYear=function(){return["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]},c.prototype.onTheHour=function(){return"整点"},c})();return l.zh_CN=N,u().locales.zh_CN=new N,M})())})(bue);var $ue={exports:{}};(function(i,e){(function(s,r){i.exports=r(jt())})(globalThis,t=>(()=>{var s={93(c){c.exports=t}},r={};function o(c){var L=r[c];if(L!==void 0)return L.exports;var j=r[c]={exports:{}};return s[c](j,j.exports,o),j.exports}o.n=c=>{var L=c&&c.__esModule?()=>c.default:()=>c;return o.d(L,{a:L}),L},o.d=(c,L)=>{for(var j in L)o.o(L,j)&&!o.o(c,j)&&Object.defineProperty(c,j,{enumerable:!0,get:L[j]})},o.o=(c,L)=>Object.prototype.hasOwnProperty.call(c,L),o.r=c=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(c,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(c,"__esModule",{value:!0})};var M={};o.r(M);var a=o(93),u=o.n(a),l=M;Object.defineProperty(l,"__esModule",{value:!0}),l.uk=void 0;var N=(function(){function c(){}return c.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},c.prototype.atX0MinutesPastTheHourGt20=function(){return null},c.prototype.commaMonthX0ThroughMonthX1=function(){return null},c.prototype.commaYearX0ThroughYearX1=function(){return null},c.prototype.use24HourTimeFormatByDefault=function(){return!0},c.prototype.everyMinute=function(){return"щохвилини"},c.prototype.everyHour=function(){return"щогодини"},c.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"ВІдбулася помилка підчас генерації опису. Перевірта правильність написання cron виразу."},c.prototype.atSpace=function(){return"О "},c.prototype.everyMinuteBetweenX0AndX1=function(){return"Щохвилини між %s та %s"},c.prototype.at=function(){return"О"},c.prototype.spaceAnd=function(){return" та"},c.prototype.everySecond=function(){return"Щосекунди"},c.prototype.everyX0Seconds=function(){return"кожні %s секунд"},c.prototype.secondsX0ThroughX1PastTheMinute=function(){return"з %s по %s секунду"},c.prototype.atX0SecondsPastTheMinute=function(){return"о %s секунді"},c.prototype.everyX0Minutes=function(){return"кожні %s хвилин"},c.prototype.minutesX0ThroughX1PastTheHour=function(){return"з %s по %s хвилину"},c.prototype.atX0MinutesPastTheHour=function(){return"о %s хвилині"},c.prototype.everyX0Hours=function(){return"кожні %s годин"},c.prototype.betweenX0AndX1=function(){return"між %s та %s"},c.prototype.atX0=function(){return"о %s"},c.prototype.commaEveryDay=function(){return", щоденно"},c.prototype.commaEveryX0DaysOfTheWeek=function(){return", кожен %s день тижня"},c.prototype.commaX0ThroughX1=function(){return", %s по %s"},c.prototype.commaAndX0ThroughX1=function(){return", та %s по %s"},c.prototype.first=function(){return"перший"},c.prototype.second=function(){return"другий"},c.prototype.third=function(){return"третій"},c.prototype.fourth=function(){return"четвертий"},c.prototype.fifth=function(){return"п'ятий"},c.prototype.commaOnThe=function(){return", в "},c.prototype.spaceX0OfTheMonth=function(){return" %s місяця"},c.prototype.lastDay=function(){return"останній день"},c.prototype.commaOnTheLastX0OfTheMonth=function(){return", в останній %s місяця"},c.prototype.commaOnlyOnX0=function(){return", тільки в %s"},c.prototype.commaAndOnX0=function(){return", і в %s"},c.prototype.commaEveryX0Months=function(){return", кожен %s місяць"},c.prototype.commaOnlyInX0=function(){return", тільки в %s"},c.prototype.commaOnTheLastDayOfTheMonth=function(){return", в останній день місяця"},c.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", в останній будень місяця"},c.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s днів до останнього дня місяця"},c.prototype.firstWeekday=function(){return"перший будень"},c.prototype.weekdayNearestDayX0=function(){return"будень найближчий до %s дня"},c.prototype.commaOnTheX0OfTheMonth=function(){return", в %s місяця"},c.prototype.commaEveryX0Days=function(){return", кожен %s день"},c.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", між %s та %s днями місяця"},c.prototype.commaOnDayX0OfTheMonth=function(){return", на %s день місяця"},c.prototype.commaEveryX0Years=function(){return", кожні %s роки"},c.prototype.commaStartingX0=function(){return", початок %s"},c.prototype.daysOfTheWeek=function(){return["неділя","понеділок","вівторок","середа","четвер","п'ятниця","субота"]},c.prototype.monthsOfTheYear=function(){return["січень","лютий","березень","квітень","травень","червень","липень","серпень","вересень","жовтень","листопад","грудень"]},c.prototype.onTheHour=function(){return"рівно о годині"},c})();return l.uk=N,u().locales.uk=new N,M})())})($ue);var Pue={exports:{}};(function(i,e){(function(s,r){i.exports=r(jt())})(globalThis,t=>(()=>{var s={93(c){c.exports=t}},r={};function o(c){var L=r[c];if(L!==void 0)return L.exports;var j=r[c]={exports:{}};return s[c](j,j.exports,o),j.exports}o.n=c=>{var L=c&&c.__esModule?()=>c.default:()=>c;return o.d(L,{a:L}),L},o.d=(c,L)=>{for(var j in L)o.o(L,j)&&!o.o(c,j)&&Object.defineProperty(c,j,{enumerable:!0,get:L[j]})},o.o=(c,L)=>Object.prototype.hasOwnProperty.call(c,L),o.r=c=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(c,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(c,"__esModule",{value:!0})};var M={};o.r(M);var a=o(93),u=o.n(a),l=M;Object.defineProperty(l,"__esModule",{value:!0}),l.pt_BR=void 0;var N=(function(){function c(){}return c.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},c.prototype.atX0MinutesPastTheHourGt20=function(){return null},c.prototype.commaMonthX0ThroughMonthX1=function(){return null},c.prototype.commaYearX0ThroughYearX1=function(){return null},c.prototype.use24HourTimeFormatByDefault=function(){return!0},c.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"Ocorreu um erro ao gerar a descrição da expressão Cron."},c.prototype.at=function(){return"às"},c.prototype.atSpace=function(){return"às "},c.prototype.atX0=function(){return"Às %s"},c.prototype.atX0MinutesPastTheHour=function(){return"aos %s minutos da hora"},c.prototype.atX0SecondsPastTheMinute=function(){return"aos %s segundos do minuto"},c.prototype.betweenX0AndX1=function(){return"entre %s e %s"},c.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", entre os dias %s e %s do mês"},c.prototype.commaEveryDay=function(){return", a cada dia"},c.prototype.commaEveryX0Days=function(){return", a cada %s dias"},c.prototype.commaEveryX0DaysOfTheWeek=function(){return", a cada %s dias de semana"},c.prototype.commaEveryX0Months=function(){return", a cada %s meses"},c.prototype.commaOnDayX0OfTheMonth=function(){return", no dia %s do mês"},c.prototype.commaOnlyInX0=function(L){return L&&L.length>1&&L[1]==="-"?"somente %s":", somente em %s"},c.prototype.commaOnlyOnX0=function(L){return L&&L.length>1&&L[1]==="-"?", somente %s":", somente de %s"},c.prototype.commaAndOnX0=function(){return", e de %s"},c.prototype.commaOnThe=function(L,j){return j==="6"||j==="0"?", no":", na "},c.prototype.commaOnTheLastDayOfTheMonth=function(){return", no último dia do mês"},c.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", no último dia da semana do mês"},c.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s dias antes do último dia do mês"},c.prototype.commaOnTheLastX0OfTheMonth=function(){return", na última %s do mês"},c.prototype.commaOnTheX0OfTheMonth=function(){return", no %s do mês"},c.prototype.commaX0ThroughX1=function(){return", de %s a %s"},c.prototype.commaAndX0ThroughX1=function(){return", e de %s a %s"},c.prototype.everyHour=function(){return"a cada hora"},c.prototype.everyMinute=function(){return"a cada minuto"},c.prototype.everyMinuteBetweenX0AndX1=function(){return"a cada minuto entre %s e %s"},c.prototype.everySecond=function(){return"a cada segundo"},c.prototype.everyX0Hours=function(){return"a cada %s horas"},c.prototype.everyX0Minutes=function(){return"a cada %s minutos"},c.prototype.everyX0Seconds=function(){return"a cada %s segundos"},c.prototype.fifth=function(L){return L==="6"||L==="0"?"quinto":"quinta"},c.prototype.first=function(L){return L==="6"||L==="0"?"primeiro":"primeira"},c.prototype.firstWeekday=function(){return"primeiro dia da semana"},c.prototype.fourth=function(L){return L==="6"||L==="0"?"quarto":"quarta"},c.prototype.minutesX0ThroughX1PastTheHour=function(){return"do minuto %s até %s de cada hora"},c.prototype.second=function(L){return L==="6"||L==="0"?"segundo":"segunda"},c.prototype.secondsX0ThroughX1PastTheMinute=function(){return"No segundo %s até %s de cada minuto"},c.prototype.spaceAnd=function(){return" e"},c.prototype.spaceX0OfTheMonth=function(){return" %s do mês"},c.prototype.lastDay=function(){return"o último dia"},c.prototype.third=function(L){return L==="6"||L==="0"?"terceiro":"terceira"},c.prototype.weekdayNearestDayX0=function(){return"dia da semana mais próximo do dia %s"},c.prototype.commaEveryX0Years=function(){return", a cada %s anos"},c.prototype.commaStartingX0=function(){return", iniciando %s"},c.prototype.daysOfTheWeek=function(){return["domingo","segunda-feira","terça-feira","quarta-feira","quinta-feira","sexta-feira","sábado"]},c.prototype.monthsOfTheYear=function(){return["janeiro","fevereiro","março","abril","maio","junho","julho","agosto","setembro","outubro","novembro","dezembro"]},c.prototype.onTheHour=function(){return"na hora certa"},c})();return l.pt_BR=N,u().locales.pt_BR=new N,M})())})(Pue);var Wue={exports:{}};(function(i,e){(function(s,r){i.exports=r(jt())})(globalThis,t=>(()=>{var s={93(c){c.exports=t}},r={};function o(c){var L=r[c];if(L!==void 0)return L.exports;var j=r[c]={exports:{}};return s[c](j,j.exports,o),j.exports}o.n=c=>{var L=c&&c.__esModule?()=>c.default:()=>c;return o.d(L,{a:L}),L},o.d=(c,L)=>{for(var j in L)o.o(L,j)&&!o.o(c,j)&&Object.defineProperty(c,j,{enumerable:!0,get:L[j]})},o.o=(c,L)=>Object.prototype.hasOwnProperty.call(c,L),o.r=c=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(c,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(c,"__esModule",{value:!0})};var M={};o.r(M);var a=o(93),u=o.n(a),l=M;Object.defineProperty(l,"__esModule",{value:!0}),l.pl=void 0;var N=(function(){function c(){}return c.prototype.atX0SecondsPastTheMinuteGt20=function(){return null},c.prototype.atX0MinutesPastTheHourGt20=function(){return null},c.prototype.commaMonthX0ThroughMonthX1=function(){return null},c.prototype.commaYearX0ThroughYearX1=function(){return null},c.prototype.use24HourTimeFormatByDefault=function(){return!0},c.prototype.anErrorOccuredWhenGeneratingTheExpressionD=function(){return"Wystąpił błąd podczas generowania opisu wyrażenia cron. Sprawdź składnię wyrażenia cron."},c.prototype.at=function(){return"O"},c.prototype.atSpace=function(){return"O "},c.prototype.atX0=function(){return"o %s"},c.prototype.atX0MinutesPastTheHour=function(){return"w %s minucie"},c.prototype.atX0SecondsPastTheMinute=function(){return"w %s sekundzie"},c.prototype.betweenX0AndX1=function(){return"od %s do %s"},c.prototype.commaBetweenDayX0AndX1OfTheMonth=function(){return", od %s-ego do %s-ego dnia miesiąca"},c.prototype.commaEveryDay=function(){return", co dzień"},c.prototype.commaEveryX0Days=function(){return", co %s dni"},c.prototype.commaEveryX0DaysOfTheWeek=function(){return", co %s dni tygodnia"},c.prototype.commaEveryX0Months=function(){return", co %s miesięcy"},c.prototype.commaEveryX0Years=function(){return", co %s lat"},c.prototype.commaOnDayX0OfTheMonth=function(){return", %s-ego dnia miesiąca"},c.prototype.commaOnlyInX0=function(){return", tylko %s"},c.prototype.commaOnlyOnX0=function(){return", tylko %s"},c.prototype.commaAndOnX0=function(){return", i %s"},c.prototype.commaOnThe=function(){return", "},c.prototype.commaOnTheLastDayOfTheMonth=function(){return", ostatni dzień miesiąca"},c.prototype.commaOnTheLastWeekdayOfTheMonth=function(){return", ostatni dzień roboczy miesiąca"},c.prototype.commaDaysBeforeTheLastDayOfTheMonth=function(){return", %s dni przed ostatnim dniem miesiąca"},c.prototype.commaOnTheLastX0OfTheMonth=function(){return", ostatni %s miesiąca"},c.prototype.commaOnTheX0OfTheMonth=function(){return", %s miesiąca"},c.prototype.commaX0ThroughX1=function(){return", od %s do %s"},c.prototype.commaAndX0ThroughX1=function(){return", i od %s do %s"},c.prototype.everyHour=function(){return"co godzinę"},c.prototype.everyMinute=function(){return"co minutę"},c.prototype.everyMinuteBetweenX0AndX1=function(){return"Co minutę od %s do %s"},c.prototype.everySecond=function(){return"co sekundę"},c.prototype.everyX0Hours=function(){return"co %s godzin"},c.prototype.everyX0Minutes=function(){return"co %s minut"},c.prototype.everyX0Seconds=function(){return"co %s sekund"},c.prototype.fifth=function(){return"piąty"},c.prototype.first=function(){return"pierwszy"},c.prototype.firstWeekday=function(){return"pierwszy dzień roboczy"},c.prototype.fourth=function(){return"czwarty"},c.prototype.minutesX0ThroughX1PastTheHour=function(){return"minuty od %s do %s"},c.prototype.second=function(){return"drugi"},c.prototype.secondsX0ThroughX1PastTheMinute=function(){return"sekundy od %s do %s"},c.prototype.spaceAnd=function(){return" i"},c.prototype.spaceX0OfTheMonth=function(){return" %s miesiąca"},c.prototype.lastDay=function(){return"ostatni dzień"},c.prototype.third=function(){return"trzeci"},c.prototype.weekdayNearestDayX0=function(){return"dzień roboczy najbliższy %s-ego dnia"},c.prototype.commaStartingX0=function(){return", startowy %s"},c.prototype.daysOfTheWeek=function(){return["niedziela","poniedziałek","wtorek","środa","czwartek","piątek","sobota"]},c.prototype.monthsOfTheYear=function(){return["styczeń","luty","marzec","kwiecień","maj","czerwiec","lipiec","sierpień","wrzesień","październik","listopad","grudzień"]},c.prototype.onTheHour=function(){return"o pełnej godzinie"},c})();return l.pl=N,u().locales.pl=new N,M})())})(Wue);function Gc(i,e){return xue.toString(i,{locale:e})}const be={mainDiv:{width:"100%",height:"100%"},periodSelect:{display:"block",width:250},tabContent:{padding:20,height:"calc(100% - 240px)",overflow:"auto"},numberButton:{padding:4,minWidth:40,margin:5},appBar:{color:"white"},warning:{marginLeft:16,color:"red",fontSize:12}},Rue=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],Jue=["January","February","March","April","May","June","July","August","September","October","November","December"];function _n(i,e){const t=[];if(i==="*"){if(e===24||e===60||e===7)for(let r=0;r1){const M=parseInt(o[1],10);for(let a=parseInt(o[0],10);a<=M;a++)t.push(a)}else t.push(parseInt(s[r],10))}t.sort();for(let r=t.length-1;r>=0;r--)t[r]===t[r+1]&&t.splice(r+1,1);return t}function fn(i,e){if(typeof i!="object"&&(i=[i]),i.length===e)return"*";const t=[];if(!i.length)return"-";i=i.map(o=>parseInt(o,10)),i.sort((o,M)=>o-M);let s=i[0],r=i[0];for(let o=1;othis.props.onChange&&this.props.onChange(this.state.cron),100)}static cron2state(e){e=e.replace(/['"]/g,"").trim();const t=e.split(" ").map(r=>r.trim());let s;return t.length===6?s={seconds:t[0]||"*",minutes:t[1]||"*",hours:t[2]||"*",dates:t[3]||"*",months:t[4]||"*",dow:t[5]||"*"}:s={seconds:!1,minutes:t[0]||"*",hours:t[1]||"*",dates:t[2]||"*",months:t[3]||"*",dow:t[4]||"*"},s}static state2cron(e){let t=`${e.minutes} ${e.hours} ${e.dates} ${e.months} ${e.dow}`;return e.seconds!==!1&&(t=`${e.seconds} ${t}`),t}recalcCron(){const e=Pt.state2cron(this.state);e!==this.state.cron&&this.setState({cron:e},()=>this.props.onChange&&this.props.onChange(this.state.cron))}onToggle(e,t,s){if(e===!0)this.setCronAttr(t,"*");else if(e===!1)s===60||s===24?this.setCronAttr(t,"0"):this.setCronAttr(t,"1");else{const r=_n(this.state[t],s),o=r.indexOf(e);o!==-1?r.splice(o,1):(r.push(e),r.sort()),this.setCronAttr(t,fn(r,s))}}getDigitsSelector(e,t){let s=[];if(t===7)s=[1,2,3,4,5,6,0];else if(t===60||t===24)for(let o=0;othis.onToggle(!1,e,t)},D.t("ra_Deselect all")),n.createElement(X,{key:"addall",variant:"contained",style:be.numberButton,color:"secondary",onClick:()=>this.onToggle(!0,e,t)},D.t("ra_Select all")),n.createElement("div",{key:"all"},s.map(o=>[t===7&&o===4||t===12&&o===7||t===31&&!((o-1)%10)||t===60&&o&&!(o%10)||t===24&&o&&!(o%6)?n.createElement("div",{key:`allInner${o}`,style:{width:"100%"}}):null,n.createElement(X,{key:`_${o}`,variant:r.indexOf(o)!==-1?"contained":"outlined",style:be.numberButton,color:r.indexOf(o)!==-1?"secondary":"primary",onClick:()=>this.onToggle(o,e,t)},t===7?D.t(Rue[o]):t===12?Jue[o-1]:o)]))]}getPeriodsTab(e,t){const s=this.state[e];let r=s==="*",o=s==null?!1:s.toString().includes("/"),M;if(this.state.modes[e]===null){M=r?"every":o?"everyN":"specific";const u=JSON.parse(JSON.stringify(this.state.modes));return u[e]=M,setTimeout(()=>this.setState({modes:u},()=>this.recalcCron()),100),null}r=this.state.modes[e]==="every",o=this.state.modes[e]==="everyN",M=this.state.modes[e];let a=1;return o&&s&&(a=parseInt(s.replace("*/",""),10)||1),n.createElement("div",null,n.createElement(Xe,{variant:"standard",style:{...be.periodSelect,verticalAlign:"bottom"},value:M,onChange:u=>{const l=JSON.parse(JSON.stringify(this.state.modes));if(l[e]=u.target.value,u.target.value==="every")this.setCronAttr(e,"*",l);else if(u.target.value==="everyN"){const N=parseInt((this.state[e]||"").toString().replace("*/",""),10)||1;this.setCronAttr(e,`*/${N}`,l)}else if(u.target.value==="specific"){let N=parseInt((this.state[e]||"").toString().split(",")[0],10)||0;!N&&(e==="months"||e==="dates")&&(N=1),this.setCronAttr(e,fn(N,t),l)}}},n.createElement(te,{key:"every",value:"every"},D.t(`sc_every_${e}`)),n.createElement(te,{key:"everyN",value:"everyN"},D.t(`sc_everyN_${e}`)),n.createElement(te,{key:"specific",value:"specific"},D.t(`sc_specific_${e}`))),o&&n.createElement(le,{variant:"standard",key:"interval",label:D.t(`sc_${e}`),value:a,slotProps:{htmlInput:{min:1,max:t},inputLabel:{shrink:!0}},onChange:u=>{this.setState({[e]:`*/${u.target.value}`},()=>this.recalcCron())},type:"number",margin:"normal"}),!r&&!o&&this.getDigitsSelector(e,t))}static convertCronToText(e,t){return e.split(" ").includes("-")?D.t("ra_Invalid CRON"):Gc(e,t)}setCronAttr(e,t,s){s?e==="seconds"?this.setState({seconds:t,modes:s},()=>this.recalcCron()):e==="minutes"?this.setState({minutes:t,modes:s},()=>this.recalcCron()):e==="hours"?this.setState({hours:t,modes:s},()=>this.recalcCron()):e==="dates"?this.setState({dates:t,modes:s},()=>this.recalcCron()):e==="months"?this.setState({months:t,modes:s},()=>this.recalcCron()):e==="dow"?this.setState({dow:t,modes:s},()=>this.recalcCron()):this.setState({modes:s},()=>this.recalcCron()):e==="seconds"?this.setState({seconds:t},()=>this.recalcCron()):e==="minutes"?this.setState({minutes:t},()=>this.recalcCron()):e==="hours"?this.setState({hours:t},()=>this.recalcCron()):e==="dates"?this.setState({dates:t},()=>this.recalcCron()):e==="months"?this.setState({months:t},()=>this.recalcCron()):e==="dow"&&this.setState({dow:t},()=>this.recalcCron())}render(){const e=this.state.seconds!==!1?this.state.tab:this.state.tab+1,t=this.state.minutes==="*"||this.state.minutes==="*/1",s=this.state.seconds==="*"||this.state.seconds==="*/1";return n.createElement("div",{style:be.mainDiv},n.createElement("div",{style:{paddingLeft:8,width:"calc(100% - px)"}},n.createElement(le,{variant:"standard",style:{width:"100%"},value:this.state.cron,disabled:!0})),n.createElement("div",{style:{paddingLeft:8,width:"calc(100% - px)",height:60}},Pt.convertCronToText(this.state.cron,this.props.language||"en"),n.createElement("span",{style:be.warning},s?D.t("ra_warning_every_second"):t?D.t("ra_warning_every_minute"):"")),n.createElement(H,{control:n.createElement(ne,{checked:!!this.state.seconds,onChange:r=>this.setState({seconds:r.target.checked?"*":!1},()=>this.recalcCron())}),label:D.t("ra_use seconds")}),n.createElement(el,{position:"static",sx:{"&.MuiAppBar-root":be.appBar},color:"secondary"},n.createElement(tl,{value:this.state.tab,style:be.appBar,color:"secondary",onChange:(r,o)=>this.setState({tab:o})},this.state.seconds!==!1&&n.createElement(ls,{id:"sc_seconds",label:D.t("sc_seconds")}),n.createElement(ls,{id:"minutes",label:D.t("sc_minutes")}),n.createElement(ls,{id:"hours",label:D.t("sc_hours")}),n.createElement(ls,{id:"dates",label:D.t("sc_dates")}),n.createElement(ls,{id:"months",label:D.t("sc_months")}),n.createElement(ls,{id:"dow",label:D.t("sc_dows")}))),e===0&&n.createElement("div",{style:be.tabContent},this.getPeriodsTab("seconds",60)),e===1&&n.createElement("div",{style:be.tabContent},this.getPeriodsTab("minutes",60)),e===2&&n.createElement("div",{style:be.tabContent},this.getPeriodsTab("hours",24)),e===3&&n.createElement("div",{style:be.tabContent},this.getPeriodsTab("dates",31)),e===4&&n.createElement("div",{style:be.tabContent},this.getPeriodsTab("months",12)),e===5&&n.createElement("div",{style:be.tabContent},this.getPeriodsTab("dow",7)))}}const Ls={modalDialog:{minWidth:400,maxWidth:800},overflowHidden:{display:"flex",overflow:"hidden"},titleIcon:{marginRight:5},content:{fontSize:16},languageButton:{position:"absolute",right:8,top:8},languageButtonActive:i=>({color:i.palette.primary.main})};function Rje(i){const{open:e,toggleTranslation:t,noTranslation:s,title:r,fullWidth:o,help:M,maxWidth:a,progress:u,icon:l,applyDisabled:N,applyButton:c,onClose:L,children:j,titleButtonApply:g,titleButtonClose:y,onApply:d,textInput:h,defaultValue:m,overflowHidden:w}=i,[O,A]=Yo(m||"");ye(()=>{A(m||"")},[m]);const I=sl(),p=$a(I.breakpoints.down("md"));let S=null;return l&&(S=l),n.createElement(de,{open:e,maxWidth:p?!1:a||"md",fullWidth:!!o,fullScreen:p,disableEscapeKeyDown:!1,onClose:L,sx:{"& .MuiDialog-paper":p?{}:Ls.modalDialog}},r&&n.createElement(he,null,l?n.createElement(S,{style:Ls.titleIcon}):null,r,D.getLanguage()!=="en"&&t?n.createElement(P,{size:"large",sx:E.getStyle(i.theme,Ls.languageButton,s&&Ls.languageButtonActive),onClick:()=>t(),title:D.t("Disable/Enable translation")},n.createElement(ul,null)):null),n.createElement(Ae,{style:{...Ls.content,...w?Ls.overflowHidden:void 0,paddingTop:8}},h&&n.createElement(le,{autoComplete:"off",fullWidth:!0,autoFocus:!0,variant:"outlined",size:"medium",multiline:!0,value:O,onChange:f=>A(f.target.value)}),j,M?n.createElement("div",null,M):null),n.createElement(me,null,c!==!1&&n.createElement(X,{startIcon:n.createElement(Ue,null),disabled:u||N&&m===O,onClick:()=>d(h?O:""),variant:"contained",color:"primary"},D.t(g||"ra_Ok")),n.createElement(X,{color:"grey",onClick:L,disabled:u,variant:"contained",startIcon:n.createElement(ge,null)},D.t(y||"ra_Cancel"))))}function Bue(){const i=aN();return[...i.breakpoints.keys].reverse().reduce((t,s)=>{const r=$a(i.breakpoints.up(s));return!t&&r?s:t},null)||"xs"}function ur(){return i=>function(t){const s=Bue();return n.createElement(i,{...t,width:s})}}function Gue(i){const[e,t]=n.useState(i.input||i.value||""),[s,r]=n.useState("");return n.createElement(de,{open:!0,onClose:()=>i.onClose(null),"aria-labelledby":"form-dialog-title",fullWidth:i.fullWidth!==void 0?i.fullWidth:!1},n.createElement(he,{id:"form-dialog-title"},i.titleText),n.createElement(Ae,null,n.createElement(Jt,null,i.promptText),n.createElement(le,{variant:"standard",autoFocus:!0,margin:"dense",error:!!s,helperText:s===!0||!s?"":s,value:e,label:i.labelText||"",type:i.type||"text",onKeyUp:o=>o.code==="Enter"&&e&&i.onClose(e),onChange:o=>{let M="";i.verify&&(M=!i.verify(o.target.value)),i.rule?t(i.rule(o.target.value)):t(o.target.value),r(M)},fullWidth:!0})),n.createElement(me,null,n.createElement(X,{variant:"contained",disabled:!e||!!s,onClick:()=>i.onClose(e),color:"primary",startIcon:n.createElement(Ue,null)},i.applyText||D.t("ra_Ok")),n.createElement(X,{color:"grey",variant:"contained",onClick:()=>i.onClose(null),startIcon:n.createElement(ge,null)},i.cancelText||D.t("ra_Cancel"))))}const Fue=ur()(Gue);function lo(i){return n.createElement("svg",{onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 486 486",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),xmlns:"http://www.w3.org/2000/svg",className:i.className,style:i.style},n.createElement("path",{fill:"currentColor",d:"m414.928297,149.715165 c-2.639376,-57.222555 -35.669446,-106.505345 -83.345894,-132.039151 c-3.758948,-2.049842 -7.636885,-3.932022 -11.590542,-5.641125 c-19.303146,-8.394083 -40.607459,-13.050853 -63.004303,-13.050853 c-84.113909,0 -152.791790,65.703174 -157.718988,148.605566 l0.043268,-0.010816 v0.281245 c0,3.061243 -0.146031,16.750306 -0.146031,16.750306 l-2.352723,5.224668 h15.744315 c5.916964,-19.384275 24.078904,-32.635245 45.513024,-32.635245 c26.231510,0 47.573684,21.915481 47.573684,48.146991 c0,26.226103 -21.342174,47.146409 -47.573684,47.146409 c-25.111939,0 -45.734774,-19.735831 -47.443879,-44.658471 h-18.789334 c-0.400232,0 -0.778832,0.638209 -1.162839,0.584122 l-19.762875,55.199753 c-2.774590,7.696379 2.926030,16.214860 11.103771,16.214860 h17.020735 l-0.129805,87.899899 c0,17.356066 14.073071,31.174935 31.429136,31.174935 h56.205745 v82.648189 c0,12.877778 12.937273,22.580734 25.815051,22.580734 h144.597825 c12.877778,0 23.429877,-9.702955 23.429877,-22.580734 v-166.037352 c0,-22.645636 5.976457,-44.761234 16.561008,-64.789128 c11.055093,-20.925714 17.523731,-44.620611 18.129489,-69.792045 c0.027042,-1.260193 0.037858,-2.552839 0.037858,-3.845485 c0,-2.466302 -0.070310,-4.938014 -0.183890,-7.377273 zm-155.393308,-11.731165 h-13.456494 v13.559257 c0,4.732489 -4.267352,8.567157 -8.999842,8.567157 c-4.727079,0 -8.999842,-3.834667 -8.999842,-8.567157 v-13.559257 h-12.185483 c-4.732489,0 -8.567157,-4.267352 -8.567157,-8.999842 c0,-4.727079 3.834667,-8.999842 8.567157,-8.999842 h12.185483 v-12.077311 c0,-4.732489 4.272762,-8.567157 8.999842,-8.567157 c4.732489,0 8.999842,3.834667 8.999842,8.567157 v12.077311 h13.456494 c4.727079,0 8.567157,4.272762 8.567157,8.999842 c0,4.732489 -3.840077,8.999842 -8.567157,8.999842 zm0,0"}),n.createElement("path",{fill:"currentColor",d:"m187.695312 285.875c3.9375-3.980469 6.414063-9.449219 6.414063-15.523438 0-12.128906-9.855469-21.980468-21.984375-21.980468-6.007812 0-11.472656 2.410156-15.457031 6.347656-4.023438 4.003906-6.523438 9.539062-6.523438 15.636719 0 12.125 9.855469 21.980469 21.980469 21.980469 6.078125 0 11.585938-2.476563 15.570312-6.460938zm0 0"}))}function ms(i){return n.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 650 512",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},n.createElement("path",{fill:"currentColor",d:"m524,128l-192,0l-64,-64l-160,0c-26.51,0 -48,21.49 -48,48l0,288c0,26.51 21.49,48 48,48l416,0c26.51,0 48,-21.49 48,-48l0,-224c0,-26.51 -21.49,-48 -48,-48z"}))}function vi(i){return n.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 650 512",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},n.createElement("path",{fill:"currentColor",d:"m631.75617,292.093l-72.424,124.155a63.997,63.997 0 0 1 -55.281,31.752l-399.964,0c-18.523,0 -30.064,-20.093 -20.731,-36.093l72.424,-124.155a64,64 0 0 1 55.282,-31.752l399.964,0c18.523,0 30.064,20.093 20.73,36.093zm-420.694,-68.093l328,0l0,-48c0,-26.51 -21.49,-48 -48,-48l-160,0l-64,-64l-160,0c-26.51,0 -48,21.49 -48,48l0,278.046l69.077,-118.418c17.137,-29.378 48.912,-47.628 82.923,-47.628z"}))}function iM(i){return n.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 512 512",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},n.createElement("path",{fill:"#EE3333",d:"M256,0C114.844,0,0,114.844,0,256s114.844,256,256,256s256-114.844,256-256S397.156,0,256,0z M256,448 c-105.865,0-192-86.135-192-192c0-40.406,12.25-78.604,35.542-111.198l267.656,267.656C334.604,435.75,296.406,448,256,448z M412.458,367.198L144.802,99.542C177.396,76.25,215.594,64,256,64c105.865,0,192,86.135,192,192 C448,296.406,435.75,334.604,412.458,367.198z"}))}var Hue=i=>typeof i!="string"?{}:i.split(/ ?; ?/).reduce((e,t)=>{const[s,r]=t.split(/ ?: ?/).map((o,M)=>M===0?o.replace(/\s+/g,""):o.trim());if(s&&r){const o=s.replace(/(\w)-(\w)/g,(a,u,l)=>`${u}${l.toUpperCase()}`);let M=r.trim();Number.isNaN(Number(r))||(M=Number(r)),e[s.startsWith("-")?s:o]=M}return e},{});function Vue(i=6){const e="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";let t="";for(let s=i;s>0;--s)t+=e[Math.round(Math.random()*(e.length-1))];return t}var Zue=["br","col","colgroup","dl","hr","iframe","img","input","link","menuitem","meta","ol","param","select","table","tbody","tfoot","thead","tr","ul","wbr"],Sn={"accept-charset":"acceptCharset",acceptcharset:"acceptCharset",accesskey:"accessKey",allowfullscreen:"allowFullScreen",autocapitalize:"autoCapitalize",autocomplete:"autoComplete",autocorrect:"autoCorrect",autofocus:"autoFocus",autoplay:"autoPlay",autosave:"autoSave",cellpadding:"cellPadding",cellspacing:"cellSpacing",charset:"charSet",class:"className",classid:"classID",classname:"className",colspan:"colSpan",contenteditable:"contentEditable",contextmenu:"contextMenu",controlslist:"controlsList",crossorigin:"crossOrigin",dangerouslysetinnerhtml:"dangerouslySetInnerHTML",datetime:"dateTime",defaultchecked:"defaultChecked",defaultvalue:"defaultValue",enctype:"encType",for:"htmlFor",formmethod:"formMethod",formaction:"formAction",formenctype:"formEncType",formnovalidate:"formNoValidate",formtarget:"formTarget",frameborder:"frameBorder",hreflang:"hrefLang",htmlfor:"htmlFor",httpequiv:"httpEquiv","http-equiv":"httpEquiv",icon:"icon",innerhtml:"innerHTML",inputmode:"inputMode",itemid:"itemID",itemprop:"itemProp",itemref:"itemRef",itemscope:"itemScope",itemtype:"itemType",keyparams:"keyParams",keytype:"keyType",marginwidth:"marginWidth",marginheight:"marginHeight",maxlength:"maxLength",mediagroup:"mediaGroup",minlength:"minLength",nomodule:"noModule",novalidate:"noValidate",playsinline:"playsInline",radiogroup:"radioGroup",readonly:"readOnly",referrerpolicy:"referrerPolicy",rowspan:"rowSpan",spellcheck:"spellCheck",srcdoc:"srcDoc",srclang:"srcLang",srcset:"srcSet",tabindex:"tabIndex",typemustmatch:"typeMustMatch",usemap:"useMap",accentheight:"accentHeight","accent-height":"accentHeight",alignmentbaseline:"alignmentBaseline","alignment-baseline":"alignmentBaseline",allowreorder:"allowReorder",arabicform:"arabicForm","arabic-form":"arabicForm",attributename:"attributeName",attributetype:"attributeType",autoreverse:"autoReverse",basefrequency:"baseFrequency",baselineshift:"baselineShift","baseline-shift":"baselineShift",baseprofile:"baseProfile",calcmode:"calcMode",capheight:"capHeight","cap-height":"capHeight",clippath:"clipPath","clip-path":"clipPath",clippathunits:"clipPathUnits",cliprule:"clipRule","clip-rule":"clipRule",colorinterpolation:"colorInterpolation","color-interpolation":"colorInterpolation",colorinterpolationfilters:"colorInterpolationFilters","color-interpolation-filters":"colorInterpolationFilters",colorprofile:"colorProfile","color-profile":"colorProfile",colorrendering:"colorRendering","color-rendering":"colorRendering",contentscripttype:"contentScriptType",contentstyletype:"contentStyleType",diffuseconstant:"diffuseConstant",dominantbaseline:"dominantBaseline","dominant-baseline":"dominantBaseline",edgemode:"edgeMode",enablebackground:"enableBackground","enable-background":"enableBackground",externalresourcesrequired:"externalResourcesRequired",fillopacity:"fillOpacity","fill-opacity":"fillOpacity",fillrule:"fillRule","fill-rule":"fillRule",filterres:"filterRes",filterunits:"filterUnits",floodopacity:"floodOpacity","flood-opacity":"floodOpacity",floodcolor:"floodColor","flood-color":"floodColor",fontfamily:"fontFamily","font-family":"fontFamily",fontsize:"fontSize","font-size":"fontSize",fontsizeadjust:"fontSizeAdjust","font-size-adjust":"fontSizeAdjust",fontstretch:"fontStretch","font-stretch":"fontStretch",fontstyle:"fontStyle","font-style":"fontStyle",fontvariant:"fontVariant","font-variant":"fontVariant",fontweight:"fontWeight","font-weight":"fontWeight",glyphname:"glyphName","glyph-name":"glyphName",glyphorientationhorizontal:"glyphOrientationHorizontal","glyph-orientation-horizontal":"glyphOrientationHorizontal",glyphorientationvertical:"glyphOrientationVertical","glyph-orientation-vertical":"glyphOrientationVertical",glyphref:"glyphRef",gradienttransform:"gradientTransform",gradientunits:"gradientUnits",horizadvx:"horizAdvX","horiz-adv-x":"horizAdvX",horizoriginx:"horizOriginX","horiz-origin-x":"horizOriginX",imagerendering:"imageRendering","image-rendering":"imageRendering",kernelmatrix:"kernelMatrix",kernelunitlength:"kernelUnitLength",keypoints:"keyPoints",keysplines:"keySplines",keytimes:"keyTimes",lengthadjust:"lengthAdjust",letterspacing:"letterSpacing","letter-spacing":"letterSpacing",lightingcolor:"lightingColor","lighting-color":"lightingColor",limitingconeangle:"limitingConeAngle",markerend:"markerEnd","marker-end":"markerEnd",markerheight:"markerHeight",markermid:"markerMid","marker-mid":"markerMid",markerstart:"markerStart","marker-start":"markerStart",markerunits:"markerUnits",markerwidth:"markerWidth",maskcontentunits:"maskContentUnits",maskunits:"maskUnits",numoctaves:"numOctaves",overlineposition:"overlinePosition","overline-position":"overlinePosition",overlinethickness:"overlineThickness","overline-thickness":"overlineThickness",paintorder:"paintOrder","paint-order":"paintOrder","panose-1":"panose1",pathlength:"pathLength",patterncontentunits:"patternContentUnits",patterntransform:"patternTransform",patternunits:"patternUnits",pointerevents:"pointerEvents","pointer-events":"pointerEvents",pointsatx:"pointsAtX",pointsaty:"pointsAtY",pointsatz:"pointsAtZ",preservealpha:"preserveAlpha",preserveaspectratio:"preserveAspectRatio",primitiveunits:"primitiveUnits",refx:"refX",refy:"refY",renderingintent:"renderingIntent","rendering-intent":"renderingIntent",repeatcount:"repeatCount",repeatdur:"repeatDur",requiredextensions:"requiredExtensions",requiredfeatures:"requiredFeatures",shaperendering:"shapeRendering","shape-rendering":"shapeRendering",specularconstant:"specularConstant",specularexponent:"specularExponent",spreadmethod:"spreadMethod",startoffset:"startOffset",stddeviation:"stdDeviation",stitchtiles:"stitchTiles",stopcolor:"stopColor","stop-color":"stopColor",stopopacity:"stopOpacity","stop-opacity":"stopOpacity",strikethroughposition:"strikethroughPosition","strikethrough-position":"strikethroughPosition",strikethroughthickness:"strikethroughThickness","strikethrough-thickness":"strikethroughThickness",strokedasharray:"strokeDasharray","stroke-dasharray":"strokeDasharray",strokedashoffset:"strokeDashoffset","stroke-dashoffset":"strokeDashoffset",strokelinecap:"strokeLinecap","stroke-linecap":"strokeLinecap",strokelinejoin:"strokeLinejoin","stroke-linejoin":"strokeLinejoin",strokemiterlimit:"strokeMiterlimit","stroke-miterlimit":"strokeMiterlimit",strokewidth:"strokeWidth","stroke-width":"strokeWidth",strokeopacity:"strokeOpacity","stroke-opacity":"strokeOpacity",suppresscontenteditablewarning:"suppressContentEditableWarning",suppresshydrationwarning:"suppressHydrationWarning",surfacescale:"surfaceScale",systemlanguage:"systemLanguage",tablevalues:"tableValues",targetx:"targetX",targety:"targetY",textanchor:"textAnchor","text-anchor":"textAnchor",textdecoration:"textDecoration","text-decoration":"textDecoration",textlength:"textLength",textrendering:"textRendering","text-rendering":"textRendering",underlineposition:"underlinePosition","underline-position":"underlinePosition",underlinethickness:"underlineThickness","underline-thickness":"underlineThickness",unicodebidi:"unicodeBidi","unicode-bidi":"unicodeBidi",unicoderange:"unicodeRange","unicode-range":"unicodeRange",unitsperem:"unitsPerEm","units-per-em":"unitsPerEm",unselectable:"unselectable",valphabetic:"vAlphabetic","v-alphabetic":"vAlphabetic",vectoreffect:"vectorEffect","vector-effect":"vectorEffect",vertadvy:"vertAdvY","vert-adv-y":"vertAdvY",vertoriginx:"vertOriginX","vert-origin-x":"vertOriginX",vertoriginy:"vertOriginY","vert-origin-y":"vertOriginY",vhanging:"vHanging","v-hanging":"vHanging",videographic:"vIdeographic","v-ideographic":"vIdeographic",viewbox:"viewBox",viewtarget:"viewTarget",vmathematical:"vMathematical","v-mathematical":"vMathematical",wordspacing:"wordSpacing","word-spacing":"wordSpacing",writingmode:"writingMode","writing-mode":"writingMode",xchannelselector:"xChannelSelector",xheight:"xHeight","x-height":"xHeight",xlinkactuate:"xlinkActuate","xlink:actuate":"xlinkActuate",xlinkarcrole:"xlinkArcrole","xlink:arcrole":"xlinkArcrole",xlinkhref:"xlinkHref","xlink:href":"xlinkHref",xlinkrole:"xlinkRole","xlink:role":"xlinkRole",xlinkshow:"xlinkShow","xlink:show":"xlinkShow",xlinktitle:"xlinkTitle","xlink:title":"xlinkTitle",xlinktype:"xlinkType","xlink:type":"xlinkType",xmlbase:"xmlBase","xml:base":"xmlBase",xmllang:"xmlLang","xml:lang":"xmlLang","xml:space":"xmlSpace",xmlnsxlink:"xmlnsXlink","xmlns:xlink":"xmlnsXlink",xmlspace:"xmlSpace",ychannelselector:"yChannelSelector",zoomandpan:"zoomAndPan",onblur:"onBlur",onchange:"onChange",onclick:"onClick",oncontextmenu:"onContextMenu",ondoubleclick:"onDoubleClick",ondrag:"onDrag",ondragend:"onDragEnd",ondragenter:"onDragEnter",ondragexit:"onDragExit",ondragleave:"onDragLeave",ondragover:"onDragOver",ondragstart:"onDragStart",ondrop:"onDrop",onerror:"onError",onfocus:"onFocus",oninput:"onInput",oninvalid:"onInvalid",onkeydown:"onKeyDown",onkeypress:"onKeyPress",onkeyup:"onKeyUp",onload:"onLoad",onmousedown:"onMouseDown",onmouseenter:"onMouseEnter",onmouseleave:"onMouseLeave",onmousemove:"onMouseMove",onmouseout:"onMouseOut",onmouseover:"onMouseOver",onmouseup:"onMouseUp",onscroll:"onScroll",onsubmit:"onSubmit",ontouchcancel:"onTouchCancel",ontouchend:"onTouchEnd",ontouchmove:"onTouchMove",ontouchstart:"onTouchStart",onwheel:"onWheel"};function Xue(i,e){var o;const{key:t,level:s,...r}=e;switch(i.nodeType){case 1:return Hu(que(i.nodeName),Kue(i,t),xn(i.childNodes,s,r));case 3:{const M=((o=i.nodeValue)==null?void 0:o.toString())??"";if(!r.allowWhiteSpaces&&/^\s+$/.test(M)&&!/[\u00A0\u202F]/.test(M))return null;if(!i.parentNode)return M;const a=i.parentNode.nodeName.toLowerCase();return Zue.includes(a)?(/\S/.test(M)&&console.warn(`A textNode is not allowed inside '${a}'. Your text "${M}" will be ignored`),null):M}case 8:return null;case 11:return xn(i.childNodes,s,e);default:return null}}function Kue(i,e){const t={key:e};if(i instanceof Element){const s=i.getAttribute("class");s&&(t.className=s),[...i.attributes].forEach(r=>{switch(r.name){case"class":break;case"style":t[r.name]=Hue(r.value);break;case"allowfullscreen":case"allowpaymentrequest":case"async":case"autofocus":case"autoplay":case"checked":case"controls":case"default":case"defer":case"disabled":case"formnovalidate":case"hidden":case"ismap":case"itemscope":case"loop":case"multiple":case"muted":case"nomodule":case"novalidate":case"open":case"readonly":case"required":case"reversed":case"selected":case"typemustmatch":t[Sn[r.name]||r.name]=!0;break;default:t[Sn[r.name]||r.name]=r.value}})}return t}function xn(i,e,t){const s=[...i].map((r,o)=>Gi(r,{...t,index:o,level:e+1})).filter(Boolean);return s.length?s:null}function que(i){return/[a-z]+[A-Z]+[a-z]+/.test(i)?i:i.toLowerCase()}function Fc(i,e={}){return typeof i=="string"?ele(i,e):i instanceof Node?Gi(i,e):null}function Gi(i,e={}){if(!i||!(i instanceof Node))return null;const{actions:t=[],index:s=0,level:r=0,randomKey:o}=e;let M=i,a=`${r}-${s}`;const u=[];return o&&r===0&&(a=`${Vue()}-${a}`),Array.isArray(t)&&t.forEach(l=>{l.condition(M,a,r)&&(typeof l.pre=="function"&&(M=l.pre(M,a,r),M instanceof Node||(M=i)),typeof l.post=="function"&&u.push(l.post(M,a,r)))}),u.length?u:Xue(M,{key:a,level:r,...e})}function ele(i,e={}){if(!i||typeof i!="string")return null;const{includeAllNodes:t=!1,nodeOnly:s=!1,selector:r="body > *",type:o="text/html"}=e;try{const a=new DOMParser().parseFromString(i,o);if(t){const{childNodes:l}=a.body;return s?l:[...l].map(N=>Gi(N,e))}const u=a.querySelector(r)||a.body.childNodes[0];if(!(u instanceof Node))throw new TypeError("Error parsing input");return s?u:Gi(u,e)}catch{}return null}var tle=Object.defineProperty,sle=(i,e,t)=>e in i?tle(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,Ci=(i,e,t)=>sle(i,typeof e!="symbol"?e+"":e,t),kn="react-inlinesvg",ile=10,re={IDLE:"idle",LOADING:"loading",LOADED:"loaded",FAILED:"failed",READY:"ready",UNSUPPORTED:"unsupported"};function rle(i){return i[Math.floor(Math.random()*i.length)]}function Zs(){var i;return!!(typeof window<"u"&&((i=window.document)!=null&&i.createElement))}function ole(){return cle()&&typeof window<"u"&&window!==null}function Mle(i,...e){const t={};for(const s in i)({}).hasOwnProperty.call(i,s)&&(e.includes(s)||(t[s]=i[s]));return t}function nle(i){const e="abcdefghijklmnopqrstuvwxyz",s=`${e}${e.toUpperCase()}1234567890`;let r="";for(let o=0;o299)throw new Error("Not found");if(!["image/svg+xml","text/plain"].some(o=>r.includes(o)))throw new Error(`Content type isn't valid: ${r}`);return t.text()}function ale(i=1){return new Promise(e=>{setTimeout(e,i*1e3)})}function cle(){if(!document)return!1;const i=document.createElement("div");i.innerHTML="";const e=i.firstChild;return!!e&&e.namespaceURI==="http://www.w3.org/2000/svg"}var ule=class{constructor(){Ci(this,"cacheApi"),Ci(this,"cacheStore"),Ci(this,"subscribers",[]),Ci(this,"isReady",!1),this.cacheStore=new Map;let i=kn,e=!1;Zs()&&(i=window.REACT_INLINESVG_CACHE_NAME??kn,e=!!window.REACT_INLINESVG_PERSISTENT_CACHE&&"caches"in window),e?caches.open(i).then(t=>{this.cacheApi=t}).catch(t=>{console.error(`Failed to open cache: ${t.message}`),this.cacheApi=void 0}).finally(()=>{this.isReady=!0;const t=[...this.subscribers];this.subscribers.length=0,t.forEach(s=>{try{s()}catch(r){console.error(`Error in CacheStore subscriber callback: ${r.message}`)}})}):this.isReady=!0}onReady(i){this.isReady?i():this.subscribers.push(i)}async get(i,e){var t;return await(this.cacheApi?this.fetchAndAddToPersistentCache(i,e):this.fetchAndAddToInternalCache(i,e)),((t=this.cacheStore.get(i))==null?void 0:t.content)??""}set(i,e){this.cacheStore.set(i,e)}isCached(i){var e;return((e=this.cacheStore.get(i))==null?void 0:e.status)===re.LOADED}async fetchAndAddToInternalCache(i,e){const t=this.cacheStore.get(i);if((t==null?void 0:t.status)===re.LOADING){await this.handleLoading(i,async()=>{this.cacheStore.set(i,{content:"",status:re.IDLE}),await this.fetchAndAddToInternalCache(i,e)});return}if(!(t!=null&&t.content)){this.cacheStore.set(i,{content:"",status:re.LOADING});try{const s=await Hc(i,e);this.cacheStore.set(i,{content:s,status:re.LOADED})}catch(s){throw this.cacheStore.set(i,{content:"",status:re.FAILED}),s}}}async fetchAndAddToPersistentCache(i,e){var r,o,M;const t=this.cacheStore.get(i);if((t==null?void 0:t.status)===re.LOADED)return;if((t==null?void 0:t.status)===re.LOADING){await this.handleLoading(i,async()=>{this.cacheStore.set(i,{content:"",status:re.IDLE}),await this.fetchAndAddToPersistentCache(i,e)});return}this.cacheStore.set(i,{content:"",status:re.LOADING});const s=await((r=this.cacheApi)==null?void 0:r.match(i));if(s){const a=await s.text();this.cacheStore.set(i,{content:a,status:re.LOADED});return}try{await((o=this.cacheApi)==null?void 0:o.add(new Request(i,e)));const a=await((M=this.cacheApi)==null?void 0:M.match(i)),u=await(a==null?void 0:a.text())??"";this.cacheStore.set(i,{content:u,status:re.LOADED})}catch(a){throw this.cacheStore.set(i,{content:"",status:re.FAILED}),a}}async handleLoading(i,e){var t;for(let s=0;s({[i]:e}))}async delete(i){this.cacheApi&&await this.cacheApi.delete(i),this.cacheStore.delete(i)}async clear(){if(this.cacheApi){const i=await this.cacheApi.keys();await Promise.allSettled(i.map(e=>this.cacheApi.delete(e)))}this.cacheStore.clear()}};function Yn(i){const e=Fe(void 0);return ye(()=>{e.current=i}),e.current}function lle(i){const{baseURL:e,content:t,description:s,handleError:r,hash:o,preProcessor:M,title:a,uniquifyIDs:u=!1}=i;try{const l=Nle(t,M),N=Fc(l,{nodeOnly:!0});if(!N||!(N instanceof SVGSVGElement))throw new Error("Could not convert the src to a DOM Node");const c=Vc(N,{baseURL:e,hash:o,uniquifyIDs:u});if(s){const L=c.querySelector("desc");L!=null&&L.parentNode&&L.parentNode.removeChild(L);const j=document.createElementNS("http://www.w3.org/2000/svg","desc");j.innerHTML=s,c.prepend(j)}if(typeof a<"u"){const L=c.querySelector("title");if(L!=null&&L.parentNode&&L.parentNode.removeChild(L),a){const j=document.createElementNS("http://www.w3.org/2000/svg","title");j.innerHTML=a,c.prepend(j)}}return c}catch(l){return r(l)}}function Nle(i,e){return e?e(i):i}function Vc(i,e){const{baseURL:t="",hash:s,uniquifyIDs:r}=e,o=["id","href","xlink:href","xlink:role","xlink:arcrole"],M=["href","xlink:href"],a=(u,l)=>M.includes(u)&&(l?!l.includes("#"):!1);return r&&[...i.children].forEach(u=>{var l;if((l=u.attributes)!=null&&l.length){const N=Object.values(u.attributes).map(c=>{const L=c,j=/url\((.*?)\)/.exec(c.value);return j!=null&&j[1]&&(L.value=c.value.replace(j[0],`url(${t}${j[1]}__${s})`)),L});o.forEach(c=>{const L=N.find(j=>j.name===c);L&&!a(c,L.value)&&(L.value=`${L.value}__${s}`)})}return u.children.length?Vc(u,e):u}),i}var Is;function Lle(i){const{cacheRequests:e=!0,children:t=null,description:s,fetchOptions:r,innerRef:o,loader:M=null,onError:a,onLoad:u,src:l,title:N,uniqueHash:c}=i,[L,j]=Vu((Y,J)=>({...Y,...J}),{content:"",element:null,isCached:e&&Is.isCached(i.src),status:re.IDLE}),{content:g,element:y,isCached:d,status:h}=L,m=Yn(i),w=Yn(L),O=Fe(c??nle(8)),A=Fe(!1),I=Fe(!1),p=Qt(Y=>{A.current&&(j({status:Y.message==="Browser does not support SVG"?re.UNSUPPORTED:re.FAILED}),a==null||a(Y))},[a]),S=Qt((Y,J=!1)=>{A.current&&j({content:Y,isCached:J,status:re.LOADED})},[]),f=Qt(async()=>{const Y=await Hc(l,r);S(Y)},[r,S,l]),$=Qt(()=>{try{const Y=lle({...i,handleError:p,hash:O.current,content:g}),J=Fc(Y);if(!J||!Zu(J))throw new Error("Could not convert the src to a React element");j({element:J,status:re.READY})}catch(Y){p(Y)}},[g,p,i]),x=Qt(async()=>{const Y=/^data:image\/svg[^,]*?(;base64)?,(.*)/u.exec(l);let J;if(Y?J=Y[1]?window.atob(Y[2]):decodeURIComponent(Y[2]):l.includes("{A.current&&j({content:"",element:null,isCached:!1,status:re.LOADING})},[]);ye(()=>{if(A.current=!0,!(!Zs()||I.current)){try{if(h===re.IDLE){if(!ole())throw new Error("Browser does not support SVG");if(!l)throw new Error("Missing src");Z()}}catch(Y){p(Y)}return I.current=!0,()=>{A.current=!1}}},[]),ye(()=>{if(!(!Zs()||!m)&&m.src!==l){if(!l){p(new Error("Missing src"));return}Z()}},[p,Z,m,l]),ye(()=>{h===re.LOADED&&$()},[h,$]),ye(()=>{!Zs()||!m||m.src!==l||(m.title!==N||m.description!==s)&&$()},[s,$,m,l,N]),ye(()=>{if(w)switch(h){case re.LOADING:{w.status!==re.LOADING&&x();break}case re.LOADED:{w.status!==re.LOADED&&$();break}case re.READY:{w.status!==re.READY&&(u==null||u(l,d));break}}},[x,$,d,u,w,l,h]);const k=Mle(i,"baseURL","cacheRequests","children","description","fetchOptions","innerRef","loader","onError","onLoad","preProcessor","src","title","uniqueHash","uniquifyIDs");return Zs()?y?Xu(y,{ref:o,...k}):[re.UNSUPPORTED,re.FAILED].includes(h)?t:M:M}function No(i){Is||(Is=new ule);const{loader:e}=i,[t,s]=Yo(Is.isReady);return ye(()=>{t||Is.onReady(()=>{s(!0)})},[t]),t?n.createElement(Lle,{...i}):e}function jle(i){return n.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 512 512",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},n.createElement("path",{fill:"currentColor",d:"M96.06 454.35c.01 6.29 1.87 12.45 5.36 17.69l17.09 25.69a31.99 31.99 0 0 0 26.64 14.28h61.71a31.99 31.99 0 0 0 26.64-14.28l17.09-25.69a31.989 31.989 0 0 0 5.36-17.69l.04-38.35H96.01l.05 38.35zM0 176c0 44.37 16.45 84.85 43.56 115.78 16.52 18.85 42.36 58.23 52.21 91.45.04.26.07.52.11.78h160.24c.04-.26.07-.51.11-.78 9.85-33.22 35.69-72.6 52.21-91.45C335.55 260.85 352 220.37 352 176 352 78.61 272.91-.3 175.45 0 73.44.31 0 82.97 0 176zm176-80c-44.11 0-80 35.89-80 80 0 8.84-7.16 16-16 16s-16-7.16-16-16c0-61.76 50.24-112 112-112 8.84 0 16 7.16 16 16s-7.16 16-16 16z"}))}function Jje(i){let e;const t=i==null?void 0:i._id;return t?(t.startsWith("_design/")||t==="system"?e=n.createElement(Pi,{className:"iconOwn"}):t==="0_userdata"||t==="0_userdata.0"?e=n.createElement(ll,{className:"iconOwn"}):t==="alias"||t==="alias.0"?e=n.createElement(jle,{className:"iconOwn"}):t==="system.adapter"?e=n.createElement(Pi,{className:"iconOwn"}):t==="system.group"?e=n.createElement(Qo,{className:"iconOwn"}):t==="system.user"?e=n.createElement(Uo,{className:"iconOwn"}):t==="system.host"?e=n.createElement(vo,{className:"iconOwn"}):t.endsWith(".connection")||t.endsWith(".connected")?e=n.createElement(zs,{className:"iconOwn"}):t.endsWith(".info")?e=n.createElement(bo,{className:"iconOwn"}):(i==null?void 0:i.type)==="meta"&&(e=n.createElement(er,{className:"iconOwn"})),e||null):null}function Bje(i,e){var r;e=e||".";let t="";const s=i==null?void 0:i.common;if(s){const o=s.icon;if(o)if(o.startsWith("data:image/"))t=o;else if(o.includes(".")){let M;i.type==="instance"||i.type==="adapter"?t=`${e}/adapter/${s.name}/${o}`:(r=i._id)!=null&&r.startsWith("system.adapter.")?(M=i._id.split(".",3),o[0]==="/"?M[2]+=o:M[2]+=`/${o}`,t=`${e}/adapter/${M[2]}`):(M=i._id.split(".",2),o[0]==="/"?M[0]+=o:M[0]+=`/${o}`,t=`${e}/adapter/${M[0]}`)}else return null}return t||null}const gle=window.location.hostname.endsWith("iobroker.in"),Qn=window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/")+1),Se=n.forwardRef(function(e,t){var s,r,o;if(e.src){if(typeof e.src=="string"){if(e.src.length<3)return e.sx?n.createElement(W,{component:"span",sx:e.sx,ref:t,title:e.title||void 0,style:{height:27,marginTop:-8,...e.styleUTF8||e.style},className:e.className?`iconOwn ${e.className}`:"iconOwn"},e.src):n.createElement("span",{ref:t,title:e.title||void 0,style:{height:27,marginTop:-8,...e.styleUTF8||e.style},className:e.className?`iconOwn ${e.className}`:"iconOwn"},e.src);if(e.src.startsWith("data:image/svg"))return n.createElement(No,{title:e.title||void 0,src:e.src,className:e.className?`iconOwn ${e.className}`:"iconOwn",width:((s=e.style)==null?void 0:s.width)||28,height:((r=e.style)==null?void 0:r.height)||((o=e.style)==null?void 0:o.width)||28,style:e.style||void 0});if(gle&&!e.src.startsWith("http://")&&!e.src.startsWith("https://")){let M=e.src;return M.startsWith("./")?M=Qn+M.substring(2):M.startsWith("/")||(M=Qn+M),e.sx?n.createElement(W,{component:"img",sx:e.sx,title:e.title||void 0,style:e.style||void 0,className:e.className?`iconOwn ${e.className}`:"iconOwn",src:`https://remote-files.iobroker.in${M}`,alt:e.alt||void 0,ref:t,onError:a=>{var u;return(u=e.onError)==null?void 0:u.call(e,a)}}):n.createElement("img",{title:e.title||void 0,style:e.style||void 0,className:e.className?`iconOwn ${e.className}`:"iconOwn",src:`https://remote-files.iobroker.in${M}`,alt:e.alt||void 0,ref:t,onError:a=>{var u;return(u=e.onError)==null?void 0:u.call(e,a)}})}return e.sx?n.createElement(W,{component:"img",sx:e.sx,title:e.title||void 0,style:e.style||void 0,className:e.className?`iconOwn ${e.className}`:"iconOwn",src:e.src,alt:e.alt||void 0,ref:t,onError:e.onError}):n.createElement("img",{title:e.title||void 0,style:e.style||void 0,className:e.className?`iconOwn ${e.className}`:"iconOwn",src:e.src,alt:e.alt||void 0,ref:t,onError:e.onError})}return e.src}return null});Se.displayName="Icon";const Vt={dialog:{height:"100%"},paper:{height:"calc(100% - 64px)"},content:{textAlign:"center"},textarea:{width:"100%",height:"100%"},img:{width:"auto",height:"calc(100% - 5px)",objectFit:"contain"},dialogTitle:{justifyContent:"space-between",display:"flex"}},Ee={images:["png","jpg","svg","jpeg","bmp","gif","apng","avif","webp","ico"],code:["js","json","json5","md"],txt:["log","txt","html","css","xml","ics","csv"],audio:["mp3","wav","ogg","acc"],video:["mp4","mov","avi"]};function Un(i,e){let t="";const s=new Uint8Array((i==null?void 0:i.data)||i),r=s.byteLength;for(let o=0;o{let o="";r.file!==void 0&&(o=r.file);const M={copyPossible:this.state.copyPossible,ext:this.state.ext};if(o.type==="Buffer")if(s.toLowerCase().endsWith(".json5")){M.ext="json5",M.copyPossible=!0;try{o=atob(Un(o,!0))}catch{console.error("Cannot convert base64 to string"),o=""}}else{const a=E.detectMimeType(Un(o));a&&(M.ext=a,M.copyPossible=Ee.code.includes(a)||Ee.txt.includes(a))}M.copyPossible&&(M.ext&&Ee.txt.includes(M.ext)?(M.text=o,M.editingValue=o):M.ext&&Ee.code.includes(M.ext)&&(M.code=o,M.editingValue=o)),this.setState(M)}).catch(r=>window.alert(`Cannot read file: ${r}`))}}componentDidMount(){this.readFile();const e=this.props.href.split("/");e.splice(0,2);const t=e[0],s=e.splice(1).join("/");this.props.supportSubscribes&&this.props.socket.subscribeFiles(t,s,this.onFileChanged).catch(r=>window.alert(`Cannot subscribe on file: ${r}`))}componentWillUnmount(){this.timeout&&(clearTimeout(this.timeout),this.timeout=null);const e=this.props.href.split("/");e.splice(0,2);const t=e[0],s=e.splice(1).join("/");this.props.supportSubscribes&&this.props.socket.subscribeFiles(t,s,this.onFileChanged).catch(r=>window.alert(`Cannot subscribe on file: ${r}`))}onFileChanged=(e,t,s)=>{this.state.changed||(this.timeout&&clearTimeout(this.timeout),this.timeout=setTimeout(()=>{this.timeout=null,s===null?window.alert("Show file was deleted!"):this.state.text!==null||this.state.code!==null?this.readFile():this.setState({forceUpdate:Date.now()})},300))};getEditorOrViewer(){return n.createElement(le,{variant:"standard",style:Vt.textarea,multiline:!0,value:this.state.editingValue||this.state.code||this.state.text,slotProps:{htmlInput:{readOnly:!this.state.editing}}})}getContent(){return this.state.ext&&Ee.images.includes(this.state.ext)?this.state.imgError?n.createElement(iM,{style:{...Vt.img,...this.props.getStyleBackgroundImage()}}):n.createElement(Se,{onError:e=>{e.target.onerror=null,this.setState({imgError:!0})},style:{...Vt.img,...this.props.getStyleBackgroundImage()},src:`${this.props.href}?ts=${this.state.forceUpdate}`,alt:this.props.href}):this.state.ext&&Ee.audio.includes(this.state.ext)?n.createElement("div",{style:{width:"100%",height:"100%",display:"flex",justifyContent:"center",alignItems:"center"}},n.createElement("audio",{style:{width:"100%"},src:this.props.href,controls:!0})):this.state.ext&&Ee.video.includes(this.state.ext)?n.createElement("div",{style:{width:"100%",height:"100%",display:"flex",justifyContent:"center",alignItems:"center"}},n.createElement("video",{style:{width:"100%",height:"100%"},controls:!0},n.createElement("source",{src:this.props.href,type:`video/${this.state.ext}}`}))):this.state.code!==null||this.state.text!==null||this.state.editing?this.getEditorOrViewer():null}onSave(){}render(){return n.createElement(de,{sx:{"&.MuiDialog-scrollPaper":Vt.dialog,"& .MuiDialog-paper":Vt.paper},scroll:"paper",open:!!this.props.href,onClose:()=>this.props.onClose(),fullWidth:!0,maxWidth:"xl","aria-labelledby":"ar_dialog_file_view_title"},n.createElement("div",{style:Vt.dialogTitle},n.createElement(he,{id:"ar_dialog_file_view_title"},`${this.props.t(this.state.editing?"Edit":"View")}: ${this.props.href}`),this.state.ext&&Ee.images.includes(this.state.ext)&&n.createElement("div",null,n.createElement(P,{size:"large",color:"inherit",onClick:this.props.setStateBackgroundImage},n.createElement($o,null)))),n.createElement(Ae,{style:Vt.content},this.getContent()),n.createElement(me,null,this.state.copyPossible?n.createElement(X,{color:"grey",onClick:e=>{e.stopPropagation(),e.preventDefault(),E.copyToClipboard(this.state.text||this.state.code||"")},startIcon:n.createElement(Nl,null)},this.props.t("Copy content")):null,this.state.editing?n.createElement(X,{color:"grey",disabled:this.state.editingValue===this.state.code||this.state.editingValue===this.state.text,variant:"contained",onClick:()=>this.onSave(),startIcon:n.createElement(Br,null)},this.props.t("Save")):null,n.createElement(X,{variant:"contained",onClick:()=>this.props.onClose(),color:"primary",startIcon:n.createElement(ge,null)},this.props.t("Close"))))}}const yle=ur()(Tle),js=32,Tt=32,Ai=120,vn=64,bn="Not found",mi={all:Ra,images:Il,code:Po,txt:zl,audio:dl,video:Dl},U={root:{width:"100%",overflow:"hidden",height:"100%",position:"relative"},filesDiv:{width:"calc(100% - 8px)",overflowX:"hidden",overflowY:"auto",padding:8},filesDivHint:{position:"absolute",bottom:0,left:20,opacity:.7,fontStyle:"italic",fontSize:12},filesDivTable:{height:"calc(100% - 56px)"},filesDivTile:{height:"calc(100% - 104px)",display:"flex",alignContent:"flex-start",alignItems:"stretch",flexWrap:"wrap",flex:`0 0 ${vn}px`},itemTile:i=>({position:"relative",userSelect:"none",cursor:"pointer",height:Ai,width:vn,display:"inline-block",textAlign:"center",opacity:.1,transition:"opacity 1s",margin:"4px",borderRadius:"4px","&:hover":{background:i.palette.secondary.light,color:E.invertColor(i.palette.secondary.main,!0)}}),itemNameFolderTile:{fontWeight:"bold"},itemNameTile:{width:"100%",height:32,overflow:"hidden",textOverflow:"ellipsis",fontSize:12,textAlign:"center",wordBreak:"break-all"},itemFolderIconTile:i=>({width:"100%",height:Ai-32-16-8,display:"block",pl:1,color:i.palette.secondary.main||"#fbff7d"}),itemFolderIconBack:i=>({position:"absolute",top:22,left:18,zIndex:1,color:(i.palette.mode==="dark","#FFF")}),itemSizeTile:{width:"100%",height:16,textAlign:"center",fontSize:10},itemImageTile:{width:"calc(100% - 8px)",height:Ai-32-16-8,margin:4,display:"block",textAlign:"center",objectFit:"contain"},itemIconTile:{width:"100%",height:Ai-32-16-8,display:"block",objectFit:"contain"},itemSelected:i=>({background:i.palette.primary.main,color:E.invertColor(i.palette.primary.main,!0)}),itemTable:i=>({userSelect:"none",cursor:"pointer",height:js,display:"inline-flex",lineHeight:`${js}px`,"&:hover":{background:i.palette.secondary.light,color:E.invertColor(i.palette.secondary.main,!0)}}),itemNameTable:{display:"inline-block",pl:"10px",fontSize:"1rem",verticalAlign:"top",flexGrow:1,textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden","@media screen and (max-width: 500px)":{textAlign:"end",direction:"rtl"}},itemNameFolderTable:{fontWeight:"bold"},itemSizeTable:{display:"inline-block",width:60,verticalAlign:"top",textAlign:"right",whiteSpace:"nowrap"},itemAccessTable:{verticalAlign:"top",width:60,textAlign:"right",paddingRight:5,display:"flex",justifyContent:"center"},itemImageTable:{display:"inline-block",width:30,marginTop:1,objectFit:"contain",maxHeight:30},itemNoImageTable:{marginTop:6},itemIconTable:{display:"inline-block",marginTop:1,width:30,height:30},itemFolderTable:{},itemFolderTemp:{opacity:.4},itemFolderIconTable:i=>({marginTop:"1px",marginLeft:"8px",display:"inline-block",width:30,height:30,color:i.palette.secondary.main||"#fbff7d"}),itemDownloadButtonTable:i=>({display:"inline-block",width:Tt,height:js,minWidth:Tt,verticalAlign:"middle",textAlign:"center",padding:0,borderRadius:`${Tt/2}px`,"&:hover":{backgroundColor:i.palette.mode==="dark"?"rgba(255, 255, 255, 0.08)":"rgba(0, 0, 0, 0.08)"},"& span":{pt:"9px"},"& svg":{width:14,height:14,fontSize:"1rem",mt:"-3px",verticalAlign:"middle",color:i.palette.mode==="dark"?"#EEE":"#111"}}),itemDownloadEmptyTable:{display:"inline-block",width:Tt,height:js,minWidth:Tt,padding:0},itemAclButtonTable:{width:Tt,height:js,minWidth:Tt,verticalAlign:"top",padding:0,fontSize:12,display:"flex"},itemDeleteButtonTable:{display:"inline-block",width:Tt,height:js,minWidth:Tt,verticalAlign:"top",padding:0,"& svg":{width:18,height:18,fontSize:"1.5rem"}},uploadDiv:{top:0,zIndex:1,bottom:0,left:0,right:0,position:"absolute",opacity:.9,textAlign:"center",background:"#FFFFFF"},uploadDivDragging:{opacity:1},uploadCenterDiv:i=>({m:"20px",border:"3px dashed grey",borderRadius:"30px",width:"calc(100% - 40px)",height:"calc(100% - 40px)",position:"relative",color:i.palette.mode==="dark"?"#222":"#CCC",display:"flex",alignItems:"center",justifyContent:"center"}),uploadCenterIcon:{width:"25%",height:"25%"},uploadCenterText:{fontSize:24,fontWeight:"bold"},uploadCloseButton:{zIndex:2,position:"absolute",top:30,right:30},uploadCenterTextAndIcon:{position:"absolute",height:"30%",width:"100%",margin:"auto",opacity:.3},menuButtonExpertActive:{color:"#c00000"},menuButtonRestrictActive:{color:"#c05000"},pathDiv:i=>({display:"flex",width:"calc(100% - 16px)",ml:1,mr:1,textOverflow:"clip",overflow:"hidden",whiteSpace:"nowrap",backgroundColor:i.palette.secondary.main,color:i.palette.secondary.contrastText,borderRadius:"4px 4px 0 0"}),pathDivInput:{width:"100%"},pathDivBreadcrumbDir:i=>({pl:"2px",pr:"2px",cursor:"pointer",color:"white","&:hover":{backgroundColor:i.palette.primary.main,color:i.palette.primary.contrastText}}),pathDivBreadcrumbSelected:{color:"#FFF"},backgroundImageLight:{background:"white"},backgroundImageDark:{background:"black"},backgroundImageColored:{background:"silver"},specialFolder:i=>({color:i.palette.mode==="dark"?"#229b0f":"#5dd300"}),tooltip:{pointerEvents:"none"}},Et="0_userdata.0";function gs(i){const e=(i||"").split("/");return e.length&&e.pop(),e.join("/")}function fr(i){const e=E.getFileExtension(i);return!!(e!=null&&e.toLowerCase().match(/[a-z]+/)&&e.length<5)}const ie="Table",Sr="Tile";function $n(i,e){return i.folder&&e.folder?i.name>e.name?1:i.namee.name?1:i.name{var l;return u.startsWith(`${this.limitToPath}/`)||u===this.limitToPath||((l=this.limitToPath)==null?void 0:l.startsWith(`${u}/`))}))}catch{s=[]}let r;this.props.showViewTypeButton?r=this.localStorage.getItem("files.viewType")||ie:r=ie;let o=this.props.selected||this.localStorage.getItem("files.selected")||Et,M;if(e.restrictToFolder){o=e.restrictToFolder,M=e.restrictToFolder;const u=e.restrictToFolder.split("/");s=[];let l="";for(let N=0;N{if(this.state.viewType===ie&&!this.findItem(this.state.selected)){const t=this.state.selected.split("/");for(;t.length&&!this.findItem(t.join("/"));)t.pop();let s;t.length?s=t.join("/"):s=Et,this.setState({selected:s,path:s,pathFocus:!1},()=>this.scrollToSelected())}else this.scrollToSelected();this.initialReadFinished=!0})}scrollToSelected(){if(this.mounted){const e=document.getElementById(this.state.selected);e==null||e.scrollIntoView()}}async componentDidMount(){this.mounted=!0,this.loadFolders().catch(e=>console.error(`Cannot load folders: ${e}`)),this.browseList=[],this.browseListRunning=!1,this.supportSubscribes=await this.props.socket.checkFeatureSupported("BINARY_STATE_EVENT"),this.supportSubscribes&&await this.props.socket.subscribeFiles("*","*",this.onFileChange)}componentWillUnmount(){this.supportSubscribes&&this.props.socket.unsubscribeFiles("*","*",this.onFileChange),this.mounted=!1,this.browseList=null,this.browseListRunning=!1,Object.values(this._tempTimeout).forEach(e=>{e&&clearTimeout(e)}),this._tempTimeout={}}browseFoldersCb(e,t,s){if(!(e!=null&&e.length))s(t);else{const r=e.shift();r?this.browseFolder(r,t).catch(o=>console.error(`Cannot read folder ${r}: ${o.message}`)).then(()=>{setTimeout(()=>this.browseFoldersCb(e,t,s),0)}):setTimeout(()=>this.browseFoldersCb(e,t,s),0)}}browseFolders(e,t){let s;return t?s=t:(s={},Object.keys(this.state.folders).forEach(r=>s[r]=this.state.folders[r])),e!=null&&e.length?new Promise(r=>{this.browseFoldersCb(e,s,r)}):Promise.resolve(s)}readDirSerial(e,t){return new Promise((s,r)=>{this.browseList&&(this.browseList.push({resolve:s,reject:r,adapter:e,relPath:t}),this.browseListRunning||this.processBrowseList())})}processBrowseList(e=0){!this.browseListRunning&&this.browseList&&this.browseList.length&&(this.browseListRunning=!0,this.browseList.length>10?this.browseList.length%10||this.setState({queueLength:this.browseList.length}):this.setState({queueLength:this.browseList.length}),this.browseList[0].processing=!0,this.props.socket.readDir(this.browseList[0].adapter,this.browseList[0].relPath||"").then(t=>{if(this.browseList){const s=this.browseList.shift();if(s){const r=s.resolve;s.resolve=null,s.reject=null,s.adapter=null,s.relPath=null,r&&r(t),this.browseListRunning=!1,this.browseList.length?e<5?this.processBrowseList(e+1):setTimeout(()=>this.processBrowseList(0),0):this.setState({queueLength:0})}else this.setState({queueLength:0})}}).catch(t=>{if(this.browseList){const s=this.browseList.shift();if(s){const r=s.reject;s.resolve=null,s.reject=null,s.adapter=null,s.relPath=null,r&&r(t),this.browseListRunning=!1,this.browseList.length?e<5?this.processBrowseList(e+1):setTimeout(()=>this.processBrowseList(0),0):this.setState({queueLength:0})}else this.setState({queueLength:0})}}))}async browseFolder(e,t,s,r){let o;if(t?o=t:(o={},Object.keys(this.state.folders).forEach(c=>{o[c]=this.state.folders[c]})),o[e]&&!r)return s?Promise.resolve(o):new Promise((c,L)=>{Promise.all(o[e].filter(j=>j.folder).map(j=>this.browseFolder(j.id,o,!0).catch(()=>{}))).then(()=>c(o)).catch(j=>L(new Error(j)))});if(!e||e==="/"){try{let c=await this.props.socket.readMetaItems();const L=[];let j=null;if(this.state.restrictToFolder){const y=this.state.restrictToFolder.split("/")[0];c=c.filter(d=>d._id===y)}else this.state.expertMode||(c=c.filter(y=>!y._id.endsWith(".admin")));const g=c.findIndex(y=>y._id==="system.meta.uuid");if(g!==-1&&c.splice(g,1),c.forEach(y=>{if(this.limitToObjectID&&this.limitToObjectID!==y._id)return;const d={id:y._id,name:y._id,title:y.common&&y.common.name||y._id,meta:!0,from:y.from,ts:y.ts,color:y.common&&y.common.color,icon:y.common&&y.common.icon,folder:!0,acl:y.acl,level:0};d.id===Et?j=d:L.push(d)}),L.sort((y,d)=>y.id>d.id?1:y.idy.folder).map(y=>this.browseFolder(y.id,o,!0).catch(()=>{}))).then(()=>o)}catch(c){const L=c;this.initialReadFinished&&window.alert(`Cannot read meta items: ${L.message}`),o[e||"/"]=[]}return o}const M=e.split("/"),a=M.length,u=M.shift(),l=M.join("/");let N;try{N=await this.readDirSerial(u||"",l)}catch(c){if(c==="Not exists"&&u==="0_userdata.0")N=[];else throw c}try{const c=[];if(N.forEach(L=>{var g;const j={id:`${e}/${L.file}`,ext:E.getFileExtension(L.file),folder:L.isDir,name:L.file,size:(g=L.stats)==null?void 0:g.size,modified:L.modifiedAt,acl:L.acl,level:a};this.state.restrictToFolder?(j.folder&&(j.id.startsWith(`${this.state.restrictToFolder}/`)||j.id===this.state.restrictToFolder||this.state.restrictToFolder.startsWith(`${j.id}/`))||j.id.startsWith(`${this.state.restrictToFolder}/`))&&c.push(j):this.limitToPath?(j.folder&&(j.id.startsWith(`${this.limitToPath}/`)||j.id===this.limitToPath||this.limitToPath.startsWith(`${j.id}/`))||j.id.startsWith(`${this.limitToPath}/`))&&c.push(j):c.push(j)}),c.sort($n),o[e]=c,!s)return Promise.all(c.filter(L=>L.folder).map(L=>this.browseFolder(L.id,o,!0))).then(()=>o)}catch(c){const L=c;this.initialReadFinished&&window.alert(`Cannot read ${u}${l?`/${l}`:""}: ${L==null?void 0:L.message}`),o[e]=[]}return o}toggleFolder(e,t){t==null||t.stopPropagation();const s=[...this.state.expanded],r=s.indexOf(e.id);r===-1?(s.push(e.id),s.sort(),this.localStorage.setItem("files.expanded",JSON.stringify(s)),e.temp?this.setState({expanded:s}):this.browseFolder(e.id).then(o=>this.setState({expanded:s,folders:o})).catch(o=>window.alert(o===bn?this.props.t('ra_Cannot find "%s"',e.id):this.props.t('ra_Cannot read "%s"',e.id)))):(s.splice(r,1),this.localStorage.setItem("files.expanded",JSON.stringify(s)),this.setState({expanded:s}))}onFileChange=(e,t,s)=>{const r=`${e}/${t}`,o=r.lastIndexOf("/"),M=r.substring(0,o);console.log(`File changed ${r}[${s}]`),this.state.folders[M]&&(this._tempTimeout[M]&&clearTimeout(this._tempTimeout[M]),this._tempTimeout[M]=setTimeout(()=>{delete this._tempTimeout[M],this.browseFolder(M,null,!1,!0).then(a=>this.setState({folders:a})).catch(a=>console.error(`Cannot read folder: ${a.message}`))},300))};changeFolder(e,t){var r;e==null||e.stopPropagation(),this.lastSelect=Date.now();let s=t||gs(this.state.currentDir);if(s==="/"&&(s=""),this.state.viewType==="Tile"&&((r=this.refFileDiv.current)!=null&&r.scrollTop)&&(this.scrollPositions[this.state.currentDir]=this.refFileDiv.current.scrollTop),this.localStorage.setItem("files.currentDir",s),t&&e&&(e.altKey||e.shiftKey||e.ctrlKey||e.metaKey)){this.setState({selected:s});return}if(s&&!this.state.folders[s]){this.browseFolder(s).then(o=>this.setState({folders:o,path:s,currentDir:s,selected:s,pathFocus:!1},()=>this.props.onSelect&&this.props.onSelect(""))).catch(o=>console.error(`Cannot read folder: ${o.message}`));return}this.setState({currentDir:s,selected:s,path:s,pathFocus:!1},()=>{if(this.props.onSelect&&this.props.onSelect(""),this.state.viewType==="Tile"&&this.scrollPositions[this.state.currentDir]){const o=this.scrollPositions[this.state.currentDir];delete this.scrollPositions[this.state.currentDir],this.refFileDiv.current&&(this.refFileDiv.current.scrollTop=o)}})}select(e,t,s){t&&t.stopPropagation(),this.lastSelect=Date.now(),this.localStorage.setItem("files.selected",e),this.setState({selected:e,path:e,pathFocus:!1},()=>{if(this.props.onSelect){const r=E.getFileExtension(e);(!this.props.filterFiles||r&&this.props.filterFiles.includes(r))&&(!this.state.filterByType||r&&Ee[this.state.filterByType].includes(r))?this.props.onSelect(e,!1,!!this.state.folders[e]):this.props.onSelect("")}s&&s()})}getText(e){if(e)return typeof e=="object"?e[this.props.lang]||e.en||void 0:e}renderFolder(e,t){var u;if(this.state.filterEmpty&&!((u=this.state.folders[e.id])!=null&&u.length)&&e.id!==Et&&!e.temp)return null;const s=t?vi:ms,r=this.state.viewType===ie?e.level*this.levelPadding:0,o=e.name===Et,M=o||e.name==="vis.0"||e.name==="vis-2.0",a=E.getStyle(this.props.theme,U[`itemFolderIcon${this.state.viewType}`],M&&U.specialFolder);return n.createElement(W,{component:"div",key:e.id,id:e.id,style:this.state.viewType===ie?{marginLeft:r,width:`calc(100% - ${r}px)`}:void 0,onClick:l=>this.state.viewType===ie?this.select(e.id,l):this.changeFolder(l,e.id),onDoubleClick:l=>this.state.viewType===ie&&this.toggleFolder(e,l),title:this.getText(e.title),className:"browserItem",sx:E.getStyle(this.props.theme,U[`item${this.state.viewType}`],U[`itemFolder${this.state.viewType}`],this.state.selected===e.id?U.itemSelected:{},e.temp?U.itemFolderTemp:{})},n.createElement(s,{style:a,onClick:this.state.viewType===ie?l=>this.toggleFolder(e,l):void 0}),n.createElement(W,{component:"div",sx:E.getStyle(this.props.theme,U[`itemName${this.state.viewType}`],U[`itemNameFolder${this.state.viewType}`])},o?this.props.t("ra_User files"):e.name),n.createElement(W,{component:"div",style:U[`itemSize${this.state.viewType}`],sx:{display:{md:"inline-block",sm:"none"}}},this.state.viewType===ie&&this.state.folders[e.id]?this.state.folders[e.id].length:""),n.createElement(W,{component:"div",sx:{display:{md:"inline-block",sm:"none"}}},this.state.viewType===ie&&this.props.expertMode?this.formatAcl(e.acl):null),this.state.viewType===ie&&this.props.expertMode?n.createElement(W,{component:"div",sx:{...U.itemDeleteButtonTable,display:{md:"inline-block",sm:"none"}}}):null,this.state.viewType===ie&&this.props.allowDownload?n.createElement("div",{style:U[`itemDownloadEmpty${this.state.viewType}`]}):null,this.state.viewType===ie&&this.props.allowDelete&&this.state.folders[e.id]&&this.state.folders[e.id].length?n.createElement(P,{"aria-label":"delete",onClick:l=>{l.stopPropagation(),this.suppressDeleteConfirm>Date.now()?this.deleteItem(e.id):this.setState({deleteItem:e.id})},sx:U[`itemDeleteButton${this.state.viewType}`],size:"large"},n.createElement(ut,{fontSize:"small"})):this.state.viewType===ie&&this.props.allowDelete?n.createElement(W,{component:"div",sx:U[`itemDeleteButton${this.state.viewType}`]}):null)}renderBackFolder(){return n.createElement(W,{component:"div",key:this.state.currentDir,id:this.state.currentDir,onClick:e=>this.changeFolder(e),title:this.props.t("ra_Back to %s",gs(this.state.currentDir)),className:"browserItem",sx:E.getStyle(this.props.theme,U[`item${this.state.viewType}`],U[`itemFolder${this.state.viewType}`])},n.createElement(ms,{style:E.getStyle(this.props.theme,U[`itemFolderIcon${this.state.viewType}`])}),n.createElement(Ll,{sx:U.itemFolderIconBack}),n.createElement(W,{component:"div",sx:E.getStyle(this.props.theme,U[`itemName${this.state.viewType}`],U[`itemNameFolder${this.state.viewType}`])},".."))}formatSize(e){return n.createElement("div",{style:U[`itemSize${this.state.viewType}`]},e||e===0?E.formatBytes(e):"")}formatAcl(e){const t=e?e.permissions||e.file:0;let s;return t?s=t.toString(16).padStart(3,"0"):s="",n.createElement("div",{style:U[`itemAccess${this.state.viewType}`]},this.props.modalEditOfAccessControl?n.createElement(P,{size:"large",onClick:()=>this.setState({modalEditOfAccess:!0}),sx:U[`itemAclButton${this.state.viewType}`]},s||"---"):s||"---")}getFileIcon(e){switch(e){case"json":case"json5":return n.createElement(Tl,{style:U[`itemIcon${this.state.viewType}`]});case"css":return n.createElement(gl,{style:U[`itemIcon${this.state.viewType}`]});case"js":case"ts":return n.createElement(Po,{style:U[`itemIcon${this.state.viewType}`]});case"html":case"md":return n.createElement(er,{style:U[`itemIcon${this.state.viewType}`]});case"mp3":case"ogg":case"wav":case"m4a":case"mp4":case"flac":return n.createElement(jl,{style:U[`itemIcon${this.state.viewType}`]});default:return n.createElement(Ra,{style:U[`itemIcon${this.state.viewType}`]})}}static getEditFile(e){switch(e){case"json":case"json5":case"js":case"html":case"txt":case"css":case"log":case"csv":return!0;default:return!1}}setStateBackgroundImage=()=>{const e=["light","dark","colored","delete"];this.setState(({backgroundImage:t})=>t&&e.indexOf(t)!==-1&&e.length-1!==e.indexOf(t)?(this.localStorage.setItem("files.backgroundImage",e[e.indexOf(t)+1]),{backgroundImage:e[e.indexOf(t)+1]}):(this.localStorage.setItem("files.backgroundImage",e[0]),{backgroundImage:e[0]}))};getStyleBackgroundImage=()=>{switch(this.state.backgroundImage){case"light":return U.backgroundImageLight;case"dark":return U.backgroundImageDark;case"colored":return U.backgroundImageColored;case"delete":return null;default:return null}};renderFile(e){const t=this.state.viewType===ie?e.level*this.levelPadding:0,s=E.getFileExtension(e.name);return n.createElement(W,{component:"div",key:e.id,id:e.id,onDoubleClick:r=>{r.stopPropagation(),this.props.onSelect?(!this.props.filterFiles||e.ext&&this.props.filterFiles.includes(e.ext))&&(!this.state.filterByType||e.ext&&Ee[this.state.filterByType].includes(e.ext))&&this.props.onSelect(e.id,!0,!!this.state.folders[e.id]):this.setState({viewer:this.imagePrefix+e.id,formatEditFile:s})},onClick:r=>this.select(e.id,r),style:this.state.viewType===ie?{marginLeft:t,width:`calc(100% - ${t}px)`}:void 0,className:"browserItem",sx:E.getStyle(this.props.theme,U[`item${this.state.viewType}`],U[`itemFile${this.state.viewType}`],this.state.selected===e.id?U.itemSelected:void 0)},s&&Ee.images.includes(s)?this.state.fileErrors.includes(e.id)?n.createElement(iM,{style:{...U[`itemImage${this.state.viewType}`],...this.getStyleBackgroundImage(),...U[`itemNoImage${this.state.viewType}`]}}):n.createElement(Se,{onError:r=>{r.target.onerror=null;const o=[...this.state.fileErrors];o.includes(e.id)||(o.push(e.id),this.setState({fileErrors:o}))},style:{...U[`itemImage${this.state.viewType}`],...this.getStyleBackgroundImage()},src:this.imagePrefix+e.id,alt:e.name}):this.getFileIcon(s),n.createElement(W,{component:"div",sx:U[`itemName${this.state.viewType}`]},e.name),n.createElement(W,{component:"div",sx:{display:{md:"inline-block",sm:"none"}}},this.formatSize(e.size)),n.createElement(W,{component:"div",sx:{display:{md:"inline-block",sm:"none"}}},this.state.viewType===ie&&this.props.expertMode?this.formatAcl(e.acl):null),n.createElement(W,{component:"div",sx:{display:{md:"inline-block",sm:"none"}}},this.state.viewType===ie&&this.props.expertMode&&rM.getEditFile(s)?n.createElement(P,{"aria-label":"edit",onClick:r=>{r.stopPropagation(),this.props.onSelect?(!this.props.filterFiles||e.ext&&this.props.filterFiles.includes(e.ext))&&(!this.state.filterByType||e.ext&&Ee[this.state.filterByType].includes(e.ext))&&this.props.onSelect(e.id,!0,!!this.state.folders[e.id]):this.setState({viewer:this.imagePrefix+e.id,formatEditFile:s})},sx:U.itemDeleteButtonTable,size:"large"},n.createElement(Ks,{fontSize:"small"})):n.createElement(W,{component:"div",sx:U[`itemDeleteButton${this.state.viewType}`]})),this.state.viewType===ie&&this.props.allowDownload?n.createElement(W,{component:"a",className:"MuiButtonBase-root MuiIconButton-root MuiIconButton-sizeLarge",sx:U.itemDownloadButtonTable,tabIndex:0,download:e.id,href:this.imagePrefix+e.id,onClick:r=>r.stopPropagation()},n.createElement(yl,null)):null,this.state.viewType===ie&&this.props.allowDelete&&e.id!=="vis.0/"&&e.id!=="vis-2.0/"&&e.id!==Et?n.createElement(P,{"aria-label":"delete",onClick:r=>{r.stopPropagation(),this.suppressDeleteConfirm>Date.now()?this.deleteItem(e.id):this.setState({deleteItem:e.id})},sx:U[`itemDeleteButton${this.state.viewType}`],size:"large"},n.createElement(ut,{fontSize:"small"})):this.state.viewType===ie&&this.props.allowDelete?n.createElement(W,{component:"div",sx:U[`itemDeleteButton${this.state.viewType}`]}):null)}renderItems(e){var t;if((t=this.state.folders)!=null&&t[e]){if(this.state.viewType===Sr){const r=[];return e&&e!=="/"&&r.push(this.renderBackFolder()),this.state.folders[e].forEach(o=>{o.folder?r.push(this.renderFolder(o)):(!this.props.filterFiles||o.ext&&this.props.filterFiles.includes(o.ext))&&(!this.state.filterByType||o.ext&&Ee[this.state.filterByType].includes(o.ext))&&r.push(this.renderFile(o))}),r}const s=[];return this.state.folders[e].forEach(r=>{if(r.folder){const o=this.state.expanded.includes(r.id),M=this.renderFolder(r,o);if(Array.isArray(M)?M.forEach(a=>s.push(a)):s.push(M),this.state.folders[r.id]&&o){const a=this.renderItems(r.id);Array.isArray(a)?a.forEach(u=>s.push(u)):s.push(a)}}else(!this.props.filterFiles||r.ext&&this.props.filterFiles.includes(r.ext))&&(!this.state.filterByType||r.ext&&Ee[this.state.filterByType].includes(r.ext))&&s.push(this.renderFile(r))}),s}return n.createElement("div",{style:{position:"relative"}},n.createElement(qi,{key:e,color:"secondary",size:24}),n.createElement("div",{style:{position:"absolute",zIndex:2,top:4,width:24,textAlign:"center"}},this.state.queueLength))}renderToolbar(){const e=this.props.showTypeSelector?mi[this.state.filterByType||"all"]||mi.all:null,t=this.findFirstFolder(this.state.selected);return n.createElement(ba,{key:"toolbar",variant:"dense"},this.props.allowNonRestricted&&this.props.restrictToFolder?n.createElement(P,{edge:"start",title:this.state.restrictToFolder?this.props.t("ra_Show all folders"):this.props.t("ra_Restrict to folder"),style:{...U.menuButton,...this.state.restrictToFolder?U.menuButtonRestrictActive:void 0},"aria-label":"restricted to folder",onClick:()=>this.setState({restrictToFolder:(this.state.restrictToFolder?"":this.props.restrictToFolder)||"",loadAllFolders:!0}),size:"small"},n.createElement(hl,{fontSize:"small"})):null,this.props.showExpertButton?n.createElement(P,{edge:"start",title:this.props.t("ra_Toggle expert mode"),style:{...U.menuButton,...this.state.expertMode?U.menuButtonExpertActive:void 0},"aria-label":"expert mode",onClick:()=>this.setState({expertMode:!this.state.expertMode}),size:"small"},n.createElement(lo,null)):null,this.props.showViewTypeButton?n.createElement(P,{edge:"start",title:this.props.t("ra_Toggle view mode"),style:U.menuButton,"aria-label":"view mode",onClick:()=>{const s=this.state.viewType===ie?Sr:ie;this.localStorage.setItem("files.viewType",s);let r=this.state.selected;fr(r)&&(r=gs(r)),this.setState({viewType:s,currentDir:r},()=>{this.state.viewType===ie&&this.scrollToSelected()})},size:"small"},this.state.viewType!==ie?n.createElement(wl,{fontSize:"small"}):n.createElement(Cl,{fontSize:"small"})):null,n.createElement(P,{edge:"start",title:this.props.t("ra_Hide empty folders"),style:U.menuButton,color:this.state.filterEmpty?"secondary":"inherit","aria-label":"filter empty",onClick:()=>{this.localStorage.setItem("file.empty",this.state.filterEmpty?"false":"true"),this.setState({filterEmpty:!this.state.filterEmpty})},size:"small"},n.createElement(Al,{fontSize:"small"})),n.createElement(P,{edge:"start",title:this.props.t("ra_Reload files"),style:U.menuButton,color:"inherit","aria-label":"reload files",onClick:()=>this.setState({folders:{}},()=>this.loadFolders()),size:"small"},n.createElement(Ja,{fontSize:"small"})),this.props.allowCreateFolder?n.createElement(P,{edge:"start",disabled:!this.state.selected||!t||!!this.limitToPath&&!this.state.selected.startsWith(`${this.limitToPath}/`)&&this.limitToPath!==this.state.selected,title:this.props.t("ra_Create folder"),style:U.menuButton,color:"inherit","aria-label":"add folder",onClick:()=>this.setState({addFolder:!0}),size:"small"},n.createElement(Ba,{fontSize:"small"})):null,this.props.allowUpload?n.createElement(P,{edge:"start",disabled:!this.state.selected||!t||!!this.limitToPath&&!this.state.selected.startsWith(`${this.limitToPath}/`)&&this.limitToPath!==this.state.selected,title:this.props.t("ra_Upload file"),style:U.menuButton,color:"inherit","aria-label":"upload file",onClick:()=>this.setState({uploadFile:!0}),size:"small"},n.createElement(Wi,{fontSize:"small"})):null,this.props.showTypeSelector&&e?n.createElement(ae,{title:this.props.t("ra_Filter files"),slotProps:{popper:{sx:U.tooltip}}},n.createElement(P,{size:"small",onClick:s=>this.setState({showTypesMenu:s.target})},n.createElement(e,{fontSize:"small"}))):null,this.state.showTypesMenu?n.createElement(ss,{open:!0,anchorEl:this.state.showTypesMenu,onClose:()=>this.setState({showTypesMenu:null})},Object.keys(mi).map(s=>{const r=mi[s];return n.createElement(te,{key:s,selected:this.state.filterByType===s,onClick:()=>{s==="all"?(this.localStorage.removeItem("files.filterByType"),this.setState({filterByType:"",showTypesMenu:null})):(this.localStorage.setItem("files.filterByType",s),this.setState({filterByType:s,showTypesMenu:null}))}},n.createElement(Yt,null,n.createElement(r,{fontSize:"small"})),n.createElement(nt,null,this.props.t(`ra_fileType_${s}`)))})):null,n.createElement(ae,{title:this.props.t("ra_Background image"),slotProps:{popper:{sx:U.tooltip}}},n.createElement(P,{color:"inherit",edge:"start",style:U.menuButton,onClick:this.setStateBackgroundImage,size:"small"},n.createElement($o,{fontSize:"small"}))),this.state.viewType!==ie&&this.props.allowDelete?n.createElement(ae,{title:this.props.t("ra_Delete"),slotProps:{popper:{sx:U.tooltip}}},n.createElement("span",null,n.createElement(P,{"aria-label":"delete",disabled:!this.state.selected||this.state.selected==="vis.0/"||this.state.selected==="vis-2.0/"||this.state.selected===Et,color:"inherit",edge:"start",style:U.menuButton,onClick:s=>{s.stopPropagation(),this.suppressDeleteConfirm>Date.now()?this.deleteItem(this.state.selected):this.setState({deleteItem:this.state.selected})},size:"small"},n.createElement(ut,{fontSize:"small"})))):null)}findItem(e,t){if(t=t||this.state.folders,!t)return null;const s=e.split("/");s.pop();const r=s.join("/")||"/";return t[r]&&t[r].find(o=>o.id===e)||null}renderInputDialog(){if(this.state.addFolder){const e=this.findFirstFolder(this.state.selected);return e?n.createElement(Fue,{key:"inputDialog",applyText:this.props.t("ra_Create"),cancelText:this.props.t("ra_Cancel"),titleText:this.props.t("ra_Create new folder in %s",this.state.selected),promptText:this.props.t("ra_If no file will be created in the folder, it will disappear after the browser closed"),labelText:this.props.t("ra_Folder name"),verify:t=>this.state.folders[e].find(s=>s.name===t)?"":this.props.t("ra_Duplicate name"),onClose:t=>{if(t){const s={};Object.keys(this.state.folders).forEach(a=>s[a]=this.state.folders[a]);const r=this.findItem(e),o=`${e}/${t}`;s[e].push({id:o,level:((r==null?void 0:r.level)||0)+1,name:t,folder:!0,temp:!0}),s[e].sort($n),s[o]=[];const M=[...this.state.expanded];M.includes(e)||(M.push(e),M.sort()),this.localStorage.setItem("files.expanded",JSON.stringify(M)),this.setState({addFolder:!1,folders:s,expanded:M},()=>this.select(o))}else this.setState({addFolder:!1})},replace:t=>t.replace(/[^-_\w]/,"_")}):(window.alert(this.props.t("ra_Invalid parent folder!")),null)}return null}componentDidUpdate(){this.setOpacityTimer&&clearTimeout(this.setOpacityTimer),this.setOpacityTimer=setTimeout(()=>{this.setOpacityTimer=null;const e=window.document.getElementsByClassName("browserItem");for(let t=0;tthis.setState({uploadFile:!1})},n.createElement(ge,null)),n.createElement(Ha,{key:"dropzone",onDragEnter:()=>this.setState({uploadFile:"dragging"}),onDragLeave:()=>this.setState({uploadFile:!0}),onDrop:e=>{let t=e.length;e.forEach(s=>{const r=new FileReader;r.onabort=()=>console.log("file reading was aborted"),r.onerror=()=>console.log("file reading has failed"),r.onload=()=>{const o=this.findFirstFolder(this.state.selected);if(!o)window.alert(this.props.t("ra_Invalid parent folder!"));else{const M=`${o}/${s.name}`;this.uploadFile(M,r.result).then(()=>{--t||this.setState({uploadFile:!1},()=>{if(this.supportSubscribes){const a=[...this.state.expanded];a.includes(o)||(a.push(o),a.sort(),this.localStorage.setItem("files.expanded",JSON.stringify(a))),this.setState({expanded:a},()=>this.select(M))}else setTimeout(()=>this.browseFolder(o,null,!1,!0).then(a=>{const u=[...this.state.expanded];u.includes(o)||(u.push(o),u.sort(),this.localStorage.setItem("files.expanded",JSON.stringify(u))),this.setState({folders:a,expanded:u},()=>this.select(M))}),500)})})}},r.readAsArrayBuffer(s)})}},({getRootProps:e,getInputProps:t})=>n.createElement("div",{style:{...U.uploadDiv,...this.state.uploadFile==="dragging"?U.uploadDivDragging:void 0},...e()},n.createElement("input",{...t()}),n.createElement(W,{component:"div",sx:U.uploadCenterDiv},n.createElement("div",{style:U.uploadCenterTextAndIcon},n.createElement(Wi,{style:U.uploadCenterIcon}),n.createElement("div",{style:U.uploadCenterText},this.state.uploadFile==="dragging"?this.props.t("ra_Drop file here"):this.props.t("ra_Place your files here or click here to open the browse dialog"))))))]:null}deleteRecursive(e){const t=this.findItem(e);if(t!=null&&t.folder)return(this.state.folders[e]?Promise.all(this.state.folders[e].map(o=>this.deleteRecursive(o.id))):Promise.resolve()).then(()=>{if(t.level>=1){const o=e.split("/"),M=o.shift();this.props.socket.deleteFolder(M||"",o.join("/")).then(()=>{const a=JSON.parse(JSON.stringify(this.state.folders));delete a[t.id];const u=gs(t.id),l=a[u];if(l){const N=l.findIndex(c=>c.id===t.id);N!==-1&&l.splice(N,1),this.select(u,null,()=>this.setState({folders:a}))}})}});const s=e.split("/"),r=s.shift();return s.length?this.props.socket.deleteFile(r||"",s.join("/")).catch(o=>window.alert(`Cannot delete file: ${o}`)):Promise.resolve()}deleteItem(e){e=e||this.state.deleteItem,this.state.suppressDeleteConfirm&&(this.suppressDeleteConfirm=Date.now()+6e4*5),this.setState({deleteItem:"",suppressDeleteConfirm:!1},()=>this.deleteRecursive(e).then(()=>{const t={},s=this.state.expanded.indexOf(e);if(s!==-1){const r=[...this.state.expanded];r.splice(s,1),this.localStorage.setItem("files.expanded",JSON.stringify(r)),t.expanded=r}if(this.state.selected===e){const r=this.state.selected.split("/");r.pop(),t.selected=r.join("/")}if(this.supportSubscribes)this.setState(t);else{const r=this.findFirstFolder(e),o={};Object.keys(this.state.folders).forEach(M=>{M!==r&&!M.startsWith(`${r}/`)&&(o[M]=this.state.folders[M])}),t.folders=o,this.setState(t,()=>setTimeout(()=>{this.browseFolders([...this.state.expanded],o).then(M=>this.setState({folders:M})).catch(M=>console.error(M))},200))}}))}renderDeleteDialog(){return this.state.deleteItem?n.createElement(de,{key:"deleteDialog",open:!0,onClose:()=>this.setState({deleteItem:""}),"aria-labelledby":"ar_dialog_file_delete_title"},n.createElement(he,{id:"ar_dialog_file_delete_title"},this.props.t("ra_Confirm deletion of %s",this.state.deleteItem.split("/").pop())),n.createElement(Ae,null,n.createElement(Jt,null,this.props.t("ra_Are you sure?")),n.createElement(H,{control:n.createElement(ne,{checked:this.state.suppressDeleteConfirm,onChange:()=>{this.setState({suppressDeleteConfirm:!this.state.suppressDeleteConfirm})}}),label:this.props.t("ra_no confirm for 5 mins")})),n.createElement(me,null,n.createElement(X,{variant:"contained",onClick:()=>this.deleteItem(""),color:"primary",autoFocus:!0},this.props.t("ra_Delete")),n.createElement(X,{variant:"contained",onClick:()=>this.setState({deleteItem:""}),color:"grey"},this.props.t("ra_Cancel")))):null}renderViewDialog(){const e=this.props.FileViewer||yle;return this.state.viewer?n.createElement(e,{supportSubscribes:this.supportSubscribes||void 0,key:this.state.viewer,href:this.state.viewer,formatEditFile:this.state.formatEditFile||void 0,themeType:this.props.themeType||"light",setStateBackgroundImage:this.setStateBackgroundImage,getStyleBackgroundImage:this.getStyleBackgroundImage,t:this.props.t,socket:this.props.socket,onClose:()=>this.setState({viewer:"",formatEditFile:""})}):null}renderError(){return this.state.errorText?n.createElement(Bc,{key:"errorDialog",text:this.state.errorText,onClose:()=>this.setState({errorText:""})}):null}updateItemsAcl(e){this.cacheFolders||=JSON.parse(JSON.stringify(this.state.folders));let t;e.forEach(s=>{const r=this.findItem(s.id,this.cacheFolders);r&&JSON.stringify(r.acl)!==JSON.stringify(s.acl)&&(r.acl=s.acl,t=!0)}),t&&(this.cacheFoldersTimeout&&clearTimeout(this.cacheFoldersTimeout),this.cacheFoldersTimeout=setTimeout(()=>{this.cacheFoldersTimeout=null;const s=this.cacheFolders||{};this.cacheFolders=null,this.setState({folders:s})},200))}changeToPath(){setTimeout(()=>{if(this.state.path!==this.state.selected&&(!this.lastSelect||Date.now()-this.lastSelect>100)){let e=this.state.path;fr(this.state.path)&&(e=gs(this.state.path)),new Promise(t=>{this.state.folders[e]?t(!0):this.browseFolder(e).then(s=>this.setState({folders:s},()=>t(!0))).catch(s=>this.setState({errorText:s===bn?this.props.t('ra_Cannot find "%s"',e):this.props.t('ra_Cannot read "%s"',e)}))}).then(t=>t&&this.setState({selected:this.state.path,currentDir:e,pathFocus:!1})).catch(t=>console.error(t))}else(!this.lastSelect||Date.now()-this.lastSelect>100)&&this.setState({pathFocus:!1})},100)}renderBreadcrumb(){const e=this.state.currentDir.startsWith("/")?this.state.currentDir.split("/"):`/${this.state.currentDir}`.split("/"),t=[];return n.createElement(il,{style:{paddingLeft:8,color:"#FFF"}},e.map((s,r)=>{s&&t.push(s);const o=t.join("/");return rthis.changeFolder(M,o||"/")},s||this.props.t("ra_Root")):n.createElement("div",{style:U.pathDivBreadcrumbSelected,key:`${this.state.selected}_${r}`,onClick:()=>this.setState({pathFocus:!0})},s)}))}renderPath(){return n.createElement(W,{component:"div",key:"path",sx:U.pathDiv},this.state.pathFocus?n.createElement(Ut,{value:this.state.path,onKeyDown:e=>{e.key==="Enter"?this.changeToPath():e.key==="Escape"&&this.setState({pathFocus:!1})},endAdornment:n.createElement(P,{size:"small",onClick:()=>this.changeToPath()},n.createElement(ml,null)),onBlur:()=>this.changeToPath(),onChange:e=>this.setState({path:e.target.value}),style:U.pathDivInput}):this.renderBreadcrumb())}render(){return this.props.ready?(this.state.loadAllFolders&&!this.foldersLoading&&(this.foldersLoading=!0,setTimeout(()=>{this.setState({loadAllFolders:!1,folders:{}},()=>{this.foldersLoading=!1,this.loadFolders().catch(e=>console.error(`Cannot load folders: ${e}`))})},300)),n.createElement("div",{style:{...U.root,...this.props.style},className:this.props.className},this.props.showToolbar?this.renderToolbar():null,this.state.viewType===Sr?this.renderPath():null,n.createElement("div",{style:{...U.filesDiv,...U[`filesDiv${this.state.viewType}`]},onClick:e=>{this.state.viewType!==ie&&(this.state.selected!==(this.state.currentDir||"/")?this.changeFolder(e,this.state.currentDir||"/"):e.stopPropagation())},id:"dev",ref:this.refFileDiv},this.state.viewType===ie?this.renderItems("/"):this.renderItems(this.state.currentDir||"/"),this.state.viewType!==ie?n.createElement("div",{style:U.filesDivHint},this.props.t("ra_select_folder_hint")):null),this.props.allowUpload?this.renderInputDialog():null,this.props.allowUpload?this.renderUpload():null,this.props.allowDelete?this.renderDeleteDialog():null,this.props.allowView?this.renderViewDialog():null,this.state.modalEditOfAccess&&this.props.modalEditOfAccessControl?this.props.modalEditOfAccessControl(this):null,this.renderError())):n.createElement(rl,null)}}const Dle=ur()(rM),dle="PHN2ZyBoZWlnaHQ9IjQ4MHB0IiB2aWV3Qm94PSIwIC0xMjAgNDgwIDQ4MCIgd2lkdGg9IjQ4MHB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im00NzIgMGgtNDY0Yy00LjQxNzk2OSAwLTggMy41ODIwMzEtOCA4djE5MmMwIDQuNDE3OTY5IDMuNTgyMDMxIDggOCA4aDMydjI0YzAgNC40MTc5NjkgMy41ODIwMzEgOCA4IDhoNDBjNC40MTc5NjkgMCA4LTMuNTgyMDMxIDgtOHYtMjRoMjg4djI0YzAgNC40MTc5NjkgMy41ODIwMzEgOCA4IDhoNDBjNC40MTc5NjkgMCA4LTMuNTgyMDMxIDgtOHYtMjRoMzJjNC40MTc5NjkgMCA4LTMuNTgyMDMxIDgtOHYtMTkyYzAtNC40MTc5NjktMy41ODIwMzEtOC04LTh6bS0zOTIgMjI0aC0yNHYtMTZoMjR6bTM0NCAwaC0yNHYtMTZoMjR6bTQwLTMyaC00NDh2LTE3Nmg0NDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMjU2IDE3NmMzNS4zNDc2NTYgMCA2NC0yOC42NTIzNDQgNjQtNjRzLTI4LjY1MjM0NC02NC02NC02NC02NCAyOC42NTIzNDQtNjQgNjRjLjAzOTA2MiAzNS4zMjgxMjUgMjguNjcxODc1IDYzLjk2MDkzOCA2NCA2NHptLTgtMTExLjI4MTI1djE1LjI4MTI1aDE2di0xNS4yODEyNWMyNC42MDU0NjkgNC4xNjAxNTYgNDEuOTE3OTY5IDI2LjQ3NjU2MiAzOS44MzIwMzEgNTEuMzQzNzUtMi4wODU5MzcgMjQuODY3MTg4LTIyLjg3ODkwNiA0My45ODQzNzUtNDcuODMyMDMxIDQzLjk4NDM3NXMtNDUuNzQ2MDk0LTE5LjExNzE4Ny00Ny44MzIwMzEtNDMuOTg0Mzc1Yy0yLjA4NTkzOC0yNC44NjcxODggMTUuMjI2NTYyLTQ3LjE4MzU5NCAzOS44MzIwMzEtNTEuMzQzNzV6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMTYwIDMyaDE2djE2aC0xNnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xNjAgNjRoMTZ2MTZoLTE2em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTEyOCAzMmgxNnYxNmgtMTZ6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMTI4IDY0aDE2djE2aC0xNnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im05NiAzMmgxNnYxNmgtMTZ6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtOTYgNjRoMTZ2MTZoLTE2em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTY0IDMyaDE2djE2aC0xNnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im02NCA2NGgxNnYxNmgtMTZ6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMzIgMzJoMTZ2MTZoLTE2em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTMyIDY0aDE2djE2aC0xNnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0zNjggMTc2YzE2LjA5Mzc1LjAxOTUzMSAyOS42ODc1LTExLjkzNzUgMzEuNzE4NzUtMjcuOTA2MjUgMi4wMzUxNTYtMTUuOTY0ODQ0LTguMTMyODEyLTMwLjk0NTMxMi0yMy43MTg3NS0zNC45NTcwMzF2LTE3LjEzNjcxOWgtMTZ2MTcuMTM2NzE5Yy0xNS41ODU5MzggNC4wMTE3MTktMjUuNzUzOTA2IDE4Ljk5MjE4Ny0yMy43MTg3NSAzNC45NTcwMzEgMi4wMzEyNSAxNS45Njg3NSAxNS42MjUgMjcuOTI1NzgxIDMxLjcxODc1IDI3LjkwNjI1em0wLTQ4YzguODM1OTM4IDAgMTYgNy4xNjQwNjIgMTYgMTZzLTcuMTY0MDYyIDE2LTE2IDE2LTE2LTcuMTY0MDYyLTE2LTE2IDcuMTY0MDYyLTE2IDE2LTE2em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTE0NCAxNzZjMTYuMDkzNzUuMDE5NTMxIDI5LjY4NzUtMTEuOTM3NSAzMS43MTg3NS0yNy45MDYyNSAyLjAzNTE1Ni0xNS45NjQ4NDQtOC4xMzI4MTItMzAuOTQ1MzEyLTIzLjcxODc1LTM0Ljk1NzAzMXYtMTcuMTM2NzE5aC0xNnYxNy4xMzY3MTljLTE1LjU4NTkzOCA0LjAxMTcxOS0yNS43NTM5MDYgMTguOTkyMTg3LTIzLjcxODc1IDM0Ljk1NzAzMSAyLjAzMTI1IDE1Ljk2ODc1IDE1LjYyNSAyNy45MjU3ODEgMzEuNzE4NzUgMjcuOTA2MjV6bTAtNDhjOC44MzU5MzggMCAxNiA3LjE2NDA2MiAxNiAxNnMtNy4xNjQwNjIgMTYtMTYgMTYtMTYtNy4xNjQwNjItMTYtMTYgNy4xNjQwNjItMTYgMTYtMTZ6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNjQgMTc2YzE2LjA5Mzc1LjAxOTUzMSAyOS42ODc1LTExLjkzNzUgMzEuNzE4NzUtMjcuOTA2MjUgMi4wMzUxNTYtMTUuOTY0ODQ0LTguMTMyODEyLTMwLjk0NTMxMi0yMy43MTg3NS0zNC45NTcwMzF2LTE3LjEzNjcxOWgtMTZ2MTcuMTM2NzE5Yy0xNS41ODU5MzggNC4wMTE3MTktMjUuNzUzOTA2IDE4Ljk5MjE4Ny0yMy43MTg3NSAzNC45NTcwMzEgMi4wMzEyNSAxNS45Njg3NSAxNS42MjUgMjcuOTI1NzgxIDMxLjcxODc1IDI3LjkwNjI1em0wLTQ4YzguODM1OTM4IDAgMTYgNy4xNjQwNjIgMTYgMTZzLTcuMTY0MDYyIDE2LTE2IDE2LTE2LTcuMTY0MDYyLTE2LTE2IDcuMTY0MDYyLTE2IDE2LTE2em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQwOCAxMTJoMzJjNC40MTc5NjkgMCA4LTMuNTgyMDMxIDgtOHYtNjRjMC00LjQxNzk2OS0zLjU4MjAzMS04LTgtOGgtMzJjLTQuNDE3OTY5IDAtOCAzLjU4MjAzMS04IDh2NjRjMCA0LjQxNzk2OSAzLjU4MjAzMSA4IDggOHptOC02NGgxNnYxNmgtMTZ6bTAgMzJoMTZ2MTZoLTE2em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQzMiAxMzZjMCA0LjQxNzk2OS0zLjU4MjAzMSA4LTggOHMtOC0zLjU4MjAzMS04LTggMy41ODIwMzEtOCA4LTggOCAzLjU4MjAzMSA4IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDMyIDE2OGMwIDQuNDE3OTY5LTMuNTgyMDMxIDgtOCA4cy04LTMuNTgyMDMxLTgtOCAzLjU4MjAzMS04IDgtOCA4IDMuNTgyMDMxIDggOHptMCAwIi8+DQogICAgPC9nPg0KPC9zdmc+",zle="PHN2ZyB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtNTA3LjU0NiAxMDUuMTI1YzAtMS4wNDQtLjIwNS0yLjA5MS0uNjQ3LTMuMDcybC00My45My05Ny42M2MtMS4yMS0yLjY5Mi0zLjg4OC00LjQyMy02LjgzOS00LjQyM2gtMTgyLjYzYy00LjE0MyAwLTcuNSAzLjM1Ny03LjUgNy41czMuMzU3IDcuNSA3LjUgNy41aDIzLjgxMnY4Mi42M2gtODIuNjI1di04Mi42M2gyMy44MTNjNC4xNDMgMCA3LjUtMy4zNTcgNy41LTcuNXMtMy4zNTctNy41LTcuNS03LjVoLTE4Mi42M2MtMi45NTEgMC01LjYyOSAxLjczMS02Ljg0IDQuNDIzbC00My45MyA5Ny42M2MtLjQ0MS45ODEtLjY0NiAyLjAyOC0uNjQ3IDMuMDcyaC0uMDE1djEyLjIwM2MwIDI5LjUxNCAyMi44MjcgNTMuNzggNTEuNzUxIDU2LjExMmwzMS44NjUgNTguNDE5aC00LjAwN2MtNC4xNDMgMC03LjUgMy4zNTctNy41IDcuNXMzLjM1NyA3LjUgNy41IDcuNWgxNi42MzNjLjAwNSAwIC4wMS4wMDEuMDE1LjAwMXMuMDExLS4wMDEuMDE2LS4wMDFoMTYuNjE4YzQuMTQzIDAgNy41LTMuMzU3IDcuNS03LjVzLTMuMzU3LTcuNS03LjUtNy41aC0xMi4xODlsLTMyLjQ1Ni01OS41MDNjMTUuNzUtMy40MTMgMjkuMDU3LTEzLjQzMyAzNi44NzktMjcuMDAzIDkuNzMzIDE2Ljg4NyAyNy45NjEgMjguMjg4IDQ4LjgxMiAyOC4yODhzMzkuMDc5LTExLjQwMSA0OC44MTItMjguMjg4YzkuNzMzIDE2Ljg4NyAyNy45NjEgMjguMjg4IDQ4LjgxMiAyOC4yODhzMzkuMDc5LTExLjQwMSA0OC44MTItMjguMjg4YzkuNzMzIDE2Ljg4NyAyNy45NjEgMjguMjg4IDQ4LjgxMiAyOC4yODhzMzkuMDc5LTExLjQwMSA0OC44MTItMjguMjg4YzcuODIyIDEzLjU3MSAyMS4xMjkgMjMuNTkxIDM2Ljg3OSAyNy4wMDNsLTMyLjQ1NiA1OS41MDNoLTEyLjE4OGMtNC4xNDMgMC03LjUgMy4zNTctNy41IDcuNXMzLjM1NyA3LjUgNy41IDcuNWgxNi42MThjLjAwNSAwIC4wMTEuMDAxLjAxNi4wMDFzLjAxLS4wMDEuMDE1LS4wMDFoMTYuNjMzYzQuMTQzIDAgNy41LTMuMzU3IDcuNS03LjVzLTMuMzU3LTcuNS03LjUtNy41aC00LjAwN2wzMS44NjUtNTguNDE5YzI4LjkyNC0yLjMzMiA1MS43NTEtMjYuNTk4IDUxLjc1MS01Ni4xMTJ2LTEyLjIwM3ptLTE5LjA4NS03LjQ5NWgtNzguNTIzdi04Mi42M2g0MS4zNDN6bS05My41MjMtODIuNjN2ODIuNjNoLTgyLjYyNXYtODIuNjN6bS0xOTUuMjUgODIuNjNoLTgyLjYyNXYtODIuNjNoODIuNjI1em0tMTM4Ljk2OC04Mi42M2g0MS4zNDN2ODIuNjNoLTc4LjUyNHptLjAzNCAxNDMuNjQxYy0uMDExIDAtLjAyMS0uMDAxLS4wMzItLjAwMS0yMi43NjctLjAxNS00MS4yODUtMTguNTQyLTQxLjI4NS00MS4zMTJ2LTQuNjk4aDgyLjYyNXY0LjY5OGMwIDIyLjc3OC0xOC41MzEgNDEuMzEtNDEuMzA4IDQxLjMxM3ptOTcuNjIxIDBjLTIyLjc3OSAwLTQxLjMxMi0xOC41MzMtNDEuMzEyLTQxLjMxMnYtNC42OThoODIuNjI1djQuNjk4YzAgMjIuNzc4LTE4LjUzNCA0MS4zMTItNDEuMzEzIDQxLjMxMnptOTcuNjI1IDBjLTIyLjc3OSAwLTQxLjMxMi0xOC41MzMtNDEuMzEyLTQxLjMxMnYtNC42OThoODIuNjI1djQuNjk4Yy0uMDAxIDIyLjc3OC0xOC41MzQgNDEuMzEyLTQxLjMxMyA0MS4zMTJ6bTk3LjYyNSAwYy0yMi43NzkgMC00MS4zMTItMTguNTMzLTQxLjMxMi00MS4zMTJ2LTQuNjk4aDgyLjYyNXY0LjY5OGMwIDIyLjc3OC0xOC41MzQgNDEuMzEyLTQxLjMxMyA0MS4zMTJ6bTk3LjY0OC0uMDAxYy0uMDA1IDAtLjAwOSAwLS4wMTQgMC0uMDAzIDAtLjAwNiAwLS4wMDkgMC0yMi43NzkgMC00MS4zMTItMTguNTMzLTQxLjMxMi00MS4zMTJ2LTQuNjk4aDgyLjYyNXY0LjY5OGMtLjAwMSAyMi43NzItMTguNTIxIDQxLjMtNDEuMjkgNDEuMzEyeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",Ile="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUwOC41MzYgNTA4LjUzNiIgd2lkdGg9IjUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtNDk4LjUzNiAzNDQuMzIxaC0xNy4yOThjLjQzNC0xNy42NzItMTAuMjY3LTM0LjIxMi0yOS41NDctMzQuMjEycy0yOS45ODIgMTYuNTQtMjkuNTQ3IDM0LjIxMmgtMTcuMjk4Yy01LjUyMyAwLTEwIDQuNDc3LTEwIDEwdjI1LjY5N2MwIDI0LjYwMSAxNS43MTIgNDUuNTk2IDM3LjYyNSA1My40OTRsLTExLjYwMSAxMS42MDFjLTExLjA4NiAxMS4wODYtMjUuODI2IDE3LjE5MS00MS41MDMgMTcuMTkxLTMyLjM2NCAwLTU4LjY5My0yNi4zMy01OC42OTMtNTguNjkzdi02Ni42NGMzNi4wODggMS4yNjYgNTcuODQ2LTIyLjM5IDgxLjE0OS00NS42OTQgMjguNTE3LTMuMDI0IDUwLjgwOS0yNy4yMTYgNTAuODA5LTU2LjUyMnYtMjUuNjk4YzAtNS41MjMtNC40NzctMTAtMTAtMTBoLTE3LjI5OGMuNDM0LTE3LjY3MS0xMC4yNjctMzQuMjEyLTI5LjU0Ny0zNC4yMTJzLTI5Ljk4MiAxNi41NC0yOS41NDcgMzQuMjEyaC0xNy4zYy01LjUyMyAwLTEwIDQuNDc3LTEwIDEwdjI1LjY5OGMwIDI0LjYwMSAxNS43MTEgNDUuNTk2IDM3LjYyNSA1My40OTRsLTExLjYwMSAxMS42MDFjLTExLjA4NiAxMS4wODYtMjUuODI2IDE3LjE5MS00MS41MDMgMTcuMTkxLTMyLjM2NCAwLTU4LjY5My0yNi4zMy01OC42OTMtNTguNjk0IDAtMjUuODk1IDAtNTEuNzkxIDAtNzcuNjg2aDIyLjcxNmMxMi4yODUgMCAxOC43MjYgMTUuNTMgMTAuMDMzIDI0LjIyMS05LjEyMiA5LjEyMSA1LjAyIDIzLjI2NCAxNC4xNDIgMTQuMTQzIDYuNDU4LTYuNDU3IDEwLjAxNC0xNS4wNDIgMTAuMDE0LTI0LjE3NSAwLTE4Ljg1Mi0xNS4zMzctMzQuMTg4LTM0LjE4OS0zNC4xODhoLTIyLjcxNnYtMTguODI0YzI2LjI1Ny01LjA0MyA0Ni4xNjEtMjguMTc1IDQ2LjE2MS01NS44ODF2LTIwLjg1MWMwLTUuNTIzLTQuNDc3LTEwLTEwLTEwaC0zNi45MTR2LTI0LjIzNmgzNi45MTRjMTIuODQgMCAxMi44NTktMjAgMC0yMGgtOTMuODI4Yy0xMi44NCAwLTEyLjg1OSAyMCAwIDIwaDM2LjkxNHYyNC4yMzVoLTM2LjkxNGMtNS41MjMgMC0xMCA0LjQ3Ny0xMCAxMHYyMC44NTFjMCAyOC4yMzMgMjAuNjY5IDUxLjcxOSA0Ny42NjcgNTYuMTUxdjE4LjU1NWgtMjIuNzE2Yy0xOC44NTIgMC0zNC4xODkgMTUuMzM3LTM0LjE4OSAzNC4xODggMCA5LjEzMiAzLjU1NiAxNy43MTcgMTAuMDE0IDI0LjE3NSA5LjEyMSA5LjEyMSAyMy4yNjMtNS4wMjEgMTQuMTQzLTE0LjE0My04LjY4NS04LjY4NC0yLjI2NC0yNC4yMjEgMTAuMDMzLTI0LjIyMWgyMi43MTZ2NzcuNjg2YzAgMzIuMzY0LTI2LjMzIDU4LjY5NC01OC42OTQgNTguNjk0LTE1LjY3NyAwLTMwLjQxNy02LjEwNS00MS41MDItMTcuMTkxbC0xMS4yMTgtMTEuMjE4YzIyLjUtNy41NzUgMzguNzU2LTI4Ljg1NiAzOC43NTYtNTMuODc3di0yNS42OThjMC01LjUyMy00LjQ3Ny0xMC0xMC0xMGgtMTcuMjk4Yy40MzQtMTcuNjcxLTEwLjI2Ny0zNC4yMTItMjkuNTQ3LTM0LjIxMnMtMjkuOTgyIDE2LjU0LTI5LjU0NyAzNC4yMTJoLTE3LjNjLTUuNTIzIDAtMTAgNC40NzctMTAgMTB2MjUuNjk4YzAgMjguNzA3IDIxLjM5NCA1Mi40OTggNDkuMDczIDU2LjNsMjIuOTM3IDIyLjkzN2MxNS4xNjQgMTUuMTYzIDM2LjAxIDIzLjQ4NiA1Ny40MzMgMjMuMDAzdjY2LjYxNGMwIDMyLjM2NC0yNi4zMyA1OC42OTMtNTguNjkzIDU4LjY5My0xNS42NzcgMC0zMC40MTctNi4xMDUtNDEuNTAyLTE3LjE5MWwtMTEuNjAyLTExLjYwMmMyMS45MTQtNy44OTggMzcuNjI1LTI4Ljg5MiAzNy42MjUtNTMuNDk0di0yNS42OTdjMC01LjUyMy00LjQ3Ny0xMC0xMC0xMGgtMTcuMjk3Yy40MzQtMTcuNjcyLTEwLjI2Ny0zNC4yMTItMjkuNTQ3LTM0LjIxMnMtMjkuOTgyIDE2LjU0LTI5LjU0NyAzNC4yMTJoLTE3LjI5OWMtNS41MjMgMC0xMCA0LjQ3Ny0xMCAxMHYyNS42OTdjMCAyOS4zMDUgMjIuMjkyIDUzLjQ5NyA1MC44MDggNTYuNTIxbDIyLjcxNyAyMi43MTZjMTQuODYzIDE0Ljg2MyAzNC42MjUgMjMuMDQ4IDU1LjY0NSAyMy4wNDggNDMuMzkyIDAgNzguNjkzLTM1LjMwMiA3OC42OTMtNzguNjkzdi02OS42NTdjMTQuNDI2LTQuMTY0IDI3LjE2MS0xMi4zNDIgMzYuOTA1LTIzLjI1N3YyMC41MjJjMCAxMi44NCAyMCAxMi44NTkgMjAgMHYtMjAuNTIyYzkuNTIgMTAuNjYzIDIxLjg4OSAxOC43MjMgMzUuOTA1IDIyLjk3MnY2OS45NDZjMCA0My4zOTIgMzUuMzAyIDc4LjY5MyA3OC42OTMgNzguNjkzIDIxLjAyIDAgNDAuNzgxLTguMTg2IDU1LjY0NS0yMy4wNDhsMjIuNzE2LTIyLjcxNmMyOC41MTYtMy4wMjUgNTAuODA4LTI3LjIxNiA1MC44MDgtNTYuNTIxdi0yNS42OTdjLjAwMS01LjUyNC00LjQ3Ni0xMC4wMDEtOS45OTktMTAuMDAxem0tMTEyLjI5OC0xNDkuOTI3YzAtMTIuMzEzIDE5LjA5NS0xMi4zMTMgMTkuMDk1IDB2NC42NjRoLTE5LjA5NXptNDYuMzkzIDI0LjY2NHYxNS42OThjMCAyMC4zMTYtMTYuNTI5IDM2Ljg0NS0zNi44NDUgMzYuODQ1cy0zNi44NDUtMTYuNTI5LTM2Ljg0NS0zNi44NDV2LTE1LjY5OHptLTMyNi45MTQtMjQuNjY0YzAtMTIuMzEzIDE5LjA5NS0xMi4zMTMgMTkuMDk1IDB2NC42NjRoLTE5LjA5NXptNDYuMzkzIDI0LjY2NHYxNS42OThjMCAyMC4zMTYtMTYuNTI5IDM2Ljg0NS0zNi44NDUgMzYuODQ1cy0zNi44NDUtMTYuNTI5LTM2Ljg0NS0zNi44NDV2LTE1LjY5OHptLTEwNC44MTIgMTIwLjU5OWMwLTEyLjMxMyAxOS4wOTUtMTIuMzEzIDE5LjA5NSAwdjQuNjY1aC0xOS4wOTV6bTQ2LjM5MiAyNC42NjR2MTUuNjk3YzAgMjAuMzE2LTE2LjUyOSAzNi44NDUtMzYuODQ1IDM2Ljg0NXMtMzYuODQ1LTE2LjUyOC0zNi44NDUtMzYuODQ1di0xNS42OTd6bTEyMy40MTEtMjc4LjM2NHYtMTAuODUxaDczLjgyOHYxMC44NTFjMCA0Ny41OTYtNzMuODI4IDQ3LjU5Ni03My44MjggMHptMjI1LjA0MiAyNTMuN2MwLTEyLjMxMyAxOS4wOTUtMTIuMzEzIDE5LjA5NSAwdjQuNjY1aC0xOS4wOTV6bTQ2LjM5MyAyNC42NjR2MTUuNjk3YzAgMjAuMzE2LTE2LjUyOSAzNi44NDUtMzYuODQ1IDM2Ljg0NXMtMzYuODQ1LTE2LjUyOS0zNi44NDUtMzYuODQ1di0xNS42OTd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yODEuMjA2IDQ0MS44NDctMTYuNDM4LTkuNDl2LTIxLjY0NWMwLTEyLjg0LTIwLTEyLjg1OS0yMCAwdjIxLjYxOWwtMTYuNDgzIDkuNTE2Yy0zLjA5NCAxLjc4Ni01IDUuMDg3LTUgOC42NnYyNC43OGMwIDMuNTczIDEuOTA2IDYuODc0IDUgOC42NmwyMS40NiAxMi4zOWMzLjA2NyAxLjc3MSA2LjkzMyAxLjc3MSAxMCAwbDIxLjQ2LTEyLjM5YzMuMDk0LTEuNzg2IDUtNS4wODcgNS04LjY2di0yNC43OGMuMDAxLTMuNTczLTEuOTA1LTYuODc0LTQuOTk5LTguNjZ6bS0xNSAyNy42NjctMTEuNDYgNi42MTctMTEuNDYtNi42MTd2LTEzLjIzM2wxMS40Ni02LjYxNyAxMS40NiA2LjYxN3oiLz4NCiAgICAgICAgPHBhdGggZD0ibTI0NS41MzUgMzc0LjE4M2MxLjYzNSAzLjkyNCA1LjcxNiA2LjQ2NiA5Ljk2OCA2LjEzOCA0LjE2OS0uMzIyIDcuNzc4LTMuMjcyIDguODk3LTcuMzAzIDIuMzY0LTguNTEzLTcuMTkxLTE1Ljc1OS0xNC43NzMtMTEuMjM1LTQuMjE0IDIuNTE0LTUuOTQ1IDcuODgtNC4wOTIgMTIuNHoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",hle="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im05IDE3YzQuNDExIDAgOC0zLjU4OSA4LTggMC0xLjI1Ni0uMjk5LTIuNDQxLS44MTgtMy41MDEgMS4xMDMtMS41NDggMi44OTgtMi40OTkgNC44MTgtMi40OTkgMi44NCAwIDUuMjc4IDIuMDY0IDUuNzk5IDQuODMxLS4xOS4xMDUtLjM3NS4yMTgtLjU1NC4zNDItMS4yMjQtLjc0Ny0yLjYzNi0xLjE3My00LjA3NC0xLjE3M2gtLjE3MXYyaC4xNzFjLjg5NiAwIDEuNzguMjIxIDIuNTguNjE1LS4wODMuMTA5LS4xNzEuMjExLS4yNDguMzI2bC0uMzM2LjUwNCAxLjY2NCAxLjEwOS4zMzYtLjUwNGMuODU3LTEuMjgzIDIuMjktMi4wNSAzLjgzMy0yLjA1IDEuMTAzIDAgMiAuODk3IDIgMnMtLjg5NyAyLTIgMmgtN2MtMS4xMDMgMC0yLS44OTctMi0yaC0yYzAgMi4yMDYgMS43OTQgNCA0IDRoMjVjMi4yMDYgMCA0LTEuNzk0IDQtNHMtMS43OTQtNC00LTRjLS40NzMgMC0uOTM1LjA2LTEuMzg3LjE1Ny0xLjE1OS0zLjYyMy00LjU0Mi02LjE1Ny04LjQzLTYuMTU3LTMuNTQ5IDAtNi43NDYgMi4xMDctOC4xNDQgNS4zNjlsLS4yNzcuNjQ2Yy0uMzU2LjAxMy0uNzA2LjA1NS0xLjA1LjEyMy0uODItMy41NDItNC4wMjMtNi4xMzgtNy43MTItNi4xMzgtMi4zMTIgMC00LjQ4OCAxLjAzNC01Ljk3OCAyLjc1MS0xLjQ2Ny0xLjY4Mi0zLjYyLTIuNzUxLTYuMDIyLTIuNzUxLTQuNDExIDAtOCAzLjU4OS04IDhzMy41ODkgOCA4IDh6bTI5LjE4My0xNGMzLjA0NyAwIDUuNjc2IDIuMDE3IDYuNTQxIDQuODc3LS4xNjMuMDkzLS4zMjUuMTg4LS40NzkuMjk1LTEuMjI1LS43NDYtMi42MzYtMS4xNzItNC4wNzQtMS4xNzJoLS4xNzF2MmguMTcxYy44OTUgMCAxLjc4LjIyMSAyLjU4LjYxNS0uMDgzLjEwOS0uMTcxLjIxMS0uMjQ4LjMyNmwtLjMzNi41MDQgMS42NjQgMS4xMDkuMzM2LS41MDRjLjg1Ny0xLjI4MyAyLjI5LTIuMDUgMy44MzMtMi4wNSAxLjEwMyAwIDIgLjg5NyAyIDJzLS44OTcgMi0yIDJoLTE0LjU1NmMuMzQ0LS41OTEuNTU2LTEuMjY4LjU1Ni0yIDAtMS41NzEtLjkxOC0yLjkxOS0yLjIzOC0zLjU3M2wuMTE2LS4yN2MxLjA4Mi0yLjUyNSAzLjU1Ny00LjE1NyA2LjMwNS00LjE1N3ptLTI5LjE4MyAwYzMuMzA5IDAgNiAyLjY5MSA2IDZzLTIuNjkxIDYtNiA2LTYtMi42OTEtNi02IDIuNjkxLTYgNi02eiIvPg0KICAgICAgICA8cGF0aCBkPSJtNTcgMzd2LTQuNWw0LTN2LTIuNWgtMnYxLjVsLTIgMS41di01aC0ydjdsLTItMS41di0xLjVoLTJ2Mi41bDQgM3YyLjVoLTEwdi02LjVsNC0zdi0yLjVoLTJ2MS41bC0yIDEuNXYtNC41ODZsMS43MDctMS43MDctMS40MTQtMS40MTQtMi4yOTMgMi4yOTN2Ny40MTRsLTItMS41di0xLjVoLTJ2Mi41bDQgM3Y0LjVoLTE0di0xLjI3OWwuNDk2LS4xNjVjMy4yOTItMS4wOTggNS41MDQtNC4xNjYgNS41MDQtNy42MzYgMC0yLjE0OS0uODM3LTQuMTcxLTIuMzU3LTUuNjkxbC00LjY0My00LjY0My0zLjgyNSAzLjgyNWMtLjM5LS44MDItLjg5Ni0xLjU0Ni0xLjUzMi0yLjE4M2wtNC42NDMtNC42NDItNC42NDMgNC42NDNjLTEuNTIgMS41Mi0yLjM1NyAzLjU0Mi0yLjM1NyA1LjY5MSAwIDMuNDcgMi4yMTIgNi41MzggNS41MDMgNy42MzVsLjQ5Ny4xNjV2NC4yOGgtMTYuMjgxbC40OSAxLjk1OWMzLjUzOSAxNC4xNTUgMTYuMjAxIDI0LjA0MSAzMC43OTEgMjQuMDQxczI3LjI1Mi05Ljg4NiAzMC43OTEtMjQuMDQxbC40OS0xLjk1OXptLTI3LjM2NCA2LjI1OCAxLjE0NSAxLjcxN2MuMTQzLjIxNC4yMTkuNDY0LjIxOS43MjIgMCAuNzE5LS41ODQgMS4zMDMtMS4zMDMgMS4zMDNoLTE1LjM5NGMtLjcxOSAwLTEuMzAzLS41ODQtMS4zMDMtMS4zMDMgMC0uMjU4LjA3Ni0uNTA4LjIxOS0uNzIzbDEuMTQ2LTEuNzE4Yy40MTUtLjYyNC42MzUtMS4zNTEuNjM1LTIuMTAxIDAtLjc3LS4yNDYtMS41MjUtLjY4MS0yLjE1NWgxNS4zNjJjLS40MzUuNjMxLS42ODEgMS4zODUtLjY4MSAyLjE1NSAwIC43NS4yMiAxLjQ3Ny42MzYgMi4xMDN6bS0xLjYzNi0yMi44NDQgMy4yMjkgMy4yMjljMS4xNDIgMS4xNDIgMS43NzEgMi42NjIgMS43NzEgNC4yNzcgMCAyLjU1Ny0xLjYwNCA0LjgxNy00IDUuNjgxdi0xLjE4NmwyLjcwNy0yLjcwNy0xLjQxNC0xLjQxNC0xLjI5MyAxLjI5MnYtMi4xNzJsMS43MDctMS43MDctMS40MTQtMS40MTQtMi4yOTMgMi4yOTN2Ny4wMTRjLTIuMzk2LS44NjMtNC0zLjEyMi00LTUuNjggMC0xLjYxNS42MjktMy4xMzUgMS43NzEtNC4yNzd6bS0xNSA0LjUwNmMwLTEuNjE1LjYyOS0zLjEzNSAxLjc3MS00LjI3N2wzLjIyOS0zLjIyOSAzLjIyOSAzLjIyOWMuNjY2LjY2NiAxLjE1MyAxLjQ4MSAxLjQ0OSAyLjM3MS0xLjA4NCAxLjQtMS42NzggMy4xMDYtMS42NzggNC45MDYgMCAuNDY0LjA0Ni45MTguMTIyIDEuMzY0LS42MDkuNTgxLTEuMzI5IDEuMDM0LTIuMTIyIDEuMzE5di02LjNsMS44MzItMi43NDgtMS42NjQtMS4xMDktMS4zMjMgMS45ODUtMS4xMzgtMS4xMzgtMS40MTQgMS40MTQgMS43MDcgMS43MDd2Mi4xNzJsLTEuMjkzLTEuMjkzLTEuNDE0IDEuNDE0IDIuNzA3IDIuNzA3djEuMTg2Yy0yLjM5Ni0uODYzLTQtMy4xMjItNC01LjY4em02IDcuODAxLjQ5Ni0uMTY1Yy44MjUtLjI3NSAxLjU4OS0uNjk2IDIuMjgxLTEuMjE2LjkxNiAxLjk0OCAyLjU4NiAzLjUwMiA0LjcyNiA0LjIxNWwuNDk3LjE2NXYxLjI4aC04em0tNy40MTQgNi4yNzkuODkuODljLjMzMy4zMzMuNTI0Ljc5NS41MjQgMS4yNjUgMCAuMzU0LS4xMDQuNjk4LS4zLjk5M2wtMS4xNDUgMS43MTdjLS4zNjMuNTQ0LS41NTUgMS4xNzgtLjU1NSAxLjgzMiAwIDEuODIyIDEuNDgxIDMuMzAzIDMuMzAzIDMuMzAzaDE1LjM5NWMxLjgyMSAwIDMuMzAyLTEuNDgxIDMuMzAyLTMuMzAzIDAtLjY1NC0uMTkyLTEuMjg4LS41NTUtMS44MzJsLTEuMTQ1LTEuNzE2Yy0uMTk2LS4yOTUtLjMtLjYzOS0uMy0uOTk0IDAtLjQ3MS4xOTEtLjkzMy41MjQtMS4yNjZsLjg5LS44OWg2LjgzNmMtLjE2LjM4NS0uMjUuODA2LS4yNSAxLjI0NyAwIDEuNDkyIDEuMDExIDIuNzg4IDIuNDU5IDMuMTQ5bDQuMjIgMS4wNTVjLjc3OC4xOTYgMS4zMjEuODkxIDEuMzIxIDEuNjkzIDAgLjcxNy0uNDMgMS4zNTMtMS4wOTYgMS42MThsLTYuMjc1IDIuNTExYy0xLjU5Ny42MzktMi42MjkgMi4xNjMtMi42MjkgMy44ODIgMCAxLjQ5Ni44MDcgMi44ODggMi4xMDcgMy42M2wyLjcxNSAxLjU1MWMtMy4wMDQgMS4wNDktNi4yMTUgMS42MjEtOS41MzcgMS42NTNsLTUuMDg2LTMuMzkxYy0uMTI0LS4wODItLjE5OS0uMjIxLS4xOTktLjM3MSAwLS4yMTkuMTU3LS40MDQuMzc0LS40NGwzLjQzNS0uNTcyYzEuMjY5LS4yMTMgMi4xOTEtMS4zMDIgMi4xOTEtMi41OSAwLTEuNDQ3LTEuMTc3LTIuNjI0LTIuNjI0LTIuNjI0aC0yMC42MDVjLTIuOTg5LTMuMzY3LTUuMjU2LTcuNDMtNi40ODYtMTJ6bTE0LjUwMyAyMC4yNjIgMi4yMyAxLjQ4N2MtNi4zMjktLjc4NC0xMi4xMDUtMy41NDgtMTYuNjA3LTcuNzQ5aDE4LjY2NGMuMzQ0IDAgLjYyNC4yOC42MjQuNjI0IDAgLjMwNy0uMjE5LjU2NS0uNTIxLjYxNmwtMy40MzQuNTcyYy0xLjE4NS4xOTgtMi4wNDUgMS4yMTItMi4wNDUgMi40MTQgMCAuODE5LjQwNyAxLjU4MSAxLjA4OSAyLjAzNnptMTguMTAzLS44NzUtNC4wOTMtMi4zMzljLS42NzgtLjM4OC0xLjA5OS0xLjExMy0xLjA5OS0xLjg5NCAwLS44OTcuNTM5LTEuNjkyIDEuMzcyLTIuMDI1bDYuMjc1LTIuNTExYzEuNDI5LS41NzEgMi4zNTMtMS45MzUgMi4zNTMtMy40NzUgMC0xLjcyMS0xLjE2Ni0zLjIxNC0yLjgzNS0zLjYzMmwtNC4yMi0xLjA1NWMtLjU1Ny0uMTQtLjk0NS0uNjM3LS45NDUtMS4yMSAwLS42ODcuNTU5LTEuMjQ2IDEuMjQ2LTEuMjQ2aDE4LjQ2OGMtMi4zNzYgOC44MjgtOC41NjUgMTUuODE0LTE2LjUyMiAxOS4zODd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zNyAxN2gydjJoLTJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zOSAyMWgydjJoLTJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00MyAxN2gydjJoLTJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00NyAxOWgydjJoLTJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im01MSAyM2gydjJoLTJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im01MSAxN2gydjJoLTJ6Ii8+DQogICAgPC9nPg0KPC9zdmc+",wle="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiID4NCjxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQoJPHBhdGggZD0iTTUxMS45NzYsNDE2LjA2M2MtMC4wMDUtMC4wNzUtMC4wMDQtMC4xNDktMC4wMTEtMC4yMjRjLTAuMDI3LTAuMjk3LTAuMDctMC41ODgtMC4xMzEtMC44NzMNCgkJYy0wLjAwNi0wLjAyOC0wLjAxNS0wLjA1Ni0wLjAyMi0wLjA4NGMtMC4wNTktMC4yNjItMC4xMzItMC41MTgtMC4yMTgtMC43NjhjLTAuMDIzLTAuMDY3LTAuMDQ4LTAuMTMyLTAuMDczLTAuMTk4DQoJCWMtMC4wODQtMC4yMjctMC4xNzktMC40NDgtMC4yODQtMC42NjNjLTAuMDE4LTAuMDM4LTAuMDMtMC4wNzctMC4wNDktMC4xMTVsLTQwLjExMi03OS4xMThWNzMuNzINCgkJYzAtOC4wMDYtNi41MTMtMTQuNTE5LTE0LjUxOS0xNC41MTlINTUuNDQxYy04LjAwNiwwLTE0LjUxOSw2LjUxMy0xNC41MTksMTQuNTE5djI2MC4yOThMMC44MTEsNDEzLjEzNw0KCQljLTAuMDE5LDAuMDM4LTAuMDMxLDAuMDc3LTAuMDQ5LDAuMTE1Yy0wLjEwNSwwLjIxNS0wLjE5OSwwLjQzNi0wLjI4NCwwLjY2MmMtMC4wMjUsMC4wNjYtMC4wNSwwLjEzMi0wLjA3MywwLjE5OQ0KCQljLTAuMDg1LDAuMjUxLTAuMTU5LDAuNTA4LTAuMjE4LDAuNzdjLTAuMDA2LDAuMDI3LTAuMDE1LDAuMDU0LTAuMDIxLDAuMDgxYy0wLjA2MSwwLjI4Ni0wLjEwNCwwLjU3Ny0wLjEzMSwwLjg3NA0KCQljLTAuMDA3LDAuMDc0LTAuMDA3LDAuMTQ5LTAuMDExLDAuMjIzQzAuMDE0LDQxNi4yMTcsMCw0MTYuMzcxLDAsNDE2LjUyOXYxOS4wMjZjMCw5LjUwOSw3LjczNSwxNy4yNDQsMTcuMjQ0LDE3LjI0NGg0NzcuNTEyDQoJCWM5LjUwOSwwLDE3LjI0NC03LjczNSwxNy4yNDQtMTcuMjQ0di0xOS4wMjZDNTEyLDQxNi4zNzEsNTExLjk4Niw0MTYuMjE3LDUxMS45NzYsNDE2LjA2M3ogTTU1LjkyMyw3NC4yMDNoNDAwLjE1NHYyNTQuMTA5DQoJCUg1NS45MjNWNzQuMjAzeiBNNTMuMDI5LDM0My4zMTFINDU4Ljk3bDMzLjMxOCw2NS43MTdoLTE2NC43OGwtOC4yNzEtMjkuOTg5Yy0xLjY4NC02LjEwNS03LjI4Mi0xMC4zNjktMTMuNjE1LTEwLjM2OWgtOTkuMjQ2DQoJCWMtNi4zMzMsMC0xMS45MzIsNC4yNjQtMTMuNjE1LDEwLjM2OGwtOC4yNzEsMjkuOTlIMTkuNzExTDUzLjAyOSwzNDMuMzExeiBNMzExLjk0OCw0MDkuMDI5SDIwMC4wNTJsNi45OTMtMjUuMzU4aDk3LjkxDQoJCUwzMTEuOTQ4LDQwOS4wMjl6IE00OTcsNDM1LjU1NGMwLDEuMjM3LTEuMDA3LDIuMjQ0LTIuMjQ0LDIuMjQ0SDE3LjI0NGMtMS4yMzcsMC0yLjI0NC0xLjAwNy0yLjI0NC0yLjI0NHYtMTEuNTI2aDQ4MlY0MzUuNTU0eiINCgkJLz4NCgk8cGF0aCBkPSJNNDMyLjU3NywyMTMuNzU2Yy00LjE0MywwLTcuNSwzLjM1Ny03LjUsNy41djc2LjA1NUg4Ni45MjN2LTc2LjA1NWMwLTQuMTQzLTMuMzU3LTcuNS03LjUtNy41DQoJCQljLTQuMTQzLDAtNy41LDMuMzU3LTcuNSw3LjV2NzkuMjk0YzAsNi40ODUsNS4yNzUsMTEuNzYxLDExLjc2MSwxMS43NjFoMzQ0LjYzM2M2LjQ4NSwwLDExLjc2MS01LjI3NSwxMS43NjEtMTEuNzYxdi03OS4yOTQNCgkJCUM0NDAuMDc3LDIxNy4xMTUsNDM2LjcyLDIxMy43NTYsNDMyLjU3NywyMTMuNzU2eiIvPg0KCTxwYXRoIGQ9Ik00MjguMzE2LDkwLjIwM0g4My42ODRjLTYuNDg1LDAtMTEuNzYxLDUuMjc1LTExLjc2MSwxMS43NjF2NzkuMjk0YzAsNC4xNDMsMy4zNTcsNy41LDcuNSw3LjVjNC4xNDMsMCw3LjUtMy4zNTcsNy41LTcuNQ0KCQkJdi03Ni4wNTVoMzM4LjE1NHY3Ni4wNTVjMCw0LjE0MywzLjM1Nyw3LjUsNy41LDcuNXM3LjUtMy4zNTcsNy41LTcuNXYtNzkuMjk0QzQ0MC4wNzcsOTUuNDc3LDQzNC44MDIsOTAuMjAzLDQyOC4zMTYsOTAuMjAzeiIvPg0KPC9nPg0KPC9zdmc+DQo=",Cle="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMi4wMDEgNTEyLjAwMSIgd2lkdGg9IjUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtMTY0LjM5OSAyMDUuODcyYzQuMDk5LjY2NCA4LjIwNi0xLjI3MyAxMC4yODQtNC45MWw2MC0xMDVjMS43NjktMy4wOTUgMS43NTYtNi44OTctLjAzMy05Ljk4cy01LjA4NS00Ljk4MS04LjY0OS00Ljk4MWgtMzYuNjgybC0xMy40ODYtNzIuODIxYy0uNzcyLTQuMTY5LTQuMDg5LTcuMzk4LTguMjc3LTguMDU4LTQuMTg1LS42Ni04LjMzNyAxLjM5NC0xMC4zNTMgNS4xMjNsLTYwIDExMWMtMS42NzUgMy4wOTktMS41OTcgNi44NTEuMjA4IDkuODc2IDEuODA0IDMuMDI1IDUuMDY2IDQuODc5IDguNTg5IDQuODc5aDM2LjgwMmwxMy4zOTMgNjYuOTYxYy44MTcgNC4wOSA0LjA4OCA3LjI0MiA4LjIwNCA3LjkxMXptLTEzLjM5OS05NC44NzFoLTI4LjIyOGwzOC41NTQtNzEuMzIzIDkuODQxIDUzLjE0NGMuODc4IDQuNzQgNS4wMTMgOC4xNzkgOS44MzMgOC4xNzloMjcuNzY5bC0zOC4yIDY2Ljg1LTkuNzYzLTQ4LjgxMWMtLjkzNS00LjY3NC01LjAzOS04LjAzOS05LjgwNi04LjAzOXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTEwIDQ1OS4wMDFjLTUuNTIyIDAtMTAgNC40NzctMTAgMTBzNC40NzggMTAgMTAgMTBoMjN2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoNDN2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoNDB2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoNDB2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoNDB2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoNDB2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoNDB2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoNDB2MjNjMCA1LjUyMiA0LjQ3OCAxMCAxMCAxMHMxMC00LjQ3OCAxMC0xMHYtMjNoMjZjNS41MjIgMCAxMC00LjQ3NyAxMC0xMHMtNC40NzgtMTAtMTAtMTBoLTU2di02OGMwLTUuNTIzLTQuNDc4LTEwLTEwLTEwcy0xMCA0LjQ3Ny0xMCAxMHY2OGgtNDB2LTIyM2g0MHY2NWMwIDUuNTIzIDQuNDc4IDEwIDEwIDEwczEwLTQuNDc3IDEwLTEwdi03NWMwLTUuNTIzLTQuNDc4LTEwLTEwLTEwaC02MGMtNS41MjIgMC0xMCA0LjQ3Ny0xMCAxMHYyMzNoLTQwdi0xNzNjMC01LjUyMy00LjQ3OC0xMC0xMC0xMGgtNjBjLTUuNTIyIDAtMTAgNC40NzctMTAgMTB2MTczaC00MHYtMTEzYzAtNS41MjMtNC40NzgtMTAtMTAtMTBoLTYwYy01LjUyMiAwLTEwIDQuNDc3LTEwIDEwdjExM2gtNzN2LTQ0OWMwLTUuNTIzLTQuNDc4LTEwLTEwLTEwcy0xMCA0LjQ3Ny0xMCAxMHYyNmgtMjNjLTUuNTIyIDAtMTAgNC40NzctMTAgMTBzNC40NzggMTAgMTAgMTBoMjN2NDBoLTIzYy01LjUyMiAwLTEwIDQuNDc3LTEwIDEwczQuNDc4IDEwIDEwIDEwaDIzdjQwaC0yM2MtNS41MjIgMC0xMCA0LjQ3Ny0xMCAxMHM0LjQ3OCAxMCAxMCAxMGgyM3Y0MGgtMjNjLTUuNTIyIDAtMTAgNC40NzctMTAgMTBzNC40NzggMTAgMTAgMTBoMjN2NDBoLTIzYy01LjUyMiAwLTEwIDQuNDc3LTEwIDEwczQuNDc4IDEwIDEwIDEwaDIzdjQwaC0yM2MtNS41MjIgMC0xMCA0LjQ3Ny0xMCAxMHM0LjQ3OCAxMCAxMCAxMGgyM3Y0MGgtMjNjLTUuNTIyIDAtMTAgNC40NzctMTAgMTBzNC40NzggMTAgMTAgMTBoMjN2NDN6bTI1Ni0xNjNoNDB2MTYzaC00MHptLTEyMCA2MGg0MHYxMDNoLTQweiIvPg0KICAgICAgICA8cGF0aCBkPSJtNDM2IDE0Ni4wMDFjNS41MjIgMCAxMC00LjQ3NyAxMC0xMHYtNjBjMC01LjUyMy00LjQ3OC0xMC0xMC0xMGgtNjBjLTUuNTIyIDAtMTAgNC40NzctMTAgMTBzNC40NzggMTAgMTAgMTBoMzUuODU3bC0xMDAgMTAwaC01NS44NTdjLTIuNjUyIDAtNS4xOTUgMS4wNTQtNy4wNzEgMi45MjlsLTkwIDkwYy0zLjkwNSAzLjkwNS0zLjkwNSAxMC4yMzcgMCAxNC4xNDMgMy45MDcgMy45MDUgMTAuMjM2IDMuOTA0IDE0LjE0MyAwbDg3LjA3MS04Ny4wNzFoNTUuODU3YzIuNjUyIDAgNS4xOTUtMS4wNTQgNy4wNzEtMi45MjlsMTAyLjkyOS0xMDIuOTN2MzUuODU3YzAgNS41MjQgNC40NzggMTAuMDAxIDEwIDEwLjAwMXoiLz4NCiAgICAgICAgPGNpcmNsZSBjeD0iNDM2IiBjeT0iMzQ2LjAwMSIgcj0iMTAiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",Ale="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cmVjdCB4PSIyMTYiIHk9Ijg4LjQ4OSIgd2lkdGg9IjgwIiBoZWlnaHQ9IjE1Ii8+DQogICAgICAgIDxyZWN0IHg9IjIxNiIgeT0iNjIuNDg5IiB3aWR0aD0iODAiIGhlaWdodD0iMTUiLz4NCiAgICAgICAgPHBhdGggZD0iTTMwLDUyLjQ5NHY5LjI4NWMtMi4zNDctMC44MzItNC44NzItMS4yODUtNy41LTEuMjg1Yy0xMi40MDYsMC0yMi41LDEwLjA5My0yMi41LDIyLjVjMCwxMi40MDcsMTAuMDk0LDIyLjUsMjIuNSwyMi41DQoJCQljMi42MjgsMCw1LjE1My0wLjQ1Myw3LjUtMS4yODV2MzU1LjI5OGg3LjVjOC42OTksMCwxMy4zNTQtMi44MTksMTcuMDk1LTUuMDg1YzIuODk5LTEuNzU1LDQuODE0LTIuOTE1LDkuMzI1LTIuOTE1DQoJCQljNC41MTEsMCw2LjQyNiwxLjE2LDkuMzI1LDIuOTE1YzMuNzQsMi4yNjYsOC4zOTYsNS4wODUsMTcuMDk1LDUuMDg1YzguNjk4LDAsMTMuMzU0LTIuODE5LDE3LjA5NC01LjA4NQ0KCQkJYzIuODk3LTEuNzU1LDQuODEzLTIuOTE1LDkuMzIyLTIuOTE1YzQuNTA5LDAsNi40MjQsMS4xNiw5LjMyMSwyLjkxNWMzLjc0LDIuMjY2LDguMzk1LDUuMDg1LDE3LjA5Myw1LjA4NQ0KCQkJczEzLjM1NC0yLjgxOSwxNy4wOTQtNS4wODVjMi44OTctMS43NTUsNC44MTMtMi45MTUsOS4zMjEtMi45MTVjNC41MSwwLDYuNDI1LDEuMTYsOS4zMjIsMi45MTUNCgkJCWMzLjc0LDIuMjY2LDguMzk2LDUuMDg1LDE3LjA5Myw1LjA4NWw3LjUtMC4wMTN2LTQwN0gzMHogTTIyLjUsOTAuNDk0Yy00LjEzNiwwLTcuNS0zLjM2NC03LjUtNy41YzAtNC4xMzYsMy4zNjQtNy41LDcuNS03LjUNCgkJCXM3LjUsMy4zNjQsNy41LDcuNUMzMCw4Ny4xMywyNi42MzYsOTAuNDk0LDIyLjUsOTAuNDk0eiBNMTg4LjUsNDQyLjY2NGMtMC41ODUtMC4zMjUtMS4xNzktMC42ODUtMS44MjEtMS4wNzQNCgkJCWMtMy4zMzktMi4wMjItNy40MDctNC40ODYtMTQuNDI5LTQuOTkxVjIyNi41NTVoLTE1djIxMi40MzFjLTEuODI0LDAuODI3LTMuMzU1LDEuNzU1LTQuNzU4LDIuNjA0DQoJCQljLTIuODk3LDEuNzU1LTQuODEzLDIuOTE1LTkuMzIyLDIuOTE1Yy0xLjY0OCwwLTIuOTUtMC4xNTUtNC4wNzktMC40MzhoMy4xNTlWMTQxLjk5NGgtMTV2Mjk2LjIzOA0KCQkJYy0yLjczNC0xLjAwNS02LjA5Ny0xLjcyNi0xMC40OTQtMS43MjZjLTEuNjM4LDAtMy4xMzMsMC4xLTQuNTA2LDAuMjc4di0yMTYuNzloLTE1djIyMi45ODhjLTEuODQ5LDAuOTUxLTMuNzM4LDEuNTI1LTYuOTEsMS41MjUNCgkJCWMtMy44NDMsMC01LjgwMi0wLjg0Mi04LjA5LTIuMTc2VjE0MS45OTRoLTE1djI5NC42NjFjLTEuMDQxLTAuMDk2LTIuMTQ4LTAuMTQ4LTMuMzMtMC4xNDhjLTguNjk5LDAtMTMuMzU0LDIuODE5LTE3LjA5NSw1LjA4NQ0KCQkJYy0wLjY0NCwwLjM5LTEuMjM5LDAuNzUtMS44MjUsMS4wNzVWNjcuNDk0aDIyLjI1djQxaDE1di00MWg0NXY0MWgxNXYtNDFoNDYuMjVWNDQyLjY2NHoiLz4NCiAgICAgICAgPHJlY3QgeD0iMTU3LjI1IiB5PSIxMzYuOTg5IiB3aWR0aD0iMTUiIGhlaWdodD0iNjYiLz4NCiAgICAgICAgPHJlY3QgeD0iMTU3LjI1IiB5PSIxMTEuOTg5IiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiLz4NCiAgICAgICAgPHJlY3QgeD0iMTU3LjI1IiB5PSI4Ni45OTQiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIvPg0KICAgICAgICA8cmVjdCB4PSI5Ny4yNSIgeT0iMTMwLjk4OSIgd2lkdGg9IjE1IiBoZWlnaHQ9IjY2Ii8+DQogICAgICAgIDxyZWN0IHg9Ijk3LjI1IiB5PSI4MC45OTQiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIvPg0KICAgICAgICA8cmVjdCB4PSI5Ny4yNSIgeT0iMTA1Ljk4OSIgd2lkdGg9IjE1IiBoZWlnaHQ9IjE1Ii8+DQogICAgICAgIDxyZWN0IHg9IjQzNS43NSIgeT0iMTEzLjk4OSIgd2lkdGg9IjE1IiBoZWlnaHQ9IjE1Ii8+DQogICAgICAgIDxyZWN0IHg9IjQzNS43NSIgeT0iMTM4Ljk4OSIgd2lkdGg9IjE1IiBoZWlnaHQ9IjY2Ii8+DQogICAgICAgIDxyZWN0IHg9IjQzNS43NSIgeT0iODguOTk0IiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiLz4NCiAgICAgICAgPHJlY3QgeD0iMzc1Ljc1IiB5PSIxNTUuOTg5IiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiLz4NCiAgICAgICAgPHJlY3QgeD0iMzc1Ljc1IiB5PSI4MC45OTQiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIvPg0KICAgICAgICA8cmVjdCB4PSIzNzUuNzUiIHk9IjEwNS45ODkiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIvPg0KICAgICAgICA8cmVjdCB4PSIzNzUuNzUiIHk9IjEzMC45ODkiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIvPg0KICAgICAgICA8cGF0aCBkPSJNNDg5LjUsNjAuNDk0Yy0yLjYyOCwwLTUuMTUzLDAuNDUzLTcuNSwxLjI4NXYtOS4yODVIMzA4LjV2NDA3LjAxM2g3LjVjOC42OTksMCwxMy4zNTQtMi44MTksMTcuMDk1LTUuMDg1DQoJCQljMi44OTktMS43NTUsNC44MTQtMi45MTUsOS4zMjUtMi45MTVjNC41MTEsMCw2LjQyNiwxLjE2LDkuMzI1LDIuOTE1YzMuNzQsMi4yNjYsOC4zOTYsNS4wODUsMTcuMDk1LDUuMDg1DQoJCQljOC42OTgsMCwxMy4zNTQtMi44MTksMTcuMDk0LTUuMDg1YzIuODk3LTEuNzU1LDQuODEzLTIuOTE1LDkuMzIyLTIuOTE1YzQuNTA5LDAsNi40MjQsMS4xNiw5LjMyMSwyLjkxNQ0KCQkJYzMuNzQsMi4yNjYsOC4zOTUsNS4wODUsMTcuMDkzLDUuMDg1czEzLjM1NC0yLjgxOSwxNy4wOTQtNS4wODVjMi44OTctMS43NTUsNC44MTMtMi45MTUsOS4zMjEtMi45MTUNCgkJCWM0LjUxLDAsNi40MjUsMS4xNiw5LjMyMiwyLjkxNWMzLjc0LDIuMjY2LDguMzk2LDUuMDg1LDE3LjA5Myw1LjA4NWw3LjUtMC4wMTNWMTA0LjIwOGMyLjM0NywwLjgzMiw0Ljg3MiwxLjI4NSw3LjUsMS4yODUNCgkJCWMxMi40MDYsMCwyMi41LTEwLjA5MywyMi41LTIyLjVDNTEyLDcwLjU4NSw1MDEuOTA2LDYwLjQ5NCw0ODkuNSw2MC40OTR6IE00NjcsNDQyLjY2NGMtMC41ODUtMC4zMjUtMS4xNzktMC42ODUtMS44MjEtMS4wNzQNCgkJCWMtMy4zMzktMi4wMjItNy40MDctNC40ODYtMTQuNDI5LTQuOTkxVjIyNi41NTVoLTE1djIxMi40MzFjLTEuODI0LDAuODI3LTMuMzU1LDEuNzU1LTQuNzU4LDIuNjA0DQoJCQljLTIuODk3LDEuNzU1LTQuODEzLDIuOTE1LTkuMzIyLDIuOTE1Yy0xLjY0OCwwLTIuOTUtMC4xNTUtNC4wNzktMC40MzhoMy4xNTlWMTQxLjk5NGgtMTV2Mjk2LjIzOA0KCQkJYy0yLjczNC0xLjAwNS02LjA5Ny0xLjcyNi0xMC40OTQtMS43MjZjLTEuNjM4LDAtMy4xMzMsMC4xLTQuNTA2LDAuMjc4di0yNTAuNzloLTE1djI1Ni45ODhjLTEuODQ5LDAuOTUxLTMuNzM4LDEuNTI1LTYuOTEsMS41MjUNCgkJCWMtMy44NDMsMC01LjgwMi0wLjg0Mi04LjA5LTIuMTc2VjE0MS45OTRoLTE1djI5NC42NjFjLTEuMDQxLTAuMDk2LTIuMTQ4LTAuMTQ4LTMuMzMtMC4xNDhjLTguNjk5LDAtMTMuMzU0LDIuODE5LTE3LjA5NSw1LjA4NQ0KCQkJYy0wLjY0NCwwLjM5LTEuMjM5LDAuNzUtMS44MjUsMS4wNzVWNjcuNDk0aDIyLjI1djQxaDE1di00MWg0NXY0MWgxNXYtNDFINDY3VjQ0Mi42NjR6IE00ODkuNSw5MC40OTRjLTQuMTM2LDAtNy41LTMuMzY0LTcuNS03LjUNCgkJCWMwLTQuMTM2LDMuMzY0LTcuNSw3LjUtNy41czcuNSwzLjM2NCw3LjUsNy41QzQ5Nyw4Ny4xMyw0OTMuNjM2LDkwLjQ5NCw0ODkuNSw5MC40OTR6Ii8+DQogICAgPC9nPg0KPC9zdmc+DQo=",mle="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im00MiAxMmMyLjIwNiAwIDQtMS43OTQgNC00cy0xLjc5NC00LTQtNC00IDEuNzk0LTQgNCAxLjc5NCA0IDQgNHptMi00YzAgMS4xMDMtLjg5NyAyLTIgMnMtMi0uODk3LTItMmMwLS4xNzguMDMxLS4zNDcuMDc1LS41MTFsMS4yMTggMS4yMTggMS40MTQtMS40MTQtMS4yMTgtMS4yMThjLjE2NC0uMDQ0LjMzMy0uMDc1LjUxMS0uMDc1IDEuMTAzIDAgMiAuODk3IDIgMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTIyIDRjLTIuMjA2IDAtNCAxLjc5NC00IDRzMS43OTQgNCA0IDQgNC0xLjc5NCA0LTQtMS43OTQtNC00LTR6bTAgNmMtMS4xMDMgMC0yLS44OTctMi0ycy44OTctMiAyLTJjLjE3OCAwIC4zNDcuMDMxLjUxMS4wNzVsLTEuMjE4IDEuMjE4IDEuNDE0IDEuNDE0IDEuMjE4LTEuMjE4Yy4wNDQuMTY0LjA3NS4zMzMuMDc1LjUxMSAwIDEuMTAzLS44OTcgMi0yIDJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im01MSAxMmgyYzEuNjU0IDAgMy0xLjM0NiAzLTNzLTEuMzQ2LTMtMy0zaC0yYy0xLjY1NCAwLTMgMS4zNDYtMyAzczEuMzQ2IDMgMyAzem0wLTRoMmMuNTUxIDAgMSAuNDQ5IDEgMXMtLjQ0OSAxLTEgMWgtMmMtLjU1MSAwLTEtLjQ0OS0xLTFzLjQ0OS0xIDEtMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTEzIDZoLTJjLTEuNjU0IDAtMyAxLjM0Ni0zIDNzMS4zNDYgMyAzIDNoMmMxLjY1NCAwIDMtMS4zNDYgMy0zcy0xLjM0Ni0zLTMtM3ptMCA0aC0yYy0uNTUxIDAtMS0uNDQ5LTEtMXMuNDQ5LTEgMS0xaDJjLjU1MSAwIDEgLjQ0OSAxIDFzLS40NDkgMS0xIDF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im02Mi45OTcgNThjMC0uMTYzLS4wMzctLjMyNi0uMTE3LS40NzRsLTIuODgtNS4zNDl2LTM4LjE3Ny0xMGMwLTEuNjU0LTEuMzQ2LTMtMy0zaC01MGMtMS42NTQgMC0zIDEuMzQ2LTMgM3YxMCAzOC4xNzdsLTIuODggNS4zNDljLS4wOC4xNDgtLjExNy4zMTEtLjExNy40NzRoLS4wMDN2MmMwIDEuNjU0IDEuMzQ2IDMgMyAzaDU2YzEuNjU0IDAgMy0xLjM0NiAzLTN2LTJ6bS02Ljk5Ny0xMy4yNTF2LTI5Ljc0OWgydjMzLjQ2M3ptLTQxLjkzMS0yLjc0OWMuMTg5IDEuNTAyLjc5MiAyLjg3NSAxLjY5NSA0aC0yLjc2NHYtNHptMzYuOTMxIDB2NGgtMi43NjVjLjkwNC0xLjEyNSAxLjUwNy0yLjQ5OCAxLjY5NS00em0tNS42OSA0aC0uMzF2LTIuMzgyYy40MDItLjQ2LjctMS4wMDkuODU4LTEuNjE4aDIuMDUyYy0uMjgyIDEuNjY2LTEuMjQ2IDMuMTAxLTIuNiA0em0tOC4zMS0xLjY5di0yLjMxaDEuMTQyYy40NDcgMS43MjEgMiAzIDMuODU4IDMgLjM0NyAwIC42NzgtLjA1OCAxLS4xNDJ2MS4xNDJoLTQuMzFjLS42Ny0uNDQ1LTEuMjQ1LTEuMDItMS42OS0xLjY5em0zLjI3OC00LjMxYy4zNDctLjU5NS45ODUtMSAxLjcyMi0xczEuMzc1LjQwNSAxLjcyMiAxem0yLjcyMiAydi43MjJjLS4yOTUuMTcyLS42MzQuMjc4LTEgLjI3OC0uNzM3IDAtMS4zNzUtLjQwNS0xLjcyMi0xem0yLjg1OC0yYy0uNDQ3LTEuNzIxLTItMy0zLjg1OC0zcy0zLjQxMSAxLjI3OS0zLjg1OCAzaC0yLjA1MmMuNDc4LTIuODMzIDIuOTQyLTUgNS45MS01czUuNDMxIDIuMTY3IDUuOTEgNXptLTExLjcyNS03LjA4NGMuNTEzLTIuNzkyIDIuOTU5LTQuOTE2IDUuODk3LTQuOTE2IDEuNjEgMCAzLjA2NS42MzEgNC4xNDMgMS42Ni0uOTczLS40MjMtMi4wNDYtLjY2LTMuMTczLS42Ni0yLjkxOCAwLTUuNDY5IDEuNTc2LTYuODY3IDMuOTE2em0uODY3IDQuMDg0YzAtMy4zMDkgMi42OTEtNiA2LTYgMi4zMzUgMCA0LjM1NyAxLjM0MyA1LjM0OCAzLjI5NC0xLjI1My0uODE1LTIuNzQ1LTEuMjk0LTQuMzQ4LTEuMjk0LTMuMDA0IDAtNS42MjQgMS42NjctNi45OTIgNC4xMjItLjAwMS0uMDQxLS4wMDgtLjA4MS0uMDA4LS4xMjJ6bS0uOTMxIDVjLjEyOSAxLjAyNy40NDkgMS45OTYuOTMxIDIuODY0djEuMTM2aC02di0xLjEzNmMuNDgyLS44NjkuODAyLTEuODM3LjkzMS0yLjg2NHptLTEzLjA2OSA0di0xLjE0MmMuMzIyLjA4NC42NTMuMTQyIDEgLjE0MiAxLjg1OCAwIDMuNDExLTEuMjc5IDMuODU4LTNoMS4xNDJ2Mi4zMWMtLjQ0NS42Ny0xLjAyIDEuMjQ1LTEuNjkgMS42OXptMC00aDIuNzIyYy0uMzQ3LjU5NS0uOTg1IDEtMS43MjIgMS0uMzY2IDAtLjcwNS0uMTA2LTEtLjI3OHptLS43MjItMmMuMzQ3LS41OTUuOTg1LTEgMS43MjItMXMxLjM3NS40MDUgMS43MjIgMXptOC43MTQtMi44NzhjLTEuMzY4LTIuNDU1LTMuOTg4LTQuMTIyLTYuOTkyLTQuMTIyLTEuNjAzIDAtMy4wOTUuNDc5LTQuMzQ4IDEuMjk0Ljk5MS0xLjk1MSAzLjAxMy0zLjI5NCA1LjM0OC0zLjI5NCAzLjMwOSAwIDYgMi42OTEgNiA2IDAgLjA0MS0uMDA3LjA4MS0uMDA4LjEyMnptLTUuOTkyLTguMTIyYy0xLjEwNiAwLTIuMTYuMjI2LTMuMTE5LjYzNCAxLjA3Ni0xLjAxNSAyLjUyMi0xLjYzNCA0LjExOS0xLjYzNCAyLjk2MSAwIDUuNDIyIDIuMTU4IDUuOTA3IDQuOTgzLTEuMzg4LTIuMzc4LTMuOTYxLTMuOTgzLTYuOTA3LTMuOTgzem0tMSA2YzIuOTY3IDAgNS40MzEgMi4xNjcgNS45MSA1aC0yLjA1MmMtLjQ0Ny0xLjcyMS0yLTMtMy44NTgtM3MtMy40MTEgMS4yNzktMy44NTggM2gtMi4wNTJjLjQ3OS0yLjgzMyAyLjk0My01IDUuOTEtNXptLTMuODU4IDdjLjE1OC42MDkuNDU2IDEuMTU3Ljg1OCAxLjYxOHYyLjM4MmgtLjMxYy0xLjM1NC0uODk5LTIuMzE5LTIuMzM0LTIuNi00em0tNS4xNDIgNmg1LjEzNmMuMjc4LjE1NC41NjcuMjkuODY0LjQxMXYzLjU4OWgtNnptOCAuOTMxYy4zMjguMDQxLjY2MS4wNjkgMSAuMDY5IDEuNDAxIDAgMi43MTgtLjM2NCAzLjg2NC0xaDEuMTM2djRoLTZ6bTgtLjkzMWg2djRoLTZ6bTggMGgxLjEzNmMxLjE0Ny42MzYgMi40NjMgMSAzLjg2NCAxIC4zMzkgMCAuNjcyLS4wMjggMS0uMDY5djMuMDY5aC02em04IC40MTFjLjI5Ny0uMTIxLjU4Ni0uMjU3Ljg2NC0uNDExaDUuMTM2djRoLTZ6bTcuOTY4LTcuNTcyLjAxOS0uMDAzLTIuNzc0LTE2LjY0M2MtLjIxMi0xLjI3MS0xLjMwMS0yLjE5My0yLjU4OS0yLjE5My0xLjQ0NyAwLTIuNjI0IDEuMTc3LTIuNjI0IDIuNjI0djEuMzc2aDJ2LTEuMzc2YzAtLjM0NC4yOC0uNjI0LjYyNC0uNjI0LjMwNyAwIC41NjUuMjE5LjYxNi41MjFsMi41OCAxNS40NzloLS44ODljLS4xMjktMS4wMy0uNDUxLTItLjkzNC0yLjg3IDAtLjA0NC4wMDMtLjA4Ni4wMDMtLjEzIDAtMS40Mi0uMzc2LTIuNzUxLTEuMDI3LTMuOTA4LS40NTctNC4wNTQtMy44NDEtNy4wOTItNy45NDMtNy4wOTItNC40MTEgMC04IDMuNTg5LTggOCAwIDEuMzczLjM2NCAyLjcxMyAxLjAzMSAzLjkwNC4wODIuNzIxLjI2MSAxLjQyNS41MzIgMi4wOTZoLTMuMTg3Yy4yNjMtLjY1LjQ0Mi0xLjMzLjUyNy0yLjAyOC42OTItMS4yMDggMS4wNjctMi41NzQgMS4wNjctMy45NzIgMC00LjQxMS0zLjU4OS04LTgtOC00LjA4IDAtNy40NDggMy4wMDYtNy45MzQgNy4wMjctLjY3NCAxLjE3Mi0xLjA2NiAyLjUyNi0xLjA2NiAzLjk3MyAwIC4wNDQuMDAzLjA4Ni4wMDQuMTMtLjQ4NC44Ny0uODA1IDEuODQtLjkzNSAyLjg3aC0uODg5bDIuNTgtMTUuNDc5Yy4wNTEtLjMwMi4zMDktLjUyMS42MTYtLjUyMS4zNDQgMCAuNjI0LjI4LjYyNC42MjR2MS4zNzZoMnYtMS4zNzZjMC0xLjQ0Ny0xLjE3Ny0yLjYyNC0yLjYyNC0yLjYyNC0xLjI4OCAwLTIuMzc3LjkyMi0yLjU4OCAyLjE5MmwtMi43NzQgMTYuNjQ0LjAxOS4wMDNjLS4wMS4wNTQtLjAzMy4xMDQtLjAzMy4xNjF2M2gtMXYtMjNoNDR2MjNoLTF2LTNjMC0uMDU3LS4wMjMtLjEwNy0uMDMyLS4xNjF6bTEuMDMyLTI1LjgzOXY0aC00NHYtNHptLTIwLTJoLTR2LTRjMC0xLjEwMy44OTctMiAyLTJzMiAuODk3IDIgMnptLTI4LTljMC0uNTUxLjQ0OS0xIDEtMWg1MGMuNTUxIDAgMSAuNDQ5IDEgMXY5aC0yMnYtNGMwLTIuMjA2LTEuNzk0LTQtNC00cy00IDEuNzk0LTQgNHY0aC0yMnptMCAxMWgydjI5Ljc0OWwtMiAzLjcxNHptMy41OTcgMzFoMS40MDN2N2MwIC41NTMuNDQ4IDEgMSAxaDQwYy41NTIgMCAxLS40NDcgMS0xdi03aDEuNDAzbDUuOTIzIDExaC01Ni42NTJ6bTUwLjQwMyAxNWgtNTZjLS41NTEgMC0xLS40NDgtMS0xdi0xaDU4djFjMCAuNTUyLS40NDkgMS0xIDF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xMiAxNmg0djJoLTR6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00OCAxNmg0djJoLTR6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zMSA5aDJ2MmgtMnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",ple="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDEyOCAxMjgiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTExMy4yMDYgMTA2LjI2NWgtMTMuNjIzdi04Ni4yOGExLjc0OSAxLjc0OSAwIDAgMCAtMS41NTQtMS43MzhsLTQ2LTUuMTkyYTEuNzUgMS43NSAwIDAgMCAtMS45NDYgMS43Mzl2My40NDFoLTE5LjkxNmExLjc1IDEuNzUgMCAwIDAgLTEuNzUgMS43NXY4Ni4yOGgtMTMuNjIzYTEuNzUgMS43NSAwIDEgMCAwIDMuNWgzNS4yODl2My40NDFhMS43NSAxLjc1IDAgMCAwIDEuNzUgMS43NSAxLjYxIDEuNjEgMCAwIDAgLjItLjAxMWw0NS45LTUuMThoMTUuMjc2YTEuNzUgMS43NSAwIDAgMCAwLTMuNXptLTgxLjI4OS04NC41M2gxOC4xNjZ2NC41aC0xMS45MTdhMS43NSAxLjc1IDAgMCAwIC0xLjc1IDEuNzV2NzguMjhoLTQuNXptOCA4NC41M3YtNzYuNTNoMTAuMTY2djc2LjUzem0xMy42NjYtODkuNTEzIDQyLjUgNC44djg0LjlsLTQyLjUgNC44eiIvPg0KICAgICAgICA8cGF0aCBkPSJtNjEuMTI1IDU4Ljc5MmE1LjIwOCA1LjIwOCAwIDEgMCA1LjIwOCA1LjIwOCA1LjIxNCA1LjIxNCAwIDAgMCAtNS4yMDgtNS4yMDh6bTAgNi45MTZhMS43MDggMS43MDggMCAxIDEgMS43MDgtMS43MDggMS43MSAxLjcxIDAgMCAxIC0xLjcwOCAxLjcwOHoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",Ole="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJNNDAxLjA2NywwSDExMC45MzNjLTQuNzEsMC04LjUzMywzLjgxNC04LjUzMyw4LjUzM3Y0OTQuOTMzYzAsNC43MTksMy44MjMsOC41MzMsOC41MzMsOC41MzNoMjkwLjEzMw0KCQkJYzQuNzEsMCw4LjUzMy0zLjgxNCw4LjUzMy04LjUzM1Y4LjUzM0M0MDkuNiwzLjgxNCw0MDUuNzc3LDAsNDAxLjA2NywweiBNMzkyLjUzMyw0OTQuOTMzSDExOS40NjdWMTcuMDY3aDI3My4wNjdWNDk0LjkzM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTM2Ni45MzMsMzQuMTMzSDE0NS4wNjdjLTQuNzEsMC04LjUzMywzLjgxNC04LjUzMyw4LjUzM3Y0NjAuOGMwLDQuNzE5LDMuODIzLDguNTMzLDguNTMzLDguNTMzaDIyMS44NjcNCgkJCWM0LjcxLDAsOC41MzMtMy44MTQsOC41MzMtOC41MzN2LTQ2MC44QzM3NS40NjcsMzcuOTQ4LDM3MS42NDQsMzQuMTMzLDM2Ni45MzMsMzQuMTMzeiBNMzU4LjQsNDk0LjkzM0gxNTMuNlY1MS4yaDIwNC44VjQ5NC45MzN6DQoJCQkiLz4NCiAgICAgICAgPHBhdGggZD0iTTI1Niw2OC4yNjdjLTQ3LjA1MywwLTg1LjMzMywzOC4yODEtODUuMzMzLDg1LjMzM3Y4LjUzM2MwLDQuNzE5LDMuODIzLDguNTMzLDguNTMzLDguNTMzaDE1My42DQoJCQljNC43MSwwLDguNTMzLTMuODE0LDguNTMzLTguNTMzVjE1My42QzM0MS4zMzMsMTA2LjU0NywzMDMuMDUzLDY4LjI2NywyNTYsNjguMjY3eiBNMTg3LjczMywxNTMuNg0KCQkJYzAtMzcuNjQxLDMwLjYyNi02OC4yNjcsNjguMjY3LTY4LjI2N2MzNy42NDEsMCw2OC4yNjcsMzAuNjI2LDY4LjI2Nyw2OC4yNjdIMTg3LjczM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTIzOC45MzMsMTg3LjczM0gxNzkuMmMtNC43MSwwLTguNTMzLDMuODE0LTguNTMzLDguNTMzdjExOS40NjdjMCw0LjcxOSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2g1OS43MzMNCgkJCWM0LjcxLDAsOC41MzMtMy44MTQsOC41MzMtOC41MzNWMTk2LjI2N0MyNDcuNDY3LDE5MS41NDgsMjQzLjY0NCwxODcuNzMzLDIzOC45MzMsMTg3LjczM3ogTTIzMC40LDMwNy4yaC00Mi42NjdWMjA0LjhIMjMwLjQNCgkJCVYzMDcuMnoiLz4NCiAgICAgICAgPHBhdGggZD0iTTMzMi44LDE4Ny43MzNoLTU5LjczM2MtNC43MSwwLTguNTMzLDMuODE0LTguNTMzLDguNTMzdjExOS40NjdjMCw0LjcxOSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM0gzMzIuOA0KCQkJYzQuNzEsMCw4LjUzMy0zLjgxNCw4LjUzMy04LjUzM1YxOTYuMjY3QzM0MS4zMzMsMTkxLjU0OCwzMzcuNTEsMTg3LjczMywzMzIuOCwxODcuNzMzeiBNMzI0LjI2NywzMDcuMkgyODEuNlYyMDQuOGg0Mi42NjdWMzA3LjINCgkJCXoiLz4NCiAgICAgICAgPHBhdGggZD0iTTIzOC45MzMsMzQxLjMzM0gxNzkuMmMtNC43MSwwLTguNTMzLDMuODE0LTguNTMzLDguNTMzdjExOS40NjdjMCw0LjcxOSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2g1OS43MzMNCgkJCWM0LjcxLDAsOC41MzMtMy44MTQsOC41MzMtOC41MzNWMzQ5Ljg2N0MyNDcuNDY3LDM0NS4xNDgsMjQzLjY0NCwzNDEuMzMzLDIzOC45MzMsMzQxLjMzM3ogTTIzMC40LDQ2MC44aC00Mi42NjdWMzU4LjRIMjMwLjQNCgkJCVY0NjAuOHoiLz4NCiAgICAgICAgPHBhdGggZD0iTTMzMi44LDM0MS4zMzNoLTU5LjczM2MtNC43MSwwLTguNTMzLDMuODE0LTguNTMzLDguNTMzdjExOS40NjdjMCw0LjcxOSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM0gzMzIuOA0KCQkJYzQuNzEsMCw4LjUzMy0zLjgxNCw4LjUzMy04LjUzM1YzNDkuODY3QzM0MS4zMzMsMzQ1LjE0OCwzMzcuNTEsMzQxLjMzMywzMzIuOCwzNDEuMzMzeiBNMzI0LjI2Nyw0NjAuOEgyODEuNlYzNTguNGg0Mi42NjdWNDYwLjgNCgkJCXoiLz4NCiAgICAgICAgPHBhdGggZD0iTTI1Niw2OC4yNjdjLTQuNzEsMC04LjUzMywzLjgxNC04LjUzMyw4LjUzM3Y4NS4zMzNjMCw0LjcxOSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM3M4LjUzMy0zLjgxNCw4LjUzMy04LjUzM1Y3Ni44DQoJCQlDMjY0LjUzMyw3Mi4wODEsMjYwLjcxLDY4LjI2NywyNTYsNjguMjY3eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzIwLjQzNSw5Ny42OThjLTMuMzI4LTMuMzM2LTguNzMtMy4zMzYtMTIuMDY2LDBMMjQ5Ljk2NywxNTYuMWMtMy4zMzcsMy4zMzctMy4zMzcsOC43MywwLDEyLjA2Ng0KCQkJYzEuNjY0LDEuNjY0LDMuODQ5LDIuNSw2LjAzMywyLjVjMi4xODUsMCw0LjM2OS0wLjgzNiw2LjAzMy0yLjVsNTguNDAyLTU4LjQwMkMzMjMuNzcyLDEwNi40MjgsMzIzLjc3MiwxMDEuMDM1LDMyMC40MzUsOTcuNjk4eiINCiAgICAgICAgLz4NCiAgICAgICAgPHBhdGggZD0iTTI2Mi4wMzMsMTU2LjFMMjAzLjYzMSw5Ny42OWMtMy4zMjgtMy4zMzctOC43My0zLjMzNy0xMi4wNjYsMGMtMy4zMzcsMy4zMzYtMy4zMzcsOC43MywwLDEyLjA2Nmw1OC40MDIsNTguNDExDQoJCQljMS42NjQsMS42NjQsMy44NDksMi41LDYuMDMzLDIuNWMyLjE4NSwwLDQuMzY5LTAuODM2LDYuMDMzLTIuNUMyNjUuMzcsMTY0LjgzLDI2NS4zNywxNTkuNDM3LDI2Mi4wMzMsMTU2LjF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik01OS43MzMsNDk0LjkzM2gtNTEuMmMtNC43MSwwLTguNTMzLDMuODE0LTguNTMzLDguNTMzQzAsNTA4LjE4NiwzLjgyMyw1MTIsOC41MzMsNTEyaDUxLjINCgkJCWM0LjcxLDAsOC41MzMtMy44MTQsOC41MzMtOC41MzNDNjguMjY3LDQ5OC43NDgsNjQuNDQ0LDQ5NC45MzMsNTkuNzMzLDQ5NC45MzN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik01MDMuNDY3LDQ5NC45MzNoLTEwMi40Yy00LjcxLDAtOC41MzMsMy44MTQtOC41MzMsOC41MzNjMCw0LjcxOSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2gxMDIuNA0KCQkJYzQuNzEsMCw4LjUzMy0zLjgxNCw4LjUzMy04LjUzM0M1MTIsNDk4Ljc0OCw1MDguMTc3LDQ5NC45MzMsNTAzLjQ2Nyw0OTQuOTMzeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",Ele="PHN2ZyB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtMjU2IDE2MGE5NiA5NiAwIDEgMCA5NiA5NiA5Ni4xMDggOTYuMTA4IDAgMCAwIC05Ni05NnptMCAxNzZhODAgODAgMCAxIDEgODAtODAgODAuMDkxIDgwLjA5MSAwIDAgMSAtODAgODB6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yNTYgMTI4YTEyOCAxMjggMCAxIDAgMTI4IDEyOCAxMjguMTQ1IDEyOC4xNDUgMCAwIDAgLTEyOC0xMjh6bTAgMjQwYTExMiAxMTIgMCAxIDEgMTEyLTExMiAxMTIuMTI3IDExMi4xMjcgMCAwIDEgLTExMiAxMTJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00MzIgNDg4di00NjRhOCA4IDAgMCAwIC04LThoLTMzNmE4IDggMCAwIDAgLTggOHY0NjRhOCA4IDAgMCAwIDggOGgzMzZhOCA4IDAgMCAwIDgtOHptLTMzNi0zNzZoMzIwdjMwNGgtMzIwem05Ni04MGgxNDR2NDBhOCA4IDAgMCAwIDggOGg3MnYxNmgtMjI0em0yMjQgMzJoLTY0di0zMmg2NHptLTI0MC0zMnY2NGgtODB2LTY0em0tODAgNDQ4di00OGgzMjB2NDh6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yNDggNDBhMjQgMjQgMCAxIDAgMjQgMjQgMjQuMDI3IDI0LjAyNyAwIDAgMCAtMjQtMjR6bTAgMzJhOCA4IDAgMSAxIDgtOCA4LjAwOSA4LjAwOSAwIDAgMSAtOCA4eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTEyIDU2aDQ4djE2aC00OHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI4OCA0MGgzMnYxNmgtMzJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yODggNzJoMzJ2MTZoLTMyeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjcyIDIwMGE4IDggMCAwIDAgLTE2IDBjMCA2LjM3My0yLjQxNyA5LjE5MS02LjA3NCAxMy40NTgtNC40MjYgNS4xNTktOS45MjYgMTEuNTgtOS45MjYgMjMuODcyczUuNSAxOC43MTQgOS45MjYgMjMuODczYzMuNjU3IDQuMjY4IDYuMDc0IDcuMDg3IDYuMDc0IDEzLjQ2MnMtMi40MTcgOS4xOTMtNi4wNzQgMTMuNDYxYy00LjQyNiA1LjE1OS05LjkyNiAxMS41ODEtOS45MjYgMjMuODc0YTggOCAwIDAgMCAxNiAwYzAtNi4zNzUgMi40MTctOS4xOTQgNi4wNzQtMTMuNDYyIDQuNDIzLTUuMTU5IDkuOTI2LTExLjU4IDkuOTI2LTIzLjg3M3MtNS41LTE4LjcxNS05LjkyNi0yMy44NzRjLTMuNjU3LTQuMjY4LTYuMDc0LTcuMDkxLTYuMDc0LTEzLjQ2MXMyLjQxNy05LjE5MSA2LjA3NC0xMy40NThjNC40MjYtNS4xNTkgOS45MjYtMTEuNTggOS45MjYtMjMuODcyeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjk2IDIzNy4zM2MwLTYuMzczIDIuNDE3LTkuMTkyIDYuMDc1LTEzLjQ2LjgxMi0uOTQ3IDEuNjIzLTEuOSAyLjQwNy0yLjg3OGE4IDggMCAwIDAgLTEyLjUtOS45ODRjLS42NjguODM2LTEuMzYxIDEuNjQxLTIuMDUzIDIuNDQ5LTQuNDI5IDUuMTU5LTkuOTI5IDExLjU4MS05LjkyOSAyMy44NzNzNS41IDE4LjcxNCA5LjkyNiAyMy44NzNjMy42NTcgNC4yNjggNi4wNzQgNy4wODcgNi4wNzQgMTMuNDYycy0yLjQxNyA5LjE5NC02LjA3NSAxMy40NjJjLS44MTMuOTQ5LTEuNjI1IDEuOS0yLjQwOSAyLjg4MWE4IDggMCAwIDAgMTIuNSA5Ljk4NGMuNjY4LS44MzcgMS4zNjItMS42NDQgMi4wNTQtMi40NTIgNC40My01LjE2IDkuOTMtMTEuNTgyIDkuOTMtMjMuODc1cy01LjUtMTguNzE1LTkuOTI2LTIzLjg3NGMtMy42NTctNC4yNjgtNi4wNzQtNy4wOTEtNi4wNzQtMTMuNDYxeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjE2IDIzNy4zM2MwLTYuMzczIDIuNDE3LTkuMTkyIDYuMDc1LTEzLjQ2LjgxMi0uOTQ3IDEuNjIzLTEuOSAyLjQwNy0yLjg3OGE4IDggMCAwIDAgLTEyLjUtOS45ODRjLS42NjguODM2LTEuMzYxIDEuNjQxLTIuMDUzIDIuNDQ5LTQuNDI5IDUuMTU5LTkuOTI5IDExLjU4MS05LjkyOSAyMy44NzNzNS41IDE4LjcxNCA5LjkyNiAyMy44NzNjMy42NTcgNC4yNjggNi4wNzQgNy4wODcgNi4wNzQgMTMuNDYycy0yLjQxNyA5LjE5NC02LjA3NSAxMy40NjJjLS44MTMuOTQ5LTEuNjI1IDEuOS0yLjQwOSAyLjg4MWE4IDggMCAwIDAgMTIuNSA5Ljk4NGMuNjY4LS44MzcgMS4zNjItMS42NDQgMi4wNTQtMi40NTIgNC40My01LjE2IDkuOTMtMTEuNTgyIDkuOTMtMjMuODc1cy01LjUtMTguNzE1LTkuOTI2LTIzLjg3NGMtMy42NTctNC4yNjgtNi4wNzQtNy4wOTEtNi4wNzQtMTMuNDYxeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",_le="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ3Ni4wNjUgNDc2LjA2NSI+DQo8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KCTxwYXRoIGQ9Ik00MzIuNTU4LDE3Mi4wMkM0MTkuMzAzLDY0LjU4NywzMjEuNDY2LTExLjc2LDIxNC4wMzMsMS40OTVTMzAuMjUzLDExMi41ODcsNDMuNTA4LDIyMC4wMg0KCQljMTEuMDA4LDg5LjIyMiw4MS4zMDMsMTU5LjUxNywxNzAuNTI1LDE3MC41MjV2MzcuNTJoLTU2Yy0xMy4yNTUsMC0yNCwxMC43NDUtMjQsMjR2MjRoMjA4di0yNGMwLTEzLjI1NS0xMC43NDUtMjQtMjQtMjRoLTU2DQoJCXYtMzcuNTJDMzY5LjQ2NiwzNzcuMjksNDQ1LjgxMywyNzkuNDUzLDQzMi41NTgsMTcyLjAyeiBNMzE4LjAzMyw0NDQuMDY1YzQuNDE4LDAsOCwzLjU4Miw4LDh2OGgtMTc2di04YzAtNC40MTgsMy41ODItOCw4LTgNCgkJSDMxOC4wMzN6IE0yMzAuMDMzLDQyOC4wNjV2LTMyaDE2djMySDIzMC4wMzN6IE0yMzguMDMzLDM3Ni4wNjVjLTk5LjQxMSwwLTE4MC04MC41ODktMTgwLTE4MA0KCQljMC4xMTUtOTkuMzY0LDgwLjYzNi0xNzkuODg1LDE4MC0xODBjOTkuNDExLDAsMTgwLDgwLjU4OSwxODAsMTgwUzMzNy40NDQsMzc2LjA2NSwyMzguMDMzLDM3Ni4wNjV6Ii8+DQoJPHBhdGggZD0iTTQwNi4wMzMsMjEyLjA2NXYtMTZjMC00LjQxOC0zLjU4Mi04LTgtOGgtOTMuNTM2YzM5LjgtMjcuODMyLDQ5LjUwMi04Mi42NTgsMjEuNjctMTIyLjQ1OA0KCQljLTE2LjQ2Ny0yMy41NDgtNDMuNC0zNy41NjUtNzIuMTM0LTM3LjU0MmgtMTZjLTQuNDE4LDAtOCwzLjU4Mi04LDh2OTMuNTM2Yy0yNy44MzItMzkuOC04Mi42NTgtNDkuNTAyLTEyMi40NTgtMjEuNjcNCgkJYy0yMy41NDgsMTYuNDY3LTM3LjU2NSw0My40LTM3LjU0Miw3Mi4xMzR2MTZjMCw0LjQxOCwzLjU4Miw4LDgsOGg5My41MzZjLTIzLjQ2NSwxNi40NzgtMzcuNDYzLDQzLjMyOC0zNy41MzYsNzINCgkJYzAuMDU3LDQ4LjU3NywzOS40MjMsODcuOTQzLDg4LDg4aDE2YzQuNDE4LDAsOC0zLjU4Miw4LTh2LTkzLjUzNmMyNy44MzIsMzkuOCw4Mi42NTgsNDkuNTAyLDEyMi40NTgsMjEuNjcNCgkJQzM5Mi4wMzgsMjY3LjczMyw0MDYuMDU2LDI0MC44LDQwNi4wMzMsMjEyLjA2NXogTTI0Ni4wMzMsNDQuMDY1aDhjMzkuNzY0LDAuMDU1LDcxLjk1NSwzMi4zMzYsNzEuOSw3Mi4xDQoJCWMtMC4wNDMsMzEuMTctMjAuMTM4LDU4Ljc3Mi00OS43ODgsNjguMzg4Yy00LjIwMi0xNC4wNTItMTUuNzU4LTI0LjY3Ny0zMC4xMTItMjcuNjg4VjQ0LjA2NXogTTg2LjAzMywxODguMDY1di04DQoJCWMwLjA3My0zOS43NjQsMzIuMzY4LTcxLjk0LDcyLjEzMy03MS44NjdjMzEuMTQ4LDAuMDU3LDU4LjcyNywyMC4xMzgsNjguMzQ3LDQ5Ljc2M2MtMTQuMDQ3LDQuMjAzLTI0LjY2OCwxNS43NTUtMjcuNjgsMzAuMTA0DQoJCUg4Ni4wMzN6IE0yMzAuMDMzLDM0OC4wNjVoLThjLTM5Ljc2NC0wLjA1NS03MS45NTUtMzIuMzM2LTcxLjktNzIuMWMwLjA0My0zMS4xNywyMC4xMzgtNTguNzcyLDQ5Ljc4OC02OC4zODgNCgkJYzQuMjAyLDE0LjA1MiwxNS43NTgsMjQuNjc3LDMwLjExMiwyNy42ODhWMzQ4LjA2NXogTTIzOC4wMzMsMjIwLjA2NWMtMTMuMjU1LDAtMjQtMTAuNzQ1LTI0LTI0czEwLjc0NS0yNCwyNC0yNA0KCQlzMjQsMTAuNzQ1LDI0LDI0UzI1MS4yODcsMjIwLjA2NSwyMzguMDMzLDIyMC4wNjV6IE0zMTcuOSwyODMuOTMyYy0zMS4xNDgtMC4wNTctNTguNzI3LTIwLjEzOC02OC4zNDctNDkuNzYzDQoJCWMxNC4wNDctNC4yMDMsMjQuNjY4LTE1Ljc1NSwyNy42OC0zMC4xMDRoMTEyLjh2OEMzODkuOTU5LDI1MS44MywzNTcuNjY0LDI4NC4wMDYsMzE3LjksMjgzLjkzMnoiLz4NCjwvZz4NCjwvc3ZnPg0K",fle="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMS45OTkgNTExLjk5OSI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTUwMS45OTksMTI2LjAwMWgtMC4wMjdjNi4yOTItOC4zNjIsMTAuMDI3LTE4Ljc1MiwxMC4wMjctMzBjMC0yNy41Ny0yMi40My01MC4wMDEtNTAtNTAuMDAxDQoJCXMtNTAuMDAxLDIyLjQzLTUwLjAwMSw1MC4wMDFjMCwxMS4yNDgsMy43MzYsMjEuNjM4LDEwLjAyNywzMGgtMC4wMjdjLTUuNTIyLDAtMTAsNC40NzctMTAsMTB2MzUuNTQ1DQoJCWMtMTEuMzI4LTcuMjMzLTIzLjEyOC0xMy42NTgtMzUuMzM0LTE5LjI0MXYtMTYuMzA0YzAtNS41MjMtNC40NzctMTAtMTAtMTBzLTEwLDQuNDc3LTEwLDEwdjguMDM3DQoJCWMtMy4zNjktMS4yNDctNi43NjQtMi40MzgtMTAuMTg2LTMuNTYyYy04LjI5MS0yLjcyMy0xNi42ODMtNS4wNTItMjUuMTQ2LTcuMDExdi0yMC44MzNjMC01LjUyMy00LjQ3OC0xMC0xMC0xMA0KCQljLTUuNTIzLDAtMTAsNC40NzctMTAsMTB2MTYuOTMyYy0xMS42OC0xLjg0OS0yMy40NzQtMi45NzQtMzUuMzMyLTMuMzgxVjk2LjAwMWMwLTUuNTIzLTQuNDc4LTEwLTEwLTEwYy01LjUyMywwLTEwLDQuNDc3LTEwLDEwDQoJCXYzMC4xODNjLTExLjg1OSwwLjQwNy0yMy42NTMsMS41MzItMzUuMzMzLDMuMzgxdi0xNi45MzJjMC01LjUyMy00LjQ3OC0xMC0xMC0xMGMtNS41MjMsMC0xMCw0LjQ3Ny0xMCwxMHYyMC44MzMNCgkJYy04LjQ2MiwxLjk1OS0xNi44NTIsNC4yODctMjUuMTQyLDcuMDA5Yy0zLjQyNCwxLjEyNC02LjgxOSwyLjMxNi0xMC4xOTEsMy41NjN2LTguMDM3YzAtNS41MjMtNC40NzctMTAtMTAtMTANCgkJYy01LjUyMywwLTEwLDQuNDc3LTEwLDEwdjE2LjMwNGMtMTIuMjA1LDUuNTgzLTI0LjAwNCwxMi4wMDctMzUuMzM0LDE5LjI0di0zNS41NDRjMC01LjUyMy00LjQ3Ny0xMC0xMC0xMGgtMC4wMjcNCgkJYzYuMjkzLTguMzYyLDEwLjAyNy0xOC43NTIsMTAuMDI3LTMwYzAtMjcuNTctMjIuNDMtNTAtNTAtNTBzLTUwLDIyLjQzLTUwLDUwYzAsMTEuMjQ4LDMuNzM0LDIxLjYzOCwxMC4wMjcsMzBIMTANCgkJYy01LjUyMywwLTEwLDQuNDc3LTEwLDEwdjMxOS45OTljMCw1LjUyMyw0LjQ3NywxMCwxMCwxMGg0MGg0MGgzMS4wMzNjNS41MjIsMCwxMC00LjQ3NywxMC0xMGMwLTUuNTIyLTQuNDc4LTEwLTEwLTEwSDEwMA0KCQl2LTIwLjAwMWgzMTEuOTk4djIwLjAwMWgtMjEuMDMzYy01LjUyMywwLTEwLDQuNDc4LTEwLDEwYzAsNS41MjMsNC40NzcsMTAsMTAsMTBoMzEuMDMzaDQwLjAwMWg0MGM1LjUyMiwwLDEwLTQuNDc3LDEwLTEwDQoJCVYxMzYuMDAxQzUxMS45OTksMTMwLjQ3Nyw1MDcuNTIxLDEyNi4wMDEsNTAxLjk5OSwxMjYuMDAxeiBNODAsNDQ1Ljk5OUg1MEgyMFYxNDYuMDAxaDIwdjQxLjg5OGMwLDUuNTIzLDQuNDc3LDEwLDEwLDEwDQoJCXMxMC00LjQ3NywxMC0xMHYtNDEuODk4aDIwVjQ0NS45OTl6IE01MCwxMjYuMDAxYy0xNi41NDMsMC0zMC0xMy40NTgtMzAtMzBzMTMuNDU3LTMwLDMwLTMwYzE2LjU0MywwLDMwLDEzLjQ1OCwzMCwzMA0KCQlTNjYuNTQzLDEyNi4wMDEsNTAsMTI2LjAwMXogTTEzNS4zMzQsNDA1Ljk5OEgxMDBWMTk1LjYyOWMxMS4zMTgtOC4wMiwyMy4xMjYtMTUuMDk1LDM1LjMzNC0yMS4yMThWNDA1Ljk5OHogTTE5MC42NjcsNDA2DQoJCWgtMzUuMzMzVjE2NS4zODRjMTEuNS00LjYzLDIzLjI5OC04LjQ0OSwzNS4zMzMtMTEuNDM3VjQwNnogTTI0Niw0MDZoLTM1LjMzM1YxNDkuNzg3YzExLjYxNC0xLjk1OCwyMy40MDktMy4xNjgsMzUuMzMzLTMuNTk5DQoJCVY0MDZ6IE0zMDEuMzMyLDQwNS45OThIMjY2di0yNTkuODFjMTEuOTI0LDAuNDMxLDIzLjcxNywxLjY0MSwzNS4zMzIsMy41OTlWNDA1Ljk5OHogTTM1Ni42NjQsNDA1Ljk5OWgtMzUuMzMyVjE1My45NDgNCgkJYzEyLjAzNSwyLjk4OCwyMy44MzIsNi44MDcsMzUuMzMyLDExLjQzOFY0MDUuOTk5eiBNNDExLjk5OCw0MDUuOTk4aC0zNS4zMzRWMTc0LjQxMmMxMi4yMDksNi4xMjMsMjQuMDE3LDEzLjIsMzUuMzM0LDIxLjIyDQoJCVY0MDUuOTk4eiBNNDkxLjk5OSw0NDUuOTk5aC0zMGgtMzAuMDAxVjE0Ni4wMDFoMjAuMDAxdjQxLjg5OGMwLDUuNTIzLDQuNDc4LDEwLDEwLDEwYzUuNTIyLDAsMTAtNC40NzcsMTAtMTB2LTQxLjg5OGgyMA0KCQlWNDQ1Ljk5OXogTTQ2MS45OTksMTI2LjAwMWMtMTYuNTQyLDAtMzAuMDAxLTEzLjQ1OC0zMC4wMDEtMzBjMC0xNi41NDMsMTMuNDU5LTMwLjAwMSwzMC4wMDEtMzAuMDAxDQoJCWMxNi41NDIsMCwzMCwxMy40NTgsMzAsMzAuMDAxQzQ5MS45OTksMTEyLjU0Miw0NzguNTQxLDEyNi4wMDEsNDYxLjk5OSwxMjYuMDAxeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTUwLDQ0NS45OTloLTAuMjM2Yy01LjUyMywwLTEwLDQuNDc4LTEwLDEwYzAsNS41MjMsNC40NzcsMTAsMTAsMTBIMTUwYzUuNTIzLDAsMTAtNC40NzcsMTAtMTANCgkJQzE2MCw0NTAuNDc3LDE1NS41MjMsNDQ1Ljk5OSwxNTAsNDQ1Ljk5OXoiLz4NCiAgICAgICAgPHBhdGggZD0iTTM2Mi4yMzQsNDQ1Ljk5OWgtMC4yMzdjLTUuNTIyLDAtMTAsNC40NzgtMTAsMTBjMCw1LjUyMyw0LjQ3OCwxMCwxMCwxMGgwLjIzN2M1LjUyMywwLDEwLTQuNDc3LDEwLTEwDQoJCUMzNzIuMjM0LDQ1MC40NzcsMzY3Ljc1OCw0NDUuOTk5LDM2Mi4yMzQsNDQ1Ljk5OXoiLz4NCiAgICAgICAgPHBhdGggZD0iTTUwLDIwNi42MzFjLTUuNTIzLDAtMTAsNC40NzctMTAsMTB2MC4yMzVjMCw1LjUyMyw0LjQ3NywxMCwxMCwxMHMxMC00LjQ3NywxMC0xMHYtMC4yMzUNCgkJQzYwLDIxMS4xMDgsNTUuNTIzLDIwNi42MzEsNTAsMjA2LjYzMXoiLz4NCiAgICAgICAgPHBhdGggZD0iTTQ2MS45OTksMjA2LjYzMWMtNS41MjIsMC0xMCw0LjQ3Ny0xMCwxMHYwLjIzNWMwLDUuNTIzLDQuNDc4LDEwLDEwLDEwYzUuNTIyLDAsMTAtNC40NzcsMTAtMTB2LTAuMjM1DQoJCUM0NzEuOTk5LDIxMS4xMDgsNDY3LjUyMSwyMDYuNjMxLDQ2MS45OTksMjA2LjYzMXoiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",Sle="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ4MC4wMDUgNDgwLjAwNSI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTEwNC4wMDUsMTA4LjAwM2MtMTMuMjU1LDAtMjQsMTAuNzQ1LTI0LDI0YzAsNC40MTgsMy41ODIsOCw4LDhzOC0zLjU4Miw4LThzMy41ODItOCw4LThzOC0zLjU4Miw4LTgNCgkJCVMxMDguNDIzLDEwOC4wMDMsMTA0LjAwNSwxMDguMDAzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzg1LjM1Nyw3Ni4xMTVsLTI4MC00OGMtMC40NDctMC4wNzMtMC44OTktMC4xMTEtMS4zNTItMC4xMTJDNDYuNjEyLDI3Ljk1NiwwLjA0Nyw3NC40NDQsMCwxMzEuODM3DQoJCQljLTAuMDI2LDMxLjA1OSwxMy44NDMsNjAuNTAxLDM3LjgwNSw4MC4yNjFsNTguNDQsMjMzLjg0OGMwLjg5MiwzLjU1OSw0LjA5MSw2LjA1Niw3Ljc2LDYuMDU2aDY0DQoJCQljNC40MTgsMC4wMDgsOC4wMDctMy41NjYsOC4wMTUtNy45ODVjMC0wLjE3MS0wLjAwNS0wLjM0MS0wLjAxNS0wLjUxMWwtMTMuNi0yMTcuNGwyMjIuOTItMzguMjE2DQoJCQljMy44NTQtMC42NDUsNi42NzktMy45OCw2LjY4LTcuODg4di05NkMzOTIuMDA3LDgwLjEwNSwzODkuMTk5LDc2Ljc3MywzODUuMzU3LDc2LjExNXogTTExMC4yNTMsNDM2LjAwM0w1Ny42MDUsMjI1LjE3MQ0KCQkJYzAuNTA0LDAuMjQ4LDEuMDQsMC40MTYsMS41NDQsMC42NjRjMi41NzYsMS4yMzIsNS4xODksMi4zNTIsNy44NCwzLjM2YzAuNzQ0LDAuMjgsMS40NjQsMC42LDIuMjA4LDAuODY0DQoJCQljMy4zMTksMS4xNzQsNi42OTcsMi4xNzUsMTAuMTIsM2MwLjgsMC4xOTIsMS42LDAuMzI4LDIuNCwwLjUwNGMyLjc2OCwwLjU5Miw1LjU2NSwxLjA3Nyw4LjM5MiwxLjQ1Ng0KCQkJYzEuMDA4LDAuMTI4LDIuMDE2LDAuMjY0LDMuMDI0LDAuMzY4YzMuNjExLDAuMzksNy4yNCwwLjU5NiwxMC44NzIsMC42MTZjMC40NTMtMC4wMDEsMC45MDUtMC4wMzksMS4zNTItMC4xMTJsNDEuMjE2LTcuMDg4DQoJCQlsMTIuOTIsMjA3LjJIMTEwLjI1M3ogTTM0NC4wMDUsMTc4LjczOWwtMjM4LjA4OCw0MC44bC0yLjU3NiwwLjQ2NGMtNDguMzY3LTAuMzA0LTg3LjM5OS0zOS42MzItODcuMzM2LTg4DQoJCQljMC4wNTUtNDguMzIsMzkuMDE4LTg3LjU3OSw4Ny4zMzYtODhsMjQwLjY2NCw0MS4yNjRWMTc4LjczOXogTTM3Ni4wMDUsMTczLjI1OWwtMTYsMi43NDR2LTg4bDE2LDIuNzQ0VjE3My4yNTl6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0xMDQuMDA1LDc2LjAwM2MtMzAuOTI4LDAtNTYsMjUuMDcyLTU2LDU2YzAuMDM1LDMwLjkxMywyNS4wODcsNTUuOTY1LDU2LDU2YzMwLjkyOCwwLDU2LTI1LjA3Miw1Ni01Ng0KCQkJQzE2MC4wMDUsMTAxLjA3NSwxMzQuOTMzLDc2LjAwMywxMDQuMDA1LDc2LjAwM3ogTTEwNC4wMDUsMTcyLjAwM2MtMjIuMDkxLDAtNDAtMTcuOTA5LTQwLTQwYzAuMDI2LTIyLjA4LDE3LjkyLTM5Ljk3NCw0MC00MA0KCQkJYzIyLjA5MSwwLDQwLDE3LjkwOSw0MCw0MFMxMjYuMDk3LDE3Mi4wMDMsMTA0LjAwNSwxNzIuMDAzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTQxLjkzMyw0MTEuNTIzbC05LjY2NC0xNTUuMDI0Yy0wLjI3Ni00LjQxOC00LjA4Mi03Ljc3Ni04LjUtNy41Yy00LjQxOCwwLjI3Ni03Ljc3Niw0LjA4Mi03LjUsOC41bDkuNjY0LDE1NQ0KCQkJYzAuMjYzLDQuMjI3LDMuNzczLDcuNTE2LDguMDA4LDcuNTA0YzAuMTY4LDAsMC4zMzYsMCwwLjUwNCwwQzEzOC44NTQsNDE5LjcyOCwxNDIuMjA3LDQxNS45MzIsMTQxLjkzMyw0MTEuNTIzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNNDcyLjAwNSwxMjQuMDAzaC00OGMtNC40MTgsMC04LDMuNTgyLTgsOHMzLjU4Miw4LDgsOGg0OGM0LjQxOCwwLDgtMy41ODIsOC04UzQ3Ni40MjMsMTI0LjAwMyw0NzIuMDA1LDEyNC4wMDN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik00NzIuMDA1LDE1Ni4wMDNoLTQ4Yy00LjQxOCwwLTgsMy41ODItOCw4czMuNTgyLDgsOCw4aDQ4YzQuNDE4LDAsOC0zLjU4Miw4LThTNDc2LjQyMywxNTYuMDAzLDQ3Mi4wMDUsMTU2LjAwM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTQ3Mi4wMDUsOTIuMDAzaC00OGMtNC40MTgsMC04LDMuNTgyLTgsOHMzLjU4Miw4LDgsOGg0OGM0LjQxOCwwLDgtMy41ODIsOC04UzQ3Ni40MjMsOTIuMDAzLDQ3Mi4wMDUsOTIuMDAzeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",xle="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiB2aWV3Qm94PSIwIDAgMTI4IDEyOCI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTQ4LjQ1Nyw3Ny4yMjdhOC4wNjMsOC4wNjMsMCwwLDAtMTAuNCwxMi4zMjV2Ni45MjdhNS4yNzMsNS4yNzMsMCwwLDAsMTAuNTQ1LDBWODkuNTUzYTguMDYzLDguMDYzLDAsMCwwLS4xNDYtMTIuMzI2Wk00NS44NzQsODcuMjRhMS43NSwxLjc1LDAsMCwwLS43NzEsMS40NTF2Ny43ODdhMS43NzMsMS43NzMsMCwwLDEtMy41NDUsMFY4OC42OTFhMS43NDcsMS43NDcsMCwwLDAtLjc3My0xLjQ1MUE0LjU2Niw0LjU2NiwwLDAsMSw0Mi40LDc4Ljk3OGE0Ljg3Niw0Ljg3NiwwLDAsMSwuOTQtLjA5Miw0LjUsNC41LDAsMCwxLDIuODkzLDEuMDQxLDQuNTYyLDQuNTYyLDAsMCwxLS4zNTYsNy4zMTNaIi8+DQogICAgICAgIDxwYXRoIGQ9Ik0xMDUuMjI4LDQ0LjY2Myw2NS41OCw0My4zNlYxOS41MTRhNS4zNyw1LjM3LDAsMCwwLTUuMzYzLTUuMzY0SDI2LjQ0M2E1LjM3LDUuMzcsMCwwLDAtNS4zNjMsNS4zNjR2ODguOTcyYTUuMzcsNS4zNywwLDAsMCw1LjM2Myw1LjM2NEg2MC4yMTdhNS4zNyw1LjM3LDAsMCwwLDUuMzYzLTUuMzY0VjU5LjhsMzkuNjQ4LTEuM2ExLjc1LDEuNzUsMCwwLDAsMS42OTItMS43NDlWNDYuNDEyQTEuNzUsMS43NSwwLDAsMCwxMDUuMjI4LDQ0LjY2M1pNNjIuMDgsMTA4LjQ4NmExLjg2NiwxLjg2NiwwLDAsMS0xLjg2MywxLjg2NEgyNi40NDNhMS44NjYsMS44NjYsMCwwLDEtMS44NjMtMS44NjRWMTkuNTE0YTEuODY2LDEuODY2LDAsMCwxLDEuODYzLTEuODY0SDYwLjIxN2ExLjg2NiwxLjg2NiwwLDAsMSwxLjg2MywxLjg2NFY0My4yNDVsLTYuMjY3LS4yMDZhMTUuMTI3LDE1LjEyNywwLDEsMCwwLDE3LjA4Nmw2LjI2NC0uMjA2Wk00NC4zOSw2MC41aDBMNTEsNjAuMjg0YTExLjYxMiwxMS42MTIsMCwxLDEsLjA0LTE3LjRsLTYuNjQ5LS4yMTloLS4wNThBOC45Miw4LjkyLDAsMSwwLDQ0LjM5LDYwLjVabTU5LjAzLTUuNDQyLTM5LjU4NywxLjNoLS4wMDhMNDQuMzM0LDU3YTUuNDIsNS40MiwwLDAsMS0uMDI3LTEwLjg0bDU5LjExMywxLjk0M1oiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",kle="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMS45OTggNTExLjk5OCI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTUwMS4zNCwxMTcuMzM2Yy01LjkwNiwwLTEwLjY4OCw0Ljc3My0xMC42ODgsMTAuNjY0djg1LjMzNUg0NjkuMzR2LTIxLjMzNmMwLTIzLjUyMy0xOS4xNTYtNDIuNjYzLTQyLjY4OC00Mi42NjMNCgkJYy0xMi43MTgsMC0yNC4xNTUsNS42MDktMzEuOTk5LDE0LjQ5MWMtNy44MTItOC44ODItMTkuMjUtMTQuNDkxLTMyLTE0LjQ5MWMtMTIuNzE4LDAtMjQuMTU1LDUuNjA5LTMxLjk5OSwxNC40OTENCgkJYy03LjgxMi04Ljg4Mi0xOS4yNS0xNC40OTEtMzItMTQuNDkxYy0xMi43MTksMC0yNC4xNTYsNS42MDktMzEuOTkyLDE0LjQ5MWMtNy44Mi04Ljg4Mi0xOS4yNTgtMTQuNDkxLTMyLTE0LjQ5MQ0KCQljLTEyLjcyNiwwLTI0LjE3MSw1LjYwOS0zMiwxNC40OTFjLTcuODItOC44ODItMTkuMjU4LTE0LjQ5MS0zMi0xNC40OTFjLTEyLjcyNiwwLTI0LjE3MSw1LjYwOS0zMiwxNC40OTENCgkJYy03LjgyLTguODgyLTE5LjI1OC0xNC40OTEtMzItMTQuNDkxYy0xOS44MzUsMC0zNi41NywxMy42MTYtNDEuMzIsMzEuOTk5SDMyYy01Ljg5MSwwLTEwLjY2NCw0Ljc3My0xMC42NjQsMTAuNjY0djIxLjMzNkgxMC42NjQNCgkJQzQuNzczLDIxMy4zMzUsMCwyMTguMTA4LDAsMjIzLjk5OXM0Ljc3MywxMC42NjQsMTAuNjY0LDEwLjY2NGgxMC42NzJ2MjEuMzM2YzAsNS44OTEsNC43NzMsMTAuNjY0LDEwLjY2NCwxMC42NjRoMzJ2MjAyLjY3OA0KCQljMCwyMy41MTYsMTkuMTQxLDQyLjY1Niw0Mi42NjQsNDIuNjU2YzEyLjc0MiwwLDI0LjE4LTUuNjI1LDMyLTE0LjVjNy44MjgsOC44NzUsMTkuMjczLDE0LjUsMzIsMTQuNQ0KCQljMTIuNzQyLDAsMjQuMTgtNS42MjUsMzItMTQuNWM3LjgyOCw4Ljg3NSwxOS4yNzMsMTQuNSwzMiwxNC41YzEyLjc0MiwwLDI0LjE4LTUuNjI1LDMyLTE0LjUNCgkJYzcuODM2LDguODc1LDE5LjI3MywxNC41LDMxLjk5MiwxNC41YzEyLjc1LDAsMjQuMTg4LTUuNjI1LDMyLTE0LjVjNy44NDQsOC44NzUsMTkuMjgxLDE0LjUsMzEuOTk5LDE0LjUNCgkJYzEyLjc1LDAsMjQuMTg4LTUuNjI1LDMyLTE0LjVjNy44NDQsOC44NzUsMTkuMjgxLDE0LjUsMzEuOTk5LDE0LjVjMjMuNTMxLDAsNDIuNjg4LTE5LjE0MSw0Mi42ODgtNDIuNjU2VjIzNC42NjNoMzINCgkJYzUuODc1LDAsMTAuNjU2LTQuNzczLDEwLjY1Ni0xMC42NjRWMTI4QzUxMS45OTYsMTIyLjEwOSw1MDcuMjE1LDExNy4zMzYsNTAxLjM0LDExNy4zMzZ6IE02NCwyNDUuMzM1SDQyLjY2NHYtNDIuNjcySDY0VjI0NS4zMzUNCgkJeiBNMTI3Ljk5OSw0NjkuMzQxYzAsMTEuNzUtOS41NjMsMjEuMzEyLTIxLjMzNiwyMS4zMTJjLTExLjc1NywwLTIxLjMyOC05LjU2Mi0yMS4zMjgtMjEuMzEyVjI1NS45OTl2LTY0DQoJCWMwLTExLjc1OCw5LjU3LTIxLjMzNiwyMS4zMjgtMjEuMzM2YzExLjc3MywwLDIxLjMzNiw5LjU3OCwyMS4zMzYsMjEuMzM2VjQ2OS4zNDF6IE0xOTEuOTk5LDQ2OS4zNDENCgkJYy0wLjAwMSwxMS43NS05LjU2MywyMS4zMTItMjEuMzM2LDIxLjMxMmMtMTEuNzU3LDAtMjEuMzI4LTkuNTYyLTIxLjMyOC0yMS4zMTJWMTkxLjk5OWMwLTExLjc1OCw5LjU3LTIxLjMzNiwyMS4zMjgtMjEuMzM2DQoJCWMxMS43NzMsMCwyMS4zMzYsOS41NzgsMjEuMzM2LDIxLjMzNlY0NjkuMzQxeiBNMjU1Ljk5OCw0NjkuMzQxYzAsMTEuNzUtOS41NjIsMjEuMzEyLTIxLjMzNiwyMS4zMTINCgkJYy0xMS43NTcsMC0yMS4zMjgtOS41NjItMjEuMzI4LTIxLjMxMlYxOTEuOTk5YzAtMTEuNzU4LDkuNTctMjEuMzM2LDIxLjMyOC0yMS4zMzZjMTEuNzczLDAsMjEuMzM2LDkuNTc4LDIxLjMzNiwyMS4zMzZWNDY5LjM0MXoNCgkJIE0zMTkuOTk4LDQ2OS4zNDFjMCwxMS43NS05LjU2MiwyMS4zMTItMjEuMzQ0LDIxLjMxMmMtMTEuNzUsMC0yMS4zMTItOS41NjItMjEuMzEyLTIxLjMxMlYxOTEuOTk5DQoJCWMwLTExLjc1OCw5LjU2Mi0yMS4zMzYsMjEuMzEyLTIxLjMzNmMxMS43ODEsMCwyMS4zNDQsOS41NzgsMjEuMzQ0LDIxLjMzNlY0NjkuMzQxeiBNMzgzLjk5Nyw0NjkuMzQxDQoJCWMwLDExLjc1LTkuNTYyLDIxLjMxMi0yMS4zNDQsMjEuMzEyYy0xMS43NDksMC0yMS4zMTItOS41NjItMjEuMzEyLTIxLjMxMlYxOTEuOTk5YzAtMTEuNzU4LDkuNTYyLTIxLjMzNiwyMS4zMTItMjEuMzM2DQoJCWMxMS43ODEsMCwyMS4zNDQsOS41NzgsMjEuMzQ0LDIxLjMzNlY0NjkuMzQxeiBNNDQ3Ljk5Niw0NjkuMzQxYzAsMTEuNzUtOS41NjIsMjEuMzEyLTIxLjM0NCwyMS4zMTINCgkJYy0xMS43NDksMC0yMS4zMTItOS41NjItMjEuMzEyLTIxLjMxMlYxOTEuOTk5YzAtMTEuNzU4LDkuNTYyLTIxLjMzNiwyMS4zMTItMjEuMzM2YzExLjc4MSwwLDIxLjM0NCw5LjU3OCwyMS4zNDQsMjEuMzM2VjQ2OS4zNDENCgkJeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzU2Ljg3MSwxMDMuNjcyYy0xLjMxMi00LjUzOS0wLjUtNy44NDQsMi42ODgtMTEuMDU1YzguNjU2LTguNjk1LDExLjUzMS0xOS45ODQsOC4wNjItMzEuODEyDQoJCQljLTIuMzEyLTcuOTM4LTYuODEyLTEzLjU0Ny03LjM3NS0xNC4yNWMtMC4wMzEsMC0wLjAzMS0wLjAwOC0wLjAzMS0wLjAwOHYtMC4wMTVjLTEuOTY5LTIuMzU5LTQuOTA2LTMuODY3LTguMjE5LTMuODY3DQoJCQljLTUuODksMC0xMC42NTUsNC43ODEtMTAuNjU1LDEwLjY3MmMwLDIuNTg2LDAuOTA2LDQuOTYxLDIuNDM4LDYuODA1YzAuMDMxLDAuMDIzLDIuMjgxLDIuOTM4LDMuMzc1LDYuNjU2DQoJCQljMS4yNjYsNC4zNjcsMC40NjksNy41ODYtMi43MTksMTAuNzY2Yy04LjYyNSw4LjY3OC0xMS41MTUsMjAuMDQ1LTguMDc4LDMxLjk5OGMyLjMyOCw4LjEwMiw2LjgyOCwxMy44MzYsNy4zMjgsMTQuNDY5di0wLjAwOA0KCQkJYzEuOTY5LDIuNDIyLDQuOTUzLDMuOTc3LDguMzEyLDMuOTc3YzUuODkxLDAsMTAuNjU2LTQuNzczLDEwLjY1Ni0xMC42NjRjMC0yLjUzOS0wLjg3NS00Ljg2Ny0yLjM0NC02LjY5NQ0KCQkJQzM2MC4yNzgsMTEwLjYxLDM1Ny45NjUsMTA3LjU1NSwzNTYuODcxLDEwMy42NzJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0yNjguNjU2LDk2LjYxYy0yLjQ2MS05LjgzNi0wLjQ5Mi0xOC4xOTUsNi0yNS41NDdjMTEuNDA2LTEyLjg5MSwxNS4wMzEtMjguNjk1LDEwLjUtNDUuNzI2DQoJCQljLTMuMTg4LTExLjkzOC05LjMxMi0yMC4yMjctMTAtMjEuMTMzVjQuMjJjLTEuOTY5LTIuNTU1LTUuMDIzLTQuMjE5LTguNDkyLTQuMjE5Yy01Ljg5MywwLTEwLjY2Niw0Ljc3My0xMC42NjYsMTAuNjY0DQoJCQljMCwyLjQxNCwwLjgwNSw0LjYzMywyLjE1Niw2LjQxNGgtMC4wMTZjMC4wNDcsMC4wNjIsNC40OTIsNi4xMDksNi41NDcsMTQuMzJjMi40NTMsOS44MjcsMC40ODQsMTguMTg3LTYuMDE2LDI1LjUzOA0KCQkJYy0xMS4zOSwxMi44OTEtMTUuMDE1LDI4LjY5Ni0xMC40ODMsNDUuNzI3YzMuMTcyLDExLjkzOCw5LjMwNSwyMC4yMjcsOS45ODQsMjEuMTMzbDAuMDE2LTAuMDE2DQoJCQljMS45NDUsMi41Nyw1LjAxNiw0LjIxOSw4LjQ3Nyw0LjIxOWM1Ljg5OCwwLDEwLjY4LTQuNzczLDEwLjY4LTEwLjY2NGMwLTIuNDE0LTAuODEyLTQuNjMzLTIuMTU2LTYuNDE0DQoJCQlDMjc1LjE0LDExMC44NiwyNzAuNjk1LDEwNC44MTMsMjY4LjY1Niw5Ni42MXoiLz4NCiAgICAgICAgPHBhdGggZD0iTTE4OS42NCwxMTAuNjQxYy0wLjAyMy0wLjAzMS0yLjMyOC0zLjA4Ni0zLjQ0NS02Ljk2OWMtMS4zMDUtNC41MzktMC41LTcuODQ0LDIuNjk1LTExLjA1NQ0KCQkJYzguNjY0LTguNjk1LDExLjUyMy0xOS45ODQsOC4wNjItMzEuODEyYy0yLjMyLTcuOTM4LTYuNzg5LTEzLjUzMS03LjM5MS0xNC4yNWMwLDAsMC0wLjAwOC0wLjAwOC0wLjAwOGwtMC4wMDgtMC4wMjN2MC4wMDgNCgkJCWMtMS45NjEtMi4zNTktNC45MDYtMy44NjctOC4yMTEtMy44NjdjLTUuODkxLDAtMTAuNjcyLDQuNzgxLTEwLjY3MiwxMC42NzJjMCwyLjU4NiwwLjkyMiw0Ljk2MSwyLjQ1Myw2LjgwNQ0KCQkJYzAuMDIzLDAuMDIzLDIuMjczLDIuOTM4LDMuMzU5LDYuNjU2YzEuMjgxLDQuMzY3LDAuNDY5LDcuNTg2LTIuNzAzLDEwLjc2NmMtOC42NCw4LjY3OC0xMS41MTUsMjAuMDQ1LTguMDc3LDMxLjk5OA0KCQkJYzIuMzI4LDguMTAyLDYuODI4LDEzLjgzNiw3LjMzNiwxNC40Njl2LTAuMDA4YzEuOTYxLDIuNDIyLDQuOTQ1LDMuOTc3LDguMzA1LDMuOTc3YzUuODkxLDAsMTAuNjY0LTQuNzczLDEwLjY2NC0xMC42NjQNCgkJCWMwLTIuNTM5LTAuODkxLTQuODY3LTIuMzY3LTYuNjk1SDE4OS42NHoiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",Yle="PHN2ZyBoZWlnaHQ9IjQ5NnB0IiB2aWV3Qm94PSIwIC0xIDQ5NiA0OTUiIHdpZHRoPSI0OTZwdCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtNDg4IDMyMC41aC00MHYtMzJjMC0yLjEyODkwNi0uODM5ODQ0LTQuMTYwMTU2LTIuMzQzNzUtNS42NTYyNWwtMTIwLTEyMGMtMS40OTYwOTQtMS41MDM5MDYtMy41MjczNDQtMi4zNDM3NS01LjY1NjI1LTIuMzQzNzVoLTE2di0xNTJjMC00LjQyNTc4MS0zLjU3NDIxOS04LTgtOGgtOTZjLTQuNDI1NzgxIDAtOCAzLjU3NDIxOS04IDh2MTUyaC0yNGMtMi4xMjg5MDYgMC00LjE2MDE1Ni44Mzk4NDQtNS42NTYyNSAyLjM0Mzc1bC0xMjAgMTIwYy0xLjUwMzkwNiAxLjQ5NjA5NC0yLjM0Mzc1IDMuNTI3MzQ0LTIuMzQzNzUgNS42NTYyNXYzMmgtMzJjLTQuNDI1NzgxIDAtOCAzLjU3NDIxOS04IDh2NDhjMCA0LjQyNTc4MSAzLjU3NDIxOSA4IDggOGg0ODBjNC40MjU3ODEgMCA4LTMuNTc0MjE5IDgtOHYtNDhjMC00LjQyNTc4MS0zLjU3NDIxOS04LTgtOHptLTI4MC0zMDRoODB2MTkyaC04MHptLTE1MiAyNzUuMzEyNSAxMTUuMzEyNS0xMTUuMzEyNWgyMC42ODc1djQwYzAgNC40MjU3ODEgMy41NzQyMTkgOCA4IDhoOTZjNC40MjU3ODEgMCA4LTMuNTc0MjE5IDgtOHYtNDBoMTIuNjg3NWwxMTUuMzEyNSAxMTUuMzEyNXYyOC42ODc1aC0zNzZ6bTQyNCA3Ni42ODc1aC00NjR2LTMyaDQ2NHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xNzkuMzEyNSA0NDAuNWMtMi4xMzY3MTktMi4xNDQ1MzEtMy4zMTI1LTQuOTc2NTYyLTMuMzEyNS04czEuMTc1NzgxLTUuODU1NDY5IDMuMzEyNS04bDEwLjM0Mzc1LTEwLjM0Mzc1LTExLjMxMjUtMTEuMzEyNS0xMC4zNDM3NSAxMC4zNDM3NWMtNS4xNjAxNTYgNS4xNjAxNTYtOCAxMi4wMTU2MjUtOCAxOS4zMTI1czIuODM5ODQ0IDE0LjE2MDE1NiA4IDE5LjMxMjVsNC42ODc1IDQuNjg3NWMyLjEzNjcxOSAyLjE0NDUzMSAzLjMxMjUgNC45NzY1NjIgMy4zMTI1IDhzLTEuMTc1NzgxIDUuODU1NDY5LTMuMzEyNSA4bC0xMC4zNDM3NSAxMC4zNDM3NSAxMS4zMTI1IDExLjMxMjUgMTAuMzQzNzUtMTAuMzQzNzVjNS4xNjAxNTYtNS4xNjAxNTYgOC0xMi4wMTU2MjUgOC0xOS4zMTI1cy0yLjgzOTg0NC0xNC4xNjAxNTYtOC0xOS4zMTI1em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTIyNy4zMTI1IDQ0MC41Yy0yLjEzNjcxOS0yLjE0NDUzMS0zLjMxMjUtNC45NzY1NjItMy4zMTI1LThzMS4xNzU3ODEtNS44NTU0NjkgMy4zMTI1LThsMTAuMzQzNzUtMTAuMzQzNzUtMTEuMzEyNS0xMS4zMTI1LTEwLjM0Mzc1IDEwLjM0Mzc1Yy01LjE2MDE1NiA1LjE2MDE1Ni04IDEyLjAxNTYyNS04IDE5LjMxMjVzMi44Mzk4NDQgMTQuMTYwMTU2IDggMTkuMzEyNWw0LjY4NzUgNC42ODc1YzIuMTM2NzE5IDIuMTQ0NTMxIDMuMzEyNSA0Ljk3NjU2MiAzLjMxMjUgOHMtMS4xNzU3ODEgNS44NTU0NjktMy4zMTI1IDhsLTEwLjM0Mzc1IDEwLjM0Mzc1IDExLjMxMjUgMTEuMzEyNSAxMC4zNDM3NS0xMC4zNDM3NWM1LjE2MDE1Ni01LjE2MDE1NiA4LTEyLjAxNTYyNSA4LTE5LjMxMjVzLTIuODM5ODQ0LTE0LjE2MDE1Ni04LTE5LjMxMjV6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMjc1LjMxMjUgNDQwLjVjLTIuMTM2NzE5LTIuMTQ0NTMxLTMuMzEyNS00Ljk3NjU2Mi0zLjMxMjUtOHMxLjE3NTc4MS01Ljg1NTQ2OSAzLjMxMjUtOGwxMC4zNDM3NS0xMC4zNDM3NS0xMS4zMTI1LTExLjMxMjUtMTAuMzQzNzUgMTAuMzQzNzVjLTUuMTYwMTU2IDUuMTYwMTU2LTggMTIuMDE1NjI1LTggMTkuMzEyNXMyLjgzOTg0NCAxNC4xNjAxNTYgOCAxOS4zMTI1bDQuNjg3NSA0LjY4NzVjMi4xMzY3MTkgMi4xNDQ1MzEgMy4zMTI1IDQuOTc2NTYyIDMuMzEyNSA4cy0xLjE3NTc4MSA1Ljg1NTQ2OS0zLjMxMjUgOGwtMTAuMzQzNzUgMTAuMzQzNzUgMTEuMzEyNSAxMS4zMTI1IDEwLjM0Mzc1LTEwLjM0Mzc1YzUuMTYwMTU2LTUuMTYwMTU2IDgtMTIuMDE1NjI1IDgtMTkuMzEyNXMtMi44Mzk4NDQtMTQuMTYwMTU2LTgtMTkuMzEyNXptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0zMjMuMzEyNSA0NDAuNWMtMi4xMzY3MTktMi4xNDQ1MzEtMy4zMTI1LTQuOTc2NTYyLTMuMzEyNS04czEuMTc1NzgxLTUuODU1NDY5IDMuMzEyNS04bDEwLjM0Mzc1LTEwLjM0Mzc1LTExLjMxMjUtMTEuMzEyNS0xMC4zNDM3NSAxMC4zNDM3NWMtNS4xNjAxNTYgNS4xNjAxNTYtOCAxMi4wMTU2MjUtOCAxOS4zMTI1czIuODM5ODQ0IDE0LjE2MDE1NiA4IDE5LjMxMjVsNC42ODc1IDQuNjg3NWMyLjEzNjcxOSAyLjE0NDUzMSAzLjMxMjUgNC45NzY1NjIgMy4zMTI1IDhzLTEuMTc1NzgxIDUuODU1NDY5LTMuMzEyNSA4bC0xMC4zNDM3NSAxMC4zNDM3NSAxMS4zMTI1IDExLjMxMjUgMTAuMzQzNzUtMTAuMzQzNzVjNS4xNjAxNTYtNS4xNjAxNTYgOC0xMi4wMTU2MjUgOC0xOS4zMTI1cy0yLjgzOTg0NC0xNC4xNjAxNTYtOC0xOS4zMTI1em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTM4NCAyODguNWgxNnYxNmgtMTZ6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMzUyIDI4OC41aDE2djE2aC0xNnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0zMjAgMjg4LjVoMTZ2MTZoLTE2em0wIDAiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",Qle="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMi4wMDUgNTEyLjAwNSI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTMyNy4xNTksMi43NjZjLTQuMDYzLTMuNjg4LTEwLjI1LTMuNjg4LTE0LjMxMywwYy00LjY0Miw0LjE4Ni0xMTAuODg5LDEwMS4yOTItMTYwLjIyOCwyMTMuODM5DQoJCQkJYy01LjMxOC0xLjg2Ny0xMS40NC0zLjI2Ni0xOS4zNTUtMy4yNjZjLTE4LjY3NywwLTI4LjY5OCw2Ljk2OS0zNi43NSwxMi41NzNjLTcuMDMxLDQuODk2LTEyLjU4Myw4Ljc2LTI0LjU3Myw4Ljc2DQoJCQkJYy0xMS45NjksMC0xNy41MjEtMy44NjUtMjQuNTQyLTguNzVjLTguMDQyLTUuNjA0LTE4LjA2My0xMi41ODMtMzYuNzI5LTEyLjU4M2MtNS44OTYsMC0xMC42NjcsNC43NzEtMTAuNjY3LDEwLjY2Nw0KCQkJCWMwLDUuODk2LDQuNzcxLDEwLjY2NywxMC42NjcsMTAuNjY3YzExLjk2OSwwLDE3LjUyMSwzLjg2NSwyNC41NDIsOC43NWM4LjA0Miw1LjYwNCwxOC4wNjMsMTIuNTgzLDM2LjcyOSwxMi41ODMNCgkJCQljMTguNjc3LDAsMjguNzA4LTYuOTc5LDM2Ljc2LTEyLjU4M2M3LjAzMS00Ljg4NSwxMi41ODMtOC43NSwyNC41NjMtOC43NWMxMiwwLDE3LjU2MywzLjg2NSwyNC42MDQsOC43Ng0KCQkJCWM4LjA1Miw1LjYwNCwxOC4wODMsMTIuNTczLDM2Ljc3MSwxMi41NzNjMTguNjc3LDAsMjguNzA4LTYuOTY5LDM2Ljc3MS0xMi41NzNjNy4wMzEtNC44OTYsMTIuNTk0LTguNzYsMjQuNTk0LTguNzYNCgkJCQljNS44OTYsMCwxMC42NjctNC43NzEsMTAuNjY3LTEwLjY2N2MwLTUuODk2LTQuNzcxLTEwLjY2Ny0xMC42NjctMTAuNjY3Yy0xOC42ODcsMC0yOC43MTksNi45NjktMzYuNzgxLDEyLjU3Mw0KCQkJCWMtNy4wMzEsNC44OTYtMTIuNTk0LDguNzYtMjQuNTgzLDguNzZjLTExLjIwOCwwLTE2LjgyMy0zLjQxOS0yMy4yNDItNy44NTRjNDAuMTIxLTkyLjY2MSwxMjMuNjYxLTE3Ny40NjYsMTQ4LjYwNy0yMDEuNDkNCgkJCQljMzMuMjE5LDMyLjAxLDE3MC42NjcsMTcxLjg2NSwxNzAuNjY3LDI5NC42NzdjMCw5NC4xMDQtNzYuNTYzLDE3MC42NjctMTcwLjY2NywxNzAuNjY3Yy00Mi40NzcsMC04Mi42NjktMTUuODIyLTExMy43OC00My43NTgNCgkJCQljMTEuNTQyLTIuMTM4LDE4Ljk5NC03LjE3NywyNS4xODYtMTEuNDgyYzcuMDMxLTQuODk2LDEyLjU5NC04Ljc2LDI0LjU5NC04Ljc2YzUuODk2LDAsMTAuNjY3LTQuNzcxLDEwLjY2Ny0xMC42NjcNCgkJCQlzLTQuNzcxLTEwLjY2Ny0xMC42NjctMTAuNjY3Yy0xOC42ODcsMC0yOC43MTksNi45NjktMzYuNzgxLDEyLjU3M2MtNy4wMzEsNC44OTYtMTIuNTk0LDguNzYtMjQuNTgzLDguNzYNCgkJCQljLTEyLDAtMTcuNTYzLTMuODY1LTI0LjU5NC04Ljc2Yy04LjA2My01LjYwNC0xOC4wOTQtMTIuNTczLTM2Ljc4MS0xMi41NzNjLTE4LjY3NywwLTI4LjY5OCw2Ljk2OS0zNi43NSwxMi41NzMNCgkJCQljLTcuMDMxLDQuODk2LTEyLjU4Myw4Ljc2LTI0LjU3Myw4Ljc2Yy0xMS45NjksMC0xNy41MjEtMy44NjUtMjQuNTQyLTguNzVjLTguMDQyLTUuNjA0LTE4LjA2My0xMi41ODMtMzYuNzI5LTEyLjU4Mw0KCQkJCWMtNS44OTYsMC0xMC42NjcsNC43NzEtMTAuNjY3LDEwLjY2N3M0Ljc3MSwxMC42NjcsMTAuNjY3LDEwLjY2N2MxMS45NjksMCwxNy41MjEsMy44NjUsMjQuNTQyLDguNzUNCgkJCQljOC4wNDIsNS42MDQsMTguMDYzLDEyLjU4MywzNi43MjksMTIuNTgzYzE4LjY3NywwLDI4LjcwOC02Ljk3OSwzNi43Ni0xMi41ODNjNy4wMzEtNC44ODUsMTIuNTgzLTguNzUsMjQuNTYzLTguNzUNCgkJCQljMTIsMCwxNy41NjMsMy44NjUsMjQuNjA0LDguNzZjNC4zNDUsMy4wMjMsOS40MTQsNi4zNTUsMTUuOTYxLDguODY1YzM2LjYsNDIuOTk2LDg5LjY1NSw2Ny43MDgsMTQ2LjE3NCw2Ny43MDgNCgkJCQljMTA1Ljg2NSwwLDE5Mi04Ni4xMzUsMTkyLTE5MkM1MTIuMDAzLDE3MS42NDEsMzM0LjcwMSw5LjU4OSwzMjcuMTU5LDIuNzY2eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTAuNjY5LDM2Mi42NzJjMTEuOTY5LDAsMTcuNTIxLDMuODY1LDI0LjU0Miw4Ljc1YzguMDQyLDUuNjA0LDE4LjA2MywxMi41ODMsMzYuNzI5LDEyLjU4Mw0KCQkJCWM1Ljg5NiwwLDEwLjY2Ny00Ljc3MSwxMC42NjctMTAuNjY3YzAtNS44OTYtNC43NzEtMTAuNjY3LTEwLjY2Ny0xMC42NjdjLTExLjk2OSwwLTE3LjUyMS0zLjg2NS0yNC41NDItOC43NQ0KCQkJCWMtOC4wNDItNS42MDQtMTguMDYzLTEyLjU4My0zNi43MjktMTIuNTgzYy01Ljg5NiwwLTEwLjY2Nyw0Ljc3MS0xMC42NjcsMTAuNjY3UzQuNzczLDM2Mi42NzIsMTAuNjY5LDM2Mi42NzJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0xMzMuMjYzLDM0MS4zMzljLTUuODk2LDAtMTAuNjY3LDQuNzcxLTEwLjY2NywxMC42NjdzNC43NzEsMTAuNjY3LDEwLjY2NywxMC42NjdjMTIsMCwxNy41NjMsMy44NjUsMjQuNTk0LDguNzYNCgkJCQljOC4wNjMsNS42MDQsMTguMDk0LDEyLjU3MywzNi43ODEsMTIuNTczYzE4LjY3NywwLDI4LjcwOC02Ljk2OSwzNi43NzEtMTIuNTczYzcuMDMxLTQuODk2LDEyLjU5NC04Ljc2LDI0LjU5NC04Ljc2DQoJCQkJYzEyLjE5OCwwLDE4LjQwNiwzLjk2OSwyNi4yNSw4Ljk5YzkuMDUyLDUuNzgxLDE5LjMxMywxMi4zNDQsMzcuNzUsMTIuMzQ0YzUuODk2LDAsMTAuNjY3LTQuNzcxLDEwLjY2Ny0xMC42NjcNCgkJCQljMC01Ljg5Ni00Ljc3MS0xMC42NjctMTAuNjY3LTEwLjY2N2MtMTIuMTk4LDAtMTguNDA2LTMuOTY5LTI2LjI1LTguOTljLTkuMDUyLTUuNzgxLTE5LjMxMy0xMi4zNDQtMzcuNzUtMTIuMzQ0DQoJCQkJYy0xOC42ODcsMC0yOC43MTksNi45NjktMzYuNzgxLDEyLjU3M2MtNy4wMzEsNC44OTYtMTIuNTk0LDguNzYtMjQuNTgzLDguNzZjLTEyLDAtMTcuNTYzLTMuODY1LTI0LjYwNC04Ljc2DQoJCQkJQzE2MS45ODIsMzQ4LjMwNywxNTEuOTUxLDM0MS4zMzksMTMzLjI2MywzNDEuMzM5eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTMzLjI2MywyNzcuMzM5Yy0xOC42NzcsMC0yOC42OTgsNi45NjktMzYuNzUsMTIuNTczYy03LjAzMSw0Ljg5Ni0xMi41ODMsOC43Ni0yNC41NzMsOC43Ng0KCQkJCWMtMTEuOTY5LDAtMTcuNTIxLTMuODY1LTI0LjU0Mi04Ljc1Yy04LjA0Mi01LjYwNC0xOC4wNjMtMTIuNTgzLTM2LjcyOS0xMi41ODNjLTUuODk2LDAtMTAuNjY3LDQuNzcxLTEwLjY2NywxMC42NjcNCgkJCQljMCw1Ljg5Niw0Ljc3MSwxMC42NjcsMTAuNjY3LDEwLjY2N2MxMS45NjksMCwxNy41MjEsMy44NjUsMjQuNTQyLDguNzVjOC4wNDIsNS42MDQsMTguMDYzLDEyLjU4MywzNi43MjksMTIuNTgzDQoJCQkJYzE4LjY3NywwLDI4LjcwOC02Ljk3OSwzNi43Ni0xMi41ODNjNy4wMzEtNC44ODUsMTIuNTgzLTguNzUsMjQuNTYzLTguNzVjNS44OTYsMCwxMC42NjctNC43NzEsMTAuNjY3LTEwLjY2Nw0KCQkJCUMxNDMuOTMsMjgyLjEwOSwxMzkuMTU5LDI3Ny4zMzksMTMzLjI2MywyNzcuMzM5eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjMxLjQwOSwzMDcuNDMyYzcuMDMxLTQuODk2LDEyLjU5NC04Ljc2LDI0LjU5NC04Ljc2YzExLjk2OSwwLDE3LjUyMSwzLjg2NSwyNC41NDIsOC43NQ0KCQkJCWM4LjA0Miw1LjYwNCwxOC4wNjMsMTIuNTgzLDM2LjcyOSwxMi41ODNjMTguNjc3LDAsMjguNzA4LTYuOTc5LDM2Ljc2LTEyLjU4M2M3LjAzMS00Ljg4NSwxMi41ODMtOC43NSwyNC41NjMtOC43NQ0KCQkJCWM1Ljg5NiwwLDEwLjY2Ny00Ljc3MSwxMC42NjctMTAuNjY3YzAtNS44OTYtNC43NzEtMTAuNjY3LTEwLjY2Ny0xMC42NjdjLTE4LjY3NywwLTI4LjY5OCw2Ljk2OS0zNi43NSwxMi41NzMNCgkJCQljLTcuMDMxLDQuODk2LTEyLjU4Myw4Ljc2LTI0LjU3Myw4Ljc2Yy0xMS45NjksMC0xNy41MjEtMy44NjUtMjQuNTQyLTguNzVjLTguMDQyLTUuNjA0LTE4LjA2My0xMi41ODMtMzYuNzI5LTEyLjU4Mw0KCQkJCWMtMTguNjg3LDAtMjguNzE5LDYuOTY5LTM2Ljc4MSwxMi41NzNjLTcuMDMxLDQuODk2LTEyLjU5NCw4Ljc2LTI0LjU4Myw4Ljc2Yy01Ljg5NiwwLTEwLjY2Nyw0Ljc3MS0xMC42NjcsMTAuNjY3DQoJCQkJczQuNzcxLDEwLjY2NywxMC42NjcsMTAuNjY3QzIxMy4zMTUsMzIwLjAwNSwyMjMuMzQ2LDMxMy4wMzYsMjMxLjQwOSwzMDcuNDMyeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",Ule="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTUxMiAxNjMuODdjMC0xMy45LTUuNDEyLTI2Ljk2MS0xNS4yMzMtMzYuNzctOS44MTUtOS44MjgtMjIuODc2LTE1LjI0LTM2Ljc3Ni0xNS4yNGgtODAuOTdjLTI2LjcwNSAwLTQ4LjQzLTIxLjcyNi00OC40My00OC40MyAwLTEyLjkzOCA1LjAzNy0yNS4xMDEgMTQuMTg0LTM0LjI0NyA5LjE0NC05LjE0NiAyMS4zMDctMTQuMTgzIDM0LjI0NS0xNC4xODNoMTI1LjQ4YzQuMTQyIDAgNy41LTMuMzU4IDcuNS03LjVzLTMuMzU4LTcuNS03LjUtNy41aC0xMjUuNDhjLTE2Ljk0NSAwLTMyLjg3NCA2LjU5Ny00NC44NTMgMTguNTc3LTExLjk3OSAxMS45NzktMTguNTc3IDI3LjkwOC0xOC41NzcgNDQuODUzIDAgMzQuOTc1IDI4LjQ1NSA2My40MyA2My40MyA2My40M2g4MC45N2M5Ljg5IDAgMTkuMTgyIDMuODUgMjYuMTY5IDEwLjg0NyA2Ljk5MSA2Ljk4MiAxMC44NDEgMTYuMjczIDEwLjg0MSAyNi4xNjMgMCA4LjYzNy0zLjAzOCAxNy4wNDQtOC41NTcgMjMuNjc0bC0yMi4zMDUgMjYuODIyYy03Ljg4NC0yLjcyNS0xNi45ODktLjk3Mi0yMy4yODIgNS4zMTFsLTkuMDU4IDkuMDU4Yy0yMC4zMi0uNDItNDMuMDk4IDMuOTQtNjIuODIxIDcuNDI3LTQuMDc5LjcyMS02LjgwMSA0LjYxMy02LjA3OSA4LjY5MS43MjEgNC4wNzkgNC42MTMgNi43OTkgOC42OTEgNi4wNzkgMTguOTQyLTMuMzUgMzguMzkyLTUuNzY4IDU3LjgwOS03LjE4NSA3LjY4MS0uNTY2IDE0LjgzMyA0LjM5MyAxNi45ODUgMTEuNzggMS44MjcgNi4yNyA0Ny4wMjcgMTYwLjE2NyA0OC41MzMgMTY2LjU3NS40OTggMi4xMTktLjczOCAzLjY2LTIuOTEyIDMuNjYtMjIuNzg2IDAtNDEuMDQyIDE1LjY2LTQ4LjQ2NCAzNi40ODhoLTMyMC4zNzFjLTQuMTQyIDAtNy41IDMuMzU3LTcuNSA3LjVzMy4zNTggNy41IDcuNSA3LjVoMzI3Ljc4N2M1LjQ0NSAwIDkuODc1IDQuNDMgOS44NzUgOS44NzVzLTQuNDMxIDkuODc1LTkuODc2IDkuODc1aC00MzYuOTA2YzMuMjY1LTExLjM5MSAxMy43NzUtMTkuNzUgMjYuMi0xOS43NWg1Mi45MTljNC4xNDIgMCA3LjUtMy4zNTcgNy41LTcuNXMtMy4zNTgtNy41LTcuNS03LjVoLTQ0Ljk0NGM2Mi40NjItMTExLjU5OCAxNzEuOTAzLTE3Ny4wMjcgMjk0Ljc3OC0yMDUuNDg2IDQuMDM1LS45MzUgNi41NDktNC45NjMgNS42MTQtOC45OTktLjkzNC00LjAzNS00Ljk2NC02LjU0OS04Ljk5OS01LjYxNC03MS42MzIgMTYuNTk5LTE0My41OTMgNDcuMDUxLTIwMS40NzMgOTIuNjA2bC0xMC4wNzEtMTAuMDdjLTguNjM1LTguNzUyLTIzLjE1OS04LjY3OC0zMS44MjYtLjAxLTguNjMxIDguNjMyLTguNzI4IDIzLjE2NiAwIDMxLjgwN2w4LjA1MSA4LjA1MWMtMjkuNDY3IDI4Ljk1OS01NC4xMDIgNjIuMzItNzQuMDQyIDk4LjkyLTE4LjQ4NyA0LjUwMi0zMi4yNTYgMjEuMTkxLTMyLjI1NiA0MS4wNDUgMCA0LjE0MyAzLjM1OCA3LjUgNy41IDcuNWg0NDUuNDU1YzEzLjcxNiAwIDI0Ljg3NS0xMS4xNTkgMjQuODc1LTI0Ljg3NSAwLTEwLjc1LTYuODU1LTE5LjkyNy0xNi40MjQtMjMuMzk1IDUuMjYzLTEzLjU3MyAxNy45MDMtMjIuOTY5IDMyLjU5OC0yMi45NjkgMTEuNDgzIDAgMjAuMzAyLTExLjQwMSAxNy40MTEtMjIuNTEtLjAxOC0uMDcxLS4wMzgtLjE0Mi0uMDU4LS4yMTFsLTQ1Ljg1Ny0xNTcuMzkxIDkuMTYzLTkuMTU2YzcuMzU5LTcuMzAzIDguNjQ0LTE5LjA5MyAzLjE5Ny0yNy43NjJsMjIuMTE1LTI2LjU5M2M3Ljc1NC05LjMxOCAxMi4wMjUtMjEuMTMyIDEyLjAyNS0zMy4yNjh6bS00MDMuMTQ2IDE3MS40MTNjMS40Mi0xLjQyMSAzLjMwNS0yLjIwMyA1LjMwNy0yLjIwMyAxLjk5OSAwIDMuODc3Ljc3OSA1LjI5NiAyLjIwNGw5LjAxNCA5LjAxNGMtMy44MjUgMy4yNDMtNy41ODIgNi41NTEtMTEuMjc0IDkuOTIybC04LjM0NC04LjM0NGMtMi45Mi0yLjkyLTIuOTItNy42NzIuMDAxLTEwLjU5M3ptMzU1LjIwNS05NC4zOTgtMy45ODYgMy45ODNjLTIuNDk2LTQuNDYxLTYuMDM3LTguMjAzLTEwLjIzMy0xMC45NjFsMy42MTktMy42MTljMi45MjYtMi45MiA3LjY4LTIuOTIyIDEwLjU5OC0uMDA0IDEuNDIxIDEuNDIxIDIuMjAzIDMuMzAyIDIuMjAzIDUuMjk3IDAgMi0uNzgyIDMuODg1LTIuMjAxIDUuMzA0em0tMjE1Ljc2NSA5NC43NjRjLTEzLjgyNCA3LjY1My0yMi40MTIgMjIuMjM1LTIyLjQxMiAzOC4wNTYgMCAxMS45ODcgNS4wMTkgMjMuNTYzIDEzLjc3MSAzMS43NTggOC4wNjYgNy41NTMgMTguNzg4IDExLjc1NiAyOS43ODYgMTEuNzU1Ljk0IDAgMTUxLjA4LTkuODM4IDE1MS4wOC05LjgzOCA2LjkxMS0uNDU0IDEzLjIyNS0zLjkxNiAxNy4zMjItOS40OTggNC4wOTYtNS41NzkgNS41MDctMTIuNjM3IDMuODcyLTE5LjM2MmwtMTkuNTM4LTgwLjMyM2MtMy4wMTctMTIuNDA0LTE1LjE4My0yMC4wMTMtMjcuNjkzLTE3LjMyOS0zMC4wOTQgNi40NjYtNTkuNzg3IDE1LjU5NC04OC4yNTYgMjcuMTMtMTkuNzY4IDguMDEtMzkuMjU5IDE3LjMxMy01Ny45MzIgMjcuNjUxem0xMDcuMjY2IDYwLjk2OS02Ny40MyA0LjQzM3YtMTcuNjgxYzAtLjIzOC4yMDItLjQ0LjQ0LS40NGg2Ni41NWMuMjQzIDAgLjQ0LjE5Ny40NC40NHptNDIuMDcxLTEwMS4wODVjLjYxMy0uMTMyIDEuMjIzLS4xOTUgMS44MjMtLjE5NSAzLjgxNCAwIDcuMjEgMi41NTkgOC4xNDUgNi40MDNsMTkuNTM4IDgwLjMyM2MuNTk1IDIuNDQ2LjEwMiA0LjkxMS0xLjM4OCA2Ljk0LTEuNDkyIDIuMDMyLTMuNjk5IDMuMjQyLTYuMjE1IDMuNDA4bC00OC45NzQgMy4yMTl2LTEyLjI2MWMwLTguNTE0LTYuOTI2LTE1LjQ0LTE1LjQ0LTE1LjQ0aC02Ni41NWMtOC41MTQgMC0xNS40NCA2LjkyNy0xNS40NCAxNS40NHYxOC42NjdsLTEuODUuMTIyYy03Ljk1Ny41MTgtMTUuNTUyLTIuMTkyLTIxLjM3NS03LjY0NS01LjgxOS01LjQ0OS05LjAyNC0xMi44MzktOS4wMjQtMjAuODA5IDAtMTAuMzY3IDUuNjI0LTE5LjkyMSAxNC42NzctMjQuOTMzIDE4LjE0OC0xMC4wNDcgMzcuMDktMTkuMDg4IDU2LjMwMS0yNi44NzMgMjcuNjY2LTExLjIxMSA1Ni41MjUtMjAuMDgzIDg1Ljc3Mi0yNi4zNjZ6Ii8+DQogICAgPC9nPg0KPC9zdmc+",vle="PHN2ZyB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtNDM1LjIgMzI0LjI2N2gtMTAuOTA2Yy0zLjAyNC01LjI2My04LjYyNC04LjUxNS0xNC42OTQtOC41MzN2LTE3LjA2N2MwLTkuNDI2LTcuNjQxLTE3LjA2Ny0xNy4wNjctMTcuMDY3aC0xNy4wNjdjLTkuNDI2IDAtMTcuMDY3IDcuNjQxLTE3LjA2NyAxNy4wNjd2MTcuMDY3Yy02LjA3LjAxOC0xMS42NyAzLjI3LTE0LjY5NCA4LjUzM2gtMjMyLjc3MmMtMTQuMTM4IDAtMjUuNi0xMS40NjItMjUuNi0yNS42czExLjQ2Mi0yNS42IDI1LjYtMjUuNmgzNi41MDZjMy4wMjQgNS4yNjMgOC42MjQgOC41MTUgMTQuNjk0IDguNTMzaDUxLjJjNi4wNy0uMDE4IDExLjY3LTMuMjcgMTQuNjk0LTguNTMzaDYyLjEwNmMxNC4xMzggMCAyNS42LTExLjQ2MiAyNS42LTI1LjZzLTExLjQ2Mi0yNS42LTI1LjYtMjUuNmgtNjIuMTA2Yy0zLjAyNC01LjI2My04LjYyNC04LjUxNS0xNC42OTQtOC41MzN2LTE3LjA2N2MwLTkuNDI2LTcuNjQxLTE3LjA2Ny0xNy4wNjctMTcuMDY3aC0xNy4wNjZjLTkuNDI2IDAtMTcuMDY3IDcuNjQxLTE3LjA2NyAxNy4wNjd2MTcuMDY3Yy02LjA3LjAxOC0xMS42NyAzLjI3LTE0LjY5NCA4LjUzM2gtMzYuNTA2Yy00Mi40MTUgMC03Ni44IDM0LjM4NS03Ni44IDc2LjhzMzQuMzg1IDc2LjggNzYuOCA3Ni44aDIzMi43NzJjMy4wMjQgNS4yNjMgOC42MjQgOC41MTUgMTQuNjk0IDguNTMzaDUxLjJjNi4wNy0uMDE4IDExLjY3LTMuMjcgMTQuNjk0LTguNTMzaDEwLjkwN2MxNC4xMzggMCAyNS42IDExLjQ2MiAyNS42IDI1LjZzLTExLjQ2MiAyNS42LTI1LjYgMjUuNmgtMzA5LjU3MmMtMy4wMjQtNS4yNjMtOC42MjQtOC41MTUtMTQuNjk0LTguNTMzdi0xNy4wNjdjMC05LjQyNi03LjY0MS0xNy4wNjctMTcuMDY3LTE3LjA2N2gtMTcuMDY3Yy05LjQyNiAwLTE3LjA2NyA3LjY0MS0xNy4wNjcgMTcuMDY3djE3LjA2N2MtNi4wNy4wMTgtMTEuNjcgMy4yNy0xNC42OTQgOC41MzNoLTE5LjQzOWMtMTQuMTM4IDAtMjUuNiAxMS40NjItMjUuNiAyNS42czExLjQ2MiAyNS42IDI1LjYgMjUuNmgxOS40MzljMy4wMjQgNS4yNjMgOC42MjQgOC41MTUgMTQuNjk0IDguNTMzaDUxLjJjNi4wNy0uMDE4IDExLjY3LTMuMjcgMTQuNjk0LTguNTMzaDMwOS41NzNjNDIuNDE1IDAgNzYuOC0zNC4zODUgNzYuOC03Ni44cy0zNC4zODUtNzYuOC03Ni44LTc2Ljh6bS01OS43MzMtMjUuNmgxNy4wNjd2MTcuMDY3aC0xNy4wNjd6bS03Ni44LTUxLjJjMCA0LjcxMy0zLjgyMSA4LjUzMy04LjUzMyA4LjUzM2gtNTkuNzM0di0xNy4wNjdoNTkuNzMzYzQuNzEzIDAgOC41MzQgMy44MjEgOC41MzQgOC41MzR6bS0xMTkuNDY3LTUxLjJoMTcuMDY3djE3LjA2N2gtMTcuMDY3em0tOC41MzMgMzQuMTMzaDQyLjY2N3YzNC4xMzNoLTUxLjJ2LTM0LjEzM3ptLTExOS40NjcgNjguMjY3Yy4wMzgtMzIuOTc0IDI2Ljc1OS01OS42OTYgNTkuNzMzLTU5LjczM2gzNC4xMzN2MTcuMDY2aC0zNC4xMzNjLTIzLjU2NCAwLTQyLjY2NyAxOS4xMDMtNDIuNjY3IDQyLjY2N3MxOS4xMDMgNDIuNjY3IDQyLjY2NyA0Mi42NjdoMjMwLjR2MTcuMDY2aC0yMzAuNGMtMzIuOTc0LS4wMzgtNTkuNjk1LTI2Ljc1OS01OS43MzMtNTkuNzMzem0zMDcuMiA2OC4yNjZ2LTM0LjEzM2g1MS4ydjM0LjEzM3ptLTI4MS42IDM0LjEzNGgxNy4wNjd2MTcuMDY3aC0xNy4wNjd6bS01OS43MzMgNTEuMmMwLTQuNzEzIDMuODIxLTguNTMzIDguNTMzLTguNTMzaDE3LjA2N3YxNy4wNjZoLTE3LjA2N2MtNC43MTMgMC04LjUzMy0zLjgyLTguNTMzLTguNTMzem00Mi42NjYgMTcuMDY2di0zNC4xMzNoNTEuMnYzNC4xMzN6bTM3NS40NjctOC41MzNoLTMwNy4ydi0xNy4wNjdoMzA3LjJjMjMuNTY0IDAgNDIuNjY3LTE5LjEwMyA0Mi42NjctNDIuNjY3cy0xOS4xMDMtNDIuNjY3LTQyLjY2Ny00Mi42NjdoLTguNTMzdi0xNy4wNjdoOC41MzNjMzIuOTkgMCA1OS43MzMgMjYuNzQ0IDU5LjczMyA1OS43MzNzLTI2Ljc0MyA1OS43MzUtNTkuNzMzIDU5LjczNXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTE4Ny43MzMgMTYyLjEzM2M0LjcxMyAwIDguNTMzLTMuODIxIDguNTMzLTguNTMzdi0xNy4wNjdjMC00LjcxMy0zLjgyMS04LjUzMy04LjUzMy04LjUzMy00LjcxMyAwLTguNTMzIDMuODIxLTguNTMzIDguNTMzdjE3LjA2N2MwIDQuNzEzIDMuODIxIDguNTMzIDguNTMzIDguNTMzeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTg3LjczMyAxMTAuOTMzYzQuNzEzIDAgOC41MzMtMy44MjEgOC41MzMtOC41MzN2LTE3LjA2N2MwLTQuNzEzLTMuODIxLTguNTMzLTguNTMzLTguNTMzLTQuNzEzIDAtOC41MzMgMy44MjEtOC41MzMgOC41MzN2MTcuMDY3YzAgNC43MTMgMy44MjEgOC41MzMgOC41MzMgOC41MzN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xODcuNzMzIDU5LjczM2M0LjcxMyAwIDguNTMzLTMuODIxIDguNTMzLTguNTMzdi0xNy4wNjdjMC00LjcxMy0zLjgyMS04LjUzMy04LjUzMy04LjUzMy00LjcxMyAwLTguNTMzIDMuODIxLTguNTMzIDguNTMzdjE3LjA2N2MwIDQuNzEzIDMuODIxIDguNTMzIDguNTMzIDguNTMzeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTU0Ljc0MyAxNTcuODY3YzEuNTEzIDIuNjYyIDQuMzM3IDQuMzA5IDcuMzk5IDQuMzE2czUuODkzLTEuNjI4IDcuNDE4LTQuMjgzIDEuNTExLTUuOTI0LS4wMzgtOC41NjZsLTguNTMzLTE0Ljc4Yy0xLjUxMy0yLjY2Mi00LjMzNy00LjMwOS03LjM5OS00LjMxNnMtNS44OTMgMS42MjgtNy40MTggNC4yODMtMS41MTEgNS45MjQuMDM4IDguNTY2eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTI5LjE0MyAxMTMuNDkzYzEuNTEzIDIuNjYyIDQuMzM3IDQuMzA5IDcuMzk5IDQuMzE2czUuODkzLTEuNjI4IDcuNDE4LTQuMjgzIDEuNTExLTUuOTI0LS4wMzgtOC41NjZsLTguNTMzLTE0Ljc4Yy0xLjUxMy0yLjY2Mi00LjMzNy00LjMwOS03LjM5OS00LjMxNnMtNS44OTMgMS42MjgtNy40MTggNC4yODMtMS41MTEgNS45MjQuMDM4IDguNTY2eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTAzLjU0MyA2OS4xODhjMi4zNzIgNC4wNDcgNy41NjYgNS40MiAxMS42MjggMy4wNzQgNC4wNjItMi4zNDUgNS40Ny03LjUzIDMuMTUxLTExLjYwOGwtOC41MzMtMTQuNzg4Yy0xLjUxMy0yLjY2Mi00LjMzNy00LjMwOS03LjM5OS00LjMxNnMtNS44OTMgMS42MjgtNy40MTggNC4yODMtMS41MTEgNS45MjQuMDM4IDguNTY2eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjA5LjA2NyAxNjAuOTljNC4wODEgMi4zNTYgOS4zLjk1OCAxMS42NTctMy4xMjNsOC41MzMtMTQuNzhjMS41NDktMi42NDIgMS41NjMtNS45MTEuMDM4LTguNTY2cy00LjM1Ni00LjI5LTcuNDE4LTQuMjgzLTUuODg2IDEuNjU0LTcuMzk5IDQuMzE2bC04LjUzMyAxNC43OGMtMi4zNTggNC4wODEtLjk2IDkuMjk5IDMuMTIyIDExLjY1NnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTIzNC42NjcgMTE2LjY1MWM0LjA4MSAyLjM1NiA5LjMuOTU4IDExLjY1Ny0zLjEyM2w4LjUzMy0xNC43OGMxLjU0OS0yLjY0MiAxLjU2My01LjkxMS4wMzgtOC41NjZzLTQuMzU2LTQuMjktNy40MTgtNC4yODMtNS44ODYgMS42NTQtNy4zOTkgNC4zMTZsLTguNTMzIDE0Ljc4Yy0yLjM1OCA0LjA4LS45NiA5LjI5OSAzLjEyMiAxMS42NTZ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yNjAuMjY3IDcyLjMxMWM0LjA4MSAyLjM1NiA5LjMuOTU4IDExLjY1Ny0zLjEyM2w4LjUzMy0xNC43ODhjMS41NDktMi42NDIgMS41NjMtNS45MTEuMDM4LTguNTY2cy00LjM1Ni00LjI5LTcuNDE4LTQuMjgzLTUuODg2IDEuNjU0LTcuMzk5IDQuMzE2bC04LjUzMyAxNC43ODhjLTIuMzU4IDQuMDgxLS45NiA5LjMgMy4xMjIgMTEuNjU2eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzg0IDI3My4wNjdjNC43MTMgMCA4LjUzMy0zLjgyIDguNTMzLTguNTMzdi0xNy4wNjdjMC00LjcxMy0zLjgyLTguNTMzLTguNTMzLTguNTMzcy04LjUzMyAzLjgyMS04LjUzMyA4LjUzM3YxNy4wNjdjMCA0LjcxMiAzLjgyIDguNTMzIDguNTMzIDguNTMzeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzg0IDIyMS44NjdjNC43MTMgMCA4LjUzMy0zLjgyMSA4LjUzMy04LjUzM3YtMTcuMDY3YzAtNC43MTMtMy44Mi04LjUzMy04LjUzMy04LjUzM3MtOC41MzMgMy44MjEtOC41MzMgOC41MzN2MTcuMDY3YzAgNC43MTIgMy44MiA4LjUzMyA4LjUzMyA4LjUzM3oiLz4NCiAgICAgICAgPHBhdGggZD0ibTM4NCAxNzAuNjY3YzQuNzEzIDAgOC41MzMtMy44MjEgOC41MzMtOC41MzN2LTE3LjA2N2MwLTQuNzEzLTMuODItOC41MzMtOC41MzMtOC41MzNzLTguNTMzIDMuODIxLTguNTMzIDguNTMzdjE3LjA2N2MwIDQuNzEyIDMuODIgOC41MzMgOC41MzMgOC41MzN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zNTEuMDEgMjY4LjhjMi4zNzIgNC4wNDcgNy41NjYgNS40MiAxMS42MjggMy4wNzQgNC4wNjItMi4zNDUgNS40Ny03LjUzIDMuMTUxLTExLjYwOGwtOC41MzMtMTQuNzhjLTEuNTE0LTIuNjYyLTQuMzM3LTQuMzA5LTcuMzk5LTQuMzE2cy01Ljg5MyAxLjYyOC03LjQxOCA0LjI4My0xLjUxMSA1LjkyNC4wMzggOC41NjZ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zMjUuNDEgMjI0LjQyN2MxLjUxNCAyLjY2MiA0LjMzNyA0LjMwOSA3LjM5OSA0LjMxNnM1Ljg5My0xLjYyOCA3LjQxOC00LjI4MyAxLjUxMS01LjkyNC0uMDM4LTguNTY2bC04LjUzMy0xNC43OGMtMS41MTQtMi42NjItNC4zMzctNC4zMDktNy4zOTktNC4zMTZzLTUuODkzIDEuNjI4LTcuNDE4IDQuMjgzLTEuNTExIDUuOTI0LjAzOCA4LjU2NnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI5OS44MSAxODAuMTIyYzIuMzcyIDQuMDQ3IDcuNTY2IDUuNDIgMTEuNjI4IDMuMDc0IDQuMDYyLTIuMzQ1IDUuNDctNy41MyAzLjE1MS0xMS42MDhsLTguNTMzLTE0Ljc4OGMtMS41MTMtMi42NjItNC4zMzctNC4zMDktNy4zOTktNC4zMTZzLTUuODkzIDEuNjI4LTcuNDE4IDQuMjgzLTEuNTExIDUuOTI0LjAzOCA4LjU2NnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQwNS4zMzMgMjcxLjkyM2M0LjA4MSAyLjM1NiA5LjMuOTU4IDExLjY1Ny0zLjEyM2w4LjUzMy0xNC43OGMyLjMxOC00LjA3OC45MTEtOS4yNjItMy4xNTEtMTEuNjA4LTQuMDYyLTIuMzQ1LTkuMjU2LS45NzItMTEuNjI4IDMuMDc0bC04LjUzMyAxNC43OGMtMi4zNTcgNC4wODItLjk1OSA5LjMwMSAzLjEyMiAxMS42NTd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00MzAuOTMzIDIyNy41ODRjNC4wODEgMi4zNTYgOS4zLjk1OCAxMS42NTctMy4xMjNsOC41MzMtMTQuNzhjMi4zMTgtNC4wNzguOTExLTkuMjYyLTMuMTUxLTExLjYwOHMtOS4yNTYtLjk3Mi0xMS42MjggMy4wNzRsLTguNTMzIDE0Ljc4Yy0yLjM1NyA0LjA4Mi0uOTU5IDkuMzAxIDMuMTIyIDExLjY1N3oiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ1Ni41MzMgMTgzLjI0NWM0LjA4MSAyLjM1NiA5LjMuOTU4IDExLjY1Ny0zLjEyM2w4LjUzMy0xNC43ODhjMi4zMTgtNC4wNzguOTExLTkuMjYyLTMuMTUxLTExLjYwOC00LjA2Mi0yLjM0NS05LjI1Ni0uOTcyLTExLjYyOCAzLjA3NGwtOC41MzMgMTQuNzg4Yy0yLjM1NyA0LjA4Mi0uOTU5IDkuMyAzLjEyMiAxMS42NTd6Ii8+DQogICAgPC9nPg0KPC9zdmc+",ble="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMi4wMDIgNTEyLjAwMiIgd2lkdGg9IjUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtMzk4LjU4OSAyNDYuMzQyYy02NC42NjYtMTcuMzI4LTExNS42MDEtNjguMjY0LTEzMi45MjktMTMyLjkyOS0xLjE3MS00LjM3Mi01LjEzMy03LjQxMi05LjY1OS03LjQxMnMtOC40ODggMy4wNC05LjY1OSA3LjQxMmMtMTcuMzI4IDY0LjY2Ni02OC4yNjMgMTE1LjYwMS0xMzIuOTI5IDEzMi45MjktNC4zNzIgMS4xNzEtNy40MTIgNS4xMzMtNy40MTIgOS42NTlzMy4wNCA4LjQ4OCA3LjQxMiA5LjY1OWM2NC42NjYgMTcuMzI5IDExNS42MDEgNjguMjY0IDEzMi45MjkgMTMyLjkyOSAxLjE3MSA0LjM3MiA1LjEzMyA3LjQxMiA5LjY1OSA3LjQxMnM4LjQ4OC0zLjA0IDkuNjU5LTcuNDEyYzE3LjMyOC02NC42NjUgNjguMjY0LTExNS42MDEgMTMyLjkyOS0xMzIuOTI5IDQuMzcyLTEuMTcxIDcuNDEyLTUuMTMzIDcuNDEyLTkuNjU5cy0zLjA0LTguNDg4LTcuNDEyLTkuNjU5em0tMTQyLjU4OCAxMTkuMTc2Yy0yMS4wMzktNDkuMDk2LTYwLjQyLTg4LjQ3OC0xMDkuNTE2LTEwOS41MTcgNDkuMDk2LTIxLjAzOSA4OC40NzgtNjAuNDIgMTA5LjUxNi0xMDkuNTE3IDIxLjAzOSA0OS4wOTcgNjAuNDIgODguNDc4IDEwOS41MTcgMTA5LjUxNy00OS4wOTcgMjEuMDM5LTg4LjQ3OCA2MC40Mi0xMDkuNTE3IDEwOS41MTd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yNjQuMDM2IDIwMC40NThjLTEuODg2LTIuNTQ1LTQuODY3LTQuMDQ3LTguMDM1LTQuMDQ3cy02LjE0OSAxLjUwMS04LjAzNSA0LjA0N2MtMTMuNDE2IDE4LjEwNy0yOS40IDM0LjA5MS00Ny41MDggNDcuNTA4LTIuNTQ1IDEuODg2LTQuMDQ3IDQuODY3LTQuMDQ3IDguMDM1czEuNTAxIDYuMTQ5IDQuMDQ3IDguMDM1YzE4LjEwOCAxMy40MTYgMzQuMDkyIDI5LjQgNDcuNTA4IDQ3LjUwOCAxLjg4NiAyLjU0NSA0Ljg2NyA0LjA0NyA4LjAzNSA0LjA0N3M2LjE0OS0xLjUwMSA4LjAzNS00LjA0N2MxMy40MTYtMTguMTA4IDI5LjQtMzQuMDkyIDQ3LjUwOC00Ny41MDggMi41NDUtMS44ODYgNC4wNDctNC44NjcgNC4wNDctOC4wMzVzLTEuNTAxLTYuMTQ5LTQuMDQ3LTguMDM1Yy0xOC4xMDgtMTMuNDE3LTM0LjA5Mi0yOS40MDEtNDcuNTA4LTQ3LjUwOHptLTguMDM1IDg4LjkwOWMtMTAuMDQtMTIuMTYyLTIxLjIwNC0yMy4zMjYtMzMuMzY2LTMzLjM2NiAxMi4xNjMtMTAuMDQgMjMuMzI2LTIxLjIwNCAzMy4zNjYtMzMuMzY2IDEwLjA0IDEyLjE2MyAyMS4yMDQgMjMuMzI2IDMzLjM2NiAzMy4zNjYtMTIuMTYyIDEwLjA0LTIzLjMyNiAyMS4yMDQtMzMuMzY2IDMzLjM2NnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI1Ni4wMDEgNzUuOTk5YzUuNTIzIDAgMTAtNC40NzcgMTAtMTB2LTU1Ljk5OWMwLTUuNTIzLTQuNDc3LTEwLTEwLTEwcy0xMCA0LjQ3Ny0xMCAxMHY1NS45OTljMCA1LjUyMyA0LjQ3NyAxMCAxMCAxMHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTExNC41NzkgMTI4LjcyMWMxLjk1MyAxLjk1MyA0LjUxMiAyLjkyOSA3LjA3MSAyLjkyOXM1LjExOS0uOTc2IDcuMDcxLTIuOTI5YzMuOTA1LTMuOTA1IDMuOTA1LTEwLjIzNyAwLTE0LjE0M2wtMzkuNTk3LTM5LjU5OGMtMy45MDUtMy45MDUtMTAuMjM3LTMuOTA1LTE0LjE0MyAwcy0zLjkwNSAxMC4yMzcgMCAxNC4xNDN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im03NiAyNTYuMDAxYzAtNS41MjMtNC40NzctMTAtMTAtMTBoLTU2Yy01LjUyMyAwLTEwIDQuNDc3LTEwIDEwczQuNDc3IDEwIDEwIDEwaDU2YzUuNTIyIDAgMTAtNC40NzcgMTAtMTB6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xMTQuNTc5IDM4My4yODEtMzkuNTk4IDM5LjU5OGMtMy45MDUgMy45MDUtMy45MDUgMTAuMjM3IDAgMTQuMTQzIDEuOTUzIDEuOTUzIDQuNTEyIDIuOTI5IDcuMDcxIDIuOTI5czUuMTE5LS45NzYgNy4wNzEtMi45MjlsMzkuNTk4LTM5LjU5OGMzLjkwNS0zLjkwNSAzLjkwNS0xMC4yMzcgMC0xNC4xNDNzLTEwLjIzNy0zLjkwNi0xNC4xNDIgMHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI1Ni4wMDEgNDM2LjAwM2MtNS41MjMgMC0xMCA0LjQ3Ny0xMCAxMHY1NS45OTljMCA1LjUyMyA0LjQ3NyAxMCAxMCAxMHMxMC00LjQ3NyAxMC0xMHYtNTUuOTk5YzAtNS41MjMtNC40NzctMTAtMTAtMTB6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zOTcuNDI0IDM4My4yODFjLTMuOTA1LTMuOTA0LTEwLjIzNi0zLjkwNC0xNC4xNDMgMC0zLjkwNSAzLjkwNS0zLjkwNSAxMC4yMzcgMCAxNC4xNDNsMzkuNTk3IDM5LjU5OGMxLjk1MyAxLjk1MyA0LjUxMiAyLjkyOSA3LjA3MSAyLjkyOXM1LjExOS0uOTc3IDcuMDcxLTIuOTI5YzMuOTA1LTMuOTA1IDMuOTA1LTEwLjIzNyAwLTE0LjE0M3oiLz4NCiAgICAgICAgPHBhdGggZD0ibTUwMi4wMDIgMjQ2LjAwMWgtNTUuOTk5Yy01LjUyMyAwLTEwIDQuNDc3LTEwIDEwczQuNDc3IDEwIDEwIDEwaDU1Ljk5OWM1LjUyMyAwIDEwLTQuNDc3IDEwLTEwcy00LjQ3Ny0xMC0xMC0xMHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM5MC4zNTMgMTMxLjY0OWMyLjU1OSAwIDUuMTE5LS45NzYgNy4wNzEtMi45MjlsMzkuNTk3LTM5LjU5OGMzLjkwNS0zLjkwNSAzLjkwNS0xMC4yMzcgMC0xNC4xNDNzLTEwLjIzNy0zLjkwNS0xNC4xNDMgMGwtMzkuNTk3IDM5LjU5OGMtMy45MDUgMy45MDUtMy45MDUgMTAuMjM3IDAgMTQuMTQzIDEuOTUzIDEuOTUzIDQuNTEyIDIuOTI5IDcuMDcyIDIuOTI5eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTYxLjg2OCAzOC43MzVjMS4zMTQgMCAyLjY1LS4yNjEgMy45MzQtLjgxMSA1LjA3Ny0yLjE3NSA3LjQyOC04LjA1NCA1LjI1Mi0xMy4xM2wtLjAwMy0uMDA3Yy0yLjE3NS01LjA3Ni04LjA1MS03LjQyMy0xMy4xMjktNS4yNDktNS4wNzYgMi4xNzUtNy40MjYgOC4wNTgtNS4yNSAxMy4xMzQgMS42MjUgMy43OTIgNS4zMTYgNi4wNjMgOS4xOTYgNi4wNjN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xNjkuODQ0IDc0LjEzMSAxMy4wNTQgMzEuNTE0YzEuNTk1IDMuODUxIDUuMzE4IDYuMTc1IDkuMjQzIDYuMTc1IDEuMjc1IDAgMi41NzItLjI0NSAzLjgyMy0uNzY0IDUuMTAyLTIuMTE0IDcuNTI1LTcuOTYzIDUuNDEyLTEzLjA2NmwtMTMuMDU0LTMxLjUxNGMtMi4xMTQtNS4xMDMtNy45NjMtNy41MjctMTMuMDY2LTUuNDEycy03LjUyNiA3Ljk2NC01LjQxMiAxMy4wNjd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yNC41NDIgMTcwLjk0M2MxLjM1Ny42MjYgMi43ODIuOTIzIDQuMTg0LjkyMyAzLjc4IDAgNy4zOTgtMi4xNTQgOS4wODYtNS44MTIgMi4zMTQtNS4wMTQuMTI1LTEwLjk1Ni00Ljg4OS0xMy4yN2wtLjAwNi0uMDAzYy01LjAxMy0yLjMxNS0xMC45NTItLjEyNS0xMy4yNjcgNC44OTEtMi4zMTYgNS4wMTQtLjEyMyAxMC45NTYgNC44OTIgMTMuMjcxeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNjYuNDc3IDE4OC4zMjEgMzEuNTE1IDEzLjA1NGMxLjI1MS41MTkgMi41NDcuNzY0IDMuODIzLjc2NCAzLjkyNCAwIDcuNjQ3LTIuMzI1IDkuMjQzLTYuMTc2IDIuMTE0LTUuMTAzLS4zMS0xMC45NTItNS40MTItMTMuMDY1bC0zMS41MTYtMTMuMDU0Yy01LjEwMS0yLjExMy0xMC45NTIuMzEtMTMuMDY1IDUuNDEyLTIuMTE0IDUuMTAyLjMxIDEwLjk1MiA1LjQxMiAxMy4wNjV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xMDUuNjQ1IDMyOS4xMDRjNS4xMDMtMi4xMTMgNy41MjYtNy45NjMgNS40MTItMTMuMDY1LTIuMTEzLTUuMTAzLTcuOTY0LTcuNTI3LTEzLjA2NS01LjQxMmwtMzEuNTE0IDEzLjA1NGMtNS4xMDMgMi4xMTMtNy41MjYgNy45NjMtNS40MTIgMTMuMDY1IDEuNTk1IDMuODUyIDUuMzE4IDYuMTc2IDkuMjQzIDYuMTc2IDEuMjc1IDAgMi41NzItLjI0NSAzLjgyMy0uNzY0eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjQuNzkzIDM0MC45NDctLjAwNy4wMDNjLTUuMDc2IDIuMTc1LTcuNDI0IDguMDUzLTUuMjQ5IDEzLjEyOSAxLjYyNSAzLjc5MiA1LjMxNyA2LjA2MiA5LjE5OCA2LjA2MiAxLjMxNSAwIDIuNjUyLS4yNjEgMy45MzYtLjgxMiA1LjA3Ny0yLjE3NSA3LjQyOC04LjA1NCA1LjI1Mi0xMy4xMzEtMi4xNzQtNS4wNzUtOC4wNTMtNy40MjYtMTMuMTMtNS4yNTF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xNjYuMDU0IDQ3NC4xOWMtNS4wMTUtMi4zMTUtMTAuOTU2LS4xMjUtMTMuMjcgNC44ODlsLS4wMDMuMDA2Yy0yLjMxNCA1LjAxNC0uMTI0IDEwLjk1MyA0Ljg5MSAxMy4yNjcgMS4zNTYuNjI2IDIuNzguOTIyIDQuMTgyLjkyMiAzLjc4MSAwIDcuNDAxLTIuMTU2IDkuMDg5LTUuODE0IDIuMzE0LTUuMDE0LjEyNS0xMC45NTUtNC44ODktMTMuMjd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xOTUuOTYzIDQwMC45NDVjLTUuMTAxLTIuMTE0LTEwLjk1Mi4zMS0xMy4wNjUgNS40MTJsLTEzLjA1NCAzMS41MTVjLTIuMTE0IDUuMTAzLjMxIDEwLjk1MiA1LjQxMiAxMy4wNjUgMS4yNTEuNTE5IDIuNTQ3Ljc2NCAzLjgyMy43NjQgMy45MjQgMCA3LjY0Ny0yLjMyNSA5LjI0My02LjE3NmwxMy4wNTQtMzEuNTE1YzIuMTEzLTUuMTAyLS4zMTEtMTAuOTUyLTUuNDEzLTEzLjA2NXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM0Ni4xOTkgNDc0LjA3OGMtNS4wNzYgMi4xNzUtNy40MjggOC4wNTQtNS4yNTIgMTMuMTNsLjAwMy4wMDdjMS42MjUgMy43OTEgNS4zMTQgNi4wNiA5LjE5MiA2LjA2IDEuMzE1IDAgMi42NTEtLjI2MSAzLjkzNy0uODEyIDUuMDc2LTIuMTc1IDcuNDI2LTguMDU4IDUuMjUtMTMuMTM0LTIuMTc0LTUuMDc2LTguMDUxLTcuNDI2LTEzLjEzLTUuMjUxeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzQyLjE1OCA0MzcuODcxLTEzLjA1NC0zMS41MTRjLTIuMTE0LTUuMTAzLTcuOTY1LTcuNTI3LTEzLjA2NS01LjQxMi01LjEwMyAyLjExMy03LjUyNiA3Ljk2My01LjQxMiAxMy4wNjVsMTMuMDU0IDMxLjUxNGMxLjU5NSAzLjg1MiA1LjMxOCA2LjE3NiA5LjI0MyA2LjE3NiAxLjI3NSAwIDIuNTcyLS4yNDUgMy44MjMtLjc2NCA1LjEwMi0yLjExMiA3LjUyNS03Ljk2MiA1LjQxMS0xMy4wNjV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00ODcuMjA4IDM0MC45NDdjLTUuMDc2LTIuMTc3LTEwLjk1NS4xNzctMTMuMTMgNS4yNTItMi4xNzYgNS4wNzcuMTc2IDEwLjk1NiA1LjI1MiAxMy4xMzFsLjAwNi4wMDNjMS4yODUuNTUgMi42MTkuODExIDMuOTMzLjgxMSAzLjg3OSAwIDcuNTY5LTIuMjcyIDkuMTk0LTYuMDY0IDIuMTc3LTUuMDc3LS4xNzgtMTAuOTU3LTUuMjU1LTEzLjEzM3oiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ0NS41MjUgMzIzLjY4MS0zMS41MTQtMTMuMDU0Yy01LjEwMi0yLjExMy0xMC45NTEuMzEtMTMuMDY1IDUuNDEycy4zMSAxMC45NTIgNS40MTIgMTMuMDY1bDMxLjUxNCAxMy4wNTRjMS4yNTIuNTE5IDIuNTQ4Ljc2NCAzLjgyMy43NjQgMy45MjQgMCA3LjY0Ny0yLjMyNSA5LjI0My02LjE3NiAyLjExMy01LjEwMi0uMzExLTEwLjk1Mi01LjQxMy0xMy4wNjV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00ODMuMjc0IDE3MS44NjZjMS4zMTQgMCAyLjY1LS4yNjEgMy45MzQtLjgxMWwuMDA3LS4wMDNjNS4wNzYtMi4xNzUgNy40MjQtOC4wNTMgNS4yNDktMTMuMTI5cy04LjA2LTcuNDI3LTEzLjEzNC01LjI1Yy01LjA3NyAyLjE3NS03LjQyOCA4LjA1NC01LjI1MiAxMy4xMzEgMS42MjUgMy43OTEgNS4zMTYgNi4wNjIgOS4xOTYgNi4wNjJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00MDYuMzU3IDE4Mi44OTdjLTUuMTAzIDIuMTEzLTcuNTI2IDcuOTYzLTUuNDEyIDEzLjA2NSAxLjU5NSAzLjg1MiA1LjMxOCA2LjE3NiA5LjI0MyA2LjE3NiAxLjI3NSAwIDIuNTcyLS4yNDUgMy44MjMtLjc2NGwzMS41MTQtMTMuMDU0YzUuMTAzLTIuMTEzIDcuNTI2LTcuOTYzIDUuNDEyLTEzLjA2NS0yLjExNC01LjEwMy03Ljk2My03LjUyNy0xMy4wNjYtNS40MTJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zNDYuMTk5IDM3LjkyM2MxLjI4NS41NTEgMi42MjEuODExIDMuOTM1LjgxMSAzLjg4IDAgNy41NzEtMi4yNzEgOS4xOTYtNi4wNjNsLjAwMy0uMDA3YzIuMTc2LTUuMDc2LS4xNzctMTAuOTUyLTUuMjUzLTEzLjEyNy01LjA3NC0yLjE3Ni0xMC45NTcuMTc5LTEzLjEzMiA1LjI1Ni0yLjE3NyA1LjA3Ni4xNzUgMTAuOTU1IDUuMjUxIDEzLjEzeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzE2LjAzOSAxMTEuMDU3YzEuMjUxLjUxOSAyLjU0Ny43NjQgMy44MjMuNzY0IDMuOTI0IDAgNy42NDctMi4zMjUgOS4yNDMtNi4xNzZsMTMuMDU0LTMxLjUxNGMyLjExNC01LjEwMy0uMzEtMTAuOTUzLTUuNDEyLTEzLjA2Ni01LjEwMS0yLjExNC0xMC45NTEuMzEtMTMuMDY1IDUuNDEybC0xMy4wNTQgMzEuNTE0Yy0yLjExNSA1LjEwMi4zMDkgMTAuOTUyIDUuNDExIDEzLjA2NnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",$le="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ4MC4wMDUgNDgwLjAwNSI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTI0MC4wMDMsNDhjNC40MTgsMCw4LTMuNTgyLDgtOFY4YzAtNC40MTgtMy41ODItOC04LThzLTgsMy41ODItOCw4djMyQzIzMi4wMDMsNDQuNDE4LDIzNS41ODQsNDgsMjQwLjAwMyw0OHoiLz4NCiAgICAgICAgPHBhdGggZD0iTTE0MS4wNzUsMzYuNjU2bDE2LDI3LjcwNGMyLjE4NCwzLjg0MSw3LjA2OCw1LjE4NCwxMC45MDksM3M1LjE4NC03LjA2OCwzLTEwLjkwOWMtMC4wMTctMC4wMzEtMC4wMzUtMC4wNjEtMC4wNTMtMC4wOTINCgkJCQlsLTE2LTI3LjcwNGMtMi4xODQtMy44NDEtNy4wNjgtNS4xODQtMTAuOTA5LTNjLTMuODQxLDIuMTg0LTUuMTg0LDcuMDY4LTMsMTAuOTA5QzE0MS4wMzksMzYuNTk1LDE0MS4wNTcsMzYuNjI2LDE0MS4wNzUsMzYuNjU2DQoJCQkJeiIvPg0KICAgICAgICA8cGF0aCBkPSJNNzYuNTY3LDEwNi44NzVjMC4wMywwLjAxOCwwLjA2MSwwLjAzNSwwLjA5MiwwLjA1M2wyNy43MDQsMTZjMy44MTIsMi4yMzQsOC43MTMsMC45NTYsMTAuOTQ3LTIuODU2DQoJCQkJYzIuMjM0LTMuODEyLDAuOTU2LTguNzEzLTIuODU2LTEwLjk0N2MtMC4wMy0wLjAxOC0wLjA2MS0wLjAzNS0wLjA5Mi0wLjA1M2wtMjcuNzA0LTE2Yy0zLjgxMi0yLjIzNC04LjcxMy0wLjk1Ni0xMC45NDcsMi44NTYNCgkJCQlDNzEuNDc3LDk5LjczOSw3Mi43NTUsMTA0LjY0MSw3Ni41NjcsMTA2Ljg3NXoiLz4NCiAgICAgICAgPHBhdGggZD0iTTk2LjAwMywxOTJjMC00LjQxOC0zLjU4Mi04LTgtOGgtMzJjLTQuNDE4LDAtOCwzLjU4Mi04LDhzMy41ODIsOCw4LDhoMzJDOTIuNDIxLDIwMCw5Ni4wMDMsMTk2LjQxOCw5Ni4wMDMsMTkyeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTA0LjQ1NiwyNjEuMDE4Yy0wLjAzMSwwLjAxOC0wLjA2MiwwLjAzNi0wLjA5MywwLjA1NGwtMjcuNzA0LDE2Yy0zLjg0MSwyLjE4My01LjE4NSw3LjA2Ny0zLjAwMiwxMC45MDgNCgkJCQljMi4xODMsMy44NDEsNy4wNjcsNS4xODUsMTAuOTA4LDMuMDAyYzAuMDMxLTAuMDE4LDAuMDYyLTAuMDM2LDAuMDkzLTAuMDU0bDI3LjcwNC0xNmMzLjg0MS0yLjE4Myw1LjE4NS03LjA2NywzLjAwMi0xMC45MDgNCgkJCQlDMTEzLjE4MSwyNjAuMTc5LDEwOC4yOTcsMjU4LjgzNSwxMDQuNDU2LDI2MS4wMTh6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik00MDMuNDQsMjc3LjEyNmMtMC4wMzEtMC4wMTgtMC4wNjItMC4wMzYtMC4wOTMtMC4wNTRsLTI3LjcwNC0xNmMtMy44MTEtMi4yMzUtOC43MTMtMC45NTctMTAuOTQ4LDIuODU0DQoJCQkJYy0yLjIzNSwzLjgxMS0wLjk1Nyw4LjcxMywyLjg1NCwxMC45NDhjMC4wMzEsMC4wMTgsMC4wNjIsMC4wMzYsMC4wOTMsMC4wNTRsMjcuNzA0LDE2YzMuODExLDIuMjM1LDguNzEzLDAuOTU3LDEwLjk0OC0yLjg1NA0KCQkJCUM0MDguNTI5LDI4NC4yNjIsNDA3LjI1MSwyNzkuMzYxLDQwMy40NCwyNzcuMTI2eiIvPg0KICAgICAgICA8cGF0aCBkPSJNNDI0LjAwMywxODRoLTMyYy00LjQxOCwwLTgsMy41ODItOCw4czMuNTgyLDgsOCw4aDMyYzQuNDE4LDAsOC0zLjU4Miw4LThTNDI4LjQyMSwxODQsNDI0LjAwMywxODR6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0zNzEuNjUxLDEyNGMxLjQwNCwwLDIuNzg0LTAuMzcsNC0xLjA3MmwyNy43MDQtMTZjMy44NDEtMi4xODQsNS4xODQtNy4wNjgsMy0xMC45MDlzLTcuMDY4LTUuMTg0LTEwLjkwOS0zDQoJCQkJYy0wLjAzMSwwLjAxNy0wLjA2MSwwLjAzNS0wLjA5MiwwLjA1M2wtMjcuNzA0LDE2Yy0zLjgyNiwyLjIwOS01LjEzNyw3LjEwMi0yLjkyOCwxMC45MjgNCgkJCQlDMzY2LjE1MiwxMjIuNDc1LDM2OC43OTMsMTI0LDM3MS42NTEsMTI0eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzExLjk5Myw2Ny4yOTFjMC4wMDMsMC4wMDIsMC4wMDYsMC4wMDQsMC4wMDksMC4wMDVjMy44MjcsMi4yMDcsOC43MiwwLjg5NCwxMC45MjctMi45MzQNCgkJCQljMC0wLjAwMSwwLjAwMS0wLjAwMiwwLjAwMS0wLjAwMmwxNi0yNy43MDRjMi4yMzUtMy44MTEsMC45NTctOC43MTMtMi44NTQtMTAuOTQ4Yy0zLjgxMS0yLjIzNS04LjcxMy0wLjk1Ny0xMC45NDgsMi44NTQNCgkJCQljLTAuMDE4LDAuMDMxLTAuMDM2LDAuMDYyLTAuMDU0LDAuMDkzbC0xNiwyNy43MDRDMzA2Ljg2Miw2MC4xODQsMzA4LjE2OSw2NS4wNzgsMzExLjk5Myw2Ny4yOTF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0yNTYuMDAzLDMyMGM0LjQxOCwwLDgtMy41ODIsOC04di04OGgxNmMxNy42NzMsMCwzMi0xNC4zMjcsMzItMzJzLTE0LjMyNy0zMi0zMi0zMmMtMTcuNjczLDAtMzIsMTQuMzI3LTMyLDMydjE2aC0xNg0KCQkJCXYtMTZjMC0xNy42NzMtMTQuMzI3LTMyLTMyLTMycy0zMiwxNC4zMjctMzIsMzJzMTQuMzI3LDMyLDMyLDMyaDE2djg4YzAsNC40MTgsMy41ODIsOCw4LDhzOC0zLjU4Miw4LTh2LTg4aDE2djg4DQoJCQkJQzI0OC4wMDMsMzE2LjQxOCwyNTEuNTg0LDMyMCwyNTYuMDAzLDMyMHogTTI2NC4wMDMsMTkyYzAtOC44MzcsNy4xNjMtMTYsMTYtMTZzMTYsNy4xNjMsMTYsMTZzLTcuMTYzLDE2LTE2LDE2aC0xNlYxOTJ6DQoJCQkJIE0yMTYuMDAzLDIwOGgtMTZjLTguODM3LDAtMTYtNy4xNjMtMTYtMTZzNy4xNjMtMTYsMTYtMTZzMTYsNy4xNjMsMTYsMTZWMjA4eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjQ2LjIxOSw2NC4xNTJjLTcwLjYxMS0zLjM5Mi0xMzAuNjAzLDUxLjA5OS0xMzMuOTk1LDEyMS43MWMtMS45NDMsNDAuNDMyLDE1LjM1NCw3OS40LDQ2LjY0MywxMDUuMDgyDQoJCQkJYzUuNjM5LDQuNDE3LDguOTk0LDExLjEzNSw5LjEzNiwxOC4yOTZWMzI4YzAuMDQyLDEwLjEzNCw2LjQ0NSwxOS4xNSwxNiwyMi41MjhWMzYwYzAuMDIxLDUuOTIzLDIuMjQ1LDExLjYyNyw2LjI0LDE2DQoJCQkJYy04LjMyLDkuMDQ0LTguMzIsMjIuOTU2LDAsMzJjLTguODk0LDkuNzUtOC4yLDI0Ljg2NCwxLjU1LDMzLjc1OGM0LjQyOSw0LjA0LDEwLjIxNSw2LjI2OCwxNi4yMSw2LjI0Mg0KCQkJCWM0LjMwNiwwLjExMyw3Ljg4OS0zLjI4Nyw4LjAwMS03LjU5M2MwLjA0NC0xLjY4LTAuNDU2LTMuMzMtMS40MjUtNC43MDNjLTAuMjUzLTAuNDg5LTAuNTUzLTAuOTUzLTAuODk2LTEuMzg0DQoJCQkJYy0wLjY1OC0wLjYwMi0xLjQwOS0xLjA5NC0yLjIyNC0xLjQ1NmMtMC4yMzItMC4xMi0wLjQ2NC0wLjIxNi0wLjcwNC0wLjMxMmMtMC44MS0wLjI5NS0xLjY1OS0wLjQ2NS0yLjUyLTAuNTA0DQoJCQkJYy0wLjA4LDAtMC4xNTItMC4wNDgtMC4yMzItMC4wNDhjLTQuNDE4LDAtOC0zLjU4Mi04LThzMy41ODItOCw4LThoMzJjNC40MTgsMCw4LTMuNTgyLDgtOHMtMy41ODItOC04LThoLTMyDQoJCQkJYy00LjQxOCwwLTgtMy41ODItOC04czMuNTgyLTgsOC04aDMyYzQuNDE4LDAsOC0zLjU4Miw4LThzLTMuNTgyLTgtOC04aC0zMmMtNC40MTgsMC04LTMuNTgyLTgtOHYtOGg0MGM0LjQxOCwwLDgtMy41ODIsOC04DQoJCQkJcy0zLjU4Mi04LTgtOGgtNDhjLTQuNDE4LDAtOC0zLjU4Mi04LTh2LTE4Ljc2Yy0wLjEzMS0xMS45NjItNS42NC0yMy4yMy0xNS0zMC42OGMtNDcuNzg4LTM5LjI3NC01NC42ODktMTA5Ljg1Mi0xNS40MTUtMTU3LjY0DQoJCQkJYzIyLjQ2Ni0yNy4zMzYsNTYuNTI4LTQyLjQ0OCw5MS44NzEtNDAuNzZjNTkuMTA3LDMuNTE2LDEwNS41MzYsNTEuOTU3LDEwNi41NDQsMTExLjE2YzAuMjg3LDM0LjA1Mi0xNS4wMjQsNjYuMzYzLTQxLjU2LDg3LjcwNA0KCQkJCWMtOS4yOSw3LjY1Mi0xNC42MDIsMTkuMTA5LTE0LjQ0LDMxLjE0NFYzMjhjMCw0LjQxOC0zLjU4Miw4LTgsOGgtMjRjLTQuNDE4LDAtOCwzLjU4Mi04LDhzMy41ODIsOCw4LDhoMTZ2OA0KCQkJCWMwLDQuNDE4LTMuNTgyLDgtOCw4aC04Yy00LjQxOCwwLTgsMy41ODItOCw4czMuNTgyLDgsOCw4aDhjNC40MTgsMCw4LDMuNTgyLDgsOHMtMy41ODIsOC04LDhoLThjLTQuNDE4LDAtOCwzLjU4Mi04LDgNCgkJCQlzMy41ODIsOCw4LDhoOGM0LjQxOCwwLDgsMy41ODIsOCw4cy0zLjU4Miw4LTgsOGgtNDBjLTQuNDE4LDAtOCwzLjU4Mi04LDhzMy41ODIsOCw4LDhoMzAuNjMyDQoJCQkJYy00LjQxNywxMi40OTctMTguMTI5LDE5LjA0Ny0zMC42MjYsMTQuNjNjLTMuODI2LTEuMzUyLTcuMjQ2LTMuNjUzLTkuOTQyLTYuNjg2Yy0yLjkzOC0zLjMtNy45OTYtMy41OTQtMTEuMjk2LTAuNjU2DQoJCQkJYy0zLjMsMi45MzgtMy41OTQsNy45OTYtMC42NTYsMTEuMjk2YzE0LjYzMSwxNi40ODcsMzkuODU3LDE3Ljk5Miw1Ni4zNDQsMy4zNjJjNi44MS02LjA0MywxMS4zNDktMTQuMjMyLDEyLjg2NC0yMy4yMQ0KCQkJCWMxMi41MjktMy45MTYsMTkuNTExLTE3LjI0NywxNS41OTYtMjkuNzc2Yy0xLjA0LTMuMzI5LTIuODAxLTYuMzg4LTUuMTU2LTguOTZjOC4zMi05LjA0NCw4LjMyLTIyLjk1NiwwLTMyDQoJCQkJYzMuOTk1LTQuMzczLDYuMjE5LTEwLjA3Nyw2LjI0LTE2di05LjQ3MmM5LjU1NS0zLjM3OCwxNS45NTgtMTIuMzk0LDE2LTIyLjUyOHYtMTcuODMyYy0wLjEwNy03LjE4NywzLjAwNy0xNC4wNDYsOC40ODgtMTguNjk2DQoJCQkJYzMwLjM0NC0yNC4zOTUsNDcuODUtNjEuMzM5LDQ3LjUxMi0xMDAuMjcyQzM2Ni44NDcsMTIzLjUzMiwzMTMuNzc3LDY4LjE2OSwyNDYuMjE5LDY0LjE1MnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",Ple="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik0yNTUuOTk5LDBjLTc5LjA0NCwwLTE0My4zNTIsNjQuMzA4LTE0My4zNTIsMTQzLjM1M3Y3MC4xOTNjMCw0Ljc4LDMuODc5LDguNjU2LDguNjU5LDguNjU2aDQ4LjA1Nw0KCQkJYzQuNzgsMCw4LjY1Ni0zLjg3Niw4LjY1Ni04LjY1NnYtNzAuMTkzYzAtNDIuOTk4LDM0Ljk4MS03Ny45OCw3Ny45NzktNzcuOThzNzcuOTc5LDM0Ljk4Miw3Ny45NzksNzcuOTh2NzAuMTkzDQoJCQljMCw0Ljc4LDMuODgsOC42NTYsOC42NjEsOC42NTZoNDguMDU3YzQuNzgsMCw4LjY1Ni0zLjg3Niw4LjY1Ni04LjY1NnYtNzAuMTkzQzM5OS4zNTIsNjQuMzA4LDMzNS4wNDQsMCwyNTUuOTk5LDB6DQoJCQkgTTM4Mi4wNCwyMDQuODloLTMwLjc0OHYtNjEuNTM3YzAtNTIuNTQ0LTQyLjc0OC05NS4yOTItOTUuMjkxLTk1LjI5MnMtOTUuMjkxLDQyLjc0OC05NS4yOTEsOTUuMjkydjYxLjUzN2gtMzAuNzQ4di02MS41MzcNCgkJCWMwLTY5LjQ5OSw1Ni41NC0xMjYuMDQsMTI2LjAzOC0xMjYuMDRjNjkuNDk5LDAsMTI2LjA0LDU2LjU0MSwxMjYuMDQsMTI2LjA0VjIwNC44OXoiLz4NCiAgICAgICAgPHBhdGggZD0iTTQxMC42MywyMDQuODlIMTAxLjM3MWMtMjAuNTA1LDAtMzcuMTg4LDE2LjY4My0zNy4xODgsMzcuMTg4djIzMi43MzRjMCwyMC41MDUsMTYuNjgzLDM3LjE4OCwzNy4xODgsMzcuMTg4SDQxMC42Mw0KCQkJYzIwLjUwNSwwLDM3LjE4Ny0xNi42ODMsMzcuMTg3LTM3LjE4OVYyNDIuMDc4QzQ0Ny44MTcsMjIxLjU3Myw0MzEuMTM1LDIwNC44OSw0MTAuNjMsMjA0Ljg5eiBNNDMwLjUwNSw0NzQuODExDQoJCQljMCwxMC45Ni04LjkxNiwxOS44NzYtMTkuODc1LDE5Ljg3NkgxMDEuMzcxYy0xMC45NiwwLTE5Ljg3Ni04LjkxNi0xOS44NzYtMTkuODc2VjI0Mi4wNzhjMC0xMC45Niw4LjkxNi0xOS44NzYsMTkuODc2LTE5Ljg3Ng0KCQkJSDQxMC42M2MxMC45NTksMCwxOS44NzUsOC45MTYsMTkuODc1LDE5Ljg3NlY0NzQuODExeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjg1LjExLDM2OS43ODFjMTAuMTEzLTguNTIxLDE1Ljk5OC0yMC45NzgsMTUuOTk4LTM0LjM2NWMwLTI0Ljg3My0yMC4yMzYtNDUuMTA5LTQ1LjEwOS00NS4xMDkNCgkJCWMtMjQuODc0LDAtNDUuMTEsMjAuMjM2LTQ1LjExLDQ1LjEwOWMwLDEzLjM4Nyw1Ljg4NSwyNS44NDQsMTYsMzQuMzY3bC05LjczMSw0Ni4zNjJjLTAuNTM1LDIuNTU0LDAuMTA4LDUuMjExLDEuNzUyLDcuMjM2DQoJCQljMS42NDUsMi4wMjMsNC4xMTMsMy4yLDYuNzIsMy4yaDYwLjczOGMyLjYwOCwwLDUuMDc2LTEuMTc2LDYuNzE5LTMuMmMxLjY0My0yLjAyNiwyLjI4Ni00LjY4MywxLjc1MS03LjIzNEwyODUuMTEsMzY5Ljc4MXoNCgkJCSBNMjcwLjg1MSwzNTguODJjLTMuMDQsMS45MzYtNC41NjUsNS41NTMtMy44MjQsOS4wODFsOC42OCw0MS4zNjZoLTM5LjQxNWw4LjY4Mi00MS4zNjNjMC43NC0zLjUyOS0wLjc4Mi03LjE0Ni0zLjgyNC05LjA4MQ0KCQkJYy04LjEwOC01LjE2LTEyLjk0OC0xMy45MTEtMTIuOTQ4LTIzLjQwNmMwLTE1LjMyNywxMi40NjktMjcuNzk2LDI3Ljc5Ny0yNy43OTZjMTUuMzI3LDAsMjcuNzk2LDEyLjQ2OSwyNy43OTYsMjcuNzk2DQoJCQlDMjgzLjc5NywzNDQuOTE0LDI3OC45NTcsMzUzLjY2MywyNzAuODUxLDM1OC44MnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",Wle="PHN2ZyBoZWlnaHQ9IjUxMnB0IiB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgd2lkdGg9IjUxMnB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im00OTQuOTMzNTk0IDBoLTQ3Ny44NjcxODhjLTkuNDIxODc1LjAwNzgxMjUtMTcuMDU4NTkzNSA3LjY0NDUzMS0xNy4wNjY0MDYgMTcuMDY2NDA2djU5LjczNDM3NWMuMDA3ODEyNSA5LjQyMTg3NSA3LjY0NDUzMSAxNy4wNTQ2ODggMTcuMDY2NDA2IDE3LjA2NjQwN2gxMC44OTQ1MzJsLTI2LjgzNTkzOCA0Ni45NjQ4NDNjLTEuNTA3ODEyIDIuNjQwNjI1LTEuNSA1Ljg4NjcxOS4wMjczNDQgOC41MTk1MzEgMS41MjczNDQgMi42Mjg5MDcgNC4zMzk4NDQgNC4yNSA3LjM4MjgxMiA0LjI1aDE5LjQyNTc4MmwtMjYuODM1OTM4IDQ2Ljk2NDg0NGMtMS41MDc4MTIgMi42NDA2MjUtMS41IDUuODg2NzE5LjAyNzM0NCA4LjUxNTYyNSAxLjUyNzM0NCAyLjYzMjgxMyA0LjMzOTg0NCA0LjI1IDcuMzgyODEyIDQuMjVoMTkuNDI1NzgybC0yNi44MzU5MzggNDYuOTY4NzVjLTEuNTA3ODEyIDIuNjQwNjI1LTEuNSA1Ljg4MjgxMy4wMjczNDQgOC41MTU2MjUgMS41MjczNDQgMi42Mjg5MDYgNC4zMzk4NDQgNC4yNSA3LjM4MjgxMiA0LjI1aDE5LjQyNTc4MmwtMjYuODM1OTM4IDQ2Ljk2ODc1Yy0xLjUwNzgxMiAyLjY0MDYyNS0xLjUgNS44ODI4MTMuMDI3MzQ0IDguNTE1NjI1IDEuNTI3MzQ0IDIuNjI4OTA3IDQuMzM5ODQ0IDQuMjUgNy4zODI4MTIgNC4yNWgxOS40MjU3ODJsLTI2LjgzNTkzOCA0Ni45NjQ4NDRjLTEuNTA3ODEyIDIuNjQwNjI1LTEuNSA1Ljg4NjcxOS4wMjczNDQgOC41MTU2MjUgMS41MjczNDQgMi42MzI4MTIgNC4zMzk4NDQgNC4yNSA3LjM4MjgxMiA0LjI1MzkwNmgxOS40MjU3ODJsLTI2LjgzNTkzOCA0Ni45NjQ4NDRjLTEuNTA3ODEyIDIuNjQwNjI1LTEuNSA1Ljg4NjcxOS4wMjczNDQgOC41MTU2MjUgMS41MjczNDQgMi42MzI4MTMgNC4zMzk4NDQgNC4yNSA3LjM4MjgxMiA0LjI1aDE5LjQyNTc4MmwtMjYuODM1OTM4IDQ2Ljk2ODc1Yy0xLjUwNzgxMiAyLjY0MDYyNS0xLjUgNS44ODI4MTMuMDI3MzQ0IDguNTE1NjI1IDEuNTI3MzQ0IDIuNjI4OTA2IDQuMzM5ODQ0IDQuMjUgNy4zODI4MTIgNC4yNWg0OTQuOTI5Njg4YzMuMDQyOTY4IDAgNS44NTU0NjgtMS42MjEwOTQgNy4zODI4MTItNC4yNSAxLjUyNzM0NC0yLjYzMjgxMiAxLjUzNTE1Ni01Ljg3NS4wMjczNDQtOC41MTU2MjVsLTI2LjgzNTkzOC00Ni45Njg3NWgxOS40MjU3ODJjMy4wNDI5NjggMCA1Ljg1NTQ2OC0xLjYxNzE4NyA3LjM4MjgxMi00LjI1IDEuNTI3MzQ0LTIuNjI4OTA2IDEuNTM1MTU2LTUuODc1LjAyNzM0NC04LjUxNTYyNWwtMjYuODM1OTM4LTQ2Ljk2NDg0NGgxOS40MjU3ODJjMy4wNDI5NjgtLjAwMzkwNiA1Ljg1NTQ2OC0xLjYyMTA5NCA3LjM4MjgxMi00LjI1MzkwNiAxLjUyNzM0NC0yLjYyODkwNiAxLjUzNTE1Ni01Ljg3NS4wMjczNDQtOC41MTU2MjVsLTI2LjgzNTkzOC00Ni45NjQ4NDRoMTkuNDI1NzgyYzMuMDQyOTY4IDAgNS44NTU0NjgtMS42MjEwOTMgNy4zODI4MTItNC4yNSAxLjUyNzM0NC0yLjYzMjgxMiAxLjUzNTE1Ni01Ljg3NS4wMjczNDQtOC41MTU2MjVsLTI2LjgzNTkzOC00Ni45Njg3NWgxOS40MjU3ODJjMy4wNDI5NjggMCA1Ljg1NTQ2OC0xLjYyMTA5NCA3LjM4MjgxMi00LjI1IDEuNTI3MzQ0LTIuNjMyODEyIDEuNTM1MTU2LTUuODc1LjAyNzM0NC04LjUxNTYyNWwtMjYuODM1OTM4LTQ2Ljk2ODc1aDE5LjQyNTc4MmMzLjA0Mjk2OCAwIDUuODU1NDY4LTEuNjE3MTg3IDcuMzgyODEyLTQuMjUgMS41MjczNDQtMi42Mjg5MDYgMS41MzUxNTYtNS44NzUuMDI3MzQ0LTguNTE1NjI1bC0yNi44MzU5MzgtNDYuOTY0ODQ0aDE5LjQyNTc4MmMzLjA0Mjk2OCAwIDUuODU1NDY4LTEuNjIxMDkzIDcuMzgyODEyLTQuMjUgMS41MjczNDQtMi42MzI4MTIgMS41MzUxNTYtNS44Nzg5MDYuMDI3MzQ0LTguNTE5NTMxbC0yNi44MzU5MzgtNDYuOTY0ODQzaDEwLjg5NDUzMmM5LjQyMTg3NS0uMDExNzE5IDE3LjA1NDY4Ny03LjY0NDUzMiAxNy4wNjY0MDYtMTcuMDY2NDA3di01OS43MzQzNzVjLS4wMTE3MTktOS40MjE4NzUtNy42NDQ1MzEtMTcuMDU0Njg3Mi0xNy4wNjY0MDYtMTcuMDY2NDA2em0tNDQ3LjMxNjQwNiA5My44NjcxODhoNDYuMjV2NDIuNjY3OTY4aC03MC42Mjg5MDd6bTMxOS4zMTY0MDYgMHY0Mi42Njc5NjhoLTIyMS44NjcxODh2LTQyLjY2Nzk2OHptNjguMjY1NjI1IDB2NDIuNjY3OTY4aC0xNy4wNjY0MDd2LTQyLjY2Nzk2OHptLTI5MC4xMzI4MTMgMzQxLjMzMjAzMXYtNDIuNjY0MDYzaDIyMS44NjcxODh2NDIuNjY0MDYzem0yMjEuODY3MTg4IDE3LjA2NjQwNnY0Mi42Njc5NjloLTIyMS44NjcxODh2LTQyLjY2Nzk2OXptMC0yNTZoLTIyMS44NjcxODh2LTQyLjY2NDA2M2gyMjEuODY3MTg4em0xNy4wNjY0MDYtNDIuNjY0MDYzaDE3LjA2NjQwNnY0Mi42NjQwNjNoLTE3LjA2NjQwNnptLTIzOC45MzM1OTQgMTYyLjEzMjgxM3YtNDIuNjY3OTY5aDIyMS44NjcxODh2NDIuNjY3OTY5em0yMjEuODY3MTg4IDE3LjA2NjQwNnY0Mi42NjQwNjNoLTIyMS44NjcxODh2LTQyLjY2NDA2M3ptLTIyMS44NjcxODgtNzYuODAwNzgxdi00Mi42Njc5NjloMjIxLjg2NzE4OHY0Mi42Njc5Njl6bS0xNy4wNjY0MDYtNTkuNzM0Mzc1aC0xNy4wNjY0MDZ2LTQyLjY2NDA2M2gxNy4wNjY0MDZ6bTAgMTcuMDY2NDA2djQyLjY2Nzk2OWgtMTcuMDY2NDA2di00Mi42Njc5Njl6bTAgNTkuNzM0Mzc1djQyLjY2Nzk2OWgtMTcuMDY2NDA2di00Mi42Njc5Njl6bTAgNTkuNzM0Mzc1djQyLjY2NDA2M2gtMTcuMDY2NDA2di00Mi42NjQwNjN6bTAgNTkuNzM0Mzc1djQyLjY2NDA2M2gtMTcuMDY2NDA2di00Mi42NjQwNjN6bTI1NiAwaDE3LjA2NjQwNnY0Mi42NjQwNjNoLTE3LjA2NjQwNnptMC0xNy4wNzAzMTJ2LTQyLjY2NDA2M2gxNy4wNjY0MDZ2NDIuNjY0MDYzem0wLTU5LjczMDQ2OXYtNDIuNjY3OTY5aDE3LjA2NjQwNnY0Mi42Njc5Njl6bTAtNTkuNzM0Mzc1di00Mi42Njc5NjloMTcuMDY2NDA2djQyLjY2Nzk2OXptMzQuMTMyODEyLTQyLjY2Nzk2OWgxNy4wNjY0MDd2NDIuNjY3OTY5aC0xNy4wNjY0MDd6bTAtMTcuMDY2NDA2di00Mi42NjQwNjNoMTcuMDY2NDA3djQyLjY2NDA2M3ptLTE3LjA2NjQwNi01OS43MzA0NjloLTE3LjA2NjQwNnYtNDIuNjY3OTY4aDE3LjA2NjQwNnptLTI3My4wNjY0MDYgMGgtMTcuMDY2NDA2di00Mi42Njc5NjhoMTcuMDY2NDA2em0tODAuMzgyODEyIDE3LjA2NjQwNmg0Ni4yNXY0Mi42NjQwNjNoLTcwLjYyODkwN3ptMCA1OS43MzA0NjloNDYuMjV2NDIuNjY3OTY5aC03MC42Mjg5MDd6bTAgNTkuNzM0Mzc1aDQ2LjI1djQyLjY2Nzk2OWgtNzAuNjI4OTA3em0wIDU5LjczNDM3NWg0Ni4yNXY0Mi42NjQwNjNoLTcwLjYyODkwN3ptMCA1OS43MzQzNzVoNDYuMjV2NDIuNjY0MDYzaC03MC42Mjg5MDd6bTAgNTkuNzMwNDY5aDQ2LjI1djQyLjY2Nzk2OWgtNzAuNjI4OTA3em02My4zMTY0MDYgNDIuNjY3OTY5di00Mi42Njc5NjloMTcuMDY2NDA2djQyLjY2Nzk2OXptMjczLjA2NjQwNiAwdi00Mi42Njc5NjloMTcuMDY2NDA2djQyLjY2Nzk2OXptMTA0Ljc1NzgxMiAwaC03MC42MjV2LTQyLjY2Nzk2OWg0Ni4yNXptMC01OS43MzQzNzVoLTcwLjYyNXYtNDIuNjY0MDYzaDQ2LjI1em0wLTU5LjczNDM3NWgtNzAuNjI1di00Mi42NjQwNjNoNDYuMjV6bTAtNTkuNzMwNDY5aC03MC42MjV2LTQyLjY2Nzk2OWgxNy4wNjY0MDd2MTcuMDY2NDA2YzAgNC43MTQ4NDQgMy44MjAzMTIgOC41MzUxNTcgOC41MzUxNTYgOC41MzUxNTcgNC43MTA5MzcgMCA4LjUzMTI1LTMuODIwMzEzIDguNTMxMjUtOC41MzUxNTd2LTE3LjA2NjQwNmgxMi4xMTcxODd6bTAtNTkuNzM0Mzc1aC0zNi40OTIxODd2LTQyLjY2Nzk2OWgxMi4xMTcxODd6bTAtNTkuNzM0Mzc1aC0zNi40OTIxODd2LTQyLjY2NDA2M2gxMi4xMTcxODd6bTAtNTkuNzMwNDY5aC0zNi40OTIxODd2LTQyLjY2Nzk2OGgxMi4xMTcxODd6bS0xOS40MjU3ODEtNTkuNzM0Mzc1aC00NTIuMjY1NjI1di01OS43MzQzNzVoNDc3Ljg2NzE4OGwuMDA3ODEyIDU5LjczNDM3NXptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im01OS43MzQzNzUgNDIuNjY3OTY5aC0xNy4wNjY0MDZjLTQuNzE0ODQ0IDAtOC41MzUxNTcgMy44MjAzMTItOC41MzUxNTcgOC41MzEyNSAwIDQuNzE0ODQzIDMuODIwMzEzIDguNTM1MTU2IDguNTM1MTU3IDguNTM1MTU2aDE3LjA2NjQwNmM0LjcxMDkzNyAwIDguNTMxMjUtMy44MjAzMTMgOC41MzEyNS04LjUzNTE1NiAwLTQuNzEwOTM4LTMuODIwMzEzLTguNTMxMjUtOC41MzEyNS04LjUzMTI1em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTE0NS4wNjY0MDYgNDIuNjY3OTY5aC01MS4xOTkyMThjLTQuNzE0ODQ0IDAtOC41MzUxNTcgMy44MjAzMTItOC41MzUxNTcgOC41MzEyNSAwIDQuNzE0ODQzIDMuODIwMzEzIDguNTM1MTU2IDguNTM1MTU3IDguNTM1MTU2aDUxLjE5OTIxOGM0LjcxNDg0NCAwIDguNTM1MTU2LTMuODIwMzEzIDguNTM1MTU2LTguNTM1MTU2IDAtNC43MTA5MzgtMy44MjAzMTItOC41MzEyNS04LjUzNTE1Ni04LjUzMTI1em0wIDAiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",Rle="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTIzNCAyNDMuNzgzYy0uOTUxIDAtMS44NjguMTQxLTIuNzM5LjM4OWwtLjAwMi0uMDA3LTI4LjcyMiA4LjE4N2MtNS4zMTEgMS41MTQtOC4zOSA3LjA0Ny02Ljg3NiAxMi4zNTggMS4yNTMgNC4zOTYgNS4yNTggNy4yNjEgOS42MTIgNy4yNjEuOTA3IDAgMS44My0uMTI1IDIuNzQ2LS4zODVsMTUuOTgxLTQuNTU0djM1LjQybC0xMjQgMzUuMzQ1di0zNS40MmwyMS40NjQtNi4xMThjNS4zMTEtMS41MTQgOC4zOS03LjA0NyA2Ljg3Ni0xMi4zNThzLTcuMDQ1LTguMzg3LTEyLjM1OC02Ljg3NmwtMjguNzIzIDguMTg3LjAwMS4wMDdjLTQuMTg5IDEuMTkzLTcuMjYgNS4wMzktNy4yNiA5LjYxdjEyNy4xOTljLTguMzYzLTYuMjkzLTE4Ljc1Mi0xMC4wMjgtMzAtMTAuMDI4LTI3LjU3IDAtNTAgMjIuNDMtNTAgNTBzMjIuNDMgNTAgNTAgNTAgNTAtMjIuNDMgNTAtNTB2LTEwMy40MDZsMTI0LTM1LjM0NXY1Ny43MzNjLTguMzYzLTYuMjkyLTE4Ljc1Mi0xMC4wMjctMzAtMTAuMDI3LTI3LjU3IDAtNTAgMjIuNDMtNTAgNTBzMjIuNDMgNTAgNTAgNTAgNTAtMjIuNDMgNTAtNTB2LTE2Ny4xNzJjMC01LjUyMy00LjQ3Ny0xMC0xMC0xMHptLTE4NCAyNDguMjE3Yy0xNi41NDIgMC0zMC0xMy40NTgtMzAtMzBzMTMuNDU4LTMwIDMwLTMwIDMwIDEzLjQ1OCAzMCAzMC0xMy40NTggMzAtMzAgMzB6bTE0NC00MS4wNDVjLTE2LjU0MiAwLTMwLTEzLjQ1OC0zMC0zMHMxMy40NTgtMzAgMzAtMzAgMzAgMTMuNDU4IDMwIDMwLTEzLjQ1OCAzMC0zMCAzMHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTUwOC4wMTMgMi4wMWMtMi41MTEtMS44ODktNS43NjMtMi40ODctOC43ODItMS42MTlsLTEwNC40MDggMzAuMDg5Yy00LjI4MiAxLjIzNC03LjIzMSA1LjE1Mi03LjIzMSA5LjYwOXYxMjcuMTk5Yy04LjM2My02LjI5Mi0xOC43NTItMTAuMDI3LTMwLTEwLjAyNy0yNy41NyAwLTUwIDIyLjQzLTUwIDUwczIyLjQzIDUwIDUwIDUwIDUwLTIyLjQzIDUwLTUwdi0xMDMuNDNsOTcuMTc3LTI4LjAwNWM0LjI4Mi0xLjIzNCA3LjIzMS01LjE1MiA3LjIzMS05LjYwOXYtNTYuMjE3YzAtMy4xNDItMS40NzctNi4xMDEtMy45ODctNy45OXptLTE1MC40MjEgMjM1LjI1MWMtMTYuNTQyIDAtMzAtMTMuNDU4LTMwLTMwczEzLjQ1OC0zMCAzMC0zMCAzMCAxMy40NTggMzAgMzAtMTMuNDU4IDMwLTMwIDMwem0xMzQuNDA4LTE3OC41NjktODQuNDA4IDI0LjMyNXYtMzUuNDAzbDg0LjQwOC0yNC4zMjV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00NzEuNTkxIDM0OC43NjItNDguMjg4LTcuMDE3LTIxLjU5NS00My43NTZjLTEuNjg1LTMuNDEzLTUuMTYxLTUuNTc0LTguOTY3LTUuNTc0cy03LjI4MyAyLjE2MS04Ljk2NyA1LjU3NGwtMjEuNTk1IDQzLjc1Ni00OC4yODggNy4wMTdjLTMuNzY3LjU0Ny02Ljg5NiAzLjE4Ni04LjA3MyA2LjgwNnMtLjE5NSA3LjU5NCAyLjUzMSAxMC4yNTFsMzQuOTQxIDM0LjA2LTguMjQ5IDQ4LjA5M2MtLjY0NCAzLjc1MS44OTggNy41NDMgMy45NzggOS43ODEgMy4wNzkgMi4yMzYgNy4xNjIgMi41MzIgMTAuNTMxLjc2MWw0My4xOS0yMi43MDcgNDMuMTkgMjIuNzA2YzEuNDYzLjc3IDMuMDYxIDEuMTQ5IDQuNjUyIDEuMTQ5IDIuMDczIDAgNC4xMzctLjY0NCA1Ljg3OS0xLjkxIDMuMDgtMi4yMzcgNC42MjItNi4wMjkgMy45NzgtOS43ODFsLTguMjQ5LTQ4LjA5MyAzNC45NDEtMzQuMDZjMi43MjYtMi42NTcgMy43MDctNi42MzEgMi41MzEtMTAuMjUxcy00LjMwNC02LjI1OC04LjA3MS02LjgwNXptLTQ3LjEyNCA0MC40NjRjLTIuMzU3IDIuMjk3LTMuNDMzIDUuNjA3LTIuODc2IDguODUxbDUuNzEyIDMzLjMwNC0yOS45MDktMTUuNzI0Yy0yLjkxMy0xLjUzMi02LjM5My0xLjUzMi05LjMwNyAwbC0yOS45MDkgMTUuNzI0IDUuNzEyLTMzLjMwNGMuNTU3LTMuMjQ0LS41MTktNi41NTQtMi44NzYtOC44NTFsLTI0LjE5Ni0yMy41ODYgMzMuNDM5LTQuODU5YzMuMjU3LS40NzMgNi4wNzMtMi41MTkgNy41MjktNS40N2wxNC45NTUtMzAuMzAxIDE0Ljk1NCAzMC4zMDFjMS40NTcgMi45NTEgNC4yNzIgNC45OTcgNy41MjkgNS40N2wzMy40MzkgNC44NTl6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zMi42MiA5MC43MDYtNi42MiAzOC41OTNjLS42NDQgMy43NTEuODk4IDcuNTQzIDMuOTc4IDkuNzgxIDMuMDc5IDIuMjM3IDcuMTYzIDIuNTMzIDEwLjUzMS43NjFsMzQuNjU4LTE4LjIyMSAzNC42NTkgMTguMjIxYzEuNDYzLjc2OSAzLjA2MSAxLjE0OCA0LjY1MiAxLjE0OCAyLjA3MyAwIDQuMTM3LS42NDQgNS44NzktMS45MSAzLjA4LTIuMjM4IDQuNjIyLTYuMDI5IDMuOTc4LTkuNzgxbC02LjYyLTM4LjU5MyAyOC4wNC0yNy4zMzFjMi43MjYtMi42NTcgMy43MDctNi42MzEgMi41MzEtMTAuMjUxcy00LjMwNi02LjI1OC04LjA3My02LjgwNmwtMzguNzUtNS42MzEtMTcuMzI4LTM1LjExMmMtMS42ODQtMy40MTMtNS4xNi01LjU3NC04Ljk2Ny01LjU3NHMtNy4yODMgMi4xNjEtOC45NjcgNS41NzRsLTE3LjMyOSAzNS4xMTMtMzguNzUgNS42MzFjLTMuNzY3LjU0Ny02Ljg5NiAzLjE4Ni04LjA3MyA2LjgwNnMtLjE5NSA3LjU5NCAyLjUzMSAxMC4yNTF6bTI0LjMzLTMwLjk4M2MzLjI1Ny0uNDczIDYuMDczLTIuNTE5IDcuNTI5LTUuNDdsMTAuNjg4LTIxLjY1NyAxMC42ODggMjEuNjU3YzEuNDU3IDIuOTUxIDQuMjcyIDQuOTk3IDcuNTI5IDUuNDdsMjMuOSAzLjQ3My0xNy4yOTIgMTYuODU4Yy0yLjM1NyAyLjI5OC0zLjQzMyA1LjYwOC0yLjg3NiA4Ljg1Mmw0LjA4MyAyMy44MDQtMjEuMzc3LTExLjIzOGMtMS40NTctLjc2Ni0zLjA1NS0xLjE0OS00LjY1My0xLjE0OS0xLjU5OSAwLTMuMTk3LjM4My00LjY1MyAxLjE0OWwtMjEuMzc3IDExLjIzOCA0LjA4My0yMy44MDRjLjU1Ny0zLjI0NC0uNTE5LTYuNTU0LTIuODc2LTguODUybC0xNy4yOTYtMTYuODU4eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjM0IDg2LjMwNmMtNS41MjMgMC0xMCA0LjQ3Ny0xMCAxMHYxMGMwIDUuNTIzIDQuNDc3IDEwIDEwIDEwczEwLTQuNDc3IDEwLTEwdi0xMGMwLTUuNTIzLTQuNDc3LTEwLTEwLTEweiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjM0IDE1Ni4zMDZjLTUuNTIzIDAtMTAgNC40NzctMTAgMTB2MTBjMCA1LjUyMyA0LjQ3NyAxMCAxMCAxMHMxMC00LjQ3NyAxMC0xMHYtMTBjMC01LjUyMy00LjQ3Ny0xMC0xMC0xMHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI3NCAxMjYuMzA2aC0xMGMtNS41MjMgMC0xMCA0LjQ3Ny0xMCAxMHM0LjQ3NyAxMCAxMCAxMGgxMGM1LjUyMyAwIDEwLTQuNDc3IDEwLTEwcy00LjQ3Ny0xMC0xMC0xMHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTE5NCAxNDYuMzA2aDEwYzUuNTIzIDAgMTAtNC40NzcgMTAtMTBzLTQuNDc3LTEwLTEwLTEwaC0xMGMtNS41MjMgMC0xMCA0LjQ3Ny0xMCAxMHM0LjQ3NyAxMCAxMCAxMHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTE2MiAyODQuMzFjMi42MyAwIDUuMjEtMS4wNyA3LjA3LTIuOTNzMi45My00LjQ0IDIuOTMtNy4wN2MwLTIuNjQtMS4wNy01LjIxLTIuOTMtNy4wOC0xLjg2LTEuODYtNC40NC0yLjkyLTcuMDctMi45MnMtNS4yMSAxLjA2LTcuMDcgMi45MmMtMS44NiAxLjg3LTIuOTMgNC40NC0yLjkzIDcuMDggMCAyLjYzIDEuMDcgNS4yMSAyLjkzIDcuMDdzNC40NCAyLjkzIDcuMDcgMi45M3oiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",Jle="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUwNS40IDUwNS40Ij4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJNNDM3LjEsMjMzLjQ1YzE0LjgtMTAuNCwyNC42LTI3LjcsMjQuNi00Ny4yYzAtMzEuOS0yNS44LTU3LjctNTcuNy01Ny43Yy0zMS45LDAtNTcuNywyNS44LTU3LjcsNTcuNw0KCQkJYzAsMTkuNSw5LjcsMzYuOCwyNC42LDQ3LjJjLTEyLjcsNC40LTI0LjMsMTEuMi0zNC4xLDIwYy0xMy41LTExLjUtMjkuNC0yMC4zLTQ2LjgtMjUuNWMyMS4xLTEyLjgsMzUuMy0zNi4xLDM1LjMtNjIuNg0KCQkJYzAtNDAuNC0zMi43LTczLjEtNzMuMS03My4xYy00MC40LDAtNzMuMSwzMi44LTczLjEsNzMuMWMwLDI2LjUsMTQuMSw0OS44LDM1LjMsNjIuNmMtMTcuMiw1LjItMzIuOSwxMy45LTQ2LjMsMjUuMg0KCQkJYy05LjgtOC42LTIxLjItMTUuMy0zMy43LTE5LjZjMTQuOC0xMC40LDI0LjYtMjcuNywyNC42LTQ3LjJjMC0zMS45LTI1LjgtNTcuNy01Ny43LTU3LjdzLTU3LjcsMjUuOC01Ny43LDU3LjcNCgkJCWMwLDE5LjUsOS43LDM2LjgsMjQuNiw0Ny4yQzI4LjUsMjQ3LjI1LDAsMjg0Ljk1LDAsMzI5LjI1djYuNmMwLDAuMiwwLjIsMC40LDAuNCwwLjRoMTIyLjNjLTAuNyw1LjUtMS4xLDExLjItMS4xLDE2Ljl2Ni44DQoJCQljMCwyOS40LDIzLjgsNTMuMiw1My4yLDUzLjJoMTU1YzI5LjQsMCw1My4yLTIzLjgsNTMuMi01My4ydi02LjhjMC01LjctMC40LTExLjQtMS4xLTE2LjlINTA1YzAuMiwwLDAuNC0wLjIsMC40LTAuNHYtNi42DQoJCQlDNTA1LjIsMjg0Ljg1LDQ3Ni44LDI0Ny4xNSw0MzcuMSwyMzMuNDV6IE0zNjIuMywxODYuMTVjMC0yMywxOC43LTQxLjcsNDEuNy00MS43czQxLjcsMTguNyw0MS43LDQxLjcNCgkJCWMwLDIyLjctMTguMyw0MS4yLTQwLjksNDEuN2MtMC4zLDAtMC41LDAtMC44LDBzLTAuNSwwLTAuOCwwQzM4MC41LDIyNy40NSwzNjIuMywyMDguOTUsMzYyLjMsMTg2LjE1eiBNMTk0LjksMTY1LjM1DQoJCQljMC0zMS41LDI1LjYtNTcuMSw1Ny4xLTU3LjFzNTcuMSwyNS42LDU3LjEsNTcuMWMwLDMwLjQtMjMuOSw1NS4zLTUzLjgsNTdjLTEuMSwwLTIuMiwwLTMuMywwYy0xLjEsMC0yLjIsMC0zLjMsMA0KCQkJQzIxOC44LDIyMC42NSwxOTQuOSwxOTUuNzUsMTk0LjksMTY1LjM1eiBNNTkuMywxODYuMTVjMC0yMywxOC43LTQxLjcsNDEuNy00MS43czQxLjcsMTguNyw0MS43LDQxLjdjMCwyMi43LTE4LjMsNDEuMi00MC45LDQxLjcNCgkJCWMtMC4zLDAtMC41LDAtMC44LDBzLTAuNSwwLTAuOCwwQzc3LjYsMjI3LjQ1LDU5LjMsMjA4Ljk1LDU5LjMsMTg2LjE1eiBNMTI1LjUsMzIwLjE1SDE2LjJjNC41LTQyLjYsNDAuNS03Niw4NC4yLTc2LjMNCgkJCWMwLjIsMCwwLjQsMCwwLjYsMHMwLjQsMCwwLjYsMGMyMC44LDAuMSwzOS44LDcuOCw1NC41LDIwLjNDMTQxLjcsMjc5Ljc1LDEzMSwyOTguOTUsMTI1LjUsMzIwLjE1eiBNMzY2LjgsMzU5Ljk1DQoJCQljMCwyMC41LTE2LjcsMzcuMi0zNy4yLDM3LjJoLTE1NWMtMjAuNSwwLTM3LjItMTYuNy0zNy4yLTM3LjJ2LTYuOGMwLTYyLjEsNDkuNi0xMTIuOSwxMTEuMy0xMTQuN2MxLjEsMC4xLDIuMywwLjEsMy40LDAuMQ0KCQkJczIuMywwLDMuNC0wLjFjNjEuNywxLjgsMTExLjMsNTIuNiwxMTEuMywxMTQuN1YzNTkuOTV6IE0zNzguNywzMjAuMTVjLTUuNS0yMS4xLTE2LTQwLTMwLjMtNTUuNmMxNC44LTEyLjgsMzQtMjAuNSw1NS0yMC43DQoJCQljMC4yLDAsMC40LDAsMC42LDBzMC40LDAsMC42LDBjNDMuNywwLjMsNzkuNywzMy43LDg0LjIsNzYuM0gzNzguN3oiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",Ble="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTM2Ny4wNDMgMTcwLjQxNGMtMTAuNTE2LS4zNjUtMjAuMDE2LTUuMDQ3LTI2Ljc0OS0xMy4xODEtNC45MTQtNS45MzctMTMuOTM4LTUuOTI1LTE4Ljg0MiAwLTE0LjU5NyAxNy42MzctNDEuNDYyIDE3LjYwNi01Ni4wMzEgMC00Ljk3My02LjAwNy0xNC4wMDUtNS44NDItMTguODQzIDAtMTQuNTkyIDE3LjYzMy00MS40NTUgMTcuNjEzLTU2LjAzMS0uMDAxLTQuOTIyLTUuOTQ1LTEzLjk0NS01LjkxNS0xOC44NDEgMC02LjczMyA4LjEzNS0xNi4yMzMgMTIuODE2LTI2Ljc0OSAxMy4xODItNC4xNC4xNDQtNy4zNzkgMy42MTYtNy4yMzQgNy43NTYuMTQ0IDQuMTQgMy41OTQgNy4zNzEgNy43NTYgNy4yMzUgMTMuNTY2LS40NzIgMjYuMzg2LTYuMzI4IDM1LjY0Ni0xNi4xODcgMjAuMjc2IDIxLjYyOSA1NC41NjkgMjEuNjU3IDc0Ljg3NS4wMDEgMjAuMjc4IDIxLjYyOSA1NC41NzEgMjEuNjU0IDc0Ljg3NC0uMDAxIDkuMjYyIDkuODU5IDIyLjA4IDE1LjcxNSAzNS42NDcgMTYuMTg3IDQuMTIxLjE0OSA3LjYxMy0zLjA5NSA3Ljc1Ni03LjIzNS4xNDUtNC4xNC0zLjA5NC03LjYxMi03LjIzNC03Ljc1NnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM0MC4yOTQgMjE4Ljc1N2MtNC45MTQtNS45MzctMTMuOTM4LTUuOTI1LTE4Ljg0MiAwLTE0LjU5NiAxNy42MzYtNDEuNDYxIDE3LjYwNy01Ni4wMzEgMC00Ljk3My02LjAwNy0xNC4wMDUtNS44NDItMTguODQzIDAtMTQuNTk2IDE3LjYzOS00MS40NjEgMTcuNjA2LTU2LjAzMS0uMDAxLTQuOTA0LTUuOTIyLTEzLjkyNy01LjkzOC0xOC44NDEuMDAxLTcuOTk0IDkuNjU4LTIwLjE4MiAxNC40ODQtMzIuNjEyIDEyLjkxNC00LjEtLjUxOS03Ljg2MSAyLjM4OS04LjM4MiA2LjQ5OS0uNTIxIDQuMTA5IDIuMzkgNy44NjIgNi40OTkgOC4zODIgMTYuNDgxIDIuMDg5IDMyLjY1OC0zLjc5NSA0My45MTYtMTUuODA4IDIwLjI3NyAyMS42MjggNTQuNTY4IDIxLjY1NCA3NC44NzMgMCAyMC4yNzYgMjEuNjI3IDU0LjU3IDIxLjY1NiA3NC44NzMgMCAxMS4yNTggMTIuMDEzIDI3LjQzNiAxNy44OTYgNDMuOTE1IDE1LjgwOCA0LjEwOS0uNTIgNy4wMi00LjI3MiA2LjQ5OS04LjM4MnMtNC4yODktNy4wMTktOC4zODItNi40OTljLTEyLjQzNSAxLjU2OS0yNC42MTgtMy4yNTUtMzIuNjExLTEyLjkxNHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM2MC43ODIgMTA3LjdjLTguMDgyLTEuNzAzLTE1LjE2Ny02LTIwLjQ4Ny0xMi40MjctNC45MTQtNS45MzctMTMuOTM4LTUuOTI1LTE4Ljg0MiAwLTE0LjU5NyAxNy42MzctNDEuNDYyIDE3LjYwNi01Ni4wMzEgMC00Ljk3My02LjAwNy0xNC4wMDUtNS44NDItMTguODQzIDAtMTQuNTkyIDE3LjYzMy00MS40NTUgMTcuNjEzLTU2LjAzMS0uMDAxLTQuOTIyLTUuOTQ1LTEzLjk0NS01LjkxNS0xOC44NDEgMC01LjMyIDYuNDI3LTEyLjQwNCAxMC43MjUtMjAuNDg2IDEyLjQyOC00LjA1NC44NTQtNi42NDcgNC44MzItNS43OTMgOC44ODVzNC44NCA2LjY0NyA4Ljg4NSA1Ljc5MmMxMC4zODMtMi4xODggMTkuNTkyLTcuMzkgMjYuODE2LTE1LjExNyAyMC4yODIgMjEuNjMxIDU0LjU3MiAyMS42NDggNzQuODcyLS4wMDEgMjAuMjc2IDIxLjYyNiA1NC41NjcgMjEuNjU2IDc0Ljg3MS4wMDIgNy4yMjYgNy43MjcgMTYuNDM2IDEyLjkzIDI2LjgxOCAxNS4xMTYgNC4wNDguODU1IDguMDMtMS43NCA4Ljg4NS01Ljc5My44NTMtNC4wNTMtMS43NDEtOC4wMzEtNS43OTMtOC44ODR6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im01NC45ODUgNDI5LjI3M2gxNjkuNzMydjY5LjU3OWMwIDcuMjUgNS44OTggMTMuMTQ4IDEzLjE0OSAxMy4xNDhoMjUuMTkyYzcuMjUgMCAxMy4xNDgtNS44OTggMTMuMTQ4LTEzLjE0OHYtMS40NjRoNzQuMTk5djEuNDY0YzAgNy4yNSA1Ljg5OCAxMy4xNDggMTMuMTQ5IDEzLjE0OGgyNS4xOTJjNy4yNSAwIDEzLjE0OC01Ljg5OCAxMy4xNDgtMTMuMTQ4di02OS41NzloNTUuMTE5YzI0LjEyMSAwIDQzLjA4MS0yMC44ODYgNDAuNjU3LTQ0Ljk1Ni0uMDA0LS4wNC0uMDA4LS4wOC0uMDEzLS4xMmwtMTMuMDM1LTExMS41NjdjLS40ODEtNC4xMTQtNC4yMTUtNy4wNjItOC4zMTktNi41NzktNC4xMTQuNDgxLTcuMDYgNC4yMDYtNi41NzkgOC4zMmwxMy4wMyAxMTEuNTAzYzEuNDYgMTQuODMzLTEwLjA5NCAyOC4zOTgtMjUuNzM4IDI4LjM5OGgtNTUuMTE5di0xOS4wNThoNDQuOTM3YzkuNDcgMCAxNi44OC04LjE5MSAxNS45MzUtMTcuNjE2LS4wMDUtLjA0My0uMDEtLjA4Ni0uMDE1LS4xMjlsLTM4Ljc1Ni0zMjkuMDc0Yy0uODYxLTguMTc5LTcuNjk1LTE0LjMzNy0xNS45MjctMTQuMzM3aC0xMzQuNTcxYy00LjE0MyAwLTcuNSAzLjM1OC03LjUgNy41czMuMzU3IDcuNSA3LjUgNy41aDEzNC41NzFjLjUyMyAwIC45NTcuMzkzIDEuMDEuOTE0LjAwNC4wNDIuMDA5LjA4My4wMTQuMTI1bDM4Ljc1IDMyOS4wMzRjLjAxOS4yNzUtLjA3NC41NDctLjI2Ljc1MS0uMTkxLjIxMi0uNDY2LjMzMy0uNzUyLjMzM2gtNDQuOTM3di0yMi44OTJjMC0zOS40NzctMzIuMjU2LTcwLjM0NC03MC4zNDUtNzAuMzQ0LTI2Ljc3OCAwLTUwLjk0NyAxNS4xODktNjIuODM5IDM4Ljc0NC0xMi4wMDgtMjMuNzcyLTM2LjcyNS0zOS4yNS02NC4yMDYtMzguNzMxLTM3LjcuNzA5LTY4Ljk4OCAzMS41OTMtNjguOTg4IDcwLjMzMnYyMi44OTJoLTcwLjM1MmMtLjI4NiAwLS41Ni0uMTIyLS43NTMtLjMzNS0uMTg1LS4yMDQtLjI3Ny0uNDc2LS4yNTktLjc1MWwzOC43NTItMzI5LjAzMmMuMDA1LS4wNDIuMDEtLjA4NC4wMTQtLjEyNy4wNTMtLjUyLjQ4Ni0uOTEyIDEuMDEtLjkxMmgxMzQuNTdjNC4xNDMgMCA3LjUtMy4zNTggNy41LTcuNXMtMy4zNTctNy41LTcuNS03LjVoLTEzNC41N2MtOC4yMzMgMC0xNS4wNjcgNi4xNi0xNS45MjcgMTQuMzM5bC0zOC43NTcgMzI5LjA3M2MtLjAwNS4wNDMtLjAxLjA4Ni0uMDE1LjEyOS0uOTQ2IDkuNDIyIDYuNDY0IDE3LjYxNiAxNS45MzUgMTcuNjE2aDE1OS41NTF2MTkuMDU4aC0xNjkuNzMyYy0xNC44NTIgMC0yNy4yNzktMTIuNzgyLTI1LjczOS0yOC4zOTlsNDAuNjA5LTM0Ny40ODNjLjAwNS0uMDQuMDA5LS4wOC4wMTMtLjExOSAxLjMzNi0xMy4yNjggMTIuMzk5LTIzLjI3MyAyNS43MzQtMjMuMjczaDMyMC43OThjMTMuMzM1IDAgMjQuMzk3IDEwLjAwNSAyNS43MzMgMjMuMjcyLjAwNC4wNC4wMDguMDguMDEzLjEybDIzLjQ4NyAyMDAuOTc5Yy40ODEgNC4xMTUgNC4yMTcgNy4wNjMgOC4zMTkgNi41NzkgNC4xMTQtLjQ4IDcuMDYtNC4yMDYgNi41NzktOC4zMmwtMjMuNDgtMjAwLjkyMmMtMi4xMzgtMjAuOTMyLTE5LjYwMy0zNi43MDgtNDAuNjUxLTM2LjcwOGgtMzIwLjc5OGMtMjEuMDQ5IDAtMzguNTE2IDE1Ljc3Ny00MC42NTIgMzYuNzFsLTQwLjYxIDM0Ny40ODhjLS4wMDUuMDQtLjAwOS4wOC0uMDEzLjEyLTIuNDE1IDIzLjk5OSAxNi40NjYgNDQuOTU1IDQwLjY1OCA0NC45NTV6bTI1Ny43MTMtNzEuMzAyYzAtMTAuMzI1IDguMTIyLTE5LjI4OSAxOC41LTE5LjQ4MyAxMC42ODItLjIwNCAxOS4yMDkgOC40OTEgMTkuMjA5IDE4LjgzNnYyMi44OTJoLTM3LjcwOXptLTM2LjQ5MSA3MS4zMDJoNzQuMTk5djE5LjA1OGgtNzQuMTk5em03OC4yMTUtMzQuMDU4YzUuNTY5IDAgMTAuMDE0IDQuODE4IDkuNDg0IDEwLjQzLS40NzMgNC44ODQtNC41OSA4LjYyNy05LjQ4NCA4LjYyN2gtNzguMjE1di0xOS4wNThjMjYuMTEyLjAwMSA1Mi4xNjcuMDAxIDc4LjIxNS4wMDF6bS03OC4yMTUgNjguMTE2aDc4LjIxNWM1LjUzNyAwIDEwLjAxNiA0Ljc5NiA5LjQ4NCAxMC40My0uNDcyIDQuODc0LTQuNTg3IDguNjI3LTkuNDg0IDguNjI3aC03OC4yMTV6bTExMC42OSAzMy42NjloLTIxLjQ5di0yLjIxM2MxOC4wMTQtOS4xMjcgMTguMDU0LTM0LjcwOCAwLTQzLjg1NXYtMjQuMjZjMTguMDk4LTkuMTcgMTcuOTY4LTM0Ljc1MiAwLTQzLjg1NXYtMjUuNDkzYzAtMjAuNDg2LTE4LjIwMi0zNi41MTctMzguNzk0LTMzLjQ5LTE2LjM1MyAyLjQtMjguOTE1IDE2LjUyNi0yOC45MTUgMzMuNDl2MjIuODkyaC0yMS40OXYtMjEuODM3YzAtMzAuNTUyIDI0LjQ2LTU2LjA5NCA1NC44MjItNTYuMzg2IDMxLjIxOC0uMjYyIDU1Ljg2NyAyNS4wNTggNTUuODY3IDU1LjMzMXptLTIzNi4zNzctMTE2Ljc4NXYtMjEuODM4YzAtMzIuMjI0IDI2LjY5Ni01Ny41ODMgNTcuNTg5LTU2LjM0MiAyOS40ODMgMS4yMDQgNTMuMDk5IDI1LjUwMyA1My4wOTkgNTUuMjg3djEzOS42NzdoLTIxLjQ5YzAtMTQuNDE4IDAtMTIxLjA2MyAwLTEzOS42NzcgMC0xNy45NS0xNC4wNjUtMzIuODA0LTMxLjkxNS0zMy43OTUtMTkuMjc2LTEuMDk2LTM1Ljc5MyAxNC4yNjEtMzUuNzkzIDMzLjc5NXYyMi44OTJoLTIxLjQ5em0zNi40OSAwdi0yMi4yNDVjMC05LjQyNSA2Ljc2Mi0xNy43MjQgMTUuODc3LTE5LjI0MyAxMS42MzktMS44NTIgMjEuODMgNy4yMzcgMjEuODMgMTguNTk2djIyLjg5MnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",Gle="PHN2ZyB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtNDcyIDE2MGgtMzJ2LTgwYzAtOC44MjItNy4xNzgtMTYtMTYtMTZoLTMydi00MGMwLTEzLjIzMy0xMC43NjctMjQtMjQtMjRoLTIyNGMtMTMuMjMzIDAtMjQgMTAuNzY3LTI0IDI0djQwaC0zMmMtOC44MjIgMC0xNiA3LjE3OC0xNiAxNnY4MGgtMzJjLTIyLjA1NiAwLTQwIDE3Ljk0NC00MCA0MHYxNzZjMCAyMi4wNTYgMTcuOTQ0IDQwIDQwIDQwaDgwdjcyYzAgMTMuMjMzIDEwLjc2NyAyNCAyNCAyNGgyMjRjMTMuMjMzIDAgMjQtMTAuNzY3IDI0LTI0di03Mmg4MGMyMi4wNTYgMCA0MC0xNy45NDQgNDAtNDB2LTE3NmMwLTIyLjA1Ni0xNy45NDQtNDAtNDAtNDB6bS00OC04MHY4MGgtMzJ2LTgwem0tMjg4LTU2YzAtNC40MTEgMy41ODktOCA4LThoMjI0YzQuNDExIDAgOCAzLjU4OSA4IDh2MTM2aC0yNDBjMC0xLjYzNSAwLTEzMC4yMTEgMC0xMzZ6bS00OCA1NmgzMnY4MGgtMzJ6bTI4OCA0MDhjMCA0LjQxMS0zLjU4OSA4LTggOGgtMjI0Yy00LjQxMSAwLTgtMy41ODktOC04di0xMzZoMjQwem0xMjAtMTEyYzAgMTMuMjMzLTEwLjc2NyAyNC0yNCAyNGgtODB2LTQ4aDE2YzQuNDE4IDAgOC0zLjU4MiA4LThzLTMuNTgyLTgtOC04Yy0yOC42NTcgMC0yOTAuODgzIDAtMzA0IDAtNC40MTggMC04IDMuNTgyLTggOHMzLjU4MiA4IDggOGgxNnY0OGgtODBjLTEzLjIzMyAwLTI0LTEwLjc2Ny0yNC0yNHYtMTc2YzAtMTMuMjMzIDEwLjc2Ny0yNCAyNC0yNGg0MzJjMTMuMjMzIDAgMjQgMTAuNzY3IDI0IDI0eiIvPg0KICAgICAgICA8cGF0aCBkPSJtNDU2IDE5MmMtMTMuMjMzIDAtMjQgMTAuNzY3LTI0IDI0czEwLjc2NyAyNCAyNCAyNCAyNC0xMC43NjcgMjQtMjQtMTAuNzY3LTI0LTI0LTI0em0wIDMyYy00LjQxMSAwLTgtMy41ODktOC04czMuNTg5LTggOC04IDggMy41ODkgOCA4LTMuNTg5IDgtOCA4eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzkyIDE5MmMtMTMuMjMzIDAtMjQgMTAuNzY3LTI0IDI0czEwLjc2NyAyNCAyNCAyNCAyNC0xMC43NjcgMjQtMjQtMTAuNzY3LTI0LTI0LTI0em0wIDMyYy00LjQxMSAwLTgtMy41ODktOC04czMuNTg5LTggOC04IDggMy41ODkgOCA4LTMuNTg5IDgtOCA4eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzQ0IDM3NmgtMTY4Yy00LjQxOCAwLTggMy41ODItOCA4czMuNTgyIDggOCA4aDE2OGM0LjQxOCAwIDgtMy41ODIgOC04cy0zLjU4Mi04LTgtOHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM0NCA0MTZoLTE2OGMtNC40MTggMC04IDMuNTgyLTggOHMzLjU4MiA4IDggOGgxNjhjNC40MTggMCA4LTMuNTgyIDgtOHMtMy41ODItOC04LTh6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zNDQgNDU2aC0xNjhjLTQuNDE4IDAtOCAzLjU4Mi04IDhzMy41ODIgOCA4IDhoMTY4YzQuNDE4IDAgOC0zLjU4MiA4LThzLTMuNTgyLTgtOC04eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",Fle="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTQ3My41NzQgMjUyLjQzMmgtNzMuMTg0di00My43NjFjMC0xMS40NzMtOS4zMzQtMjAuODA3LTIwLjgwNy0yMC44MDctOS44ODYgMC0zNC4yOTUgMC00NC4zMDIgMHYtMTcuODQxYzAtMTIuMzk5LTEwLjA4Ny0yMi40ODYtMjIuNDg2LTIyLjQ4NmgtMTcuNTk1bDE0LjcyNC00Ny41MzVjMTYuNzU5LjY5MiAzMC41MzktMTIuNzUgMzAuNTM5LTI5LjI4NCAwLTE2LjE2NC0xMy4xNTEtMjkuMzE1LTI5LjMxNS0yOS4zMTUtMjkuMjY4IDAtNDAuNDU1IDM4LjUxLTE1LjU0MSA1NC4xNTRsLTE2LjEwMSA1MS45NzloLTMwLjEzM2MtMTAuNTc2IDAtMTkuODMxIDcuNTE0LTIyLjAwNiAxNy44NjYtLjEwNi41MDctLjE2IDEuMDI0LS4xNiAxLjU0MnYyMC45MTloLTM4LjE0NnYtMTguODAxYzAtOC42NzMtNy4wNTctMTUuNzMtMTUuNzMtMTUuNzNoLTEuMzc5di0xOS41NzJjOS40NjktLjIwMyAxNy4xMTMtNy45NTMgMTcuMTEzLTE3LjQ3di0xNS42MTZjMC05LjUxNy03LjY0NC0xNy4yNjctMTcuMTEzLTE3LjQ3di00My42OTljMC0yMS42OTUtMTcuNjUtMzkuMzQ2LTM5LjM0Ni0zOS4zNDZoLTUxLjY3N2MtNC4xNCAwLTcuNDk1IDMuMzU2LTcuNDk1IDcuNDk1czMuMzU2IDcuNDk1IDcuNDk1IDcuNDk1aDUxLjY3OGMxMy40MjkgMCAyNC4zNTUgMTAuOTI2IDI0LjM1NSAyNC4zNTV2NDMuNjgyaC0zNy45NTd2LTIyLjU4NGMwLTQuMTQtMy4zNTYtNy40OTUtNy40OTUtNy40OTVoLTk2LjJ2LTM3Ljk1N2gzNS42MzhjNC4xNCAwIDcuNDk1LTMuMzU2IDcuNDk1LTcuNDk1cy0zLjM1NS03LjQ5NS03LjQ5NS03LjQ5NWgtNDMuMTMzYy00LjE0IDAtNy40OTUgMy4zNTYtNy40OTUgNy40OTV2NTIuOTQ3YzAgNC4xNCAzLjM1NiA3LjQ5NSA3LjQ5NSA3LjQ5NWg5Ni4ydjE1LjEwOWMtOS40NjguMjAzLTE3LjExMiA3Ljk1NC0xNy4xMTIgMTcuNDd2MTUuNjE2YzAgOS41MTYgNy42NDQgMTcuMjY3IDE3LjExMiAxNy40N3YxOS41NzJoLTEuMzc5Yy04LjY3MyAwLTE1LjczIDcuMDU3LTE1LjczIDE1LjczdjE4LjgwMWgtMjIuNTU1Yy0xMS40NzMgMC0yMC44MDcgOS4zMzQtMjAuODA3IDIwLjgwN3YyLjQ4OWwtMzMuNDAyIDcuNTg5Yy0zLjQxMy43NzUtNS44MzUgMy44MDktNS44MzUgNy4zMDl2MTA3LjI0M2MwIDMuNDk5IDIuNDIxIDYuNTMzIDUuODMzIDcuMzA4bDMzLjQwNCA3LjU5OHYyLjQ4N2MwIDExLjQ3MyA5LjMzNCAyMC44MDcgMjAuODA3IDIwLjgwN2g2LjQyNHYyNy43OTloLTE1LjEyN2MtNC4xNCAwLTcuNDk1IDMuMzU2LTcuNDk1IDcuNDk1IDAgNC4xNCAzLjM1NiA3LjQ5NSA3LjQ5NSA3LjQ5NWgzMzMuODQ5YzEuMzc4IDAgMi40OTggMS4xMjEgMi40OTggMi40OTh2MjUuNTJjLTE1LjgzNi0yLjgzLTMyLjQxOC4xMDMtNDYuNzA3IDguODExLTE2Ljc1NCAxMC4yMTEtMzcuNTcgMTAuMjEyLTU0LjMyNCAwLTIxLjU2Ny0xMy4xNDQtNDguMzYxLTEzLjE0NS02OS45MjggMC0xNi43NTQgMTAuMjExLTM3LjU3IDEwLjIxMi01NC4zMjQgMC0yMS41NjctMTMuMTQ0LTQ4LjM2MS0xMy4xNDUtNjkuOTI4IDAtMTYuNzU0IDEwLjIxMi0zNy41NyAxMC4yMTItNTQuMzI0IDBsLTI3LjQ2OS0xNi43NDJ2LTIwLjA4N2gxMC42NzZjNC4xNCAwIDcuNDk1LTMuMzU2IDcuNDk1LTcuNDk1cy0zLjM1Ni03LjQ5NS03LjQ5NS03LjQ5NWgtMTguMTcyYy00LjE0IDAtNy40OTUgMy4zNTYtNy40OTUgNy40OTV2OTcuNTQ5YzAgNC4xMzkgMy4zNTYgNy40OTUgNy40OTUgNy40OTVoNDk3LjAwOWM0LjE0IDAgNy40OTUtMy4zNTYgNy40OTUtNy40OTUgMC04OC41MDYgMC0xMTguMDA5IDAtMjEzLjQ4Ny4wMDEtMjEuMTg4LTE3LjIzNy0zOC40MjYtMzguNDI1LTM4LjQyNnptLTE2Mi40MjUtMTk2LjAzN2M3Ljg5OCAwIDE0LjMyNSA2LjQyNiAxNC4zMjUgMTQuMzI0cy02LjQyNiAxNC4zMjUtMTQuMzI1IDE0LjMyNWMtNy44OTggMC0xNC4zMjQtNi40MjYtMTQuMzI0LTE0LjMyNXM2LjQyNi0xNC4zMjQgMTQuMzI0LTE0LjMyNHptLTI2Ny42MDQgMjc2LjQ0LTI0LjI0Ny01LjUxNXYtOTUuMjc3bDI0LjI0Ny01LjUwOXptMTk4LjY1My0xNjQuOTc0Yy45NDctMy4xMjUgMy44NjctNS4zMzMgNy4xNzYtNS4zMzNoNjMuNDJjNC4xMzMgMCA3LjQ5NSAzLjM2MiA3LjQ5NSA3LjQ5NXYxNy44NDFoLTc4LjA5MXptLTE0MC4zMDUtNTEuNTY5di0xNS42MTZjMC0xLjM3OCAxLjEyMS0yLjQ5OCAyLjQ5OC0yLjQ5OGg2Ny4xODVjMS4zNzggMCAyLjQ5OCAxLjEyMSAyLjQ5OCAyLjQ5OHYxNS42MTZjMCAxLjM3OC0xLjEyMSAyLjQ5OC0yLjQ5OCAyLjQ5OGgtNjcuMTg1Yy0xLjM3Ny4wMDEtMi40OTgtMS4xMi0yLjQ5OC0yLjQ5OHptNTUuMDY5IDE3LjQ4OXYxOS41NTNoLTM3Ljk1N3YtMTkuNTUzem0tNTUuMDY2IDM1LjI4M2MwLS40MDcuMzMyLS43MzkuNzM5LS43MzloNzAuNjk2Yy40MDcgMCAuNzM5LjMzMi43MzkuNzM5djE4LjgwMWgtNzIuMTc1di0xOC44MDF6bS0uMDAzIDMzLjc5MWgyNDAuMTQ4djE1My42NTZoLTI0MC4xNDh6bS0zNy41NDIgMTUzLjY1NmMtMy4yMDcgMC01LjgxNi0yLjYwOS01LjgxNi01LjgxNnYtMTQyLjAyM2MwLTMuMjA3IDIuNjA5LTUuODE2IDUuODE2LTUuODE2aDIyLjU1MXYxNTMuNjU2Yy01LjIxMS0uMDAxLTE3LjQ4OC0uMDAxLTIyLjU1MS0uMDAxem0yOTkuMzcyIDQyLjc5aC0yNzcuOTU3di0yNy43OTloMjc3Ljk1NnYyNy43OTl6bTcuNDk1LTQyLjc5NGMtLjAyOSAwLS4wNTguMDA0LS4wODcuMDA0aC0xNC4wOTl2LTE1My42NTZoMjIuNTUxYzMuMjA3IDAgNS44MTYgMi42MDkgNS44MTYgNS44MTZ2MTQyLjAyNGMwIDMuMjA3LTIuNjA5IDUuODE2LTUuODE2IDUuODE2aC04LjI3OGMtLjAyOSAwLS4wNTgtLjAwNC0uMDg3LS4wMDR6bTEyNS43OTEgMTQwLjM0M2MtOS4zNzkgMC00NzEuMTA3IDAtNDgyLjAxOSAwdi00NC45MTZsMTkuNjY3IDExLjk4N2MyMS41NjcgMTMuMTQ1IDQ4LjM2MSAxMy4xNDUgNjkuOTI4IDAgMTYuNzU0LTEwLjIxMSAzNy41Ny0xMC4yMTIgNTQuMzI0IDAgMjEuNTY4IDEzLjE0NSA0OC4zNjEgMTMuMTQ1IDY5LjkyOCAwIDE2Ljc1NC0xMC4yMTEgMzcuNTctMTAuMjEyIDU0LjMyNCAwIDIxLjU2OCAxMy4xNDUgNDguMzYxIDEzLjE0NSA2OS45MjggMCAxNy4wOTctMTAuNDIxIDM3Ljk0MS05Ljk4NiA1NC4zMjQgMCAyMS41NjcgMTMuMTQ0IDQ4LjM2MiAxMy4xNDQgNjkuOTI4IDBsMTkuNjY3LTExLjk4N2MuMDAxIDEwLjU1Ni4wMDEgMjIuMzguMDAxIDQ0LjkxNnptMC02Mi40NzJjLTI5Ljc4OSAxOC4xNTYtMzAuMzUzIDE4LjgzNi0zNi41MjcgMjEuMTMydi00NC4yNTdjMC00LjEzOS0zLjM1Ni03LjQ5NS03LjQ5NS03LjQ5NXMtNy40OTUgMy4zNTYtNy40OTUgNy40OTV2NDcuNDI3Yy0xOS40NzIgMS4xNzItMjguOTg0LTcuNjg4LTM4LjUwNi0xMS44MzZ2LTMwLjA1NGMwLTkuNjQzLTcuODQ2LTE3LjQ4OS0xNy40ODktMTcuNDg5aC0xMC43ODN2LTI3Ljc5OWMxMy4zNDIgMCAyMS42NzYtMTAuMDQ5IDIxLjY3Ni0yMC44MDd2LTMxLjc1NWg0NS4xMDJ2NjIuMzMxYzAgNC4xMzkgMy4zNTYgNy40OTUgNy40OTUgNy40OTVzNy40OTUtMy4zNTYgNy40OTUtNy40OTV2LTY5LjgyNmMwLTQuMTM5LTMuMzU2LTcuNDk1LTcuNDk1LTcuNDk1aC01Mi41OTd2LTM2LjUyN2g3My4xODRjMTIuOTIzIDAgMjMuNDM2IDEwLjUxMyAyMy40MzYgMjMuNDM1djE0My41MnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTIxMS4wMjQgMjI3LjE1M2gtNzkuNzI2Yy00LjE0IDAtNy40OTUgMy4zNTYtNy40OTUgNy40OTV2OTAuMDdjMCA0LjE0IDMuMzU2IDcuNDk1IDcuNDk1IDcuNDk1aDc5LjcyNmM0LjE0IDAgNy40OTUtMy4zNTYgNy40OTUtNy40OTV2LTkwLjA3Yy4wMDEtNC4xMzktMy4zNTUtNy40OTUtNy40OTUtNy40OTV6bS03LjQ5NSA5MC4wN2gtNjQuNzM1di03NS4wNzloNjQuNzM1eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzEyLjYzNSAyNDAuOTdoLTY0LjUwNWMtNC4xMzkgMC03LjQ5NSAzLjM1Ni03LjQ5NSA3LjQ5NSAwIDQuMTQgMy4zNTYgNy40OTUgNy40OTUgNy40OTVoNjQuNTA1YzQuMTM5IDAgNy40OTUtMy4zNTYgNy40OTUtNy40OTUuMDAxLTQuMTM5LTMuMzU1LTcuNDk1LTcuNDk1LTcuNDk1eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzEyLjYzNSAyNzIuMTg4aC02NC41MDVjLTQuMTM5IDAtNy40OTUgMy4zNTYtNy40OTUgNy40OTVzMy4zNTYgNy40OTUgNy40OTUgNy40OTVoNjQuNTA1YzQuMTM5IDAgNy40OTUtMy4zNTYgNy40OTUtNy40OTVzLTMuMzU1LTcuNDk1LTcuNDk1LTcuNDk1eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzEyLjYzNSAzMDMuNDA2aC02NC41MDVjLTQuMTM5IDAtNy40OTUgMy4zNTYtNy40OTUgNy40OTVzMy4zNTYgNy40OTUgNy40OTUgNy40OTVoNjQuNTA1YzQuMTM5IDAgNy40OTUtMy4zNTYgNy40OTUtNy40OTVzLTMuMzU1LTcuNDk1LTcuNDk1LTcuNDk1eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTYxLjg5OSAyODcuMTc5aDcuNTQ4bC0yLjkwNCA3LjQzMmMtMS41MDcgMy44NTUuMzk3IDguMjAyIDQuMjUzIDkuNzA5Ljg5Ni4zNSAxLjgxOS41MTYgMi43MjYuNTE2IDIuOTk3IDAgNS44MjYtMS44MDkgNi45ODMtNC43NjlsNi45LTE3LjY1NWMuOTAyLTIuMzA3LjYwNi00LjkxLS43OTEtNi45NTVzLTMuNzEzLTMuMjY4LTYuMTktMy4yNjhoLTcuNTQ4bDIuOTA0LTcuNDMyYzEuNTA3LTMuODU1LS4zOTctOC4yMDItNC4yNTMtOS43MDktMy44NTUtMS41MDktOC4yMDMuMzk2LTkuNzA5IDQuMjUzbC02LjkgMTcuNjU1Yy0uOTAyIDIuMzA3LS42MDYgNC45MS43OTEgNi45NTUgMS4zOTYgMi4wNDQgMy43MTMgMy4yNjggNi4xOSAzLjI2OHoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",Hle="PHN2ZyB2aWV3Qm94PSIwIDAgMTI4IDEyOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtOTQuNzI3IDczLjcwOGE2Ljc1IDYuNzUgMCAxIDAgNi43NSA2Ljc1IDYuNzU2IDYuNzU2IDAgMCAwIC02Ljc1LTYuNzV6bTAgMTBhMy4yNSAzLjI1IDAgMSAxIDMuMjUtMy4yNSAzLjI1NCAzLjI1NCAwIDAgMSAtMy4yNSAzLjI1eiIvPg0KICAgICAgICA8cGF0aCBkPSJtNzMuMDgxIDczLjcwOGE2Ljc1IDYuNzUgMCAxIDAgNi43NSA2Ljc1IDYuNzU3IDYuNzU3IDAgMCAwIC02Ljc1LTYuNzV6bTAgMTBhMy4yNSAzLjI1IDAgMSAxIDMuMjUtMy4yNSAzLjI1NCAzLjI1NCAwIDAgMSAtMy4yNSAzLjI1eiIvPg0KICAgICAgICA8Y2lyY2xlIGN4PSI2NC45NjYiIGN5PSI0OC4wMjEiIHI9IjMiLz4NCiAgICAgICAgPGNpcmNsZSBjeD0iNzcuNTkxIiBjeT0iNDguMDIxIiByPSIzIi8+DQogICAgICAgIDxjaXJjbGUgY3g9IjkwLjIxNiIgY3k9IjQ4LjAyMSIgcj0iMyIvPg0KICAgICAgICA8Y2lyY2xlIGN4PSIxMDIuODQxIiBjeT0iNDguMDIxIiByPSIzIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xMjEuNSAzMy41aC0xMTVhMS43NTEgMS43NTEgMCAwIDAgLTEuNzUgMS43NXY1Ny41YTEuNzUxIDEuNzUxIDAgMCAwIDEuNzUgMS43NWgxNS45NDJ2OC4yNWExLjc1MSAxLjc1MSAwIDAgMCAxLjc1IDEuNzVoMTBhMS43NSAxLjc1IDAgMCAwIDEuNzUtMS43NXYtOC4yNWg1Ni4xMTZ2OC4yNWExLjc1IDEuNzUgMCAwIDAgMS43NSAxLjc1aDEwYTEuNzUxIDEuNzUxIDAgMCAwIDEuNzUtMS43NXYtOC4yNWgxNS45NDJhMS43NTEgMS43NTEgMCAwIDAgMS43NS0xLjc1di01Ny41YTEuNzUxIDEuNzUxIDAgMCAwIC0xLjc1LTEuNzV6bS04OS4wNTggNjcuNWgtNi41di02LjVoNi41em02OS42MTYgMGgtNi41di02LjVoNi41em0xNy42OTItMTBoLTExMS41di01NGgxMTEuNXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTMyLjY5MiA3NC4yNWExMC4yNSAxMC4yNSAwIDEgMCAtMTAuMjUtMTAuMjUgMTAuMjYxIDEwLjI2MSAwIDAgMCAxMC4yNSAxMC4yNXptLTEuNzUtMTYuNzYydjQuMDEyYTEuNzUgMS43NSAwIDAgMCAzLjUgMHYtNC4wMTJhNi43NSA2Ljc1IDAgMSAxIC0zLjUgMHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTMyLjY5MiA0OS45NThhMS43NDkgMS43NDkgMCAwIDAgMS43NS0xLjc1di0zYTEuNzUgMS43NSAwIDAgMCAtMy41IDB2M2ExLjc1IDEuNzUgMCAwIDAgMS43NSAxLjc1eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzguNzkyIDUxLjM1M2ExLjc1IDEuNzUgMCAwIDAgMi4zMzctLjgxNmwxLjMtMi43YTEuNzUgMS43NSAwIDAgMCAtMy4xNTItMS41MmwtMS4zIDIuN2ExLjc1IDEuNzUgMCAwIDAgLjgxNSAyLjMzNnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ1LjA1MiA1NS45MTlhMS43NDggMS43NDggMCAwIDAgMS4wODgtLjM4bDIuMzQ4LTEuODY4YTEuNzUgMS43NSAwIDAgMCAtMi4xNzktMi43MzlsLTIuMzQ4IDEuODY4YTEuNzUgMS43NSAwIDAgMCAxLjA5MSAzLjEyeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjQuMjU2IDUwLjUzN2ExLjc1IDEuNzUgMCAxIDAgMy4xNTItMS41MjFsLTEuMy0yLjdhMS43NSAxLjc1IDAgMCAwIC0zLjE1MiAxLjUyeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTYuOSA1My42NzEgMi4zNDkgMS44NjhhMS43NSAxLjc1IDAgMCAwIDIuMTc4LTIuNzRsLTIuMzQ4LTEuODY3YTEuNzUgMS43NSAwIDEgMCAtMi4xNzkgMi43Mzl6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im01OC44MDggNzAuMjkyaDUwLjE5MmExLjc1MSAxLjc1MSAwIDAgMCAxLjc1LTEuNzV2LTEwYTEuNzUgMS43NSAwIDAgMCAtMS43NS0xLjc1aC01MC4xOTJhMS43NDkgMS43NDkgMCAwIDAgLTEuNzUgMS43NXYxMGExLjc1IDEuNzUgMCAwIDAgMS43NSAxLjc1em0xLjc1LTEwaDQ2LjY5MnY2LjVoLTQ2LjY5MnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTE2LjEzNSA4Ny4yMDhoMzMuMTE1YTEuNzUgMS43NSAwIDAgMCAwLTMuNWgtMzMuMTE1YTEuNzUgMS43NSAwIDAgMCAwIDMuNXoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",Vle="PHN2ZyBoZWlnaHQ9IjYwMHB0IiB2aWV3Qm94PSItNDUgLTE5IDYwMCA2MDAuMDAxIiB3aWR0aD0iNjAwcHQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTQ5OC4yMTQ4NDQgMGgtNTAuOTc2NTYzYy0xOC4xOTUzMTIuMDI3MzQzOC0zMi45MzM1OTMgMTQuNzY5NTMxLTMyLjk2NDg0MyAzMi45NjQ4NDR2MjQuODcxMDk0aC0xNDQuODI0MjE5Yy02MS40Mzc1LjA5Mzc1LTExMi4yNTM5MDcgNDcuODcxMDkzLTExNi4xMzI4MTMgMTA5LjE4NzVoLTM5LjA2NjQwNmMtNS41MTU2MjUgMC05Ljk4ODI4MSA0LjQ2ODc1LTkuOTg4MjgxIDkuOTg4MjgxdjMwLjUxMTcxOWgtMTAuMjg1MTU3Yy0zLjcwNzAzMSAwLTcuMTA1NDY4IDIuMDQ2ODc0LTguODM1OTM3IDUuMzI4MTI0bC04NS43Njk1MzEgMTYyLjU1NDY4OGMtMS42MzY3MTkgMy4wOTc2NTYtMS41MzEyNSA2LjgyNDIxOS4yNzczNDQgOS44MjQyMTkgMS44MDg1OTMgMyA1LjA1MDc4MSA0LjgyODEyNSA4LjU1NDY4NyA0LjgyODEyNWgxMDguMTIxMDk0Yy4xNzU3ODEgMy45NTcwMzEuNjc1NzgxIDcuODg2NzE4IDEuNDk2MDkzIDExLjc2MTcxOCA3LjU3MDMxMyAzNS4wNTQ2ODggMzguNTU4NTk0IDYwLjA5Mzc1IDc0LjQyNTc4MiA2MC4xMjUgMzUuODcxMDk0LjAzNTE1NyA2Ni45MDIzNDQtMjQuOTQ5MjE4IDc0LjUzNTE1Ni01OS45OTYwOTMuODQzNzUtMy45MTAxNTcgMS4zNjcxODgtNy44OTA2MjUgMS41NTA3ODEtMTEuODk0NTMxaDEwOC4xMzY3MTljMy41IDAgNi43NS0xLjgzMjAzMiA4LjU1NDY4OC00LjgzMjAzMiAxLjgwODU5My0zIDEuOTE3OTY4LTYuNzI2NTYyLjI3NzM0My05LjgyMDMxMmwtODUuNzY5NTMxLTE2Mi41NDY4NzVjLTEuNzMwNDY5LTMuMjg5MDYzLTUuMTQ0NTMxLTUuMzM5ODQ0LTguODU5Mzc1LTUuMzMyMDMxaC0xMC4yNjE3MTl2LTMwLjUxMTcxOWMwLTUuNTE5NTMxLTQuNDcyNjU2LTkuOTg4MjgxLTkuOTg4MjgxLTkuOTg4MjgxaC00NC41MzUxNTZjMi4xNDA2MjUtMjIuNDcyNjU3IDIwLjk4ODI4MS0zOS42NDQ1MzIgNDMuNTYyNS0zOS42OTkyMTloMTQ0LjgwNDY4N3YyOC4xNjAxNTZjLjAzNTE1NiAxOC4xOTE0MDYgMTQuNzc3MzQ0IDMyLjkzMzU5NCAzMi45Njg3NSAzMi45NjA5MzdoNTAuOTgwNDY5YzUuNTE1NjI1IDAgOS45ODgyODEtNC40NjQ4NDMgOS45ODgyODEtOS45ODgyODF2LTE2OC40Njg3NWMwLTUuNTExNzE5LTQuNDY0ODQ0LTkuOTgwNDY4NS05Ljk3NjU2Mi05Ljk4ODI4MXptLTI1MC45MTc5NjkgMzk3LjYzMjgxMmMtNS41NjY0MDYgMjUuOTMzNTk0LTI4LjUwNzgxMyA0NC40NTMxMjYtNTUuMDMxMjUgNDQuNDIxODc2LTI2LjUzMTI1LS4wMjczNDQtNDkuNDI1NzgxLTE4LjU5NzY1Ny01NC45MzM1OTQtNDQuNTQ2ODc2LS41NTQ2ODctMi40NTMxMjQtLjkyNTc4MS00Ljk0OTIxOC0xLjEyMTA5My03LjQ1MzEyNGgxMTIuMjM0Mzc0Yy0uMTk5MjE4IDIuNTUwNzgxLS41ODU5MzcgNS4wODIwMzEtMS4xNDg0MzcgNy41NzgxMjR6bTExMi42MDU0NjktMjcuNTc0MjE4aC0xMDEuMzk0NTMyYy0uMDY2NDA2IDAtLjEzNjcxOCAwLS4yMDMxMjQgMGgtMTMxLjk2MDkzOGMtLjA3MDMxMiAwLS4xMzY3MTkgMC0uMjA3MDMxIDBoLTEwMS4zOTQ1MzFsNzUuMjUzOTA2LTE0Mi41NTQ2ODhoMTg0LjY4MzU5NHptLTk5LjQ3MjY1Ni0xNjIuNTM1MTU2aC0xMzYuMTkxNDA3di0yMC41MTk1MzJoMTM2LjE5MTQwN3ptOC45OTYwOTMtMTAwLjE4MzU5NGMtMzMuNTM1MTU2LjI3MzQzNy02MS4yNDYwOTMgMjYuMjM4MjgxLTYzLjY5NTMxMiA1OS42ODM1OTRoLTMyLjQzMzU5NGMzLjg0NzY1Ni01MC4yNzM0MzggNDUuNzMwNDY5LTg5LjEyNSA5Ni4xNTIzNDQtODkuMTg3NWgxNDQuODA0Njg3djI5LjUwMzkwNnptMjE4Ljc2OTUzMSA2MS4xNDA2MjVoLTQwLjk4NDM3NGMtNy4xNjc5NjktLjAxOTUzMS0xMi45NzI2NTctNS44MjQyMTktMTIuOTkyMTg4LTEyLjk4ODI4MXYtMTIyLjUwNzgxM2MuMDE5NTMxLTcuMTYwMTU2IDUuODI0MjE5LTEyLjk2NDg0NCAxMi45OTIxODgtMTIuOTg0Mzc1aDQwLjk4NDM3NHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im05MC41MTU2MjUgNDE1Ljk5MjE4OGMwLTUuNTE1NjI2LTQuNDcyNjU2LTkuOTg4MjgyLTkuOTg4MjgxLTkuOTg4MjgyaC02MS4zOTg0MzhjLTUuNTE1NjI1IDAtOS45ODgyODEgNC40NzI2NTYtOS45ODgyODEgOS45ODgyODIgMCA1LjUxOTUzMSA0LjQ3MjY1NiA5Ljk5MjE4NyA5Ljk4ODI4MSA5Ljk5MjE4N2g2MS4zOTg0MzhjNS41MTU2MjUgMCA5Ljk4ODI4MS00LjQ3MjY1NiA5Ljk4ODI4MS05Ljk5MjE4N3ptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xMTcuNTM5MDYyIDQ3Mi42NzE4NzUtNDAuMDcwMzEyIDM3Ljc0NjA5NGMtMi42NDA2MjUgMi40MzM1OTMtMy43NzM0MzggNi4xMDE1NjItMi45NTcwMzEgOS41OTc2NTYuODEyNSAzLjUwMzkwNiAzLjQ0MTQwNiA2LjI5Njg3NSA2Ljg4NjcxOSA3LjMxNjQwNiAzLjQ0NTMxMiAxLjAyMzQzOCA3LjE3NTc4MS4xMTcxODggOS43NjU2MjQtMi4zNzVsNDAuMDcwMzEzLTM3LjczODI4MWMyLjY0MDYyNS0yLjQzMzU5NCAzLjc2OTUzMS02LjEwMTU2MiAyLjk1NzAzMS05LjYwNTQ2OS0uODE2NDA2LTMuNDk2MDkzLTMuNDQ1MzEyLTYuMjkyOTY5LTYuODg2NzE4LTcuMzE2NDA2LTMuNDQ5MjE5LTEuMDE5NTMxLTcuMTc1NzgyLS4xMTMyODEtOS43NjU2MjYgMi4zNzV6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMzY1LjU0Njg3NSA0MDYuMDAzOTA2aC02MS4zOTA2MjVjLTUuNTE5NTMxIDAtOS45OTIxODggNC40NzI2NTYtOS45OTIxODggOS45ODgyODIgMCA1LjUxOTUzMSA0LjQ3MjY1NyA5Ljk5MjE4NyA5Ljk5MjE4OCA5Ljk5MjE4N2g2MS4zOTA2MjVjNS41MTk1MzEgMCA5Ljk4ODI4MS00LjQ3MjY1NiA5Ljk4ODI4MS05Ljk5MjE4NyAwLTUuNTE1NjI2LTQuNDY4NzUtOS45ODgyODItOS45ODgyODEtOS45ODgyODJ6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMjY3LjA0Njg3NSA0NzIuNjcxODc1Yy0yLjU4OTg0NC0yLjQ4ODI4MS02LjMxNjQwNi0zLjM5NDUzMS05Ljc2NTYyNS0yLjM3NS0zLjQ0NTMxMiAxLjAyMzQzNy02LjA3NDIxOSAzLjgyMDMxMy02Ljg4NjcxOSA3LjMxNjQwNi0uODE2NDA2IDMuNTAzOTA3LjMxNjQwNyA3LjE3MTg3NSAyLjk1MzEyNSA5LjYwNTQ2OWw0MC4wNjI1IDM3LjcyMjY1NmMyLjU4OTg0NCAyLjQ5MjE4OCA2LjMxNjQwNiAzLjQwMjM0NCA5Ljc2NTYyNSAyLjM3NSAzLjQ0MTQwNy0xLjAxOTUzMSA2LjA3MDMxMy0zLjgxMjUgNi44ODY3MTktNy4zMTY0MDYuODEyNS0zLjQ5NjA5NC0uMzE2NDA2LTcuMTY0MDYyLTIuOTU3MDMxLTkuNjAxNTYyem0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTE5Mi4yNzM0MzggNDkwLjkzMzU5NGMtNS41MTU2MjYgMC05Ljk4ODI4MiA0LjQ3MjY1Ni05Ljk4ODI4MiA5Ljk5MjE4N3Y1MC44NDc2NTdjMCAuMjQ2MDkzLS4wMjM0MzcuNTAzOTA2LS4wMjM0MzcuNzM4MjgxIDAgNS41MTU2MjUgNC40NzI2NTYgOS45ODgyODEgOS45ODgyODEgOS45ODgyODEuNDI1NzgxLS4wMDM5MDYuODU1NDY5LS4wMjczNDQgMS4yNzczNDQtLjA4NTkzOCA0Ljk5MjE4Ny0uNjI4OTA2IDguNzM4MjgxLTQuODc4OTA2IDguNzM4MjgxLTkuOTA2MjV2LTUxLjU4MjAzMWMwLTUuNTE5NTMxLTQuNDcyNjU2LTkuOTkyMTg3LTkuOTkyMTg3LTkuOTkyMTg3em0wIDAiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",Zle="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMi4wMDEgNTEyLjAwMSI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTQ3OC41MTEsODguNjIyQzQwMy42OTQsNjkuMjIzLDMyOC40MzcsMzkuMDE3LDI2MC44NzgsMS4yNjljLTMuMDMtMS42OTItNi43MjMtMS42OTMtOS43NTUsMA0KCQkJQzE4MS42MjEsNDAuMDk5LDExMC40MzIsNjguNjcyLDMzLjQ4OSw4OC42MjNjLTQuNDEsMS4xNDQtNy40OSw1LjEyNC03LjQ5LDkuNjh2MTEwLjM5NGMwLDExMy41MzUsNTUuMjkyLDE4OC42MzksMTAxLjY3OCwyMzEuNjUNCgkJCWM0OS43NTcsNDYuMTM4LDEwNy40Niw3MS42NTUsMTI4LjMyNCw3MS42NTVjMjAuODY0LDAsNzguNTY3LTI1LjUxNywxMjguMzI0LTcxLjY1NQ0KCQkJYzQ2LjM4NC00My4wMTEsMTAxLjY3OC0xMTguMTE0LDEwMS42NzgtMjMxLjY1Vjk4LjMwMkM0ODYuMDAyLDkzLjc0Niw0ODIuOTIyLDg5Ljc2Niw0NzguNTExLDg4LjYyMnogTTM3MC43MjYsNDI1LjY3OA0KCQkJYy0yNy41NTcsMjUuNTUzLTU0LjMzNiw0MS42ODUtNzEuOTUsNTAuNzE4Yy0yMi4zMTksMTEuNDQ3LTM3LjgxLDE1LjYwMy00Mi43NzYsMTUuNjAzYy00Ljk2NiwwLTIwLjQ1Ni00LjE1NS00Mi43NzYtMTUuNjAzDQoJCQljLTE3LjYxMi05LjAzMy00NC4zOTItMjUuMTY1LTcxLjk1LTUwLjcxOGMtNDMuNDY0LTQwLjMwMy05NS4yNzYtMTEwLjY2My05NS4yNzYtMjE2Ljk4M1YxMDYuMDA4DQoJCQljNzMuOTY0LTE5LjgsMTQyLjgwMS00Ny41MjMsMjEwLjAwMy04NC41NzRjNjUuNDk4LDM2LjA1OSwxMzcuODI3LDY1LjE4NSwyMTAsODQuNTcxdjEwMi42OWgwLjAwMQ0KCQkJQzQ2Ni4wMDEsMzE1LjAxNSw0MTQuMTksMzg1LjM3NSwzNzAuNzI2LDQyNS42Nzh6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik00NDMuNzkzLDExNS4zNjhjLTYzLjMzNi0xOC40MTMtMTI0LjkzNi00My40MjQtMTgzLjA4Ny03NC4zMzdjLTIuOTM4LTEuNTYzLTYuNDYxLTEuNTYtOS4zOTcsMC4wMDYNCgkJCUMxOTMuMDY5LDcyLjA3OSwxMzEuNDcsOTcuMDk0LDY4LjIyLDExNS4zODdjLTQuMjc3LDEuMjM3LTcuMjIyLDUuMTUzLTcuMjIyLDkuNjA2djgzLjcwMmMwLDM5LjA3Nyw3LjQwNSw3Ni4xNjEsMjIuMDA4LDExMC4yMjINCgkJCWMxNC41MywzMy44OTEsMzYuMjAxLDY0LjgyLDY0LjQwOSw5MS45MzNjMjAuMTc1LDE5LjM5LDQzLjQ2OSwzNi40NzcsNjcuMzY3LDQ5LjQxM2M0LjI4MiwyLjMxOCwyNi4zMDUsMTQuMDAzLDM5LjQwMiwxNi40MjENCgkJCWMwLjYsMC4xMSwxLjIwNywwLjE2NiwxLjgxNSwwLjE2NmMwLjYwOCwwLDEuMjE1LTAuMDU2LDEuODE1LTAuMTY2YzEzLjA5Ny0yLjQxOCwzNS4xMi0xNC4xMDMsMzkuNDAyLTE2LjQyMQ0KCQkJYzIzLjg5NS0xMi45MzYsNDcuMTktMzAuMDIzLDY3LjM2Ny00OS40MTNjMjguMjA4LTI3LjExMSw0OS44NzgtNTguMDQxLDY0LjQwOS05MS45MzNjMTQuNjAzLTM0LjA2LDIyLjAwOC03MS4xNDQsMjIuMDA4LTExMC4yMjINCgkJCXYtODMuNzI0QzQ1MS4wMDEsMTIwLjUyNCw0NDguMDYzLDExNi42MTEsNDQzLjc5MywxMTUuMzY4eiBNNDMxLjAwMSwyMDguNjk1YzAsNzMuMzc2LTI3LjAwOCwxMzYuNTM4LTgwLjI3NiwxODcuNzM0DQoJCQljLTE4Ljg5OCwxOC4xNjItNDAuNjkzLDM0LjE1My02My4wMjksNDYuMjQ1Yy0xMC4xNjcsNS41MDMtMjMuODkyLDExLjkxOS0zMS42OTcsMTMuOTM0Yy03LjgwNS0yLjAxNS0yMS41My04LjQzMS0zMS42OTYtMTMuOTM0DQoJCQljLTIyLjMzNy0xMi4wOTMtNDQuMTMyLTI4LjA4NC02My4wMjktNDYuMjQ1Yy01My4yNjctNTEuMTk1LTgwLjI3Ni0xMTQuMzU5LTgwLjI3Ni0xODcuNzM0VjEzMi40OA0KCQkJYzYwLjM1NC0xNy45NjksMTE5LjE3Mi00MS45MzEsMTc1LjAxOS03MS4zMDZjNTUuNzU3LDI5LjI1MSwxMTQuNTY5LDUzLjIwNCwxNzQuOTgzLDcxLjI3NFYyMDguNjk1eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTczLjAyNywzNTguMzA1bC0wLjItMC4yMTVjLTMuNzAxLTQuMDU1LTkuOTg3LTQuMzY3LTE0LjA3My0wLjY4OWMtNC4xMDUsMy42OTQtNC40MzgsMTAuMDE3LTAuNzQ0LDE0LjEyMmwwLjIsMC4yMTUNCgkJCWMxLjk3MSwyLjE1OCw0LjY3MywzLjI1Niw3LjM4NywzLjI1NmMyLjM4MywwLDQuNzc1LTAuODQ4LDYuNjg2LTIuNTY3QzE3Ni4zODgsMzY4LjczMywxNzYuNzIxLDM2Mi40MDksMTczLjAyNywzNTguMzA1eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjI2Ljk2Myw0MDMuNjk1Yy0xMi4wNDYtNy42MDItMjMuNjQ1LTE2LjM2NC0zNC40NzMtMjYuMDQ0Yy00LjExNy0zLjY4Mi0xMC40MzktMy4zMjctMTQuMTIsMC43OQ0KCQkJYy0zLjY4LDQuMTE4LTMuMzI2LDEwLjQzOSwwLjc5MiwxNC4xMmMxMS42NTMsMTAuNDE4LDI0LjE0NSwxOS44NTQsMzcuMTI5LDI4LjA0OGMxLjY1NywxLjA0NSwzLjUwMiwxLjU0NCw1LjMyNywxLjU0NA0KCQkJYzMuMzE4LDAsNi41NjQtMS42NSw4LjQ2Ni00LjY2NEMyMzMuMDMyLDQxMi44MTgsMjMxLjYzNSw0MDYuNjQyLDIyNi45NjMsNDAzLjY5NXoiLz4NCiAgICAgICAgPHBhdGggZD0iTTMwOC44OTgsMjA5LjA3N3YtMzIuOTIxYzAtMjkuMTY4LTIzLjczLTUyLjg5OC01Mi45LTUyLjg5OGMtMjkuMTY4LDAtNTIuODk4LDIzLjczLTUyLjg5OCw1Mi44OTh2MzIuOTIxDQoJCQljLTExLjg5OCwwLjQyOS0yMS40NDcsMTAuMjM1LTIxLjQ0NywyMi4yMzZ2NzYuNzY5Yy0wLjAwMSwxMi4yNzMsOS45ODQsMjIuMjU3LDIyLjI1NywyMi4yNTdIMzA4LjA5DQoJCQljMTIuMjczLDAsMjIuMjU4LTkuOTg0LDIyLjI1OC0yMi4yNTd2LTc2Ljc2OUMzMzAuMzQ4LDIxOS4zMTEsMzIwLjc5OCwyMDkuNTA0LDMwOC44OTgsMjA5LjA3N3ogTTIyMy4wOTksMTc2LjE1Ng0KCQkJYzAtMTguMTQsMTQuNzU5LTMyLjg5OCwzMi45LTMyLjg5OGMxOC4xNCwwLDMyLjg5OCwxNC43NTgsMzIuODk4LDMyLjg5OHYzMi45aC02NS43OTlWMTc2LjE1NnogTTMxMC4zNDcsMzA4LjA4Mw0KCQkJYzAsMS4yMjQtMS4wMzQsMi4yNTctMi4yNTgsMi4yNTdIMjAzLjkwOGMtMS4yMjQsMC0yLjI1OC0xLjAzMy0yLjI1OC0yLjI1N3YtNzYuNzY5aDAuMDAxYzAtMS4yMjQsMS4wMzQtMi4yNTcsMi4yNTgtMi4yNTdoOS4xODkNCgkJCWg4NS43OTloOS4xOTJjMS4yMjQsMCwyLjI1OCwxLjAzMywyLjI1OCwyLjI1N1YzMDguMDgzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjU2LDI0OS42NGMtNy43MDEsMC0xMy45ODIsNi4yODEtMTMuOTgyLDEzLjk4MmMwLDMuNzg2LDEuNTIzLDcuMjI1LDMuOTgyLDkuNzQ2djkuNzg3YzAsNS41MjIsNC40NzcsMTAsMTAsMTANCgkJCWM1LjUyMywwLDEwLTQuNDc4LDEwLTEwdi05Ljc4N2MyLjQ1OS0yLjUyMiwzLjk4Mi01Ljk2LDMuOTgyLTkuNzQ2QzI2OS45ODIsMjU1LjkyMSwyNjMuNzAxLDI0OS42NCwyNTYsMjQ5LjY0eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",Xle="PHN2ZyBoZWlnaHQ9IjUxMnB0IiB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgd2lkdGg9IjUxMnB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im00OTYuODgyODEyIDBoLTQ4MS43NjU2MjRjLTguMzQ3NjU3IDAtMTUuMTE3MTg4IDYuNzY5NTMxLTE1LjExNzE4OCAxNS4xMTcxODh2NDgxLjc2NTYyNGMwIDguMzQ3NjU3IDYuNzY5NTMxIDE1LjExNzE4OCAxNS4xMTcxODggMTUuMTE3MTg4aDQ4MS43NjU2MjRjOC4zNDc2NTcgMCAxNS4xMTcxODgtNi43Njk1MzEgMTUuMTE3MTg4LTE1LjExNzE4OHYtNDgxLjc2NTYyNGMwLTguMzQ3NjU3LTYuNzY5NTMxLTE1LjExNzE4OC0xNS4xMTcxODgtMTUuMTE3MTg4em0tNDA2LjE3NTc4MSA0MjEuMjkyOTY5di04OC42OTUzMTNoMTE5LjA3NDIxOXY4OC42OTUzMTN6bS02MC40NzI2NTYtMzkxLjA1ODU5NGg2OC40NTMxMjV2MzAuMjM4MjgxaC02OC40NTMxMjV6bTAgNjAuNDcyNjU2aDY4LjQ1MzEyNXYzMC4yMzgyODFoLTY4LjQ1MzEyNXptMzUyLjgzOTg0NC01OC40NTMxMjV2MjguMjE4NzVoLTI1NC4xNDg0Mzh2LTI4LjIxODc1em0tMjU0LjE0ODQzOCAyMzkuODcxMDk0aDI1NC4xNTIzNDR2MzAuMjM4MjgxaC0yNTQuMTUyMzQ0em0wLTMwLjIzNDM3NXYtMzAuMjM4MjgxaDI1NC4xNTIzNDR2MzAuMjM4Mjgxem0wLTYwLjQ3MjY1NnYtMzAuMjM4MjgxaDI1NC4xNTIzNDR2MzAuMjM4Mjgxem0wLTYwLjQ3MjY1N3YtMzAuMjM4MjgxaDI1NC4xNTIzNDR2MzAuMjM4Mjgxem0tOTguNjkxNDA2IDMwLjIzNDM3Nmg2OC40NTMxMjV2MzAuMjM4MjgxaC02OC40NTMxMjV6bTAgNjAuNDcyNjU2aDY4LjQ1MzEyNXYzMC4yMzgyODFoLTY4LjQ1MzEyNXptMCA2MC40NzI2NTZoNjguNDUzMTI1djMwLjIzODI4MWgtNjguNDUzMTI1em0zODMuMDc4MTI1IDBoNjguNDUzMTI1djMwLjIzODI4MWgtNjguNDUzMTI1em02OC40NTMxMjUtMzAuMjM0Mzc1aC02OC40NTMxMjV2LTMwLjIzODI4MWg2OC40NTMxMjV6bTAtNjAuNDcyNjU2aC02OC40NTMxMjV2LTMwLjIzODI4MWg2OC40NTMxMjV6bTAtNjAuNDcyNjU3aC02OC40NTMxMjV2LTMwLjIzODI4MWg2OC40NTMxMjV6bTAtNjAuNDcyNjU2aC02OC40NTMxMjV2LTMwLjIzODI4MWg2OC40NTMxMjV6bS0yNDEuNzUgMjcyLjEyNWgzMC4yMzgyODF2ODguNjk1MzEzaC0zMC4yMzgyODF6bTYwLjQ3NjU2MyAwaDEyMC44MDA3ODF2ODguNjk1MzEzaC0xMjAuODAwNzgxem0tMjcwLjI1NzgxMyAxNDkuMTY3OTY5di0xNDkuMTY3OTY5aDMwLjIzODI4MXYxMDMuODEyNWMwIDguMzQ3NjU2IDYuNzY5NTMyIDE1LjExNzE4OCAxNS4xMTcxODggMTUuMTE3MTg4aDM2MC44MjAzMTJjOC4zNDc2NTYgMCAxNS4xMTcxODgtNi43Njk1MzIgMTUuMTE3MTg4LTE1LjExNzE4OHYtMTAzLjgxMjVoMzAuMjM4MjgxdjE0OS4xNjc5Njl6bTAgMCIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",Kle="PHN2ZyBoZWlnaHQ9IjUxMnB0IiB2aWV3Qm94PSIwIC0yIDUxMiA1MTIiIHdpZHRoPSI1MTJwdCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtMzQ4LjI0NjA5NCAzNzYuNzg1MTU2Yy0zLjI1LTIuNjA1NDY4LTcuOTkyMTg4LTIuMDgyMDMxLTEwLjU5NzY1NiAxLjE2NDA2M2wtMjguOTQ5MjE5IDM2LjA5Mzc1Yy0zLjk4NDM3NSA0Ljk2ODc1LS4zNjcxODggMTIuMjU3ODEyIDUuODc1IDEyLjI1NzgxMiAyLjIxMDkzNyAwIDQuMzk4NDM3LS45Njg3NSA1Ljg4NjcxOS0yLjgyNDIxOWwyOC45NDkyMTgtMzYuMDkzNzVjMi42MDU0NjktMy4yNSAyLjA4NTkzOC03Ljk5MjE4Ny0xLjE2NDA2Mi0xMC41OTc2NTZ6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMzkwLjM1OTM3NSAzNTguNzM4MjgxYy0zLjI1LTIuNjA1NDY5LTcuOTkyMTg3LTIuMDgyMDMxLTEwLjU5NzY1NiAxLjE2NDA2M2wtMjguOTQ5MjE5IDM2LjA5Mzc1Yy0zLjk4NDM3NSA0Ljk2ODc1LS4zNjcxODggMTIuMjU3ODEyIDUuODc1IDEyLjI1NzgxMiAyLjIxMDkzOCAwIDQuMzk4NDM4LS45Njg3NSA1Ljg4NjcxOS0yLjgyNDIxOGwyOC45NDkyMTktMzYuMDkzNzVjMi42MDU0NjgtMy4yNDYwOTQgMi4wODU5MzctNy45OTIxODgtMS4xNjQwNjMtMTAuNTk3NjU3em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTExMS43NSA0MjIuMDUwNzgxYzIuMTA5Mzc1IDAgNC4yMDcwMzEtLjg3ODkwNiA1LjY5OTIxOS0yLjU5NzY1NmwzOS42MTMyODEtNDUuNjQ0NTMxYzIuNzMwNDY5LTMuMTQ0NTMyIDIuMzk0NTMxLTcuOTA2MjUtLjc1LTEwLjYzMjgxMy0zLjE0NDUzMS0yLjczMDQ2OS03LjkxMDE1Ni0yLjM5NDUzMS0xMC42MzY3MTkuNzVsLTM5LjYxNzE4NyA0NS42NDQ1MzFjLTQuMjUzOTA2IDQuOTAyMzQ0LS42OTUzMTMgMTIuNDgwNDY5IDUuNjkxNDA2IDEyLjQ4MDQ2OXptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xOTYuNjIxMDk0IDM3Ni43ODUxNTZjLTMuMjUtMi42MDU0NjgtNy45OTYwOTQtMi4wODIwMzEtMTAuNjAxNTYzIDEuMTY0MDYzbC0xNC40NzI2NTYgMTguMDQ2ODc1Yy0yLjYwNTQ2OSAzLjI1LTIuMDgyMDMxIDcuOTk2MDk0IDEuMTY0MDYzIDEwLjU5NzY1NiAzLjI2OTUzMSAyLjYyNSA4LjAxMTcxOCAyLjA2MjUgMTAuNTk3NjU2LTEuMTY0MDYybDE0LjQ3NjU2Mi0xOC4wNDY4NzZjMi42MDU0NjktMy4yNSAyLjA4MjAzMi03Ljk5MjE4Ny0xLjE2NDA2Mi0xMC41OTc2NTZ6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDM3Ljk5MjE4OCAzOTQuODMyMDMxYy0zLjI1LTIuNjA1NDY5LTcuOTkyMTg4LTIuMDgyMDMxLTEwLjU5NzY1NyAxLjE2NDA2M2wtMTQuNDc2NTYyIDE4LjA0Njg3NWMtMi42MDU0NjkgMy4yNS0yLjA4MjAzMSA3Ljk5MjE4NyAxLjE2NDA2MiAxMC41OTc2NTYgMy4yNjk1MzEgMi42MjEwOTQgOC4wMTE3MTkgMi4wNjI1IDEwLjYwMTU2My0xLjE2NDA2M2wxNC40NzI2NTYtMTguMDQ2ODc0YzIuNjA1NDY5LTMuMjQ2MDk0IDIuMDgyMDMxLTcuOTkyMTg4LTEuMTY0MDYyLTEwLjU5NzY1N3ptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xMTYuNDcyNjU2IDM2Mi45ODQzNzVjLTMuMjUtMi42MDU0NjktNy45OTIxODctMi4wODIwMzEtMTAuNTk3NjU2IDEuMTY0MDYzbC0xNC40NzY1NjIgMTguMDUwNzgxYy0yLjYwNTQ2OSAzLjI0NjA5My0yLjA4MjAzMiA3Ljk5MjE4NyAxLjE2NDA2MiAxMC41OTc2NTYgMy4yNjk1MzEgMi42MjEwOTQgOC4wMTE3MTkgMi4wNjI1IDEwLjU5NzY1Ni0xLjE2NDA2M2wxNC40NzI2NTYtMTguMDQ2ODc0YzIuNjA5Mzc2LTMuMjUgMi4wODU5MzgtNy45OTYwOTQtMS4xNjAxNTYtMTAuNjAxNTYzem0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTUwNC40NjA5MzggMGMtMTcuMjUzOTA3IDAtNDY2LjU5Mzc1IDAtNDk2LjkyMTg3NiAwLTQuMTYwMTU2IDAtNy41MzkwNjIgMy4zNjcxODgtNy41MzkwNjIgNy41MzkwNjJ2NDkzLjg2NzE4OGMwIDQuMTcxODc1IDMuMzc4OTA2IDcuNTM5MDYyIDcuNTM5MDYyIDcuNTM5MDYyaDQyMi4yMTA5MzhjNC4xNjAxNTYgMCA3LjUzOTA2Mi0zLjM2NzE4NyA3LjUzOTA2Mi03LjUzOTA2MiAwLTQuMTY0MDYyLTMuMzc4OTA2LTcuNTQyOTY5LTcuNTM5MDYyLTcuNTQyOTY5aC00MTQuNjcxODc1di0xNDMuODgyODEyaDE0LjM2NzE4N3Y5MC45NTcwMzFjMCA0LjE2NDA2MiAzLjM3NSA3LjUzOTA2MiA3LjUzOTA2MyA3LjUzOTA2MmgxMjYuNDAyMzQ0YzQuMTYwMTU2IDAgNy41MzkwNjItMy4zNzUgNy41MzkwNjItNy41MzkwNjIgMC00LjE2MDE1Ni0zLjM3ODkwNi03LjUzOTA2Mi03LjUzOTA2Mi03LjUzOTA2MmgtMTE4Ljg2MzI4MXYtODMuNDE3OTY5aDE0LjUzOTA2MnYyNi4xMjEwOTNjMCA0LjE2NDA2MyAzLjM3NSA3LjUzOTA2MyA3LjUzOTA2MiA3LjUzOTA2MyA0LjE2NDA2MyAwIDcuNTM5MDYzLTMuMzc1IDcuNTM5MDYzLTcuNTM5MDYzdi0yNi4xMjEwOTNoMTUzLjcxMDkzN3Y4My40MTc5NjloLTM0LjMwODU5M2MtNC4xNjAxNTcgMC03LjUzOTA2MyAzLjM3ODkwNi03LjUzOTA2MyA3LjUzOTA2MiAwIDQuMTY0MDYyIDMuMzc4OTA2IDcuNTM5MDYyIDcuNTM5MDYzIDcuNTM5MDYyaDI4MS40NzI2NTZjNC4xNjQwNjMgMCA3LjUzOTA2My0zLjM3NSA3LjUzOTA2My03LjUzOTA2MnYtOTAuOTU3MDMxaDE0LjM2NzE4N3YxNDMuODgyODEyaC0zNy4wMTU2MjVjLTQuMTYwMTU2IDAtNy41MzkwNjIgMy4zNzg5MDctNy41MzkwNjIgNy41NDI5NjkgMCA0LjE3MTg3NSAzLjM3ODkwNiA3LjUzOTA2MiA3LjUzOTA2MiA3LjUzOTA2Mmg0NC41NTQ2ODhjNC4xNjAxNTYgMCA3LjUzOTA2Mi0zLjM2NzE4NyA3LjUzOTA2Mi03LjUzOTA2MiAwLTUzLjg2MzI4MSAwLTQzNy40OTYwOTQgMC00OTMuODY3MTg4IDAtNC4xNzE4NzQtMy4zNzg5MDYtNy41MzkwNjItNy41MzkwNjItNy41MzkwNjJ6bS00NDUuMzk4NDM4IDMzNC45MDIzNDRjLTEzLjcxNDg0NCAwLTMwLjA1ODU5NCAwLTQzLjk4NDM3NSAwIDAtOS41NTA3ODIgMC0xNi4yNTc4MTMgMC0yNi43ODEyNWg0My45ODQzNzV6bTAtNDEuODU5Mzc1aC00My45ODQzNzV2LTI2Ljc4OTA2M2g0My45ODQzNzV6bTAtNDEuODY3MTg4aC00My45ODQzNzV2LTI2Ljc4MTI1aDQzLjk4NDM3NXptMC00MS44NTkzNzVoLTQzLjk4NDM3NXYtMjYuNzg5MDYyaDQzLjk4NDM3NXptMC00MS44NzEwOTRoLTQzLjk4NDM3NXYtMjYuNzc3MzQzaDQzLjk4NDM3NXptMC00MS44NTkzNzRjLTkuNzAzMTI1IDAtMzMuOTE3OTY5IDAtNDMuOTg0Mzc1IDB2LTI2Ljc4OTA2M2g0My45ODQzNzV6bTAtNDEuODY3MTg4aC00My45ODQzNzV2LTI2Ljc4MTI1aDQzLjk4NDM3NXptMC00MS44NTkzNzVoLTQzLjk4NDM3NXYtMjYuNzgxMjVoNDMuOTg0Mzc1em0xNS4wNzgxMjUtMjYuNzgxMjVoMzYzLjcxODc1djI2Ljc4MTI1aC0zNjMuNzE4NzV6bTAgODMuNzE4NzVoMjg5LjMwMDc4MWM0LjE2NDA2MyAwIDcuNTM5MDYzLTMuMzY3MTg3IDcuNTM5MDYzLTcuNTM5MDYzIDAtNC4xNjAxNTYtMy4zNzUtNy41MzkwNjItNy41MzkwNjMtNy41MzkwNjItMS4yMzQzNzUgMC0yODIuOTQxNDA2IDAtMjg5LjMwMDc4MSAwdi0yNi43ODEyNWgzNjMuNzE4NzV2MjYuNzgxMjVoLTQ0LjI1NzgxM2MtNC4xNjQwNjIgMC03LjUzOTA2MiAzLjM3ODkwNi03LjUzOTA2MiA3LjUzOTA2MiAwIDQuMTcxODc2IDMuMzc1IDcuNTM5MDYzIDcuNTM5MDYyIDcuNTM5MDYzaDQ0LjI1NzgxM3YyNi43ODkwNjNjLTExLjYyNSAwLTM1NC40OTIxODcgMC0zNjMuNzE4NzUgMHptMCA0MS44NzEwOTRoMzYzLjcxODc1djI2Ljc3NzM0M2gtMzYzLjcxODc1em0wIDQxLjg1OTM3NWgzNjMuNzE4NzV2MjYuNzg5MDYyaC0zNjMuNzE4NzV6bTAgNDEuODY3MTg3aDM2My43MTg3NXYyNi43ODEyNWgtMzYzLjcxODc1em0wIDQxLjg1OTM3NWgzNjMuNzE4NzV2MjYuNzg5MDYzaC0zNjMuNzE4NzV6bTAgNjguNjQ4NDM4di0yNi43ODEyNWgzNjMuNzE4NzV2MjYuNzgxMjVjLTM1LjYxNzE4NyAwLTMyNi45NTMxMjUgMC0zNjMuNzE4NzUgMHptMzkzLjMzNTkzNyA5OC40OTYwOTRoLTE4My4zMjgxMjR2LTQwLjY2Nzk2OWMwLTQuMTY0MDYzLTMuMzc1LTcuNTM5MDYzLTcuNTM5MDYzLTcuNTM5MDYzcy03LjUzOTA2MyAzLjM3NS03LjUzOTA2MyA3LjUzOTA2M3Y0MC42Njc5NjloLTI2LjE0MDYyNHYtODMuNDE0MDYzaDI2LjE0MDYyNHYxMi41ODU5MzdjMCA0LjE2Nzk2OSAzLjM3NSA3LjUzOTA2MyA3LjUzOTA2MyA3LjUzOTA2M3M3LjUzOTA2My0zLjM3MTA5NCA3LjUzOTA2My03LjUzOTA2M3YtMTIuNTg5ODQzaDE1My43MTA5Mzd2MjYuMTIxMDkzYzAgNC4xNjQwNjMgMy4zNzUgNy41MzkwNjMgNy41MzkwNjMgNy41MzkwNjMgNC4xNjQwNjIgMCA3LjUzOTA2Mi0zLjM3NSA3LjUzOTA2Mi03LjUzOTA2M3YtMjYuMTIxMDkzaDE0LjUzOTA2MnptMjkuNDQ1MzEzLTk4LjQ5NjA5NGMtMTMuNzg5MDYzIDAtMjkuODY3MTg3IDAtNDMuOTg0Mzc1IDB2LTI2Ljc4MTI1aDQzLjk4NDM3NXptMC00MS44NTkzNzVoLTQzLjk4NDM3NXYtMjYuNzg5MDYzaDQzLjk4NDM3NXptMC00MS44NjcxODhoLTQzLjk4NDM3NXYtMjYuNzgxMjVoNDMuOTg0Mzc1em0wLTQxLjg1OTM3NWgtNDMuOTg0Mzc1di0yNi43ODkwNjJoNDMuOTg0Mzc1em0wLTQxLjg3MTA5NGgtNDMuOTg0Mzc1di0yNi43NzczNDNoNDMuOTg0Mzc1em0wLTQxLjg1OTM3NGgtNDMuOTg0Mzc1di0yNi43ODkwNjNoNDMuOTg0Mzc1em0wLTQxLjg2NzE4OGgtNDMuOTg0Mzc1di0yNi43ODEyNWg0My45ODQzNzV6bTAtNDEuODU5Mzc1aC00My45ODQzNzV2LTI2Ljc4MTI1aDQzLjk4NDM3NXptMCAwIi8+DQogICAgPC9nPg0KPC9zdmc+",qle="PHN2ZyB2aWV3Qm94PSIwIDAgNjQgNjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTU2LjgzOCAxaC00OS42NzZjLTMuMzk4IDAtNi4xNjIgMi43NjQtNi4xNjIgNi4xNjIgMCAuNjY1LjEwNiAxLjMyLjMxNiAxLjk0OWwuNTU4IDEuNjc2Yy44NDEgMi41MiAzLjE5IDQuMjEzIDUuODQ3IDQuMjEzaDQuMzg0bDEuNTA2IDEzLjU1MmMuMjgyIDIuNTM2IDIuNDE4IDQuNDQ4IDQuOTY5IDQuNDQ4aDI2Ljg0YzIuNTUxIDAgNC42ODgtMS45MTIgNC45NjktNC40NDhsMS41MDYtMTMuNTUyaDQuMzg0YzIuNjU3IDAgNS4wMDYtMS42OTMgNS44NDYtNC4yMTRsLjU1OC0xLjY3NGMuMjExLS42My4zMTctMS4yODUuMzE3LTEuOTUgMC0zLjM5OC0yLjc2NC02LjE2Mi02LjE2Mi02LjE2MnptLTMyLjgzOCAzMGgtNHYtOGMwLTEuMTAzLjg5Ny0yIDItMnMyIC44OTcgMiAyem0xMCAwaC00di04YzAtMS4xMDMuODk3LTIgMi0yczIgLjg5NyAyIDJ6bTEwIDBoLTR2LThjMC0xLjEwMy44OTctMiAyLTJzMiAuODk3IDIgMnptNC40MDItMi42NjhjLS4xNDcgMS4zMjQtMS4xMzggMi4zNjMtMi40MDIgMi42MTF2LTcuOTQzYzAtMi4yMDYtMS43OTQtNC00LTRzLTQgMS43OTQtNCA0djhoLTJ2LThjMC0yLjIwNi0xLjc5NC00LTQtNHMtNCAxLjc5NC00IDR2OGgtMnYtOGMwLTIuMjA2LTEuNzk0LTQtNC00cy00IDEuNzk0LTQgNHY3Ljk0MmMtMS4yNjQtLjI0OC0yLjI1NC0xLjI4Ny0yLjQwMi0yLjYxMWwtMS40ODEtMTMuMzMxaDM1Ljc2NnptMTIuMzg0LTE5Ljg1My0uNTU4IDEuNjc1Yy0uNTY3IDEuNzAyLTIuMTU0IDIuODQ2LTMuOTQ5IDIuODQ2aC00OC41NThjLTEuNzk0IDAtMy4zODEtMS4xNDQtMy45NDktMi44NDZsLS41NTgtMS42NzZjLS4xNDItLjQyNC0uMjE0LS44NjctLjIxNC0xLjMxNiAwLTIuMjk1IDEuODY3LTQuMTYyIDQuMTYyLTQuMTYyaDQ5LjY3NmMyLjI5NSAwIDQuMTYyIDEuODY3IDQuMTYyIDQuMTYyIDAgLjQ0OS0uMDcyLjg5Mi0uMjE0IDEuMzE3eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTUgNWgtNmMtMS4xMDMgMC0yIC44OTctMiAydjJjMCAxLjEwMy44OTcgMiAyIDJoNmMxLjEwMyAwIDItLjg5NyAyLTJ2LTJjMC0xLjEwMy0uODk3LTItMi0yem0tNiA0di0yaDZsLjAwMSAyeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNTEgNWgydjJoLTJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00NyA1aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTU1IDVoMnYyaC0yeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNDcgOWgydjJoLTJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im01MSA5aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTU1IDloMnYyaC0yeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNDQgNDB2LTFoLTFjLS4xMTkgMC0xLjc5OS4wNDItMy4xNzkgMi4wMzUtLjA0Ni0uMDYzLS4wOTItLjEzMS0uMTM4LS4xOTMtLjkwMy0xLjIzLTEuNjgzLTIuMjkzLTEuNjgzLTQuODQydi0xaC0xYy0uMTM5IDAtMi44OTMuMDU3LTQuNjI0IDMuMjc4LTIuMDUzLTMuMjIzLTUuMzI4LTMuMjc4LTUuMzc2LTMuMjc4aC0xdjFjMCAyLjU1OS0uNzg0IDMuNjMzLTEuNjkyIDQuODc3LS4wNC4wNTUtLjA4LjExNC0uMTIuMTY5LTEuMzgzLTIuMDA0LTMuMDY5LTIuMDQ2LTMuMTg4LTIuMDQ2aC0xdjFjMCAyLjU0My0uOTk1IDMuODMzLTIuMTQ3IDUuMzI3LTEuMzM3IDEuNzMzLTIuODUzIDMuNjk3LTIuODUzIDcuNjczIDAgNi4wNzUgMy45MjUgMTAgMTAgMTBoMTRjNi4wNzUgMCAxMC0zLjkyNSAxMC0xMCAwLTMuOTc2LTEuNTE2LTUuOTQtMi44NTMtNy42NzMtMS4xNTItMS40OTQtMi4xNDctMi43ODQtMi4xNDctNS4zMjd6bS0xOSAxN2MwLTIuMzk2IDEuMzU4LTMuNzE5IDIuNjcyLTUgLjg1MS0uODMgMS43MjQtMS42OCAyLjExNS0yLjc3My41Ni4zMSAxLjIxMyAxLjA0MyAxLjIxMyAyLjc3M3YzaDJ2LTFjMC0xLjk4NiAxLjIzOS0yLjY2IDIuMTQ3LTIuODg3LjM1NSAxLjMwNCAxLjI5NSAyLjI0NCAyLjE0NiAzLjA5NC45MTYuOTE2IDEuNzA3IDEuNzA3IDEuNzA3IDIuNzkzIDAgMS4zODMtMS40NjMgNC03IDRzLTctMi42MTctNy00em0xNCA0aC0uMTAyYzEuNTYyLTEuMjggMi4xMDItMi44OTkgMi4xMDItNCAwLTEuOTE0LTEuMjE4LTMuMTMyLTIuMjkzLTQuMjA3LS45MTYtLjkxNi0xLjcwNy0xLjcwNy0xLjcwNy0yLjc5M3YtMWgtMWMtLjg5MiAwLTIuMTkzLjI3OC0zLjI0NSAxLjA4OS0uNjgyLTIuMzk1LTIuNjI4LTMuMDg5LTMuNzU1LTMuMDg5aC0xdjFjMCAuODQ1LS42NTUgMS41MjYtMS43MjQgMi41NjgtMS40NiAxLjQyMy0zLjI3NiAzLjE5My0zLjI3NiA2LjQzMiAwIDEuMTAxLjU0IDIuNzIgMi4xMDIgNGgtLjEwMmMtMy44NjggMC04LTIuMTAyLTgtOCAwLTMuMjk0IDEuMTgzLTQuODI4IDIuNDM2LTYuNDUyIDEuMDU1LTEuMzY3IDIuMTM5LTIuNzcyIDIuNDY1LTUuMDg0Ljg5MS43MzkgMi4wOTkgMi42NDIgMi4wOTkgNy41MzZoMmMwLTIuNTYtLjMyMy00LjQ2MS0uODAzLTUuODc4LjIyOC0uMzY2LjQ2OS0uNzEzLjcyNi0xLjA2Ni44NDYtMS4xNTkgMS43OTEtMi40NTMgMi4wMjMtNC44NzkgMS40NTYuNDUzIDQuMDU0IDIuMDY5IDQuMDU0IDcuODIzaDJjMC0xLjYzLS4xOTEtMi45OS0uNTA2LTQuMTMyLjYzNy0yLjI3MyAxLjc2MS0zLjIxOCAyLjU2Ny0zLjYwMS4yMzggMi4zNDYgMS4xMzcgMy41NyAyLjAxIDQuNzU5LjI2Mi4zNTcuNTA3LjcwOC43MzggMS4wOC0uNDgzIDEuNDE4LS44MDkgMy4zMjQtLjgwOSA1Ljg5NGgyYzAtNC45MDYgMS4yMTQtNi44MDcgMi4wOTgtNy41NDIuMzI1IDIuMzE1IDEuNDExIDMuNzIyIDIuNDY2IDUuMDkgMS4yNTMgMS42MjQgMi40MzYgMy4xNTggMi40MzYgNi40NTIgMCA1Ljg5OC00LjEzMiA4LTggOHoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",eNe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJNNDY3LDBINDVDMjAuMTg3LDAsMCwyMC4xODcsMCw0NXY0MjJjMCwyNC44MTMsMjAuMTg3LDQ1LDQ1LDQ1aDQyMmMyNC44MTMsMCw0NS0yMC4xODcsNDUtNDVWNDUNCgkJCUM1MTIsMjAuMTg3LDQ5MS44MTMsMCw0NjcsMHogTTQ4Miw0NjdjMCw4LjI3MS02LjcyOSwxNS0xNSwxNUg0NWMtOC4yNzEsMC0xNS02LjcyOS0xNS0xNVY0NWMwLTguMjcxLDYuNzI5LTE1LDE1LTE1aDQyMg0KCQkJYzguMjcxLDAsMTUsNi43MjksMTUsMTVWNDY3eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjU2LDgxYy05Ni40OTUsMC0xNzUsNzguNTA1LTE3NSwxNzVzNzguNTA1LDE3NSwxNzUsMTc1czE3NS03OC41MDUsMTc1LTE3NVMzNTIuNDk1LDgxLDI1Niw4MXogTTI1Niw0MDENCgkJCWMtNzkuOTUzLDAtMTQ1LTY1LjA0Ny0xNDUtMTQ1czY1LjA0Ny0xNDUsMTQ1LTE0NXMxNDUsNjUuMDQ3LDE0NSwxNDVTMzM1Ljk1Myw0MDEsMjU2LDQwMXoiLz4NCiAgICAgICAgPHBhdGggZD0iTTE4NywyMTZjLTIyLjA1NiwwLTQwLDE3Ljk0NC00MCw0MGMwLDIyLjA1NiwxNy45NDQsNDAsNDAsNDBjMjIuMDU2LDAsNDAtMTcuOTQ0LDQwLTQwQzIyNywyMzMuOTQ0LDIwOS4wNTYsMjE2LDE4NywyMTZ6DQoJCQkgTTE4NywyNjZjLTUuNTE0LDAtMTAtNC40ODYtMTAtMTBjMC01LjUxNCw0LjQ4Ni0xMCwxMC0xMGM1LjUxNCwwLDEwLDQuNDg2LDEwLDEwQzE5NywyNjEuNTE0LDE5Mi41MTQsMjY2LDE4NywyNjZ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0zMjUsMjE2Yy0yMi4wNTYsMC00MCwxNy45NDQtNDAsNDBjMCwyMi4wNTYsMTcuOTQ0LDQwLDQwLDQwYzIyLjA1NiwwLDQwLTE3Ljk0NCw0MC00MEMzNjUsMjMzLjk0NCwzNDcuMDU2LDIxNiwzMjUsMjE2eg0KCQkJIE0zMjUsMjY2Yy01LjUxNCwwLTEwLTQuNDg2LTEwLTEwYzAtNS41MTQsNC40ODYtMTAsMTAtMTBjNS41MTQsMCwxMCw0LjQ4NiwxMCwxMEMzMzUsMjYxLjUxNCwzMzAuNTE0LDI2NiwzMjUsMjY2eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",tNe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ4MCA0ODAiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik0zNjAsMEgxMjBDOTcuOTIsMC4wMjYsODAuMDI2LDE3LjkyLDgwLDQwdjM2OGMwLjAyNCwxOS4wMDEsMTMuMzg5LDM1LjM3MywzMiwzOS4yVjQ4MGg0OHYtMzJoMTYwdjMyaDQ4di0zMi44DQoJCQljMTguNjExLTMuODI3LDMxLjk3Ni0yMC4xOTksMzItMzkuMlY0MEMzOTkuOTc0LDE3LjkyLDM4Mi4wOCwwLjAyNiwzNjAsMHogTTE0NCw0NjRoLTE2di0xNmgxNlY0NjR6IE0zNTIsNDY0aC0xNnYtMTZoMTZWNDY0eg0KCQkJIE0zODQsNDA4YzAsMTMuMjU1LTEwLjc0NSwyNC0yNCwyNEgxMjBjLTEzLjI1NSwwLTI0LTEwLjc0NS0yNC0yNFY0MGMwLTEzLjI1NSwxMC43NDUtMjQsMjQtMjRoMjQwYzEzLjI1NSwwLDI0LDEwLjc0NSwyNCwyNFY0MDgNCgkJCXoiLz4NCiAgICAgICAgPHBhdGggZD0iTTI0MCwxNjBjLTcwLjY5MiwwLTEyOCw1Ny4zMDgtMTI4LDEyOGMwLjA4NCw3MC42NTgsNTcuMzQyLDEyNy45MTYsMTI4LDEyOGM3MC42OTIsMCwxMjgtNTcuMzA4LDEyOC0xMjgNCgkJCVMzMTAuNjkyLDE2MCwyNDAsMTYweiBNMjQwLDQwMGMtNjEuODU2LDAtMTEyLTUwLjE0NC0xMTItMTEyYzAuMDY2LTYxLjgyOCw1MC4xNzItMTExLjkzNCwxMTItMTEyYzYxLjg1NiwwLDExMiw1MC4xNDQsMTEyLDExMg0KCQkJUzMwMS44NTYsNDAwLDI0MCw0MDB6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0yNDAsMTkyYy01My4wMTksMC05Niw0Mi45ODEtOTYsOTZjMC4wNTcsNTIuOTk2LDQzLjAwNCw5NS45NDMsOTYsOTZjNTMuMDE5LDAsOTYtNDIuOTgxLDk2LTk2UzI5My4wMTksMTkyLDI0MCwxOTJ6DQoJCQkgTTI0MCwzNjhjLTQ0LjE4MywwLTgwLTM1LjgxNy04MC04MGMwLjA0OS00NC4xNjMsMzUuODM3LTc5Ljk1Miw4MC04MGM0NC4xODMsMCw4MCwzNS44MTcsODAsODBDMzIwLDMzMi4xODMsMjg0LjE4MywzNjgsMjQwLDM2OA0KCQkJeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjQwLDMyYy0zMC45MjgsMC01NiwyNS4wNzItNTYsNTZjMC4wMzUsMzAuOTEzLDI1LjA4Nyw1NS45NjUsNTYsNTZjMzAuOTI4LDAsNTYtMjUuMDcyLDU2LTU2DQoJCQlDMjk2LDU3LjA3MiwyNzAuOTI4LDMyLDI0MCwzMnogTTI0MCwxMjhjLTIyLjA5MSwwLTQwLTE3LjkwOS00MC00MGMwLjAyNi0yMi4wOCwxNy45Mi0zOS45NzQsNDAtNDBjMjIuMDkxLDAsNDAsMTcuOTA5LDQwLDQwDQoJCQlTMjYyLjA5MSwxMjgsMjQwLDEyOHoiLz4NCiAgICAgICAgPHBhdGggZD0iTTI0MCw2NGMtMTMuMjU1LDAtMjQsMTAuNzQ1LTI0LDI0czEwLjc0NSwyNCwyNCwyNHMyNC0xMC43NDUsMjQtMjRTMjUzLjI1NSw2NCwyNDAsNjR6IE0yNDAsOTZjLTQuNDE4LDAtOC0zLjU4Mi04LTgNCgkJCXMzLjU4Mi04LDgtOHM4LDMuNTgyLDgsOFMyNDQuNDE4LDk2LDI0MCw5NnoiLz4NCiAgICAgICAgPHJlY3QgeD0iMTEyIiB5PSIzMiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ii8+DQogICAgICAgIDxyZWN0IHg9IjM1MiIgeT0iMzIiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIvPg0KICAgICAgICA8cmVjdCB4PSIxMTIiIHk9IjQwMCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ii8+DQogICAgICAgIDxyZWN0IHg9IjM1MiIgeT0iNDAwIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiLz4NCiAgICAgICAgPHBhdGggZD0iTTI0MCwyNDhjLTIyLjA5MSwwLTQwLDE3LjkwOS00MCw0MGMwLjAyNiwyMi4wOCwxNy45MiwzOS45NzQsNDAsNDBjMjIuMDkxLDAsNDAtMTcuOTA5LDQwLTQwDQoJCQlDMjgwLDI2NS45MDksMjYyLjA5MSwyNDgsMjQwLDI0OHogTTI0MCwzMTJjLTEzLjI1NSwwLTI0LTEwLjc0NS0yNC0yNHMxMC43NDUtMjQsMjQtMjRzMjQsMTAuNzQ1LDI0LDI0UzI1My4yNTUsMzEyLDI0MCwzMTJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik00OCwyODBIMTZjLTQuNDE4LDAtOCwzLjU4Mi04LDhzMy41ODIsOCw4LDhoMzJjNC40MTgsMCw4LTMuNTgyLDgtOFM1Mi40MTgsMjgwLDQ4LDI4MHoiLz4NCiAgICAgICAgPHBhdGggZD0iTTUzLjY1NiwyMjYuMzQ0bC0yNC0yNGMtMy4xNzgtMy4wNjktOC4yNDMtMi45ODEtMTEuMzEyLDAuMTk3Yy0yLjk5NCwzLjEtMi45OTQsOC4wMTUsMCwxMS4xMTVsMjQsMjQNCgkJCWMzLjE3OCwzLjA2OSw4LjI0MywyLjk4MSwxMS4zMTItMC4xOTdDNTYuNjUsMjM0LjM1OSw1Ni42NSwyMjkuNDQ0LDUzLjY1NiwyMjYuMzQ0eiIvPg0KICAgICAgICA8cGF0aCBkPSJNNTMuNDYsMzM4LjM0NGMtMy4xLTIuOTk1LTguMDE2LTIuOTk1LTExLjExNiwwbC0yNCwyNGMtMy4xNzgsMy4wNy0zLjI2Niw4LjEzNC0wLjE5NiwxMS4zMTJzOC4xMzQsMy4yNjYsMTEuMzEyLDAuMTk2DQoJCQljMC4wNjctMC4wNjQsMC4xMzItMC4xMywwLjE5Ni0wLjE5NmwyNC0yNEM1Ni43MjYsMzQ2LjQ3OCw1Ni42MzgsMzQxLjQxNCw1My40NiwzMzguMzQ0eiIvPg0KICAgICAgICA8cGF0aCBkPSJNNDY0LDI4MGgtMzJjLTQuNDE4LDAtOCwzLjU4Mi04LDhzMy41ODIsOCw4LDhoMzJjNC40MTgsMCw4LTMuNTgyLDgtOFM0NjguNDE4LDI4MCw0NjQsMjgweiIvPg0KICAgICAgICA8cGF0aCBkPSJNNDYxLjQ2LDIwMi4zNDRjLTMuMS0yLjk5NC04LjAxNS0yLjk5NC0xMS4xMTYsMGwtMjQsMjRjLTMuMTI0LDMuMTI1LTMuMTIzLDguMTksMC4wMDIsMTEuMzE0DQoJCQljMS41LDEuNDk5LDMuNTM0LDIuMzQyLDUuNjU0LDIuMzQyYzIuMTIyLDAsNC4xNTYtMC44NDQsNS42NTYtMi4zNDRsMjQtMjRDNDY0LjcyNiwyMTAuNDc4LDQ2NC42MzgsMjA1LjQxNCw0NjEuNDYsMjAyLjM0NHoiLz4NCiAgICAgICAgPHBhdGggZD0iTTQ2MS42NTYsMzYyLjM0NGwtMjQtMjRjLTMuMTc4LTMuMDctOC4yNDItMi45ODItMTEuMzEyLDAuMTk2Yy0yLjk5NSwzLjEtMi45OTUsOC4wMTYsMCwxMS4xMTZsMjQsMjQNCgkJCWMzLjE3OCwzLjA3LDguMjQyLDIuOTgyLDExLjMxMi0wLjE5NkM0NjQuNjUxLDM3MC4zNiw0NjQuNjUxLDM2NS40NDQsNDYxLjY1NiwzNjIuMzQ0eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",sNe="PHN2ZyBoZWlnaHQ9IjUxMnB0IiB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgd2lkdGg9IjUxMnB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im01MTIgNTYuMTY0MDYyYzAtMTIuNzk2ODc0LTEwLjQwNjI1LTIzLjIwMzEyNC0yMy4yMDMxMjUtMjMuMjAzMTI0aC00OS45Njg3NXYtMTUuMDQ2ODc2YzAtOS44Nzg5MDYtOC4wMzUxNTYtMTcuOTE0MDYyLTE3LjkxNDA2My0xNy45MTQwNjJoLTEwMy4wODk4NDNjLTkuODc4OTA3IDAtMTcuOTE0MDYzIDguMDM5MDYyLTE3LjkxNDA2MyAxNy45MTQwNjJ2MTUuMDQ2ODc2aC04Ny44MTY0MDZ2LTE1LjA0Njg3NmMwLTkuODc4OTA2LTguMDM5MDYyLTE3LjkxNDA2Mi0xNy45MTc5NjktMTcuOTE0MDYyaC0xMDMuMDg5ODQzYy05Ljg3ODkwNyAwLTE3LjkxNDA2MyA4LjAzOTA2Mi0xNy45MTQwNjMgMTcuOTE0MDYydjE1LjA0Njg3NmgtNDkuOTY4NzVjLTEyLjc5Njg3NSAwLTIzLjIwMzEyNSAxMC40MDYyNS0yMy4yMDMxMjUgMjMuMjAzMTI0djQ5LjVjMCA2LjA1MDc4MiAyLjMyODEyNSAxMS41NjI1IDYuMTM2NzE5IDE1LjY5OTIxOS0zLjgwODU5NCA0LjEzMjgxMy02LjEzNjcxOSA5LjY0ODQzOC02LjEzNjcxOSAxNS42OTkyMTl2MzA1LjgwODU5NGMwIDEyLjc5Mjk2OCAxMC40MDYyNSAyMy4yMDMxMjUgMjMuMjAzMTI1IDIzLjIwMzEyNWgyLjM3ODkwNnYyMi40NTMxMjVjMCAxMi43ODEyNSAxMC4zOTg0MzggMjMuMTc1NzgxIDIzLjE3OTY4OCAyMy4xNzU3ODFoMjMyLjYxNzE4N2M0LjE0NDUzMiAwIDcuNTAzOTA2LTMuMzU5Mzc1IDcuNTAzOTA2LTcuNSAwLTQuMTQ0NTMxLTMuMzU5Mzc0LTcuNTAzOTA2LTcuNTAzOTA2LTcuNTAzOTA2aC0yMzIuNjE3MTg3Yy00LjUwNzgxMyAwLTguMTcxODc1LTMuNjY3OTY5LTguMTcxODc1LTguMTcxODc1di0yMi40NTMxMjVoNDMwLjgyMDMxMnYyMi40NTMxMjVjMCA0LjUwNzgxMi0zLjY2NDA2MiA4LjE3MTg3NS04LjE3MTg3NSA4LjE3MTg3NWgtMTQ3LjEyNWMtNC4xNDg0MzcgMC03LjUwMzkwNiAzLjM1OTM3NS03LjUwMzkwNiA3LjUwMzkwNiAwIDQuMTQwNjI1IDMuMzU1NDY5IDcuNSA3LjUwMzkwNiA3LjVoMTQ3LjEyNWMxMi43ODEyNSAwIDIzLjE3OTY4OC0xMC4zOTQ1MzEgMjMuMTc5Njg4LTIzLjE3NTc4MXYtMjIuNDUzMTI1aDIuMzc4OTA2YzEyLjc5Mjk2OSAwIDIzLjIwMzEyNS0xMC40MTAxNTcgMjMuMjAzMTI1LTIzLjIwMzEyNXYtMzA1LjgwODU5NGMwLTYuMDUwNzgxLTIuMzMyMDMxLTExLjU2NjQwNi02LjEzNjcxOS0xNS42OTkyMTkgMy44MDQ2ODgtNC4xMzY3MTkgNi4xMzY3MTktOS42NDg0MzcgNi4xMzY3MTktMTUuNjk5MjE5em0tMTk3LjA4NTkzOC0zOC4yNWMwLTEuNjA1NDY4IDEuMzA0Njg4LTIuOTA2MjUgMi45MTAxNTctMi45MDYyNWgxMDMuMDg5ODQzYzEuNjA1NDY5IDAgMi45MTAxNTcgMS4zMDQ2ODggMi45MTAxNTcgMi45MDYyNXYxNS4wNDY4NzZoLTEwOC45MTAxNTd6bS0yMjYuNzM4MjgxIDBjMC0xLjYwNTQ2OCAxLjMwNDY4OC0yLjkwNjI1IDIuOTEwMTU3LTIuOTA2MjVoMTAzLjA4OTg0M2MxLjYwNTQ2OSAwIDIuOTEwMTU3IDEuMzA0Njg4IDIuOTEwMTU3IDIuOTA2MjV2MTUuMDQ2ODc2aC0xMDguOTEwMTU3em00MDguODE2NDA3IDQyNC45NTcwMzJjMCA0LjUxOTUzMS0zLjY3NTc4MiA4LjE5OTIxOC04LjE5NTMxMyA4LjE5OTIxOGgtNDY1LjU5Mzc1Yy00LjUxOTUzMSAwLTguMTk1MzEzLTMuNjc5Njg3LTguMTk1MzEzLTguMTk5MjE4di0zMDUuODA4NTk0YzAtNC41MTk1MzEgMy42NzU3ODItOC4xOTkyMTkgOC4xOTUzMTMtOC4xOTkyMTloNDY1LjU5Mzc1YzQuNTIzNDM3IDAgOC4xOTUzMTMgMy42Nzk2ODggOC4xOTUzMTMgOC4xOTkyMTl6bTAtMzM3LjIwNzAzMmMwIDQuNTE5NTMyLTMuNjc1NzgyIDguMTk1MzEzLTguMTk1MzEzIDguMTk1MzEzaC00NjUuNTkzNzVjLTQuNTE5NTMxIDAtOC4xOTUzMTMtMy42NzU3ODEtOC4xOTUzMTMtOC4xOTUzMTN2LTQ5LjVjMC00LjUyMzQzNyAzLjY3NTc4Mi04LjE5OTIxOCA4LjE5NTMxMy04LjE5OTIxOGg0NjUuNTkzNzVjNC41MTk1MzEgMCA4LjE5NTMxMyAzLjY3NTc4MSA4LjE5NTMxMyA4LjE5OTIxOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xMDYuMDk3NjU2IDU1LjE1MjM0NGMtMTQuMjA3MDMxIDAtMjUuNzYxNzE4IDExLjU1NDY4Ny0yNS43NjE3MTggMjUuNzU3ODEyIDAgMTQuMjA3MDMyIDExLjU1NDY4NyAyNS43NjE3MTkgMjUuNzYxNzE4IDI1Ljc2MTcxOSAxNC4yMDMxMjUgMCAyNS43NjE3MTktMTEuNTU0Njg3IDI1Ljc2MTcxOS0yNS43NjE3MTkgMC0xNC4yMDMxMjUtMTEuNTU4NTk0LTI1Ljc1NzgxMi0yNS43NjE3MTktMjUuNzU3ODEyem0wIDM2LjUxNTYyNWMtNS45Mjk2ODcgMC0xMC43NTM5MDYtNC44MjQyMTktMTAuNzUzOTA2LTEwLjc1MzkwNyAwLTUuOTI5Njg3IDQuODI0MjE5LTEwLjc1NzgxMiAxMC43NTM5MDYtMTAuNzU3ODEyIDUuOTI5Njg4IDAgMTAuNzUzOTA2IDQuODI4MTI1IDEwLjc1MzkwNiAxMC43NTc4MTIgMCA1LjkyOTY4OC00LjgyNDIxOCAxMC43NTM5MDctMTAuNzUzOTA2IDEwLjc1MzkwN3ptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xNzkuMTY3OTY5IDU1LjE1MjM0NGMtMTQuMjA3MDMxIDAtMjUuNzYxNzE5IDExLjU1NDY4Ny0yNS43NjE3MTkgMjUuNzU3ODEyIDAgMTQuMjA3MDMyIDExLjU1NDY4OCAyNS43NjE3MTkgMjUuNzYxNzE5IDI1Ljc2MTcxOSAxNC4yMDMxMjUgMCAyNS43NTc4MTItMTEuNTU0Njg3IDI1Ljc1NzgxMi0yNS43NjE3MTkgMC0xNC4yMDMxMjUtMTEuNTU0Njg3LTI1Ljc1NzgxMi0yNS43NTc4MTItMjUuNzU3ODEyem0wIDM2LjUxNTYyNWMtNS45MzM1OTQgMC0xMC43NTc4MTMtNC44MjQyMTktMTAuNzU3ODEzLTEwLjc1MzkwNyAwLTUuOTI5Njg3IDQuODI0MjE5LTEwLjc1NzgxMiAxMC43NTc4MTMtMTAuNzU3ODEyIDUuOTI5Njg3IDAgMTAuNzUzOTA2IDQuODI4MTI1IDEwLjc1MzkwNiAxMC43NTc4MTIgMCA1LjkyOTY4OC00LjgyNDIxOSAxMC43NTM5MDctMTAuNzUzOTA2IDEwLjc1MzkwN3ptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0zMzIuODMyMDMxIDU1LjE1MjM0NGMtMTQuMjAzMTI1IDAtMjUuNzU3ODEyIDExLjU1NDY4Ny0yNS43NTc4MTIgMjUuNzU3ODEyIDAgMTQuMjA3MDMyIDExLjU1NDY4NyAyNS43NjE3MTkgMjUuNzU3ODEyIDI1Ljc2MTcxOSAxNC4yMDcwMzEgMCAyNS43NjE3MTktMTEuNTU0Njg3IDI1Ljc2MTcxOS0yNS43NjE3MTkgMC0xNC4yMDMxMjUtMTEuNTU0Njg4LTI1Ljc1NzgxMi0yNS43NjE3MTktMjUuNzU3ODEyem0wIDM2LjUxNTYyNWMtNS45Mjk2ODcgMC0xMC43NTM5MDYtNC44MjQyMTktMTAuNzUzOTA2LTEwLjc1MzkwNyAwLTUuOTI5Njg3IDQuODI0MjE5LTEwLjc1NzgxMiAxMC43NTM5MDYtMTAuNzU3ODEyIDUuOTMzNTk0IDAgMTAuNzU3ODEzIDQuODI4MTI1IDEwLjc1NzgxMyAxMC43NTc4MTIgMCA1LjkyOTY4OC00LjgyNDIxOSAxMC43NTM5MDctMTAuNzU3ODEzIDEwLjc1MzkwN3ptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im00MDUuOTAyMzQ0IDU1LjE1MjM0NGMtMTQuMjAzMTI1IDAtMjUuNzYxNzE5IDExLjU1NDY4Ny0yNS43NjE3MTkgMjUuNzU3ODEyIDAgMTQuMjA3MDMyIDExLjU1ODU5NCAyNS43NjE3MTkgMjUuNzYxNzE5IDI1Ljc2MTcxOSAxNC4yMDcwMzEgMCAyNS43NjE3MTgtMTEuNTU0Njg3IDI1Ljc2MTcxOC0yNS43NjE3MTkgMC0xNC4yMDMxMjUtMTEuNTU0Njg3LTI1Ljc1NzgxMi0yNS43NjE3MTgtMjUuNzU3ODEyem0wIDM2LjUxNTYyNWMtNS45Mjk2ODggMC0xMC43NTM5MDYtNC44MjQyMTktMTAuNzUzOTA2LTEwLjc1MzkwNyAwLTUuOTI5Njg3IDQuODI0MjE4LTEwLjc1NzgxMiAxMC43NTM5MDYtMTAuNzU3ODEyIDUuOTI5Njg3IDAgMTAuNzUzOTA2IDQuODI4MTI1IDEwLjc1MzkwNiAxMC43NTc4MTIgMCA1LjkyOTY4OC00LjgyNDIxOSAxMC43NTM5MDctMTAuNzUzOTA2IDEwLjc1MzkwN3ptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im00MzQuNzQyMTg4IDE3MS45Mzc1aC0yMTguMTQ4NDM4Yy00LjE0NDUzMSAwLTcuNTAzOTA2IDMuMzU5Mzc1LTcuNTAzOTA2IDcuNSAwIDQuMTQ0NTMxIDMuMzU5Mzc1IDcuNTAzOTA2IDcuNTAzOTA2IDcuNTAzOTA2aDIxOC4xNDg0MzhjMS40Mzc1IDAgMi42MDU0NjggMS4xNzE4NzUgMi42MDU0NjggMi42MDkzNzV2MTkuODUxNTYzYzAgMS40Mzc1LTEuMTY3OTY4IDIuNjA5Mzc1LTIuNjA1NDY4IDIuNjA5Mzc1aC0zNTcuNDg0Mzc2Yy0xLjQzNzUgMC0yLjYwNTQ2OC0xLjE3MTg3NS0yLjYwNTQ2OC0yLjYwOTM3NXYtMTkuODUxNTYzYzAtMS40Mzc1IDEuMTY3OTY4LTIuNjA5Mzc1IDIuNjA1NDY4LTIuNjA5Mzc1aDEwNC4yNjk1MzJjNC4xNDQ1MzEgMCA3LjUwMzkwNi0zLjM1OTM3NSA3LjUwMzkwNi03LjUwMzkwNiAwLTQuMTQwNjI1LTMuMzU5Mzc1LTcuNS03LjUwMzkwNi03LjVoLTEwNC4yNjk1MzJjLTkuNzEwOTM3IDAtMTcuNjA5Mzc0IDcuODk4NDM4LTE3LjYwOTM3NCAxNy42MTMyODF2MTkuODUxNTYzYzAgOS43MTA5MzcgNy44OTg0MzcgMTcuNjEzMjgxIDE3LjYwOTM3NCAxNy42MTMyODFoMTAuMDM1MTU3djE2Ni40NjQ4NDRjMCAxNC4yNzczNDMgMTEuNjE3MTg3IDI1Ljg5NDUzMSAyNS44OTQ1MzEgMjUuODk0NTMxaDI4NS42MjVjMTQuMjc3MzQ0IDAgMjUuODk0NTMxLTExLjYxNzE4OCAyNS44OTQ1MzEtMjUuODk0NTMxdi0xNjYuNDY0ODQ0aDEwLjAzNTE1N2M5LjcxMDkzNyAwIDE3LjYxMzI4MS03Ljg5ODQzNyAxNy42MTMyODEtMTcuNjEzMjgxdi0xOS44NTE1NjNjMC05LjcxMDkzNy03LjkwMjM0NC0xNy42MTMyODEtMTcuNjEzMjgxLTE3LjYxMzI4MXptLTI1LjA0Mjk2OSAyMjEuNTQyOTY5YzAgNi4wMDM5MDYtNC44ODI4MTMgMTAuODg2NzE5LTEwLjg4NjcxOSAxMC44ODY3MTloLTI4NS42MjVjLTYuMDAzOTA2IDAtMTAuODkwNjI1LTQuODgyODEzLTEwLjg5MDYyNS0xMC44ODY3MTl2LTE2Ni40NjQ4NDRoMzA3LjQwMjM0NHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xNTIuNTQyOTY5IDI5NC44NTkzNzVjMi4wMjM0MzcgMCA0LjA0Mjk2OS0uODE2NDA2IDUuNTIzNDM3LTIuNDIxODc1bDIzLjAxMTcxOS0yNS4wMTU2MjVjMi44MDg1OTQtMy4wNTA3ODEgMi42MDkzNzUtNy43OTY4NzUtLjQ0MTQwNi0xMC42MDE1NjMtMy4wNTA3ODEtMi44MDQ2ODctNy43OTI5NjktMi42MDkzNzQtMTAuNjAxNTYzLjQ0MTQwN2wtMjMuMDExNzE4IDI1LjAxNTYyNWMtMi44MDQ2ODggMy4wNDY4NzUtMi42MDkzNzYgNy43OTI5NjguNDQxNDA2IDEwLjYwMTU2MiAxLjQ0MTQwNiAxLjMyNDIxOSAzLjI2MTcxOCAxLjk4MDQ2OSA1LjA3ODEyNSAxLjk4MDQ2OXptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xNTQuMTg3NSAzMjQuMTM2NzE5YzEuNDQxNDA2IDEuMzI4MTI1IDMuMjYxNzE5IDEuOTgwNDY5IDUuMDc4MTI1IDEuOTgwNDY5IDIuMDIzNDM3IDAgNC4wNDI5NjktLjgxNjQwNyA1LjUyMzQzNy0yLjQyMTg3Nmw0Ny4zMTY0MDctNTEuNDI5Njg3YzIuODA0Njg3LTMuMDUwNzgxIDIuNjA5Mzc1LTcuNzk2ODc1LS40NDE0MDctMTAuNjA1NDY5LTMuMDUwNzgxLTIuODA0Njg3LTcuNzk2ODc0LTIuNjA1NDY4LTEwLjYwMTU2Mi40NDE0MDZsLTQ3LjMxNjQwNiA1MS40MzM1OTRjLTIuODA0Njg4IDMuMDQ2ODc1LTIuNjA1NDY5IDcuNzk2ODc1LjQ0MTQwNiAxMC42MDE1NjN6bTAgMCIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",iNe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDEyOCAxMjgiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTEyMi4yNSAxNy4yNjZoLTExNi41YTUuNzU2IDUuNzU2IDAgMCAwIC01Ljc1IDUuNzV2NjcuOTk0YTUuNzU3IDUuNzU3IDAgMCAwIDUuNzUgNS43NWg5Ljg4M2wtMy4wNjggNC40NGE2LjA3OSA2LjA3OSAwIDAgMCAxMCA2LjkxMmw3Ljg0Ny0xMS4zNTJoNjcuMTc2bDcuODQ0IDExLjM1MWE2LjA3OSA2LjA3OSAwIDAgMCAxMC02LjkxMmwtMy4wNjgtNC40MzloOS44ODNhNS43NTcgNS43NTcgMCAwIDAgNS43NTMtNS43NXYtNjcuOTk0YTUuNzU2IDUuNzU2IDAgMCAwIC01Ljc1LTUuNzV6bS0xMDIuNTYxIDg4Ljg1NmEyLjU4MiAyLjU4MiAwIDAgMSAtMi4xMjIgMS4xMTIgMi41OCAyLjU4IDAgMCAxIC0yLjEyMy00LjA0Nmw0LjQ0My02LjQyOGg2LjI3MXptOTIuODY3LTIuOTM0YTIuNTggMi41OCAwIDAgMSAtMi4xMjMgNC4wNDYgMi41ODUgMi41ODUgMCAwIDEgLTIuMTIzLTEuMTEybC02LjQ2OC05LjM2Mmg2LjI3MXptMTEuOTQ0LTEyLjE3OGEyLjI1MyAyLjI1MyAwIDAgMSAtMi4yNSAyLjI1aC0xMTYuNWEyLjI1MyAyLjI1MyAwIDAgMSAtMi4yNS0yLjI1di02Ny45OTRhMi4yNTMgMi4yNTMgMCAwIDEgMi4yNS0yLjI1aDExNi41YTIuMjUzIDIuMjUzIDAgMCAxIDIuMjUgMi4yNXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTExOC4yNSAyNS4yNjZoLTEwOC41YTEuNzQ5IDEuNzQ5IDAgMCAwIC0xLjc1IDEuNzV2NTkuOTk0YTEuNzUgMS43NSAwIDAgMCAxLjc1IDEuNzVoMTA4LjVhMS43NSAxLjc1IDAgMCAwIDEuNzUtMS43NXYtNTkuOTk0YTEuNzQ5IDEuNzQ5IDAgMCAwIC0xLjc1LTEuNzV6bS0xLjc1IDU5Ljk5NGgtMTA1di01Ni40OTRoMTA1eiIvPg0KICAgICAgICA8cGF0aCBkPSJtNDEuMzc1IDQ3LjkyMmg3LjN2MTkuOTMyYTEuNzUgMS43NSAwIDAgMCAzLjUgMHYtMTkuOTMyaDcuM2ExLjc1IDEuNzUgMCAwIDAgMC0zLjVoLTE4LjFhMS43NSAxLjc1IDAgMCAwIDAgMy41eiIvPg0KICAgICAgICA8cGF0aCBkPSJtNzUuOTYzIDY4LjUyN2ExLjc0OSAxLjc0OSAwIDAgMCAzLjIzIDBsOS4wNDctMjEuNjgxYTEuNzUgMS43NSAwIDEgMCAtMy4yMy0xLjM0NmwtNy40MzIgMTcuODA5LTcuNDMyLTE3LjgwOWExLjc1IDEuNzUgMCAxIDAgLTMuMjMgMS4zNDh6Ii8+DQogICAgPC9nPg0KPC9zdmc+",rNe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCIgd2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik01OSwySDVBMywzLDAsMCwwLDIsNVY1OWEzLDMsMCwwLDAsMywzSDU5YTMsMywwLDAsMCwzLTNWNUEzLDMsMCwwLDAsNTksMlptMSw1N2ExLDEsMCwwLDEtMSwxSDVhMSwxLDAsMCwxLTEtMVY1QTEsMSwwLDAsMSw1LDRINTlhMSwxLDAsMCwxLDEsMVoiLz4NCiAgICAgICAgPHBhdGggZD0iTTMyLDZBMjYsMjYsMCwxLDAsNTgsMzIsMjYuMDI5LDI2LjAyOSwwLDAsMCwzMiw2Wm0wLDUwQTI0LDI0LDAsMSwxLDU2LDMyLDI0LjAyOCwyNC4wMjgsMCwwLDEsMzIsNTZaIi8+DQogICAgICAgIDxwYXRoIGQ9Ik0zMiwxMEEyMiwyMiwwLDEsMCw1NCwzMiwyMi4wMjUsMjIuMDI1LDAsMCwwLDMyLDEwWm0xMC4xNzUsNC44MTNjMi40NjksOS41NS0zLjYxMywxMi45LTYuNDI4LDEzLjkxMWE1LDUsMCwwLDAtMS42NS0xLjI0NywxMS4zNzQsMTEuMzc0LDAsMCwwLDMuMzExLTYuNzk0Yy4yNDktMi44NDUtLjc5LTUuNzA2LTMuMDUtOC41MzFBMTkuODI0LDE5LjgyNCwwLDAsMSw0Mi4xNzUsMTQuODEzWk0zNSwzMmEzLDMsMCwxLDEtMy0zQTMsMywwLDAsMSwzNSwzMlpNMzEuNTg2LDEyLjAyMWMyLjc2NywyLjg3Myw0LjA2Niw1LjcyMiwzLjgzMSw4LjQ3YTEwLjEsMTAuMSwwLDAsMS0zLjc4NCw2LjUzLDE5LjY1MiwxOS42NTIsMCwwLDAtOS41ODUtMTIuMzQ0QTE5LjgzOCwxOS44MzgsMCwwLDEsMzEuNTg2LDEyLjAyMVpNMjAuMTIsMTUuOTQ4YTE3LjY1NywxNy42NTcsMCwwLDEsOS41OTIsMTEuNjMzLDQuOTUxLDQuOTUxLDAsMCwwLS45NTcuNjQ3LDE4Ljg4NiwxOC44ODYsMCwwLDAtMTQuMzM4LTUuNzUyQTIwLjEyNiwyMC4xMjYsMCwwLDEsMjAuMTIsMTUuOTQ4Wk0xMiwzMmExOS44NywxOS44NywwLDAsMSwxLjQ0Mi03LjQxNkExNi4zODUsMTYuMzg1LDAsMCwxLDI1LjgxNiwyOC4yNmExMy43OSwxMy43OSwwLDAsMC04LjA2NCwxLjI5MUExMi42NDQsMTIuNjQ0LDAsMCwwLDEyLjMxMSwzNS40LDE5LjkxMywxOS45MTMsMCwwLDEsMTIsMzJabTEuMTY0LDYuNjZjMS4xMy0zLjUyOSwyLjk4Mi02LDUuNTItNy4zNGExMi42NDMsMTIuNjQzLDAsMCwxLDguNTYxLS43ODdBNC45MTksNC45MTksMCwwLDAsMjcsMzJjMCwuMTA5LjAyNS4yMTEuMDMyLjMxOC0yLjAwOC45MTUtNy45NjEsNC40Mi04LjksMTQuMDYzQTIwLjAzNCwyMC4wMzQsMCwwLDEsMTMuMTY0LDM4LjY2Wm02Ljg3OCw5LjMzM2MuMzY0LTkuMjc5LDUuNTYzLTEyLjc0Myw3LjUzMS0xMy43MTlhNSw1LDAsMCwwLDEuMDY1LDEuNGMtLjk1OCwyLjYwOS0yLjg1Myw5Ljc5MSwyLjEwOCwxNi4yNjFBMTkuODU2LDE5Ljg1NiwwLDAsMSwyMC4wNDIsNDcuOTkzWk0zMy4zODEsNTEuOTNjLTUuNC01LjczMy0zLjkyLTEyLjQ5NS0yLjk4OC0xNS4yMTlBNC45MjksNC45MjksMCwwLDAsMzIsMzdjLjA4MSwwLC4xNTYtLjAyLjIzNS0uMDI0LjYsMy4wNDksMi44MjksOS4yMjMsMTEuMTExLDExLjQ3NUExOS44NTYsMTkuODU2LDAsMCwxLDMzLjM4MSw1MS45M1ptMTEuOTY2LTUuMDc4Yy04LjQ0MS0xLjYxNy0xMC42MjMtNy4yOTItMTEuMTc0LTEwLjM3YTUuMDA2LDUuMDA2LDAsMCwwLDEuMDg0LS43MTljMS44NjgsMS45LDYuMjE1LDUuNjMzLDExLjUyMiw1LjYzM2ExMS4yMDgsMTEuMjA4LDAsMCwwLDMuMDg1LS40NTVBMjAuMDY5LDIwLjA2OSwwLDAsMSw0NS4zNDcsNDYuODUyWk01MiwzMmExOS45LDE5LjksMCwwLDEtMS4wNzQsNi40MTRjLTYuNTA3LDMuMTItMTIuNDYyLTIuMTg0LTE0LjQzOC00LjI1MWE0LjkyNyw0LjkyNywwLDAsMCwuMzY5LTEuMDI1LDE2LjYsMTYuNiwwLDAsMCwxLjc4OS4wOTQsMTguMzI4LDE4LjMyOCwwLDAsMCwxMi45MjYtNS4zMzlBMjAsMjAsMCwwLDEsNTIsMzJabS0xNS4wODgtLjg2OGE0Ljc0NSw0Ljc0NSwwLDAsMC0uMTczLS42NWMyLjkyNi0xLjE1NSw5LjIzNC00Ljc2Niw3LjgxNy0xNC4wMjhhMjAuMDU3LDIwLjA1NywwLDAsMSw2LjM5NCw5LjJBMTYuMzQ0LDE2LjM0NCwwLDAsMSwzNi45MTIsMzEuMTMyWiIvPg0KICAgICAgICA8cGF0aCBkPSJNOSwxMkEzLDMsMCwxLDAsNiw5LDMsMywwLDAsMCw5LDEyWk05LDhBMSwxLDAsMSwxLDgsOSwxLDEsMCwwLDEsOSw4WiIvPg0KICAgICAgICA8cGF0aCBkPSJNNTUsNmEzLDMsMCwxLDAsMywzQTMsMywwLDAsMCw1NSw2Wm0wLDRhMSwxLDAsMSwxLDEtMUExLDEsMCwwLDEsNTUsMTBaIi8+DQogICAgICAgIDxwYXRoIGQ9Ik0xMiw1NWEzLDMsMCwwLDAtMy0zLDIuOTY2LDIuOTY2LDAsMCwwLTEsLjE4NFY0NUg2VjU1YTMsMywwLDAsMCwzLDNoNlY1NkgxMS44MTZBMi45NjYsMi45NjYsMCwwLDAsMTIsNTVaTTksNTZhMSwxLDAsMSwxLDEtMUExLDEsMCwwLDEsOSw1NloiLz4NCiAgICAgICAgPHBhdGggZD0iTTU2LDUyLjE4NEEyLjk2NiwyLjk2NiwwLDAsMCw1NSw1MmEzLDMsMCwwLDAtMywzLDIuOTY2LDIuOTY2LDAsMCwwLC4xODQsMUg0NXYySDU1YTMsMywwLDAsMCwzLTNWNDlINTZaTTU1LDU2YTEsMSwwLDEsMSwxLTFBMSwxLDAsMCwxLDU1LDU2WiIvPg0KICAgICAgICA8cmVjdCB4PSIxNyIgeT0iNTYiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",oNe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQyOC42MDcgNDI4LjYwNyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTQyMy43NzMsMzQzLjg3MUw0MjMuNzczLDM0My44NzFjLTYuNjE3LTQuNTk5LTEyLjQ0LTEwLjI0Ni0xNy4yNDEtMTYuNzE4Yy0xMS40OTQtMTMuMDYxLTI2LjEyMi0yOS4yNTctNTMuMjktMjkuMjU3DQoJCQkJYy0yNy4xNjcsMC00MS4yNzMsMTUuNjczLTUzLjI5LDI5Ljc4Yy0xMi4wMTYsMTQuMTA2LTE5Ljg1MywyMi40NjUtMzcuNjE2LDIyLjQ2NXMtMjYuNjQ1LTkuOTI3LTM3LjYxNi0yMi40NjUNCgkJCQljLTEwLjk3MS0xMi41MzktMjUuNi0yOS43OC01My4yOS0yOS43OGMtMjcuNjksMC00MS4yNzMsMTUuNjczLTUzLjI5LDI5Ljc4Yy0xMi4wMTYsMTQuMTA2LTE5Ljg1MywyMi40NjUtMzcuNjE2LDIyLjQ2NQ0KCQkJCXMtMjYuNjQ1LTkuOTI3LTM3LjYxNi0yMi40NjVjLTcuNDU4LTkuODUtMTYuODg5LTE4LjAzNS0yNy42OS0yNC4wMzNjLTUuMTk0LTIuNTk3LTExLjUwOS0wLjQ5Mi0xNC4xMDYsNC43MDINCgkJCQljLTIuNTk3LDUuMTk0LTAuNDkyLDExLjUwOSw0LjcwMiwxNC4xMDZjOC4yMDMsNC45NDQsMTUuNDU3LDExLjMxNCwyMS40MiwxOC44MDhjMTIuMDE2LDE0LjEwNiwyNi4xMjIsMjkuNzgsNTMuMjksMjkuNzgNCgkJCQlzNDEuMjczLTE1LjY3Myw1My4yOS0yOS43OGMxMi4wMTYtMTQuMTA2LDE5Ljg1My0yMi40NjUsMzcuNjE2LTIyLjQ2NXMyNi42NDUsOS45MjcsMzcuNjE2LDIyLjQ2NQ0KCQkJCWMxMC45NzEsMTIuNTM5LDI1LjYsMjkuNzgsNTMuMjksMjkuNzhjMjcuNjksMCw0MS4yNzMtMTUuNjczLDUzLjI5LTI5Ljc4YzEyLjAxNi0xNC4xMDYsMTkuODUzLTIyLjQ2NSwzNy42MTYtMjIuNDY1DQoJCQkJYzE3Ljc2MywwLDI2LjY0NSw5LjkyNywzNy42MTYsMjIuNDY1YzYuMDg5LDcuODE4LDEzLjMwOCwxNC42ODUsMjEuNDIsMjAuMzc1YzQuOTA1LDMuMTc0LDExLjQ1NSwxLjc3MSwxNC42MjktMy4xMzUNCgkJCQlDNDMwLjA4MiwzNTMuNTk0LDQyOC42NzksMzQ3LjA0NSw0MjMuNzczLDM0My44NzF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik00MjMuNzczLDI2NS41MDNMNDIzLjc3MywyNjUuNTAzYy02LjYxNy00LjU5OS0xMi40NC0xMC4yNDYtMTcuMjQxLTE2LjcxOGMtMTEuNDk0LTEzLjA2MS0yNi4xMjItMjkuMjU3LTUzLjI5LTI5LjI1Nw0KCQkJCWMtMjcuMTY3LDAtNDEuMjczLDE1LjY3My01My4yOSwyOS43OGMtMTIuMDE2LDE0LjEwNi0xOS44NTMsMjIuNDY1LTM3LjYxNiwyMi40NjVzLTI2LjY0NS05LjkyNy0zNy42MTYtMjIuNDY1DQoJCQkJYy0xMC45NzEtMTIuNTM5LTI1LjYtMjkuNzgtNTMuMjktMjkuNzhjLTI3LjY5LDAtNDEuMjczLDE1LjY3My01My4yOSwyOS43OGMtMTIuMDE2LDE0LjEwNi0xOS44NTMsMjIuNDY1LTM3LjYxNiwyMi40NjUNCgkJCQlzLTI2LjY0NS05LjkyNy0zNy42MTYtMjIuNDY1Yy03LjQ1OC05Ljg1LTE2Ljg4OS0xOC4wMzUtMjcuNjktMjQuMDMzYy01LjE5NC0yLjU5Ny0xMS41MDktMC40OTItMTQuMTA2LDQuNzAyDQoJCQkJcy0wLjQ5MiwxMS41MDksNC43MDIsMTQuMTA2YzguMjAzLDQuOTQ0LDE1LjQ1NywxMS4zMTQsMjEuNDIsMTguODA4YzEyLjAxNiwxNC4xMDYsMjYuMTIyLDI5Ljc4LDUzLjI5LDI5Ljc4DQoJCQkJczQxLjI3My0xNS42NzMsNTMuMjktMjkuNzhjMTIuMDE2LTE0LjEwNiwxOS44NTMtMjIuNDY1LDM3LjYxNi0yMi40NjVzMjYuNjQ1LDkuOTI3LDM3LjYxNiwyMi40NjUNCgkJCQljMTAuOTcxLDEyLjUzOSwyNS42LDI5Ljc4LDUzLjI5LDI5Ljc4YzI3LjY5LDAsNDEuMjczLTE1LjY3Myw1My4yOS0yOS43OGMxMi4wMTYtMTQuMTA2LDE5Ljg1My0yMi40NjUsMzcuNjE2LTIyLjQ2NQ0KCQkJCWMxNy43NjMsMCwyNi42NDUsOS45MjcsMzcuNjE2LDIyLjQ2NWM2LjA4OSw3LjgxOCwxMy4zMDgsMTQuNjg1LDIxLjQyLDIwLjM3NWM0LjkwNSwzLjE3NCwxMS40NTUsMS43NzEsMTQuNjI5LTMuMTM1DQoJCQkJQzQzMC4wODIsMjc1LjIyNyw0MjguNjc5LDI2OC42NzcsNDIzLjc3MywyNjUuNTAzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNNDIzLjc3MywxODEuOTExTDQyMy43NzMsMTgxLjkxMWMtNi42MTctNC41OTktMTIuNDQtMTAuMjQ2LTE3LjI0MS0xNi43MThjLTExLjQ5NC0xMy4wNjEtMjYuMTIyLTI5LjI1Ny01My4yOS0yOS4yNTcNCgkJCQljLTI3LjE2NywwLTQxLjI3MywxNS42NzMtNTMuMjksMjkuNzhzLTE5Ljg1MywyMi40NjUtMzcuNjE2LDIyLjQ2NXMtMjYuNjQ1LTkuOTI3LTM3LjYxNi0yMi40NjVzLTI1LjYtMjkuNzgtNTMuMjktMjkuNzgNCgkJCQljLTI3LjY5LDAtNDEuMjczLDE1LjY3My01My4yOSwyOS43OGMtMTIuMDE2LDE0LjEwNi0xOS44NTMsMjIuNDY1LTM3LjYxNiwyMi40NjVzLTI2LjY0NS05LjkyNy0zNy42MTYtMjIuNDY1DQoJCQkJYy03LjQ1OC05Ljg1LTE2Ljg4OS0xOC4wMzUtMjcuNjktMjQuMDMzYy01LjE5NC0yLjU5Ny0xMS41MDktMC40OTItMTQuMTA2LDQuNzAyYy0yLjU5Nyw1LjE5NC0wLjQ5MiwxMS41MDksNC43MDIsMTQuMTA2DQoJCQkJYzguMjAzLDQuOTQ0LDE1LjQ1NywxMS4zMTQsMjEuNDIsMTguODA4YzEyLjAxNiwxNC4xMDYsMjYuMTIyLDI5Ljc4LDUzLjI5LDI5Ljc4czQxLjI3My0xNS42NzMsNTMuMjktMjkuNzgNCgkJCQljMTIuMDE2LTE0LjEwNiwxOS44NTMtMjIuNDY1LDM3LjYxNi0yMi40NjVzMjYuNjQ1LDkuOTI3LDM3LjYxNiwyMi40NjVzMjUuNiwyOS43OCw1My4yOSwyOS43OA0KCQkJCWMyNy42OSwwLDQxLjI3My0xNS42NzMsNTMuMjktMjkuNzhzMTkuODUzLTIyLjQ2NSwzNy42MTYtMjIuNDY1YzE3Ljc2MywwLDI2LjY0NSw5LjkyNywzNy42MTYsMjIuNDY1DQoJCQkJYzYuMDg5LDcuODE4LDEzLjMwOCwxNC42ODUsMjEuNDIsMjAuMzc1YzQuOTA1LDMuMTc0LDExLjQ1NSwxLjc3MSwxNC42MjktMy4xMzUNCgkJCQlDNDMwLjA4MiwxOTEuNjM1LDQyOC42NzksMTg1LjA4NSw0MjMuNzczLDE4MS45MTF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik01LjgxNCw4Mi4xMjRjOC4yMDMsNC45NDQsMTUuNDU3LDExLjMxNCwyMS40MiwxOC44MDhjMTIuMDE2LDE0LjEwNiwyNi4xMjIsMjkuNzgsNTMuMjksMjkuNzgNCgkJCQlzNDEuMjczLTE1LjY3Myw1My4yOS0yOS43OGMxMi4wMTYtMTQuMTA2LDE5Ljg1My0yMi40NjUsMzcuNjE2LTIyLjQ2NXMyNi42NDUsOS45MjcsMzcuNjE2LDIyLjQ2NQ0KCQkJCWMxMC45NzEsMTIuNTM5LDI1LjYsMjkuNzgsNTMuMjksMjkuNzhjMjcuNjksMCw0MS4yNzMtMTUuNjczLDUzLjI5LTI5Ljc4YzEyLjAxNi0xNC4xMDYsMTkuODUzLTIyLjQ2NSwzNy42MTYtMjIuNDY1DQoJCQkJYzE3Ljc2MywwLDI2LjY0NSw5LjkyNywzNy42MTYsMjIuNDY1YzYuMDg5LDcuODE4LDEzLjMwOCwxNC42ODUsMjEuNDIsMjAuMzc2YzQuOTA1LDMuMTc0LDExLjQ1NSwxLjc3LDE0LjYyOS0zLjEzNQ0KCQkJCWMzLjE3NC00LjkwNSwxLjc3MS0xMS40NTUtMy4xMzUtMTQuNjI5aDBjLTYuNjE3LTQuNTk5LTEyLjQ0LTEwLjI0Ni0xNy4yNDEtMTYuNzE4Yy0xMS40OTQtMTMuMDYxLTI2LjEyMi0yOS4yNTctNTMuMjktMjkuMjU3DQoJCQkJYy0yNy4xNjcsMC00MS4yNzMsMTUuNjczLTUzLjI5LDI5Ljc4Yy0xMi4wMTYsMTQuMTA2LTE5Ljg1MywyMi40NjUtMzcuNjE2LDIyLjQ2NXMtMjYuNjQ1LTkuOTI3LTM3LjYxNi0yMi40NjUNCgkJCQljLTEwLjk3MS0xMi41MzktMjUuNi0yOS43OC01My4yOS0yOS43OGMtMjcuNjksMC00MS4yNzMsMTUuNjczLTUzLjI5LDI5Ljc4Yy0xMi4wMTYsMTQuMTA2LTE5Ljg1MywyMi40NjUtMzcuNjE2LDIyLjQ2NQ0KCQkJCVM1My44OCw5OS44ODcsNDIuOTA4LDg3LjM0OGMtNy40NTgtOS44NS0xNi44ODktMTguMDM1LTI3LjY5LTI0LjAzM2MtNS4xOTQtMi41OTctMTEuNTA5LTAuNDkyLTE0LjEwNiw0LjcwMg0KCQkJCVMwLjYyMSw3OS41MjcsNS44MTQsODIuMTI0eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",MNe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUwOCA1MDgiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxyZWN0IHg9IjEzOS4zIiB3aWR0aD0iMTYuNCIgaGVpZ2h0PSIzOC4yIi8+DQogICAgICAgIDxwb2x5Z29uIHBvaW50cz0iMTA0LjEsMjEuNCA4OC45LDI3LjcgOTgsNDkuOCAxMTMuMiw0My41IAkJIi8+DQogICAgICAgIDxwb2x5Z29uIHBvaW50cz0iMjcuNSw4OS40IDIxLjMsMTA0LjYgNDMuMywxMTMuNyA0OS41LDk4LjUgCQkiLz4NCiAgICAgICAgPHBvbHlnb24gcG9pbnRzPSIxOTAuOSwyMS40IDE4MS44LDQzLjUgMTk2LjksNDkuOCAyMDYsMjcuNyAJCSIvPg0KICAgICAgICA8cG9seWdvbiBwb2ludHM9IjQzLjMsMTgyLjcgMjEuMywxOTEuOCAyNy41LDIwNyA0OS41LDE5Ny45IAkJIi8+DQogICAgICAgIDxwb2x5Z29uIHBvaW50cz0iMjY3LjQsODkuNCAyNDUuNCw5OC41IDI1MS43LDExMy43IDI3My43LDEwNC42IAkJIi8+DQogICAgICAgIDxwb2x5Z29uIHBvaW50cz0iMjQ2LDM3LjYgMjE5LjEsNjQuNiAyMzAuNyw3Ni4zIDI1Ny42LDQ5LjIgCQkiLz4NCiAgICAgICAgPHBvbHlnb24gcG9pbnRzPSI2NC4zLDIyMC4xIDM3LjQsMjQ3LjEgNDksMjU4LjggNzUuOSwyMzEuNyAJCSIvPg0KICAgICAgICA8cG9seWdvbiBwb2ludHM9IjE0LjMsMTQwIDAsMTQwIDAsMTU2LjQgMTQuMywxNTYuNCAzOC4xLDE1Ni40IDM4LjEsMTQwIAkJIi8+DQogICAgICAgIDxwb2x5Z29uIHBvaW50cz0iNTkuMSw0Ny43IDQ5LDM3LjYgMzcuNCw0OS4yIDY0LjMsNzYuMyA3NS45LDY0LjYgCQkiLz4NCiAgICAgICAgPHBhdGggZD0iTTMxOS41LDE3Mi45djE2LjVjNDkuNywwLDkwLjEsNDAuNiw5MC4xLDkwLjZINDI2QzQyNi4xLDIyMC45LDM3OC4zLDE3Mi45LDMxOS41LDE3Mi45eiIvPg0KICAgICAgICA8cGF0aCBkPSJNNDY2LjEsMjk1LjVjMC42LTUuNiwwLjktMTAuNiwwLjktMTUuNmMwLTgxLjctNjYuMi0xNDguMi0xNDcuNS0xNDguMmMtMjguNCwwLTU1LjUsOC4yLTc4LjcsMjNjMC4yLTIuMiwwLjUtNC4zLDAuNS02LjUNCgkJCWMwLTUyLTQyLjEtOTQuMy05My44LTk0LjNzLTkzLjgsNDIuMy05My44LDk0LjNjMCwzMC42LDE0LjksNTkuMSwzOS41LDc2LjdjLTE1LjQsMTcuMi0yNS41LDM5LjMtMjcuMyw2My43DQoJCQljLTM3LDQtNjUuOCwzNS41LTY1LjgsNzMuN2MwLDQwLjksMzMuMSw3NC4xLDczLjcsNzQuMWgzNjAuNWM0MC43LDAsNzMuNy0zMy4yLDczLjctNzQuMUM1MDgsMzMzLjcsNDkxLjQsMzA3LjcsNDY2LjEsMjk1LjV6DQoJCQkgTTcwLDE0OC4yYzAtNDIuOSwzNC43LTc3LjgsNzcuNC03Ny44YzQyLjcsMCw3Ny40LDM0LjksNzcuNCw3Ny44YzAsNi45LTAuOSwxMy45LTIuNywyMC42Yy04LjMsNy40LTE1LjcsMTUuNS0yMi4xLDI0LjQNCgkJCWMtMzMuMS05LjEtNjguNy0xLjMtOTQuOSwyMC4xQzgzLjMsMTk5LDcwLDE3NC41LDcwLDE0OC4yeiBNNDM0LjMsNDE5LjlINzMuN2MtMzEuNiwwLTU3LjQtMjUuOS01Ny40LTU3LjYNCgkJCWMwLTMxLjgsMjUuNy01Ny42LDU3LjQtNTcuNmg4LjJ2LTguMmMwLTQ5LjksNDAuNC05MC42LDkwLjEtOTAuNmMxNC40LDAsMzQuNyw2LjgsMzQuNyw2LjhzMzguNy02NC40LDExMi44LTY0LjQNCgkJCWM3Mi4zLDAsMTMxLjEsNTkuMSwxMzEuMSwxMzEuN2MwLDEzLjktMi42LDI2LjEtMi42LDI2LjFsNi4yLDIuM2MyMi4zLDguNCwzNy4zLDMwLjEsMzcuMyw1My45DQoJCQlDNDkxLjYsMzk0LDQ2NS45LDQxOS45LDQzNC4zLDQxOS45eiIvPg0KICAgICAgICA8cG9seWdvbiBwb2ludHM9Ijg4LjQsNDU1LjIgNDcuNSw0OTYuNCA1OS4xLDUwOCAxMDAsNDY2LjggCQkiLz4NCiAgICAgICAgPHBvbHlnb24gcG9pbnRzPSIxNzguNiw0NTUuMiAxMzcuNiw0OTYuNCAxNDkuMiw1MDggMTkwLjEsNDY2LjggCQkiLz4NCiAgICAgICAgPHBvbHlnb24gcG9pbnRzPSIyNjguNyw0NTUuMiAyMjcuNyw0OTYuNCAyMzkuMyw1MDggMjgwLjMsNDY2LjggCQkiLz4NCiAgICAgICAgPHBvbHlnb24gcG9pbnRzPSIzNTguOCw0NTUuMiAzMTcuOSw0OTYuNCAzMjkuNCw1MDggMzcwLjQsNDY2LjggCQkiLz4NCiAgICAgICAgPHBvbHlnb24gcG9pbnRzPSI0NDguOSw0NTUuMiA0MDgsNDk2LjQgNDE5LjYsNTA4IDQ2MC41LDQ2Ni44IAkJIi8+DQogICAgPC9nPg0KPC9zdmc+DQo=",nNe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im02MSA1NWgtNXYtNDRhMy4wMDkgMy4wMDkgMCAwIDAgMy0zdi01YTEgMSAwIDAgMCAtMS0xaC01MmExIDEgMCAwIDAgLTEgMXY1YTMuMDA5IDMuMDA5IDAgMCAwIDMgM3Y0NGgtNWExIDEgMCAwIDAgLTEgMXY1YTEgMSAwIDAgMCAxIDFoNThhMSAxIDAgMCAwIDEtMXYtNWExIDEgMCAwIDAgLTEtMXptLTU0LTQ3di00aDUwdjRhMSAxIDAgMCAxIC0xIDFoLTQ4YTEgMSAwIDAgMSAtMS0xem00NyAzdjQ0aC00NHYtNDR6bTYgNDloLTU2di0zaDU2eiIvPg0KICAgICAgICA8cGF0aCBkPSJtNTIgMTJoLTQwYTEgMSAwIDAgMCAtMSAxdjQwYTEgMSAwIDAgMCAxIDFoNDBhMSAxIDAgMCAwIDEtMXYtNDBhMSAxIDAgMCAwIC0xLTF6bS0yMSA0MGgtMTh2LTE5aDE4em0wLTIxaC0xOHYtMTdoMTh6bTIwIDIxaC0xOHYtMTloMTh6bTAtMjFoLTE4di0xN2gxOHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTE1LjE3MiAxOGg1LjY1N3YyaC01LjY1N3oiIHRyYW5zZm9ybT0ibWF0cml4KC43MDcgLS43MDcgLjcwNyAuNzA3IC04LjE2MyAxOC4yOTMpIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xNC4xMzYgMjAuNWgxMi43Mjh2MmgtMTIuNzI4eiIgdHJhbnNmb3JtPSJtYXRyaXgoLjcwNyAtLjcwNyAuNzA3IC43MDcgLTkuMTk4IDIwLjc5MykiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",aNe={"Alarm Systems":"PHN2ZyBoZWlnaHQ9IjUxMXB0IiB2aWV3Qm94PSItMzEgMCA1MTEgNTExLjk5OTk4IiB3aWR0aD0iNTExcHQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTIzNS4zMjgxMjUgMTE5LjE2Nzk2OWMyMC44Mzk4NDQgOC4wNTg1OTMgMzUuNjQ0NTMxIDIxLjE0ODQzNyA0NC42MzI4MTMgNDEuNTAzOTA2Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yMzEuNjg3NSAxMjguNTg1OTM4YzE4Ljk4MDQ2OSA3LjMzOTg0MyAzMS4zODI4MTIgMTguODMyMDMxIDM5LjAzNTE1NiAzNi4xNjQwNjIgMS42Njc5NjkgMy43NzM0MzggNS4zNjMyODIgNi4wMjM0MzggOS4yNDIxODggNi4wMjM0MzggMS4zNjMyODEgMCAyLjc0NjA5NC0uMjc3MzQ0IDQuMDcwMzEyLS44NjMyODIgNS4xMDU0NjktMi4yNTM5MDYgNy40MTQwNjMtOC4yMTQ4NDQgNS4xNjAxNTYtMTMuMzE2NDA2LTkuODIwMzEyLTIyLjI1LTI2LjI1LTM3LjU3NDIxOS01MC4yMjY1NjItNDYuODQzNzUtNS4xOTkyMTktMi4wMTE3MTktMTEuMDQ2ODc1LjU3NDIxOS0xMy4wNTg1OTQgNS43NzczNDQtMi4wMTE3MTggNS4yMDMxMjUuNTc4MTI1IDExLjA0Njg3NSA1Ljc3NzM0NCAxMy4wNTg1OTR6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMjA3LjEwNTQ2OSAyMzcuODEyNWMyMC4wODk4NDMgMCAzNi40Mzc1LTE2LjM0Mzc1IDM2LjQzNzUtMzYuNDMzNTk0IDAtMjAuMDkzNzUtMTYuMzQ3NjU3LTM2LjQzNzUtMzYuNDM3NS0zNi40Mzc1LTIwLjA4OTg0NCAwLTM2LjQzNzUgMTYuMzQzNzUtMzYuNDM3NSAzNi40Mzc1IDAgMjAuMDg5ODQ0IDE2LjM0NzY1NiAzNi40MzM1OTQgMzYuNDM3NSAzNi40MzM1OTR6bTAtNTIuNjc1NzgxYzguOTUzMTI1IDAgMTYuMjQyMTg3IDcuMjg1MTU2IDE2LjI0MjE4NyAxNi4yNDIxODcgMCA4Ljk1MzEyNS03LjI4OTA2MiAxNi4yMzgyODItMTYuMjQyMTg3IDE2LjIzODI4Mi04Ljk1NzAzMSAwLTE2LjI0MjE4OC03LjI4NTE1Ny0xNi4yNDIxODgtMTYuMjM4MjgyIDAtOC45NTcwMzEgNy4yODUxNTctMTYuMjQyMTg3IDE2LjI0MjE4OC0xNi4yNDIxODd6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMzkwLjE3OTY4OCAxNDcuMDE1NjI1YzMuNzY1NjI0IDAgNy4zOTg0MzctLjU3NDIxOSAxMC44MjAzMTItMS42MzY3MTlsNy4zMzk4NDQgOS44NzEwOTRjMTMuOTQxNDA2IDE4Ljc1IDIxLjYyMTA5NCA0MS45NDUzMTIgMjEuNjIxMDk0IDY1LjMxMjV2NTkuMTUyMzQ0YzAgNS41NzgxMjUgNC41MjM0MzcgMTAuMDk3NjU2IDEwLjA5NzY1NiAxMC4wOTc2NTYgNS41NzQyMTggMCAxMC4wOTc2NTYtNC41MTk1MzEgMTAuMDk3NjU2LTEwLjA5NzY1NnYtNTkuMTUyMzQ0YzAtMjcuNjc1NzgxLTkuMDkzNzUtNTUuMTUyMzQ0LTI1LjYwOTM3NS03Ny4zNTkzNzVsLTYuNjc1NzgxLTguOTgwNDY5YzUuNDQ5MjE4LTYuMzY3MTg3IDguNzQ2MDk0LTE0LjYyNSA4Ljc0NjA5NC0yMy42NDA2MjUgMC0yMC4wOTM3NS0xNi4zNDM3NS0zNi40Mzc1LTM2LjQzNzUtMzYuNDM3NS0yMC4wODk4NDQgMC0zNi40MzM1OTQgMTYuMzQzNzUtMzYuNDMzNTk0IDM2LjQzNzUgMCAyMC4wODk4NDQgMTYuMzQzNzUgMzYuNDMzNTk0IDM2LjQzMzU5NCAzNi40MzM1OTR6bTAtNTIuNjc1NzgxYzguOTU3MDMxIDAgMTYuMjQyMTg3IDcuMjg1MTU2IDE2LjI0MjE4NyAxNi4yNDIxODcgMCA4Ljk1MzEyNS03LjI4NTE1NiAxNi4yNDIxODgtMTYuMjQyMTg3IDE2LjI0MjE4OC04Ljk1MzEyNiAwLTE2LjI0MjE4OC03LjI4OTA2My0xNi4yNDIxODgtMTYuMjQyMTg4IDAtOC45NTcwMzEgNy4yODkwNjItMTYuMjQyMTg3IDE2LjI0MjE4OC0xNi4yNDIxODd6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDQwLjA1ODU5NCAzNDkuMDUwNzgxYy01LjU3ODEyNSAwLTEwLjA5NzY1NiA0LjUxOTUzMS0xMC4wOTc2NTYgMTAuMDk3NjU3djYzLjMyMDMxMmMwIDE0LjIzMDQ2OS0xMS41NzgxMjYgMjUuODA4NTk0LTI1LjgwODU5NCAyNS44MDg1OTRoLTQ0LjU5NzY1NnYtMzMuNDI5Njg4YzAtNS41NzgxMjUtNC41MTk1MzItMTAuMDk3NjU2LTEwLjA5Mzc1LTEwLjA5NzY1NmgtNDIuMjY1NjI2di0xMTIuNDUzMTI1YzIxLjg1NTQ2OS0yNC4wMzUxNTYgMzUuMTkxNDA3LTU1Ljk0OTIxOSAzNS4xOTE0MDctOTAuOTE3OTY5IDAtNzQuNTk3NjU2LTYwLjY4NzUtMTM1LjI4NTE1Ni0xMzUuMjgxMjUtMTM1LjI4NTE1NnMtMTM1LjI4MTI1IDYwLjY4NzUtMTM1LjI4MTI1IDEzNS4yODUxNTZjMCAzMy4xMDU0NjkgMTEuOTU3MDMxIDYzLjQ2NDg0NCAzMS43NzczNDMgODcuMDAzOTA2djIxMy41MTk1MzJjMCA1LjU3ODEyNSA0LjUyMzQzOCAxMC4wOTc2NTYgMTAuMDk3NjU3IDEwLjA5NzY1NmgyMzUuNzYxNzE5YzUuNTc0MjE4IDAgMTAuMDkzNzUtNC41MTk1MzEgMTAuMDkzNzUtMTAuMDk3NjU2di0zMy40Mjk2ODhoNDQuNTk3NjU2YzI1LjM2NzE4NyAwIDQ2LjAwMzkwNi0yMC42MzY3MTggNDYuMDAzOTA2LTQ2LjAwMzkwNnYtNjMuMzIwMzEyYzAtNS41NzgxMjYtNC41MjM0MzgtMTAuMDk3NjU3LTEwLjA5NzY1Ni0xMC4wOTc2NTd6bS0yMzIuOTUzMTI1LTI2Mi43NjE3MTljNjMuNDU3MDMxIDAgMTE1LjA4NTkzNyA1MS42Mjg5MDcgMTE1LjA4NTkzNyAxMTUuMDg5ODQ0IDAgNjMuNDU3MDMyLTUxLjYyODkwNiAxMTUuMDg1OTM4LTExNS4wODU5MzcgMTE1LjA4NTkzOC02My40NjA5MzggMC0xMTUuMDg1OTM4LTUxLjYyODkwNi0xMTUuMDg1OTM4LTExNS4wODU5MzggMC02My40NjA5MzcgNTEuNjI1LTExNS4wODk4NDQgMTE1LjA4NTkzOC0xMTUuMDg5ODQ0em0tODMuMzA4NTk0IDIyMS42MDE1NjNjMjIuOTgwNDY5IDE4LjAxNTYyNSA1MS45MTAxNTYgMjguNzY5NTMxIDgzLjMwODU5NCAyOC43Njk1MzEgMjkuODYzMjgxIDAgNTcuNDkyMTg3LTkuNzM0Mzc1IDc5Ljg5NDUzMS0yNi4xODc1djE4MS4zMzIwMzJoLTE2My4yMDMxMjV6bTIxNS41NjY0MDYgMTgzLjkxNDA2M2gtMzIuMTY3OTY5di02Ni44NTkzNzZoMzIuMTY3OTY5em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTE0OC4xNjAxNTYgMzc3Ljc4OTA2MmgxNy45MjU3ODJjNS41NzQyMTggMCAxMC4wOTc2NTYtNC41MjM0MzcgMTAuMDk3NjU2LTEwLjA5NzY1NiAwLTUuNTc4MTI1LTQuNTIzNDM4LTEwLjA5NzY1Ni0xMC4wOTc2NTYtMTAuMDk3NjU2aC0xNy45MjU3ODJjLTUuNTc0MjE4IDAtMTAuMDk3NjU2IDQuNTE5NTMxLTEwLjA5NzY1NiAxMC4wOTc2NTYgMCA1LjU3NDIxOSA0LjUyMzQzOCAxMC4wOTc2NTYgMTAuMDk3NjU2IDEwLjA5NzY1NnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xOTguMTQ0NTMxIDM3Ny43ODkwNjJoMTcuOTIxODc1YzUuNTc0MjE5IDAgMTAuMDk3NjU2LTQuNTIzNDM3IDEwLjA5NzY1Ni0xMC4wOTc2NTYgMC01LjU3ODEyNS00LjUyMzQzNy0xMC4wOTc2NTYtMTAuMDk3NjU2LTEwLjA5NzY1NmgtMTcuOTIxODc1Yy01LjU3ODEyNSAwLTEwLjA5NzY1NiA0LjUxOTUzMS0xMC4wOTc2NTYgMTAuMDk3NjU2IDAgNS41NzQyMTkgNC41MTk1MzEgMTAuMDk3NjU2IDEwLjA5NzY1NiAxMC4wOTc2NTZ6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMjY2LjA0Njg3NSAzNTcuNTkzNzVoLTE3LjkyMTg3NWMtNS41NzQyMTkgMC0xMC4wOTc2NTYgNC41MTk1MzEtMTAuMDk3NjU2IDEwLjA5NzY1NiAwIDUuNTc0MjE5IDQuNTIzNDM3IDEwLjA5NzY1NiAxMC4wOTc2NTYgMTAuMDk3NjU2aDE3LjkyMTg3NWM1LjU3ODEyNSAwIDEwLjA5NzY1Ni00LjUyMzQzNyAxMC4wOTc2NTYtMTAuMDk3NjU2IDAtNS41NzgxMjUtNC41MTk1MzEtMTAuMDk3NjU2LTEwLjA5NzY1Ni0xMC4wOTc2NTZ6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMTQ4LjE2MDE1NiA0MjAuNjc1NzgxaDY3LjkwNjI1YzUuNTc0MjE5IDAgMTAuMDk3NjU2LTQuNTE5NTMxIDEwLjA5NzY1Ni0xMC4wOTc2NTZzLTQuNTIzNDM3LTEwLjA5NzY1Ni0xMC4wOTc2NTYtMTAuMDk3NjU2aC02Ny45MDYyNWMtNS41NzQyMTggMC0xMC4wOTc2NTYgNC41MTk1MzEtMTAuMDk3NjU2IDEwLjA5NzY1NnM0LjUyMzQzOCAxMC4wOTc2NTYgMTAuMDk3NjU2IDEwLjA5NzY1NnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yNDguMTI1IDQ0My4xNTYyNWgtOTkuOTY0ODQ0Yy01LjU3NDIxOCAwLTEwLjA5NzY1NiA0LjUxOTUzMS0xMC4wOTc2NTYgMTAuMDk3NjU2IDAgNS41NzQyMTkgNC41MjM0MzggMTAuMDk3NjU2IDEwLjA5NzY1NiAxMC4wOTc2NTZoOTkuOTY0ODQ0YzUuNTc0MjE5IDAgMTAuMDk3NjU2LTQuNTIzNDM3IDEwLjA5NzY1Ni0xMC4wOTc2NTYgMC01LjU3ODEyNS00LjUxOTUzMS0xMC4wOTc2NTYtMTAuMDk3NjU2LTEwLjA5NzY1NnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xMDYuMzU1NDY5IDQwLjEzNjcxOWMxLjg0Mzc1IDMuMzIwMzEyIDUuMjg1MTU2IDUuMTkxNDA2IDguODMyMDMxIDUuMTkxNDA2IDEuNjYwMTU2IDAgMy4zNDM3NS0uNDE0MDYzIDQuODk4NDM4LTEuMjc3MzQ0IDQuODc1LTIuNzEwOTM3IDYuNjI1LTguODU5Mzc1IDMuOTE0MDYyLTEzLjczNDM3NWwtMTMuOTg0Mzc1LTI1LjEyODkwNmMtMi43MTA5MzctNC44NzEwOTQtOC44NTkzNzUtNi42MjUtMTMuNzM0Mzc1LTMuOTEwMTU2LTQuODcxMDk0IDIuNzEwOTM3LTYuNjI1IDguODU5Mzc1LTMuOTE0MDYyIDEzLjczNDM3NXptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im02My4xNDQ1MzEgODMuMDE1NjI1LTI2LjA1NDY4Ny0xNS4wMzkwNjNjLTQuODMyMDMyLTIuNzg5MDYyLTExLjAwMzkwNi0xLjEzMjgxMi0xMy43OTI5NjkgMy42OTUzMTNzLTEuMTMyODEzIDExLjAwMzkwNiAzLjY5NTMxMyAxMy43OTI5NjlsMjYuMDU0Njg3IDE1LjA0Mjk2OGMxLjU4OTg0NC45MTc5NjkgMy4zMjgxMjUgMS4zNTE1NjMgNS4wMzkwNjMgMS4zNTE1NjMgMy40ODgyODEgMCA2Ljg4MjgxMi0xLjgwODU5NCA4Ljc1MzkwNi01LjA0Njg3NSAyLjc4OTA2Mi00LjgzMjAzMSAxLjEzMjgxMi0xMS4wMDc4MTItMy42OTUzMTMtMTMuNzk2ODc1em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQxLjExMzI4MSAxNDYuMjEwOTM4LTMwLjA4NTkzNy0xLjI4MTI1Yy01LjU4MjAzMi0uMjUtMTAuMjgxMjUgNC4wODk4NDMtMTAuNTE5NTMyIDkuNjYwMTU2LS4yMzQzNzQgNS41NzAzMTIgNC4wODk4NDQgMTAuMjgxMjUgOS42NjAxNTcgMTAuNTE1NjI1bDMwLjA4NTkzNyAxLjI4MTI1Yy4xNDQ1MzIuMDA3ODEyLjI5Mjk2OS4wMDc4MTIuNDM3NS4wMDc4MTIgNS4zNzg5MDYgMCA5Ljg1MTU2My00LjI0MjE4NyAxMC4wNzgxMjUtOS42Njc5NjkuMjM4MjgxLTUuNTcwMzEyLTQuMDg1OTM3LTEwLjI3NzM0My05LjY1NjI1LTEwLjUxNTYyNHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yODMuNjQwNjI1IDE5OC42MjUuMTIxMDk0LjI5Njg3NWMxLjU4OTg0MyAzLjkyNTc4MSA1LjM2NzE4NyA2LjMwNDY4NyA5LjM1OTM3NSA2LjMwNDY4NyAxLjI2MTcxOCAwIDIuNTQ2ODc1LS4yMzgyODEgMy43ODkwNjItLjc0MjE4NyA1LjE2Nzk2OS0yLjA5Mzc1IDcuNjYwMTU2LTcuOTgwNDY5IDUuNTY2NDA2LTEzLjE0ODQzN2wtLjEyMTA5My0uMjk2ODc2Yy0yLjA5Mzc1LTUuMTY3OTY4LTcuOTgwNDY5LTcuNjU2MjUtMTMuMTQ4NDM4LTUuNTYyNXMtNy42NjAxNTYgNy45ODA0NjktNS41NjY0MDYgMTMuMTQ4NDM4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ0OS4zNjcxODggMzE1LjY2Nzk2OWMtMi4wNzgxMjYtNS4xNzE4NzUtNy45NjQ4NDQtNy42Nzk2ODgtMTMuMTM2NzE5LTUuNjAxNTYzLTUuMTcxODc1IDIuMDgyMDMyLTcuNjc5Njg4IDcuOTYwOTM4LTUuNjAxNTYzIDEzLjEzNjcxOWwuMTE3MTg4LjI5Mjk2OWMxLjU4NTkzNyAzLjk0MTQwNiA1LjM3MTA5NCA2LjMzNTkzNyA5LjM3NSA2LjMzNTkzNyAxLjI1MzkwNiAwIDIuNTI3MzQ0LS4yMzQzNzUgMy43NjE3MTgtLjczNDM3NSA1LjE3NTc4Mi0yLjA3ODEyNSA3LjY4MzU5NC03Ljk2MDkzNyA1LjYwMTU2My0xMy4xMzI4MTJ6bTAgMCIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",Amplifier:dle,Awnings:zle,"Battery Status":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTM5NC4wNjMgMzkxLjk5NmMtOS4xOTgtNS4yOS0xOC4zNzMtMTAuNjIzLTI3LjU1OC0xNS45MzcgNS4wMDItMTEuNzY5IDEwLjE5NC0yMy45MDIgMTQuOTAzLTM2LjA1MyAxLjgwOS00LjY2NyAxLjE4OS05LjkxMS0xLjY1NS0xNC4wMjgtNS43NzYtOC4zNjEtMTYuODYzLTguODU1LTI0LjM0NC0xLjc0LTE5LjY2MSAxOC43LTM5LjA4NSAzNy01OC42NTIgNTUuNTM3LTMuNzc1IDMuNTc3LTUuNjM5IDguNDM0LTUuMTEgMTMuMzI3LjUyMyA0Ljg0NiAzLjMzOSA5LjE0NCA3LjcyNSAxMS43OTIgOS4zNDUgNS42NDEgMTguNzYxIDEwLjk1NSAyOC4wOTggMTYuMjkxLTQuNjQ0IDEwLjk1MS0xMC4zNzIgMjQuMjQ2LTE0LjkyIDM2LjAwMi0yLjg4NyA3LjQ2Mi40MjEgMTUuNzQ0IDcuNjkzIDE5LjI2NCA1LjcxNCAyLjc2NiAxMi4yOCAyLjIxMSAxOC4yOTktMy40ODMgMTkuMzQ0LTE4LjMgMzkuMzQzLTM3LjIxNCA1OC42Ny01NS41NDcgMy44MTgtMy42MjIgNS42NzQtOC41MTIgNS4wOS0xMy40MTYtLjU5MS00Ljk2Mi0zLjU5NC05LjMzOC04LjIzOS0xMi4wMDl6bS03LjE3NCAxNC41NGMtMTUuNjM0IDE0LjgzMi01OC45NDkgNTYuOTczLTYwLjEwOSA1Ni40MTItLjExOC0uMDU3LS4zMDYtLjE3OC0uMjQtLjM0OSA1LjE3OS0xMy41MjYgMTEuNjM1LTI4LjI3MiAxNi45MTgtNDAuNzMyIDEuNDkzLTMuNTIyLjkwNy04LjI4LTMuNzY4LTEwLjk3LTEwLjg0LTYuMjM3LTIxLjc5MS0xMi4zNTQtMzIuNTY0LTE4Ljg0NS0uODAyLS40ODMtLjc2Ny0uNzEtLjA1MS0xLjM4OCAyMC44NzQtMTkuNzc5IDU3Ljk1OS01NS4zMTEgNTkuODAzLTU2LjQ1OS4zOTYuMDg0LjU0NC4yOTkuNTQ1LjM4NC01LjMwNyAxMy42ODQtMTEuMjEzIDI3LjMwNS0xNi45IDQwLjczOS0xLjc5NCA0LjIzNy0uMjkzIDguNjQ5IDMuNzM5IDEwLjk4IDQuMzk5IDIuNTQgOC43OTYgNS4wODcgMTMuMTkxIDcuNjM0IDYuMzc0IDMuNjkzIDEyLjc0OCA3LjM4NyAxOS4xMzQgMTEuMDU5IDEuMTA2LjYzNSAxLjEzNi43NDQuMzAyIDEuNTM1em0tODEuNzg0LTIwOC40aC0yMDEuNDZjLTEwLjI3MyAwLTE4LjYzMSA4LjMzLTE4LjYzMSAxOC41Njl2NDQuMjc2YzAgMTAuMjM5IDguMzU3IDE4LjU2OSAxOC42MzEgMTguNTY5aDIwMS40NjFjMTAuMjczIDAgMTguNjMxLTguMzMgMTguNjMxLTE4LjU2OXYtNDQuMjc2Yy0uMDAxLTEwLjIzOS04LjM1OC0xOC41NjktMTguNjMyLTE4LjU2OXptMy42MzEgNjIuODQ1YzAgMS45NjgtMS42MjkgMy41NjktMy42MzEgMy41NjloLTIwMS40NmMtMi4wMDIgMC0zLjYzMS0xLjYwMS0zLjYzMS0zLjU2OXYtNDQuMjc2YzAtMS45NjggMS42MjktMy41NjkgMy42MzEtMy41NjloMjAxLjQ2MWMyLjAwMiAwIDMuNjMxIDEuNjAxIDMuNjMxIDMuNTY5djQ0LjI3NnptMTUtMTQzLjg5OGMwLTEwLjIzOS04LjM1Ny0xOC41NjktMTguNjMxLTE4LjU2OWgtMjAxLjQ2Yy0xMC4yNzMgMC0xOC42MzEgOC4zMy0xOC42MzEgMTguNTY5djQ0LjI3NmMwIDEwLjIzOSA4LjM1NyAxOC41NjkgMTguNjMxIDE4LjU2OWgyMDEuNDYxYzEwLjI3MyAwIDE4LjYzMS04LjMzIDE4LjYzMS0xOC41Njl2LTQ0LjI3NnptLTE1IDQ0LjI3N2MwIDEuOTY4LTEuNjI5IDMuNTY5LTMuNjMxIDMuNTY5aC0yMDEuNDZjLTIuMDAyIDAtMy42MzEtMS42MDEtMy42MzEtMy41Njl2LTQ0LjI3NmMwLTEuOTY4IDEuNjI5LTMuNTY5IDMuNjMxLTMuNTY5aDIwMS40NjFjMi4wMDIgMCAzLjYzMSAxLjYwMSAzLjYzMSAzLjU2OXY0NC4yNzZ6bTM4LjI0NyAxMjMuODU3Yy0xOC42NTMgMC0zNi4yNjYgNC41MjktNTEuODAzIDEyLjU0MmgtMTkxLjUzNWMtMTAuMjcyIDAtMTguNjMgOC4zMzEtMTguNjMgMTguNTd2NDQuMjdjMCAxMC4yMzkgOC4zNTcgMTguNTcgMTguNjMgMTguNTdoMTMxLjYyMWMtMS4wOTYgNi4zMTgtMS42NzMgMTIuODEyLTEuNjczIDE5LjQzOCAwIDI0LjI0MyA3LjY1MSA0Ni43MjkgMjAuNjYgNjUuMTgyaC0xNTAuNjA4Yy0yLjAwMiAwLTMuNjMtMS42MDItMy42My0zLjU3di00NC4yN2MwLTEuOTY5IDEuNjI4LTMuNTcgMy42My0zLjU3aDEwNy42NDFjNC4xNDMgMCA3LjUtMy4zNTggNy41LTcuNXMtMy4zNTctNy41LTcuNS03LjVoLTEwNy42NDFjLTEwLjI3MiAwLTE4LjYzIDguMzMxLTE4LjYzIDE4LjU3djQ0LjI3YzAgMTAuMjM5IDguMzU3IDE4LjU3IDE4LjYzIDE4LjU3aDE2My4yMzdjNy4wNyA3LjA2MyAxNS4wNjUgMTMuMTk5IDIzLjc4NSAxOC4yMWgtMTk4LjI0MmMtMTQuMjI3IDAtMjUuOC0xMS41NzQtMjUuOC0yNS44di0zNjUuMDg5YzAtMTQuMjI2IDExLjU3My0yNS44IDI1LjgtMjUuOGgyMjMuOWMxNC4yMjcgMCAyNS44IDExLjU3NCAyNS44IDI1Ljh2MTU2LjY0YzAgNC4xNDIgMy4zNTcgNy41IDcuNSA3LjVzNy41LTMuMzU4IDcuNS03LjV2LTE1Ni42NGMwLTIyLjQ5Ny0xOC4zMDMtNDAuOC00MC44LTQwLjhoLTQwLjA2N3YtMzUuNjExYzAtMTYuMzc2LTEzLjMyMy0yOS42OTktMjkuNjk5LTI5LjY5OWgtODQuMzY3Yy0xNi4zNzYgMC0yOS42OTkgMTMuMzIzLTI5LjY5OSAyOS42OTl2MzUuNjExaC00MC4wNjhjLTIyLjQ5NyAwLTQwLjggMTguMzAzLTQwLjggNDAuOHYzNjUuMDljMCAyMi40OTcgMTguMzAzIDQwLjggNDAuOCA0MC44aDIyMy45YzMuODkyIDAgNy43MzEtLjU1MyAxMS40NDItMS42MzYgNi4yNDggMS4wNzEgMTIuNjY3IDEuNjM2IDE5LjIxNiAxLjYzNiA2Mi41MjQgMCAxMTMuMzkyLTUwLjg2NyAxMTMuMzkyLTExMy4zOTIgMC02Mi41MjQtNTAuODY3LTExMy4zOTEtMTEzLjM5Mi0xMTMuMzkxem0tMTk5LjQ5MS0yNTUuNTE4YzAtOC4xMDUgNi41OTQtMTQuNjk5IDE0LjY5OS0xNC42OTloODQuMzY3YzguMTA1IDAgMTQuNjk5IDYuNTk0IDE0LjY5OSAxNC42OTl2MzUuNjExaC0xMTMuNzY1em0tNDMuODQ3IDMzNC40NzFjLTIuMDAyIDAtMy42My0xLjYwMi0zLjYzLTMuNTd2LTQ0LjI3YzAtMS45NjkgMS42MjgtMy41NyAzLjYzLTMuNTdoMTY5LjM0MWMtMTUuNjY2IDEzLjUyMS0yNy42IDMxLjI1LTM0LjA0MSA1MS40MXptMjQzLjMzOCAxMzIuODNjLTU0LjI1MyAwLTk4LjM5Mi00NC4xMzgtOTguMzkyLTk4LjM5MiAwLTU0LjI1MyA0NC4xMzktOTguMzkxIDk4LjM5Mi05OC4zOTFzOTguMzkyIDQ0LjEzOCA5OC4zOTIgOTguMzkxYzAgNTQuMjU0LTQ0LjEzOSA5OC4zOTItOTguMzkyIDk4LjM5MnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=","Ceiling Spotlights":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDc0IDc0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im00Ni40NCA0aC0yLjk3YTEgMSAwIDAgMSAwLTJoMi45N2ExIDEgMCAwIDEgMCAyeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNjguNjQgMTAuMzhoLTYzLjI4YTEgMSAwIDAgMSAtMS0xdi02LjM4YTEgMSAwIDAgMSAxLTFoMjEuMmExIDEgMCAwIDEgMCAyaC0yMC4ydjQuMzhoNjEuMjh2LTQuMzhoLTE0LjJhMSAxIDAgMCAxIDAtMmgxNS4yYTEgMSAwIDAgMSAxIDF2Ni4zOGExIDEgMCAwIDEgLTEgMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM2LjQ3IDRoLTIuOTFhMSAxIDAgMCAxIDAtMmgyLjkxYTEgMSAwIDAgMSAwIDJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zNyA1MS4yMDdhMSAxIDAgMCAxIC0xLTF2LTQwLjgyOGExIDEgMCAxIDEgMiAwdjQwLjgyOGExIDEgMCAwIDEgLTEgMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ2Ljc3MSA2Ny4wN2gtMTkuNTQyYTEgMSAwIDAgMSAtLjk3Ny0xLjIxNWwzLjQ5LTE1Ljg1NWExIDEgMCAwIDEgLjk3Ny0uNzg1aDEyLjU2MmExIDEgMCAwIDEgLjk3Ny43ODVsMy40OSAxNS44NmExIDEgMCAwIDEgLS45NzcgMS4yMTV6bS0xOC4zLTJoMTcuMDU2bC0zLjA0OS0xMy44NmgtMTAuOTU2eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzcgNzJhNS45MzYgNS45MzYgMCAwIDEgLTUuOTMtNS45MyAxIDEgMCAwIDEgMiAwIDMuOTMgMy45MyAwIDAgMCA3Ljg2IDAgMSAxIDAgMCAxIDIgMCA1LjkzNiA1LjkzNiAwIDAgMSAtNS45MyA1LjkzeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNjAuNDE2IDM1LjExNGExIDEgMCAwIDEgLTEtMXYtMjQuNzM1YTEgMSAwIDAgMSAyIDB2MjQuNzM1YTEgMSAwIDAgMSAtMSAxeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNjkuNiA1MC4wMjZoLTE4LjM3YTEgMSAwIDAgMSAtLjk3Ni0xLjIxNWwzLjI4LTE0LjkxMWExIDEgMCAwIDEgLjk3Ny0uNzg1aDExLjgwOWExIDEgMCAwIDEgLjk3Ny43ODVsMy4yOCAxNC45MDlhMSAxIDAgMCAxIC0uOTc2IDEuMjE1em0tMTcuMTI2LTJoMTUuODgybC0yLjgzOS0xMi45MDloLTEwLjJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im02MC40MTYgNTQuNjZhNS42NDEgNS42NDEgMCAwIDEgLTUuNjM0LTUuNjM0IDEgMSAwIDEgMSAyIDAgMy42MzQgMy42MzQgMCAxIDAgNy4yNjggMCAxIDEgMCAxIDEgMiAwIDUuNjQxIDUuNjQxIDAgMCAxIC01LjYzNCA1LjYzNHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTEzLjU4NCAzNS4xMTRhMSAxIDAgMCAxIC0xLTF2LTI0LjczNWExIDEgMCAwIDEgMiAwdjI0LjczNWExIDEgMCAwIDEgLTEgMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTIyLjc3IDUwLjAyNmgtMTguMzdhMSAxIDAgMCAxIC0uOTc2LTEuMjE1bDMuMjc2LTE0LjkxMWExIDEgMCAwIDEgLjk3Ny0uNzg1aDExLjgxMmExIDEgMCAwIDEgLjk3Ny43ODVsMy4yOCAxNC45MDlhMSAxIDAgMCAxIC0uOTc2IDEuMjE1em0tMTcuMTI2LTJoMTUuODgxbC0yLjgzOS0xMi45MDloLTEwLjIwM3oiLz4NCiAgICAgICAgPHBhdGggZD0ibTEzLjU4NCA1NC42NmE1LjY0MSA1LjY0MSAwIDAgMSAtNS42MzQtNS42MzQgMSAxIDAgMCAxIDIgMCAzLjYzNCAzLjYzNCAwIDAgMCA3LjI2OCAwIDEgMSAwIDAgMSAyIDAgNS42NDEgNS42NDEgMCAwIDEgLTUuNjM0IDUuNjM0eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",Chandelier:Ile,Climate:hle,"Coffee Makers":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTQ2NiAxMTEuOTk2aC00OS43MTlsLTEwOS4yMTUtNDYuMzYxIDQuODg5LTU0Ljc0NmMuMjUtMi43OTYtLjY4Ny01LjU2OC0yLjU4Mi03LjYzOS0xLjg5NC0yLjA3LTQuNTcyLTMuMjUtNy4zNzgtMy4yNWgtNjBjLTIuODA3IDAtNS40ODQgMS4xOC03LjM3OSAzLjI1LTEuODk1IDIuMDcxLTIuODMxIDQuODQzLTIuNTgyIDcuNjM5bDQuODk4IDU0Ljg1NC0xMDQuNzk1IDQ2LjI1M2gtMjYuMTM3Yy0zOC41OTggMC03MCAzMS40MDItNzAgNzB2NjkuOTk3YzAgMTYuNTQyIDEzLjQ1OCAzMCAzMCAzMHMzMC0xMy40NTggMzAtMzB2LTY5Ljk5N2MwLTUuNDIgNC41OC0xMCAxMC0xMGgyNi45MTVsMjEuNDgzIDEyMS43MzhjMS45MjcgMTAuOTIzIDkuOTA0IDE4LjI2MyAxOS44NDggMTguMjYzdjQwLjAwM2MtOS42NTIgMC0xNy4yMTcgNi44MDItMTkuNzQ0IDE3Ljc1MWwtMzAuMDAxIDEzMGMtLjY4NSAyLjk2OS4wMjEgNi4wODkgMS45MTggOC40NzRzNC43NzggMy43NzQgNy44MjYgMy43NzRoMjgwYzMuMDQ3IDAgNS45MjktMS4zOSA3LjgyNi0zLjc3NCAxLjg5Ny0yLjM4NSAyLjYwNC01LjUwNSAxLjkxOC04LjQ3NGwtMzAuMDAxLTEzMGMtMi41MjUtMTAuOTQ5LTEwLjA5MS0xNy43NTEtMTkuNzQzLTE3Ljc1MXYtNDAuMDAyYzkuOTQ0IDAgMTcuOTItNy4zMzkgMTkuODQ3LTE4LjI2MmwxNC4zODEtODEuNDkyIDY0LjA1Ni01NS4yMzZjMi4yMDMtMS44OTkgMy40Ny00LjY2NSAzLjQ3LTcuNTczdi0yNy40MzhjLjAwMS01LjUyNC00LjQ3Ny0xMC4wMDEtOS45OTktMTAuMDAxem0tMTc0LjkzOC05MS45OTYtMy43NSA0MS45OTZoLTMwLjYzNGwtMy43NTEtNDEuOTk2em0tNDEuNDIzIDYxLjk5Nmg0NC43ODVsNzAuNjcyIDMwaC0xODMuNDI4em0tMTQzLjYzOSA3MC4wMDFjLTE2LjU0MiAwLTMwIDEzLjQ1OC0zMCAzMHY2OS45OTdjMCA1LjUxNC00LjQ4NiAxMC0xMCAxMHMtMTAtNC40ODYtMTAtMTB2LTY5Ljk5N2MwLTI3LjU3IDIyLjQzLTUwIDUwLTUwaDE5Ljg1NmwzLjUzIDIwem02OC4wOTQgMTM4LjI2My0yNy45MjktMTU4LjI2NGg2Mi43NjJsMi41MjggMzUuODE3Yy4zNzIgNS4yNyA0Ljc2MiA5LjI5NiA5Ljk2NSA5LjI5Ni4yMzYgMCAuNDc1LS4wMDguNzE0LS4wMjUgNS41MDktLjM4OSA5LjY2LTUuMTcgOS4yNzEtMTAuNjc5bC0yLjQyOS0zNC40MDloOTAuNTM5bC0xMS4yOTUgMTYwLjAwMmgtNjcuOTQ5bC0yLjUyOS0zNS44MTdjLS4zODktNS41MDktNS4xNjYtOS42NjEtMTAuNjc5LTkuMjcxLTUuNTA5LjM4OS05LjY2IDUuMTctOS4yNzEgMTAuNjc5bDIuNDI5IDM0LjQwOWgtNDUuNTE4Yy0uMTk5LS4zMjEtLjQ2My0uOTE0LS42MDktMS43Mzh6bS0uMTAzIDgzLjk4OGMuMjU5LTEuMTI1LjYxLTEuODU3Ljg1My0yLjI0OWg0NS4zNmwtMTEuMDc3IDEyMGgtNjIuMzF6bTEzNC4yMTItMi4yNDggMTEuMDc3IDEyMGgtOTAuMDY5bDExLjA3Ny0xMjB6bTY2LjI5NyAyLjI0OCAyNy4xNzUgMTE3Ljc1MmgtNjIuMzFsLTExLjA3Ny0xMjBoNDUuMzZjLjI0My4zOTEuNTkzIDEuMTIzLjg1MiAyLjI0OHptLTIwLjI1NS0yMi4yNDhoLTE1OS45OTh2LTQwLjAwMmgxNTkuOTk4em0yMC4xNTEtNjEuNzRjLS4xNDYuODI0LS40MDkgMS40MTctLjYwOCAxLjczN2gtNDUuNTE4bDExLjI5NS0xNjAuMDAxaDYyLjc2MmwtMTIuOTM3IDczLjMwOWMwIC4wMDEgMCAuMDAyLS4wMDEuMDAzem04MS42MDQtMTQ1LjQwNy00Mi4wMjkgMzYuMjQyIDguNjY1LTQ5LjA5OWgzMy4zNjR6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yMjQuNTk5IDIyMS45OTdjNS41MjMgMCAxMC00LjQ3NyAxMC0xMHMtNC40NzctMTAtMTAtMTBoLS4wMDdjLTUuNTIzIDAtOS45OTYgNC40NzctOS45OTYgMTBzNC40OCAxMCAxMC4wMDMgMTB6Ii8+DQogICAgPC9nPg0KPC9zdmc+","Cold Water":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ3NSA0NzUiID4NCjxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQoJPHBhdGggZD0iTTQzOC40MTMsMzQzLjE4OEM0MjguMDU5LDMzNS4wODUsNDE1LjE3NCwzMjUsMzkwLjgzNSwzMjVjLTI0LjMzOSwwLTM3LjIyNCwxMC4wODUtNDcuNTc3LDE4LjE4OA0KCQlDMzM0LjQ5NiwzNTAuMDQ1LDMyOC4xNjUsMzU1LDMxNC4xNywzNTVjLTEzLjk5NCwwLTIwLjMyNS00Ljk1NS0yOS4wODctMTEuODEzQzI3NC43MjksMzM1LjA4NSwyNjEuODQ0LDMyNSwyMzcuNTA2LDMyNQ0KCQljLTI0LjMzOSwwLTM3LjIyNCwxMC4wODUtNDcuNTc4LDE4LjE4OEMxODEuMTY2LDM1MC4wNDUsMTc0LjgzNCwzNTUsMTYwLjg0LDM1NWMtMTMuOTk2LDAtMjAuMzI3LTQuOTU1LTI5LjA5LTExLjgxMw0KCQlDMTIxLjM5NSwzMzUuMDg0LDEwOC41MDksMzI1LDg0LjE3LDMyNWMtMjQuMzM5LDAtMzcuMjI1LDEwLjA4NC00Ny41NzksMTguMTg4QzI3LjgyOCwzNTAuMDQ1LDIxLjQ5NiwzNTUsNy41LDM1NXYzMA0KCQljMjQuMzM5LDAsMzcuMjI1LTEwLjA4NCw0Ny41NzktMTguMTg4QzYzLjg0MiwzNTkuOTU1LDcwLjE3NCwzNTUsODQuMTcsMzU1YzEzLjk5NiwwLDIwLjMyNyw0Ljk1NSwyOS4wOTEsMTEuODEzDQoJCUMxMjMuNjE1LDM3NC45MTYsMTM2LjUsMzg1LDE2MC44NCwzODVjMjQuMzM4LDAsMzcuMjI0LTEwLjA4NCw0Ny41NzgtMTguMTg4QzIxNy4xOCwzNTkuOTU1LDIyMy41MTEsMzU1LDIzNy41MDYsMzU1DQoJCWMxMy45OTQsMCwyMC4zMjUsNC45NTUsMjkuMDg3LDExLjgxM0MyNzYuOTQ3LDM3NC45MTUsMjg5LjgzMywzODUsMzE0LjE3LDM4NWMyNC4zMzgsMCwzNy4yMjQtMTAuMDg1LDQ3LjU3Ny0xOC4xODgNCgkJQzM3MC41MSwzNTkuOTU1LDM3Ni44NDEsMzU1LDM5MC44MzUsMzU1YzEzLjk5NSwwLDIwLjMyNSw0Ljk1NSwyOS4wODgsMTEuODEzQzQzMC4yNzcsMzc0LjkxNSw0NDMuMTYyLDM4NSw0NjcuNSwzODV2LTMwDQoJCUM0NTMuNTA2LDM1NSw0NDcuMTc1LDM1MC4wNDUsNDM4LjQxMywzNDMuMTg4eiIvPg0KCTxwYXRoIGQ9Ik0zOTAuODM1LDQxNWMtMjQuMzM4LDAtMzcuMjI0LDEwLjA4NS00Ny41NzcsMTguMTg4QzMzNC40OTYsNDQwLjA0NSwzMjguMTY1LDQ0NSwzMTQuMTcsNDQ1DQoJCWMtMTMuOTk0LDAtMjAuMzI1LTQuOTU1LTI5LjA4Ny0xMS44MTNDMjc0LjcyOSw0MjUuMDg1LDI2MS44NDQsNDE1LDIzNy41MDYsNDE1Yy0yNC4zMzksMC0zNy4yMjQsMTAuMDg1LTQ3LjU3OCwxOC4xODgNCgkJQzE4MS4xNjYsNDQwLjA0NSwxNzQuODM0LDQ0NSwxNjAuODQsNDQ1Yy0xMy45OTYsMC0yMC4zMjctNC45NTUtMjkuMDktMTEuODEzQzEyMS4zOTUsNDI1LjA4NCwxMDguNTA5LDQxNSw4NC4xNyw0MTUNCgkJYy0yNC4zMzksMC0zNy4yMjUsMTAuMDg0LTQ3LjU3OSwxOC4xODhDMjcuODI4LDQ0MC4wNDUsMjEuNDk2LDQ0NSw3LjUsNDQ1djMwYzI0LjMzOSwwLDM3LjIyNS0xMC4wODQsNDcuNTc5LTE4LjE4OA0KCQlDNjMuODQyLDQ0OS45NTUsNzAuMTc0LDQ0NSw4NC4xNyw0NDVjMTMuOTk2LDAsMjAuMzI3LDQuOTU1LDI5LjA5MSwxMS44MTNDMTIzLjYxNSw0NjQuOTE2LDEzNi41LDQ3NSwxNjAuODQsNDc1DQoJCWMyNC4zMzgsMCwzNy4yMjQtMTAuMDg0LDQ3LjU3OC0xOC4xODhDMjE3LjE4LDQ0OS45NTUsMjIzLjUxMSw0NDUsMjM3LjUwNiw0NDVjMTMuOTk0LDAsMjAuMzI1LDQuOTU1LDI5LjA4NywxMS44MTMNCgkJQzI3Ni45NDcsNDY0LjkxNSwyODkuODMzLDQ3NSwzMTQuMTcsNDc1YzI0LjMzOCwwLDM3LjIyNC0xMC4wODUsNDcuNTc3LTE4LjE4OEMzNzAuNTEsNDQ5Ljk1NSwzNzYuODQxLDQ0NSwzOTAuODM1LDQ0NQ0KCQljMTMuOTk1LDAsMjAuMzI1LDQuOTU1LDI5LjA4OCwxMS44MTNDNDMwLjI3Nyw0NjQuOTE1LDQ0My4xNjIsNDc1LDQ2Ny41LDQ3NXYtMzBjLTEzLjk5NCwwLTIwLjMyNS00Ljk1NS0yOS4wODctMTEuODEzDQoJCUM0MjguMDU5LDQyNS4wODUsNDE1LjE3NCw0MTUsMzkwLjgzNSw0MTV6Ii8+DQoJPHBvbHlnb24gcG9pbnRzPSIxODQuMzc4LDI1OC4zMjMgMjIyLjUsMjM2LjMxMyAyMjIuNSwyODAuMzMzIDI1Mi41LDI4MC4zMzMgMjUyLjUsMjM2LjMxMyAyOTAuNjIyLDI1OC4zMjMgMzA1LjYyMiwyMzIuMzQzDQoJCTI2Ny41LDIxMC4zMzMgMzA1LjYyMiwxODguMzIzIDI5MC42MjIsMTYyLjM0MyAyNTIuNSwxODQuMzUzIDI1Mi41LDE0MC4zMzMgMjIyLjUsMTQwLjMzMyAyMjIuNSwxODQuMzUzIDE4NC4zNzgsMTYyLjM0Mw0KCQkxNjkuMzc4LDE4OC4zMjMgMjA3LjUsMjEwLjMzMyAxNjkuMzc4LDIzMi4zNDMgCQkJIi8+DQoJPHBvbHlnb24gcG9pbnRzPSIyNC4wOTUsMTE3Ljk5IDYyLjIxNiw5NS45OCA2Mi4yMTYsMTQwIDkyLjIxNiwxNDAgOTIuMjE2LDk1Ljk4IDEzMC4zMzgsMTE3Ljk5IDE0NS4zMzgsOTIuMDEgMTA3LjIxNiw3MA0KCQkxNDUuMzM4LDQ3Ljk5IDEzMC4zMzgsMjIuMDEgOTIuMjE2LDQ0LjAyIDkyLjIxNiwwIDYyLjIxNiwwIDYyLjIxNiw0NC4wMiAyNC4wOTUsMjIuMDEgOS4wOTUsNDcuOTkgNDcuMjE3LDcwIDkuMDk1LDkyLjAxDQoJCSIvPg0KCTxwb2x5Z29uIHBvaW50cz0iMzQ0LjY2MiwxMTcuOTkgMzgyLjc4NCw5NS45OCAzODIuNzg0LDE0MCA0MTIuNzg0LDE0MCA0MTIuNzg0LDk1Ljk4IDQ1MC45MDUsMTE3Ljk5IDQ2NS45MDUsOTIuMDEgNDI3Ljc4Myw3MA0KCQk0NjUuOTA1LDQ3Ljk5IDQ1MC45MDUsMjIuMDEgNDEyLjc4NCw0NC4wMiA0MTIuNzg0LDAgMzgyLjc4NCwwIDM4Mi43ODQsNDQuMDIgMzQ0LjY2MiwyMi4wMSAzMjkuNjYyLDQ3Ljk5IDM2Ny43ODQsNzANCgkJMzI5LjY2Miw5Mi4wMSAJCQkiLz4NCjwvZz4NCjwvc3ZnPg0K",Computer:wle,Consumption:Cle,Curtains:Ale,Dishwashers:mle,Doors:ple,Doorstep:Ole,Dryer:Ele,Fan:_le,"Floor Lamps":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTM3Ny4wMTggMTA0LjQtNTQuODYxLTkzLjQxNmMtMy45OC02Ljc3NS0xMS4zMzQtMTAuOTg0LTE5LjE5MS0xMC45ODRoLTkxLjY1NWMtNy42OTcgMC0xNC45NzMgNC4wNzktMTguOTg3IDEwLjY0NGwtNTcuMTM1IDkzLjQxNGMtOS4wNTUgMTQuODAzIDEuNjI2IDMzLjg3IDE4Ljk4NyAzMy44N2gyOC4xODJjMi4yMjIgMzMuNDUyIDI2LjgwOCA2MC44ODQgNTguOTE2IDY3LjQxLS4yNzQgMS44MjYtLjE4NC0xMy41MS0uMTg0IDIxNy4xOTVoLTM3LjQ4NGMtMTEuODk4IDAtMjEuNTc5IDkuNjgtMjEuNTc5IDIxLjU3OXY0Ni4zMWMwIDExLjg5OCA5LjY4IDIxLjU3OSAyMS41NzkgMjEuNTc5aDEwNC43OWMxMS44OTkgMCAyMS41NzktOS42OCAyMS41NzktMjEuNTc5di00Ni4zMWMwLTExLjg5OC05LjY4LTIxLjU3OS0yMS41NzktMjEuNTc5aC0zNy40ODRjMC0yMzAuNzY2LjA5LTIxNS4zNy0uMTg0LTIxNy4xOTUgMjIuMDI1LTQuNDc2IDQwLjUwNS0xOC43OTUgNTAuNjY2LTM4LjE0MXYzNy42MzFjMCA4LjIzNSA2LjY3NiAxNC45MTEgMTQuOTExIDE0LjkxMXMxNC45MTEtNi42NzYgMTQuOTExLTE0LjkxMXYtNjYuOWg2LjYxYzE3LjE2NiAwIDI3Ljg5My0xOC43MDggMTkuMTkyLTMzLjUyOHptLTc2Ljg2NiAzNzcuNzc4aC04OC4zMDJ2LTI5LjgyMmg4OC4zMDJ6bS04NC41OTktNDUyLjM1Nmg4My4wODNsNDUuOTc0IDc4LjI4NGMtNy4wNjEgMC0xNjkuOTAzIDAtMTc2LjkzOCAwem00MC40NDcgMTQ3LjE3MmMtMjIuNTk1IDAtNDEuMjY3LTE3LjExNy00My43MjktMzkuMDY2aDg3LjQ1OGMtMi40NjIgMjEuOTQ5LTIxLjEzNCAzOS4wNjYtNDMuNzI5IDM5LjA2NnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=","Garage Doors":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ4MCA0ODAiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik00NzIsNjRjNC40MTgsMCw4LTMuNTgyLDgtOFY4YzAtNC40MTgtMy41ODItOC04LThIOEMzLjU4MiwwLDAsMy41ODIsMCw4djQ4YzAsNC40MTgsMy41ODIsOCw4LDhoMTZ2NDAwSDgNCgkJYy00LjQxOCwwLTgsMy41ODItOCw4czMuNTgyLDgsOCw4aDQ2NGM0LjQxOCwwLDgtMy41ODIsOC04cy0zLjU4Mi04LTgtOGgtMTZWNjRINDcyeiBNNDA4LDQ2NEg3MnYtNDhoMzM2VjQ2NHogTTQwOCw0MDBINzJ2LTQ4DQoJCWgzMzZWNDAweiBNNDA4LDMzNkg3MnYtNDhoMzM2VjMzNnogTTQwOCwyNzJINzJ2LTQ4aDMzNlYyNzJ6IE00MDgsMjA4SDcydi00OGgzMzZWMjA4eiBNNDA4LDE0NEg3MlY5NmgzMzZWMTQ0eiBNNDQwLDQ2NGgtMTZWODgNCgkJYzAtNC40MTgtMy41ODItOC04LThINjRjLTQuNDE4LDAtOCwzLjU4Mi04LDh2Mzc2SDQwVjY0aDQwMFY0NjR6IE0xNiw0OFYxNmg0NDh2MzJIMTZ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0yMTYsNDU2aDQ4YzQuNDE4LDAsOC0zLjU4Miw4LThzLTMuNTgyLTgtOC04aC00OGMtNC40MTgsMC04LDMuNTgyLTgsOFMyMTEuNTgyLDQ1NiwyMTYsNDU2eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",Gates:fle,Hairdryer:Sle,Handle:xle,"Hanging Lamps":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTkzLjUyNSAzNTkuNzcxaDEwNy44ODV2NC4xMjlhNTMuMDcyIDUzLjA3MiAwIDEgMCAxMDYuMTQ0IDB2LTQuMTI0aDExMC45MjFhNiA2IDAgMCAwIDYtNmMwLTgyLjAxNS01OC45MTMtMTUwLjUxOC0xMzYuNjQtMTY1LjQ0NHYtMjAuMzE5YTMxLjg4MyAzMS44ODMgMCAwIDAgLTI1LjgzNS0zMS4yNnYtMTIwLjc1M2E2IDYgMCAwIDAgLTEyIDB2MTIwLjc1M2EzMS44ODMgMzEuODgzIDAgMCAwIC0yNS44MzUgMzEuMjZ2MjAuMzE0Yy03Ny43MjcgMTQuOTI2LTEzNi42NCA4My40MjktMTM2LjY0IDE2NS40NDRhNiA2IDAgMCAwIDYgNnptMjAyLjAyOSA0LjEyOWE0MS4wNzIgNDEuMDcyIDAgMSAxIC04Mi4xNDQgMHYtNC4xMjRoODIuMTQ0em0tMzkuNTU0LTIxNS43MjJhMTkuODUxIDE5Ljg1MSAwIDAgMSAxOS4xOCAxNC44NjhoLTM4LjM2YTE5Ljg1MSAxOS44NTEgMCAwIDEgMTkuMTgtMTQuODY4em0tMTkuODM1IDI2Ljg2OGgzOS42N3YxMS40MjRhMTY4LjI4OCAxNjguMjg4IDAgMCAwIC0zOS42NyAwem0xOS44MzUgMjIuMjU0Yzg0LjI3NCAwIDE1My4yIDY2Ljk2IDE1Ni4zNjEgMTUwLjQ3NGgtMzEyLjcyMmMzLjE2MS04My41MTcgNzIuMDg3LTE1MC40NzQgMTU2LjM2MS0xNTAuNDc0eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjUwIDQ1NS41MDh2NDAuNDkyYTYgNiAwIDAgMCAxMiAwdi00MC40OTJhNiA2IDAgMCAwIC0xMiAweiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzAzLjQyMiA0MzEuNDg4YTYgNiAwIDAgMCAtLjA3NSA4LjQ4NWwyOC4zNDQgMjguODUxYTYgNiAwIDAgMCA4LjU2MS04LjQxbC0yOC4zNDQtMjguODUxYTYgNiAwIDAgMCAtOC40ODYtLjA3NXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTIwMC4wOTIgNDMxLjU2My0yOC4zNDQgMjguODUxYTYgNiAwIDAgMCA4LjU2MSA4LjQxbDI4LjM0NC0yOC44NTFhNiA2IDAgMCAwIC04LjU2MS04LjQxeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTg2Ljc1IDIzNi44MWExNjguNzMxIDE2OC43MzEgMCAwIDAgLTQ1LjkyNyA0OC4xNDMgNiA2IDAgMSAwIDEwLjE0MSA2LjQxNyAxNTYuNzgxIDE1Ni43ODEgMCAwIDEgNDIuNjc3LTQ0LjczNiA2IDYgMCAwIDAgLTYuODkxLTkuODI0eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",Heater:kle,Hoods:Yle,"Hot Water":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMCA1MTAiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTQ5NSAyNDEuOTAyYy0xOC4yMjMgMC0zMy4zNTgtNS45MzctNDUuMDkyLTE3LjYydi0xNDkuMzU0YzAtNDEuMzE1LTMzLjYxMy03NC45MjgtNzQuOTI5LTc0LjkyOHMtNzQuOTI4IDMzLjYxMy03NC45MjggNzQuOTI4djE0OS4zOTVjLTI0LjI1NCAyNC4xMDctNjkuNDc2IDI0LjQxNS05My42NjMtMy44MDMtNS45ODEtNi45NzgtMTYuNzkzLTYuOTgyLTIyLjc3NyAwLTI0LjU4NiAyOC42ODUtNzIuNTM4IDI4Ljc5OC05Ny4yMjMgMC02LjMyMi03LjM3OC0xNy44NjctNi44NjctMjMuNTM3Ljk2My0uMTQ4LjIwNC0xNS42ODggMjAuNDE4LTQ3Ljg1MiAyMC40MTgtOC4yODQgMC0xNSA2LjcxNi0xNSAxNXM2LjcxNiAxNSAxNSAxNWMyOC42MzIgMCA0OC40ODktMTEuMjggNjAuMDI3LTIwLjYyNCAzMy40NDcgMjcuNjE1IDg2LjUxMiAyNy42MjUgMTE5Ljk3My0uMDIyIDMwLjE5MSAyNC45NDQgNzQuMzYyIDI2LjE3OSAxMDUuMDUyIDkuOTU3djQwLjQ3MWMtMjcuOTg0IDIzLjEzMS00My44MTEgNTcuODc4LTQyLjY1OCA5NC40NTMgMS45NzQgNjIuNzI4IDUzLjc0MyAxMTMuODY0IDExNy41ODYgMTEzLjg2NCA2NC44NzEgMCAxMTcuNjQ3LTUyLjc3NiAxMTcuNjQ3LTExNy42NDYgMC0zNS4wNy0xNS44MzctNjguNDA2LTQyLjcxOS05MC42NjZ2LTQwLjQ5N2MxMy4zMjUgNy4wNTIgMjguNTE3IDEwLjcxIDQ1LjA5MiAxMC43MSA4LjI4NCAwIDE1LTYuNzE2IDE1LTE1cy02LjcxNS0xNC45OTktMTQuOTk5LTE0Ljk5OXptLTEyMC4wMi0yMTEuOTAyYzI0Ljc3MyAwIDQ0LjkyOCAyMC4xNTUgNDQuOTI4IDQ0LjkyOHYxNDkuNTM3Yy04LjMxNCA4LjIxMS0xOC4zMjcgMTMuNTUxLTI5LjkyOSAxNS45NTN2LTE0My45NTdjMC04LjI4NC02LjcxNi0xNS0xNS0xNXMtMTUgNi43MTYtMTUgMTV2MTQzLjk0N2MtMTEuNjAzLTIuNDA5LTIxLjYxNS03Ljc1OS0yOS45MjgtMTUuOTgzdi0xNDkuNDk3Yy4wMDEtMjQuNzczIDIwLjE1Ni00NC45MjggNDQuOTI5LTQ0LjkyOHptLS4wMDEgMzQzLjUwNGMxMC41MzIgMCAxOS4xMDEgOC41NjggMTkuMTAxIDE5LjFzLTguNTY4IDE5LjEtMTkuMTAxIDE5LjFjLTEwLjUzMSAwLTE5LjEtOC41NjgtMTkuMS0xOS4xczguNTY5LTE5LjEgMTkuMS0xOS4xem04Ny42NDggMTguODVjMCA0OC4zMjktMzkuMzE4IDg3LjY0Ni04Ny42NDcgODcuNjQ2LTQ2LjgzMSAwLTg2LjEyOS0zOC4wNDQtODcuNjAyLTg0LjgwOC0uOTItMjkuMjE4IDEyLjcwNC01Ni44NzUgMzYuNDQzLTczLjk4MSAzLjkxMi0yLjgxOSA2LjIzLTcuMzQ3IDYuMjMtMTIuMTY5di00Ny43NzRjOS4xNDggNC44MiAxOS4xNzcgOC4wMzMgMjkuOTI4IDkuNTY4djc1LjAyYy0xOS43NTggNi4zNTUtMzQuMSAyNC45MDUtMzQuMSA0Ni43NDggMCAyNy4wNzQgMjIuMDI2IDQ5LjEgNDkuMSA0OS4xczQ5LjEwMS0yMi4wMjYgNDkuMTAxLTQ5LjFjMC0yMS44NDMtMTQuMzQyLTQwLjM5My0zNC4xMDEtNDYuNzQ4di03NS4wMTRjMTAuNzUtMS41MzEgMjAuNzgtNC43MzggMjkuOTI5LTkuNTUydjQ3Ljc1M2MwIDQuODIyIDIuMzE4IDkuMzUxIDYuMjMgMTIuMTY5IDIyLjg0OCAxNi40NjMgMzYuNDg5IDQzLjA1OSAzNi40ODkgNzEuMTQyeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTc4LjE5IDMwOC4zMzJjLTI0LjgxMyAwLTQ1IDIwLjE4Ny00NSA0NXMyMC4xODcgNDUgNDUgNDUgNDUtMjAuMTg3IDQ1LTQ1LTIwLjE4Ni00NS00NS00NXptMCA2MGMtOC4yNzEgMC0xNS02LjcyOS0xNS0xNXM2LjcyOS0xNSAxNS0xNSAxNSA2LjcyOSAxNSAxNS02LjcyOCAxNS0xNSAxNXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTczLjg1NyAzNzkuMTE3Yy0yNC44MTMgMC00NSAyMC4xODctNDUgNDVzMjAuMTg3IDQ1IDQ1IDQ1IDQ1LTIwLjE4NyA0NS00NS0yMC4xODYtNDUtNDUtNDV6bTAgNjBjLTguMjcxIDAtMTUtNi43MjktMTUtMTVzNi43MjktMTUgMTUtMTUgMTUgNi43MjkgMTUgMTUtNi43MjggMTUtMTUgMTV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im02NC44NjMgMTU0LjE0M2MtNS44NTggNS44NTgtNS44NTggMTUuMzU1IDAgMjEuMjEzIDUuODU3IDUuODU3IDE1LjM1NSA1Ljg1OCAyMS4yMTMgMCAyMS4wNDYtMjEuMDQ2IDIxLjA0Ni01NS4yOTEgMC03Ni4zMzgtOS4zNzEtOS4zNy05LjM3My0yNC41MzkgMC0zMy45MTEgNS44NTgtNS44NTggNS44NTgtMTUuMzU1IDAtMjEuMjEzLTUuODU3LTUuODU4LTE1LjM1NS01Ljg1Ny0yMS4yMTMgMC0yMS4wOTYgMjEuMDk2LTIxLjA5OCA1NS4yNDEgMCA3Ni4zMzggOS4zNDkgOS4zNDkgOS4zNDkgMjQuNTYxIDAgMzMuOTExeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTQyLjI1MSAxNTQuMTQzYy01Ljg1OCA1Ljg1OC01Ljg1OCAxNS4zNTUgMCAyMS4yMTMgNS44NTcgNS44NTggMTUuMzU0IDUuODU4IDIxLjIxMyAwIDIxLjA5Ny0yMS4wOTcgMjEuMDk4LTU1LjI0IDAtNzYuMzM5LTkuMzcxLTkuMzctOS4zNzMtMjQuNTM5IDAtMzMuOTExIDUuODU4LTUuODU4IDUuODU4LTE1LjM1NSAwLTIxLjIxMy01Ljg1Ni01Ljg1OC0xNS4zNTQtNS44NTctMjEuMjEzIDAtMjEuMDk2IDIxLjA5Ni0yMS4wOTggNTUuMjQxIDAgNzYuMzM4IDkuMzcxIDkuMzcxIDkuMzczIDI0LjUzOSAwIDMzLjkxMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTIxOS42MzkgMTU0LjE0M2MtNS44NTggNS44NTgtNS44NTggMTUuMzU1IDAgMjEuMjEzIDUuODU3IDUuODU4IDE1LjM1NCA1Ljg1OCAyMS4yMTMgMCAyMS4wOTctMjEuMDk3IDIxLjA5OC01NS4yNCAwLTc2LjMzOS05LjM3MS05LjM3LTkuMzczLTI0LjUzOSAwLTMzLjkxMSA1Ljg1OC01Ljg1OCA1Ljg1OC0xNS4zNTUgMC0yMS4yMTMtNS44NTYtNS44NTgtMTUuMzU0LTUuODU3LTIxLjIxMyAwLTIxLjA5NiAyMS4wOTYtMjEuMDk4IDU1LjI0MSAwIDc2LjMzOCA5LjM3IDkuMzcxIDkuMzczIDI0LjUzOSAwIDMzLjkxMnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",Humidity:Qle,Iron:Ule,Irrigation:vle,"Led Strip":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im0xNiAxOGEzIDMgMCAxIDAgLTMtMyAzIDMgMCAwIDAgMyAzem0wLTRhMSAxIDAgMSAxIC0xIDEgMSAxIDAgMCAxIDEtMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTE2IDI2YTMgMyAwIDEgMCAtMy0zIDMgMyAwIDAgMCAzIDN6bTAtNGExIDEgMCAxIDEgLTEgMSAxIDEgMCAwIDEgMS0xeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTYgNDJhMyAzIDAgMSAwIC0zLTMgMyAzIDAgMCAwIDMgM3ptMC00YTEgMSAwIDEgMSAtMSAxIDEgMSAwIDAgMSAxLTF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xNiA1MGEzIDMgMCAxIDAgLTMtMyAzIDMgMCAwIDAgMyAzem0wLTRhMSAxIDAgMSAxIC0xIDEgMSAxIDAgMCAxIDEtMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTE2IDU4YTMgMyAwIDEgMCAtMy0zIDMgMyAwIDAgMCAzIDN6bTAtNGExIDEgMCAxIDEgLTEgMSAxIDEgMCAwIDEgMS0xeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTYgMzRhMyAzIDAgMSAwIC0zLTMgMyAzIDAgMCAwIDMgM3ptMC00YTEgMSAwIDEgMSAtMSAxIDEgMSAwIDAgMSAxLTF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xMiA2Mmg4YTEgMSAwIDAgMCAxLTF2LTQ5aDZ2NDFhMSAxIDAgMCAwIC4yOTMuNzA3bDggOGExIDEgMCAwIDAgLjcwNy4yOTNoOGExIDEgMCAwIDAgLjcwNy0uMjkzbDgtOGExIDEgMCAwIDAgLjI5My0uNzA3di01MGExIDEgMCAwIDAgLTEtMWgtOGExIDEgMCAwIDAgLTEgMXY0OWgtNnYtNDlhMSAxIDAgMCAwIC0xLTFoLTE2YTEgMSAwIDAgMCAtLjcwNy4yOTNsLTggOGExIDEgMCAwIDAgLS4yOTMuNzA3djUwYTEgMSAwIDAgMCAxIDF6bTMzLTEzdi00NWg2djQ4LjU4NmwtNiA2em0tOCA1aDZ2NmgtNnptLTgtNXYtNDVoNnY1NC41ODZsLTYtNnptLTgtNDVoNnY2aC02em0tOCA1MXYtNDMuNTg2bDYtNnY1NC41ODZoLTZ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00OCA1MmEzIDMgMCAxIDAgLTMtMyAzIDMgMCAwIDAgMyAzem0wLTRhMSAxIDAgMSAxIC0xIDEgMSAxIDAgMCAxIDEtMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ4IDQ0YTMgMyAwIDEgMCAtMy0zIDMgMyAwIDAgMCAzIDN6bTAtNGExIDEgMCAxIDEgLTEgMSAxIDEgMCAwIDEgMS0xeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNDggMjhhMyAzIDAgMSAwIC0zLTMgMyAzIDAgMCAwIDMgM3ptMC00YTEgMSAwIDEgMSAtMSAxIDEgMSAwIDAgMSAxLTF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00OCAyMGEzIDMgMCAxIDAgLTMtMyAzIDMgMCAwIDAgMyAzem0wLTRhMSAxIDAgMSAxIC0xIDEgMSAxIDAgMCAxIDEtMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ4IDEyYTMgMyAwIDEgMCAtMy0zIDMgMyAwIDAgMCAzIDN6bTAtNGExIDEgMCAxIDEgLTEgMSAxIDEgMCAwIDEgMS0xeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNDggMzZhMyAzIDAgMSAwIC0zLTMgMyAzIDAgMCAwIDMgM3ptMC00YTEgMSAwIDEgMSAtMSAxIDEgMSAwIDAgMSAxLTF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zMiA1MmEzIDMgMCAxIDAgLTMtMyAzIDMgMCAwIDAgMyAzem0wLTRhMSAxIDAgMSAxIC0xIDEgMSAxIDAgMCAxIDEtMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTMyIDQ0YTMgMyAwIDEgMCAtMy0zIDMgMyAwIDAgMCAzIDN6bTAtNGExIDEgMCAxIDEgLTEgMSAxIDEgMCAwIDEgMS0xeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzIgMjhhMyAzIDAgMSAwIC0zLTMgMyAzIDAgMCAwIDMgM3ptMC00YTEgMSAwIDEgMSAtMSAxIDEgMSAwIDAgMSAxLTF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zMiAyMGEzIDMgMCAxIDAgLTMtMyAzIDMgMCAwIDAgMyAzem0wLTRhMSAxIDAgMSAxIC0xIDEgMSAxIDAgMCAxIDEtMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTMyIDEyYTMgMyAwIDEgMCAtMy0zIDMgMyAwIDAgMCAzIDN6bTAtNGExIDEgMCAxIDEgLTEgMSAxIDEgMCAwIDEgMS0xeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzIgMzZhMyAzIDAgMSAwIC0zLTMgMyAzIDAgMCAwIDMgM3ptMC00YTEgMSAwIDEgMSAtMSAxIDEgMSAwIDAgMSAxLTF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yMyA2aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM5IDU2aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQgMzFoNXYyaC01eiIvPg0KICAgICAgICA8cGF0aCBkPSJtNiAyNWgydjVoLTJ6IiB0cmFuc2Zvcm09Im1hdHJpeCguNiAtLjggLjggLjYgLTE5LjIgMTYuNikiLz4NCiAgICAgICAgPHBhdGggZD0ibTQuNSAzNS41aDV2MmgtNXoiIHRyYW5zZm9ybT0ibWF0cml4KC44IC0uNiAuNiAuOCAtMjAuNTA1IDExLjUwNSkiLz4NCiAgICAgICAgPHBhdGggZD0ibTU1IDMxaDV2MmgtNXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTU0LjUgMjYuNWg1djJoLTV6IiB0cmFuc2Zvcm09Im1hdHJpeCguOCAtLjYgLjYgLjggLTUuMDk4IDM5LjcxMikiLz4NCiAgICAgICAgPHBhdGggZD0ibTU2IDM0aDJ2NWgtMnoiIHRyYW5zZm9ybT0ibWF0cml4KC42IC0uOCAuOCAuNiAtNi40IDYwLjIpIi8+DQogICAgPC9nPg0KPC9zdmc+",Light:ble,Lightings:$le,Lock:Ple,Louvre:Wle,"Mowing Machine":"PHN2ZyB2aWV3Qm94PSIwIDAgNjQgNjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTQ3IDU0YzUuNTE0IDAgMTAtNC40ODYgMTAtMTBzLTQuNDg2LTEwLTEwLTEwLTEwIDQuNDg2LTEwIDEwIDQuNDg2IDEwIDEwIDEwem0tNy45MzEtMTFjLjE4My0xLjQ1OC43NTktMi43OTIgMS42MTktMy44OThsMS4zNjIgMS4zNjMgMS40MTQtMS40MTQtMS4zNjItMS4zNjJjMS4xMDYtLjg2IDIuNDQtMS40MzYgMy44OTgtMS42MTl2MS45M2gydi0xLjkzMWMxLjQ1OC4xODMgMi43OTIuNzU5IDMuODk4IDEuNjE5bC0xLjM2MiAxLjM2MiAxLjQxNCAxLjQxNCAxLjM2Mi0xLjM2M2MuODYgMS4xMDYgMS40MzYgMi40NCAxLjYxOSAzLjg5OGgtMS45MzF2MmgxLjkzMWMtLjE4MyAxLjQ1OC0uNzU5IDIuNzkyLTEuNjE5IDMuODk4bC0xLjM2Mi0xLjM2My0xLjQxNCAxLjQxNCAxLjM2MiAxLjM2MmMtMS4xMDYuODYtMi40NCAxLjQzNi0zLjg5OCAxLjYxOXYtMS45MjloLTJ2MS45MzFjLTEuNDU4LS4xODMtMi43OTItLjc1OS0zLjg5OC0xLjYxOWwxLjM2Mi0xLjM2Mi0xLjQxNC0xLjQxNC0xLjM2MiAxLjM2M2MtLjg2LTEuMTA2LTEuNDM2LTIuNDQtMS42MTktMy44OThoMS45MzF2LTJoLTEuOTMxeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNTcgMjFoLTI0Ljk4Yy0xLjUxMSAwLTIuOTg0LjQyNi00LjI2MiAxLjIyOWwtMjIuMDIxIDEzLjg2NmMtMi4zNCAxLjQ3My0zLjczNyA0LjAwNS0zLjczNyA2Ljc2OXY2LjEzNmMwIC41NTMuNDQ4IDEgMSAxaDMzLjA4OGMuMzQxIDAgLjY1OC0uMTc0Ljg0Mi0uNDYuMTg0LS4yODcuMjA5LS42NDcuMDY3LS45NTctLjc1LTEuNjM1LTEuMDgtMy4zODctLjk3OS01LjIwOC4zMDktNS41OTEgNC45MzYtMTAuMTQ1IDEwLjUzNS0xMC4zNjYgMy4wMjgtLjExNiA1Ljg5Mi45NjcgOC4wNjkgMy4wNiAyLjE3OCAyLjA5MyAzLjM3OCA0LjkxIDMuMzc4IDcuOTMxIDAgLjU1My40NDggMSAxIDFoM2MuNTUyIDAgMS0uNDQ3IDEtMXYtMTdjMC0zLjMwOS0yLjY5MS02LTYtNnptLTI4LjE3NyAyLjkyM2MuOTU5LS42MDQgMi4wNjQtLjkyMyAzLjE5Ny0uOTIzaDEwLjM3bC04LjM5MSA1LjAzNXYtLjAzNWgtMTEuNjUxem0tMjIuMDIgMTMuODY0IDEyLjM2OC03Ljc4N2gxMS41NTJsLTE4LjIzMyAxMC45NGMtMS4xNTcuNjk0LTIuNDggMS4wNi0zLjgyNyAxLjA2aC00LjU5NmMuMjQ4LTEuNzI4IDEuMjI5LTMuMjYzIDIuNzM2LTQuMjEzem01NC4xOTcgNS4yMTNoLTEuMDM4Yy0uMjM5LTMuMTg4LTEuNjIzLTYuMTMyLTMuOTU1LTguMzc0LTIuNTczLTIuNDczLTUuOTYzLTMuNzUtOS41MzQtMy42MTUtNi4xOS4yNDUtMTEuMzc0IDQuOTctMTIuMzE3IDEwLjk4OWgtMTcuMTU2djJoMTcuMDEzYy4wMDIgMS4zNjEuMjAyIDIuNzE1LjYxNSA0aC0zMC42Mjh2LTRoNC42NjNjMS43MDkgMCAzLjM4OS0uNDY1IDQuODU2LTEuMzQ1bDMyLjc1OC0xOS42NTVoMTAuNzIzYzIuMjA2IDAgNCAxLjc5NCA0IDR6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00NyA0OGMyLjIwNiAwIDQtMS43OTQgNC00cy0xLjc5NC00LTQtNC00IDEuNzk0LTQgNCAxLjc5NCA0IDQgNHptMC02YzEuMTAzIDAgMiAuODk3IDIgMnMtLjg5NyAyLTIgMi0yLS44OTctMi0yIC44OTctMiAyLTJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im02LjY1MSAxNS42MzVjLTEuNzU3IDIuMTI1LTEuNDU4IDUuMjgyLjY2NyA3LjA0bDQuNjI0IDMuODIzYy4xODcuMTU0LjQxMi4yMjkuNjM3LjIyOS4yODggMCAuNTczLS4xMjQuNzcxLS4zNjIgMS43NTctMi4xMjUgMS40NTgtNS4yODItLjY2Ny03LjA0bC00LjYyNC0zLjgyM2MtLjQyNi0uMzUyLTEuMDU2LS4yOTItMS40MDguMTMzem01LjY2MiA4LjU3Ni0zLjcyMS0zLjA3N2MtMS4wMDQtLjgzMS0xLjMyOS0yLjE4NS0uOTA1LTMuMzQ1bDMuNzIxIDMuMDc3YzEuMDA1LjgzMSAxLjMyOSAyLjE4NS45MDUgMy4zNDV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yMS40NDUgOS4yMjktNC42MjQgMy44MjNjLTIuMTI1IDEuNzU4LTIuNDI0IDQuOTE2LS42NjcgNy4wNC4xOTguMjM5LjQ4My4zNjIuNzcxLjM2Mi4yMjUgMCAuNDUtLjA3NS42MzctLjIyOWw0LjYyNC0zLjgyM2MyLjEyNS0xLjc1NyAyLjQyNC00LjkxNS42NjctNy4wNC0uMzUyLS40MjQtLjk4My0uNDg0LTEuNDA4LS4xMzN6bS0uNTMzIDUuNjMyLTMuNzIyIDMuMDc4Yy0uMTUyLS40MTUtLjIxMS0uODYzLS4xNjgtMS4zMTYuMDc2LS43OTguNDU4LTEuNTE5IDEuMDc1LTIuMDI5bDMuNzIxLTMuMDc3Yy40MjMgMS4xNi4wOTkgMi41MTMtLjkwNiAzLjM0NHoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",Music:Rle,"Outdoor Blinds":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTQ1NyAwaC00MDJjLTMwLjMyNyAwLTU1IDI0LjY3My01NSA1NXY0NTdoNDMydi00MDguMDM1YzcuNTA3IDMuODQ4IDE2IDYuMDM1IDI1IDYuMDM1IDMwLjMyNyAwIDU1LTI0LjY3MyA1NS01NXMtMjQuNjczLTU1LTU1LTU1em0tNDAyIDMwaDM1My4wMzVjLTMuODQ4IDcuNTA3LTYuMDM1IDE2LTYuMDM1IDI1djdoLTM3MnYtN2MwLTEzLjc4NSAxMS4yMTUtMjUgMjUtMjV6bS0yNSAyNzJ2LTMwaDM3MnYzMHptMzcyIDMwdjMwaC0zNzJ2LTMwem0tMzcyLTkwdi0zMGgzNzJ2MzB6bTAtNjB2LTMwaDM3MnYzMHptMC02MHYtMzBoMzcydjMwem0wIDM2MHYtOTBoMzcydjkwem00MjctNDAyYy0xMy43ODUgMC0yNS0xMS4yMTUtMjUtMjVzMTEuMjE1LTI1IDI1LTI1IDI1IDExLjIxNSAyNSAyNS0xMS4yMTUgMjUtMjUgMjV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im02MCA0MjJoMzB2MzBoLTMweiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzQyIDQyMmgzMHYzMGgtMzB6Ii8+DQogICAgPC9nPg0KPC9zdmc+",People:Jle,Pool:Ble,"Power Consumption":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im0xMiAzYy0uMjc2IDAtLjUtLjIyNC0uNS0uNXYtMmMwLS4yNzYuMjI0LS41LjUtLjVzLjUuMjI0LjUuNXYyYzAgLjI3Ni0uMjI0LjUtLjUuNXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTE4LjcxOCA1Ljc4MmMtLjEyOCAwLS4yNTYtLjA0OS0uMzU0LS4xNDYtLjE5NS0uMTk1LS4xOTUtLjUxMiAwLS43MDdsMS40MTQtMS40MTRjLjE5NS0uMTk1LjUxMi0uMTk1LjcwNyAwcy4xOTUuNTEyIDAgLjcwN2wtMS40MTQgMS40MTRjLS4wOTcuMDk3LS4yMjUuMTQ2LS4zNTMuMTQ2eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjMuNSAxMi41aC0yYy0uMjc2IDAtLjUtLjIyNC0uNS0uNXMuMjI0LS41LjUtLjVoMmMuMjc2IDAgLjUuMjI0LjUuNXMtLjIyNC41LS41LjV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yMC4xMzIgMjAuNjMyYy0uMTI4IDAtLjI1Ni0uMDQ5LS4zNTQtLjE0NmwtMS40MTQtMS40MTRjLS4xOTUtLjE5NS0uMTk1LS41MTIgMC0uNzA3cy41MTItLjE5NS43MDcgMGwxLjQxNCAxLjQxNGMuMTk1LjE5NS4xOTUuNTEyIDAgLjcwNy0uMDk3LjA5Ny0uMjI1LjE0Ni0uMzUzLjE0NnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTEyIDI0Yy0uMjc2IDAtLjUtLjIyNC0uNS0uNXYtMmMwLS4yNzYuMjI0LS41LjUtLjVzLjUuMjI0LjUuNXYyYzAgLjI3Ni0uMjI0LjUtLjUuNXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTMuODY4IDIwLjYzMmMtLjEyOCAwLS4yNTYtLjA0OS0uMzU0LS4xNDYtLjE5NS0uMTk1LS4xOTUtLjUxMiAwLS43MDdsMS40MTQtMS40MTRjLjE5NS0uMTk1LjUxMi0uMTk1LjcwNyAwcy4xOTUuNTEyIDAgLjcwN2wtMS40MTQgMS40MTRjLS4wOTcuMDk3LS4yMjUuMTQ2LS4zNTMuMTQ2eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMi41IDEyLjVoLTJjLS4yNzYgMC0uNS0uMjI0LS41LS41cy4yMjQtLjUuNS0uNWgyYy4yNzYgMCAuNS4yMjQuNS41cy0uMjI0LjUtLjUuNXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTUuMjgyIDUuNzgyYy0uMTI4IDAtLjI1Ni0uMDQ5LS4zNTQtLjE0NmwtMS40MTMtMS40MTRjLS4xOTUtLjE5NS0uMTk1LS41MTIgMC0uNzA3cy41MTItLjE5NS43MDcgMGwxLjQxNCAxLjQxNGMuMTk1LjE5NS4xOTUuNTEyIDAgLjcwNy0uMDk4LjA5Ny0uMjI2LjE0Ni0uMzU0LjE0NnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTEwLjU3MyAyMGMtLjA1OSAwLS4xMTctLjAxLS4xNzUtLjAzMS0uMjE5LS4wODItLjM1Mi0uMzA0LS4zMjEtLjUzNGwuODUzLTYuNDM1aC0zLjQzYy0uMTg5IDAtLjM2Mi0uMTA3LS40NDctLjI3NnMtLjA2Ny0uMzcyLjA0Ny0uNTI0bDYtOGMuMTM5LS4xODYuMzg2LS4yNTIuNTk3LS4xNi4yMTIuMDkxLjMzNS4zMTQuMjk3LjU0MmwtLjkwNCA1LjQxOGgzLjQxYy4xODQgMCAuMzUzLjEwMS40NC4yNjNzLjA3OC4zNTgtLjAyMi41MTNsLTUuOTI3IDljLS4wOTUuMTQzLS4yNTQuMjI0LS40MTguMjI0em0tMi4wNzMtOGgzYy4xNDUgMCAuMjgxLjA2My4zNzYuMTcxLjA5NS4xMDcuMTM5LjI1Mi4xMi4zOTVsLS42NDEgNC44MzggNC4yMTctNi40MDRoLTMuMDcyYy0uMTQ3IDAtLjI4Ni0uMDY0LS4zODItLjE3Ny0uMDk1LS4xMTItLjEzNi0uMjYxLS4xMTEtLjQwNWwuNjYzLTMuOTc4eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",Printer:Gle,Pump:Fle,Receiver:Hle,Sconces:Vle,Security:Zle,Shading:Xle,Shutters:Kle,SmokeDetector:qle,Sockets:eNe,Speaker:tNe,Stove:sNe,"Table Lamps":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTk3LjUgMjIwLjM2MS0xNS45MTQgMTUuOTE0YTYgNiAwIDEgMCA4LjQ4NCA4LjQ4NmwxNS45MTUtMTUuOTE1YTYgNiAwIDEgMCAtOC40ODQtOC40ODV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im05NS41MSAxMTdhNiA2IDAgMCAwIDQuMjQzLTEwLjI0MmwtMTUuOTE0LTE1LjkxNWE2IDYgMCAwIDAgLTguNDg2IDguNDg2bDE1LjkxNCAxNS45MTRhNS45NzggNS45NzggMCAwIDAgNC4yNDMgMS43NTd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yMzUuNSAyNDIuNTA4LTE1LjkxLTE1LjkxNGE2IDYgMCAwIDAgLTguNDg2IDguNDg1bDE1LjkxNCAxNS45MTVhNiA2IDAgMCAwIDguNDg2LTguNDg2eiIvPg0KICAgICAgICA8cGF0aCBkPSJtODYuODI2IDE3MWE2IDYgMCAwIDAgLTYtNmgtMjQuODM3YTYgNiAwIDAgMCAwIDEyaDI0LjgzN2E2IDYgMCAwIDAgNi02eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTU1IDIzOS41MjFhNiA2IDAgMCAwIC02IDZ2MjQuODM2YTYgNiAwIDAgMCAxMiAwdi0yNC44MzZhNiA2IDAgMCAwIC02LTZ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00MzguODUyIDQ1MS45NjlhNDEuODM3IDQxLjgzNyAwIDAgMCAtNDEuMTY2LTM1Ljk2OWgtMjguNjg2di0zMjYuNjg0YTY5LjMwOSA2OS4zMDkgMCAwIDAgLTEyMS43LTQ1LjM4MiA1Ni4wMjIgNTYuMDIyIDAgMCAwIC00OC43MDkgNi4zNDlsLTgxLjUxOSA1NC4wNjhhNiA2IDAgMCAwIC0uOTI1IDkuMjQybDIzLjQyMiAyMy40MjMtMS40NDIgMS40NDJhMzUuMTg4IDM1LjE4OCAwIDAgMCA0OS43NjMgNDkuNzYzbDEuNDQyLTEuNDQyIDIzLjQyMiAyMy40MjFhNiA2IDAgMCAwIDQuMjQ2IDEuNzU5Yy4yIDAgLjQtLjAxLjYtLjAzYTYgNiAwIDAgMCA0LjQtMi42NTRsNTQuMDY3LTgxLjUxOWE1Ni4wODggNTYuMDg4IDAgMCAwIDMuNDg4LTU1LjY1NiAyNi4zODYgMjYuMzg2IDAgMCAxIDQ2LjQ0NSAxNy4yMTZ2MzI2LjY4NGgtMjkuMTgyYTQyIDQyIDAgMCAwIC00MS4zNDMgMzYuMDc2IDI2LjQgMjYuNCAwIDAgMCAtMjIuNDc1IDI1Ljk1NnY3Ljk2OGE2LjI4MiA2LjI4MiAwIDAgMCA2LjMxOSA2aDIxNi42OTJhNS45OTIgNS45OTIgMCAwIDAgNS45ODktNnYtNy45NjhhMjYuMjQ3IDI2LjI0NyAwIDAgMCAtMjMuMTQ4LTI2LjA2M3ptLTI1OS40NTItMjcyLjIzNGEyMy4xODggMjMuMTg4IDAgMCAxIC0zMi43OTMtMzIuNzkybDEuNDQzLTEuNDQzIDMyLjc5MyAzMi43OTN6bTM2LjY0OCAxNi43OTQtODYuMjMtODYuMjI5IDE4LjA5My0xMiA4MC4xNCA4MC4xNHptNTAuMDEyLTc1LjQtMzEuMjQ2IDQ3LjExLTc2LjctNzYuNzA1IDQ3LjExLTMxLjI0NmE0My44OTQgNDMuODk0IDAgMCAxIDYwLjg0IDYwLjg0MXptMzMuNTI4LTcwLjI3MmEzOC4yNTIgMzguMjUyIDAgMCAwIC0yNi42ODggMTAuODIzIDU0LjYyIDU0LjYyIDAgMCAwIC0xNC4xODYtMTIuNDM1IDU3LjMxIDU3LjMxIDAgMCAxIDk4LjI4NiA0MC4wNzF2MzI2LjY4NGgtMTl2LTMyNi42ODRhMzguNDYxIDM4LjQ2MSAwIDAgMCAtMzguNDA5LTM4LjQ2NHptLTIuNzcgMzc3LjE0M2gxMDAuODY4YzE0LjI1OSAwIDI2LjE5NSAxMSAyOC45NzYgMjRoLTE1OC44MTljMi43ODEtMTMgMTQuNzE2LTI0IDI4Ljk3NS0yNHptMTUzLjE4MiA1MmgtMjA1di0xLjk2OGExNC4zMiAxNC4zMiAwIDAgMSAxNC4zMTktMTQuMDMyaDE3Ni42OTJhMTQuMDM0IDE0LjAzNCAwIDAgMSAxMy45ODkgMTQuMDMyeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzA1IDM4MS4wMzFhNiA2IDAgMCAwIDEyIDB2LTc1LjgwNmE2IDYgMCAwIDAgLTEyIDB6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zMTEgMjkwLjg0NGE2IDYgMCAwIDAgNi02di00LjgzNGE2IDYgMCAwIDAgLTEyIDB2NC44MzRhNiA2IDAgMCAwIDYgNnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=","Temperature Sensors":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJNMzUyLDM4NS40MDZWNTMuMzMzQzM1MiwyMy45MjcsMzI4LjA3MywwLDI5OC42NjcsMHMtNTMuMzMzLDIzLjkyNy01My4zMzMsNTMuMzMzdjMzMi4wNzMNCgkJCQlDMjMxLjcxOSwzOTkuMzY1LDIyNCw0MTguMDMxLDIyNCw0MzcuMzMzQzIyNCw0NzguNSwyNTcuNSw1MTIsMjk4LjY2Nyw1MTJjNDEuMTY3LDAsNzQuNjY3LTMzLjUsNzQuNjY3LTc0LjY2Nw0KCQkJCUMzNzMuMzMzLDQxOC4wMzEsMzY1LjYxNSwzOTkuMzY1LDM1MiwzODUuNDA2eiBNMjk4LjY2Nyw0OTAuNjY3Yy0yOS40MDYsMC01My4zMzMtMjMuOTI3LTUzLjMzMy01My4zMzMNCgkJCQljMC0xNS4xMDQsNi4zMjMtMjkuMTI1LDE3LjgxMy0zOS40NjljMi4yNC0yLjAzMSwzLjUyMS00LjkwNiwzLjUyMS03LjkyN1Y1My4zMzNjMC0xNy42NDYsMTQuMzU0LTMyLDMyLTMyDQoJCQkJYzE3LjY0NiwwLDMyLDE0LjM1NCwzMiwzMnYzMzYuNjA0YzAsMy4wMjEsMS4yODEsNS44OTYsMy41MjEsNy45MjdDMzQ1LjY3Nyw0MDguMjA4LDM1Miw0MjIuMjI5LDM1Miw0MzcuMzMzDQoJCQkJQzM1Miw0NjYuNzQsMzI4LjA3Myw0OTAuNjY3LDI5OC42NjcsNDkwLjY2N3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTMwOS4zMzMsNDA3LjI5OFYyMjRjMC01Ljg5Ni00Ljc3MS0xMC42NjctMTAuNjY3LTEwLjY2N2MtNS44OTYsMC0xMC42NjcsNC43NzEtMTAuNjY3LDEwLjY2N3YxODMuMjk4DQoJCQkJYy0xMi4zODksNC40MTgtMjEuMzMzLDE2LjE0Ny0yMS4zMzMsMzAuMDM1YzAsMTcuNjQ2LDE0LjM1NCwzMiwzMiwzMmMxNy42NDYsMCwzMi0xNC4zNTQsMzItMzINCgkJCQlDMzMwLjY2Nyw0MjMuNDQ1LDMyMS43MjMsNDExLjcxNiwzMDkuMzMzLDQwNy4yOTh6IE0yOTguNjY3LDQ0OGMtNS44ODUsMC0xMC42NjctNC43ODEtMTAuNjY3LTEwLjY2Nw0KCQkJCWMwLTUuODg1LDQuNzgxLTEwLjY2NywxMC42NjctMTAuNjY3YzUuODg1LDAsMTAuNjY3LDQuNzgxLDEwLjY2NywxMC42NjdDMzA5LjMzMyw0NDMuMjE5LDMwNC41NTIsNDQ4LDI5OC42NjcsNDQ4eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjEzLjMzMywzNDEuMzMzaC02NGMtNS44OTYsMC0xMC42NjcsNC43NzEtMTAuNjY3LDEwLjY2N2MwLDUuODk2LDQuNzcxLDEwLjY2NywxMC42NjcsMTAuNjY3aDY0DQoJCQkJYzUuODk2LDAsMTAuNjY3LTQuNzcxLDEwLjY2Ny0xMC42NjdDMjI0LDM0Ni4xMDQsMjE5LjIyOSwzNDEuMzMzLDIxMy4zMzMsMzQxLjMzM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTIxMy4zMzMsMjk4LjY2N0gxOTJjLTUuODk2LDAtMTAuNjY3LDQuNzcxLTEwLjY2NywxMC42NjdjMCw1Ljg5Niw0Ljc3MSwxMC42NjcsMTAuNjY3LDEwLjY2N2gyMS4zMzMNCgkJCQljNS44OTYsMCwxMC42NjctNC43NzEsMTAuNjY3LTEwLjY2N0MyMjQsMzAzLjQzOCwyMTkuMjI5LDI5OC42NjcsMjEzLjMzMywyOTguNjY3eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjEzLjMzMywyNTZIMTkyYy01Ljg5NiwwLTEwLjY2Nyw0Ljc3MS0xMC42NjcsMTAuNjY3YzAsNS44OTYsNC43NzEsMTAuNjY3LDEwLjY2NywxMC42NjdoMjEuMzMzDQoJCQkJYzUuODk2LDAsMTAuNjY3LTQuNzcxLDEwLjY2Ny0xMC42NjdDMjI0LDI2MC43NzEsMjE5LjIyOSwyNTYsMjEzLjMzMywyNTZ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0xNDkuMzMzLDIzNC42NjdoNjRjNS44OTYsMCwxMC42NjctNC43NzEsMTAuNjY3LTEwLjY2N3MtNC43NzEtMTAuNjY3LTEwLjY2Ny0xMC42NjdoLTY0DQoJCQkJYy01Ljg5NiwwLTEwLjY2Nyw0Ljc3MS0xMC42NjcsMTAuNjY3UzE0My40MzgsMjM0LjY2NywxNDkuMzMzLDIzNC42Njd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0xNDkuMzMzLDEwNi42NjdoNjRjNS44OTYsMCwxMC42NjctNC43NzEsMTAuNjY3LTEwLjY2N3MtNC43NzEtMTAuNjY3LTEwLjY2Ny0xMC42NjdoLTY0DQoJCQkJYy01Ljg5NiwwLTEwLjY2Nyw0Ljc3MS0xMC42NjcsMTAuNjY3UzE0My40MzgsMTA2LjY2NywxNDkuMzMzLDEwNi42Njd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0yMTMuMzMzLDE3MC42NjdIMTkyYy01Ljg5NiwwLTEwLjY2Nyw0Ljc3MS0xMC42NjcsMTAuNjY3YzAsNS44OTYsNC43NzEsMTAuNjY3LDEwLjY2NywxMC42NjdoMjEuMzMzDQoJCQkJYzUuODk2LDAsMTAuNjY3LTQuNzcxLDEwLjY2Ny0xMC42NjdDMjI0LDE3NS40MzgsMjE5LjIyOSwxNzAuNjY3LDIxMy4zMzMsMTcwLjY2N3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTIxMy4zMzMsMTI4SDE5MmMtNS44OTYsMC0xMC42NjcsNC43NzEtMTAuNjY3LDEwLjY2N2MwLDUuODk2LDQuNzcxLDEwLjY2NywxMC42NjcsMTAuNjY3aDIxLjMzMw0KCQkJCWM1Ljg5NiwwLDEwLjY2Ny00Ljc3MSwxMC42NjctMTAuNjY3QzIyNCwxMzIuNzcxLDIxOS4yMjksMTI4LDIxMy4zMzMsMTI4eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",Tv:iNe,"Vacuum Cleaner":"PHN2ZyB2aWV3Qm94PSIwIDAgNDgwIDQ4MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtNDQwIDk2Yy00LjQxNzk2OSAwLTgtMy41ODIwMzEtOC04LS4wMjczNDQtMjIuMDgyMDMxLTE3LjkxNzk2OS0zOS45NzI2NTYtNDAtNDAtNC40MTc5NjkgMC04LTMuNTgyMDMxLTgtOHMzLjU4MjAzMS04IDgtOGMzMC45MTQwNjIuMDM1MTU2IDU1Ljk2NDg0NCAyNS4wODU5MzggNTYgNTYgMCA0LjQxNzk2OS0zLjU4MjAzMSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im00MDggOTZjLTQuNDE3OTY5IDAtOC0zLjU4MjAzMS04LThzLTMuNTgyMDMxLTgtOC04LTgtMy41ODIwMzEtOC04IDMuNTgyMDMxLTggOC04YzEzLjI1MzkwNiAwIDI0IDEwLjc0NjA5NCAyNCAyNCAwIDQuNDE3OTY5LTMuNTgyMDMxIDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ3MiA5NmMtNC40MTc5NjkgMC04LTMuNTgyMDMxLTgtOC0uMDQ2ODc1LTM5Ljc0NjA5NC0zMi4yNTM5MDYtNzEuOTUzMTI1LTcyLTcyLTQuNDE3OTY5IDAtOC0zLjU4MjAzMS04LThzMy41ODIwMzEtOCA4LThjNDguNTc4MTI1LjA1ODU5MzggODcuOTQxNDA2IDM5LjQyMTg3NSA4OCA4OCAwIDQuNDE3OTY5LTMuNTgyMDMxIDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQwIDk2Yy00LjQxNzk2OSAwLTgtMy41ODIwMzEtOC04IC4wMzUxNTYtMzAuOTE0MDYyIDI1LjA4NTkzOC01NS45NjQ4NDQgNTYtNTYgNC40MTc5NjkgMCA4IDMuNTgyMDMxIDggOHMtMy41ODIwMzEgOC04IDhjLTIyLjA4MjAzMS4wMjczNDQtMzkuOTcyNjU2IDE3LjkxNzk2OS00MCA0MCAwIDQuNDE3OTY5LTMuNTgyMDMxIDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTcyIDk2Yy00LjQxNzk2OSAwLTgtMy41ODIwMzEtOC04IDAtMTMuMjUzOTA2IDEwLjc0NjA5NC0yNCAyNC0yNCA0LjQxNzk2OSAwIDggMy41ODIwMzEgOCA4cy0zLjU4MjAzMSA4LTggOC04IDMuNTgyMDMxLTggOC0zLjU4MjAzMSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im04IDk2Yy00LjQxNzk2OSAwLTgtMy41ODIwMzEtOC04IC4wNTg1OTM4LTQ4LjU3ODEyNSAzOS40MjE4NzUtODcuOTQxNDA2MiA4OC04OCA0LjQxNzk2OSAwIDggMy41ODIwMzEgOCA4cy0zLjU4MjAzMSA4LTggOGMtMzkuNzQ2MDk0LjA0Njg3NS03MS45NTMxMjUgMzIuMjUzOTA2LTcyIDcyIDAgNC40MTc5NjktMy41ODIwMzEgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMjQwIDQxNmMyNi41MDc4MTIgMCA0OC0yMS40OTIxODggNDgtNDhzLTIxLjQ5MjE4OC00OC00OC00OC00OCAyMS40OTIxODgtNDggNDhjLjAyNzM0NCAyNi41IDIxLjUgNDcuOTcyNjU2IDQ4IDQ4em0wLTgwYzE3LjY3MTg3NSAwIDMyIDE0LjMyODEyNSAzMiAzMnMtMTQuMzI4MTI1IDMyLTMyIDMyLTMyLTE0LjMyODEyNS0zMi0zMiAxNC4zMjgxMjUtMzIgMzItMzJ6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMjQwIDE4NGMxMy4yNTM5MDYgMCAyNC0xMC43NDYwOTQgMjQtMjRzLTEwLjc0NjA5NC0yNC0yNC0yNC0yNCAxMC43NDYwOTQtMjQgMjQgMTAuNzQ2MDk0IDI0IDI0IDI0em0wLTMyYzQuNDE3OTY5IDAgOCAzLjU4MjAzMSA4IDhzLTMuNTgyMDMxIDgtOCA4LTgtMy41ODIwMzEtOC04IDMuNTgyMDMxLTggOC04em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTMxNy45NDUzMTIgMTUydi4wNDY4NzVoLjA1NDY4OHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xNTIgMTUyaDQ4djE2aC00OHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yODAgMTUyaDQ4djE2aC00OHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yNDAgNDhjLTEwMS4yNjU2MjUtLjAxMTcxOS0xODguOTQ1MzEyIDcwLjMzMjAzMS0yMTAuODkwNjI1IDE2OS4xODc1LTIxLjk0NTMxMyA5OC44NTkzNzUgMjcuNzM0Mzc1IDE5OS42OTE0MDYgMTE5LjQ5MjE4NyAyNDIuNTMxMjUgNTcuOTI1NzgyIDI3LjAzNTE1NiAxMjQuODUxNTYzIDI3LjAzNTE1NiAxODIuNzgxMjUgMCA5MS43NTc4MTMtNDIuODM1OTM4IDE0MS40MzM1OTQtMTQzLjY2NDA2MiAxMTkuNDkyMTg4LTI0Mi41MjM0MzgtMjEuOTQxNDA2LTk4Ljg1NTQ2OC0xMDkuNjEzMjgxLTE2OS4xOTkyMTgtMjEwLjg3NS0xNjkuMTk1MzEyem0wIDE2YzEwNy4yODUxNTYuMTMyODEyIDE5NS4zOTg0MzggODQuODA0Njg4IDE5OS44MDA3ODEgMTkyaC0xNmMtNC41ODIwMzEtOTguMTc5Njg4LTg1LjUxNTYyNS0xNzUuNDIxODc1LTE4My44MDA3ODEtMTc1LjQyMTg3NXMtMTc5LjIxODc1IDc3LjI0MjE4Ny0xODMuODAwNzgxIDE3NS40MjE4NzVoLTE2YzQuNDAyMzQzLTEwNy4xOTUzMTIgOTIuNTE1NjI1LTE5MS44NjcxODggMTk5LjgwMDc4MS0xOTJ6bTI5LjExMzI4MSAyNDUuNDk2MDk0YzMwLjY4MzU5NCAxMS45ODgyODEgNTAuODgyODEzIDQxLjU1ODU5NCA1MC44ODY3MTkgNzQuNTAzOTA2djI3LjY0MDYyNWMtNDkuODc4OTA2IDI3LjE0NDUzMS0xMTAuMTIxMDk0IDI3LjE0NDUzMS0xNjAgMHYtMjcuNjQwNjI1Yy4wMDM5MDYtMjYuNDI5Njg4IDEzLjA2MjUtNTEuMTUyMzQ0IDM0Ljg4NjcxOS02Ni4wNTQ2ODggMjEuODI4MTI1LTE0LjkwNjI1IDQ5LjYwOTM3NS0xOC4wNjY0MDYgNzQuMjI2NTYyLTguNDQ5MjE4em02Ni44ODY3MTkgNzQuNTAzOTA2YzAtNTMuMDE5NTMxLTQyLjk4MDQ2OS05Ni05Ni05NnMtOTYgNDIuOTgwNDY5LTk2IDk2djE3LjczNDM3NWMtMzguODYzMjgxLTI2Ljk4MDQ2OS02NC41MDc4MTItNjkuMTMyODEzLTcwLjYwMTU2Mi0xMTYuMDQ2ODc1LTYuMDk3NjU3LTQ2LjkxNzk2OSA3LjkyNTc4MS05NC4yMjI2NTYgMzguNjAxNTYyLTEzMC4yMzgyODF2MzYuNTUwNzgxYy4wMjczNDQgMjIuMDgyMDMxIDE3LjkxNzk2OSAzOS45NzI2NTYgNDAgNDBoMTc2YzIyLjA4MjAzMS0uMDI3MzQ0IDM5Ljk3MjY1Ni0xNy45MTc5NjkgNDAtNDB2LTM2LjU1MDc4MWMzMC42NzU3ODEgMzYuMDE1NjI1IDQ0LjY5OTIxOSA4My4zMjAzMTIgMzguNjAxNTYyIDEzMC4yMzgyODEtNi4wOTM3NSA0Ni45MTQwNjItMzEuNzM4MjgxIDg5LjA2NjQwNi03MC42MDE1NjIgMTE2LjA0Njg3NXptLTIwOC0yNDQuODYzMjgxYzYzLjU4OTg0NC01Ny41MTU2MjUgMTYwLjQxMDE1Ni01Ny41MTU2MjUgMjI0IDB2NTIuODYzMjgxYzAgMTMuMjUzOTA2LTEwLjc0NjA5NCAyNC0yNCAyNGgtMTc2Yy0xMy4yNTM5MDYgMC0yNC0xMC43NDYwOTQtMjQtMjR6bS04Ny43MTA5MzggMTMyLjg2MzI4MWgxNmMyLjgzNTkzOCA2MS4wMzkwNjIgMzUuNjcxODc2IDExNi43MjI2NTYgODcuNzEwOTM4IDE0OC43NTM5MDZ2MTguNjQ0NTMyYy02MS40Mzc1LTMzLjg1MTU2My0xMDAuNzUzOTA2LTk3LjMxMjUtMTAzLjcxMDkzOC0xNjcuMzk4NDM4em0xMTkuNzEwOTM4IDE3NS4yNDYwOTR2LTE3LjY0NDUzMmM1MC41MDM5MDYgMjQuNTYyNSAxMDkuNDk2MDk0IDI0LjU2MjUgMTYwIDB2MTcuNjcxODc2Yy01MC45OTYwOTQgMjIuMzM1OTM3LTEwOS4wMDM5MDYgMjIuMzM1OTM3LTE2MCAwem0xNzYtNy44NDc2NTZ2LTE4LjY0NDUzMmM1Mi4wNDI5NjktMzIuMDI3MzQ0IDg0Ljg4NjcxOS04Ny43MTA5MzcgODcuNzI2NTYyLTE0OC43NTM5MDZoMTZjLTIuOTYwOTM3IDcwLjA4OTg0NC00Mi4yODUxNTYgMTMzLjU1MDc4MS0xMDMuNzI2NTYyIDE2Ny4zOTg0Mzh6bTAgMCIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",Ventilation:rNe,"Washing Machines":"PHN2ZyBoZWlnaHQ9IjQ5NnB0IiB2aWV3Qm94PSIwIDAgNDk2IDQ5NiIgd2lkdGg9IjQ5NnB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im00ODggMGgtNDAwYy00LjQyNTc4MSAwLTggMy41ODU5MzgtOCA4djI5Ni44MzIwMzFjLTIuNjAxNTYyLS41MjczNDMtNS4yNzM0MzgtLjgzMjAzMS04LS44MzIwMzEtMjIuMDU0Njg4IDAtNDAgMTcuOTQ1MzEyLTQwIDQwdi4xNjc5NjljLTcuODI0MjE5IDUuODg2NzE5LTEzLjE1MjM0NCAxNC4zOTg0MzctMTUuMTIxMDk0IDIzLjgzMjAzMWgtOC44Nzg5MDZjLTQuNDI1NzgxIDAtOCAzLjU4NTkzOC04IDh2MzJjMCA0LjQxNDA2MiAzLjU3NDIxOSA4IDggOGg4djI0YzAgMzAuODc4OTA2IDI1LjEyODkwNiA1NiA1NiA1Nmg0MTZjNC40MjU3ODEgMCA4LTMuNTg1OTM4IDgtOHYtNDgwYzAtNC40MTQwNjItMy41NzQyMTktOC04LTh6bS04IDE2djgwaC0zODR2LTgwem0tNDM1LjY1NjI1IDMzOS4xNzU3ODFjMi44Mzk4NDQtMS42MDE1NjIgNC40MzM1OTQtNC43NjE3MTkgNC4wMTU2MjUtOGwtLjEyODkwNi0uOTI5Njg3Yy0uMTAxNTYzLS43MzQzNzUtLjIzMDQ2OS0xLjQ2ODc1LS4yMzA0NjktMi4yNDYwOTQgMC0xMy4yMzA0NjkgMTAuNzY5NTMxLTI0IDI0LTI0IDguNDQ5MjE5IDAgMTYuMTIxMDk0IDQuNDA2MjUgMjAuNTI3MzQ0IDExLjgwMDc4MSAxLjE5OTIxOCAyLjAxNTYyNSAzLjIzNDM3NSAzLjQwNjI1IDUuNTUwNzgxIDMuNzkyOTY5IDIuMzI4MTI1LjM5ODQzOCA0LjY5OTIxOS0uMjY1NjI1IDYuNDk2MDk0LTEuNzkyOTY5IDMuMTIxMDkzLTIuNjQ4NDM3IDguMzIwMzEyLTUuODAwNzgxIDE1LjQyNTc4MS01LjgwMDc4MSA4LjU1ODU5NCAwIDE2LjUzNTE1NiA0LjcyNjU2MiAyMC44MTY0MDYgMTIuMzM1OTM4IDEuNjY0MDYzIDIuOTc2NTYyIDUuMDU0Njg4IDQuNTU4NTkzIDguMzgyODEzIDMuOTYwOTM3IDguMzUxNTYyLTEuNDg4MjgxIDE2LjkwNjI1IDQuMjQ2MDk0IDE4LjQ5NjA5MyAxMi43NDIxODcuNTcwMzEzIDMuMDM5MDYzIDIuODM5ODQ0IDUuNDg4MjgyIDUuODM5ODQ0IDYuMjczNDM4IDMuMDE1NjI1LjgwMDc4MSA2LjE2Nzk2OS0uMjM0Mzc1IDguMTY3OTY5LTIuNjA5Mzc1IDQuNjE3MTg3LTUuNTI3MzQ0IDExLjI4OTA2My04LjcwMzEyNSAxOC4yOTY4NzUtOC43MDMxMjUgMTAuNDE0MDYyIDAgMTkuMjE0ODQ0IDYuNzEwOTM4IDIyLjUyNzM0NCAxNmgtMTg4LjkyNTc4MmMxLjk0MTQwNy01LjI5Njg3NSA1LjYwNTQ2OS05LjkzNzUgMTAuNzQyMTg4LTEyLjgyNDIxOXptMTA3LjY1NjI1LTc1LjE3NTc4MWMwLTc0Ljk5MjE4OCA2MS4wMDc4MTItMTM2IDEzNi0xMzZzMTM2IDYxLjAwNzgxMiAxMzYgMTM2LTYxLjAwNzgxMiAxMzYtMTM2IDEzNmMtMTEuMjg5MDYyIDAtMjIuMzI4MTI1LTEuNTE5NTMxLTMzLjA3ODEyNS00LjIxNDg0NC42Mjg5MDYtMS4xNDQ1MzEgMS4wNzgxMjUtMi4zOTQ1MzEgMS4wNzgxMjUtMy43ODUxNTZ2LTEyLjMzNTkzOGMxMC4zNjcxODggMi44NjMyODIgMjEuMDc4MTI1IDQuMzM1OTM4IDMyIDQuMzM1OTM4IDY2LjE2Nzk2OSAwIDEyMC01My44MzIwMzEgMTIwLTEyMHMtNTMuODMyMDMxLTEyMC0xMjAtMTIwLTEyMCA1My44MzIwMzEtMTIwIDEyMGMwIDIxLjA4OTg0NCA1LjQ4MDQ2OSA0MS40MzM1OTQgMTUuODI0MjE5IDU5LjUwMzkwNi0xLjc5Mjk2OS44MDg1OTQtMy41MzUxNTcgMS43MjY1NjMtNS4xOTE0MDcgMi44MDA3ODItNC4wNTg1OTMtNi4xMTMyODItMTAuMTUyMzQzLTEwLjYzMjgxMy0xNy4yMDcwMzEtMTIuODI0MjE5LTYuMTY3OTY5LTE1Ljc2MTcxOS05LjQyNTc4MS0zMi4zNTkzNzUtOS40MjU3ODEtNDkuNDgwNDY5em00OC40NjQ4NDQgNTYuMDQ2ODc1Yy02LjM2NzE4OC05LjkxMDE1Ni0xMS0yMC43MDMxMjUtMTMuNjc5Njg4LTMyLjA0Njg3NWg1LjIxNDg0NGM3LjI4OTA2MiAwIDE0LjE1MjM0NC0yLjgzOTg0NCAxOS4zMTI1LThsNC42ODc1LTQuNjc5Njg4YzQuMjgxMjUtNC4yODEyNSAxMS43MTg3NS00LjI4MTI1IDE2IDBsNC42ODc1IDQuNjc5Njg4YzEwLjMyODEyNSAxMC4zMTI1IDI4LjI5Njg3NSAxMC4zMjAzMTIgMzguNjI1IDBsNC42ODc1LTQuNjc5Njg4YzQuMjgxMjUtNC4yODEyNSAxMS43MTg3NS00LjI4MTI1IDE2IDBsNC42ODc1IDQuNjc5Njg4YzEwLjMyODEyNSAxMC4zMTI1IDI4LjI5Njg3NSAxMC4zMjAzMTIgMzguNjI1IDBsNC42ODc1LTQuNjc5Njg4YzQuMjgxMjUtNC4yODEyNSAxMS43MTg3NS00LjI4MTI1IDE2IDBsNC42ODc1IDQuNjc5Njg4YzUuMTY3OTY5IDUuMTYwMTU2IDEyLjAyMzQzOCA4IDE5LjMxMjUgOGg1LjA5NzY1NmMtMTAuODgyODEyIDQ1Ljc5Mjk2OS01Mi4wMjczNDQgODAtMTAxLjA5NzY1NiA4MC0xMC45NzY1NjIgMC0yMS42OTUzMTItMS43OTI5NjktMzItNS4xMjg5MDZ2LTIuODcxMDk0YzAtNC40MTQwNjItMy41NzQyMTktOC04LThoLTguODA4NTk0Yy0zLjY4NzUtMTguMDg5ODQ0LTE5LjYyNS0zMS43MjY1NjItMzguNzI2NTYyLTMxLjk1MzEyNXptLTE2LjQ2NDg0NC01Ni4wNDY4NzVjMC01Ny4zNDM3NSA0Ni42NTYyNS0xMDQgMTA0LTEwNHMxMDQgNDYuNjU2MjUgMTA0IDEwNGMwIDIuNzAzMTI1LS4xOTkyMTkgNS4zNTE1NjItLjQwNjI1IDhoLTcuNTkzNzVjLTMuMDIzNDM4IDAtNS44NTU0NjktMS4xNzU3ODEtOC0zLjMxMjVsLTQuNjg3NS00LjY4NzVjLTEwLjMyODEyNS0xMC4zMTI1LTI4LjI5Njg3NS0xMC4zMjAzMTItMzguNjI1IDBsLTQuNjg3NSA0LjY3OTY4OGMtNC4yODEyNSA0LjI4MTI1LTExLjcxODc1IDQuMjgxMjUtMTYgMGwtNC42ODc1LTQuNjc5Njg4Yy0xMC4zMjgxMjUtMTAuMzEyNS0yOC4yOTY4NzUtMTAuMzIwMzEyLTM4LjYyNSAwbC00LjY4NzUgNC42Nzk2ODhjLTQuMjgxMjUgNC4yODEyNS0xMS43MTg3NSA0LjI4MTI1LTE2IDBsLTQuNjg3NS00LjY3OTY4OGMtMTAuMzI4MTI1LTEwLjMxMjUtMjguMjk2ODc1LTEwLjMyMDMxMi0zOC42MjUgMGwtNC42ODc1IDQuNjc5Njg4Yy0yLjE0NDUzMSAyLjE0NDUzMS00Ljk3NjU2MiAzLjMyMDMxMi04IDMuMzIwMzEyaC03LjY5NTMxMmMtLjE5OTIxOS0yLjY0ODQzOC0uMzA0Njg4LTUuMzIwMzEyLS4zMDQ2ODgtOHptLTE2OCAxMDRoMjI0djE2aC0yMjR6bTE2MCA5NmgtMTA0Yy0yMi4wNTQ2ODggMC00MC0xNy45NDUzMTItNDAtNDB2LTI0aDE5MnYyNGMwIDIyLjA1NDY4OC0xNy45NDUzMTIgNDAtNDAgNDB6bTQ3LjExMzI4MSAwYzEwLjQwNjI1LTEwLjE3NTc4MSAxNi44ODY3MTktMjQuMzM1OTM4IDE2Ljg4NjcxOS00MHYtMTUuODcxMDk0YzE1LjQyNTc4MSA1LjE0NDUzMiAzMS41MDM5MDYgNy44NzEwOTQgNDggNy44NzEwOTQgODMuODE2NDA2IDAgMTUyLTY4LjE4MzU5NCAxNTItMTUycy02OC4xODM1OTQtMTUyLTE1Mi0xNTItMTUyIDY4LjE4MzU5NC0xNTIgMTUyYzAgMTMuMDE1NjI1IDEuODAwNzgxIDI1LjczNDM3NSA1LjAwNzgxMiAzOC4xMTMyODEtNi4yMjI2NTYtMy45MDYyNS0xMy40NjQ4NDMtNi4xMTMyODEtMjEuMDA3ODEyLTYuMTEzMjgxLTYuNTM1MTU2IDAtMTMgMS42NzE4NzUtMTguNzg1MTU2IDQuODE2NDA2LTEuNTg5ODQ0LTEuNzI2NTYyLTMuMzc1LTMuMjE0ODQ0LTUuMjE0ODQ0LTQuNjI1di0yMDAuMTkxNDA2aDM4NHYzNjh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMTM2IDgwYzEzLjIzMDQ2OSAwIDI0LTEwLjc2OTUzMSAyNC0yNHMtMTAuNzY5NTMxLTI0LTI0LTI0LTI0IDEwLjc2OTUzMS0yNCAyNCAxMC43Njk1MzEgMjQgMjQgMjR6bTAtMzJjNC40MTQwNjIgMCA4IDMuNTkzNzUgOCA4cy0zLjU4NTkzOCA4LTggOC04LTMuNTkzNzUtOC04IDMuNTg1OTM4LTggOC04em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTIwMCA4MGMxMy4yMzA0NjkgMCAyNC0xMC43Njk1MzEgMjQtMjRzLTEwLjc2OTUzMS0yNC0yNC0yNC0yNCAxMC43Njk1MzEtMjQgMjQgMTAuNzY5NTMxIDI0IDI0IDI0em0wLTMyYzQuNDE0MDYyIDAgOCAzLjU5Mzc1IDggOHMtMy41ODU5MzggOC04IDgtOC0zLjU5Mzc1LTgtOCAzLjU4NTkzOC04IDgtOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yNjQgODBjMTMuMjMwNDY5IDAgMjQtMTAuNzY5NTMxIDI0LTI0cy0xMC43Njk1MzEtMjQtMjQtMjQtMjQgMTAuNzY5NTMxLTI0IDI0IDEwLjc2OTUzMSAyNCAyNCAyNHptMC0zMmM0LjQxNDA2MiAwIDggMy41OTM3NSA4IDhzLTMuNTg1OTM4IDgtOCA4LTgtMy41OTM3NS04LTggMy41ODU5MzgtOCA4LTh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDQ4IDY0aDE2djE2aC0xNnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im00NDggMzJoMTZ2MTZoLTE2em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQxNiA2NGgxNnYxNmgtMTZ6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDE2IDMyaDE2djE2aC0xNnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0zODQgNjRoMTZ2MTZoLTE2em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTM4NCAzMmgxNnYxNmgtMTZ6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMzUyIDY0aDE2djE2aC0xNnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0zNTIgMzJoMTZ2MTZoLTE2em0wIDAiLz4NCiAgICA8L2c+DQo8L3N2Zz4=","Water Consumption":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTI2OC45OSAxODcuNDk5Yy01Ljc1MS05Ljk1OS0yMC4xOTYtMTAuMDE2LTI1Ljk3OSAwLTIxLjgxIDQwLjYxMS0zMi4wMTEgNDguMDYxLTMyLjAxMSA2Ny41MDEgMCAyNC44MTMgMjAuMTg3IDQ1IDQ1IDQ1czQ1LTIwLjE4NyA0NS00NWMwLTE5LjQ1OC0xMC40ODYtMjcuNDIxLTMyLjAxLTY3LjUwMXptLTEyLjk5IDgyLjUwMWMtOC4yNzEgMC0xNS02LjcyOS0xNS0xNSAwLTYuNjg3IDMuMDQyLTguMjE1IDE1LTMwLjAwNSAxMS45NzQgMjEuODE4IDE1IDIzLjMxOCAxNSAzMC4wMDUgMCA4LjI3MS02LjcyOSAxNS0xNSAxNXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQwNiAwaC0zMDBjLTguNzY5IDAtMTUuNjc2IDcuNTAyLTE0Ljk0OCAxNi4yNDZsMzAgMzYwYy42NDggNy43NzQgNy4xNDcgMTMuNzU0IDE0Ljk0OCAxMy43NTRoNzV2MzJoLTE1Yy0xMy4zMTggMC0yMC4wNDggMTYuMTY1LTEwLjYwNiAyNS42MDZsNjAgNjBjNS44NTcgNS44NTggMTUuMzU1IDUuODU5IDIxLjIxMyAwbDYwLTYwYzkuNDE3LTkuNDE3IDIuNzQ1LTI1LjYwNi0xMC42MDctMjUuNjA2aC0xNXYtMzJoNzVjNy44MDEgMCAxNC4zLTUuOTggMTQuOTQ4LTEzLjc1NGwzMC0zNjBjLjcyOC04LjczOS02LjE3NC0xNi4yNDYtMTQuOTQ4LTE2LjI0NnptLTE2LjMwMiAzMC01LjM0NiA2NC4xNDdjLTIxLjc2OCA4LjM0My0zNS44NzEgMjUuODUzLTUzLjM1MiAyNS44NTMtMjIuNzE3IDAtNDAuNDIzLTMwLTc1LTMwLTM0LjcyNyAwLTUyLjE3NiAzMC03NSAzMC0xNy40ODUgMC0zMS41NTYtMTcuNDk5LTUzLjM1Mi0yNS44NTNsLTUuMzQ2LTY0LjE0N3ptLTI3LjUgMzMwaC03Ni4xOThjLTguMjg0IDAtMTUgNi43MTYtMTUgMTV2NjJjMCA2LjQzMiA0LjA0OCAxMS45MTkgOS43MzYgMTQuMDVsLTI0LjczNiAyNC43MzctMjQuNzM2LTI0LjczNmM1LjY4OC0yLjEzMSA5LjczNi03LjYxOCA5LjczNi0xNC4wNXYtNjJjMC04LjI4NC02LjcxNi0xNS0xNS0xNWgtNzYuMTk4bC0xOS4yMDgtMjMwLjUwMmMxNC4zMTUgOS4xNTMgMjkuMDc2IDIwLjUwMSA1MC40MDYgMjAuNTAxIDM0LjcyNyAwIDUyLjE3Ni0zMCA3NS0zMCAyMi43MTcgMCA0MC40MjMgMzAgNzUgMzAgMjEuMDE5IDAgMzUuNDQ5LTEwLjkzNyA1MC40MDYtMjAuNTAyeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==","Water Heater":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJNNjcsMTg1LjMyNXYyODFhMzUuNTQxLDM1LjU0MSwwLDAsMCwzNS40NjksMzUuNjMxTDMxOS4wNiw1MDJoLjAwNkEzNS44OTEsMzUuODkxLDAsMCwwLDM1NSw0NjYuMzY5VjQ2NGg2MC42MmMzNC44MzcsMCw2My4zOC0yNy44Nyw2My4zOC02Mi43MTVWMTg5LjczYzAtMzQuODQ0LTI4LjU0My02Mi43My02My4zOC02Mi43M0gzNTV2LTkuNjg5YzAtLjA3NC0uMTYtLjE0Ni0uMTYyLS4yMTlzLS4wNjUtLjExNC0uMDY1LS4xODdBNjIuMDQ0LDYyLjA0NCwwLDAsMCwyOTIuNzYzLDU1SDIxOVY0NGgxNy44MjhDMjQ1LjY1LDQ0LDI1MywzNy4yLDI1MywyOC4zNzRWMjZhMTYuMTY3LDE2LjE2NywwLDAsMC0xNi4xNzItMTZIMTg5LjcwNkExNS43NywxNS43NywwLDAsMCwxNzQsMjZ2Mi4zNzRBMTUuNDU0LDE1LjQ1NCwwLDAsMCwxODkuNzA2LDQ0SDIwN1Y1NUgxMzMuNzcxQzEwMS41LDU1LDc0LjkyNCw4MCw3Mi4xLDExMUgzOS4yYTYuMDU2LDYuMDU2LDAsMCwwLTUuMiw4LjkyOVpNMzU1LDE2MWg2MC42MkEyOC41ODEsMjguNTgxLDAsMCwxLDQ0NCwxODkuNzNWNDAxLjI4NUEyOC41NjgsMjguNTY4LDAsMCwxLDQxNS42Miw0MzBIMzU1Wm0wLDI4MWg2MC42MkE0MC41ODEsNDAuNTgxLDAsMCwwLDQ1Niw0MDEuMjg1VjE4OS43M0E0MC41OTQsNDAuNTk0LDAsMCwwLDQxNS42MiwxNDlIMzU1VjEzOWg2MC42MmMyOC4yMjEsMCw1MS4zOCwyMi41LDUxLjM4LDUwLjczVjQwMS4yODVDNDY3LDQyOS41MTMsNDQzLjg0MSw0NTIsNDE1LjYyLDQ1MkgzNTVabS0xMiwyNC4zNjlBMjMuODkxLDIzLjg5MSwwLDAsMSwzMTkuMDY2LDQ5MGgwbC0yMTYuNTkxLS4wNDFBMjMuNTI3LDIzLjUyNywwLDAsMSw3OSw0NjYuMzI4VjQ1Mi41N2wyNjQsLjA0OVpNMTkwLDMyYTQsNCwwLDAsMS00LTRWMjZhNCw0LDAsMCwxLDQtNGg0N2E0LDQsMCwwLDEsNCw0djJhNCw0LDAsMCwxLTQsNFpNMTMzLjc3MSw2N0gyOTIuNzYzYTQ5LjgyOSw0OS44MjksMCwwLDEsNDkuNTc2LDQ0SDg0LjJBNDkuODMsNDkuODMsMCwwLDEsMTMzLjc3MSw2N1pNMzQzLDEyM1Y0NDAuNjE5TDc5LDQ0MC41N1YxODMuOWE2Ljg1Myw2Ljg1MywwLDAsMC0uOC0yLjg1MUw0OC45MzQsMTIzWiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjAzLDM4OC40NDNBMzUuMDE3LDM1LjAxNywwLDAsMCwyMzgsMzUzLjZWMjM2Ljg0NGEzNSwzNSwwLDAsMC03MCwwVjM1My42QTM1LjAxNywzNS4wMTcsMCwwLDAsMjAzLDM4OC40NDNabS0yMy0xNTEuNmEyMywyMywwLDAsMSw0NiwwVjI4OUgxODBaTTE4MCwzMDFoNDZ2NTIuNmEyMywyMywwLDAsMS00NiwwWiIvPg0KICAgICAgICA8cGF0aCBkPSJNOTksMzE0LjkxM2E2LDYsMCwwLDAsNi02VjIzMy4xMDZhNiw2LDAsMCwwLTEyLDB2NzUuODA3QTYsNiwwLDAsMCw5OSwzMTQuOTEzWiIvPg0KICAgICAgICA8cGF0aCBkPSJNOTksMjE4LjcyNmE2LDYsMCwwLDAsNi02di00LjgzNGE2LDYsMCwwLDAtMTIsMHY0LjgzNEE2LDYsMCwwLDAsOTksMjE4LjcyNloiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",Water:oNe,Weather:MNe,Window:nNe},cNe="PHN2ZyBoZWlnaHQ9IjUxMnB0IiB2aWV3Qm94PSIwIC0xMDggNTEyIDUxMiIgd2lkdGg9IjUxMnB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im01MDQgNDguMDE1NjI1aC00OTZjLTQuNDI1NzgxIDAtOC0zLjU3NDIxOS04LTh2LTMyLjAxNTYyNWMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDQ5NmM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4djMyLjAxNTYyNWMwIDQuNDI1NzgxLTMuNTc0MjE5IDgtOCA4em0tNDg4LTE2aDQ4MHYtMTYuMDE1NjI1aC00ODB6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMTYgMjk2LjE2MDE1NmMtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOHYtMjQ2LjcxODc1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MjQ2LjcxODc1YzAgNC40MjU3ODItMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDAgMjk2LjE2MDE1NmMtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOHYtMjQ2LjcxODc1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MjQ2LjcxODc1YzAgNC40MjU3ODItMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDcyIDI5Ni4xNjAxNTZjLTQuNDI1NzgxIDAtOC0zLjU3NDIxOC04LTh2LTI0Ni43MTg3NWMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04czggMy41NzQyMTkgOCA4djI0Ni43MTg3NWMwIDQuNDI1NzgyLTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ5NiAyOTYuMTYwMTU2Yy00LjQyNTc4MSAwLTgtMy41NzQyMTgtOC04di0yNDYuNzE4NzVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHYyNDYuNzE4NzVjMCA0LjQyNTc4Mi0zLjU3NDIxOSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im00MCAyOTYuMTYwMTU2aC0yNGMtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDI0YzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyNTc4Mi0zLjU3NDIxOSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im00OTYgMjk2LjE2MDE1NmgtMjRjLTQuNDI1NzgxIDAtOC0zLjU3NDIxOC04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGgyNGM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjU3ODItMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDcyIDE2MC4xMTMyODFoLTQzMmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDQzMmM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDcyIDE4NC4xMjg5MDZoLTQzMmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDQzMmM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNzEuOTg0Mzc1IDE2MC4xMjg5MDZjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC0yMi4wNTg1OTQgMTcuOTM3NS00MCAzOS45OTIxODctNDAgNC40MjE4NzYgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc4MTI0IDgtOCA4LTEzLjIyMjY1NiAwLTIzLjk5MjE4NyAxMC43NjU2MjUtMjMuOTkyMTg3IDI0IDAgNC40MjE4NzUtMy41NzgxMjUgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMTUyIDE2MC4xMjg5MDZjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC0xMy4yMzQzNzUtMTAuNzY5NTMxLTI0LTIzLjk5MjE4OC0yNC00LjQyMTg3NCAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzgxMjYtOCA4LTggMjIuMDU0Njg4IDAgMzkuOTkyMTg4IDE3Ljk0MTQwNiAzOS45OTIxODggNDAgMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im03OS45ODQzNzUgMTM4Ljk2ODc1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di00Mi44Mzk4NDRjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOCA0LjQyMTg3NSAwIDggMy41NzQyMTkgOCA4djQyLjgzOTg0NGMwIDQuNDIxODc1LTMuNTc4MTI1IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTE0My45Njg3NSAxMzguOTY4NzVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTh2LTQyLjgzOTg0NGMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04IDQuNDIxODc1IDAgOCAzLjU3NDIxOSA4IDh2NDIuODM5ODQ0YzAgNC40MjE4NzUtMy41NzgxMjUgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtOTYgMTA0LjE0NDUzMWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOHYtMjQuMDE1NjI1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MjQuMDE1NjI1YzAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMTI4IDgwLjEyODkwNmgtMzJjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGgzMmM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMTI4IDEwNC4xNDQ1MzFjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTh2LTI0LjAxNTYyNWMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04czggMy41NzQyMTkgOCA4djI0LjAxNTYyNWMwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTk2IDk2LjEyODkwNmgtMTYuMDE1NjI1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMTYuMDE1NjI1YzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xNDMuOTY4NzUgOTYuMTI4OTA2aC0xNS45Njg3NWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDE1Ljk2ODc1YzQuNDIxODc1IDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3ODEyNSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xMjAuMDA3ODEyIDEyOC4xMjg5MDZoLTE2LjAzMTI1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMTYuMDMxMjVjNC40MjU3ODIgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE4IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTE3NS45ODQzNzUgMTYwLjEyODkwNmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTIyLjA1ODU5NCAxNy45Mzc1LTQwIDM5Ljk5MjE4Ny00MCA0LjQyMTg3NiAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzgxMjQgOC04IDgtMTMuMjIyNjU2IDAtMjMuOTkyMTg3IDEwLjc2NTYyNS0yMy45OTIxODcgMjQgMCA0LjQyMTg3NS0zLjU3ODEyNSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yNTYgMTYwLjEyODkwNmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTEzLjIzNDM3NS0xMC43Njk1MzEtMjQtMjMuOTkyMTg4LTI0LTQuNDIxODc0IDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3ODEyNi04IDgtOCAyMi4wNTQ2ODggMCAzOS45OTIxODggMTcuOTQxNDA2IDM5Ljk5MjE4OCA0MCAwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTE4My45ODQzNzUgMTM4Ljk2ODc1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di00Mi44Mzk4NDRjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOCA0LjQyMTg3NSAwIDggMy41NzQyMTkgOCA4djQyLjgzOTg0NGMwIDQuNDIxODc1LTMuNTc4MTI1IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTI0Ny45Njg3NSAxMzguOTY4NzVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTh2LTQyLjgzOTg0NGMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04IDQuNDIxODc1IDAgOCAzLjU3NDIxOSA4IDh2NDIuODM5ODQ0YzAgNC40MjE4NzUtMy41NzgxMjUgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMjAwIDEwNC4xNDQ1MzFjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTh2LTI0LjAxNTYyNWMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04czggMy41NzQyMTkgOCA4djI0LjAxNTYyNWMwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTIzMiA4MC4xMjg5MDZoLTMyYy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMzJjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTIzMiAxMDQuMTQ0NTMxYy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di0yNC4wMTU2MjVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHYyNC4wMTU2MjVjMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yMDAgOTYuMTI4OTA2aC0xNi4wMTU2MjVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGgxNi4wMTU2MjVjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTI0Ny45Njg3NSA5Ni4xMjg5MDZoLTE1Ljk2ODc1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMTUuOTY4NzVjNC40MjE4NzUgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc4MTI1IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTIyNC4wMDc4MTIgMTI4LjEyODkwNmgtMTYuMDMxMjVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGgxNi4wMzEyNWM0LjQyNTc4MiAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTggOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMjU2LjE2Nzk2OSAyODAuMTQ0NTMxYy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtMTMuMjQyMTg3IDEwLjc3NzM0My0yNC4wMTU2MjUgMjQuMDE1NjI1LTI0LjAxNTYyNSA0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDgtNC40MjE4NzUgMC04LjAxNTYyNSAzLjU4OTg0NC04LjAxNTYyNSA4LjAxNTYyNSAwIDQuNDIxODc1LTMuNTgyMDMxIDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTMzNi4xOTE0MDYgMjgwLjE0NDUzMWMtNC40MjE4NzUgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDE3OTY5LTMuNTgyMDMxLTgtOC04LTQuNDIxODc1IDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3ODEyNS04IDgtOCAxMy4yMzQzNzUgMCAyNCAxMC43NjU2MjUgMjQgMjQgMCA0LjQyMTg3NS0zLjU3NDIxOCA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0zMzYuMTkxNDA2IDI5Ni4xNjAxNTZoLTgwLjAyMzQzN2MtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDgwLjAzMTI1YzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyNTc4Mi0zLjU4MjAzMSA4LTguMDA3ODEzIDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMzIwLjgzMjAzMSAyNjQuMTI4OTA2aC00OS4yOTY4NzVjLTQuNDIxODc1IDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3ODEyNS04IDgtOGg0OS4yOTY4NzVjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTI3Mi4xNjc5NjkgMjY0LjEyODkwNmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOHYtNDcuOTg0Mzc1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2NDcuOTg0Mzc1YzAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMzIwLjE5OTIxOSAyNjQuMTQ0NTMxYy00LjQyMTg3NSAwLTgtMy41NzgxMjUtOC04di00OGMwLTQuNDI1NzgxIDMuNTc4MTI1LTggOC04IDQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDh2NDhjMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yNTYuMTY3OTY5IDI5Ni4xNjAxNTZjLTQuNDI1NzgxIDAtOC0zLjU3NDIxOC04LTh2LTE2LjAxNTYyNWMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04czggMy41NzQyMTkgOCA4djE2LjAxNTYyNWMwIDQuNDI1NzgyLTMuNTgyMDMxIDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTMzNi4xOTE0MDYgMjk2LjE2MDE1NmMtNC40MjE4NzUgMC04LTMuNTc0MjE4LTgtOHYtMTYuMDE1NjI1YzAtNC40MjU3ODEgMy41NzgxMjUtOCA4LTggNC40MjU3ODIgMCA4IDMuNTc0MjE5IDggOHYxNi4wMTU2MjVjMCA0LjQyNTc4Mi0zLjU3NDIxOCA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0zMjAuMTk5MjE5IDIxNi4xNDQ1MzFoLTQ4LjAzMTI1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoNDguMDMxMjVjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTMyOC4xOTE0MDYgMjQwLjE0NDUzMWgtNjQuMDIzNDM3Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoNjQuMDIzNDM3YzQuNDI1NzgyIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOCA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0zNjAuMTY3OTY5IDI4MC4xNDQ1MzFjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC0xMy4yNDIxODcgMTAuNzc3MzQzLTI0LjAxNTYyNSAyNC4wMTU2MjUtMjQuMDE1NjI1IDQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOC00LjQyMTg3NSAwLTguMDE1NjI1IDMuNTg5ODQ0LTguMDE1NjI1IDguMDE1NjI1IDAgNC40MjE4NzUtMy41ODIwMzEgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDQwLjE5MTQwNiAyODAuMTQ0NTMxYy00LjQyMTg3NSAwLTgtMy41NzgxMjUtOC04IDAtNC40MTc5NjktMy41ODIwMzEtOC04LTgtNC40MjE4NzUgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc4MTI1LTggOC04IDEzLjIzNDM3NSAwIDI0IDEwLjc2NTYyNSAyNCAyNCAwIDQuNDIxODc1LTMuNTc0MjE4IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ0MC4xOTE0MDYgMjk2LjE2MDE1NmgtODAuMDIzNDM3Yy00LjQyNTc4MSAwLTgtMy41NzQyMTgtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoODAuMDMxMjVjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDI1NzgyLTMuNTgyMDMxIDgtOC4wMDc4MTMgOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im00MjQuODMyMDMxIDI2NC4xMjg5MDZoLTQ5LjI5Njg3NWMtNC40MjE4NzUgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc4MTI1LTggOC04aDQ5LjI5Njg3NWM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMzc2LjE2Nzk2OSAyNjQuMTI4OTA2Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di00Ny45ODQzNzVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHY0Ny45ODQzNzVjMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im00MjQuMTk5MjE5IDI2NC4xNDQ1MzFjLTQuNDIxODc1IDAtOC0zLjU3ODEyNS04LTh2LTQ4YzAtNC40MjU3ODEgMy41NzgxMjUtOCA4LTggNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOHY0OGMwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTM2MC4xNjc5NjkgMjk2LjE2MDE1NmMtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOHYtMTYuMDE1NjI1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MTYuMDE1NjI1YzAgNC40MjU3ODItMy41ODIwMzEgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDQwLjE5MTQwNiAyOTYuMTYwMTU2Yy00LjQyMTg3NSAwLTgtMy41NzQyMTgtOC04di0xNi4wMTU2MjVjMC00LjQyNTc4MSAzLjU3ODEyNS04IDgtOCA0LjQyNTc4MiAwIDggMy41NzQyMTkgOCA4djE2LjAxNTYyNWMwIDQuNDI1NzgyLTMuNTc0MjE4IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQyNC4xOTkyMTkgMjE2LjE0NDUzMWgtNDguMDMxMjVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGg0OC4wMzEyNWM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDMyLjE5MTQwNiAyNDAuMTQ0NTMxaC02NC4wMjM0MzdjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGg2NC4wMjM0MzdjNC40MjU3ODIgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE4IDgtOCA4em0wIDAiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",uNe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDM2Mi43ODcgMzYyLjc4NyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTI2MC45NDUsMTQ0Ljk3OWMtMi42NjcsMC01LjEzMywxLjQxNi02LjQ3NywzLjcxOWwtNDcuNDg0LDgxLjMzM2MtMS4zNTQsMi4zMTktMS4zNjUsNS4xODYtMC4wMjcsNy41MTYNCgkJYzEuMzM3LDIuMzI5LDMuODE4LDMuNzY2LDYuNTA0LDMuNzY2aDk0Ljk2OGMyLjY4NiwwLDUuMTY3LTEuNDM3LDYuNTA0LTMuNzY2YzEuMzM4LTIuMzMsMS4zMjctNS4xOTYtMC4wMjctNy41MTZsLTQ3LjQ4My04MS4zMzMNCgkJQzI2Ni4wNzgsMTQ2LjM5NSwyNjMuNjEyLDE0NC45NzksMjYwLjk0NSwxNDQuOTc5eiBNMjI2LjUyNCwyMjYuMzEybDM0LjQyMS01OC45NThsMzQuNDIsNTguOTU4SDIyNi41MjR6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0zNTUuMjg3LDI1NC42OWgtMTc1LjYybDgxLjI3OC0xMzkuMjE4bDYyLjkyNiwxMDcuNzgzYzIuMDg4LDMuNTc4LDYuNjgzLDQuNzg0LDEwLjI1OCwyLjY5Ng0KCQljMy41NzctMi4wODgsNC43ODQtNi42ODEsMi42OTUtMTAuMjU4TDI2Ny40MjIsOTYuODE1Yy0wLjAyMS0wLjAzNi0wLjA0OC0wLjA2Ny0wLjA2OS0wLjEwM2MtMC4xMjYtMC4yMDgtMC4yNjItMC40MDgtMC40MDctMC42MDMNCgkJYy0wLjA0NC0wLjA1OS0wLjA4Ni0wLjExOC0wLjEzMS0wLjE3NmMtMC4xODMtMC4yMy0wLjM3Ni0wLjQ1MS0wLjU4NC0wLjY1OGMtMC4wMjQtMC4wMjQtMC4wNTEtMC4wNDUtMC4wNzYtMC4wNjkNCgkJYy0wLjE4Ni0wLjE4LTAuMzgzLTAuMzQ5LTAuNTg3LTAuNTA5Yy0wLjA2NS0wLjA1MS0wLjEzMi0wLjEtMC4xOTktMC4xNDhjLTAuMTg3LTAuMTM3LTAuMzc5LTAuMjY0LTAuNTc4LTAuMzg0DQoJCWMtMC4wNTUtMC4wMzMtMC4xMDgtMC4wNjgtMC4xNjQtMC4xYy0wLjI2MS0wLjE0Ny0wLjUzLTAuMjgyLTAuODA5LTAuMzk3Yy0wLjAxMS0wLjAwNC0wLjAyMi0wLjAwOC0wLjAzMy0wLjAxMg0KCQljLTAuMjYtMC4xMDYtMC41MjgtMC4xOTYtMC44MDItMC4yNzNjLTAuMDczLTAuMDIxLTAuMTQ2LTAuMDM4LTAuMjItMC4wNTZjLTAuMjIyLTAuMDU1LTAuNDQ3LTAuMS0wLjY3Ny0wLjEzNQ0KCQljLTAuMDc5LTAuMDEyLTAuMTU3LTAuMDI2LTAuMjM2LTAuMDM2Yy0wLjI5Ny0wLjAzNi0wLjU5OC0wLjA2LTAuOTA2LTAuMDZIMTAxLjg0MmMtMi42NjcsMC01LjEzMywxLjQxNi02LjQ3NywzLjcxOQ0KCQlMMS4wMjMsMjU4LjQwOGMtMS4zNTQsMi4zMTktMS4zNjUsNS4xODYtMC4wMjcsNy41MTZjMS4zMzcsMi4zMjksMy44MTgsMy43NjYsNi41MDQsMy43NjZoODYuNTM4YzAuMDA4LDAsMC4wMTUsMC4wMDEsMC4wMjMsMC4wMDENCgkJczAuMDE1LTAuMDAxLDAuMDIzLTAuMDAxaDM1Ljg4OWMwLjAwOCwwLDAuMDE1LDAuMDAxLDAuMDIzLDAuMDAxczAuMDE1LTAuMDAxLDAuMDIzLTAuMDAxaDM2LjU4NmgxODguNjg0DQoJCWM0LjE0MywwLDcuNS0zLjM1OCw3LjUtNy41UzM1OS40MywyNTQuNjksMzU1LjI4NywyNTQuNjl6IE0xNjIuMjk4LDI1NC42OWgtMTkuMjYzbDY5LjQzLTExOS40Nw0KCQljMi4wODEtMy41ODIsMC44NjUtOC4xNzItMi43MTYtMTAuMjUzYy0zLjU4LTIuMDgzLTguMTczLTAuODY2LTEwLjI1MywyLjcxNmwtNzMuODEsMTI3LjAwN0gxMDcuMWw4NS4xOTItMTQ2LjU5NGg1NS41OQ0KCQlMMTYyLjI5OCwyNTQuNjl6IE0xMDYuMTQ3LDEwOC4wOTZoMzQuMDkxTDc0Ljc4OSwyMjAuNzE3Yy0yLjA4MSwzLjU4Mi0wLjg2NSw4LjE3MiwyLjcxNiwxMC4yNTMNCgkJYzEuMTg2LDAuNjg5LDIuNDgyLDEuMDE3LDMuNzYyLDEuMDE3YzIuNTg0LDAsNS4xLTEuMzM3LDYuNDkxLTMuNzMzbDY5LjgzLTEyMC4xNThoMTcuMzU2TDg5Ljc1MSwyNTQuNjlIMjAuNTYzTDEwNi4xNDcsMTA4LjA5NnoiDQogICAgICAgIC8+DQogICAgPC9nPg0KPC9zdmc+DQo=",lNe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTQ5Ni43MDQgMjcyLjA4NmgtODEuNzA0di04OC4wNzNjMC00LjE0Mi0zLjM1Ny03LjUtNy41LTcuNXMtNy41IDMuMzU4LTcuNSA3LjV2ODguMDczaC0xNXYtMTkzLjcxYzAtOC4yNDktNi43MTEtMTQuOTU5LTE0Ljk1OS0xNC45NTloLTkxLjU4MmMtOC4yNDggMC0xNC45NTkgNi43MS0xNC45NTkgMTQuOTU5djE5My43MWgtMTV2LTE5My43MWMwLTguMjQ5LTYuNzExLTE0Ljk1OS0xNC45NTktMTQuOTU5aC05MS41ODJjLTguMjQ4IDAtMTQuOTU5IDYuNzEtMTQuOTU5IDE0Ljk1OXYxOTMuNzFoLTE1di0yMjMuNjY5aDI4OHYxMDAuNTk2YzAgNC4xNDIgMy4zNTcgNy41IDcuNSA3LjVzNy41LTMuMzU4IDcuNS03LjV2LTEwMC41OTZoMy4yMDRjOC40MzUgMCAxNS4yOTYtNi44ODMgMTUuMjk2LTE1LjM0NHYtMTcuNzNjMC04LjQ2LTYuODYxLTE1LjM0My0xNS4yOTYtMTUuMzQzaC0zMjQuNDA4Yy04LjQzNSAwLTE1LjI5NiA2Ljg4My0xNS4yOTYgMTUuMzQ0djE3LjczYzAgOC40NiA2Ljg2MSAxNS4zNDQgMTUuMjk2IDE1LjM0NGgzLjIwNHYyMjMuNjY5aC04MS43MDRjLTguNDM1LS4wMDEtMTUuMjk2IDYuODYxLTE1LjI5NiAxNS4yOTV2MTcuNjIyYzAgOC40MzUgNi44NjEgMTUuMjk2IDE1LjI5NiAxNS4yOTZoLjV2MTQzLjQ4NmgtLjVjLTguNDM1IDAtMTUuMjk2IDYuODYyLTE1LjI5NiAxNS4yOTZ2MTcuNjIyYzAgOC40MzQgNi44NjEgMTUuMjk2IDE1LjI5NiAxNS4yOTZoMjIzLjIwNGM0LjE0MyAwIDcuNS0zLjM1OCA3LjUtNy41cy0zLjM1Ny03LjUtNy41LTcuNWgtMjIzLjIwNGMtLjE2MyAwLS4yOTYtLjEzMy0uMjk2LS4yOTZ2LTE3LjYyMmMwLS4xNjMuMTMzLS4yOTYuMjk2LS4yOTZoNDgxLjQwOGMuMTYzIDAgLjI5Ni4xMzMuMjk2LjI5NnYxNy42MjJjMCAuMTYzLS4xMzMuMjk2LS4yOTYuMjk2aC0yMjMuMjA0Yy00LjE0MyAwLTcuNSAzLjM1OC03LjUgNy41czMuMzU3IDcuNSA3LjUgNy41aDIyMy4yMDRjOC40MzUgMCAxNS4yOTYtNi44NjIgMTUuMjk2LTE1LjI5NnYtMTcuNjIyYzAtOC40MzQtNi44NjEtMTUuMjk2LTE1LjI5Ni0xNS4yOTZoLS41di0xNDMuNDg2aC41YzguNDM1IDAgMTUuMjk2LTYuODYyIDE1LjI5Ni0xNS4yOTZ2LTE3LjYyMmMwLTguNDM0LTYuODYxLTE1LjI5Ni0xNS4yOTYtMTUuMjk2em0tNDAzLjIwNC0yMzkuMDEydi0xNy43M2MwLS4yMTIuMTUzLS4zNDQuMjk2LS4zNDRoMzI0LjQwOGMuMTQzIDAgLjI5Ni4xMzEuMjk2LjM0NHYxNy43M2MwIC4yMTItLjE1My4zNDQtLjI5Ni4zNDQtMTUuMzY3IDAtMzA5LjA1MSAwLTMyNC40MDggMC0uMTQzLS4wMDEtLjI5Ni0uMTMyLS4yOTYtLjM0NHptMTg0Ljk1OSA0NS4zNDMgOTEuNTQxLS4wNDF2MTkzLjcxaC05MS41MDJ6bS0xMzYuNSAwIDkxLjU0MS0uMDQxdjE5My43MWgtOTEuNTAyem0zMzkuMjQ1IDM4NC44MTdoLTQ1MC40MDh2LTE0Mi45MzRoNDUwLjQwOHptMTUuNzk2LTE1OC4yM2MwIC4xNjQtLjEzMy4yOTYtLjI5Ni4yOTYtMi44MjQgMC00NzEuMTUzIDAtNDgxLjQwOCAwLS4xNjMgMC0uMjk2LS4xMzMtLjI5Ni0uMjk2di0xNy42MjJjMC0uMTYzLjEzMy0uMjk2LjI5Ni0uMjk2aDQ4MS40MDhjLjE2MyAwIC4yOTYuMTMzLjI5Ni4yOTZ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im02Ny42NTUgNDQyLjcwNGgxOC45OWM4Ljc2OCAwIDE1LjktNy4xMzMgMTUuOS0xNS45MDF2LTY5LjUyYzAtOC43NjgtNy4xMzMtMTUuOTAxLTE1LjktMTUuOTAxaC0xOC45OWMtOC43NjggMC0xNS45IDcuMTMzLTE1LjkgMTUuOTAxdjY5LjUyYzAgOC43NjggNy4xMzMgMTUuOTAxIDE1LjkgMTUuOTAxem0tLjktODUuNDIxYzAtLjQ5Ny40MDQtLjkwMS45LS45MDFoMTguOTljLjQ5NiAwIC45LjQwNC45LjkwMXY2OS41MmMwIC40OTctLjQwNC45MDEtLjkuOTAxaC0xOC45OWMtLjQ5NiAwLS45LS40MDQtLjktLjkwMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTEzOS40MDYgNDQyLjcwNGgxOC45ODljOC43NjggMCAxNS45MDEtNy4xMzMgMTUuOTAxLTE1LjkwMXYtNjkuNTJjMC04Ljc2OC03LjEzNC0xNS45MDEtMTUuOTAxLTE1LjkwMWgtMTguOTg5Yy04Ljc2OCAwLTE1LjkwMSA3LjEzMy0xNS45MDEgMTUuOTAxdjY5LjUyYzAgOC43NjggNy4xMzQgMTUuOTAxIDE1LjkwMSAxNS45MDF6bS0uOTAxLTg1LjQyMWMwLS40OTcuNDA0LS45MDEuOTAxLS45MDFoMTguOTg5Yy40OTcgMCAuOTAxLjQwNC45MDEuOTAxdjY5LjUyYzAgLjQ5Ny0uNDA0LjkwMS0uOTAxLjkwMWgtMTguOTg5Yy0uNDk3IDAtLjkwMS0uNDA0LS45MDEtLjkwMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTIxMC43OTYgNDQyLjcwNGgxOC45OWM4Ljc2OCAwIDE1LjkwMS03LjEzMyAxNS45MDEtMTUuOTAxdi02OS41MmMwLTguNzY4LTcuMTM0LTE1LjkwMS0xNS45MDEtMTUuOTAxaC0xOC45OWMtOC43NjggMC0xNS45IDcuMTMzLTE1LjkgMTUuOTAxdjY5LjUyYzAgOC43NjggNy4xMzIgMTUuOTAxIDE1LjkgMTUuOTAxem0tLjktODUuNDIxYzAtLjQ5Ny40MDQtLjkwMS45LS45MDFoMTguOTljLjQ5NyAwIC45MDEuNDA0LjkwMS45MDF2NjkuNTJjMCAuNDk3LS40MDQuOTAxLS45MDEuOTAxaC0xOC45OWMtLjQ5NiAwLS45LS40MDQtLjktLjkwMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI4Mi41NDcgNDQyLjcwNGgxOC45ODljOC43NjggMCAxNS45MDEtNy4xMzMgMTUuOTAxLTE1LjkwMXYtNjkuNTJjMC04Ljc2OC03LjEzNC0xNS45MDEtMTUuOTAxLTE1LjkwMWgtMTguOTg5Yy04Ljc2OCAwLTE1LjkwMSA3LjEzMy0xNS45MDEgMTUuOTAxdjY5LjUyYzAgOC43NjggNy4xMzMgMTUuOTAxIDE1LjkwMSAxNS45MDF6bS0uOTAxLTg1LjQyMWMwLS40OTcuNDA0LS45MDEuOTAxLS45MDFoMTguOTg5Yy40OTcgMCAuOTAxLjQwNC45MDEuOTAxdjY5LjUyYzAgLjQ5Ny0uNDA0LjkwMS0uOTAxLjkwMWgtMTguOTg5Yy0uNDk3IDAtLjkwMS0uNDA0LS45MDEtLjkwMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM1NC4xMzEgNDQyLjcwNGgxOC45ODljOC43NjggMCAxNS45MDEtNy4xMzMgMTUuOTAxLTE1LjkwMXYtNjkuNTJjMC04Ljc2OC03LjEzNC0xNS45MDEtMTUuOTAxLTE1LjkwMWgtMTguOTg5Yy04Ljc2OCAwLTE1LjkwMSA3LjEzMy0xNS45MDEgMTUuOTAxdjY5LjUyYy0uMDAxIDguNzY4IDcuMTMzIDE1LjkwMSAxNS45MDEgMTUuOTAxem0tLjkwMi04NS40MjFjMC0uNDk3LjQwNC0uOTAxLjkwMS0uOTAxaDE4Ljk4OWMuNDk3IDAgLjkwMS40MDQuOTAxLjkwMXY2OS41MmMwIC40OTctLjQwNC45MDEtLjkwMS45MDFoLTE4Ljk4OWMtLjQ5NyAwLS45MDEtLjQwNC0uOTAxLS45MDF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00MjUuNTIxIDQ0Mi43MDRoMTguOTg5YzguNzY4IDAgMTUuOTAxLTcuMTMzIDE1LjkwMS0xNS45MDF2LTY5LjUyYzAtOC43NjgtNy4xMzQtMTUuOTAxLTE1LjkwMS0xNS45MDFoLTE4Ljk4OWMtOC43NjggMC0xNS45MDEgNy4xMzMtMTUuOTAxIDE1LjkwMXY2OS41MmMwIDguNzY4IDcuMTM0IDE1LjkwMSAxNS45MDEgMTUuOTAxem0tLjkwMS04NS40MjFjMC0uNDk3LjQwNC0uOTAxLjkwMS0uOTAxaDE4Ljk4OWMuNDk3IDAgLjkwMS40MDQuOTAxLjkwMXY2OS41MmMwIC40OTctLjQwNC45MDEtLjkwMS45MDFoLTE4Ljk4OWMtLjQ5NyAwLS45MDEtLjQwNC0uOTAxLS45MDF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zMTYuNDExIDEwNy4yNjhjLTIuOTMtMi45MjktNy42NzgtMi45MjktMTAuNjA3IDBzLTIuOTI5IDcuNjc4IDAgMTAuNjA2bDIzLjUxMiAyMy41MTJjMi45MyAyLjkyOSA3LjY3OCAyLjkyOSAxMC42MDcgMHMyLjkyOS03LjY3OCAwLTEwLjYwNnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM0Mi42MDQgOTIuODMyYy0yLjkzLTIuOTI5LTcuNjc4LTIuOTI5LTEwLjYwNyAwcy0yLjkyOSA3LjY3OCAwIDEwLjYwNmwxMS43NTYgMTEuNzU2YzIuOTMgMi45MjkgNy42NzggMi45MjkgMTAuNjA3IDBzMi45MjktNy42NzggMC0xMC42MDZ6Ii8+DQogICAgPC9nPg0KPC9zdmc+",NNe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTQxMy45MDcgMGMtNTQuMTA0IDAtOTguMTIyIDQ0LjAwNS05OC4xMjIgOTguMDk2djQzLjU4MnMtNjkuODMxLTM2LjkxMi03MS4wNjUtMzcuNTkzYy05LjU0NC01LjI2Ni0xMi4xODUtNS4yNjctMjEuNzMxIDAtMS4yMzQuNjgxLTEzNi4xNDEgNzEuOTU4LTEzNi4xNDEgNzEuOTU4LTExLjQzNyA2LjAxNy0xMy4wNDUgNy43NDUtMTcuODc4IDE1Ljc4My0uNzg4IDEuMzExLTY1LjY5OCAxMDQuMjMtNjUuNjk4IDEwNC4yMy0zLjE3NSA1LjAyMy00LjA3NyAxMC45NjItMi41MzkgMTYuNzIyIDEuNjE3IDYuMDU2IDUuODQgMTEuMjY5IDExLjU3NyAxNC4yOTUgMy42NDYgMS45MyA3LjU4MiAyLjg1IDExLjQ2NSAyLjg1IDYuMjAyIDAgMTIuMjU1LTIuMzU4IDE2Ljc0NS02LjY4OHY2NS4wNDRjMCA0LjE0MiAzLjM1OCA3LjUgNy41IDcuNXM3LjUtMy4zNTggNy41LTcuNXYtODcuNTQxczQ5LjEzNC03Ny44NTUgNDkuNjUyLTc4LjY4MmMyLjMzNC0zLjcyOSAzLjMyOC01LjI4MyA0LjQ5Ni02LjMxOCAxLjMzMy0xLjE4MSAzLjY2NS0yLjQ2NCA4LjY2NS01LjEwN2wxMTMuMDAyLTU5LjY0OWMuODAxLS40MjUgMS40OS0uODAzIDIuMDkzLTEuMTMzLjE0MS0uMDc3LjI4NS0uMTU2LjQyOC0uMjM0LjE0My4wNzguMjg3LjE1Ny40MjguMjM0LjYwMy4zMzEgMS4yOTIuNzA4IDIuMTA5IDEuMTQyIDAgMCAxMTguMTkzIDYyLjQxMyAxMTkuNjQyIDYzLjMxLjg2OS41MzggMS41MDkuOTk1IDIuMDA5IDEuNDM4IDEuMTY3IDEuMDM1IDIuMTYyIDIuNTg5IDQuNDk2IDYuMzE4LjUxOC44MjcgNDkuNjUxIDc4LjY4MSA0OS42NTEgNzguNjgxdjE2MC43MTZoLTg0LjkyMXYtMTA0LjM0aDEyLjYyNWM3LjY1MiAwIDEzLjg3OC02LjIyNiAxMy44NzgtMTMuODc4di0yMS40M2MwLTcuNjUyLTYuMjI2LTEzLjg3OC0xMy44NzgtMTMuODc4aC04NS4xMjJjLTQuMTQyIDAtNy41IDMuMzU4LTcuNSA3LjVzMy4zNTggNy41IDcuNSA3LjVoODR2MTkuMTg2aC0yMDkuODF2LTE5LjE4Nmg5MS4yYzQuMTQyIDAgNy41LTMuMzU4IDcuNS03LjVzLTMuMzU4LTcuNS03LjUtNy41aC05Mi4zMjJjLTcuNjUyIDAtMTMuODc4IDYuMjI2LTEzLjg3OCAxMy44Nzh2MjEuNDNjMCA3LjY1MiA2LjIyNiAxMy44NzggMTMuODc4IDEzLjg3OGgxMi42MjV2MTA0LjMzOWgtODQuOTQ3di0zOC41NjNjMC00LjE0Mi0zLjM1OC03LjUtNy41LTcuNXMtNy41IDMuMzU4LTcuNSA3LjV2NzYuNTM2YzAgNi45MzQgNS42NDEgMTIuNTc0IDEyLjU3NCAxMi41NzRoNDQ1LjkwN2M3LjE2NyAwIDEyLjk5OS01LjgzMiAxMi45OTktMTIuOTk5di00MDAuOTA1Yy4wMDEtNTQuMDkxLTQ0LjAwNC05OC4wOTYtOTguMDkyLTk4LjA5NnptLTI3My40NCA0OTdoLTg0Ljk0OHYtMjAuNTQ2aDg0Ljk0N3YyMC41NDZ6bTE1OS43ODMtMTM5Ljg4Ni02Ni4zODIgNTkuODQ1LTY2LjM4Mi01OS44NDV6bS0xNDQuNzgzIDkuMzU5IDY3LjIwMSA2MC41ODQtNjcuMjAxIDYwLjU4NHptMTIuMDIgMTMwLjUyNyA2Ni4zODItNTkuODQ1IDY2LjM4MSA1OS44NDV6bTE0NC43ODMtOS4zNTktNjcuMjAxLTYwLjU4NCA2Ny4yMDEtNjAuNTg0em05OS45MTkgOS4zNTloLTg0LjkxOXYtMjAuNTQ2aDg0LjkxOXptNTMuNDQ1LTE5OC44MjNjLS4zNDctLjcyLS43MzMtMS40MjctMS4xNjYtMi4xMTdsLTUxLjk0NS04Mi4yNjZoODQuNDc3djg0LjM4M3ptLTEzNC44NDgtMjAwLjA4MWMwLTQ1LjgxOSAzNy4yODgtODMuMDk2IDgzLjEyMi04My4wOTYgNDUuODE2IDAgODMuMDkyIDM3LjI3NiA4My4wOTIgODMuMDk2djEuMjg3aC0xNjYuMjE0em0wIDE2LjI4N2gxNjYuMjE0djg0LjQxMmgtOTMuOTQ5cy0zLjUyMy01LjY1Ni00LjMxMi02Ljk2NmMtNC44MzEtOC4wMzYtNi40NC05Ljc2Ni0xNy44NjgtMTUuNzc4bC01MC4wODYtMjYuNDV2LTM1LjIxOHptOTUuMjQ2IDE4MC4xNzdzLTUwLjI3NS03OS42NTYtNTAuNzgtODAuNDYzYy00Ljc5OS03LjY2NS02LjUxNC05LjgyNS0xMy4yODEtMTMuNjkyLS41MjEtLjI5Ny0xMTkuOTI5LTYzLjQwOC0xMjAuNDgyLTYzLjcxMS01LjEwMS0yLjc5NS03Ljg0Ny0zLjMyLTEyLjA2Ny0xLjU3Mi0uMDM3LjAxNS0uMDc2LjAzNC0uMTEzLjA1LS42MTYuMjU5LTExNy45ODUgNjIuMTk3LTExNy45ODUgNjIuMTk3LTExLjcyNyA2LjItMTIuOTYxIDcuMjk1LTE4Ljg2OCAxNi43MjktLjUwNS44MDctNTAuNzggODAuNDYzLTUwLjc4IDgwLjQ2My0uMDEuMDE2LS4wMTYuMDMzLS4wMjYuMDQ5bC0xMC4yOTQgMTYuMzFjLTIuMzc1IDMuNzY3LTcuODg1IDUuMDk2LTEyLjAzOSAyLjg5NC0yLjA2LTEuMDg2LTMuNTUyLTIuODczLTQuMDkzLTQuOTAxLS4zMTYtMS4xODQtLjQ0Ni0yLjk4NC43MjktNC44NDMgMCAwIDY1LjAzNy0xMDMuMTI0IDY1Ljg3Mi0xMDQuNTEyIDMuNDQ4LTUuNzM0IDMuNDQ4LTUuNzM0IDEyLjAxNy0xMC4yNDMgMCAwIDEzOS4xOTMtNzMuNjM5IDE0MC4wMTItNzQuMDEzLjgyLjM3NCAxNDAuMDEyIDc0LjAxMyAxNDAuMDEyIDc0LjAxMy4wMDMuMDAyLjAwNy4wMDQuMDExLjAwNiA4LjU1OSA0LjUwMiA4LjU1OSA0LjUwMiAxMi4wMDcgMTAuMjM4LjgzNCAxLjM4OCAxLjgxNiAzLjAyIDMuMDU4IDQuOTg3bDYyLjgzMyA5OS41MDljMS4xNjggMS44NiAxLjAzNCAzLjY2OS43MTYgNC44NTktLjU0NCAyLjAzMi0yLjAzMiAzLjgyLTQuMDcyIDQuODk5LTQuMjI2IDIuMjMxLTkuNjQ1LjkyNC0xMi4wNjktMi44OTZsLTEwLjI5Mi0xNi4zMDdjLS4wMS0uMDE3LS4wMTYtLjAzNS0uMDI2LS4wNXptNzAuOTY4IDIwMi40NGgtNjkuODExdi04NC40MTFoNjkuODExem0tNjkuODExLTk5LjQxMXYtNzQuMzg5YzcuMzEzIDcuMDQyIDE4Ljc2MyA4Ljg3NCAyOC4yMzggMy44NzUgNS42LTIuOTY1IDkuNzQ2LTguMDE2IDExLjQzOC0xMy44OTdoMzAuMTM1djg0LjQxMmgtNjkuODExeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjg1LjI2MiAyMzcuODczYzAtMjguMzQ3LTIzLjA2Mi01MS40MDktNTEuNDA4LTUxLjQwOS0yOC4zMzEgMC01MS4zNzkgMjMuMDYyLTUxLjM3OSA1MS40MDlzMjMuMDQ5IDUxLjQwOSA1MS4zNzkgNTEuNDA5YzI4LjM0Ny0uMDAxIDUxLjQwOC0yMy4wNjMgNTEuNDA4LTUxLjQwOXptLTg3Ljc4NyAwYzAtMjAuMDc2IDE2LjMyLTM2LjQwOSAzNi4zNzktMzYuNDA5IDIwLjA3NSAwIDM2LjQwOCAxNi4zMzMgMzYuNDA4IDM2LjQwOXMtMTYuMzMzIDM2LjQwOS0zNi40MDggMzYuNDA5Yy0yMC4wNTktLjAwMS0zNi4zNzktMTYuMzM0LTM2LjM3OS0zNi40MDl6Ii8+DQogICAgPC9nPg0KPC9zdmc+",LNe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTQ5Mi45OTUgMTY2LjQ4OS0zMS45OTUtMjMuOTk2di0xMTIuNDkzYzguMjg0IDAgMTUtNi43MTYgMTUtMTVzLTYuNzE2LTE1LTE1LTE1aC05MGMtOC4yODQgMC0xNSA2LjcxNi0xNSAxNXM2LjcxNiAxNSAxNSAxNXY0NC45OTJsLTg4LjAwOS02Ni4wMDZjLTE1Ljg5My0xMS45MDQtMzguMDktMTEuOTA1LTUzLjk4OS4wMDVsLTIwOS45OTkgMTU3LjVjLTE5Ljg1MyAxNC44OTMtMjMuODkxIDQzLjE1NS05LjAwMSA2My4wMDQgNy4yMiA5LjYyIDE3Ljc1MiAxNS44NTMgMjkuNjU3IDE3LjU1IDIuMTU3LjMwOCA0LjMxLjQ2IDYuNDUuNDU5IDUuMTA5IDAgMTAuMTMtLjg3NiAxNC44OTEtMi41NjR2MjUyLjA2YzAgOC4yODQgNi43MTYgMTUgMTUgMTVoMzYwYzguMjg0IDAgMTUtNi43MTYgMTUtMTV2LTI1Mi4wNjhjNC43NjMgMS42ODUgOS44MDMgMi41NiAxNC45NzggMi41NiAxNC4xIDAgMjcuNTY1LTYuNzI5IDM2LjAyMi0xOCAxNC44ODgtMTkuODQ2IDEwLjg0OS00OC4xMDgtOS4wMDUtNjMuMDAzem0tOTEuOTk1LTEzNi40ODloMzB2ODkuOTkybC0zMC0yMi41em0tMTIwIDI3MmgtNTB2LTkyaDUwem0zMCAwdi0xMDdjMC04LjI4NC02LjcxNi0xNS0xNS0xNWgtODBjLTguMjg0IDAtMTUgNi43MTYtMTUgMTV2MTA3aC0xMDkuOTk5di03Ny4wMDRsMTY0Ljk5OS0xMjMuNzUyIDE2NSAxMjMuNzUzdjc3LjAwM3ptLTIxOS45OTkgMzBoMjA5Ljk5OXYzMGgtNDVjLTguMjg0IDAtMTUgNi43MTYtMTUgMTV2NDVoLTQ1Yy04LjI4NCAwLTE1IDYuNzE2LTE1IDE1djQ1aC05MHptMTE5Ljk5OSAxNTB2LTMwaDQ1YzguMjg0IDAgMTUtNi43MTYgMTUtMTV2LTQ1aDQ1YzguMjg0IDAgMTUtNi43MTYgMTUtMTV2LTQ1aDkwdjE1MHptMjY3LjAwMi0yNzAuNTExYy0yLjg2MyAzLjgxNS03LjI0NSA2LjAwNC0xMi4wMjQgNi4wMDQtMy4yNiAwLTYuMzY1LTEuMDM2LTguOTc5LTIuOTk2bC0xOTEuOTk5LTE0NC4wMDNjLTUuMzMzLTQtMTIuNjY3LTQtMTggMGwtMTkyLjAwOCAxNDQuMDA5Yy0zLjE5MyAyLjM5Ny03LjEzNiAzLjQwOC0xMS4wOTggMi44NDItMy45NzMtLjU2Ni03LjQ4OC0yLjY0Ny05Ljg5Ni01Ljg1Ni00Ljk2MS02LjYxNC0zLjYxMi0xNi4wMzUgMy4wMDYtMjFsMjA5Ljk5MS0xNTcuNDkyYzIuNjUyLTEuOTg3IDUuODMtMi45NzkgOS4wMDctMi45NzkgMy4xNzUgMCA2LjM0OS45OTIgOC45OTYgMi45NzRsMjA5Ljk5NiAxNTcuNDk3YzYuNjIgNC45NjYgNy45NjkgMTQuMzg2IDMuMDA4IDIxeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",jNe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik00ODUuNCwyNzIuMDY3aC04LjUzM3YtMTc5LjJjMC00Mi42NjctMzQuMTMzLTc2LjgtNzYuOC03Ni44Yy0zNy43NywwLTY0LjkzNSwyOC4wMDYtNjcuOTc0LDY5LjA0MQ0KCQkJCWMtMTkuODI5LDMuNzQ4LTM0LjQyNiwyMC44MjYtMzQuNDI2LDQxLjg5MmMwLDUuMTIsMy40MTMsOC41MzMsOC41MzMsOC41MzNoNjguMjY3YzUuMTIsMCw4LjUzMy0zLjQxMyw4LjUzMy04LjUzMw0KCQkJCWMwLTIwLjgzMy0xNC4yNzQtMzcuNzY5LTMzLjc2Ny00MS43NjdjMi41NS0yNy4xMTYsMTguODM2LTUyLjEsNTAuODM0LTUyLjFjMzMuMjgsMCw1OS43MzMsMjYuNDUzLDU5LjczMyw1OS43MzN2MTc5LjJIMjAyLjk3NQ0KCQkJCWMtMy44Ni0xOS42ODEtMjAuODc4LTM0LjEzMy00MS44NDEtMzQuMTMzYy04LjUzMy0xMC4yNC0yMC40OC0xNy4wNjctMzQuMTMzLTE3LjA2N2MtMTYuMjEzLDAtMzAuNzIsOS4zODctMzcuNTQ3LDIzLjA0DQoJCQkJYy02LjgyNy0zLjQxMy0xNC41MDctNS45NzMtMjIuMTg3LTUuOTczYy0yMC45NjMsMC0zNy45ODEsMTQuNDUyLTQxLjg0MSwzNC4xMzNIMjQuNmMtMTQuNTA3LDAtMjUuNiwxMS4wOTMtMjUuNiwyNS42DQoJCQkJYzAsMTQuNTA3LDExLjA5MywyNS42LDI1LjYsMjUuNmgxMC4yNTVsMjMuMDI1LDkxLjMwN2M2LjgyNywyNi40NTMsMzAuNzIsNDUuMjI3LDU4LjAyNyw0NS4yMjdoNi44MjdsLTExLjA5MywyMi4xODcNCgkJCQljLTIuNTYsNC4yNjctMC44NTMsOS4zODcsMy40MTMsMTEuMDkzYzAuODUzLDAuODUzLDIuNTYsMC44NTMsMy40MTMsMC44NTNjMy40MTMsMCw1Ljk3My0xLjcwNyw3LjY4LTQuMjY3TDE0MS4wOCw0NTkuOGgyMzYuOA0KCQkJCWwxNC41MDcsMjkuMDEzYzEuNzA3LDMuNDEzLDQuMjY3LDUuMTIsNy42OCw1LjEyYzEuNzA3LDAsMi41NiwwLDMuNDEzLTEuNzA3YzMuNDEzLTEuNzA3LDUuMTItNi44MjcsMy40MTMtMTEuMDkzDQoJCQkJbC0xMC42ODktMjEuMzc5YzI2LjQxOS0wLjkzOCw0OS4yNjYtMTkuMzksNTUuOTE2LTQ0LjMyOGwyMy4yNC05Mi4xNmgxMC4wNGMxNC41MDcsMCwyNS42LTExLjA5MywyNS42LTI1LjYNCgkJCQlDNTExLDI4My4xNiw0OTkuOTA3LDI3Mi4wNjcsNDg1LjQsMjcyLjA2N3ogTTM2NS4wOCwxMTguNDY3aC00OC42NGMzLjQxMy0xMC4yNCwxMy42NTMtMTcuMDY3LDI0Ljc0Ny0xNy4wNjcNCgkJCQlTMzYxLjY2NywxMDguMjI3LDM2NS4wOCwxMTguNDY3eiBNNjcuMjY3LDI1NWM3LjY4LDAsMTQuNTA3LDMuNDEzLDIwLjQ4LDkuMzg3YzEuNzA3LDIuNTYsNS4xMiwzLjQxMyw4LjUzMywyLjU2DQoJCQkJczUuMTItMy40MTMsNS45NzMtNi44MjdjMi41Ni0xMi44LDEyLjgtMjIuMTg3LDI1LjYtMjIuMTg3YzkuMzg3LDAsMTcuOTIsNC4yNjcsMjIuMTg3LDEyLjhjMS43MDcsMy40MTMsNS45NzMsNS4xMiw5LjM4Nyw0LjI2Nw0KCQkJCWMwLjg1MywwLDEuNzA3LDAsMi41NiwwYzExLjA5MywwLDIwLjQ4LDYuODI3LDIzLjg5MywxNy4wNjdINDMuMzczQzQ2Ljc4NywyNjEuODI3LDU2LjE3MywyNTUsNjcuMjY3LDI1NXogTTQzNi43Niw0MTAuMzA3DQoJCQkJYy01LjEyLDE4Ljc3My0yMi4xODcsMzIuNDI3LTQxLjgxMywzMi40MjdIMTE2Ljc2Yy0xOS42MjcsMC0zNi42OTMtMTMuNjUzLTQxLjgxMy0zMi40MjdsLTIyLjE4Ny04Ny4wNGg0MDQuNDhMNDM2Ljc2LDQxMC4zMDd6DQoJCQkJIE00ODUuNCwzMDYuMmgtMTcuMDY3SDQxLjY2N0gyNC42Yy01LjEyLDAtOC41MzMtMy40MTMtOC41MzMtOC41MzNzMy40MTMtOC41MzMsOC41MzMtOC41MzNoOC41MzNoMTYyLjEzM0g0ODUuNA0KCQkJCWM1LjEyLDAsOC41MzMsMy40MTMsOC41MzMsOC41MzNTNDkwLjUyLDMwNi4yLDQ4NS40LDMwNi4yeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzA2LjIsMTczLjkzM2M1LjEyLDAsOC41MzMtMy40MTMsOC41MzMtOC41MzN2LTQuMjY3YzAtNS4xMi0zLjQxMy04LjUzMy04LjUzMy04LjUzM3MtOC41MzMsMy40MTMtOC41MzMsOC41MzN2NC4yNjcNCgkJCQlDMjk3LjY2NywxNzAuNTIsMzAxLjA4LDE3My45MzMsMzA2LjIsMTczLjkzM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTMwNi4yLDIxMy4xODdjNS4xMiwwLDguNTMzLTQuMjY3LDguNTMzLTguNTMzdi05LjM4N2MwLTUuMTItMy40MTMtOC41MzMtOC41MzMtOC41MzNzLTguNTMzLDMuNDEzLTguNTMzLDguNTMzdjkuMzg3DQoJCQkJQzI5Ny42NjcsMjA5Ljc3MywzMDEuMDgsMjEzLjE4NywzMDYuMiwyMTMuMTg3eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzA2LjIsMjQ2LjQ2N2M1LjEyLDAsOC41MzMtMy40MTMsOC41MzMtOC41MzN2LTQuMjY3YzAtNS4xMi0zLjQxMy04LjUzMy04LjUzMy04LjUzM3MtOC41MzMsMy40MTMtOC41MzMsOC41MzN2NC4yNjcNCgkJCQlDMjk3LjY2NywyNDMuMDUzLDMwMS4wOCwyNDYuNDY3LDMwNi4yLDI0Ni40Njd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0zNDAuMzMzLDE3My45MzNjNS4xMiwwLDguNTMzLTMuNDEzLDguNTMzLTguNTMzdi00LjI2N2MwLTUuMTItMy40MTMtOC41MzMtOC41MzMtOC41MzMNCgkJCQljLTUuMTIsMC04LjUzMywzLjQxMy04LjUzMyw4LjUzM3Y0LjI2N0MzMzEuOCwxNzAuNTIsMzM1LjIxMywxNzMuOTMzLDM0MC4zMzMsMTczLjkzM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTMzMS44LDIwNC42NTNjMCw1LjEyLDMuNDEzLDguNTMzLDguNTMzLDguNTMzYzUuMTIsMCw4LjUzMy00LjI2Nyw4LjUzMy04LjUzM3YtOS4zODdjMC01LjEyLTMuNDEzLTguNTMzLTguNTMzLTguNTMzDQoJCQkJYy01LjEyLDAtOC41MzMsMy40MTMtOC41MzMsOC41MzNWMjA0LjY1M3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTMzMS44LDIzNy45MzNjMCw1LjEyLDMuNDEzLDguNTMzLDguNTMzLDguNTMzYzUuMTIsMCw4LjUzMy0zLjQxMyw4LjUzMy04LjUzM3YtNC4yNjdjMC01LjEyLTMuNDEzLTguNTMzLTguNTMzLTguNTMzDQoJCQkJYy01LjEyLDAtOC41MzMsMy40MTMtOC41MzMsOC41MzNWMjM3LjkzM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTM3NC40NjcsMTczLjkzM2M1LjEyLDAsOC41MzMtMy40MTMsOC41MzMtOC41MzN2LTQuMjY3YzAtNS4xMi0zLjQxMy04LjUzMy04LjUzMy04LjUzM3MtOC41MzMsMy40MTMtOC41MzMsOC41MzN2NC4yNjcNCgkJCQlDMzY1LjkzMywxNzAuNTIsMzY5LjM0NywxNzMuOTMzLDM3NC40NjcsMTczLjkzM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTM2NS45MzMsMjA0LjY1M2MwLDUuMTIsMy40MTMsOC41MzMsOC41MzMsOC41MzNTMzgzLDIwOC45MiwzODMsMjA0LjY1M3YtOS4zODdjMC01LjEyLTMuNDEzLTguNTMzLTguNTMzLTguNTMzDQoJCQkJcy04LjUzMywzLjQxMy04LjUzMyw4LjUzM1YyMDQuNjUzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzY1LjkzMywyMzcuOTMzYzAsNS4xMiwzLjQxMyw4LjUzMyw4LjUzMyw4LjUzM3M4LjUzMy0zLjQxMyw4LjUzMy04LjUzM3YtNC4yNjdjMC01LjEyLTMuNDEzLTguNTMzLTguNTMzLTguNTMzDQoJCQkJcy04LjUzMywzLjQxMy04LjUzMyw4LjUzM1YyMzcuOTMzeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",gNe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTQ5NiwzNDRoLThWMjgwYTMyLjA0MiwzMi4wNDIsMCwwLDAtMzItMzJWMTEyYTMyLjA0MiwzMi4wNDIsMCwwLDAtMzItMzJIODhhMzIuMDQyLDMyLjA0MiwwLDAsMC0zMiwzMlYyNDhhMzIuMDQyLDMyLjA0MiwwLDAsMC0zMiwzMnY2NEgxNmE4LDgsMCwwLDAtOCw4djMyYTgsOCwwLDAsMCw4LDhoOHYzMmE4LDgsMCwwLDAsOCw4SDU2YTcuOTksNy45OSwwLDAsMCw3Ljg0LTYuNDNMNzAuNTYsMzkySDQ0MS40NGw2LjcyLDMzLjU3QTcuOTksNy45OSwwLDAsMCw0NTYsNDMyaDI0YTgsOCwwLDAsMCw4LThWMzkyaDhhOCw4LDAsMCwwLDgtOFYzNTJBOCw4LDAsMCwwLDQ5NiwzNDRaTTcyLDExMkExNi4wMjEsMTYuMDIxLDAsMCwxLDg4LDk2SDQyNGExNi4wMjEsMTYuMDIxLDAsMCwxLDE2LDE2VjI0OEg0MjRWMjE2YTMyLjA0MiwzMi4wNDIsMCwwLDAtMzItMzJIMjk2YTMyLjA0MiwzMi4wNDIsMCwwLDAtMzIsMzJ2MzJIMjQ4VjIxNmEzMi4wNDIsMzIuMDQyLDAsMCwwLTMyLTMySDEyMGEzMi4wNDIsMzIuMDQyLDAsMCwwLTMyLDMydjMySDcyWk00MDgsMjE2djMySDI4MFYyMTZhMTYuMDIxLDE2LjAyMSwwLDAsMSwxNi0xNmg5NkExNi4wMjEsMTYuMDIxLDAsMCwxLDQwOCwyMTZabS0xNzYsMHYzMkgxMDRWMjE2YTE2LjAyMSwxNi4wMjEsMCwwLDEsMTYtMTZoOTZBMTYuMDIxLDE2LjAyMSwwLDAsMSwyMzIsMjE2Wk00MCwyODBhMTYuMDIxLDE2LjAyMSwwLDAsMSwxNi0xNkg0NTZhMTYuMDIxLDE2LjAyMSwwLDAsMSwxNiwxNnY2NEg0MFptOS40NCwxMzZINDBWMzkySDU0LjI0Wk00NzIsNDE2aC05LjQ0bC00LjgtMjRINDcyWm0xNi00MEgyNFYzNjBINDg4WiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",TNe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0NS4zOTMgNDUuMzkzIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJNNDMuNTE4LDEyLjcwOUwyNS4xNzgsMC43MjhjLTEuNTExLTAuOTc4LTMuNDU4LTAuOTY4LTQuOTYsMC4wMjFMMS44NTksMTIuNzE5Yy0xLjE0LDAuNzUxLTEuNDU1LDIuMjg0LTAuNzA1LDMuNDI0DQoJCQljMC43NTEsMS4xNCwyLjI4MywxLjQ1NiwzLjQyNCwwLjcwNEwyMi43MTUsNS4wMjFMNDAuODMsMTYuODU3YzAuNDE2LDAuMjY5LDAuODgxLDAuMzk2LDEuMzQxLDAuMzk2DQoJCQljMC44MTIsMCwxLjYwNC0wLjM5NywyLjA3Ny0xLjEyN0M0NC45OSwxNC45OCw0NC42NjIsMTMuNDUyLDQzLjUxOCwxMi43MDl6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0zOC44NzksMjcuNjE2Yy0wLjE1MS0wLjg2NS0wLjkwMy0xLjUwNS0xLjc4LTEuNTA1aC0xLjAwOGwtMC4zODMtMy45ODdjLTAuNDA5LTQuMjY0LTMuOTQ4LTcuNDktOC4yMzItNy40OUgxNy45Mg0KCQkJYy00LjI4NSwwLTcuODIzLDMuMjI3LTguMjMzLDcuNDlsLTAuMzgyLDMuOTg3SDguMjk2Yy0wLjg3OCwwLTEuNjI5LDAuNjQtMS43ODIsMS41MDVsLTEuNSw4LjUwNA0KCQkJYy0wLjE4NiwxLjA1NCwwLjExMiwyLjEzOSwwLjgsMi45NTdjMC42NjIsMC43ODgsMS42MzcsMS4yNTgsMi42NTcsMS4yOTN2MS40MTJjMCwxLjk5OSwxLjYwMiwzLjYxLDMuNjAzLDMuNjFoMS4xMzgNCgkJCWMxLjk5OSwwLDMuNjI1LTEuNjExLDMuNjI1LTMuNjF2LTEuMzg5aDExLjczMnYxLjM4NmMwLDIsMS42MTMsMy42MTMsMy42MTIsMy42MTNoMS4xMzljMS45OTksMCwzLjYxNC0xLjYxMywzLjYxNC0zLjYxM1Y0MC4zNw0KCQkJYzEuMDItMC4wMzUsMS45ODktMC41MDEsMi42NDktMS4yODhjMC42ODgtMC44MiwwLjk4Mi0xLjg5OSwwLjc5OC0yLjk1NUwzOC44NzksMjcuNjE2eiBNMTEuNjQyLDM3LjExMw0KCQkJYy0xLjY4NywwLTMuMDU1LTEuMzY3LTMuMDU1LTMuMDU2YzAtMS42ODksMS4zNjgtMy4wNTcsMy4wNTUtMy4wNTdjMS42ODgsMCwzLjA1NywxLjM2NywzLjA1NywzLjA1Nw0KCQkJQzE0LjY5OSwzNS43NDYsMTMuMzMsMzcuMTEzLDExLjY0MiwzNy4xMTN6IE0xMi40MDQsMjYuMTExbDAuMzUzLTMuNjc4YzAuMjU3LTIuNjc0LDIuNDc2LTQuNjg4LDUuMTYzLTQuNjg4aDAuNTUxdjEuMTU2DQoJCQljMCwxLjAwMywwLjc5NywxLjgwMiwxLjc5OSwxLjgwMmg0Ljg1NmMxLjAwMiwwLDEuODEzLTAuNzk5LDEuODEzLTEuODAydi0xLjE1NWgwLjUzN2MyLjY4NywwLDQuOTA2LDIuMDE0LDUuMTYyLDQuNjg4DQoJCQlsMC4zNTQsMy42NzhMMTIuNDA0LDI2LjExMUwxMi40MDQsMjYuMTExeiBNMzMuNzUsMzcuMTEzYy0xLjY4NywwLTMuMDU1LTEuMzY3LTMuMDU1LTMuMDU2YzAtMS42ODksMS4zNjgtMy4wNTcsMy4wNTUtMy4wNTcNCgkJCWMxLjY4OCwwLDMuMDU3LDEuMzY3LDMuMDU3LDMuMDU3QzM2LjgwNywzNS43NDYsMzUuNDM4LDM3LjExMywzMy43NSwzNy4xMTN6Ii8+DQogICAgPC9nPg0KPC9zdmc+DQo=",yNe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik00OTQuNTk0LDM5NC4yMzdoLTE5LjQ2MWMxMi45NTQtMTkuNTQzLDIwLjUxMi00Mi45NTgsMjAuNTEyLTY4LjEwOWMwLTY4LjE1Ny01NS40NDktMTIzLjYwNi0xMjMuNjA2LTEyMy42MDYNCgkJCWMtNy4xNzEsMC0xNC4yLDAuNjIyLTIxLjA0LDEuNzk5YzE3Ljg1My0yMS40MzUsMjguNjA4LTQ4Ljk3OSwyOC42MDgtNzguOTlDMzc5LjYwNiw1Ny4xNzQsMzI0LjE1NywxLjcyNCwyNTYsMS43MjQNCgkJCWMtNjguMTU3LDAtMTIzLjYwNiw1NS40NDktMTIzLjYwNiwxMjMuNjA2YzAsMzAuMDEyLDEwLjc1NSw1Ny41NTUsMjguNjA4LDc4Ljk5Yy02Ljg0LTEuMTc4LTEzLjg2OS0xLjc5OS0yMS4wNC0xLjc5OQ0KCQkJYy02OC4xNTcsMC0xMjMuNjA2LDU1LjQ0OS0xMjMuNjA2LDEyMy42MDZjMCwyNS4xNTEsNy41NTgsNDguNTY3LDIwLjUxMiw2OC4xMDlIMTcuNDA2TDAsNTEwLjI3Nmg5My4yOTRsMTUuMTM1LTIwLjE4MWg2My4wNjQNCgkJCWwxNS4xMzUsMjAuMTgxaDEzOC43NDJsMTUuMTM1LTIwLjE4MWg2My4wNjRsMTUuMTM1LDIwLjE4MUg1MTJMNDk0LjU5NCwzOTQuMjM3eiBNNDY5LjUxOSwzNzMuNjdsLTEzLjE0Mi03LjU4OA0KCQkJYzQuNzM2LTkuOTU4LDcuNzYtMjAuODgxLDguNjg4LTMyLjM4N2gxNS4xNzVDNDc5LjI1NCwzNDcuOTQ4LDQ3NS41MDMsMzYxLjQ1LDQ2OS41MTksMzczLjY3eiBNNDA5Ljg3NywzOTQuNTMzdi0xMzYuODENCgkJCWMyNC4wNDUsMTMuMzU0LDQwLjM2MSwzOS4wMDUsNDAuMzYxLDY4LjQwNVM0MzMuOTIyLDM4MS4xNzgsNDA5Ljg3NywzOTQuNTMzeiBNNDE5LjU4MSw0MjMuNjA4DQoJCQljLTEyLjIyLDUuOTg0LTI1LjcyMiw5LjczNC0zOS45NzUsMTAuNzIydi0xNS4xNzVjMTEuNTA2LTAuOTI3LDIyLjQyOS0zLjk1MSwzMi4zODctOC42ODhMNDE5LjU4MSw0MjMuNjA4eiBNNDQ4Ljc4NywzNzkuMTc2DQoJCQlsMTMuMTQ4LDcuNTkxYy03Ljc5NCwxMS41MTctMTcuNzQsMjEuNDYzLTI5LjI1NiwyOS4yNTZsLTcuNTkxLTEzLjE0OEM0MzQuMzM2LDM5Ni40NjQsNDQyLjM3NSwzODguNDI1LDQ0OC43ODcsMzc5LjE3NnoNCgkJCSBNNDgwLjI0MSwzMTguNTZoLTE1LjE3NWMtMC45MjctMTEuNTA2LTMuOTUxLTIyLjQyOS04LjY4OC0zMi4zODdsMTMuMTQyLTcuNTg4QzQ3NS41MDMsMjkwLjgwNSw0NzkuMjU0LDMwNC4zMDcsNDgwLjI0MSwzMTguNTZ6DQoJCQkgTTQzMi42NzgsMjM2LjIzMWMxMS41MTYsNy43OTQsMjEuNDYzLDE3Ljc0LDI5LjI1NiwyOS4yNTZsLTEzLjE0OCw3LjU5MWMtNi40MTItOS4yNDktMTQuNDUtMTcuMjg3LTIzLjY5OS0yMy42OTkNCgkJCUw0MzIuNjc4LDIzNi4yMzF6IE00MTEuOTk0LDI0MS43ODljLTkuOTU4LTQuNzM2LTIwLjg4MS03Ljc2LTMyLjM4Ny04LjY4OHYtMTUuMTc2YzE0LjI1MiwwLjk4NywyNy43NTQsNC43MzgsMzkuOTc0LDEwLjcyMg0KCQkJTDQxMS45OTQsMjQxLjc4OXogTTM5NC43NDIsMjUxLjN2MTQ5LjY1NWMtNy4xODksMi4xODYtMTQuODEsMy4zNzItMjIuNzAzLDMuMzcyYy03Ljg5NCwwLTE1LjUxNC0xLjE4Ny0yMi43MDMtMy4zNzJWMjUxLjMNCgkJCWM3LjE4OS0yLjE4NiwxNC44MS0zLjM3MiwyMi43MDMtMy4zNzJDMzc5LjkzMiwyNDcuOTI4LDM4Ny41NTIsMjQ5LjExNCwzOTQuNzQyLDI1MS4zeiBNMTc3LjgsMzk0LjUzM3YtMTM2LjgxDQoJCQljMjQuMDQ1LDEzLjM1NCw0MC4zNjEsMzkuMDA1LDQwLjM2MSw2OC40MDVTMjAxLjg0NSwzODEuMTc4LDE3Ny44LDM5NC41MzN6IE0xODcuNTA0LDQyMy42MDgNCgkJCWMtMTIuMjIsNS45ODQtMjUuNzIyLDkuNzM0LTM5Ljk3NSwxMC43MjJ2LTE1LjE3NWMxMS41MDYtMC45MjcsMjIuNDI5LTMuOTUxLDMyLjM4Ny04LjY4OEwxODcuNTA0LDQyMy42MDh6IE0yODIuMTQyLDI2NS40ODgNCgkJCWM3Ljc5NC0xMS41MTcsMTcuNzQtMjEuNDYzLDI5LjI1Ni0yOS4yNTZsNy41OTEsMTMuMTQ4Yy05LjI0OSw2LjQxMi0xNy4yODcsMTQuNDUtMjMuNjk5LDIzLjY5OUwyODIuMTQyLDI2NS40ODh6IE0yODcuNywyODYuMTczDQoJCQljLTQuNzM2LDkuOTU4LTcuNzYsMjAuODgxLTguNjg4LDMyLjM4N2gtMTUuMTc1YzAuOTg3LTE0LjI1Myw0LjczNy0yNy43NTQsMTAuNzIyLTM5Ljk3NUwyODcuNywyODYuMTczeiBNMzE2LjY0LDIxNS4yMjcNCgkJCWwtNy41OTEtMTMuMTQ4YzkuMjQ5LTYuNDEyLDE3LjI4Ny0xNC40NSwyMy42OTktMjMuNjk5bDEzLjE0OCw3LjU5MUMzMzguMTAzLDE5Ny40ODcsMzI4LjE1NywyMDcuNDMzLDMxNi42NCwyMTUuMjI3eg0KCQkJIE0yOTMuODM5LDE5My43MzZWNTYuOTI1QzMxNy44ODQsNzAuMjgsMzM0LjIsOTUuOTMsMzM0LjIsMTI1LjMzMVMzMTcuODg0LDE4MC4zODEsMjkzLjgzOSwxOTMuNzM2eiBNMjk1Ljk1NSwyMDkuNjY5DQoJCQlsNy41ODcsMTMuMTQyYy0xMi4yMiw1Ljk4NC0yNS43MjIsOS43MzQtMzkuOTc1LDEwLjcyMnYtMTUuMTc1QzI3NS4wNzQsMjE3LjQzLDI4NS45OTYsMjE0LjQwNywyOTUuOTU1LDIwOS42Njl6IE0yNzcuMDQsMjQ3LjEzOA0KCQkJYy04Ljk1MSwxMC43NDctMTYuMTE5LDIzLjAyOC0yMS4wNCwzNi4zODljLTQuOTIxLTEzLjM2MS0xMi4wODktMjUuNjQxLTIxLjA0LTM2LjM4OWM2Ljg0LDEuMTc4LDEzLjg2OSwxLjc5OSwyMS4wNCwxLjc5OQ0KCQkJQzI2My4xNzEsMjQ4LjkzNywyNzAuMiwyNDguMzE1LDI3Ny4wNCwyNDcuMTM4eiBNMjQ4LjE2NCwzMTguNTZoLTE1LjE3NWMtMC45MjctMTEuNTA2LTMuOTUxLTIyLjQyOS04LjY4OC0zMi4zODdsMTMuMTQyLTcuNTg4DQoJCQlDMjQzLjQyNiwyOTAuODA1LDI0Ny4xNzcsMzA0LjMwNywyNDguMTY0LDMxOC41NnogTTI0OC40MzEsMjMzLjUzM2MtMTQuMjUyLTAuOTg3LTI3Ljc1NC00LjczOC0zOS45NzQtMTAuNzIybDcuNTg3LTEzLjE0Mg0KCQkJYzkuOTU4LDQuNzM2LDIwLjg4MSw3Ljc2LDMyLjM4Nyw4LjY4OFYyMzMuNTMzeiBNMjE4LjE2MSwxOTMuNzM2Yy0yNC4wNDUtMTMuMzU0LTQwLjM2MS0zOS4wMDUtNDAuMzYxLTY4LjQwNQ0KCQkJYzAtMjkuNCwxNi4zMTYtNTUuMDUxLDQwLjM2MS02OC40MDVWMTkzLjczNnogTTE3OS4yNTEsMTc4LjM3OWM2LjQxMiw5LjI0OSwxNC40NSwxNy4yODcsMjMuNjk5LDIzLjY5OWwtNy41OTEsMTMuMTQ4DQoJCQljLTExLjUxNi03Ljc5NC0yMS40NjMtMTcuNzQtMjkuMjU2LTI5LjI1NkwxNzkuMjUxLDE3OC4zNzl6IE0yMDAuNjAxLDIzNi4yMzFjMTEuNTE2LDcuNzk0LDIxLjQ2MywxNy43NCwyOS4yNTYsMjkuMjU2DQoJCQlsLTEzLjE0OCw3LjU5MWMtNi40MTItOS4yNDktMTQuNDUtMTcuMjg3LTIzLjY5OS0yMy42OTlMMjAwLjYwMSwyMzYuMjMxeiBNMjE2LjcxLDM3OS4xNzZsMTMuMTQ4LDcuNTkxDQoJCQljLTcuNzk0LDExLjUxNy0xNy43NCwyMS40NjMtMjkuMjU2LDI5LjI1NmwtNy41OTEtMTMuMTQ4QzIwMi4yNTksMzk2LjQ2NCwyMTAuMjk4LDM4OC40MjUsMjE2LjcxLDM3OS4xNzZ6IE0yMjQuMywzNjYuMDgyDQoJCQljNC43MzYtOS45NTgsNy43Ni0yMC44ODEsOC42ODgtMzIuMzg3aDE1LjE3NWMtMC45ODcsMTQuMjUzLTQuNzM3LDI3Ljc1NC0xMC43MjIsMzkuOTc1TDIyNC4zLDM2Ni4wODJ6IE0yNTYsMzY4LjcyOQ0KCQkJYzMuMzMyLDkuMDQ1LDcuNjk3LDE3LjU5MywxMi45NDQsMjUuNTA4aC0yNS44ODhDMjQ4LjMwMywzODYuMzIxLDI1Mi42NjgsMzc3Ljc3NCwyNTYsMzY4LjcyOXogTTI2My44MzYsMzMzLjY5NWgxNS4xNzUNCgkJCWMwLjkyNywxMS41MDYsMy45NTEsMjIuNDI5LDguNjg4LDMyLjM4N2wtMTMuMTQyLDcuNTg4QzI2OC41NzQsMzYxLjQ1LDI2NC44MjMsMzQ3Ljk0OCwyNjMuODM2LDMzMy42OTV6IE0yOTUuMjksMzc5LjE3Ng0KCQkJYzYuNDEyLDkuMjQ5LDE0LjQ1LDE3LjI4NywyMy42OTksMjMuNjk5bC03LjU5MSwxMy4xNDhjLTExLjUxNi03Ljc5NC0yMS40NjMtMTcuNzQtMjkuMjU2LTI5LjI1NkwyOTUuMjksMzc5LjE3NnoNCgkJCSBNMjkzLjgzOSwzMjYuMTI4YzAtMjkuNCwxNi4zMTYtNTUuMDUxLDQwLjM2MS02OC40MDV2MTM2LjgxQzMxMC4xNTUsMzgxLjE3OCwyOTMuODM5LDM1NS41MjgsMjkzLjgzOSwzMjYuMTI4eiBNMzMyLjA4NCw0MTAuNDY2DQoJCQljOS45NTgsNC43MzYsMjAuODgxLDcuNzYsMzIuMzg3LDguNjg4djE1LjE3NWMtMTQuMjUzLTAuOTg3LTI3Ljc1NC00LjczOC0zOS45NzUtMTAuNzIyTDMzMi4wODQsNDEwLjQ2NnogTTM2NC40NzEsMjE3LjkyNVYyMzMuMQ0KCQkJYy0xMS41MDYsMC45MjctMjIuNDI5LDMuOTUxLTMyLjM4Nyw4LjY4OGwtNy41ODctMTMuMTQyQzMzNi43MTYsMjIyLjY2MywzNTAuMjE4LDIxOC45MTIsMzY0LjQ3MSwyMTcuOTI1eiBNMzUzLjQ4LDE3Mi44NzMNCgkJCWwtMTMuMTQyLTcuNTg4YzQuNzM2LTkuOTU4LDcuNzYtMjAuODgxLDguNjg4LTMyLjM4N2gxNS4xNzVDMzYzLjIxNiwxNDcuMTUxLDM1OS40NjUsMTYwLjY1MywzNTMuNDgsMTcyLjg3M3ogTTM2NC4yMDIsMTE3Ljc2Mw0KCQkJaC0xNS4xNzVjLTAuOTI3LTExLjUwNi0zLjk1MS0yMi40MjktOC42ODgtMzIuMzg3bDEzLjE0Mi03LjU4OEMzNTkuNDY1LDkwLjAwOCwzNjMuMjE2LDEwMy41MSwzNjQuMjAyLDExNy43NjN6IE0zMTYuNjQsMzUuNDM0DQoJCQljMTEuNTE2LDcuNzk0LDIxLjQ2MywxNy43NCwyOS4yNTYsMjkuMjU2bC0xMy4xNDgsNy41OTFjLTYuNDEyLTkuMjQ5LTE0LjQ1LTE3LjI4Ny0yMy42OTktMjMuNjk5TDMxNi42NCwzNS40MzR6IE0yOTUuOTU2LDQwLjk5Mg0KCQkJYy05Ljk1OC00LjczNi0yMC44ODEtNy43Ni0zMi4zODctOC42ODhWMTcuMTI4YzE0LjI1MiwwLjk4NywyNy43NTQsNC43MzgsMzkuOTc0LDEwLjcyMkwyOTUuOTU2LDQwLjk5MnogTTI3OC43MDMsNTAuNTAzdjE0OS42NTUNCgkJCWMtNy4xODksMi4xODYtMTQuODEsMy4zNzItMjIuNzAzLDMuMzcyYy03Ljg5NCwwLTE1LjUxNC0xLjE4Ny0yMi43MDMtMy4zNzJWNTAuNTAzYzcuMTg5LTIuMTg2LDE0LjgxLTMuMzcyLDIyLjcwMy0zLjM3Mg0KCQkJQzI2My44OTQsNDcuMTMxLDI3MS41MTQsNDguMzE3LDI3OC43MDMsNTAuNTAzeiBNMjQ4LjQzMiwxNy4xMjh2MTUuMTc1Yy0xMS41MDYsMC45MjctMjIuNDI5LDMuOTUxLTMyLjM4Nyw4LjY4OGwtNy41ODctMTMuMTQyDQoJCQlDMjIwLjY3OCwyMS44NjYsMjM0LjE4LDE4LjExNSwyNDguNDMyLDE3LjEyOHogTTE5NS4zNiwzNS40MzRsNy41OTEsMTMuMTQ4Yy05LjI0OSw2LjQxMi0xNy4yODcsMTQuNDUtMjMuNjk5LDIzLjY5OQ0KCQkJbC0xMy4xNDgtNy41OTFDMTczLjg5Nyw1My4xNzQsMTgzLjg0Myw0My4yMjgsMTk1LjM2LDM1LjQzNHogTTE1OC41Miw3Ny43ODhsMTMuMTQyLDcuNTg4Yy00LjczNiw5Ljk1OC03Ljc2LDIwLjg4MS04LjY4OCwzMi4zODcNCgkJCWgtMTUuMTc1QzE0OC43ODUsMTAzLjUxLDE1Mi41MzUsOTAuMDA4LDE1OC41Miw3Ny43ODh6IE0xNTguNTIsMTcyLjg3M2MtNS45ODQtMTIuMjItOS43MzUtMjUuNzIyLTEwLjcyMi0zOS45NzVoMTUuMTc1DQoJCQljMC45MjcsMTEuNTA2LDMuOTUxLDIyLjQyOSw4LjY4OCwzMi4zODdMMTU4LjUyLDE3Mi44NzN6IE0xODcuNTA0LDIyOC42NDdsLTcuNTg3LDEzLjE0MmMtOS45NTgtNC43MzYtMjAuODgxLTcuNzYtMzIuMzg3LTguNjg4DQoJCQl2LTE1LjE3NkMxNjEuNzgyLDIxOC45MTIsMTc1LjI4NCwyMjIuNjY0LDE4Ny41MDQsMjI4LjY0N3ogTTE2Mi42NjUsMjUxLjN2MTQ5LjY1NWMtNy4xODksMi4xODYtMTQuODEsMy4zNzItMjIuNzAzLDMuMzcyDQoJCQljLTcuODk0LDAtMTUuNTE0LTEuMTg3LTIyLjcwMy0zLjM3MlYyNTEuM2M3LjE4OS0yLjE4NiwxNC44MS0zLjM3MiwyMi43MDMtMy4zNzJDMTQ3Ljg1NSwyNDcuOTI4LDE1NS40NzUsMjQ5LjExNCwxNjIuNjY1LDI1MS4zeg0KCQkJIE02MS43NjIsMzI2LjEyOGMwLTI5LjQsMTYuMzE2LTU1LjA1MSw0MC4zNjEtNjguNDA1djEzNi44MUM3OC4wNzgsMzgxLjE3OCw2MS43NjIsMzU1LjUyOCw2MS43NjIsMzI2LjEyOHogTTg2LjkxMyw0MDIuODc2DQoJCQlsLTcuNTkxLDEzLjE0OGMtMTEuNTE2LTcuNzk0LTIxLjQ2My0xNy43NC0yOS4yNTYtMjkuMjU2bDEzLjE0OC03LjU5MUM2OS42MjUsMzg4LjQyNSw3Ny42NjQsMzk2LjQ2NCw4Ni45MTMsNDAyLjg3NnoNCgkJCSBNMTAwLjAwNyw0MTAuNDY2YzkuOTU4LDQuNzM2LDIwLjg4MSw3Ljc2LDMyLjM4Nyw4LjY4OHYxNS4xNzVjLTE0LjI1My0wLjk4Ny0yNy43NTQtNC43MzgtMzkuOTc1LTEwLjcyMkwxMDAuMDA3LDQxMC40NjZ6DQoJCQkgTTEzMi4zOTQsMjE3LjkyNVYyMzMuMWMtMTEuNTA2LDAuOTI3LTIyLjQyOSwzLjk1MS0zMi4zODcsOC42ODhsLTcuNTg3LTEzLjE0MkMxMDQuNjM5LDIyMi42NjMsMTE4LjE0MSwyMTguOTEyLDEzMi4zOTQsMjE3LjkyNQ0KCQkJeiBNNzkuMzIyLDIzNi4yMzFsNy41OTEsMTMuMTQ4Yy05LjI0OSw2LjQxMi0xNy4yODcsMTQuNDUtMjMuNjk5LDIzLjY5OWwtMTMuMTQ4LTcuNTkxDQoJCQlDNTcuODU5LDI1My45NzEsNjcuODA1LDI0NC4wMjUsNzkuMzIyLDIzNi4yMzF6IE00Mi40ODEsMjc4LjU4NWwxMy4xNDIsNy41ODhjLTQuNzM2LDkuOTU4LTcuNzYsMjAuODgxLTguNjg4LDMyLjM4N0gzMS43NTkNCgkJCUMzMi43NDYsMzA0LjMwNywzNi40OTcsMjkwLjgwNSw0Mi40ODEsMjc4LjU4NXogTTMxLjc1OSwzMzMuNjk1aDE1LjE3NWMwLjkyNywxMS41MDYsMy45NTEsMjIuNDI5LDguNjg4LDMyLjM4N0w0Mi40OCwzNzMuNjcNCgkJCUMzNi40OTcsMzYxLjQ1LDMyLjc0NiwzNDcuOTQ4LDMxLjc1OSwzMzMuNjk1eiBNNDI2LjI3NCw0OTUuMTRsLTE1LjEzNS0yMC4xODFoLTc4LjJsLTE1LjEzNSwyMC4xODFIMTk0LjE5N2wtMTUuMTM1LTIwLjE4MQ0KCQkJaC03OC4yTDg1LjcyNiw0OTUuMTRIMTcuNTc1bDEyLjg2NS04NS43NjhoMTguMjNjMjIuNjIsMjQuNzg2LDU1LjE3MSw0MC4zNjEsOTEuMjkxLDQwLjM2MXM2OC42NzEtMTUuNTc1LDkxLjI5MS00MC4zNjFoNDkuNDk0DQoJCQljMjIuNjIsMjQuNzg2LDU1LjE3MSw0MC4zNjEsOTEuMjkxLDQwLjM2MXM2OC42NzEtMTUuNTc1LDkxLjI5MS00MC4zNjFoMTguMjNsMTIuODY1LDg1Ljc2OEg0MjYuMjc0eiIvPg0KICAgICAgICA8cmVjdCB4PSIzMDUuOTQ4IiB5PSIxMTYuNzU1IiB3aWR0aD0iMTUuMTM1IiBoZWlnaHQ9IjE1LjEzNSIvPg0KICAgICAgICA8cmVjdCB4PSIxOTAuOTE5IiB5PSIxMTYuNzU1IiB3aWR0aD0iMTUuMTM1IiBoZWlnaHQ9IjE1LjEzNSIvPg0KICAgICAgICA8cmVjdCB4PSIyNDguNDMzIiB5PSIxMTEuMjA1IiB3aWR0aD0iMTUuMTM1IiBoZWlnaHQ9IjE1LjEzNSIvPg0KICAgICAgICA8cmVjdCB4PSIyNDguNDMzIiB5PSI2NS43OTkiIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMzAuMjcxIi8+DQogICAgICAgIDxyZWN0IHg9IjI0OC40MzMiIHk9IjE3MS43NDciIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMTUuMTM1Ii8+DQogICAgICAgIDxyZWN0IHg9IjQyMS45ODYiIHk9IjMxNy41NTIiIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMTUuMTM1Ii8+DQogICAgICAgIDxyZWN0IHg9IjMwNi45NTciIHk9IjMxNy41NTIiIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMTUuMTM1Ii8+DQogICAgICAgIDxyZWN0IHg9IjM2NC40NzIiIHk9IjMxMi4wMDIiIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMTUuMTM1Ii8+DQogICAgICAgIDxyZWN0IHg9IjM2NC40NzIiIHk9IjI2Ni41OTYiIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMzAuMjcxIi8+DQogICAgICAgIDxyZWN0IHg9IjM2NC40NzIiIHk9IjM3Mi41NDQiIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMTUuMTM1Ii8+DQogICAgICAgIDxyZWN0IHg9IjE4OS45MSIgeT0iMzE3LjU1MiIgd2lkdGg9IjE1LjEzNSIgaGVpZ2h0PSIxNS4xMzUiLz4NCiAgICAgICAgPHJlY3QgeD0iNzQuODgiIHk9IjMxNy41NTIiIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMTUuMTM1Ii8+DQogICAgICAgIDxyZWN0IHg9IjEzMi4zOTUiIHk9IjMxMi4wMDIiIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMTUuMTM1Ii8+DQogICAgICAgIDxyZWN0IHg9IjEzMi4zOTUiIHk9IjI2Ni41OTYiIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMzAuMjcxIi8+DQogICAgICAgIDxyZWN0IHg9IjEzMi4zOTUiIHk9IjM3Mi41NDQiIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMTUuMTM1Ii8+DQogICAgICAgIDxyZWN0IHg9IjQ2MS4zODciIHk9IjQ3MC44ODEiIHRyYW5zZm9ybT0ibWF0cml4KDAuOTg4OSAtMC4xNDgzIDAuMTQ4MyAwLjk4ODkgLTY1Ljc3MiA3NC44NDExKSINCiAgICAgICAgICAgICAgd2lkdGg9IjE1LjEzNSIgaGVpZ2h0PSIxNS4xMzUiLz4NCiAgICAgICAgPHJlY3QgeD0iNDU2LjIxIiB5PSI0MzEuOTM1IiB0cmFuc2Zvcm09Im1hdHJpeCgwLjk4ODkgLTAuMTQ4MyAwLjE0ODMgMC45ODg5IC02MC43MTk5IDczLjY5MDMpIg0KICAgICAgICAgICAgICB3aWR0aD0iMTUuMTM1IiBoZWlnaHQ9IjI0LjE0NSIvPg0KICAgICAgICA8cmVjdCB4PSIyNDguNDMzIiB5PSI0NjQuODciIHdpZHRoPSI0NS40MDYiIGhlaWdodD0iMTUuMTM1Ii8+DQogICAgICAgIDxyZWN0IHg9IjIxOC4xNjIiIHk9IjQ2NC44NyIgd2lkdGg9IjE1LjEzNSIgaGVpZ2h0PSIxNS4xMzUiLz4NCiAgICAgICAgPHJlY3QgeD0iMjYzLjU2OSIgeT0iNDI0LjUwOSIgd2lkdGg9IjE1LjEzNSIgaGVpZ2h0PSIxNS4xMzUiLz4NCiAgICAgICAgPHJlY3QgeD0iMjMzLjI5OCIgeT0iNDI0LjUwOSIgd2lkdGg9IjE1LjEzNSIgaGVpZ2h0PSIxNS4xMzUiLz4NCiAgICAgICAgPHJlY3QgeD0iMzYuMTI3IiB5PSI0MzYuNDYxIiB0cmFuc2Zvcm09Im1hdHJpeCgwLjE0ODMgLTAuOTg4OSAwLjk4ODkgMC4xNDgzIC0zOTguMDY3NSA0MjUuODQyNykiDQogICAgICAgICAgICAgIHdpZHRoPSIyNC4xNDUiIGhlaWdodD0iMTUuMTM1Ii8+DQogICAgICAgIDxyZWN0IHg9IjM1LjQ2OCIgeT0iNDcwLjg2IiB0cmFuc2Zvcm09Im1hdHJpeCgwLjE0ODMgLTAuOTg4OSAwLjk4ODkgMC4xNDgzIC00MzYuNDgzOCA0NTAuMDMyNSkiDQogICAgICAgICAgICAgIHdpZHRoPSIxNS4xMzUiIGhlaWdodD0iMTUuMTM1Ii8+DQogICAgPC9nPg0KPC9zdmc+DQo=",DNe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTYxLDIxSDNhMSwxLDAsMCwwLDAsMkg2MWExLDEsMCwwLDAsMC0yWiIvPg0KICAgICAgICA8cGF0aCBkPSJNNjEsMkg0OWExLDEsMCwwLDAtMSwxVjE3SDQ2di0uNzY0YTEwLjUzMywxMC41MzMsMCwwLDAtMS4xLTQuNjgzQTguNTIyLDguNTIyLDAsMCwxLDQ0LDcuNzY0VjNhMSwxLDAsMCwwLTEtMUgzOWExLDEsMCwwLDAtMSwxVjcuNzY0YTguNTIyLDguNTIyLDAsMCwxLS45LDMuNzg5Yy0uMDM5LjA4LS4wNjcuMTY1LS4xLjI0Ni0uMDM4LS4wODEtLjA2Ni0uMTY2LS4xLS4yNDZBOC41MjIsOC41MjIsMCwwLDEsMzYsNy43NjRWM2ExLDEsMCwwLDAtMS0xSDMxYTEsMSwwLDAsMC0xLDFWNy43NjRhOC41MjIsOC41MjIsMCwwLDEtLjg5NSwzLjc4OUExMC41MzMsMTAuNTMzLDAsMCwwLDI4LDE2LjIzNlYxN0gxOFYxMC40MTRhMi4zOTQsMi4zOTQsMCwwLDEsLjcwNy0xLjcwNkE0LjM4NSw0LjM4NSwwLDAsMCwyMCw1LjU4NlY0aDJWNS41ODZhNC4zODUsNC4zODUsMCwwLDAsMS4yOTMsMy4xMjJBMi4zOTQsMi4zOTQsMCwwLDEsMjQsMTAuNDE0VjE0YTEsMSwwLDAsMCwyLDBWMTAuNDE0YTQuMzg1LDQuMzg1LDAsMCwwLTEuMjkzLTMuMTIyQTIuMzk0LDIuMzk0LDAsMCwxLDI0LDUuNTg2VjNhMSwxLDAsMCwwLTEtMUgxOWExLDEsMCwwLDAtMSwxVjUuNTg2YTIuMzk0LDIuMzk0LDAsMCwxLS43MDcsMS43MDZBNC41MTUsNC41MTUsMCwwLDAsMTcsNy42NDlhNC41MTUsNC41MTUsMCwwLDAtLjI5My0uMzU3QTIuMzk0LDIuMzk0LDAsMCwxLDE2LDUuNTg2VjNhMSwxLDAsMCwwLTEtMUgxMWExLDEsMCwwLDAtMSwxVjUuNTg2YTIuMzk0LDIuMzk0LDAsMCwxLS43MDcsMS43MDZBNC4zODUsNC4zODUsMCwwLDAsOCwxMC40MTRWMTdIM2ExLDEsMCwwLDAsMCwySDYxYTEsMSwwLDAsMCwwLTJINTBWMTRINjBhMSwxLDAsMCwwLDIsMFYzQTEsMSwwLDAsMCw2MSwyWk00Miw0VjdINDBWNFpNMTAuNzA3LDguNzA4QTQuMzg1LDQuMzg1LDAsMCwwLDEyLDUuNTg2VjRoMlY1LjU4NmE0LjM4NSw0LjM4NSwwLDAsMCwxLjI5MywzLjEyMkEyLjM5NCwyLjM5NCwwLDAsMSwxNiwxMC40MTRWMTJIMTBWMTAuNDE0QTIuMzk0LDIuMzk0LDAsMCwxLDEwLjcwNyw4LjcwOFpNMTAsMTRoNnYzSDEwWm0yMCwyLjIzNmE4LjUyMiw4LjUyMiwwLDAsMSwuODk1LTMuNzg5QTEwLjUzMywxMC41MzMsMCwwLDAsMzIsNy43NjRWNGgyVjcuNzY0YTEwLjUzMywxMC41MzMsMCwwLDAsMS4xLDQuNjgzLDguNTIyLDguNTIyLDAsMCwxLC45LDMuNzg5VjE3SDMwWk0zOCwxN3YtLjc2NGE4LjUyMiw4LjUyMiwwLDAsMSwuOS0zLjc4OUExMC41NDEsMTAuNTQxLDAsMCwwLDM5LjkyNCw5aDIuMTUyYTEwLjU0MSwxMC41NDEsMCwwLDAsMS4wMjksMy40NDcsOC41MjIsOC41MjIsMCwwLDEsLjksMy43ODlWMTdaTTYwLDRWNkg1MFY0Wk01MCwxMlY4SDYwdjRaIi8+DQogICAgICAgIDxwYXRoIGQ9Ik02MSw0NEgzYTEsMSwwLDAsMCwwLDJINjBWNjBINDZWNDlhMSwxLDAsMCwwLTIsMFY2MEg0MlY1M2ExLDEsMCwwLDAtMS0xSDI2YTEsMSwwLDAsMC0xLDF2N0gyMlY0OWExLDEsMCwwLDAtMS0xSDVhMSwxLDAsMCwwLTEsMVY2MEgzYTEsMSwwLDAsMCwwLDJINjFhMSwxLDAsMCwwLDEtMVY0NUExLDEsMCwwLDAsNjEsNDRaTTQwLDU2SDM3VjU0aDNabS01LDBIMzJWNTRoM1ptLTUtMnYySDI3VjU0Wk0yMCw1Mi4zODJhMy45NDcsMy45NDcsMCwwLDAtNiwwVjUwaDZaTTE5LDU1YTIsMiwwLDEsMS0yLTJBMiwyLDAsMCwxLDE5LDU1Wk02LDU0aDZ2Mkg2Wm02LTR2Mkg2VjUwWk02LDU4aDZ2Mkg2Wm04LDJWNTcuNjE4YTMuOTQ3LDMuOTQ3LDAsMCwwLDYsMFY2MFptMTMtMmgzdjJIMjdabTUsMGgzdjJIMzJabTUsMlY1OGgzdjJaIi8+DQogICAgICAgIDxwYXRoIGQ9Ik01Nyw1NmExLDEsMCwwLDAsMS0xVjUxYTEsMSwwLDAsMC0xLTFINDlhMSwxLDAsMCwwLTEsMXY0YTEsMSwwLDAsMCwxLDFabS03LTRoNnYySDUwWiIvPg0KICAgICAgICA8cGF0aCBkPSJNNjAsMjkuMTg0VjI2YTEsMSwwLDAsMC0xLTFINTVhMSwxLDAsMCwwLTEsMXYzLjE4NEEzLDMsMCwwLDAsNTIsMzJ2N2EyLjk2NiwyLjk2NiwwLDAsMCwuMTg0LDFINDlWMzRhMSwxLDAsMCwwLDAtMkg0MWExLDEsMCwwLDAsMCwydjZIMzhWMzFhMSwxLDAsMCwwLTEtMUgyNWExLDEsMCwwLDAtMSwxdjlIMjJWMzlhMSwxLDAsMCwwLTIsMHYxSDE0VjMzLjQxNGEyLjM5NCwyLjM5NCwwLDAsMSwuNzA3LTEuNzA2QTQuMzg1LDQuMzg1LDAsMCwwLDE2LDI4LjU4NlYyN2gydjEuNTg2YTQuMzg1LDQuMzg1LDAsMCwwLDEuMjkzLDMuMTIyQTIuMzk0LDIuMzk0LDAsMCwxLDIwLDMzLjQxNFYzNWExLDEsMCwwLDAsMiwwVjMzLjQxNGE0LjM4NSw0LjM4NSwwLDAsMC0xLjI5My0zLjEyMkEyLjM5NCwyLjM5NCwwLDAsMSwyMCwyOC41ODZWMjZhMSwxLDAsMCwwLTEtMUgxNWExLDEsMCwwLDAtMSwxdjIuNTg2YTIuMzk0LDIuMzk0LDAsMCwxLS43MDcsMS43MDYsNC41MTUsNC41MTUsMCwwLDAtLjI5My4zNTcsNC41MTUsNC41MTUsMCwwLDAtLjI5My0uMzU3QTIuMzk0LDIuMzk0LDAsMCwxLDEyLDI4LjU4NlYyNmExLDEsMCwwLDAtMS0xSDdhMSwxLDAsMCwwLTEsMXYyLjU4NmEyLjM5NCwyLjM5NCwwLDAsMS0uNzA3LDEuNzA2QTQuMzg1LDQuMzg1LDAsMCwwLDQsMzMuNDE0VjQwSDNhMSwxLDAsMCwwLDAsMkg2MWExLDEsMCwwLDAsLjctMS43MTNBMi45NjQsMi45NjQsMCwwLDAsNjIsMzlWMzJBMywzLDAsMCwwLDYwLDI5LjE4NFpNNi43MDcsMzEuNzA4QTQuMzg1LDQuMzg1LDAsMCwwLDgsMjguNTg2VjI3aDJ2MS41ODZhNC4zODUsNC4zODUsMCwwLDAsMS4yOTMsMy4xMjJBMi4zOTQsMi4zOTQsMCwwLDEsMTIsMzMuNDE0VjM1SDZWMzMuNDE0QTIuMzk0LDIuMzk0LDAsMCwxLDYuNzA3LDMxLjcwOFpNNiwzN2g2djNINlpNNTYsMjdoMnYySDU2Wm0tMSw0aDRhMSwxLDAsMCwxLDEsMXYzSDU0VjMyQTEsMSwwLDAsMSw1NSwzMVpNMzYsMzZIMzJWMzJoNFptLTYtNHYySDI2VjMyWm0tNCw0aDR2NEgyNlptNiw0VjM4aDR2MlptMTEsMFYzNGg0djZabTEyLDBhMSwxLDAsMCwxLTEtMVYzN2g2djJhMSwxLDAsMCwxLTEsMVoiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",dNe="PHN2ZyBoZWlnaHQ9IjUxMnB0IiB2aWV3Qm94PSIwIC0xMDggNTEyIDUxMiIgd2lkdGg9IjUxMnB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im01MDQgNDguMDE1NjI1aC00OTZjLTQuNDI1NzgxIDAtOC0zLjU3NDIxOS04LTh2LTMyLjAxNTYyNWMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDQ5NmM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4djMyLjAxNTYyNWMwIDQuNDI1NzgxLTMuNTc0MjE5IDgtOCA4em0tNDg4LTE2aDQ4MHYtMTYuMDE1NjI1aC00ODB6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMTYgMjk2LjE2MDE1NmMtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOHYtMjQ2LjcxODc1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MjQ2LjcxODc1YzAgNC40MjU3ODItMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDAgMjk2LjE2MDE1NmMtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOHYtMjQ2LjcxODc1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MjQ2LjcxODc1YzAgNC40MjU3ODItMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDcyIDI5Ni4xNjAxNTZjLTQuNDI1NzgxIDAtOC0zLjU3NDIxOC04LTh2LTI0Ni43MTg3NWMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04czggMy41NzQyMTkgOCA4djI0Ni43MTg3NWMwIDQuNDI1NzgyLTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ5NiAyOTYuMTYwMTU2Yy00LjQyNTc4MSAwLTgtMy41NzQyMTgtOC04di0yNDYuNzE4NzVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHYyNDYuNzE4NzVjMCA0LjQyNTc4Mi0zLjU3NDIxOSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im00MCAyOTYuMTYwMTU2aC0yNGMtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDI0YzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyNTc4Mi0zLjU3NDIxOSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im00OTYgMjk2LjE2MDE1NmgtMjRjLTQuNDI1NzgxIDAtOC0zLjU3NDIxOC04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGgyNGM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjU3ODItMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDcyIDE2MC4xMTMyODFoLTQzMmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDQzMmM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDcyIDE4NC4xMjg5MDZoLTQzMmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDQzMmM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNzEuOTg0Mzc1IDE2MC4xMjg5MDZjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC0yMi4wNTg1OTQgMTcuOTM3NS00MCAzOS45OTIxODctNDAgNC40MjE4NzYgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc4MTI0IDgtOCA4LTEzLjIyMjY1NiAwLTIzLjk5MjE4NyAxMC43NjU2MjUtMjMuOTkyMTg3IDI0IDAgNC40MjE4NzUtMy41NzgxMjUgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMTUyIDE2MC4xMjg5MDZjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC0xMy4yMzQzNzUtMTAuNzY5NTMxLTI0LTIzLjk5MjE4OC0yNC00LjQyMTg3NCAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzgxMjYtOCA4LTggMjIuMDU0Njg4IDAgMzkuOTkyMTg4IDE3Ljk0MTQwNiAzOS45OTIxODggNDAgMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im03OS45ODQzNzUgMTM4Ljk2ODc1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di00Mi44Mzk4NDRjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOCA0LjQyMTg3NSAwIDggMy41NzQyMTkgOCA4djQyLjgzOTg0NGMwIDQuNDIxODc1LTMuNTc4MTI1IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTE0My45Njg3NSAxMzguOTY4NzVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTh2LTQyLjgzOTg0NGMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04IDQuNDIxODc1IDAgOCAzLjU3NDIxOSA4IDh2NDIuODM5ODQ0YzAgNC40MjE4NzUtMy41NzgxMjUgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtOTYgMTA0LjE0NDUzMWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOHYtMjQuMDE1NjI1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MjQuMDE1NjI1YzAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMTI4IDgwLjEyODkwNmgtMzJjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGgzMmM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMTI4IDEwNC4xNDQ1MzFjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTh2LTI0LjAxNTYyNWMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04czggMy41NzQyMTkgOCA4djI0LjAxNTYyNWMwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTk2IDk2LjEyODkwNmgtMTYuMDE1NjI1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMTYuMDE1NjI1YzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xNDMuOTY4NzUgOTYuMTI4OTA2aC0xNS45Njg3NWMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDE1Ljk2ODc1YzQuNDIxODc1IDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3ODEyNSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xMjAuMDA3ODEyIDEyOC4xMjg5MDZoLTE2LjAzMTI1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMTYuMDMxMjVjNC40MjU3ODIgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE4IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTE3NS45ODQzNzUgMTYwLjEyODkwNmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTIyLjA1ODU5NCAxNy45Mzc1LTQwIDM5Ljk5MjE4Ny00MCA0LjQyMTg3NiAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzgxMjQgOC04IDgtMTMuMjIyNjU2IDAtMjMuOTkyMTg3IDEwLjc2NTYyNS0yMy45OTIxODcgMjQgMCA0LjQyMTg3NS0zLjU3ODEyNSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yNTYgMTYwLjEyODkwNmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOCAwLTEzLjIzNDM3NS0xMC43Njk1MzEtMjQtMjMuOTkyMTg4LTI0LTQuNDIxODc0IDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3ODEyNi04IDgtOCAyMi4wNTQ2ODggMCAzOS45OTIxODggMTcuOTQxNDA2IDM5Ljk5MjE4OCA0MCAwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTE4My45ODQzNzUgMTM4Ljk2ODc1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di00Mi44Mzk4NDRjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOCA0LjQyMTg3NSAwIDggMy41NzQyMTkgOCA4djQyLjgzOTg0NGMwIDQuNDIxODc1LTMuNTc4MTI1IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTI0Ny45Njg3NSAxMzguOTY4NzVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTh2LTQyLjgzOTg0NGMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04IDQuNDIxODc1IDAgOCAzLjU3NDIxOSA4IDh2NDIuODM5ODQ0YzAgNC40MjE4NzUtMy41NzgxMjUgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMjAwIDEwNC4xNDQ1MzFjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTh2LTI0LjAxNTYyNWMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04czggMy41NzQyMTkgOCA4djI0LjAxNTYyNWMwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTIzMiA4MC4xMjg5MDZoLTMyYy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMzJjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTIzMiAxMDQuMTQ0NTMxYy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di0yNC4wMTU2MjVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHYyNC4wMTU2MjVjMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yMDAgOTYuMTI4OTA2aC0xNi4wMTU2MjVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGgxNi4wMTU2MjVjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTI0Ny45Njg3NSA5Ni4xMjg5MDZoLTE1Ljk2ODc1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoMTUuOTY4NzVjNC40MjE4NzUgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc4MTI1IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTIyNC4wMDc4MTIgMTI4LjEyODkwNmgtMTYuMDMxMjVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGgxNi4wMzEyNWM0LjQyNTc4MiAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTggOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMjU2LjE2Nzk2OSAyODAuMTQ0NTMxYy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtMTMuMjQyMTg3IDEwLjc3NzM0My0yNC4wMTU2MjUgMjQuMDE1NjI1LTI0LjAxNTYyNSA0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDgtNC40MjE4NzUgMC04LjAxNTYyNSAzLjU4OTg0NC04LjAxNTYyNSA4LjAxNTYyNSAwIDQuNDIxODc1LTMuNTgyMDMxIDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTMzNi4xOTE0MDYgMjgwLjE0NDUzMWMtNC40MjE4NzUgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDE3OTY5LTMuNTgyMDMxLTgtOC04LTQuNDIxODc1IDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3ODEyNS04IDgtOCAxMy4yMzQzNzUgMCAyNCAxMC43NjU2MjUgMjQgMjQgMCA0LjQyMTg3NS0zLjU3NDIxOCA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0zMzYuMTkxNDA2IDI5Ni4xNjAxNTZoLTgwLjAyMzQzN2MtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOCAwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04aDgwLjAzMTI1YzQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyNTc4Mi0zLjU4MjAzMSA4LTguMDA3ODEzIDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMzIwLjgzMjAzMSAyNjQuMTI4OTA2aC00OS4yOTY4NzVjLTQuNDIxODc1IDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3ODEyNS04IDgtOGg0OS4yOTY4NzVjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTI3Mi4xNjc5NjkgMjY0LjEyODkwNmMtNC40MjU3ODEgMC04LTMuNTc4MTI1LTgtOHYtNDcuOTg0Mzc1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2NDcuOTg0Mzc1YzAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMzIwLjE5OTIxOSAyNjQuMTQ0NTMxYy00LjQyMTg3NSAwLTgtMy41NzgxMjUtOC04di00OGMwLTQuNDI1NzgxIDMuNTc4MTI1LTggOC04IDQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDh2NDhjMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yNTYuMTY3OTY5IDI5Ni4xNjAxNTZjLTQuNDI1NzgxIDAtOC0zLjU3NDIxOC04LTh2LTE2LjAxNTYyNWMwLTQuNDI1NzgxIDMuNTc0MjE5LTggOC04czggMy41NzQyMTkgOCA4djE2LjAxNTYyNWMwIDQuNDI1NzgyLTMuNTgyMDMxIDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTMzNi4xOTE0MDYgMjk2LjE2MDE1NmMtNC40MjE4NzUgMC04LTMuNTc0MjE4LTgtOHYtMTYuMDE1NjI1YzAtNC40MjU3ODEgMy41NzgxMjUtOCA4LTggNC40MjU3ODIgMCA4IDMuNTc0MjE5IDggOHYxNi4wMTU2MjVjMCA0LjQyNTc4Mi0zLjU3NDIxOCA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0zMjAuMTk5MjE5IDIxNi4xNDQ1MzFoLTQ4LjAzMTI1Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoNDguMDMxMjVjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTMyOC4xOTE0MDYgMjQwLjE0NDUzMWgtNjQuMDIzNDM3Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoNjQuMDIzNDM3YzQuNDI1NzgyIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOCA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0zNjAuMTY3OTY5IDI4MC4xNDQ1MzFjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC0xMy4yNDIxODcgMTAuNzc3MzQzLTI0LjAxNTYyNSAyNC4wMTU2MjUtMjQuMDE1NjI1IDQuNDI1NzgxIDAgOCAzLjU3NDIxOSA4IDggMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOC00LjQyMTg3NSAwLTguMDE1NjI1IDMuNTg5ODQ0LTguMDE1NjI1IDguMDE1NjI1IDAgNC40MjE4NzUtMy41ODIwMzEgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDQwLjE5MTQwNiAyODAuMTQ0NTMxYy00LjQyMTg3NSAwLTgtMy41NzgxMjUtOC04IDAtNC40MTc5NjktMy41ODIwMzEtOC04LTgtNC40MjE4NzUgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc4MTI1LTggOC04IDEzLjIzNDM3NSAwIDI0IDEwLjc2NTYyNSAyNCAyNCAwIDQuNDIxODc1LTMuNTc0MjE4IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ0MC4xOTE0MDYgMjk2LjE2MDE1NmgtODAuMDIzNDM3Yy00LjQyNTc4MSAwLTgtMy41NzQyMTgtOC04IDAtNC40MjU3ODEgMy41NzQyMTktOCA4LThoODAuMDMxMjVjNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDI1NzgyLTMuNTgyMDMxIDgtOC4wMDc4MTMgOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im00MjQuODMyMDMxIDI2NC4xMjg5MDZoLTQ5LjI5Njg3NWMtNC40MjE4NzUgMC04LTMuNTc4MTI1LTgtOCAwLTQuNDI1NzgxIDMuNTc4MTI1LTggOC04aDQ5LjI5Njg3NWM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMzc2LjE2Nzk2OSAyNjQuMTI4OTA2Yy00LjQyNTc4MSAwLTgtMy41NzgxMjUtOC04di00Ny45ODQzNzVjMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOHM4IDMuNTc0MjE5IDggOHY0Ny45ODQzNzVjMCA0LjQyMTg3NS0zLjU3NDIxOSA4LTggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im00MjQuMTk5MjE5IDI2NC4xNDQ1MzFjLTQuNDIxODc1IDAtOC0zLjU3ODEyNS04LTh2LTQ4YzAtNC40MjU3ODEgMy41NzgxMjUtOCA4LTggNC40MjU3ODEgMCA4IDMuNTc0MjE5IDggOHY0OGMwIDQuNDIxODc1LTMuNTc0MjE5IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTM2MC4xNjc5NjkgMjk2LjE2MDE1NmMtNC40MjU3ODEgMC04LTMuNTc0MjE4LTgtOHYtMTYuMDE1NjI1YzAtNC40MjU3ODEgMy41NzQyMTktOCA4LThzOCAzLjU3NDIxOSA4IDh2MTYuMDE1NjI1YzAgNC40MjU3ODItMy41ODIwMzEgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDQwLjE5MTQwNiAyOTYuMTYwMTU2Yy00LjQyMTg3NSAwLTgtMy41NzQyMTgtOC04di0xNi4wMTU2MjVjMC00LjQyNTc4MSAzLjU3ODEyNS04IDgtOCA0LjQyNTc4MiAwIDggMy41NzQyMTkgOCA4djE2LjAxNTYyNWMwIDQuNDI1NzgyLTMuNTc0MjE4IDgtOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQyNC4xOTkyMTkgMjE2LjE0NDUzMWgtNDguMDMxMjVjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGg0OC4wMzEyNWM0LjQyNTc4MSAwIDggMy41NzQyMTkgOCA4IDAgNC40MjE4NzUtMy41NzQyMTkgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDMyLjE5MTQwNiAyNDAuMTQ0NTMxaC02NC4wMjM0MzdjLTQuNDI1NzgxIDAtOC0zLjU3ODEyNS04LTggMC00LjQyNTc4MSAzLjU3NDIxOS04IDgtOGg2NC4wMjM0MzdjNC40MjU3ODIgMCA4IDMuNTc0MjE5IDggOCAwIDQuNDIxODc1LTMuNTc0MjE4IDgtOCA4em0wIDAiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",zNe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMi4wMDEgNTEyLjAwMSI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTUwNS45NDcsMTIzLjU5N2MtNC4zNTMtNC43NTItMTAuNTQ2LTcuNDc3LTE2Ljk5LTcuNDc3aC02LjgzN2MtMTcuOTI5LDAtMzIuNjMxLDEzLjQ2OC0zNC4xOTgsMzEuMzI4bC03LjM5Nyw4NC4yNzkNCgkJCQljLTAuNjU1LDcuNDY5LTYuODA0LDEzLjEwMi0xNC4zMDMsMTMuMTAyaC02NC4wMjZjLTIwLjUxNiwwLTM3LjIwNywxNi42OTEtMzcuMjA3LDM3LjIwN3YzLjY5Nw0KCQkJCWMwLDEyLjM5NSwxMC4wODMsMjIuNDc4LDIyLjQ3OCwyMi40NzhoMTMuNzIzbC0xMy41MTQsNDQuMTM1Yy0wLjAxLDAuMDMzLTAuMDIsMC4wNjYtMC4wMywwLjA5OWwtMTAuMzMsMzMuNzM2DQoJCQkJYy0xLjIxMywzLjk2MSwxLjAxNSw4LjE1NCw0Ljk3NSw5LjM2N2MwLjczMiwwLjIyNCwxLjQ3MiwwLjMzMSwyLjE5OSwwLjMzMWMzLjIwOSwwLDYuMTgtMi4wNzcsNy4xNjgtNS4zMDZsOC43MTItMjguNDUxSDQ2My4yNA0KCQkJCWw4LjcxMiwyOC40NTFjMC45ODgsMy4yMjksMy45NTgsNS4zMDYsNy4xNjgsNS4zMDZjMC43MjgsMCwxLjQ2OC0wLjEwNywyLjE5OS0wLjMzMWMzLjk2LTEuMjEzLDYuMTg4LTUuNDA3LDQuOTc1LTkuMzY3DQoJCQkJbC0yNC41MTctODAuMDY2YzQuMzA1LTEuMjE5LDguNDYyLTIuOTUzLDEyLjM2Mi01LjE4OGMzLjU5My0yLjA2LDQuODM2LTYuNjQzLDIuNzc2LTEwLjIzNg0KCQkJCWMtMi4wNi0zLjU5My02LjY0NC00LjgzNi0xMC4yMzctMi43NzZjLTYuMDQ0LDMuNDY1LTEyLjkzOSw1LjI5Ny0xOS45NCw1LjI5N2gtNzUuNDAyYy0wLjAyNSwwLTAuMDUsMC0wLjA3NCwwaC0yMy43OTMNCgkJCQljLTQuMTIzLDAtNy40NzgtMy4zNTQtNy40NzgtNy40Nzh2LTMuNjk3YzAtMTIuMjQ1LDkuOTYyLTIyLjIwNywyMi4yMDctMjIuMjA3aDY0LjAyNmMxNS4zMzMsMCwyNy45MDYtMTEuNTE4LDI5LjI0Ni0yNi43OTENCgkJCQlsNy4zOTYtODQuMjhjMC44ODItMTAuMDU2LDkuMTYtMTcuNjQsMTkuMjU1LTE3LjY0aDYuODM3YzIuMjgyLDAsNC4zODksMC45MjcsNS45MywyLjYxYzEuNTQyLDEuNjgzLDIuMjgyLDMuODYyLDIuMDgyLDYuMTM2DQoJCQkJbC0xMC4yNDIsMTE2LjcxMWMtMC4yNTIsMi44NzgtMC44MTMsNS43MjYtMS42NjYsOC40NjRjLTEuMjMyLDMuOTU1LDAuOTc2LDguMTYsNC45MzEsOS4zOTFjMy45NiwxLjIzMiw4LjE1OS0wLjk3Nyw5LjM5Mi00LjkzDQoJCQkJYzEuMTcxLTMuNzYyLDEuOTQtNy42NjksMi4yODctMTEuNjE0bDEwLjI0Mi0xMTYuNzExQzUxMi40NzQsMTM0Ljc1Nyw1MTAuMywxMjguMzQ5LDUwNS45NDcsMTIzLjU5N3ogTTM3Ni44NzUsMzA4LjIxMmg2OS44NTUNCgkJCQlsMTEuOTE0LDM4LjkxaC05My42ODRMMzc2Ljg3NSwzMDguMjEyeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTQ5LjgwMywyNDQuODNIODUuNzc3Yy03LjQ5OSwwLTEzLjY0Ny01LjYzMi0xNC4zMDMtMTMuMTAybC03LjM5Ni04NC4yNzljLTEuNTY3LTE3Ljg2LTE2LjI2OS0zMS4zMjgtMzQuMTk4LTMxLjMyOA0KCQkJCWgtNi44MzdjLTYuNDQ0LDAtMTIuNjM3LDIuNzI1LTE2Ljk5LDcuNDc3Yy00LjM1Myw0Ljc1Mi02LjUyNywxMS4xNi01Ljk2NSwxNy41ODFsMTAuMjQyLDExNi43MTENCgkJCQljMS4yMDksMTMuNzczLDcuNDg5LDI2LjUwMSwxNy42ODQsMzUuODQxYzYuNDA1LDUuODY4LDE0LjAxLDEwLjA3NywyMi4yMDYsMTIuMzk3bC0yNC41MTQsODAuMDU1DQoJCQkJYy0xLjIxMywzLjk2MSwxLjAxNSw4LjE1NCw0Ljk3NSw5LjM2N2MwLjczMiwwLjIyNCwxLjQ3MiwwLjMzMSwyLjE5OSwwLjMzMWMzLjIwOSwwLDYuMTgtMi4wNzcsNy4xNjgtNS4zMDZsOC43MTItMjguNDUxSDE1MS42Mw0KCQkJCWw4LjcxMiwyOC40NTFjMC45ODgsMy4yMjksMy45NTgsNS4zMDYsNy4xNjgsNS4zMDZjMC43MjgsMCwxLjQ2OC0wLjEwNywyLjE5OS0wLjMzMWMzLjk2LTEuMjEzLDYuMTg4LTUuNDA3LDQuOTc1LTkuMzY3DQoJCQkJbC0xMC4zMy0zMy43MzZjLTAuMDEtMC4wMzMtMC4wMi0wLjA2Ni0wLjAzLTAuMDk5bC0xMy41MTQtNDQuMTM1aDEzLjcyM2MxMi4zOTUsMCwyMi40NzctMTAuMDgzLDIyLjQ3Ny0yMi40Nzh2LTMuNjk3DQoJCQkJQzE4Ny4wMSwyNjEuNTIxLDE3MC4zMTksMjQ0LjgzLDE0OS44MDMsMjQ0LjgzeiBNNTMuMzUzLDM0Ny4xMjJsMTEuOTE0LTM4LjkxaDY5Ljg1NWwxMS45MTQsMzguOTFINTMuMzUzeiBNMTcyLjAxLDI4NS43MzQNCgkJCQljMCw0LjEyNC0zLjM1NCw3LjQ3OC03LjQ3Nyw3LjQ3OGgtMjMuNzg4Yy0wLjAzLDAtMC4wNTksMC0wLjA4OSwwSDY1LjI2M2MtMS42MDQsMC0zLjE4Mi0wLjEwMy00LjczNi0wLjI4Mw0KCQkJCWMtMC4wMDEsMC0wLjAwMywwLTAuMDA1LDBjLTE4Ljc2NC0yLjE2OS0zMy41NTgtMTcuMDY1LTM1LjI1LTM2LjM1MkwxNS4wMywxMzkuODY3Yy0wLjItMi4yNzUsMC41NC00LjQ1NCwyLjA4Mi02LjEzNw0KCQkJCWMxLjU0MS0xLjY4MywzLjY0Ny0yLjYxLDUuOTMtMi42MWg2LjgzN2MxMC4wOTUsMCwxOC4zNzMsNy41ODMsMTkuMjU1LDE3LjY0bDcuMzk2LDg0LjI3OXYtMC4wMDENCgkJCQljMS4zNCwxNS4yNzMsMTMuOTEzLDI2Ljc5MSwyOS4yNDYsMjYuNzkxaDY0LjAyNmMxMi4yNDUsMCwyMi4yMDcsOS45NjIsMjIuMjA3LDIyLjIwN1YyODUuNzM0eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzEyLjk0OCwzNzEuMTQxYy0zLjA5NS0xMS44OTctMTMuODQxLTIwLjIwNi0yNi4xMzQtMjAuMjA2aC00LjY0MlYyMTQuNDAxaDkyLjM1NGM1LjMyLDAsMTAuMjk5LTIuMzY1LDEzLjY2MS02LjQ4OA0KCQkJCWMzLjM2Mi00LjEyNCw0LjY3Ny05LjQ3OCwzLjYwNS0xNC42OWMtMy4yMjYtMTUuNjg0LTE3LjE4OC0yNy4wNjctMzMuMTk5LTI3LjA2N0gyMDIuNjY1Yy00LjE0MywwLTcuNSwzLjM1OC03LjUsNy41DQoJCQkJczMuMzU3LDcuNSw3LjUsNy41aDE1NS45MjhjOC45MjYsMCwxNi43MDgsNi4zNDYsMTguNTA2LDE1LjA4OGMwLjIxOSwxLjA2NC0wLjI0MywxLjgyOS0wLjUzNywyLjE5MQ0KCQkJCWMtMC4yOTUsMC4zNjEtMC45NTEsMC45NjctMi4wMzYsMC45NjdIMTM3LjQ3MmMtMS4wODUsMC0xLjc0MS0wLjYwNi0yLjAzNi0wLjk2N2MtMC4yOTQtMC4zNjEtMC43NTYtMS4xMjctMC41MzctMi4xOQ0KCQkJCWMxLjc5OC04Ljc0Myw5LjU4LTE1LjA4OSwxOC41MDYtMTUuMDg5aDE0LjA4NGM0LjE0MywwLDcuNS0zLjM1OCw3LjUtNy41cy0zLjM1Ny03LjUtNy41LTcuNWgtMTQuMDg0DQoJCQkJYy0xNi4wMTIsMC0yOS45NzQsMTEuMzgzLTMzLjE5OSwyNy4wNjhjLTEuMDcxLDUuMjEyLDAuMjQzLDEwLjU2NiwzLjYwNSwxNC42ODljMy4zNjIsNC4xMjMsOC4zNDEsNi40ODgsMTMuNjYxLDYuNDg4aDkyLjM1NQ0KCQkJCXYxMzYuNTM1aC00LjY0MmMtMTIuMjkzLDAtMjMuMDM5LDguMzA5LTI2LjEzNCwyMC4yMDVsLTEuNzYxLDYuNzY3Yy0xLjEyNyw0LjMzNS0wLjIwMyw4Ljg1MiwyLjUzNiwxMi4zOTYNCgkJCQljMi43NCwzLjU0Myw2Ljg4LDUuNTc2LDExLjM1OCw1LjU3Nmg4OS42M2M0LjQ3OSwwLDguNjE4LTIuMDMyLDExLjM1OC01LjU3NmMyLjczOS0zLjU0MywzLjY2My04LjA2MSwyLjUzNi0xMi4zOTYNCgkJCQlMMzEyLjk0OCwzNzEuMTQxeiBNMjQ0LjgyNywyMTQuNDAxTDI0NC44MjcsMjE0LjQwMWgyMi4zNDZ2MTM2LjUzNWgtMjIuMzQ2VjIxNC40MDF6IE0yMTIuMDE2LDM4MC44NzlsMS41NTItNS45NjINCgkJCQljMS4zNzUtNS4yODgsNi4xNTItOC45ODEsMTEuNjE2LTguOTgxaDYxLjYyOWM1LjQ2NCwwLDEwLjI0MSwzLjY5MywxMS42MTYsOC45ODFsMS41NTIsNS45NjJIMjEyLjAxNnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",INe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMi4yNzMgNTEyLjI3MyIgd2lkdGg9IjUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtNTA3Ljg5MSAyMzguMzk5Yy02LjcyMy0zNS44ODEtMjEuODUzLTY2LjkwNS00My43NTUtODkuNzE4LTkuODQ1LTEwLjI1My0yMS40NTYtMTkuNzUtMzQuNTE0LTI4LjIyNy0xNC45NC05LjY5OS0zMi4xOTItMTguNDM4LTU0LjI5My0yNy41MDMtOS42ODQtMy45NzItMTkuMzc1LTcuNjM3LTI4LjQwNi0xMS4wMDUtMTQuNjQyLTUuNDYtMzAuMDY0LTEwLjk1OC00NS44NDMtMTYuMzM3LTUuNDI3LTEuODUxLTEwLjkyMS0zLjYwNi0xNi4yMzQtNS4zMDMtOC41MDUtMi43MTctMTcuMy01LjUyNy0yNS43NzEtOC43MjEtNS4yMjQtMS45Ny03LjQyNi0zLjQ2NC04LjMyMS00LjI1OC4wNDYtLjA1Ni4wOTYtLjExNS4xNTEtLjE3NyA0LjA0OC00LjYxNSAyNy42MDMtMjMuMTA1IDQxLjUwMS0zMy42NzcgMi41NjItMS45NDkgMy41OTUtNS4zMTUgMi41NjYtOC4zNjVzLTMuODg5LTUuMTA0LTcuMTA3LTUuMTA0bC0xNTQuMDUyLS4wMDRjLTEuMzIxIDAtMi42MTkuMzQ5LTMuNzYyIDEuMDEyLTE3LjI4MiAxMC4wMjEtMzEuNjIzIDI1Ljc5LTM5LjM0NiA0My4yNjItOC45NDYgMjAuMjQtOS4wMTYgNDEuNDI1LS4yMDIgNjEuMjYzIDEyLjA3IDI3LjE2NyAzNy41NjcgNDIuMjM3IDYwLjA2MyA1NS41MzMgNS44NyAzLjQ2OSAxMS40MTQgNi43NDYgMTYuNjU1IDEwLjE2NyAzLjA5NSAyLjAyIDYuMjczIDQuMDAzIDkuMzQ3IDUuOTIyIDExLjU0NSA3LjIwOCAyMi40NSAxNC4wMTYgMzEuMTY3IDIzLjYwNCA4Ljk4MSA5Ljg3NyAxMS42OTMgMjIuNTAxIDcuODQyIDM2LjUwNy04Ljk0OCAzMi41NDQtMzUuNTQ0IDYxLjc4MS01OS4wMDkgODcuNTc2LTQuMzQyIDQuNzczLTguNDQyIDkuMjgxLTEyLjQwOSAxMy43NzYtMTEuMTA3IDEyLjU4Ny0yNy4zOTMgMzAuODktNDQuNjM0IDUwLjI2Ny01Ni44NjkgNjMuOTE0LTk0LjQxNSAxMDYuMjI5LTk4IDExMS44NDYtMS40NzQgMi4zMDktMS41NzEgNS4yMzgtLjI1NCA3LjY0IDEuMzE2IDIuNDAyIDMuODM4IDMuODk1IDYuNTc3IDMuODk1bDQ0Ni4zMTYuMDAzaC4wMDFjMy4yNTEgMCA2LjEzMi0yLjA5NCA3LjEzNS01LjE4NyAxMS42NTktMzUuOTYgMjIuMjEyLTcyLjIzMiAzNS4yODMtMTIxLjI4MyAxNS41OTEtNTguNTE1IDE5LjE4NS0xMDUuMzU0IDExLjMwOC0xNDcuNDA0em0tMjUuODAzIDE0My41NDNjLTEyLjM3IDQ2LjQyLTIyLjQ2NCA4MS4zMDUtMzMuMzg1IDExNS4zMzFsLTI2Ljk0LS4wMDJjMS4yODgtMy45NDggMi41NzMtNy45MDMgMy44NjEtMTEuODQyIDExLjU4LTM1LjQxIDIyLjg3Ny03MC45MjUgMzIuNTA0LTEwNi44ODggMS41MzUtNS43NCAzLjEyMi0xMS42NzQgNC42Ny0xNy42NDUgMS4wNC00LjAwOS0xLjM2OC04LjEwMy01LjM3OC05LjE0Mi00LjAwOS0xLjAzOC04LjEwMiAxLjM2OS05LjE0MiA1LjM3OC0xLjUzMyA1LjkxNC0zLjExMyAxMS44Mi00LjY0MSAxNy41MzEtOS40MzkgMzUuMjc1LTIwLjc5NyA3MS4wMjUtMzIuMjcgMTA2LjEwNC0xLjc5NyA1LjQ5My0zLjU5NSAxMC45OTItNS4zODkgMTYuNTA0aC0xNTcuOTc4Yy0uNDMyLTEuODU4LTEuNTY3LTMuNTUzLTMuMzA5LTQuNjQ5LTMuNTA0LTIuMjA2LTguMTM2LTEuMTUyLTEwLjM0MiAyLjM1My0uNDk1Ljc4Ni0uOTczIDEuNTQyLTEuNDQ5IDIuMjk2aC0xNTYuMjM0YzI0LjQ3My0zMC41NTEgOTEuODk3LTExMi4wNzMgMTI0LjIzOC0xNDguNzI0IDE3LjI0LTE5LjUzNyAzMS4zNjgtMzguNzI2IDQxLjk5NC01Ny4wMzMgMTcuNTk4LTMwLjMxOSAyNC41NjctNTYuNzY1IDIwLjcxNi03OC42MDEtOC4yNzMtNDYuOTA5LTQ1LjEyNy02NS43NjQtNzcuNjQzLTgyLjM5OC0zLjQzOS0xLjc1OS02Ljk5NS0zLjU3OS0xMC40MDctNS4zNzVsLS42MDktLjMyMWMtMy42NjMtMS45MzMtOC4yLS41My0xMC4xMzMgMy4xMzNzLS41MyA4LjIgMy4xMzMgMTAuMTMzbC42MTYuMzI1YzMuNDk2IDEuODQgNy4wOTEgMy42OCAxMC41NjggNS40NTggMzIuMjU3IDE2LjUwMiA2Mi43MjYgMzIuMDkgNjkuNzAzIDcxLjY1IDMuMjIgMTguMjU2LTMuMTQ1IDQxLjI5MS0xOC45MTcgNjguNDY2LTkuOTg5IDE3LjIxLTIzLjkxNCAzNi4xMDQtNDAuMjY4IDU0LjYzOC0zNS4yODYgMzkuOTg4LTExNi4wOTggMTM3LjgzOC0xMzIuMDU2IDE1OC42NDhoLTMzLjg1YzE3Ljg4Mi0yMC43NTMgNTYuNzQ0LTY0LjQyOCA4Ni45ODEtOTguNDExIDE3LjI1Mi0xOS4zODkgMzMuNTQ3LTM3LjcwMiA0NC42NzUtNTAuMzEzIDMuODkyLTQuNDEgNy45NTYtOC44NzggMTIuMjU4LTEzLjYwNyAyNC41OTctMjcuMDQgNTIuNDc2LTU3LjY4OCA2Mi4zNzUtOTMuNjkzIDUuMjA3LTE4LjkzOSAxLjIyNy0zNi45LTExLjIwNy01MC41NzUtMTYuNDIzLTE4LjA2Mi0zOS44NjMtMzAuMjM3LTYwLjYzNS00Mi41MTQtMjEuNTY1LTEyLjc0Ni00My44NjQtMjUuOTI2LTUzLjk4Ny00OC43MS0xNS4wMjMtMzMuODE1IDQuMzY2LTY3LjcxOCAzMS42NjctODQuNDQ3aDEzLjYzOWMtMjAuNTU3IDE1LjA3NC0zMi41NjggMzAuMzA1LTM2LjQ5NCA0Ni4xOTUtMy4xODMgMTIuODgyLS44MTMgMjUuNzU2IDcuMDQ1IDM4LjI2NSA0LjMyNCA2Ljg4MyA5LjkwNCAxMy4xMTIgMTcuMDU4IDE5LjA0MiAzLjE4OCAyLjY0MyA3LjkxNiAyLjIwMSAxMC41NjEtLjk4OCAyLjY0My0zLjE4OSAyLjIwMS03LjkxNy0uOTg4LTEwLjU2MS01LjkwOS00Ljg5OC0xMC40NjUtOS45NTktMTMuOTI5LTE1LjQ3Mi01LjY4OC05LjA1Ni03LjM4NC0xNy43ODYtNS4xODUtMjYuNjg4IDMuOTc5LTE2LjEwMyAyMC41NjgtMzIuODUxIDQ5LjMxNC00OS43OTNoNTAuNzE1Yy0xMy4zMDYgMTAuNDc5LTI4LjEwNSAyNC43NzUtMjQuMDk1IDQyLjM1MyAzLjk3OSAxNy40NDEgMjQuMTc3IDI3LjE3OSAzOS4xNzggMzMuNDcyIDE5LjU1OCA4LjIwNSAzOS44MzUgMTQuNzIgNTkuNDQ1IDIxLjAyMSAzMi4wODggMTAuMzEgNjUuMjY5IDIwLjk3MSA5NS4wMDMgMzkuMTM3IDMzLjkzNCAyMC43MzEgNTUuNTE4IDUxLjE1OCA2Mi40MiA4Ny45ODkgNC40NzggMjMuODk2IDMuNDI2IDUwLjYzNC0zLjMxMSA4NC4xNTJsLS4xMDcuNTM2Yy0uODE0IDQuMDYyIDEuODE4IDguMDE0IDUuODggOC44MjguNDk4LjEuOTkzLjE0NyAxLjQ4MS4xNDcgMy41MDEgMCA2LjYzMi0yLjQ2NCA3LjM0Ni02LjAyOGwuMTA2LS41MzJjNy4xMjgtMzUuNDYyIDguMTkxLTY0LjAxOCAzLjM0OS04OS44NjctNy43MDctNDEuMTIzLTMxLjY4Ni03NS4wMi02OS4zNDQtOTguMDI2LTMxLjI2Mi0xOS4wOTktNjUuMzA5LTMwLjAzOS05OC4yMzQtNDAuNjE4LTE5LjMwNy02LjIwMy0zOS4yNzEtMTIuNjE4LTU4LjIzLTIwLjU3Mi01Ljc4Ny0yLjQyOS0xMC43MTItNC45MTItMTUuMDU3LTcuNTktNS40NjQtMy4zNjgtMTMuNzIxLTguNDU3LTE1LjMwMi0xNS4zODgtMi41NzktMTEuMzA5IDE0LjMzLTIzLjk5OCAyNS41Mi0zMi4zOTUgMy4yMTYtMi40MTQgNi4xMDYtNC41ODUgOC40NzMtNi42MTcgMCAwIDEzLjc4OSAwIDEzLjc4Ny4wMDItOS44OTIgNy43ODYtMzQuMTU2IDE5LjczMy0zMC4xNzQgMzUuNjUzIDEuOTk4IDcuOTg2IDEwLjY4OCAxMi4xOTEgMTguMDM1IDE0Ljk2MiAxMy45ODEgNS4yNzIgMjguMzI0IDkuMzY3IDQyLjQ1NiAxNC4xODYgMTUuNjQ0IDUuMzM1IDMwLjkzMyAxMC43ODMgNDUuNDQyIDE2LjE5NSA4LjkxMyAzLjMyNSAxOC40NyA2LjkzOCAyNy45NTcgMTAuODI5IDIxLjIxNCA4LjcwMSAzNy42NzkgMTcuMDI4IDUxLjgxNiAyNi4yMDYgMTIuMDk0IDcuODUyIDIyLjgxMyAxNi42MTEgMzEuODYxIDI2LjAzNSAxOS44NzUgMjAuNzAxIDMzLjY0OCA0OS4wODggMzkuODMxIDgyLjA5MSA3LjQ1MSAzOS43NzEgMy45MzcgODQuNTA1LTExLjA1OCAxNDAuNzgxeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzQ0LjM2NSAxOTkuNDA3YzEuNDYxIDIuMDczIDMuNzggMy4xOCA2LjEzOCAzLjE4IDEuNDkyIDAgMy0uNDQ0IDQuMzEzLTEuMzcgMy4zODYtMi4zODYgNC4xOTYtNy4wNjUgMS44MTEtMTAuNDUxLTQuMTA5LTUuODMxLTguODExLTExLjI5My0xMy45NzMtMTYuMjMzLTIuOTkzLTIuODY1LTcuNzQxLTIuNzYtMTAuNjA0LjIzMi0yLjg2NCAyLjk5My0yLjc2MSA3Ljc0LjIzMiAxMC42MDQgNC40NjUgNC4yNzQgOC41MzEgOC45OTcgMTIuMDgzIDE0LjAzOHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI1NS4wODMgMTIyLjUxOC0uNDczLS4yNDZjLTUuNzc2LTIuOTkzLTExLjU0NS01Ljk4My0xNy4zMzQtOC45NDUtMy42ODQtMS44ODMtOC4yMDYtLjQyNi0xMC4wOTMgMy4yNjItMS44ODYgMy42ODgtLjQyNiA4LjIwNiAzLjI2MiAxMC4wOTMgNS43NjUgMi45NDkgMTEuNTExIDUuOTI3IDE3LjI2MyA4LjkwOGwuNDczLjI0NWMxLjEwNC41NzIgMi4yODMuODQzIDMuNDQ1Ljg0MyAyLjcxMiAwIDUuMzMxLTEuNDc2IDYuNjY1LTQuMDUgMS45MDYtMy42NzguNDctOC4yMDQtMy4yMDgtMTAuMTF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xNzkuNjgzIDU3LjU4NGMxLjc0NC01LjUxIDQuNzE5LTEwLjE5NiA4LjE2My0xMi44NTYgMy4yNzgtMi41MzIgMy44ODItNy4yNDIgMS4zNTEtMTAuNTItMi41MzQtMy4yNzktNy4yNDQtMy44ODItMTAuNTIxLTEuMzUxLTUuODg5IDQuNTQ5LTEwLjYxIDExLjcyNC0xMy4yOTMgMjAuMjAxLTEuMjUgMy45NDkuOTM4IDguMTY0IDQuODg3IDkuNDE0Ljc1My4yMzggMS41MTUuMzUyIDIuMjY1LjM1MiAzLjE4Mi0uMDAxIDYuMTM2LTIuMDQzIDcuMTQ4LTUuMjR6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yMDEuMTM2IDk1LjkwM2MtNi43NTEtMy4zMTQtMTEuNDI0LTYuMjY4LTE1LjE1Mi05LjU3Ni0zLjA5OC0yLjc1LTcuODM4LTIuNDY2LTEwLjU4OC42MzEtMi43NSAzLjA5OC0yLjQ2NyA3LjgzOC42MzEgMTAuNTg4IDQuNzc5IDQuMjQyIDEwLjQ4NCA3Ljg4OCAxOC40OTkgMTEuODIyIDEuMDYzLjUyMiAyLjE5Ljc2OSAzLjMuNzY5IDIuNzcgMCA1LjQzNS0xLjU0MiA2LjczOC00LjE5NiAxLjgyNS0zLjcxOC4yOS04LjIxMi0zLjQyOC0xMC4wMzh6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yNzUuODU1IDQ0MS4yNzZjLTMuNTUzLTIuMTI2LTguMTU5LS45NzItMTAuMjg3IDIuNTgzLTMuNDk0IDUuODM1LTYuOTQ5IDExLjU3Ni0xMC4zMDYgMTcuMTIyLTIuMTQ1IDMuNTQzLTEuMDExIDguMTU1IDIuNTMzIDEwLjI5OSAxLjIxNS43MzUgMi41NTQgMS4wODUgMy44NzcgMS4wODUgMi41MzcgMCA1LjAxNC0xLjI4OCA2LjQyMy0zLjYxOCAzLjM2OC01LjU2NSA2LjgzNy0xMS4zMjcgMTAuMzQzLTE3LjE4MyAyLjEyNy0zLjU1NC45NzEtOC4xNi0yLjU4My0xMC4yODh6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zNjQuODY0IDIyNC4xNTJjLTQuMDY3Ljc4Ni02LjcyNyA0LjcyLTUuOTQgOC43ODcuOTEgNC43MTMgMS4zNzIgOS40NjggMS4zNzIgMTQuMTMyIDAgLjM1OC0uMDAzLjcxNi0uMDA5IDEuMDktLjAxNS45NzYtLjA0NCAxLjk0Ny0uMDg3IDIuOTE1LS4xODcgNC4xMzggMy4wMTggNy42NDMgNy4xNTUgNy44MjkuMTE1LjAwNS4yMjkuMDA4LjM0My4wMDggMy45ODYgMCA3LjMwNi0zLjE0IDcuNDg2LTcuMTYzLjA1MS0xLjExNy4wODQtMi4yMzkuMTAxLTMuMzUuMDA4LS40NDMuMDExLS44ODcuMDExLTEuMzMgMC01LjYxNy0uNTU0LTExLjMzLTEuNjQ1LTE2Ljk3OC0uNzg3LTQuMDY3LTQuNzI4LTYuNzI1LTguNzg3LTUuOTR6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zMDYuMjU0IDM4OS40ODFjLTMuNTgyLTIuMDczLTguMTcyLS44NTMtMTAuMjQ5IDIuNzMxLTMuMjMyIDUuNTgyLTYuNjA2IDExLjM3LTEwLjA2MiAxNy4yNjEtMi4wOTYgMy41NzMtLjg5NyA4LjE2OCAyLjY3NiAxMC4yNjQgMS4xOTIuNjk5IDIuNDk4IDEuMDMxIDMuNzg3IDEuMDMxIDIuNTc0IDAgNS4wOC0xLjMyNiA2LjQ3Ny0zLjcwNyAzLjQ2OS01LjkxNSA2Ljg1Ni0xMS43MjggMTAuMTAzLTE3LjMzMiAyLjA3Ni0zLjU4My44NTItOC4xNzEtMi43MzItMTAuMjQ4eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzYxLjkyOSAyODMuMzE0Yy0zLjg4My0xLjQ0Ni04LjIwMS41My05LjY0NiA0LjQxMy0yLjA5MSA1LjYxOS00LjU5MiAxMS40MDQtNy42NDYgMTcuNjg2LTEuODExIDMuNzI1LS4yNTkgOC4yMTMgMy40NjYgMTAuMDI0IDEuMDU3LjUxNCAyLjE3NC43NTYgMy4yNzMuNzU2IDIuNzgxIDAgNS40NTQtMS41NTMgNi43NTEtNC4yMjMgMy4yNjYtNi43MTggNS45NTItMTIuOTM3IDguMjE0LTE5LjAxMSAxLjQ0NS0zLjg4Mi0uNTMtOC4yLTQuNDEyLTkuNjQ1eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzM1LjkyIDMzNy4yNzVjLTMuNTg1LTIuMDc1LTguMTczLS44NTItMTAuMjQ5IDIuNzMzLTMuMTA5IDUuMzcyLTYuNjM0IDExLjQ2LTkuOTc1IDE3LjUxNy0yIDMuNjI3LS42ODIgOC4xODkgMi45NDUgMTAuMTkgMS4xNDguNjMzIDIuMzkxLjkzNCAzLjYxNS45MzQgMi42NDQgMCA1LjIwNy0xLjQwMSA2LjU3NC0zLjg3OSAzLjI2Ni01LjkyIDYuNzQ5LTExLjkzOCA5LjgyMi0xNy4yNDcgMi4wNzctMy41ODUuODUyLTguMTcyLTIuNzMyLTEwLjI0OHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTMwOC4wMDEgMTUxLjQwMmMtMy4yMTgtMS44MzgtNi40NzQtMy43NjMtOS42MjEtNS42MjQtMi41MzEtMS40OTYtNS4wNTktMi45OS03LjYtNC40NjEtMy41ODYtMi4wNzUtOC4xNzQtLjg1Mi0xMC4yNDggMi43MzMtMi4wNzYgMy41ODQtLjg1MyA4LjE3MyAyLjczMiAxMC4yNDkgMi41MDEgMS40NDggNC45OSAyLjkxOSA3LjQ4MiA0LjM5MyAzLjE5NCAxLjg4OCA2LjQ5OCAzLjg0MSA5LjgxMyA1LjczNSAxLjE3NC42NyAyLjQ1Mi45ODkgMy43MTQuOTg5IDIuNjA0IDAgNS4xMzUtMS4zNTggNi41MTktMy43ODEgMi4wNTYtMy41OTcuODA2LTguMTc4LTIuNzkxLTEwLjIzM3oiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",hNe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxyZWN0IHg9IjE4OC42MzIiIHk9IjI1NiIgd2lkdGg9IjM1LjkzIiBoZWlnaHQ9IjE3Ljk2NSIvPg0KICAgICAgICA8cGF0aCBkPSJNNDQxLjkxNyw0NzEuNTc5bDE2LjAzOS04OC4yMTljMC40ODItMi42MjMtMC4yMjgtNS4zMTYtMS45MzktNy4zNmMtMS43MDItMi4wNDQtNC4yMjgtMy4yMjgtNi44OTUtMy4yMjhoLTg5LjgyNQ0KCQkJYy0yLjY2NywwLTUuMTkzLDEuMTg0LTYuODk1LDMuMjI4Yy0xLjcxMSwyLjA0NC0yLjQyMSw0LjczNy0xLjkzOSw3LjM2bDE2LjAzOSw4OC4yMTlIMjYwLjQ5MVYzMS40MzkNCgkJCWMwLTQuOTY1LTQuMDE4LTguOTgyLTguOTgyLTguOTgySDUzLjg5NWMtNC45NjUsMC04Ljk4Miw0LjAxOC04Ljk4Miw4Ljk4MnY0NDAuMTRIMHYxNy45NjVoNTMuODk1aDE5Ny42MTRoMTI1Ljc1NGg1My44OTVINTEyDQoJCQl2LTE3Ljk2NUg0NDEuOTE3eiBNMjQyLjUyNiw0NzEuNTc5SDYyLjg3N1Y0MC40MjFoMTc5LjY0OVY0NzEuNTc5eiBNNDIzLjY1OCw0NzEuNTc5aC0zOC44OTVsLTE0LjcwMi04MC44NDJoNjguMjk4DQoJCQlMNDIzLjY1OCw0NzEuNTc5eiIvPg0KICAgICAgICA8cGF0aCBkPSJNNDU4LjEwNSw3Ni4zNTFjLTI3LjQ1NiwwLTQ0LjQ4OSwxMi40OTYtNTMuODk1LDI1LjE5NWMtOS40MDgtMTIuNjk5LTI2LjQzOS0yNS4xOTUtNTMuODk1LTI1LjE5NQ0KCQkJYy00Ljk2NSwwLTguOTgyLDQuMDE4LTguOTgyLDguOTgyYzAsNC45NjUsNC4wMTgsOC45ODIsOC45ODIsOC45ODJjMzMuNzU0LDAsNDMuMjcyLDIzLjMwNyw0NC45MTIsMjguMjQ2djIzMi4yNDYNCgkJCWMwLDQuOTY1LDQuMDE4LDguOTgyLDguOTgyLDguOTgyczguOTgyLTQuMDE4LDguOTgyLTguOTgyVjEyMi41NzJjMS41NDQtNC42OCwxMC45ODctMjguMjU3LDQ0LjkxMi0yOC4yNTcNCgkJCWM0Ljk2NSwwLDguOTgyLTQuMDE4LDguOTgyLTguOTgyQzQ2Ny4wODgsODAuMzY4LDQ2My4wNyw3Ni4zNTEsNDU4LjEwNSw3Ni4zNTF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0zNjUuODMzLDExOS4yNjNjLTE1LjU1My0xNS41NTMtMzYuODQyLTIyLjM3Ny01NS42NjctMTcuNzk4Yy0zLjI1NCwwLjc5OC01Ljc5OCwzLjM0Mi02LjU5Niw2LjU5Ng0KCQkJYy00LjU3OSwxOC43NzIsMi4yMzcsNDAuMDk3LDE3Ljc5OCw1NS42NjdjMTIuMzYsMTIuMzYsMjguMzYsMTkuMjAyLDQzLjgxNiwxOS4yMDJjNC4wMDksMCw3Ljk4Mi0wLjQ2NSwxMS44NTEtMS40MDQNCgkJCWMzLjI1NS0wLjc5OCw1Ljc5OC0zLjM0Miw2LjU5Ni02LjU5NkMzODguMjExLDE1Ni4xNTgsMzgxLjM5NSwxMzQuODMzLDM2NS44MzMsMTE5LjI2M3ogTTM2Ny4wMDksMTY0LjkwMw0KCQkJYy0xMS4xNTgsMC40MzktMjMuNTk2LTQuNTM1LTMyLjkzOS0xMy44NzdjLTkuMzQyLTkuMzUxLTE0LjQzOS0yMS43MzctMTMuODc3LTMyLjkzOWMxMS4xMjMtMC41NzksMjMuNTg4LDQuNTM1LDMyLjkzOSwxMy44NzcNCgkJCUMzNjIuNDc0LDE0MS4zMTYsMzY3LjU3LDE1My43MDIsMzY3LjAwOSwxNjQuOTAzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzY1LjgzMywyMDAuMTA1Yy0xNS41NTMtMTUuNTUzLTM2Ljg0Mi0yMi4zNjktNTUuNjY3LTE3Ljc5OGMtMy4yNTQsMC43OTgtNS43OTgsMy4zNDItNi41OTYsNi41OTYNCgkJCWMtNC41NzksMTguNzcyLDIuMjM3LDQwLjA5NywxNy43OTgsNTUuNjY3YzEyLjM2LDEyLjM2LDI4LjM2LDE5LjIwMiw0My44MTYsMTkuMjAyYzQuMDA5LDAsNy45ODItMC40NjUsMTEuODUxLTEuNDA0DQoJCQljMy4yNTUtMC43OTgsNS43OTgtMy4zNDIsNi41OTYtNi41OTZDMzg4LjIxMSwyMzcsMzgxLjM5NSwyMTUuNjc2LDM2NS44MzMsMjAwLjEwNXogTTM2Ny4wMDksMjQ1Ljc0Ng0KCQkJYy0xMS4xNTgsMC40OTEtMjMuNTk2LTQuNTQ0LTMyLjkzOS0xMy44NzdjLTkuMzQyLTkuMzUxLTE0LjQzOS0yMS43MzctMTMuODc3LTMyLjkzOWMxMS4xMjMtMC41MzUsMjMuNTg4LDQuNTM1LDMyLjkzOSwxMy44NzcNCgkJCUMzNjIuNDc0LDIyMi4xNTgsMzY3LjU3LDIzNC41NDQsMzY3LjAwOSwyNDUuNzQ2eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzY1LjgzMywyODAuOTQ3Yy0xNS41NTMtMTUuNTYxLTM2Ljg0Mi0yMi4zNjktNTUuNjY3LTE3Ljc5OGMtMy4yNTQsMC43OTgtNS43OTgsMy4zNDItNi41OTYsNi41OTYNCgkJCWMtNC41NzksMTguNzcyLDIuMjM3LDQwLjA5NywxNy43OTgsNTUuNjY3YzEyLjM2LDEyLjM2LDI4LjM2LDE5LjIwMiw0My44MTYsMTkuMjAyYzQuMDA5LDAsNy45ODItMC40NjUsMTEuODUxLTEuNDA0DQoJCQljMy4yNTUtMC43OTgsNS43OTgtMy4zNDIsNi41OTYtNi41OTZDMzg4LjIxMSwzMTcuODQyLDM4MS4zOTUsMjk2LjUxOCwzNjUuODMzLDI4MC45NDd6IE0zNjcuMDA5LDMyNi41ODgNCgkJCWMtMTEuMTU4LDAuNDQ3LTIzLjU5Ni00LjUzNS0zMi45MzktMTMuODc3Yy05LjM0Mi05LjM1MS0xNC40MzktMjEuNzM3LTEzLjg3Ny0zMi45MzljMTEuMTIzLTAuNTcsMjMuNTg4LDQuNTM1LDMyLjkzOSwxMy44NzcNCgkJCUMzNjIuNDc0LDMwMywzNjcuNTcsMzE1LjM4NiwzNjcuMDA5LDMyNi41ODh6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik01MDkuMzg2LDEwOC4wNjFjLTAuNzk4LTMuMjU0LTMuMzQyLTUuNzk4LTYuNTk2LTYuNTk2Yy0xOC43ODktNC41Ny00MC4xMDUsMi4yMzctNTUuNjY3LDE3Ljc5OA0KCQkJYy0xNS41NjEsMTUuNTctMjIuMzc3LDM2Ljg5NS0xNy43OTgsNTUuNjY3YzAuNzk4LDMuMjU1LDMuMzQyLDUuNzk4LDYuNTk2LDYuNTk2YzMuODY4LDAuOTM5LDcuODMzLDEuNDA0LDExLjg0MiwxLjQwNA0KCQkJYzE1LjQ2NSwwLDMxLjQ2NS02Ljg0Miw0My44MjUtMTkuMjAyQzUwNy4xNDksMTQ4LjE1OCw1MTMuOTY1LDEyNi44MzMsNTA5LjM4NiwxMDguMDYxeiBNNDc4Ljg4NiwxNTEuMDI2DQoJCQljLTkuMzUxLDkuMzQyLTIxLjg3NywxNC4zMjUtMzIuOTM5LDEzLjg3N2MtMC41NjEtMTEuMjAyLDQuNTM1LTIzLjU4OCwxMy44NzctMzIuOTM5YzkuMzUxLTkuMzQyLDIxLjc5OC0xNC40NDcsMzIuOTM5LTEzLjg3Nw0KCQkJQzQ5My4zMjUsMTI5LjI4OSw0ODguMjI4LDE0MS42NzUsNDc4Ljg4NiwxNTEuMDI2eiIvPg0KICAgICAgICA8cGF0aCBkPSJNNTA5LjM4NiwxODguOTAzYy0wLjc5OC0zLjI1NC0zLjM0Mi01Ljc5OC02LjU5Ni02LjU5NmMtMTguNzg5LTQuNTc5LTQwLjEwNSwyLjIzNy01NS42NjcsMTcuNzk4DQoJCQljLTE1LjU2MSwxNS41Ny0yMi4zNzcsMzYuODk1LTE3Ljc5OCw1NS42NjdjMC43OTgsMy4yNTUsMy4zNDIsNS43OTgsNi41OTYsNi41OTZjMy44NjksMC45MzksNy44MzMsMS40MDQsMTEuODQyLDEuNDA0DQoJCQljMTUuNDY1LDAsMzEuNDY1LTYuODQyLDQzLjgyNS0xOS4yMDJDNTA3LjE0OSwyMjksNTEzLjk2NSwyMDcuNjc2LDUwOS4zODYsMTg4LjkwM3ogTTQ3OC44ODYsMjMxLjg2OA0KCQkJYy05LjM1MSw5LjMzMy0yMS44NzcsMTQuMzY4LTMyLjkzOSwxMy44NzdjLTAuNTYxLTExLjIwMiw0LjUzNS0yMy41ODgsMTMuODc3LTMyLjkzOWM5LjM1MS05LjM0MiwyMS43OTgtMTQuNDAzLDMyLjkzOS0xMy44NzcNCgkJCUM0OTMuMzI1LDIxMC4xMzIsNDg4LjIyOCwyMjIuNTE3LDQ3OC44ODYsMjMxLjg2OHoiLz4NCiAgICAgICAgPHBhdGggZD0iTTUwOS4zODYsMjY5Ljc0NmMtMC43OTgtMy4yNTQtMy4zNDItNS43OTgtNi41OTYtNi41OTZjLTE4Ljc4OS00LjU3OS00MC4xMDUsMi4yMzctNTUuNjY3LDE3Ljc5OA0KCQkJYy0xNS41NjEsMTUuNTctMjIuMzc3LDM2Ljg5NS0xNy43OTgsNTUuNjY3YzAuNzk4LDMuMjU1LDMuMzQyLDUuNzk4LDYuNTk2LDYuNTk2YzMuODY5LDAuOTM5LDcuODMzLDEuNDA0LDExLjg0MiwxLjQwNA0KCQkJYzE1LjQ2NSwwLDMxLjQ2NS02Ljg0Miw0My44MjUtMTkuMjAyQzUwNy4xNDksMzA5Ljg0Miw1MTMuOTY1LDI4OC41MTgsNTA5LjM4NiwyNjkuNzQ2eiBNNDc4Ljg4NiwzMTIuNzENCgkJCWMtOS4zNTEsOS4zNDItMjEuODc3LDE0LjMzMy0zMi45MzksMTMuODc3Yy0wLjU2MS0xMS4yMDIsNC41MzUtMjMuNTg4LDEzLjg3Ny0zMi45MzljOS4zNTEtOS4zNDIsMjEuNzk4LTE0LjQ0NywzMi45MzktMTMuODc3DQoJCQlDNDkzLjMyNSwyOTAuOTc0LDQ4OC4yMjgsMzAzLjM2LDQ3OC44ODYsMzEyLjcxeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",wNe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTEzOS45MzMgMjMwLjU2NmgyMzIuMTM1YzIyLjQwNSAwIDQwLjYzNC0xOC4yMjggNDAuNjM0LTQwLjYzM3YtMTQ5LjNjLS4wMDEtMjIuNDA1LTE4LjIyOS00MC42MzMtNDAuNjM1LTQwLjYzM2gtMjMyLjEzNGMtMjIuNDA1IDAtNDAuNjM0IDE4LjIyOC00MC42MzQgNDAuNjMzdjE0OS4yOTljMCAyMi40MDYgMTguMjI4IDQwLjYzNCA0MC42MzQgNDAuNjM0em0tMjUuNjM0LTE4OS45MzNjMC0xNC4xMzQgMTEuNDk5LTI1LjYzMyAyNS42MzQtMjUuNjMzaDIzMi4xMzVjMTQuMTM1IDAgMjUuNjM0IDExLjQ5OSAyNS42MzQgMjUuNjMzdjE0OS4yOTljMCAxNC4xMzQtMTEuNDk5IDI1LjYzMy0yNS42MzQgMjUuNjMzaC0yMzIuMTM1Yy0xNC4xMzUgMC0yNS42MzQtMTEuNDk5LTI1LjYzNC0yNS42MzN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xMzkuOTMzIDUwLjIwNGM0LjE0MyAwIDcuNS0zLjM1OCA3LjUtNy41di00LjE0MmMwLTQuMTQyLTMuMzU3LTcuNS03LjUtNy41cy03LjUgMy4zNTgtNy41IDcuNXY0LjE0MmMwIDQuMTQyIDMuMzU3IDcuNSA3LjUgNy41eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTQ1LjExIDE2NC44MTNjMTAuNDIzIDIuMDgxIDE4Ljg1IDEwLjE4IDIwLjk3IDIwLjE1NyAxLjUzNiA3LjIyMiA4LjAyMiAxMi40NjMgMTUuNDIyIDEyLjQ2M2gxNDguOTQ3YzcuNDggMCAxMy45OC01LjMxIDE1LjQ1NS0xMi42MjQgMi4xMTUtMTAuNDgyIDEwLjU3Ni0xOC45MzYgMjEuMDUyLTIxLjAzOCA3LjMwOC0xLjQ2NiAxMi42MTEtNy45NjUgMTIuNjExLTE1LjQ1NHYtNjYuMDY3YzAtNy40ODQtNS4zMTEtMTMuOTg1LTEyLjYyNy0xNS40NTctMTAuNDcyLTIuMTA3LTE4LjkyNS0xMC41NjMtMjEuMDM2LTIxLjA0MS0xLjQ3NS03LjMxMi03Ljk2Ny0xMi42MTgtMTUuNDM5LTEyLjYxOGgtMTQ4Ljk3MWMtNy4zOTUgMC0xMy44NzggNS4yNDItMTUuNDE0IDEyLjQ2NS0yLjExOCA5Ljk2OS0xMC41NCAxOC4wNjctMjAuOTU1IDIwLjE1My03LjM1NSAxLjQ3Mi0xMi42OTIgNy45NzktMTIuNjkyIDE1LjQ3djY4LjEyNWMwIDcuNDk0IDUuMzMxIDEzLjk5OSAxMi42NzcgMTUuNDY2em0yLjMyMy04My41OTJjMC0uMzc0LjI2Mi0uNjg3LjYzOC0uNzYyIDE2LjIwMy0zLjI0NCAyOS4zMzctMTYgMzIuNjgyLTMxLjc0MS4wNzMtLjM0NC4zNzgtLjU4NS43NDItLjU4NWgxNDguOTcyYy4zNTcgMCAuNjY2LjI0NS43MzMuNTgzIDMuMjkgMTYuMzI1IDE2LjQ2NCAyOS40OTkgMzIuNzgyIDMyLjc4Mi4zNC4wNjguNTg2LjM4NS41ODYuNzUydjY2LjA2N2MwIC4zNjEtLjI0MS42ODMtLjU2MS43NDctMTYuMzI2IDMuMjc0LTI5LjUxIDE2LjQ0Ny0zMi44MDYgMzIuNzc4LS4wNjkuMzQyLS4zODYuNTkxLS43NTIuNTkxaC0xNDguOTQ3Yy0uMzYyIDAtLjY3OC0uMjQ2LS43NS0uNTgyLTMuMzQ3LTE1Ljc1Mi0xNi40OS0yOC41MTEtMzIuNzA1LTMxLjc0OC0uMzU3LS4wNzEtLjYxNC0uMzg5LS42MTQtLjc1N3oiLz4NCiAgICAgICAgPHBhdGggZD0ibTM3Mi4wNjcgNTAuMjA0YzQuMTQzIDAgNy41LTMuMzU4IDcuNS03LjV2LTQuMTQyYzAtNC4xNDItMy4zNTctNy41LTcuNS03LjVzLTcuNSAzLjM1OC03LjUgNy41djQuMTQyYzAgNC4xNDIgMy4zNTggNy41IDcuNSA3LjV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xMzkuOTMzIDE5OS41MDNjNC4xNDMgMCA3LjUtMy4zNTggNy41LTcuNXYtNC4xNDJjMC00LjE0Mi0zLjM1Ny03LjUtNy41LTcuNXMtNy41IDMuMzU4LTcuNSA3LjV2NC4xNDJjMCA0LjE0MyAzLjM1NyA3LjUgNy41IDcuNXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM3Mi4wNjcgMTgwLjM2MmMtNC4xNDMgMC03LjUgMy4zNTgtNy41IDcuNXY0LjE0MmMwIDQuMTQyIDMuMzU3IDcuNSA3LjUgNy41czcuNS0zLjM1OCA3LjUtNy41di00LjE0MmMwLTQuMTQyLTMuMzU3LTcuNS03LjUtNy41eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTg5LjczMyAxNjQuMWg0OS43YzQuMTQzIDAgNy41LTMuMzU4IDcuNS03LjV2LTI1LjYzM2gxNy4zNWMyLjYgMCA1LjAxNC0xLjM0NiA2LjM4LTMuNTU3czEuNDkxLTQuOTcyLjMyOC03LjI5N2wtMjQuODUtNDkuN2MtMS4yNzEtMi41NDEtMy44NjctNC4xNDYtNi43MDgtNC4xNDZzLTUuNDM4IDEuNjA1LTYuNzA4IDQuMTQ2bC0xNC40OTMgMjguOTg3aC0yOC40OThjLTQuMTQzIDAtNy41IDMuMzU4LTcuNSA3LjV2NDkuN2MtLjAwMSA0LjE0MiAzLjM1NyA3LjUgNy40OTkgNy41em00OS43MDEtNzMuNTYzIDEyLjcxNSAyNS40M2gtMjUuNDN6bS00Mi4yMDEgMjMuODYzaDEzLjQ5OGwtMi44NTYgNS43MTNjLTEuMTYzIDIuMzI1LTEuMDM4IDUuMDg2LjMyOCA3LjI5N3MzLjc4IDMuNTU3IDYuMzggMy41NTdoMTcuMzUxdjE4LjEzM2gtMzQuN3YtMzQuN3oiLz4NCiAgICAgICAgPHBhdGggZD0ibTMxMy45ODMgMTQ3LjUzM2MxNy44MzggMCAzMi4zNS0xNC41MTIgMzIuMzUtMzIuMzUgMC0xNy44MzctMTQuNTEyLTMyLjM1LTMyLjM1LTMyLjM1cy0zMi4zNTEgMTQuNTEyLTMyLjM1MSAzMi4zNWMuMDAxIDE3LjgzOCAxNC41MTQgMzIuMzUgMzIuMzUxIDMyLjM1em0wLTQ5LjY5OWM5LjU2NiAwIDE3LjM1IDcuNzgzIDE3LjM1IDE3LjM1cy03Ljc4MyAxNy4zNS0xNy4zNSAxNy4zNS0xNy4zNTEtNy43ODMtMTcuMzUxLTE3LjM1Yy4wMDEtOS41NjcgNy43ODQtMTcuMzUgMTcuMzUxLTE3LjM1eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjMwLjg2NyAyNDguNWMtOC41NDcgMC0xNS41IDYuOTUzLTE1LjUgMTUuNXYxNy4xMzNjMCA4LjU0NyA2Ljk1MyAxNS41IDE1LjUgMTUuNWg1MC4yNjZjOC41NDcgMCAxNS41LTYuOTUzIDE1LjUtMTUuNXYtMTcuMTMzYzAtOC41NDctNi45NTMtMTUuNS0xNS41LTE1LjV6bTUwLjc2NiAxNS41djE3LjEzM2MwIC4yNzYtLjIyNS41LS41LjVoLTUwLjI2NmMtLjI3NSAwLS41LS4yMjQtLjUtLjV2LTE3LjEzM2MwLS4yNzYuMjI1LS41LjUtLjVoNTAuMjY2Yy4yNzUgMCAuNS4yMjQuNS41eiIvPg0KICAgICAgICA8cGF0aCBkPSJtNDk2LjUgNDYzLjg2N2gtMTcuNjcyYy4wMTMtLjI2MS4wNC0uNTE5LjA0LS43ODN2LTguMjg0YzAtMTAuNjUyLTYuOTU5LTE5LjcwNC0xNi41NjctMjIuODY0di0xMzYuNTA1YzkuNjA4LTMuMTYgMTYuNTY3LTEyLjIxMiAxNi41NjctMjIuODY0di04LjI4NGMwLTguNzAzLTcuMDgxLTE1Ljc4My0xNS43ODQtMTUuNzgzaC0yLjU2MmMxLjE0My0yLjggMS43NzktNS44NiAxLjc3OS05LjA2NyAwLTEzLjI3LTEwLjc5Ni0yNC4wNjYtMjQuMDY2LTI0LjA2NnMtMjQuMDY2IDEwLjc5Ni0yNC4wNjYgMjQuMDY2YzAgMy4yMDcuNjM1IDYuMjY2IDEuNzc5IDkuMDY3aC0yLjU2M2MtOC43MDMgMC0xNS43ODMgNy4wODEtMTUuNzgzIDE1Ljc4M3Y4LjI4NGMwIDEwLjUxOCA2Ljc4NiAxOS40NzYgMTYuMjA3IDIyLjc0MS0xOC42MTYgMTguNDM4LTQwLjAzNyAzMy4zNTEtNjMuNzM0IDQ0LjMzNy0zLjc1OCAxLjc0Mi01LjM5MyA2LjIwMS0zLjY1IDkuOTU4IDEuMjcgMi43MzcgMy45NzggNC4zNDggNi44MSA0LjM0OCAxLjA1NiAwIDIuMTI5LS4yMjQgMy4xNDktLjY5OCAyMS4wNTgtOS43NjIgNDAuNDI3LTIyLjQzMiA1Ny43ODYtMzcuNzU0djIzLjcxMmMtNDUuNDEgMzUuNDk1LTEwMC4wMTQgNTQuMjQ3LTE1OC4xNjcgNTQuMjQ3LTU4LjE0OCAwLTExMi43NTYtMTguNzUzLTE1OC4xNjctNTQuMjQ5di0yMy42OWM0My43NjQgMzguNjkgOTkuMjggNTkuODA1IDE1OC4xNjcgNTkuODA1IDIzLjU5MiAwIDQ2LjkxMy0zLjQ0MSA2OS4zMTQtMTAuMjI4IDMuOTY0LTEuMjAxIDYuMjA0LTUuMzg4IDUuMDAzLTkuMzUzLTEuMjAxLTMuOTY0LTUuMzg5LTYuMjA3LTkuMzUzLTUuMDAzLTIwLjk4OSA2LjM1OS00Mi44NDcgOS41ODMtNjQuOTY0IDkuNTgzLTU5LjU3MiAwLTExNS40NjItMjMuMDctMTU3LjgwMi02NS4wMTggOS40MTktMy4yNjcgMTYuMjAyLTEyLjIyNCAxNi4yMDItMjIuNzR2LTguMjg0YzAtOC43MDMtNy4wOC0xNS43ODMtMTUuNzgzLTE1Ljc4M2gtMi41NjNjMS4xNDMtMi44IDEuNzc5LTUuODYgMS43NzktOS4wNjcgMC0xMy4yNy0xMC43OTYtMjQuMDY2LTI0LjA2Ni0yNC4wNjZzLTI0LjA3IDEwLjc5OC0yNC4wNyAyNC4wNjhjMCAzLjIwNy42MzYgNi4yNjYgMS43NzkgOS4wNjdoLTIuNTYyYy04LjcwMyAwLTE1Ljc4NCA3LjA4MS0xNS43ODQgMTUuNzgzdjguMjg0YzAgMTAuNjUyIDYuOTU5IDE5LjcwNCAxNi41NjcgMjIuODY0djEzNi41MDZjLTkuNjA4IDMuMTYtMTYuNTY3IDEyLjIxMi0xNi41NjcgMjIuODY0djguMjg0YzAgLjI2NC4wMjcuNTIyLjA0Ljc4M2gtMTcuNjczYy04LjU0NyAwLTE1LjUgNi45NTMtMTUuNSAxNS41djE3LjEzMmMwIDguNTQ3IDYuOTUzIDE1LjUgMTUuNSAxNS41aDU5LjgzM2M0LjE0MyAwIDcuNS0zLjM1OCA3LjUtNy41cy0zLjM1Ny03LjUtNy41LTcuNWgtNTkuODMzYy0uMjc1IDAtLjUtLjIyNC0uNS0uNXYtMTcuMTMzYzAtLjI3Ni4yMjUtLjUuNS0uNWg0ODFjLjI3NSAwIC41LjIyNC41LjV2MTcuMTMzYzAgLjI3Ni0uMjI1LjUtLjUuNWgtMzkxLjE2N2MtNC4xNDMgMC03LjUgMy4zNTgtNy41IDcuNXMzLjM1NyA3LjUgNy41IDcuNWgzOTEuMTY3YzguNTQ3IDAgMTUuNS02Ljk1MyAxNS41LTE1LjV2LTE3LjEzM2MwLTguNTQ3LTYuOTUzLTE1LjUtMTUuNS0xNS41em0tNjcuMzMzLTE2NC41NzdjLjE2MS0uODc4LjE1OC0xLjc3OC4wMDUtMi42NTZoMTguMTI4djE4LjEzM2gtMTguMTMzem0wIDQzLjkwNGMuMDEyLS4yMzkuMDEyLS40NzkgMC0uNzE5di0xMi43MDloMTguMTMzdjEwMC45NjdoLTE4LjEzM3ptMC0xMDMuNzYxYzAtNC45OTkgNC4wNjctOS4wNjYgOS4wNjYtOS4wNjZzOS4wNjYgNC4wNjcgOS4wNjYgOS4wNjYtNC4wNjcgOS4wNjctOS4wNjYgOS4wNjctOS4wNjYtNC4wNjctOS4wNjYtOS4wNjd6bS0xNi41NjcgMjQuODVjMC0uNDMyLjM1Mi0uNzgzLjc4My0uNzgzaDQ5LjdjLjQzMyAwIC43ODQuMzUyLjc4NC43ODN2OC4yODRjMCA0Ljk5OS00LjA2NyA5LjA2Ni05LjA2NyA5LjA2NmgtMzMuMTMzYy01IDAtOS4wNjctNC4wNjctOS4wNjctOS4wNjZ6bS0xNTYuNiAxNDQuMTc2YzU3LjY0OCAwIDExMi4wMDctMTcuNDIyIDE1OC4xNjctNTAuNTE0djczLjk5MWMtOS42MDggMy4xNi0xNi41NjcgMTIuMjEyLTE2LjU2NyAyMi44NjR2OC4yODRjMCAuMjY0LjAyNy41MjIuMDQuNzgzaC0yODMuMjc5Yy4wMTMtLjI2MS4wNC0uNTE5LjA0LS43ODN2LTguMjg0YzAtMTAuNjUyLTYuOTU5LTE5LjcwNC0xNi41NjctMjIuODY0di03My45OTJjNDYuMTYxIDMzLjA5MiAxMDAuNTIzIDUwLjUxNSAxNTguMTY2IDUwLjUxNXptLTE3My4xNjctMTEwLjc4OWMtLjAxMi4yNDctLjAxMi40OTUgMCAuNzQydjE2LjM1NWgtMTguMTMzdi0xOC4xMzNoMTguMTMzem0tMTguMTMzIDMyLjA5N2gxOC4xMzN2MTAwLjk2N2gtMTguMTMzem0wLTkwLjMzNGMwLTQuOTk5IDQuMDY3LTkuMDY2IDkuMDY2LTkuMDY2czkuMDY2IDQuMDY3IDkuMDY2IDkuMDY2LTQuMDY3IDkuMDY3LTkuMDY2IDkuMDY3LTkuMDY2LTQuMDY3LTkuMDY2LTkuMDY3em0tMTYuNTY3IDI0Ljg1YzAtLjQzMi4zNTItLjc4My43ODQtLjc4M2g0OS43Yy40MzIgMCAuNzgzLjM1Mi43ODMuNzgzdjguMjg0YzAgNC45OTktNC4wNjcgOS4wNjYtOS4wNjcgOS4wNjZoLTMzLjEzM2MtNSAwLTkuMDY3LTQuMDY3LTkuMDY3LTkuMDY2em0uNzg0IDE5OS41ODRjLS40MzMgMC0uNzg0LS4zNTItLjc4NC0uNzgzdi04LjI4NGMwLTQuOTk5IDQuMDY3LTkuMDY2IDkuMDY3LTkuMDY2aDMzLjEzM2M1IDAgOS4wNjcgNC4wNjcgOS4wNjcgOS4wNjZ2OC4yODRjMCAuNDMyLS4zNTIuNzgzLS43ODMuNzgzem0zNjQuNDY2IDBjLS40MzIgMC0uNzgzLS4zNTItLjc4My0uNzgzdi04LjI4NGMwLTQuOTk5IDQuMDY3LTkuMDY2IDkuMDY3LTkuMDY2aDMzLjEzM2M1IDAgOS4wNjcgNC4wNjcgOS4wNjcgOS4wNjZ2OC4yODRjMCAuNDMyLS4zNTIuNzgzLS43ODQuNzgzeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",CNe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ4MCA0ODAiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik00NzQuNjA4LDgwLjQzOWwtMjMyLTgwYy0xLjY5LTAuNTgzLTMuNTI2LTAuNTgzLTUuMjE2LDBsLTIzMiw4MEMyLjE2Niw4MS41NTEsMC4wMDEsODQuNTg3LDAsODcuOTk5djM4NA0KCQkJYzAsNC40MTgsMy41ODIsOCw4LDhoNDBjNC40MTgsMCw4LTMuNTgyLDgtOHYtMjQ4aDM2OHYyNDhjMCw0LjQxOCwzLjU4Miw4LDgsOGg0MGM0LjQxOCwwLDgtMy41ODIsOC04di0zODQNCgkJCUM0NzkuOTk5LDg0LjU4Nyw0NzcuODM0LDgxLjU1MSw0NzQuNjA4LDgwLjQzOXogTTQwLDIxNS45OTl2MjQ4SDE2di0zMDRoMjRWMjE1Ljk5OXogTTQyNCwyMDcuOTk5SDU2di0xNmgzNjhWMjA3Ljk5OXoNCgkJCSBNNDI0LDE3NS45OTlINTZ2LTE2aDM2OFYxNzUuOTk5eiBNNDY0LDQ2My45OTloLTI0di0zMDRoMjRWNDYzLjk5OXogTTQ2NCwxNDMuOTk5SDE2VjkzLjcwM2wyMjQtNzcuMjRsMjI0LDc3LjI0VjE0My45OTl6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0zOTUuNTc2LDM0NC43OTlsLTI5LjYtMTQuOGwtMjYuNC01Mi44Yy00LjA2MS04LjEyNS0xMi4zODEtMTMuMjQyLTIxLjQ2NC0xMy4ySDE2MS44ODgNCgkJCWMtOS4wOTgtMC4wMy0xNy40MjEsNS4xMTQtMjEuNDY0LDEzLjI2NGwtMjYuNCw1Mi44bC0yOS42LDE0LjhjLTIuNzA1LDEuMzUyLTQuNDE2LDQuMTEyLTQuNDI0LDcuMTM2djExMmMwLDguODM3LDcuMTYzLDE2LDE2LDE2DQoJCQloMzJjOC44MzcsMCwxNi03LjE2MywxNi0xNnYtMjRoMTkydjI0YzAsOC44MzcsNy4xNjMsMTYsMTYsMTZoMzJjOC44MzcsMCwxNi03LjE2MywxNi0xNnYtMTEyDQoJCQlDNDAwLjAxNywzNDguOTUyLDM5OC4zMDEsMzQ2LjE2LDM5NS41NzYsMzQ0Ljc5OXogTTE1NC43MzYsMjg0LjQyM2MxLjM0NS0yLjcxOCw0LjExOS00LjQzNCw3LjE1Mi00LjQyNGgxNTYuMjI0DQoJCQljMy4wMzMtMC4wMSw1LjgwNywxLjcwNiw3LjE1Miw0LjQyNGwyMS43OTIsNDMuNTc2SDEzMi45NDRMMTU0LjczNiwyODQuNDIzeiBNMTI4LDQ2My45OTlIOTZ2LTI0aDMyVjQ2My45OTl6IE0zODQsNDYzLjk5OWgtMzINCgkJCXYtMjRoMzJWNDYzLjk5OXogTTM4NCw0MjMuOTk5SDEzNkg5NnYtNjcuMDU2bDI1Ljg4OC0xMi45NDRoMjM2LjIyNEwzODQsMzU2Ljk0M1Y0MjMuOTk5eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTUyLDM1OS45OTloLTI0Yy04LjgzNywwLTE2LDcuMTYzLTE2LDE2djE2YzAsOC44MzcsNy4xNjMsMTYsMTYsMTZoMjRjOC44MzcsMCwxNi03LjE2MywxNi0xNnYtMTYNCgkJCUMxNjgsMzY3LjE2MiwxNjAuODM3LDM1OS45OTksMTUyLDM1OS45OTl6IE0xNTIsMzkxLjk5OWgtMjR2LTE2aDI0VjM5MS45OTl6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0zNTIsMzU5Ljk5OWgtMjRjLTguODM3LDAtMTYsNy4xNjMtMTYsMTZ2MTZjMCw4LjgzNyw3LjE2MywxNiwxNiwxNmgyNGM4LjgzNywwLDE2LTcuMTYzLDE2LTE2di0xNg0KCQkJQzM2OCwzNjcuMTYyLDM2MC44MzcsMzU5Ljk5OSwzNTIsMzU5Ljk5OXogTTM1MiwzOTEuOTk5aC0yNHYtMTZoMjRWMzkxLjk5OXoiLz4NCiAgICAgICAgPHBhdGggZD0iTTI4MCwzNTkuOTk5aC04MGMtOC44MzcsMC0xNiw3LjE2My0xNiwxNnYxNmMwLDguODM3LDcuMTYzLDE2LDE2LDE2aDgwYzguODM3LDAsMTYtNy4xNjMsMTYtMTZ2LTE2DQoJCQlDMjk2LDM2Ny4xNjIsMjg4LjgzNywzNTkuOTk5LDI4MCwzNTkuOTk5eiBNMjgwLDM5MS45OTloLTgwdi0xNmg4MFYzOTEuOTk5eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",ANe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMS45NzggNTExLjk3OCIgd2lkdGg9IjUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtMTMwLjAwOSAyMjMuMjQ4YzQuMTQzIDAgNy41LTMuMzU4IDcuNS03LjV2LTE2LjY5NmMwLTEyLjU1NyAxMC4yMTYtMjIuNzczIDIyLjc3Mi0yMi43NzNoMTUuMzkyYzQuMTQzIDAgNy41LTMuMzU4IDcuNS03LjVzLTMuMzU3LTcuNS03LjUtNy41aC0xNS4zOTJjLTIwLjgyOCAwLTM3Ljc3MiAxNi45NDUtMzcuNzcyIDM3Ljc3M3YxNi42OTZjMCA0LjE0MiAzLjM1OCA3LjUgNy41IDcuNXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTEzMC4wMDkgMjgxLjE4N2M0LjE0MyAwIDcuNS0zLjM1OCA3LjUtNy41di0yNC43NDZjMC00LjE0Mi0zLjM1Ny03LjUtNy41LTcuNXMtNy41IDMuMzU4LTcuNSA3LjV2MjQuNzQ2YzAgNC4xNDIgMy4zNTggNy41IDcuNSA3LjV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xNTcuODU2IDIwOC44NnYzNi4zMzljMCA0LjE0MiAzLjM1NyA3LjUgNy41IDcuNXM3LjUtMy4zNTggNy41LTcuNXYtMzYuMzM5YzAtMy4yOTQgMi43OTYtNi4wNzggNi4xMDUtNi4wNzhoMTMuMjM3YzQuMTQzIDAgNy41LTMuMzU4IDcuNS03LjVzLTMuMzU3LTcuNS03LjUtNy41aC0xMy4yMzdjLTExLjYzNyAwLTIxLjEwNSA5LjQ1NS0yMS4xMDUgMjEuMDc4eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjI4LjE4MSAyMTEuNDNjMi45NDIgMS45NjQgNi4zODIgMi45NjMgOS44ODkgMi45NjMgMi40NDIgMCA0LjkxOS0uNDg1IDcuMjgyLTEuNDY3bDI0Ljc2LTEwLjI1NSA2My41OTUgNC45MDYgNC42NjEgMTYuMTIxYzEuNjE5IDUuNjAxIDUuNTk2IDEwLjA3NCAxMS4xOTcgMTIuNTk1IDMuMTQ4IDEuNDE3IDYuNTkxIDIuMTI0IDEwLjA0MSAyLjEyNCAzLjY1MyAwIDcuMzE2LS43OTMgMTAuNjQ0LTIuMzc0bDExNy4yOTEtNTUuNzI5YzYuNDY5LTMuMDc0IDExLjQyNS05LjAxIDEzLjI1OC0xNS44OCAxLjU4Mi01LjkzMi42MjktMTEuODM1LTIuNjg0LTE2LjYxOWwtMjMuNjM5LTM0LjE2NGMxNy43NjMtMjAuNDYyIDIxLjk0MS00OS41OTUgMTAuMTI3LTc0LjQ2MS0xNi4yNzItMzQuMjAxLTU3LjMzMi00OC43OTctOTEuNTEtMzIuNTUtMjYuMTgxIDEyLjQzNS00MS41OTIgNDAuMDA4LTM4LjkxIDY4LjQ1OGwtMzMuNzY2IDE2LjA0MmMtLjAwMSAwLS4wMDEgMC0uMDAxIDAtMTAuNzI1IDUuMDk2LTE1LjM5MSAxNy4yODEtMTEuNjExIDMwLjMxNWw4Ljc0NSAzMC4yNDJoLTQ3LjE1N2wtMjUuMDU1LTEwLjM3N2MtNS43NjMtMi4zNzEtMTIuMTc5LTEuNzkzLTE3LjE2NyAxLjU0Ni00LjcxMyAzLjE1Ny03LjQxNiA4LjIyMS03LjQxNiAxMy44OTN2NDAuNzYxYy0uMDAyIDUuNjkxIDIuNzA2IDEwLjc2IDcuNDI2IDEzLjkxem0yNTcuNi01NS4wNzdjLjc5IDEuMTQuOTY2IDIuNTU4LjUyNCA0LjIxNC0uNjkyIDIuNTkzLTIuNzM0IDUuMDI2LTUuMjAyIDYuMTk5bC0xMTcuMjkxIDU1LjcyOGMtMi40NyAxLjE3My01LjY0NiAxLjIyMS04LjA5MS4xMi0xLjU2NS0uNzA0LTIuNTU2LTEuNzQxLTIuOTQzLTMuMDgzbC0yMi4zNzYtNzcuMzg1IDEwOS41NDItNTIuMDR6bS04Ni4yNTItMTM2LjE2MmMuMDAxIDAgLjAwMi0uMDAxLjAwMy0uMDAxIDI2LjcxNi0xMi43MDMgNTguODA2LTEuMjg4IDcxLjUyNCAyNS40NDIgOC42NjQgMTguMjM3IDYuMzMgMzkuNDE3LTUuNDYzIDU1LjE3M2wtLjAyNC0uMDI2LTI4LjAwMi00MC40N2MtNy43MjktMTEuMTYtMjAuMTM1LTE1LjI0MS0zMC44NjgtMTAuMTU3bC0zNy44MDMgMTcuOTU4LS4wMTIuMDAzYy4yMTctMjAuMTkgMTEuODk5LTM5LjAxOSAzMC42NDUtNDcuOTIyem0tNzIuNjc2IDg0LjQ5OCA4Ni4yNzMtNDAuOTg0YzQuNzUtMi4yNTEgOS40OTIgMS4zNjYgMTIuMTA3IDUuMTQzbDYuMDYyIDguNzYtMTA1LjExNSA0OS45MzctMi45NjctMTAuMjYyYy0xLjI3OC00LjQwNC0xLjA5LTEwLjM0NiAzLjY0LTEyLjU5NHptLTUwLjQ1MyA2Mi4wMDloNDUuNDc4bDcuMzY1IDI1LjQ5LTUyLjg0My00LjA3N3ptLTQwLjY0Ny05LjkzOGMwLS4zOTUuMDc5LS45NzIuNzY1LTEuNDMxLjIwNC0uMTM3Ljc3MS0uNDU1IDEuNjEzLS40NTUuNDI3IDAgLjkyNC4wODIgMS40OC4zMTFsMjEuNzg4IDkuMDI0djI1LjgzNGwtMjEuNzk3IDkuMDI3Yy0xLjY2NS42OTQtMi43OTIuMDg1LTMuMDk2LS4xMTgtLjY2OC0uNDQ2LS43NTQtLjk5OS0uNzU0LTEuNDMxdi00MC43NjF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xMTcuOTYgNDY0LjQ3OWMtMi45MjkgMi45MjktMi45MjkgNy42NzggMCAxMC42MDZsLjAyOC4wMjhjMS40NjIgMS40NjEgMy4zNzEgMi4xOSA1LjI4MyAyLjE5IDEuOTIgMCAzLjg0Mi0uNzM2IDUuMzEtMi4yMDQgMi45MjktMi45MjkgMi45MTUtNy42OTItLjAxNC0xMC42MjEtMi45My0yLjkyOC03LjY3OC0yLjkyOC0xMC42MDcuMDAxeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTkwLjkyIDQ2OC4yNzdjLTIuOTI5IDIuOTI5LTIuOTI5IDcuNjc4IDAgMTAuNjA2bC4wMjguMDI4YzEuNDYyIDEuNDYxIDMuMzcxIDIuMTkgNS4yODMgMi4xOSAxLjkyIDAgMy44NDItLjczNiA1LjMxLTIuMjA0IDIuOTI5LTIuOTI5IDIuOTE1LTcuNjkyLS4wMTQtMTAuNjIxLTIuOTMtMi45MjctNy42NzgtMi45MjctMTAuNjA3LjAwMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTMwNy45NTcgNDY0LjQ3OWMtMi45MjkgMi45MjktMi45MjkgNy42NzggMCAxMC42MDZsLjAyOC4wMjhjMS40NjIgMS40NjEgMy4zNzEgMi4xOSA1LjI4MyAyLjE5IDEuOTIgMCAzLjg0Mi0uNzM2IDUuMzEtMi4yMDQgMi45MjktMi45MjkgMi45MTUtNy42OTItLjAxNC0xMC42MjEtMi45My0yLjkyOC03LjY3OC0yLjkyOC0xMC42MDcuMDAxeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzc2LjIyMiA0ODEuMTAyYzEuOTIgMCAzLjg0Mi0uNzM2IDUuMzEtMi4yMDQgMi45MjktMi45MjkgMi45MTUtNy42OTItLjAxNC0xMC42MjEtMi45My0yLjkyOS03LjY3OC0yLjkyOS0xMC42MDcgMHMtMi45MjkgNy42NzggMCAxMC42MDZsLjAyOC4wMjhjMS40NjIgMS40NjIgMy4zNzEgMi4xOTEgNS4yODMgMi4xOTF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00NzAuNzg0IDQwOS4zODVjMjIuNzEzLTIuMjc4IDQxLjE5MS0yMi43OTIgNDEuMTkxLTQ1LjcyOXYtMjguNzQzYzAtMy43MDktMS41NDktNy4yMzQtNC4yNDgtOS42NzEtMi42OTItMi40MzEtNi4zNTItMy42MDktMTAuMDEtMy4yMzNsLTI4LjgxIDIuODkyYy05LjkyMyAxLjAxLTE5LjAzNyA1LjUwMi0yNi4xNTEgMTIuMTUybC4wNjMtNS4xNTRjMC0yMi45MDMtMTguMzM3LTQzLjI2Ni00MS4wNTQtNDUuNTc4bC0yOC43ODMtMi44OWMtMy42ODctLjM3OS03LjMzNC44MDItMTAuMDI1IDMuMjMyLTIuNjk5IDIuNDM4LTQuMjQ4IDUuOTYyLTQuMjQ4IDkuNjcxdjI4Ljc0M2MwIDIyLjkwMyAxOC40NzMgNDMuNDE3IDQxLjE4NSA0NS43MjlsMjcuODYzIDIuODE0djUzLjk5NmgtNTQuNTE5Yy00LjE0MyAwLTcuNSAzLjM1OC03LjUgNy41czMuMzU3IDcuNSA3LjUgNy41aDExOS4zMDRjMi40NDQgMCA0LjQzNCAxLjk3NiA0LjQzNCA0LjQwNXY0NS41MjNjMCAyLjQwMy0yLjAzIDQuNDM0LTQuNDM0IDQuNDM0aC00NzMuMTM0Yy0yLjM4OCAwLTQuNDA1LTIuMDMtNC40MDUtNC40MzR2LTQ1LjUyM2MwLTIuMzg4IDIuMDE4LTQuNDA1IDQuNDA1LTQuNDA1aDMxOS4xOTJjNC4xNDMgMCA3LjUtMy4zNTggNy41LTcuNXMtMy4zNTctNy41LTcuNS03LjVoLTc1LjEyNnYtMTUuMzk3bDI4LjA1Ny0yLjgzM2MyMi43MTMtMi4yNzggNDEuMTktMjIuNzkyIDQxLjE5LTQ1LjcyOXYtMjguNzQzYzAtMy43MDUtMS41NTItNy4yMjktNC4yNTctOS42NjktMi43LTIuNDM1LTYuMzU5LTMuNjEyLTEwLjAwMS0zLjIzNWwtMjguODEgMi44OTJjLTkuOTM0IDEuMDExLTE5LjA1OCA1LjUwNy0yNi4xOCAxMi4xNjMgMCAwIC4xOTktNC40MjkuMTk5LTUuMDEzIDAtMjIuOTA3LTE4LjQ3NC00My40Mi00MS4xOS00NS43MjlsLTI4Ljc3Ni0yLjg5Yy0zLjY2Ni0uMzc1LTcuMzA4Ljc5Ni05Ljk5NyAzLjIyMi0yLjcwNCAyLjQzOS00LjI1NSA1Ljk2Ny00LjI1NSA5LjY4MXYyOC43NDNjMCAyMi45MDMgMTguNDc0IDQzLjQxNyA0MS4xODYgNDUuNzI5bDI3LjgzNCAyLjgxM3Y1My45OTZoLTE2NC4yNTN2LTE1LjM5OGwyOC4wMjYtMi44MzJjMjIuNzEzLTIuMjc0IDQxLjE5MS0yMi43ODkgNDEuMTkxLTQ1LjcyOXYtMjguNzQzYzAtMy43MTMtMS41NTEtNy4yNDItNC4yNTUtOS42ODEtMi42ODktMi40MjYtNi4zMzMtMy42MDQtOS45NzUtMy4yMjRsLTI4LjgxIDIuODkyYy05LjkzNCAxLjAxMS0xOS4wNTggNS41MDctMjYuMTc5IDEyLjE2MiAwIDAgLjE5OC00LjQzLjE5OC01LjAxMiAwLTIyLjkwMy0xOC40NzQtNDMuNDE3LTQxLjE5LTQ1LjcyOWwtMjguNzc2LTIuODljLTMuNjYtLjM3NC03LjMwNi43OTUtOS45OTcgMy4yMjItMi43MDQgMi40MzktNC4yNTUgNS45NjgtNC4yNTUgOS42ODF2MjguNzQzYzAgMjIuOTAzIDE4LjQ3NCA0My40MTcgNDEuMTg2IDQ1LjcyOWwyNy44MzUgMi44MTN2MzEuNzk1IDIyLjIwMWgtNDkuODEyYy0xMC43IDAtMTkuNDA1IDguNzA1LTE5LjQwNSAxOS40MDV2NDUuNTIzYzAgMTAuNzE2IDguNzA1IDE5LjQzNCAxOS40MDUgMTkuNDM0aDQ3My4xMzRjMTAuNzE2IDAgMTkuNDM0LTguNzE4IDE5LjQzNC0xOS40MzR2LTQ1LjUyM2MwLTEwLjctOC43MTgtMTkuNDA1LTE5LjQzNC0xOS40MDVoLTQ5Ljc4NXYtMTUuMzk4em0tMjguMDI4LTM4Ljc1NmMwLTE1LjE3MSAxMi42NzItMjkuMjc5IDI3LjY2LTMwLjgwNWwyNi41NTktMi42NjZ2MjYuNDk4YzAgMTUuMTkyLTEyLjY4IDI5LjI5OS0yNy42OTMgMzAuODA1bC0xNS40MTUgMS41NTggMTkuMDY5LTIxLjA5N2MyLjc3Ny0zLjA3MyAyLjUzNy03LjgxNi0uNTM1LTEwLjU5My0zLjA3Mi0yLjc3NS03LjgxNC0yLjUzOS0xMC41OTQuNTM1bC0xOS4wNTEgMjEuMDc3em0tMTUtMjMuNDU3LTE4Ljg4LTIwLjg4OGMtMi43NzktMy4wNzItNy41MjEtMy4zMTItMTAuNTk0LS41MzVzLTMuMzEzIDcuNTItLjUzNSAxMC41OTNsMTkuMDY3IDIxLjA5Ni0xNS40MDgtMS41NTZjLTE1LjAxNC0xLjUyOC0yNy42OTgtMTUuNjM1LTI3LjY5OC0zMC44MDV2LTI2LjQ5N2wyNi41NDggMi42NjZjMTUuMDE1IDEuNTI4IDI3LjUgMTUuNjM1IDI3LjUgMzAuODA1em0tMTY0LjI4MiAyMy40NTdjMC0xNS4xNyAxMi42ODUtMjkuMjc3IDI3LjY4OC0zMC44MDVsMjYuNTU5LTIuNjY2djI2LjQ5OGMwIDE1LjE5Mi0xMi42NzkgMjkuMjk5LTI3LjY5MiAzMC44MDVsLTE1LjQxNCAxLjU1NyAxOS4wNjgtMjEuMDk2YzIuNzc3LTMuMDczIDIuNTM3LTcuODE2LS41MzUtMTAuNTkzLTMuMDcyLTIuNzc1LTcuODE0LTIuNTM5LTEwLjU5NC41MzVsLTE5LjA3OSAyMS4xMDh2LTE1LjM0M3ptLTQ0Ljk4LTM0LjI4NiAxOS4wNjkgMjEuMDk3LTE1LjQwOS0xLjU1N2MtMTUuMDE1LTEuNTI4LTI3LjY5OS0xNS42MzUtMjcuNjk5LTMwLjgwNXYtMjYuNDk1bDI2LjUyMSAyLjY2M2MxNS4wMTUgMS41MjYgMjcuNDk5IDE1LjYzMyAyNy40OTkgMzAuODA1djE1LjA5MWwtMTguODUyLTIwLjg1N2MtMi43NzgtMy4wNzItNy41MjEtMy4zMTItMTAuNTk0LS41MzVzLTMuMzEzIDcuNTItLjUzNSAxMC41OTN6bS0xMzQuMjczIDM0LjI4NmMwLTE1LjE3IDEyLjY4NS0yOS4yNzcgMjcuNjg4LTMwLjgwNWwyNi41My0yLjY2M3YyNi40OTVjMCAxNS4xOTUtMTIuNjc5IDI5LjMwMS0yNy42OTIgMzAuODA1bC0xNS40MDUgMS41NTcgMTkuMDgzLTIxLjA5NGMyLjc3OS0zLjA3MiAyLjU0Mi03LjgxNC0uNTMtMTAuNTkzLTMuMDY4LTIuNzc4LTcuODEzLTIuNTQyLTEwLjU5My41M2wtMTkuMDgxIDIxLjA5MXptLTQ0Ljk4MS0zNC4yODYgMTkuMDY5IDIxLjA5Ny0xNS40MDktMS41NThjLTE1LjAxNS0xLjUyOC0yNy42OTktMTUuNjM1LTI3LjY5OS0zMC44MDV2LTI2LjQ5NWwyNi41MiAyLjY2M2MxNS4wMTUgMS41MjggMjcuNTAxIDE1LjYzNSAyNy41MDEgMzAuODA1djE1LjA5MmwtMTguODUzLTIwLjg1OGMtMi43NzktMy4wNzItNy41MjEtMy4zMTItMTAuNTk0LS41MzVzLTMuMzEzIDcuNTIxLS41MzUgMTAuNTk0eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",mNe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTI2LjYyMiAxNTEuNzQxaDEwLjh2MzUuNjgxYzAgMTEuMTI1IDkuMDUxIDIwLjE3NSAyMC4xNzUgMjAuMTc1aDE0LjgxNGM0Ljc5OSAwIDkuMjA4LTEuNjkxIDEyLjY3NS00LjUgMy40NjcgMi44MDkgNy44NzUgNC41IDEyLjY3NSA0LjVoMTQuODE0YzExLjEyNCAwIDIwLjE3NS05LjA1IDIwLjE3NS0yMC4xNzV2LTM5Ljk0aDIwLjEzOXYxODUuMTE1aC0yMy40NTdjLTEwLjkzOCAwLTE5LjgzNyA4Ljg5OC0xOS44MzcgMTkuODM2djM3LjMyNGMwIDkuOTY4IDcuMzk4IDE4LjIxOSAxNi45ODggMTkuNjA4djg3LjU3NmMwIDguMzA0IDYuNzU1IDE1LjA1OSAxNS4wNTkgMTUuMDU5aDMwLjMzNWM4LjMwNCAwIDE1LjA1OS02Ljc1NSAxNS4wNTktMTUuMDU5di01My44NDRoNTEuNDY0YzQuMTQzIDAgNy41LTMuMzU4IDcuNS03LjVzLTMuMzU3LTcuNS03LjUtNy41Yy05Ljc2NSAwLTg1Ljc4NSAwLTk2LjkxNyAwdi0xOC41MDNoMjI4LjgzNHYxOC41MDNjLTExLjEzNyAwLTg3LjIxNyAwLTk2LjkxNyAwLTQuMTQzIDAtNy41IDMuMzU4LTcuNSA3LjVzMy4zNTcgNy41IDcuNSA3LjVoNTEuNDY1djUzLjg0NGMwIDguMzA0IDYuNzU1IDE1LjA1OSAxNS4wNTkgMTUuMDU5aDMwLjMzNGM4LjMwNCAwIDE1LjA2LTYuNzU1IDE1LjA2LTE1LjA1OSAwLTEwLjE1NCAwLTc3LjAzNiAwLTg3LjU3NiA5LjU5LTEuMzg5IDE2Ljk4OC05LjY0IDE2Ljk4OC0xOS42MDh2LTM3LjMyNGMwLTEwLjkzOC04Ljg5OC0xOS44MzYtMTkuODM3LTE5LjgzNmgtMjMuNDU3di03NS4wNThjMC00LjE0Mi0zLjM1Ny03LjUtNy41LTcuNXMtNy41IDMuMzU4LTcuNSA3LjV2NzUuMDU4aC0yNS4xNjRjMC0yMS43MTMgMC0xNjIuOTEyIDAtMTg1LjExNWgyNS4xNjR2NzUuMDU4YzAgNC4xNDIgMy4zNTcgNy41IDcuNSA3LjVzNy41LTMuMzU4IDcuNS03LjV2LTc1LjA1OGgyMC4xMzl2MzkuOTRjMCAxMS4xMjUgOS4wNTEgMjAuMTc1IDIwLjE3NSAyMC4xNzVoMTQuODE0YzQuNzk5IDAgOS4yMDgtMS42OTEgMTIuNjc1LTQuNSAzLjQ2NyAyLjgwOSA3Ljg3NSA0LjUgMTIuNjc0IDQuNWgxNC44MTVjMTEuMTI0IDAgMjAuMTc1LTkuMDUgMjAuMTc1LTIwLjE3NXYtMzUuNjgxaDEwLjhjMTEuMTI0IDAgMjAuMTc1LTkuMDUgMjAuMTc1LTIwLjE3NXYtMTQuODE0YzAtMTEuMTI1LTkuMDUxLTIwLjE3NS0yMC4xNzUtMjAuMTc1aC0xMC44di0zNS42ODFjMC0xMS4xMjQtOS4wNTEtMjAuMTc0LTIwLjE3NS0yMC4xNzRoLTE0LjgxNWMtNC43OTkgMC05LjIwNyAxLjY5MS0xMi42NzQgNC41LTMuNDY3LTIuODA5LTcuODc1LTQuNS0xMi42NzUtNC41aC0xNC44MTRjLTExLjEyNCAwLTIwLjE3NSA5LjA1LTIwLjE3NSAyMC4xNzR2MzkuOTQxaC0yMC4xMzl2LTgwLjY2M2MtLjAwMS0xMS4xMjQtOS4wNTEtMjAuMTc0LTIwLjE3NS0yMC4xNzRoLTE0LjgxNGMtMTEuMTI0IDAtMjAuMTc1IDkuMDUtMjAuMTc1IDIwLjE3NHY1MC41MzRoLTk1Ljg5NnYtNTAuNTM0YzAtMTEuMTI0LTkuMDUtMjAuMTc0LTIwLjE3NC0yMC4xNzRoLTE0LjgxNWMtMTEuMTI0IDAtMjAuMTc0IDkuMDUtMjAuMTc0IDIwLjE3NHY4MC42NjNoLTIwLjEzOXYtMzkuOTQxYzAtMTEuMTI0LTkuMDUxLTIwLjE3NC0yMC4xNzUtMjAuMTc0aC0xNC44MTRjLTQuNzk5IDAtOS4yMDggMS42OTEtMTIuNjc1IDQuNS0zLjQ2Ny0yLjgwOS03Ljg3NS00LjUtMTIuNjc1LTQuNWgtMTQuODE0Yy0xMS4xMjQgMC0yMC4xNzUgOS4wNS0yMC4xNzUgMjAuMTc0djM1LjY4MWgtMTAuOGMtMTEuMTI0IDAtMjAuMTc1IDkuMDUtMjAuMTc1IDIwLjE3NXYxNC44MTRjMCAxMS4xMjUgOS4wNTEgMjAuMTc1IDIwLjE3NSAyMC4xNzV6bTE0MS4yNjctNC4yNmgyNS4xNjN2MTg1LjExNWgtMjUuMTYzem00MC4xNjMgNjguNzEyaDk1Ljg5NnY3Ni45MDFoLTk1Ljg5NnptOTUuODk1LTE1aC05NS44OTZ2LTIzLjU4M2g5NS44OTZ6bS0xMzEuOTE5IDI0MS45MDQtLjA1MSA1My45MDMtMzAuMzkzLS4wMzljMC0uMDAxLS4wMDEtLjAwOC0uMDAxLS4wMnYtNTMuODQ0em0xOTguMzI5IDUzLjkwMy0zMC4zOTMtLjA1OXYtNTMuODQ0aDMwLjQ0NXptMTIuMjExLTE0OS40MDNjMi42NjcgMCA0LjgzNyAyLjE2OSA0LjgzNyA0LjgzNnYzNy4zMjRjMCAyLjY2Ny0yLjE3IDQuODM2LTQuODM3IDQuODM2LTEzLjIwMiAwLTI0MS4yNTYgMC0yNTMuMTM3IDAtMi42NjcgMC00LjgzNy0yLjE2OS00LjgzNy00LjgzNnYtMzcuMzI0YzAtMi42NjcgMi4xNy00LjgzNiA0LjgzNy00LjgzNnptLTE3NC41MTYtMTV2LTI0LjUwM2g5NS44OTZ2MjQuNTAzem05NS44OTUtMTY5Ljk4N2gtOTUuODk2di0xNS4xMjhoOTUuODk2em0tMTE1Ljk3Ny0zMC4xMjl2LTE2LjY0NWgxMzYuMDZ2MTYuNjQ1Yy00LjY1MyAwLTEzMC40MTEgMC0xMzYuMDYgMHptMjk3LjQwOC0yMC45MDRjMi44MDUgMCA1LjE3NSAyLjM3IDUuMTc1IDUuMTc1djE0LjgxNGMwIDIuODA1LTIuMzcgNS4xNzUtNS4xNzUgNS4xNzVoLTEwLjh2LTI1LjE2NHptLTQ1Ljc5LTU1Ljg1NWgxNC44MTVjMi44MDUgMCA1LjE3NSAyLjM3IDUuMTc1IDUuMTc0djEyNi41MjZjMCAyLjgwNS0yLjM3IDUuMTc1LTUuMTc1IDUuMTc1aC0xNC44MTVjLTIuODA1IDAtNS4xNzQtMi4zNy01LjE3NC01LjE3NXYtMTI2LjUyNmMwLTIuODA1IDIuMzY5LTUuMTc0IDUuMTc0LTUuMTc0em0tNDUuMzM4IDUuMTc0YzAtMi44MDUgMi4zNy01LjE3NCA1LjE3NS01LjE3NGgxNC44MTRjMi44MDUgMCA1LjE3NSAyLjM3IDUuMTc1IDUuMTc0djEyNi41MjZjMCAyLjgwNS0yLjM3IDUuMTc1LTUuMTc1IDUuMTc1aC0xNC44MTRjLTIuODU0IDAtNS4xNzUtMi4zMjEtNS4xNzUtNS4xNzUgMC0yLjkwNCAwLTEyMi42MDIgMC0xMjYuNTI2em0tMTUgNzEuNTg1Yy0xMy40NjMgMC0yNS4xODYgMC00MC4yMjEgMHYtMTYuNjQ1aDQwLjIyMXptLTYwLjMwMy0xMTIuMzA3YzAtMi44MDUgMi4zNy01LjE3NCA1LjE3NS01LjE3NGgxNC44MTRjMi44NTQgMCA1LjE3NSAyLjMyMSA1LjE3NSA1LjE3NHY4MC42NjNjLTkuMTA2IDAtMTYuMDU4IDAtMjUuMTY0IDAgMC05LjM3MyAwLTcwLjg4NSAwLTgwLjY2M3ptLTE1IDY1LjUzNHYxNS4xMjhoLTk1Ljg5NnYtMTUuMTI4em0tMTM2LjA1OC02NS41MzRjMC0yLjgwNSAyLjM2OS01LjE3NCA1LjE3NC01LjE3NGgxNC44MTVjMi44MDUgMCA1LjE3NCAyLjM3IDUuMTc0IDUuMTc0djgwLjY2M2MtOS4xMDQgMC0xNi4wMzkgMC0yNS4xNjMgMHptNS4wODEgOTUuNjYzdjE2LjY0NWMtMTUuMjczIDAtMjYuNDYgMC00MC4yMiAwdi0xNi42NDV6bS03NS4yMDktNjAuMTE1aDE0LjgxNGMyLjgwNSAwIDUuMTc1IDIuMzcgNS4xNzUgNS4xNzR2MTI2LjUyNmMwIDIuODU0LTIuMzIxIDUuMTc1LTUuMTc1IDUuMTc1aC0xNC44MTRjLTIuODA1IDAtNS4xNzUtMi4zNy01LjE3NS01LjE3NXYtMTI2LjUyNmMwLTIuODA1IDIuMzctNS4xNzQgNS4xNzUtNS4xNzR6bS00NS4zMzkgNS4xNzRjMC0yLjgwNSAyLjM3LTUuMTc0IDUuMTc1LTUuMTc0aDE0LjgxNGMyLjgwNSAwIDUuMTc1IDIuMzcgNS4xNzUgNS4xNzR2MTI2LjUyNmMwIDIuODU0LTIuMzIxIDUuMTc1LTUuMTc1IDUuMTc1aC0xNC44MTRjLTIuODU0IDAtNS4xNzUtMi4zMjEtNS4xNzUtNS4xNzUgMC01LjY3OSAwLTEyMC44MjcgMC0xMjYuNTI2em0tMzAuOTc1IDU1Ljg1NmMwLTIuODU0IDIuMzIxLTUuMTc1IDUuMTc1LTUuMTc1aDEwLjh2MjUuMTY0aC0xMC44Yy0yLjg1NCAwLTUuMTc1LTIuMzIxLTUuMTc1LTUuMTc1eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",pNe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ4MCA0ODAiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik00NzIsMjgwaC0xNlYxNjYuNGMwLTEyLTkuNi0yMi40LTIyLjQtMjIuNGgtNGMtMTIsMC0yMi40LDkuNi0yMi40LDIyLjRWMjgwaC0yNHYtMTZjMC0xMy42LTEwLjQtMjQtMjQtMjRIMTIwDQoJCQljLTEzLjYsMC0yNCwxMC40LTI0LDI0djE2SDcyVjE2Ni40YzAtMTItOS42LTIyLjQtMjIuNC0yMi40aC0zLjJjLTEyLjgsMC0yMi40LDkuNi0yMi40LDIyLjRWMjgwSDhjLTQuOCwwLTgsMy4yLTgsOHMzLjIsOCw4LDhoOA0KCQkJdjE0NGMwLDQuOCwzLjIsOCw4LDhoOHY4YzAsNC44LDMuMiw4LDgsOHM4LTMuMiw4LTh2LThoMzg0djhjMCw0LjgsMy4yLDgsOCw4czgtMy4yLDgtOHYtOGg4YzQuOCwwLDgtMy4yLDgtOFYyOTZoOA0KCQkJYzQuOCwwLDgtMy4yLDgtOFM0NzYuOCwyODAsNDcyLDI4MHogTTQzMC40LDE2MGg0YzMuMiwwLDYuNCwyLjQsNi40LDYuNFYyODBoLTE2VjE2Ni40SDQyNEM0MjQsMTYzLjIsNDI2LjQsMTYwLDQzMC40LDE2MHoNCgkJCSBNMTEyLDI2NGMwLTQuOCwzLjItOCw4LThoMjQwYzQuOCwwLDgsMy4yLDgsOHYxNkgxMTJWMjY0eiBNNDAsMTY2LjRjMC00LDIuNC02LjQsNi40LTYuNGg0YzMuMiwwLDUuNiwyLjQsNS42LDYuNFYyODBINDBWMTY2LjR6DQoJCQkgTTIzMiw0MzJIMzJ2LTY0aDIwMFY0MzJ6IE00NDgsNDMySDI0OHYtNjRoMjAwVjQzMnogTTQ0OCwzNTJIMzJ2LTU2aDQxNlYzNTJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0yMDgsMzg0Yy00LjgsMC04LDMuMi04LDh2MTZjMCw0LjgsMy4yLDgsOCw4czgtMy4yLDgtOHYtMTZDMjE2LDM4Ny4yLDIxMi44LDM4NCwyMDgsMzg0eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjcyLDM4NGMtNC44LDAtOCwzLjItOCw4djE2YzAsNC44LDMuMiw4LDgsOHM4LTMuMiw4LTh2LTE2QzI4MCwzODcuMiwyNzYuOCwzODQsMjcyLDM4NHoiLz4NCiAgICAgICAgPHBhdGggZD0iTTM4NCwxNkg5NmMtNC44LDAtOCwzLjItOCw4djE2MGMwLDQuOCwzLjIsOCw4LDhoMjg4YzQuOCwwLDgtMy4yLDgtOFYyNEMzOTIsMTkuMiwzODguOCwxNiwzODQsMTZ6IE0zNzYsMTc2SDEwNFYzMmgyNzINCgkJCVYxNzZ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0zNTIsMTQ0aC04Yy00LjgsMC04LDMuMi04LDhzMy4yLDgsOCw4aDhjNC44LDAsOC0zLjIsOC04UzM1Ni44LDE0NCwzNTIsMTQ0eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTU3LjYsNTAuNGMtMy4yLTMuMi04LTMuMi0xMS4yLDBsLTI0LDI0Yy0zLjIsMy4yLTMuMiw4LDAsMTEuMmMzLjIsMy4yLDgsMy4yLDExLjIsMGwyNC0yNA0KCQkJQzE2MC44LDU4LjQsMTYwLjgsNTMuNiwxNTcuNiw1MC40eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTk3LjYsNTAuNGMtMy4yLTMuMi04LTMuMi0xMS4yLDBsLTU2LDU2Yy0zLjIsMy4yLTMuMiw4LDAsMTEuMmMzLjIsMy4yLDgsMy4yLDExLjIsMGw1Ni01Ng0KCQkJQzIwMC44LDU4LjQsMjAwLjgsNTMuNiwxOTcuNiw1MC40eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",ONe="PHN2ZyBoZWlnaHQ9IjQ4MHB0IiB2aWV3Qm94PSIwIDAgNDgwIDQ4MCIgd2lkdGg9IjQ4MHB0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im00NzIgOTZoLTE0NGMtNC40MTc5NjkgMC04IDMuNTgyMDMxLTggOHYxODRoLTE3NnYtMjRjMC00LjQxNzk2OS0zLjU4MjAzMS04LTgtOGgtMjR2MTZoMTZ2MTZoLTMydi0zMmgtMTZ2MzJoLTMydi0xNmgxNnYtMTZoLTI0Yy00LjQxNzk2OSAwLTggMy41ODIwMzEtOCA4djI0aC0yNGMtNC40MTc5NjkgMC04IDMuNTgyMDMxLTggOHYxNzZjMCA0LjQxNzk2OSAzLjU4MjAzMSA4IDggOGg0NjRjNC40MTc5NjkgMCA4LTMuNTgyMDMxIDgtOHYtMzY4YzAtNC40MTc5NjktMy41ODIwMzEtOC04LTh6bS0xMzYgMTZoMTI4djk2aC0xMjh6bS0xNiAyMjRoLTE0NHYtMzJoMTQ0em0tMzA0LTMyaDE0NHYzMmgtMTQ0em0wIDQ4aDE0NHYxMTJoLTE0NHptMTYwIDBoNjR2MTEyaC02NHptODAgMGg2NHYxMTJoLTY0em04MCAxMTJ2LTI0MGgxMjh2MjQwem0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTM1MiAxNDRoMTZ2MzJoLTE2em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTM1MiAyNTZoMTZ2MzJoLTE2em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ4IDMyMGMwIDQuNDE3OTY5LTMuNTgyMDMxIDgtOCA4cy04LTMuNTgyMDMxLTgtOCAzLjU4MjAzMS04IDgtOCA4IDMuNTgyMDMxIDggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im04MCAzMjBjMCA0LjQxNzk2OS0zLjU4MjAzMSA4LTggOHMtOC0zLjU4MjAzMS04LTggMy41ODIwMzEtOCA4LTggOCAzLjU4MjAzMSA4IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMTEyIDMyMGMwIDQuNDE3OTY5LTMuNTgyMDMxIDgtOCA4cy04LTMuNTgyMDMxLTgtOCAzLjU4MjAzMS04IDgtOCA4IDMuNTgyMDMxIDggOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xNDQgMzIwYzAgNC40MTc5NjktMy41ODIwMzEgOC04IDhzLTgtMy41ODIwMzEtOC04IDMuNTgyMDMxLTggOC04IDggMy41ODIwMzEgOCA4em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTggMTUyaDE2MGM0LjQxNzk2OSAwIDgtMy41ODIwMzEgOC04di0yNGMwLTIuMTIxMDk0LS44NDM3NS00LjE1NjI1LTIuMzQzNzUtNS42NTYyNWwtMzItMzJjLTEuNS0xLjUtMy41MzUxNTYtMi4zNDM3NS01LjY1NjI1LTIuMzQzNzVoLTh2LTcyYzAtNC40MTc5NjktMy41ODIwMzEtOC04LThoLTY0Yy00LjQxNzk2OSAwLTggMy41ODIwMzEtOCA4djcyaC04Yy0yLjEyMTA5NCAwLTQuMTU2MjUuODQzNzUtNS42NTYyNSAyLjM0Mzc1bC0zMiAzMmMtMS41IDEuNS0yLjM0Mzc1IDMuNTM1MTU2LTIuMzQzNzUgNS42NTYyNXYyNGMwIDQuNDE3OTY5IDMuNTgyMDMxIDggOCA4em01Ni0xMzZoNDh2NjRoLTQ4em0tNDggMTA3LjMxMjUgMjcuMzEyNS0yNy4zMTI1aDg5LjM3NWwyNy4zMTI1IDI3LjMxMjV2MTIuNjg3NWgtMTQ0em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTEzNiAzNjhoLTk2Yy00LjQxNzk2OSAwLTggMy41ODIwMzEtOCA4djY0YzAgNC40MTc5NjkgMy41ODIwMzEgOCA4IDhoOTZjNC40MTc5NjkgMCA4LTMuNTgyMDMxIDgtOHYtNjRjMC00LjQxNzk2OS0zLjU4MjAzMS04LTgtOHptLTggNjRoLTgwdi00OGg4MHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yMzIgMzEyaDMydjE2aC0zMnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yMDggMzkyaDE2djMyaC0xNnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yNzIgMzkyaDE2djMyaC0xNnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xOTIgMjAwaDQ4YzQuNDE3OTY5IDAgOC0zLjU4MjAzMSA4LTh2LThjLS4wNTQ2ODgtMTQuNTQ2ODc1LTkuOTE0MDYyLTI3LjIyNjU2Mi0yNC0zMC44NjMyODF2LTE1My4xMzY3MTloLTE2djE1My4xMzY3MTljLTE0LjA4NTkzOCAzLjYzNjcxOS0yMy45NDUzMTIgMTYuMzE2NDA2LTI0IDMwLjg2MzI4MXY4YzAgNC40MTc5NjkgMy41ODIwMzEgOCA4IDh6bTI0LTMyYzguODM1OTM4IDAgMTYgNy4xNjQwNjIgMTYgMTZoLTMyYzAtOC44MzU5MzggNy4xNjQwNjItMTYgMTYtMTZ6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMjQ4IDEzNmg0OGM0LjQxNzk2OSAwIDgtMy41ODIwMzEgOC04di04Yy0uMDU0Njg4LTE0LjU0Njg3NS05LjkxNDA2Mi0yNy4yMjY1NjItMjQtMzAuODYzMjgxdi04OS4xMzY3MTloLTE2djg5LjEzNjcxOWMtMTQuMDg1OTM4IDMuNjM2NzE5LTIzLjk0NTMxMiAxNi4zMTY0MDYtMjQgMzAuODYzMjgxdjhjMCA0LjQxNzk2OSAzLjU4MjAzMSA4IDggOHptMjQtMzJjOC44MzU5MzggMCAxNiA3LjE2NDA2MiAxNiAxNmgtMzJjMC04LjgzNTkzOCA3LjE2NDA2Mi0xNiAxNi0xNnptMCAwIi8+DQogICAgPC9nPg0KPC9zdmc+",ENe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTUxMC40MTcgMjMzLjIyNS01OC42NDQtMTE3LjI3OWMtMTUuOTM5LTMxLjg3Ny00Ny45NzgtNTEuNjgtODMuNjItNTEuNjgtOC41ODYgMC0xNi45ODQgMS4xODgtMjUuMDMyIDMuNDM3LjEwNS0xLjQ4OS4xNzgtMi45ODguMTc4LTQuNTAzIDAtMzQuODQ5LTI4LjM1MS02My4yLTYzLjItNjMuMnMtNjMuMiAyOC4zNTItNjMuMiA2My4yYzAgMzAuOTkzIDIyLjQzMiA1Ni44MjggNTEuOTA5IDYyLjE2OWwtNjEuMzY2IDYxLjQ3Yy02Ljg3NSA2Ljg4Ni0yMS44NzEgMjcuODItMTAuMzMzIDU0LjQ2LTEuNzA1LS4xOTEtMy40MjEtLjI5OS01LjE0NC0uMjk5LTIzLjA4NyAwLTQyLjMzNiAxNi42OS00Ni4zNTEgMzguNjM1LTcuNzQtNC4xNDQtMTYuNTczLTYuNTAxLTI1Ljk0OS02LjUwMS0zMC40MTkgMC01NS4xNjcgMjQuNzQ4LTU1LjE2NyA1NS4xNjcgMCA5LjA2MyAyLjIxMSAxNy42MTUgNi4xIDI1LjE2N2gtNDAuNTk4di0zMzguNDY4YzAtOC4yODQtNi43MTYtMTUtMTUtMTVzLTE1IDYuNzE2LTE1IDE1djQ4MmMwIDguMjg0IDYuNzE2IDE1IDE1IDE1czE1LTYuNzE2IDE1LTE1di00OS4yNjdoMzA2LjU2M2M4LjI4NCAwIDE1LTYuNzE2IDE1LTE1di02NC4yNjdjMC04LjI4NC02LjcxNi0xNS0xNS0xNWgtMzYuNDEyYzMuMjc0LTguMzk1IDMuMjE0LTE1LjI2MyAzLjIxNC0xOC4yIDI4LjQ2OSAwIDQ4LjItMjIuMDk4IDQ4LjItNDcuMTMzIDAtMjUuOTg5LTIxLjE0NC00Ny4xMzMtNDcuMTMzLTQ3LjEzM2gtMTIuMzA0bDU1LjkwNC01Ni4wODYgNTMuNzM2IDEwNi43NzctLjEwMyAyMDUuMzAxYy0uMDAyIDMuOTc5IDEuNTc4IDcuNzk2IDQuMzkxIDEwLjYxMSAyLjgxMyAyLjgxNCA2LjYzIDQuMzk2IDEwLjYwOSA0LjM5Nmg4MC4zMzVjOC4yODQgMCAxNS02LjcxNiAxNS0xNXYtMjU3LjA2NmMwLTIuMzI5LS41NDItNC42MjUtMS41ODMtNi43MDh6bS0yNjMuNTE3LTE3MC4wMjVjMC0xOC4zMDcgMTQuODk0LTMzLjIgMzMuMi0zMy4yczMzLjIgMTQuODk0IDMzLjIgMzMuMi0xNC44OTQgMzMuMi0zMy4yIDMzLjJjLTE4LjMwNyAwLTMzLjItMTQuODkzLTMzLjItMzMuMnptLTEyNy4yMzMgMjM5LjkzM2MxMy44NzcgMCAyNS4xNjcgMTEuMjkgMjUuMTY3IDI1LjE2N3MtMTEuMjkgMjUuMTY3LTI1LjE2NyAyNS4xNjctMjUuMTY3LTExLjI5LTI1LjE2Ny0yNS4xNjcgMTEuMjktMjUuMTY3IDI1LjE2Ny0yNS4xNjd6bTIwMS44OTYgODAuMzM0djM0LjI2N2gtMjkxLjU2M3YtMzQuMjY3em0tMTcuMTMtMTEyLjQ2N2M5LjQ0NyAwIDE3LjEzMyA3LjY4NiAxNy4xMzMgMTcuMTMzIDAgOS41ODMtNy44MTQgMTcuMTMzLTE3LjEzMyAxNy4xMzNoLTE2LjA2N2MtOC4yODQgMC0xNSA2LjcxNi0xNSAxNXYxNi4wNjdjMCA5LjU4My03LjgxNCAxNy4xMzMtMTcuMTMzIDE3LjEzM2gtNjQuMjY3Yy05LjQ0NyAwLTE3LjEzMy03LjY4Ni0xNy4xMzMtMTcuMTMzdi00OC4yYzAtOS40NDcgNy42ODYtMTcuMTMzIDE3LjEzMy0xNy4xMzMgOS4yOTcgMCAxNy4xMzMgNy41MjYgMTcuMTMzIDE3LjEzM3YxNi4wNjdjMCA4LjI4NCA2LjcxNiAxNSAxNSAxNXMxNS02LjcxNiAxNS0xNXYtMTYuMDY3YzAtOS40MjkgNy42MTYtMTcuMTMzIDE3LjEzMy0xNy4xMzN6bTE3Ny41NjcgMjExaC01MC4zMjZsLjA5Ny0xOTMuODU5Yy4wMDEtMi4zNDQtLjU0Ny00LjY1Ni0xLjYwMS02Ljc1bC02NC42ODUtMTI4LjUzM2MtMi4xNjctNC4zMDUtNi4yNjktNy4zMDYtMTEuMDI3LTguMDY4LTQuNzYxLS43NjItOS41OTQuODEtMTIuOTk1IDQuMjIybC04Ni40NTggODYuNzM5Yy03LjI2MyA3LjI5MS0xOS4xMTUgNi44MDctMjYuMzA4LS4zODYtNy4zODEtNy4zODEtNy43MjgtMTkuNjExLS4wMjItMjcuMzI5bDk1LjI3LTk1LjQzMWMxMS43OTktMTEuODI1IDI3LjUtMTguMzM3IDQ0LjIxNy0xOC4zMzcgMjQuMTk5IDAgNDUuOTU1IDEzLjQ0OCA1Ni43NzkgMzUuMDk3bDU3LjA1OSAxMTQuMTA5eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",_Ne="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJNOTIuNTQ1LDE4NS4wOWM1MS4wMjksMCw5Mi41NDUtNDEuNTE2LDkyLjU0NS05Mi41NDVTMTQzLjU3NCwwLDkyLjU0NSwwUzAsNDEuNTE2LDAsOTIuNTQ1ICAgIFM0MS41MTYsMTg1LjA5LDkyLjU0NSwxODUuMDl6IE05Mi41NDUsMjBjNDAuMDAxLDAsNzIuNTQ1LDMyLjU0NCw3Mi41NDUsNzIuNTQ1cy0zMi41NDQsNzIuNTQ1LTcyLjU0NSw3Mi41NDUgICAgUzIwLDEzMi41NDYsMjAsOTIuNTQ1UzUyLjU0NCwyMCw5Mi41NDUsMjB6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0xMDAuNTAxLDExNC41MjZjMS45NTIsMS45NDUsNC41MDYsMi45MTcsNy4wNiwyLjkxN2MyLjU2NCwwLDUuMTMtMC45OCw3LjA4My0yLjk0ICAgIGMzLjg5OC0zLjkxMiwzLjg4OC0xMC4yNDQtMC4wMjMtMTQuMTQzbC0xMi4wMDgtMTEuOTY4VjQ0YzAtNS41MjItNC40NzgtMTAtMTAtMTBzLTEwLDQuNDc4LTEwLDEwdjQ4LjU0NSAgICBjMCwyLjY1OCwxLjA1OSw1LjIwNywyLjk0LDcuMDgzTDEwMC41MDEsMTE0LjUyNnoiLz4NCiAgICAgICAgPHBhdGggZD0iTTUwMiwzMzJoLTYxLjU0N2MtOC40Ni0xMi4wMzQtMjEuMTcyLTIwLjU1OC0zNS42NzEtMjMuNzI4bC00My45NjQtOS42MTMgICAgYzE3Ljk5MS0xMi4xMzQsMjkuODQ3LTMyLjcwMiwyOS44NDctNTUuOTg4di0yNC40MTd2LTExLjI5N3YtMi41NDJjMC0zNy4yMTItMzAuMjc0LTY3LjQ4Ni02Ny40ODYtNjcuNDg2ICAgIHMtNjcuNDg2LDMwLjI3NC02Ny40ODYsNjcuNDg2djIuNTQydjExLjI5N3YyNC40MTdjMCwyMy4yNTYsMTEuODI1LDQzLjgwMywyOS43NzgsNTUuOTQzbC00My45MzYsOS42MzkgICAgYy0xLjg3NywwLjQxMi0zLjcyMiwwLjkxNy01LjUzNSwxLjUwMlYyMjdjMC01LjUyMi00LjQ3OC0xMC0xMC0xMGgtNjhjLTUuNTIyLDAtMTAsNC40NzgtMTAsMTBzNC40NzgsMTAsMTAsMTBoNTh2MTQwaC02OHYtNTAgICAgYzAtMTYuNTQyLTEzLjQ1OC0zMC0zMC0zMHMtMzAsMTMuNDU4LTMwLDMwdjUwSDIwVjIzN2g1OGM1LjUyMiwwLDEwLTQuNDc4LDEwLTEwcy00LjQ3OC0xMC0xMC0xMEgxMGMtNS41MjIsMC0xMCw0LjQ3OC0xMCwxMHYxNjAgICAgYzAsNS41MjIsNC40NzgsMTAsMTAsMTBoNzh2MTloLTFjLTE3LjA5NCwwLTMxLDEzLjkwNi0zMSwzMXY1SDEwYy01LjUyMiwwLTEwLDQuNDc4LTEwLDEwdjQwYzAsNS41MjIsNC40NzgsMTAsMTAsMTBoNDkyICAgIGM1LjUyMiwwLDEwLTQuNDc4LDEwLTEwdi00MHYtNDB2LTQwdi00MEM1MTIsMzM2LjQ3OCw1MDcuNTIyLDMzMiw1MDIsMzMyeiBNNDQxLjE3OSw0NTJIMzg0di0yMGgxMDh2MjBINDQxLjE3OXogTTQ5Miw0MTJIMzg0ICAgIHYtMjBoMTA4VjQxMnogTTQ5MiwzNzJIMzg0di0yMGg1MC44NzRjMC4wMywwLDAuMDYsMC4wMDYsMC4wODksMC4wMDZjMC4wMzEsMCwwLjA2My0wLjAwNiwwLjA5NC0wLjAwNkg0OTJWMzcyeiBNMjc1LjY5MiwyMDQuNDE2ICAgIGMwLTI2LjE4NCwyMS4zMDMtNDcuNDg2LDQ3LjQ4Ni00Ny40ODZjMjQuOTMzLDAsNDUuNDM5LDE5LjMxNCw0Ny4zNDIsNDMuNzY3bC0yMy4yNDYtMTMuNjU3ICAgIGMtNC4yMTEtMi40NzUtOS41OTMtMS41NDQtMTIuNzMsMi4xOTljLTEwLjEyNiwxMi4wODUtMjQuOTc3LDE5LjAxNy00MC43NDQsMTkuMDE3aC0xOC4xMDd2LTEuMjk3VjIwNC40MTZ6IE0yNzUuNjkyLDIyOC4yNTUgICAgSDI5My44YzE4LjgyNSwwLDM2LjctNy4xNzksNTAuMjA1LTE5Ljk0bDI2LjY2LDE1LjY2M3YxOC42OTRjMCwyNi4xODQtMjEuMzAzLDQ3LjQ4Ni00Ny40ODYsNDcuNDg2cy00Ny40ODYtMjEuMzAzLTQ3LjQ4Ni00Ny40ODYgICAgVjIyOC4yNTV6IE0zMzguODQ0LDMwOC4zMDNsLTE1LjgxNSw0Mi4yOTRsLTE1Ljg0NC00Mi4zN2M1LjEzLDEuMjUyLDEwLjQ4MywxLjkzMSwxNS45OTMsMS45MzEgICAgQzMyOC41NzIsMzEwLjE1OCwzMzMuODEzLDMwOS41MDQsMzM4Ljg0NCwzMDguMzAzeiBNMjI2LDM5N2M1LjUyMiwwLDEwLTQuNDc4LDEwLTEwdi01NS42MjNjMy4wODUtMS42MjYsNi4zNzQtMi44MzIsOS44Mi0zLjU4OCAgICBsNDMuNzQtOS41OTZsMjQuMTAzLDY0LjQ1N2MxLjQ2MSwzLjkwNyw1LjE5NCw2LjQ5Nyw5LjM2Niw2LjQ5N3M3LjkwNS0yLjU5LDkuMzY2LTYuNDk4bDI0LjEwNC02NC40NjFsNDQuMDExLDkuNjIzICAgIGMzLjg2MywwLjg0NCw3LjUyOSwyLjI3NCwxMC45MDIsNC4xODhIMzc0Yy01LjUyMiwwLTEwLDQuNDc4LTEwLDEwdjQwdjQwdjMwSDIxNS4xNzl2LTU1SDIyNnogTTE5NS4xNzksMzk3djU1SDE4MHYtNSAgICBjMC0xNy4wOTQtMTMuOTA2LTMxLTMxLTMxaC0xdi0xOUgxOTUuMTc5eiBNMTA4LDMyN2MwLTUuNTE0LDQuNDg2LTEwLDEwLTEwczEwLDQuNDg2LDEwLDEwdjg5aC0yMFYzMjd6IE03Niw0NDcgICAgYzAtNi4wNjUsNC45MzUtMTEsMTEtMTFoMTFoNDBoMTFjNi4wNjUsMCwxMSw0LjkzNSwxMSwxMXY1SDc2VjQ0N3ogTTQ5Miw0OTJIMjB2LTIwaDQ3MlY0OTJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0xMTAuOTMsMjE5LjkzYy0xLjg2LDEuODYtMi45Myw0LjQ0LTIuOTMsNy4wN3MxLjA2OSw1LjIxLDIuOTMsNy4wNjljMS44NiwxLjg2LDQuNDQsMi45MzEsNy4wNywyLjkzMSAgICBzNS4yMS0xLjA3LDcuMDY5LTIuOTMxQzEyNi45MywyMzIuMjEsMTI4LDIyOS42MywxMjgsMjI3cy0xLjA3LTUuMjEtMi45MzEtNy4wN2MtMS44NTktMS44Ni00LjQzOS0yLjkzLTcuMDY5LTIuOTMgICAgUzExMi43OSwyMTguMDY5LDExMC45MywyMTkuOTN6Ii8+DQogICAgPC9nPg0KPC9zdmc+DQo=",fNe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCIgd2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik01NSwzNS45MzVjNC40OTMtLjU1NSw4LTQuOCw4LTkuOTM1LDAtNC44ODUtMy41MzUtMTktOS0xOXMtOSwxNC4xMTUtOSwxOWMwLDUuMTM4LDMuNTA3LDkuMzgsOCw5LjkzNVY0Mkg0OS45NDlhOS45NzgsOS45NzgsMCwwLDAtMTQuNDQxLTcuOTIybC0xLjYtMi41MTNMMzIuMzg4LDI3SDM2LjVhMS41LDEuNSwwLDAsMSwwLDNIMzZ2MmguNWEzLjUsMy41LDAsMCwwLDAtN0gzMWExLDEsMCwwLDAtLjk0OCwxLjMxNkwzMS42MTMsMzFIMjBWMjloM2ExLDEsMCwwLDAsMS0xLDUsNSwwLDAsMC0xMCwwLDEsMSwwLDAsMCwxLDFoM3YyLjY3NWwtMS45NjQsMi43YTkuOTkxLDkuOTkxLDAsMSwwLDQuNTEsMTEuNjA2LDMuOTg1LDMuOTg1LDAsMSwwLDYuNDI1LTQuNjM0bDUuNTIxLTguMjgzLDEuMzI5LDIuMDg5QTkuOTk1LDkuOTk1LDAsMSwwLDQ5Ljk0OSw0NEg2M1Y0Mkg1NVpNNDcsMjZjMC01LjA2NywzLjY2MS0xNyw3LTE3czcsMTEuOTMzLDcsMTdjMCw0LjAyMi0yLjYxNCw3LjM1MS02LDcuOTA5VjE4LjUzNWwyLjU1NS0xLjctMS4xMS0xLjY2NC0zLDJBMSwxLDAsMCwwLDUzLDE4djdsLTIuNC0xLjgtMS4yLDEuNkw1MywyNy41djYuNDA5QzQ5LjYxNCwzMy4zNTEsNDcsMzAuMDIyLDQ3LDI2Wk0xOSwyNWEzLjAwNiwzLjAwNiwwLDAsMSwyLjgyOSwySDE2LjE3MUEzLjAwNiwzLjAwNiwwLDAsMSwxOSwyNVptNSwxNWEzLjgzNiwzLjgzNiwwLDAsMC0uNTYuMDU3TDIwLjUsMzNoOS42MzJsLTQuODI1LDcuMjM3QTMuOTY4LDMuOTY4LDAsMCwwLDI0LDQwWk0xMSw1MWE4LDgsMCwxLDEsMy44NTctMTVsLTMuMDExLDQuMTRBMi45NiwyLjk2LDAsMCwwLDExLDQwYTMsMywwLDEsMCwyLjczOCw0LjIxNGw1LjEuMzkyQTguMDE0LDguMDE0LDAsMCwxLDExLDUxWm03Ljk4LTguMzg5LTUuMS0uMzkyYTMuMDA1LDMuMDA1LDAsMCwwLS40MTQtLjkxNmwzLTQuMTI1QTcuOTY5LDcuOTY5LDAsMCwxLDE4Ljk4LDQyLjYxMVpNMTIsNDNhMSwxLDAsMSwxLTEtMUExLDEsMCwwLDEsMTIsNDNabTguODc5LTEuNDcyYTkuOTY4LDkuOTY4LDAsMCwwLTMuMjI4LTUuOTc0bDEuMTExLTEuNTI3LDIuODMyLDYuOEE0LjAzMiw0LjAzMiwwLDAsMCwyMC44NzksNDEuNTI4Wk0yNCw0NmEyLDIsMCwxLDEsMi0yQTIsMiwwLDAsMSwyNCw0NlptMTYsNWE4LDgsMCwwLDEtNS4xLTE0LjE1NmwyLjc0OCw0LjMxOUEyLjk2NiwyLjk2NiwwLDAsMCwzNyw0M2EzLDMsMCwxLDAsMy0zLDIuOTYzLDIuOTYzLDAsMCwwLS42NzEuMDgybC0yLjc0MS00LjMwN0E4LDgsMCwxLDEsNDAsNTFabTAtOWExLDEsMCwxLDEtMSwxQTEsMSwwLDAsMSw0MCw0MloiLz4NCiAgICAgICAgPHBhdGggZD0iTTcsMThhNCw0LDAsMCwwLDIuNzg4LTEuMTM5LDUuNjMzLDUuNjMzLDAsMCwwLDMuOTYxLS41NDVBMy45NTQsMy45NTQsMCwwLDAsMTcsMThhNCw0LDAsMSwwLS4wODMtOCw2LDYsMCwwLDAtMTEuOS41MzhBMy45OTIsMy45OTIsMCwwLDAsNywxOFptLS42NTMtNS44NzdhMSwxLDAsMCwwLC42Ny0uOTc3QS42LjYsMCwwLDAsNywxMWE0LDQsMCwwLDEsOC0uMDQxYzAsLjAzMy0uMDE4LjE1Mi0uMDIuMTg1YTEsMSwwLDAsMCwxLjMzOS45ODZBMS45NywxLjk3LDAsMCwxLDE3LDEyYTIsMiwwLDEsMS0xLjksMi41NzMsMSwxLDAsMCwwLTEuNTg5LS40ODcsMy44LDMuOCwwLDAsMS0zLjc1MS42OTMsMSwxLDAsMCwwLTEuMTI5LjM3MiwxLjk5NCwxLjk5NCwwLDEsMS0yLjI4Mi0zLjAyOFoiLz4NCiAgICAgICAgPHJlY3QgeD0iMSIgeT0iNTUiIHdpZHRoPSI2MiIgaGVpZ2h0PSIyIi8+DQogICAgPC9nPg0KPC9zdmc+DQo=",SNe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTE2OC45OTIgMjc3LjU5MWMwLTI2LjU1MS0yMS42MDEtNDguMTUxLTQ4LjE1MS00OC4xNTFzLTQ4LjE1MSAyMS42MDEtNDguMTUxIDQ4LjE1MSAyMS42MDEgNDguMTUgNDguMTUxIDQ4LjE1IDQ4LjE1MS0yMS42IDQ4LjE1MS00OC4xNXptLTgxLjMwMyAwYzAtMTguMjc5IDE0Ljg3Mi0zMy4xNTEgMzMuMTUxLTMzLjE1MXMzMy4xNTEgMTQuODcyIDMzLjE1MSAzMy4xNTEtMTQuODcyIDMzLjE1LTMzLjE1MSAzMy4xNS0zMy4xNTEtMTQuODcxLTMzLjE1MS0zMy4xNXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ3OS4yNzIgNDYyaC0zNC4wNjJsLTM5LjE1OC0zNi42NjdjLTMuMDIzLTIuODMxLTcuNzctMi42NzUtMTAuNjAxLjM0OXMtMi42NzUgNy43Ny4zNDkgMTAuNjAxbDQxLjMyMSAzOC42OTJjMS4zOSAxLjMwMiAzLjIyMiAyLjAyNSA1LjEyNiAyLjAyNWgzNy4wMjRjOS43NzUgMCAxNy43MjggNy45NTMgMTcuNzI4IDE3LjcyOXYyLjI3MWgtNjAuODQ0Yy0yLjE0OCAwLTQuMjYxLS43MDMtNS45ODEtMS45ODZsLTE4OC40OTItMTc4LjkxNHYtMjQuMTMybDEzMi4yMDcgMTIzLjc5NmMzLjAyMyAyLjgzMSA3Ljc3IDIuNjc1IDEwLjYwMS0uMzQ5czIuNjc1LTcuNzctLjM0OS0xMC42MDFsLTE0Mi40NTktMTMzLjM5NnYtMi40NThjMC04LjI4NC02Ljc0LTE1LjAyNC0xNS4wMjUtMTUuMDI0aC0xMi41NDh2LTQyLjc4NmgxMS40MzhjNi41MzYgMCAxMi4zOC0zLjkwMSAxNC44ODYtOS45MzggMi41MDctNi4wMzcgMS4xNDUtMTIuOTMtMy40NzEtMTcuNTZsLTEwNC43MDYtMTA1LjAzNmMtMS4xNjgtMS4xNzItMi40ODctMi4xMzgtMy45MS0yLjg4OXYtMTAuODY5aDUwLjE0OGM4Ljk1OSAwIDE2LjI0OC03LjI4OSAxNi4yNDgtMTYuMjQ4di0yNS4yMTNjMC04Ljk1OS03LjI4OS0xNi4yNDgtMTYuMjQ4LTE2LjI0OGgtNTAuMTY2Yy0uMTg0LTMuOTc4LTMuNDU4LTcuMTQ5LTcuNDgyLTcuMTQ5LTQuMTQzIDAtNy41IDMuMzU3LTcuNSA3LjV2NjguMjIzYy0xLjQyNy43NTEtMi43NDkgMS43MTktMy45MiAyLjg5NGwtNDAuMDE1IDQwLjE0Yy0yLjkyNSAyLjkzNC0yLjkxNyA3LjY4Mi4wMTcgMTAuNjA2IDIuOTMzIDIuOTIzIDcuNjgxIDIuOTE3IDEwLjYwNi0uMDE3bDQwLjAxNi00MC4xNDFjLjI3MS0uMjcxLjU3OS0uMzI4Ljc5MS0uMzI4LjIxMSAwIC41MjEuMDU3Ljc5Mi4zMjlsMTA0LjcwNSAxMDUuMDM1Yy4xNTcuMTU4LjUyNy41MjkuMjQgMS4yMTktLjI4Ni42ODktLjgwOS42ODktMS4wMzIuNjg5aC0yMDkuNDFjLS4yMjQgMC0uNzQ3IDAtMS4wMzMtLjY4OXMuMDg0LTEuMDYxLjI0MS0xLjIxOWw0My41MjEtNDMuNjU4YzIuOTI1LTIuOTM0IDIuOTE3LTcuNjgzLS4wMTctMTAuNjA2LTIuOTM0LTIuOTI1LTcuNjgzLTIuOTE4LTEwLjYwNi4wMTdsLTQzLjUyMSA0My42NTdjLTQuNjE1IDQuNjMtNS45NzggMTEuNTIyLTMuNDcyIDE3LjU2MSAyLjUwNyA2LjAzNyA4LjM1IDkuOTM4IDE0Ljg4NyA5LjkzOGgxMS40Mzh2NjkuNDQ0YzAgNC4xNDMgMy4zNTcgNy41IDcuNSA3LjVzNy41LTMuMzU3IDcuNS03LjV2LTY5LjQ0NGgxNTYuNTM1djEzMi44ODJoLTE1Ni41MzZ2LTMzLjQ1MmMwLTQuMTQzLTMuMzU3LTcuNS03LjUtNy41cy03LjUgMy4zNTctNy41IDcuNXYxODYuNDJoLTIwLjA3M2MtNC4xNDMgMC03LjUgMy4zNTctNy41IDcuNXMzLjM1NyA3LjUgNy41IDcuNWg0OTdjNC4xNDMgMCA3LjUtMy4zNTcgNy41LTcuNXYtOS43NzFjMC0xOC4wNDctMTQuNjgyLTMyLjcyOS0zMi43MjgtMzIuNzI5em0tMjk5LjUzLTQzOC42MDN2MjUuMjEzYzAgLjY4OC0uNTYgMS4yNDgtMS4yNDggMS4yNDhoLTUwLjE0OHYtMjcuNzA5aDUwLjE0OGMuNjg5IDAgMS4yNDguNTYgMS4yNDggMS4yNDh6bTE2Ny4xOTYgNDEzLjI5MSA2My41NDEgNjAuMzEyaC02My41NDF6bS0xNSA2MC4zMTJoLTYwLjgxMXYtMTMyLjI3bDYwLjgxMSA1Ny43MnptLTc1LjgxLTE0Ni41MDh2MTQ2LjUwOGgtNDIuMDJ2LTE1Ni45NDJoMTIuNTQ4YzQuOTM5IDAgOS4zMTYtMi40MDYgMTIuMDU2LTYuMDk2em0tMjkuNDQ2LTgxLjUzMi0uMDEyIDU2LjA5N3MtLjAwNC4wMDEtLjAxNC4wMDFoLTEyLjU0OHYtNTYuMTEzem0tMjcuNTc0IDIyOC4wNGgtMzcuMTV2LTEzNy45NjloMzcuMTV6bS0xMDQuMzg0LTYxLjQ4NGg1Mi4yMzR2MjEuNDM2aC01Mi4yMzR6bTUyLjIzNC0xNWgtNTIuMjM0di0yMS40MzZoNTIuMjM0em0tNTIuMjM0IDUxLjQzNWg1Mi4yMzR2MjUuMDQ5aC01Mi4yMzR6bTUyLjIzNC0xMTIuOTJ2MjUuMDQ5aC01Mi4yMzR2LTI1LjA0OXptLTEwNC4zODUgMGgzNy4xNXYxMzcuOTY5aC0zNy4xNXoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",xNe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTM2Ny4wNDMgMTcwLjQxNGMtMTAuNTE2LS4zNjUtMjAuMDE2LTUuMDQ3LTI2Ljc0OS0xMy4xODEtNC45MTQtNS45MzctMTMuOTM4LTUuOTI1LTE4Ljg0MiAwLTE0LjU5NyAxNy42MzctNDEuNDYyIDE3LjYwNi01Ni4wMzEgMC00Ljk3My02LjAwNy0xNC4wMDUtNS44NDItMTguODQzIDAtMTQuNTkyIDE3LjYzMy00MS40NTUgMTcuNjEzLTU2LjAzMS0uMDAxLTQuOTIyLTUuOTQ1LTEzLjk0NS01LjkxNS0xOC44NDEgMC02LjczMyA4LjEzNS0xNi4yMzMgMTIuODE2LTI2Ljc0OSAxMy4xODItNC4xNC4xNDQtNy4zNzkgMy42MTYtNy4yMzQgNy43NTYuMTQ0IDQuMTQgMy41OTQgNy4zNzEgNy43NTYgNy4yMzUgMTMuNTY2LS40NzIgMjYuMzg2LTYuMzI4IDM1LjY0Ni0xNi4xODcgMjAuMjc2IDIxLjYyOSA1NC41NjkgMjEuNjU3IDc0Ljg3NS4wMDEgMjAuMjc4IDIxLjYyOSA1NC41NzEgMjEuNjU0IDc0Ljg3NC0uMDAxIDkuMjYyIDkuODU5IDIyLjA4IDE1LjcxNSAzNS42NDcgMTYuMTg3IDQuMTIxLjE0OSA3LjYxMy0zLjA5NSA3Ljc1Ni03LjIzNS4xNDUtNC4xNC0zLjA5NC03LjYxMi03LjIzNC03Ljc1NnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM0MC4yOTQgMjE4Ljc1N2MtNC45MTQtNS45MzctMTMuOTM4LTUuOTI1LTE4Ljg0MiAwLTE0LjU5NiAxNy42MzYtNDEuNDYxIDE3LjYwNy01Ni4wMzEgMC00Ljk3My02LjAwNy0xNC4wMDUtNS44NDItMTguODQzIDAtMTQuNTk2IDE3LjYzOS00MS40NjEgMTcuNjA2LTU2LjAzMS0uMDAxLTQuOTA0LTUuOTIyLTEzLjkyNy01LjkzOC0xOC44NDEuMDAxLTcuOTk0IDkuNjU4LTIwLjE4MiAxNC40ODQtMzIuNjEyIDEyLjkxNC00LjEtLjUxOS03Ljg2MSAyLjM4OS04LjM4MiA2LjQ5OS0uNTIxIDQuMTA5IDIuMzkgNy44NjIgNi40OTkgOC4zODIgMTYuNDgxIDIuMDg5IDMyLjY1OC0zLjc5NSA0My45MTYtMTUuODA4IDIwLjI3NyAyMS42MjggNTQuNTY4IDIxLjY1NCA3NC44NzMgMCAyMC4yNzYgMjEuNjI3IDU0LjU3IDIxLjY1NiA3NC44NzMgMCAxMS4yNTggMTIuMDEzIDI3LjQzNiAxNy44OTYgNDMuOTE1IDE1LjgwOCA0LjEwOS0uNTIgNy4wMi00LjI3MiA2LjQ5OS04LjM4MnMtNC4yODktNy4wMTktOC4zODItNi40OTljLTEyLjQzNSAxLjU2OS0yNC42MTgtMy4yNTUtMzIuNjExLTEyLjkxNHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM2MC43ODIgMTA3LjdjLTguMDgyLTEuNzAzLTE1LjE2Ny02LTIwLjQ4Ny0xMi40MjctNC45MTQtNS45MzctMTMuOTM4LTUuOTI1LTE4Ljg0MiAwLTE0LjU5NyAxNy42MzctNDEuNDYyIDE3LjYwNi01Ni4wMzEgMC00Ljk3My02LjAwNy0xNC4wMDUtNS44NDItMTguODQzIDAtMTQuNTkyIDE3LjYzMy00MS40NTUgMTcuNjEzLTU2LjAzMS0uMDAxLTQuOTIyLTUuOTQ1LTEzLjk0NS01LjkxNS0xOC44NDEgMC01LjMyIDYuNDI3LTEyLjQwNCAxMC43MjUtMjAuNDg2IDEyLjQyOC00LjA1NC44NTQtNi42NDcgNC44MzItNS43OTMgOC44ODVzNC44NCA2LjY0NyA4Ljg4NSA1Ljc5MmMxMC4zODMtMi4xODggMTkuNTkyLTcuMzkgMjYuODE2LTE1LjExNyAyMC4yODIgMjEuNjMxIDU0LjU3MiAyMS42NDggNzQuODcyLS4wMDEgMjAuMjc2IDIxLjYyNiA1NC41NjcgMjEuNjU2IDc0Ljg3MS4wMDIgNy4yMjYgNy43MjcgMTYuNDM2IDEyLjkzIDI2LjgxOCAxNS4xMTYgNC4wNDguODU1IDguMDMtMS43NCA4Ljg4NS01Ljc5My44NTMtNC4wNTMtMS43NDEtOC4wMzEtNS43OTMtOC44ODR6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im01NC45ODUgNDI5LjI3M2gxNjkuNzMydjY5LjU3OWMwIDcuMjUgNS44OTggMTMuMTQ4IDEzLjE0OSAxMy4xNDhoMjUuMTkyYzcuMjUgMCAxMy4xNDgtNS44OTggMTMuMTQ4LTEzLjE0OHYtMS40NjRoNzQuMTk5djEuNDY0YzAgNy4yNSA1Ljg5OCAxMy4xNDggMTMuMTQ5IDEzLjE0OGgyNS4xOTJjNy4yNSAwIDEzLjE0OC01Ljg5OCAxMy4xNDgtMTMuMTQ4di02OS41NzloNTUuMTE5YzI0LjEyMSAwIDQzLjA4MS0yMC44ODYgNDAuNjU3LTQ0Ljk1Ni0uMDA0LS4wNC0uMDA4LS4wOC0uMDEzLS4xMmwtMTMuMDM1LTExMS41NjdjLS40ODEtNC4xMTQtNC4yMTUtNy4wNjItOC4zMTktNi41NzktNC4xMTQuNDgxLTcuMDYgNC4yMDYtNi41NzkgOC4zMmwxMy4wMyAxMTEuNTAzYzEuNDYgMTQuODMzLTEwLjA5NCAyOC4zOTgtMjUuNzM4IDI4LjM5OGgtNTUuMTE5di0xOS4wNThoNDQuOTM3YzkuNDcgMCAxNi44OC04LjE5MSAxNS45MzUtMTcuNjE2LS4wMDUtLjA0My0uMDEtLjA4Ni0uMDE1LS4xMjlsLTM4Ljc1Ni0zMjkuMDc0Yy0uODYxLTguMTc5LTcuNjk1LTE0LjMzNy0xNS45MjctMTQuMzM3aC0xMzQuNTcxYy00LjE0MyAwLTcuNSAzLjM1OC03LjUgNy41czMuMzU3IDcuNSA3LjUgNy41aDEzNC41NzFjLjUyMyAwIC45NTcuMzkzIDEuMDEuOTE0LjAwNC4wNDIuMDA5LjA4My4wMTQuMTI1bDM4Ljc1IDMyOS4wMzRjLjAxOS4yNzUtLjA3NC41NDctLjI2Ljc1MS0uMTkxLjIxMi0uNDY2LjMzMy0uNzUyLjMzM2gtNDQuOTM3di0yMi44OTJjMC0zOS40NzctMzIuMjU2LTcwLjM0NC03MC4zNDUtNzAuMzQ0LTI2Ljc3OCAwLTUwLjk0NyAxNS4xODktNjIuODM5IDM4Ljc0NC0xMi4wMDgtMjMuNzcyLTM2LjcyNS0zOS4yNS02NC4yMDYtMzguNzMxLTM3LjcuNzA5LTY4Ljk4OCAzMS41OTMtNjguOTg4IDcwLjMzMnYyMi44OTJoLTcwLjM1MmMtLjI4NiAwLS41Ni0uMTIyLS43NTMtLjMzNS0uMTg1LS4yMDQtLjI3Ny0uNDc2LS4yNTktLjc1MWwzOC43NTItMzI5LjAzMmMuMDA1LS4wNDIuMDEtLjA4NC4wMTQtLjEyNy4wNTMtLjUyLjQ4Ni0uOTEyIDEuMDEtLjkxMmgxMzQuNTdjNC4xNDMgMCA3LjUtMy4zNTggNy41LTcuNXMtMy4zNTctNy41LTcuNS03LjVoLTEzNC41N2MtOC4yMzMgMC0xNS4wNjcgNi4xNi0xNS45MjcgMTQuMzM5bC0zOC43NTcgMzI5LjA3M2MtLjAwNS4wNDMtLjAxLjA4Ni0uMDE1LjEyOS0uOTQ2IDkuNDIyIDYuNDY0IDE3LjYxNiAxNS45MzUgMTcuNjE2aDE1OS41NTF2MTkuMDU4aC0xNjkuNzMyYy0xNC44NTIgMC0yNy4yNzktMTIuNzgyLTI1LjczOS0yOC4zOTlsNDAuNjA5LTM0Ny40ODNjLjAwNS0uMDQuMDA5LS4wOC4wMTMtLjExOSAxLjMzNi0xMy4yNjggMTIuMzk5LTIzLjI3MyAyNS43MzQtMjMuMjczaDMyMC43OThjMTMuMzM1IDAgMjQuMzk3IDEwLjAwNSAyNS43MzMgMjMuMjcyLjAwNC4wNC4wMDguMDguMDEzLjEybDIzLjQ4NyAyMDAuOTc5Yy40ODEgNC4xMTUgNC4yMTcgNy4wNjMgOC4zMTkgNi41NzkgNC4xMTQtLjQ4IDcuMDYtNC4yMDYgNi41NzktOC4zMmwtMjMuNDgtMjAwLjkyMmMtMi4xMzgtMjAuOTMyLTE5LjYwMy0zNi43MDgtNDAuNjUxLTM2LjcwOGgtMzIwLjc5OGMtMjEuMDQ5IDAtMzguNTE2IDE1Ljc3Ny00MC42NTIgMzYuNzFsLTQwLjYxIDM0Ny40ODhjLS4wMDUuMDQtLjAwOS4wOC0uMDEzLjEyLTIuNDE1IDIzLjk5OSAxNi40NjYgNDQuOTU1IDQwLjY1OCA0NC45NTV6bTI1Ny43MTMtNzEuMzAyYzAtMTAuMzI1IDguMTIyLTE5LjI4OSAxOC41LTE5LjQ4MyAxMC42ODItLjIwNCAxOS4yMDkgOC40OTEgMTkuMjA5IDE4LjgzNnYyMi44OTJoLTM3LjcwOXptLTM2LjQ5MSA3MS4zMDJoNzQuMTk5djE5LjA1OGgtNzQuMTk5em03OC4yMTUtMzQuMDU4YzUuNTY5IDAgMTAuMDE0IDQuODE4IDkuNDg0IDEwLjQzLS40NzMgNC44ODQtNC41OSA4LjYyNy05LjQ4NCA4LjYyN2gtNzguMjE1di0xOS4wNThjMjYuMTEyLjAwMSA1Mi4xNjcuMDAxIDc4LjIxNS4wMDF6bS03OC4yMTUgNjguMTE2aDc4LjIxNWM1LjUzNyAwIDEwLjAxNiA0Ljc5NiA5LjQ4NCAxMC40My0uNDcyIDQuODc0LTQuNTg3IDguNjI3LTkuNDg0IDguNjI3aC03OC4yMTV6bTExMC42OSAzMy42NjloLTIxLjQ5di0yLjIxM2MxOC4wMTQtOS4xMjcgMTguMDU0LTM0LjcwOCAwLTQzLjg1NXYtMjQuMjZjMTguMDk4LTkuMTcgMTcuOTY4LTM0Ljc1MiAwLTQzLjg1NXYtMjUuNDkzYzAtMjAuNDg2LTE4LjIwMi0zNi41MTctMzguNzk0LTMzLjQ5LTE2LjM1MyAyLjQtMjguOTE1IDE2LjUyNi0yOC45MTUgMzMuNDl2MjIuODkyaC0yMS40OXYtMjEuODM3YzAtMzAuNTUyIDI0LjQ2LTU2LjA5NCA1NC44MjItNTYuMzg2IDMxLjIxOC0uMjYyIDU1Ljg2NyAyNS4wNTggNTUuODY3IDU1LjMzMXptLTIzNi4zNzctMTE2Ljc4NXYtMjEuODM4YzAtMzIuMjI0IDI2LjY5Ni01Ny41ODMgNTcuNTg5LTU2LjM0MiAyOS40ODMgMS4yMDQgNTMuMDk5IDI1LjUwMyA1My4wOTkgNTUuMjg3djEzOS42NzdoLTIxLjQ5YzAtMTQuNDE4IDAtMTIxLjA2MyAwLTEzOS42NzcgMC0xNy45NS0xNC4wNjUtMzIuODA0LTMxLjkxNS0zMy43OTUtMTkuMjc2LTEuMDk2LTM1Ljc5MyAxNC4yNjEtMzUuNzkzIDMzLjc5NXYyMi44OTJoLTIxLjQ5em0zNi40OSAwdi0yMi4yNDVjMC05LjQyNSA2Ljc2Mi0xNy43MjQgMTUuODc3LTE5LjI0MyAxMS42MzktMS44NTIgMjEuODMgNy4yMzcgMjEuODMgMTguNTk2djIyLjg5MnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",kNe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik0yMTYsMjUySDExNmMtNS41MSwwLTEwLDQuNDktMTAsMTBzNC40OSwxMCwxMCwxMGgxMDBjNS41MSwwLDEwLTQuNDksMTAtMTBTMjIxLjUxLDI1MiwyMTYsMjUyeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjU2LDI1MmMtNS41MSwwLTEwLDQuNDktMTAsMTBzNC40OSwxMCwxMCwxMHMxMC00LjQ5LDEwLTEwUzI2MS41MSwyNTIsMjU2LDI1MnoiLz4NCiAgICAgICAgPHBhdGggZD0iTTM5NiwyNTJIMjk2Yy01LjUxLDAtMTAsNC40OS0xMCwxMHM0LjQ5LDEwLDEwLDEwaDEwMGM1LjUxLDAsMTAtNC40OSwxMC0xMFM0MDEuNTEsMjUyLDM5NiwyNTJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0yODYsMTA3aC02MGMtNS41MjMsMC0xMCw0LjQ3Ny0xMCwxMHY2MGMwLDUuNTIzLDQuNDc3LDEwLDEwLDEwaDYwYzUuNTIzLDAsMTAtNC40NzcsMTAtMTB2LTYwDQoJCQlDMjk2LDExMS40NzcsMjkxLjUyMywxMDcsMjg2LDEwN3ogTTI3NiwxNjdoLTQwdi00MGg0MFYxNjd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik01MDIsNDkyaC0xM1YyMzNjMC02Mi4yMzctMjQuMjM2LTEyMC43NDgtNjguMjQ0LTE2NC43NTZDMzc2Ljc0OCwyNC4yMzYsMzE4LjIzNywwLDI1NiwwUzEzNS4yNTIsMjQuMjM2LDkxLjI0NCw2OC4yNDQNCgkJCVMyMywxNzAuNzYzLDIzLDIzM3YyNTlIMTBjLTUuNTIzLDAtMTAsNC40NzctMTAsMTBzNC40NzcsMTAsMTAsMTBoNDkyYzUuNTIzLDAsMTAtNC40NzcsMTAtMTBTNTA3LjUyMyw0OTIsNTAyLDQ5MnogTTM4Niw0OTJIMTI2DQoJCQl2LTIwaDI2MFY0OTJ6IE0zODYsNDUySDEyNnYtMjBoMjYwVjQ1MnogTTM4Niw0MTJIMTI2di0yMGgyNjBWNDEyeiBNMzg2LDM3MkgxMjZ2LTIwaDI2MFYzNzJ6IE0zODYsMzMySDEyNnYtMjBoMjYwVjMzMnoNCgkJCSBNNDI5LDQ5MmgtMjNWMzAyYzAtNS41MjMtNC40NzctMTAtMTAtMTBIMTE2Yy01LjUyMywwLTEwLDQuNDc3LTEwLDEwdjE5MEg4M1YyMzNjMC05NS42NjgsNzcuMzgzLTE3My41LDE3Mi41LTE3My41DQoJCQlDMzUxLjE2OCw1OS41LDQyOSwxMzcuMzMyLDQyOSwyMzNWNDkyeiBNNDY5LDQ5MmgtMjBWMjMzYzAtMTA2LjY5Ni04Ni44MDQtMTkzLjUtMTkzLjUtMTkzLjUNCgkJCWMtNTEuNjM5LDAtMTAwLjA2MywyMC4xMzctMTM2LjM1Miw1Ni43MDJDODIuOTQsMTMyLjY4NCw2MywxODEuMjY3LDYzLDIzM3YyNTlINDNWMjMzYzAtMTE3LjQ0OSw5NS41NTEtMjEzLDIxMy0yMTMNCgkJCXMyMTMsOTUuNTUxLDIxMywyMTNWNDkyeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",YNe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTUwOC41NDEgMjE4LjM4NC0xNjIuNTA3LTIwMy4xMzRjLTcuNzUzLTkuNjkyLTE5LjMxOC0xNS4yNS0zMS43MjktMTUuMjVoLTgzLjE1NWMtOC43MDMgMC0xNS43ODMgNy4wOC0xNS43ODMgMTUuNzgzdjE2LjU2N2MwIDguNzAzIDcuMDggMTUuNzgzIDE1Ljc4MyAxNS43ODNoMzMuOTE3djExNy41MzNoLTMwLjYzMmwtMTIwLjMzNC0xNTAuNDE2Yy03Ljc1My05LjY5MS0xOS4zMTgtMTUuMjUtMzEuNzI5LTE1LjI1aC02Ni41ODljLTguNzAzIDAtMTUuNzgzIDcuMDgtMTUuNzgzIDE1Ljc4M3YxNi41NjdjMCA4LjcwMyA3LjA4IDE1Ljc4MyAxNS43ODMgMTUuNzgzaDE3LjM1djExNy41MzNoLTE3LjM1Yy04LjcwMy4wMDEtMTUuNzgzIDcuMDgxLTE1Ljc4MyAxNS43ODR2MzA2LjQ4M2MwIDEzLjI3MSAxMC43OTYgMjQuMDY3IDI0LjA2NyAyNC4wNjdoNDcyLjE1YzguNzAzIDAgMTUuNzgzLTcuMDggMTUuNzgzLTE1Ljc4M3YtNzQuNTUtMTQzLjI4OS01MC4xMzRjMC0zLjU3MS0xLjIyOC03LjA3My0zLjQ1OS05Ljg2em0tNjIuMDI0IDE5NS43ODNjLS40MzIgMC0uNzgzLS4zNTItLjc4My0uNzgzdi03NC41NS0xMjEuOTA4bDE4LjEzNCAyMi42Njd2MTc0LjU3NHptLTIzMS45MzQgMGMtLjQzMiAwLS43ODQtLjM1Mi0uNzg0LS43ODN2LTY3LjA1aDE4LjEzM3Y2Ny44MzN6bS02Ni4yNjYtODIuODM0Yy0uNDMyIDAtLjc4NC0uMzUyLS43ODQtLjc4NHYtNjcuMDQ5aDE4LjEzM3Y2Ny44MzN6bS02Ni4yNjctODIuODMzYy0uNDMyIDAtLjc4My0uMzUyLS43ODMtLjc4M3YtNjcuMDVoMTguMTMzdjY3LjgzM3ptODMuNjE2LTkxLjc0MXY4LjkwOGgtMTguMTMzdi0zMS41NzR6bTY2LjI2NyA4Mi44MzN2OC45MDhoLTE4LjEzM3YtMzEuNTc0em04MS4yNjcgOC4xMjV2LTE5Ni40MjhjLjA3Mi4wODQuMTUyLjE2LjIyMi4yNDdsMTcuOTExIDIyLjM4OXYxNzQuNTc1aC0xNy4zNWMtLjQzMSAwLS43ODMtLjM1Mi0uNzgzLS43ODN6bTExNy41MzMgNTAuNDgzaC0xOC4xMzN2LTEyMi42OTFsMTguMTM0IDIyLjY2N3YxMDAuMDI0em0tMTguMTMzIDE1aDE4LjEzNHYxOC4xMzNoLTE4LjEzNHptLTE1IDE4LjEzM2gtMTcuMzVjLS40MzIgMC0uNzgzLS4zNTItLjc4My0uNzg0di03NC41NDktMTIxLjkwOGwxOC4xMzMgMjIuNjY2em0tMzMuMTMzLTExNS45NjZoLTE4LjEzNHYtMTIyLjY5MWwxOC4xMzQgMjIuNjY3em0tMTguMTM0IDE1aDE4LjEzNHYxOC4xMzNoLTE4LjEzNHptMTguMTM0IDMzLjEzM3Y2Ny4wNWMwIC4yNjQuMDI3LjUyMi4wNC43ODRoLTg0LjQ0di01Mi45NTUtMTQuODc5em0tOTkuNDAxIDE3LjUwOXYxMDAuMDI0aC0xOC4xMzN2LTEyMi42OTFsNS4wODYgNi4zNTd6bS0xNTAuNjY2LTE4OC4zMzMgMTguMTMzIDIyLjY2N3YxMDAuMDI0aC0xOC4xMzN6bTMzLjEzMyA4Ny45OTFoMTguMTMzdjY3LjgzM2gtMTguMTMzem0zMy4xMzMtNS4xNTggMTguMTMzIDIyLjY2N3YxMDAuMDI0aC0xOC4xMzN6bTMzLjEzNCA4Ny45OTFoMTguMTMzdjY3LjgzM2gtMTguMTMzem0tMTE0LjQtOTcuODMzaC0xOC4xMzN2LTExNC4zNzhjLjA3My4wODQuMTUyLjE2LjIyMi4yNDdsMTcuOTExIDIyLjM5em0xNSA2NC43aDE4LjEzM3YxOC4xMzNoLTE4LjEzM3ptNjYuMjY2IDgyLjgzM2gxOC4xMzR2MTguMTMzaC0xOC4xMzN2LTE4LjEzM3ptNjYuMjY3IDgyLjgzM2gxOC4xMzN2MTguMTMzaC0xOC4xMzN6bTMzLjEzMy00OS43aDE1MC42Njd2NjcuMDVjMCAuMjY0LjAyNy41MjIuMDQuNzgzaC0xNTAuNzA3em0yMDcuMzE2LTc3LjM0NiA5LjYxOCAxMi4wMjJ2MTAwLjAyNGgtMTguMTMzdi0xMjIuNjl6bS04LjUxNSAxMjcuMDQ2aDE4LjEzM3YxOC4xMzNoLTE4LjEzM3ptLTI0OC41LTM2My42ODN2LTE2LjU2N2MwLS40MzIuMzUyLS43ODMuNzgzLS43ODNoODMuMTU1YzcuODMgMCAxNS4xMjUgMy41MDYgMjAuMDE3IDkuNjJsMTYyLjUwNyAyMDMuMTM0YzAgLjAwMS4wMDEuMDAxLjAwMi4wMDIuMTA5LjEzNy4xNy4zMTEuMTcuNDg4djI4Ljc1M2wtMTcxLjg2Ni0yMTQuODMxYy00LjU5My01Ljc0LTExLjQ0Mi05LjAzMi0xOC43OTMtOS4wMzJoLS42NDItNzQuNTVjLS40MzItLjAwMS0uNzgzLS4zNTItLjc4My0uNzg0em02Ny44MzMgMTUuNzgzdjg0LjRoLTE4LjEzNHYtODQuNHptLTE4LjEzNCA5OS40aDE4LjEzNHYxOC4xMzNoLTE4LjEzNHptMTguMTM0IDMzLjEzNHY2Ny4wNWMwIC4yNjQuMDI3LjUyMi4wNC43ODNoLTE4LjE3NHYtMjAuMjU2YzAtMy41Ny0xLjIyOC03LjA3Mi0zLjQ1OC05Ljg1OSAwLS4wMDEgMC0uMDAxIDAtLjAwMWwtMzAuMTc0LTM3LjcxOGg1MS43NjZ6bS0yODMuMi0xNDguMzE3di0xNi41NjdjMC0uNDMxLjM1Mi0uNzgzLjc4My0uNzgzaDY2LjU4OGM3LjgzIDAgMTUuMTI1IDMuNTA2IDIwLjAxNiA5LjYybDE2Mi41MDggMjAzLjEzNGMuMTEuMTM4LjE3MS4zMTMuMTcxLjQ5djI4Ljc1NGwtMTcxLjg2NS0yMTQuODMyYy00LjU5Mi01Ljc0LTExLjQ0Mi05LjAzMy0xOC43OTMtOS4wMzNoLS42NDItNTcuOTgzYy0uNDMxIDAtLjc4My0uMzUxLS43ODMtLjc4M3ptNTEuMjY3IDE1Ljc4M3Y4NC40aC0xOC4xMzR2LTg0LjR6bS0xOC4xMzQgOTkuNGgxOC4xMzN2MTguMTMzaC0xOC4xMzN6bS0yNC4wNjYgMzQ5LjQ2N2MtNSAwLTkuMDY3LTQuMDY3LTkuMDY3LTkuMDY3di0zMDYuNDgzYzAtLjQzMi4zNTItLjc4NC43ODMtLjc4NGg1MC40ODN2NjcuMDVjMCA4LjcwMyA3LjA4IDE1Ljc4MyAxNS43ODMgMTUuNzgzaDUwLjQ4M3Y2Ny4wNWMwIDguNzAzIDcuMDgxIDE1Ljc4NCAxNS43ODQgMTUuNzg0aDUwLjQ4NHY2Ny4wNWMwIDguNzAzIDcuMDgxIDE1Ljc4MyAxNS43ODQgMTUuNzgzaDUwLjQ4M3Y2Ny4wNWMwIC40MzItLjM1Mi43ODMtLjc4My43ODNoLTI0MC4yMTd6bTQ3Mi45MzMtLjc4M2MwIC40MzItLjM1Mi43ODMtLjc4My43ODNoLTIxNi4xOWMuMDEzLS4yNjEuMDQtLjUxOS4wNC0uNzgzdi02Ny4wNWgyMTYuOTMzeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",QNe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMS45OTggNTExLjk5OCI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTUwMS45OTgsMzAuNTk4aC0xNTJjLTUuNTIzLDAtMTAsNC40NzctMTAsMTB2NDAuMDAzYzAsNS41MjMsNC40NzcsMTAsMTAsMTBoMjAuMDAxdjc0Ljc5NGgtMTkwDQoJCQkJYy01LjUyMiwwLTEwLDQuNDc3LTEwLDEwdjQwLjAwMmMwLDUuNTIzLDQuNDc4LDEwLDEwLDEwSDIwMHY3NC43OTZIMTBjLTUuNTIzLDAtMTAsNC40NzctMTAsMTB2NDAuMDAxYzAsNS41MjMsNC40NzcsMTAsMTAsMTANCgkJCQloMTMuOTk2VjQ3MS40YzAsNS41MjMsNC40NzcsMTAsMTAsMTBoMTgxLjc2YzIuMjU2LDAsNC40NDUtMC43NjMsNi4yMTMtMi4xNjVsMjg2LjI0My0yMjYuOTcyDQoJCQkJYzIuMzkyLTEuODk2LDMuNzg2LTQuNzgyLDMuNzg2LTcuODM1VjgwLjYwMVY0MC41OThDNTExLjk5OCwzNS4wNzUsNTA3LjUyMiwzMC41OTgsNTAxLjk5OCwzMC41OTh6IE0xODkuOTk5LDIwNS4zOTd2LTIwLjAwMg0KCQkJCWgxODB2MjAuMDAySDE4OS45OTl6IE0yMCwzNDAuMTk0di0yMC4wMDFoMTgwdjIwLjAwMUgyMHogTTQ5MS45OTgsMTA5Ljg3OWgtNDEuMDM1Yy01LjUyMywwLTEwLDQuNDc3LTEwLDEwDQoJCQkJYzAsNS41MjMsNC40NzcsMTAsMTAsMTBoNDEuMDM1djEwOS43MTVMMjEyLjI3MSw0NjEuNEg0My45OTZ2LTYyLjI1M2g0MS4wMzZjNS41MjIsMCwxMC00LjQ3NywxMC0xMHMtNC40NzgtMTAtMTAtMTBINDMuOTk2DQoJCQkJdi0xOC45NTNIMjEwYzUuNTIzLDAsMTAtNC40NzcsMTAtMTB2LTQwLjAwMXYtODQuNzk2aDE1OS45OTljNS41MjMsMCwxMC00LjQ3NywxMC0xMHYtNDAuMDAyVjkwLjYwMWgxMDEuOTk5VjEwOS44Nzl6DQoJCQkJIE00OTEuOTk4LDcwLjYwMWgtMTMyVjUwLjU5OGgxMzJWNzAuNjAxeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTE0LDM3OS4xNDRoLTAuMjM2Yy01LjUyNCwwLTEwLDQuNDc3LTEwLDEwczQuNDc2LDEwLDEwLDEwSDExNGM1LjUyMiwwLDEwLTQuNDc3LDEwLTEwUzExOS41MjIsMzc5LjE0NCwxMTQsMzc5LjE0NHoiLz4NCiAgICAgICAgPHBhdGggZD0iTTQyMS45OTgsMTI5Ljg4aDAuMjM1YzUuNTIyLDAsMTAtNC40NzcsMTAtMTBzLTQuNDc4LTEwLTEwLTEwaC0wLjIzNWMtNS41MjMsMC0xMCw0LjQ3Ny0xMCwxMA0KCQkJCVM0MTYuNDc1LDEyOS44OCw0MjEuOTk4LDEyOS44OHoiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",UNe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im01LjUxOCA2NGgyLjk4NmMuNTUzIDAgMS0uNDQ3IDEtMXYtMi4wMjFoNDQuOTkydjIuMDIxYzAgLjU1My40NDcgMSAxIDFoM2MuNTUzIDAgMS0uNDQ3IDEtMXYtNjAuNWMwLTEuMzc4LTEuMTIxLTIuNS0yLjUtMi41cy0yLjUgMS4xMjItMi41IDIuNXYxNS41MDRoLTIuOTk4di0xMy45OTZjMC0uNTUyLS40NDctMS0xLTFoLTE1Ljk5NmMtLjU1MyAwLTEgLjQ0OC0xIDF2MTMuOTk1aC0zLjAwMnYtMTMuOTk1YzAtLjU1Mi0uNDQ3LTEtMS0xaC0xNS45OTZjLS41NTMgMC0xIC40NDgtMSAxdjEzLjk5NWgtM3YtMTUuNTAzYzAtMS4zNzgtMS4xMjEtMi41LTIuNS0yLjVzLTIuNSAxLjEyMi0yLjUgMi41bC4wMTQgNjAuNWMwIC41NTMuNDQ3IDEgMSAxem01MC45NzgtNjEuNWMwLS4yNzYuMjI1LS41LjUtLjVzLjUuMjI0LjUuNXY1OS41aC0xem0tMTQuOTk4IDIuNTA4aDIuMDAydjEuMDA4aC0yLjAwMnptLTUuOTk2IDBoMy45OTZ2Mi4wMDhjMCAuNTUyLjQ0NyAxIDEgMWg0LjAwMmMuNTUzIDAgMS0uNDQ4IDEtMXYtMi4wMDhoMy45OTh2MTIuOTk1aC0xMy45OTZ6bS0xNS4wMDIgMGgydjEuMDA4aC0yem0tNS45OTYgMGgzLjk5NnYyLjAwOGMwIC41NTIuNDQ3IDEgMSAxaDRjLjU1MyAwIDEtLjQ0OCAxLTF2LTIuMDA4aDR2MTIuOTk1aC0xMy45OTZ6bS01IDE0Ljk5NWg0IDE1Ljk5NiA1LjAwMiAxNS45OTYgMy45OTh2MWgtNDQuOTkyem0wIDNoNDQuOTkydjEzLjk3MWgtMi45OTZ2LTEwLjk5YzAtLjU1Mi0uNDQ3LTEtMS0xaC0zN2MtLjU1MyAwLTEgLjQ0OC0xIDF2MTAuOTkxaC0yLjk5NnptMTkuOTk2IDYuOTgxaDVjLjU1MyAwIDEtLjQ0OCAxLTF2LTJoMTR2OS45OTFoLTM1di05Ljk5MWgxNHYyYzAgLjU1Mi40NDcgMSAxIDF6bTEtMnYtMWgzdjF6bS0yMC45OTYgMTAuOTkxaDMuOTk2IDM3IDMuOTk2djEuMDAyaC00NC45OTJ6bTAgMy4wMDJoNDQuOTkydjE0aC0yLjk5NHYtMTEuOTljMC0uNTUzLS40NDctMS0xLTFoLTE0LjAwMmMtLjU1MyAwLTEgLjQ0Ny0xIDF2MTEuOTloLTIuOTk0di04Ljk4OGMwLS41NTMtLjQ0Ny0xLTEtMWgtNi45OTRjLS4wMDQgMC0uMDA2LS4wMDItLjAxLS4wMDJzLS4wMDYuMDAyLS4wMS4wMDJoLTMuOTgyYy0uMDA0IDAtLjAwNi0uMDAyLS4wMS0uMDAycy0uMDA2LjAwMi0uMDEuMDAyaC02Ljk4NmMtLjU1MyAwLTEgLjQ0Ny0xIDF2OC45ODhoLTN6bTMxLjk5NiA2LjAxN2g0LjAwMmMuNTUzIDAgMS0uNDQ3IDEtMXYtMi4wMDhoM3YxMC45OWgtMTIuMDAydi0xMC45OWgzdjIuMDA4YzAgLjU1My40NDcgMSAxIDF6bTEtMnYtMS4wMDhoMi4wMDJ2MS4wMDh6bS0yMiA1aDQuMDAyYy41NTMgMCAxLS40NDcgMS0xdi0yLjAwNmg1LjAwNHY3Ljk4OGgtMTYuMDAydi03Ljk4OGg0Ljk5NnYyLjAwNmMwIC41NTMuNDQ3IDEgMSAxem0xLTJ2LTEuMDA2aDIuMDAydjEuMDA2em0tMTEuOTk2IDguOTgzaDQgMTguMDAyIDQuOTk0IDE0LjAwMiAzLjk5NHYxLjAwMmgtNDQuOTkyem0tMi41LTU1Ljk3N2MuMjc1IDAgLjUuMjI0LjUuNXY1OS41aC0uOTg2bC0uMDE0LTU5LjVjMC0uMjc2LjIyNS0uNS41LS41eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",vNe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im02MyAzdi0yaC0zMWMtLjU1MyAwLTEgLjQ0Ny0xIDF2OGMwIC41NTMuNDQ3IDEgMSAxaDF2NTBoLTMydjJoMzMgNCA4IDQgMTN2LTJoLTEydi01aDEydi0yaC0xMy00LTN2LTJoMjB2LTJoLTIxYy0uNTUzIDAtMSAuNDQ3LTEgMXY0YzAgLjU1My40NDcgMSAxIDFoM3Y1aC02di01MGgyNHYtMmgtMjUtNC0xdi02em0tMTYgNTNoMnY1aC0yem0tMTAtNDV2NTBoLTJ2LTUweiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjEgMzJjMC0yLjExOC0uNTAxLTQuMjM4LTEuNDQ3LTYuMTMxbC0uNjU4LTEuMzE2Yy0uMzQtLjY3OC0xLjQ0OS0uNjc4LTEuNzg5IDBsLS42NTggMS4zMTZjLS45NDcgMS44OTMtMS40NDggNC4wMTMtMS40NDggNi4xMzEgMCAuMjQxLjAyOS40ODEuMDQyLjcyMi0uNjQ2LS40ODMtMS4zODMtLjgzNy0yLjE3Mi0xLjAzNGwtMi42MjgtLjY1N2MtLjMzOC0uMDg3LS43MDEuMDE1LS45NDkuMjYzcy0uMzQ5LjYwOC0uMjYzLjk0OWwuNjU3IDIuNjI5Yy4yNjkgMS4wNzMuODIzIDIuMDU1IDEuNjA1IDIuODM2Ljc4MS43ODIgMS43NjMgMS4zMzcgMi44MzYgMS42MDVoLjAwMWwuNjcyLjE2OC0xLjI1LjYyNS44OTUgMS43ODkgMi41NTQtMS4yNzd2Mi4zODJoLTdjLS41NTMgMC0xIC40NDctMSAxdjRjMCAuNTUzLjQ0NyAxIDEgMWgxLjA5NWwuOTEgOS4xYy4wNTEuNTEuNDgxLjkuOTk1LjloMTBjLjUxNCAwIC45NDQtLjM5Ljk5NS0uOWwuOTEtOS4xaDEuMDk1Yy41NTMgMCAxLS40NDcgMS0xdi00YzAtLjU1My0uNDQ3LTEtMS0xaC03di0yLjM4MmwyLjU1MyAxLjI3Ni44OTUtMS43ODktMS4yNS0uNjI1LjY3Mi0uMTY4aC4wMDFjMS4wNzMtLjI2OSAyLjA1NS0uODIzIDIuODM2LTEuNjA1Ljc4Mi0uNzgxIDEuMzM3LTEuNzYzIDEuNjA1LTIuODM3bC42NTctMi42MjhjLjA4Ni0uMzQxLS4wMTUtLjcwMS0uMjYzLS45NDlzLS42MDktLjM1LS45NDktLjI2M2wtMi42MjkuNjU3Yy0uNzg4LjE5Ny0xLjUyNS41NTEtMi4xNzEgMS4wMzQuMDE0LS4yNC4wNDMtLjQ4LjA0My0uNzIxem0xLjA5NSAyNWgtOC4xODlsLS44LThoOS43OXptMi45MDUtMTBoLTE0di0yaDE0em0tNy0xOS43MzRjLjY1NSAxLjQ4NSAxIDMuMTEgMSA0LjczNHMtLjM0NSAzLjI0OS0xIDQuNzM0Yy0uNjU1LTEuNDg1LTEtMy4xMS0xLTQuNzM0cy4zNDUtMy4yNDkgMS00LjczNHptLTUuMjkzIDkuMDI3Yy0uNTI1LS41MjUtLjg5OC0xLjE4Ni0xLjA4LTEuOTA3bC0uMjUyLTEuMDExIDEuMDEuMjUyYy43MjMuMTgyIDEuMzgzLjU1NSAxLjkwOCAxLjA4cy44OTggMS4xODYgMS4wOCAxLjkwN2wuMjUyIDEuMDExLTEuMDEtLjI1MmMtLjcyMi0uMTgyLTEuMzgzLS41NTUtMS45MDgtMS4wOHptMTAuOTA3LTIuNjY2IDEuMDExLS4yNTItLjI1MiAxLjAxYy0uMTgyLjcyMy0uNTU1IDEuMzgzLTEuMDggMS45MDhzLTEuMTg2Ljg5OC0xLjkwOCAxLjA4bC0xLjAxLjI1Mi4yNTItMS4wMWMuMTgyLS43MjMuNTU1LTEuMzgzIDEuMDgtMS45MDhzMS4xODYtLjg5OCAxLjkwNy0xLjA4eiIvPg0KICAgICAgICA8cGF0aCBkPSJtNSAxNWgxM2MyLjc1NyAwIDUtMi4yNDMgNS01cy0yLjI0My01LTUtNWMtLjQzOCAwLS44NzcuMDYxLTEuMzAzLjE4LS43NjYtMi40NTUtMy4wMjMtNC4xOC01LjY5Ny00LjE4LTMuMzA5IDAtNiAyLjY5MS02IDYtMi4yMDYgMC00IDEuNzk0LTQgNHMxLjc5NCA0IDQgNHptMC02Yy4yNyAwIC41MzMuMDU0Ljc4My4xNi4zNTIuMTQ3Ljc1Ni4wODUgMS4wNDMtLjE2My4yODgtLjI0OC40MTEtLjYzOS4zMTctMS4wMDctLjA5OC0uMzc3LS4xNDMtLjY5Mi0uMTQzLS45OSAwLTIuMjA2IDEuNzk0LTQgNC00IDIuMDgxIDAgMy43ODQgMS41NzQgMy45NjEgMy42NjIuMDI4LjM0NS4yMzMuNjQ4LjU0LjgwNi4zMDguMTU4LjY3NS4xNDUuOTctLjAzMi40ODMtLjI5Ljk5Ny0uNDM2IDEuNTI5LS40MzYgMS42NTQgMCAzIDEuMzQ2IDMgM3MtMS4zNDYgMy0zIDNoLTEzYy0xLjEwMyAwLTItLjg5Ny0yLTJzLjg5Ny0yIDItMnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",bNe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCIgd2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik01MSw1N0g0OC40MTRsLS44NzktLjg3OWE4LjU4Nyw4LjU4NywwLDAsMS0yLjQ3MS01LjExMkM1MS4xNTMsNDguNTg3LDU1LjYwNyw0MS45MzQsNTUuOTU3LDM0SDU2YTEsMSwwLDAsMCwxLTFWMzBhMSwxLDAsMCwwLTEtMUg1Mi40NjRhMTkuNTgyLDE5LjU4MiwwLDAsMCwxLjY3My00SDU3YTEsMSwwLDAsMCwxLTFWNGExLDEsMCwwLDAtMS0xSDQ2Ljg0MUExMi43LDEyLjcsMCwwLDAsMzMuMTU5LDNIMjNhMSwxLDAsMCwwLTEsMVYyNGExLDEsMCwwLDAsMSwxaDIuODYzYTE5LjU4MiwxOS41ODIsMCwwLDAsMS42NzMsNEgyNGExLDEsMCwwLDAtMSwxdjNhMSwxLDAsMCwwLDEsMWguMDQzYy4zNSw3LjkzNCw0LjgsMTQuNTg3LDEwLjg5MywxNy4wMDlhOC41ODcsOC41ODcsMCwwLDEtMi40NzEsNS4xMTJMMzEuNTg2LDU3SDI5YTEsMSwwLDAsMC0xLDF2NGExLDEsMCwwLDAsMSwxSDUxYTEsMSwwLDAsMCwxLTFWNThBMSwxLDAsMCwwLDUxLDU3Wk01Niw1VjIzSDU0LjYxMUEyMS40NDcsMjEuNDQ3LDAsMCwwLDU1LDE5LDE5LjQ5MywxOS40OTMsMCwwLDAsNDkuNDA3LDVaTTI0LDIzVjVoNi41OTNBMTkuNDkzLDE5LjQ5MywwLDAsMCwyNSwxOWEyMS40NDcsMjEuNDQ3LDAsMCwwLC4zODksNFptMy00YzAtOC44MjIsNS44MzItMTYsMTMtMTZzMTMsNy4xNzgsMTMsMTZhMTguNDA3LDE4LjQwNywwLDAsMS0yLjg3MiwxMEg0Ny42ODJBMTYsMTYsMCwwLDAsNTEsMTljMC03LjcyLTQuOTM1LTE0LTExLTE0UzI5LDExLjI4LDI5LDE5YTE2LDE2LDAsMCwwLDMuMzE4LDEwSDI5Ljg3MkExOC40MDcsMTguNDA3LDAsMCwxLDI3LDE5Wm04LjA2MSwxMEExMy4zMDgsMTMuMzA4LDAsMCwxLDMxLDE5YzAtNi42MTcsNC4wMzctMTIsOS0xMnM5LDUuMzgzLDksMTJhMTMuMzA4LDEzLjMwOCwwLDAsMS00LjA2MSwxMFpNMjUsMzFINTV2MUgyNVptMS4wNDIsM0g1My45NThDNTMuNTI4LDQyLjkwOCw0Ny40NDIsNTAsNDAsNTBTMjYuNDcyLDQyLjkwOCwyNi4wNDIsMzRaTTM2Ljg2NCw1MS42MjlhMTMuNDQsMTMuNDQsMCwwLDAsNi4yNzIsMEExMC41MzksMTAuNTM5LDAsMCwwLDQ1LjYzNiw1N0gzNC4zNjRBMTAuNTM5LDEwLjUzOSwwLDAsMCwzNi44NjQsNTEuNjI5Wk01MCw2MUgzMFY1OUg1MFoiLz4NCiAgICAgICAgPHJlY3QgeD0iMjUiIHk9IjYiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiLz4NCiAgICAgICAgPHBhdGggZD0iTTIzLDU3aC0uMDhBNy4wMSw3LjAxLDAsMCwwLDE5LDUxLjY4NVY0OGExLDEsMCwwLDAtMS0xSDE3VjI2LjgxNmEzLDMsMCwxLDAtMiwwVjQ3SDE0YTEsMSwwLDAsMC0xLDF2My42ODVBNy4wMSw3LjAxLDAsMCwwLDkuMDgsNTdIOWEzLDMsMCwwLDAsMCw2SDIzYTMsMywwLDAsMCwwLTZaTTE2LDIzYTEsMSwwLDEsMS0xLDFBMSwxLDAsMCwxLDE2LDIzWk0xNSw0OWgydjIuMDhhNi4yOSw2LjI5LDAsMCwwLTIsMFptMSw0YTUuMDA2LDUuMDA2LDAsMCwxLDUsNUgxMUE1LjAwNiw1LjAwNiwwLDAsMSwxNiw1M1ptNyw4SDlhMSwxLDAsMCwxLDAtMiwxLDEsMCwwLDAsMSwxSDIyYTEsMSwwLDAsMCwxLTEsMSwxLDAsMCwxLDAsMloiLz4NCiAgICAgICAgPHBhdGggZD0iTTgsMTVhMSwxLDAsMCwwLDEtMSw1LjAwNiw1LjAwNiwwLDAsMSw1LTUsMSwxLDAsMCwwLDAtMkE1LjAwNiw1LjAwNiwwLDAsMSw5LDIsMSwxLDAsMCwwLDcsMiw1LjAwNiw1LjAwNiwwLDAsMSwyLDcsMSwxLDAsMCwwLDIsOWE1LjAwNiw1LjAwNiwwLDAsMSw1LDVBMSwxLDAsMCwwLDgsMTVaTTUuNiw4QTcuMDY2LDcuMDY2LDAsMCwwLDgsNS42LDcuMDY2LDcuMDY2LDAsMCwwLDEwLjQsOCw3LjA2Niw3LjA2NiwwLDAsMCw4LDEwLjQsNy4wNjYsNy4wNjYsMCwwLDAsNS42LDhaIi8+DQogICAgICAgIDxwYXRoIGQ9Ik0xNCwxMWEzLDMsMCwwLDEtMywzLDEsMSwwLDAsMCwwLDIsMywzLDAsMCwxLDMsMywxLDEsMCwwLDAsMiwwLDMsMywwLDAsMSwzLTMsMSwxLDAsMCwwLDAtMiwzLDMsMCwwLDEtMy0zLDEsMSwwLDAsMC0yLDBabTIsNGE1LjAxNyw1LjAxNywwLDAsMC0xLDEsNS4wMTcsNS4wMTcsMCwwLDAtMS0xLDUuMDE3LDUuMDE3LDAsMCwwLDEtMUE1LjAxNyw1LjAxNywwLDAsMCwxNiwxNVoiLz4NCiAgICAgICAgPHBhdGggZD0iTTYyLDQ4YTMsMywwLDAsMS0zLTMsMSwxLDAsMCwwLTIsMCwzLDMsMCwwLDEtMywzLDEsMSwwLDAsMCwwLDIsMywzLDAsMCwxLDMsMywxLDEsMCwwLDAsMiwwLDMsMywwLDAsMSwzLTMsMSwxLDAsMCwwLDAtMlptLTQsMmE1LjAxNyw1LjAxNywwLDAsMC0xLTEsNS4wMTcsNS4wMTcsMCwwLDAsMS0xLDUuMDE3LDUuMDE3LDAsMCwwLDEsMUE1LjAxNyw1LjAxNywwLDAsMCw1OCw1MFoiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",$Ne="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUwOSA1MDkiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTM1OS4yIDB2ODkuOGgtODkuODAxdjg5LjhoLTg5Ljh2ODkuOGgtODkuNzk5djg5LjhoLTg5Ljh2MTQ5LjhoNTA5di01MDl6bTExOS44IDQ3OWgtNDQ5di04OS44aDg5Ljh2LTg5LjhoODkuOHYtODkuOGg4OS44di04OS44aDg5Ljh2LTg5LjhoODkuOHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTY4LjQ0OCAxNzYuOTU2IDk0LjA0MS05NC4wNC0zLjYyOSA0My4wNjYgMjkuODk1IDIuNTE5IDguNTYyLTEwMS42MjYtMTAxLjYyNyA4LjU2MiAyLjUxOCAyOS44OTQgNDMuMDY4LTMuNjI4LTk0LjA0MSA5NC4wNHoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",PNe="PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik0yMzguOTMzLDM0LjEzM2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzVjc2LjhjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzczguNTMzLTMuODIzLDguNTMzLTguNTMzVjQyLjY2Nw0KCQkJQzI0Ny40NjcsMzcuOTU2LDI0My42NDQsMzQuMTMzLDIzOC45MzMsMzQuMTMzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNNDc3Ljg2NywzNC4xMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM1Y3Ni44YzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM1M0ODYuNCw4MS41MSw0ODYuNCw3Ni44VjQyLjY2Nw0KCQkJQzQ4Ni40LDM3Ljk1Niw0ODIuNTc3LDM0LjEzMyw0NzcuODY3LDM0LjEzM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTE3OS4yLDBIOC41MzNDMy44MjMsMCwwLDMuODIzLDAsOC41MzN2NDk0LjkzM0MwLDUwOC4xNzcsMy44MjMsNTEyLDguNTMzLDUxMkgxNzkuMmM0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzMNCgkJCVY4LjUzM0MxODcuNzMzLDMuODIzLDE4My45MSwwLDE3OS4yLDB6IE0xNzAuNjY3LDQ5NC45MzNoLTE1My42VjE3LjA2N2gxNTMuNlY0OTQuOTMzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNNTAzLjQ2NywzNTguNEgxNzkuMmMtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzdjEzNi41MzNjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzaDMyNC4yNjcNCgkJCWM0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzNWMzY2LjkzM0M1MTIsMzYyLjIyMyw1MDguMTc3LDM1OC40LDUwMy40NjcsMzU4LjR6IE00OTQuOTMzLDQ5NC45MzNoLTMwNy4yVjM3NS40NjdoMzA3LjINCgkJCVY0OTQuOTMzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNNTAzLjQ2NywwSDE3OS4yYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzN2MzQuMTMzYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2gzMjQuMjY3DQoJCQljNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzVjguNTMzQzUxMiwzLjgyMyw1MDguMTc3LDAsNTAzLjQ2NywweiBNNDk0LjkzMywzNC4xMzNoLTMwNy4yVjE3LjA2N2gzMDcuMlYzNC4xMzN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0xMzYuNTMzLDI0Ny40NjdoLTI1LjZjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3MzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2gyNS42YzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzMw0KCQkJUzE0MS4yNDQsMjQ3LjQ2NywxMzYuNTMzLDI0Ny40Njd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0xMTAuOTMzLDI0Ny40NjdjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3YyNS42YzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM3M4LjUzMy0zLjgyMyw4LjUzMy04LjUzM1YyNTYNCgkJCUMxMTkuNDY3LDI1MS4yOSwxMTUuNjQ0LDI0Ny40NjcsMTEwLjkzMywyNDcuNDY3eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzY2LjkzMyw0MTguMTMzaC01MS4yYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNzMy44MjMsOC41MzMsOC41MzMsOC41MzNoNTEuMmM0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzMNCgkJCVMzNzEuNjQ0LDQxOC4xMzMsMzY2LjkzMyw0MTguMTMzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzQxLjMzMyw0MTguMTMzYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzN2MTcuMDY3YzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM3M4LjUzMy0zLjgyMyw4LjUzMy04LjUzMw0KCQkJdi0xNy4wNjdDMzQ5Ljg2Nyw0MjEuOTU2LDM0Ni4wNDQsNDE4LjEzMywzNDEuMzMzLDQxOC4xMzN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0yOTAuMTMzLDM0LjEzM2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzdjUxLjJjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzczguNTMzLTMuODIzLDguNTMzLTguNTMzdi01MS4yDQoJCQlDMjk4LjY2NywzNy45NTYsMjk0Ljg0NCwzNC4xMzMsMjkwLjEzMywzNC4xMzN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0yOTAuMTMzLDExOS40NjdjLTQ1LjkzNSwwLTc2LjgsMTcuMTQzLTc2LjgsNDIuNjY3VjE3OS4yYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2gxNy4wNjd2NzYuOA0KCQkJYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM0gzMzIuOGM0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzN2LTc2LjhIMzU4LjRjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzdi0xNy4wNjcNCgkJCUMzNjYuOTMzLDEzNi42MSwzMzYuMDY4LDExOS40NjcsMjkwLjEzMywxMTkuNDY3eiBNMzQ5Ljg2NywxNzAuNjY3SDMzMi44Yy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNWMjU2SDI1NnYtNzYuOA0KCQkJYzAtNC43MS0zLjgyMy04LjUzMy04LjUzMy04LjUzM0gyMzAuNHYtOC41MzNjMC0xMi40MDcsMjAuOTMyLTI1LjYsNTkuNzMzLTI1LjZzNTkuNzMzLDEzLjE5Myw1OS43MzMsMjUuNlYxNzAuNjY3eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzQ5Ljg2NywxMTkuNDY3Yy0xMS4zNzUsMC0yMi4wNDIsMS4wNzUtMzEuNjkzLDMuMTkxYy0zLjkxNywwLjg2Mi02LjcwNyw0LjMyNi02LjcwNyw4LjMzNw0KCQkJYzAsNC4wMTEsMi43OSw3LjQ3NSw2LjcwNyw4LjMzN2MxOS4yNTEsNC4yMTUsMzEuNjkzLDEzLjE2NywzMS42OTMsMjIuODAxdjguNTMzSDMzMi44Yy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzN2ODUuMzMzDQoJCQljMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzaDU5LjczM2M0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzN2LTc2LjhoMTcuMDY3YzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtMTcuMDY3DQoJCQlDNDI2LjY2NywxMzYuNjEsMzk1LjgwMiwxMTkuNDY3LDM0OS44NjcsMTE5LjQ2N3ogTTQwOS42LDE3MC42NjdoLTE3LjA2N2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzVjI1NmgtNDIuNjY3di02OC4yNjcNCgkJCUgzNTguNGM0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzN2LTE3LjA2N2MwLTkuODEzLTQuNzM2LTE4LjU3Ny0xMy4zOC0yNS41NTdjMzYuNDM3LDAuODAyLDU2LjA0NywxMy41NDIsNTYuMDQ3LDI1LjU1Nw0KCQkJVjE3MC42Njd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik00MDkuNiwxMTkuNDY3Yy0xMS4zNzUsMC0yMi4wNDIsMS4wNzUtMzEuNjkzLDMuMTkxYy0zLjkxNywwLjg2Mi02LjcwNyw0LjMyNi02LjcwNyw4LjMzNw0KCQkJYzAsNC4wMTEsMi43OSw3LjQ3NSw2LjcwNyw4LjMzN2MxOS4yNTEsNC4yMTUsMzEuNjkzLDEzLjE2NywzMS42OTMsMjIuODAxdjguNTMzaC0xNy4wNjdjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3Y4NS4zMzMNCgkJCWMwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNoNTkuNzMzYzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtNzYuOGgxNy4wNjdjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzdi0xNy4wNjcNCgkJCUM0ODYuNCwxMzYuNjEsNDU1LjUzNSwxMTkuNDY3LDQwOS42LDExOS40Njd6IE00NjkuMzMzLDE3MC42NjdoLTE3LjA2N2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzVjI1NmgtNDIuNjY3di02OC4yNjcNCgkJCWgxNy4wNjdjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzdi0xNy4wNjdjMC05LjgxMy00LjczNi0xOC41NzctMTMuMzgtMjUuNTU3YzM2LjQzNywwLjgwMiw1Ni4wNDcsMTMuNTQyLDU2LjA0NywyNS41NTcNCgkJCVYxNzAuNjY3eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjkwLjEzMyw4NS4zMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM2MwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNjNC43MDIsMCw4LjUzMywzLjgzMSw4LjUzMyw4LjUzMw0KCQkJYzAsNC43MDItMy44MzEsOC41MzMtOC41MzMsOC41MzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3MzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2MxNC4xMTQsMCwyNS42LTExLjQ4NiwyNS42LTI1LjYNCgkJCVMzMDQuMjQ3LDg1LjMzMywyOTAuMTMzLDg1LjMzM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTM1OC40LDM0LjEzM2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzdjUxLjJjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzczguNTMzLTMuODIzLDguNTMzLTguNTMzdi01MS4yDQoJCQlDMzY2LjkzMywzNy45NTYsMzYzLjExLDM0LjEzMywzNTguNCwzNC4xMzN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0zNTguNCw4NS4zMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM2MwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNjNC43MDIsMCw4LjUzMywzLjgzMSw4LjUzMyw4LjUzMw0KCQkJYzAsNC43MDItMy44MzEsOC41MzMtOC41MzMsOC41MzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3MzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2MxNC4xMTQsMCwyNS42LTExLjQ4NiwyNS42LTI1LjYNCgkJCVMzNzIuNTE0LDg1LjMzMywzNTguNCw4NS4zMzN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik00MjYuNjY3LDM0LjEzM2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzdjUxLjJjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzczguNTMzLTMuODIzLDguNTMzLTguNTMzdi01MS4yDQoJCQlDNDM1LjIsMzcuOTU2LDQzMS4zNzcsMzQuMTMzLDQyNi42NjcsMzQuMTMzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNNDI2LjY2Nyw4NS4zMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM2MwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNjNC43MDIsMCw4LjUzMywzLjgzMSw4LjUzMyw4LjUzMw0KCQkJYzAsNC43MDItMy44MzEsOC41MzMtOC41MzMsOC41MzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3MzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2MxNC4xMTQsMCwyNS42LTExLjQ4NiwyNS42LTI1LjYNCgkJCVM0NDAuNzgxLDg1LjMzMyw0MjYuNjY3LDg1LjMzM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTQ4Ni40LDMyNC4yNjdIMTc5LjJjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3YzNC4xMzNjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzaDMwNy4yDQoJCQljNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzVjMzMi44QzQ5NC45MzMsMzI4LjA5LDQ5MS4xMSwzMjQuMjY3LDQ4Ni40LDMyNC4yNjd6IE00NzcuODY3LDM1OC40SDE4Ny43MzN2LTE3LjA2N2gyOTAuMTMzDQoJCQlWMzU4LjR6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik00NjkuMzMzLDM5Mi41MzNoLTI1NmMtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzdjY4LjI2N2MwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNoMjU2DQoJCQljNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzdi02OC4yNjdDNDc3Ljg2NywzOTYuMzU2LDQ3NC4wNDQsMzkyLjUzMyw0NjkuMzMzLDM5Mi41MzN6IE00NjAuOCw0NjAuOEgyMjEuODY3di01MS4ySDQ2MC44DQoJCQlWNDYwLjh6Ii8+DQogICAgPC9nPg0KPC9zdmc+DQo=",WNe="PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im01NS43NTggNjEtMS41NjktNS41N2M0LjA1My0yLjIwNCA2LjgxMS02LjUwMSA2LjgxMS0xMS40M3YtMWMxLjEwMyAwIDItLjg5NyAyLTJ2LTJjMC0xLjEwMy0uODk3LTItMi0ydi0xMGMxLjEwMyAwIDItLjg5NyAyLTJ2LTJjMC0xLjEwMy0uODk3LTItMi0yaC0yNmMtMS4xMDMgMC0yIC44OTctMiAydjJjMCAxLjEwMy44OTcgMiAyIDJ2MTBjLTEuMTAzIDAtMiAuODk3LTIgMnYyYzAgMS4xMDMuODk3IDIgMiAydjFjMCA0LjkyOSAyLjc1OCA5LjIyNiA2LjgxMSAxMS40M2wtMS41NjkgNS41N2gtMTMuMzQzYy0uNDY1LTIuMjc5LTIuNDg0LTQtNC44OTktNGgtMXYtOS4wMDNjNC42OTMtMS45NjMgOC02LjYgOC0xMS45OTd2LTdoLTE4di00aDR2Mmgydi0yYzAtMS4xMDMtLjg5Ny0yLTItMmgtNi0xLTFjLTEuMTAzIDAtMiAuODk3LTIgMnY0aC0ydjdjMCA1LjM5NyAzLjMwNyAxMC4wMzQgOCAxMS45OTd2OS4wMDNoLTFjLTIuNDE0IDAtNC40MzQgMS43MjEtNC44OTkgNGgtNS4xMDF2Mmg2NHYtMnptLTIwLjc1OS0zOGgyNi4wMDF2MmgtMjZ6bTIuMDAxIDhoNHYtMmgtNHYtMmgyMnYxMGgtMjJ6bS0yLjAwMSA4aDI2LjAwMXYyaC0yNnptMi4wMDEgNXYtMWgyMnYxYzAgNi4wNjUtNC45MzUgMTEtMTEgMTFzLTExLTQuOTM1LTExLTExem02LjY2MSAxMi4yNGMxLjM2LjQ4MyAyLjgxNi43NiA0LjMzOS43NnMyLjk3OS0uMjc3IDQuMzM5LS43NmwxLjM0IDQuNzZoLTExLjM1OHptLTM2LjY2MS0zMS4yNGgxIDF2NGgtMnptMjAgNnYyaC0yMnYtMnptLTIyIDV2LTFoMjJ2MWMwIDYuMDY1LTQuOTM1IDExLTExIDExcy0xMS00LjkzNS0xMS0xMXptOCAxMi42MzdjLjk2NS4yMjkgMS45NjYuMzYzIDMgLjM2M3MyLjAzNS0uMTM0IDMtLjM2M3Y4LjM2M2gtNnptLTMgMTAuMzYzaDEyYzEuMzAyIDAgMi40MDIuODM5IDIuODE2IDJoLTE3LjYzMmMuNDE0LTEuMTYxIDEuNTE0LTIgMi44MTYtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQgMjFoMjRjMS42NTQgMCAzLTEuMzQ2IDMtM3YtMTRjMC0xLjY1NC0xLjM0Ni0zLTMtM2gtMjRjLTEuNjU0IDAtMyAxLjM0Ni0zIDN2MTRjMCAxLjY1NCAxLjM0NiAzIDMgM3ptLTEtMTdjMC0uNTUxLjQ0OC0xIDEtMWgyNGMuNTUyIDAgMSAuNDQ5IDEgMXYxNGMwIC41NTEtLjQ0OCAxLTEgMWgtMjRjLS41NTIgMC0xLS40NDktMS0xeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTAgMi41MTVoMnYxNi45NzFoLTJ6IiB0cmFuc2Zvcm09Im1hdHJpeCguNzA3IC0uNzA3IC43MDcgLjcwNyAtNC41NTYgMTEpIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yMCAyLjUxNWgydjE2Ljk3MWgtMnoiIHRyYW5zZm9ybT0ibWF0cml4KC43MDcgLS43MDcgLjcwNyAuNzA3IC0xLjYyNyAxOC4wNzEpIi8+DQogICAgICAgIDxwYXRoIGQ9Im0zNSA5aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM1IDEzaDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM3IDExaDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTMzIDExaDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ1IDNoMnYyaC0yeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNDUgN2gydjJoLTJ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00NyA1aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQzIDVoMnYyaC0yeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNTUgMTNoMnYyaC0yeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNTUgMTdoMnYyaC0yeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNTcgMTVoMnYyaC0yeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNTMgMTVoMnYyaC0yeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",RNe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCIgd2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik01MSw1N0g0OC40MTRsLS44NzktLjg3OWE4LjU4Nyw4LjU4NywwLDAsMS0yLjQ3MS01LjExMkM1MS4xNTMsNDguNTg3LDU1LjYwNyw0MS45MzQsNTUuOTU3LDM0SDU2YTEsMSwwLDAsMCwxLTFWMzBhMSwxLDAsMCwwLTEtMUg1Mi40NjRhMTkuNTgyLDE5LjU4MiwwLDAsMCwxLjY3My00SDU3YTEsMSwwLDAsMCwxLTFWNGExLDEsMCwwLDAtMS0xSDQ2Ljg0MUExMi43LDEyLjcsMCwwLDAsMzMuMTU5LDNIMjNhMSwxLDAsMCwwLTEsMVYyNGExLDEsMCwwLDAsMSwxaDIuODYzYTE5LjU4MiwxOS41ODIsMCwwLDAsMS42NzMsNEgyNGExLDEsMCwwLDAtMSwxdjNhMSwxLDAsMCwwLDEsMWguMDQzYy4zNSw3LjkzNCw0LjgsMTQuNTg3LDEwLjg5MywxNy4wMDlhOC41ODcsOC41ODcsMCwwLDEtMi40NzEsNS4xMTJMMzEuNTg2LDU3SDI5YTEsMSwwLDAsMC0xLDF2NGExLDEsMCwwLDAsMSwxSDUxYTEsMSwwLDAsMCwxLTFWNThBMSwxLDAsMCwwLDUxLDU3Wk01Niw1VjIzSDU0LjYxMUEyMS40NDcsMjEuNDQ3LDAsMCwwLDU1LDE5LDE5LjQ5MywxOS40OTMsMCwwLDAsNDkuNDA3LDVaTTI0LDIzVjVoNi41OTNBMTkuNDkzLDE5LjQ5MywwLDAsMCwyNSwxOWEyMS40NDcsMjEuNDQ3LDAsMCwwLC4zODksNFptMy00YzAtOC44MjIsNS44MzItMTYsMTMtMTZzMTMsNy4xNzgsMTMsMTZhMTguNDA3LDE4LjQwNywwLDAsMS0yLjg3MiwxMEg0Ny42ODJBMTYsMTYsMCwwLDAsNTEsMTljMC03LjcyLTQuOTM1LTE0LTExLTE0UzI5LDExLjI4LDI5LDE5YTE2LDE2LDAsMCwwLDMuMzE4LDEwSDI5Ljg3MkExOC40MDcsMTguNDA3LDAsMCwxLDI3LDE5Wm04LjA2MSwxMEExMy4zMDgsMTMuMzA4LDAsMCwxLDMxLDE5YzAtNi42MTcsNC4wMzctMTIsOS0xMnM5LDUuMzgzLDksMTJhMTMuMzA4LDEzLjMwOCwwLDAsMS00LjA2MSwxMFpNMjUsMzFINTV2MUgyNVptMS4wNDIsM0g1My45NThDNTMuNTI4LDQyLjkwOCw0Ny40NDIsNTAsNDAsNTBTMjYuNDcyLDQyLjkwOCwyNi4wNDIsMzRaTTM2Ljg2NCw1MS42MjlhMTMuNDQsMTMuNDQsMCwwLDAsNi4yNzIsMEExMC41MzksMTAuNTM5LDAsMCwwLDQ1LjYzNiw1N0gzNC4zNjRBMTAuNTM5LDEwLjUzOSwwLDAsMCwzNi44NjQsNTEuNjI5Wk01MCw2MUgzMFY1OUg1MFoiLz4NCiAgICAgICAgPHJlY3QgeD0iMjUiIHk9IjYiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiLz4NCiAgICAgICAgPHBhdGggZD0iTTIzLDU3aC0uMDhBNy4wMSw3LjAxLDAsMCwwLDE5LDUxLjY4NVY0OGExLDEsMCwwLDAtMS0xSDE3VjI2LjgxNmEzLDMsMCwxLDAtMiwwVjQ3SDE0YTEsMSwwLDAsMC0xLDF2My42ODVBNy4wMSw3LjAxLDAsMCwwLDkuMDgsNTdIOWEzLDMsMCwwLDAsMCw2SDIzYTMsMywwLDAsMCwwLTZaTTE2LDIzYTEsMSwwLDEsMS0xLDFBMSwxLDAsMCwxLDE2LDIzWk0xNSw0OWgydjIuMDhhNi4yOSw2LjI5LDAsMCwwLTIsMFptMSw0YTUuMDA2LDUuMDA2LDAsMCwxLDUsNUgxMUE1LjAwNiw1LjAwNiwwLDAsMSwxNiw1M1ptNyw4SDlhMSwxLDAsMCwxLDAtMiwxLDEsMCwwLDAsMSwxSDIyYTEsMSwwLDAsMCwxLTEsMSwxLDAsMCwxLDAsMloiLz4NCiAgICAgICAgPHBhdGggZD0iTTgsMTVhMSwxLDAsMCwwLDEtMSw1LjAwNiw1LjAwNiwwLDAsMSw1LTUsMSwxLDAsMCwwLDAtMkE1LjAwNiw1LjAwNiwwLDAsMSw5LDIsMSwxLDAsMCwwLDcsMiw1LjAwNiw1LjAwNiwwLDAsMSwyLDcsMSwxLDAsMCwwLDIsOWE1LjAwNiw1LjAwNiwwLDAsMSw1LDVBMSwxLDAsMCwwLDgsMTVaTTUuNiw4QTcuMDY2LDcuMDY2LDAsMCwwLDgsNS42LDcuMDY2LDcuMDY2LDAsMCwwLDEwLjQsOCw3LjA2Niw3LjA2NiwwLDAsMCw4LDEwLjQsNy4wNjYsNy4wNjYsMCwwLDAsNS42LDhaIi8+DQogICAgICAgIDxwYXRoIGQ9Ik0xNCwxMWEzLDMsMCwwLDEtMywzLDEsMSwwLDAsMCwwLDIsMywzLDAsMCwxLDMsMywxLDEsMCwwLDAsMiwwLDMsMywwLDAsMSwzLTMsMSwxLDAsMCwwLDAtMiwzLDMsMCwwLDEtMy0zLDEsMSwwLDAsMC0yLDBabTIsNGE1LjAxNyw1LjAxNywwLDAsMC0xLDEsNS4wMTcsNS4wMTcsMCwwLDAtMS0xLDUuMDE3LDUuMDE3LDAsMCwwLDEtMUE1LjAxNyw1LjAxNywwLDAsMCwxNiwxNVoiLz4NCiAgICAgICAgPHBhdGggZD0iTTYyLDQ4YTMsMywwLDAsMS0zLTMsMSwxLDAsMCwwLTIsMCwzLDMsMCwwLDEtMywzLDEsMSwwLDAsMCwwLDIsMywzLDAsMCwxLDMsMywxLDEsMCwwLDAsMiwwLDMsMywwLDAsMSwzLTMsMSwxLDAsMCwwLDAtMlptLTQsMmE1LjAxNyw1LjAxNywwLDAsMC0xLTEsNS4wMTcsNS4wMTcsMCwwLDAsMS0xLDUuMDE3LDUuMDE3LDAsMCwwLDEsMUE1LjAxNyw1LjAxNywwLDAsMCw1OCw1MFoiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",JNe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJNMjM4LjkzMywzNC4xMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM1Y3Ni44YzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM3M4LjUzMy0zLjgyMyw4LjUzMy04LjUzM1Y0Mi42NjcNCgkJCUMyNDcuNDY3LDM3Ljk1NiwyNDMuNjQ0LDM0LjEzMywyMzguOTMzLDM0LjEzM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTQ3Ny44NjcsMzQuMTMzYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNWNzYuOGMwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNTNDg2LjQsODEuNTEsNDg2LjQsNzYuOFY0Mi42NjcNCgkJCUM0ODYuNCwzNy45NTYsNDgyLjU3NywzNC4xMzMsNDc3Ljg2NywzNC4xMzN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0xNzkuMiwwSDguNTMzQzMuODIzLDAsMCwzLjgyMywwLDguNTMzdjQ5NC45MzNDMCw1MDguMTc3LDMuODIzLDUxMiw4LjUzMyw1MTJIMTc5LjJjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzDQoJCQlWOC41MzNDMTg3LjczMywzLjgyMywxODMuOTEsMCwxNzkuMiwweiBNMTcwLjY2Nyw0OTQuOTMzaC0xNTMuNlYxNy4wNjdoMTUzLjZWNDk0LjkzM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTUwMy40NjcsMzU4LjRIMTc5LjJjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3YxMzYuNTMzYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2gzMjQuMjY3DQoJCQljNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzVjM2Ni45MzNDNTEyLDM2Mi4yMjMsNTA4LjE3NywzNTguNCw1MDMuNDY3LDM1OC40eiBNNDk0LjkzMyw0OTQuOTMzaC0zMDcuMlYzNzUuNDY3aDMwNy4yDQoJCQlWNDk0LjkzM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTUwMy40NjcsMEgxNzkuMmMtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzdjM0LjEzM2MwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNoMzI0LjI2Nw0KCQkJYzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzM1Y4LjUzM0M1MTIsMy44MjMsNTA4LjE3NywwLDUwMy40NjcsMHogTTQ5NC45MzMsMzQuMTMzaC0zMDcuMlYxNy4wNjdoMzA3LjJWMzQuMTMzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTM2LjUzMywyNDcuNDY3aC0yNS42Yy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNzMy44MjMsOC41MzMsOC41MzMsOC41MzNoMjUuNmM0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzMNCgkJCVMxNDEuMjQ0LDI0Ny40NjcsMTM2LjUzMywyNDcuNDY3eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTEwLjkzMywyNDcuNDY3Yy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzN2MjUuNmMwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNzOC41MzMtMy44MjMsOC41MzMtOC41MzNWMjU2DQoJCQlDMTE5LjQ2NywyNTEuMjksMTE1LjY0NCwyNDcuNDY3LDExMC45MzMsMjQ3LjQ2N3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTM2Ni45MzMsNDE4LjEzM2gtNTEuMmMtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzczMuODIzLDguNTMzLDguNTMzLDguNTMzaDUxLjJjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzDQoJCQlTMzcxLjY0NCw0MTguMTMzLDM2Ni45MzMsNDE4LjEzM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTM0MS4zMzMsNDE4LjEzM2MtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzdjE3LjA2N2MwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNzOC41MzMtMy44MjMsOC41MzMtOC41MzMNCgkJCXYtMTcuMDY3QzM0OS44NjcsNDIxLjk1NiwzNDYuMDQ0LDQxOC4xMzMsMzQxLjMzMyw0MTguMTMzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjkwLjEzMywzNC4xMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3Y1MS4yYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM3M4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtNTEuMg0KCQkJQzI5OC42NjcsMzcuOTU2LDI5NC44NDQsMzQuMTMzLDI5MC4xMzMsMzQuMTMzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjkwLjEzMywxMTkuNDY3Yy00NS45MzUsMC03Ni44LDE3LjE0My03Ni44LDQyLjY2N1YxNzkuMmMwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNoMTcuMDY3djc2LjgNCgkJCWMwLDQuNzEsMy44MjMsOC41MzMsOC41MzMsOC41MzNIMzMyLjhjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzdi03Ni44SDM1OC40YzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtMTcuMDY3DQoJCQlDMzY2LjkzMywxMzYuNjEsMzM2LjA2OCwxMTkuNDY3LDI5MC4xMzMsMTE5LjQ2N3ogTTM0OS44NjcsMTcwLjY2N0gzMzIuOGMtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzVjI1NkgyNTZ2LTc2LjgNCgkJCWMwLTQuNzEtMy44MjMtOC41MzMtOC41MzMtOC41MzNIMjMwLjR2LTguNTMzYzAtMTIuNDA3LDIwLjkzMi0yNS42LDU5LjczMy0yNS42czU5LjczMywxMy4xOTMsNTkuNzMzLDI1LjZWMTcwLjY2N3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTM0OS44NjcsMTE5LjQ2N2MtMTEuMzc1LDAtMjIuMDQyLDEuMDc1LTMxLjY5MywzLjE5MWMtMy45MTcsMC44NjItNi43MDcsNC4zMjYtNi43MDcsOC4zMzcNCgkJCWMwLDQuMDExLDIuNzksNy40NzUsNi43MDcsOC4zMzdjMTkuMjUxLDQuMjE1LDMxLjY5MywxMy4xNjcsMzEuNjkzLDIyLjgwMXY4LjUzM0gzMzIuOGMtNC43MSwwLTguNTMzLDMuODIzLTguNTMzLDguNTMzdjg1LjMzMw0KCQkJYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2g1OS43MzNjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzdi03Ni44aDE3LjA2N2M0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzN2LTE3LjA2Nw0KCQkJQzQyNi42NjcsMTM2LjYxLDM5NS44MDIsMTE5LjQ2NywzNDkuODY3LDExOS40Njd6IE00MDkuNiwxNzAuNjY3aC0xNy4wNjdjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM1YyNTZoLTQyLjY2N3YtNjguMjY3DQoJCQlIMzU4LjRjNC43MSwwLDguNTMzLTMuODIzLDguNTMzLTguNTMzdi0xNy4wNjdjMC05LjgxMy00LjczNi0xOC41NzctMTMuMzgtMjUuNTU3YzM2LjQzNywwLjgwMiw1Ni4wNDcsMTMuNTQyLDU2LjA0NywyNS41NTcNCgkJCVYxNzAuNjY3eiIvPg0KICAgICAgICA8cGF0aCBkPSJNNDA5LjYsMTE5LjQ2N2MtMTEuMzc1LDAtMjIuMDQyLDEuMDc1LTMxLjY5MywzLjE5MWMtMy45MTcsMC44NjItNi43MDcsNC4zMjYtNi43MDcsOC4zMzcNCgkJCWMwLDQuMDExLDIuNzksNy40NzUsNi43MDcsOC4zMzdjMTkuMjUxLDQuMjE1LDMxLjY5MywxMy4xNjcsMzEuNjkzLDIyLjgwMXY4LjUzM2gtMTcuMDY3Yy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzN2ODUuMzMzDQoJCQljMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzaDU5LjczM2M0LjcxLDAsOC41MzMtMy44MjMsOC41MzMtOC41MzN2LTc2LjhoMTcuMDY3YzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtMTcuMDY3DQoJCQlDNDg2LjQsMTM2LjYxLDQ1NS41MzUsMTE5LjQ2Nyw0MDkuNiwxMTkuNDY3eiBNNDY5LjMzMywxNzAuNjY3aC0xNy4wNjdjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM1YyNTZoLTQyLjY2N3YtNjguMjY3DQoJCQloMTcuMDY3YzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtMTcuMDY3YzAtOS44MTMtNC43MzYtMTguNTc3LTEzLjM4LTI1LjU1N2MzNi40MzcsMC44MDIsNTYuMDQ3LDEzLjU0Miw1Ni4wNDcsMjUuNTU3DQoJCQlWMTcwLjY2N3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTI5MC4xMzMsODUuMzMzYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzYzQuNzAyLDAsOC41MzMsMy44MzEsOC41MzMsOC41MzMNCgkJCWMwLDQuNzAyLTMuODMxLDguNTMzLTguNTMzLDguNTMzYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNzMy44MjMsOC41MzMsOC41MzMsOC41MzNjMTQuMTE0LDAsMjUuNi0xMS40ODYsMjUuNi0yNS42DQoJCQlTMzA0LjI0Nyw4NS4zMzMsMjkwLjEzMyw4NS4zMzN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0zNTguNCwzNC4xMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3Y1MS4yYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM3M4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtNTEuMg0KCQkJQzM2Ni45MzMsMzcuOTU2LDM2My4xMSwzNC4xMzMsMzU4LjQsMzQuMTMzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzU4LjQsODUuMzMzYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzYzQuNzAyLDAsOC41MzMsMy44MzEsOC41MzMsOC41MzMNCgkJCWMwLDQuNzAyLTMuODMxLDguNTMzLTguNTMzLDguNTMzYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNzMy44MjMsOC41MzMsOC41MzMsOC41MzNjMTQuMTE0LDAsMjUuNi0xMS40ODYsMjUuNi0yNS42DQoJCQlTMzcyLjUxNCw4NS4zMzMsMzU4LjQsODUuMzMzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNNDI2LjY2NywzNC4xMzNjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3Y1MS4yYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM3M4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtNTEuMg0KCQkJQzQzNS4yLDM3Ljk1Niw0MzEuMzc3LDM0LjEzMyw0MjYuNjY3LDM0LjEzM3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTQyNi42NjcsODUuMzMzYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzYzQuNzAyLDAsOC41MzMsMy44MzEsOC41MzMsOC41MzMNCgkJCWMwLDQuNzAyLTMuODMxLDguNTMzLTguNTMzLDguNTMzYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzNzMy44MjMsOC41MzMsOC41MzMsOC41MzNjMTQuMTE0LDAsMjUuNi0xMS40ODYsMjUuNi0yNS42DQoJCQlTNDQwLjc4MSw4NS4zMzMsNDI2LjY2Nyw4NS4zMzN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik00ODYuNCwzMjQuMjY3SDE3OS4yYy00LjcxLDAtOC41MzMsMy44MjMtOC41MzMsOC41MzN2MzQuMTMzYzAsNC43MSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2gzMDcuMg0KCQkJYzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzM1YzMzIuOEM0OTQuOTMzLDMyOC4wOSw0OTEuMTEsMzI0LjI2Nyw0ODYuNCwzMjQuMjY3eiBNNDc3Ljg2NywzNTguNEgxODcuNzMzdi0xNy4wNjdoMjkwLjEzMw0KCQkJVjM1OC40eiIvPg0KICAgICAgICA8cGF0aCBkPSJNNDY5LjMzMywzOTIuNTMzaC0yNTZjLTQuNzEsMC04LjUzMywzLjgyMy04LjUzMyw4LjUzM3Y2OC4yNjdjMCw0LjcxLDMuODIzLDguNTMzLDguNTMzLDguNTMzaDI1Ng0KCQkJYzQuNzEsMCw4LjUzMy0zLjgyMyw4LjUzMy04LjUzM3YtNjguMjY3QzQ3Ny44NjcsMzk2LjM1Niw0NzQuMDQ0LDM5Mi41MzMsNDY5LjMzMywzOTIuNTMzeiBNNDYwLjgsNDYwLjhIMjIxLjg2N3YtNTEuMkg0NjAuOA0KCQkJVjQ2MC44eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",BNe="PHN2ZyB2aWV3Qm94PSIwIDAgMzAwIDMwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtMTk0LjgzNiA1OGgtMTE5LjMyOGMtMjQuNDQ1IDAtNDQuMzM2IDE5Ljg4OS00NC4zMzYgNDQuMzM2djExOS4zMjhjMCAyNC40NDcgMTkuODkxIDQ0LjMzNiA0NC4zMzYgNDQuMzM2aDExOS4zMjhjMjQuNDQ1IDAgNDQuMzM2LTE5Ljg4OSA0NC4zMzYtNDQuMzM2di0xMTkuMzI4YzAtMjQuNDQ3LTE5Ljg5MS00NC4zMzYtNDQuMzM2LTQ0LjMzNnptMzYuMzM2IDE2My42NjRjMCAyMC4wMzUtMTYuMzAxIDM2LjMzNi0zNi4zMzYgMzYuMzM2aC0xMTkuMzI4Yy0yMC4wMzUgMC0zNi4zMzYtMTYuMzAxLTM2LjMzNi0zNi4zMzZ2LTExOS4zMjhjMC0yMC4wMzUgMTYuMzAxLTM2LjMzNiAzNi4zMzYtMzYuMzM2aDExOS4zMjhjMjAuMDM1IDAgMzYuMzM2IDE2LjMwMSAzNi4zMzYgMzYuMzM2eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTM1LjE3MiA3NGMtNDkuNjI1IDAtOTAgNDAuMzczLTkwIDkwczQwLjM3NSA5MCA5MCA5MCA5MC00MC4zNzMgOTAtOTAtNDAuMzc1LTkwLTkwLTkwem0wIDE3MmMtNDUuMjE1IDAtODItMzYuNzg1LTgyLTgyczM2Ljc4NS04MiA4Mi04MiA4MiAzNi43ODUgODIgODItMzYuNzg1IDgyLTgyIDgyeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTM1LjE3MiA5MGMtNDAuODA1IDAtNzQgMzMuMTk1LTc0IDc0czMzLjE5NSA3NCA3NCA3NCA3NC0zMy4xOTUgNzQtNzQtMzMuMTk1LTc0LTc0LTc0em0wIDE0MGMtMzYuMzkxIDAtNjYtMjkuNjA3LTY2LTY2czI5LjYwOS02NiA2Ni02NiA2NiAyOS42MDcgNjYgNjYtMjkuNjEgNjYtNjYgNjZ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im03OS4xNzIgMTM4djMyYzAgMi4yMDkgMS43ODkgNCA0IDRoMTA0YzIuMjExIDAgNC0xLjc5MSA0LTR2LTMyYzAtMi4yMDktMS43ODktNC00LTRoLTEwNGMtMi4yMTEgMC00IDEuNzkxLTQgNHptOCA0aDk2djI0aC05NnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTExNy4xNzIgMTI4LjUzYzIuNTAxIDAgNC41My0yLjAyOCA0LjUzLTQuNTNzLTIuMDI4LTQuNTMtNC41My00LjUzLTQuNTMgMi4wMjgtNC41MyA0LjUzYzAgMi41MDEgMi4wMjggNC41MyA0LjUzIDQuNTN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xMjkuMTcyIDEyOC41M2MyLjUwMSAwIDQuNTMtMi4wMjggNC41My00LjUzcy0yLjAyOC00LjUzLTQuNTMtNC41My00LjUzIDIuMDI4LTQuNTMgNC41M2MwIDIuNTAxIDIuMDI4IDQuNTMgNC41MyA0LjUzeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTQ1LjE3MiAxNTEuNDdjLTIuNTAyIDAtNC41MyAyLjAyOC00LjUzIDQuNTMgMCAyLjUwMSAyLjAyOCA0LjUzIDQuNTMgNC41MyAyLjUwMSAwIDQuNTMtMi4wMjggNC41My00LjUzLS4wMDEtMi41MDItMi4wMjktNC41My00LjUzLTQuNTN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xNDEuMTcyIDEyOC41M2MyLjUwMSAwIDQuNTMtMi4wMjggNC41My00LjUzcy0yLjAyOC00LjUzLTQuNTMtNC41My00LjUzIDIuMDI4LTQuNTMgNC41M2MwIDIuNTAxIDIuMDI4IDQuNTMgNC41MyA0LjUzeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTUzLjE3MiAxMjguNTNjMi41MDEgMCA0LjUzLTIuMDI4IDQuNTMtNC41M3MtMi4wMjgtNC41My00LjUzLTQuNTMtNC41MyAyLjAyOC00LjUzIDQuNTNjMCAyLjUwMSAyLjAyOCA0LjUzIDQuNTMgNC41M3oiLz4NCiAgICAgICAgPGNpcmNsZSBjeD0iMTk5LjE3MiIgY3k9IjM4IiByPSI0Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yMzkuMTcyIDQ2Yy02LjYxNyAwLTEyIDUuMzgzLTEyIDEyczUuMzgzIDEyIDEyIDEyIDEyLTUuMzgzIDEyLTEyLTUuMzgzLTEyLTEyLTEyem0wIDE2Yy0yLjIwNyAwLTQtMS43OTUtNC00czEuNzkzLTQgNC00IDQgMS43OTUgNCA0LTEuNzkzIDQtNCA0eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjY0LjgyOCAxMTAgMi44MjgtMi44MjhjMS41NjItMS41NjIgMS41NjItNC4wOTQgMC01LjY1NnMtNC4wOTQtMS41NjItNS42NTYgMGwtMi44MjggMi44MjgtMi44MjgtMi44MjhjLTEuNTYyLTEuNTYyLTQuMDk0LTEuNTYyLTUuNjU2IDBzLTEuNTYyIDQuMDk0IDAgNS42NTZsMi44MjggMi44MjgtMi44MjggMi44MjhjLTEuNTYyIDEuNTYyLTEuNTYyIDQuMDk0IDAgNS42NTYuNzgxLjc4MSAxLjgwNSAxLjE3MiAyLjgyOCAxLjE3MnMyLjA0Ny0uMzkxIDIuODI4LTEuMTcybDIuODI4LTIuODI4IDIuODI4IDIuODI4Yy43ODEuNzgxIDEuODA1IDEuMTcyIDIuODI4IDEuMTcyczIuMDQ3LS4zOTEgMi44MjgtMS4xNzJjMS41NjItMS41NjIgMS41NjItNC4wOTQgMC01LjY1NnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTEzOS4xNzIgMTk0aC00LjkzNGw1Ljg1OS05Ljc2OGMxLjEzNy0xLjg5NS41MjMtNC4zNTItMS4zNzEtNS40ODgtMS44OTgtMS4xMzctNC4zNTItLjUyMS01LjQ4OCAxLjM3MWwtOS40OTYgMTUuODI2Yy0uNzQyIDEuMjM2LS43NjIgMi43NzUtLjA1MSA0LjAyOXMyLjAzOSAyLjAyOSAzLjQ4IDIuMDI5aDUuNTI3bC01LjEwNSAxMC4yMTFjLS45ODggMS45NzctLjE4OCA0LjM3OSAxLjc4OSA1LjM2Ny41NzQuMjg3IDEuMTg0LjQyMiAxLjc4NS40MjIgMS40NjkgMCAyLjg3OS0uODA5IDMuNTgyLTIuMjExbDgtMTZjLjYyMS0xLjI0LjU1NS0yLjcxMy0uMTc2LTMuODkzLS43MjktMS4xNzYtMi4wMTQtMS44OTUtMy40MDEtMS44OTV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im05NS4xNzIgMTQ2Yy0yLjIxMSAwLTQgMS43OTEtNCA0djhjMCAyLjIwOSAxLjc4OSA0IDQgNHM0LTEuNzkxIDQtNHYtOGMwLTIuMjA5LTEuNzg5LTQtNC00eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTA3LjE3MiAxNDZjLTIuMjExIDAtNCAxLjc5MS00IDR2OGMwIDIuMjA5IDEuNzg5IDQgNCA0czQtMS43OTEgNC00di04YzAtMi4yMDktMS43ODktNC00LTR6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xMTkuMTcyIDE0NmMtMi4yMTEgMC00IDEuNzkxLTQgNHY4YzAgMi4yMDkgMS43ODkgNCA0IDRzNC0xLjc5MSA0LTR2LThjMC0yLjIwOS0xLjc4OS00LTQtNHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTEzMS4xNzIgMTQ2Yy0yLjIxMSAwLTQgMS43OTEtNCA0djhjMCAyLjIwOSAxLjc4OSA0IDQgNHM0LTEuNzkxIDQtNHYtOGMwLTIuMjA5LTEuNzg5LTQtNC00eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTYzLjE3MiAxNDZjLTIuMjExIDAtNCAxLjc5MS00IDR2OGMwIDIuMjA5IDEuNzg5IDQgNCA0czQtMS43OTEgNC00di04YzAtMi4yMDktMS43ODktNC00LTR6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xNzUuMTcyIDE0NmMtMi4yMTEgMC00IDEuNzkxLTQgNHY4YzAgMi4yMDkgMS43ODkgNCA0IDRzNC0xLjc5MSA0LTR2LThjMC0yLjIwOS0xLjc4OS00LTQtNHoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",GNe="PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDUxMi41IDUxMi41IiB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTUwNC43NSw0MTguNWMtNC4xNDMsMC03LjUsMy4zNTgtNy41LDcuNXY3OC41YzAsOS42NzMsMTUsOS42NzMsMTUsMFY0MjZDNTEyLjI1LDQyMS44NTgsNTA4Ljg5Myw0MTguNSw1MDQuNzUsNDE4LjV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik01MDQuNzUsMjQ5LjM1NWgtNTguODk0di0yNy4wNDNoMTguMDExYzEwLjk2NCwwLDE5Ljg4My04LjkxOSwxOS44ODMtMTkuODgzVjE5Ljg4NEM0ODMuNzUsOC45Miw0NzQuODMxLDAsNDYzLjg2NywwICAgSDE4NC4wNTljLTEwLjk2NCwwLTE5Ljg4Myw4LjkyLTE5Ljg4MywxOS44ODR2MjYuOTI5YzAsOS42NzMsMTUsOS42NzMsMTUsMFYxOS44ODRjMC0yLjY5MywyLjE5LTQuODg0LDQuODgzLTQuODg0aDI3OS44MDkgICBjMi42OTIsMCw0Ljg4MywyLjE5MSw0Ljg4Myw0Ljg4NHYxNDUuNDI5aC0yMi44OTRWODUuNDA2YzAtMi40NzUtMS4yMjEtNC43OS0zLjI2My02LjE4OGMtMi4wNDEtMS4zOTgtNC42NDEtMS42OTktNi45NDktMC44MDUgICBjLTEuOTYyLDAuNzYxLTQzLjM0LDE3LjY1OS01Mi4xNDYsODYuODk5SDE3OS4xNzZ2LTc5LjVjMC05LjY3My0xNS05LjY3My0xNSwwdjExNi42MTdjMCwxMC45NjQsOC45MTksMTkuODgzLDE5Ljg4MywxOS44ODMgICBoMTAwLjc0NnYyNy4wNDNIMTE0LjUxNmMxNi42MTItMTYuNTk0LDE4LjIzNC00Mi44NzEsMTguMjM0LTY0Ljk0OWMwLTQuMTQyLTMuMzU3LTcuNS03LjUtNy41aC00MC41di0xNC4xNTkgICBjMjQuMDYsNS4xMTQsNTAuMjg4LTE0LjYxNiw0OS45NjctMzkuNjQ1Yy0wLjA0My0zLjM1Mi0wLjQ1OS02Ljc1OC0zLjU1Ni04LjgwM2MtMTQuMjQ2LTkuNDAzLTMzLjg2Ni01LjQ4NS00Ni40MTEsNC43ODN2LTEzLjUyOSAgIGMyMS40MzMtMTQuNzkzLDIzLjAyNS00OS42MjksMi40MjktNjUuODg5Yy0yLjA3NS0xLjYzOC00LjM3MS0zLjE5Ny02LjgzNC00LjIwMWMtMTAuNTcxLTQuMzE2LTIyLjE5MSwxNC41MTMtMjQuNzEsMjEuNzgxICAgYy01Ljk1MSwxNy4xNzQtMC41NjgsMzYuOTI2LDE0LjExNCw0Ny44MjR2MTMuOTMxYy05LjYyNy03LjgzMy0yMi4yLTExLjY5Ni0zNC40ODMtOS4yMzZjLTUuMDc2LDEuMDE3LTEzLjk3MSwzLjMxNC0xNS4wNzgsOS40NjcgICBjLTQuNzU4LDI2LjQ3NiwyNS4yMzUsNDguNjQzLDQ5LjU2Miw0My41Mzl2MTQuMTM3aC00My41Yy00LjE0MywwLTcuNSwzLjM1OC03LjUsNy41YzAsMjIuMDQ3LDEuMTk2LDQ4LjM1NywxNy44MDYsNjQuOTQ5SDcuNzUgICBjLTQuMTQzLDAtNy41LDMuMzU4LTcuNSw3LjVWNTA0LjVjMCw5LjY3MywxNSw5LjY3MywxNSwwdi0zNWgxMzUuNXYzNWMwLDkuNjczLDE1LDkuNjczLDE1LDB2LTE5MWgyNjUuMjE1ICAgYzAuMDM5LDIuNjEzLDAuMjg5LDE2LjY4OCwwLjMyLDIwLjkwNkgzMDQuMzU2Yy0yOS42NTEsMC01MS42Miw3LjcxOC02NS4yOTgsMjIuOTM5Yy0xNi40MjIsMTguMjc0LTE0LjI2LDQwLjQyNi0xNC4xNTksNDEuMzU5ICAgYzAuNDA4LDMuODExLDMuNjI0LDYuNzAxLDcuNDU3LDYuNzAxaDk2Ljg5NHYxMy41aC0yOS41Yy05LjY3MywwLTkuNjczLDE1LDAsMTVoMjkuNVY0OTdoLTk2Yy05LjY3MywwLTkuNjczLDE1LDAsMTVoMTAwLjgyNSAgIGMwLjgzMiwwLjMxOCwxLjczMSwwLjUsMi42NzUsMC41czEuODQzLTAuMTgyLDIuNjc1LTAuNUg0NDAuMjVjOS42NzMsMCw5LjY3My0xNSwwLTE1aC05NnYtOTEuNTk0aDUwLjEwNiAgIGMxNy4yMTgsMCwyOS42NjQtNC4xNTEsMzguMDUyLTEyLjY5YzE0LjY5OS0xNC45NjUsMTQuMjUxLTQwLjAyMiwxMy42ODQtNzEuNzQ3Yy0wLjA0NC0yLjQ1NC0wLjA4Ny00Ljk1LTAuMTI1LTcuNDdoNTEuMjgzVjM4NCAgIGMwLDkuNjczLDE1LDkuNjczLDE1LDBWMjU2Ljg1NUM1MTIuMjUsMjUyLjcxMyw1MDguODkzLDI0OS4zNTUsNTA0Ljc1LDI0OS4zNTV6IE05Ny4yNzYsMTI4LjQ5NiAgIGM5LjY1Mi02LjEyNCwxOC4wNDktNC42ODEsMjIuNDIxLTMuMTM3Yy0xLjMyLDE1LjU0Ny0yMC4yMjEsMjYuODYtMzQuNjY4LDIxLjk2M0M4NS42MzUsMTQyLjUxMSw4OC4wNzcsMTM0LjMzMiw5Ny4yNzYsMTI4LjQ5NnogICAgTTQ3LjQyNCwxNDQuMDk3Yy02LjM3Mi00LjA0My0xMS43OTItMTEuMDA1LTEyLjQ5My0xOC43NDJjMTUuMDItNS4yOCwzMi42ODMsNi40MTgsMzQuNjQsMjEuOTY3ICAgQzYyLjI4NiwxNDkuNzkyLDUzLjgxLDE0OC4xNDgsNDcuNDI0LDE0NC4wOTd6IE03Ny42MzcsNTEuMTY5YzEyLjU2LDkuNTU0LDExLjk5NywzMS4zNTktMC4wNDQsNDEuMDU0ICAgYy0zLjcxNS0zLjA1NS05LjMxOS05LjQ4MS05LjMxOS0yMC40NDFDNjguMjczLDYwLjM1Miw3My45OTEsNTQuMDM1LDc3LjYzNyw1MS4xNjl6IE0zMy44NTYsMTkxLjkwNmg4My43ODEgICBjLTEuMjcsNDAuNTE1LTEzLjM2Miw1Ni41LTQxLjg4OCw1Ni41QzQ2LjgzMiwyNDguNDA3LDM1LjA3MiwyMzIuOTM2LDMzLjg1NiwxOTEuOTA2eiBNNDIxLjcwNywzODIuMjA1ICAgYy01LjQyMSw1LjUxOS0xNC4zNjcsOC4yMDEtMjcuMzUxLDguMjAxSDI0MC4wMTNjMC42OTQtNS45ODgsMy4wMDYtMTUuMDI2LDEwLjIwMy0yMy4wMzUgICBjMTAuNzEyLTExLjkyMSwyOC45MjctMTcuOTY1LDU0LjE0MS0xNy45NjVoMTI2LjczNkM0MzAuNDczLDM2NC4xMDUsNDI4LjI1MSwzNzUuNTQzLDQyMS43MDcsMzgyLjIwNXogTTQ2OC43NSwxODAuMzEzdjIyLjExNyAgIGMwLDIuNjkzLTIuMTksNC44ODMtNC44ODMsNC44ODNoLTE4LjAxMXYtMjdINDY4Ljc1eiBNNDE5LjEyNiwxMTEuMzU4YzQuMDg0LTUuMzk1LDguMTktOS40MSwxMS43My0xMi4zMjJ2MTg3Ljg2MyAgIGMtMy41MjgtMy4wMjMtNy42MDQtNy4xNDYtMTEuNjU5LTEyLjYyMmMtMTQuNjE1LTE5LjczOS0yMi4zNDEtNDguMDQ5LTIyLjM0MS04MS44NzIgICBDMzk2Ljg1NiwxNTguNjMyLDQwNC41NTgsMTMwLjYwNiw0MTkuMTI2LDExMS4zNTh6IE0zODMuODczLDIyMi4zMTNjMS40MzIsMTAuMDk1LDMuNTUzLDE5LjA3Nyw2LjEzOCwyNy4wNDNoLTI2Ljg5di0yNy4wNDMgICBIMzgzLjg3M3ogTTE3OS4xNzYsMjAyLjQyOXYtMjIuMTE3aDIwMi45OTNjLTAuNDY5LDguOTkyLTAuNDE1LDE4LjAxNSwwLjE2OSwyN0gxODQuMDU5ICAgQzE4MS4zNjYsMjA3LjMxMywxNzkuMTc2LDIwNS4xMjIsMTc5LjE3NiwyMDIuNDI5eiBNMjk5LjgwNSwyMjIuMzEzaDQ4LjMxNnYyNy4wNDNoLTQ4LjMxNlYyMjIuMzEzeiBNMzk1LjkwMSwyNjQuMzU1ICAgYzcuODE1LDE2LjcsMTcuNTE2LDI3LjQ4OCwyNS4zNjUsMzQuMTQ1SDE1LjI1di0zNC4xNDVIMzk1LjkwMXogTTE1LjI1LDQ1NC41di02M2gxMzUuNXY2M0gxNS4yNXogTTE1MC43NSwzNzYuNUgxNS4yNXYtNjNoMTM1LjUgICBWMzc2LjV6IE00NDUuODU2LDI5OC41di0zNC4xNDVoNTEuMzk0VjI5OC41SDQ0NS44NTZ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik01NC43NSwzNTIuNWg1N2M5LjY3MywwLDkuNjczLTE1LDAtMTVoLTU3QzQ1LjA3NywzMzcuNSw0NS4wNzcsMzUyLjUsNTQuNzUsMzUyLjV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0xMTEuNzUsNDE1LjVoLTU3Yy05LjY3MywwLTkuNjczLDE1LDAsMTVoNTdDMTIxLjQyMyw0MzAuNSwxMjEuNDIzLDQxNS41LDExMS43NSw0MTUuNXoiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",FNe={Anteroom:cNe,Attic:uNe,Balcony:lNe,Barn:NNe,Basement:LNe,Bathroom:jNe,Bedroom:gNe,"Boiler Room":"PHN2ZyBoZWlnaHQ9IjQ4MHB0IiB2aWV3Qm94PSItMyAwIDQ4MCA0ODAiIHdpZHRoPSI0ODBwdCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtMjM0Ljk2ODc1IDY0Yy0xMy4yNTM5MDYgMC0yNCAxMC43NDYwOTQtMjQgMjRzMTAuNzQ2MDk0IDI0IDI0IDI0IDI0LTEwLjc0NjA5NCAyNC0yNC0xMC43NDYwOTQtMjQtMjQtMjR6bTAgMzJjLTQuNDE3OTY5IDAtOC0zLjU4MjAzMS04LThzMy41ODIwMzEtOCA4LTggOCAzLjU4MjAzMSA4IDgtMy41ODIwMzEgOC04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMzA2Ljk2ODc1IDE2MGgtMTQ0Yy00LjQxNzk2OSAwLTggMy41ODIwMzEtOCA4djY0YzAgNC40MTc5NjkgMy41ODIwMzEgOCA4IDhoMTQ0YzQuNDE3OTY5IDAgOC0zLjU4MjAzMSA4LTh2LTY0YzAtNC40MTc5NjktMy41ODIwMzEtOC04LTh6bS04IDY0aC0xMjh2LTQ4aDEyOHptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xODYuOTY4NzUgMTkyaDE2djE2aC0xNnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yMTguOTY4NzUgMTkyaDMydjE2aC0zMnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0yNjYuOTY4NzUgMTkyaDE2djE2aC0xNnptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xMzguOTY4NzUgNzJ2MzJoMTZ2LTI0aDE2di0xNmgtMjRjLTQuNDE3OTY5IDAtOCAzLjU4MjAzMS04IDh6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNDY2Ljk2ODc1IDBoLTMyYy00LjQxNzk2OSAwLTggMy41ODIwMzEtOCA4djE5MmMwIDQuNDE3OTY5LTMuNTgyMDMxIDgtOCA4aC01NnYtNTZoMjRjNC40MTc5NjkgMCA4LTMuNTgyMDMxIDgtOHYtNDhjMC00LjQxNzk2OS0zLjU4MjAzMS04LTgtOGgtMjR2LTE2Yy0uMDI3MzQ0LTIyLjA4MjAzMS0xNy45MjE4NzUtMzkuOTcyNjU2LTQwLTQwaC0xNnYtMTZoLTE2djE2aC0xNy43NjE3MTlsLTYuNDgwNDY5LTI1LjkzNzVjLS44ODY3MTgtMy41NjI1LTQuMDg1OTM3LTYuMDYyNS03Ljc1NzgxMi02LjA2MjVoLTQ4Yy0zLjY3MTg3NSAwLTYuODcxMDk0IDIuNS03Ljc2MTcxOSA2LjA2MjVsLTYuNDgwNDY5IDI1LjkzNzVoLTE3Ljc1NzgxMnYtMTZoLTE2djE2aC0xNmMtMjIuMDgyMDMxLjAyNzM0NC0zOS45NzI2NTYgMTcuOTE3OTY5LTQwIDQwdjU2aC0yNGMtNC40MTc5NjkgMC04IDMuNTgyMDMxLTggOHY2NGMwIDQuNDE3OTY5IDMuNTgyMDMxIDggOCA4aDI0djIyNGgtMjRjLTQuNDE3OTY5IDAtOCAzLjU4MjAzMS04IDh2MzJjMCA0LjQxNzk2OSAzLjU4MjAzMSA4IDggOGg5NmM0LjQxNzk2OSAwIDgtMy41ODIwMzEgOC04di0zMmMwLTQuNDE3OTY5LTMuNTgyMDMxLTgtOC04aC0yNHYtNDEuNzEwOTM4YzEyLjM3MTA5NCA2LjM3NSAyNi4wODIwMzEgOS43MDMxMjYgNDAgOS43MTA5MzhoOHYyNGMwIDQuNDE3OTY5IDMuNTgyMDMxIDggOCA4aDQ4YzQuNDE3OTY5IDAgOC0zLjU4MjAzMSA4LTh2LTI0aDhjMTMuOTE0MDYyLS4wMDc4MTIgMjcuNjI4OTA2LTMuMzM1OTM4IDQwLTkuNzEwOTM4djQxLjcxMDkzOGgtMjRjLTQuNDE3OTY5IDAtOCAzLjU4MjAzMS04IDh2MzJjMCA0LjQxNzk2OSAzLjU4MjAzMSA4IDggOGg5NmM0LjQxNzk2OSAwIDgtMy41ODIwMzEgOC04di0zMmMwLTQuNDE3OTY5LTMuNTgyMDMxLTgtOC04aC0yNHYtMTc2aDU2YzMwLjkxMDE1Ni0uMDM5MDYyIDU1Ljk2MDkzOC0yNS4wODk4NDQgNTYtNTZ2LTE5MmMwLTQuNDE3OTY5LTMuNTgyMDMxLTgtOC04em0tODggMTA0djMyaC0xNnYtMzJ6bS0xNjEuNzUzOTA2LTg4aDM1LjUwMzkwNmw0IDE2aC00My41MDM5MDZ6bS05NC4yNDYwOTQgNTZjMC0xMy4yNTM5MDYgMTAuNzQ2MDk0LTI0IDI0LTI0aDE3NmMxMy4yNTM5MDYgMCAyNCAxMC43NDYwOTQgMjQgMjR2NTZoLTIyNHptLTMyIDEyMHYtNDhoMTZ2NDh6bTgwIDI3MmgtODB2LTE2aDgwem0tMzItMzJoLTE2di02OS41NTg1OTRjNC41MzUxNTYgNi40ODQzNzUgOS45MTQwNjIgMTIuMzMyMDMyIDE2IDE3LjM5MDYyNXptMTEyLTE2aC0zMnYtMTZoMzJ6bTEyOCA0OGgtODB2LTE2aDgwem0tMzItMzJoLTE2di01Mi4xNjc5NjljNi4wODIwMzEtNS4wNTg1OTMgMTEuNDY0ODQ0LTEwLjkwNjI1IDE2LTE3LjM5MDYyNXptMC0xMjBjLS4wNDI5NjkgMzkuNzQ2MDk0LTMyLjI1MzkwNiA3MS45NTcwMzEtNzIgNzJoLTgwYy0zOS43NDYwOTQtLjA0Mjk2OS03MS45NTcwMzEtMzIuMjUzOTA2LTcyLTcydi0xNjhoMjI0em0xMTItMTEyYy0uMDI3MzQ0IDIyLjA4MjAzMS0xNy45MjE4NzUgMzkuOTcyNjU2LTQwIDQwaC01NnYtMTZoNTZjMTMuMjUzOTA2IDAgMjQtMTAuNzQ2MDk0IDI0LTI0di0xODRoMTZ6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtNTYuNjI1IDUzLjY1NjI1IDEwLjM0Mzc1LTEwLjM0Mzc1IDE4LjM0Mzc1IDE4LjM0Mzc1IDExLjMxMjUtMTEuMzEyNS0yNC0yNGMtMy4xMjUtMy4xMjEwOTQtOC4xODc1LTMuMTIxMDk0LTExLjMxMjUgMGwtMTAuOTM3NSAxMC45Mzc1LTM0LjM5ODQzOC0yNy41MjczNDQtMTAuMDA3ODEyIDEyLjQ5MjE4OCA0MCAzMmMzLjE4MzU5NCAyLjU1MDc4MSA3Ljc3MzQzOCAyLjI5Mjk2OCAxMC42NTYyNS0uNTg5ODQ0em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTAgODcuNDMzNTk0IDQwIDE2YzIuOTcyNjU2IDEuMTgzNTk0IDYuMzYzMjgxLjQ4NDM3NSA4LjYyNS0xLjc3NzM0NGwxMS45MTc5NjktMTEuOTIxODc1IDI2Ljg0NzY1NiAxMy40NjQ4NDQgNy4xNTIzNDQtMTQuMzIwMzEzLTMyLTE2Yy0zLjA3ODEyNS0xLjUzNTE1Ni02Ljc5Njg3NS0uOTI5Njg3LTkuMjMwNDY5IDEuNTAzOTA2bC0xMi4yNzM0MzggMTIuMjI2NTYzLTM1LjEwMTU2Mi0xNC4wNDI5Njl6bTAgMCIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",Carport:TNe,Cellar:yNe,Chamber:DNe,Corridor:dNe,"Dining Area":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMi4wMDEgNTEyLjAwMSI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTUwNS45NDcsMTIzLjU5N2MtNC4zNTMtNC43NTItMTAuNTQ2LTcuNDc3LTE2Ljk5LTcuNDc3aC02LjgzN2MtMTcuOTI5LDAtMzIuNjMxLDEzLjQ2OC0zNC4xOTgsMzEuMzI4bC03LjM5Nyw4NC4yNzkNCgkJCQljLTAuNjU1LDcuNDY5LTYuODA0LDEzLjEwMi0xNC4zMDMsMTMuMTAyaC02NC4wMjZjLTIwLjUxNiwwLTM3LjIwNywxNi42OTEtMzcuMjA3LDM3LjIwN3YzLjY5Nw0KCQkJCWMwLDEyLjM5NSwxMC4wODMsMjIuNDc4LDIyLjQ3OCwyMi40NzhoMTMuNzIzbC0xMy41MTQsNDQuMTM1Yy0wLjAxLDAuMDMzLTAuMDIsMC4wNjYtMC4wMywwLjA5OWwtMTAuMzMsMzMuNzM2DQoJCQkJYy0xLjIxMywzLjk2MSwxLjAxNSw4LjE1NCw0Ljk3NSw5LjM2N2MwLjczMiwwLjIyNCwxLjQ3MiwwLjMzMSwyLjE5OSwwLjMzMWMzLjIwOSwwLDYuMTgtMi4wNzcsNy4xNjgtNS4zMDZsOC43MTItMjguNDUxSDQ2My4yNA0KCQkJCWw4LjcxMiwyOC40NTFjMC45ODgsMy4yMjksMy45NTgsNS4zMDYsNy4xNjgsNS4zMDZjMC43MjgsMCwxLjQ2OC0wLjEwNywyLjE5OS0wLjMzMWMzLjk2LTEuMjEzLDYuMTg4LTUuNDA3LDQuOTc1LTkuMzY3DQoJCQkJbC0yNC41MTctODAuMDY2YzQuMzA1LTEuMjE5LDguNDYyLTIuOTUzLDEyLjM2Mi01LjE4OGMzLjU5My0yLjA2LDQuODM2LTYuNjQzLDIuNzc2LTEwLjIzNg0KCQkJCWMtMi4wNi0zLjU5My02LjY0NC00LjgzNi0xMC4yMzctMi43NzZjLTYuMDQ0LDMuNDY1LTEyLjkzOSw1LjI5Ny0xOS45NCw1LjI5N2gtNzUuNDAyYy0wLjAyNSwwLTAuMDUsMC0wLjA3NCwwaC0yMy43OTMNCgkJCQljLTQuMTIzLDAtNy40NzgtMy4zNTQtNy40NzgtNy40Nzh2LTMuNjk3YzAtMTIuMjQ1LDkuOTYyLTIyLjIwNywyMi4yMDctMjIuMjA3aDY0LjAyNmMxNS4zMzMsMCwyNy45MDYtMTEuNTE4LDI5LjI0Ni0yNi43OTENCgkJCQlsNy4zOTYtODQuMjhjMC44ODItMTAuMDU2LDkuMTYtMTcuNjQsMTkuMjU1LTE3LjY0aDYuODM3YzIuMjgyLDAsNC4zODksMC45MjcsNS45MywyLjYxYzEuNTQyLDEuNjgzLDIuMjgyLDMuODYyLDIuMDgyLDYuMTM2DQoJCQkJbC0xMC4yNDIsMTE2LjcxMWMtMC4yNTIsMi44NzgtMC44MTMsNS43MjYtMS42NjYsOC40NjRjLTEuMjMyLDMuOTU1LDAuOTc2LDguMTYsNC45MzEsOS4zOTFjMy45NiwxLjIzMiw4LjE1OS0wLjk3Nyw5LjM5Mi00LjkzDQoJCQkJYzEuMTcxLTMuNzYyLDEuOTQtNy42NjksMi4yODctMTEuNjE0bDEwLjI0Mi0xMTYuNzExQzUxMi40NzQsMTM0Ljc1Nyw1MTAuMywxMjguMzQ5LDUwNS45NDcsMTIzLjU5N3ogTTM3Ni44NzUsMzA4LjIxMmg2OS44NTUNCgkJCQlsMTEuOTE0LDM4LjkxaC05My42ODRMMzc2Ljg3NSwzMDguMjEyeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTQ5LjgwMywyNDQuODNIODUuNzc3Yy03LjQ5OSwwLTEzLjY0Ny01LjYzMi0xNC4zMDMtMTMuMTAybC03LjM5Ni04NC4yNzljLTEuNTY3LTE3Ljg2LTE2LjI2OS0zMS4zMjgtMzQuMTk4LTMxLjMyOA0KCQkJCWgtNi44MzdjLTYuNDQ0LDAtMTIuNjM3LDIuNzI1LTE2Ljk5LDcuNDc3Yy00LjM1Myw0Ljc1Mi02LjUyNywxMS4xNi01Ljk2NSwxNy41ODFsMTAuMjQyLDExNi43MTENCgkJCQljMS4yMDksMTMuNzczLDcuNDg5LDI2LjUwMSwxNy42ODQsMzUuODQxYzYuNDA1LDUuODY4LDE0LjAxLDEwLjA3NywyMi4yMDYsMTIuMzk3bC0yNC41MTQsODAuMDU1DQoJCQkJYy0xLjIxMywzLjk2MSwxLjAxNSw4LjE1NCw0Ljk3NSw5LjM2N2MwLjczMiwwLjIyNCwxLjQ3MiwwLjMzMSwyLjE5OSwwLjMzMWMzLjIwOSwwLDYuMTgtMi4wNzcsNy4xNjgtNS4zMDZsOC43MTItMjguNDUxSDE1MS42Mw0KCQkJCWw4LjcxMiwyOC40NTFjMC45ODgsMy4yMjksMy45NTgsNS4zMDYsNy4xNjgsNS4zMDZjMC43MjgsMCwxLjQ2OC0wLjEwNywyLjE5OS0wLjMzMWMzLjk2LTEuMjEzLDYuMTg4LTUuNDA3LDQuOTc1LTkuMzY3DQoJCQkJbC0xMC4zMy0zMy43MzZjLTAuMDEtMC4wMzMtMC4wMi0wLjA2Ni0wLjAzLTAuMDk5bC0xMy41MTQtNDQuMTM1aDEzLjcyM2MxMi4zOTUsMCwyMi40NzctMTAuMDgzLDIyLjQ3Ny0yMi40Nzh2LTMuNjk3DQoJCQkJQzE4Ny4wMSwyNjEuNTIxLDE3MC4zMTksMjQ0LjgzLDE0OS44MDMsMjQ0LjgzeiBNNTMuMzUzLDM0Ny4xMjJsMTEuOTE0LTM4LjkxaDY5Ljg1NWwxMS45MTQsMzguOTFINTMuMzUzeiBNMTcyLjAxLDI4NS43MzQNCgkJCQljMCw0LjEyNC0zLjM1NCw3LjQ3OC03LjQ3Nyw3LjQ3OGgtMjMuNzg4Yy0wLjAzLDAtMC4wNTksMC0wLjA4OSwwSDY1LjI2M2MtMS42MDQsMC0zLjE4Mi0wLjEwMy00LjczNi0wLjI4Mw0KCQkJCWMtMC4wMDEsMC0wLjAwMywwLTAuMDA1LDBjLTE4Ljc2NC0yLjE2OS0zMy41NTgtMTcuMDY1LTM1LjI1LTM2LjM1MkwxNS4wMywxMzkuODY3Yy0wLjItMi4yNzUsMC41NC00LjQ1NCwyLjA4Mi02LjEzNw0KCQkJCWMxLjU0MS0xLjY4MywzLjY0Ny0yLjYxLDUuOTMtMi42MWg2LjgzN2MxMC4wOTUsMCwxOC4zNzMsNy41ODMsMTkuMjU1LDE3LjY0bDcuMzk2LDg0LjI3OXYtMC4wMDENCgkJCQljMS4zNCwxNS4yNzMsMTMuOTEzLDI2Ljc5MSwyOS4yNDYsMjYuNzkxaDY0LjAyNmMxMi4yNDUsMCwyMi4yMDcsOS45NjIsMjIuMjA3LDIyLjIwN1YyODUuNzM0eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzEyLjk0OCwzNzEuMTQxYy0zLjA5NS0xMS44OTctMTMuODQxLTIwLjIwNi0yNi4xMzQtMjAuMjA2aC00LjY0MlYyMTQuNDAxaDkyLjM1NGM1LjMyLDAsMTAuMjk5LTIuMzY1LDEzLjY2MS02LjQ4OA0KCQkJCWMzLjM2Mi00LjEyNCw0LjY3Ny05LjQ3OCwzLjYwNS0xNC42OWMtMy4yMjYtMTUuNjg0LTE3LjE4OC0yNy4wNjctMzMuMTk5LTI3LjA2N0gyMDIuNjY1Yy00LjE0MywwLTcuNSwzLjM1OC03LjUsNy41DQoJCQkJczMuMzU3LDcuNSw3LjUsNy41aDE1NS45MjhjOC45MjYsMCwxNi43MDgsNi4zNDYsMTguNTA2LDE1LjA4OGMwLjIxOSwxLjA2NC0wLjI0MywxLjgyOS0wLjUzNywyLjE5MQ0KCQkJCWMtMC4yOTUsMC4zNjEtMC45NTEsMC45NjctMi4wMzYsMC45NjdIMTM3LjQ3MmMtMS4wODUsMC0xLjc0MS0wLjYwNi0yLjAzNi0wLjk2N2MtMC4yOTQtMC4zNjEtMC43NTYtMS4xMjctMC41MzctMi4xOQ0KCQkJCWMxLjc5OC04Ljc0Myw5LjU4LTE1LjA4OSwxOC41MDYtMTUuMDg5aDE0LjA4NGM0LjE0MywwLDcuNS0zLjM1OCw3LjUtNy41cy0zLjM1Ny03LjUtNy41LTcuNWgtMTQuMDg0DQoJCQkJYy0xNi4wMTIsMC0yOS45NzQsMTEuMzgzLTMzLjE5OSwyNy4wNjhjLTEuMDcxLDUuMjEyLDAuMjQzLDEwLjU2NiwzLjYwNSwxNC42ODljMy4zNjIsNC4xMjMsOC4zNDEsNi40ODgsMTMuNjYxLDYuNDg4aDkyLjM1NQ0KCQkJCXYxMzYuNTM1aC00LjY0MmMtMTIuMjkzLDAtMjMuMDM5LDguMzA5LTI2LjEzNCwyMC4yMDVsLTEuNzYxLDYuNzY3Yy0xLjEyNyw0LjMzNS0wLjIwMyw4Ljg1MiwyLjUzNiwxMi4zOTYNCgkJCQljMi43NCwzLjU0Myw2Ljg4LDUuNTc2LDExLjM1OCw1LjU3Nmg4OS42M2M0LjQ3OSwwLDguNjE4LTIuMDMyLDExLjM1OC01LjU3NmMyLjczOS0zLjU0MywzLjY2My04LjA2MSwyLjUzNi0xMi4zOTYNCgkJCQlMMzEyLjk0OCwzNzEuMTQxeiBNMjQ0LjgyNywyMTQuNDAxTDI0NC44MjcsMjE0LjQwMWgyMi4zNDZ2MTM2LjUzNWgtMjIuMzQ2VjIxNC40MDF6IE0yMTIuMDE2LDM4MC44NzlsMS41NTItNS45NjINCgkJCQljMS4zNzUtNS4yODgsNi4xNTItOC45ODEsMTEuNjE2LTguOTgxaDYxLjYyOWM1LjQ2NCwwLDEwLjI0MSwzLjY5MywxMS42MTYsOC45ODFsMS41NTIsNS45NjJIMjEyLjAxNnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==","Dining Room":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMi4wMDEgNTEyLjAwMSI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTUwNS45NDcsMTIzLjU5N2MtNC4zNTMtNC43NTItMTAuNTQ2LTcuNDc3LTE2Ljk5LTcuNDc3aC02LjgzN2MtMTcuOTI5LDAtMzIuNjMxLDEzLjQ2OC0zNC4xOTgsMzEuMzI4bC03LjM5Nyw4NC4yNzkNCgkJCQljLTAuNjU1LDcuNDY5LTYuODA0LDEzLjEwMi0xNC4zMDMsMTMuMTAyaC02NC4wMjZjLTIwLjUxNiwwLTM3LjIwNywxNi42OTEtMzcuMjA3LDM3LjIwN3YzLjY5Nw0KCQkJCWMwLDEyLjM5NSwxMC4wODMsMjIuNDc4LDIyLjQ3OCwyMi40NzhoMTMuNzIzbC0xMy41MTQsNDQuMTM1Yy0wLjAxLDAuMDMzLTAuMDIsMC4wNjYtMC4wMywwLjA5OWwtMTAuMzMsMzMuNzM2DQoJCQkJYy0xLjIxMywzLjk2MSwxLjAxNSw4LjE1NCw0Ljk3NSw5LjM2N2MwLjczMiwwLjIyNCwxLjQ3MiwwLjMzMSwyLjE5OSwwLjMzMWMzLjIwOSwwLDYuMTgtMi4wNzcsNy4xNjgtNS4zMDZsOC43MTItMjguNDUxSDQ2My4yNA0KCQkJCWw4LjcxMiwyOC40NTFjMC45ODgsMy4yMjksMy45NTgsNS4zMDYsNy4xNjgsNS4zMDZjMC43MjgsMCwxLjQ2OC0wLjEwNywyLjE5OS0wLjMzMWMzLjk2LTEuMjEzLDYuMTg4LTUuNDA3LDQuOTc1LTkuMzY3DQoJCQkJbC0yNC41MTctODAuMDY2YzQuMzA1LTEuMjE5LDguNDYyLTIuOTUzLDEyLjM2Mi01LjE4OGMzLjU5My0yLjA2LDQuODM2LTYuNjQzLDIuNzc2LTEwLjIzNg0KCQkJCWMtMi4wNi0zLjU5My02LjY0NC00LjgzNi0xMC4yMzctMi43NzZjLTYuMDQ0LDMuNDY1LTEyLjkzOSw1LjI5Ny0xOS45NCw1LjI5N2gtNzUuNDAyYy0wLjAyNSwwLTAuMDUsMC0wLjA3NCwwaC0yMy43OTMNCgkJCQljLTQuMTIzLDAtNy40NzgtMy4zNTQtNy40NzgtNy40Nzh2LTMuNjk3YzAtMTIuMjQ1LDkuOTYyLTIyLjIwNywyMi4yMDctMjIuMjA3aDY0LjAyNmMxNS4zMzMsMCwyNy45MDYtMTEuNTE4LDI5LjI0Ni0yNi43OTENCgkJCQlsNy4zOTYtODQuMjhjMC44ODItMTAuMDU2LDkuMTYtMTcuNjQsMTkuMjU1LTE3LjY0aDYuODM3YzIuMjgyLDAsNC4zODksMC45MjcsNS45MywyLjYxYzEuNTQyLDEuNjgzLDIuMjgyLDMuODYyLDIuMDgyLDYuMTM2DQoJCQkJbC0xMC4yNDIsMTE2LjcxMWMtMC4yNTIsMi44NzgtMC44MTMsNS43MjYtMS42NjYsOC40NjRjLTEuMjMyLDMuOTU1LDAuOTc2LDguMTYsNC45MzEsOS4zOTFjMy45NiwxLjIzMiw4LjE1OS0wLjk3Nyw5LjM5Mi00LjkzDQoJCQkJYzEuMTcxLTMuNzYyLDEuOTQtNy42NjksMi4yODctMTEuNjE0bDEwLjI0Mi0xMTYuNzExQzUxMi40NzQsMTM0Ljc1Nyw1MTAuMywxMjguMzQ5LDUwNS45NDcsMTIzLjU5N3ogTTM3Ni44NzUsMzA4LjIxMmg2OS44NTUNCgkJCQlsMTEuOTE0LDM4LjkxaC05My42ODRMMzc2Ljg3NSwzMDguMjEyeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTQ5LjgwMywyNDQuODNIODUuNzc3Yy03LjQ5OSwwLTEzLjY0Ny01LjYzMi0xNC4zMDMtMTMuMTAybC03LjM5Ni04NC4yNzljLTEuNTY3LTE3Ljg2LTE2LjI2OS0zMS4zMjgtMzQuMTk4LTMxLjMyOA0KCQkJCWgtNi44MzdjLTYuNDQ0LDAtMTIuNjM3LDIuNzI1LTE2Ljk5LDcuNDc3Yy00LjM1Myw0Ljc1Mi02LjUyNywxMS4xNi01Ljk2NSwxNy41ODFsMTAuMjQyLDExNi43MTENCgkJCQljMS4yMDksMTMuNzczLDcuNDg5LDI2LjUwMSwxNy42ODQsMzUuODQxYzYuNDA1LDUuODY4LDE0LjAxLDEwLjA3NywyMi4yMDYsMTIuMzk3bC0yNC41MTQsODAuMDU1DQoJCQkJYy0xLjIxMywzLjk2MSwxLjAxNSw4LjE1NCw0Ljk3NSw5LjM2N2MwLjczMiwwLjIyNCwxLjQ3MiwwLjMzMSwyLjE5OSwwLjMzMWMzLjIwOSwwLDYuMTgtMi4wNzcsNy4xNjgtNS4zMDZsOC43MTItMjguNDUxSDE1MS42Mw0KCQkJCWw4LjcxMiwyOC40NTFjMC45ODgsMy4yMjksMy45NTgsNS4zMDYsNy4xNjgsNS4zMDZjMC43MjgsMCwxLjQ2OC0wLjEwNywyLjE5OS0wLjMzMWMzLjk2LTEuMjEzLDYuMTg4LTUuNDA3LDQuOTc1LTkuMzY3DQoJCQkJbC0xMC4zMy0zMy43MzZjLTAuMDEtMC4wMzMtMC4wMi0wLjA2Ni0wLjAzLTAuMDk5bC0xMy41MTQtNDQuMTM1aDEzLjcyM2MxMi4zOTUsMCwyMi40NzctMTAuMDgzLDIyLjQ3Ny0yMi40Nzh2LTMuNjk3DQoJCQkJQzE4Ny4wMSwyNjEuNTIxLDE3MC4zMTksMjQ0LjgzLDE0OS44MDMsMjQ0LjgzeiBNNTMuMzUzLDM0Ny4xMjJsMTEuOTE0LTM4LjkxaDY5Ljg1NWwxMS45MTQsMzguOTFINTMuMzUzeiBNMTcyLjAxLDI4NS43MzQNCgkJCQljMCw0LjEyNC0zLjM1NCw3LjQ3OC03LjQ3Nyw3LjQ3OGgtMjMuNzg4Yy0wLjAzLDAtMC4wNTksMC0wLjA4OSwwSDY1LjI2M2MtMS42MDQsMC0zLjE4Mi0wLjEwMy00LjczNi0wLjI4Mw0KCQkJCWMtMC4wMDEsMC0wLjAwMywwLTAuMDA1LDBjLTE4Ljc2NC0yLjE2OS0zMy41NTgtMTcuMDY1LTM1LjI1LTM2LjM1MkwxNS4wMywxMzkuODY3Yy0wLjItMi4yNzUsMC41NC00LjQ1NCwyLjA4Mi02LjEzNw0KCQkJCWMxLjU0MS0xLjY4MywzLjY0Ny0yLjYxLDUuOTMtMi42MWg2LjgzN2MxMC4wOTUsMCwxOC4zNzMsNy41ODMsMTkuMjU1LDE3LjY0bDcuMzk2LDg0LjI3OXYtMC4wMDENCgkJCQljMS4zNCwxNS4yNzMsMTMuOTEzLDI2Ljc5MSwyOS4yNDYsMjYuNzkxaDY0LjAyNmMxMi4yNDUsMCwyMi4yMDcsOS45NjIsMjIuMjA3LDIyLjIwN1YyODUuNzM0eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzEyLjk0OCwzNzEuMTQxYy0zLjA5NS0xMS44OTctMTMuODQxLTIwLjIwNi0yNi4xMzQtMjAuMjA2aC00LjY0MlYyMTQuNDAxaDkyLjM1NGM1LjMyLDAsMTAuMjk5LTIuMzY1LDEzLjY2MS02LjQ4OA0KCQkJCWMzLjM2Mi00LjEyNCw0LjY3Ny05LjQ3OCwzLjYwNS0xNC42OWMtMy4yMjYtMTUuNjg0LTE3LjE4OC0yNy4wNjctMzMuMTk5LTI3LjA2N0gyMDIuNjY1Yy00LjE0MywwLTcuNSwzLjM1OC03LjUsNy41DQoJCQkJczMuMzU3LDcuNSw3LjUsNy41aDE1NS45MjhjOC45MjYsMCwxNi43MDgsNi4zNDYsMTguNTA2LDE1LjA4OGMwLjIxOSwxLjA2NC0wLjI0MywxLjgyOS0wLjUzNywyLjE5MQ0KCQkJCWMtMC4yOTUsMC4zNjEtMC45NTEsMC45NjctMi4wMzYsMC45NjdIMTM3LjQ3MmMtMS4wODUsMC0xLjc0MS0wLjYwNi0yLjAzNi0wLjk2N2MtMC4yOTQtMC4zNjEtMC43NTYtMS4xMjctMC41MzctMi4xOQ0KCQkJCWMxLjc5OC04Ljc0Myw5LjU4LTE1LjA4OSwxOC41MDYtMTUuMDg5aDE0LjA4NGM0LjE0MywwLDcuNS0zLjM1OCw3LjUtNy41cy0zLjM1Ny03LjUtNy41LTcuNWgtMTQuMDg0DQoJCQkJYy0xNi4wMTIsMC0yOS45NzQsMTEuMzgzLTMzLjE5OSwyNy4wNjhjLTEuMDcxLDUuMjEyLDAuMjQzLDEwLjU2NiwzLjYwNSwxNC42ODljMy4zNjIsNC4xMjMsOC4zNDEsNi40ODgsMTMuNjYxLDYuNDg4aDkyLjM1NQ0KCQkJCXYxMzYuNTM1aC00LjY0MmMtMTIuMjkzLDAtMjMuMDM5LDguMzA5LTI2LjEzNCwyMC4yMDVsLTEuNzYxLDYuNzY3Yy0xLjEyNyw0LjMzNS0wLjIwMyw4Ljg1MiwyLjUzNiwxMi4zOTYNCgkJCQljMi43NCwzLjU0Myw2Ljg4LDUuNTc2LDExLjM1OCw1LjU3Nmg4OS42M2M0LjQ3OSwwLDguNjE4LTIuMDMyLDExLjM1OC01LjU3NmMyLjczOS0zLjU0MywzLjY2My04LjA2MSwyLjUzNi0xMi4zOTYNCgkJCQlMMzEyLjk0OCwzNzEuMTQxeiBNMjQ0LjgyNywyMTQuNDAxTDI0NC44MjcsMjE0LjQwMWgyMi4zNDZ2MTM2LjUzNWgtMjIuMzQ2VjIxNC40MDF6IE0yMTIuMDE2LDM4MC44NzlsMS41NTItNS45NjINCgkJCQljMS4zNzUtNS4yODgsNi4xNTItOC45ODEsMTEuNjE2LTguOTgxaDYxLjYyOWM1LjQ2NCwwLDEwLjI0MSwzLjY5MywxMS42MTYsOC45ODFsMS41NTIsNS45NjJIMjEyLjAxNnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",Dining:zNe,"Dressing Room":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTQ5Ny4wMDQgMjc2LjE2OWMwLTQuMTM5IDMuMzc0LTcuNTEyIDcuNTEyLTcuNTEyczcuNDgzIDMuMzczIDcuNDgzIDcuNTEydjEzNy4zNCAzOS45OTdjMCA0LjEzOS0zLjM0NSA3LjQ4My03LjQ4MyA3LjQ4M2gtNDk3LjAwNGMtNC4xMzkgMC03LjUxMi0zLjM0NS03LjUxMi03LjQ4MyAwLTEyNC43NTQgMC0yNDkuNTM2IDAtMzc0LjI5MSAwLTcuNzY3IDMuMTc1LTE0LjgyNSA4LjI3Ny0xOS45MjggNS4xMDMtNS4xMDMgMTIuMTYxLTguMjc3IDE5LjkyOC04LjI3N2gxMjQuMjQ0YzcuOTA5IDAgMTUuMzY0IDMuMzE2IDIwLjcyMiA5LjA5OSA1LjM1Ny01Ljc4MyAxMi44MTItOS4wOTkgMjAuNzIyLTkuMDk5aDEyNC4yNDNjNy44ODEgMCAxNS4zNjQgMy4zMTYgMjAuNjkzIDkuMDk5IDUuMzU4LTUuNzgzIDEyLjgxMy05LjA5OSAyMC43MjItOS4wOTloMTI0LjI0NGM3Ljc2NyAwIDE0LjgyNiAzLjE3NSAxOS45MjggOC4yNzcgNS4xMDIgNS4xMDMgOC4yNzcgMTIuMTYxIDguMjc3IDE5LjkyOHYyNS42MjUgMTM3LjM0YzAgNC4xMzktMy4zNDUgNy41MTItNy40ODMgNy41MTItNC4xMzkgMC03LjUxMi0zLjM3My03LjUxMi03LjUxMnYtMTI5Ljg1NWgtNjcuODM1djEyLjkyNmw0Ni44MyAyMy44MzljNC4xOTUgMi4xMjYgNy4xMTUgNS43NTUgOC40NDcgOS44OTQgMS4zNiA0LjEzOSAxLjEzNCA4Ljc4Ny0uOTkyIDEyLjk1NC0xLjQ0NiAyLjgzNS0zLjY1NyA1LjE1OS02LjI5MyA2Ljc3NS0yLjY2NCAxLjY0NC01LjcyNiAyLjUyMy04Ljg3MiAyLjUyM2gtMy4zNDV2OTUuNjEzYzAgNC4xMzktMy4zNDUgNy40ODQtNy40ODQgNy40ODRoLTcxLjE1Yy00LjEzOSAwLTcuNDgzLTMuMzQ1LTcuNDgzLTcuNDg0di0zNC41NTRjMC00LjE2NyAzLjM0NS03LjUxMiA3LjQ4My03LjUxMiA0LjEzOSAwIDcuNTEyIDMuMzQ1IDcuNTEyIDcuNTEydjI3LjA0M2g1Ni4xMjd2LTg4LjEwMmgtNTYuMTI3djI3LjA3MWMwIDQuMTM5LTMuMzczIDcuNTEyLTcuNTEyIDcuNTEycy03LjQ4My0zLjM3My03LjQ4My03LjUxMnYtMjcuMDcxaC0zLjM0NWMtNC43MDYgMC04Ljk1Ny0xLjg5OS0xMi4wMTktNC45ODktMy4wOS0zLjA2MS00Ljk4OS03LjMxMy00Ljk4OS0xMi4wMTkgMC0zLjM0NS45OTItNi41MiAyLjY5My05LjE1NiAxLjcyOS0yLjY2NCA0LjEzOS00LjgxOSA2Ljk3NC02LjE4bDQ2LjAzNS0yMy40NDN2LTEzLjEyNGgtNjcuODM0djI5My43MDFoMTUwLjY2M3YtMTI5Ljg1N3ptLTczLjg0My0xMzcuMTk5Yy0uODIyLS41MS0xLjY3Mi0uNTEtMi40OTUgMGwtNDUuNzIzIDIzLjMwMWMtLjkwNy4zNC0xLjQ3NC45MzYtMS40NzQgMS45NTYgMCAxLjEwNS45MDcgMi4wMTMgMi4wMTMgMi4wMTNoOTIuODA3Yy43OTMgMCAxLjQ0Ni0uMzk3IDEuNzg2LTEuMTA1LjUxLS45OTIuMTQyLTIuMTgzLS44NzgtMi42OTNsLTE1LjMzNi03LjgyM2MtOS4wNDMtNC41OTMtMTguMDU3LTkuMTU4LTMwLjctMTUuNjQ5em0tMTY1LjgtLjA4NWMtLjcwOS0uNDI1LTEuNDc0LS40MjUtMi4yNCAwbC00NS44NjUgMjMuMzg2Yy0uODc5LjM0LTEuNDQ2LjkzNi0xLjQ0NiAxLjk1NiAwIDEuMTA1LjkwNyAyLjAxMyAyLjAxMyAyLjAxM2g5Mi44MDdjLjc5NCAwIDEuNDQ2LS4zOTcgMS43ODYtMS4xMDUuNTEtLjk5Mi4xNDItMi4xODMtLjg3OS0yLjY5My0xNS4zOTItNy44MjQtMzAuODEyLTE1LjY0OC00Ni4xNzYtMjMuNTU3em0tMjExLjY2Ni0yNi41NmMtNC4xMzkgMC03LjUxMi0zLjM0NS03LjUxMi03LjQ4NHMzLjM3My03LjUxMiA3LjUxMi03LjUxMmg4OS4yOTJjNC4xMzggMCA3LjUxMiAzLjM3NCA3LjUxMiA3LjUxMiAwIDQuMTM5LTMuMzczIDcuNDg0LTcuNTEyIDcuNDg0em0wIDEwMS45MzRjLTQuMTM5IDAtNy41MTItMy4zNzMtNy41MTItNy41MTJzMy4zNzMtNy40ODMgNy41MTItNy40ODNoODkuMjkyYzQuMTM4IDAgNy41MTIgMy4zNDUgNy41MTIgNy40ODMgMCA0LjEzOS0zLjM3MyA3LjUxMi03LjUxMiA3LjUxMnptMC0zMy45ODhjLTQuMTM5IDAtNy41MTItMy4zNDUtNy41MTItNy40ODNzMy4zNzMtNy41MTIgNy41MTItNy41MTJoODkuMjkyYzQuMTM4IDAgNy41MTIgMy4zNzMgNy41MTIgNy41MTJzLTMuMzczIDcuNDgzLTcuNTEyIDcuNDgzem0wLTMzLjk1OWMtNC4xMzkgMC03LjUxMi0zLjM3My03LjUxMi03LjUxMnMzLjM3My03LjQ4MyA3LjUxMi03LjQ4M2g4OS4yOTJjNC4xMzggMCA3LjUxMiAzLjM0NSA3LjUxMiA3LjQ4MyAwIDQuMTM5LTMuMzczIDcuNTEyLTcuNTEyIDcuNTEyem0yMDIuODIyLTIwLjg2M3YtMTMuMTI0aC02Ny44MzR2MTI5Ljg1N2MwIDQuMTM5LTMuMzczIDcuNTEyLTcuNTEyIDcuNTEycy03LjUxMi0zLjM3My03LjUxMi03LjUxMnYtMTYyLjk2N2MwLTMuNjI4LTEuNDc0LTYuOTE3LTMuODgzLTkuMzI2LTIuMzgxLTIuMzgxLTUuNjk4LTMuODg0LTkuMzI2LTMuODg0aC0xMjQuMjQ0Yy0zLjYyOCAwLTYuOTE3IDEuNTAyLTkuMzI3IDMuODg0LTIuMzgxIDIuNDA5LTMuODgzIDUuNjk3LTMuODgzIDkuMzI2djE5Mi4zNjFoMTUuMzA4YzYuMDk0IDAgMTEuNTk0IDIuNDY2IDE1LjU5IDYuNDY0IDMuOTk3IDMuOTk3IDYuNDkyIDkuNTI1IDYuNDkyIDE1LjU5djIzLjMwMWMwIDYuMDY3LTIuNDk1IDExLjU5NC02LjQ5MiAxNS41OTFzLTkuNDk2IDYuNDYzLTE1LjU5IDYuNDYzaC0xNS4zMDh2MTA3LjAwOWgxNTAuNjYzdi0xNjkuODI1YzAtNC4xMzkgMy4zNzQtNy41MTIgNy41MTItNy41MTJzNy41MTIgMy4zNzMgNy41MTIgNy41MTJ2MTI5Ljg1NmgxNTAuNjYzdi0yOTMuN2gtNjcuODM0djEyLjkyNmw0Ni42MyAyMy43MjZjNC4xNjcgMi4xMjYgNy4yIDUuNTI4IDguNjQ2IDEwLjAwNyAyLjQ2NiA3LjU2OC0uNTM5IDE1LjU5LTcuMjg1IDE5LjcyOS0yLjY2NCAxLjY0NC01Ljc1NCAyLjUyMy04Ljg3MiAyLjUyM2gtOTIuODA3Yy00LjcwNiAwLTguOTU4LTEuODk5LTEyLjA0Ny00Ljk4OS0zLjA2MS0zLjA2MS00Ljk2LTcuMzEzLTQuOTYtMTIuMDE5IDAtMy4zNDUuOTkyLTYuNTIgMi42OTMtOS4xNTYgMS43MDEtMi42NjQgNC4xMS00LjgxOSA2Ljk3My02LjE4em0tMjMzLjUyMSAxNzIuMzJoNi4wOTRjNC4xMzkgMCA3LjUxMiAzLjM3MyA3LjUxMiA3LjUxMnMtMy4zNzMgNy41MTItNy41MTIgNy41MTJoLTYuMDk0djExLjE5OGgxNS4zMDhjMS45NTYgMCAzLjcxMy0uNzk0IDQuOTg5LTIuMDY5IDEuMjc2LTEuMzA1IDIuMDk4LTMuMDYxIDIuMDk4LTQuOTl2LTIzLjMwMmMwLTEuOTI4LS44MjItMy42ODUtMi4wOTgtNC45ODktMS4yNzUtMS4yNzYtMy4wMzMtMi4wNjktNC45ODktMi4wNjloLTE1LjMwOHptMzMxLjM0NS0yMTguNTU0djE4LjExM2gxNTAuNjYzdi0xOC4xMTNjMC0zLjYyOC0xLjQ3NC02LjkxNy0zLjg4My05LjMyNi0yLjQwOS0yLjM4MS01LjY5OC0zLjg4NC05LjMyNy0zLjg4NGgtMTI0LjI0M2MtMy42MjggMC02LjkxNyAxLjUwMi05LjMyNiAzLjg4NC0yLjQxIDIuNDEtMy44ODQgNS42OTgtMy44ODQgOS4zMjZ6bS0xNjUuNjU4IDE4LjExNGgxNTAuNjYzdi0xOC4xMTRjMC0zLjYyOC0xLjUwMi02LjkxNy0zLjg4My05LjMyNi0yLjQxLTIuMzgxLTUuNjk4LTMuODg0LTkuMzI3LTMuODg0aC0xMjQuMjQzYy0zLjYyOSAwLTYuOTQ1IDEuNTAyLTkuMzI3IDMuODg0LTIuNDEgMi40MDktMy44ODMgNS42OTctMy44ODMgOS4zMjZ6bTMxNi4zMjEgMzIzLjY5MmgtMzE2LjMyMXYyNC45NzNoMzE2LjMyMnYtMjQuOTczeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg==",Driveway:INe,Entrance:hNe,"Equipment Room":"PHN2ZyBoZWlnaHQ9IjUxMnB0IiB2aWV3Qm94PSIwIC00IDUxMiA1MTIiIHdpZHRoPSI1MTJwdCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCiAgICA8ZyBmaWxsPSJjdXJyZW50Q29sb3IiPg0KICAgICAgICA8cGF0aCBkPSJtMzAzLjA5Mzc1IDE3NC4yNWMzLjM5NDUzMSAyLjM3ODkwNiA4LjA3MDMxMiAxLjU1MDc4MSAxMC40NDUzMTItMS44Mzk4NDRsMTUuOTUzMTI2LTIyLjc4OTA2MmMyLjM3ODkwNi0zLjM5NDUzMiAxLjU1NDY4Ny04LjA3MDMxMy0xLjgzOTg0NC0xMC40NDUzMTMtMy4zOTQ1MzItMi4zNzUtOC4wNzAzMTMtMS41NTA3ODEtMTAuNDQ1MzEzIDEuODQzNzVsLTE1Ljk1NzAzMSAyMi43ODUxNTdjLTIuMzc1IDMuMzk0NTMxLTEuNTUwNzgxIDguMDcwMzEyIDEuODQzNzUgMTAuNDQ1MzEyem0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTM0MS42NzE4NzUgMTU1Ljk4NDM3NS01LjQxNzk2OSAyNy4yODUxNTZjLS45MTc5NjggNC42NDA2MjUgMi42MzI4MTMgOC45NjA5MzggNy4zNjcxODggOC45NjA5MzggMy41MDc4MTIgMCA2LjY0MDYyNS0yLjQ3MjY1NyA3LjM0NzY1Ni02LjAzOTA2M2w1LjQxNDA2Mi0yNy4yODkwNjJjLjgwODU5NC00LjA2MjUtMS44MzIwMzEtOC4wMTE3MTktNS44OTQ1MzEtOC44MTY0MDYtNC4wNjY0MDYtLjgwNDY4OC04LjAxMTcxOSAxLjgzMjAzMS04LjgxNjQwNiA1Ljg5ODQzN3ptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0zMDkuNTg5ODQ0IDEyMS40NDkyMTljLTIuMTQ0NTMyLTMuNTQyOTY5LTYuNzU3ODEzLTQuNjcxODc1LTEwLjMwMDc4Mi0yLjUyNzM0NGwtMjMuNzg5MDYyIDE0LjQyMTg3NWMtMy41NDI5NjkgMi4xNDg0MzgtNC42NzE4NzUgNi43NjE3MTktMi41MjczNDQgMTAuMzA0Njg4IDIuMTUyMzQ0IDMuNTQyOTY4IDYuNzY1NjI1IDQuNjY3OTY4IDEwLjMwNDY4OCAyLjUyMzQzN2wyMy43ODkwNjItMTQuNDE3OTY5YzMuNTQyOTY5LTIuMTQ4NDM3IDQuNjcxODc1LTYuNzYxNzE4IDIuNTIzNDM4LTEwLjMwNDY4N3ptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im04My42NTIzNDQgMTUyLjE3OTY4OGMyLjc1NzgxMiAxLjM1OTM3NCA2LjExMzI4MSAxLjQwNjI1IDguOTY4NzUgMCA3LTMuNDUzMTI2IDI5LjgzNTkzNy0xNi41MDc4MTMgMjkuODM1OTM3LTM5LjQ2NDg0NCAwLTE4LjIwMzEyNS0yMS4yMTQ4NDMtMjcuMDY2NDA2LTM0LjMxMjUtMTYuMDc0MjE5LTUuMDYyNS00LjI2MTcxOS0xMS45NDE0MDYtNS44OTA2MjUtMTguNzUzOTA2LTQuMDg5ODQ0LTkuMzE2NDA2IDIuNDU3MDMxLTE1LjU3MDMxMyAxMC41NjI1LTE1LjU3MDMxMyAyMC4xNjQwNjMgMCAyMy4wMTU2MjUgMjIuODQzNzUgMzYuMDMxMjUgMjkuODMyMDMyIDM5LjQ2NDg0NHptLTMuNzc3MzQ0LTQyLjM2NzE4OGMxLjM5ODQzOCAyLjQ2ODc1IDQuNDY4NzUgNC42MjUgOC4wMjM0MzggNC43MTA5MzggMy41ODIwMzEuMTEzMjgxIDYuOTcyNjU2LTIuMDQ2ODc2IDguNDYwOTM3LTQuNjUyMzQ0IDMuMDU0Njg3LTUuMzU1NDY5IDExLjA5NzY1Ni0zLjE0NDUzMiAxMS4wOTc2NTYgMi44NDc2NTYgMCAxMi42OTE0MDYtMTMuMzk0NTMxIDIxLjU2NjQwNi0xOS4zMjQyMTkgMjQuODc1LTUuOTI5Njg3LTMuMjkyOTY5LTE5LjMxMjUtMTIuMTQ0NTMxLTE5LjMxMjUtMjQuODc1IDAtNi4wNDI5NjkgOC4wODU5MzgtOC4xMzI4MTIgMTEuMDU0Njg4LTIuOTA2MjV6bTAgMCIvPg0KICAgICAgICA8cGF0aCBkPSJtMTQxLjE0MDYyNSAxMDMuNjE3MTg4aDI5LjYzNjcxOWM0LjE0NDUzMSAwIDcuNS0zLjM1NTQ2OSA3LjUtNy41IDAtNC4xNDA2MjYtMy4zNTU0NjktNy41LTcuNS03LjVoLTI5LjYzNjcxOWMtNC4xNDQ1MzEgMC03LjUgMy4zNTkzNzQtNy41IDcuNSAwIDQuMTQ0NTMxIDMuMzU1NDY5IDcuNSA3LjUgNy41em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTE0MS4xNDA2MjUgMTMwLjAyNzM0NGgyOS42MzY3MTljNC4xNDQ1MzEgMCA3LjUtMy4zNTU0NjkgNy41LTcuNSAwLTQuMTQ0NTMyLTMuMzU1NDY5LTcuNS03LjUtNy41aC0yOS42MzY3MTljLTQuMTQ0NTMxIDAtNy41IDMuMzU1NDY4LTcuNSA3LjUgMCA0LjE0MDYyNSAzLjM1NTQ2OSA3LjUgNy41IDcuNXptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0xNDEuMTQwNjI1IDE1Ni40Mzc1aDI5LjYzNjcxOWM0LjE0NDUzMSAwIDcuNS0zLjM1NTQ2OSA3LjUtNy41cy0zLjM1NTQ2OS03LjUtNy41LTcuNWgtMjkuNjM2NzE5Yy00LjE0NDUzMSAwLTcuNSAzLjM1NTQ2OS03LjUgNy41czMuMzU1NDY5IDcuNSA3LjUgNy41em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ5NS43Njk1MzEgMTUuMDA3ODEyYzQuMTQ0NTMxIDAgNy41LTMuMzU1NDY4IDcuNS03LjUgMC00LjE0NDUzMS0zLjM1NTQ2OS03LjQ5OTk5OTUtNy41LTcuNDk5OTk5NWgtNzMuNzEwOTM3Yy0uMTE3MTg4IDAtLjIzMDQ2OS4wMTE3MTg3LS4zNDc2NTYuMDE1NjI1LTIuNDk2MDk0LS4xMjg5MDY1LTUgLjk4NDM3NDUtNi41MzkwNjMgMy4xODM1OTM1bC0yNS44OTA2MjUgMzYuOTcyNjU3LTMyLjgzOTg0NC0yMi45OTYwOTRjLTE3LjM3MTA5NC0xMi4xNjQwNjMtMzguOTAyMzQ0LTE2LjI4OTA2My01OS41OTM3NS0xMS41MzkwNjNsLTIuNTk3NjU2LTEuODIwMzEyYy05LjU4OTg0NC02LjcxMDkzOC0yMi44MTY0MDYtNC4zNDc2NTctMjkuNSA1LjE5OTIxOWwtNS45Njg3NSA4LjUyMzQzN2MtNi42OTUzMTIgOS41NjI1LTQuMzYzMjgxIDIyLjgwMDc4MSA1LjIwMzEyNSAyOS40OTYwOTRsMi4wNDY4NzUgMS40MzM1OTNjLTYuODU5Mzc1IDMwLjYxNzE4OCAyNi44NjMyODEgNTQuMDgyMDMyIDUzLjE3OTY4OCAzNy4yMzgyODJsNC4xOTE0MDYgMi45MzM1OTRjLTYuODUxNTYzIDMwLjU3MDMxMiAyNi44MDQ2ODcgNTQuMTE3MTg3IDUzLjE3NTc4MSAzNy4yMzgyODFsNC4xOTUzMTMgMi45MzM1OTNjLTYuODU5Mzc2IDMwLjYxNzE4OCAyNi44NjMyODEgNTQuMDc4MTI2IDUzLjE3NTc4MSAzNy4yMzQzNzZsMi4wNTQ2ODcgMS40NDE0MDZjOS41NjY0MDYgNi42OTUzMTIgMjIuODAwNzgyIDQuMzYzMjgxIDI5LjQ5NjA5NC01LjIwMzEyNWw1Ljk2ODc1LTguNTIzNDM4YzYuNjk1MzEyLTkuNTYyNSA0LjM2MzI4MS0yMi44MDA3ODEtNS4xOTkyMTktMjkuNDk2MDkzbC0zLjI3MzQzNy0yLjI5Mjk2OWMtMi42MTMyODItMjEuMDY2NDA3LTEzLjg1NTQ2OS0zOS44ODY3MTktMzEuMjI2NTYzLTUyLjA1NDY4OGwtMzAuMTk5MjE5LTIxLjE0MDYyNSAyMy42NTIzNDQtMzMuNzc3MzQ0em0tMjE1LjQ1NzAzMSA0My40NzI2NTcgMjQuNjIxMDk0IDE3LjI0MjE4N2MtMTEuNzk2ODc1IDIuNzkyOTY5LTIzLjIyMjY1Ni01LjIzNDM3NS0yNC42MjEwOTQtMTcuMjQyMTg3em01Ny4zNjcxODggNDAuMTY3OTY5IDI0LjYyNSAxNy4yNDIxODdjLTExLjc2OTUzMiAyLjc5Njg3NS0yMy4yMjI2NTctNS4yMDcwMzEtMjQuNjI1LTE3LjI0MjE4N3ptNTcuMzcxMDkzIDQwLjE3MTg3NGMxNC45MTc5NjkgMTAuNDQ1MzEzIDkuNzc3MzQ0IDYuODQzNzUgMjQuNjI1IDE3LjI0MjE4OC0xMS43NzM0MzcgMi43OTY4NzUtMjMuMjIyNjU2LTUuMjE0ODQ0LTI0LjYyNS0xNy4yNDIxODh6bTY0LjEyODkwNyA2LjM0Mzc1LTUuOTY4NzUgOC41MjM0MzhjLTEuOTUzMTI2IDIuNzg5MDYyLTUuODEyNSAzLjQ3MjY1Ni04LjYwNTQ2OSAxLjUxOTUzMS0yLjQxMDE1Ny0xLjY4NzUtMTY5Ljg1OTM3NS0xMTguOTQxNDA2LTE3Mi4wMTk1MzEtMTIwLjQ0OTIxOS0yLjc2OTUzMi0xLjk0MTQwNi0zLjQ1NzAzMi01LjgzMjAzMS0xLjUxNTYyNi04LjYwNTQ2OGw1Ljk2ODc1LTguNTIzNDM4YzEuOTQ5MjE5LTIuNzgxMjUgNS44NDM3NS0zLjQ0OTIxOCA4LjYwNTQ2OS0xLjUxNTYyNWwxNzIuMDE5NTMxIDEyMC40NDUzMTNjMi43NzM0MzggMS45NDE0MDYgMy40NTcwMzIgNS44MzU5MzcgMS41MTU2MjYgOC42MDU0Njh6bS0xNC45MDIzNDQtMzYuMjg5MDYyYy03Ljg5NDUzMi01LjUzMTI1LTEyNS4wNDY4NzUtODcuNTU4NTk0LTEyOC43MTA5MzgtOTAuMTI1IDExLjQ3MjY1Ni4zNTE1NjIgMjIuNjcxODc1IDQgMzIuMjczNDM4IDEwLjcyMjY1Nmw3NS4zMjQyMTggNTIuNzQyMTg4YzkuNTk3NjU3IDYuNzIyNjU2IDE2Ljg1OTM3NiAxNiAyMS4xMTMyODIgMjYuNjYwMTU2em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ5MC44MjAzMTIgMzEwLjUxNTYyNWgtMjE3LjMyMDMxMmMtNC4xNDQ1MzEgMC03LjUgMy4zNTkzNzUtNy41IDcuNSAwIDQuMTQ0NTMxIDMuMzU1NDY5IDcuNTAzOTA2IDcuNSA3LjUwMzkwNmgyMTcuMzIwMzEyYzMuNDA2MjUgMCA2LjE3OTY4OCAyLjc2OTUzMSA2LjE3OTY4OCA2LjE3NTc4MXYxMy42Nzk2ODhjMCAzLjQwNjI1LTIuNzczNDM4IDYuMTc5Njg4LTYuMTc5Njg4IDYuMTc5Njg4LTMuNDQ1MzEyIDAtNDYzLjYwOTM3NCAwLTQ2OS42NDA2MjQgMC0zLjQwNjI1IDAtNi4xNzk2ODgtMi43Njk1MzItNi4xNzk2ODgtNi4xNzk2ODh2LTEzLjY3OTY4OGMwLTMuNDA2MjUgMi43NzM0MzgtNi4xNzU3ODEgNi4xNzk2ODgtNi4xNzU3ODFoMjE3LjMyMDMxMmM0LjE0NDUzMSAwIDcuNS0zLjM1OTM3NSA3LjUtNy41MDM5MDYgMC00LjE0MDYyNS0zLjM1NTQ2OS03LjUtNy41LTcuNWgtODUuMzU1NDY5Yy41OTc2NTctMS45NTMxMjUuOTI1NzgxLTQuMDI3MzQ0LjkyNTc4MS02LjE3NTc4MXYtMTMuNjc5Njg4YzAtMTEuNjc5Njg3LTkuNS0yMS4xNzk2ODctMjEuMTc5Njg3LTIxLjE3OTY4N2gtMTExLjcxMDkzN2MtMTEuNjc5Njg4IDAtMjEuMTc5Njg4IDkuNS0yMS4xNzk2ODggMjEuMTc5Njg3djEzLjY3OTY4OGMwIDUuMjE0ODQ0IDEuOTAyMzQ0IDkuOTg0Mzc1IDUuMDM5MDYyIDEzLjY3OTY4Ny0zLjEzNjcxOCAzLjY5MTQwNy01LjAzOTA2MiA4LjQ2NDg0NC01LjAzOTA2MiAxMy42NzU3ODF2MTMuNjc5Njg4YzAgMTEuMzI4MTI1IDguOTQ1MzEyIDIwLjU3ODEyNSAyMC4xMzY3MTkgMjEuMTI4OTA2djYuNjA5Mzc1YzAgMTEuNjc5Njg4IDkuNTAzOTA2IDIxLjE3OTY4OCAyMS4xNzk2ODcgMjEuMTc5Njg4aDIwLjcxNDg0NHY5NS4xNDA2MjVjMCA3Ljg3ODkwNiA2LjQxMDE1NiAxNC4yODkwNjIgMTQuMjkyOTY5IDE0LjI4OTA2MmgxNC4xNTIzNDNjNy44Nzg5MDcgMCAxNC4yOTI5NjktNi40MTAxNTYgMTQuMjkyOTY5LTE0LjI4OTA2MnYtOTUuMTQwNjI1aDMwMi40NjA5Mzh2OTUuMTQwNjI1YzAgNy44Nzg5MDYgNi40MTAxNTYgMTQuMjg5MDYyIDE0LjI5Mjk2OSAxNC4yODkwNjJoMTQuMTUyMzQzYzcuODgyODEzIDAgMTQuMjkyOTY5LTYuNDEwMTU2IDE0LjI5Mjk2OS0xNC4yODkwNjJ2LTk1LjE0MDYyNWgyMC43MTA5MzhjMTEuNjc5Njg3IDAgMjEuMTc5Njg3LTkuNSAyMS4xNzk2ODctMjEuMTc5Njg4di02LjYwOTM3NWMxMS4xOTUzMTMtLjU1MDc4MSAyMC4xNDA2MjUtOS44MDA3ODEgMjAuMTQwNjI1LTIxLjEyODkwNnYtMTMuNjc5Njg4YzAtMTEuNjc1NzgxLTkuNS0yMS4xNzk2ODctMjEuMTc5Njg4LTIxLjE3OTY4N3ptLTQ3NS44MjAzMTItMTkuODU1NDY5YzAtMy40MDYyNSAyLjc3MzQzOC02LjE3OTY4NyA2LjE3OTY4OC02LjE3OTY4N2gxMTEuNzEwOTM3YzMuNDA2MjUgMCA2LjE3OTY4NyAyLjc3MzQzNyA2LjE3OTY4NyA2LjE3OTY4N3YxMy42Nzk2ODhjMCAzLjQwNjI1LTIuNzczNDM3IDYuMTc5Njg3LTYuMTc5Njg3IDYuMTc5Njg3aC0xMTEuNzEwOTM3Yy0zLjQwNjI1IDAtNi4xNzk2ODgtMi43NzM0MzctNi4xNzk2ODgtNi4xNzk2ODd6bTc0Ljc2NTYyNSAxOTguMDYyNWgtMTIuNzM0Mzc1di05NC40Mjk2ODdoMTIuNzM0Mzc1em0zNDUuMjAzMTI1IDBoLTEyLjczODI4MXYtOTQuNDI5Njg3aDEyLjczODI4MXptNDEuODkwNjI1LTExNS42MDkzNzVjMCAzLjQwNjI1LTIuNzY5NTMxIDYuMTc5Njg4LTYuMTc5Njg3IDYuMTc5Njg4LTEzLjcxNDg0NCAwLTQxNS4wMzUxNTcgMC00MjkuMzYzMjgyIDAtMy40MDYyNSAwLTYuMTc5Njg3LTIuNzczNDM4LTYuMTc5Njg3LTYuMTc5Njg4di02LjU1ODU5M2g0NDEuNzIyNjU2em0wIDAiLz4NCiAgICAgICAgPHBhdGggZD0ibTIyOC45NjA5MzggMTEyLjUyNzM0NGM0LjE0NDUzMSAwIDcuNS0zLjM1OTM3NSA3LjUtNy41di00MS4xMzY3MTljMC0xNi4zMTY0MDYtMTMuMjczNDM4LTI5LjU5Mzc1LTI5LjU4OTg0NC0yOS41OTM3NWgtMTc3LjI4MTI1Yy0xNi4zMTY0MDYgMC0yOS41ODk4NDQgMTMuMjczNDM3LTI5LjU4OTg0NCAyOS41OTM3NXYxMTcuMjc3MzQ0YzAgMTYuMzE2NDA2IDEzLjI3MzQzOCAyOS41ODk4NDMgMjkuNTg5ODQ0IDI5LjU4OTg0M2gxNzcuMjgxMjVjMTYuMzE2NDA2IDAgMjkuNTkzNzUtMTMuMjczNDM3IDI5LjU5Mzc1LTI5LjU4OTg0M3YtNDEuMTQwNjI1YzAtNC4xNDA2MjUtMy4zNTkzNzUtNy41LTcuNTAzOTA2LTcuNS00LjE0MDYyNiAwLTcuNSAzLjM1OTM3NS03LjUgNy41djQxLjE0MDYyNWMwIDguMDQyOTY5LTYuNTQ2ODc2IDE0LjU4OTg0My0xNC41ODk4NDQgMTQuNTg5ODQzaC0xNzcuMjgxMjVjLTguMDQyOTY5IDAtMTQuNTg5ODQ0LTYuNTQ2ODc0LTE0LjU4OTg0NC0xNC41ODk4NDN2LTExNy4yNzczNDRjMC04LjA0Njg3NSA2LjU0Njg3NS0xNC41OTM3NSAxNC41ODk4NDQtMTQuNTkzNzVoMTc3LjI4MTI1YzguMDQyOTY4IDAgMTQuNTg5ODQ0IDYuNTQ2ODc1IDE0LjU4OTg0NCAxNC41OTM3NXY0MS4xMzY3MTljMCA0LjE0MDYyNSAzLjM1OTM3NCA3LjUgNy41IDcuNXptMCAwIi8+DQogICAgICAgIDxwYXRoIGQ9Im0zNC43NzM0MzggNjEuNTcwMzEyYy00LjE0NDUzMiAwLTcuNSAzLjM1OTM3Ni03LjUgNy41djEwNi45MTQwNjNjMCA0LjE0NDUzMSAzLjM1NTQ2OCA3LjUgNy41IDcuNWgxNjYuOTE0MDYyYzQuMTQ0NTMxIDAgNy41LTMuMzU1NDY5IDcuNS03LjV2LTEwNi45MTQwNjNjMC00LjE0MDYyNC0zLjM1NTQ2OS03LjUtNy41LTcuNXptMTU5LjQxNDA2MiAxMDYuOTE0MDYzaC0xNTEuOTE0MDYydi05MS45MTQwNjNoMTUxLjkxNDA2MnptMCAwIi8+DQogICAgPC9nPg0KPC9zdmc+","Front Yard":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik0xMjYuNDksMzYuOTQ3Yy0zMS41NzksMC01Ny4yNywyNS42OTEtNTcuMjcsNTcuMjdjMCwzMS41NzksMjUuNjkxLDU3LjI3LDU3LjI3LDU3LjI3YzMxLjU3OCwwLDU3LjI3LTI1LjY5MSw1Ny4yNy01Ny4yNw0KCQkJQzE4My43NjEsNjIuNjM4LDE1OC4wNywzNi45NDcsMTI2LjQ5LDM2Ljk0N3ogTTEyNi40OSwxMzEuNDg3Yy0yMC41NTEsMC0zNy4yNy0xNi43MTktMzcuMjctMzcuMjcNCgkJCWMwLTIwLjU1MSwxNi43MTktMzcuMjcsMzcuMjctMzcuMjdjMjAuNTUsMCwzNy4yNywxNi43MTksMzcuMjcsMzcuMjdDMTYzLjc2MSwxMTQuNzY4LDE0Ny4wNDIsMTMxLjQ4NywxMjYuNDksMTMxLjQ4N3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTEyNi40OSwwYy01LjUyMywwLTEwLDQuNDc3LTEwLDEwdjEyLjMzOGMwLDUuNTIzLDQuNDc3LDEwLDEwLDEwczEwLTQuNDc3LDEwLTEwVjEwQzEzNi40OSw0LjQ3NywxMzIuMDE0LDAsMTI2LjQ5LDB6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0xMjYuNDksMTU2LjA5N2MtNS41MjMsMC0xMCw0LjQ3Ny0xMCwxMHYxMi4zMzhjMCw1LjUyMyw0LjQ3NywxMCwxMCwxMHMxMC00LjQ3NywxMC0xMHYtMTIuMzM4DQoJCQlDMTM2LjQ5LDE2MC41NzQsMTMyLjAxNCwxNTYuMDk3LDEyNi40OSwxNTYuMDk3eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjEwLjcwOCw4NC4yMTdIMTk4LjM3Yy01LjUyMywwLTEwLDQuNDc3LTEwLDEwczQuNDc3LDEwLDEwLDEwaDEyLjMzOGM1LjUyMywwLDEwLTQuNDc3LDEwLTEwDQoJCQlTMjE2LjIzLDg0LjIxNywyMTAuNzA4LDg0LjIxN3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTU0LjYxLDg0LjIxN0g0Mi4yNzJjLTUuNTIzLDAtMTAsNC40NzctMTAsMTBzNC40NzcsMTAsMTAsMTBoMTIuMzM5YzUuNTIzLDAsMTAtNC40NzcsOS45OTktMTANCgkJCUM2NC42MSw4OC42OTQsNjAuMTM0LDg0LjIxNyw1NC42MSw4NC4yMTd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0yMDAuOTc3LDE5LjcyOWMtMy45MDUtMy45MDUtMTAuMjM3LTMuOTA1LTE0LjE0MiwwbC05Ljg3Nyw5Ljg3N2MtMy45MDUsMy45MDYtMy45MDUsMTAuMjM4LDAsMTQuMTQzDQoJCQljMS45NTIsMS45NTMsNC41MTIsMi45MjksNy4wNzEsMi45MjljMi41NTksMCw1LjExOS0wLjk3Niw3LjA3MS0yLjkyOWw5Ljg3Ny05Ljg3N0MyMDQuODgzLDI5Ljk2NiwyMDQuODgzLDIzLjYzNCwyMDAuOTc3LDE5LjcyOQ0KCQkJeiIvPg0KICAgICAgICA8cGF0aCBkPSJNNzYuMDIzLDE0NC42ODVjLTMuOTA2LTMuOTA1LTEwLjIzOC0zLjkwNS0xNC4xNDMsMGwtOS44NzcsOS44NzdjLTMuOTA1LDMuOTA2LTMuOTA1LDEwLjIzOCwwLDE0LjE0Mw0KCQkJYzEuOTUyLDEuOTUzLDQuNTEyLDIuOTI5LDcuMDcxLDIuOTI5czUuMTE5LTAuOTc2LDcuMDcyLTIuOTI5bDkuODc3LTkuODc3Qzc5LjkyOCwxNTQuOTIyLDc5LjkyOCwxNDguNTksNzYuMDIzLDE0NC42ODV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik03Ni4wMjEsMjkuNjA2bC05Ljg3Ny05Ljg3N2MtMy45MDUtMy45MDUtMTAuMjM3LTMuOTA1LTE0LjE0MiwwYy0zLjkwNSwzLjkwNi0zLjkwNSwxMC4yMzgsMCwxNC4xNDNsOS44NzcsOS44NzcNCgkJCWMxLjk1MiwxLjk1Myw0LjUxMiwyLjkyOSw3LjA3MSwyLjkyOXM1LjExOS0wLjk3Niw3LjA3MS0yLjkyOUM3OS45MjcsMzkuODQzLDc5LjkyNywzMy41MTEsNzYuMDIxLDI5LjYwNnoiLz4NCiAgICAgICAgPHBhdGggZD0iTTQ1OS41NCw0NjguMzg5Yy0wLjEyOS0wLjY0LTAuMzItMS4yNy0wLjU3LTEuODdjLTAuMjUtMC42LTAuNTYtMS4xOC0wLjkyLTEuNzJjLTAuMzYtMC41NS0wLjc4LTEuMDYtMS4yNC0xLjUzDQoJCQljLTAuNDYtMC40Ni0wLjk3LTAuODctMS41Mi0xLjI0Yy0wLjU0LTAuMzYtMS4xMi0wLjY3LTEuNzMtMC45MmMtMC41OTktMC4yNS0xLjIyOS0wLjQ0LTEuODctMC41N2MtMS4yOS0wLjI2LTIuNjItMC4yNi0zLjkwOSwwDQoJCQljLTAuNjMxLDAuMTMtMS4yNjEsMC4zMi0xLjg3LDAuNTdjLTAuNjAxLDAuMjUtMS4xODEsMC41Ni0xLjcyMSwwLjkyYy0wLjU1LDAuMzctMS4wNiwwLjc4LTEuNTIsMS4yNA0KCQkJYy0wLjQ2LDAuNDctMC44OCwwLjk4LTEuMjUsMS41M2MtMC4zNiwwLjU0LTAuNjcsMS4xMi0wLjkyLDEuNzJjLTAuMjUsMC42LTAuNDQsMS4yMy0wLjU3LDEuODcNCgkJCWMtMC4xMywwLjY1MS0wLjE5LDEuMzAxLTAuMTksMS45NjFjMCwwLjY1LDAuMDYsMS4zMSwwLjE5LDEuOTVjMC4xMywwLjY0LDAuMzIsMS4yNywwLjU3LDEuODdjMC4yNSwwLjYsMC41NiwxLjE4LDAuOTIsMS43Mw0KCQkJYzAuMzcsMC41NCwwLjc5LDEuMDYsMS4yNSwxLjUyYzAuNDYsMC40NiwwLjk3LDAuODgsMS41MiwxLjI0YzAuNTQsMC4zNiwxLjEyLDAuNjcsMS43MjEsMC45MmMwLjYwOSwwLjI1LDEuMjM5LDAuNDQsMS44NywwLjU3DQoJCQljMC42NSwwLjEzLDEuMzEsMC4yLDEuOTYsMC4yYzAuNjUsMCwxLjMxLTAuMDcsMS45NDktMC4yYzAuNjQxLTAuMTMsMS4yNy0wLjMyLDEuODctMC41N2MwLjYxLTAuMjUsMS4xOS0wLjU2LDEuNzMtMC45Mg0KCQkJYzAuNTUtMC4zNiwxLjA2LTAuNzgsMS41Mi0xLjI0YzAuNDYtMC40NiwwLjg4LTAuOTgsMS4yNC0xLjUyYzAuMzYxLTAuNTUsMC42Ny0xLjEzLDAuOTItMS43M2MwLjI1LTAuNiwwLjQ0LTEuMjMsMC41Ny0xLjg3DQoJCQlzMC4yLTEuMywwLjItMS45NUM0NTkuNzQsNDY5LjY4OSw0NTkuNjcsNDY5LjAzOSw0NTkuNTQsNDY4LjM4OXoiLz4NCiAgICAgICAgPHBhdGggZD0iTTQwOS43MzksNDYwLjM0Nkg2Mi4xMzhjLTUuNTIzLDAtMTAsNC40NzctMTAsMTBzNC40NzcsMTAsMTAsMTBoMzQ3LjZjNS41MjMsMCwxMC00LjQ3NywxMC4wMDEtMTANCgkJCUM0MTkuNzM5LDQ2NC44MjMsNDE1LjI2MSw0NjAuMzQ2LDQwOS43MzksNDYwLjM0NnoiLz4NCiAgICAgICAgPHBhdGggZD0iTTUwMS41NjMsNDI3LjkzMWgtNi44MDljLTMuODA2LTIxLjMxMi0yMi40NzYtMzcuNTQtNDQuODY0LTM3LjU0Yy0zLjMsMC02LjU5MSwwLjM2Mi05LjgwMywxLjA2N1YyOTMuMjkNCgkJCWMzNi40ODItNC45MDIsNjQuNzA0LTM2LjIzNiw2NC43MDQtNzQuMDM3YzAtMTkuNzA5LTcuNzgxLTM4LjUzMS0yMS41MjQtNTIuNDY0YzAuMTg2LTEuODE0LDAuMjc4LTMuNjQxLDAuMjc4LTUuNDY4DQoJCQljMC0yOS40NzctMjMuOTgxLTUzLjQ1OC01My40NTgtNTMuNDU4Yy0yOS40NzcsMC01My40NTgsMjMuOTgyLTUzLjQ1OCw1My40NThjMCwxLjgyNywwLjA5MywzLjY1MywwLjI3Nyw1LjQ2Nw0KCQkJYy0xMy43NDEsMTMuOTM0LTIxLjUyMywzMi43NTYtMjEuNTIzLDUyLjQ2NWMwLDM3LjgwMiwyOC4yMjMsNjkuMTM2LDY0LjcwNCw3NC4wMzd2ODkuNjJjLTQuNjg1LTEuNjMyLTkuNzE2LTIuNTItMTQuOTUxLTIuNTINCgkJCWMtMjUuMTI5LDAtNDUuNTczLDIwLjQ0NC00NS41NzMsNDUuNTc0djEuOTY4aC04LjUwNnYtMzUuMTNoMC4wMDFjNS41MjIsMCwxMC00LjQ3NywxMC0xMHYtNDNjMC01LjUyMy00LjQ3OC0xMC0xMC0xMGgtMC4wMDENCgkJCXYtNDcuMzI5YzAtMi44NDQtMS4yMTEtNS41NTMtMy4zMy03LjQ1TDMxNi4yNywyNDYuODZjLTMuNzk3LTMuMzk5LTkuNTQzLTMuMzk5LTEzLjM0LDBsLTI0Ljc4NywyMi4xOTFsLTI0Ljc4OC0yMi4xOTENCgkJCWMtMy43OTctMy4zOTgtOS41NDMtMy4zOTgtMTMuMzQsMGwtMjQuNzg4LDIyLjE5MWwtMjQuNzg4LTIyLjE5MWMtMy43OTctMy4zOTktOS41NDMtMy4zOTktMTMuMzQsMC4wMDFsLTI0Ljc4NywyMi4xOTENCgkJCWwtMjQuNzg4LTIyLjE5MWMtMy43OTctMy4zOTgtOS41NDMtMy4zOTgtMTMuMzQsMEw4OS4zOTgsMjY5LjA1TDY0LjYxLDI0Ni44NTljLTMuNzk2LTMuMzk5LTkuNTQzLTMuMzk5LTEzLjM0LTAuMDAxDQoJCQlsLTMxLjQ1OCwyOC4xNjNjLTIuMTE5LDEuODk3LTMuMzMsNC42MDYtMy4zMyw3LjQ1MXY0Ny4zMjloLTAuMDAxYy01LjUyMywwLTEwLDQuNDc3LTEwLDEwdjQzYzAsNS41MjMsNC40NzcsMTAsMTAsMTBoMC4wMDENCgkJCXYzNS4xM2gtNi4wNDRjLTUuNTIzLDAtMTAsNC40NzctMTAsMTBWNTAyYzAsNS41MjMsNC40NzcsMTAsMTAsMTBoNDkxLjEyM2M1LjUyMiwwLDEwLTQuNDc3LDEwLTEwdi02NC4wNjkNCgkJCUM1MTEuNTYzLDQzMi40MDgsNTA3LjA4NSw0MjcuOTMxLDUwMS41NjMsNDI3LjkzMXogTTQ0OS44OSw0MTAuMzkxYzExLjI5NiwwLDIwLjkwNSw3LjM2MiwyNC4yODEsMTcuNTRoLTIzLjQ2MnYtMS45NjgNCgkJCWMwLTUuNDQxLTAuOTU5LTEwLjY2Mi0yLjcxNi0xNS41MDRDNDQ4LjYyLDQxMC40MTQsNDQ5LjI1Myw0MTAuMzkxLDQ0OS44OSw0MTAuMzkxeiBNNDIwLjA4NywxODUuNTc0djMzLjExOGwtMTAuNDA3LTEwLjQwNw0KCQkJYy0zLjkwNi0zLjkwNC0xMC4yMzYtMy45MDQtMTQuMTQzLDBjLTMuOTA1LDMuOTA1LTMuOTA1LDEwLjIzNywwLDE0LjE0M2wyMy4yNTcsMjMuMjU3YzAuNDA3LDAuNDA2LDAuODM5LDAuNzcsMS4yOTMsMS4wOTENCgkJCXYyNi4yNjVjLTI1LjQwNS00LjcxMi00NC43MDQtMjcuMDM5LTQ0LjcwNC01My43ODljMC0xNS44MTYsNi44NDUtMzAuODU0LDE4Ljc3OC00MS4yNTZjMi43NC0yLjM4OCwzLjk2OS02LjA3NSwzLjIwOS05LjYyOQ0KCQkJYy0wLjQ5Mi0yLjI5OS0wLjc0MS00LjY3LTAuNzQxLTcuMDQ3YzAtMTguNDQ5LDE1LjAwOS0zMy40NTgsMzMuNDU4LTMzLjQ1OGMxOC40NDksMCwzMy40NTgsMTUuMDA5LDMzLjQ1OCwzMy40NTgNCgkJCWMwLDIuMzc4LTAuMjQ5LDQuNzQ4LTAuNzQxLDcuMDQ1Yy0wLjc2MiwzLjU1NSwwLjQ2Nyw3LjI0MywzLjIwOCw5LjYzMmMxMS45MzUsMTAuNDAzLDE4Ljc3OSwyNS40NCwxOC43NzksNDEuMjU2DQoJCQljMCwyNi43NS0xOS4yOTksNDkuMDc2LTQ0LjcwNCw1My43ODh2LTI2LjI2NWMwLjQ1My0wLjMyMiwwLjg4Ny0wLjY4NSwxLjI5My0xLjA5MWwyMy4yNTctMjMuMjU3DQoJCQljMy45MDUtMy45MDUsMy45MDUtMTAuMjM3LDAtMTQuMTQzYy0zLjkwNi0zLjkwNC0xMC4yMzYtMy45MDQtMTQuMTQzLDBsLTEwLjQwNywxMC40MDd2LTMzLjExOGMwLTUuNTIzLTQuNDc4LTEwLTEwLTEwDQoJCQlDNDI0LjU2NCwxNzUuNTc0LDQyMC4wODcsMTgwLjA1MSw0MjAuMDg3LDE4NS41NzR6IE0zNzkuNTYzLDQyNS45NjNjMC0xNC4xMDIsMTEuNDcyLTI1LjU3NCwyNS41NzMtMjUuNTc0DQoJCQljMTQuMTAyLDAsMjUuNTczLDExLjQ3MiwyNS41NzMsMjUuNTc0djEuOTY4aC01MS4xNDZWNDI1Ljk2M3ogTTI4OC4xNDMsMjg2Ljk0MWwyMS40NTctMTkuMjFsMjEuNDU3LDE5LjIxVjMyOS44aC00Mi45MTRWMjg2Ljk0MQ0KCQkJeiBNMjI1LjIyNywyODYuOTQxbDIxLjQ1OC0xOS4yMWwyMS40NTcsMTkuMjFWMzI5LjhoLTQyLjkxNVYyODYuOTQxeiBNMTYyLjMxMywyODYuOTQxbDIxLjQ1Ny0xOS4yMWwyMS40NTgsMTkuMjFWMzI5LjhoLTQyLjkxNQ0KCQkJVjI4Ni45NDF6IE05OS4zOTgsMjg2Ljk0MWwyMS40NTctMTkuMjFsMjEuNDU4LDE5LjIxVjMyOS44SDk5LjM5OFYyODYuOTQxeiBNMzYuNDgzLDI4Ni45NDFsMjEuNDU3LTE5LjIxbDIxLjQ1NywxOS4yMVYzMjkuOA0KCQkJSDM2LjQ4M1YyODYuOTQxeiBNMjYuNDgyLDM0OS44MDFoMzE0LjU3NXYyM0gyNi40ODJWMzQ5LjgwMXogTTMzMS4wNTcsMzkyLjgwMXYzNS4xM2gtNDIuOTE0di0zNS4xM0gzMzEuMDU3eiBNMjY4LjE0MywzOTIuODAxDQoJCQl2MzUuMTNoLTQyLjkxNXYtMzUuMTNIMjY4LjE0M3ogTTIwNS4yMjcsMzkyLjgwMXYzNS4xM2gtNDIuOTE1di0zNS4xM0gyMDUuMjI3eiBNMTQyLjMxMywzOTIuODAxdjM1LjEzSDk5LjM5OHYtMzUuMTNIMTQyLjMxM3oNCgkJCSBNNzkuMzk4LDM5Mi44MDF2MzUuMTNIMzYuNDgzdi0zNS4xM0g3OS4zOTh6IE0yMC40MzgsNDkydi00NC4wNjloNDcxLjEyM1Y0OTJIMjAuNDM4eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjc4LjQ4NywxMjcuODQzYy0wLjU1NiwwLTEuMTEyLDAuMDExLTEuNjY4LDAuMDMzYy03LjU0My0xNC40Mi0yMi41MTktMjMuOTIzLTM4Ljg5NC0yMy45MjMNCgkJCWMtMjAuNTg3LDAtMzguMDQ3LDE0LjY4My00Mi43NzMsMzQuMzQ2Yy0xOS43ODMsMS45My0zNS4zMDksMTkuMDAxLTM1LjMwOSwzOS43MDdjMCwyMS45OTQsMTcuNTE3LDM5Ljg4NywzOS4wNDgsMzkuODg3aDc5LjU5Ng0KCQkJYzI0LjI4NSwwLDQ0LjA0MS0yMC4xOTgsNDQuMDQxLTQ1LjAyNUMzMjIuNTI3LDE0OC4wNDEsMzAyLjc3MSwxMjcuODQzLDI3OC40ODcsMTI3Ljg0M3ogTTI3OC40ODcsMTk3Ljg5M2gtNzkuNTk2DQoJCQljLTEwLjUwMywwLTE5LjA0OC04LjkyMS0xOS4wNDgtMTkuODg3YzAtMTAuOTY3LDguNTQ1LTE5Ljg4OCwxOS4wNDgtMTkuODg4YzEuMDU2LDAsMi4xNDgsMC4wOTksMy4yNDQsMC4yOTYNCgkJCWMyLjg5MywwLjUxNiw1Ljg3LTAuMjY3LDguMTM1LTIuMTQxYzIuMjY1LTEuODc1LDMuNTktNC42NTIsMy42MjMtNy41OTJjMC4xNTMtMTMuNjM1LDEwLjkzMy0yNC43MjgsMjQuMDMyLTI0LjcyOA0KCQkJYzEwLjYzOCwwLDE5Ljg3Nyw3LjEwOCwyMi45ODgsMTcuNjg5YzEuNTExLDUuMTM1LDYuNzk0LDguMTczLDExLjk5NCw2Ljg4NmMxLjgzOC0wLjQ1NCwzLjcxNS0wLjY4NCw1LjU4LTAuNjg0DQoJCQljMTMuMjU2LDAsMjQuMDQxLDExLjIyNiwyNC4wNDEsMjUuMDI1QzMwMi41MjcsMTg2LjY2NywyOTEuNzQzLDE5Ny44OTMsMjc4LjQ4NywxOTcuODkzeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",Gallery:wNe,Garage:CNe,Garden:ANe,"Ground Floor":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIuMDAyIDUxMi4wMDIiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIHN0cm9rZT0iIiBkPSJNNDc3LjQ0NCw0NzEuMDM0aC0zLjgzM2MtMy42NzktMTQuNDM1LTE1LjkyNi0yNS4zNTYtMzAuODU5LTI3LjI0MVYzMDguNTg3aDIuMTM4YzkuOTE3LDAsMTcuOTg1LTguMDY4LDE3Ljk4NS0xNy45ODYNCgkJCWMwLTkuOTE3LTguMDY4LTE3Ljk4NS0xNy45ODUtMTcuOTg1aC0yLjEzOFYxMjkuMzgyaDkuODE1YzcuMTk3LDAsMTMuMDUyLTUuODU1LDEzLjA1Mi0xMy4wNTJ2LTE0LjkwNA0KCQkJYzAtMC4wMzMtMC4wMDUtMC4wNjUtMC4wMDUtMC4wOThjLTAuMDAxLTAuMDk4LTAuMDA5LTAuMTk2LTAuMDE1LTAuMjk0Yy0wLjAwOS0wLjE3MS0wLjAyMS0wLjM0Mi0wLjA0Mi0wLjUxDQoJCQljLTAuMDExLTAuMDg5LTAuMDI2LTAuMTc3LTAuMDQxLTAuMjY2Yy0wLjAyOS0wLjE4My0wLjA2NS0wLjM2NC0wLjEwOC0wLjU0MmMtMC4wMS0wLjA0LTAuMDE0LTAuMDgxLTAuMDI0LTAuMTIxTDQ0Ni4xMjMsMjUuNDINCgkJCWMtMS41NzQtNi4wNi03LjA0Ny0xMC4yOTMtMTMuMzA3LTEwLjI5M2gtNDkuMTA1Yy00LjAyNSwwLTcuMjg3LDMuMjYyLTcuMjg3LDcuMjg3czMuMjYyLDcuMjg3LDcuMjg3LDcuMjg3aDQ4LjQ2OGwxNi43MzQsNjQuNDQNCgkJCUgzMzUuMzcyTDI5Mi4zNDcsMjkuN2g0NS44NjZjNC4wMjUsMCw3LjI4Ny0zLjI2Miw3LjI4Ny03LjI4N2MwLTQuMDI1LTMuMjYyLTcuMjg3LTcuMjg3LTcuMjg3aC01NS41OTZsLTAuOTI2LTEuMzg3DQoJCQlDMjc1Ljk0OCw1LjEzNywyNjYuMzQyLDAsMjU1Ljk5NywwYy0xMC4zNDUsMC0xOS45NSw1LjEzNi0yNS42OTQsMTMuNzM5bC0wLjkyNywxLjM4OEg3OS4xNzgNCgkJCWMtNi4yNjEsMC0xMS43MzMsNC4yMzItMTMuMzA3LDEwLjI5M0w0Ni42MDksOTkuNTk1Yy0wLjAxLDAuMDQtMC4wMTQsMC4wODEtMC4wMjQsMC4xMjFjLTAuMDQzLDAuMTc4LTAuMDc5LDAuMzU5LTAuMTA4LDAuNTQyDQoJCQljLTAuMDE0LDAuMDg5LTAuMDMsMC4xNzctMC4wNDEsMC4yNjZjLTAuMDIxLDAuMTY4LTAuMDMzLDAuMzM4LTAuMDQyLDAuNTFjLTAuMDA1LDAuMDk4LTAuMDE0LDAuMTk2LTAuMDE1LDAuMjk0DQoJCQljMCwwLjAzMy0wLjAwNSwwLjA2NS0wLjAwNSwwLjA5OHYxNC45MDRjMCw3LjE5Nyw1Ljg1NSwxMy4wNTIsMTMuMDUyLDEzLjA1Mmg5LjgxNXYxNDMuMjMzaC0yLjEzOA0KCQkJYy05LjkxNywwLTE3Ljk4NSw4LjA2OC0xNy45ODUsMTcuOTg1czguMDY4LDE3Ljk4NiwxNy45ODUsMTcuOTg2aDIuMTM4djQ2LjY5NmMwLDQuMDI0LDMuMjYyLDcuMjg3LDcuMjg3LDcuMjg3DQoJCQlzNy4yODctMy4yNjIsNy4yODctNy4yODd2LTQ2LjY5NmgzNDQuMzY0djEyOS4zMTFjLTAuMDU1LTAuMDMyLTAuMTEzLTAuMDYtMC4xNjktMC4wOTJjLTAuNzE0LTAuNDE1LTEuNDM5LTAuODEtMi4xNzYtMS4xODINCgkJCWMtMC4xNDQtMC4wNzMtMC4yOTEtMC4xMzktMC40MzUtMC4yMWMtMC42MTQtMC4zMDItMS4yMzUtMC41ODgtMS44NjMtMC44NTljLTAuMjEzLTAuMDkyLTAuNDI1LTAuMTgzLTAuNjM5LTAuMjcyDQoJCQljLTAuNzI3LTAuMy0xLjQ1OS0wLjU4NS0yLjIwMi0wLjg0NGMtMC4wNDQtMC4wMTUtMC4wODctMC4wMzMtMC4xMzEtMC4wNDljLTAuNzg0LTAuMjcxLTEuNTc4LTAuNTExLTIuMzc4LTAuNzM2DQoJCQljLTAuMjE5LTAuMDYyLTAuNDQtMC4xMTgtMC42Ni0wLjE3NmMtMC42NDItMC4xNjktMS4yODktMC4zMjMtMS45NC0wLjQ2MmMtMC4xODgtMC4wNC0wLjM3NS0wLjA4NS0wLjU2NC0wLjEyMw0KCQkJYy0wLjgxMi0wLjE2Mi0xLjYyOS0wLjMtMi40NTEtMC40MTRjLTAuMTc4LTAuMDI1LTAuMzU4LTAuMDQyLTAuNTM3LTAuMDY0Yy0wLjY3MS0wLjA4NC0xLjM0NS0wLjE1Mi0yLjAyMi0wLjIwNA0KCQkJYy0wLjIzNC0wLjAxOC0wLjQ2OC0wLjAzNi0wLjcwMi0wLjA1MWMtMC44NDItMC4wNTEtMS42ODUtMC4wODUtMi41MzMtMC4wODVjLTE1LjQ0NiwwLTI5LjY5OSw4LjYxLTM3LjA2MiwyMS45MTUNCgkJCWMtMC44NDYtMC4wMi0xLjY4NCwwLjAwMS0yLjUxNiwwLjA0NmMtMC4xOTUsMC4wMTEtMC4zODcsMC4wMzQtMC41ODEsMC4wNDhjLTAuNjM2LDAuMDQ3LTEuMjY4LDAuMTA3LTEuODk0LDAuMTkNCgkJCWMtMC4yMywwLjAzMS0wLjQ1OCwwLjA3MS0wLjY4NiwwLjEwN2MtMC41ODYsMC4wOTItMS4xNjgsMC4xOTctMS43NDQsMC4zMjFjLTAuMjM0LDAuMDUtMC40NjUsMC4xMDQtMC42OTcsMC4xNTkNCgkJCWMtMC41NzEsMC4xMzctMS4xMzUsMC4yODktMS42OTUsMC40NTdjLTAuMjE3LDAuMDY1LTAuNDM1LDAuMTI4LTAuNjUsMC4xOThjLTAuNTg4LDAuMTktMS4xNjcsMC40LTEuNzQsMC42MjQNCgkJCWMtMC4xNzEsMC4wNjctMC4zNDUsMC4xMjctMC41MTUsMC4xOTdjLTAuNzA1LDAuMjktMS4zOTksMC42MDItMi4wNzksMC45NDFjLTAuMDI4LDAuMDE0LTAuMDU4LDAuMDI2LTAuMDg2LDAuMDQNCgkJCWMtMC43MzMsMC4zNjktMS40NSwwLjc2Ni0yLjE1LDEuMTljLTAuMDY2LDAuMDQtMC4xMjksMC4wODYtMC4xOTUsMC4xMjdjLTAuNiwwLjM3LTEuMTg3LDAuNzU5LTEuNzYsMS4xNjkNCgkJCWMtMC4xODQsMC4xMzItMC4zNjEsMC4yNzItMC41NDIsMC40MDhjLTAuNDQ3LDAuMzM1LTAuODg4LDAuNjc3LTEuMzE2LDEuMDM2Yy0wLjIwNiwwLjE3Mi0wLjQwNywwLjM1MS0wLjYwOSwwLjUyOQ0KCQkJYy0wLjM5MSwwLjM0NS0wLjc3NCwwLjY5OC0xLjE0OCwxLjA2M2MtMC4yMDEsMC4xOTYtMC40MDEsMC4zOTQtMC41OTcsMC41OTZjLTAuMzY1LDAuMzc2LTAuNzE3LDAuNzYzLTEuMDY0LDEuMTU4DQoJCQljLTAuMTc4LDAuMjAzLTAuMzU5LDAuNDA0LTAuNTMzLDAuNjEyYy0wLjM2NywwLjQ0MS0wLjcxNywwLjg5Ny0xLjA2LDEuMzU5Yy0wLjEzMSwwLjE3Ni0wLjI2OSwwLjM0Ni0wLjM5NiwwLjUyNQ0KCQkJYy0wLjg4NSwxLjI0Ni0xLjY4OSwyLjU2LTIuMzkyLDMuOTQ0aC0zNS40NTdWMzQ2LjE4MWMwLTcuMTM1LTUuODA1LTEyLjkzOS0xMi45MzktMTIuOTM5aC03My4zNDkNCgkJCWMtNy4xMzUsMC0xMi45MzksNS44MDUtMTIuOTM5LDEyLjkzOXYxMjQuODUzaC02MC42MzljLTAuMTg4LTAuNDY5LTAuMzk5LTAuOTI1LTAuNjA1LTEuMzgzDQoJCQljLTAuMDg4LTAuMTk0LTAuMTY2LTAuMzk0LTAuMjU2LTAuNTg2Yy0wLjM1My0wLjc0OS0wLjcyOC0xLjQ4My0xLjEyOC0yLjIwMmMtMC4wNzUtMC4xMzUtMC4xNi0wLjI2My0wLjIzNi0wLjM5Nw0KCQkJYy0wLjMzMS0wLjU3Ny0wLjY3My0xLjE0Ny0xLjAzNC0xLjcwM2MtMC4xNTEtMC4yMzItMC4zMTEtMC40NTYtMC40NjctMC42ODVjLTAuMzA1LTAuNDQ4LTAuNjE2LTAuODkxLTAuOTQtMS4zMjQNCgkJCWMtMC4xODMtMC4yNDUtMC4zNzItMC40ODQtMC41NjItMC43MjRjLTAuMzItMC40MDUtMC42NDYtMC44MDMtMC45ODItMS4xOTNjLTAuMjAyLTAuMjM0LTAuNDA1LTAuNDY3LTAuNjEyLTAuNjk1DQoJCQljLTAuMzUyLTAuMzg4LTAuNzE0LTAuNzY2LTEuMDgxLTEuMTM4Yy0wLjIwNS0wLjIwNy0wLjQwNy0wLjQxNy0wLjYxNi0wLjYyYy0wLjQxOS0wLjQwNS0wLjg1Mi0wLjc5NC0xLjI5LTEuMTc4DQoJCQljLTAuMTcyLTAuMTUxLTAuMzM3LTAuMzA4LTAuNTExLTAuNDU1Yy0wLjYyMi0wLjUyNS0xLjI1OS0xLjAzMS0xLjkxNC0xLjUxM2MtMC4wNjctMC4wNDktMC4xMzctMC4wOTMtMC4yMDQtMC4xNDENCgkJCWMtMC41ODgtMC40MjYtMS4xODgtMC44MzYtMS44MDEtMS4yMjZjLTAuMjI1LTAuMTQ0LTAuNDU4LTAuMjc2LTAuNjg2LTAuNDE0Yy0wLjQ2Ny0wLjI4My0wLjkzOC0wLjU2Mi0xLjQxOC0wLjgyNA0KCQkJYy0wLjI3LTAuMTQ4LTAuNTQ1LTAuMjg3LTAuODE5LTAuNDI4Yy0wLjQ1Ni0wLjIzNC0wLjkxNi0wLjQ2MS0xLjM4My0wLjY3NmMtMC4yOS0wLjEzNC0wLjU4MS0wLjI2NC0wLjg3NS0wLjM5MQ0KCQkJYy0wLjQ3My0wLjIwMy0wLjk1My0wLjM5NC0xLjQzNi0wLjU3OGMtMC4yOTEtMC4xMS0wLjU3OS0wLjIyMy0wLjg3My0wLjMyNmMtMC41MjgtMC4xODYtMS4wNjUtMC4zNTMtMS42MDQtMC41MTQNCgkJCWMtMC4yNTYtMC4wNzctMC41MDgtMC4xNjItMC43NjYtMC4yMzNjLTAuOC0wLjIyMS0xLjYwOC0wLjQyMS0yLjQyOC0wLjU4OGMtMC41MjctMC43MTgtMS4wNzQtMS40MTgtMS42MzctMi4wOTkNCgkJCWMtMC4xOTMtMC4yMzMtMC4zOTgtMC40NTItMC41OTUtMC42ODFjLTAuMzc4LTAuNDQtMC43NTQtMC44ODItMS4xNDctMS4zMDZjLTAuMjQ2LTAuMjY1LTAuNTA1LTAuNTE0LTAuNzU3LTAuNzcyDQoJCQljLTAuMzYtMC4zNjktMC43MTYtMC43NDQtMS4wODctMS4xYy0wLjI3Ny0wLjI2NS0wLjU2Ni0wLjUxNC0wLjg0OS0wLjc3MmMtMC4zNjItMC4zMy0wLjcxOS0wLjY2NC0xLjA5MS0wLjk4MQ0KCQkJYy0wLjMwMS0wLjI1Ny0wLjYxNC0wLjQ5OC0wLjkyMS0wLjc0N2MtMC4zNjgtMC4yOTgtMC43MzItMC42LTEuMTA4LTAuODg2Yy0wLjMyMi0wLjI0NC0wLjY1NC0wLjQ3Mi0wLjk4MS0wLjcwNw0KCQkJYy0wLjM3Ni0wLjI3LTAuNzQ5LTAuNTQ0LTEuMTMzLTAuODAxYy0wLjMzOS0wLjIyNy0wLjY4Ny0wLjQzOS0xLjAzMS0wLjY1N2MtMC4zODctMC4yNDUtMC43NzEtMC40OTMtMS4xNjQtMC43MjUNCgkJCWMtMC4zNTMtMC4yMDktMC43MTUtMC40MDItMS4wNzQtMC42MDFjLTAuMzk3LTAuMjItMC43OTItMC40NDMtMS4xOTYtMC42NTFjLTAuMzY4LTAuMTktMC43NDItMC4zNjQtMS4xMTUtMC41NDQNCgkJCWMtMC40MDYtMC4xOTUtMC44MTEtMC4zOTMtMS4yMjQtMC41NzZjLTAuMzgtMC4xNjktMC43NjUtMC4zMjMtMS4xNS0wLjQ4MmMtMC40MTctMC4xNzEtMC44MzItMC4zNDQtMS4yNTUtMC41MDMNCgkJCWMtMC4zODktMC4xNDctMC43ODQtMC4yOC0xLjE3OC0wLjQxNmMtMC40MjctMC4xNDctMC44NTQtMC4yOTYtMS4yODYtMC40M2MtMC4zOTgtMC4xMjQtMC44MDEtMC4yMzYtMS4yMDQtMC4zNDkNCgkJCWMtMC40MzctMC4xMjMtMC44NzMtMC4yNDYtMS4zMTQtMC4zNTZjLTAuNDA3LTAuMTAxLTAuODE3LTAuMTkxLTEuMjI3LTAuMjgxYy0wLjQ0NS0wLjA5OC0wLjg5LTAuMTk0LTEuMzM4LTAuMjc5DQoJCQljLTAuNDE0LTAuMDc4LTAuODMxLTAuMTQ1LTEuMjQ4LTAuMjEyYy0wLjQ1My0wLjA3Mi0wLjkwNS0wLjE0My0xLjM2MS0wLjIwMmMtMC40Mi0wLjA1NC0wLjg0Mi0wLjA5OC0xLjI2NC0wLjE0MQ0KCQkJYy0wLjQ2LTAuMDQ3LTAuOTIxLTAuMDktMS4zODUtMC4xMjJjLTAuNDI0LTAuMDMtMC44NS0wLjA1MS0xLjI3Ni0wLjA2OWMtMC4yNjktMC4wMTItMC41MzQtMC4wMzYtMC44MDQtMC4wNDN2LTI5Ljg1MQ0KCQkJYzAtNC4wMjQtMy4yNjItNy4yODctNy4yODctNy4yODdjLTQuMDI1LDAtNy4yODcsMy4yNjItNy4yODcsNy4yODd2MzEuODU2Yy0xNy4wNTMsNS4yNzktMjkuODM5LDIwLjM1Ni0zMS43NSwzOC42MjNoLTIuOTQyDQoJCQljLTExLjI5NCwwLTIwLjQ4Myw5LjE4OS0yMC40ODMsMjAuNDgzczkuMTg5LDIwLjQ4MywyMC40ODMsMjAuNDgzaDQ0Mi44OTRjMTEuMjk0LDAsMjAuNDgzLTkuMTg5LDIwLjQ4My0yMC40ODMNCgkJCUM0OTcuOTI3LDQ4MC4yMjMsNDg4LjczOCw0NzEuMDM0LDQ3Ny40NDQsNDcxLjAzNHogTTIzOS4zMzMsMjYuNDZjMC0wLjAwMSwwLjAwMS0wLjAwMSwwLjAwMS0wLjAwMWwzLjA4OS00LjYyNw0KCQkJYzMuMDM0LTQuNTQ1LDguMTA5LTcuMjU4LDEzLjU3NC03LjI1OGM1LjQ2NSwwLDEwLjU0LDIuNzEzLDEzLjU3NCw3LjI1OWw0OC4yNzgsNzIuMzA4aC01LjIwMmwtNDYuMTAzLTY5LjA1Mw0KCQkJYy0yLjM1OC0zLjUzMS02LjMtNS42MzktMTAuNTQ2LTUuNjM5Yy00LjI0NiwwLTguMTg5LDIuMTA4LTEwLjU0Niw1LjYzOUwxOTkuMzQ3LDk0LjE0aC01LjIwMmw4Ljc3OC0xMy4xNDhMMjM5LjMzMywyNi40NnoNCgkJCSBNMjk1LjEyNCw5NC4xNEgyMTYuODdsMzkuMTI3LTU4LjYwNEwyOTUuMTI0LDk0LjE0eiBNNzkuODE2LDI5LjdoMTM5LjgzMUwyMDkuNTEsNDQuODgzTDE3Ni42MjIsOTQuMTRINjMuMDgxTDc5LjgxNiwyOS43eg0KCQkJIE02MC45NDgsMTE0LjgwOXYtNi4wOTZoMzkwLjA5OHY2LjA5Nkg2MC45NDh6IE00MjguMTc5LDEyOS4zODJ2MTQzLjIzM0g4My44MTVWMTI5LjM4Mkg0MjguMTc5eiBNNjcuMTA0LDI5NC4wMTQNCgkJCWMtMS44ODEsMC0zLjQxMi0xLjUzMS0zLjQxMi0zLjQxM2MwLTEuODgxLDEuNTMtMy40MTIsMy40MTItMy40MTJINDQ0Ljg5YzEuODgxLDAsMy40MTIsMS41MzEsMy40MTIsMy40MTINCgkJCWMwLDEuODgyLTEuNTMsMy40MTMtMy40MTIsMy40MTNINjcuMTA0eiBNMzYwLjQxNiw0NzAuODkzYzAuMzE3LTAuMTg3LDAuNjM4LTAuMzY4LDAuOTY3LTAuNTM1DQoJCQljMC4xNTYtMC4wNzksMC4zMTYtMC4xNDksMC40NzQtMC4yMjNjMC4yOC0wLjEzMSwwLjU2Mi0wLjI1NiwwLjg1LTAuMzcxYzAuMTgzLTAuMDczLDAuMzY4LTAuMTQyLDAuNTUzLTAuMjA4DQoJCQljMC4yNzItMC4wOTgsMC41NDctMC4xODcsMC44MjQtMC4yNzFjMC4yMDEtMC4wNiwwLjQwMi0wLjEyMSwwLjYwNS0wLjE3NGMwLjI3Ni0wLjA3MiwwLjU1Ni0wLjEzMiwwLjgzNi0wLjE5DQoJCQljMC4yMDctMC4wNDMsMC40MTEtMC4wOTEsMC42Mi0wLjEyNmMwLjM1Ni0wLjA2LDAuNzE4LTAuMTAyLDEuMDgxLTAuMTM5YzAuMTc2LTAuMDE4LDAuMzUyLTAuMDM5LDAuNTI5LTAuMDUyDQoJCQljMC40NDYtMC4wMzEsMC44OTYtMC4wNDcsMS4zNS0wLjA0M2MwLjMzNywwLjAwMywwLjY3OSwwLjAzMiwxLjAyLDAuMDU2YzAuMjM0LDAuMDE2LDAuNDY3LDAuMDIsMC43MDIsMC4wNDYNCgkJCWMwLjU3MiwwLjA2NSwxLjE0NiwwLjE1NSwxLjcxOSwwLjI3OWMzLjUwOSwwLjc1Niw3LjA0Ny0xLjE1NSw4LjMzNy00LjUwN2M0LjA5Mi0xMC42MzksMTQuNDk2LTE3Ljc4NywyNS44OTEtMTcuNzg3DQoJCQljNy45NSwwLDE1LjUzMywzLjQyOCwyMC44MDYsOS40MDZjMC4yMSwwLjIzOCwwLjQzMywwLjQ2LDAuNjY5LDAuNjY2YzAuMDEzLDAuMDExLDAuMDI4LDAuMDIsMC4wNDEsMC4wMzINCgkJCWMwLjkzMiwwLjgwNCwyLjA0MywxLjM1NSwzLjIzLDEuNjA4YzAuOTAzLDAuMTkzLDEuODQ4LDAuMjE2LDIuNzg3LDAuMDUxYzEwLjQxNi0xLjgzMSwxOS45NjQsMy44NjgsMjMuOTIyLDEyLjYyNGgtOTguMDYxDQoJCQlDMzYwLjI1LDQ3MC45ODUsMzYwLjMzNCw0NzAuOTQyLDM2MC40MTYsNDcwLjg5M3ogTTI5MS4wMzgsMzQ3LjgxNXYxMjMuMjE5aC03MC4wODJWMzQ3LjgxNUgyOTEuMDM4eiBNNzcuNzk3LDQ0NS4zNTINCgkJCWMwLjc2Ny0wLjEyMSwxLjUzNi0wLjIxNSwyLjMwNS0wLjI3OWMwLjA2Ni0wLjAwNSwwLjEzMi0wLjAwOSwwLjE5OC0wLjAxNGMwLjc4NC0wLjA2LDEuNTY3LTAuMDk2LDIuMzQzLTAuMDk2DQoJCQljMTAuNjg5LDAsMjAuNDY1LDUuNDI0LDI2LjE1LDE0LjUwOWMxLjE4OCwxLjg5OSwzLjE4NSwzLjE0Nyw1LjQxNCwzLjM4MWMwLjUyMywwLjA1NSwxLjAzOCwwLjEzNSwxLjU0OSwwLjIyNg0KCQkJYzAuMTE1LDAuMDIsMC4yMywwLjA0MSwwLjM0NSwwLjA2M2MwLjUsMC4wOTcsMC45OTUsMC4yMDgsMS40ODMsMC4zMzhjMC4wNjMsMC4wMTcsMC4xMjUsMC4wMzcsMC4xODksMC4wNTUNCgkJCWMwLjQ0NCwwLjEyMywwLjg4MSwwLjI2MSwxLjMxMywwLjQxMWMwLjA5OSwwLjAzNCwwLjE5OSwwLjA2NywwLjI5OCwwLjEwM2MwLjQ2NywwLjE2OSwwLjkyNywwLjM1MywxLjM3OSwwLjU1Mw0KCQkJYzAuMDg4LDAuMDM5LDAuMTc1LDAuMDgxLDAuMjYzLDAuMTIyYzAuNDAzLDAuMTg1LDAuOCwwLjM4LDEuMTksMC41ODhjMC4wNzQsMC4wMzksMC4xNDgsMC4wNzYsMC4yMjIsMC4xMTYNCgkJCWMwLjQzMSwwLjIzNiwwLjg1MiwwLjQ4OCwxLjI2NSwwLjc1MmMwLjA5NCwwLjA2LDAuMTg3LDAuMTIyLDAuMjgsMC4xODRjMC4zODgsMC4yNTcsMC43NjksMC41MjMsMS4xMzksMC44MDMNCgkJCWMwLjAzMiwwLjAyNCwwLjA2NiwwLjA0NywwLjA5OCwwLjA3MmMwLjM5MiwwLjMsMC43NywwLjYxNywxLjE0MSwwLjk0M2MwLjA4NywwLjA3NywwLjE3NCwwLjE1NCwwLjI2LDAuMjMyDQoJCQljMC4zNjUsMC4zMzEsMC43MjIsMC42NzEsMS4wNjQsMS4wMjdjMC4wMjksMC4wMywwLjA1NiwwLjA2MiwwLjA4NCwwLjA5MmMwLjMxOSwwLjMzNiwwLjYyNSwwLjY4MywwLjkyMywxLjAzOQ0KCQkJYzAuMDcyLDAuMDg2LDAuMTQ1LDAuMTcyLDAuMjE2LDAuMjZjMC4wNTMsMC4wNjYsMC4xMDEsMC4xMzYsMC4xNTQsMC4yMDJINTIuMTgxQzU0LjIyOSw0NTcuODY4LDY0LjY0Myw0NDcuNDM5LDc3Ljc5Nyw0NDUuMzUyeg0KCQkJIE00NzcuNDQ0LDQ5Ny40MjdIMzQuNTVjLTMuMjU5LDAtNS45MS0yLjY1MS01LjkxLTUuOTFjMC0zLjI1OSwyLjY1MS01LjkxLDUuOTEtNS45MWg0NDIuODk0YzMuMjU5LDAsNS45MSwyLjY1MSw1LjkxLDUuOTENCgkJCUM0ODMuMzU0LDQ5NC43NzYsNDgwLjcwMyw0OTcuNDI3LDQ3Ny40NDQsNDk3LjQyN3oiLz4NCiAgICAgICAgPHBhdGggb3BhY2l0eT0iMC4yNSIgIGQ9Ik0xODYuMjEzLDIzMS41NzJoLTMuMzM4di02NS43NDZjMC01LjcyNC00LjY1Ny0xMC4zOC0xMC4zOC0xMC4zOGgtNTkuMzU2Yy01LjcyNCwwLTEwLjM4LDQuNjU3LTEwLjM4LDEwLjM4djY1Ljc0Ng0KCQkJaC0zLjMzN2MtNC4wMjUsMC03LjI4NywzLjI2Mi03LjI4Nyw3LjI4N2MwLjAwMSw0LjAyNCwzLjI2Myw3LjI4Nyw3LjI4OCw3LjI4N2g4Ni43OWM0LjAyNSwwLDcuMjg3LTMuMjYyLDcuMjg3LTcuMjg3DQoJCQlDMTkzLjUsMjM0LjgzNSwxOTAuMjM4LDIzMS41NzIsMTg2LjIxMywyMzEuNTcyeiBNMTY4LjMwMywyMzEuNTczaC01MC45N3YtNjEuNTU0aDUwLjk3VjIzMS41NzN6Ii8+DQogICAgICAgIDxwYXRoIG9wYWNpdHk9IjAuMjUiICBkPSJNMjk5LjY2OCwyMzEuNTcyaC0zLjMzOHYtNjUuNzQ2YzAtNS43MjQtNC42NTctMTAuMzgtMTAuMzgtMTAuMzhoLTU5LjM1NWMtNS43MjQsMC0xMC4zOCw0LjY1Ny0xMC4zOCwxMC4zOHY2NS43NDYNCgkJCWgtMy4zMzhjLTQuMDI1LDAtNy4yODcsMy4yNjItNy4yODcsNy4yODdjMC4wMDEsNC4wMjQsMy4yNjMsNy4yODcsNy4yODcsNy4yODdoODYuNzkxYzQuMDI1LDAsNy4yODctMy4yNjIsNy4yODctNy4yODcNCgkJCUMzMDYuOTU1LDIzNC44MzUsMzAzLjY5MywyMzEuNTcyLDI5OS42NjgsMjMxLjU3MnogTTI4MS43NTgsMjMxLjU3M2gtNTAuOTd2LTYxLjU1NGg1MC45N1YyMzEuNTczeiIvPg0KICAgICAgICA8cGF0aCBvcGFjaXR5PSIwLjI1IiAgZD0iTTQxMi41NzIsMjMxLjU3MmgtMy4zMzh2LTY1Ljc0NmMwLTUuNzI0LTQuNjU3LTEwLjM4LTEwLjM3OS0xMC4zOGgtNTkuMzU2Yy01LjcyNCwwLTEwLjM4LDQuNjU3LTEwLjM4LDEwLjM4djY1Ljc0Ng0KCQkJaC0zLjMzOGMtNC4wMjUsMC03LjI4NywzLjI2Mi03LjI4Nyw3LjI4N2MwLDQuMDI0LDMuMjYyLDcuMjg3LDcuMjg3LDcuMjg3aDg2Ljc5MWM0LjAyNSwwLDcuMjg3LTMuMjYyLDcuMjg3LTcuMjg3DQoJCQlDNDE5Ljg1OSwyMzQuODM1LDQxNi41OTcsMjMxLjU3Miw0MTIuNTcyLDIzMS41NzJ6IE0zOTQuNjYxLDIzMS41NzNoLTUwLjk3di02MS41NTRoNTAuOTdWMjMxLjU3M3oiLz4NCiAgICAgICAgPHBhdGggZD0iTTE4Mi44MTMsNDEzLjgzM2gtMC41Mjh2LTYwLjA0NWMwLTUuNTY2LTQuNTI5LTEwLjA5NS0xMC4wOTUtMTAuMDk1aC01My44ODZjLTUuNTY2LDAtMTAuMDk1LDQuNTI5LTEwLjA5NSwxMC4wOTV2NjAuMDQ1DQoJCQloLTAuNTI4Yy00LjAyNSwwLTcuMjg3LDMuMjYyLTcuMjg3LDcuMjg3YzAsNC4wMjUsMy4yNjIsNy4yODcsNy4yODcsNy4yODdoNy44MTRoNTkuNTA0aDcuODE0YzQuMDI1LDAsNy4yODctMy4yNjIsNy4yODctNy4yODcNCgkJCUMxOTAuMSw0MTcuMDk1LDE4Ni44MzgsNDEzLjgzMywxODIuODEzLDQxMy44MzN6IE0xNjcuNzEyLDQxMy44MzNoLTQ0LjkzMXYtNTUuNTY3aDQ0LjkzMVY0MTMuODMzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNNDA0LjMxNCw0MTMuODMzaC0wLjUyOHYtNjAuMDQ1YzAtNS41NjYtNC41MjktMTAuMDk1LTEwLjA5NS0xMC4wOTVoLTUzLjg4NmMtNS41NjYsMC0xMC4wOTYsNC41MjktMTAuMDk2LDEwLjA5NXY2MC4wNDUNCgkJCWgtMC41MjhjLTQuMDI1LDAtNy4yODcsMy4yNjItNy4yODcsNy4yODdjMCw0LjAyNSwzLjI2Miw3LjI4Nyw3LjI4Nyw3LjI4N2g3LjgxNEgzOTYuNWg3LjgxNGM0LjAyNSwwLDcuMjg3LTMuMjYyLDcuMjg3LTcuMjg3DQoJCQlDNDExLjYwMSw0MTcuMDk1LDQwOC4zMzksNDEzLjgzMyw0MDQuMzE0LDQxMy44MzN6IE0zODkuMjEzLDQxMy44MzNoLTQ0LjkzMnYtNTUuNTY3aDQ0LjkzMlY0MTMuODMzeiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjc2LjU0NSw0MDUuMDg5Yy00LjAyNSwwLTcuMjg3LDMuMjYyLTcuMjg3LDcuMjg3djEyLjYzYzAsNC4wMjQsMy4yNjIsNy4yODcsNy4yODcsNy4yODcNCgkJCWM0LjAyNSwwLDcuMjg3LTMuMjYyLDcuMjg3LTcuMjg3di0xMi42M0MyODMuODMyLDQwOC4zNTIsMjgwLjU3LDQwNS4wODksMjc2LjU0NSw0MDUuMDg5eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K","Guest Bathroom":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im02My42MTggNjItMi43MTgtNS40NDdhMSAxIDAgMCAwIC0uOS0uNTUzaC0xdi0zMGgzdi0yaC0zdi0xOWE1LjAwNiA1LjAwNiAwIDAgMCAtNS01aC0xNGE1LjAwNiA1LjAwNiAwIDAgMCAtNSA1djFhMyAzIDAgMCAwIC0zIDN2MWgtNWEzIDMgMCAwIDAgLTMgM3YyYTEgMSAwIDAgMCAxIDFoMTV2LTJoLTE0di0xYTEgMSAwIDAgMSAxLTFoMThhMSAxIDAgMCAxIDEgMXYxaC00djJoNWExIDEgMCAwIDAgMS0xdi0yYTMgMyAwIDAgMCAtMy0zaC01di0xYTMgMyAwIDAgMCAtMy0zdi0xYTMgMyAwIDAgMSAzLTNoMTRhMyAzIDAgMCAxIDMgM3YxOWgtNXYyaDV2MTRoLTN2LTJoLTJ2Nmgydi0yaDN2MTRoLTFhMSAxIDAgMCAwIC0uOS41NTNsLTIuNzE4IDUuNDQ3aC01Mi4zODJ2Mmg2NHYtMnptLTI1LjYxOC01M3YxaC00di0xYTEgMSAwIDAgMSAxLTFoMmExIDEgMCAwIDEgMSAxem0xOC42MTggNDloMi43NjRsMiA0aC02Ljc2NHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI5IDE4aDJ2NGgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI5IDI0aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI5IDM0aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM3IDM0aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI5IDI4aDJ2NGgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTMzIDIyaDJ2NGgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTMzIDI4aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTMzIDMyaDJ2NmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQxIDIyaDJ2NGgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQxIDI4aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQxIDMyaDJ2NmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM3IDE4aDJ2NGgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM3IDI0aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM3IDI4aDJ2NGgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ1IDM0aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ1IDE4aDJ2NGgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ1IDI0aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ1IDI4aDJ2NGgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQxIDE4aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTMzIDE4aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI1IDIyaDJ2NGgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI1IDI4aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI1IDMyaDJ2NmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI1IDE4aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTIgMzcuOTg3djE5LjAxM2ExIDEgMCAwIDAgMSAxaDEyYTEgMSAwIDAgMCAxLTF2LTE5LjFsMi0uMDEzdjIuMTEzaDJ2LTZoLTJ2MS44ODJsLTE4LjAwNi4xMTguMDEyIDJ6bTIgMTIuMDEzaDEwdjFoLTEwem0wIDZ2LTNoMTB2M3ptMTAtOGgtMTB2LTEwLjAyNmwxMC0uMDY2eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTAgMjljNC40ODYgMCA4LTUuMjcxIDgtMTJzLTMuNTE0LTEyLTgtMTItOCA1LjI3MS04IDEyIDMuNTE0IDEyIDggMTJ6bTAtMjJjMy4yNTIgMCA2IDQuNTc5IDYgMTBzLTIuNzQ4IDEwLTYgMTAtNi00LjU3OS02LTEwIDIuNzQ4LTEwIDYtMTB6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im01LjA5NSAxMy41aDcuODF2MmgtNy44MXoiIHRyYW5zZm9ybT0ibWF0cml4KC43NjggLS42NCAuNjQgLjc2OCAtNy4xOTcgOS4xMjIpIi8+DQogICAgICAgIDxwYXRoIGQ9Im03LjA5NSAxOC41aDcuODF2MmgtNy44MXoiIHRyYW5zZm9ybT0ibWF0cml4KC43NjggLS42NCAuNjQgLjc2OCAtOS45MzQgMTEuNTYyKSIvPg0KICAgIDwvZz4NCjwvc3ZnPg==","Guest Room":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTQ1NiwzMjhhNDAuMDM3LDQwLjAzNywwLDAsMC04LC44MDQ5M1YxNDRhNy45NzUyMiw3Ljk3NTIyLDAsMCwwLTIuMzQzODEtNS42NTc0NywxNC42NDUzNSwxNC42NDUzNSwwLDAsMSwwLTIwLjY4NTA2QTcuOTc1MjIsNy45NzUyMiwwLDAsMCw0NDgsMTEyVjg4aDQwYTcuOTk5NDYsNy45OTk0NiwwLDAsMCw2Ljk0NTgtMTEuOTY4NzVsLTMyLTU2QTcuOTk4NjMsNy45OTg2MywwLDAsMCw0NTYsMTZIMzg0YTcuOTk4NjMsNy45OTg2MywwLDAsMC02Ljk0NTgsNC4wMzEyNWwtMzIsNTZBNy45OTk0Niw3Ljk5OTQ2LDAsMCwwLDM1Miw4OGg0MHYyNGE3Ljk3NTIyLDcuOTc1MjIsMCwwLDAsMi4zNDM4MSw1LjY1NzQ3LDE0LjY0NTM1LDE0LjY0NTM1LDAsMCwxLDAsMjAuNjg1MDZBNy45NzUyMiw3Ljk3NTIyLDAsMCwwLDM5MiwxNDRWMzIwSDMxMlYyODhoMjRhOC4wMDAwOCw4LjAwMDA4LDAsMCwwLDgtOFYyNDhhOC4wMDAwOCw4LjAwMDA4LDAsMCwwLTgtOEgzMTJWMjE2aDQ4YTguMDAwMDgsOC4wMDAwOCwwLDAsMCw4LThWMTEyYTguMDAwMDgsOC4wMDAwOCwwLDAsMC04LThIMjA4YTguMDAwMDgsOC4wMDAwOCwwLDAsMC04LDh2OTZhOC4wMDAwOCw4LjAwMDA4LDAsMCwwLDgsOGg0OHYyNEgyMDUuNDE2MDhsLTEzLjYwNTUzLTM0LjAxNDY1LTQuOTc0MTItMzkuNzkzQTU2LjUzMTQ4LDU2LjUzMTQ4LDAsMCwwLDE4NCwxNTQuMjZWODBBNjQsNjQsMCwwLDAsNTYsODB2NTIuODI4NjFBNTYuMDQxOTMsNTYuMDQxOTMsMCwwLDAsMzMuNTk0MjQsMTYxLjkxOWwtMTcuMTgzNiw1MS41NTA3OGE3Ljk5OCw3Ljk5OCwwLDAsMC0uMTcxODcsNC40NzA3bDUuNTkxMzcsMjIuMzY1NDhBNy45OTc0NSw3Ljk5NzQ1LDAsMCwwLDE2LDI0OFY0ODhhOC4wMDAwOCw4LjAwMDA4LDAsMCwwLDgsOEg0ODhhOC4wMDAwOCw4LjAwMDA4LDAsMCwwLDgtOFYzNjhBNDAuMDQ1NTIsNDAuMDQ1NTIsMCwwLDAsNDU2LDMyOFptMjQsNDB2NTZINDMyVjM2OGEyNCwyNCwwLDAsMSw0OCwwWk0yNjQsNDI0VjQwMGE4LjAwOTE3LDguMDA5MTcsMCwwLDEsOC04SDQwOGE4LjAwOTE3LDguMDA5MTcsMCwwLDEsOCw4djI0Wk05Niw0MjRWNDAwYTguMDA5MTcsOC4wMDkxNywwLDAsMSw4LThIMjQwYTguMDA5MTcsOC4wMDkxNywwLDAsMSw4LDh2MjRabTMyMC04MHYzMy4zNzYyMkEyMy44ODIxMiwyMy44ODIxMiwwLDAsMCw0MDgsMzc2SDI3MmEyMy45MDExMSwyMy45MDExMSwwLDAsMC0xNiw2LjEzMDg2QTIzLjkwMTExLDIzLjkwMTExLDAsMCwwLDI0MCwzNzZIMTA0YTIzLjg4MjEyLDIzLjg4MjEyLDAsMCwwLTgsMS4zNzYyMlYzNDRhOC4wMDkxNyw4LjAwOTE3LDAsMCwxLDgtOEg0MDhBOC4wMDkxNyw4LjAwOTE3LDAsMCwxLDQxNiwzNDRabTEwLjQ1MTcyLTIwOEg0MTMuNTQ4MjhhMzAuODQzNTEsMzAuODQzNTEsMCwwLDAsMC0xNmgxMi45MDM0NEEzMC44NDM1MSwzMC44NDM1MSwwLDAsMCw0MjYuNDUxNzIsMTM2Wk0zODguNjQyNTgsMzJoNjIuNzE0ODRsMjIuODU2OTQsNDBIMzY1Ljc4NTY0Wk00MzIsODh2MTZINDA4Vjg4Wm0tMjQsNjRoMjRWMzM2LjAyMmMtLjM2NjMzLjI3NTY0LS43MjQxOC41NjItMS4wODA2OS44NDk2MUEyNC4wNDM2OSwyNC4wNDM2OSwwLDAsMCw0MDgsMzIwWk0yOTYsMzIwSDEwNGEyNC4wNDM2OSwyNC4wNDM2OSwwLDAsMC0yMi45MTkzMSwxNi44NzE1OEEzOS45LDM5LjksMCwwLDAsMzIsMzM2LjAyMlYyODhIMjk2Wm0zMi00OEgzMlYyNTZIMzI4Wk03MiwyNDBINjRWMjI1LjU0MWw3LjMxNjg5LTE4LjI5Mkw3MiwyMDkuMjk3ODVabTg4LS4wMDAyNC4wMDAyNC4wMDAyNEgxNjBaTTIxNiwyMDBWMTIwSDM1MnY4MEgzMTJWMTY4YTguMDAwMDgsOC4wMDAwOCwwLDAsMC04LThIMjY0YTguMDAwMDgsOC4wMDAwOCwwLDAsMC04LDh2MzJabTU2LTI0aDI0djY0SDI3MlpNMTIwLDMyYTQ4LjA1NCw0OC4wNTQsMCwwLDEsNDgsNDh2NTAuODUzNTJhNTYuNzI1NjIsNTYuNzI1NjIsMCwwLDAtNy45MTk5Mi01LjczNTM2bC0xMS40NDE2NS02Ljg2NUEzMS43OTQwNSwzMS43OTQwNSwwLDAsMCwxNTIsMTA0VjgwYTguMDAwMDgsOC4wMDAwOCwwLDAsMC04LThoLTYuMTExMzNhMjAuODMwNTMsMjAuODMwNTMsMCwwLDEtMTguNzMzNC0xMS41NzgxMiw4LjAwMDY0LDguMDAwNjQsMCwwLDAtMTIuODEyLTIuMDc5MTFsLTE2LDE2QTguMDAwNzYsOC4wMDA3NiwwLDAsMCw4OCw4MHYyNGEzMS44MDE4OCwzMS44MDE4OCwwLDAsMCwyLjc1NzUxLDEyLjk3MTE5TDcyLDEyNS4wMVY4MEE0OC4wNTQsNDguMDU0LDAsMCwxLDEyMCwzMlptMTYsNzJhMTYsMTYsMCwwLDEtMzIsMFY4My4zMTM0OGw2Ljk0Njc4LTYuOTQ2MjlBMzYuNjk4MTYsMzYuNjk4MTYsMCwwLDAsMTM2LDg3Ljk1MzEyWm0tMzQuNzcxOTEsMjUuODkyMDlhMzEuOTE2MTMsMzEuOTE2MTMsMCwwLDAsMzYuNzA0NDcuNTk3MTdsMS4yMzcxOC43NDI0M0wxMjAsMTU1LjE5MzM2bC0xOS44NjYyNy0yNC44MzIyOFpNNDguNzczLDE2Ni45Nzk0OUE0MC4wMzUzOCw0MC4wMzUzOCwwLDAsMSw3MC45NjM4NywxNDIuODYyM2wxMy45MTE2Mi01Ljk2MTkxLDI4Ljg3NzQ0LDM2LjA5NjY4YTcuOTk5NDMsNy45OTk0MywwLDAsMCwxMi40OTQxNCwwTDE1Mi45OSwxMzkuNTY4MzZhMzkuNzI3NzksMzkuNzI3NzksMCwwLDEsMTcuOTY5NDgsMjguNjA4NGw1LjEwMjU0LDQwLjgxNTQzYTcuOTgyODEsNy45ODI4MSwwLDAsMCwuNTEwMjYsMS45Nzg1MUwxODguMTgzNTksMjQwSDE4MGwtMjAtMjYuNjY3VjIwMS44MDY2NGE1MC44MjMzOCw1MC44MjMzOCwwLDAsMCwxLjkzMjYyLTM3LjMwNzYybC0yLjM0MzI2LTcuMDI5MjktMTUuMTc4NzIsNS4wNjA1NCwyLjM0MzI3LDcuMDI5M2EzNC45NTUxMywzNC45NTUxMywwLDAsMS0xLjkwOTE4LDI2Ljg2MjMxQTcuOTk5MzQsNy45OTkzNCwwLDAsMCwxNDQsMjAwdjQwSDg4VjIwOGE4LjAwNjQzLDguMDA2NDMsMCwwLDAtLjQxMDY0LTIuNTMwMjdsLTgtMjRhOC4wMDAwOSw4LjAwMDA5LDAsMCwwLTE1LjAxNzA5LS40NDA0M2wtMTYsNDBBNy45OTcyMyw3Ljk5NzIzLDAsMCwwLDQ4LDIyNHYxNkgzOC4yNDYwOWwtNS45MTk5Mi0yMy42ODA2NlpNMzIsMzY4YTI0LDI0LDAsMCwxLDQ4LDB2NTZIMzJaTTQ4MCw0ODBIMzJWNDQwSDQ4MFoiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",Gym:mNe,Hall:pNe,"Home Theater":"PHN2ZyBoZWlnaHQ9IjUxMXB0IiB2aWV3Qm94PSIxIC00NCA1MTEuOTk4OTkgNTExIiB3aWR0aD0iNTExcHQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICA8cGF0aCBkPSJtMjgyLjUxOTUzMSAzMzMuOTg4MjgxYy00LjE3MTg3NSAwLTcuNTQ2ODc1IDMuMzc4OTA3LTcuNTQ2ODc1IDcuNTQ2ODc1IDAgNC4xNjc5NjkgMy4zNzUgNy41NDY4NzUgNy41NDY4NzUgNy41NDY4NzVoMTE0LjMzOTg0NGM3LjA4MjAzMSAwIDEyLjg0Mzc1LTUuNzYxNzE5IDEyLjg0Mzc1LTEyLjg0NzY1NnYtMTkxLjkyOTY4N2MwLTcuMDgyMDMyLTUuNzYxNzE5LTEyLjg0NzY1Ny0xMi44NDM3NS0xMi44NDc2NTdoLTI4MS43MTg3NWMtNy4wODIwMzEgMC0xMi44NDM3NSA1Ljc2NTYyNS0xMi44NDM3NSAxMi44NDc2NTd2MTkxLjkyOTY4N2MwIDcuMDg1OTM3IDUuNzYxNzE5IDEyLjg0NzY1NiAxMi44NDM3NSAxMi44NDc2NTZoMTM3LjE5MTQwNmM0LjE2Nzk2OSAwIDcuNTQ2ODc1LTMuMzc4OTA2IDcuNTQ2ODc1LTcuNTQ2ODc1IDAtNC4xNjc5NjgtMy4zNzg5MDYtNy41NDY4NzUtNy41NDY4NzUtNy41NDY4NzVoLTEzNC45NDUzMTJ2LTE4Ny40Mzc1aDI3Ny4yMjY1NjJ2MTg3LjQzNzV6bTAgMCIvPg0KICAgIDxwYXRoIGQ9Im00OS4yNjE3MTkgODIuNzQyMTg4YzE1LjU4MjAzMSAwIDI4LjI2MTcxOS0xMi42Nzk2ODggMjguMjYxNzE5LTI4LjI1MzkwNyAwLTE1LjU4NTkzNy0xMi42Nzk2ODgtMjguMjYxNzE5LTI4LjI2MTcxOS0yOC4yNjE3MTktMTUuNTc4MTI1IDAtMjguMjUzOTA3IDEyLjY3NTc4Mi0yOC4yNTM5MDcgMjguMjYxNzE5IDAgMTUuNTc0MjE5IDEyLjY3NTc4MiAyOC4yNTM5MDcgMjguMjUzOTA3IDI4LjI1MzkwN3ptMC00MS40MjU3ODJjNy4yNjE3MTkgMCAxMy4xNjc5NjkgNS45MDYyNSAxMy4xNjc5NjkgMTMuMTcxODc1IDAgNy4yNTM5MDctNS45MDYyNSAxMy4xNjAxNTctMTMuMTY3OTY5IDEzLjE2MDE1Ny03LjI1MzkwNyAwLTEzLjE2MDE1Ny01LjkwNjI1LTEzLjE2MDE1Ny0xMy4xNjAxNTcgMC03LjI2NTYyNSA1LjkwNjI1LTEzLjE3MTg3NSAxMy4xNjAxNTctMTMuMTcxODc1em0wIDAiLz4NCiAgICA8cGF0aCBkPSJtNDYyLjczODI4MS41Yy0yNy4xNjQwNjIgMC00OS4yNjk1MzEgMjIuMTA1NDY5LTQ5LjI2OTUzMSA0OS4yNjk1MzF2NTYuMzA0Njg4Yy01LjY1MjM0NC0xLjM2NzE4OC02LjA0Mjk2OS0uNTM1MTU3LTU0LjMzMjAzMS0uNzc3MzQ0LTQuMTY0MDYzIDAtNy41NDI5NjkgMy4zODI4MTMtNy41NDI5NjkgNy41NDY4NzVzMy4zNzg5MDYgNy41NDY4NzUgNy41NDI5NjkgNy41NDY4NzVoNDcuNzIyNjU2YzcuNzMwNDY5IDAgMTMuOTE0MDYzIDYuMzA0Njg3IDEzLjkxNDA2MyAxMy45MTQwNjN2MjExLjkzMzU5M2MwIDcuNjY0MDYzLTYuMjQ2MDk0IDEzLjkxNDA2My0xMy45MTQwNjMgMTMuOTE0MDYzLTU5LjQxNzk2OSAwLTIzMS41NTQ2ODcgMC0zMDEuNzE4NzUgMC03LjY2Nzk2OSAwLTEzLjkxNDA2My02LjI1LTEzLjkxNDA2My0xMy45MTQwNjMgMC0xMC43NDYwOTMgMC0yMDQuNTg5ODQzIDAtMjExLjkzMzU5MyAwLTUuMjczNDM4IDIuOTU3MDMyLTkuODc4OTA3IDcuMzA0Njg4LTEyLjI0NjA5NCA1Ljg0Mzc1LTMuMTc1NzgyLTQuMjQyMTg4LTEuMDQ2ODc1IDIzMC40MjE4NzUtMS42Njc5NjkgNC4xNzU3ODEgMCA3LjU0Njg3NS0zLjM4MjgxMyA3LjU0Njg3NS03LjU0Njg3NXMtMy4zNzEwOTQtNy41NDY4NzUtNy41NDY4NzUtNy41NDY4NzVjLTIzNi4zNTE1NjMuMjczNDM3LTIyNC41NTA3ODEtLjY0NDUzMS0yMzAuNDIxODc1Ljc3NzM0NHYtNTYuMzA0Njg4YzAtMjcuMTY0MDYyLTIyLjEwNTQ2OS00OS4yNjk1MzEtNDkuMjY5NTMxLTQ5LjI2OTUzMS0yMi43Njk1MzEgMC00Mi40NDkyMTkgMTUuNDMzNTk0LTQ3Ljg2MzI4MSAzNy41MjczNDQtLjk4NDM3NiA0LjA1NDY4NyAxLjUgOC4xNDA2MjUgNS41NDI5NjggOS4xMjUgNC4wNDY4NzUuOTg4MjgxIDguMTI4OTA2LTEuNDg4MjgyIDkuMTI1LTUuNTMxMjUgMy43NDYwOTQtMTUuMzI0MjE5IDE3LjM5ODQzOC0yNi4wMzEyNSAzMy4xOTUzMTMtMjYuMDMxMjUgMTguODQzNzUgMCAzNC4xNzU3ODEgMTUuMzM1OTM3IDM0LjE3NTc4MSAzNC4xNzk2ODd2NjUuMzE2NDA3Yy0zLjExMzI4MSAzLjUxMTcxOC01LjM5MDYyNSA3Ljc3MzQzNy02LjUxMTcxOSAxMi40ODA0NjgtMi42NzE4NzUtMTIuODI0MjE4LTE0LjA1ODU5My0yMi40ODgyODEtMjcuNjY0MDYyLTIyLjQ4ODI4MS0xNS41NzgxMjUgMC0yOC4yNTM5MDcgMTIuNjc5Njg3LTI4LjI1MzkwNyAyOC4yNTc4MTMgMCAxNS41NzgxMjQgMTIuNjc1NzgyIDI4LjI1NzgxMiAyOC4yNTM5MDcgMjguMjU3ODEyIDEyLjUzNTE1NiAwIDIzLjE4NzUtOC4yMTA5MzggMjYuODcxMDkzLTE5LjUzMTI1djYxLjM5ODQzOGMtMy42ODM1OTMtMTEuMzIwMzEzLTE0LjMzNTkzNy0xOS41MjczNDQtMjYuODcxMDkzLTE5LjUyNzM0NC0xNS41NzgxMjUgMC0yOC4yNTM5MDcgMTIuNjc1NzgxLTI4LjI1MzkwNyAyOC4yNTM5MDYgMCAxNS41ODIwMzEgMTIuNjc1NzgyIDI4LjI1NzgxMiAyOC4yNTM5MDcgMjguMjU3ODEyIDEyLjUzNTE1NiAwIDIzLjE4NzUtOC4yMDcwMzEgMjYuODcxMDkzLTE5LjUzMTI1djYxLjQwMjM0NGMtMy42ODM1OTMtMTEuMzI0MjE4LTE0LjMzNTkzNy0xOS41MzEyNS0yNi44NzEwOTMtMTkuNTMxMjUtMTUuNTc4MTI1IDAtMjguMjUzOTA3IDEyLjY3NTc4Mi0yOC4yNTM5MDcgMjguMjUzOTA2IDAgMTUuNTgyMDMyIDEyLjY3NTc4MiAyOC4yNTc4MTMgMjguMjUzOTA3IDI4LjI1NzgxMyAxMi41MzUxNTYgMCAyMy4xODc1LTguMjA3MDMxIDI2Ljg3MTA5My0xOS41MzEyNXYxNy4wODk4NDRjLTIwLjEwNTQ2OCAyNS41MzEyNS02MS4wMzkwNjIgMTEuMTI1LTYxLjAzOTA2Mi0yMS4wOTc2NTd2LTIyNS44NDM3NWMwLTQuMTc1NzgxLTMuMzgyODEyLTcuNTQ2ODc0LTcuNTQ2ODc1LTcuNTQ2ODc0LTQuMTc1NzgxIDAtNy41NDY4NzUgMy4zNzEwOTMtNy41NDY4NzUgNy41NDY4NzR2MjI1Ljg0Mzc1YzAgMjQuNjAxNTYzIDE4LjEyMTA5NCA0NS4wNTA3ODIgNDEuNzE4NzUgNDguNjk1MzEzdjYyLjUyNzM0NGgtMTguOTY0ODQ0Yy00LjE2Nzk2OCAwLTcuNTQ2ODc1IDMuMzc4OTA2LTcuNTQ2ODc1IDcuNTQ2ODc1IDAgNC4xNjc5NjggMy4zNzg5MDcgNy41NDY4NzUgNy41NDY4NzUgNy41NDY4NzVoNTMuMDE5NTMyYzQuMTY3OTY4IDAgNy41NDY4NzQtMy4zNzg5MDcgNy41NDY4NzQtNy41NDY4NzUgMC00LjE2Nzk2OS0zLjM3ODkwNi03LjU0Njg3NS03LjU0Njg3NC03LjU0Njg3NWgtMTguOTY0ODQ0di02Mi41MzEyNWM3LjA0Mjk2OC0xLjA4NTkzOCAxMy41OTc2NTYtMy42Njc5NjkgMTkuMzI0MjE4LTcuNDEwMTU3djkuMTk5MjE5YzAgMTUuOTg0Mzc1IDEzLjAxOTUzMiAyOS4wMDM5MDcgMjkuMDA3ODEzIDI5LjAwMzkwN2g0NS44MjAzMTN2MzUuODk4NDM3YzAgNi4yODkwNjMgNS4xMDkzNzQgMTEuNDEwMTU2IDExLjM5ODQzNyAxMS40MTAxNTZoMjEuMTI4OTA2YzYuMjg5MDYzIDAgMTEuMzk4NDM4LTUuMTIxMDkzIDExLjM5ODQzOC0xMS40MTAxNTZ2LTM1Ljg5ODQzN2gxMjIuMjI2NTYydjM1Ljg5ODQzN2MwIDYuMjg5MDYzIDUuMTA5Mzc1IDExLjQxMDE1NiAxMS4zOTg0MzggMTEuNDEwMTU2aDIxLjEyODkwNmM2LjI4OTA2MyAwIDExLjM5ODQzNy01LjEyMTA5MyAxMS4zOTg0MzctMTEuNDEwMTU2di0zNS44OTg0MzdoNDUuODIwMzEzYzE1Ljk4ODI4MSAwIDI5LjAwNzgxMy0xMy4wMTk1MzIgMjkuMDA3ODEzLTI5LjAwMzkwN3YtOS4xOTkyMTljNS43MjY1NjIgMy43NDIxODggMTIuMjgxMjUgNi4zMjQyMTkgMTkuMzI0MjE4IDcuNDEwMTU3djYyLjUzMTI1aC0xOC45NjQ4NDRjLTQuMTY3OTY4IDAtNy41NDY4NzQgMy4zNzg5MDYtNy41NDY4NzQgNy41NDY4NzUgMCA0LjE2Nzk2OCAzLjM3ODkwNiA3LjU0Njg3NSA3LjU0Njg3NCA3LjU0Njg3NWg1My4wMTk1MzJjNC4xNjc5NjggMCA3LjU0Njg3NS0zLjM3ODkwNyA3LjU0Njg3NS03LjU0Njg3NSAwLTQuMTY3OTY5LTMuMzc4OTA3LTcuNTQ2ODc1LTcuNTQ2ODc1LTcuNTQ2ODc1aC0xOC45NjQ4NDR2LTYyLjUyNzM0NGMyMy41OTc2NTYtMy42NDQ1MzEgNDEuNzE4NzUtMjQuMDkzNzUgNDEuNzE4NzUtNDguNjk1MzEzdi0yNDUuOTg4MjgxYzAtMjcuMTY0MDYyLTIyLjA5Mzc1LTQ5LjI2OTUzMS00OS4yNjE3MTktNDkuMjY5NTMxem0tNDEzLjQ3NjU2MiAxNDZjLTcuMjU3ODEzIDAtMTMuMTY0MDYzLTUuOTA2MjUtMTMuMTY0MDYzLTEzLjE2NDA2MiAwLTcuMjU3ODEzIDUuOTA2MjUtMTMuMTY0MDYzIDEzLjE2NDA2My0xMy4xNjQwNjMgNy4yNTc4MTIgMCAxMy4xNjQwNjIgNS45MDYyNSAxMy4xNjQwNjIgMTMuMTY0MDYzIDAgNy4yNTc4MTItNS45MDYyNSAxMy4xNjQwNjItMTMuMTY0MDYyIDEzLjE2NDA2MnptMCA3OC44NTU0NjljLTcuMjU3ODEzIDAtMTMuMTY0MDYzLTUuOTA2MjUtMTMuMTY0MDYzLTEzLjE2Nzk2OSAwLTcuMjU3ODEyIDUuOTA2MjUtMTMuMTY0MDYyIDEzLjE2NDA2My0xMy4xNjQwNjIgNy4yNTc4MTIgMCAxMy4xNjQwNjIgNS45MDYyNSAxMy4xNjQwNjIgMTMuMTY0MDYyIDAgNy4yNjE3MTktNS45MDYyNSAxMy4xNjc5NjktMTMuMTY0MDYyIDEzLjE2Nzk2OXptMCA3OC44NTE1NjJjLTcuMjU3ODEzIDAtMTMuMTY0MDYzLTUuOTA2MjUtMTMuMTY0MDYzLTEzLjE2Nzk2OSAwLTcuMjU3ODEyIDUuOTA2MjUtMTMuMTY0MDYyIDEzLjE2NDA2My0xMy4xNjQwNjIgNy4yNTc4MTIgMCAxMy4xNjQwNjIgNS45MDYyNSAxMy4xNjQwNjIgMTMuMTY0MDYyIDAgNy4yNjE3MTktNS45MDYyNSAxMy4xNjc5NjktMTMuMTY0MDYyIDEzLjE2Nzk2OXptMTMwLjUzNTE1NiAxMDMuMjUzOTA3aC0xMy43NDYwOTR2LTMyLjIxODc1aDEzLjc0NjA5NHptMTY2LjE1MjM0NCAwaC0xMy43NDYwOTR2LTMyLjIxODc1aDEzLjc0NjA5NHptMTUwLjk1NzAzMS0xMTEuNzAzMTI2YzAgMzIuMjM4MjgyLTQwLjk0MTQwNiA0Ni42MjEwOTQtNjEuMDM5MDYyIDIxLjA5NzY1N3YtMTcuMDg1OTM4YzMuNjgzNTkzIDExLjMyMDMxMyAxNC4zMzU5MzcgMTkuNTI3MzQ0IDI2Ljg3MTA5MyAxOS41MjczNDQgMTUuNTc4MTI1IDAgMjguMjUzOTA3LTEyLjY3NTc4MSAyOC4yNTM5MDctMjguMjU3ODEzIDAtMTUuNTc4MTI0LTEyLjY3NTc4Mi0yOC4yNTM5MDYtMjguMjUzOTA3LTI4LjI1MzkwNi0xMi41MzUxNTYgMC0yMy4xODM1OTMgOC4yMDcwMzItMjYuODcxMDkzIDE5LjUyNzM0NHYtNjEuMzk0NTMxYzMuNjgzNTkzIDExLjMyMDMxMiAxNC4zMzU5MzcgMTkuNTI3MzQzIDI2Ljg3MTA5MyAxOS41MjczNDMgMTUuNTc4MTI1IDAgMjguMjUzOTA3LTEyLjY3NTc4MSAyOC4yNTM5MDctMjguMjU3ODEyIDAtMTUuNTc4MTI1LTEyLjY3NTc4Mi0yOC4yNTM5MDYtMjguMjUzOTA3LTI4LjI1MzkwNi0xMi41MzUxNTYgMC0yMy4xODM1OTMgOC4yMDcwMzEtMjYuODcxMDkzIDE5LjUyNzM0NHYtNjEuMzk4NDM4YzMuNjgzNTkzIDExLjMyNDIxOSAxNC4zMzU5MzcgMTkuNTMxMjUgMjYuODcxMDkzIDE5LjUzMTI1IDE1LjU3ODEyNSAwIDI4LjI1MzkwNy0xMi42NzU3ODEgMjguMjUzOTA3LTI4LjI1NzgxMiAwLTE1LjU3ODEyNi0xMi42NzU3ODItMjguMjUzOTA3LTI4LjI1MzkwNy0yOC4yNTM5MDctMTMuNjA1NDY5IDAtMjQuOTkyMTg3IDkuNjYwMTU3LTI3LjY2NDA2MiAyMi40ODQzNzUtMS4xMjEwOTQtNC43MDcwMzEtMy4zOTg0MzgtOC45Njg3NS02LjUxMTcxOS0xMi40NzY1NjJ2LTY1LjMyMDMxM2MwLTE4Ljg0Mzc1IDE1LjMzMjAzMS0zNC4xNzk2ODcgMzQuMTc5Njg4LTM0LjE3OTY4NyAxOC44NDM3NSAwIDM0LjE2Nzk2OCAxNS4zMzU5MzcgMzQuMTY3OTY4IDM0LjE3OTY4N3YyNDUuOTg4Mjgxem0tNDcuMzMyMDMxLTQuNzE4NzVjMC03LjI1NzgxMiA1LjkwNjI1LTEzLjE2NDA2MiAxMy4xNjQwNjItMTMuMTY0MDYyIDcuMjU3ODEzIDAgMTMuMTY0MDYzIDUuOTA2MjUgMTMuMTY0MDYzIDEzLjE2NDA2MiAwIDcuMjYxNzE5LTUuOTA2MjUgMTMuMTY3OTY5LTEzLjE2NDA2MyAxMy4xNjc5NjktNy4yNTc4MTIgMC0xMy4xNjQwNjItNS45MDYyNS0xMy4xNjQwNjItMTMuMTY3OTY5em0wLTc4Ljg1MTU2MmMwLTcuMjU3ODEyIDUuOTA2MjUtMTMuMTY0MDYyIDEzLjE2NDA2Mi0xMy4xNjQwNjIgNy4yNTc4MTMgMCAxMy4xNjQwNjMgNS45MDYyNSAxMy4xNjQwNjMgMTMuMTY0MDYyIDAgNy4yNjE3MTktNS45MDYyNSAxMy4xNjc5NjktMTMuMTY0MDYzIDEzLjE2Nzk2OS03LjI1NzgxMiAwLTEzLjE2NDA2Mi01LjkwNjI1LTEzLjE2NDA2Mi0xMy4xNjc5Njl6bTAtNzguODUxNTYyYzAtNy4yNTc4MTMgNS45MDYyNS0xMy4xNjQwNjMgMTMuMTY0MDYyLTEzLjE2NDA2MyA3LjI1NzgxMyAwIDEzLjE2NDA2MyA1LjkwNjI1IDEzLjE2NDA2MyAxMy4xNjQwNjMgMCA3LjI1NzgxMi01LjkwNjI1IDEzLjE2NDA2Mi0xMy4xNjQwNjMgMTMuMTY0MDYyLTcuMjU3ODEyIDAtMTMuMTY0MDYyLTUuOTA2MjUtMTMuMTY0MDYyLTEzLjE2NDA2MnptMCAwIi8+DQogICAgPHBhdGggZD0ibTQ2Mi43MzgyODEgMjYuMjI2NTYyYy0xNS41ODIwMzEgMC0yOC4yNTc4MTIgMTIuNjc1NzgyLTI4LjI1NzgxMiAyOC4yNTc4MTMgMCAxNS41NzgxMjUgMTIuNjc1NzgxIDI4LjI1MzkwNiAyOC4yNTc4MTIgMjguMjUzOTA2IDE1LjU3ODEyNSAwIDI4LjI1MzkwNy0xMi42NzU3ODEgMjguMjUzOTA3LTI4LjI1MzkwNiAwLTE1LjU4MjAzMS0xMi42NzU3ODItMjguMjU3ODEzLTI4LjI1MzkwNy0yOC4yNTc4MTN6bTAgNDEuNDIxODc2Yy03LjI2MTcxOSAwLTEzLjE2Nzk2OS01LjkwNjI1LTEzLjE2Nzk2OS0xMy4xNjQwNjMgMC03LjI2MTcxOSA1LjkwNjI1LTEzLjE2NDA2MyAxMy4xNjc5NjktMTMuMTY0MDYzIDcuMjU3ODEzIDAgMTMuMTY0MDYzIDUuOTAyMzQ0IDEzLjE2NDA2MyAxMy4xNjQwNjMgMCA3LjI1NzgxMy01LjkwNjI1IDEzLjE2NDA2My0xMy4xNjQwNjMgMTMuMTY0MDYzem0wIDAiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",Kitchen:ONe,"Laundry Room":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDY0IDY0IiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im02MSAyaC01OGMtLjU1MiAwLTEgLjQ0OC0xIDF2NThjMCAuNTUyLjQ0OCAxIDEgMWg1OGMuNTUyIDAgMS0uNDQ4IDEtMXYtNThjMC0uNTUyLS40NDgtMS0xLTF6bS0xIDZoLTR2LTJjMC0uNTUyLS40NDgtMS0xLTFoLTZjLS41NTIgMC0xIC40NDgtMSAxdjJoLTNjLS41NTIgMC0xIC40NDgtMSAxdjloLTJ2LTE0aDE4em0tMTIuMTQyIDMxLTEuNjkyLTExaDkuNjY5bC0xLjY5MiAxMXptMS4xNDItMTNjMC0xLjEwMy44OTctMiAyLTJzMiAuODk3IDIgMnptOC43NTkuMzQ5Yy0uMTktLjIyMi0uNDY3LS4zNDktLjc1OS0uMzQ5aC0yYzAtMi4yMDYtMS43OTQtNC00LTRzLTQgMS43OTQtNCA0aC0yYy0uMjkyIDAtLjU2OS4xMjctLjc1OS4zNDlzLS4yNzQuNTE1LS4yMjkuODAzbDEuODIzIDExLjg0OGgtMy44MzV2LTE5aDE4djE5aC0zLjgzNWwxLjgyMy0xMS44NDhjLjA0NS0uMjg4LS4wMzktLjU4Mi0uMjI5LS44MDN6bS03Ljc1OS0xNy4zNDl2LTJoNHYxMWgtNHptLTIgOWgtMnYtOGgyem04IDB2LThoNHY4em0tMTYtMTR2MTRoLTJ2LTEwYzAtLjU1Mi0uNDQ4LTEtMS0xaC02Yy0uNTUyIDAtMSAuNDQ4LTEgMXYxMGgtMnYtN2MwLS4yNjUtLjEwNS0uNTItLjI5My0uNzA3bC0xLjcwNy0xLjcwN3YtMi41ODZjMC0uNTUyLS40NDgtMS0xLTFoLTRjLS41NTIgMC0xIC40NDgtMSAxdjIuNTg2bC0xLjcwNyAxLjcwN2MtLjE4OC4xODctLjI5My40NDItLjI5My43MDd2N2gtMnYtMTBjMC0uNTUyLS40NDgtMS0xLTFoLThjLS41NTIgMC0xIC40NDgtMSAxdjEwaC0ydi0xNHptLTQgMTRoLTR2LTloNHptLTExLjcwNy04LjI5MyAxLjcwNyAxLjcwN3Y2LjU4NmgtNnYtNi41ODZsMS43MDctMS43MDdjLjE4OC0uMTg3LjI5My0uNDQyLjI5My0uNzA3di0yaDJ2MmMwIC4yNjUuMTA1LjUyLjI5My43MDd6bS0xMC4yOTMgOC4yOTNoLTZ2LTloNnptLTEwIDJoMzZ2NDBoLTM2em00NSAyOGgtMnYtMWgyem0tMyAyaDQuNjQ5bDQuMzUxIDMuNDh2Ni41MmgtOXptMTEgMTB2LTdjMC0uMzA0LS4xMzgtLjU5MS0uMzc1LS43ODFsLTUtNGMtLjE3OC0uMTQyLS4zOTgtLjIxOS0uNjI1LS4yMTl2LTJjMC0uNTUyLS40NDgtMS0xLTFoLTRjLS41NTIgMC0xIC40NDgtMSAxdjJjLS41NTIgMC0xIC40NDgtMSAxdjExaC0ydi0xOWgxOHYxOXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTM3IDIyaC0zMGMtLjU1MiAwLTEgLjQ0OC0xIDF2MzRjMCAuNTUyLjQ0OCAxIDEgMWgzMGMuNTUyIDAgMS0uNDQ4IDEtMXYtMzRjMC0uNTUyLS40NDgtMS0xLTF6bS0xIDJ2NWgtMjh2LTV6bS0yOCAzMnYtMjVoMjh2MjV6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yMiAzM2MtNi4wNjUgMC0xMSA0LjkzNS0xMSAxMXM0LjkzNSAxMSAxMSAxMSAxMS00LjkzNSAxMS0xMS00LjkzNS0xMS0xMS0xMXptMCAyMGMtNC45NjIgMC05LTQuMDM4LTktOXM0LjAzOC05IDktOSA5IDQuMDM4IDkgOS00LjAzOCA5LTkgOXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTI2LjE5OSA0OC4yODYgMS4zOTkgMS40MjljLjY3Ny0uNjYzIDEuMjI2LTEuNDMyIDEuNjMxLTIuMjg2bC0xLjgwNy0uODU3Yy0uMzAzLjYzOS0uNzE0IDEuMjE2LTEuMjIzIDEuNzE0eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjIgMzZ2MmMzLjMwOSAwIDYgMi42OTEgNiA2aDJjMC00LjQxMS0zLjU4OS04LTgtOHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTEwIDI1aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTE0IDI1aDJ2MmgtMnoiLz4NCiAgICAgICAgPHBhdGggZD0ibTMyIDI1aDJ2MmgtMnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=","Living Area":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0ibTQ5NC41IDI3Ny42NjdoLTUuNXYtMzYuNWMwLTE1LjE2NC0xMi4zMzYtMjcuNS0yNy41LTI3LjVoLTExMGMtNy44NzUgMC0xNC45ODIgMy4zMzItMjAgOC42NTUtNS4wMTgtNS4zMjItMTIuMTI1LTguNjU1LTIwLTguNjU1aC0xMTBjLTcuODc1IDAtMTQuOTgyIDMuMzMyLTIwIDguNjU1LTUuMDE4LTUuMzIyLTEyLjEyNS04LjY1NS0yMC04LjY1NWgtNDAuNWMtNC4xNDIgMC03LjUgMy4zNTgtNy41IDcuNXMzLjM1OCA3LjUgNy41IDcuNWg0MC41YzYuODkzIDAgMTIuNSA1LjYwNyAxMi41IDEyLjV2NzcuMDE4Yy0zLjc1My0xLjkyNC04LTMuMDE4LTEyLjUtMy4wMThoLTEwMS41di0yMGMwLTkuNjQ5LTcuODUxLTE3LjUtMTcuNS0xNy41aC0zLjV2LTM2LjVjMC02Ljg5MyA1LjYwNy0xMi41IDEyLjUtMTIuNWgzNC41YzQuMTQyIDAgNy41LTMuMzU4IDcuNS03LjVzLTMuMzU4LTcuNS03LjUtNy41aC0zNC41Yy0xNS4xNjQgMC0yNy41IDEyLjMzNi0yNy41IDI3LjV2MzYuNWgtNi41Yy05LjY0OSAwLTE3LjUgNy44NTEtMTcuNSAxNy41djQyLjVjMCA0LjE0MiAzLjM1OCA3LjUgNy41IDcuNXM3LjUtMy4zNTggNy41LTcuNXYtNDIuNWMwLTEuMzc4IDEuMTIyLTIuNSAyLjUtMi41aDI1YzEuMzc4IDAgMi41IDEuMTIyIDIuNSAyLjV2MTQwLjVoLTI3LjVjLTEuMzc4IDAtMi41LTEuMTIyLTIuNS0yLjV2LTYwLjVjMC00LjE0Mi0zLjM1OC03LjUtNy41LTcuNXMtNy41IDMuMzU4LTcuNSA3LjV2NjAuNWMwIDkuNjQ5IDcuODUxIDE3LjUgMTcuNSAxNy41aDI3LjV2MTQuNjY3YzAgNi44OTMgNS42MDcgMTIuNSAxMi41IDEyLjVoMjVjNi44OTMgMCAxMi41LTUuNjA3IDEyLjUtMTIuNXYtMTQuNjY3aDMyMnYxNC42NjdjMCA2Ljg5MyA1LjYwNyAxMi41IDEyLjUgMTIuNWgyNWM2Ljg5MyAwIDEyLjUtNS42MDcgMTIuNS0xMi41di0xNC42NjdoMjcuNWM5LjY0OSAwIDE3LjUtNy44NTEgMTcuNS0xNy41di0xMzhjMC05LjY1LTcuODUxLTE3LjUtMTcuNS0xNy41em0tMTQzLTQ5aDExMGM2Ljg5MyAwIDEyLjUgNS42MDcgMTIuNSAxMi41djM2LjVoLTQuNWMtOS42NDkgMC0xNy41IDcuODUxLTE3LjUgMTcuNXYyMGgtMTAwLjVjLTQuNSAwLTguNzQ3IDEuMDkzLTEyLjUgMy4wMTh2LTc3LjAxOGMwLTYuODkzIDUuNjA3LTEyLjUgMTIuNS0xMi41em0tMjkxLjUgMjA3di0xNWgzMjZjNC4xNDIgMCA3LjUtMy4zNTggNy41LTcuNXMtMy4zNTgtNy41LTcuNS03LjVoLTMyNnYtMTUuNWgxMDEuNWM3Ljg3NSAwIDE0Ljk4Mi0zLjMzMiAyMC04LjY1NSA1LjAxOCA1LjMyMiAxMi4xMjUgOC42NTUgMjAgOC42NTVoMTEwYzcuODc1IDAgMTQuOTgyLTMuMzMyIDIwLTguNjU1IDUuMDE4IDUuMzIyIDEyLjEyNSA4LjY1NSAyMCA4LjY1NWgxMDAuNXYxNS41aC0zMWMtNC4xNDIgMC03LjUgMy4zNTgtNy41IDcuNXMzLjM1OCA3LjUgNy41IDcuNWgzMXYxNXptMzkyLTYwLjVoLTEwMC41Yy02Ljg5MyAwLTEyLjUtNS42MDctMTIuNS0xMi41di0yMGMwLTYuODkzIDUuNjA3LTEyLjUgMTIuNS0xMi41aDEwMC41em0tMTI4LTEyLjVjMCA2Ljg5My01LjYwNyAxMi41LTEyLjUgMTIuNWgtMTEwYy02Ljg5MyAwLTEyLjUtNS42MDctMTIuNS0xMi41di0yMGMwLTYuODkzIDUuNjA3LTEyLjUgMTIuNS0xMi41aDExMGM2Ljg5MyAwIDEyLjUgNS42MDcgMTIuNSAxMi41em0tMTIyLjUtMTM0aDExMGM2Ljg5MyAwIDEyLjUgNS42MDcgMTIuNSAxMi41djc3LjAxOGMtMy43NTMtMS45MjQtOC0zLjAxOC0xMi41LTMuMDE4aC0xMTBjLTQuNSAwLTguNzQ3IDEuMDkzLTEyLjUgMy4wMTh2LTc3LjAxOGMwLTYuODkzIDUuNjA3LTEyLjUgMTIuNS0xMi41em0tNDAgMTAxLjVjNi44OTMgMCAxMi41IDUuNjA3IDEyLjUgMTIuNXYyMGMwIDYuODkzLTUuNjA3IDEyLjUtMTIuNSAxMi41aC0xMDEuNXYtNDV6bS04MS41IDEzMi42NjZoLTIwdi0xMi4xNjdoMjB6bTM1MiAwdi0xMi4xNjdoMjB2MTIuMTY3em02NS0yOS42NjZjMCAxLjM3OC0xLjEyMiAyLjUtMi41IDIuNWgtMjcuNXYtMTQwLjVjMC0xLjM3OCAxLjEyMi0yLjUgMi41LTIuNWgyNWMxLjM3OCAwIDIuNSAxLjEyMiAyLjUgMi41eiIvPg0KICAgICAgICA8cGF0aCBkPSJtNjIgMTczLjY2N2g4OWM2Ljg5MyAwIDEyLjUtNS42MDcgMTIuNS0xMi41di01NmMwLTYuODkzLTUuNjA3LTEyLjUtMTIuNS0xMi41aC04OWMtNi44OTMgMC0xMi41IDUuNjA3LTEyLjUgMTIuNXY1NmMwIDYuODkyIDUuNjA3IDEyLjUgMTIuNSAxMi41em0yLjUtNjZoODR2NTFoLTg0eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMzYyIDE3My42NjdoODljNi44OTMgMCAxMi41LTUuNjA3IDEyLjUtMTIuNXYtNTZjMC02Ljg5My01LjYwNy0xMi41LTEyLjUtMTIuNWgtODljLTYuODkzIDAtMTIuNSA1LjYwNy0xMi41IDEyLjV2NTZjMCA2Ljg5MiA1LjYwNyAxMi41IDEyLjUgMTIuNXptMi41LTY2aDg0djUxaC04NHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTIwMC40OSAxMzAuMTY3aDExMi4wMmM2Ljg4NyAwIDEyLjQ5LTUuNjAzIDEyLjQ5LTEyLjQ5di0xNi41NDljMC00LjE0Mi0zLjM1OC03LjUtNy41LTcuNXMtNy41IDMuMzU4LTcuNSA3LjV2MTQuMDM5aC0xMDd2LTY2aDEwN3YxNi45NjFjMCA0LjE0MiAzLjM1OCA3LjUgNy41IDcuNXM3LjUtMy4zNTggNy41LTcuNXYtMTkuNDcyYzAtNi44ODctNS42MDMtMTIuNDktMTIuNDktMTIuNDloLTExMi4wMmMtNi44ODcgMC0xMi40OSA1LjYwMy0xMi40OSAxMi40OXY3MS4wMjFjMCA2Ljg4NiA1LjYwMyAxMi40OSAxMi40OSAxMi40OXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTIzMS44ODEgMjc4LjEwMmM3LjM0OSA0LjgyOCAxMy41MjIgMTEuMDAyIDE4LjM1MSAxOC4zNTEgMS4zODcgMi4xMSAzLjc0MyAzLjM4MSA2LjI2OCAzLjM4MXM0Ljg4MS0xLjI3MSA2LjI2OC0zLjM4MWM0LjgyOC03LjM0OSAxMS4wMDItMTMuNTIyIDE4LjM1MS0xOC4zNTEgMi4xMS0xLjM4NyAzLjM4MS0zLjc0MyAzLjM4MS02LjI2OHMtMS4yNzEtNC44ODEtMy4zODEtNi4yNjhjLTcuMzQ5LTQuODI4LTEzLjUyMi0xMS4wMDItMTguMzUxLTE4LjM1MS0xLjM4Ny0yLjExLTMuNzQzLTMuMzgxLTYuMjY4LTMuMzgxcy00Ljg4MSAxLjI3MS02LjI2OCAzLjM4MWMtNC44MjggNy4zNDktMTEuMDAyIDEzLjUyMi0xOC4zNTEgMTguMzUxLTIuMTEgMS4zODctMy4zODEgMy43NDMtMy4zODEgNi4yNjhzMS4yNzEgNC44ODEgMy4zODEgNi4yNjh6bTI0LjYxOS0xNC4zNDVjMi40OTQgMi44ODcgNS4xODkgNS41ODMgOC4wNzYgOC4wNzYtMi44ODcgMi40OTQtNS41ODMgNS4xODktOC4wNzYgOC4wNzYtMi40OTQtMi44ODctNS4xODktNS41ODMtOC4wNzYtOC4wNzYgMi44ODctMi40OTMgNS41ODItNS4xODggOC4wNzYtOC4wNzZ6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0zODEuODgxIDI3OC4xMDJjNy4zNDkgNC44MjggMTMuNTIyIDExLjAwMiAxOC4zNTEgMTguMzUxIDEuMzg3IDIuMTEgMy43NDMgMy4zODEgNi4yNjggMy4zODFzNC44ODEtMS4yNzEgNi4yNjgtMy4zODFjNC44MjgtNy4zNDkgMTEuMDAyLTEzLjUyMiAxOC4zNTEtMTguMzUxIDIuMTEtMS4zODcgMy4zODEtMy43NDMgMy4zODEtNi4yNjhzLTEuMjcxLTQuODgxLTMuMzgxLTYuMjY4Yy03LjM0OS00LjgyOC0xMy41MjItMTEuMDAyLTE4LjM1MS0xOC4zNTEtMS4zODctMi4xMS0zLjc0My0zLjM4MS02LjI2OC0zLjM4MXMtNC44ODEgMS4yNzEtNi4yNjggMy4zODFjLTQuODI4IDcuMzQ5LTExLjAwMiAxMy41MjItMTguMzUxIDE4LjM1MS0yLjExIDEuMzg3LTMuMzgxIDMuNzQzLTMuMzgxIDYuMjY4czEuMjcxIDQuODgxIDMuMzgxIDYuMjY4em0yNC42MTktMTQuMzQ1YzIuNDk0IDIuODg3IDUuMTg5IDUuNTgzIDguMDc2IDguMDc2LTIuODg3IDIuNDk0LTUuNTgzIDUuMTg5LTguMDc2IDguMDc2LTIuNDk0LTIuODg3LTUuMTg5LTUuNTgzLTguMDc2LTguMDc2IDIuODg3LTIuNDkzIDUuNTgyLTUuMTg4IDguMDc2LTguMDc2eiIvPg0KICAgICAgICA8cGF0aCBkPSJtMTAwLjIzMiAyNDcuMjE1Yy00LjgyOCA3LjM0OS0xMS4wMDIgMTMuNTIyLTE4LjM1MSAxOC4zNTEtMi4xMSAxLjM4Ny0zLjM4MSAzLjc0My0zLjM4MSA2LjI2OHMxLjI3MSA0Ljg4MSAzLjM4MSA2LjI2OGM3LjM0OSA0LjgyOCAxMy41MjIgMTEuMDAyIDE4LjM1MSAxOC4zNTEgMS4zODcgMi4xMSAzLjc0MyAzLjM4MSA2LjI2OCAzLjM4MXM0Ljg4MS0xLjI3MSA2LjI2OC0zLjM4MWM0LjgyOC03LjM0OSAxMS4wMDItMTMuNTIyIDE4LjM1MS0xOC4zNTEgMi4xMS0xLjM4NyAzLjM4MS0zLjc0MyAzLjM4MS02LjI2OHMtMS4yNzEtNC44ODEtMy4zODEtNi4yNjhjLTcuMzQ5LTQuODI4LTEzLjUyMi0xMS4wMDItMTguMzUxLTE4LjM1MS0xLjM4Ny0yLjExLTMuNzQzLTMuMzgxLTYuMjY4LTMuMzgxcy00Ljg4MSAxLjI3LTYuMjY4IDMuMzgxem0xNC4zNDQgMjQuNjE4Yy0yLjg4NyAyLjQ5NC01LjU4MyA1LjE4OS04LjA3NiA4LjA3Ni0yLjQ5NC0yLjg4Ny01LjE4OS01LjU4My04LjA3Ni04LjA3NiAyLjg4Ny0yLjQ5NCA1LjU4My01LjE4OSA4LjA3Ni04LjA3NiAyLjQ5NCAyLjg4OCA1LjE4OSA1LjU4MyA4LjA3NiA4LjA3NnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=","Living Room":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTQ3MywzMzEuOTE2VjI3My42NDhBMzkuNzEsMzkuNzEsMCwwLDAsNDMzLjMyOCwyMzRIMzc2VjE3MGg0NC4wMDlhNi4yODksNi4yODksMCwwLDAsNS43NDctOC4wMkw0MDQuODMxLDkyLjI0OEE1Ljk3Niw1Ljk3NiwwLDAsMCwzOTkuMDg0LDg4SDM0MC45MTZhNS45MzIsNS45MzIsMCwwLDAtNS43NDcsNC4yTDMxNC4yNDQsMTYxLjkyYTYuMzcyLDYuMzcyLDAsMCwwLC45MzQsNS40ODMsNi4xNzYsNi4xNzYsMCwwLDAsNC44MTMsMi42SDM2NHY2NEg4OC42NzVBMzkuNzEzLDM5LjcxMywwLDAsMCw0OSwyNzMuNjQ4djU4LjI2OGEzOS40MTcsMzkuNDE3LDAsMCwwLTM3LDM5LjU1NlY0NjMuMWE1LjkxNSw1LjkxNSwwLDAsMCw2LDUuOUgzNXYzMGE2LjI0Niw2LjI0NiwwLDAsMCw2LjI4LDZoNjcuODY3QTUuODc3LDUuODc3LDAsMCwwLDExNSw0OTlWNDY5SDQwN3YzMGE1Ljg3OSw1Ljg3OSwwLDAsMCw1Ljg1NSw2aDY3Ljg2OUE2LjI0Myw2LjI0MywwLDAsMCw0ODcsNDk5VjQ2OWgxN2E1LjkxMyw1LjkxMywwLDAsMCw2LTUuOVYzNzEuNDcyQTM5LjQxNywzOS40MTcsMCwwLDAsNDczLDMzMS45MTZaTTM0NS4zODEsMTAwaDQ5LjIzOGwxNy4zMjYsNThoLTgzLjg5Wk04OC42NzUsMjQ2SDQzMy4zMjhBMjcuNywyNy43LDAsMCwxLDQ2MSwyNzMuNjQ4djU5LjNhMzkuODU0LDM5Ljg1NCwwLDAsMC0zMCwzOC41MjZWMzkwSDkxVjM3MS40NzJhMzkuODU0LDM5Ljg1NCwwLDAsMC0zMC0zOC41MjZ2LTU5LjNBMjcuNywyNy43LDAsMCwxLDg4LjY3NSwyNDZaTTEwMyw0OTNINDdWNDY5aDU2Wm0zNzIsMEg0MTlWNDY5aDU2Wm0yMy0zNkgyNFYzNzEuNDcyYTI3LjUsMjcuNSwwLDEsMSw1NSwwVjM5NS44YTYuNDQ4LDYuNDQ4LDAsMCwwLDYuMzEsNi4ySDQzNi42OTNBNi40NDUsNi40NDUsMCwwLDAsNDQzLDM5NS44VjM3MS40NzJhMjcuNSwyNy41LDAsMSwxLDU1LDBaIi8+DQogICAgICAgIDxwYXRoIGQ9Ik0yMTQsMjAzLjIzOFY1Ni42MjZBNS42NCw1LjY0LDAsMCwwLDIwOC4wNjIsNTFoLTUzLjkyTDExMi4yNzIsOC45NDRhNS43MzcsNS43MzcsMCwwLDAtOC40ODQuMDQ3TDYxLjkxOSw1MUg4YTUuNjkzLDUuNjkzLDAsMCwwLTYsNS42MjZWMjAzLjIzOEE1LjgsNS44LDAsMCwwLDgsMjA5SDIwOC4wNjJBNS43NDksNS43NDksMCwwLDAsMjE0LDIwMy4yMzhaTTE3NCwxMzEuOGwtNDIuMjMsMTkuNjg2TDgwLjM2NSwxMTYuNDQzYTYuMjQ1LDYuMjQ1LDAsMCwwLTcuMTMxLjE2M0w0MSwxNDAuNjg2Vjg3SDE3NFpNNDEsMTU1LjY4OWwzNi4wNjItMjYuOTExLDUwLjg4NSwzNC41NDJhNi4xNyw2LjE3LDAsMCwwLDMuNDI3LDEuMDM5LDUuMTY5LDUuMTY5LDAsMCwwLDIuMzMyLS41NTdMMTc0LDE0NS4wMjVWMTczSDQxWk0xNzguMTU1LDc1SDM3LjY4OUwyMy4yNDMsNjNIMTkyLjVaTTI5LDg0LjA5MVYxNzYuMkwxNCwxODkuOTI4VjcwLjQ3M1pNMzcuNywxODVIMTc4LjE0bDEzLjc2NywxMkgyMy44MzVaTTE4NiwxNzYuMjFWODQuMDc4bDE2LTEzLjlWMTkwLjIyNlpNMTA4LjAzLDIxLjg1OSwxMzcuMTcyLDUxSDc4Ljg4OVoiLz4NCiAgICAgICAgPHBhdGggZD0iTTEyOC4zNzQsMTMzLjJhMjAuMjE0LDIwLjIxNCwwLDEsMC0yMC4yMTQtMjAuMjE0QTIwLjIzNiwyMC4yMzYsMCwwLDAsMTI4LjM3NCwxMzMuMlptMC0yOC40MjdhOC4yMTQsOC4yMTQsMCwxLDEtOC4yMTQsOC4yMTNBOC4yMjMsOC4yMjMsMCwwLDEsMTI4LjM3NCwxMDQuNzY4WiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzQ4Ljc4NywzMDguNDRhMjIuMDg3LDIyLjA4NywwLDAsMCwwLDIxLjY2MmwtOC40NzksOC40NzlhNiw2LDAsMSwwLDguNDg0LDguNDg1bDguNDc5LTguNDhhMjIuMDksMjIuMDksMCwwLDAsMjEuNjYyLDBsOC40NzgsOC40NzlhNiw2LDAsMCwwLDguNDg2LTguNDg1bC04LjQ4Ny04LjQ4OGEyMi4yMTEsMjIuMjExLDAsMCwwLDAtMjEuNjQ0bDguNDg3LTguNDg4YTYsNiwwLDAsMC04LjQ4Ni04LjQ4NWwtOC40NzgsOC40NzlhMjIuMDkyLDIyLjA5MiwwLDAsMC0yMS42NjEsMGwtOC40OC04LjQ3OWE2LDYsMCwxLDAtOC40ODQsOC40ODVabTE5LjMxNi42NzhhMTAuMTU2LDEwLjE1NiwwLDEsMS03LjE3OSwyLjk3NEExMC4wODMsMTAuMDgzLDAsMCwxLDM2OC4xLDMwOS4xMThaIi8+DQogICAgICAgIDxwYXRoIGQ9Ik0yMzguNzg3LDMwOC40NGEyMi4wODcsMjIuMDg3LDAsMCwwLDAsMjEuNjYybC04LjQ3OSw4LjQ3OWE2LDYsMCwxLDAsOC40ODQsOC40ODVsOC40NzktOC40OGEyMi4wOSwyMi4wOSwwLDAsMCwyMS42NjIsMGw4LjQ3OCw4LjQ3OWE2LDYsMCwwLDAsOC40ODYtOC40ODVsLTguNDg3LTguNDg4YTIyLjIxMSwyMi4yMTEsMCwwLDAsMC0yMS42NDRsOC40ODctOC40ODhhNiw2LDAsMCwwLTguNDg2LTguNDg1bC04LjQ3OCw4LjQ3OWEyMi4wOTIsMjIuMDkyLDAsMCwwLTIxLjY2MSwwbC04LjQ4LTguNDc5YTYsNiwwLDEsMC04LjQ4NCw4LjQ4NVptMTkuMzE2LjY3OGExMC4xNTYsMTAuMTU2LDAsMSwxLTcuMTc5LDIuOTc0QTEwLjA4MywxMC4wODMsMCwwLDEsMjU4LjEsMzA5LjExOFoiLz4NCiAgICAgICAgPHBhdGggZD0iTTEyOC43ODcsMzA4LjQ0YTIyLjA4NywyMi4wODcsMCwwLDAsMCwyMS42NjJsLTguNDc5LDguNDc5YTYsNiwwLDEsMCw4LjQ4NCw4LjQ4NWw4LjQ3OS04LjQ4YTIyLjA5LDIyLjA5LDAsMCwwLDIxLjY2MiwwbDguNDc4LDguNDc5YTYsNiwwLDAsMCw4LjQ4Ni04LjQ4NWwtOC40ODctOC40ODhhMjIuMjExLDIyLjIxMSwwLDAsMCwwLTIxLjY0NGw4LjQ4Ny04LjQ4OGE2LDYsMCwwLDAtOC40ODYtOC40ODVsLTguNDc4LDguNDc5YTIyLjA5MiwyMi4wOTIsMCwwLDAtMjEuNjYxLDBsLTguNDgtOC40NzlhNiw2LDAsMSwwLTguNDg0LDguNDg1Wm0xOS4zMTYuNjc4YTEwLjE1NiwxMC4xNTYsMCwxLDEtNy4xNzksMi45NzRBMTAuMDgzLDEwLjA4MywwLDAsMSwxNDguMSwzMDkuMTE4WiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K","Locker Room":"PHN2ZyBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDYwIDYwIiB3aWR0aD0iNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Im0yMyA0aC0xNWMtMi4yMDkxMzkgMC00IDEuNzkwODYxLTQgNHYzNGMwIDIuMjA5MTM5IDEuNzkwODYxIDQgNCA0aDZjLjU1MjI4NDcgMCAxLS40NDc3MTUzIDEtMXMtLjQ0NzcxNTMtMS0xLTFoLTZjLTEuMTA0NTY5NSAwLTItLjg5NTQzMDUtMi0ydi0zNGMwLTEuMTA0NTY5NS44OTU0MzA1LTIgMi0yaDE1YzEuMTA0NTY5NSAwIDIgLjg5NTQzMDUgMiAydjEyLjA1YzAgLjU1MjI4NDcuNDQ3NzE1MyAxIDEgMXMxLS40NDc3MTUzIDEtMXYtMTIuMDVjMC0yLjIwOTEzOS0xLjc5MDg2MS00LTQtNHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTExIDEyaDljLjU1MjI4NDcgMCAxLS40NDc3MTUzIDEtMXMtLjQ0NzcxNTMtMS0xLTFoLTljLS41NTIyODQ3IDAtMSAuNDQ3NzE1My0xIDFzLjQ0NzcxNTMgMSAxIDF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0xMSAxNmg5Yy41NTIyODQ3IDAgMS0uNDQ3NzE1MyAxLTFzLS40NDc3MTUzLTEtMS0xaC05Yy0uNTUyMjg0NyAwLTEgLjQ0NzcxNTMtMSAxcy40NDc3MTUzIDEgMSAxeiIvPg0KICAgICAgICA8cGF0aCBkPSJtMjEgMTljMC0uNTUyMjg0Ny0uNDQ3NzE1My0xLTEtMWgtOWMtLjU1MjI4NDcgMC0xIC40NDc3MTUzLTEgMXMuNDQ3NzE1MyAxIDEgMWg5Yy41NTIyODQ3IDAgMS0uNDQ3NzE1MyAxLTF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im05IDM1Yy0uNTUyMjg0NzUgMC0xIC40NDc3MTUzLTEgMXY1YzAgLjU1MjI4NDcuNDQ3NzE1MjUgMSAxIDFoM2MuNTUyMjg0NyAwIDEtLjQ0NzcxNTMgMS0xcy0uNDQ3NzE1My0xLTEtMWgtMnYtNGMwLS41NTIyODQ3LS40NDc3MTUyNS0xLTEtMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTUyIDBoLTE1Yy0yLjkxMjIxNDIuMDAxODA2OTEtNS41OTM0MDA4IDEuNTg2MDA1MTgtNyA0LjEzNi0xLjQwNjU5OTItMi41NDk5OTQ4Mi00LjA4Nzc4NTgtNC4xMzQxOTMwOS03LTQuMTM2aC0xNWMtNC40MTYyMjE5Mi4wMDQ5NTk4OC03Ljk5NTA0MDEyIDMuNTgzNzc4MDgtOCA4djM0Yy4wMDQ5NTk4OCA0LjQxNjIyMTkgMy41ODM3NzgwOCA3Ljk5NTA0MDEgOCA4aDZjLjU1MjI4NDcgMCAxLS40NDc3MTUzIDEtMXMtLjQ0NzcxNTMtMS0xLTFoLTZjLTMuMzEyMzM3NTctLjAwMzMwNzQtNS45OTY2OTI2Mi0yLjY4NzY2MjQtNi02di0zNGMuMDAzMzA3MzgtMy4zMTIzMzc1NyAyLjY4NzY2MjQzLTUuOTk2NjkyNjIgNi02aDE1YzMuMzEyMzM3Ni4wMDMzMDczOCA1Ljk5NjY5MjYgMi42ODc2NjI0MyA2IDZ2MTJjMCAuNTUyMjg0Ny40NDc3MTUzIDEgMSAxczEtLjQ0NzcxNTMgMS0xdi0xMmMuMDAzMzA3NC0zLjMxMjMzNzU3IDIuNjg3NjYyNC01Ljk5NjY5MjYyIDYtNmgxNWMzLjMxMjMzNzYuMDAzMzA3MzggNS45OTY2OTI2IDIuNjg3NjYyNDMgNiA2djM0Yy0uMDAzMzA3NCAzLjMxMjMzNzYtMi42ODc2NjI0IDUuOTk2NjkyNi02IDZoLTZjLS41NTIyODQ3IDAtMSAuNDQ3NzE1My0xIDFzLjQ0NzcxNTMgMSAxIDFoNmM0LjQxNjIyMTktLjAwNDk1OTkgNy45OTUwNDAxLTMuNTgzNzc4MSA4LTh2LTM0Yy0uMDA0OTU5OS00LjQxNjIyMTkyLTMuNTgzNzc4MS03Ljk5NTA0MDEyLTgtOHoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQ2IDQ2aDZjMi4yMDkxMzkgMCA0LTEuNzkwODYxIDQtNHYtMzRjMC0yLjIwOTEzOS0xLjc5MDg2MS00LTQtNGgtMTVjLTIuMjA5MTM5IDAtNCAxLjc5MDg2MS00IDR2MTIuMDVjMCAuNTUyMjg0Ny40NDc3MTUzIDEgMSAxczEtLjQ0NzcxNTMgMS0xdi0xMi4wNWMwLTEuMTA0NTY5NS44OTU0MzA1LTIgMi0yaDE1YzEuMTA0NTY5NSAwIDIgLjg5NTQzMDUgMiAydjM0YzAgMS4xMDQ1Njk1LS44OTU0MzA1IDItMiAyaC02Yy0uNTUyMjg0NyAwLTEgLjQ0NzcxNTMtMSAxcy40NDc3MTUzIDEgMSAxeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNDAgMTJoOWMuNTUyMjg0NyAwIDEtLjQ0NzcxNTMgMS0xcy0uNDQ3NzE1My0xLTEtMWgtOWMtLjU1MjI4NDcgMC0xIC40NDc3MTUzLTEgMXMuNDQ3NzE1MyAxIDEgMXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTQwIDE2aDljLjU1MjI4NDcgMCAxLS40NDc3MTUzIDEtMXMtLjQ0NzcxNTMtMS0xLTFoLTljLS41NTIyODQ3IDAtMSAuNDQ3NzE1My0xIDFzLjQ0NzcxNTMgMSAxIDF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im00MCAyMGg5Yy41NTIyODQ3IDAgMS0uNDQ3NzE1MyAxLTFzLS40NDc3MTUzLTEtMS0xaC05Yy0uNTUyMjg0NyAwLTEgLjQ0NzcxNTMtMSAxcy40NDc3MTUzIDEgMSAxeiIvPg0KICAgICAgICA8cGF0aCBkPSJtNDkgMjd2M2MwIC41NTIyODQ3LjQ0NzcxNTMgMSAxIDFzMS0uNDQ3NzE1MyAxLTF2LTNjMC0uNTUyMjg0Ny0uNDQ3NzE1My0xLTEtMXMtMSAuNDQ3NzE1My0xIDF6Ii8+DQogICAgICAgIDxwYXRoIGQ9Im0yNyAyM2MtMy44NjQxNjU3LjAwNDQwODYtNi45OTU1OTE0IDMuMTM1ODM0My03IDd2NmMtMS42NTY4NTQyIDAtMyAxLjM0MzE0NTgtMyAzdjE4YzAgMS42NTY4NTQyIDEuMzQzMTQ1OCAzIDMgM2gyMGMxLjY1Njg1NDIgMCAzLTEuMzQzMTQ1OCAzLTN2LTE4YzAtMS42NTY4NTQyLTEuMzQzMTQ1OC0zLTMtM3YtNmMtLjAwNDQwODYtMy44NjQxNjU3LTMuMTM1ODM0My02Ljk5NTU5MTQtNy03em0xNCAxNnYxOGMwIC41NTIyODQ3LS40NDc3MTUzIDEtMSAxaC0yMGMtLjU1MjI4NDcgMC0xLS40NDc3MTUzLTEtMXYtMThjMC0uNTUyMjg0Ny40NDc3MTUzLTEgMS0xaDIwYy41NTIyODQ3IDAgMSAuNDQ3NzE1MyAxIDF6bS03LTNoLTh2LTZjMC0uNTUyMjg0Ny40NDc3MTUzLTEgMS0xaDZjLjU1MjI4NDcgMCAxIC40NDc3MTUzIDEgMXptNC02djZoLTJ2LTZjMC0xLjY1Njg1NDItMS4zNDMxNDU4LTMtMy0zaC02Yy0xLjY1Njg1NDIgMC0zIDEuMzQzMTQ1OC0zIDN2NmgtMnYtNmMuMDAzMzA2MS0yLjc2MDA1MzIgMi4yMzk5NDY4LTQuOTk2NjkzOSA1LTVoNmMyLjc2MDA1MzIuMDAzMzA2MSA0Ljk5NjY5MzkgMi4yMzk5NDY4IDUgNXoiLz4NCiAgICAgICAgPHBhdGggZD0ibTMxLjIxMyA0MS4xNDRjLTEuNTA0MTcyLS4zNjkzNzI3LTMuMDk0NjQyNi0uMDI1NjA2OC00LjMxMi45MzItMS4yMTc4ODM0Ljk2MTgxMzQtMS45MjAxMjc1IDIuNDM0NjA4OS0xLjkwMDc0MDMgMy45ODYzNjU3LjAxOTM4NzEgMS41NTE3NTY4Ljc1ODIwNzYgMy4wMDY1NDgxIDEuOTk5NzQwMyAzLjkzNzYzNDN2M2MwIDEuNjU2ODU0MiAxLjM0MzE0NTggMyAzIDNzMy0xLjM0MzE0NTggMy0zdi0zYzEuNTQ0NTEwNy0xLjE1Njk1NDQgMi4yODUzNDkyLTMuMDk5NDU1NyAxLjkwMzUxOTEtNC45OTEwODUyLS4zODE4MzAxLTEuODkxNjI5Ni0xLjgxODE1ODctMy4zOTQ2NjQzLTMuNjkwNTE5MS0zLjg2MTkxNDh6bS41ODcgNy4yNTZjLS40OTcxNDc5LjM1NzYwNjYtLjc5NDI0MDEuOTMwNjIzMi0uOCAxLjU0M3YzLjA1N2MwIC41NTIyODQ3LS40NDc3MTUzIDEtMSAxcy0xLS40NDc3MTUzLTEtMXYtMy4wODFjLS4wMDU3MDgyLS42MDIwNTIyLS4yOTk0MjU5LTEuMTY0OTQ5Mi0uNzktMS41MTQtMS4wMzUwNTUzLS43NzE3ODcyLTEuNDYwMjE2NC0yLjExOTI1MDctMS4wNTU1MzY0LTMuMzQ1MzEzMXMxLjU0ODQyMS0yLjA1NTY4NjcgMi44Mzk1MzY0LTIuMDU5Njg2OWMuMjU1MDMwOS4wMDA1MDg1LjUwOTExNDQuMDMxMDUyMi43NTcuMDkxIDEuMDU1ODY4LjI2MzI0NjEgMS44ODI5MDcgMS4wODMzNzcyIDIuMTU1IDIuMTM3LjMxMzM3NDYgMS4xODM5Njk1LS4xMjQ0MTY1IDIuNDM5NTUxMi0xLjEwNiAzLjE3MnoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",Nursery:ENe,Office:_Ne,Outdoors:fNe,Playroom:SNe,Pool:xNe,"Rear Wall":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik01MDMuNDY3LDguNTMzSDM4NGMtNC43MSwwLTguNTMzLDMuODE0LTguNTMzLDguNTMzdjExOS40NjdWMjU2djUxLjJoLTY5LjczNWMwLjk0OC0yLjY3MSwxLjQ2OC01LjU0MiwxLjQ2OC04LjUzMw0KCQkJCWMwLTE0LjExNC0xMS40ODYtMjUuNi0yNS42LTI1LjZoLTE3LjA2N1YyNTZoODUuMzMzYzQuNzEsMCw4LjUzMy0zLjgxNCw4LjUzMy04LjUzM1YxMTAuOTMzYzAtNC43MTktMy44MjMtOC41MzMtOC41MzMtOC41MzMNCgkJCQlIMTYyLjEzM2MtNC43MSwwLTguNTMzLDMuODE0LTguNTMzLDguNTMzdjEzNi41MzNjMCw0LjcxOSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2g4NS4zMzN2MTcuMDY3SDIzMC40DQoJCQkJYy0xNC4xMTQsMC0yNS42LDExLjQ4Ni0yNS42LDI1LjZjMCwyLjk5MSwwLjUyMSw1Ljg2MiwxLjQ2OCw4LjUzM2gtNjkuNzM1VjI1NlYxMzYuNTMzVjE3LjA2N2MwLTQuNzE5LTMuODIzLTguNTMzLTguNTMzLTguNTMzDQoJCQkJSDguNTMzQzMuODIzLDguNTMzLDAsMTIuMzQ4LDAsMTcuMDY3djExOS40NjdWMjU2djExOS40Njd2MTE5LjQ2N2MwLDQuNzE5LDMuODIzLDguNTMzLDguNTMzLDguNTMzSDEyOGgyNTZoMTE5LjQ2Nw0KCQkJCWM0LjcxLDAsOC41MzMtMy44MTQsOC41MzMtOC41MzNWMzc1LjQ2N1YyNTZWMTM2LjUzM1YxNy4wNjdDNTEyLDEyLjM0OCw1MDguMTc3LDguNTMzLDUwMy40NjcsOC41MzN6IE0xNzAuNjY3LDE1My42aDE3MC42NjcNCgkJCQl2NTEuMkgxNzAuNjY3VjE1My42eiBNMzQxLjMzMywxMTkuNDY3djE3LjA2N0gxNzAuNjY3di0xNy4wNjdIMzQxLjMzM3ogTTE3MC42NjcsMjIxLjg2N2gxNzAuNjY3djE3LjA2N0gxNzAuNjY3VjIyMS44Njd6DQoJCQkJIE0zNzUuNDY3LDQ4Ni40SDI2NC41MzN2LTkzLjg2N2g1MS4yaDU5LjczM1Y0ODYuNHogTTMwNy4yLDM3NS40NjdIMjA0LjhWMzU4LjRoMTAyLjRWMzc1LjQ2N3ogTTQ5NC45MzMsMjQ3LjQ2N2gtMTcuMDY3VjE3OS4yDQoJCQkJYzAtNC43MTktMy44MjMtOC41MzMtOC41MzMtOC41MzNoLTI1LjZoLTI1LjZjLTQuNzEsMC04LjUzMywzLjgxNC04LjUzMyw4LjUzM3Y2OC4yNjdoLTE3LjA2N3YtMTAyLjRoMTAyLjRWMjQ3LjQ2N3oNCgkJCQkgTTQyNi42NjcsMjQ3LjQ2N3YtNTkuNzMzaDguNTMzdjU5LjczM0g0MjYuNjY3eiBNNDUyLjI2NywxODcuNzMzaDguNTMzdjU5LjczM2gtOC41MzNWMTg3LjczM3ogTTM5Mi41MzMsMzE1LjczM3YtNTEuMmgyNS42DQoJCQkJaDI1LjZoMjUuNmgyNS42djEwMi40aC0xMDIuNFYzMTUuNzMzeiBNMzkyLjUzMywyNS42aDEwMi40VjEyOGgtMTAyLjRWMjUuNnogTTIyMS44NjcsMjk4LjY2N2MwLTQuNzEsMy44MzEtOC41MzMsOC41MzMtOC41MzMNCgkJCQloNTEuMmM0LjcwMiwwLDguNTMzLDMuODIzLDguNTMzLDguNTMzcy0zLjgzMSw4LjUzMy04LjUzMyw4LjUzM2gtNTEuMkMyMjUuNjk4LDMwNy4yLDIyMS44NjcsMzAzLjM3NywyMjEuODY3LDI5OC42Njd6DQoJCQkJIE0yMzAuNCwzMjQuMjY3aDUxLjJoOTMuODY3djUxLjJoLTUxLjJWMzU4LjRjMC05LjQxMi03LjY1NC0xNy4wNjctMTcuMDY3LTE3LjA2N0gyMDQuOGMtOS40MTIsMC0xNy4wNjcsNy42NTQtMTcuMDY3LDE3LjA2Nw0KCQkJCXYxNy4wNjdoLTUxLjJ2LTUxLjJIMjMwLjR6IE01MS4yLDMzMi44aDM0LjEzM3Y4LjUzM0g1MS4yVjMzMi44eiBNODUuMzMzLDMxNS43MzNINTEuMlYzMDcuMmgzNC4xMzNWMzE1LjczM3ogTTUxLjIsMzU4LjQNCgkJCQloMzQuMTMzdjguNTMzSDUxLjJWMzU4LjR6IE0xMDIuNCwzNDkuODY3di0yNS42di0yNS42YzAtNC43MTktMy44MjMtOC41MzMtOC41MzMtOC41MzNoLTUxLjJjLTQuNzEsMC04LjUzMywzLjgxNC04LjUzMyw4LjUzMw0KCQkJCXYyNS42djI1LjZ2MTcuMDY3SDE3LjA2N3YtMTAyLjRoMTAyLjR2NTEuMnY1MS4ySDEwMi40VjM0OS44Njd6IE01OS43MzMsMTEwLjkzM0g3Ni44VjEyOEg1OS43MzNWMTEwLjkzM3ogTTUxLjIsMTQ1LjA2N2gzNC4xMzMNCgkJCQloMzQuMTMzdjEwMi40aC0xMDIuNHYtMTAyLjRINTEuMnogTTE3LjA2NywyNS42aDEwMi40VjEyOGgtMjUuNnYtMTcuMDY3YzQuNzEsMCw4LjUzMy0zLjgxNCw4LjUzMy04LjUzMw0KCQkJCWMwLTQuNzE5LTMuODIzLTguNTMzLTguNTMzLTguNTMzaC04LjUzM0g1MS4yaC04LjUzM2MtNC43MSwwLTguNTMzLDMuODE0LTguNTMzLDguNTMzYzAsNC43MTksMy44MjMsOC41MzMsOC41MzMsOC41MzNWMTI4DQoJCQkJaC0yNS42VjI1LjZ6IE0xNy4wNjcsMzg0aDI1LjZoNTEuMmgyNS42djEwMi40aC0xMDIuNFYzODR6IE0xMzYuNTMzLDM5Mi41MzNoNTkuNzMzaDUxLjJWNDg2LjRIMTM2LjUzM1YzOTIuNTMzeiBNNDk0LjkzMyw0ODYuNA0KCQkJCWgtMTcuMDY3di02OC4yNjdjMC00LjcxOS0zLjgyMy04LjUzMy04LjUzMy04LjUzM3MtOC41MzMsMy44MTQtOC41MzMsOC41MzNWNDg2LjRoLTguNTMzdi02OC4yNjcNCgkJCQljMC00LjcxOS0zLjgyMy04LjUzMy04LjUzMy04LjUzM3MtOC41MzMsMy44MTQtOC41MzMsOC41MzNWNDg2LjRoLTguNTMzdi02OC4yNjdjMC00LjcxOS0zLjgyMy04LjUzMy04LjUzMy04LjUzMw0KCQkJCXMtOC41MzMsMy44MTQtOC41MzMsOC41MzNWNDg2LjRoLTE3LjA2N1YzODRoMTAyLjRWNDg2LjR6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0yMjEuODY3LDQwOS42SDIwNC44Yy00LjcxLDAtOC41MzMsMy44MTQtOC41MzMsOC41MzNzMy44MjMsOC41MzMsOC41MzMsOC41MzNoOC41MzN2OC41MzMNCgkJCQljMCw0LjcxOSwzLjgyMyw4LjUzMyw4LjUzMyw4LjUzM2M0LjcxLDAsOC41MzMtMy44MTQsOC41MzMtOC41MzN2LTE3LjA2N0MyMzAuNCw0MTMuNDE0LDIyNi41NzcsNDA5LjYsMjIxLjg2Nyw0MDkuNnoiLz4NCiAgICAgICAgPHBhdGggZD0iTTMwNy4yLDQwOS42aC0xNy4wNjdjLTQuNzEsMC04LjUzMywzLjgxNC04LjUzMyw4LjUzM1Y0MzUuMmMwLDQuNzE5LDMuODIzLDguNTMzLDguNTMzLDguNTMzczguNTMzLTMuODE0LDguNTMzLTguNTMzDQoJCQkJdi04LjUzM2g4LjUzM2M0LjcxLDAsOC41MzMtMy44MTQsOC41MzMtOC41MzNTMzExLjkxLDQwOS42LDMwNy4yLDQwOS42eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K","Second Floor":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIuMDAyIDUxMi4wMDIiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIHN0cm9rZT0iIiBkPSJNNDc3LjQ0NCw0NzEuMDM0aC0zLjgzM2MtMy42NzktMTQuNDM1LTE1LjkyNi0yNS4zNTYtMzAuODU5LTI3LjI0MVYzMDguNTg3aDIuMTM4YzkuOTE3LDAsMTcuOTg1LTguMDY4LDE3Ljk4NS0xNy45ODYNCgkJCWMwLTkuOTE3LTguMDY4LTE3Ljk4NS0xNy45ODUtMTcuOTg1aC0yLjEzOFYxMjkuMzgyaDkuODE1YzcuMTk3LDAsMTMuMDUyLTUuODU1LDEzLjA1Mi0xMy4wNTJ2LTE0LjkwNA0KCQkJYzAtMC4wMzMtMC4wMDUtMC4wNjUtMC4wMDUtMC4wOThjLTAuMDAxLTAuMDk4LTAuMDA5LTAuMTk2LTAuMDE1LTAuMjk0Yy0wLjAwOS0wLjE3MS0wLjAyMS0wLjM0Mi0wLjA0Mi0wLjUxDQoJCQljLTAuMDExLTAuMDg5LTAuMDI2LTAuMTc3LTAuMDQxLTAuMjY2Yy0wLjAyOS0wLjE4My0wLjA2NS0wLjM2NC0wLjEwOC0wLjU0MmMtMC4wMS0wLjA0LTAuMDE0LTAuMDgxLTAuMDI0LTAuMTIxTDQ0Ni4xMjMsMjUuNDINCgkJCWMtMS41NzQtNi4wNi03LjA0Ny0xMC4yOTMtMTMuMzA3LTEwLjI5M2gtNDkuMTA1Yy00LjAyNSwwLTcuMjg3LDMuMjYyLTcuMjg3LDcuMjg3czMuMjYyLDcuMjg3LDcuMjg3LDcuMjg3aDQ4LjQ2OGwxNi43MzQsNjQuNDQNCgkJCUgzMzUuMzcyTDI5Mi4zNDcsMjkuN2g0NS44NjZjNC4wMjUsMCw3LjI4Ny0zLjI2Miw3LjI4Ny03LjI4N2MwLTQuMDI1LTMuMjYyLTcuMjg3LTcuMjg3LTcuMjg3aC01NS41OTZsLTAuOTI2LTEuMzg3DQoJCQlDMjc1Ljk0OCw1LjEzNywyNjYuMzQyLDAsMjU1Ljk5NywwYy0xMC4zNDUsMC0xOS45NSw1LjEzNi0yNS42OTQsMTMuNzM5bC0wLjkyNywxLjM4OEg3OS4xNzgNCgkJCWMtNi4yNjEsMC0xMS43MzMsNC4yMzItMTMuMzA3LDEwLjI5M0w0Ni42MDksOTkuNTk1Yy0wLjAxLDAuMDQtMC4wMTQsMC4wODEtMC4wMjQsMC4xMjFjLTAuMDQzLDAuMTc4LTAuMDc5LDAuMzU5LTAuMTA4LDAuNTQyDQoJCQljLTAuMDE0LDAuMDg5LTAuMDMsMC4xNzctMC4wNDEsMC4yNjZjLTAuMDIxLDAuMTY4LTAuMDMzLDAuMzM4LTAuMDQyLDAuNTFjLTAuMDA1LDAuMDk4LTAuMDE0LDAuMTk2LTAuMDE1LDAuMjk0DQoJCQljMCwwLjAzMy0wLjAwNSwwLjA2NS0wLjAwNSwwLjA5OHYxNC45MDRjMCw3LjE5Nyw1Ljg1NSwxMy4wNTIsMTMuMDUyLDEzLjA1Mmg5LjgxNXYxNDMuMjMzaC0yLjEzOA0KCQkJYy05LjkxNywwLTE3Ljk4NSw4LjA2OC0xNy45ODUsMTcuOTg1czguMDY4LDE3Ljk4NiwxNy45ODUsMTcuOTg2aDIuMTM4djQ2LjY5NmMwLDQuMDI0LDMuMjYyLDcuMjg3LDcuMjg3LDcuMjg3DQoJCQlzNy4yODctMy4yNjIsNy4yODctNy4yODd2LTQ2LjY5NmgzNDQuMzY0djEyOS4zMTFjLTAuMDU1LTAuMDMyLTAuMTEzLTAuMDYtMC4xNjktMC4wOTJjLTAuNzE0LTAuNDE1LTEuNDM5LTAuODEtMi4xNzYtMS4xODINCgkJCWMtMC4xNDQtMC4wNzMtMC4yOTEtMC4xMzktMC40MzUtMC4yMWMtMC42MTQtMC4zMDItMS4yMzUtMC41ODgtMS44NjMtMC44NTljLTAuMjEzLTAuMDkyLTAuNDI1LTAuMTgzLTAuNjM5LTAuMjcyDQoJCQljLTAuNzI3LTAuMy0xLjQ1OS0wLjU4NS0yLjIwMi0wLjg0NGMtMC4wNDQtMC4wMTUtMC4wODctMC4wMzMtMC4xMzEtMC4wNDljLTAuNzg0LTAuMjcxLTEuNTc4LTAuNTExLTIuMzc4LTAuNzM2DQoJCQljLTAuMjE5LTAuMDYyLTAuNDQtMC4xMTgtMC42Ni0wLjE3NmMtMC42NDItMC4xNjktMS4yODktMC4zMjMtMS45NC0wLjQ2MmMtMC4xODgtMC4wNC0wLjM3NS0wLjA4NS0wLjU2NC0wLjEyMw0KCQkJYy0wLjgxMi0wLjE2Mi0xLjYyOS0wLjMtMi40NTEtMC40MTRjLTAuMTc4LTAuMDI1LTAuMzU4LTAuMDQyLTAuNTM3LTAuMDY0Yy0wLjY3MS0wLjA4NC0xLjM0NS0wLjE1Mi0yLjAyMi0wLjIwNA0KCQkJYy0wLjIzNC0wLjAxOC0wLjQ2OC0wLjAzNi0wLjcwMi0wLjA1MWMtMC44NDItMC4wNTEtMS42ODUtMC4wODUtMi41MzMtMC4wODVjLTE1LjQ0NiwwLTI5LjY5OSw4LjYxLTM3LjA2MiwyMS45MTUNCgkJCWMtMC44NDYtMC4wMi0xLjY4NCwwLjAwMS0yLjUxNiwwLjA0NmMtMC4xOTUsMC4wMTEtMC4zODcsMC4wMzQtMC41ODEsMC4wNDhjLTAuNjM2LDAuMDQ3LTEuMjY4LDAuMTA3LTEuODk0LDAuMTkNCgkJCWMtMC4yMywwLjAzMS0wLjQ1OCwwLjA3MS0wLjY4NiwwLjEwN2MtMC41ODYsMC4wOTItMS4xNjgsMC4xOTctMS43NDQsMC4zMjFjLTAuMjM0LDAuMDUtMC40NjUsMC4xMDQtMC42OTcsMC4xNTkNCgkJCWMtMC41NzEsMC4xMzctMS4xMzUsMC4yODktMS42OTUsMC40NTdjLTAuMjE3LDAuMDY1LTAuNDM1LDAuMTI4LTAuNjUsMC4xOThjLTAuNTg4LDAuMTktMS4xNjcsMC40LTEuNzQsMC42MjQNCgkJCWMtMC4xNzEsMC4wNjctMC4zNDUsMC4xMjctMC41MTUsMC4xOTdjLTAuNzA1LDAuMjktMS4zOTksMC42MDItMi4wNzksMC45NDFjLTAuMDI4LDAuMDE0LTAuMDU4LDAuMDI2LTAuMDg2LDAuMDQNCgkJCWMtMC43MzMsMC4zNjktMS40NSwwLjc2Ni0yLjE1LDEuMTljLTAuMDY2LDAuMDQtMC4xMjksMC4wODYtMC4xOTUsMC4xMjdjLTAuNiwwLjM3LTEuMTg3LDAuNzU5LTEuNzYsMS4xNjkNCgkJCWMtMC4xODQsMC4xMzItMC4zNjEsMC4yNzItMC41NDIsMC40MDhjLTAuNDQ3LDAuMzM1LTAuODg4LDAuNjc3LTEuMzE2LDEuMDM2Yy0wLjIwNiwwLjE3Mi0wLjQwNywwLjM1MS0wLjYwOSwwLjUyOQ0KCQkJYy0wLjM5MSwwLjM0NS0wLjc3NCwwLjY5OC0xLjE0OCwxLjA2M2MtMC4yMDEsMC4xOTYtMC40MDEsMC4zOTQtMC41OTcsMC41OTZjLTAuMzY1LDAuMzc2LTAuNzE3LDAuNzYzLTEuMDY0LDEuMTU4DQoJCQljLTAuMTc4LDAuMjAzLTAuMzU5LDAuNDA0LTAuNTMzLDAuNjEyYy0wLjM2NywwLjQ0MS0wLjcxNywwLjg5Ny0xLjA2LDEuMzU5Yy0wLjEzMSwwLjE3Ni0wLjI2OSwwLjM0Ni0wLjM5NiwwLjUyNQ0KCQkJYy0wLjg4NSwxLjI0Ni0xLjY4OSwyLjU2LTIuMzkyLDMuOTQ0aC0zNS40NTdWMzQ2LjE4MWMwLTcuMTM1LTUuODA1LTEyLjkzOS0xMi45MzktMTIuOTM5aC03My4zNDkNCgkJCWMtNy4xMzUsMC0xMi45MzksNS44MDUtMTIuOTM5LDEyLjkzOXYxMjQuODUzaC02MC42MzljLTAuMTg4LTAuNDY5LTAuMzk5LTAuOTI1LTAuNjA1LTEuMzgzDQoJCQljLTAuMDg4LTAuMTk0LTAuMTY2LTAuMzk0LTAuMjU2LTAuNTg2Yy0wLjM1My0wLjc0OS0wLjcyOC0xLjQ4My0xLjEyOC0yLjIwMmMtMC4wNzUtMC4xMzUtMC4xNi0wLjI2My0wLjIzNi0wLjM5Nw0KCQkJYy0wLjMzMS0wLjU3Ny0wLjY3My0xLjE0Ny0xLjAzNC0xLjcwM2MtMC4xNTEtMC4yMzItMC4zMTEtMC40NTYtMC40NjctMC42ODVjLTAuMzA1LTAuNDQ4LTAuNjE2LTAuODkxLTAuOTQtMS4zMjQNCgkJCWMtMC4xODMtMC4yNDUtMC4zNzItMC40ODQtMC41NjItMC43MjRjLTAuMzItMC40MDUtMC42NDYtMC44MDMtMC45ODItMS4xOTNjLTAuMjAyLTAuMjM0LTAuNDA1LTAuNDY3LTAuNjEyLTAuNjk1DQoJCQljLTAuMzUyLTAuMzg4LTAuNzE0LTAuNzY2LTEuMDgxLTEuMTM4Yy0wLjIwNS0wLjIwNy0wLjQwNy0wLjQxNy0wLjYxNi0wLjYyYy0wLjQxOS0wLjQwNS0wLjg1Mi0wLjc5NC0xLjI5LTEuMTc4DQoJCQljLTAuMTcyLTAuMTUxLTAuMzM3LTAuMzA4LTAuNTExLTAuNDU1Yy0wLjYyMi0wLjUyNS0xLjI1OS0xLjAzMS0xLjkxNC0xLjUxM2MtMC4wNjctMC4wNDktMC4xMzctMC4wOTMtMC4yMDQtMC4xNDENCgkJCWMtMC41ODgtMC40MjYtMS4xODgtMC44MzYtMS44MDEtMS4yMjZjLTAuMjI1LTAuMTQ0LTAuNDU4LTAuMjc2LTAuNjg2LTAuNDE0Yy0wLjQ2Ny0wLjI4My0wLjkzOC0wLjU2Mi0xLjQxOC0wLjgyNA0KCQkJYy0wLjI3LTAuMTQ4LTAuNTQ1LTAuMjg3LTAuODE5LTAuNDI4Yy0wLjQ1Ni0wLjIzNC0wLjkxNi0wLjQ2MS0xLjM4My0wLjY3NmMtMC4yOS0wLjEzNC0wLjU4MS0wLjI2NC0wLjg3NS0wLjM5MQ0KCQkJYy0wLjQ3My0wLjIwMy0wLjk1My0wLjM5NC0xLjQzNi0wLjU3OGMtMC4yOTEtMC4xMS0wLjU3OS0wLjIyMy0wLjg3My0wLjMyNmMtMC41MjgtMC4xODYtMS4wNjUtMC4zNTMtMS42MDQtMC41MTQNCgkJCWMtMC4yNTYtMC4wNzctMC41MDgtMC4xNjItMC43NjYtMC4yMzNjLTAuOC0wLjIyMS0xLjYwOC0wLjQyMS0yLjQyOC0wLjU4OGMtMC41MjctMC43MTgtMS4wNzQtMS40MTgtMS42MzctMi4wOTkNCgkJCWMtMC4xOTMtMC4yMzMtMC4zOTgtMC40NTItMC41OTUtMC42ODFjLTAuMzc4LTAuNDQtMC43NTQtMC44ODItMS4xNDctMS4zMDZjLTAuMjQ2LTAuMjY1LTAuNTA1LTAuNTE0LTAuNzU3LTAuNzcyDQoJCQljLTAuMzYtMC4zNjktMC43MTYtMC43NDQtMS4wODctMS4xYy0wLjI3Ny0wLjI2NS0wLjU2Ni0wLjUxNC0wLjg0OS0wLjc3MmMtMC4zNjItMC4zMy0wLjcxOS0wLjY2NC0xLjA5MS0wLjk4MQ0KCQkJYy0wLjMwMS0wLjI1Ny0wLjYxNC0wLjQ5OC0wLjkyMS0wLjc0N2MtMC4zNjgtMC4yOTgtMC43MzItMC42LTEuMTA4LTAuODg2Yy0wLjMyMi0wLjI0NC0wLjY1NC0wLjQ3Mi0wLjk4MS0wLjcwNw0KCQkJYy0wLjM3Ni0wLjI3LTAuNzQ5LTAuNTQ0LTEuMTMzLTAuODAxYy0wLjMzOS0wLjIyNy0wLjY4Ny0wLjQzOS0xLjAzMS0wLjY1N2MtMC4zODctMC4yNDUtMC43NzEtMC40OTMtMS4xNjQtMC43MjUNCgkJCWMtMC4zNTMtMC4yMDktMC43MTUtMC40MDItMS4wNzQtMC42MDFjLTAuMzk3LTAuMjItMC43OTItMC40NDMtMS4xOTYtMC42NTFjLTAuMzY4LTAuMTktMC43NDItMC4zNjQtMS4xMTUtMC41NDQNCgkJCWMtMC40MDYtMC4xOTUtMC44MTEtMC4zOTMtMS4yMjQtMC41NzZjLTAuMzgtMC4xNjktMC43NjUtMC4zMjMtMS4xNS0wLjQ4MmMtMC40MTctMC4xNzEtMC44MzItMC4zNDQtMS4yNTUtMC41MDMNCgkJCWMtMC4zODktMC4xNDctMC43ODQtMC4yOC0xLjE3OC0wLjQxNmMtMC40MjctMC4xNDctMC44NTQtMC4yOTYtMS4yODYtMC40M2MtMC4zOTgtMC4xMjQtMC44MDEtMC4yMzYtMS4yMDQtMC4zNDkNCgkJCWMtMC40MzctMC4xMjMtMC44NzMtMC4yNDYtMS4zMTQtMC4zNTZjLTAuNDA3LTAuMTAxLTAuODE3LTAuMTkxLTEuMjI3LTAuMjgxYy0wLjQ0NS0wLjA5OC0wLjg5LTAuMTk0LTEuMzM4LTAuMjc5DQoJCQljLTAuNDE0LTAuMDc4LTAuODMxLTAuMTQ1LTEuMjQ4LTAuMjEyYy0wLjQ1My0wLjA3Mi0wLjkwNS0wLjE0My0xLjM2MS0wLjIwMmMtMC40Mi0wLjA1NC0wLjg0Mi0wLjA5OC0xLjI2NC0wLjE0MQ0KCQkJYy0wLjQ2LTAuMDQ3LTAuOTIxLTAuMDktMS4zODUtMC4xMjJjLTAuNDI0LTAuMDMtMC44NS0wLjA1MS0xLjI3Ni0wLjA2OWMtMC4yNjktMC4wMTItMC41MzQtMC4wMzYtMC44MDQtMC4wNDN2LTI5Ljg1MQ0KCQkJYzAtNC4wMjQtMy4yNjItNy4yODctNy4yODctNy4yODdjLTQuMDI1LDAtNy4yODcsMy4yNjItNy4yODcsNy4yODd2MzEuODU2Yy0xNy4wNTMsNS4yNzktMjkuODM5LDIwLjM1Ni0zMS43NSwzOC42MjNoLTIuOTQyDQoJCQljLTExLjI5NCwwLTIwLjQ4Myw5LjE4OS0yMC40ODMsMjAuNDgzczkuMTg5LDIwLjQ4MywyMC40ODMsMjAuNDgzaDQ0Mi44OTRjMTEuMjk0LDAsMjAuNDgzLTkuMTg5LDIwLjQ4My0yMC40ODMNCgkJCUM0OTcuOTI3LDQ4MC4yMjMsNDg4LjczOCw0NzEuMDM0LDQ3Ny40NDQsNDcxLjAzNHogTTIzOS4zMzMsMjYuNDZjMC0wLjAwMSwwLjAwMS0wLjAwMSwwLjAwMS0wLjAwMWwzLjA4OS00LjYyNw0KCQkJYzMuMDM0LTQuNTQ1LDguMTA5LTcuMjU4LDEzLjU3NC03LjI1OGM1LjQ2NSwwLDEwLjU0LDIuNzEzLDEzLjU3NCw3LjI1OWw0OC4yNzgsNzIuMzA4aC01LjIwMmwtNDYuMTAzLTY5LjA1Mw0KCQkJYy0yLjM1OC0zLjUzMS02LjMtNS42MzktMTAuNTQ2LTUuNjM5Yy00LjI0NiwwLTguMTg5LDIuMTA4LTEwLjU0Niw1LjYzOUwxOTkuMzQ3LDk0LjE0aC01LjIwMmw4Ljc3OC0xMy4xNDhMMjM5LjMzMywyNi40NnoNCgkJCSBNMjk1LjEyNCw5NC4xNEgyMTYuODdsMzkuMTI3LTU4LjYwNEwyOTUuMTI0LDk0LjE0eiBNNzkuODE2LDI5LjdoMTM5LjgzMUwyMDkuNTEsNDQuODgzTDE3Ni42MjIsOTQuMTRINjMuMDgxTDc5LjgxNiwyOS43eg0KCQkJIE02MC45NDgsMTE0LjgwOXYtNi4wOTZoMzkwLjA5OHY2LjA5Nkg2MC45NDh6IE00MjguMTc5LDEyOS4zODJ2MTQzLjIzM0g4My44MTVWMTI5LjM4Mkg0MjguMTc5eiBNNjcuMTA0LDI5NC4wMTQNCgkJCWMtMS44ODEsMC0zLjQxMi0xLjUzMS0zLjQxMi0zLjQxM2MwLTEuODgxLDEuNTMtMy40MTIsMy40MTItMy40MTJINDQ0Ljg5YzEuODgxLDAsMy40MTIsMS41MzEsMy40MTIsMy40MTINCgkJCWMwLDEuODgyLTEuNTMsMy40MTMtMy40MTIsMy40MTNINjcuMTA0eiBNMzYwLjQxNiw0NzAuODkzYzAuMzE3LTAuMTg3LDAuNjM4LTAuMzY4LDAuOTY3LTAuNTM1DQoJCQljMC4xNTYtMC4wNzksMC4zMTYtMC4xNDksMC40NzQtMC4yMjNjMC4yOC0wLjEzMSwwLjU2Mi0wLjI1NiwwLjg1LTAuMzcxYzAuMTgzLTAuMDczLDAuMzY4LTAuMTQyLDAuNTUzLTAuMjA4DQoJCQljMC4yNzItMC4wOTgsMC41NDctMC4xODcsMC44MjQtMC4yNzFjMC4yMDEtMC4wNiwwLjQwMi0wLjEyMSwwLjYwNS0wLjE3NGMwLjI3Ni0wLjA3MiwwLjU1Ni0wLjEzMiwwLjgzNi0wLjE5DQoJCQljMC4yMDctMC4wNDMsMC40MTEtMC4wOTEsMC42Mi0wLjEyNmMwLjM1Ni0wLjA2LDAuNzE4LTAuMTAyLDEuMDgxLTAuMTM5YzAuMTc2LTAuMDE4LDAuMzUyLTAuMDM5LDAuNTI5LTAuMDUyDQoJCQljMC40NDYtMC4wMzEsMC44OTYtMC4wNDcsMS4zNS0wLjA0M2MwLjMzNywwLjAwMywwLjY3OSwwLjAzMiwxLjAyLDAuMDU2YzAuMjM0LDAuMDE2LDAuNDY3LDAuMDIsMC43MDIsMC4wNDYNCgkJCWMwLjU3MiwwLjA2NSwxLjE0NiwwLjE1NSwxLjcxOSwwLjI3OWMzLjUwOSwwLjc1Niw3LjA0Ny0xLjE1NSw4LjMzNy00LjUwN2M0LjA5Mi0xMC42MzksMTQuNDk2LTE3Ljc4NywyNS44OTEtMTcuNzg3DQoJCQljNy45NSwwLDE1LjUzMywzLjQyOCwyMC44MDYsOS40MDZjMC4yMSwwLjIzOCwwLjQzMywwLjQ2LDAuNjY5LDAuNjY2YzAuMDEzLDAuMDExLDAuMDI4LDAuMDIsMC4wNDEsMC4wMzINCgkJCWMwLjkzMiwwLjgwNCwyLjA0MywxLjM1NSwzLjIzLDEuNjA4YzAuOTAzLDAuMTkzLDEuODQ4LDAuMjE2LDIuNzg3LDAuMDUxYzEwLjQxNi0xLjgzMSwxOS45NjQsMy44NjgsMjMuOTIyLDEyLjYyNGgtOTguMDYxDQoJCQlDMzYwLjI1LDQ3MC45ODUsMzYwLjMzNCw0NzAuOTQyLDM2MC40MTYsNDcwLjg5M3ogTTI5MS4wMzgsMzQ3LjgxNXYxMjMuMjE5aC03MC4wODJWMzQ3LjgxNUgyOTEuMDM4eiBNNzcuNzk3LDQ0NS4zNTINCgkJCWMwLjc2Ny0wLjEyMSwxLjUzNi0wLjIxNSwyLjMwNS0wLjI3OWMwLjA2Ni0wLjAwNSwwLjEzMi0wLjAwOSwwLjE5OC0wLjAxNGMwLjc4NC0wLjA2LDEuNTY3LTAuMDk2LDIuMzQzLTAuMDk2DQoJCQljMTAuNjg5LDAsMjAuNDY1LDUuNDI0LDI2LjE1LDE0LjUwOWMxLjE4OCwxLjg5OSwzLjE4NSwzLjE0Nyw1LjQxNCwzLjM4MWMwLjUyMywwLjA1NSwxLjAzOCwwLjEzNSwxLjU0OSwwLjIyNg0KCQkJYzAuMTE1LDAuMDIsMC4yMywwLjA0MSwwLjM0NSwwLjA2M2MwLjUsMC4wOTcsMC45OTUsMC4yMDgsMS40ODMsMC4zMzhjMC4wNjMsMC4wMTcsMC4xMjUsMC4wMzcsMC4xODksMC4wNTUNCgkJCWMwLjQ0NCwwLjEyMywwLjg4MSwwLjI2MSwxLjMxMywwLjQxMWMwLjA5OSwwLjAzNCwwLjE5OSwwLjA2NywwLjI5OCwwLjEwM2MwLjQ2NywwLjE2OSwwLjkyNywwLjM1MywxLjM3OSwwLjU1Mw0KCQkJYzAuMDg4LDAuMDM5LDAuMTc1LDAuMDgxLDAuMjYzLDAuMTIyYzAuNDAzLDAuMTg1LDAuOCwwLjM4LDEuMTksMC41ODhjMC4wNzQsMC4wMzksMC4xNDgsMC4wNzYsMC4yMjIsMC4xMTYNCgkJCWMwLjQzMSwwLjIzNiwwLjg1MiwwLjQ4OCwxLjI2NSwwLjc1MmMwLjA5NCwwLjA2LDAuMTg3LDAuMTIyLDAuMjgsMC4xODRjMC4zODgsMC4yNTcsMC43NjksMC41MjMsMS4xMzksMC44MDMNCgkJCWMwLjAzMiwwLjAyNCwwLjA2NiwwLjA0NywwLjA5OCwwLjA3MmMwLjM5MiwwLjMsMC43NywwLjYxNywxLjE0MSwwLjk0M2MwLjA4NywwLjA3NywwLjE3NCwwLjE1NCwwLjI2LDAuMjMyDQoJCQljMC4zNjUsMC4zMzEsMC43MjIsMC42NzEsMS4wNjQsMS4wMjdjMC4wMjksMC4wMywwLjA1NiwwLjA2MiwwLjA4NCwwLjA5MmMwLjMxOSwwLjMzNiwwLjYyNSwwLjY4MywwLjkyMywxLjAzOQ0KCQkJYzAuMDcyLDAuMDg2LDAuMTQ1LDAuMTcyLDAuMjE2LDAuMjZjMC4wNTMsMC4wNjYsMC4xMDEsMC4xMzYsMC4xNTQsMC4yMDJINTIuMTgxQzU0LjIyOSw0NTcuODY4LDY0LjY0Myw0NDcuNDM5LDc3Ljc5Nyw0NDUuMzUyeg0KCQkJIE00NzcuNDQ0LDQ5Ny40MjdIMzQuNTVjLTMuMjU5LDAtNS45MS0yLjY1MS01LjkxLTUuOTFjMC0zLjI1OSwyLjY1MS01LjkxLDUuOTEtNS45MWg0NDIuODk0YzMuMjU5LDAsNS45MSwyLjY1MSw1LjkxLDUuOTENCgkJCUM0ODMuMzU0LDQ5NC43NzYsNDgwLjcwMyw0OTcuNDI3LDQ3Ny40NDQsNDk3LjQyN3oiLz4NCiAgICAgICAgPHBhdGggIGQ9Ik0xODYuMjEzLDIzMS41NzJoLTMuMzM4di02NS43NDZjMC01LjcyNC00LjY1Ny0xMC4zOC0xMC4zOC0xMC4zOGgtNTkuMzU2Yy01LjcyNCwwLTEwLjM4LDQuNjU3LTEwLjM4LDEwLjM4djY1Ljc0Ng0KCQkJaC0zLjMzN2MtNC4wMjUsMC03LjI4NywzLjI2Mi03LjI4Nyw3LjI4N2MwLjAwMSw0LjAyNCwzLjI2Myw3LjI4Nyw3LjI4OCw3LjI4N2g4Ni43OWM0LjAyNSwwLDcuMjg3LTMuMjYyLDcuMjg3LTcuMjg3DQoJCQlDMTkzLjUsMjM0LjgzNSwxOTAuMjM4LDIzMS41NzIsMTg2LjIxMywyMzEuNTcyeiBNMTY4LjMwMywyMzEuNTczaC01MC45N3YtNjEuNTU0aDUwLjk3VjIzMS41NzN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0yOTkuNjY4LDIzMS41NzJoLTMuMzM4di02NS43NDZjMC01LjcyNC00LjY1Ny0xMC4zOC0xMC4zOC0xMC4zOGgtNTkuMzU1Yy01LjcyNCwwLTEwLjM4LDQuNjU3LTEwLjM4LDEwLjM4djY1Ljc0Ng0KCQkJaC0zLjMzOGMtNC4wMjUsMC03LjI4NywzLjI2Mi03LjI4Nyw3LjI4N2MwLjAwMSw0LjAyNCwzLjI2Myw3LjI4Nyw3LjI4Nyw3LjI4N2g4Ni43OTFjNC4wMjUsMCw3LjI4Ny0zLjI2Miw3LjI4Ny03LjI4Nw0KCQkJQzMwNi45NTUsMjM0LjgzNSwzMDMuNjkzLDIzMS41NzIsMjk5LjY2OCwyMzEuNTcyeiBNMjgxLjc1OCwyMzEuNTczaC01MC45N3YtNjEuNTU0aDUwLjk3VjIzMS41NzN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik00MTIuNTcyLDIzMS41NzJoLTMuMzM4di02NS43NDZjMC01LjcyNC00LjY1Ny0xMC4zOC0xMC4zNzktMTAuMzhoLTU5LjM1NmMtNS43MjQsMC0xMC4zOCw0LjY1Ny0xMC4zOCwxMC4zOHY2NS43NDYNCgkJCWgtMy4zMzhjLTQuMDI1LDAtNy4yODcsMy4yNjItNy4yODcsNy4yODdjMCw0LjAyNCwzLjI2Miw3LjI4Nyw3LjI4Nyw3LjI4N2g4Ni43OTFjNC4wMjUsMCw3LjI4Ny0zLjI2Miw3LjI4Ny03LjI4Nw0KCQkJQzQxOS44NTksMjM0LjgzNSw0MTYuNTk3LDIzMS41NzIsNDEyLjU3MiwyMzEuNTcyeiBNMzk0LjY2MSwyMzEuNTczaC01MC45N3YtNjEuNTU0aDUwLjk3VjIzMS41NzN6Ii8+DQogICAgICAgIDxwYXRoIG9wYWNpdHk9IjAuMjUiIGQ9Ik0xODIuODEzLDQxMy44MzNoLTAuNTI4di02MC4wNDVjMC01LjU2Ni00LjUyOS0xMC4wOTUtMTAuMDk1LTEwLjA5NWgtNTMuODg2Yy01LjU2NiwwLTEwLjA5NSw0LjUyOS0xMC4wOTUsMTAuMDk1djYwLjA0NQ0KCQkJaC0wLjUyOGMtNC4wMjUsMC03LjI4NywzLjI2Mi03LjI4Nyw3LjI4N2MwLDQuMDI1LDMuMjYyLDcuMjg3LDcuMjg3LDcuMjg3aDcuODE0aDU5LjUwNGg3LjgxNGM0LjAyNSwwLDcuMjg3LTMuMjYyLDcuMjg3LTcuMjg3DQoJCQlDMTkwLjEsNDE3LjA5NSwxODYuODM4LDQxMy44MzMsMTgyLjgxMyw0MTMuODMzeiBNMTY3LjcxMiw0MTMuODMzaC00NC45MzF2LTU1LjU2N2g0NC45MzFWNDEzLjgzM3oiLz4NCiAgICAgICAgPHBhdGggb3BhY2l0eT0iMC4yNSIgZD0iTTQwNC4zMTQsNDEzLjgzM2gtMC41Mjh2LTYwLjA0NWMwLTUuNTY2LTQuNTI5LTEwLjA5NS0xMC4wOTUtMTAuMDk1aC01My44ODZjLTUuNTY2LDAtMTAuMDk2LDQuNTI5LTEwLjA5NiwxMC4wOTV2NjAuMDQ1DQoJCQloLTAuNTI4Yy00LjAyNSwwLTcuMjg3LDMuMjYyLTcuMjg3LDcuMjg3YzAsNC4wMjUsMy4yNjIsNy4yODcsNy4yODcsNy4yODdoNy44MTRIMzk2LjVoNy44MTRjNC4wMjUsMCw3LjI4Ny0zLjI2Miw3LjI4Ny03LjI4Nw0KCQkJQzQxMS42MDEsNDE3LjA5NSw0MDguMzM5LDQxMy44MzMsNDA0LjMxNCw0MTMuODMzeiBNMzg5LjIxMyw0MTMuODMzaC00NC45MzJ2LTU1LjU2N2g0NC45MzJWNDEzLjgzM3oiLz4NCiAgICAgICAgPHBhdGggb3BhY2l0eT0iMC4yNSIgZD0iTTI3Ni41NDUsNDA1LjA4OWMtNC4wMjUsMC03LjI4NywzLjI2Mi03LjI4Nyw3LjI4N3YxMi42M2MwLDQuMDI0LDMuMjYyLDcuMjg3LDcuMjg3LDcuMjg3DQoJCQljNC4wMjUsMCw3LjI4Ny0zLjI2Miw3LjI4Ny03LjI4N3YtMTIuNjNDMjgzLjgzMiw0MDguMzUyLDI4MC41Nyw0MDUuMDg5LDI3Ni41NDUsNDA1LjA4OXoiLz4NCiAgICA8L2c+DQo8L3N2Zz4NCg==",Shed:kNe,"Sleeping Area":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ4MCA0ODAiPg0KICAgIDxnIGZpbGw9ImN1cnJlbnRDb2xvciI+DQogICAgICAgIDxwYXRoIGQ9Ik00NTYsMjI0Yy0xNC4xMzMsMC0yNCw2LjMwMS0yNCwxNS4zMnYyNy41MDVDNDE5LjMzMywyNDEuNzkzLDM5OS44NSwyMjQsMzc2LDIyNEgxNTJjLTQuNDE3LTAuMDAxLTcuOTk5LDMuNTc5LTgsNy45OTYNCgkJCWMwLDAuMDAxLDAsMC4wMDMsMCwwLjAwNHY0OC4wNjdjMC4wNDUtMTMuMDUyLTUuMjAxLTI2LjA3NS0xNS41ODYtMzUuNTgzYy0xOS41NTItMTcuOTAyLTQ5LjkxNS0xNi41NjQtNjcuODE2LDIuOTg5DQoJCQljLTE2Ljc2NCwxOC4zMDktMTYuODAxLDQ2LjM4LTAuMDg2LDY0LjczNGMtNC42MTIsMC41MDgtOC45NjgsMi4zOC0xMi41MTIsNS4zNzVWMTE1LjE5OUM0OCwxMDQuNDM0LDM3LjQ2MSw5NiwyNCw5Ng0KCQkJcy0yNCw4LjQzNC0yNCwxOS4xOTl2MzQ1LjYwMkMwLDQ3MS41NjYsMTAuNTM5LDQ4MCwyNCw0ODBzMjQtOC40MzQsMjQtMTkuMTk5VjQwOGgzODR2NTYuNjhjMCw5LjAxOSw5Ljg2NywxNS4zMiwyNCwxNS4zMg0KCQkJczI0LTYuMzAxLDI0LTE1LjMyVjIzOS4zMkM0ODAsMjMwLjMwMSw0NzAuMTMzLDIyNCw0NTYsMjI0eiBNMzIsNDYwLjgwMWMtMC4wODYsMC42NTYtMi43NzMsMy4xOTktOCwzLjE5OQ0KCQkJYy01LjI1LDAtNy45MjItMi41NDMtOC0zLjE5OVYxMTUuMTk5YzAuMDc4LTAuNjU2LDIuNzUtMy4xOTksOC0zLjE5OWM1LjIyNywwLDcuOTE0LDIuNTQzLDgsMy4xOTlWNDYwLjgwMXogTTE2MCwyNDBoMjE2DQoJCQljMzAuMTcyLDAsNTMuMTcyLDQ0LjkyNiw1NS43NTgsODhIMTYwVjI0MHogTTE0NCwyODAuMDgzdjM4LjU2Yy0zLjQ1Mi0zLjM1My03Ljg0OC01LjU2Ni0xMi41OTctNi4zNDINCgkJCUMxMzkuNzkzLDMwMy4xMzcsMTQzLjk1NiwyOTEuNiwxNDQsMjgwLjA4M3ogTTk2LDI0OGMxNy42NzMsMCwzMiwxNC4zMjcsMzIsMzJjMCwxNy42NzMtMTQuMzI3LDMyLTMyLDMycy0zMi0xNC4zMjctMzItMzINCgkJCUM2NC4wMTksMjYyLjMzNSw3OC4zMzUsMjQ4LjAxOSw5NiwyNDh6IE00MzIsMzkySDQ4di00OC4wMjNjNC4xNjMtMC4zMjgsNy4zNzQtMy44MDEsNy4zNzUtNy45NzcNCgkJCWMtMC4wNzctNC4zMzEsMy4zNjQtNy45MDksNy42OTUtOGg2NC42MWM0LjMzMSwwLjA5MSw3Ljc3MiwzLjY2OSw3LjY5NSw4Yy0wLjAwMSw0LjQxNywzLjU3OSw3Ljk5OSw3Ljk5Niw4DQoJCQljMC4wMDEsMCwwLjAwMywwLDAuMDA0LDBINDMyVjM5MnogTTQ2NCw0NjIuNTk0Yy01LjE2OSwxLjg3NS0xMC44MzEsMS44NzUtMTYsMFYyNDEuNDA2YzUuMTY5LTEuODc1LDEwLjgzMS0xLjg3NSwxNiwwVjQ2Mi41OTR6Ig0KICAgICAgICAvPg0KICAgICAgICA8cGF0aCBkPSJNMTM3LjA3OCwxNzZsMjkuMDctMzQuODc5YzEuOTg2LTIuMzg2LDIuNDEzLTUuNzA1LDEuMDk0LTguNTE2Yy0xLjMxNi0yLjgxLTQuMTM5LTQuNjA1LTcuMjQyLTQuNjA1aC00OHYxNmgzMC45MjINCgkJCWwtMjkuMDcsMzQuODc5Yy0yLjgyNywzLjM5OC0yLjM2NCw4LjQ0NCwxLjAzNCwxMS4yN2MxLjQzNywxLjE5NSwzLjI0NiwxLjg1LDUuMTE0LDEuODUxaDQ4di0xNkgxMzcuMDc4eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMjI0LjM1OSwxMzZsNDUuOTUzLTU5LjA5YzEuODc3LTIuNDExLDIuMjE3LTUuNjgxLDAuODc1LTguNDI2Yy0xLjM0NC0yLjc0My00LjEzMi00LjQ4My03LjE4OC00LjQ4NGgtNjR2MTZoNDcuNjQxDQoJCQlsLTQ1Ljk1Myw1OS4wOWMtMi43MTQsMy40ODQtMi4wODksOC41MDksMS4zOTYsMTEuMjIzYzEuNDA1LDEuMDk0LDMuMTM2LDEuNjg4LDQuOTE3LDEuNjg4aDY0di0xNkgyMjQuMzU5eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMzI4LDk2bDYyLjM5OC04My4xOTljMi42NTItMy41MzMsMS45MzktOC41NDYtMS41OTQtMTEuMTk5QzM4Ny40MTksMC41NjIsMzg1LjczMywwLDM4NCwwaC03MnYxNmg1NmwtNjIuMzk4LDgzLjE5OQ0KCQkJYy0xLjgxOCwyLjQyNC0yLjExMiw1LjY2OC0wLjc1OCw4LjM3OUMzMDYuMiwxMTAuMjg4LDMwOC45NywxMTIsMzEyLDExMmg4MFY5NkgzMjh6Ii8+DQogICAgPC9nPg0KPC9zdmc+DQo=",Stairway:YNe,Stairwell:QNe,Storeroom:UNe,"Summer House":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMS45OTkgNTExLjk5OSI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTE3My44MzIsMjI1LjI2M2gtNDMuMDM5Yy00LjE0MiwwLTcuNSwzLjM1OC03LjUsNy41djYwLjEzNGMwLDQuMTQyLDMuMzU3LDcuNSw3LjUsNy41aDQzLjAzOWM0LjE0MiwwLDcuNS0zLjM1OCw3LjUtNy41DQoJCQl2LTYwLjEzNEMxODEuMzMyLDIyOC42MjIsMTc3Ljk3NCwyMjUuMjYzLDE3My44MzIsMjI1LjI2M3ogTTE2Ni4zMzEsMjg1LjM5N2gtMjguMDM4di00NS4xMzNoMjguMDM4VjI4NS4zOTd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik00NTkuMTI3LDIwMS4xOTNjMy4zMTQsMi4yNzgsOC4wOTEsMS40NzEsMTAuNDMtMS45MzJjMCwwLDIzLjAwOS0zMy40NjksMjMuMDI5LTMzLjQ5OA0KCQkJYzIuMzE1LTMuMzY4LDEuNDI4LTguMTIxLTEuOTMyLTEwLjQzMUwyNzEuNzYzLDQuODYxYy05LjQyOS02LjQ4LTIyLjA5Ny02LjQ4MS0zMS41MjYsMGMwLDAtMTM5Ljc2Miw5Ni4wNzctMTQwLjI3Myw5Ni40MjgNCgkJCWMtNy45MTEsNS40MzgsMC40MjksMTcuOTEsOC40OTcsMTIuMzYzbDE0MC4yNzQtOTYuNDI5YzQuMzQ3LTIuOTg3LDEwLjE4Ny0yLjk4NywxNC41MzEtMC4wMDFsMjEyLjcwOSwxNDYuMjI0bC0xNC41MzEsMjEuMTM3DQoJCQljMCwwLTIwMS4xNDMtMTM4LjI3Mi0yMDEuMTk1LTEzOC4zMDhjLTIuNDk1LTEuNzE1LTUuOTk5LTEuNzE4LTguNDk4LTAuMDAxTDUwLjU1NywxODQuNTgzbC0xNC41My0yMS4xMzcNCgkJCWMwLDAsNDcuMTE3LTMyLjM5LDQ3LjI4OS0zMi41MDljNy44MDctNS4zNjYtMC40MTYtMTcuOTE3LTguNDk4LTEyLjM2MmMwLDAtNTMuMzAxLDM2LjY0LTUzLjQ3MSwzNi43NTcNCgkJCWMtMy4zNzQsMi4zMi00LjI0MSw3LjA3MS0xLjkzMywxMC40MzFsMjEuNzA5LDMxLjU3OXYzMDcuMTU2YzAsNC4xNDIsMy4zNTgsNy41LDcuNSw3LjVIMjU2YzQuMTQyLDAsNy41LTMuMzU4LDcuNS03LjVWMzk1Ljk3MQ0KCQkJSDQwMi42NHYxMDguNTI4YzAsNC4xNDIsMy4zNTgsNy41LDcuNTAxLDcuNWgzMC40ODhjNC4xNDIsMCw3LjUtMy4zNTgsNy41LTcuNVYzOTUuOTcxaDIzLjc2OWM0LjE0MiwwLDcuNS0zLjM1OCw3LjUtNy41di0zMC40ODcNCgkJCWMwLTQuMTQzLTMuMzU4LTcuNS03LjUtNy41aC0yMy43Njl2LTU3LjI1OWgyMy43NjljNC4xNDIsMCw3LjUtMy4zNTgsNy41LTcuNXYtMzAuNDg4YzAtNC4xNDItMy4zNTgtNy41LTcuNS03LjVoLTIzLjc2OXYtNTQuMTAzDQoJCQlMNDU5LjEyNywyMDEuMTkzeiBNNDE3LjY0MSwxODYuODc2aDE1LjQ4N3Y2MC44NThoLTE1LjQ4N1YxODYuODc2eiBNMjU2LDYxLjU1NmwzOS4wNzUsMjYuODYxaC03OC4xNDlMMjU2LDYxLjU1NnoNCgkJCSBNNTYuMTI1LDI3MC4zMzJoMzguMzk5djUzLjA1NWMwLDQuMTQxLDMuMzU4LDcuNSw3LjUsNy41SDIwMi42YzQuMTQyLDAsNy41MDEtMy4zNTgsNy41MDEtNy41di01My4wNTVoMzguMzk4djY4LjQ1Nkg1Ni4xMjUNCgkJCVYyNzAuMzMyeiBNMTA5LjUyNSwzMTUuODg2VjIwOS43NzdoODUuNTc1djEwNi4xMDlIMTA5LjUyNXogTTk0LjUyNCw0OTYuOTk4SDU2LjEyNXYtNTkuNzU0aDM4LjM5OVY0OTYuOTk4eiBNMTY2LjMzMSw0OTYuOTk3DQoJCQloLTI4LjAzOHYtODUuNzgzaDI4LjAzOFY0OTYuOTk3eiBNMTk1LjA5OSw0OTYuOTk3aC0xMy43Njd2LTkzLjI4M2MwLTQuMTQyLTMuMzU4LTcuNS03LjUtNy41aC00My4wMzkNCgkJCWMtNC4xNDIsMC03LjUwMSwzLjM1OC03LjUwMSw3LjV2OTMuMjgzaC0xMy43NjhWMzgwLjcyN2g4NS41NzVWNDk2Ljk5N3ogTTI0OC40OTksNDk2Ljk5OEgyMTAuMXYtNTkuNzU0aDM4LjM5OFY0OTYuOTk4eg0KCQkJIE0yNDguNSw0MjIuMjQ0aC0zOC4zOTl2LTQ5LjAxOGMtMC4wMDEtNC4xNDItMy4zNTktNy41LTcuNTAyLTcuNUgxMDIuMDI0Yy00LjE0MiwwLTcuNSwzLjM1OC03LjUsNy41MDF2NDkuMDE4SDU2LjEyNXYtNjguNDU2DQoJCQlIMjQ4LjVWNDIyLjI0NHogTTI0OC41LDI1NS4yMjVjMCwwLjAwMywwLDAuMDA2LDAsMC4wMXYwLjA5NmgtMzguMzk5di01My4wNTVjMC00LjE0Mi0zLjM1OC03LjUtNy41LTcuNUgxMDIuMDI0DQoJCQljLTQuMTQyLDAtNy41LDMuMzU4LTcuNSw3LjV2NTMuMDU1SDU2LjEyNXYtNTYuMzczbDE3LjY2My0xMi4xNDNjMC4yOTcsMC4wMzYsMC41OTcsMC4wNiwwLjkwNCwwLjA2SDI0OC41VjI1NS4yMjV6DQoJCQkgTTk1LjUyMywxNzEuODc1bDk5LjU4MS02OC40NTZoMTIxLjc5M2w5OS41ODEsNjguNDU2aC02LjMzNkg5NS41MjN6IE00MDIuNjQsMTg2Ljg3NnY2MC44NThIMjYzLjUwMXYtNjAuODU4SDQwMi42NHoNCgkJCSBNMjYzLjUwMSwyOTMuMjIzaDE1LjQ4NnY1Ny4yNTloLTE1LjQ4NlYyOTMuMjIzeiBNNDMzLjEyOCw0OTYuOTk4aC0xNS40ODdWMzk1Ljk3MWgxNS40ODdWNDk2Ljk5OHogTTQ2NC4zOTcsMzY1LjQ4NHYxNS40ODYNCgkJCUgyNjMuNTAxdi0xNS40ODZINDY0LjM5N3ogTTI5My45ODgsMzUwLjQ4MnYtNTcuMjU5aDE1LjQ4N3Y1Ny4yNTlIMjkzLjk4OHogTTMyNC40NzYsMzUwLjQ4MnYtNTcuMjU5aDE2LjMzN3Y1Ny4yNTlIMzI0LjQ3NnoNCgkJCSBNMzU1LjgxNCwzNTAuNDgydi01Ny4yNTloMTUuNDg3djU3LjI1OUgzNTUuODE0eiBNMzg2LjMwMiwzNTAuNDgydi01Ny4yNTloMTYuMzM3djU3LjI1OUgzODYuMzAyeiBNNDE3LjY0MSwzNTAuNDgydi01Ny4yNTkNCgkJCWgxNS40ODd2NTcuMjU5SDQxNy42NDF6IE00NjQuMzk3LDI2Mi43MzV2MTUuNDg3SDI2My41MDF2LTE1LjQ4N0g0NjQuMzk3eiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K","Swimming Pool":"PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4Ny43MzMgMTg3LjczMyI+DQogICAgPGcgZmlsbD0iY3VycmVudENvbG9yIj4NCiAgICAgICAgPHBhdGggZD0iTTE4Ny41OTksMTUxLjQ1OEwxNTMuNDY1LDMzLjE4NmMtMC40MjItMS40NjEtMS43NTgtMi40NjYtMy4yNzktMi40NjZIMzcuNTQ3Yy0xLjUyMSwwLTIuODU3LDEuMDA1LTMuMjc5LDIuNDY2DQoJCQlMMC4xMzUsMTUxLjQ1OEMwLjA0NCwxNTEuNzY1LDAsMTUyLjA4NSwwLDE1Mi40MDV2MjUuMDg4YzAsMS44ODQsMS41MjksMy40MTMsMy40MTMsMy40MTNIMTg0LjMyDQoJCQljMS44ODQsMCwzLjQxMy0xLjUyOSwzLjQxMy0zLjQxM3YtMjUuMDg4QzE4Ny43MzMsMTUyLjA4NSwxODcuNjg3LDE1MS43NjUsMTg3LjU5OSwxNTEuNDU4eiBNMTgwLjkwNywxNzQuMDhINi44Mjd2LTIxLjE5Mg0KCQkJTDQwLjExNSwzNy41NDdIMTQ3LjYybDMzLjI4NywxMTUuMzQyVjE3NC4wOHoiLz4NCiAgICAgICAgPHBhdGggZD0iTTc4LjUwNyw2LjgyN2MtMS44ODQsMC0zLjQxMywxLjUyOS0zLjQxMywzLjQxM3Y1MS4yYzAsMS44ODQsMS41MjksMy40MTMsMy40MTMsMy40MTNzMy40MTMtMS41MjksMy40MTMtMy40MTN2LTUxLjINCgkJCUM4MS45Miw4LjM1Niw4MC4zOTEsNi44MjcsNzguNTA3LDYuODI3eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTA5LjIyNyw2LjgyN2MtMS44ODQsMC0zLjQxMywxLjUyOS0zLjQxMywzLjQxM3Y1MS4yYzAsMS44ODQsMS41MjksMy40MTMsMy40MTMsMy40MTNjMS44ODQsMCwzLjQxMy0xLjUyOSwzLjQxMy0zLjQxMw0KCQkJdi01MS4yQzExMi42NCw4LjM1NiwxMTEuMTExLDYuODI3LDEwOS4yMjcsNi44Mjd6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0xMDkuMjI3LDE3LjA2N2gtMzAuNzJjLTEuODg0LDAtMy40MTMsMS41MjktMy40MTMsMy40MTNzMS41MjksMy40MTMsMy40MTMsMy40MTNoMzAuNzJjMS44ODQsMCwzLjQxMy0xLjUyOSwzLjQxMy0zLjQxMw0KCQkJUzExMS4xMTEsMTcuMDY3LDEwOS4yMjcsMTcuMDY3eiIvPg0KICAgICAgICA8cGF0aCBkPSJNMTA5LjIyNywzMC43MmgtMzAuNzJjLTEuODg0LDAtMy40MTMsMS41MjktMy40MTMsMy40MTNzMS41MjksMy40MTMsMy40MTMsMy40MTNoMzAuNzJjMS44ODQsMCwzLjQxMy0xLjUyOSwzLjQxMy0zLjQxMw0KCQkJUzExMS4xMTEsMzAuNzIsMTA5LjIyNywzMC43MnoiLz4NCiAgICAgICAgPHBhdGggZD0iTTEwOS4yMjcsNDQuMzczaC0zMC43MmMtMS44ODQsMC0zLjQxMywxLjUyOS0zLjQxMywzLjQxM3MxLjUyOSwzLjQxMywzLjQxMywzLjQxM2gzMC43MmMxLjg4NCwwLDMuNDEzLTEuNTI5LDMuNDEzLTMuNDEzDQoJCQlTMTExLjExMSw0NC4zNzMsMTA5LjIyNyw0NC4zNzN6Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0xNjMuNzg5LDE0Ni4xNzlsLTE3LjUxNi05OC45ODdjLTAuMjg4LTEuNjMtMS43MDUtMi44MTgtMy4zNi0yLjgxOEg0OC4zMjhjLTEuNjEzLDAtMy4wMDUsMS4xMjYtMy4zNCwyLjcwMw0KCQkJbC0yMS4wMTksOTguOTg3Yy0wLjIxMywxLjAwNywwLjAzOCwyLjA1NywwLjY4NiwyLjg1N2MwLjY0OSwwLjgsMS42MjEsMS4yNjUsMi42NTIsMS4yNjVoMTMzLjEyYzEuMDA5LDAsMS45NjYtMC40NDcsMi42MTYtMS4yMTkNCgkJCUMxNjMuNjkxLDE0OC4xOTUsMTYzLjk2NSwxNDcuMTc0LDE2My43ODksMTQ2LjE3OXogTTMxLjUyLDE0My4zNkw1MS4wODksNTEuMmg4OC45NThsMTYuMzA5LDkyLjE2SDMxLjUyeiIvPg0KICAgIDwvZz4NCjwvc3ZnPg0K",Terrace:vNe,Toilet:bNe,Upstairs:$Ne,Wardrobe:PNe,Washroom:WNe,Wc:RNe,Windscreen:JNe,Workshop:BNe,Workspace:GNe},HNe=[{_id:"hood",name:{en:"Hood",ru:"Вытяжка",de:"Abzugshaube",fr:"Capot",it:"Cappe",nl:"Hood",pl:"Okapy",pt:"Hood",es:"Campana","zh-cn":"抽油烟机"},icon:"Hoods.svg"},{_id:"alarm_system",name:{en:"Alarm System",ru:"Сигнализация",de:"Alarmanlage",fr:"Systèmes D'Alarme",it:"Sistemi Di Allarme",nl:"Alarm Systems",pl:"Systemy Alarmowe",pt:"Sistemas De Alarme",es:"Sistemas De Alarma","zh-cn":"报警系统"},icon:"Alarm Systems.svg"},{_id:"battery_status",name:{en:"Battery Status",ru:"Заряд батареи",de:"Batteriestatus",fr:"État De La Batterie",it:"Stato Della Batteria",nl:"Batterij Status",pl:"Stan Baterii",pt:"Estado Da Bateria",es:"Estado De La Batería","zh-cn":"电池状态"},icon:"Battery Status.svg"},{_id:"lighting",name:{en:"Lighting",ru:"Светильник",de:"Beleuchtung",fr:"Éclairages",it:"Illuminazione",nl:"Verlichting",pl:"Oprawy Oświetleniowe",pt:"Iluminações",es:"Iluminaciones","zh-cn":"照明"},icon:"Lightings.svg"},{_id:"shading",name:{en:"Shading",ru:"Затенение",de:"Beschattungen",fr:"Ombres",it:"Ombreggiatura",nl:"Shading",pl:"Zacienienie",pt:"Shading",es:"Sombreado","zh-cn":"底纹"},icon:"Shading.svg"},{_id:"irrigation",name:{en:"Irrigation",ru:"Орошение",de:"Bewässerung",fr:"Irrigation",it:"Irrigazione",nl:"Irrigatie",pl:"Nawadnianie",pt:"Irrigação",es:"Irrigación","zh-cn":"灌溉"},icon:"Irrigation.svg"},{_id:"iron",name:{en:"Iron",ru:"Утюг",de:"Bügeleisen",fr:"Le Fer",it:"Ferro",nl:"Ijzer",pl:"Żelazo",pt:"Ferro",es:"Hierro","zh-cn":"铁"},icon:"Iron.svg"},{_id:"computer",name:{en:"Computer",ru:"Компьютер",de:"Rechner",fr:"L'Ordinateur",it:"Computer",nl:"Computer",pl:"Komputer",pt:"Computador",es:"Ordenador","zh-cn":"电脑"},icon:"Computer.svg"},{_id:"ceiling_spotlight",name:{en:"Ceiling Spotlight",ru:"Потолочный прожектор",de:"Deckenspot",fr:"Plafond Spotlight",it:"Faretti A Soffitto",nl:"Plafond Spotlight",pl:"Reflektory Sufitowe",pt:"Tecto Foco",es:"Focos De Techo","zh-cn":"天花射灯"},icon:"Ceiling Spotlights.svg"},{_id:"printer",name:{en:"Printer",de:"Drucker",ru:"Принтер",pt:"Impressora",nl:"Printer",fr:"Imprimante",it:"Stampante",es:"Impresora",pl:"Drukarka","zh-cn":"打印机"},icon:"Printer.svg"},{_id:"power_consumption",name:{en:"Power Consumption",ru:"Потребляемая мощность",de:"Stromverbrauch",fr:"Consommation D'Énergie",it:"Consumo Di Energia",nl:"Energieverbruik",pl:"Pobór Energii",pt:"Consumo De Energia",es:"El Consumo De Energía","zh-cn":"能量消耗"},icon:"Power Consumption.svg"},{_id:"window",name:{en:"Window",ru:"Окно",de:"Fenster",fr:"La Fenêtre",it:"Finestra",nl:"Venster",pl:"Okno",pt:"Janela",es:"Ventana","zh-cn":"窗户"},icon:"Window.svg"},{_id:"garage_door",name:{en:"Garage Door",ru:"Гаражные Ворота",de:"Garagentor",fr:"Portes De Garage",it:"Garage Door",nl:"Garage Door",pl:"Bramy Garażowe",pt:"Portas De Garagem",es:"Las Puertas De Garaje","zh-cn":"车库门"},icon:"Garage Doors.svg"},{_id:"hairdryer",name:{en:"Hairdryer",ru:"Фен",de:"Haartrockner",fr:"Sèche-Cheveux",it:"Asciugacapelli",nl:"Haardroger",pl:"Suszarka Do Włosów",pt:"Secador De Cabelo",es:"Secador De Pelo","zh-cn":"电吹风"},icon:"Hairdryer.svg"},{_id:"hanging_lamp",name:{en:"Hanging Lamp",ru:"Подвесной светильник",de:"Hängelampe",fr:"Lampes Suspendues",it:"Lampade A Sospensione",nl:"Opknoping Lampen",pl:"Lampy Wiszące",pt:"Lâmpadas De Suspensão",es:"Lámparas Colgantes","zh-cn":"挂灯"},icon:"Hanging Lamps.svg"},{_id:"doorstep",name:{en:"Enterance",ru:"Входная дверь",de:"Haustür",fr:"Seuil De Porte",it:"Gradino Della Porta",nl:"Drempel",pl:"Próg",pt:"Porta",es:"Peldaño","zh-cn":"门阶"},icon:"Doorstep.svg"},{_id:"hot_water",name:{en:"Hot Water",ru:"Горячая вода",de:"Heißwasser",fr:"Eau Chaude",it:"Acqua Calda",nl:"Heet Water",pl:"Gorąca Woda",pt:"Água Quente",es:"Agua Caliente","zh-cn":"热水"},icon:"Hot Water.svg"},{_id:"heating",name:{en:"Heating",ru:"Отопление",de:"Heizung",fr:"Chauffe-Eau",it:"Riscaldatore",nl:"Verwarmer",pl:"Podgrzewacz",pt:"Aquecedor",es:"Calentador","zh-cn":"加热器"},icon:"Heater.svg"},{_id:"stove",name:{en:"Stove",ru:"Печь",de:"Herd",fr:"Le Fourneau",it:"Stufa",nl:"Fornuis",pl:"Kuchenka",pt:"Forno",es:"Cocina","zh-cn":"火炉"},icon:"Stove.svg"},{_id:"louvre",name:{en:"Louvre",ru:"Жалюзи",de:"Jalousie",fr:"Persienne",it:"Persiana Di Ventilazione",nl:"Louvre",pl:"Żaluzja",pt:"Trapeira",es:"Lumbrera","zh-cn":"卢浮宫"},icon:"Louvre.svg"},{_id:"coffee_maker",name:{en:"Coffee Maker",ru:"Кофеварка",de:"Kaffemaschine",fr:"Cafetière",it:"Macchine Da Caffè",nl:"Koffie Maker",pl:"Ekspresy Do Kawy",pt:"Cafeteira",es:"Cafetera","zh-cn":"咖啡壶"},icon:"Coffee Makers.svg"},{_id:"cold_water",name:{en:"Cold Water",ru:"Холодная вода",de:"Kaltwasser",fr:"Eau Froide",it:"Acqua Fredda",nl:"Koud Water",pl:"Zimna Woda",pt:"Água Fria",es:"Agua Fría","zh-cn":"冷水"},icon:"Cold Water.svg"},{_id:"climate",name:{en:"Climate",ru:"Климат",de:"Klima",fr:"Climat",it:"Clima",nl:"Klimaat",pl:"Klimat",pt:"Clima",es:"Clima","zh-cn":"气候"},icon:"Climate.svg"},{_id:"speaker",name:{en:"Speaker",ru:"Звуковая система",de:"Lautsprecher",fr:"Orateur",it:"Altoparlante",nl:"Spreker",pl:"Głośnik",pt:"Palestrante",es:"Altavoz","zh-cn":"扬声器"},icon:"Speaker.svg"},{_id:"led_strip",name:{en:"Led Strip",ru:"Светодиодная лента",de:"LED Leiste",fr:"Led Strip",it:"Led Strip",nl:"Loden Strip",pl:"Pasek Ledowy",pt:"Led Faixa",es:"Tira Llevada","zh-cn":"灯带"},icon:"Led Strip.svg"},{_id:"light",name:{en:"Light",ru:"Свет",de:"Licht",fr:"Lumière",it:"Leggero",nl:"Licht",pl:"Lekki",pt:"Luz",es:"Luz","zh-cn":"光"},icon:"Light.svg"},{_id:"fan",name:{en:"Fan",ru:"Вентилятор",de:"Lüfter",fr:"Ventilateur",it:"Fan",nl:"Ventilator",pl:"Wentylator",pt:"Ventilador",es:"Ventilador","zh-cn":"扇子"},icon:"Fan.svg"},{_id:"humidity",name:{en:"Humidity",ru:"Влажность",de:"Luftfeuchtigkeit",fr:"Humidité",it:"Umidità",nl:"Vochtigheid",pl:"Wilgotność",pt:"Umidade",es:"Humedad","zh-cn":"湿度"},icon:"Humidity.svg"},{_id:"ventilation",name:{en:"Ventilation",ru:"Вентиляция",de:"Lüftung",fr:"Ventilation",it:"Ventilazione",nl:"Ventilatie",pl:"Wentylacja",pt:"Ventilação",es:"Ventilación","zh-cn":"通风"},icon:"Ventilation.svg"},{_id:"chandelier",name:{en:"Chandelier",ru:"Люстра",de:"Kronleuchter",fr:"Lustre",it:"Lampadario",nl:"Kroonluchter",pl:"Żyrandol",pt:"Lustre",es:"Candelabro","zh-cn":"枝形吊灯"},icon:"Chandelier.svg"},{_id:"awning",name:{en:"Awning",ru:"Маркиза",de:"Markise",fr:"Auvents",it:"Tende",nl:"Luifels",pl:"Okrycia",pt:"Toldos",es:"Toldos","zh-cn":"遮阳篷"},icon:"Awnings.svg"},{_id:"music",name:{en:"Music",ru:"Музыка",de:"Musik",fr:"Musique",it:"Musica",nl:"Muziek",pl:"Muzyka",pt:"Música",es:"Música","zh-cn":"音乐"},icon:"Music.svg"},{_id:"people",name:{en:"People",ru:"Люди",de:"Personen",fr:"Gens",it:"Persone",nl:"Mensen",pl:"Ludzie",pt:"Pessoas",es:"Personas","zh-cn":"人们"},icon:"People.svg"},{_id:"pool",name:{en:"Pool",ru:"Бассейн",de:"Pool",fr:"Piscine",it:"Piscina",nl:"Zwembad",pl:"Basen",pt:"Piscina",es:"Piscina","zh-cn":"水池"},icon:"Pool.svg"},{_id:"pump",name:{en:"Pump",ru:"Насос",de:"Pumpe",fr:"Pompe",it:"Pompa",nl:"Pomp",pl:"Pompa",pt:"Bombear",es:"Bomba","zh-cn":"泵"},icon:"Pump.svg"},{_id:"outdoor_blinds",name:{en:"Outdoor Blinds",ru:"Внещгте жалюзи",de:"Raffstore",fr:"Volets",it:"Tende Da Esterni",nl:"Outdoor Blinds",pl:"Rolety Zewnętrzne",pt:"Estores Exteriores",es:"Persianas Exteriores","zh-cn":"室外百叶窗"},icon:"Outdoor Blinds.svg"},{_id:"mowing_machine",name:{en:"Mowing Machine",ru:"Газонокосилка",de:"Rasenmäher",fr:"Machine De Fauchage",it:"Macchina Di Falciatura",nl:"Maaimachine",pl:"Kosiarka",pt:"Roçada Máquina",es:"Segadora","zh-cn":"割草机"},icon:"Mowing Machine.svg"},{_id:"receiver",name:{en:"Receiver",ru:"Приставка",de:"Receiver",fr:"Destinataire",it:"Ricevitore",nl:"Ontvanger",pl:"Odbiorca",pt:"Recebedor",es:"Receptor","zh-cn":"接收者"},icon:"Receiver.svg"},{_id:"shutters",name:{en:"Shutters",ru:"Ставни",de:"Rollladen",fr:"Volets",it:"Persiane",nl:"Shutters",pl:"Żaluzje",pt:"Persianas",es:"Persianas","zh-cn":"百叶窗"},icon:"Shutters.svg"},{_id:"smoke_detector",name:{en:"Smoke detector",de:"Rauchmelder",ru:"Детектор дыма",pt:"Detector de fumaça",nl:"Rookdetector",fr:"Détecteur de fumée",it:"Rilevatore di fumo",es:"Detector de humo",pl:"Wykrywacz dymu","zh-cn":"烟雾探测器"},icon:"SmokeDetector.svg"},{_id:"lock",name:{en:"Lock",ru:"Замок",de:"Schloß",fr:"Fermer À Clé",it:"Serratura",nl:"Slot",pl:"Zamek",pt:"Trancar",es:"Cerrar Con Llave","zh-cn":"锁"},icon:"Lock.svg"},{_id:"security",name:{en:"Security",ru:"Безопасность",de:"Sicherheit",fr:"Sécurité",it:"Sicurezza",nl:"Veiligheid",pl:"Bezpieczeństwo",pt:"Segurança",es:"Seguridad","zh-cn":"安全"},icon:"Security.svg"},{_id:"dishwasher",name:{en:"Dishwasher",ru:"Посудомоечная машина",de:"Spülmaschine",fr:"Lave-Vaisselles",it:"Lavastoviglie",nl:"Vaatwassers",pl:"Zmywarki",pt:"Máquinas De Lavar Louça",es:"Lavaplatos","zh-cn":"洗碗机"},icon:"Dishwashers.svg"},{_id:"vacuum_cleaner",name:{en:"Vacuum Cleaner",ru:"Пылесос",de:"Staubsauger",fr:"Aspirateur",it:"Aspirapolvere",nl:"Stofzuiger",pl:"Odkurzacz",pt:"Aspirador De Pó",es:"Aspiradora","zh-cn":"吸尘器"},icon:"Vacuum Cleaner.svg"},{_id:"socket",name:{en:"Socket",ru:"Розетка",de:"Steckdose",fr:"Prise",it:"Socket",nl:"Socket",pl:"Gniazdka",pt:"Tomada",es:"Zócalo","zh-cn":"套接字"},icon:"Sockets.svg"},{_id:"floor_lamp",name:{en:"Floor Lamp",ru:"Торшер",de:"Stehlampe",fr:"Lampes Pour Plancher",it:"Lampade A Stelo",nl:"Vloerlampen",pl:"Lampy Podłogowe",pt:"Lâmpadas Chão",es:"Lámparas De Pie","zh-cn":"落地灯"},icon:"Floor Lamps.svg"},{_id:"power_consumption",name:{en:"Power Consumption",ru:"Потребляемая мощность",de:"Stromverbrauch",fr:"Consommation D'Énergie",it:"Consumo Di Energia",nl:"Energieverbruik",pl:"Pobór Energii",pt:"Consumo De Energia",es:"El Consumo De Energía","zh-cn":"能量消耗"},icon:"Power Consumption.svg"},{_id:"temperature_sensor",name:{en:"Temperature Sensor",ru:"Температурный датчик",de:"Temperatur-Sensor",fr:"Capteur De Température",it:"Sensori Di Temperatura",nl:"Temperatuursensor",pl:"Czujniki Temperatury",pt:"Sensores De Temperatura",es:"Sensores De Temperatura","zh-cn":"温度传感器"},icon:"Temperature Sensors.svg"},{_id:"table_lamp",name:{en:"Table Lamp",ru:"Настольная лампа",de:"Tischlampe",fr:"Lampe De Chevet",it:"Lampade Da Tavolo",nl:"Tafellampen",pl:"Lampy Stołowe",pt:"Lâmpadas De Mesa",es:"Lámparas De Mesa","zh-cn":"台灯"},icon:"Table Lamps.svg"},{_id:"gate",name:{en:"Gate",ru:"Ворота",de:"Tor",fr:"Porte",it:"Gate",nl:"Gate",pl:"Bramy",pt:"Portões",es:"Puertas","zh-cn":"盖茨"},icon:"Gates.svg"},{_id:"dryer",name:{en:"Dryer",ru:"Сушилка",de:"Trockner",fr:"Séchoir",it:"Asciugatrice",nl:"Droger",pl:"Suszarka",pt:"Secador",es:"Secadora","zh-cn":"烘干机"},icon:"Dryer.svg"},{_id:"door",name:{en:"Door",ru:"Дверь",de:"Tür",fr:"Des Portes",it:"Porte",nl:"Deuren",pl:"Drzwi",pt:"Portas",es:"Puertas","zh-cn":"门"},icon:"Doors.svg"},{_id:"tv",name:{en:"Tv",ru:"Телевизор",de:"TV",fr:"La Télé",it:"Tv",nl:"Tv",pl:"Telewizja",pt:"Televisão",es:"Televisor","zh-cn":"电视"},icon:"Tv.svg"},{_id:"consumption",name:{en:"Consumption",ru:"Потребление",de:"Verbrauch",fr:"Consommation",it:"Consumo",nl:"Consumptie",pl:"Konsumpcja",pt:"Consumo",es:"Consumo","zh-cn":"消费"},icon:"Consumption.svg"},{_id:"amplifier",name:{en:"Amplifier",ru:"Усилитель звука",de:"Verstärker",fr:"Amplificateur",it:"Amplificatore",nl:"Versterker",pl:"Wzmacniacz",pt:"Amplificador",es:"Amplificador","zh-cn":"放大器"},icon:"Amplifier.svg"},{_id:"curtains",name:{en:"Curtains",ru:"Шторы",de:"Vorhänge",fr:"Des Rideaux",it:"Le Tende",nl:"Gordijnen",pl:"Zasłony",pt:"Cortinas",es:"Cortinas","zh-cn":"窗帘"},icon:"Curtains.svg"},{_id:"sconce",name:{en:"Sconce",ru:"Настенный светильник",de:"Wandlampe",fr:"Sconce",it:"Sconce",nl:"Sconce",pl:"Kinkiety",pt:"Arandelas",es:"Los Apliques","zh-cn":"壁灯"},icon:"Sconces.svg"},{_id:"washing_machine",name:{en:"Washing Machine",ru:"Стиральная машина",de:"Waschmaschine",fr:"Machines À Laver",it:"Lavatrici",nl:"Wasmachines",pl:"Pralki",pt:"Máquinas De Lavar Roupas",es:"Lavadoras","zh-cn":"洗衣机"},icon:"Washing Machines.svg"},{_id:"water",name:{en:"Water",ru:"Вода",de:"Wasser",fr:"L'Eau",it:"Acqua",nl:"Water",pl:"Woda",pt:"Água",es:"Agua","zh-cn":"水"},icon:"Water.svg"},{_id:"water_heater",name:{en:"Water Heater",ru:"Нагреватель воды",de:"Wasserkocher",fr:"Chauffe-Eau",it:"Scaldabagno",nl:"Waterkoker",pl:"Podgrzewacz Wody",pt:"Aquecedor De Água",es:"Calentador De Agua","zh-cn":"热水器"},icon:"Water Heater.svg"},{_id:"water_consumption",name:{en:"Water Consumption",ru:"Потребление воды",de:"Wasserverbrauch",fr:"Consommation D'Eau",it:"Consumo D'Acqua",nl:"Waterverbruik",pl:"Konsumpcja Wody",pt:"Consumo De Água",es:"Consumo De Agua","zh-cn":"耗水量"},icon:"Water Consumption.svg"},{_id:"weather",name:{en:"Weather",ru:"Погода",de:"Wetter",fr:"La Météo",it:"Tempo Metereologico",nl:"Weer",pl:"Pogoda",pt:"Clima",es:"Tiempo","zh-cn":"天气"},icon:"Weather.svg"}],VNe=[{_id:"storeroom",name:{en:"Storeroom",ru:"Кладовая",de:"Abstellraum",fr:"Débarras",it:"Dispensa",nl:"Bergplaats",pl:"Magazyn",pt:"Despensa",es:"Trastero","zh-cn":"库房"},icon:"Storeroom.svg"},{_id:"second_floor",name:{en:"Second floor",ru:"Второй этаж",de:"Erster OG",pt:"Primeiro andar",nl:"Eerste verdieping",fr:"Premier étage",it:"Primo piano",es:"Primer piso",pl:"Pierwsze piętro","zh-cn":"第一层"},icon:"Second Floor.svg"},{_id:"dressing_room",name:{en:"Dressing Room",ru:"Гардеробная",de:"Ankleide",fr:"Vestiaire",it:"Camerino",nl:"Kleedkamer",pl:"Przebieralnia",pt:"Provador",es:"Vestidor","zh-cn":"更衣室"},icon:"Dressing Room.svg"},{_id:"workspace",name:{en:"Workspace",ru:"Рабочая Среда",de:"Arbeitszimmer",fr:"Espace De Travail",it:"Area Di Lavoro",nl:"Workspace",pl:"Workspace",pt:"Área De Trabalho",es:"Espacio De Trabajo","zh-cn":"工作区"},icon:"Workspace.svg"},{_id:"driveway",name:{en:"Driveway",ru:"Дорога",de:"Auffahrt",fr:"Allée",it:"Viale",nl:"Pad",pl:"Podjazd",pt:"Entrada Da Garagem",es:"Entrada De Coches","zh-cn":"车道"},icon:"Driveway.svg"},{_id:"outdoors",name:{en:"Outdoors",ru:"На Улице",de:"Außenbereich",fr:"En Plein Air",it:"All'Aperto",nl:"Buitenshuis",pl:"Na Dworze",pt:"Ao Ar Livre",es:"Al Aire Libre","zh-cn":"户外"},icon:"Outdoors.svg"},{_id:"bathroom",name:{en:"Bathroom",ru:"Ванная Комната",de:"Badezimmer",fr:"Salle De Bains",it:"Bagno",nl:"Badkamer",pl:"Łazienka",pt:"Banheiro",es:"Baño","zh-cn":"浴室"},icon:"Bathroom.svg"},{_id:"balcony",name:{en:"Balcony",ru:"Балкон",de:"Balkon",fr:"Balcon",it:"Balcone",nl:"Balkon",pl:"Balkon",pt:"Sacada",es:"Balcón","zh-cn":"阳台"},icon:"Balcony.svg"},{_id:"office",name:{en:"Office",ru:"Офис",de:"Office",fr:"Bureau",it:"Ufficio",nl:"Kantoor",pl:"Gabinet",pt:"Escritório",es:"Oficina","zh-cn":"办公室"},icon:"Office.svg"},{_id:"carport",name:{en:"Carport",ru:"Навес",de:"Carport",fr:"Carport",it:"Posto Auto Coperto",nl:"Carport",pl:"Wiata",pt:"Telheiro",es:"Cochera","zh-cn":"车棚"},icon:"Carport.svg"},{_id:"attic",name:{en:"Attic",ru:"Чердак",de:"Dachgeschoss",fr:"Grenier",it:"Attico",nl:"Zolder",pl:"Poddasze",pt:"Sótão",es:"Ático","zh-cn":"阁楼"},icon:"Attic.svg"},{_id:"hall",name:{en:"Hall",ru:"Зал",de:"Diele",fr:"Salle",it:"Sala",nl:"Hal",pl:"Sala",pt:"Corredor",es:"Sala","zh-cn":"大厅"},icon:"Hall.svg"},{_id:"entrance",name:{en:"Entrance",ru:"Вход",de:"Eingang",fr:"Entrée",it:"Ingresso",nl:"Ingang",pl:"Wejście",pt:"Entrada",es:"Entrada","zh-cn":"入口"},icon:"Entrance.svg"},{_id:"ground_floor",name:{en:"Ground Floor",ru:"Первый Этаж",de:"Erdgeschoss",fr:"Rez-De-Chaussée",it:"Piano Terra",nl:"Begane Grond",pl:"Parter",pt:"Térreo",es:"Planta Baja","zh-cn":"一楼"},icon:"Ground Floor.svg"},{_id:"dining_area",name:{en:"Dining Area",ru:"Столовая",de:"Essbereich",fr:"Salle À Manger",it:"Zona Pranzo",nl:"Eethoek",pl:"Jadalnia",pt:"Área De Refeições",es:"Comedor","zh-cn":"用餐区"},icon:"Dining Area.svg"},{_id:"dining_room",name:{en:"Dining Room",ru:"Столовая",de:"Esszimmer",fr:"Salle À Manger",it:"Sala Da Pranzo",nl:"Eetkamer",pl:"Jadalnia",pt:"Sala De Jantar",es:"Comedor","zh-cn":"饭厅"},icon:"Dining Room.svg"},{_id:"gym",name:{en:"Gym",ru:"Спортзал",de:"Fitnessraum",fr:"Gym",it:"Palestra",nl:"Sportschool",pl:"Siłownia",pt:"Ginásio",es:"Gimnasio","zh-cn":"健身房"},icon:"Gym.svg"},{_id:"gallery",name:{en:"Gallery",ru:"Галерея",de:"Galerie",fr:"Galerie",it:"Galleria",nl:"Galerij",pl:"Galeria",pt:"Galeria",es:"Galería","zh-cn":"画廊"},icon:"Gallery.svg"},{_id:"garage",name:{en:"Garage",ru:"Гараж",de:"Garage",fr:"Garage",it:"Box Auto",nl:"Garage",pl:"Garaż",pt:"Garagem",es:"Garaje","zh-cn":"车库"},icon:"Garage.svg"},{_id:"wardrobe",name:{en:"Wardrobe",ru:"Гардероб",de:"Garderobe",fr:"Penderie",it:"Armadio",nl:"Garderobe",pl:"Szafa",pt:"Guarda Roupa",es:"Armario","zh-cn":"衣柜"},icon:"Wardrobe.svg"},{_id:"garden",name:{en:"Garden",ru:"Сад",de:"Garten",fr:"Jardin",it:"Giardino",nl:"Tuin",pl:"Ogród",pt:"Jardim",es:"Jardín","zh-cn":"花园"},icon:"Garden.svg"},{_id:"summer_house",name:{en:"Summer House",ru:"Дача",de:"Gartenhaus",fr:"Maison D'Été",it:"Casa Estiva",nl:"Zomerhuis",pl:"Domek Letniskowy",pt:"Summer House",es:"Casa De Verano","zh-cn":"凉亭"},icon:"Summer House.svg"},{_id:"guest_bathroom",name:{en:"Guest Bathroom",ru:"Гостевая Комната",de:"Gäste-WC",fr:"Salle De Bains Invité",it:"Guest Bathroom",nl:"Gastenbadkamer",pl:"Łazienka Gościnna",pt:"Banheiro De Hóspedes",es:"Baño De Visitas","zh-cn":"客用浴室"},icon:"Guest Bathroom.svg"},{_id:"guest_room",name:{en:"Guest Room",ru:"Гостевая Комната",de:"Gästezimmer",fr:"Chambre D'Amis",it:"Stanza Degli Ospiti",nl:"Guest Room",pl:"Pokój Gościnny",pt:"Quarto De Hóspedes",es:"Habitación De Huéspedes","zh-cn":"客房"},icon:"Guest Room.svg"},{_id:"laundry_room",name:{en:"Laundry Room",ru:"Прачечная",de:"Hauswirtschaftsraum",fr:"Buanderie",it:"Lavanderia",nl:"Wasruimte",pl:"Pralnia",pt:"Lavandaria",es:"Cuarto De Lavado","zh-cn":"洗衣房"},icon:"Laundry Room.svg"},{_id:"home_theater",name:{en:"Home Theater",ru:"Домашний Театр",de:"Heimkino",fr:"Cinéma Maison",it:"Home Theater",nl:"Thuisbioscoop",pl:"Kino Domowe",pt:"Cinema Em Casa",es:"Cine En Casa","zh-cn":"家庭电影院"},icon:"Home Theater.svg"},{_id:"boiler_room",name:{en:"Boiler Room",ru:"Бойлерная",de:"Heizungsraum",fr:"Chaufferie",it:"Locale Caldaia",nl:"Boiler Room",pl:"Kotłownia",pt:"Sala Da Caldeira",es:"Sala De Calderas","zh-cn":"锅炉房"},icon:"Boiler Room.svg"},{_id:"chamber",name:{en:"Chamber",ru:"Камера",de:"Kammer",fr:"Chambre",it:"Camera",nl:"Kamer",pl:"Izba",pt:"Câmara",es:"Cámara","zh-cn":"商会"},icon:"Chamber.svg"},{_id:"basement,_cellar",name:{en:"Basement, Cellar",ru:"Подвал, Погреб",de:"Keller",fr:"Sous-Sol, Cave",it:"Taverna, Cantina",nl:"Kelder, Kelder",pl:"Piwnica, Piwnica",pt:"Porão, Adega",es:"Sótano, Bodega","zh-cn":"地下室,地窖"},icon:"Basement.svg"},{_id:"nursery",name:{en:"Nursery",ru:"Питомник",de:"Kinderzimmer",fr:"Garderie",it:"Asilo",nl:"Kinderkamer",pl:"Żłobek",pt:"Berçário",es:"Guardería","zh-cn":"苗圃"},icon:"Nursery.svg"},{_id:"corridor",name:{en:"Corridor",ru:"Коридор",de:"Korridor",fr:"Couloir",it:"Corridoio",nl:"Gang",pl:"Korytarz",pt:"Corredor",es:"Corredor","zh-cn":"走廊"},icon:"Corridor.svg"},{_id:"kitchen",name:{en:"Kitchen",ru:"Кухня",de:"Küche",fr:"Cuisine",it:"Cucina",nl:"Keuken",pl:"Kuchnia",pt:"Cozinha",es:"Cocina","zh-cn":"厨房"},icon:"Kitchen.svg"},{_id:"upstairs",name:{en:"Upstairs",ru:"Вверх По Лестнице",de:"Obergeschoss",fr:"En Haut",it:"Di Sopra",nl:"Boven",pl:"Na Górę",pt:"Andar De Cima",es:"Piso Superior","zh-cn":"楼上"},icon:"Upstairs.svg"},{_id:"office",name:{en:"Office",ru:"Офис",de:"Office",fr:"Bureau",it:"Ufficio",nl:"Kantoor",pl:"Gabinet",pt:"Escritório",es:"Oficina","zh-cn":"办公室"},icon:"Office.svg"},{_id:"pool",name:{en:"Pool",ru:"Бассейн",de:"Pool",fr:"Piscine",it:"Piscina",nl:"Zwembad",pl:"Basen",pt:"Piscina",es:"Piscina","zh-cn":"水池"},icon:"Pool.svg"},{_id:"rear_wall",name:{en:"Rear Wall",ru:"Задняя Стенка",de:"Rückwand",fr:"Paroi Arrière",it:"Parete Posteriore",nl:"Achterwand",pl:"Tylna Ściana",pt:"Parede Traseira",es:"Pared Posterior","zh-cn":"后墙"},icon:"Rear Wall.svg"},{_id:"barn",name:{en:"Barn",ru:"Амбар",de:"Scheune",fr:"Grange",it:"Fienile",nl:"Schuur",pl:"Stodoła",pt:"Celeiro",es:"Granero","zh-cn":"谷仓"},icon:"Barn.svg"},{_id:"sleeping_area",name:{en:"Sleeping Area",ru:"Спальное Место",de:"Schlafbereich",fr:"Coin Montagne",it:"Area Sleeping",nl:"Sleeping Area",pl:"Powierzchnia Spania",pt:"Sleeping Area",es:"Área De Dormir","zh-cn":"睡眠区"},icon:"Sleeping Area.svg"},{_id:"bedroom",name:{en:"Bedroom",ru:"Спальная Комната",de:"Schlafzimmer",fr:"Chambre",it:"Camera Da Letto",nl:"Slaapkamer",pl:"Sypialnia",pt:"Quarto",es:"Cuarto","zh-cn":"卧室"},icon:"Bedroom.svg"},{_id:"shed",name:{en:"Shed",ru:"Сбрасывать",de:"Schuppen",fr:"Hangar",it:"Capannone",nl:"Schuur",pl:"Budka",pt:"Cabana",es:"Cobertizo","zh-cn":"棚"},icon:"Shed.svg"},{_id:"swimming_pool",name:{en:"Swimming Pool",ru:"Плавательный Бассейн",de:"Schwimmbad",fr:"Piscine",it:"Piscina",nl:"Zwembad",pl:"Basen",pt:"Piscina",es:"Piscina","zh-cn":"游泳池"},icon:"Swimming Pool.svg"},{_id:"dining",name:{en:"Dining",ru:"Обеденный",de:"Speis",fr:"À Manger",it:"Cenare",nl:"Dining",pl:"Jadalnia",pt:"Jantar",es:"Comida","zh-cn":"用餐"},icon:"Dining.svg"},{_id:"playroom",name:{en:"Playroom",ru:"Игровая Комната",de:"Spielzimmer",fr:"Salle De Jeux",it:"Stanza Dei Giochi",nl:"Speelkamer",pl:"Pokój Zabaw",pt:"Sala De Jogos",es:"Cuarto De Jugar","zh-cn":"游戏室"},icon:"Playroom.svg"},{_id:"stairway",name:{en:"Stairway",ru:"Лестница",de:"Treppe",fr:"Escalier",it:"Scala",nl:"Trap",pl:"Klatka Schodowa",pt:"Escada",es:"Escalera","zh-cn":"楼梯"},icon:"Stairway.svg"},{_id:"equipment_room",name:{en:"Equipment Room",ru:"Оборудование Номера",de:"Technikraum",fr:"Salle D'Équipement",it:"Stanza Degli Attrezzi",nl:"Technische Ruimte",pl:"Wyposażenie Pokoi",pt:"Sala De Equipamentos",es:"Cuarto De Equipos","zh-cn":"机房"},icon:"Equipment Room.svg"},{_id:"terrace",name:{en:"Terrace",ru:"Терраса",de:"Terrasse",fr:"Terrasse",it:"Terrazza",nl:"Terras",pl:"Taras",pt:"Terraço",es:"Terraza","zh-cn":"阳台"},icon:"Terrace.svg"},{_id:"toilet",name:{en:"Toilet",ru:"Туалет",de:"Toilette",fr:"Toilette",it:"Gabinetto",nl:"Toilet",pl:"Toaleta",pt:"Banheiro",es:"Inodoro","zh-cn":"洗手间"},icon:"Toilet.svg"},{_id:"stairwell",name:{en:"Stairwell",ru:"Лестничная клетка",de:"Treppenhaus",fr:"Cage D'Escalier",it:"Tromba Delle Scale",nl:"Trappenhuis",pl:"Klatka Schodowa",pt:"Caixa De Escada",es:"Hueco De Escalera","zh-cn":"楼梯间"},icon:"Stairwell.svg"},{_id:"locker_room",name:{en:"Locker Room",ru:"Камера Хранения",de:"Umkleideraum",fr:"Vestiaire",it:"Spogliatoio",nl:"Kleedkamer",pl:"Szatnia",pt:"Vestiário",es:"Vestuario","zh-cn":"更衣室"},icon:"Locker Room.svg"},{_id:"basement",name:{en:"Basement",ru:"Подвал",de:"Untergeschoss",fr:"Sous-Sol",it:"Seminterrato",nl:"Kelder",pl:"Piwnica",pt:"Porão",es:"Sótano","zh-cn":"地下室"},icon:"Basement.svg"},{_id:"front_yard",name:{en:"Front Yard",ru:"Передний Двор",de:"Vorgarten",fr:"Front Yard",it:"Cortile",nl:"Voortuin",pl:"Podwórko",pt:"Jardim Da Frente",es:"Patio Delantero","zh-cn":"前院"},icon:"Front Yard.svg"},{_id:"anteroom",name:{en:"Anteroom",ru:"Передняя",de:"Vorraum",fr:"Antichambre",it:"Anticamera",nl:"Voorkamer",pl:"Przedpokój",pt:"Ante-Sala",es:"Antesala","zh-cn":"接待室"},icon:"Anteroom.svg"},{_id:"washroom",name:{en:"Washroom",ru:"Уборная",de:"Waschraum",fr:"Toilettes",it:"Bagno",nl:"Waskamer",pl:"Umywalnia",pt:"Banheiro",es:"Baño","zh-cn":"卫生间"},icon:"Washroom.svg"},{_id:"wc",name:{en:"Wc",ru:"Туалет",de:"WC",fr:"Toilettes",it:"Bagno",nl:"Wc",pl:"Toaleta",pt:"Banheiro",es:"Wc","zh-cn":"厕所"},icon:"Wc.svg"},{_id:"workshop",name:{en:"Workshop",ru:"Мастерская",de:"Werkstatt",fr:"Atelier",it:"Laboratorio",nl:"Werkplaats",pl:"Warsztat",pt:"Oficina",es:"Taller","zh-cn":"作坊"},icon:"Workshop.svg"},{_id:"windscreen",name:{en:"Windscreen",ru:"Ветровое Стекло",de:"Windfang",fr:"Pare-Brise",it:"Parabrezza",nl:"Voorruit",pl:"Szyba Przednia",pt:"Pára-Brisas",es:"Parabrisas","zh-cn":"风档"},icon:"Windscreen.svg"},{_id:"living_area",name:{en:"Living Area",ru:"Жилая Площадь",de:"Wohnbereich",fr:"Salon",it:"Zona Giorno",nl:"Living Area",pl:"Powierzchnia Mieszkalna",pt:"Sala-De-Estar",es:"Sala De Estar","zh-cn":"生活区域"},icon:"Living Area.svg"},{_id:"living_room",name:{en:"Living Room",ru:"Гостинная",de:"Wohnzimmer",fr:"Le Salon",it:"Soggiorno",nl:"Woonkamer",pl:"Salon",pt:"Sala De Estar",es:"Sala De Estar","zh-cn":"客厅"},icon:"Living Room.svg"},{_id:"living_room",name:{en:"Living Room",ru:"Гостинная",de:"Wohnzimmer",fr:"Le Salon",it:"Soggiorno",nl:"Woonkamer",pl:"Salon",pt:"Sala De Estar",es:"Sala De Estar","zh-cn":"客厅"},icon:"Living Room.svg"}];class ZNe extends ze{constructor(e){super(e),this.state={opened:!1,names:[],filter:"",icons:null,loading:!1,isAnyName:!1}}loadAllIcons(){this.state.loading||this.state.icons||this.setState({loading:!0},()=>{const e=[],t=[];if(this.props.icons){const s=this.props.icons.map((r,o)=>{let M;if(typeof r=="object"){if(M=r.icon||r.src||r.href||"",t[o]=typeof r.name=="object"?r.name[this.props.lang]||r.name.en||r._id||"":r.name||"",!t[o]){const a=M.split(".");a.pop(),t[o]=a[a.length-1]}}else M=r;return M?M.startsWith("data:")?(e[o]=M,Promise.resolve()):E.getSvg(M).then(a=>e[o]=a):Promise.resolve()});Promise.all(s).catch(r=>console.error(r)).then(()=>this.setState({icons:e,loading:!1,names:t,isAnyName:!!t.find(r=>r)}))}else{let s=this.props.onlyRooms||!this.props.onlyRooms&&!this.props.onlyDevices?VNe:null;if(s&&(s.forEach(r=>{r.name&&typeof r.name=="object"&&(r.name=r.name[this.props.lang]||r.name.en||r._id),r.name=r.name||r._id}),s=s.filter((r,o)=>!(s!=null&&s.find((M,a)=>o!==a&&M.icon===r.icon&&M.name===r.name))),s.forEach((r,o)=>{t[o]=r.name,e[o]=`data:image/svg+xml;base64,${FNe[r.icon.replace(/\.svg$/,"")]}`})),s=this.props.onlyDevices||!this.props.onlyRooms&&!this.props.onlyDevices?HNe:null,s){const r=e.length;s&&s.forEach(o=>{o.name&&typeof o.name=="object"&&(o.name=o.name[this.props.lang]||o.name.en||o._id),o.name=o.name||o._id}),s=s.filter((o,M)=>!(s!=null&&s.find((a,u)=>M!==u&&a.icon===o.icon&&a.name===o.name))),s.forEach((o,M)=>{t[M+r]=o.name,e[M+r]=`data:image/svg+xml;base64,${aNe[o.icon.replace(/\.svg$/,"")]}`})}this.setState({icons:e,loading:!1,names:t,isAnyName:!!t.find(r=>r)})}})}render(){return this.state.loading?n.createElement(qi,null):n.createElement(n.Fragment,null,n.createElement(X,{color:"grey",variant:"outlined",title:this.props.t("ra_Select predefined icon"),onClick:()=>this.setState({opened:!0},()=>this.loadAllIcons()),style:{minWidth:40,marginRight:8}},"..."),this.state.opened?n.createElement(de,{onClose:()=>this.setState({opened:!1}),open:!0},n.createElement(he,null,this.props.t("ra_Select predefined icon"),this.state.isAnyName?n.createElement(le,{variant:"standard",margin:"dense",style:{marginLeft:20},value:this.state.filter,onChange:e=>this.setState({filter:e.target.value.toLowerCase()}),placeholder:this.props.t("ra_Filter"),slotProps:{input:{endAdornment:this.state.filter?n.createElement(P,{tabIndex:-1,size:"small",onClick:()=>this.setState({filter:""})},n.createElement(Ga,null)):void 0}}}):null),n.createElement(Ae,null,n.createElement("div",{style:{width:"100%",textAlign:"center"}},this.state.icons&&this.state.icons.map((e,t)=>!this.state.filter||this.state.names[t]&&this.state.names[t].toLowerCase().includes(this.state.filter)?n.createElement(ae,{title:this.state.names[t]||"",key:t,slotProps:{popper:{sx:{pointerEvents:"none"}}}},n.createElement(P,{onClick:()=>this.setState({opened:!1},()=>{const s=this.props.onSelect||this.props.onChange;s&&s(e)}),size:"large"},n.createElement(Se,{src:e,alt:t.toString(),style:{width:32,height:32,borderRadius:5}}))):null))),n.createElement(me,null,n.createElement(X,{color:"grey",variant:"contained",onClick:()=>this.setState({opened:!1}),startIcon:n.createElement(ge,null)},this.props.t("ra_Close")))):null)}}const _t={formContainer:{display:"flex",justifyContent:"left",alignItems:"center"},formControl:{display:"flex",padding:24,flexGrow:1e3},divContainer:{width:64,height:32,whiteSpace:"nowrap",lineHeight:"32px",marginRight:8},dragField:{textAlign:"center",display:"table",minHeight:90,width:"calc(100% - 60px)",border:"2px dashed #777",borderRadius:10,padding:4},formIcon:{margin:10,opacity:.6},text:{display:"table-cell",verticalAlign:"middle"}};function Gje(i){var a,u,l,N;const e=i.icon,t=i.onChange,s=Qt(c=>{const L=new FileReader;L.addEventListener("load",()=>t(L.result),!1),c[0]&&L.readAsDataURL(c[0])},[t]),{getRootProps:r,getInputProps:o,isDragActive:M}=MN({onDrop:s});return n.createElement("div",{style:_t.formContainer},e?n.createElement(e,{style:_t.formIcon}):null,n.createElement(wt,{variant:"standard",style:{..._t.formControl,padding:3}},n.createElement(As,{shrink:!0,sx:(a=i.customStyles)!=null&&a.label?{"&.MuiInputLabel-root":i.customStyles.label}:void 0,classes:{root:(u=i.customClasses)==null?void 0:u.label}},i.label),n.createElement("div",{style:_t.formContainer},i.value?n.createElement("div",{style:_t.divContainer},n.createElement(Se,{style:{...i.previewStyle,...((l=i.customStyles)==null?void 0:l.icon)||void 0},src:i.value,className:E.clsx(i.previewClassName,(N=i.customClasses)==null?void 0:N.icon)}),!i.disabled&&n.createElement(P,{style:{verticalAlign:"top"},title:D.t("ra_Clear icon"),size:"small",onClick:()=>i.onChange("")},n.createElement(Ga,null))):!i.disabled&&n.createElement(ZNe,{icons:i.icons,onlyRooms:i.onlyRooms,onlyDevices:i.onlyDevices,onSelect:c=>i.onChange(c),t:D.t,lang:D.getLanguage()}),!i.disabled&&n.createElement("div",{...r(),style:{..._t.dragField,...M?{backgroundColor:"rgba(0, 255, 0, 0.1)"}:{cursor:"pointer"}}},n.createElement("input",{...o()}),M?n.createElement("span",{style:_t.text},D.t("ra_Drop the files here...")):n.createElement("span",{style:_t.text},D.t("ra_Drag 'n' drop some files here, or click to select files"))))))}function XNe(i){const e=document.createElement("div");e.innerHTML=i;const t=e.firstElementChild;return t!=null&&t.remove?t.remove():t&&e.removeChild(t),e.remove(),t}function KNe(i){const e={};if(!i)return e;for(let t,s=0;so[1].toUpperCase()),e[t]=i[s].value}return e}class bi extends ze{svg;static REMOTE_SERVER=window.location.hostname.includes("iobroker.in");static REMOTE_PREFIX=window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/")+1);constructor(e){var t;super(e),this.state={svg:!!((t=this.props.src)!=null&&t.startsWith("data:")),created:!0,color:this.props.color||"",src:this.props.src||"",imgError:!1,showError:!!this.props.showError},this.svg=this.state.svg&&this.state.src?this.getSvgFromData(this.state.src):null}static getDerivedStateFromProps(e,t){var o;const s={};let r=!1;return e&&t&&e.src!==t.src&&(s.src=e.src,s.svg=(o=e.src)==null?void 0:o.startsWith("data:"),s.created=!1,r=!0),e&&t&&e.color!==t.color&&(s.color=e.color,s.created=!1,r=!0),e&&t&&e.showError!==t.showError&&(s.showError=e.showError,r=!0),r?s:null}getSvgFromData(e){const t="data:image/svg+xml;base64,";if(!e.startsWith(t))return null;e=e.substring(t.length);try{e=atob(e);const s=XNe(e),r=s.innerHTML,o=KNe(s.attributes);return s.remove(),n.createElement(W,{component:"svg",sx:this.props.sx,className:this.props.className,style:this.state.color?{color:this.state.color}:void 0,...o,dangerouslySetInnerHTML:{__html:r}})}catch{}return null}render(){if(this.state.svg)return this.state.created||setTimeout(()=>{this.svg=this.state.src?this.getSvgFromData(this.state.src):null,this.setState({created:!0})},50),this.svg;if(this.state.src){if(this.state.imgError||!this.state.src)return n.createElement(iM,{className:this.props.className});if(bi.REMOTE_SERVER&&!this.state.src.startsWith("http://")&&!this.state.src.startsWith("https://")){let e=(this.props.imagePrefix||"")+this.state.src;return e.startsWith("./")?e=bi.REMOTE_PREFIX+e.substring(2):e.startsWith("/")||(e=bi.REMOTE_PREFIX+e),n.createElement(W,{component:"img",sx:this.props.sx,className:this.props.className,src:`https://remote-files.iobroker.in${e}`,alt:"",onError:()=>this.props.showError?this.setState({imgError:!0}):this.setState({src:""})})}return n.createElement(W,{component:"img",sx:this.props.sx,className:this.props.className,src:(this.props.imagePrefix||"")+this.state.src,alt:"",onError:()=>this.props.showError?this.setState({imgError:!0}):this.setState({src:""})})}return null}}var B={},lr={},Ht={};Object.defineProperty(Ht,"__esModule",{value:!0});Ht.StateType=Ht.Types=void 0;var Pn;(function(i){i.unknown="unknown",i.airCondition="airCondition",i.blind="blind",i.blindButtons="blindButtons",i.button="button",i.buttonSensor="buttonSensor",i.camera="camera",i.chart="chart",i.cie="cie",i.ct="ct",i.dimmer="dimmer",i.door="door",i.fireAlarm="fireAlarm",i.floodAlarm="floodAlarm",i.gate="gate",i.hue="hue",i.humidity="humidity",i.illuminance="illuminance",i.image="image",i.info="info",i.instance="instance",i.light="light",i.location="location",i.locationOne="locationOne",i.lock="lock",i.media="media",i.motion="motion",i.percentage="percentage",i.rgb="rgb",i.rgbSingle="rgbSingle",i.rgbwSingle="rgbwSingle",i.slider="slider",i.socket="socket",i.temperature="temperature",i.thermostat="thermostat",i.vacuumCleaner="vacuumCleaner",i.volume="volume",i.volumeGroup="volumeGroup",i.warning="warning",i.weatherCurrent="weatherCurrent",i.weatherForecast="weatherForecast",i.window="window",i.windowTilt="windowTilt"})(Pn||(Ht.Types=Pn={}));var Wn;(function(i){i.Number="number",i.String="string",i.Boolean="boolean"})(Wn||(Ht.StateType=Wn={}));var ke={};Object.defineProperty(ke,"__esModule",{value:!0});ke.checkEnum=Zc;ke.roleOrEnum=Us;ke.roleOrEnumLight=qNe;ke.roleOrEnumBlind=e0e;ke.roleOrEnumGate=t0e;ke.roleOrEnumWindow=s0e;ke.roleOrEnumDoor=i0e;ke.getEnums=r0e;ke.getAllStatesInChannel=o0e;ke.getAllStatesInDevice=M0e;ke.getObjectsBelowId=ou;ke.getFunctionEnums=n0e;ke.getParentId=a0e;function Zc(i,e){let t=!1;return i&&i.forEach(s=>{const r=s.lastIndexOf(".");r!==-1&&(s=s.substring(r+1));for(const o in e)if(Object.prototype.hasOwnProperty.call(e,o)&&e[o].find(M=>M.test(s)))return t=!0,!1}),t}function Us(i,e,t,s){return i.common.role&&(t!=null&&t.includes(i.common.role))?!0:Zc(e,s)}const Xc={en:[/lights?/i,/lamps?/i,/ceilings?/i],de:[/licht(er)?/i,/lampen?/i,/beleuchtung(en)?/i],ru:[/свет/i,/ламп[аы]/i,/торшеры?/,/подсветк[аи]/i,/лампочк[аи]/i,/светильники?/i]},Kc=["switch.light","dimmer","value.dimmer","level.dimmer","sensor.light","state.light"];function qNe(i,e){return Us(i,e,Kc,Xc)}const Fi={en:[/blinds?/i,/windows?/i,/shutters?/i],de:[/rollladen?/i,/fenstern?/i,/beschattung(en)?/i,/jalousien?/i],ru:[/ставни/i,/рольставни/i,/окна|окно/,/жалюзи/i]},qc=["blind","level.blind","value.blind","action.stop","button.stop","button.stop.blind","button.open.blind","button.close.blind","level.tilt","value.tilt","button.tilt.open","button.tilt.close","button.tilt.stop"];function e0e(i,e){return Us(i,e,qc,Fi)}const eu={en:[/gates?/i],de:[/^toren$/i,/^tor$/i],ru:[/ворота/i]},tu=["gate","value.gate","switch.gate","action.stop","button.stop"];function t0e(i,e){return Us(i,e,tu,eu)}const su=["window","state.window","sensor.window","value.window"];function s0e(i,e){return Us(i,e,su,Fi)}const iu={en:[/doors?/i,/gates?/i,/wickets?/i,/entry|entries/i],de:[/^türe?/i,/^tuere?/i,/^tore?$/i,/einfahrt(en)?/i,/pforten?/i],ru:[/двери|дверь/i,/ворота/i,/калитка|калитки/,/въезды?/i,/входы?/i]},ru=["door","state.door","sensor.door"];function i0e(i,e){return Us(i,e,ru,iu)}function r0e(){return{door:{roles:ru,words:iu},window:{roles:su,words:Fi},blind:{roles:qc,words:Fi},gate:{roles:tu,words:eu},light:{roles:Kc,words:Xc}}}function o0e(i,e){const t=[],s=new RegExp(`^${e.replace(/([$^.)([\]{}])/g,"\\$1")}\\.[^.]+$`);return i.forEach(r=>s.test(r)&&t.push(r)),t}function M0e(i,e){const t=[],s=new RegExp(`^${e.replace(/([$^.)([\]{}])/g,"\\$1")}\\.[^.]+\\.[^.]+$`);return i.forEach(r=>s.test(r)&&t.push(r)),t}function ou(i,e){const t=[];e+=".";let s=0,r=i.length-1,o=-1;for(;s<=r;){const M=Math.floor((s+r)/2);i[M]=i.length)return t;for(let M=o;M{e[M].common.members.includes(t)&&o.push(M)}),!o.length&&((r=e[t])===null||r===void 0?void 0:r.type)==="state"){const M=(0,zt.getParentId)(t);e[M]&&(e[M].type==="channel"||e[M].type==="device")&&this.enums.forEach(a=>{e[a].common.members.includes(M)&&o.push(a)})}return o.length?o:null}static copyState(e,t){const s=t||JSON.parse(JSON.stringify(e));return s.original=e.original||e,"enums"in e&&e.enums&&(s.enums=e.enums),"role"in e&&e.role&&(s.role=e.role),"channelRole"in e&&e.channelRole&&(s.channelRole=e.channelRole),s}_testOneState(e){var t,s,r,o,M,a;const u=e.objects,l=e.pattern,N=e.state,c=e.channelStates,L=e.usedIds,j=e.usedInCurrentDevice,g=e.ignoreIndicators,y=e.ignoreEnums,d=e.sortedKeys;let h=e.result,m=!1;for(const w of c)if(!(N.name==="COVER"&&(h!=null&&h.states.find(O=>O.id&&O.name==="COVER")))){if(N.indicator&&g){const A=w.split(".").pop()||"";if(A&&g.includes(A))continue}if(!N.indicator){if(j.includes(w))continue;if(!N.notSingle){if(!e.detectAllPossibleDevices){if(L.includes(w))continue}}}if(this._applyPattern(u,w,N,y,d)){if(h||(h=JSON.parse(JSON.stringify(ft.patterns[l])),e.result=h,h==null||h.states.forEach((O,A)=>Be.copyState(ft.patterns[l].states[A],O))),h.states.find(({id:O})=>O===w))m=!0;else for(const O of h.states)if(O.name===N.name){if(O.id){let A;e.favorId&&(w===e.favorId?A=!0:O.id===e.favorId&&(A=!1));const I=(r=(s=(t=u[O.id])===null||t===void 0?void 0:t.common)===null||s===void 0?void 0:s.role)!==null&&r!==void 0?r:"",p=(a=(M=(o=u[w])===null||o===void 0?void 0:o.common)===null||M===void 0?void 0:M.role)!==null&&a!==void 0?a:"",S=O.defaultRole;if(S&&A===void 0&&(p===S?A=!0:I===S&&(A=!1)),A===void 0){const f=p.split("."),$=f.length,x=I.split("."),Z=x.length;p===""||f[0]==="state"&&x[0]!=="state"?A=!1:f[0]!=="state"&&x[0]==="state"||$>Z?A=!0:$1)){for(const O of c)if(O!==w&&(N.indicator||!j.includes(O)&&(N.notSingle||!L.includes(O)))&&this._applyPattern(u,O,N,y,d))if(N.indicator||j.push(O),Array.isArray(N)){const A=Be.copyState(N[0]);A.id=O,h.states.push(A)}else{const A=Be.copyState(N);A.id=O,h.states.push(A)}}}}return m}static findParentChannelOrDevice(e,t,s){if(!e[t])return;const r=t.split("."),o=t;if(e[t].type==="state"&&(r.pop(),t=r.join(".")),r.length<=2)return t;const M=e[t];if((M==null?void 0:M.type)==="device"||s&&(M==null?void 0:M.type)==="channel")return t;if(s)return;r.pop();const a=r.join("."),u=e[a];if(!u)return M?t:o;if(u.type==="device"||r.length<=2)return a;if((M==null?void 0:M.type)==="channel")return t;r.pop();const l=r.join("."),N=e[l];return!N||N.type!=="device"&&N.type!=="channel"?a:l}static getChannelOrDeviceStates(e,t,s,r=!1,o=!1){var M;const a=(M=e[t])===null||M===void 0?void 0:M.type;switch(a){case void 0:return[...(0,zt.getObjectsBelowId)(s,t)];case"state":case"channel":case"device":case"folder":if(r&&a!=="device"){const u=Be.findParentChannelOrDevice(e,t);return u&&u!==t?[...(0,zt.getObjectsBelowId)(s,u)]:[t]}if(a!=="state")return[...(0,zt.getObjectsBelowId)(s,t)];if(o){const u=Be.findParentChannelOrDevice(e,t,!0);return u&&u!==t?[...(0,zt.getObjectsBelowId)(s,u)]:[t]}return[t];default:return[t]}}static patternIsAllowed(e,t,s){if(!e)return!1;if(Array.isArray(e.type)){for(let r=0;r{const o=e.indexOf(s),M=e.indexOf(r);if(o===-1||M===-1)return;const a=e.splice(o,1);e.splice(M,0,...a)}),e}_detectNext(e){var t,s,r,o;const{objects:M,id:a,_usedIdsOptional:u=[],ignoreIndicators:l,prioritizedTypes:N,detectParent:c,detectOnlyChannel:L,allowedTypes:j,excludedTypes:g,_keysOptional:y,detectAllPossibleDevices:d}=e;let{_patternList:h}=e;e._usedIdsOptional=u;const m=Be.getChannelOrDeviceStates(M,a,y||[],c,L);if(!(!((t=M[a])===null||t===void 0)&&t.common)&&!m.length)return null;if((s=e._checkedPatterns)!==null&&s!==void 0||(e._checkedPatterns=[]),!h){const A=Object.keys(ft.patterns).filter(I=>Be.patternIsAllowed(ft.patterns[I],j,g));h=N?this.sortTypes(A,N):A,e._patternList=h}const w={objects:M,channelStates:m,usedIds:u,ignoreIndicators:l||[],pattern:"unknown",usedInCurrentDevice:[],state:{},ignoreEnums:!!e.ignoreEnums,sortedKeys:y,favorId:e.detectParent?void 0:a,detectAllPossibleDevices:d},O=(r=M[a])===null||r===void 0?void 0:r.type;for(const A of h){if(e._checkedPatterns.includes(A))continue;e._checkedPatterns.push(A),delete w.result,w.pattern=A,w.usedInCurrentDevice=[];for(const p of ft.patterns[A].states){let S=!1;if(w.state=p,this._testOneState(w)&&(S=!0),p.required&&!S){delete w.result;break}}if(!Be.allRequiredStatesFound(w))continue;w.usedInCurrentDevice.forEach(p=>u.push(p));let I;if(O!=="device"){const p=(o=Be.findParentChannelOrDevice(M,a))!==null&&o!==void 0?o:a;if(M[p]&&(M[p].type==="channel"||M[p].type==="device")){I=(0,zt.getObjectsBelowId)(y,p);for(const S of I)w.result.states.forEach((f,$)=>{!f.id&&(f.indicator||f.searchInParent)&&!f.noDeviceDetection&&this._applyPattern(M,S,f.original,!!e.ignoreEnums,w.sortedKeys)&&w.result&&(w.result.states[$].id=S)})}}if(w.result.states.forEach(p=>Be.cleanState(p,w.objects)),e.limitTypesToOneOf){for(const p of e.limitTypesToOneOf)if(p.includes(A))for(const S of p)S===A||e._checkedPatterns.includes(S)||e._checkedPatterns.push(S)}return w.result}return null}detect(e){var t;const{objects:s,id:r,ignoreCache:o,detectAllPossibleDevices:M}=e;let{_keysOptional:a,_usedIdsOptional:u}=e;if(!o&&this.cache[r]){const{allowedTypes:c=[],excludedTypes:L=[]}=e;if(!c.length&&!L.length)return this.cache[r];const j=this.cache[r].filter(({type:g})=>c.includes(g)&&!L.includes(g));if(j.length)return j}a?e._keysOptionalSorted||a.sort():(a=Object.keys(s),a.sort(),e._keysOptional=a),u&&!e.detectParent&&(u=[],e._usedIdsOptional=u),e.ignoreEnums===void 0&&((t=e.allowedTypes)===null||t===void 0?void 0:t.length)===1&&(e.ignoreEnums=!0),M&&(e.excludedTypes||(e.excludedTypes=[]),e.excludedTypes.includes(Mt.Types.info)||e.excludedTypes.push(Mt.Types.info)),e._checkedPatterns=[];const l=[];let N;for(;N=this._detectNext(e);)l.push(N),e.detectAllPossibleDevices&&(e._usedIdsOptional=[]);return l.sort((c,L)=>{if(c.type===Mt.Types.info&&L.type!==Mt.Types.info)return 1;if(L.type===Mt.Types.info&&c.type!==Mt.Types.info)return-1;const j=c.states.find(h=>h.id===r&&h.required)?1:0,g=L.states.find(h=>h.id===r&&h.required)?1:0;if(j!==g)return g-j;if(!j){const h=c.states.find(w=>w.id===r)?1:0,m=L.states.find(w=>w.id===r)?1:0;if(h!==m)return m-h}const y=c.states.filter(h=>h.id).length;return L.states.filter(h=>h.id).length-y}),this.cache[r]=l.length?l:null,this.cache[r]}static getPatterns(){const e={};return Object.keys(ft.patterns).forEach(t=>{const s=JSON.parse(JSON.stringify(ft.patterns[t]));s.states.forEach((r,o)=>{const M=ft.patterns[t].states[o];M.role&&(s.states[o].role=M.role.toString()),M.enums&&(s.states[o].enums=!0)}),e[t]=s}),e}}lr.ChannelDetector=Be;Be.getEnums=zt.getEnums;(function(i){Object.defineProperty(i,"__esModule",{value:!0}),i.StateType=i.Types=void 0;const e=lr;i.default=e.ChannelDetector;var t=Ht;Object.defineProperty(i,"Types",{enumerable:!0,get:function(){return t.Types}}),Object.defineProperty(i,"StateType",{enumerable:!0,get:function(){return t.StateType}})})(B);var Mu={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},Rn=n.createContext&&n.createContext(Mu),c0e=["attr","size","title"];function u0e(i,e){if(i==null)return{};var t,s,r=l0e(i,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(i);for(s=0;sn.createElement(e.tag,Vi({key:t},e.attr),nu(e.child)))}function v(i){return e=>n.createElement(g0e,Hi({attr:Vi({},i.attr)},e),nu(i.child))}function g0e(i){var e=t=>{var{attr:s,size:r,title:o}=i,M=u0e(i,c0e),a=r||t.size||"1em",u;return t.className&&(u=t.className),i.className&&(u=(u?u+" ":"")+i.className),n.createElement("svg",Hi({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},t.attr,s,M,{className:u,style:Vi(Vi({color:i.color||t.color},t.style),i.style),height:a,width:a,xmlns:"http://www.w3.org/2000/svg"}),o&&n.createElement("title",null,o),i.children)};return Rn!==void 0?n.createElement(Rn.Consumer,null,t=>e(t)):e(Mu)}function T0e(i){return v({attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-80 600c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V360c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v304zm224 0c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V360c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v304z"},child:[]}]})(i)}function y0e(i){return v({attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M847.9 592H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h605.2L612.9 851c-4.1 5.2-.4 13 6.3 13h72.5c4.9 0 9.5-2.2 12.6-6.1l168.8-214.1c16.5-21 1.6-51.8-25.2-51.8zM872 356H266.8l144.3-183c4.1-5.2.4-13-6.3-13h-72.5c-4.9 0-9.5 2.2-12.6 6.1L150.9 380.2c-16.5 21-1.6 51.8 25.1 51.8h696c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z"},child:[]}]})(i)}function D0e(i){return v({attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M712 824h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm2-696h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM136 374h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm0-174h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm752 624h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-348 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-230 72h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm230 624H358c-87.3 0-158-70.7-158-158V484c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v182c0 127 103 230 230 230h182c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z"},child:[]}]})(i)}function d0e(i){return v({attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M705.6 124.9a8 8 0 0 0-11.6 7.2v64.2c0 5.5 2.9 10.6 7.5 13.6a352.2 352.2 0 0 1 62.2 49.8c32.7 32.8 58.4 70.9 76.3 113.3a355 355 0 0 1 27.9 138.7c0 48.1-9.4 94.8-27.9 138.7a355.92 355.92 0 0 1-76.3 113.3 353.06 353.06 0 0 1-113.2 76.4c-43.8 18.6-90.5 28-138.5 28s-94.7-9.4-138.5-28a353.06 353.06 0 0 1-113.2-76.4A355.92 355.92 0 0 1 184 650.4a355 355 0 0 1-27.9-138.7c0-48.1 9.4-94.8 27.9-138.7 17.9-42.4 43.6-80.5 76.3-113.3 19-19 39.8-35.6 62.2-49.8 4.7-2.9 7.5-8.1 7.5-13.6V132c0-6-6.3-9.8-11.6-7.2C178.5 195.2 82 339.3 80 506.3 77.2 745.1 272.5 943.5 511.2 944c239 .5 432.8-193.3 432.8-432.4 0-169.2-97-315.7-238.4-386.7zM480 560h64c4.4 0 8-3.6 8-8V88c0-4.4-3.6-8-8-8h-64c-4.4 0-8 3.6-8 8v464c0 4.4 3.6 8 8 8z"},child:[]}]})(i)}function z0e(i){return v({attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM305.8 637.7c3.1 3.1 8.1 3.1 11.3 0l138.3-137.6L583 628.5c3.1 3.1 8.2 3.1 11.3 0l275.4-275.3c3.1-3.1 3.1-8.2 0-11.3l-39.6-39.6a8.03 8.03 0 0 0-11.3 0l-230 229.9L461.4 404a8.03 8.03 0 0 0-11.3 0L266.3 586.7a8.03 8.03 0 0 0 0 11.3l39.5 39.7z"},child:[]}]})(i)}function I0e(i){return v({attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M180 176h-60c-4.4 0-8 3.6-8 8v656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V184c0-4.4-3.6-8-8-8zm724 0h-60c-4.4 0-8 3.6-8 8v656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V184c0-4.4-3.6-8-8-8zM785.3 504.3L657.7 403.6a7.23 7.23 0 0 0-11.7 5.7V476H378v-62.8c0-6-7-9.4-11.7-5.7L238.7 508.3a7.14 7.14 0 0 0 0 11.3l127.5 100.8c4.7 3.7 11.7.4 11.7-5.7V548h268v62.8c0 6 7 9.4 11.7 5.7l127.5-100.8c3.8-2.9 3.8-8.5.2-11.4z"},child:[]}]})(i)}function h0e(i){return v({attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M840 836H184c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h656c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zm0-724H184c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h656c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zM610.8 378c6 0 9.4-7 5.7-11.7L515.7 238.7a7.14 7.14 0 0 0-11.3 0L403.6 366.3a7.23 7.23 0 0 0 5.7 11.7H476v268h-62.8c-6 0-9.4 7-5.7 11.7l100.8 127.5c2.9 3.7 8.5 3.7 11.3 0l100.8-127.5c3.7-4.7.4-11.7-5.7-11.7H548V378h62.8z"},child:[]}]})(i)}function w0e(i){return v({attr:{t:"1569683928793",viewBox:"0 0 1024 1024",version:"1.1"},child:[{tag:"path",attr:{d:"M464 144H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16z m-52 268H212V212h200v200zM864 144H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16z m-52 268H612V212h200v200zM864 544H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16z m-52 268H612V612h200v200zM424 712H296V584c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v128H104c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h128v128c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V776h128c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z"},child:[]}]})(i)}function C0e(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M24 5.25v13a.75.75 0 0 1-1.136.643L16.5 15.075v2.175A1.75 1.75 0 0 1 14.75 19h-13A1.75 1.75 0 0 1 0 17.25v-11C0 5.284.784 4.5 1.75 4.5h13c.966 0 1.75.784 1.75 1.75v2.175l6.364-3.818A.75.75 0 0 1 24 5.25Zm-9 1a.25.25 0 0 0-.25-.25h-13a.25.25 0 0 0-.25.25v11c0 .138.112.25.25.25h13a.25.25 0 0 0 .25-.25v-11Zm1.5 7.075 6 3.6V6.575l-6 3.6Z"},child:[]}]})(i)}function A0e(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M507.73 109.1c-2.24-9.03-13.54-12.09-20.12-5.51l-74.36 74.36-67.88-11.31-11.31-67.88 74.36-74.36c6.62-6.62 3.43-17.9-5.66-20.16-47.38-11.74-99.55.91-136.58 37.93-39.64 39.64-50.55 97.1-34.05 147.2L18.74 402.76c-24.99 24.99-24.99 65.51 0 90.5 24.99 24.99 65.51 24.99 90.5 0l213.21-213.21c50.12 16.71 107.47 5.68 147.37-34.22 37.07-37.07 49.7-89.32 37.91-136.73zM64 472c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z"},child:[]}]})(i)}function m0e(i){return v({attr:{viewBox:"0 0 576 512"},child:[{tag:"path",attr:{d:"M215.03 71.05L126.06 160H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V88.02c0-21.46-25.96-31.98-40.97-16.97zm233.32-51.08c-11.17-7.33-26.18-4.24-33.51 6.95-7.34 11.17-4.22 26.18 6.95 33.51 66.27 43.49 105.82 116.6 105.82 195.58 0 78.98-39.55 152.09-105.82 195.58-11.17 7.32-14.29 22.34-6.95 33.5 7.04 10.71 21.93 14.56 33.51 6.95C528.27 439.58 576 351.33 576 256S528.27 72.43 448.35 19.97zM480 256c0-63.53-32.06-121.94-85.77-156.24-11.19-7.14-26.03-3.82-33.12 7.46s-3.78 26.21 7.41 33.36C408.27 165.97 432 209.11 432 256s-23.73 90.03-63.48 115.42c-11.19 7.14-14.5 22.07-7.41 33.36 6.51 10.36 21.12 15.14 33.12 7.46C447.94 377.94 480 319.54 480 256zm-141.77-76.87c-11.58-6.33-26.19-2.16-32.61 9.45-6.39 11.61-2.16 26.2 9.45 32.61C327.98 228.28 336 241.63 336 256c0 14.38-8.02 27.72-20.92 34.81-11.61 6.41-15.84 21-9.45 32.61 6.43 11.66 21.05 15.8 32.61 9.45 28.23-15.55 45.77-45 45.77-76.88s-17.54-61.32-45.78-76.86z"},child:[]}]})(i)}function p0e(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M215.03 71.05L126.06 160H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V88.02c0-21.46-25.96-31.98-40.97-16.97zM461.64 256l45.64-45.64c6.3-6.3 6.3-16.52 0-22.82l-22.82-22.82c-6.3-6.3-16.52-6.3-22.82 0L416 210.36l-45.64-45.64c-6.3-6.3-16.52-6.3-22.82 0l-22.82 22.82c-6.3 6.3-6.3 16.52 0 22.82L370.36 256l-45.63 45.63c-6.3 6.3-6.3 16.52 0 22.82l22.82 22.82c6.3 6.3 16.52 6.3 22.82 0L416 301.64l45.64 45.64c6.3 6.3 16.52 6.3 22.82 0l22.82-22.82c6.3-6.3 6.3-16.52 0-22.82L461.64 256z"},child:[]}]})(i)}function O0e(i){return v({attr:{viewBox:"0 0 384 512"},child:[{tag:"path",attr:{d:"M215.03 72.04L126.06 161H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V89.02c0-21.47-25.96-31.98-40.97-16.98zm123.2 108.08c-11.58-6.33-26.19-2.16-32.61 9.45-6.39 11.61-2.16 26.2 9.45 32.61C327.98 229.28 336 242.62 336 257c0 14.38-8.02 27.72-20.92 34.81-11.61 6.41-15.84 21-9.45 32.61 6.43 11.66 21.05 15.8 32.61 9.45 28.23-15.55 45.77-45 45.77-76.88s-17.54-61.32-45.78-76.87z"},child:[]}]})(i)}function Bn(i){return v({attr:{viewBox:"0 0 576 512"},child:[{tag:"path",attr:{d:"M384 64H192C86 64 0 150 0 256s86 192 192 192h192c106 0 192-86 192-192S490 64 384 64zm0 320c-70.8 0-128-57.3-128-128 0-70.8 57.3-128 128-128 70.8 0 128 57.3 128 128 0 70.8-57.3 128-128 128z"},child:[]}]})(i)}function E0e(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M256 160c-52.9 0-96 43.1-96 96s43.1 96 96 96 96-43.1 96-96-43.1-96-96-96zm246.4 80.5l-94.7-47.3 33.5-100.4c4.5-13.6-8.4-26.5-21.9-21.9l-100.4 33.5-47.4-94.8c-6.4-12.8-24.6-12.8-31 0l-47.3 94.7L92.7 70.8c-13.6-4.5-26.5 8.4-21.9 21.9l33.5 100.4-94.7 47.4c-12.8 6.4-12.8 24.6 0 31l94.7 47.3-33.5 100.5c-4.5 13.6 8.4 26.5 21.9 21.9l100.4-33.5 47.3 94.7c6.4 12.8 24.6 12.8 31 0l47.3-94.7 100.4 33.5c13.6 4.5 26.5-8.4 21.9-21.9l-33.5-100.4 94.7-47.3c13-6.5 13-24.7.2-31.1zm-155.9 106c-49.9 49.9-131.1 49.9-181 0-49.9-49.9-49.9-131.1 0-181 49.9-49.9 131.1-49.9 181 0 49.9 49.9 49.9 131.1 0 181z"},child:[]}]})(i)}function _0e(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M367.9 329.76c-4.62 5.3-9.78 10.1-15.9 13.65v22.94c66.52 9.34 112 28.05 112 49.65 0 30.93-93.12 56-208 56S48 446.93 48 416c0-21.6 45.48-40.3 112-49.65v-22.94c-6.12-3.55-11.28-8.35-15.9-13.65C58.87 345.34 0 378.05 0 416c0 53.02 114.62 96 256 96s256-42.98 256-96c0-37.95-58.87-70.66-144.1-86.24zM256 128c35.35 0 64-28.65 64-64S291.35 0 256 0s-64 28.65-64 64 28.65 64 64 64zm-64 192v96c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-96c17.67 0 32-14.33 32-32v-96c0-26.51-21.49-48-48-48h-11.8c-11.07 5.03-23.26 8-36.2 8s-25.13-2.97-36.2-8H208c-26.51 0-48 21.49-48 48v96c0 17.67 14.33 32 32 32z"},child:[]}]})(i)}function f0e(i){return v({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M384 44v424c0 6.6-5.4 12-12 12h-48c-6.6 0-12-5.4-12-12V291.6l-195.5 181C95.9 489.7 64 475.4 64 448V64c0-27.4 31.9-41.7 52.5-24.6L312 219.3V44c0-6.6 5.4-12 12-12h48c6.6 0 12 5.4 12 12z"},child:[]}]})(i)}function Gn(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M496 384H160v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h80v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h336c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160h-80v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h336v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h80c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160H288V48c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16C7.2 64 0 71.2 0 80v32c0 8.8 7.2 16 16 16h208v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h208c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16z"},child:[]}]})(i)}function S0e(i){return v({attr:{viewBox:"0 0 416 512"},child:[{tag:"path",attr:{d:"M272 96c26.51 0 48-21.49 48-48S298.51 0 272 0s-48 21.49-48 48 21.49 48 48 48zM113.69 317.47l-14.8 34.52H32c-17.67 0-32 14.33-32 32s14.33 32 32 32h77.45c19.25 0 36.58-11.44 44.11-29.09l8.79-20.52-10.67-6.3c-17.32-10.23-30.06-25.37-37.99-42.61zM384 223.99h-44.03l-26.06-53.25c-12.5-25.55-35.45-44.23-61.78-50.94l-71.08-21.14c-28.3-6.8-57.77-.55-80.84 17.14l-39.67 30.41c-14.03 10.75-16.69 30.83-5.92 44.86s30.84 16.66 44.86 5.92l39.69-30.41c7.67-5.89 17.44-8 25.27-6.14l14.7 4.37-37.46 87.39c-12.62 29.48-1.31 64.01 26.3 80.31l84.98 50.17-27.47 87.73c-5.28 16.86 4.11 34.81 20.97 40.09 3.19 1 6.41 1.48 9.58 1.48 13.61 0 26.23-8.77 30.52-22.45l31.64-101.06c5.91-20.77-2.89-43.08-21.64-54.39l-61.24-36.14 31.31-78.28 20.27 41.43c8 16.34 24.92 26.89 43.11 26.89H384c17.67 0 32-14.33 32-32s-14.33-31.99-32-31.99z"},child:[]}]})(i)}function x0e(i){return v({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M400 224h-24v-72C376 68.2 307.8 0 224 0S72 68.2 72 152v72H48c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48zm-104 0H152v-72c0-39.7 32.3-72 72-72s72 32.3 72 72v72z"},child:[]}]})(i)}function k0e(i){return v({attr:{viewBox:"0 0 352 512"},child:[{tag:"path",attr:{d:"M96.06 454.35c.01 6.29 1.87 12.45 5.36 17.69l17.09 25.69a31.99 31.99 0 0 0 26.64 14.28h61.71a31.99 31.99 0 0 0 26.64-14.28l17.09-25.69a31.989 31.989 0 0 0 5.36-17.69l.04-38.35H96.01l.05 38.35zM0 176c0 44.37 16.45 84.85 43.56 115.78 16.52 18.85 42.36 58.23 52.21 91.45.04.26.07.52.11.78h160.24c.04-.26.07-.51.11-.78 9.85-33.22 35.69-72.6 52.21-91.45C335.55 260.85 352 220.37 352 176 352 78.61 272.91-.3 175.45 0 73.44.31 0 82.97 0 176zm176-80c-44.11 0-80 35.89-80 80 0 8.84-7.16 16-16 16s-16-7.16-16-16c0-61.76 50.24-112 112-112 8.84 0 16 7.16 16 16s-7.16 16-16 16z"},child:[]}]})(i)}function Y0e(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z"},child:[]}]})(i)}function Q0e(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M464 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48zM112 120c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56zM64 384h384V272l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L208 320l-55.515-55.515c-4.686-4.686-12.284-4.686-16.971 0L64 336v48z"},child:[]}]})(i)}function U0e(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M352.57 128c-28.09 0-54.09 4.52-77.06 12.86l12.41-123.11C289 7.31 279.81-1.18 269.33.13 189.63 10.13 128 77.64 128 159.43c0 28.09 4.52 54.09 12.86 77.06L17.75 224.08C7.31 223-1.18 232.19.13 242.67c10 79.7 77.51 141.33 159.3 141.33 28.09 0 54.09-4.52 77.06-12.86l-12.41 123.11c-1.05 10.43 8.11 18.93 18.59 17.62 79.7-10 141.33-77.51 141.33-159.3 0-28.09-4.52-54.09-12.86-77.06l123.11 12.41c10.44 1.05 18.93-8.11 17.62-18.59-10-79.7-77.51-141.33-159.3-141.33zM256 288a32 32 0 1 1 32-32 32 32 0 0 1-32 32z"},child:[]}]})(i)}function v0e(i){return v({attr:{viewBox:"0 0 640 512"},child:[{tag:"path",attr:{d:"M624 448h-80V113.45C544 86.19 522.47 64 496 64H384v64h96v384h144c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM312.24 1.01l-192 49.74C105.99 54.44 96 67.7 96 82.92V448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h336V33.18c0-21.58-19.56-37.41-39.76-32.17zM264 288c-13.25 0-24-14.33-24-32s10.75-32 24-32 24 14.33 24 32-10.75 32-24 32z"},child:[]}]})(i)}function b0e(i){return v({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M436 192H312c-13.3 0-24-10.7-24-24V44c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v84h84c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12zm-276-24V44c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v84H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h124c13.3 0 24-10.7 24-24zm0 300V344c0-13.3-10.7-24-24-24H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h84v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm192 0v-84h84c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12H312c-13.3 0-24 10.7-24 24v124c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12z"},child:[]}]})(i)}function $0e(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M200 288H88c-21.4 0-32.1 25.8-17 41l32.9 31-99.2 99.3c-6.2 6.2-6.2 16.4 0 22.6l25.4 25.4c6.2 6.2 16.4 6.2 22.6 0L152 408l31.1 33c15.1 15.1 40.9 4.4 40.9-17V312c0-13.3-10.7-24-24-24zm112-64h112c21.4 0 32.1-25.9 17-41l-33-31 99.3-99.3c6.2-6.2 6.2-16.4 0-22.6L481.9 4.7c-6.2-6.2-16.4-6.2-22.6 0L360 104l-31.1-33C313.8 55.9 288 66.6 288 88v112c0 13.3 10.7 24 24 24zm96 136l33-31.1c15.1-15.1 4.4-40.9-17-40.9H312c-13.3 0-24 10.7-24 24v112c0 21.4 25.9 32.1 41 17l31-32.9 99.3 99.3c6.2 6.2 16.4 6.2 22.6 0l25.4-25.4c6.2-6.2 6.2-16.4 0-22.6L408 360zM183 71.1L152 104 52.7 4.7c-6.2-6.2-16.4-6.2-22.6 0L4.7 30.1c-6.2 6.2-6.2 16.4 0 22.6L104 152l-33 31.1C55.9 198.2 66.6 224 88 224h112c13.3 0 24-10.7 24-24V88c0-21.3-25.9-32-41-16.9z"},child:[]}]})(i)}function P0e(i){return v({attr:{viewBox:"0 0 352 512"},child:[{tag:"path",attr:{d:"M176 80c-52.94 0-96 43.06-96 96 0 8.84 7.16 16 16 16s16-7.16 16-16c0-35.3 28.72-64 64-64 8.84 0 16-7.16 16-16s-7.16-16-16-16zM96.06 459.17c0 3.15.93 6.22 2.68 8.84l24.51 36.84c2.97 4.46 7.97 7.14 13.32 7.14h78.85c5.36 0 10.36-2.68 13.32-7.14l24.51-36.84c1.74-2.62 2.67-5.7 2.68-8.84l.05-43.18H96.02l.04 43.18zM176 0C73.72 0 0 82.97 0 176c0 44.37 16.45 84.85 43.56 115.78 16.64 18.99 42.74 58.8 52.42 92.16v.06h48v-.12c-.01-4.77-.72-9.51-2.15-14.07-5.59-17.81-22.82-64.77-62.17-109.67-20.54-23.43-31.52-53.15-31.61-84.14-.2-73.64 59.67-128 127.95-128 70.58 0 128 57.42 128 128 0 30.97-11.24 60.85-31.65 84.14-39.11 44.61-56.42 91.47-62.1 109.46a47.507 47.507 0 0 0-2.22 14.3v.1h48v-.05c9.68-33.37 35.78-73.18 52.42-92.16C335.55 260.85 352 220.37 352 176 352 78.8 273.2 0 176 0z"},child:[]}]})(i)}function W0e(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"circle",attr:{cx:"12",cy:"19",r:"2"},child:[]},{tag:"path",attr:{d:"M10 3h4v12h-4z"},child:[]}]})(i)}function R0e(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"m21.41 10.59-7.99-8c-.78-.78-2.05-.78-2.83 0l-8.01 8c-.78.78-.78 2.05 0 2.83l8.01 8c.78.78 2.05.78 2.83 0l7.99-8c.79-.79.79-2.05 0-2.83zM13.5 14.5V12H10v3H8v-4c0-.55.45-1 1-1h4.5V7.5L17 11l-3.5 3.5z"},child:[]}]})(i)}function J0e(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"m17 16-4-4V8.82C14.16 8.4 15 7.3 15 6c0-1.66-1.34-3-3-3S9 4.34 9 6c0 1.3.84 2.4 2 2.82V12l-4 4H3v5h5v-3.05l4-4.2 4 4.2V21h5v-5h-4z"},child:[]}]})(i)}function B0e(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M15 16v1.26l-6-3v-3.17L11.7 8H16V2h-6v4.9L7.3 10H3v6h5l7 3.5V22h6v-6z"},child:[]}]})(i)}function Fn(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M16.56 8.94 7.62 0 6.21 1.41l2.38 2.38-5.15 5.15a1.49 1.49 0 0 0 0 2.12l5.5 5.5c.29.29.68.44 1.06.44s.77-.15 1.06-.44l5.5-5.5c.59-.58.59-1.53 0-2.12zM5.21 10 10 5.21 14.79 10H5.21zM19 11.5s-2 2.17-2 3.5c0 1.1.9 2 2 2s2-.9 2-2c0-1.33-2-3.5-2-3.5zM2 20h20v4H2v-4z"},child:[]}]})(i)}function G0e(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M8.4 18.2c.38.5.6 1.12.6 1.8 0 1.66-1.34 3-3 3s-3-1.34-3-3 1.34-3 3-3c.44 0 .85.09 1.23.26l1.41-1.77a4.504 4.504 0 0 1-1.09-3.69l-2.03-.68A2.997 2.997 0 0 1 0 9.5c0-1.66 1.34-3 3-3s3 1.34 3 3c0 .07 0 .14-.01.21l2.03.68a4.468 4.468 0 0 1 3.22-2.32V5.91A3.018 3.018 0 0 1 9 3c0-1.66 1.34-3 3-3s3 1.34 3 3c0 1.4-.96 2.57-2.25 2.91v2.16c1.4.23 2.58 1.11 3.22 2.32L18 9.71V9.5c0-1.66 1.34-3 3-3s3 1.34 3 3-1.34 3-3 3c-1.06 0-1.98-.55-2.52-1.37l-2.03.68a4.49 4.49 0 0 1-1.09 3.69l1.41 1.77c.38-.18.79-.27 1.23-.27 1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3c0-.68.22-1.3.6-1.8l-1.41-1.77c-1.35.75-3.01.76-4.37 0L8.4 18.2z"},child:[]}]})(i)}function Hn(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z"},child:[]}]})(i)}function F0e(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"},child:[]}]})(i)}function H0e(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 8c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm8.94 3A8.994 8.994 0 0 0 13 3.06V1h-2v2.06A8.994 8.994 0 0 0 3.06 11H1v2h2.06A8.994 8.994 0 0 0 11 20.94V23h2v-2.06A8.994 8.994 0 0 0 20.94 13H23v-2h-2.06zM12 19c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7z"},child:[]}]})(i)}function V0e(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M7 5h10v2h2V3c0-1.1-.9-1.99-2-1.99L7 1c-1.1 0-2 .9-2 2v4h2V5zm8.41 11.59L20 12l-4.59-4.59L14 8.83 17.17 12 14 15.17l1.41 1.42zM10 15.17 6.83 12 10 8.83 8.59 7.41 4 12l4.59 4.59L10 15.17zM17 19H7v-2H5v4c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2v-4h-2v2z"},child:[]}]})(i)}function Vn(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M15.67 4H14V2h-4v2H8.33C7.6 4 7 4.6 7 5.33v15.33C7 21.4 7.6 22 8.33 22h7.33c.74 0 1.34-.6 1.34-1.33V5.33C17 4.6 16.4 4 15.67 4zM13 18h-2v-2h2v2zm0-4h-2V9h2v5z"},child:[]}]})(i)}function Z0e(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M15.54 5.54 13.77 7.3 12 5.54 10.23 7.3 8.46 5.54 12 2zm2.92 10-1.76-1.77L18.46 12l-1.76-1.77 1.76-1.77L22 12zm-10 2.92 1.77-1.76L12 18.46l1.77-1.76 1.77 1.76L12 22zm-2.92-10 1.76 1.77L5.54 12l1.76 1.77-1.76 1.77L2 12z"},child:[]},{tag:"circle",attr:{cx:"12",cy:"12",r:"3"},child:[]}]})(i)}function Zn(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M20 6h-4V4c0-1.11-.89-2-2-2h-4c-1.11 0-2 .89-2 2v2H4c-1.11 0-1.99.89-1.99 2L2 19c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V8c0-1.11-.89-2-2-2zm-6 0h-4V4h4v2z"},child:[]}]})(i)}function X0e(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M11.07 12.85c.77-1.39 2.25-2.21 3.11-3.44.91-1.29.4-3.7-2.18-3.7-1.69 0-2.52 1.28-2.87 2.34L6.54 6.96C7.25 4.83 9.18 3 11.99 3c2.35 0 3.96 1.07 4.78 2.41.7 1.15 1.11 3.3.03 4.9-1.2 1.77-2.35 2.31-2.97 3.45-.25.46-.35.76-.35 2.24h-2.89c-.01-.78-.13-2.05.48-3.15zM14 20c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2z"},child:[]}]})(i)}function Xn(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M12 3C6.95 3 3.15 4.85 0 7.23L12 22 24 7.25C20.85 4.87 17.05 3 12 3zm1 13h-2v-6h2v6zm-2-8V6h2v2h-2z"},child:[]}]})(i)}function K0e(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0V0z"},child:[]},{tag:"path",attr:{d:"M12 8c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm8.94 3A8.994 8.994 0 0 0 13 3.06V1h-2v2.06A8.994 8.994 0 0 0 3.06 11H1v2h2.06A8.994 8.994 0 0 0 11 20.94V23h2v-2.06A8.994 8.994 0 0 0 20.94 13H23v-2h-2.06zM12 19c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7z"},child:[]}]})(i)}function q0e(i){return v({attr:{version:"1.1",id:"Layer_1",x:"0px",y:"0px",viewBox:"0 0 30 30",style:"enable-background:new 0 0 30 30;"},child:[{tag:"path",attr:{d:`M9.91,19.56c0-0.85,0.2-1.64,0.59-2.38s0.94-1.35,1.65-1.84V5.42c0-0.8,0.27-1.48,0.82-2.03S14.2,2.55,15,2.55 + c0.81,0,1.49,0.28,2.04,0.83c0.55,0.56,0.83,1.23,0.83,2.03v9.92c0.71,0.49,1.25,1.11,1.64,1.84s0.58,1.53,0.58,2.38 + c0,0.92-0.23,1.78-0.68,2.56s-1.07,1.4-1.85,1.85s-1.63,0.68-2.56,0.68c-0.92,0-1.77-0.23-2.55-0.68s-1.4-1.07-1.86-1.85 + S9.91,20.48,9.91,19.56z M11.67,19.56c0,0.93,0.33,1.73,0.98,2.39c0.65,0.66,1.44,0.99,2.36,0.99c0.93,0,1.73-0.33,2.4-1 + s1.01-1.46,1.01-2.37c0-0.62-0.16-1.2-0.48-1.73c-0.32-0.53-0.76-0.94-1.32-1.23l-0.28-0.14c-0.1-0.04-0.15-0.14-0.15-0.29V5.42 + c0-0.32-0.11-0.59-0.34-0.81C15.62,4.4,15.34,4.29,15,4.29c-0.32,0-0.6,0.11-0.83,0.32c-0.23,0.21-0.34,0.48-0.34,0.81v10.74 + c0,0.15-0.05,0.25-0.14,0.29l-0.27,0.14c-0.55,0.29-0.98,0.7-1.29,1.23C11.82,18.35,11.67,18.92,11.67,19.56z M12.45,19.56 + c0,0.71,0.24,1.32,0.73,1.82s1.07,0.75,1.76,0.75s1.28-0.25,1.79-0.75c0.51-0.5,0.76-1.11,0.76-1.81c0-0.63-0.22-1.19-0.65-1.67 + c-0.43-0.48-0.96-0.77-1.58-0.85V9.69c0-0.06-0.03-0.13-0.1-0.19c-0.07-0.07-0.14-0.1-0.22-0.1c-0.09,0-0.16,0.03-0.21,0.08 + c-0.05,0.06-0.08,0.12-0.08,0.21v7.34c-0.61,0.09-1.13,0.37-1.56,0.85C12.66,18.37,12.45,18.92,12.45,19.56z`},child:[]}]})(i)}function e4e(i){return v({attr:{version:"1.1",id:"Layer_1",x:"0px",y:"0px",viewBox:"0 0 30 30",style:"enable-background:new 0 0 30 30;"},child:[{tag:"path",attr:{d:`M6.34,12.48c0-0.94,0.3-1.78,0.89-2.52s1.34-1.21,2.25-1.41C9.73,7.43,10.3,6.5,11.2,5.78s1.92-1.08,3.08-1.08 + c1.12,0,2.13,0.35,3.02,1.05c0.89,0.7,1.46,1.6,1.73,2.69h0.27c1.12,0,2.08,0.39,2.88,1.18c0.79,0.78,1.19,1.74,1.19,2.85 + c0,0.6-0.12,1.17-0.37,1.7c-0.25,0.53-0.59,0.99-1.03,1.37v0.03c0,0.59-0.19,1.12-0.56,1.59c-0.37,0.47-0.84,0.76-1.4,0.89 + c-0.14,0.62-0.45,1.15-0.91,1.58c-0.46,0.43-1.01,0.7-1.63,0.8c0.29,0.34,0.43,0.72,0.43,1.13c0,0.48-0.17,0.89-0.51,1.24 + c-0.34,0.34-0.75,0.52-1.23,0.52c-0.48,0-0.89-0.17-1.23-0.52c-0.34-0.34-0.51-0.76-0.51-1.24c0-0.19,0.03-0.38,0.1-0.57h-0.1 + c-0.58,0-1.08-0.21-1.5-0.63c-0.42-0.42-0.63-0.92-0.63-1.5c0-0.4,0.1-0.76,0.3-1.07c-0.52-0.29-0.89-0.7-1.12-1.25h-1.28v-0.01 + c-1.07-0.07-1.98-0.49-2.73-1.27S6.34,13.56,6.34,12.48z M7.74,12.23c0,0.8,0.28,1.48,0.84,2.04s1.24,0.84,2.03,0.84 + c0.49,0,0.95-0.11,1.37-0.34c0.12,0.74,0.47,1.36,1.04,1.86s1.25,0.74,2.02,0.74c0.87,0,1.61-0.31,2.22-0.92 + c0.41,0.48,0.92,0.71,1.54,0.71c0.57,0,1.05-0.2,1.46-0.6c0.4-0.4,0.6-0.89,0.6-1.46c0.4-0.27,0.72-0.61,0.95-1.04 + c0.23-0.42,0.35-0.88,0.35-1.37c0-0.79-0.28-1.47-0.85-2.02c-0.57-0.55-1.25-0.83-2.05-0.83c-0.56,0-1.07,0.15-1.53,0.44 + c0.06-0.24,0.08-0.51,0.08-0.79c0-0.96-0.34-1.78-1.03-2.46c-0.69-0.68-1.52-1.01-2.49-1.01c-0.94,0-1.75,0.33-2.43,0.97 + s-1.04,1.44-1.07,2.37c-0.02,0-0.05,0-0.08,0c-0.04,0-0.07,0-0.09,0c-0.79,0-1.46,0.28-2.03,0.84S7.74,11.45,7.74,12.23z`},child:[]}]})(i)}function t4e(i){return v({attr:{version:"1.1",id:"Layer_1",x:"0px",y:"0px",viewBox:"0 0 30 30",style:"enable-background:new 0 0 30 30;"},child:[{tag:"path",attr:{d:`M7.56,17.19c0-0.88,0.24-1.89,0.72-3.03s1.1-2.25,1.86-3.31c1.56-2.06,2.92-3.62,4.06-4.67l0.75-0.72 + c0.25,0.26,0.53,0.5,0.83,0.72c0.41,0.42,1.04,1.11,1.88,2.09s1.57,1.85,2.17,2.65c0.71,1.01,1.32,2.1,1.81,3.25 + s0.74,2.16,0.74,3.03c0,1-0.19,1.95-0.58,2.86c-0.39,0.91-0.91,1.7-1.57,2.36c-0.66,0.66-1.45,1.19-2.37,1.58 + c-0.92,0.39-1.89,0.59-2.91,0.59c-1,0-1.95-0.19-2.86-0.57c-0.91-0.38-1.7-0.89-2.36-1.55c-0.66-0.65-1.19-1.44-1.58-2.35 + S7.56,18.23,7.56,17.19z M9.82,14.26c0,0.83,0.17,1.49,0.52,1.99c0.35,0.49,0.88,0.74,1.59,0.74c0.72,0,1.25-0.25,1.61-0.74 + c0.35-0.49,0.53-1.15,0.54-1.99c-0.01-0.84-0.19-1.5-0.54-2c-0.35-0.49-0.89-0.74-1.61-0.74c-0.71,0-1.24,0.25-1.59,0.74 + C9.99,12.76,9.82,13.42,9.82,14.26z M11.39,14.26c0-0.15,0-0.27,0-0.35s0.01-0.19,0.02-0.33c0.01-0.14,0.02-0.25,0.05-0.32 + s0.05-0.16,0.09-0.24c0.04-0.08,0.09-0.15,0.15-0.18c0.07-0.04,0.14-0.06,0.23-0.06c0.14,0,0.25,0.04,0.33,0.12s0.14,0.21,0.17,0.38 + c0.03,0.18,0.05,0.32,0.06,0.45s0.01,0.3,0.01,0.52c0,0.23,0,0.4-0.01,0.52c-0.01,0.12-0.03,0.27-0.06,0.45 + c-0.03,0.17-0.09,0.3-0.17,0.38s-0.19,0.12-0.33,0.12c-0.09,0-0.16-0.02-0.23-0.06c-0.07-0.04-0.12-0.1-0.15-0.18 + c-0.04-0.08-0.07-0.17-0.09-0.24c-0.02-0.08-0.04-0.19-0.05-0.32c-0.01-0.14-0.02-0.25-0.02-0.32S11.39,14.41,11.39,14.26z + M11.98,22.01h1.32l4.99-10.74h-1.35L11.98,22.01z M16.28,19.02c0.01,0.84,0.2,1.5,0.55,2c0.35,0.49,0.89,0.74,1.6,0.74 + c0.72,0,1.25-0.25,1.6-0.74c0.35-0.49,0.52-1.16,0.53-2c-0.01-0.84-0.18-1.5-0.53-1.99c-0.35-0.49-0.88-0.74-1.6-0.74 + c-0.71,0-1.25,0.25-1.6,0.74C16.47,17.52,16.29,18.18,16.28,19.02z M17.85,19.02c0-0.23,0-0.4,0.01-0.52 + c0.01-0.12,0.03-0.27,0.06-0.45s0.09-0.3,0.17-0.38s0.19-0.12,0.33-0.12c0.09,0,0.17,0.02,0.24,0.06c0.07,0.04,0.12,0.1,0.16,0.19 + c0.04,0.09,0.07,0.17,0.1,0.24s0.04,0.18,0.05,0.32l0.01,0.32l0,0.34c0,0.16,0,0.28,0,0.35l-0.01,0.32l-0.05,0.32l-0.1,0.24 + l-0.16,0.19l-0.24,0.06c-0.14,0-0.25-0.04-0.33-0.12s-0.14-0.21-0.17-0.38c-0.03-0.18-0.05-0.33-0.06-0.45S17.85,19.25,17.85,19.02z + `},child:[]}]})(i)}function s4e(i){return v({attr:{version:"1.1",id:"Layer_1",x:"0px",y:"0px",viewBox:"0 0 30 30",style:"enable-background:new 0 0 30 30;"},child:[{tag:"path",attr:{d:`M7.38,21.83c0-0.3,0.1-0.55,0.29-0.76c0.19-0.21,0.43-0.31,0.7-0.31v-0.02l13.16,0.04c0.06-0.01,0.1-0.02,0.1-0.02 + c0.27,0.01,0.51,0.12,0.7,0.33c0.19,0.21,0.29,0.47,0.28,0.77c0,0.3-0.1,0.55-0.29,0.76c-0.19,0.21-0.43,0.31-0.7,0.31v0.01 + L8.59,22.9c-0.1,0.01-0.17,0.02-0.22,0.02c-0.28-0.01-0.51-0.11-0.7-0.32C7.47,22.39,7.37,22.13,7.38,21.83z M8.2,16.37 + c-0.01-0.43,0.04-0.93,0.16-1.52c0.06-0.3,0.2-0.76,0.44-1.37c0.02-0.05,0.07-0.14,0.13-0.28c0.01,0.02,0.03,0.03,0.04,0.05 + s0.02,0.02,0.02,0.03c0.11,0.44,0.27,0.84,0.49,1.2c0.21,0.32,0.48,0.56,0.82,0.69c0.26,0.11,0.63,0.17,1.1,0.18 + c0.02,0,0.05,0,0.08,0c0.03,0,0.06,0,0.08,0c-0.33-0.33-0.59-0.67-0.79-1c-0.3-0.52-0.49-1.12-0.57-1.81 + c-0.06-0.54-0.03-1.19,0.09-1.96c0.02-0.15,0.12-0.49,0.29-1.01c0.15-0.47,0.36-0.9,0.64-1.28C11.54,7.8,12,7.3,12.61,6.78 + c0.37-0.31,0.89-0.67,1.56-1.07c0.07-0.04,0.18-0.11,0.35-0.19c0,0.02,0,0.04,0,0.05s0,0.03,0,0.04v0.02 + c-0.24,0.57-0.41,1.15-0.49,1.73c-0.06,0.53,0.02,1.02,0.24,1.48c0.17,0.36,0.48,0.75,0.92,1.15c0.09,0.09,0.29,0.29,0.6,0.58 + c0.3,0.29,0.54,0.52,0.7,0.68l0.25,0.25c0.26-0.38,0.41-0.83,0.44-1.35c0.04-0.55,0-1.15-0.14-1.8c0-0.01,0-0.04,0.01-0.11 + c0.02,0.02,0.13,0.1,0.3,0.24c0.56,0.5,0.98,0.95,1.28,1.34c0.48,0.62,0.83,1.21,1.06,1.74c0.19,0.46,0.31,0.92,0.38,1.4 + c0.06,0.42,0.08,0.77,0.07,1.05c-0.01,0.78-0.1,1.43-0.25,1.96c-0.07,0.21-0.13,0.38-0.19,0.52c0.25-0.07,0.47-0.16,0.65-0.26 + c0.25-0.16,0.45-0.37,0.6-0.66c0.16-0.29,0.29-0.62,0.38-0.98c0-0.01,0.01-0.03,0.03-0.05c0.01,0.02,0.02,0.05,0.05,0.09 + c0.02,0.04,0.04,0.07,0.05,0.1c0.13,0.31,0.22,0.63,0.27,0.97c0.08,0.38,0.1,0.75,0.08,1.13c-0.02,0.29-0.07,0.56-0.16,0.81 + c-0.08,0.24-0.16,0.43-0.22,0.58c-0.19,0.38-0.39,0.71-0.62,0.98c-0.06,0.07-0.11,0.13-0.14,0.16H9.67 + c-0.01-0.01-0.03-0.03-0.07-0.06s-0.06-0.05-0.08-0.07C9.26,18.98,8.98,18.6,8.7,18.1c-0.08-0.15-0.18-0.38-0.29-0.69 + C8.29,17.1,8.22,16.75,8.2,16.37z`},child:[]}]})(i)}function i4e(i){return v({attr:{version:"1.1",id:"Layer_1",x:"0px",y:"0px",viewBox:"0 0 30 30",style:"enable-background:new 0 0 30 30;"},child:[{tag:"path",attr:{d:`M4.37,14.62c0-0.24,0.08-0.45,0.25-0.62c0.17-0.16,0.38-0.24,0.6-0.24h2.04c0.23,0,0.42,0.08,0.58,0.25 + c0.15,0.17,0.23,0.37,0.23,0.61S8,15.06,7.85,15.23c-0.15,0.17-0.35,0.25-0.58,0.25H5.23c-0.23,0-0.43-0.08-0.6-0.25 + C4.46,15.06,4.37,14.86,4.37,14.62z M7.23,21.55c0-0.23,0.08-0.43,0.23-0.61l1.47-1.43c0.15-0.16,0.35-0.23,0.59-0.23 + c0.24,0,0.44,0.08,0.6,0.23s0.24,0.34,0.24,0.57c0,0.24-0.08,0.46-0.24,0.64L8.7,22.14c-0.41,0.32-0.82,0.32-1.23,0 + C7.31,21.98,7.23,21.78,7.23,21.55z M7.23,7.71c0-0.23,0.08-0.43,0.23-0.61C7.66,6.93,7.87,6.85,8.1,6.85 + c0.22,0,0.42,0.08,0.59,0.24l1.43,1.47c0.16,0.15,0.24,0.35,0.24,0.59c0,0.24-0.08,0.44-0.24,0.6s-0.36,0.24-0.6,0.24 + c-0.24,0-0.44-0.08-0.59-0.24L7.47,8.32C7.31,8.16,7.23,7.95,7.23,7.71z M9.78,14.62c0-0.93,0.23-1.8,0.7-2.6s1.1-1.44,1.91-1.91 + s1.67-0.7,2.6-0.7c0.7,0,1.37,0.14,2.02,0.42c0.64,0.28,1.2,0.65,1.66,1.12c0.47,0.47,0.84,1.02,1.11,1.66 + c0.27,0.64,0.41,1.32,0.41,2.02c0,0.94-0.23,1.81-0.7,2.61c-0.47,0.8-1.1,1.43-1.9,1.9c-0.8,0.47-1.67,0.7-2.61,0.7 + s-1.81-0.23-2.61-0.7c-0.8-0.47-1.43-1.1-1.9-1.9C10.02,16.43,9.78,15.56,9.78,14.62z M11.48,14.62c0,0.98,0.34,1.81,1.03,2.5 + c0.68,0.69,1.51,1.04,2.49,1.04s1.81-0.35,2.5-1.04s1.04-1.52,1.04-2.5c0-0.96-0.35-1.78-1.04-2.47c-0.69-0.68-1.52-1.02-2.5-1.02 + c-0.97,0-1.8,0.34-2.48,1.02C11.82,12.84,11.48,13.66,11.48,14.62z M14.14,22.4c0-0.24,0.08-0.44,0.25-0.6s0.37-0.24,0.6-0.24 + c0.24,0,0.45,0.08,0.61,0.24s0.24,0.36,0.24,0.6v1.99c0,0.24-0.08,0.45-0.25,0.62c-0.17,0.17-0.37,0.25-0.6,0.25 + s-0.44-0.08-0.6-0.25c-0.17-0.17-0.25-0.38-0.25-0.62V22.4z M14.14,6.9V4.86c0-0.23,0.08-0.43,0.25-0.6C14.56,4.09,14.76,4,15,4 + s0.43,0.08,0.6,0.25c0.17,0.17,0.25,0.37,0.25,0.6V6.9c0,0.23-0.08,0.42-0.25,0.58S15.23,7.71,15,7.71s-0.44-0.08-0.6-0.23 + S14.14,7.13,14.14,6.9z M19.66,20.08c0-0.23,0.08-0.42,0.23-0.56c0.15-0.16,0.34-0.23,0.56-0.23c0.24,0,0.44,0.08,0.6,0.23 + l1.46,1.43c0.16,0.17,0.24,0.38,0.24,0.61c0,0.23-0.08,0.43-0.24,0.59c-0.4,0.31-0.8,0.31-1.2,0l-1.42-1.42 + C19.74,20.55,19.66,20.34,19.66,20.08z M19.66,9.16c0-0.25,0.08-0.45,0.23-0.59l1.42-1.47c0.17-0.16,0.37-0.24,0.59-0.24 + c0.24,0,0.44,0.08,0.6,0.25c0.17,0.17,0.25,0.37,0.25,0.6c0,0.25-0.08,0.46-0.24,0.62l-1.46,1.43c-0.18,0.16-0.38,0.24-0.6,0.24 + c-0.23,0-0.41-0.08-0.56-0.24S19.66,9.4,19.66,9.16z M21.92,14.62c0-0.24,0.08-0.44,0.24-0.62c0.16-0.16,0.35-0.24,0.57-0.24h2.02 + c0.23,0,0.43,0.09,0.6,0.26c0.17,0.17,0.26,0.37,0.26,0.6s-0.09,0.43-0.26,0.6c-0.17,0.17-0.37,0.25-0.6,0.25h-2.02 + c-0.23,0-0.43-0.08-0.58-0.25S21.92,14.86,21.92,14.62z`},child:[]}]})(i)}function Kn(i){return v({attr:{version:"1.1",id:"Layer_1",x:"0px",y:"0px",viewBox:"0 0 30 30",style:"enable-background:new 0 0 30 30;"},child:[{tag:"path",attr:{d:`M3.89,17.6c0-0.99,0.31-1.88,0.93-2.65s1.41-1.27,2.38-1.49c0.26-1.17,0.85-2.14,1.78-2.88c0.93-0.75,2-1.12,3.22-1.12 + c1.18,0,2.24,0.36,3.16,1.09c0.93,0.73,1.53,1.66,1.8,2.8h0.27c1.18,0,2.18,0.41,3.01,1.24s1.25,1.83,1.25,3 + c0,1.18-0.42,2.18-1.25,3.01s-1.83,1.25-3.01,1.25H8.16c-0.58,0-1.13-0.11-1.65-0.34S5.52,21,5.14,20.62 + c-0.38-0.38-0.68-0.84-0.91-1.36S3.89,18.17,3.89,17.6z M5.34,17.6c0,0.76,0.28,1.42,0.82,1.96s1.21,0.82,1.99,0.82h9.28 + c0.77,0,1.44-0.27,1.99-0.82c0.55-0.55,0.83-1.2,0.83-1.96c0-0.76-0.27-1.42-0.83-1.96c-0.55-0.54-1.21-0.82-1.99-0.82h-1.39 + c-0.1,0-0.15-0.05-0.15-0.15l-0.07-0.49c-0.1-0.94-0.5-1.73-1.19-2.35s-1.51-0.93-2.45-0.93c-0.94,0-1.76,0.31-2.46,0.94 + c-0.7,0.62-1.09,1.41-1.18,2.34l-0.07,0.42c0,0.1-0.05,0.15-0.16,0.15l-0.45,0.07c-0.72,0.06-1.32,0.36-1.81,0.89 + C5.59,16.24,5.34,16.87,5.34,17.6z M14.19,8.88c-0.1,0.09-0.08,0.16,0.07,0.21c0.43,0.19,0.79,0.37,1.08,0.55 + c0.11,0.03,0.19,0.02,0.22-0.03c0.61-0.57,1.31-0.86,2.12-0.86c0.81,0,1.5,0.27,2.1,0.81c0.59,0.54,0.92,1.21,0.99,2l0.09,0.64h1.42 + c0.65,0,1.21,0.23,1.68,0.7c0.47,0.47,0.7,1.02,0.7,1.66c0,0.6-0.21,1.12-0.62,1.57s-0.92,0.7-1.53,0.77c-0.1,0-0.15,0.05-0.15,0.16 + v1.13c0,0.11,0.05,0.16,0.15,0.16c1.01-0.06,1.86-0.46,2.55-1.19s1.04-1.6,1.04-2.6c0-1.06-0.37-1.96-1.12-2.7 + c-0.75-0.75-1.65-1.12-2.7-1.12h-0.15c-0.26-1-0.81-1.82-1.65-2.47c-0.83-0.65-1.77-0.97-2.8-0.97C16.28,7.29,15.11,7.82,14.19,8.88 + z`},child:[]}]})(i)}function qn(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M352 146.4c-34.4-48.6-67.5-78.5-90.8-96.6-3.1-2.4-7.3-2.4-10.4-.1-23 17.1-56.1 48.4-90.5 96.5-37.3 52-63 108.4-64.2 170.9 0 1.2-.1 2.5-.1 3.7 0 18.4 3.9 35.9 10.9 52.1 4.1 9.3 9.2 18.1 15.2 26.3 28.5 39 77.8 64.8 133.8 64.8 88.4 0 160.1-64.1 160.1-143.2 0-63.7-27-122.2-64-174.4zm-86 264.3h-.5c-9.9 0-12-14.1-2.6-17.1 45.1-14.2 69.6-38.5 86.4-80.8 3.5-8.9 16.7-6.5 16.8 3.1v1.4c-.1 51.6-44.9 93.4-100.1 93.4z"},child:[]}]})(i)}function r4e(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M256 76c48.1 0 93.3 18.7 127.3 52.7S436 207.9 436 256s-18.7 93.3-52.7 127.3S304.1 436 256 436c-48.1 0-93.3-18.7-127.3-52.7S76 304.1 76 256s18.7-93.3 52.7-127.3S207.9 76 256 76m0-28C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48z"},child:[]},{tag:"path",attr:{d:"M363.5 148.5C334.8 119.8 296.6 104 256 104c-40.6 0-78.8 15.8-107.5 44.5C119.8 177.2 104 215.4 104 256s15.8 78.8 44.5 107.5C177.2 392.2 215.4 408 256 408c40.6 0 78.8-15.8 107.5-44.5C392.2 334.8 408 296.6 408 256s-15.8-78.8-44.5-107.5z"},child:[]}]})(i)}function o4e(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M430.1 347.9c-6.6-6.1-16.3-7.6-24.6-9-11.5-1.9-15.9-4-22.6-10-14.3-12.7-14.3-31.1 0-43.8l30.3-26.9c46.4-41 46.4-108.2 0-149.2-34.2-30.1-80.1-45-127.8-45-55.7 0-113.9 20.3-158.8 60.1-83.5 73.8-83.5 194.7 0 268.5 41.5 36.7 97.5 55 152.9 55.4h1.7c55.4 0 110-17.9 148.8-52.4 14.4-12.7 12-36.6.1-47.7zM120 216c0-17.7 14.3-32 32-32s32 14.3 32 32-14.3 32-32 32-32-14.3-32-32zm40 126c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm64-161c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm72 219c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm24-208c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"},child:[]}]})(i)}function M4e(i){return v({attr:{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},child:[{tag:"path",attr:{d:"M8 12a4 4 0 0 0 4 4m0 -8a4 4 0 0 0 -4 4"},child:[]},{tag:"path",attr:{d:"M3 12h1"},child:[]},{tag:"path",attr:{d:"M12 3v1"},child:[]},{tag:"path",attr:{d:"M12 20v1"},child:[]},{tag:"path",attr:{d:"M5.6 5.6l.7 .7"},child:[]},{tag:"path",attr:{d:"M6.3 17.7l-.7 .7"},child:[]},{tag:"path",attr:{d:"M20 7l-3 5h4l-3 5"},child:[]}]})(i)}function n4e(i){return v({attr:{viewBox:"0 0 256 256",fill:"currentColor"},child:[{tag:"path",attr:{d:"M224,127.17a96.48,96.48,0,0,1-2.39,22.18A24,24,0,0,1,198.21,168H152a24,24,0,0,0-24,24,24,24,0,0,1-32,22.61C58.73,201.44,32,169.81,32,128a96,96,0,0,1,95-96C179.84,31.47,223.55,74.35,224,127.17Z",opacity:"0.2"},child:[]},{tag:"path",attr:{d:"M200.77,53.89A103.27,103.27,0,0,0,128,24h-1.07A104,104,0,0,0,24,128c0,43,26.58,79.06,69.36,94.17A32,32,0,0,0,136,192a16,16,0,0,1,16-16h46.21a31.81,31.81,0,0,0,31.2-24.88,104.43,104.43,0,0,0,2.59-24A103.28,103.28,0,0,0,200.77,53.89Zm13,93.71A15.89,15.89,0,0,1,198.21,160H152a32,32,0,0,0-32,32,16,16,0,0,1-21.31,15.07C62.49,194.3,40,164,40,128a88,88,0,0,1,87.09-88h.9a88.35,88.35,0,0,1,88,87.25A88.86,88.86,0,0,1,213.81,147.6ZM140,76a12,12,0,1,1-12-12A12,12,0,0,1,140,76ZM96,100A12,12,0,1,1,84,88,12,12,0,0,1,96,100Zm0,56a12,12,0,1,1-12-12A12,12,0,0,1,96,156Zm88-56a12,12,0,1,1-12-12A12,12,0,0,1,184,100Z"},child:[]}]})(i)}function a4e(i){return n.createElement("svg",{viewBox:"0 0 512 512",...i},n.createElement("g",{fill:"currentColor"},n.createElement("path",{d:"M296,320H216a24,24,0,0,0,0,48h80a24,24,0,0,0,0-48Zm0,32H216a8,8,0,0,1,0-16h80a8,8,0,0,1,0,16Z"}),n.createElement("path",{d:"M68.071,123.492c22.578-13.918,52.2-25.229,85.674-32.71l-3.49-15.615c-35.688,7.977-66.163,19.653-90.58,34.705-17.914,11.043-32.041,23.643-41.99,37.451l12.98,9.354C39.376,144.588,51.961,133.423,68.071,123.492Z"}),n.createElement("path",{d:"M435.533,137.112C409.439,121.027,374,108.967,332.845,102.144,322.474,87,288.213,80,256,80s-66.474,7-76.845,22.144C138,108.967,102.561,121.027,76.467,137.112,47.376,155.045,32,176.792,32,200v96c0,29,24.155,55.7,68.016,75.193C141.813,389.77,197.209,400,256,400s114.187-10.23,155.984-28.807C455.845,351.7,480,325,480,296V200C480,176.792,464.624,155.045,435.533,137.112ZM177.64,151.23C185.676,168.192,221.98,176,256,176s70.324-7.808,78.36-24.77c21.862,4.212,41.832,10.19,58.13,17.44C422.343,181.941,432,195.509,432,200s-9.657,18.059-39.51,31.33C357.224,247.008,307.475,256,256,256s-101.224-8.992-136.49-24.67C89.657,218.059,80,204.491,80,200s9.657-18.059,39.512-31.331C135.808,161.42,155.778,155.442,177.64,151.23Zm14.36-19c15.6,8,40.35,11.773,64,11.773s48.4-3.775,64-11.773V144c0,.687-2.715,5.08-15.618,9.381C291.577,157.649,274.4,160,256,160s-35.577-2.351-48.382-6.619C194.715,149.08,192,144.687,192,144Zm15.618-29.608C220.423,98.351,237.605,96,256,96s35.577,2.351,48.382,6.619C317.285,106.92,320,111.313,320,112s-2.715,5.08-15.618,9.381C291.577,125.649,274.4,128,256,128s-35.577-2.351-48.382-6.619C194.715,117.08,192,112.687,192,112S194.715,106.92,207.618,102.619ZM176,118.937v16.319c-23.589,4.453-45.254,10.9-62.99,18.794C82.779,167.489,64,185.1,64,200s18.779,32.511,49.01,45.95C150.249,262.505,202.367,272,256,272s105.751-9.5,142.99-26.05C429.221,232.511,448,214.9,448,200s-18.779-32.511-49.008-45.95c-17.738-7.89-39.4-14.341-62.992-18.794V118.937C411.852,132.7,464,165.41,464,200c0,21.967-21.328,44.044-58.516,60.572C365.688,278.259,312.6,288,256,288s-109.688-9.741-149.484-27.428C69.328,244.044,48,221.967,48,200,48,165.41,100.148,132.7,176,118.937ZM464,296c0,21.967-21.327,44.044-58.514,60.572C365.689,374.259,312.6,384,256,384s-109.689-9.741-149.486-27.428C69.327,340.044,48,317.967,48,296V239.371c11.522,13.444,29.066,25.621,52.018,35.822C141.814,293.77,197.211,304,256,304s114.186-10.23,155.982-28.807c22.952-10.2,40.5-22.378,52.018-35.822Z"}),n.createElement("path",{d:"M418.482,385.814C374.684,405.28,316.979,416,256,416a488.01,488.01,0,0,1-78.705-6.23l-2.59,15.789A504.064,504.064,0,0,0,256,432c63.169,0,123.181-11.21,168.981-31.565q1.3-.576,2.572-1.16l-6.655-14.55Q419.7,385.274,418.482,385.814Z"}),n.createElement("path",{d:"M436.123,377.062l7.754,14c5.883-3.259,11.492-6.728,16.674-10.31l-9.1-13.161C446.7,370.871,441.546,374.059,436.123,377.062Z"}),n.createElement("rect",{x:"248",y:"192",width:"16",height:"16"}),n.createElement("rect",{x:"280",y:"192",width:"16",height:"16"}),n.createElement("rect",{x:"216",y:"192",width:"16",height:"16"})))}function Fje(i){return n.createElement("svg",{viewBox:"0 0 512 512",...i},n.createElement("path",{fill:"currentColor",d:"M448 490.667h-32v-480C416 4.779 411.221 0 405.333 0H106.667C100.779 0 96 4.779 96 10.667v480H64c-5.888 0-10.667 4.779-10.667 10.667C53.333 507.221 58.112 512 64 512h384c5.888 0 10.667-4.779 10.667-10.667s-4.779-10.666-10.667-10.666zm-53.333 0H117.333V21.333h277.333v469.334z"}),n.createElement("path",{fill:"currentColor",d:"M341.333 277.333c17.643 0 32-14.357 32-32s-14.357-32-32-32-32 14.357-32 32 14.358 32 32 32zm0-42.666c5.888 0 10.667 4.779 10.667 10.667S347.221 256 341.333 256s-10.667-4.779-10.667-10.667 4.779-10.666 10.667-10.666z"}))}function c4e(i){return n.createElement("svg",{viewBox:"0 0 512 512",...i},n.createElement("path",{fill:"currentColor",d:"M298.667 298.667c17.643 0 32-14.357 32-32s-14.357-32-32-32-32 14.357-32 32c0 17.642 14.357 32 32 32zm0-42.667c5.867 0 10.667 4.779 10.667 10.667s-4.8 10.667-10.667 10.667S288 272.555 288 266.667 292.8 256 298.667 256z"}),n.createElement("path",{fill:"currentColor",d:"M448 490.667h-32v-480C416 4.779 411.221 0 405.333 0H106.667c-.597 0-1.131.256-1.707.341-.555.085-1.088.149-1.621.32-.939.32-1.749.789-2.56 1.344-.32.213-.704.277-1.003.533-.107.085-.149.213-.256.32-.768.704-1.365 1.579-1.899 2.496-.213.341-.512.619-.661.981-.597 1.345-.96 2.774-.96 4.332v480H64c-5.888 0-10.667 4.779-10.667 10.667C53.333 507.221 58.112 512 64 512h42.667c.576 0 1.173-.043 1.749-.149l256-42.667a10.672 10.672 0 0 0 8.917-10.517V53.333c0-5.227-3.776-9.664-8.917-10.517L235.541 21.333h159.125v480c0 5.888 4.779 10.667 10.667 10.667H448c5.888 0 10.667-4.779 10.667-10.667s-4.779-10.666-10.667-10.666zm-96-428.31v387.264l-234.667 39.125V23.253L352 62.357z"}))}function Hje(i){return n.createElement("svg",{viewBox:"0 0 452.498 452.498",...i},n.createElement("path",{fill:"currentColor",d:"M301.317 295.155c-51.157-10.946-87.714-56.144-87.723-108.459a112.981 112.981 0 0 1 2.304-23.381 107.145 107.145 0 0 1 8.533-23.723 8.53 8.53 0 0 0-.427-8.533c-21.845-35.413-48.213-74.752-84.48-103.68a151.775 151.775 0 0 0-13.653-9.899 79.82 79.82 0 0 0-13.653-7.083 8.535 8.535 0 0 0-11.691 9.728l1.024 4.523c1.109 4.864 2.219 9.728 3.072 14.763a151.95 151.95 0 0 1 2.475 22.613v5.973a160.68 160.68 0 0 1-51.2 117.077 187.752 187.752 0 0 0-40.619 49.323 140.292 140.292 0 0 0-6.485 112.555C28.65 398.37 74.79 435.008 129.37 442.696h1.28a8.629 8.629 0 0 0 2.56-17.066 67.41 67.41 0 0 1-43.776-39.339 61.78 61.78 0 0 1 2.731-49.493 91.4 91.4 0 0 1 19.029-22.784 98.216 98.216 0 0 0 31.317-71.851v-3.669-5.12a86.72 86.72 0 0 1 17.067 19.029 80.214 80.214 0 0 1 12.885 42.667v.683a80.558 80.558 0 0 1-14.592 46.336 8.534 8.534 0 0 0 2.816 12.288 29.268 29.268 0 0 0 29.525 1.28 50.175 50.175 0 0 0 21.333-27.477 59.734 59.734 0 0 1 12.715 36.011c-.579 27.882-18.718 52.352-45.227 61.013a8.534 8.534 0 0 0 4.266 16.469c70.656-12.715 121.941-69.717 124.757-137.984a8.53 8.53 0 0 0-6.739-8.534zm-72.022 111.104a79.103 79.103 0 0 0 12.117-41.899 84.48 84.48 0 0 0-28.416-60.245 8.535 8.535 0 0 0-14.507 5.376c-.939 11.435-7.68 26.624-16.213 31.317a11.012 11.012 0 0 1-4.181 1.28 97.453 97.453 0 0 0 11.52-46.08v-1.024a97.279 97.279 0 0 0-15.616-52.053 105.562 105.562 0 0 0-39.509-35.925 8.535 8.535 0 0 0-12.117 10.155 78.449 78.449 0 0 1 3.755 22.016v2.731a81.32 81.32 0 0 1-26.027 59.733 105.478 105.478 0 0 0-22.443 27.477 80.723 80.723 0 0 0-8.533 35.499 79.108 79.108 0 0 0 13.397 43.947 131.416 131.416 0 0 1-57.941-67.669 123.223 123.223 0 0 1 5.717-98.901 170.67 170.67 0 0 1 37.205-44.629 177.58 177.58 0 0 0 56.405-129.451v-6.571a167.053 167.053 0 0 0-2.731-24.917V34.89a100.687 100.687 0 0 1 7.509 5.717c32.939 26.197 57.685 62.72 78.251 95.488a123.351 123.351 0 0 0-7.509 23.211 129.741 129.741 0 0 0-2.901 27.392c-.012 57.557 38.394 108.044 93.867 123.392a129.706 129.706 0 0 1-61.099 96.169z"}),n.createElement("path",{fill:"currentColor",d:"M324.527 58.697c-49.399.039-94.366 28.501-115.541 73.131a123.96 123.96 0 0 0-9.557 27.477 129.741 129.741 0 0 0-2.901 27.392 127.147 127.147 0 0 0 48.896 100.608 128.002 128.002 0 0 0 79.104 27.392 126.807 126.807 0 0 0 79.104-27.392 128.001 128.001 0 0 0 48.867-100.579c.015-70.693-57.279-128.013-127.972-128.029zm0 238.933a110.91 110.91 0 0 1-23.211-2.475c-51.157-10.946-87.714-56.144-87.723-108.459a112.938 112.938 0 0 1 2.219-23.723 107.639 107.639 0 0 1 8.533-23.808c18.353-38.703 57.347-63.382 100.181-63.403 61.267 0 110.933 49.667 110.933 110.933S385.794 297.63 324.527 297.63z"}),n.createElement("path",{fill:"currentColor",d:"M354.565 106.91a16.212 16.212 0 0 0-11.947-5.205h-36.267a16.216 16.216 0 0 0-11.947 5.205 15.19 15.19 0 0 0-4.011 11.52l6.4 79.616c.837 8.16 7.755 14.338 15.957 14.251h23.552c8.086.105 14.958-5.885 15.957-13.909l6.4-79.957a15.187 15.187 0 0 0-4.094-11.521zm-19.115 88.32h-21.675l-6.315-76.8h34.133l-6.143 76.8zM328.965 229.363h-8.96c-11.621.047-21.031 9.456-21.077 21.077v9.045c.047 11.621 9.456 21.031 21.077 21.077h9.045c11.654-.047 21.077-9.508 21.077-21.163v-8.96c-.047-11.653-9.508-21.076-21.162-21.076zm4.096 30.038a4.097 4.097 0 0 1-4.011 4.011h-8.96a4.097 4.097 0 0 1-4.011-4.011v-8.96a4.097 4.097 0 0 1 4.011-4.011h8.96a4.097 4.097 0 0 1 4.011 4.011v8.96z"}))}function ea(i){return n.createElement("svg",{viewBox:"0 0 512.006 512.006",...i},n.createElement("path",{d:"M502.379 211.249c0 74.656-60.52 135.176-135.176 135.176-6.469.01-12.919-.473-19.311-1.448-66.487-9.598-115.837-66.555-115.866-133.728-.019-67.212 49.349-124.227 115.866-133.825a142.128 142.128 0 0 1 19.311-1.352c74.656 0 135.176 60.521 135.176 135.177z",fill:"#c52828"}),n.createElement("path",{d:"M463.757 211.249c-.029 67.173-49.378 124.131-115.865 133.728-66.487-9.598-115.837-66.555-115.866-133.728-.019-67.212 49.349-124.227 115.866-133.825 66.516 9.598 115.875 66.613 115.865 133.825z",fill:"#f44335"}),n.createElement("g",{fill:"#fdd834"},n.createElement("path",{d:"M380.527 230.56h-26.649a8.208 8.208 0 0 1-8.4-7.242l-7.242-90.472c-.212-4.47 3.235-8.275 7.705-8.497.232-.01.463-.01.695 0h41.036a8.105 8.105 0 0 1 8.4 7.802c.01.232.01.463 0 .695l-7.242 90.472c-.501 4.181-4.093 7.319-8.303 7.242zM362.085 269.181h10.235c7.84 0 14.194 6.353 14.194 14.194v10.235c0 7.84-6.353 14.194-14.194 14.194h-10.235c-7.84 0-14.194-6.353-14.194-14.194v-10.235c.001-7.84 6.354-14.194 14.194-14.194z"})),n.createElement("path",{d:"M308.015 332.714a132.057 132.057 0 0 1-24.332-15.256 138.367 138.367 0 0 1-25.587-26.456 134.123 134.123 0 0 1-26.07-79.754 136.453 136.453 0 0 1 3.09-28.966 129.801 129.801 0 0 1 9.655-28.966c-24.428-39.201-50.691-78.113-85.547-108.334-2.607-2.221-5.214-4.442-7.917-6.566a161.051 161.051 0 0 0-14.387-10.621 80.965 80.965 0 0 0-13.807-7.145c1.641 7.338 3.476 14.773 4.731 22.208a180.355 180.355 0 0 1 2.993 26.939v7.145a192.012 192.012 0 0 1-60.829 139.521 202.647 202.647 0 0 0-43.836 52.719 149.063 149.063 0 0 0-6.566 120.017 152.006 152.006 0 0 0 22.208 40.167 164.926 164.926 0 0 0 106.21 61.891 86.874 86.874 0 0 1-44.801-32.249 51.315 51.315 0 0 1-3.669-5.6 77.46 77.46 0 0 1-6.469-13.325 79.464 79.464 0 0 1 3.766-63.726 111.914 111.914 0 0 1 23.463-28.387 101.983 101.983 0 0 0 32.442-74.25v-3.862a97.875 97.875 0 0 0-4.731-27.132 112.539 112.539 0 0 1 10.911 6.566 108.053 108.053 0 0 1 30.222 30.801 100.963 100.963 0 0 1 15.835 46.443v8.4a100.92 100.92 0 0 1-18.249 57.933c22.98 13.035 38.622-8.593 44.994-28.966a60.067 60.067 0 0 0 2.51-12.842 88.458 88.458 0 0 1 28.966 61.312v5.214c-2.704 33.678-25.346 62.451-57.45 72.995 73.353-11.789 128.717-72.889 133.245-147.053a131.977 131.977 0 0 1-30.994-10.815z",fill:"#f57c00"}),n.createElement("path",{d:"M263.117 417.489v-5.214a88.462 88.462 0 0 0-28.966-61.312 60.129 60.129 0 0 1-2.51 12.842c-5.986 20.47-22.014 42.098-44.994 28.966a100.923 100.923 0 0 0 18.249-57.933v-.966-7.338a100.971 100.971 0 0 0-15.835-46.443 108.027 108.027 0 0 0-30.222-30.801 108.949 108.949 0 0 0-39.877-35.532 97.838 97.838 0 0 1 4.731 27.132v3.862a101.988 101.988 0 0 1-32.442 74.25 111.924 111.924 0 0 0-23.366 28.387 79.491 79.491 0 0 0-3.573 63.726 83.948 83.948 0 0 0 35.436 42.291 51.315 51.315 0 0 0 3.669 5.6 86.886 86.886 0 0 0 44.415 32.249 164.927 164.927 0 0 1-106.21-61.892 152.082 152.082 0 0 1-22.014-40.167 149.055 149.055 0 0 1 6.564-120.015 202.714 202.714 0 0 1 44.029-53.202A192.012 192.012 0 0 0 131.03 76.458v-7.145a180.486 180.486 0 0 0-2.993-26.939c-1.255-7.435-3.09-14.869-4.731-22.208a80.965 80.965 0 0 1 13.807 7.145 159.446 159.446 0 0 1 14.773 10.718c2.704 2.124 5.311 4.345 7.917 6.566 34.856 30.222 61.119 69.133 85.547 108.334a129.75 129.75 0 0 0-9.655 28.966 136.634 136.634 0 0 0-3.669 29.353 134.116 134.116 0 0 0 26.07 79.754 138.396 138.396 0 0 0 25.587 26.456 132.164 132.164 0 0 0 24.332 15.256 152.203 152.203 0 0 1-44.898 84.775z",fill:"#ff9801"}),n.createElement("path",{d:"M147.831 500.912h-1.448c-61.756-8.7-113.963-50.15-136.432-108.334a158.725 158.725 0 0 1 7.338-127.355 212.528 212.528 0 0 1 45.96-55.809 181.787 181.787 0 0 0 57.933-132.473v-6.759a171.298 171.298 0 0 0-2.8-25.587c-.966-5.697-2.221-11.2-3.476-16.704l-1.159-5.117c-1.178-5.204 2.076-10.37 7.28-11.548a9.663 9.663 0 0 1 5.948.541 89.473 89.473 0 0 1 15.449 8.014 172.47 172.47 0 0 1 15.449 11.2c41.036 32.732 70.871 77.244 95.589 117.314a9.673 9.673 0 0 1 .483 9.655 121.056 121.056 0 0 0-9.655 26.842 128.158 128.158 0 0 0-2.607 26.456c.01 59.198 41.374 110.333 99.258 122.721a9.655 9.655 0 0 1 7.628 9.655c-3.186 77.244-61.216 141.742-141.163 156.129-5.253.927-10.254-2.588-11.181-7.84a9.65 9.65 0 0 1 6.353-10.795c29.99-9.8 50.517-37.492 51.174-69.037a67.618 67.618 0 0 0-14.387-40.746 56.78 56.78 0 0 1-24.139 31.091 33.122 33.122 0 0 1-33.408-1.448c-4.644-2.626-6.276-8.516-3.659-13.16.145-.261.299-.502.473-.743a91.187 91.187 0 0 0 16.511-52.429v-.772a90.743 90.743 0 0 0-14.58-48.277 98.107 98.107 0 0 0-19.311-21.532v9.945a111.13 111.13 0 0 1-35.436 81.299 103.445 103.445 0 0 0-21.532 25.78 69.873 69.873 0 0 0-3.09 56.002 76.304 76.304 0 0 0 49.533 44.512c5.33.801 9.009 5.774 8.207 11.104-.801 5.328-5.774 8.997-11.103 8.205zM137.113 39.478v1.738a188.136 188.136 0 0 1 3.09 28.194v7.435A200.926 200.926 0 0 1 76.38 223.318a192.998 192.998 0 0 0-42.098 50.498 139.414 139.414 0 0 0-6.469 111.907 148.682 148.682 0 0 0 65.561 76.568 89.522 89.522 0 0 1-15.159-49.726 91.25 91.25 0 0 1 9.655-40.167 119.46 119.46 0 0 1 25.394-31.091 92.026 92.026 0 0 0 29.449-67.588v-3.09a88.799 88.799 0 0 0-4.248-24.911 9.653 9.653 0 0 1 6.237-12.147 9.638 9.638 0 0 1 7.473.657 119.392 119.392 0 0 1 44.705 40.649 110.062 110.062 0 0 1 17.669 58.898v1.159a110.343 110.343 0 0 1-13.035 52.139 12.555 12.555 0 0 0 4.731-1.448c9.655-5.31 17.283-22.497 18.345-35.436.434-5.31 5.088-9.269 10.409-8.844a9.61 9.61 0 0 1 6.006 2.761 95.586 95.586 0 0 1 32.153 68.168 89.528 89.528 0 0 1-13.711 47.408 146.774 146.774 0 0 0 69.133-108.817c-62.77-17.37-106.22-74.492-106.21-139.618a146.655 146.655 0 0 1 3.283-30.994 139.876 139.876 0 0 1 8.497-26.263c-23.27-37.077-51.27-78.402-88.541-108.045a113.049 113.049 0 0 0-8.496-6.467z"}),n.createElement("path",{d:"M367.203 356.081a144.841 144.841 0 0 1-89.506-30.994 143.882 143.882 0 0 1-55.326-113.838 146.655 146.655 0 0 1 3.283-30.994 140.652 140.652 0 0 1 10.814-31.091c23.965-50.498 74.839-82.699 130.735-82.747 79.986.019 144.813 64.875 144.803 144.861a144.848 144.848 0 0 1-55.297 113.809 143.543 143.543 0 0 1-89.506 30.994zm0-270.353c-48.47.019-92.586 27.943-113.355 71.74a121.83 121.83 0 0 0-9.655 26.939 127.805 127.805 0 0 0-2.51 26.842c.01 59.198 41.374 110.333 99.258 122.721a125.763 125.763 0 0 0 26.263 2.8c69.326 0 125.521-56.195 125.521-125.521S436.519 85.728 367.203 85.728z"}),n.createElement("path",{d:"M380.527 240.215h-26.649c-9.279.097-17.109-6.894-18.056-16.125l-7.242-90.085a17.201 17.201 0 0 1 4.538-13.035 18.38 18.38 0 0 1 13.518-5.89h41.036a18.375 18.375 0 0 1 13.518 5.89 17.204 17.204 0 0 1 4.635 13.035l-7.242 90.472c-1.139 9.076-8.912 15.854-18.056 15.738zm-25.49-19.311h24.525l6.952-86.899h-38.622l7.145 86.899zM372.32 317.459h-10.235c-13.151-.048-23.801-10.698-23.849-23.849v-10.235c.048-13.151 10.698-23.801 23.849-23.849h10.138c13.189 0 23.888 10.66 23.946 23.849v10.138c0 13.18-10.669 23.888-23.849 23.946zm-10.138-38.622a4.635 4.635 0 0 0-4.538 4.538v10.138a4.635 4.635 0 0 0 4.538 4.538h10.138a4.635 4.635 0 0 0 4.538-4.538v-10.138a4.635 4.635 0 0 0-4.538-4.538h-10.138z"}))}function Vje(i){return n.createElement("svg",{viewBox:"0 0 512.224 512.224",...i},n.createElement("path",{fill:"currentColor",d:"M321.71 427.573c-42.239-16.782-69.968-57.632-69.973-103.083.012-7.976.87-15.928 2.56-23.723a107.066 107.066 0 0 1 10.752-28.757 8.534 8.534 0 0 0-2.304-10.923 98.766 98.766 0 0 1-9.216-7.851 92.567 92.567 0 0 1-20.053-28.843 89.437 89.437 0 0 1-7.339-35.413 87.726 87.726 0 0 1 10.069-40.107c2.219-4.096 4.437-8.107 6.997-12.117a8.536 8.536 0 0 0 0-9.387l-17.835-28.416-17.067-27.392a24.148 24.148 0 0 0-7.906-7.906c-11.358-6.992-26.233-3.452-33.225 7.906l-50.176 80.64c-11.264 18.091-22.869 36.779-34.901 54.784l-3.413 5.035A698.15 698.15 0 0 0 39 275.935a158.81 158.81 0 0 0-17.664 72.96 160.509 160.509 0 0 0 13.056 63.659 165.287 165.287 0 0 0 88.661 86.784 167.511 167.511 0 0 0 64.683 12.885 167.509 167.509 0 0 0 64.683-12.8 164.36 164.36 0 0 0 52.907-34.901 162.072 162.072 0 0 0 20.309-24.149 8.532 8.532 0 0 0-3.925-12.8zm-28.331 24.917a147.644 147.644 0 0 1-47.445 31.147 152.92 152.92 0 0 1-116.395 0 148.222 148.222 0 0 1-79.445-77.824 143.623 143.623 0 0 1-11.691-56.917 141.656 141.656 0 0 1 15.701-65.195 688.246 688.246 0 0 1 38.741-62.293l3.413-5.035c12.203-18.176 23.893-37.035 35.243-55.211l50.176-80.725a6.995 6.995 0 0 1 6.059-3.413 7.082 7.082 0 0 1 6.144 3.84l17.067 27.392 14.933 24.064c-1.621 2.56-3.243 5.461-4.864 8.533a104.964 104.964 0 0 0-11.776 48.299 106.408 106.408 0 0 0 8.533 42.155 109.907 109.907 0 0 0 23.808 34.133 136.402 136.402 0 0 0 5.205 4.693 124.263 124.263 0 0 0-9.216 26.965 129.873 129.873 0 0 0-2.901 27.392c.04 48.518 27.402 92.877 70.741 114.688a143.263 143.263 0 0 1-12.031 13.312z"}),n.createElement("path",{fill:"currentColor",d:"M100.014 442.592c-.058 0-.114-.008-.172-.009-.057.001-.113.009-.17.009h.342z"}),n.createElement("path",{fill:"currentColor",d:"M105.646 428a112.632 112.632 0 0 1-24.576-35.755 109.311 109.311 0 0 1-8.533-43.349 107.531 107.531 0 0 1 11.861-49.408 8.533 8.533 0 0 0-3.889-12.306 8.533 8.533 0 0 0-11.216 4.455 124.582 124.582 0 0 0-13.824 57.259 126.296 126.296 0 0 0 10.24 50.091 129.715 129.715 0 0 0 28.331 41.131 8.535 8.535 0 0 0 5.802 2.466 8.527 8.527 0 0 0 5.853-2.515 8.534 8.534 0 0 0-.049-12.069zM419.161 140.597a456.86 456.86 0 0 0-26.453-42.155l-1.707-2.475C381.443 82.4 372.91 68.149 364.377 54.41L335.79 8.757a18.69 18.69 0 0 0-5.896-5.896c-8.742-5.486-20.277-2.846-25.763 5.896L275.63 54.41c-8.533 14.08-17.408 27.989-26.453 41.899-6.997 10.155-14.08 20.565-20.395 31.232-2.56 4.096-5.12 8.448-7.68 13.312a104.964 104.964 0 0 0-11.776 48.299 106.408 106.408 0 0 0 8.533 42.155 109.918 109.918 0 0 0 23.808 34.133 115.197 115.197 0 0 0 10.752 9.216 8.533 8.533 0 0 0 5.12 1.707l1.877-.256a8.532 8.532 0 0 0 5.717-4.267 110.25 110.25 0 0 1 42.155-43.435 112.64 112.64 0 0 1 106.581-2.389 8.533 8.533 0 0 0 12.117-4.95 105.041 105.041 0 0 0-6.825-80.469zm-7.083 65.707a129.795 129.795 0 0 0-113.408 7.253 127.305 127.305 0 0 0-43.349 41.387l-1.792-1.707a92.567 92.567 0 0 1-20.053-28.843 89.437 89.437 0 0 1-7.339-35.413 87.734 87.734 0 0 1 9.813-40.363c2.219-3.84 4.523-8.192 7.168-12.373 6.144-10.411 13.141-20.651 20.053-30.72 9.387-13.824 18.432-28.16 26.965-42.069l28.501-45.397a1.536 1.536 0 0 1 1.365-.768 1.535 1.535 0 0 1 1.365.768l27.904 45.312c8.619 13.909 17.579 28.245 26.965 42.069l1.707 2.475a443.768 443.768 0 0 1 25.6 40.533 87.883 87.883 0 0 1 8.535 57.856z"}),n.createElement("path",{fill:"currentColor",d:"M277.337 228.746a58.176 58.176 0 0 1-12.629-18.091 54.768 54.768 0 0 1-4.437-21.675 53.425 53.425 0 0 1 5.973-24.576c1.707-3.157 3.499-6.4 5.632-9.728l.512-.853a8.533 8.533 0 0 0-2.894-12.242 8.533 8.533 0 0 0-11.613 3.282l-.512.768c-2.219 3.584-4.352 7.253-6.229 10.837a70.656 70.656 0 0 0-7.936 32.512 71.854 71.854 0 0 0 5.888 28.501 75.615 75.615 0 0 0 16.299 23.467 8.531 8.531 0 0 0 5.973 2.389v.085a8.533 8.533 0 0 0 5.973-14.676z"}),n.createElement("path",{fill:"currentColor",d:"M421.721 210.826a129.961 129.961 0 0 0-123.051 2.731 127.233 127.233 0 0 0-48.64 50.176 124.24 124.24 0 0 0-12.459 33.365 129.873 129.873 0 0 0-2.901 27.392c0 70.692 57.308 128 128 128 47.899.071 91.829-26.606 113.855-69.14 32.508-62.775 7.971-140.016-54.804-172.524zM362.67 435.424c-61.267 0-110.933-49.667-110.933-110.933.006-8.004.864-15.985 2.56-23.808a107.209 107.209 0 0 1 10.752-28.843c19.355-35.894 56.842-58.275 97.621-58.283 61.267 0 110.933 49.666 110.933 110.933S423.937 435.424 362.67 435.424z"}),n.createElement("path",{fill:"currentColor",d:"M392.707 244.704a16.296 16.296 0 0 0-11.947-5.205h-36.267a16.296 16.296 0 0 0-11.947 5.205 15.274 15.274 0 0 0-4.011 11.52l6.4 79.531c.796 8.194 7.725 14.419 15.957 14.336h23.552c8.086.105 14.958-5.885 15.957-13.909l6.4-79.957a15.26 15.26 0 0 0-4.094-11.521zm-19.114 88.32h-21.675l-6.315-76.8h34.133l-6.143 76.8zM367.107 367.157h-8.96c-11.621.047-21.031 9.456-21.077 21.077v9.045c.047 11.621 9.456 21.031 21.077 21.077h9.045c11.654-.047 21.077-9.508 21.077-21.163v-8.96c-.046-11.653-9.507-21.076-21.162-21.076zm4.096 30.037a4.097 4.097 0 0 1-4.011 4.011h-8.96a4.097 4.097 0 0 1-4.011-4.011v-8.96a4.097 4.097 0 0 1 4.011-4.011h8.96a4.097 4.097 0 0 1 4.011 4.011v8.96z"}))}function ta(i){return n.createElement("svg",{viewBox:"0 0 512.002 512.002",...i},n.createElement("path",{d:"M481.929 324.35c0 65.951-53.464 119.415-119.415 119.415a111.938 111.938 0 0 1-17.059-1.279c-58.735-8.478-102.33-58.795-102.356-118.135-.017-59.375 43.595-109.742 102.356-118.221a125.333 125.333 0 0 1 17.059-1.194c65.951-.001 119.415 53.462 119.415 119.414z",fill:"#c52828"}),n.createElement("path",{d:"M447.81 324.35c-.026 59.341-43.621 109.657-102.356 118.135-58.735-8.478-102.33-58.795-102.356-118.135-.017-59.375 43.595-109.742 102.356-118.221 58.77 8.487 102.373 58.846 102.356 118.221z",fill:"#f44335"}),n.createElement("g",{fill:"#fdd834"},n.createElement("path",{d:"M374.285 341.409h-23.542a7.251 7.251 0 0 1-7.421-6.397l-6.397-79.923a7.174 7.174 0 0 1 6.807-7.506c.205-.009.409-.009.614 0h36.251a7.16 7.16 0 0 1 7.421 6.892c.009.205.009.409 0 .614l-6.397 79.923a7.249 7.249 0 0 1-7.336 6.397zM357.993 375.527h9.041c6.926 0 12.539 5.612 12.539 12.539v9.041c0 6.926-5.612 12.539-12.539 12.539h-9.041c-6.926 0-12.539-5.612-12.539-12.539v-9.041c0-6.926 5.621-12.539 12.539-12.539z"})),n.createElement("path",{d:"M318.415 435.235a153.553 153.553 0 0 1-19.192 22.859 157.081 157.081 0 0 1-50.154 33.095 159.575 159.575 0 0 1-61.413 12.283 149.268 149.268 0 0 1-20.556-1.365 155.17 155.17 0 0 1-40.857-10.833 156.698 156.698 0 0 1-84.017-82.311 152.753 152.753 0 0 1-12.368-60.219 150.27 150.27 0 0 1 17.059-69.005 752.602 752.602 0 0 1 42.648-68.237c15.268-22.774 29.513-46.145 44.013-69.346l34.119-54.504 7.335-11.771c4.504-7.353 14.117-9.656 21.469-5.143a15.525 15.525 0 0 1 5.143 5.143l34.716 55.869c-2.644 4.18-5.032 8.53-7.335 12.709a96.424 96.424 0 0 0-11.515 44.439 98.026 98.026 0 0 0 8.018 38.725 100.313 100.313 0 0 0 21.921 31.56 106.83 106.83 0 0 0 9.98 8.53 115.344 115.344 0 0 0-11.6 31.048 120.546 120.546 0 0 0-2.729 25.589c.041 48.9 29.878 92.828 75.315 110.885z",fill:"#0377bc"}),n.createElement("path",{d:"M277.217 435.235a153.553 153.553 0 0 1-19.192 22.859 157.081 157.081 0 0 1-50.154 33.095 158.847 158.847 0 0 1-40.772 10.833 155.17 155.17 0 0 1-40.857-10.833 156.698 156.698 0 0 1-84.017-82.311 152.657 152.657 0 0 1-12.368-60.134 150.27 150.27 0 0 1 17.059-69.005 752.602 752.602 0 0 1 42.648-68.237c15.268-22.774 29.513-46.145 44.013-69.346l34.119-54.504c9.212 14.671 18.339 29.427 27.465 44.098-2.644 4.18-5.032 8.53-7.335 12.709a96.502 96.502 0 0 0-10.833 44.354 98.026 98.026 0 0 0 8.018 38.725 100.313 100.313 0 0 0 21.921 31.56 106.83 106.83 0 0 0 9.98 8.53 115.323 115.323 0 0 0-12.283 31.133 120.546 120.546 0 0 0-2.729 25.589c.043 48.9 29.88 92.828 75.317 110.885z",fill:"#02a9f4"}),n.createElement("path",{d:"M411.388 144.545a477.911 477.911 0 0 0-27.636-43.842c-9.894-14.586-19.192-29.598-28.489-44.525L328.395 13.53c-3.037-4.708-9.323-6.065-14.031-3.028a10.259 10.259 0 0 0-3.028 3.028l-12.794 20.215-14.074 22.433c-9.297 14.927-18.595 29.939-28.489 44.525-6.994 10.236-13.989 20.471-20.301 31.133-2.644 4.18-5.032 8.53-7.335 12.709a96.502 96.502 0 0 0-10.833 44.354 98.758 98.758 0 0 0 29.939 70.284 106.83 106.83 0 0 0 9.98 8.53 119.423 119.423 0 0 1 84.017-60.902 114.9 114.9 0 0 1 21.068-1.877c5.186.009 10.372.324 15.524.938a119.369 119.369 0 0 1 39.578 12.539 96.462 96.462 0 0 0-6.228-73.866z",fill:"#0377bc"}),n.createElement("path",{d:"M379.573 188.899a93.046 93.046 0 0 1-1.535 17.059 131.537 131.537 0 0 0-15.524-1.024 114.797 114.797 0 0 0-21.068 1.877 119.425 119.425 0 0 0-84.017 60.902 106.96 106.96 0 0 1-9.98-8.53c-31.099-29.743-38.878-76.417-19.106-114.638 2.303-4.35 4.691-8.53 7.335-12.709 6.312-10.662 13.306-20.898 20.301-31.133 9.894-14.586 19.192-29.598 28.489-44.525l14.074-22.433 14.074 22.433c9.297 14.927 18.595 29.939 28.489 44.525a477.911 477.911 0 0 1 27.636 43.842 96.401 96.401 0 0 1 10.832 44.354z",fill:"#02a9f4"}),n.createElement("path",{d:"M187.656 512.002a167.398 167.398 0 0 1-64.655-12.88 165.226 165.226 0 0 1-88.623-86.746 160.466 160.466 0 0 1-13.05-63.631 158.81 158.81 0 0 1 17.656-72.928 698.388 698.388 0 0 1 39.663-63.887l3.412-5.032c12.027-17.998 23.627-36.677 34.886-54.76L167.1 71.531c6.986-11.353 21.861-14.893 33.214-7.898a24.1 24.1 0 0 1 7.898 7.898l17.059 27.38 17.827 28.404a8.521 8.521 0 0 1 0 9.383c-2.559 4.009-4.777 8.018-6.994 12.112a87.69 87.69 0 0 0-10.065 40.089 89.456 89.456 0 0 0 7.335 35.398 92.438 92.438 0 0 0 20.045 28.83 99.608 99.608 0 0 0 9.212 7.847 8.534 8.534 0 0 1 2.303 10.918 106.955 106.955 0 0 0-10.747 28.745 112.483 112.483 0 0 0-2.559 23.712c.009 45.429 27.721 86.26 69.943 103.038 4.393 1.706 6.559 6.653 4.853 11.046a8.584 8.584 0 0 1-.93 1.749 162.407 162.407 0 0 1-20.301 24.139 164.29 164.29 0 0 1-52.884 34.886 167.489 167.489 0 0 1-64.653 12.795zm0-435.012a6.99 6.99 0 0 0-6.056 3.412l-50.154 80.69c-11.344 18.168-23.03 37.019-35.227 55.187l-3.412 5.032a687.543 687.543 0 0 0-38.725 62.266 141.613 141.613 0 0 0-15.695 65.166 143.56 143.56 0 0 0 11.686 56.893 148.16 148.16 0 0 0 79.411 77.79 152.855 152.855 0 0 0 116.344 0 147.616 147.616 0 0 0 47.425-31.133 143.446 143.446 0 0 0 12.027-13.306c-43.322-21.802-70.668-66.139-70.711-114.638a129.576 129.576 0 0 1 2.9-27.38 124.357 124.357 0 0 1 9.212-26.954 136.293 136.293 0 0 1-5.203-4.691 109.87 109.87 0 0 1-23.798-34.119 106.411 106.411 0 0 1-8.53-42.136c0-16.803 4.035-33.359 11.771-48.278 1.621-3.071 3.241-5.971 4.862-8.53l-14.927-24.054-17.059-27.38a7.087 7.087 0 0 0-6.141-3.837z"}),n.createElement("path",{d:"M99.971 442.4A8.521 8.521 0 0 1 94 439.926a129.631 129.631 0 0 1-28.318-41.113 126.28 126.28 0 0 1-10.236-50.069 124.503 124.503 0 0 1 13.818-57.234c1.868-4.325 6.883-6.32 11.208-4.452s6.32 6.883 4.452 11.208c-.162.375-.35.742-.563 1.092a107.494 107.494 0 0 0-11.856 49.387 109.211 109.211 0 0 0 8.53 43.331 112.626 112.626 0 0 0 24.565 35.739c3.344 3.318 3.369 8.717.051 12.061a8.549 8.549 0 0 1-6.022 2.525l.342-.001zM257.428 276.242a8.526 8.526 0 0 1-5.118-1.706 115.222 115.222 0 0 1-10.747-9.212 109.87 109.87 0 0 1-23.798-34.119 106.411 106.411 0 0 1-8.53-42.136c0-16.803 4.035-33.359 11.771-48.278 2.559-4.862 5.118-9.212 7.677-13.306 6.312-10.662 13.392-21.068 20.386-31.218 9.041-13.903 17.912-27.807 26.442-41.881L304 8.753c5.485-8.734 17.017-11.379 25.751-5.894a18.698 18.698 0 0 1 5.894 5.894l28.574 45.634c8.53 13.733 17.059 27.977 26.612 41.539l1.706 2.474a457.473 457.473 0 0 1 26.442 42.136 104.968 104.968 0 0 1 6.824 80.434c-1.433 4.487-6.235 6.969-10.722 5.536a8.282 8.282 0 0 1-1.39-.589 112.612 112.612 0 0 0-106.535 2.388 110.28 110.28 0 0 0-42.136 43.416 8.52 8.52 0 0 1-5.715 4.265l-1.877.256zm62.437-258.959a1.541 1.541 0 0 0-1.365.768l-28.489 45.378c-8.53 13.903-17.571 28.233-26.954 42.051-6.909 10.065-13.903 20.301-20.045 30.707-2.644 4.18-4.947 8.53-7.165 12.368a87.722 87.722 0 0 0-9.809 40.345 89.456 89.456 0 0 0 7.335 35.398 92.438 92.438 0 0 0 20.045 28.83l1.791 1.706a127.216 127.216 0 0 1 43.331-41.369 129.73 129.73 0 0 1 113.359-7.25 87.904 87.904 0 0 0-8.53-57.831 444.102 444.102 0 0 0-25.589-40.516l-1.706-2.474c-9.383-13.818-18.339-28.148-26.954-42.051L321.23 18.05a1.532 1.532 0 0 0-1.365-.767z"}),n.createElement("path",{d:"M271.246 243.233a8.519 8.519 0 0 1-5.971-2.388 75.502 75.502 0 0 1-16.292-23.456 71.923 71.923 0 0 1-5.885-28.489 70.537 70.537 0 0 1 7.933-32.498c1.877-3.582 4.009-7.25 6.227-10.833l.512-.768a8.538 8.538 0 0 1 11.609-3.284 8.538 8.538 0 0 1 3.284 11.609 6.997 6.997 0 0 1-.392.631l-.512.853c-2.132 3.327-3.924 6.568-5.63 9.724a53.307 53.307 0 0 0-5.971 24.565 54.816 54.816 0 0 0 4.435 21.665 58.198 58.198 0 0 0 12.624 18.083c3.395 3.267 3.489 8.666.222 12.061a8.518 8.518 0 0 1-6.193 2.61v-.085z"}),n.createElement("path",{d:"M362.514 452.294c-70.66 0-127.945-57.285-127.945-127.945a129.576 129.576 0 0 1 2.9-27.38 123.98 123.98 0 0 1 12.453-33.351 127.15 127.15 0 0 1 48.619-50.154c37.94-21.495 84.136-22.518 122.997-2.729 62.744 32.489 87.275 109.7 54.777 172.452-22.005 42.512-65.916 69.184-113.801 69.107zm0-238.83c-40.763.009-78.234 22.382-97.579 58.257a107.238 107.238 0 0 0-10.747 28.83 112.818 112.818 0 0 0-2.559 23.798c0 61.243 49.643 110.885 110.885 110.885s110.885-49.642 110.885-110.885-49.643-110.885-110.885-110.885z"}),n.createElement("path",{d:"M374.285 349.939h-23.542c-8.231.085-15.157-6.141-15.95-14.33l-6.397-79.496a15.26 15.26 0 0 1 4.009-11.515 16.312 16.312 0 0 1 11.942-5.203h36.251a16.31 16.31 0 0 1 11.941 5.203 15.27 15.27 0 0 1 4.094 11.515l-6.397 79.923c-.999 8.026-7.865 14.013-15.951 13.903zm-22.519-17.06h21.665l6.141-76.767h-34.119l6.313 76.767zM367.034 418.176h-9.041c-11.617-.043-21.026-9.451-21.068-21.068v-9.041c.043-11.617 9.451-21.026 21.068-21.068h8.956c11.651 0 21.102 9.417 21.153 21.068v8.956c.001 11.651-9.416 21.11-21.068 21.153zm-8.956-34.119a4.095 4.095 0 0 0-4.009 4.009v8.956a4.095 4.095 0 0 0 4.009 4.009h8.956a4.095 4.095 0 0 0 4.009-4.009v-8.956a4.095 4.095 0 0 0-4.009-4.009h-8.956z"}))}function u4e(i){return n.createElement("svg",{viewBox:"0 0 512 512",...i},n.createElement("path",{fill:"currentColor",d:"M462,226c-5.52,0-10,4.48-10,10s4.48,10,10,10c5.52,0,10-4.48,10-10S467.52,226,462,226z"}),n.createElement("path",{fill:"currentColor",d:"M50,226c-5.52,0-10,4.48-10,10s4.48,10,10,10s10-4.48,10-10S55.52,226,50,226z"}),n.createElement("path",{fill:"currentColor",d:`M502,126h-0.027C508.265,117.637,512,107.248,512,96c0-27.57-22.43-50-50-50s-50,22.43-50,50 + c0,11.248,3.735,21.637,10.027,30H422c-5.522,0-10,4.478-10,10v50.03c-7.399,0.025-17.158,0.065-23,0.113V166.63 + c0-5.522-4.478-10-10-10c-5.522,0-10,4.478-10,10v12.435c-0.931-0.964-1.899-2.045-2.923-3.258 + c-10.745-12.754-24.515-23.761-40.077-32.106V121.83c0-5.522-4.478-10-10-10c-5.522,0-10,4.478-10,10v12.983 + c-12.92-4.643-26.438-7.5-40-8.448V96c0-5.522-4.478-10-10-10c-5.522,0-10,4.478-10,10v30.365 + c-13.565,0.948-27.084,3.807-40,8.452V120.17c0-5.522-4.477-10-10-10s-10,4.478-10,10v23.542 + c-15.764,8.457-29.695,19.652-40.55,32.652c-0.758,0.908-1.587,1.755-2.45,2.566v-12.3c0-5.522-4.477-10-10-10s-10,4.478-10,10 + v20.385c-4.189,0.067-14.913,0.05-23,0.024V136c0-5.522-4.477-10-10-10h-0.027C96.265,117.637,100,107.248,100,96 + c0-27.57-22.43-50-50-50S0,68.43,0,96c0,11.248,3.735,21.637,10.027,30H10c-5.523,0-10,4.478-10,10v320c0,5.522,4.477,10,10,10h80 + c5.523,0,10-4.478,10-10v-11h312v11c0,5.522,4.478,10,10,10h80c5.522,0,10-4.478,10-10V136C512,130.478,507.522,126,502,126z + M80,446H20V146h20v50c0,5.522,4.477,10,10,10s10-4.478,10-10v-50h20V446z M50,126c-16.542,0-30-13.458-30-30s13.458-30,30-30 + s30,13.458,30,30S66.542,126,50,126z M123,425h-23v-19h23V425z M123,386h-23V247h23V386z M123,227h-23v-19.959 + c3.808,0.011,8.197,0.022,12.244,0.022c4.378,0,8.351-0.012,10.756-0.046V227z M186,425h-43v-19h43V425z M186,276v40v70h-43 + V244.817c16.149-3.513,31.29-11.046,43-21.321V276z M186,194.605c-2.373,2.327-4.659,4.785-6.815,7.365 + c-8.521,10.2-21.771,18.214-36.185,22.224v-21.525c6.846-3.098,13.007-7.736,17.806-13.49c7.006-8.391,15.56-15.917,25.194-22.232 + V194.605z M206,156.285c12.757-5.415,26.344-8.765,40-9.871v20.099c-14.162,1.416-27.777,5.83-40,12.895V156.285z M206,203.562 + c11.538-9.26,25.37-15.088,40-16.922V266h-40V203.562z M246,425h-40v-19h40V425z M246,386h-40v-60h40V386z M306,425h-40v-19h40 + V425z M306,386h-40v-60h40V386z M306,306H206v-20h100V306z M306,266h-40v-79.359c14.617,1.835,28.449,7.664,40,16.924V266z + M306,179.418c-12.232-7.071-25.847-11.487-40-12.904v-20.1c13.651,1.106,27.238,4.454,40,9.865V179.418z M369,425h-43v-19h43V425 + z M369,386h-43v-70v-40v-52.635c11.722,10.137,26.674,17.329,43,20.634V386z M369,223.458 + c-14.663-3.788-27.83-11.575-36.517-21.887c-2.039-2.417-4.216-4.742-6.483-6.965v-27.672c9.465,6.201,17.88,13.567,24.789,21.767 + c4.64,5.496,10.324,11.234,18.211,14.57V223.458z M412,425h-23v-19h23V425z M412,386h-23V246h23V386z M412,226h-23v-19.856 + c5.683-0.048,15.526-0.088,23-0.113V226z M492,446h-60V146h20v50c0,5.522,4.478,10,10,10c5.522,0,10-4.478,10-10v-50h20V446z + M462,126c-16.542,0-30-13.458-30-30s13.458-30,30-30s30,13.458,30,30S478.542,126,462,126z`}))}function Zje(i){return n.createElement("svg",{viewBox:"0 0 512 512",...i},n.createElement("path",{fill:"currentColor",d:"M391,362h77.417L440.989,58.467C438.075,26.229,409.37,0,377,0H135c-32.37,0-61.075,26.229-63.989,58.467L43.583,362H121v30 H91v120h330V392h-30V362z M135,30h242c16.963,0,32.584,14.273,34.11,31.167L416.427,120H95.573l5.316-58.833 C102.416,44.273,118.037,30,135,30z M92.862,150h326.275l16.446,182H76.416L92.862,150z M151,362h210v30H151V362z M241,422v60h-45 v-60H241z M271,422h45v60h-45V422z M121,422h45v60h-45V422z M391,482h-45v-60h45V482z"}))}function Xje(i){return n.createElement("svg",{width:170,height:170,viewBox:"-20 -20 190 190",...i},n.createElement("path",{className:"path stOff",d:"M0 109v36.3c0 5.3 3.7 9.7 8.3 9.7h50.1v-23h37v23H153V84H0l28.4-29V13h18.1v24l30-37 66.2 69",fill:"none"}))}function l4e(i){return n.createElement("svg",{viewBox:"0 0 511.448 511.448",...i},n.createElement("path",{d:"M344.556 112.216C318.38 78.84 291.34 44.344 269.516 7.32c-5.76-9.76-21.824-9.76-27.552 0-21.856 37.024-48.896 71.52-75.072 104.896-53.056 67.68-103.168 131.616-103.168 207.232 0 105.888 86.112 192 192 192s192-86.112 192-192c0-75.616-50.112-139.552-103.168-207.232z",fill:"#2196f3"}),n.createElement("g",{fill:"#fafafa"},n.createElement("path",{d:"M207.724 287.448c-26.464 0-48-21.536-48-48s21.536-48 48-48 48 21.536 48 48-21.536 48-48 48zm0-64c-8.832 0-16 7.168-16 16s7.168 16 16 16 16-7.168 16-16-7.168-16-16-16zM303.724 447.448c-26.464 0-48-21.536-48-48s21.536-48 48-48 48 21.536 48 48-21.536 48-48 48zm0-64c-8.8 0-16 7.2-16 16s7.2 16 16 16 16-7.2 16-16-7.2-16-16-16zM175.724 415.448a16.07 16.07 0 0 1-11.328-4.672c-6.24-6.24-6.24-16.384 0-22.624l160-160c6.24-6.24 16.384-6.24 22.624 0s6.24 16.384 0 22.624l-160 160a15.943 15.943 0 0 1-11.296 4.672z"})))}function Kje(i){return n.createElement("svg",{viewBox:"-20 -20 190 190",...i},n.createElement("defs",null,n.createElement("filter",{id:"glow",x:"-5000%",y:"-5000%",width:"10000%",height:"10000%"},n.createElement("feFlood",{result:"flood",floodColor:"#70C5FF",floodOpacity:"1"}),n.createElement("feComposite",{in:"flood",result:"mask",in2:"SourceGraphic",operator:"in"}),n.createElement("feMorphology",{in:"mask",result:"dilated",operator:"dilate",radius:"2"}),n.createElement("feGaussianBlur",{in:"dilated",result:"blurred",stdDeviation:"5"}),n.createElement("feMerge",null,n.createElement("feMergeNode",{in:"blurred"}),n.createElement("feMergeNode",{in:"SourceGraphic"})))),n.createElement("path",{style:{stroke:"currentColor",fill:"none",strokeWidth:12,strokeLinejoin:"round",strokeMiterlimit:10},filter:i.isOn?"url(#glow)":"",className:"path",d:"M0,109v36.3c0,5.3,3.7,9.7,8.3,9.7h50.1v-23h37v23H153V84H0l28.4-29V13h18.1v24L76.5,0l66.2,69"}))}function sa(i){return n.createElement("svg",{viewBox:"0 0 508.16 508.16",...i},n.createElement("path",{d:"M504.18 13.67a3.924 3.924 0 0 0-.42.02H4a4 4 0 0 0-4 4v47.28a4 4 0 0 0 4 4h19.72l-13.44 42.04a4 4 0 0 0 3.8 5.24h9.64l-13.44 42.04a4 4 0 0 0 3.8 5.24h9.64l-13.44 42.04a4 4 0 0 0 3.8 5.24h9.64l-13.44 42.04a4 4 0 0 0 3.8 5.24h9.64l-13.44 42.08a4 4 0 0 0 .56 3.56 4 4 0 0 0 3.24 1.64h9.64l-13.44 42.08a4 4 0 0 0 .56 3.56 4 4 0 0 0 3.24 1.64h9.64l-13.44 42.08a4 4 0 0 0 .56 3.56 4 4 0 0 0 3.24 1.64h9.64l-13.44 42.16a4 4 0 0 0 .56 3.56 4 4 0 0 0 3.24 1.64h9.64l-13.44 42a4 4 0 0 0 .56 3.56 4 4 0 0 0 3.24 1.64h479.8a4 4 0 0 0 3.24-1.64 4 4 0 0 0 .56-3.56l-13.44-42.08h9.64a4 4 0 0 0 3.24-1.64 4 4 0 0 0 .56-3.56l-13.44-42.08h9.64a4 4 0 0 0 3.24-1.64 4 4 0 0 0 .56-3.56l-13.44-42.08h9.64a4 4 0 0 0 3.24-1.64 4 4 0 0 0 .56-3.56l-13.44-42.08h9.64a4 4 0 0 0 3.24-1.64 4 4 0 0 0 .56-3.56l-13.64-42.08h9.84a4 4 0 0 0 4-5.24l-13.44-42.04h9.44a4 4 0 0 0 4-5.24l-13.44-42.04h9.44a4 4 0 0 0 4-5.24l-13.44-42.04h9.44a4 4 0 0 0 4-5.24l-13.44-42.04h19.72a4 4 0 0 0 4-4V17.69a4 4 0 0 0-3.98-4.02zM99.08 486.49H19.56l12.56-39.28h66.96v39.28zm0-47.28H19.56l12.56-39.28h66.96v39.28zm0-47.28H19.56l12.56-39.28h66.96v39.28zm0-47.28H19.56l12.56-39.28h66.96v39.28zm0-47.28H19.56l12.56-39.28h66.96v39.28zm0-47.28H19.56l12.56-39.28h66.96v39.28zm0-47.28H19.56l12.56-39.28h66.96v39.28zm0-47.28H19.56l12.56-39.28h66.96v39.28zm0-47.28H19.56l12.56-39.28h66.96v39.28zm26.8 378.24h-18.8v-39.28h18.8v39.28zm0-47.28h-18.8v-39.28h18.8v39.28zm0-47.28h-18.8v-39.28h18.8v39.28zm0-47.28h-18.8v-39.28h18.8v39.28zm0-47.28h-18.8v-39.28h18.8v39.28zm0-47.28h-18.8v-39.28h18.8v39.28zm0-47.28h-18.8v-39.28h18.8v39.28zm0-47.28h-18.8v-39.28h18.8v39.28zm.16-47.28h-18.96V68.97h18.96v39.28zm247.84 378.24h-240v-39.28h240v39.28zm-240-47.28v-39.28h239.68v39.28H133.88zm240-47.28h-240v-39.28h240v39.28zm0-47.28h-240v-39.28h240v39.28zm0-47.28h-240v-39.28h240v39.28zm0-47.28h-240v-39.28h240v39.28zm0-47.28h-240v-39.28h240v39.28zm0-47.28h-240v-39.28h240v39.28zm-240-47.28V68.97h239.84v39.28H133.88zm266.64 378.24h-18.64l-.32-39.28h18.96v39.28zm0-47.28h-18.96v-39.28h18.96v39.28zm0-47.28h-18.96v-39.28h18.96v39.28zm0-47.28h-18.96v-39.28h18.96v39.28zm.32-47.28h-18.96v-39.28h18.96v39.28zm0-47.28h-18.96v-39.28h18.96v39.28zm0-47.28h-18.96v-39.28h18.96v39.28zm0-47.28h-18.96v-39.28h18.96v39.28zm-18.96-47.28V68.97h18.8v39.28h-18.8zm63.56 8v39.28h-36.92v-39.28h36.92zm-36.76-8V68.97h36.92v39.28h-36.92zm36.76 55.28v39.28h-36.92v-39.28h36.92zm0 47.28v39.28h-36.92v-39.28h36.92zm0 47.28v39.28h-36.92v-39.28h36.92zm0 47.28v39.28h-36.76l-.16-39.28h36.92zm42.68 181.12h-79.44v-39.28h66.96l12.48 39.28zm0-47.28h-79.44v-39.28h66.96l12.48 39.28zm0-47.28h-79.44v-39.28h36.92v17.44a4 4 0 0 0 8 0v-17.44h22.04l12.48 39.28zm0-47.28h-34.6v-39.28h22.04l12.56 39.28zm0-47.28h-34.6v-39.28h22.04l12.56 39.28zm0-47.28h-34.6v-39.28h22.04l12.56 39.28zm0-47.28h-34.6v-39.28h22.04l12.56 39.28zm0-47.28h-34.6v-39.28h22.04l12.56 39.28zm0-47.28h-34.6V68.97h22.04l12.56 39.28zm11.56-47.28H8V21.69h491.76l-.08 39.28z",fill:"currentColor"}),n.createElement("path",{d:"M454.32 37.33h-13.76a4 4 0 0 0 0 8h13.76a4 4 0 0 0 0-8zM414.84 37.33h-96a4 4 0 0 0 0 8h96a4 4 0 0 0 0-8z",fill:"currentColor"}))}function qje(i){return n.createElement("svg",{viewBox:"0 0 230 230",...i},n.createElement("ellipse",{fill:"#2979ff",stroke:"#2979ff",strokeWidth:"1.5",cx:"112.9",cy:"114",rx:"112",ry:"112"}),n.createElement("ellipse",{fill:"#40c4ff",strokeWidth:"1.5",cx:"112.900006",cy:"113.999995",rx:"73.684216",ry:"73.684216",stroke:"#40c4ff"}),n.createElement("ellipse",{fill:"#ffffff",strokeWidth:"1.5",cx:"112.900003",cy:"114",rx:"33.578948",ry:"33.578948",stroke:"#ffffff"}))}function ege(i){return n.createElement("svg",{viewBox:"0 0 24.986 24.986",...i},n.createElement("g",{fill:"currentColor"},n.createElement("path",{fill:"currentColor",d:"M17.548 17.961l-.771-.769s-1.225 1.305-1.304 1.305c-.081 0-1.308-1.305-1.308-1.305l-.771.769s1.306 1.198 1.306 1.308c0 .106-1.306 1.308-1.306 1.308l.771.767s1.217-1.305 1.308-1.305c.089 0 1.304 1.305 1.304 1.305l.771-.767s-1.307-1.218-1.307-1.308c.001-.092 1.307-1.308 1.307-1.308z"}),n.createElement("path",{fill:"currentColor",d:"M15.472 14.435a4.832 4.832 0 0 0 0 9.661 4.83 4.83 0 0 0 0-9.661zm0 8.913a4.083 4.083 0 0 1-4.081-4.082 4.079 4.079 0 0 1 4.081-4.081 4.083 4.083 0 0 1 0 8.163z"}),n.createElement("circle",{fill:"currentColor",cx:10.06,cy:2.207,r:2.207}),n.createElement("path",{fill:"currentColor",d:"M10.2 20.476v3.26l.009.009a1.25 1.25 0 0 0 1.251 1.238c.643 0 1.167-.487 1.236-1.11-.083-.052-.173-.093-.253-.146a5.425 5.425 0 0 1-2.243-3.251z"}),n.createElement("path",{fill:"currentColor",d:"M12.455 14.724c.08-.057.168-.097.253-.146l-.002-6.687h.606V12.945c0 .516.417.932.932.932a.931.931 0 0 0 .933-.932V7.51c-.206-2.42-3.013-2.385-3.013-2.385H7.74c-3.168.06-3.055 2.385-3.055 2.385l-.001 5.428h.003c-.002.014-.002.025-.002.04a.932.932 0 1 0 1.861 0l-.001-.04h.001V7.914h.584l-.007 15.811c0 .693.562 1.261 1.257 1.261s1.257-.565 1.257-1.261V13.523h.562v4.457a5.414 5.414 0 0 1 2.256-3.256z"})))}function N4e(i){return n.createElement("svg",{viewBox:"0 0 63.907 63.907",fill:"currentColor",...i},n.createElement("circle",{fill:"currentColor",cx:30.515,cy:6.136,r:6.136}),n.createElement("path",{fill:"currentColor",d:"M47.399 27.455C42.346 24.53 38.2 20.579 34.71 15.931c-2.193-3.084-7.991-2.923-10.347-.097-3.584 3.487-6.625 7.081-9.037 10.677a3.209 3.209 0 0 0 5.329 3.573 54.205 54.205 0 0 1 3.59-4.734c-.051 3.333.116 9.347.2 12.05.028.9-.177 1.78-.595 2.579-3.308 6.317-5.424 12.294-7.572 19.606a3.37 3.37 0 1 0 6.465 1.901c1.982-6.742 3.897-12.201 6.884-17.981.152.006.304.006.458-.001 1.907 5.69 3.815 11.383 5.725 17.073 1.387 4.147 7.822 1.993 6.431-2.155-2.087-6.221-4.171-12.439-6.251-18.659-.121-.357-.414-1.755-.455-2.211-.344-3.832-.469-7.652-.432-11.477a51.027 51.027 0 0 0 9.782 7.328c3.597 2.088 6.063-3.891 2.514-5.948z"}))}function L4e(i){return n.createElement("svg",{viewBox:"0 0 285 285",...i},n.createElement("g",null,n.createElement("path",{fill:"currentColor",d:`M88.4,87.996c2.525-2.146,2.832-5.933,0.687-8.458C82.801,72.144,79.34,62.719,79.34,53c0-22.607,18.393-41,41-41 + c22.607,0,41,18.393,41,41c0,9.729-3.467,19.161-9.761,26.557c-2.148,2.523-1.843,6.311,0.681,8.458 + c1.129,0.961,2.511,1.431,3.886,1.431c1.698,0,3.386-0.717,4.572-2.111C168.858,77.77,173.34,65.576,173.34,53 + c0-29.225-23.775-53-53-53c-29.225,0-53,23.775-53,53c0,12.563,4.476,24.748,12.602,34.31C82.089,89.835,85.873,90.141,88.4,87.996 + z`}),n.createElement("path",{fill:"currentColor",d:`M120.186,41.201c13.228,0,23.812,8.105,27.313,19.879c0.761-2.562,1.176-5.271,1.176-8.08 + c0-15.649-12.685-28.335-28.335-28.335c-15.648,0-28.334,12.686-28.334,28.335c0,2.623,0.364,5.16,1.031,7.571 + C96.691,49.076,107.152,41.201,120.186,41.201z`}),n.createElement("path",{fill:"currentColor",d:`M234.21,169.856c-3.769-22.452-19.597-26.04-27.034-26.462c-2.342-0.133-4.516-1.32-5.801-3.282 + c-5.388-8.225-12.609-10.4-18.742-10.4c-4.405,0-8.249,1.122-10.449,1.932c-0.275,0.102-0.559,0.15-0.837,0.15 + c-0.87,0-1.701-0.47-2.163-1.262c-5.472-9.387-13.252-11.809-19.822-11.809c-3.824,0-7.237,0.82-9.548,1.564 + c-0.241,0.077-0.764,0.114-1.001,0.114c-1.256,0-2.637-1.03-2.637-2.376V69.753c0-11.035-8.224-16.552-16.5-16.552 + c-8.276,0-16.5,5.517-16.5,16.552v84.912c0,4.989-3.811,8.074-7.918,8.074c-2.495,0-4.899-1.138-6.552-3.678l-7.937-12.281 + c-3.508-5.788-8.576-8.188-13.625-8.189c-11.412-0.001-22.574,12.258-14.644,25.344l62.491,119.692 + c0.408,0.782,1.225,1.373,2.108,1.373h87.757c1.253,0,2.289-1.075,2.365-2.325l2.196-35.816c0.025-0.413,0.162-0.84,0.39-1.186 + C231.591,212.679,237.828,191.414,234.21,169.856z`})))}function tge(i){return n.createElement("svg",{viewBox:"0 0 384.754 384.754",...i},n.createElement("path",{fill:"currentColor",d:`M214.86,374.508c0,4.971-4.029,9-9,9h-65.01c-4.971,0-9.223-3.57-9.223-8.541V288.87c0-4.971,4.252-9.361,9.223-9.361 + h99.585c4.971,0,9,4.029,9,9s-4.029,9-9,9h-90.808v68h56.232C210.83,365.508,214.86,369.538,214.86,374.508z M136.65,115.508h10 + c4.971,0,9-4.029,9-9s-4.029-9-9-9h-10c-4.971,0-9,4.029-9,9S131.679,115.508,136.65,115.508z M180.947,115.508h10 + c4.97,0,9-4.029,9-9s-4.029-9-9-9h-10c-4.971,0-9,4.029-9,9S175.976,115.508,180.947,115.508z M152.056,142.508c0,4.971,4.029,9,9,9 + h5c4.971,0,9-4.029,9-9s-4.029-9-9-9h-5C156.086,133.508,152.056,137.538,152.056,142.508z M127.875,220.987 + c6.952,11.05,21.072,18.33,36.689,18.33c15.619,0,29.74-7.282,36.691-18.332c12.326,0.961,24.51,6.008,33.264,13.909 + c3.69,3.329,9.381,3.038,12.712-0.651c3.33-3.69,3.038-9.536-0.651-12.866c-12.984-11.718-31.526-18.868-49.6-18.868h-1.237 + c-3.845,0-7.265,2.597-8.513,6.232c-2.119,6.173-10.584,12.499-22.666,12.499c-12.08,0-20.546-6.366-22.667-12.539 + c-1.249-3.636-4.668-6.193-8.512-6.193h-1.236c-30.601,0-59.207,19.216-65.123,43.549L40.6,354.841 + c-0.119,0.442-0.205,0.936-0.255,1.402c-0.124,1.119-0.033,2.244,0.243,3.289c0.245,0.932,0.635,1.814,1.145,2.602 + c1.056,1.635,2.77,2.936,4.713,3.615c0.342,0.119,0.181,0.45,1.181,0.528v0.23c0,0-0.258,0-0.257,0c0.646,0,1.293,0.107,1.93,0.107 + c0.089,0,0.177-0.107,0.266-0.107h54.025c4.971,0,9-4.029,9-9s-4.029-9-9-9H60.743l23.773-97.92 + C88.17,235.565,107.472,222.596,127.875,220.987z M189.97,248.508c-4.971,0-9,4.029-9,9s4.029,9,9,9h31.78c4.971,0,9-4.029,9-9 + s-4.029-9-9-9H189.97z M74.842,100.475c-0.417-4.952,3.259-9.306,8.212-9.723c1.519-0.126,2.98,0.13,4.292,0.692 + c1.424-6.374,3.641-12.519,6.628-18.336c-0.344-0.283-0.681-0.594-0.982-0.93c-0.329-0.366-0.648-0.756-0.91-1.164 + c-0.819-1.275-1.455-2.772-1.455-4.38c0-0.002,0-0.005,0-0.008s0-0.007,0-0.01c0-0.218,0-0.437,0-0.656c0-0.003,0-0.006,0-0.009 + c0-0.001,0-0.003,0-0.004c0-0.301,0.07-0.51,0.105-0.802C94.772,27.947,126.077,0,163.556,0c34.778,0,64.202,23.508,71.492,57.508 + h24.149c4.971,0,9,4.029,9,9s-4.029,9-9,9h-25.056c2.481,5,4.362,10.481,5.62,16.11c1.31-0.562,2.771-0.992,4.293-0.866 + c4.953,0.417,8.631,4.77,8.215,9.723l-1.17,13.92c-0.417,4.952-4.763,8.622-9.723,8.215c-0.326-0.027-0.646-0.072-0.961-0.133 + c-6.549,36.481-38.522,64.25-76.86,64.25c-38.337,0-70.31-27.769-76.858-64.25c-0.314,0.061-0.635,0.104-0.961,0.133 + c-4.945,0.421-9.306-3.261-9.723-8.215L74.842,100.475z M110.646,57.508h105.822c-6.838-23-28.063-39.334-52.912-39.334 + C138.708,18.174,117.483,34.508,110.646,57.508z M103.471,108.857c0,33.132,26.955,59.957,60.086,59.957 + c33.132,0,60.087-26.868,60.087-60c0-12.091-3.508-23.305-10.183-33.305h-99.809C106.977,85.508,103.471,96.765,103.471,108.857z + M344.428,256.584c-0.107-1.239-0.475-2.471-1.114-3.609c-0.174-0.312-0.367-0.614-0.579-0.905l-8.921-12.739 + c-2.851-4.072-8.461-5.063-12.534-2.21c-4.071,2.851-5.062,8.463-2.21,12.534l6.039,8.625l-5.512,11.819 + c-0.003,0.008-0.007,0.015-0.01,0.022l-5.523,12.046l-13.016,1.341c-0.002,0-0.004,0-0.006,0l-13.012,0.936l-7.494-10.805 + c-0.004-0.005-0.007-0.059-0.011-0.064l-7.484-10.715l11.044-23.697l10.49-0.924c4.952-0.434,8.615-4.802,8.182-9.753 + c-0.434-4.952-4.813-8.609-9.75-8.183l-15.495,1.356c-0.355,0.024-0.708,0.069-1.057,0.135c-1.297,0.243-2.487,0.761-3.515,1.485 + c-1.014,0.713-1.893,1.644-2.556,2.764c-0.182,0.306-0.345,0.621-0.49,0.947l-15.289,32.79c-0.16,0.328-0.3,0.664-0.419,1.006 + c-0.43,1.233-0.575,2.51-0.465,3.749c0.108,1.236,0.474,2.463,1.11,3.599c0.176,0.314,0.37,0.62,0.583,0.912l10.376,14.817 + c0.005,0.007,0.01,0.014,0.015,0.021l7.479,10.685l-36.083,77.381c-2.101,4.505-0.151,9.86,4.354,11.961 + c1.23,0.573,2.524,0.845,3.798,0.845c3.39,0,6.636-1.924,8.163-5.198l36.082-77.146l13.012-0.902c0.002,0,0.004,0,0.006,0 + l18.021-1.813c0.358-0.024,0.714-0.188,1.064-0.256c1.292-0.243,2.477-0.817,3.501-1.539c1.014-0.711,1.891-1.669,2.555-2.786 + c0.185-0.309,0.351-0.644,0.497-0.975l7.644-16.398c0.001-0.002,0.002-0.008,0.003-0.009l7.644-16.396 + c0.159-0.326,0.299-0.66,0.417-1.001C344.392,259.102,344.538,257.825,344.428,256.584z`}))}function xr(i){return n.createElement("svg",{viewBox:"1 -10 511.99999 511",...i},n.createElement("g",{fill:"currentColor"},n.createElement("path",{d:"M 405.5 150 C 405.5 232.566406 338.566406 299.5 256 299.5 C 173.433594 299.5 106.5 232.566406 106.5 150 C 106.5 67.433594 173.433594 0.5 256 0.5 C 338.566406 0.5 405.5 67.433594 405.5 150 Z M 405.5 150 ",style:{stroke:"none",fillRule:"nonzero",fill:"rgb(25.882353%,75.294118%,88.627451%)",fillOpacity:1}}),n.createElement("path",{d:"M 512 342.921875 C 512 425.488281 445.066406 492.421875 362.5 492.421875 C 279.933594 492.421875 213 425.488281 213 342.921875 C 213 260.355469 279.933594 193.421875 362.5 193.421875 C 445.066406 193.421875 512 260.355469 512 342.921875 Z M 512 342.921875 ",style:{stroke:"none",fillRule:"nonzero",fill:"rgb(100%,81.568627%,38.039216%)",fillOpacity:1}}),n.createElement("path",{d:"M 220.746094 295.308594 C 232.050781 298.039062 243.855469 299.5 256 299.5 C 321.917969 299.5 377.871094 256.835938 397.753906 197.613281 C 386.449219 194.878906 374.644531 193.421875 362.5 193.421875 C 296.582031 193.421875 240.628906 236.085938 220.746094 295.308594 Z M 220.746094 295.308594 ",style:{stroke:"none",fillRule:"nonzero",fill:"rgb(28.627451%,74.117647%,56.470588%)",fillOpacity:1}}),n.createElement("path",{d:"M 299 342.921875 C 299 425.488281 232.066406 492.421875 149.5 492.421875 C 66.933594 492.421875 0 425.488281 0 342.921875 C 0 260.355469 66.933594 193.421875 149.5 193.421875 C 232.066406 193.421875 299 260.355469 299 342.921875 Z M 299 342.921875 ",style:{stroke:"none",fillRule:"nonzero",fill:"rgb(98.039216%,43.921569%,69.803922%)",fillOpacity:1}}),n.createElement("path",{d:"M 114.246094 197.613281 C 134.128906 256.835938 190.082031 299.5 256 299.5 C 268.144531 299.5 279.949219 298.039062 291.253906 295.308594 C 271.371094 236.085938 215.417969 193.421875 149.5 193.421875 C 137.355469 193.421875 125.550781 194.878906 114.246094 197.613281 Z M 114.246094 197.613281 ",style:{stroke:"none",fillRule:"nonzero",fill:"rgb(68.627451%,48.235294%,77.647059%)",fillOpacity:1}}),n.createElement("path",{d:"M 213 342.921875 C 213 383.800781 229.414062 420.839844 256 447.828125 C 282.585938 420.839844 299 383.800781 299 342.921875 C 299 302.042969 282.585938 265.003906 256 238.015625 C 229.414062 265.003906 213 302.042969 213 342.921875 Z M 213 342.921875 ",style:{stroke:"none",fillRule:"nonzero",fill:"rgb(93.72549%,38.039216%,13.333333%)",fillOpacity:1}}),n.createElement("path",{d:"M 291.253906 295.320312 C 279.949219 298.046875 268.140625 299.5 256 299.5 C 243.859375 299.5 232.050781 298.046875 220.746094 295.320312 C 228.058594 273.542969 240.242188 254.015625 256 238.015625 C 271.757812 254.015625 283.941406 273.542969 291.253906 295.320312 Z M 291.253906 295.320312 ",style:{stroke:"none",fillRule:"nonzero",fill:"rgb(100%,100%,100%)",fillOpacity:1}})))}function j4e(i){return n.createElement("svg",{width:32,height:32,viewBox:"0 0 365.445 365.445",...i},n.createElement("g",{fill:"currentColor"},n.createElement("path",{d:"M146.7 162.775h-26.8a6.655 6.655 0 0 0-6.647 6.647v26.602a6.653 6.653 0 0 0 6.647 6.646h26.8a6.654 6.654 0 0 0 6.647-6.646v-26.602a6.655 6.655 0 0 0-6.647-6.647zM245.547 162.775h-26.801a6.653 6.653 0 0 0-6.646 6.647v26.602a6.652 6.652 0 0 0 6.646 6.646h26.801a6.654 6.654 0 0 0 6.646-6.646v-26.602a6.655 6.655 0 0 0-6.646-6.647z"})),n.createElement("path",{d:"M345.445 1.204H20c-11.046 0-20 8.954-20 20v323.037c0 11.045 8.954 20 20 20h325.445c11.045 0 20-8.955 20-20V21.204c0-11.045-8.953-20-20-20zM182.723 287.66c-57.955 0-104.937-46.981-104.937-104.937 0-57.957 46.982-104.938 104.937-104.938S287.66 124.767 287.66 182.723 240.678 287.66 182.723 287.66z",fill:"currentColor"}))}function g4e(i){return n.createElement("svg",{width:32,height:32,viewBox:"0 0 45.659 45.659",...i},n.createElement("path",{fill:"currentColor",d:"M30.619 27.309V7.781C30.619 3.49 27.124 0 22.833 0c-4.29 0-7.785 3.491-7.785 7.78v19.528a10.722 10.722 0 0 0-3.05 7.522c0 5.972 4.857 10.828 10.829 10.828 5.97 0 10.834-4.856 10.834-10.828 0-2.918-1.141-5.572-3.042-7.521zM22.825 42.66c-4.316 0-7.824-3.512-7.824-7.828 0-2.527 1.174-4.779 3.077-6.211V16.237h3.372c.552 0 1-.47 1-1.022 0-.553-.448-1.021-1-1.021h-3.372v-2.466h3.372c.552 0 1-.434 1-.986a.989.989 0 0 0-1-.986h-3.372V7.78c0-2.636 2.119-4.78 4.754-4.78 2.637 0 4.756 2.144 4.756 4.781v20.871c1.903 1.434 3.047 3.671 3.047 6.18 0 4.316-3.494 7.828-7.81 7.828z"}),n.createElement("path",{fill:"currentColor",d:"M25.334 30.463V18.632h-5.002v11.831a4.973 4.973 0 0 0-2.537 4.369 5.038 5.038 0 0 0 5.038 5.046 5.034 5.034 0 0 0 5.034-5.046c0-1.866-.982-3.495-2.533-4.369z"}))}function sge(i){return n.createElement("svg",{viewBox:"0 0 512 512",...i},n.createElement("path",{fill:"currentColor",d:"M341.333 288.593V85.333C341.333 38.205 303.128 0 256 0s-85.333 38.205-85.333 85.333v203.259C144.48 312.03 128 346.091 128 384c0 70.693 57.308 128 128 128s128-57.307 128-128c0-37.909-16.48-71.97-42.667-95.407zM256 469.333c-47.128 0-85.333-38.205-85.333-85.333 0-24.637 10.441-47.492 28.455-63.615l14.212-12.72V85.333c0-23.564 19.103-42.667 42.667-42.667s42.667 19.102 42.667 42.667v222.332l14.212 12.72c18.014 16.123 28.455 38.977 28.455 63.615-.002 47.128-38.207 85.333-85.335 85.333z"}),n.createElement("path",{fill:"currentColor",d:"M234.667 170.667h42.667v256h-42.667z"}),n.createElement("circle",{fill:"currentColor",cx:256,cy:384,r:64}))}function T4e(i){return n.createElement("svg",{viewBox:"0 0 297 297",...i},n.createElement("g",null,n.createElement("path",{fill:"currentColor",d:"m243.404,138.042c-5.775,0-10.458,4.683-10.458,10.458 0,46.564-37.883,84.446-84.446,84.446s-84.446-37.882-84.446-84.446 37.883-84.446 84.446-84.446c5.775,0 10.458-4.683 10.458-10.458s-4.683-10.457-10.458-10.457c-58.097,0-105.361,47.265-105.361,105.361s47.264,105.361 105.361,105.361 105.361-47.264 105.361-105.361c0-5.775-4.681-10.458-10.457-10.458z"}),n.createElement("path",{fill:"currentColor",d:"m142.963,121.344l-20.272-30.41c-3.203-4.807-9.695-6.104-14.502-2.9-4.805,3.202-6.104,9.695-2.9,14.502l20.279,30.422c-3.015,4.436-4.78,9.787-4.78,15.543 0,15.281 12.432,27.713 27.713,27.713 15.281,0 27.713-12.432 27.713-27.713 0-15.281-12.432-27.713-27.713-27.713-1.897-0.001-3.749,0.191-5.538,0.556zm12.335,27.156c0,3.748-3.05,6.798-6.798,6.798s-6.798-3.05-6.798-6.798 3.05-6.798 6.798-6.798 6.798,3.05 6.798,6.798z"}),n.createElement("path",{fill:"currentColor",d:"M148.5,0C66.617,0,0,66.617,0,148.5S66.617,297,148.5,297S297,230.383,297,148.5S230.383,0,148.5,0z M158.958,275.653 v-6.366c0-5.775-4.683-10.458-10.458-10.458c-5.775,0-10.458,4.683-10.458,10.458v6.366 c-62.027-5.056-111.64-54.668-116.695-116.695h6.366c5.775,0,10.458-4.683,10.458-10.458s-4.683-10.458-10.458-10.458h-6.366 c5.056-62.027,54.668-111.64,116.695-116.695v6.366c0,5.775,4.683,10.458,10.458,10.458c5.775,0,10.458-4.683,10.458-10.458v-6.366 c62.027,5.056,111.64,54.668,116.695,116.695h-6.366c-5.775,0-10.458,4.683-10.458,10.458s4.683,10.458,10.458,10.458h6.366 C270.598,220.985,220.985,270.598,158.958,275.653z"})))}function ige(i){return n.createElement("svg",{viewBox:"0 0 480 480",...i},n.createElement("g",null,n.createElement("path",{fill:"currentColor",d:`M472,304h-80v-8c0-4.418-3.582-8-8-8h-32c-4.418,0-8,3.582-8,8v8h-48v-48c0-4.418-3.582-8-8-8h-8v-24c0-4.418-3.582-8-8-8 + h-8v-16h8c4.418,0,8-3.582,8-8v-32c0-4.418-3.582-8-8-8h-8v-24h44.28c5.382-0.016,10.547,2.121,14.344,5.936l7.44,7.44 + c14.167,14.169,37.138,14.171,51.308,0.004c6.806-6.805,10.629-16.036,10.628-25.66V92.28 + c0.002-20.037-16.239-36.282-36.276-36.284c-9.625-0.001-18.855,3.822-25.66,10.628l-7.44,7.44 + c-3.797,3.815-8.962,5.952-14.344,5.936H264V56c0-4.418-3.582-8-8-8h-32c-4.418,0-8,3.582-8,8v24h-52.28 + c-5.382,0.016-10.547-2.121-14.344-5.936l-7.44-7.44c-14.167-14.169-37.138-14.171-51.308-0.004 + C83.822,73.425,79.999,82.655,80,92.28v23.44c-0.002,20.037,16.239,36.282,36.276,36.284c9.625,0.001,18.855-3.822,25.66-10.628 + l7.44-7.44c3.797-3.815,8.962-5.952,14.344-5.936H216v24h-8c-4.418,0-8,3.582-8,8v32c0,4.418,3.582,8,8,8h8v16h-8 + c-4.418,0-8,3.582-8,8v24h-8c-4.418,0-8,3.582-8,8v48h-48v-8c0-4.418-3.582-8-8-8H96c-4.418,0-8,3.582-8,8v8H8 + c-4.418,0-8,3.582-8,8v104c0,4.418,3.582,8,8,8h80c0,4.418,3.582,8,8,8h32c4.418,0,8-3.582,8-8v-8h208v8c0,4.418,3.582,8,8,8h32 + c4.418,0,8-3.582,8-8v-8h80c4.418,0,8-3.582,8-8v-96C480,307.582,476.418,304,472,304z M88,408H16v-88h72V408z M120,416h-16V304 + h16V416z M232,64h16v16h-16V64z M163.72,112c-9.628-0.028-18.866,3.798-25.656,10.624l-7.44,7.44 + c-7.928,7.918-20.774,7.909-28.692-0.02c-3.796-3.801-5.929-8.953-5.932-14.324V92.28c0.006-11.205,9.095-20.283,20.3-20.276 + c5.372,0.003,10.523,2.137,14.324,5.932l7.44,7.44c6.79,6.826,16.028,10.652,25.656,10.624h144.56 + c9.628,0.028,18.866-3.798,25.656-10.624l7.44-7.44c7.928-7.918,20.774-7.909,28.692,0.02c3.796,3.801,5.929,8.953,5.932,14.324 + v23.44c-0.006,11.205-9.095,20.283-20.3,20.276c-5.372-0.003-10.523-2.136-14.324-5.932l-7.44-7.44 + c-6.79-6.826-16.028-10.652-25.656-10.624H163.72z M248,128v24h-16v-24H248z M216,168h48v16h-48V168z M248,200v16h-16v-16H248z + M216,232h48v16h-48V232z M344,400H136v-80h56c4.418,0,8-3.582,8-8v-48h80v48c0,4.418,3.582,8,8,8h56V400z M376,416h-16V304h16 + V416z M464,400h-72v-80h72V400z`})))}function rge(i){return n.createElement("svg",{width:361,height:361,viewBox:"0 0 361 361",...i},n.createElement("path",{d:"M267.826 263.303c0 3.91-3.156 7.082-7.05 7.082l-157.885.021c-3.894 0-7.05-3.171-7.05-7.083v-157.5c0-3.911 3.156-7.083 7.05-7.083l157.885-.021c3.894 0 7.05 3.172 7.05 7.083v157.501z",fill:"none",stroke:"currentColor",strokeWidth:10,strokeMiterlimit:10}),n.createElement("path",{d:"M258.5 185.584h6.639c2.726 0 5-2.274 5-5s-2.274-5-5-5H258.5c-2.726 0-5 2.274-5 5s2.274 5 5 5z",fill:"currentColor"}),n.createElement("path",{d:"M267.826 103.208c0 2.485-2.711 4.5-6.053 4.5l-159.88.021c-3.342 0-6.052-2.015-6.052-4.5v-9c0-2.485 2.71-4.5 6.052-4.5l159.88-.021c3.342 0 6.053 2.015 6.053 4.5v9z",fill:"none",stroke:"currentColor",strokeWidth:10,strokeMiterlimit:10}))}function y4e(i){return n.createElement("svg",{viewBox:"0 0 361 361",...i},n.createElement("path",{d:"M267.826 263.303c0 3.91-3.156 7.082-7.05 7.082l-157.885.021c-3.894 0-7.05-3.171-7.05-7.083v-157.5c0-3.911 3.156-7.083 7.05-7.083l157.885-.021c3.894 0 7.05 3.172 7.05 7.083v157.501z",fill:"none",stroke:"currentColor",strokeWidth:10,strokeMiterlimit:10}),n.createElement("path",{d:"M228.5 205.584h6.639c2.726 0 5-2.274 5-5s-2.274-5-5-5H228.5c-2.726 0-5 2.274-5 5s2.274 5 5 5z",fill:"currentColor"}),n.createElement("path",{d:"M267.826 103.208c0 2.485-2.711 4.5-6.053 4.5l-159.88.021c-3.342 0-6.052-2.015-6.052-4.5v-9c0-2.485 2.71-4.5 6.052-4.5l159.88-.021c3.342 0 6.053 2.015 6.053 4.5v9z",fill:"none",stroke:"currentColor",strokeWidth:10,strokeMiterlimit:10}),n.createElement("path",{d:"M232.826 280.905c-.339 3.356-18.813-.782-20.919-1.06l-45.073-5.94-45.074-5.94-14.507-1.912c-1.456-.192-6.201-.055-6.412-2.147-.621-6.157 0-12.699 0-18.878v-43.5-82.076-5.13c0-2.551 5.184-1.015 6.412-.853l35.438 4.67 83.723 11.035c1.457.192 6.201.055 6.412 2.147.169 1.673 0 3.451 0 5.13v144.454c0 6.448 10 6.448 10 0V136.451v-5.13c0-7.619-6.137-10.793-12.673-11.655l-28.531-3.76-88.411-11.652-9.897-1.304c-6.555-.864-12.473 4.9-12.473 11.38v144.832c0 2.023-.071 4.04.132 6.053.717 7.111 6.606 9.563 12.759 10.374l76.827 10.125 39.896 5.259 9.697 1.278c7.063.931 12.011-4.778 12.673-11.346.648-6.415-9.358-6.352-9.999 0z",fill:"currentColor"}))}function au(i){return n.createElement("svg",{width:361,height:361,viewBox:"0 0 361 361",...i},n.createElement("path",{d:"M267.826 263.303c0 3.91-3.156 7.082-7.05 7.082l-157.885.021c-3.894 0-7.05-3.171-7.05-7.083v-157.5c0-3.911 3.156-7.083 7.05-7.083l157.885-.021c3.894 0 7.05 3.172 7.05 7.083v157.501z",fill:"none",stroke:"currentColor",strokeWidth:10,strokeMiterlimit:10}),n.createElement("path",{d:"M267.826 103.208c0 2.485-2.711 4.5-6.053 4.5l-159.88.021c-3.342 0-6.052-2.015-6.052-4.5v-9c0-2.485 2.71-4.5 6.052-4.5l159.88-.021c3.342 0 6.053 2.015 6.053 4.5v9zM265.732 265.178c.584 2.887-1.629 5.228-4.942 5.228H103.457c-3.313 0-6.474-2.341-7.058-5.228L75.24 130.633c-.584-2.887 1.628-5.228 4.942-5.228h157.333c3.313 0 6.474 2.34 7.058 5.228l21.159 134.545z",fill:"none",stroke:"currentColor",strokeWidth:10,strokeMiterlimit:10}),n.createElement("path",{d:"M247.194 199.667h6.639c2.726 0 5-2.274 5-5s-2.274-5-5-5h-6.639c-2.726 0-5 2.274-5 5s2.275 5 5 5z",fill:"currentColor"}))}const D4e={"type-Device type":"Device type","type-airCondition":"Air conditioner","type-blind":"Blinds","type-blindButtons":"Blind controlled by buttons","type-button":"Button","type-buttonSensor":"Button with feedback","type-camera":"Camera","type-chart":"Chart","type-cie":"CIE color light","type-ct":"Color temperature","type-dimmer":"Dimmer","type-door":"Door","type-fireAlarm":"Fire alarm","type-floodAlarm":"Flood alarm","type-gate":"Gate","type-hue":"HUE light","type-humidity":"Humidity","type-illuminance":"Illuminance","type-image":"Image","type-info":"Information","type-instance":"Instance","type-light":"Light","type-location":"Position","type-locationOne":"Position as one state","type-lock":"Lock","type-media":"Media-player","type-motion":"Motion sensor","type-rgb":"RGB light","type-rgbSingle":"R,G,B light - single states","type-rgbwSingle":"R,G,B,W light - single states","type-slider":"Slider","type-socket":"Socket","type-temperature":"Temperature","type-thermostat":"Thermostat","type-url":"URL","type-vacuumCleaner":"Vacuum cleaner","type-valve":"Valve","type-volume":"Volume","type-volumeGroup":"Volume group","type-warning":"Warning","type-weatherCurrent":"Current weather","type-weatherForecast":"Weather forecast","type-window":"Window sensor","type-windowTilt":"Window tilt sensor"},d4e={"type-Device type":"Gerätetyp","type-airCondition":"Klimaanlage","type-blind":"Jalousien","type-blindButtons":"Jalousie über Tasten gesteuert","type-button":"Taste","type-buttonSensor":"Taste mit Rückmeldung","type-camera":"Kamera","type-chart":"Diagramm","type-cie":"CIE Farblicht","type-ct":"Farbtemperatur","type-dimmer":"Dimmer","type-door":"Türsensor","type-fireAlarm":"Feueralarm","type-floodAlarm":"Wasseralarm","type-gate":"Tor-Steuerung","type-hue":"HUE-Licht","type-humidity":"Feuchtigkeit","type-illuminance":"Beleuchtungsstärke","type-image":"Bild","type-info":"Information","type-instance":"Instanz","type-light":"Licht","type-location":"Position","type-locationOne":"Position als ein Zustand","type-lock":"Schloss","type-media":"Mediaplayer","type-motion":"Bewegungssensor","type-rgb":"RGB-Licht","type-rgbSingle":"R,G,B-Licht Einzelwerte","type-rgbwSingle":"R,G,B,W-Licht Einzelwerte","type-slider":"Schieberegler","type-socket":"Steckdose","type-temperature":"Temperatur","type-thermostat":"Thermostat","type-url":"URL","type-vacuumCleaner":"Staubsauger","type-valve":"Ventil","type-volume":"Lautstärke","type-volumeGroup":"Lautstärke-Gruppe","type-warning":"Warnung","type-weatherCurrent":"Aktuelle Wetterlage","type-weatherForecast":"Wettervorhersage","type-window":"Fenstersensor","type-windowTilt":"Fensterkippung-Sensor"},z4e={"type-Device type":"Тип устройства","type-airCondition":"Кондиционер","type-blind":"Рольставни/Жалюзи","type-blindButtons":"Жалюзи управляющиеся кнопками","type-button":"Кнопка","type-buttonSensor":"Кнопка с обратной связью","type-camera":"Камера","type-chart":"Диаграмма","type-cie":"CIE свет","type-ct":"Цветовая температура","type-dimmer":"Диммер","type-door":"Датчик положения двери","type-fireAlarm":"Датчик дыма","type-floodAlarm":"Датчик затопления","type-gate":"Ворота","type-hue":"HUE свет","type-humidity":"Влажность","type-illuminance":"Освещенность","type-image":"Изображение","type-info":"Информация","type-instance":"Инстанция","type-light":"Свет","type-location":"Местоположение","type-locationOne":"Позиция в одном состоянии","type-lock":"Замок","type-media":"Медиа-плейер","type-motion":"Датчик движения","type-rgb":"RGB свет","type-rgbSingle":"R,G,B как отдельные значение","type-rgbwSingle":"R,G,B,W как отдельные значение","type-slider":"Ползунок","type-socket":"Розетка","type-temperature":"Температура","type-thermostat":"Термостат","type-url":"URL","type-vacuumCleaner":"Пылесос","type-valve":"Вентиль","type-volume":"Громкость","type-volumeGroup":"Группа громкости","type-warning":"Предупреждение","type-weatherCurrent":"Актуальная погода","type-weatherForecast":"Прогноз погоды","type-window":"Датчик открытия окна","type-windowTilt":"Датчик наклона окна"},I4e={"type-Device type":"Tipo de dispositivo","type-airCondition":"Ar condicionado","type-blind":"persianas","type-blindButtons":"Persiana controlada por botões","type-button":"botão","type-buttonSensor":"Sensor de botão","type-camera":"câmera","type-chart":"Gráfico","type-cie":"Luz colorida CIE","type-ct":"Temperatura de cor","type-dimmer":"dimmer","type-door":"porta","type-fireAlarm":"alarme de incêndio","type-floodAlarm":"alarme de inundação","type-gate":"portão","type-hue":"Luz HUE","type-humidity":"umidade","type-illuminance":"Iluminância","type-image":"imagem","type-info":"informação","type-instance":"exemplo","type-light":"luz","type-location":"localização","type-locationOne":"Posição como um estado","type-lock":"trancar","type-media":"mídia","type-motion":"movimento","type-rgb":"Luz RGB","type-rgbSingle":"Luz RGB única","type-rgbwSingle":"RGBW como valor único","type-slider":"controle deslizante","type-socket":"soquete","type-temperature":"temperatura","type-thermostat":"termostato","type-url":"URL","type-vacuumCleaner":"Aspirador de pó","type-valve":"válvula","type-volume":"volume","type-volumeGroup":"grupo de volume","type-warning":"aviso","type-weatherCurrent":"clima atual","type-weatherForecast":"previsão do tempo","type-window":"janela","type-windowTilt":"inclinação da janela"},h4e={"type-Device type":"Typ urządzenia","type-airCondition":"Klimatyzator","type-blind":"żaluzje","type-blindButtons":"Roleta sterowana przyciskami","type-button":"przycisk","type-buttonSensor":"Czujnik przycisku","type-camera":"kamera","type-chart":"Wykres","type-cie":"Światło kolorowe CIE","type-ct":"Temperatura barwowa","type-dimmer":"opornik","type-door":"drzwi","type-fireAlarm":"alarm pożarowy","type-floodAlarm":"alarm przeciwpowodziowy","type-gate":"brama","type-hue":"Światło HUE","type-humidity":"wilgotność","type-illuminance":"Natężenie oświetlenia","type-image":"obraz","type-info":"Informacje","type-instance":"przykład","type-light":"światło","type-location":"lokalizacja","type-locationOne":"Pozycja jako państwa","type-lock":"zamek","type-media":"głoska bezdźwięczna","type-motion":"ruch","type-rgb":"Światło RGB","type-rgbSingle":"Pojedyncze światło RGB","type-rgbwSingle":"RGBW jako pojedyncza wartość","type-slider":"suwak","type-socket":"gniazdo","type-temperature":"temperatura","type-thermostat":"termostat","type-url":"Adres URL","type-vacuumCleaner":"Odkurzacz","type-valve":"zawór","type-volume":"tom","type-volumeGroup":"grupa woluminów","type-warning":"ostrzeżenie","type-weatherCurrent":"aktualna pogoda","type-weatherForecast":"prognoza pogody","type-window":"okno","type-windowTilt":"pochylenie okna"},w4e={"type-Device type":"Type d'appareil","type-airCondition":"Climatiseur","type-blind":"stores","type-blindButtons":"Store commandé par boutons","type-button":"bouton","type-buttonSensor":"Capteur de bouton","type-camera":"caméra","type-chart":"Graphique","type-cie":"lumière colorée CIE","type-ct":"Température de couleur","type-dimmer":"variateur","type-door":"porte","type-fireAlarm":"alarme incendie","type-floodAlarm":"alarme d'inondation","type-gate":"grille","type-hue":"Lumière HUE","type-humidity":"humidité","type-illuminance":"Éclairement","type-image":"image","type-info":"informations","type-instance":"exemple","type-light":"lumière","type-location":"emplacement","type-locationOne":"Position en tant qu'État","type-lock":"verrouillage","type-media":"médias","type-motion":"mouvement","type-rgb":"lumière RVB","type-rgbSingle":"Lumière RVB simple","type-rgbwSingle":"RGBW comme valeur unique","type-slider":"curseur","type-socket":"douille","type-temperature":"température","type-thermostat":"thermostat","type-url":"URL","type-vacuumCleaner":"Aspirateur","type-valve":"soupape","type-volume":"volume","type-volumeGroup":"groupe de volumes","type-warning":"avertissement","type-weatherCurrent":"météo actuelle","type-weatherForecast":"prévisions météorologiques","type-window":"fenêtre","type-windowTilt":"inclinaison de la fenêtre"},C4e={"type-Device type":"Tipo di dispositivo","type-airCondition":"Condizionatore d'aria","type-blind":"tende","type-blindButtons":"Tenda controllata da pulsanti","type-button":"pulsante","type-buttonSensor":"Sensore del pulsante","type-camera":"telecamera","type-chart":"Grafico","type-cie":"Luce colorata CIE","type-ct":"Temperatura del colore","type-dimmer":"dimmer","type-door":"porta","type-fireAlarm":"allarme antincendio","type-floodAlarm":"allarme allagamento","type-gate":"cancello","type-hue":"Luce HUE","type-humidity":"umidità","type-illuminance":"Illuminamento","type-image":"immagine","type-info":"informazioni","type-instance":"esempio","type-light":"leggero","type-location":"posizione","type-locationOne":"Posizione come stato","type-lock":"serratura","type-media":"media","type-motion":"movimento","type-rgb":"luce RGB","type-rgbSingle":"Luce RGB singola","type-rgbwSingle":"RGBW come valore singolo","type-slider":"cursore","type-socket":"PRESA","type-temperature":"temperatura","type-thermostat":"termostato","type-url":"URL","type-vacuumCleaner":"Aspirapolvere","type-valve":"valvola","type-volume":"volume","type-volumeGroup":"gruppo di volumi","type-warning":"avvertimento","type-weatherCurrent":"meteo attuale","type-weatherForecast":"previsioni del tempo","type-window":"finestra","type-windowTilt":"inclinazione della finestra"},A4e={"type-Device type":"Apparaattype","type-airCondition":"Airconditioner","type-blind":"jaloezieën","type-blindButtons":"Jaloezie bediend door knoppen","type-button":"knop","type-buttonSensor":"Knopsensor","type-camera":"camera","type-chart":"Grafiek","type-cie":"CIE-kleurenlicht","type-ct":"Kleurtemperatuur","type-dimmer":"dimmer","type-door":"deur","type-fireAlarm":"brandalarm","type-floodAlarm":"overstromingsalarm","type-gate":"hek","type-hue":"HUE-licht","type-humidity":"vochtigheid","type-illuminance":"Verlichtingssterkte","type-image":"afbeelding","type-info":"informatie","type-instance":"aanleg","type-light":"licht","type-location":"locatie","type-locationOne":"Positie als staat","type-lock":"slot","type-media":"media","type-motion":"beweging","type-rgb":"RGB-licht","type-rgbSingle":"RGB-licht enkel","type-rgbwSingle":"RGBW als enkele waarde","type-slider":"schuifregelaar","type-socket":"stopcontact","type-temperature":"temperatuur","type-thermostat":"thermostaat","type-url":"URL","type-vacuumCleaner":"Stofzuiger","type-valve":"ventiel","type-volume":"volume","type-volumeGroup":"volumegroep","type-warning":"waarschuwing","type-weatherCurrent":"huidige weersomstandigheden","type-weatherForecast":"weersvoorspelling","type-window":"raam","type-windowTilt":"raamkanteling"},m4e={"type-Device type":"Тип пристрою","type-airCondition":"Кондиціонер","type-blind":"жалюзі","type-blindButtons":"Штора керується кнопками","type-button":"кнопку","type-buttonSensor":"Датчик кнопки","type-camera":"камера","type-chart":"Діаграма","type-cie":"Кольорове світло CIE","type-ct":"Колірна температура","type-dimmer":"диммер","type-door":"двері","type-fireAlarm":"пожежна сигналізація","type-floodAlarm":"сигналізація про повінь","type-gate":"ворота","type-hue":"світло HUE","type-humidity":"вологість","type-illuminance":"Освітленість","type-image":"зображення","type-info":"інформація","type-instance":"екземпляр","type-light":"світло","type-location":"розташування","type-locationOne":"Позиція як держави","type-lock":"замок","type-media":"ЗМІ","type-motion":"руху","type-rgb":"RGB світло","type-rgbSingle":"Одиночне світло RGB","type-rgbwSingle":"RGBW як одне значення","type-slider":"повзунок","type-socket":"гніздо","type-temperature":"температура","type-thermostat":"термостат","type-url":"URL","type-vacuumCleaner":"Пилосос","type-valve":"клапан","type-volume":"обсяг","type-volumeGroup":"група обсягів","type-warning":"УВАГА","type-weatherCurrent":"поточна погода","type-weatherForecast":"прогноз погоди","type-window":"вікно","type-windowTilt":"нахил вікна"},p4e={"type-Device type":"设备类型","type-airCondition":"空调","type-blind":"百叶窗","type-blindButtons":"按钮控制百叶窗","type-button":"按钮","type-buttonSensor":"按钮传感器","type-camera":"相机","type-chart":"图表","type-cie":"CIE色光","type-ct":"色温","type-dimmer":"调光器","type-door":"门","type-fireAlarm":"火灾报警","type-floodAlarm":"洪水警报","type-gate":"门","type-hue":"色调灯","type-humidity":"湿度","type-illuminance":"照度","type-image":"图像","type-info":"信息","type-instance":"实例","type-light":"光","type-location":"地点","type-locationOne":"作为一个国家的地位","type-lock":"锁","type-media":"媒体","type-motion":"运动","type-rgb":"RGB灯","type-rgbSingle":"RGB灯单","type-rgbwSingle":"RGBW 作为单一值","type-slider":"滑块","type-socket":"插座","type-temperature":"温度","type-thermostat":"恒温器","type-url":"网址","type-vacuumCleaner":"吸尘器","type-valve":"阀门","type-volume":"体积","type-volumeGroup":"卷组","type-warning":"警告","type-weatherCurrent":"当前天气","type-weatherForecast":"天气预报","type-window":"窗户","type-windowTilt":"窗户倾斜"};let ia=!1;function cu(){ia||(ia=!0,D.extendTranslations({en:D4e,de:d4e,ru:z4e,pt:I4e,pl:h4e,fr:w4e,it:C4e,nl:A4e,uk:m4e,"zh-cn":p4e}))}const ra={[B.Types.airCondition]:U0e,[B.Types.blind]:sa,[B.Types.blindButtons]:sa,[B.Types.button]:L4e,[B.Types.buttonSensor]:r4e,[B.Types.camera]:C0e,[B.Types.chart]:z0e,[B.Types.image]:Q0e,[B.Types.dimmer]:P0e,[B.Types.door]:c4e,[B.Types.fireAlarm]:ea,"sensor.alarm.fire":ea,[B.Types.floodAlarm]:ta,"sensor.alarm.flood":ta,[B.Types.gate]:u4e,[B.Types.humidity]:l4e,[B.Types.illuminance]:M4e,[B.Types.info]:Y0e,[B.Types.light]:k0e,[B.Types.lock]:x0e,[B.Types.location]:_0e,[B.Types.locationOne]:K0e,[B.Types.media]:f0e,[B.Types.motion]:N4e,[B.Types.ct]:Fn,[B.Types.percentage]:Gn,[B.Types.rgb]:xr,[B.Types.rgbSingle]:xr,[B.Types.rgbwSingle]:n4e,[B.Types.hue]:Fn,[B.Types.cie]:xr,[B.Types.slider]:Gn,[B.Types.socket]:j4e,[B.Types.temperature]:g4e,[B.Types.thermostat]:T4e,[B.Types.vacuumCleaner]:a4e,[B.Types.volume]:O0e,[B.Types.volumeGroup]:m0e,[B.Types.window]:y4e,[B.Types.windowTilt]:au,[B.Types.weatherCurrent]:Kn,[B.Types.weatherForecast]:Kn,[B.Types.warning]:Hn,[B.Types.unknown]:X0e,[B.Types.instance]:A0e,invalid:Hn,hub3:J0e,node:B0e,hub5:G0e,controller:Z0e},pi={width:32,height:32};function O4e(i){const[e,t]=n.useState(!1);if(ye(()=>{i.title&&!e&&(cu(),t(!0))},[i.title,e]),!e&&i.title)return n.createElement(W,{style:{...pi,...i.style||void 0},className:i.className,sx:i.sx});const s=i.type||(i.src?Object.keys(ra).find(M=>i.src===M):void 0);if(!s&&i.src)return n.createElement(Se,{style:pi,...i,title:i.title===!0?void 0:i.title,src:i.src});const r=s&&ra[s];if(!r)return s?n.createElement("span",{style:{...pi,...i.style||void 0}},s[0].toUpperCase()):null;const o=n.createElement(r,{style:{...pi,...i.style||void 0},onClick:i.onClick,className:i.className,sx:i.sx});return i.title?n.createElement(ae,{slotProps:{popper:{sx:{pointerEvents:"none"}}},title:i.title===!0?D.t(`type-${s}`):i.title},n.createElement("div",{style:{display:"flex"}},o)):o}const St={itemChildrenWrapper:{display:"flex",width:"100%",justifyContent:"space-between"},type:{marginTop:10},selectIcon:{paddingRight:8,verticalAlign:"middle",width:20,height:20},selectText:{verticalAlign:"middle"},iconWrapper:{display:"flex",alignItems:"center"},iconStyle:{width:16,height:16,margin:"0 3px"},emptyIcon:{width:16,height:16,margin:"0 3px"}};function oge(i){const[e,t]=n.useState({}),[s,r]=n.useState([]);return ye(()=>{const o={};Object.keys(B.Types).filter(a=>{var u,l;return(!i.supportedDevices||((u=i.supportedDevices)==null?void 0:u.includes(a)))&&!((l=i.unsupportedDevices)!=null&&l.includes(a))}).forEach(a=>o[a]=D.t(`type-${B.Types[a]}`));const M=Object.keys(o);M.sort((a,u)=>o[a]===o[u]?0:o[a].localeCompare(o[u],"de")),cu(),r(M),t(o)},[i.supportedDevices,i.unsupportedDevices]),s?n.createElement(wt,{style:{...St.type,...i.style},sx:i.sx,variant:"standard",error:!!i.error},n.createElement(As,null,i.label||D.t("type-Device type")),n.createElement(Xe,{variant:"standard",disabled:!!i.disabled,value:i.value,onChange:o=>i.onChange(o.target.value)},s.map(o=>{var M;return n.createElement(te,{key:B.Types[o],value:B.Types[o]},n.createElement("div",{style:St.itemChildrenWrapper},n.createElement("div",null,n.createElement(O4e,{type:B.Types[o],style:{...St.selectIcon,color:i.themeType==="dark"?"#FFFFFF":"#000"}}),n.createElement("span",{style:St.selectText},e[o])),(M=i.showApplications)!=null&&M.TYPE_OPTIONS[o]?n.createElement("div",{style:St.iconWrapper},Object.keys(i.showApplications.TYPE_OPTIONS[o]).map(a=>i.showApplications.TYPE_OPTIONS[o][a]?n.createElement(Se,{key:a,style:St.iconStyle,src:i.showApplications.ICONS_TYPE[a]}):n.createElement("div",{key:a,style:St.emptyIcon}))):null))}))):n.createElement(W,{style:{...St.type,...i.style},sx:i.sx})}function E4e(i){return v({attr:{version:"1",viewBox:"0 0 48 48",enableBackground:"new 0 0 48 48"},child:[{tag:"circle",attr:{fill:"#B2EBF2",cx:"32",cy:"24",r:"9"},child:[]},{tag:"path",attr:{fill:"#4DD0E1",d:"M32,12c-6.6,0-12,5.4-12,12c0,6.6,5.4,12,12,12s12-5.4,12-12C44,17.4,38.6,12,32,12z M32,32 c-4.4,0-8-3.6-8-8s3.6-8,8-8s8,3.6,8,8S36.4,32,32,32z"},child:[]},{tag:"g",attr:{fill:"#3F51B5"},child:[{tag:"polygon",attr:{points:"25.4,22 19.8,5.1 13.6,27.7 11.4,22 4,22 4,26 8.6,26 14.4,40.3 20.2,18.9 22.6,26 30,26 30,22"},child:[]},{tag:"circle",attr:{cx:"32",cy:"24",r:"4"},child:[]}]}]})(i)}function _4e(i){return v({attr:{role:"img",viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M4.428 2.727l3.335 3.335c-.486.07-.903.276-1.32.624L.886 12.383c-1.181 1.18-1.181 3.194 0 4.375a2.41 2.41 0 0 0 1.598.834l17.088 3.681-3.335-3.333c.486-.07.903-.278 1.32-.626l5.557-5.695c1.181-1.181 1.181-3.196 0-4.377a2.411 2.411 0 0 0-1.598-.833zM11.653 6.2c.694 0 1.25.486 1.25 1.18 0 .695-.486 1.251-1.181 1.251-.695 0-1.25-.485-1.25-1.18s.555-1.251 1.18-1.251zm1.51 3.792c.049-.006.088.046.088.098-.139.694-.695 1.181-1.39 1.181-.694 0-1.32-.487-1.46-1.112 0 0 .002-.07.071 0 .487.278.972.348 1.32.278.346 0 .833-.07 1.32-.416a.092.092 0 0 1 .05-.029zm.723 2.511c.058.013.06.106.06.158-.209.903-.973 1.666-1.946 1.666a2.167 2.167 0 0 1-2.084-1.528c-.07-.07 0-.138.138-.138.695.347 1.39.416 1.877.416.486 0 1.18-.14 1.875-.556.035-.017.06-.022.08-.018zm.597 3.018c.049-.013.087.09.087.195-.278 1.181-1.25 2.085-2.5 2.155-1.251 0-2.293-.835-2.57-1.946 0-.139.068-.278.207-.209.834.486 1.737.556 2.362.556s1.529-.208 2.362-.694c.018-.035.036-.053.052-.057z"},child:[]}]})(i)}function f4e(i){return v({attr:{version:"1.2",baseProfile:"tiny",viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M13 5l.855 3.42 3.389-.971 1.501 2.6-2.535 2.449 2.535 2.451-1.5 2.6-3.39-.971-.855 3.422h-3l-.855-3.422-3.39.971-1.501-2.6 2.535-2.451-2.534-2.449 1.5-2.6 3.39.971.855-3.42h3m0-2h-3c-.918 0-1.718.625-1.939 1.516l-.354 1.412-1.4-.4c-.184-.053-.369-.078-.552-.078-.7 0-1.368.37-1.731 1l-1.5 2.6c-.459.796-.317 1.802.342 2.438l1.047 1.011-1.048 1.015c-.66.637-.802 1.643-.343 2.438l1.502 2.6c.363.631 1.031 1 1.731 1 .183 0 .368-.025.552-.076l1.399-.401.354 1.415c.222.885 1.022 1.51 1.94 1.51h3c.918 0 1.718-.625 1.939-1.516l.354-1.414 1.399.4c.184.053.369.077.552.077.7 0 1.368-.37 1.731-1l1.5-2.6c.459-.796.317-1.8-.342-2.438l-1.047-1.013 1.047-1.013c.66-.637.801-1.644.342-2.438l-1.5-2.6c-.365-.631-1.031-1-1.732-1-.184 0-.368.025-.551.076l-1.4.401-.354-1.413c-.22-.884-1.02-1.509-1.938-1.509zM11.5 10.5c1.104 0 2 .895 2 2 0 1.104-.896 2-2 2s-2-.896-2-2c0-1.105.896-2 2-2m0-1c-1.654 0-3 1.346-3 3s1.346 3 3 3 3-1.346 3-3-1.346-3-3-3z"},child:[]}]})(i)}function S4e(i){return v({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M7.707 17.707 13.414 12 7.707 6.293 6.293 7.707 10.586 12l-4.293 4.293zM15 6h2v12h-2z"},child:[]}]})(i)}function x4e(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M327.467 19.992c.748 14.94 2.317 51.268 2.59 98.76 3.474-.286 6.557-.381 9.72 1.08 18.04 8.345 27.243 29.326 27.026 50.506-.217 21.18-11.283 44.136-36.104 54.307a41.62 41.62 0 0 1-2.486.923c-3.408 80.504-12.307 166.37-33.754 225.5-6.876 15.831-17.029 29.217-26.828 40.94l55.27.422c20.676-12.19 32.041-27.395 36.32-46.407l17.558 3.954c-3.67 16.312-11.99 30.662-24.511 42.677l143.052 1.094c-5.13-14.524-16.16-46.501-20.357-70.217C451.89 293.171 450.15 45 450.025 19.992zM18.279 38.984l.881 18.725c17.856 12.047 32.035 23.91 45.969 35.527 12.887-11.156 2.404-29.725-5.82-39.091-13.668-5.346-27.335-10.467-41.03-15.16zM86.723 65.13c4.77 14.56 3.347 29.656-7.477 39.746 24.105 19.479 50.832 38.151 97.1 55.635 13.836-22.588 12.08-43.852-3.338-60.739-29.03-10.9-57.703-22.997-86.285-34.642zm-31.721 42.988V400h17.996V122.723c-6.187-4.856-12.114-9.73-17.996-14.606zm145.264 1.434c3.253 8.283 4.54 16.754 3.982 25.043-.765 11.35-4.673 22.135-10.545 32.095 16.926 5.691 36.192 11.248 58.451 16.655l2.604.633 1.834 1.953c9.223 9.826 22.535 17.206 35.469 21.006 12.933 3.8 25.473 3.655 31.814 1.056 18.024-7.385 24.773-22.363 24.932-37.84.152-14.822-7.069-28.554-15.479-33.306-45.88-1.699-89.948-12.607-133.062-27.295zm-33.264 66.476V400h17.996V182.605a502.784 502.784 0 0 1-17.996-6.578zM32 419.002v17.996h176v-17.996z"},child:[]}]})(i)}function k4e(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M352.7 21.04l-194.4.41L21.04 159.3l.41 194.4L159.3 491l194.4-.4L491 352.7l-.4-194.4L352.7 21.04zm-8 19.66l126.2 125.7.4 178.3-123.1 123.6-2.6 2.6-178.3.4L41.08 345.6l-.38-178.3L166.4 41.08l178.3-.38zm-7.5 18.01l-163.3.34L58.71 174.8l.34 163.3L174.8 453.3l163.3-.3 115.2-115.8-.3-163.3L337.2 58.71zM108.4 210.4c5.3 0 10.8.5 16.4 1.3 5.7.8 11.5 2 17.5 3.6v20.5c-5.3-2.4-10.5-4.2-15.6-5.4-5.1-1.2-9.9-1.8-14.4-1.8-6 0-10.4.8-13.25 2.5-2.87 1.6-4.3 4.2-4.3 7.7 0 2.6.96 4.6 2.87 6.1 1.95 1.4 5.48 2.7 10.58 3.7l10.6 2.1c10.8 2.2 18.5 5.5 23.1 9.9 4.5 4.5 6.8 10.8 6.8 18.9 0 10.7-3.2 18.7-9.5 24-6.4 5.2-16.1 7.8-29.2 7.8-6.1 0-12.3-.6-18.51-1.8-6.2-1.1-12.41-2.9-18.61-5.2v-21.1c6.2 3.3 12.19 5.8 17.96 7.5 5.82 1.6 11.46 2.4 16.76 2.4 5.5 0 9.7-.9 12.6-2.7 2.9-1.8 4.4-4.4 4.4-7.8 0-3.1-1-5.4-3-7.1-2-1.6-5.9-3.1-11.8-4.4l-9.7-2.1c-9.73-2.1-16.85-5.4-21.37-10-4.47-4.5-6.7-10.7-6.7-18.4 0-9.7 3.12-17.1 9.37-22.3 6.25-5.3 15.24-7.9 27-7.9zm187.7 0c15.6 0 27.8 4.5 36.7 13.5 8.9 8.9 13.3 21.2 13.3 37 0 15.7-4.4 28-13.3 37-8.9 8.9-21.1 13.4-36.7 13.4-15.6 0-27.8-4.5-36.7-13.4-8.9-9-13.3-21.3-13.3-37 0-15.8 4.4-28.1 13.3-37 8.9-9 21.1-13.5 36.7-13.5zm-141.9 1.8h89.6v18.9h-32.2v78.3h-25.1v-78.3h-32.3v-18.9zm205.8 0h41.6c12.3 0 21.8 2.8 28.4 8.3 6.7 5.4 10 13.2 10 23.4s-3.3 18.1-10 23.6c-6.6 5.4-16.1 8.2-28.4 8.2H385v33.7h-25v-97.2zm-63.9 16.4c-7.7 0-13.6 2.8-17.8 8.5-4.2 5.6-6.3 13.6-6.3 23.8 0 10.2 2.1 18.1 6.3 23.8 4.2 5.6 10.1 8.4 17.8 8.4 7.7 0 13.6-2.8 17.8-8.4 4.2-5.7 6.3-13.6 6.3-23.8 0-10.2-2.1-18.2-6.3-23.8-4.2-5.7-10.1-8.5-17.8-8.5zm88.9 1.8v27.1h13.9c4.9 0 8.6-1.2 11.3-3.5 2.6-2.4 3.9-5.8 3.9-10.1s-1.3-7.7-3.9-10c-2.7-2.4-6.4-3.5-11.3-3.5H385z"},child:[]}]})(i)}function Y4e(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M256 54.28c-124.603 0-226 101.398-226 226 0 47.864 14.975 92.293 40.465 128.876l29.79-19.86c-17.188-24.545-28.708-53.362-32.696-84.577H96v-18H66.115c-.07-2.14-.115-4.284-.115-6.44 0-45.378 15.816-86.97 42.236-119.598l17.4 17.4 12.727-12.727-18.133-18.132C152.735 114.057 197.335 92.8 247 90.498v29.22h18V90.5c49.665 2.302 94.265 23.56 126.77 56.725l-18.133 18.132 12.726 12.727 17.4-17.4c26.42 32.63 42.237 74.22 42.237 119.6 0 2.154-.044 4.3-.115 6.437H416v18h28.44c-3.987 31.214-15.507 60.03-32.694 84.575l29.79 19.86C467.025 372.574 482 328.146 482 280.282c0-124.602-101.397-226-226-226zm15.83 66.23a144 160 0 0 1 74.608 100.062l49.966-17.568a160 160 0 0 0-4.3-7.012l-5.135 5.153-30.368-30.29-5.76-5.746 7.85-7.874a160 160 0 0 0-86.862-36.726zm156.15 89.844l-175.332 60.6C240.505 272.618 231 283.155 231 295.72c0 13.7 11.3 25 25 25 6.77 0 12.95-2.764 17.473-7.208L427.98 210.354zm-16.513 32.322l-60.713 40.72a144 160 0 0 1-56.6 108.323h76.057a160 160 0 0 0 39.763-68.572H398.48v-52.515h17.022a160 160 0 0 0-4.035-27.957zM128 421.72v36h256v-36H128z"},child:[]}]})(i)}function oa(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M140 29.92c-31.4 0-59.89 3.25-79.89 8.25-9.9 2.5-17.8 5.51-22.4 8.25-3.2 1.87-4.1 3.15-4.5 3.58.4.43 1.3 1.71 4.5 3.58 4.6 2.74 12.5 5.75 22.4 8.25 20 5 48.49 8.25 79.89 8.25h5.7c5.3-2 11.1-3.78 17.6-5.4 20.3-5.08 46.5-8.42 75.8-9.36 1.2-.57 2.3-1.14 3.2-1.7 3.1-1.87 4.1-3.15 4.5-3.58-.4-.43-1.4-1.71-4.5-3.58-4.6-2.74-12.5-5.75-22.5-8.25-19.9-5-48.4-8.25-79.8-8.25zm232 0c-31.4 0-59.9 3.25-79.8 8.25-10 2.5-17.9 5.51-22.5 8.25-3.1 1.87-4.1 3.15-4.5 3.58.4.43 1.4 1.71 4.5 3.58.9.56 2 1.13 3.2 1.7 29.3.94 55.5 4.28 75.8 9.36 6.5 1.62 12.3 3.4 17.6 5.4h5.7c31.4 0 59.9-3.25 79.8-8.25 10-2.5 17.9-5.51 22.5-8.25 3.1-1.87 4.1-3.15 4.5-3.58-.4-.43-1.4-1.71-4.5-3.58-4.6-2.74-12.5-5.75-22.5-8.25-19.9-5-48.4-8.25-79.8-8.25zM33.01 71.44V369.9c0 4.3 1.8 8 6.8 12.3 5 4.3 13.1 8.5 23.3 11.9 15.3 5.1 35 8.5 55.89 9.8V278.3l-16.5 28.6-7.79-4.5c-27.4-15.9-44.3-45.3-44.4-77v-9h52.59c-.6 2.6-.9 5.3-.9 8.1 0 13.1 6.8 24.8 17 31.7v-63.4c-1.9 1.3-3.6 2.7-5.2 4.2l-25.99-45.1 7.8-4.5c7.49-4.2 15.29-7.3 23.39-9.3V87.61c-24.19-1.08-45.99-4.01-63.19-8.32-8.9-2.21-16.5-4.76-22.8-7.85zm445.99 0c-6.3 3.09-14 5.63-22.8 7.84-17.2 4.31-39 7.24-63.2 8.32v50.6c8.1 2 16 5.1 23.4 9.3l7.7 4.5-4.4 7.8-21.5 37.2c-1.6-1.5-3.3-2.9-5.2-4.2v63.4c10.2-6.9 17-18.6 17-31.7 0-2.8-.3-5.5-.9-8.1h50.8v9c0 31.8-17 61.1-44.4 77l-7.8 4.5-14.7-25.5v122.5c20.9-1.3 40.7-4.7 55.9-9.8 10.2-3.4 18.3-7.6 23.3-11.9 5-4.3 6.8-8 6.8-12.3zM256 73c-34.7 0-66.2 3.57-88.3 9.1-11.1 2.77-19.8 6.09-25.1 9.19-4.3 2.58-5.3 4.42-5.5 4.71.2.29 1.2 2.12 5.5 4.7 5.3 3.1 14 6.4 25.1 9.2 22.1 5.5 53.6 9.1 88.3 9.1 34.7 0 66.2-3.6 88.3-9.1 11.1-2.8 19.8-6.1 25.1-9.2 4.3-2.58 5.3-4.41 5.5-4.7-.2-.29-1.2-2.13-5.5-4.71-5.3-3.1-14-6.42-25.1-9.19-22.1-5.53-53.6-9.1-88.3-9.1zm118.9 23c.1.1.1.1.1 0s0-.1-.1 0zm-237.8 0c-.1-.1-.1-.1-.1 0s0 .1.1 0zm-.1 22.1V448c0 5 2.2 9.3 7.9 14.2 5.6 4.8 14.7 9.5 25.9 13.3 22.6 7.5 54 11.5 85.2 11.5 31.2 0 62.6-4 85.2-11.5 11.2-3.8 20.3-8.5 25.9-13.3 5.7-4.9 7.9-9.2 7.9-14.2V118.1c-7.2 3.7-16 6.6-26.3 9.3-24.2 6-56.7 9.6-92.7 9.6s-68.5-3.6-92.7-9.6c-10.3-2.7-19.1-5.6-26.3-9.3zM256 191c16.8 0 33.5 4.4 48.5 13l7.8 4.5-4.5 7.8-24.1 41.6c-7.3-6.7-17-10.9-27.7-10.9s-20.4 4.2-27.7 10.9l-28.6-49.4 7.8-4.5c15-8.7 31.7-13 48.5-13zm0 74c12.8 0 23 10.2 23 23s-10.2 23-23 23-23-10.2-23-23 10.2-23 23-23zm-98 15h57.8c-.5 2.6-.8 5.3-.8 8 0 18.1 12 33.7 28.5 39l-29.2 50.5-7.8-4.5c-30-17.3-48.5-49.4-48.5-84zm138.2 0H352v9c0 34.6-18.5 66.7-48.5 84l-7.8 4.5-28.8-50c17.3-4.8 30.1-20.8 30.1-39.5 0-2.7-.3-5.4-.8-8z"},child:[]}]})(i)}function Q4e(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M288.3 13.4c-12.3-.01-23 6.49-27.3 15.31l-2.9 5.95-6.6-1.01c-5.5-.85-11.3-1.32-17.1-1.32-18.8 0-35.7 4.5-47.3 11.14-11.5 6.64-16.9 14.59-16.9 22 0 7.42 5.4 15.37 16.9 22 11.6 6.64 28.5 11.13 47.3 11.13 7.5-.02 14.9-.74 21.8-2.13l6.3-1.23 3.2 5.46c5.6 9.2 23.7 18.2 44.7 18.2 13.9 0 26.4-3.6 34.8-8.8 8.4-5.2 12.2-11.23 12.2-16.9 0-5.09-3-10.48-10-15.44-6.9-4.97-17.6-8.87-30-9.95l-18.3-1.59 12.5-13.49c4.1-4.41 6.1-9.6 6.1-14.87 0-12.88-12.4-24.46-29.4-24.46zM152.2 65.46C84.8 102.3 39 173.9 39 256c0 32.1 7 62.6 19.54 90 5.95-7.9 10.48-13.4 12.67-16C62.05 307.2 57 282.2 57 256c0-74 40.27-138.5 100.1-172.78-3.1-5.39-4.9-11.34-4.9-17.74v-.02zm210.7 1.75c7.5 6.93 12.5 15.9 12.5 25.99 0 1.14-.1 2.27-.2 3.38C423.7 132.9 455 190.7 455 256c0 23.7-4.2 46.5-11.8 67.6l18.3 2.2c7.4-21.9 11.5-45.4 11.5-69.8 0-80.8-44.4-151.5-110.1-188.79zm58.6 270.49c-11.1.2-23 1.1-35.9 3.1l-.5.1-.5.1c-25.8 7.3-37.1 15.2-46.4 24.7l-2.2 2.2-.3 3.1c-3.4 29.6-5.8 60 0 91.8l1.3 6.8 6.8.6c30.6 2.6 58.7 1.4 86.2 0l1-.1.9-.2c18.5-5.2 34.4-12.8 46.4-24.6l1.7-1.6.6-2.2c10-33.4 3.4-63.8.4-92.7l-.8-7.4-7.3-.7c-16.2-1.5-32.8-3.2-51.4-3zM79.62 348.2c-4.94 6.1-11.43 14.5-18.58 25.6-12.29 18.9-22.53 42.4-20.51 54.9 1.43 8.8 6.97 19.6 14.51 27.6 7.54 7.9 16.69 12.8 24.58 12.8 7.87 0 17.03-4.9 24.58-12.8 7.5-8 13.1-18.8 14.5-27.6 2-12.5-8.2-36-20.5-54.9-7.15-11-13.64-19.5-18.58-25.6zM427 355.7c1.7 0 3.3 0 5 .1 5.4.1 10.7.4 16 .8-5.9 3.4-12.1 6.8-19.5 9.9l-2.4.2c-19.5 1.4-37.7.3-55.4-2 4.7-2 10.5-4 18.3-6.2 13.8-2.2 26.3-2.9 38-2.8zm38 11.6c2.8 22.9 5 44.5-1 66.6-7 6.3-16 11.4-27 15.4 3-22.5 2-44.8-.5-66.6 11.3-5 20.2-10.2 28.5-15.4zm-112.2 13.1c20.7 3.2 42.3 5.4 65.8 4.5 2.5 23 3.5 45.6-.4 67.8-21.5 1-43.1 1.5-65.8-.1-3.5-24-2.2-47.9.4-72.2zm-216.4 34.7c.9 5.5 1 11 .1 16.4-.3 1.6-.6 3.3-1 4.9C170 459.5 211.4 473 256 473c21.6 0 42.5-3.2 62.3-9.1l-2-18.2c-19 6-39.3 9.3-60.3 9.3-44.9 0-86.3-14.8-119.6-39.9z"},child:[]}]})(i)}function U4e(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M33.125 19.406L135.5 128.22l81-23.157 18.72-5.344-7.564 17.936-46.125 109.78 134.282-70 26.157-13.655L328.436 170 256.5 309.25l91.25-57.125 22.97-14.375-9.22 25.47-34.625 95.624 71-36.375 21.188-10.845L410.906 334l-33.937 93.063 45.124-6.688 4.53-.656 3.313 3.155 64.313 61.47-30.5-80.5 23.313-46.908-72.5 39.532 51.062-141.158-91.188 47.47 72.344-142.813-128.217 82.81L421.875 70.063 239.03 168.69l30.44-99.563-103.845 25.25-132.5-74.97zM18.155 30.78l77.876 108.25-31.124 75.532 94.125-46.78-98.905 166.812 190.25-99.656-101.03 185.406 140.25-79.063-46.94 102.22 106.5-53-45.655 92.28 86.5-14.467 93.47 31.562-63.158-60.344-56.125 8.314-15.53 2.312 5.374-14.75 31.158-85.437-70.907 36.31-21.124 10.814 8.094-22.313 33.47-92.436-97.22 60.875-28.938 18.092L224.22 331l74.06-143.344-131.06 68.313-22.97 12 10.03-23.908 48.626-115.687-67.75 19.375-5.5 1.563-3.875-4.157L18.157 30.78z"},child:[]}]})(i)}function v4e(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M20.127 52.803v58.986L250.46 245.153c26.367-28.823 70.087-36.533 105.313-16.195 35.29 20.374 50.465 62.207 38.567 99.503l101.648 58.855-64.728-74.65 35.638-37.352-57.27-7.687 84.72-86.92-125.71 33.186 12.995-120.208-66.578 96.363-27.448-80.593-16.353 88.77L20.127 52.803zm0 105.12l-.008.018.007.005v-.02zm0 .022l-.002 87.582 155.344 89.95-89.94 33.287h135.493l-63.658 99.87 116.22-70.083 15.77 85.852 38.543-80.01 63.66 87.018-5.853-87.047 90.54 17.268-102.4-59.198c-26.546 26.964-68.89 33.744-103.183 13.945-34.322-19.816-49.62-59.928-39.49-96.424L20.127 157.945zm316.6 119.442c-.938-.003-1.874.027-2.805.092-12.42.86-24.164 7.707-30.9 19.375-10.78 18.67-4.455 42.27 14.214 53.047 18.67 10.78 42.27 4.455 53.047-14.214 10.78-18.67 4.454-42.27-14.215-53.047-6.125-3.536-12.78-5.23-19.34-5.253z"},child:[]}]})(i)}function b4e(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M256 32l-64 96 80 16-16 80 64-96-80-16 16-80zm-96 217c-1.9 0-9.8 3-15.8 6.7-2.8 1.7-5.3 3.5-7.2 4.8v119c1.9 1.3 4.4 3.1 7.2 4.8 6 3.7 13.9 6.7 15.8 6.7 1.9 0 9.8-3 15.8-6.7 5.9-3.7 10.6-7.3 10.6-7.3l2.5-2H201V265h-12.1l-2.5-2s-4.7-3.6-10.6-7.3c-6-3.7-13.9-6.7-15.8-6.7zm192 0c-1.9 0-9.8 3-15.8 6.7-5.9 3.7-10.6 7.3-10.6 7.3l-2.5 2H311v110h12.1l2.5 2s4.7 3.6 10.6 7.3c6 3.7 13.9 6.7 15.8 6.7 1.9 0 9.8-3 15.8-6.7 2.8-1.7 5.3-3.5 7.2-4.8v-119c-1.9-1.3-4.4-3.1-7.2-4.8-6-3.7-13.9-6.7-15.8-6.7zm-133 16v110h14V265h-14zm32 0v110h42V265h-42zM95.5 311c-18.8 0-36.6 9.2-49.94 22.7C32.22 347.1 23 365 23 384v106h18V384c0-13 6.78-27.1 17.32-37.7C68.85 335.8 82.8 329 95.5 329H119v-18H95.5zm297.5 0v18h22.9c13.1 0 27.1 6.8 37.7 17.4C464.2 357 471 371 471 384v106h18V384c0-19-9.2-37-22.7-50.4-13.4-13.4-31.4-22.6-50.4-22.6H393z"},child:[]}]})(i)}function $4e(i){return v({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M376 211H256V16L136 301h120v195z"},child:[]}]})(i)}function P4e(i){return v({attr:{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},child:[{tag:"path",attr:{d:"M18.36 6.64a9 9 0 1 1-12.73 0"},child:[]},{tag:"line",attr:{x1:"12",y1:"2",x2:"12",y2:"12"},child:[]}]})(i)}function W4e(i){return v({attr:{fill:"none",viewBox:"0 0 24 24",strokeWidth:"2",stroke:"currentColor","aria-hidden":"true"},child:[{tag:"path",attr:{strokeLinecap:"round",strokeLinejoin:"round",d:"M9.663 17h4.673M12 3v1m6.364 1.636l-.707.707M21 12h-1M4 12H3m3.343-5.657l-.707-.707m2.828 9.9a5 5 0 117.072 0l-.548.547A3.374 3.374 0 0014 18.469V19a2 2 0 11-4 0v-.531c0-.895-.356-1.754-.988-2.386l-.548-.547z"},child:[]}]})(i)}function R4e(i){return v({attr:{version:"1.1",viewBox:"0 0 16 16"},child:[{tag:"path",attr:{d:"M6 0l-6 8h6l-4 8 14-10h-8l6-6z"},child:[]}]})(i)}const Mge={SET:w0e,WORKING:Zn,UNREACH:Xn,LOWBAT:Vn,MAINTAIN:W0e,ERROR:F0e,DIRECTION:R0e,CONNECTED:Xn,ACTUAL:f4e,SECOND:S4e,PRESS_LONG:$0e,PRESS:b0e,MUTE:p0e,ACCURACY:v4e,RADIUS:D0e,ELEVATION:h0e,LATITUDE:I0e,LONGITUDE:y0e,GPS:H0e,ON_ACTUAL:Bn,ON_SET:Bn,OPEN:v0e,STOP:k4e,WATER_ALARM:qn,WASTE_ALARM:oa,PAUSE:T0e,STATE:Q4e,BATTERY:Vn,WASTE:oa,WATER:qn,WORK_MODE:Zn,MODE:V0e,POWER:d0e,BOOST:_4e,HUMIDITY:t4e,TEMPERATURE:q0e,BRIGHTNESS:i4e,MOTION:S0e,FIRE:s4e,WINDOW:au,SMOKE:e4e,SWING:x4e,SPEED:Y4e,DIMMER:W4e,ON:P4e,COLOR_TEMP:E0e,ELECTRIC_POWER:R4e,CURRENT:$4e,VOLTAGE:b4e,CONSUMPTION:E4e,FREQUENCY:U4e,HUE:o4e};class uu extends n.Component{static generateFile(e,t){const s=window.document.createElement("a");s.setAttribute("href",`data:application/json;charset=utf-8,${encodeURIComponent(JSON.stringify(t,null,2))}`),s.setAttribute("download",e),s.style.display="none",window.document.body.appendChild(s),s.click(),window.document.body.removeChild(s)}handleFileSelect=e=>{const t=e.target,s=t==null?void 0:t.files;if(!s||!s.length){console.error("No files found. Please report to developers");return}const r=s[0];if(r){const o=new window.FileReader;o.onload=()=>{var a;const M=((a=o.result)==null?void 0:a.toString())||"";try{const u=JSON.parse(M);u.native&&u.common?u.common.name!==this.props.common.name?this.props.onError&&this.props.onError(D.t("ra_otherConfig",u.common.name)):this.props.onLoad&&this.props.onLoad(u.native):this.props.onError&&this.props.onError(D.t("ra_invalidConfig"))}catch(u){this.props.onError&&this.props.onError(u==null?void 0:u.toString())}},o.readAsText(r)}else alert("Failed to open JSON File")};download(){const e={_id:`system.adapter.${this.props.common.name}.${this.props.instance}`,common:JSON.parse(JSON.stringify(this.props.common)),native:this.props.native};e.common.news&&delete e.common.news,e.common.titleLang&&delete e.common.titleLang,e.common.desc&&delete e.common.desc,uu.generateFile(`${e._id}.json`,e)}upload(){const e=window.document.createElement("input");e.setAttribute("type","file"),e.setAttribute("id","files"),e.setAttribute("opacity","0"),e.addEventListener("change",this.handleFileSelect,!1),e.click()}render(){return n.createElement("div",{className:this.props.className,style:this.props.style},this.props.common.icon?n.createElement(Se,{src:this.props.common.icon,style:{padding:8,width:64},alt:"logo"}):null,this.props.common.readme?n.createElement(Ct,{size:"small",color:"primary","aria-label":"Help",style:{marginRight:5,marginTop:5,float:"right"},onClick:()=>{const e=window.open(this.props.common.readme,"_blank");e==null||e.focus()}},n.createElement(pl,null)):null,n.createElement(Ct,{size:"small",color:"primary","aria-label":"Load config",style:{marginRight:5,marginTop:5,float:"right"},title:D.t("ra_Load configuration from file"),onClick:()=>this.upload()},n.createElement(Ol,null)),n.createElement(Ct,{size:"small",color:"primary","aria-label":"Save config",style:{marginRight:5,marginTop:5,float:"right"},title:D.t("ra_Save configuration to file"),onClick:()=>this.download()},n.createElement(El,null)))}}class lu{static text2link(e){const t=e.match(/\d+\.\)\s/);return t&&(e=e.replace(t[0],t[0].replace(/\s/," "))),e.replace(/[^a-zA-Zа-яА-Я0-9]/g,"").trim().replace(/\s/g,"").toLowerCase()}static openLink(e,t){e=e.replace(/\/\/([0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*:[0-9a-f]*)(:\d+)?\//i,"//[$1]$2/"),t==="this"?window.location.href=e:window.open(e,t||"_blank")}static getTitle(e){const t=lu.extractHeader(e);let s=t.body;const r=t.header;if(!r.title){s=s.replace(/{[^}]*}/g,""),s=s.trim();const o=s.replace(/\r/g,"").split(` +`);for(let M=0;M{if(!M.trim())return;const a=M.indexOf(":");if(a!==-1){const u=M.substring(0,a).trim();let l=M.substring(a+1).trim();l=l.replace(/^['"]|['"]$/g,""),l==="true"?t[u]=!0:l==="false"?t[u]=!1:parseFloat(l).toString()===l?t[u]=parseFloat(l):t[u]=l}else t[M.trim()]=!0}),e=e.substring(s+7))}return{header:t,body:e}}static removeDocsify(e){const t=e.match(/{docsify-[^}]*}/g);return t&&t.forEach(s=>e=e.replace(s,"")),e}static onCopy(e,t){Rc(t),e&&e.stopPropagation(),e&&e.preventDefault()}}function J4e(i){return n.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 512 512",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},n.createElement("path",{fill:"currentColor",d:"M448 0L320 96v62.06l-83.03 83.03c6.79 4.25 13.27 9.06 19.07 14.87 5.8 5.8 10.62 12.28 14.87 19.07L353.94 192H416l96-128-64-64zM128 278.59L10.92 395.67c-14.55 14.55-14.55 38.15 0 52.71l52.7 52.7c14.56 14.56 38.15 14.56 52.71 0L233.41 384c29.11-29.11 29.11-76.3 0-105.41s-76.3-29.11-105.41 0z"}))}function Nu(i){return n.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 320 320",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},n.createElement("g",{fill:"currentColor"},n.createElement("rect",{rx:"32",height:"272",width:"267",y:"25",x:"25",strokeWidth:"15",stroke:"currentColor",fill:"none"}),n.createElement("ellipse",{stroke:"currentColor",ry:"26",rx:"26",cy:"248",cx:"160",fill:"none",strokeWidth:"15"}),n.createElement("line",{y2:"201.94531",x2:"159.5",y1:"46.94531",x1:"159.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"none"}),n.createElement("rect",{height:"27",width:"50",y:"79.7979",x:"133.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"#fff"})))}function Ts(i){return n.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 512 512",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},n.createElement("path",{fill:"currentColor",d:"M433.941 65.941l-51.882-51.882A48 48 0 0 0 348.118 0H176c-26.51 0-48 21.49-48 48v48H48c-26.51 0-48 21.49-48 48v320c0 26.51 21.49 48 48 48h224c26.51 0 48-21.49 48-48v-48h80c26.51 0 48-21.49 48-48V99.882a48 48 0 0 0-14.059-33.941zM266 464H54a6 6 0 0 1-6-6V150a6 6 0 0 1 6-6h74v224c0 26.51 21.49 48 48 48h96v42a6 6 0 0 1-6 6zm128-96H182a6 6 0 0 1-6-6V54a6 6 0 0 1 6-6h106v88c0 13.255 10.745 24 24 24h88v202a6 6 0 0 1-6 6zm6-256h-64V48h9.632c1.591 0 3.117.632 4.243 1.757l48.368 48.368a6 6 0 0 1 1.757 4.243V112z"}))}function Lu(i){return n.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 320 320",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},n.createElement("g",{fill:"currentColor"},n.createElement("rect",{rx:"32",height:"272",width:"267",y:"25",x:"25",strokeWidth:"15",stroke:"currentColor",fill:"none"}),n.createElement("ellipse",{stroke:"currentColor",ry:"26",rx:"26",cy:"252",cx:"160",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",fill:"#fff"}),n.createElement("line",{y2:"201.94531",x2:"159.5",y1:"46.94531",x1:"159.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"none"}),n.createElement("rect",{height:"27",width:"50",y:"140.83068",x:"133.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"#fff"}),n.createElement("ellipse",{stroke:"currentColor",ry:"26",rx:"26",cy:"251",cx:"241",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",fill:"#fff"}),n.createElement("line",{y2:"200.94531",x2:"240.5",y1:"45.94531",x1:"240.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"none"}),n.createElement("rect",{height:"27",width:"50",y:"78.7979",x:"214.5",strokeWidth:"15",stroke:"currentColor",fill:"#fff"}),n.createElement("ellipse",{stroke:"currentColor",ry:"26",rx:"26",cy:"252",cx:"84",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",fill:"#fff"}),n.createElement("line",{y2:"201.94531",x2:"83.5",y1:"46.94531",x1:"83.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"none"}),n.createElement("rect",{height:"27",width:"50",y:"79.7979",x:"57.5",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor",fill:"#fff"})))}function B4e(i){return n.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",onClick:e=>i.onClick&&i.onClick(e),width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},n.createElement("path",{fill:"currentColor",d:"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48z"}))}function G4e(i){return n.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 512 512",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},n.createElement("path",{fill:"currentColor",d:"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48z"}),n.createElement("path",{fill:"currentColor",stroke:"null",d:"m261,270l-12,0l0,-24c0,-33.12 -26.88,-60 -60,-60s-60,26.88 -60,60l0,24l-12,0c-13.2,0 -24,10.8 -24,24l0,120c0,13.2 10.8,24 24,24l144,0c13.2,0 24,-10.8 24,-24l0,-120c0,-13.2 -10.8,-24 -24,-24zm-72,108c-13.2,0 -24,-10.8 -24,-24s10.8,-24 24,-24s24,10.8 24,24s-10.8,24 -24,24zm37.2,-108l-74.4,0l0,-24c0,-20.52 16.68,-37.2 37.2,-37.2c20.52,0 37.2,16.68 37.2,37.2l0,24z"}))}function F4e(i){return n.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 512 512",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},n.createElement("path",{fill:"currentColor",d:"M448 0L320 96v62.06l-83.03 83.03c6.79 4.25 13.27 9.06 19.07 14.87 5.8 5.8 10.62 12.28 14.87 19.07L353.94 192H416l96-128-64-64zM128 278.59L10.92 395.67c-14.55 14.55-14.55 38.15 0 52.71l52.7 52.7c14.56 14.56 38.15 14.56 52.71 0L233.41 384c29.11-29.11 29.11-76.3 0-105.41s-76.3-29.11-105.41 0z"}))}function Xs(i){return n.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 320 320",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},n.createElement("rect",{fill:"none",rx:"32",height:"272",width:"267",y:"25",x:"25",strokeWidth:"15",stroke:"currentColor"}),n.createElement("ellipse",{fill:"none",ry:"54",rx:"54",cy:"160",cx:"160",fillOpacity:"null",strokeOpacity:"null",strokeWidth:"15",stroke:"currentColor"}))}function H4e(i){return n.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 24 24",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},n.createElement("path",{fill:"currentColor",stroke:"currentColor",d:"M4.25 5.61C6.27 8.2 10 13 10 13v6c0 .55.45 1 1 1h2c.55 0 1-.45 1-1v-6s3.72-4.8 5.74-7.39A.998.998 0 0 0 18.95 4H5.04c-.83 0-1.3.95-.79 1.61z"}))}const kr={root:{width:"100%",height:"100%"},overflowHidden:{overflow:"hidden"},container:{height:"100%"}};function V4e(i){var e;return n.createElement(Pa,{elevation:Number.isNaN(i.elevation)?1:i.elevation,style:{...kr.root,...((e=i.styles)==null?void 0:e.root)||void 0,...i.overflow!=="visible"?kr.overflowHidden:void 0},onKeyDown:i.onKeyDown,tabIndex:i.tabIndex},n.createElement(vt,{container:!0,direction:"column",wrap:"nowrap",sx:kr.container},i.children))}const Ma={root:{height:"100%",overflow:"hidden"},overflowAuto:{overflow:"auto"}},Z4e=n.forwardRef(function(e,t){return n.createElement(vt,{sx:{...Ma.root,...(e==null?void 0:e.style)||void 0,...e.overflow==="auto"?Ma.overflowAuto:void 0},ref:t},e.children)});function X4e(i){return n.createElement(vt,{container:!0,alignItems:"center"},i.children)}const hs=24,Ye=32,ju=i=>i==="dark"?"#62ff25":"#37c400",gu=i=>i==="dark"?"#ee56ff":"#a204b4",K4e=i=>i==="dark"?"#fff46e":"#b89101",Tu=i=>"#ff6d69",yu=i=>"#5773ff",q4e=["0_userdata.0.","alias.0."],bt={headerCellInput:{width:"calc(100% - 5px)",height:Ye,pt:0,"& .itemIcon":{verticalAlign:"middle",width:hs,height:hs,display:"inline-block"}},headerCellSelectItem:{"& .itemIcon":{width:hs,height:hs,mr:"5px",display:"inline-block"}},selectNone:{opacity:.5},selectClearButton:{position:"absolute",top:0,right:0,borderRadius:5,backgroundColor:"background.default"},cellIdTooltipLink:{color:"#7ec2fd","&:hover":{color:"#7ec2fd"},"&:visited":{color:"#7ec2fd"}},cellIdTooltip:{fontSize:14}};function eLe(i){return n.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 436 436",style:i==null?void 0:i.style,width:"24",height:"24",className:"admin-button"},n.createElement("g",{fill:"currentColor"},n.createElement("path",{d:"m195.23077,24.30769c-36,3 -67,12 -96,26c-49,24 -82,61 -93,104l-3,11l-1,50c0,46 0,49 2,59l5,20c21,58 84,103 165,116c16,3 53,4 70,2c60,-6 111,-28 147,-64c21,-21 36,-49 40,-74a866,866 0 0 0 1,-104c-3,-18 -6,-28 -13,-43c-26,-52 -87,-90 -162,-101c-16,-2 -48,-3 -63,-2l1,0zm60,23c36,5 70,18 95,35c31,20 51,47 59,77c2,7 2,11 2,25c1,15 0,18 -2,26c-19,69 -104,117 -200,114c-47,-2 -90,-15 -124,-38c-31,-20 -51,-47 -59,-77c-3,-11 -4,-32 -2,-43c8,-42 41,-78 91,-101a260,260 0 0 1 140,-19l0,1zm-221,222c21,26 57,49 95,62c81,27 174,14 239,-32c14,-10 31,-27 41,-41c2,-2 2,-2 2,7c-1,23 -16,50 -38,72c-78,74 -233,74 -311,-1a121,121 0 0 1 -39,-76l0,-6l3,4l8,11z"}),n.createElement("path",{d:"m201.23077,47.30769c-40,3 -79,19 -104,44c-55,55 -38,133 37,171c52,26 122,24 172,-5c30,-17 51,-42 58,-71c3,-11 3,-34 0,-45c-6,-23 -21,-44 -40,-60l-27,-16a184,184 0 0 0 -96,-18zm30,21c56,5 100,35 112,75c4,11 4,30 0,41c-8,25 -26,45 -54,59a166,166 0 0 1 -160,-8a98,98 0 0 1 -41,-53c-5,-18 -2,-39 8,-57c23,-39 79,-62 135,-57z"})))}function na(i){i=(i||"").toString();const e=i[0]==="*",t=i[i.length-1]==="*";return i=i.replace(/[-/\\^$+?.()|[\]{}]/g,"\\$&").replace(/\*/g,".*"),(e?"":"^")+i+(t?"":"$")}function tLe(i,e){const t=[];for(let s=0;s{if(r==null)return;const M=typeof r=="object";if(t&&M&&typeof r.en=="string"&&typeof r.de=="string"){s[o]=r.en;return}s[o]=M?Lo(r,e,t):r}):sLe(i,(s,r,o)=>{if(r==null||e.includes(o))return;const M=typeof r=="object";if(t&&M&&typeof r.en=="string"&&typeof r.de=="string"){s[o]=r.en;return}s[o]=M?Lo(r,e,t):r})}function aa(i,e,t){const s=document.createElement("a"),r=[];t.excludeSystemRepositories&&r.push("system.repositories");const o=r.length>0||t.excludeTranslations?Lo(e,r,t.excludeTranslations):e,M=t.beautify?JSON.stringify(o,null,2):JSON.stringify(o);s.setAttribute("href",`data:application/json;charset=utf-8,${encodeURIComponent(M)}`),s.setAttribute("download",i),s.style.display="none",document.body.appendChild(s),s.click(),document.body.removeChild(s)}class iLe extends ze{hasIcons;timer=null;constructor(e){var t;super(e),this.state={value:e.initialValue||[]},this.hasIcons=!!((t=e.values)!=null&&t.find(s=>s.icon))}componentWillUnmount(){this.timer&&clearTimeout(this.timer)}render(){var e;return n.createElement("div",{style:{position:"relative"}},n.createElement(Xe,{variant:"standard",key:this.props.name,sx:bt.headerCellInput,className:"no-underline",multiple:!0,renderValue:t=>t!=null&&t.length?t.map(s=>{const r=this.props.values.find(u=>typeof u=="object"?u.value===s:u===s);let o,M,a;return typeof r=="object"?(o=r.value,M=r.name,a=r.icon):(o=r,M=r),n.createElement(W,{component:"span",sx:bt.headerCellSelectItem,key:o},a||(this.hasIcons?n.createElement("div",{className:"itemIcon"}):null),M)}):this.props.name==="custom"?this.props.texts.showAll:this.props.texts[`filter_${this.props.name}`],value:this.state.value,onChange:t=>{let s=t.target.value;if(this.state.value[0]==="_"&&s.includes("_")&&s.length>1){const r=s.indexOf("_");r!==-1&&s.splice(r,1)}else this.state.value[0]!=="_"&&s.includes("_")&&(s=["_"]);s.includes("")&&(s=[]),this.setState({value:s},()=>{this.timer&&clearTimeout(this.timer),this.timer=setTimeout(()=>{this.timer=null,this.props.onChange(this.props.name,s)},400)})},onClose:()=>{this.timer&&(clearTimeout(this.timer),this.timer=null,this.props.onChange(this.props.name,this.state.value))},inputProps:{name:this.props.name,id:this.props.name},displayEmpty:!0},n.createElement(te,{key:"empty",value:""},n.createElement("span",{style:bt.selectNone},this.props.name==="custom"?this.props.texts.showAll:this.props.texts[`filter_${this.props.name}`])),(e=this.props.values)==null?void 0:e.map(t=>{let s,r,o;return typeof t=="object"?(s=t.value,r=t.name,o=t.icon):(s=t,r=t),n.createElement(te,{sx:bt.headerCellSelectItem,key:s,value:s},o||(this.hasIcons?n.createElement("div",{className:"itemIcon"}):null),r)})),this.state.value.length?n.createElement(W,{component:"div",sx:bt.selectClearButton},n.createElement(P,{size:"small",onClick:()=>{this.timer&&(clearTimeout(this.timer),this.timer=null),this.setState({value:[]},()=>this.props.onChange(this.props.name,void 0))}},n.createElement(ge,null))):null)}}class rLe extends ze{timer=null;constructor(e){super(e),this.state={value:e.initialValue||""}}componentWillUnmount(){this.timer&&clearTimeout(this.timer)}render(){return n.createElement(wt,{sx:this.props.styles,key:this.props.name,title:this.props.t("ra_You can use * as wildcard"),margin:"dense"},n.createElement(Ut,{classes:{underline:"no-underline"},id:this.props.name,placeholder:this.props.texts[`filter_${this.props.name}`],value:this.state.value,onChange:e=>{const t=e.target.value;this.setState({value:t},()=>{this.timer&&clearTimeout(this.timer),this.timer=setTimeout(()=>{this.timer=null,this.props.onChange(this.props.name,t)},400)})},onBlur:()=>{this.timer&&(clearTimeout(this.timer),this.timer=null,this.props.onChange(this.props.name,this.state.value))},autoComplete:"off"}),this.state.value?n.createElement("div",{style:{position:"absolute",right:0}},n.createElement(P,{size:"small",onClick:()=>{this.timer&&(clearTimeout(this.timer),this.timer=null),this.setState({value:""},()=>this.props.onChange(this.props.name,void 0))}},n.createElement(ge,null))):null)}}function oi(i,e,t,s){if(t||=0,s===void 0&&(s=i.length-1,!s))return i[0]===e;const r=Math.floor((t+s)/2);return e===i[r]?!0:s-1===t?i[t]===e||i[s]===e:e>i[r]?oi(i,e,r,s):ek.toLowerCase())),(L=e.custom)!=null&&L.length&&(r.custom=e.custom.map(k=>k.toLowerCase())),(j=e.role)!=null&&j.length&&(r.role=e.role.map(k=>k.toLowerCase())),(g=e.room)!=null&&g.length&&(r.room=[],e.room.forEach(k=>{var Y,J;r.room=r.room.concat(((J=(Y=s[k])==null?void 0:Y.common)==null?void 0:J.members)||[])})),(y=e.func)!=null&&y.length&&(r.func=[],e.func.forEach(k=>{var Y,J;r.func=r.func.concat(((J=(Y=s[k])==null?void 0:Y.common)==null?void 0:J.members)||[])}))}const N=i.data;if(N!=null&&N.id){const k=(d=N.obj)==null?void 0:d.common;if(M){if(M.type&&(typeof M.type=="string"?(!N.obj||M.type!==N.obj.type)&&(l=!0):Array.isArray(M.type)&&(!N.obj||!M.type.includes(N.obj.type))&&(l=!0)),!l&&((h=M.common)!=null&&h.type)&&(k!=null&&k.type?typeof M.common.type=="string"?M.common.type!==k.type&&(l=!0):Array.isArray(M.common.type)&&(M.common.type.includes(k.type)||(l=!0)):l=!0),!l&&((m=M.common)!=null&&m.role)&&(k!=null&&k.role?typeof M.common.role=="string"?k.role.startsWith(M.common.role)&&(l=!0):Array.isArray(M.common.role)&&(M.common.role.find(Y=>k.role.startsWith(Y))||(l=!0)):l=!0),!l&&((w=M.common)==null?void 0:w.custom)==="_"&&(k!=null&&k.custom))l=!0;else if(!l&&((O=M.common)!=null&&O.custom)&&((A=M.common)==null?void 0:A.custom)!=="_"){const Y=M.common.custom;if(!(k!=null&&k.custom))l=!0;else if(Y==="_dataSources")Object.keys(k.custom).find(J=>J.startsWith("history.")||J.startsWith("sql.")||J.startsWith("influxdb."))||(l=!0);else if(Array.isArray(Y)){const J=Object.keys(k.custom);Y.find(Le=>J.find(Je=>Je.startsWith(Le)))&&(l=!0)}else Y!==!0&&!Object.keys(k.custom).find(J=>J.startsWith(Y))&&(l=!0)}}!l&&!e.expertMode&&(l=N.id==="system"||N.id==="enum"||N.id.startsWith("system.")||N.id.startsWith("enum.")||N.id.startsWith("_design/")||N.id.endsWith(".admin")||!!(k!=null&&k.expert)),!l&&r.id&&(N.fID===void 0&&(N.fID=N.id.toLowerCase()),l=!N.fID.includes(r.id)),!l&&r.idRx&&(l=!r.idRx.test(N.id)),!l&&r.name&&(k?(N.fName===void 0&&(N.fName=Re(k.name,t)||"",N.fName=N.fName.toLowerCase()),l=!N.fName.includes(r.name)):l=!0),!l&&r.nameRx&&k&&(N.fName===void 0&&(N.fName=Re(k.name,t)||"",N.fName=N.fName.toLowerCase()),l=!r.nameRx.test(N.fName)),!l&&((I=e.role)!=null&&I.length)&&k&&(l=!(typeof k.role=="string"&&r.role.find(Y=>k.role.startsWith(Y)))),!l&&((p=r.room)!=null&&p.length)&&(l=!r.room.find(Y=>Y===N.id||N.id.startsWith(`${Y}.`))),!l&&((S=r.func)!=null&&S.length)&&(l=!r.func.find(Y=>Y===N.id||N.id.startsWith(`${Y}.`))),!l&&((f=r.type)!=null&&f.length)&&(l=!(($=N.obj)!=null&&$.type&&r.type.includes(N.obj.type))),!l&&a&&(l=!((x=N.obj)!=null&&x.type&&a.includes(N.obj.type))),!l&&((Z=r.custom)!=null&&Z.length)&&(k?r.custom[0]==="_"?l=!!k.custom:k.custom?l=!r.custom.find(Y=>k.custom[Y]):l=!0:l=r.custom[0]!=="_")}return N.visible=!l,N.hasVisibleChildren=!1,i.children&&u<20&&i.children.forEach(k=>{jo(k,e,t,s,r,o,M,a,u+1)&&(N.hasVisibleChildren=!0)}),N.sumVisibility=N.visible||N.hasVisibleChildren,o&&N.sumVisibility&&o.count++,N.id&&N.sumVisibility&&i.children&&i.children.forEach(k=>k.data.hasVisibleParent=!0),N.visible||N.hasVisibleChildren}function Du(i,e,t,s){var o;s||=[];const r=i.data;return r.sumVisibility&&(r.id&&t[r.id]&&t[r.id].type===e&&s.push(r.id),(o=i.children)==null||o.forEach(M=>Du(M,e,t,s))),s}function ca(i,e,t,s,r,o){let M;return e==="alias"||e==="alias.0"?M=n.createElement(Fa,{className:"iconOwn",style:{color:gu(s)}}):e==="0_userdata"||e==="0_userdata.0"?M=n.createElement(_l,{className:"iconOwn",style:{color:ju(s)}}):e.startsWith("_design/")||e==="system"?M=n.createElement(Pi,{className:"iconOwn",style:{color:Tu(s)}}):e==="system.adapter"?M=n.createElement(Pi,{className:"iconOwn",style:{color:yu(s)}}):e==="system.group"?M=n.createElement(Qo,{className:"iconOwn"}):e==="system.user"?M=n.createElement(Uo,{className:"iconOwn"}):e==="system.host"?M=n.createElement(vo,{className:"iconOwn"}):e.endsWith(".connection")||e.endsWith(".connected")?M=n.createElement(zs,{className:"iconOwn"}):e.endsWith(".info")?M=n.createElement(bo,{className:"iconOwn"}):i[e]&&i[e].type==="meta"?M=n.createElement(er,{className:"iconOwn"}):t<2&&i[`system.adapter.${e}`]&&(M=Zi(i,`system.adapter.${e}`,r,o)),M||null}function du(i,e){var t,s;return(s=(t=i==null?void 0:i.obj)==null?void 0:t.common)!=null&&s.desc&&Re(i.obj.common.desc,e)||null}function oLe(i,e){const t=du(i,e);return t!=null&&t.startsWith("http")?n.createElement(W,{component:"a",sx:bt.cellIdTooltipLink,href:t,target:"_blank",rel:"noreferrer"},t):n.createElement("span",{style:bt.cellIdTooltip},t||i.id||"")}function ua(i,e){var N,c,L,j,g,y,d,h,m,w;const t=e.imagePrefix||".";let s=Object.keys(i);s.sort((O,A)=>O===A?0:(O=O.replace(/\./g,"!!!"),A=A.replace(/\./g,"!!!"),O>A?1:-1)),e.root&&(s=s.filter(O=>O===e.root||O.startsWith(`${e.root}.`)));let r=[],o="",M=0;const a={data:{name:"",id:""},children:[]},u={funcEnums:[],roomEnums:[],roles:[],ids:[],types:[],objects:i,customs:["_"],enums:[],hasSomeCustoms:!1,aliasesMap:{}};let l=a;for(let O=0;Ox.role===$)?typeof $!="string"?console.warn(`Invalid role type "${typeof $}" in "${I._id}"`):u.roles.push({role:$,type:f.type}):A.startsWith("enum.rooms.")?(u.roomEnums.push(A),u.enums.push(A)):A.startsWith("enum.functions.")?(u.funcEnums.push(A),u.enums.push(A)):I.type==="enum"?u.enums.push(A):I.type==="instance"&&f&&(f.supportCustoms||(N=f.adminUI)!=null&&N.custom)&&(u.hasSomeCustoms=!0,u.customs.push(A.substring(15))),A.startsWith("alias.")&&((c=I.common.alias)!=null&&c.id))if(typeof I.common.alias.id=="string"){const x=I.common.alias.id;u.aliasesMap[x]?u.aliasesMap[x].includes(A)||u.aliasesMap[x].push(A):u.aliasesMap[x]=[A]}else{const x=I.common.alias.id.read;x&&(u.aliasesMap[x]?u.aliasesMap[x].includes(A)||u.aliasesMap[x].push(A):u.aliasesMap[x]=[A]);const Z=I.common.alias.id.write;Z&&(u.aliasesMap[Z]?u.aliasesMap[Z].includes(A)||u.aliasesMap[Z].push(A):u.aliasesMap[Z]=[A])}}u.ids.push(A);let S;do if(S=!1,!o||A.startsWith(`${o}.`)){if(p.length-M>1){let $=o;for(let x=M;xZ.data.name===p[x]));else{const Z={data:{name:p[x],parent:l,id:$,obj:i[$],level:x,icon:ca(i,$,x,e.themeType,e.lang,t),generated:!0}};l.children||=[],l.children.push(Z),l=Z,u.ids.push($)}}const f={data:{name:p[p.length-1],title:Re((L=I==null?void 0:I.common)==null?void 0:L.name,e.lang),obj:I,parent:l,icon:Zi(i,A,e.lang,t)||ca(i,A,0,e.themeType,e.lang,t),id:A,hasCustoms:!!((j=I.common)!=null&&j.custom&&Object.keys(I.common.custom).length),level:p.length-1,generated:!1,button:I.type==="state"&&!!((g=I.common)!=null&&g.role)&&typeof I.common.role=="string"&&I.common.role.startsWith("button")&&((y=I.common)==null?void 0:y.write)!==!1,switch:I.type==="state"&&((d=I.common)==null?void 0:d.type)==="boolean"&&((h=I.common)==null?void 0:h.write)!==!1&&((m=I.common)==null?void 0:m.read)!==!1,url:!!((w=I.common)!=null&&w.role)&&typeof I.common.role=="string"&&I.common.role.startsWith("url")}};l.children||=[],l.children.push(f),l=f,M=p.length,r=p,o=A}else{let f=0;for(;r[f]===p[f];)f++;if(f>0){let $=r.length;for(r=r.splice(0,f),M=f,o=r.join(".");$>f;)l.data.parent?l=l.data.parent:console.error(`Parent is null for ${A} ${o} ${r.join(".")}`),$--}else l=a,r=[],o="",M=0;S=!0}while(S)}return u.roomEnums.sort((O,A)=>{var S,f,$,x;const I=Re((f=(S=i[O])==null?void 0:S.common)==null?void 0:f.name,e.lang)||O.split(".").pop(),p=Re((x=($=i[A])==null?void 0:$.common)==null?void 0:x.name,e.lang)||A.split(".").pop();return I>p?1:I{var S,f,$,x;const I=Re((f=(S=i[O])==null?void 0:S.common)==null?void 0:f.name,e.lang)||O.split(".").pop(),p=Re((x=($=i[A])==null?void 0:$.common)==null?void 0:x.name,e.lang)||A.split(".").pop();return I>p?1:IO.role.localeCompare(A.role)),u.types.sort(),{info:u,root:a}}function zu(i,e,t,s,r){if(i.data.id===e)return i;if(t||(t=e.split("."),r=0,s=t[r]),!i.children&&i.data.id!==e)return null;let o;if(i.children)for(let M=0;Ms)break}return o?(r||=0,zu(o,e,t,`${s}.${t[r+1]}`,r+1)):null}function Iu(i,e,t,s){var M,a;if(!e)return{rooms:[],per:!1};s||=[];for(const u of i.roomEnums){const l=(M=i.objects[u])==null?void 0:M.common;if(!l)continue;const N=Re(l.name,t);(a=l.members)!=null&&a.includes(e)&&!s.includes(N)&&s.push(N)}let r;const o=e.split(".");return o.pop(),e=o.join("."),i.objects[e]&&(r=s.length,Iu(i,e,t,s)),{rooms:s,per:!r}}function ys(i,e,t,s){var r,o;if(!e)return[];s||=[];for(let M=0;M946681200&&l<9466812e5&&(l*=1e3),l=l&&new Date(l).toString();else if(a!=null&&a.role&&typeof a.role=="string"&&a.role.match(/^value\.duration/)){if(typeof l=="number"&&l>=0){const g=Math.floor(l/3600),y=Math.floor(l%3600/60),d=Math.floor(l%60);l=`${g.toString().padStart(2,"0")}:${y.toString().padStart(2,"0")}:${d.toString().padStart(2,"0")}`}else if(typeof l=="string"&&E.isStringInteger(l)){const g=parseInt(l,10);if(g>=0){const y=Math.floor(g/3600),d=Math.floor(g%3600/60),h=Math.floor(g%60);l=`${y.toString().padStart(2,"0")}:${d.toString().padStart(2,"0")}:${h.toString().padStart(2,"0")}`}}}else N==="number"?Number.isInteger(l)||(l=Math.round(l*1e8)/1e8,s&&(l=l.toString().replace(".",","))):N==="object"?l=JSON.stringify(l):N!=="string"?l=l.toString():l.startsWith("data:image/")&&(u="image"),typeof l!="string"&&(l=l.toString());const c={v:l};M&&M[l]!==void 0&&l!==M[l]&&(c.s=l,l=M[l],c.v=l),((j=c.v)==null?void 0:j.length)>40&&(c.c=c.v,c.v=`${c.v.substring(0,40)}...`),a!=null&&a.unit&&(c.u=a.unit);let L;if(i.full&&(typeof l=="string"&&l.length>100?L=[{t:r.value,v:`${l.substring(0,100)}...`}]:L=[{t:r.value,v:l}],t)){if(t.ack!==void 0&&t.ack!==null&&L.push({t:r.ack,v:t.ack.toString()}),t.ts&&L.push({t:r.ts,v:t.ts?E.formatDate(new Date(t.ts),e):""}),t.lc&&L.push({t:r.lc,v:t.lc?E.formatDate(new Date(t.lc),e):""}),t.from){let g=t.from.toString();g.startsWith("system.adapter.")&&(g=g.substring(15)),L.push({t:r.from,v:g})}if(t.user){let g=t.user.toString();g.startsWith("system.user.")&&(g=g.substring(12)),L.push({t:r.user,v:g})}t.c&&L.push({t:r.c,v:t.c}),L.push({t:r.quality,v:E.quality2text(t.q||0).join(", "),nbr:!0})}return{valText:c,valFull:L,fileViewer:u}}function MLe(i){const{state:e}=i;return{color:e!=null&&e.ack?e.q?"#ffa500":"":"#ff2222c9"}}function nLe(i,e){let t=e,s=1;const r=[];for(;s=t)r.push(0);else if(s1){const s=e.path;let r;const o=i;if(o[s[0]]&&typeof o[s[0]]=="object")return s.length===2?r=o[s[0]][s[1]]:s.length===3?r=o[s[0]][s[1]]&&typeof o[s[0]][s[1]]=="object"?o[s[0]][s[1]][s[2]]:null:s.length===4?r=o[s[0]][s[1]]&&typeof o[s[0]][s[1]]=="object"&&o[s[0]][s[1]][s[2]]?o[s[0]][s[1]][s[2]][s[3]]:null:s.length===5?r=o[s[0]][s[1]]&&typeof o[s[0]][s[1]]=="object"&&o[s[0]][s[1]][s[2]]&&o[s[0]][s[1]][s[2]][s[3]]?o[s[0]][s[1]][s[2]][s[3]][s[4]]:null:s.length===6&&(r=o[s[0]][s[1]]&&typeof o[s[0]][s[1]]=="object"&&o[s[0]][s[1]][s[2]]&&o[s[0]][s[1]][s[2]][s[3]]&&o[s[0]][s[1]][s[2]][s[3]][s[4]]?o[s[0]][s[1]][s[2]][s[3]][s[4]][s[5]]:null),r??null}return null}function aLe(i,e,t){var s;if((s=i==null?void 0:i._id)!=null&&s.startsWith(`${e.adapter}.`)&&e.path.length>1){const r=e.path,o=i;if(o[r[0]]&&typeof o[r[0]]=="object"){if(r.length===2)return o[r[0]][r[1]]=t,!0;if(r.length===3){if(o[r[0]][r[1]]&&typeof o[r[0]][r[1]]=="object")return o[r[0]][r[1]][r[2]]=t,!0}else if(r.length===4){if(o[r[0]][r[1]]&&typeof o[r[0]][r[1]]=="object"&&o[r[0]][r[1]][r[2]]&&typeof o[r[0]][r[1]][r[2]]=="object")return o[r[0]][r[1]][r[2]][r[3]]=t,!0}else if(r.length===5){if(o[r[0]][r[1]]&&typeof o[r[0]][r[1]]=="object"&&o[r[0]][r[1]][r[2]]&&typeof o[r[0]][r[1]][r[2]]=="object"&&o[r[0]][r[1]][r[2]][r[3]]&&typeof o[r[0]][r[1]][r[2]][r[3]]=="object")return o[r[0]][r[1]][r[2]][r[3]][r[4]]=t,!0}else if(r.length===6&&o[r[0]][r[1]]&&typeof o[r[0]][r[1]]=="object"&&o[r[0]][r[1]][r[2]]&&typeof o[r[0]][r[1]][r[2]]=="object"&&o[r[0]][r[1]][r[2]][r[3]]&&typeof o[r[0]][r[1]][r[2]][r[3]]=="object"&&o[r[0]][r[1]][r[2]][r[3]][r[4]]&&typeof o[r[0]][r[1]][r[2]][r[3]][r[4]]=="object")return o[r[0]][r[1]][r[2]][r[3]][r[4]][r[5]]=t,!0}}return!1}function Na(i){return!!q4e.find(e=>i.startsWith(e))}const cLe=16,Te=20,wu="#ff413c",Cu="#86211f",go="#57ff45",To="#098c04",yo="#f3ad11",Do="#6c5008",C={toolbar:{minHeight:38},toolbarButtons:{padding:4,marginLeft:4},switchColumnAuto:{marginLeft:16},dialogColumns:{transition:"opacity 1s"},dialogColumnsLabel:{fontSize:12,paddingTop:8},columnCustom:{width:"100%",display:"inline-block"},columnCustomEditable:{cursor:"text"},columnCustom_center:{textAlign:"center"},columnCustom_left:{textAlign:"left"},columnCustom_right:{textAlign:"right"},width100:{width:"100%"},transparent_10:{opacity:.1},transparent_20:{opacity:.2},transparent_30:{opacity:.3},transparent_40:{opacity:.4},transparent_50:{opacity:.5},transparent_60:{opacity:.6},transparent_70:{opacity:.7},transparent_80:{opacity:.8},transparent_90:{opacity:.9},transparent_100:{opacity:1},headerRow:{paddingLeft:8,height:38,whiteSpace:"nowrap",userSelect:"none"},buttonClearFilter:{position:"relative",float:"right",padding:0},buttonClearFilterIcon:{zIndex:2,position:"absolute",top:0,left:0,color:"#FF0000",opacity:.7},tableDiv:{paddingTop:0,paddingLeft:0,width:"calc(100% - 8px)",height:"calc(100% - 38px)",overflow:"auto"},tableRow:i=>({pl:1,height:Ye,lineHeight:`${Ye}px`,verticalAlign:"top",userSelect:"none",position:"relative",width:"100%","&:hover":{background:`${i.palette.mode==="dark"?i.palette.primary.dark:i.palette.primary.light} !important`,color:E.invertColor(i.palette.primary.main,!0)},whiteSpace:"nowrap",flexWrap:"nowrap"}),tableRowLines:i=>({borderBottom:`1px solid ${i.palette.mode==="dark","#8888882e"}`,"& > div":{borderRight:`1px solid ${i.palette.mode==="dark","#8888882e"}`}}),tableRowNoDragging:{cursor:"pointer"},tableRowAlias:{height:Ye+10},tableRowAliasReadWrite:{height:Ye+22},tableRowFocused:i=>({"&:after":{content:'""',position:"absolute",top:1,left:1,right:1,bottom:1,border:i.palette.mode?"1px dotted #000":"1px dotted #FFF"}}),checkBox:{padding:0},cellId:{position:"relative",fontSize:"1rem",overflow:"hidden",textOverflow:"ellipsis","& .copyButton":{display:"none"},"&:hover .copyButton":{display:"block"},"& .iconOwn":{display:"block",width:Ye-4,height:Ye-4,mt:"2px",float:"right"},"&:hover .iconOwn":{display:"none"},"& *":{width:"initial"}},cellIdSpan:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},cellIdIconFolder:i=>({marginRight:8,width:Ye-4,height:Ye-4,cursor:"pointer",color:i.palette.secondary.main||"#fbff7d",verticalAlign:"top"}),cellIdIconDocument:{verticalAlign:"middle",marginLeft:(Ye-Te)/2,marginRight:8,width:Te,height:Te},cellIdIconOwn:{},cellCopyButton:{width:Te,height:Te,top:(Ye-Te)/2,opacity:.8,position:"absolute",right:3},cellCopyButtonInDetails:{width:Te,height:Te,top:(Ye-Te)/2,opacity:.8},cellEditButton:{width:Te,height:Te,color:"white",position:"absolute",top:(Ye-Te)/2,right:Te+3,opacity:.7,"&:hover":{opacity:1}},cellName:{display:"inline-block",verticalAlign:"top",fontSize:14,ml:"5px",overflow:"hidden",textOverflow:"ellipsis",position:"relative","& .copyButton":{display:"none"},"&:hover .copyButton":{display:"block"}},cellNameWithDesc:{lineHeight:"normal"},cellNameDivDiv:{},cellDescription:{fontSize:10,opacity:.5,fontStyle:"italic"},cellIdAlias:i=>({fontStyle:"italic",fontSize:12,opacity:.7,"&:hover":{color:i.palette.mode==="dark"?"#009900":"#007700"}}),cellIdAliasReadWriteDiv:{height:24,marginTop:-5},cellIdAliasAlone:{lineHeight:0},cellIdAliasReadWrite:{lineHeight:"12px"},cellType:{display:"inline-block",verticalAlign:"top","& .itemIcon":{verticalAlign:"middle",width:hs,height:hs,display:"inline-block"},"& .itemIconFolder":{marginLeft:3}},cellRole:{display:"inline-block",verticalAlign:"top",textOverflow:"ellipsis",overflow:"hidden"},cellRoom:{display:"inline-block",verticalAlign:"top",textOverflow:"ellipsis",overflow:"hidden"},cellEnumParent:{opacity:.4},cellFunc:{display:"inline-block",verticalAlign:"top",textOverflow:"ellipsis",overflow:"hidden"},cellValue:{display:"inline-block",verticalAlign:"top",textOverflow:"ellipsis",overflow:"hidden"},cellValueButton:{marginTop:5},cellValueButtonFalse:{opacity:.3},cellAdapter:{display:"inline-block",verticalAlign:"top"},cellValueTooltip:{fontSize:12},cellValueText:{width:"100%",height:Ye,fontSize:16,display:"flex",overflow:"hidden",textOverflow:"ellipsis",position:"relative",verticalAlign:"top","& .copyButton":{display:"none"},"&:hover .copyButton":{display:"block"}},cellValueFile:{color:"#2837b9"},cellValueTooltipTitle:{fontStyle:"italic",width:100,display:"inline-block"},cellValueTooltipValue:{width:120,display:"inline-block",whiteSpace:"nowrap",textOverflow:"ellipsis"},cellValueTooltipImage:{width:100,height:"auto"},cellValueTooltipBoth:{width:220,display:"inline-block",whiteSpace:"nowrap"},cellValueTooltipBox:{width:250,overflow:"hidden",pointerEvents:"none"},tooltip:{pointerEvents:"none"},cellValueTextUnit:{marginLeft:4,opacity:.8,display:"inline-block"},cellValueTextState:{opacity:.7},cellValueTooltipCopy:{position:"absolute",bottom:3,right:3},cellValueTooltipEdit:{position:"absolute",bottom:3,right:15},cellButtons:{display:"inline-block",verticalAlign:"top"},cellButtonsButton:{display:"inline-block",opacity:.5,width:Te+4,height:Te+4,"&:hover":{opacity:1},p:0,mt:"-2px"},cellButtonsEmptyButton:{fontSize:12},cellButtonMinWidth:{minWidth:40},cellButtonsButtonAlone:{ml:`${Te+6}px`,pt:0,mt:"-2px"},cellButtonsButtonWithCustoms:i=>({color:i.palette.mode==="dark"?i.palette.primary.main:i.palette.secondary.main}),cellButtonsButtonWithoutCustoms:{opacity:.2},cellButtonsValueButton:i=>({position:"absolute",top:Te/2-2,opacity:.7,width:Te-2,height:Te-2,color:i.palette.action.active,"&:hover":{opacity:1}}),cellButtonsValueButtonCopy:{right:8,cursor:"pointer"},cellButtonsValueButtonEdit:{right:Te/2+16},cellDetailsLine:{display:"flex",alignItems:"center",width:"100%",height:32,fontSize:16},cellDetailsName:{fontWeight:"bold",marginRight:8,minWidth:80},filteredOut:{opacity:.5},filteredParentOut:{opacity:.3},filterInput:{mt:0,mb:0},selectIcon:{width:24,height:24,marginRight:4},itemSelected:i=>({background:`${i.palette.primary.main} !important`,color:`${E.invertColor(i.palette.primary.main,!0)} !important`}),header:{width:"100%"},headerCell:{display:"inline-block",verticalAlign:"top"},headerCellValue:{paddingTop:4,fontSize:16},visibleButtons:{color:"#2196f3",opacity:.7},grow:{flexGrow:1},enumIconDiv:{marginRight:8,width:32,height:32,borderRadius:8,background:"#FFFFFF"},enumIcon:{marginTop:4,marginLeft:4,width:24,height:24},enumDialog:{overflow:"hidden"},enumList:{minWidth:250,height:"calc(100% - 50px)",overflow:"auto"},enumCheckbox:{minWidth:0},buttonDiv:{display:"flex",height:"100%",alignItems:"center"},aclText:{fontSize:13,marginTop:6},rightsObject:{color:"#55ff55",paddingLeft:3},rightsState:{color:"#86b6ff",paddingLeft:3},textCenter:{padding:12,textAlign:"center"},tooltipAccessControl:{display:"flex",flexDirection:"column"},fontSizeTitle:{"@media screen and (max-width: 465px)":{"& *":{fontSize:12}}},draggable:{cursor:"copy"},nonDraggable:{cursor:"no-drop"},iconDeviceConnected:i=>({color:i.palette.mode==="dark"?go:To,opacity:.8,position:"absolute",top:4,right:32,width:20}),iconDeviceDisconnected:i=>({color:i.palette.mode==="dark"?yo:Do,opacity:.8,position:"absolute",top:4,right:32,width:20}),iconDeviceError:i=>({color:i.palette.mode==="dark"?wu:Cu,opacity:.8,position:"absolute",top:4,right:50,width:20}),resizeHandle:{display:"block",position:"absolute",cursor:"col-resize",width:7,top:2,bottom:2,zIndex:1},resizeHandleRight:{right:3,borderRight:"2px dotted #888","&:hover":{borderColor:"#ccc",borderRightStyle:"solid"},"&.active":{borderColor:"#517ea5",borderRightStyle:"solid"}},invertedBackground:i=>({backgroundColor:i.palette.mode==="dark"?"#9a9a9a":"#565656",padding:"0 3px",borderRadius:"2px 0 0 2px"}),invertedBackgroundFlex:i=>({backgroundColor:i.palette.mode==="dark"?"#9a9a9a":"#565656",borderRadius:"0 2px 2px 0"}),contextMenuEdit:i=>({color:i.palette.mode==="dark"?"#ffee48":"#cbb801"}),contextMenuEditValue:i=>({color:i.palette.mode==="dark"?"#5dff45":"#1cd301"}),contextMenuView:i=>({color:i.palette.mode==="dark"?"#FFF":"#000"}),contextMenuCustom:i=>({color:i.palette.mode==="dark"?"#42eaff":"#01bbc2"}),contextMenuACL:i=>({color:i.palette.mode==="dark"?"#e079ff":"#500070"}),contextMenuRoom:i=>({color:i.palette.mode==="dark"?"#ff9a33":"#642a00"}),contextMenuRole:i=>({color:i.palette.mode==="dark"?"#ffdb43":"#562d00"}),contextMenuDelete:i=>({color:i.palette.mode==="dark"?"#ff4f4f":"#cf0000"}),contextMenuKeys:{marginLeft:8,opacity:.7,fontSize:"smaller"},contextMenuWithSubMenu:{display:"flex"},...bt},La={state:n.createElement(Xs,{className:"itemIcon",style:{verticalAlign:"middle"}}),channel:n.createElement(Nu,{className:"itemIcon",style:{verticalAlign:"middle"}}),device:n.createElement(Lu,{className:"itemIcon",style:{verticalAlign:"middle"}}),adapter:n.createElement(J4e,{className:"itemIcon",style:{verticalAlign:"middle"}}),meta:n.createElement(er,{className:"itemIcon",style:{verticalAlign:"middle"}}),instance:n.createElement(F4e,{className:"itemIcon",style:{color:"#7da7ff",verticalAlign:"middle"}}),enum:n.createElement(Fl,{className:"itemIcon",style:{verticalAlign:"middle"}}),chart:n.createElement(Gl,{className:"itemIcon",style:{verticalAlign:"middle"}}),config:n.createElement(Fr,{className:"itemIcon",style:{verticalAlign:"middle"}}),group:n.createElement(Qo,{className:"itemIcon",style:{verticalAlign:"middle"}}),user:n.createElement(Uo,{className:"itemIcon",style:{verticalAlign:"middle"}}),host:n.createElement(vo,{className:"itemIcon",style:{verticalAlign:"middle"}}),schedule:n.createElement(Bl,{className:"itemIcon",style:{verticalAlign:"middle"}}),script:n.createElement(Po,{className:"itemIcon",style:{verticalAlign:"middle"}}),folder:n.createElement(ms,{className:"itemIcon itemIconFolder",style:{verticalAlign:"middle"}})},je={xs:{idWidth:"100%",fields:[],widths:{}},sm:{idWidth:300,fields:["room","val"],widths:{room:100,val:200}},md:{idWidth:300,fields:["room","func","val","buttons"],widths:{name:200,room:150,func:150,val:120,buttons:120}},lg:{idWidth:300,fields:["name","type","role","room","func","val","buttons","changedFrom","qualityCode","timestamp","lastChange"],widths:{name:300,type:80,role:120,room:180,func:180,val:140,buttons:120,changedFrom:120,qualityCode:100,timestamp:165,lastChange:165}},xl:{idWidth:550,fields:["name","type","role","room","func","val","buttons","changedFrom","qualityCode","timestamp","lastChange"],widths:{name:400,type:80,role:120,room:180,func:180,val:140,buttons:120,changedFrom:120,qualityCode:100,timestamp:170,lastChange:170}}};let ja=!1;const Ds={id:"",name:"",room:[],func:[],role:[],type:[],custom:[],expertMode:!1};class Xi extends ze{info={funcEnums:[],roomEnums:[],roles:[],ids:[],types:[],objects:{},customs:[],enums:[],hasSomeCustoms:!1,aliasesMap:{}};localStorage=window._localStorage||window.localStorage;tableRef;pausedSubscribes=!1;selectFirst;root=null;states={};subscribes=[];unsubscribeTimer=null;statesUpdateTimer=null;objectsUpdateTimer=null;visibleCols;texts;possibleCols;imagePrefix;adapterColumns=[];styleTheme="";edit={id:"",val:"",q:0,ack:!1};levelPadding;customWidth=!1;resizeTimeout=null;resizerNextName=null;resizerActiveName=null;resizerCurrentWidths={};resizeLeft=!1;resizerOldWidth=0;resizerMin=0;resizerNextMin=0;resizerOldWidthNext=0;resizerPosition=0;resizerActiveDiv=null;resizerNextDiv=null;storedWidths=null;systemConfig;objects;defaultHistory="";ctrlPressed=!1;columnsVisibility={};changedIds=null;contextMenu=null;recordStates=[];styles={};expertMode=!1;customColumnDialog=null;constructor(e){super(e);const t=this.localStorage.getItem(`${e.dialogName||"App"}.objectSelected`)||"";if(this.selectFirst="",this.expertMode=!!this.props.expertMode,t.startsWith("["))try{const d=JSON.parse(t);this.selectFirst=d[0]||""}catch{}else this.selectFirst=t;let s;const r=this.localStorage.getItem(`${e.dialogName||"App"}.objectExpanded`)||"[]";try{s=JSON.parse(r)}catch{s=[]}let o;const M=e.defaultFilters?"":this.localStorage.getItem(`${e.dialogName||"App"}.objectFilter`)||"";if(M)try{o=JSON.parse(M)}catch{o={...Ds}}else e.defaultFilters&&typeof e.defaultFilters=="object"?o={...e.defaultFilters}:o={...Ds};if(typeof o.room=="string"&&o.room&&(o.room=[o.room].filter(d=>d),o.room.length||delete o.room),typeof o.func=="string"&&o.func&&(o.func=[o.func].filter(d=>d),o.func.length||delete o.func),typeof o.role=="string"&&o.role&&(o.role=[o.role].filter(d=>d),o.role.length||delete o.role),typeof o.type=="string"&&(o.type=[o.type].filter(d=>d),o.type.length||delete o.type),typeof o.custom=="string"&&(o.custom=[o.custom].filter(d=>d),o.custom.length||delete o.custom),o.expertMode=e.expertMode!==void 0?e.expertMode:(window._sessionStorage||window.sessionStorage).getItem("App.expertMode")==="true",this.tableRef=va(),this.visibleCols=e.columns||je[e.width||"lg"].fields,e.types&&e.types.length===1){const d=this.visibleCols.indexOf("type");d!==-1&&this.visibleCols.splice(d,1)}this.possibleCols=je.xl.fields;let a=null;if(e.router){const d=e.router.getLocation();d.id&&d.dialog==="customs"&&(a=[d.id],this.pauseSubscribe(!0))}let u;Array.isArray(e.selected)?u=e.selected:u=[e.selected||""],u=u.map(d=>d.replace(/["']/g,"")).filter(d=>d),this.selectFirst=u.length&&u[0]?u[0]:this.selectFirst;const l=this.localStorage.getItem(`${e.dialogName||"App"}.columns`);let N;try{N=l?JSON.parse(l):null}catch{N=null}let c=null;try{c=c?JSON.parse(c):{}}catch{c={}}this.imagePrefix=e.imagePrefix||".";let L;const j=this.localStorage.getItem(`${e.dialogName||"App"}.foldersFirst`);j==="false"?L=!1:j==="true"?L=!0:L=e.foldersFirst===void 0?!0:e.foldersFirst;let g=!1;try{g=this.props.objectStatesView&&JSON.parse(this.localStorage.getItem(`${e.dialogName||"App"}.objectStatesView`)||"")||!1}catch{}this.state={aliasMenu:"",beautifyJsonExport:!0,columns:N,columnsAuto:this.localStorage.getItem(`${e.dialogName||"App"}.columnsAuto`)!=="false",columnsDialogTransparent:100,columnsEditCustomDialog:null,columnsForAdmin:null,columnsSelectorShow:!1,columnsWidths:c,customColumnDialogValueChanged:!1,customDialog:a,depth:0,editObjectAlias:!1,editObjectDialog:"",enumDialog:null,excludeSystemRepositoriesFromExport:!0,excludeTranslations:!1,expandAllVisible:!1,expanded:s,filter:o,filterKey:0,focused:this.localStorage.getItem(`${e.dialogName||"App"}.focused`)||"",foldersFirst:L,linesEnabled:this.localStorage.getItem(`${e.dialogName||"App"}.lines`)==="true",loaded:!1,noStatesByExportImport:!1,roleDialog:null,scrollBarWidth:16,selected:u,selectedNonObject:this.localStorage.getItem(`${e.dialogName||"App"}.selectedNonObject`)||"",showAliasEditor:"",showAllExportOptions:!1,showContextMenu:null,showDescription:this.localStorage.getItem(`${e.dialogName||"App"}.desc`)!=="false",showExportDialog:!1,showImportDialog:!1,showImportMenu:null,showRenameDialog:null,statesView:g,toast:"",tooltipInfo:null,viewFileDialog:""},this.texts={name:e.t("ra_Name"),categories:e.t("ra_Categories"),value:e.t("ra_tooltip_value"),ack:e.t("ra_tooltip_ack"),ts:e.t("ra_tooltip_ts"),lc:e.t("ra_tooltip_lc"),from:e.t("ra_tooltip_from"),user:e.t("ra_tooltip_user"),c:e.t("ra_tooltip_comment"),quality:e.t("ra_tooltip_quality"),editObject:e.t("ra_tooltip_editObject"),deleteObject:e.t("ra_tooltip_deleteObject"),customConfig:e.t("ra_tooltip_customConfig"),copyState:e.t("ra_tooltip_copyState"),editState:e.t("ra_tooltip_editState"),ctrlForLink:e.t("ra_tooltip_ctrlForLink"),close:e.t("ra_Close"),filter_id:e.t("ra_filter_id"),filter_name:e.t("ra_filter_name"),filter_type:e.t("ra_filter_type"),filter_role:e.t("ra_filter_role"),filter_room:e.t("ra_filter_room"),filter_func:e.t("ra_filter_func"),filter_custom:e.t("ra_filter_customs"),filterCustomsWithout:e.t("ra_filter_customs_without"),objectChangedByUser:e.t("ra_object_changed_by_user"),objectChangedBy:e.t("ra_object_changed_by"),objectChangedFrom:e.t("ra_state_changed_from"),stateChangedBy:e.t("ra_state_changed_by"),stateChangedFrom:e.t("ra_state_changed_from"),ownerGroup:e.t("ra_Owner group"),ownerUser:e.t("ra_Owner user"),showAll:e.t("ra_show_all"),deviceError:e.t("ra_Error"),deviceDisconnected:e.t("ra_Disconnected"),deviceConnected:e.t("ra_Connected"),aclOwner_read_object:e.t("ra_aclOwner_read_object"),aclOwner_read_state:e.t("ra_aclOwner_read_state"),aclOwner_write_object:e.t("ra_aclOwner_write_object"),aclOwner_write_state:e.t("ra_aclOwner_write_state"),aclGroup_read_object:e.t("ra_aclGroup_read_object"),aclGroup_read_state:e.t("ra_aclGroup_read_state"),aclGroup_write_object:e.t("ra_aclGroup_write_object"),aclGroup_write_state:e.t("ra_aclGroup_write_state"),aclEveryone_read_object:e.t("ra_aclEveryone_read_object"),aclEveryone_read_state:e.t("ra_aclEveryone_read_state"),aclEveryone_write_object:e.t("ra_aclEveryone_write_object"),aclEveryone_write_state:e.t("ra_aclEveryone_write_state"),create:e.t("ra_Create"),createBooleanState:e.t("ra_create_boolean_state"),createNumberState:e.t("ra_create_number_state"),createStringState:e.t("ra_create_string_state"),createState:e.t("ra_create_state"),createChannel:e.t("ra_create_channel"),createDevice:e.t("ra_create_device"),createFolder:e.t("ra_Create folder")},this.levelPadding=e.levelPadding||cLe;const y=this.localStorage.getItem(`${this.props.dialogName||"App"}.table`);if(y)try{const d=JSON.parse(y),h=this.props.width||"lg";this.storedWidths=JSON.parse(JSON.stringify(je[h])),Object.keys(d).forEach(m=>{m==="id"?je[h].idWidth=d.id:m==="nameHeader"?je[h].widths.name=d[m]:je[h].widths[m]!==void 0&&(je[h].widths[m]=d[m])}),this.customWidth=!0}catch{}this.calculateColumnsVisibility()}async loadAllObjects(e){var s;const t=this.props;try{await new Promise(l=>{this.setState({updating:!0},()=>l())});const r=(t.objectsWorker?await t.objectsWorker.getObjects(e):await t.socket.getObjects(e,!0))||{};if(t.types&&Oe.isWeb())for(let l=0;l{try{if(l(r[N]))this.objects[N]=r[N];else{const c=r[N]&&r[N].type;c&&(c==="channel"||c==="device"||c==="folder"||c==="adapter"||c==="instance")&&(this.objects[N]=r[N])}}catch(c){console.log(`Error by filtering of "${N}": ${c}`)}})}else if(t.types){this.objects={};const l=t.types;Object.keys(r).forEach(N=>{var L;const c=(L=r[N])==null?void 0:L.type;c&&(c==="channel"||c==="device"||c==="enum"||c==="folder"||c==="adapter"||c==="instance"||l.includes(c))&&(this.objects[N]=r[N])})}else this.objects=r;t.setObjectsReference&&t.setObjectsReference(this.objects),this.defaultHistory=this.systemConfig.common.defaultHistory,this.defaultHistory&&t.socket.getState(`system.adapter.${this.defaultHistory}.alive`).then(l=>{l!=null&&l.val||(this.defaultHistory="")}).catch(l=>window.alert(`Cannot get state: ${l}`));const o=await this.getAdditionalColumns();this.calculateColumnsVisibility(null,null,o);const{info:M,root:a}=ua(this.objects,{imagePrefix:t.imagePrefix,root:t.root,lang:t.lang,themeType:t.themeType});this.root=a,this.info=M;const u=((s=this.state.selected)==null?void 0:s.length)&&zu(this.root,this.state.selected[0]);u&&!jo(u,this.state.filter,t.lang,this.objects,void 0,void 0,t.customFilter,t.types)?this.setState({filter:{...Ds},columnsForAdmin:o},()=>{this.doFilter(),this.setState({loaded:!0,updating:!1},()=>this.expandAllSelected(()=>this.onAfterSelect()))}):(this.doFilter(),this.setState({loaded:!0,updating:!1,columnsForAdmin:o},()=>this.expandAllSelected(()=>this.onAfterSelect())))}catch(r){this.showError(r)}}expandAllSelected(e){const t=[...this.state.expanded];let s=!1;this.state.selected.forEach(r=>{const o=r.split("."),M=[];for(let a=0;a!this.objects[N]))&&((u=(a=this.props).onSelect)==null||u.call(a,this.state.selected,null,e))}else this.localStorage.removeItem(`${this.props.dialogName||"App"}.objectSelected`),this.state.selected.length?this.setState({selected:[]},()=>{this.props.onSelect&&(this.state.focused&&this.props.allowNonObjects?(this.selectFirst&&this.selectFirst!==this.state.selected[0]&&(this.selectFirst=""),this.props.onSelect([this.state.focused],null,e)):this.props.onSelect([],""))}):this.props.onSelect&&(this.state.focused&&this.props.allowNonObjects?(this.selectFirst&&this.selectFirst!==this.state.selected[0]&&(this.selectFirst=""),this.props.onSelect([this.state.focused],null,e)):this.props.onSelect([],""))}static getDerivedStateFromProps(e,t){const s={};let r=!1;return e.expertMode!==void 0&&e.expertMode!==t.filter.expertMode&&(r=!0,s.filter={...t.filter},s.filter.expertMode=e.expertMode),r?s:null}async componentDidMount(){await this.loadAllObjects(!ja),this.props.objectsWorker?this.props.objectsWorker.registerHandler(this.onObjectChangeFromWorker):await this.props.socket.subscribeObject("*",this.onObjectChange),ja=!0,window.addEventListener("contextmenu",this.onContextMenu,!0),window.addEventListener("keydown",this.onKeyPress,!0),window.addEventListener("keyup",this.onKeyPress,!0),this.props.onAllLoaded&&setTimeout(()=>{var e,t;(t=(e=this.props).onAllLoaded)==null||t.call(e)},100)}onKeyPress=e=>{e.type==="keydown"&&e.ctrlKey&&!this.ctrlPressed?(this.ctrlPressed=!0,this.tableRef.current&&(this.tableRef.current.className="highlight-link")):e.type==="keyup"&&!e.ctrlKey&&this.ctrlPressed&&(this.ctrlPressed=!1,this.tableRef.current&&(this.tableRef.current.className=""))};componentWillUnmount(){window.removeEventListener("contextmenu",this.onContextMenu,!0),window.removeEventListener("keydown",this.onKeyPress,!0),window.removeEventListener("keyup",this.onKeyPress,!0),this.props.objectsWorker?this.props.objectsWorker.unregisterHandler(this.onObjectChangeFromWorker,!0):this.props.socket.unsubscribeObject("*",this.onObjectChange).catch(e=>console.error(`Cannot unsubscribe *: ${e}`)),this.subscribes.forEach(e=>{this.props.socket.unsubscribeState(e,this.onStateChange)}),this.subscribes=[],this.objects={}}showDeleteDialog(e){var u,l,N,c;const{id:t,obj:s,item:r}=e,o=Object.keys(this.objects);o.sort();let M=0;const a=`${t}.`;for(let L=0;La)break;(c=(N=this.props).onObjectDelete)==null||c.call(N,t,!!((u=r.children)!=null&&u.length),!((l=s.common)!=null&&l.dontDelete),M+1)}onContextMenu=e=>{this.contextMenu&&Date.now()-this.contextMenu.ts<2e3?(e.preventDefault(),this.setState({showContextMenu:{item:this.contextMenu.item,position:{left:e.clientX+2,top:e.clientY-6}}})):this.state.showContextMenu&&(e.preventDefault(),this.setState({showContextMenu:null})),this.contextMenu=null};refreshComponent(){this.subscribes.forEach(e=>{this.props.socket.unsubscribeState(e,this.onStateChange)}),this.subscribes=[],this.loadAllObjects(!0).then(()=>console.log("updated!")).catch(e=>this.showError(e))}renderErrorDialog(){return this.state.error?n.createElement(de,{open:!0,maxWidth:"sm",fullWidth:!0,onClose:()=>this.setState({error:""}),"aria-labelledby":"error-dialog-title","aria-describedby":"error-dialog-description"},n.createElement(he,{id:"alert-dialog-title"},this.props.t("ra_Error")),n.createElement(Ae,null,n.createElement(Jt,{id:"alert-dialog-description"},this.state.error)),n.createElement(me,null,n.createElement(X,{variant:"contained",onClick:()=>this.setState({error:""}),color:"primary",autoFocus:!0,startIcon:n.createElement(Ue,null)},this.props.t("ra_Ok")))):null}showError(e){this.setState({error:typeof e=="object"?e&&typeof e.toString=="function"?e.toString():JSON.stringify(e):e})}onSelect(e,t,s){if(this.localStorage.setItem(`${this.props.dialogName||"App"}.focused`,e),!this.props.multiSelect)this.objects[e]&&(!this.props.types||this.props.types.includes(this.objects[e].type))?(this.localStorage.removeItem(`${this.props.dialogName||"App"}.selectedNonObject`),this.state.selected[0]!==e?this.setState({selected:[e],selectedNonObject:"",focused:e},()=>{this.onAfterSelect(t),s&&s()}):t&&this.props.onSelect&&this.onAfterSelect(t)):(this.localStorage.setItem(`${this.props.dialogName||"App"}.selectedNonObject`,e),this.setState({selected:[],selectedNonObject:e,focused:e},()=>{this.onAfterSelect(),s&&s()}));else if(this.objects[e]&&(!this.props.types||this.props.types.includes(this.objects[e].type))){this.localStorage.removeItem(`${this.props.dialogName||"App"}.selectedNonObject`);const r=[...this.state.selected],o=r.indexOf(e);o===-1?(r.push(e),r.sort()):t||r.splice(o,1),this.setState({selected:r,selectedNonObject:"",focused:e},()=>{this.onAfterSelect(t),s&&s()})}}_renderDefinedList(e){const t=[...this.possibleCols];if(t.unshift("id"),this.props.columns&&!this.props.columns.includes("buttons")){const s=t.indexOf("buttons");s!==-1&&t.splice(s,1)}return t.filter(s=>e&&(s==="val"||s==="buttons")||!e&&s!=="val"&&s!=="buttons").map(s=>{var r;return n.createElement(wM,{onClick:()=>{if(!this.state.columnsAuto&&s!=="id"){const o=[...this.state.columns||[]],M=o.indexOf(s);M===-1?(o.push(s),o.sort()):o.splice(M,1),this.localStorage.setItem(`${this.props.dialogName||"App"}.columns`,JSON.stringify(o)),this.calculateColumnsVisibility(null,o),this.setState({columns:o})}},key:s},n.createElement(ne,{edge:"start",disabled:s==="id"||this.state.columnsAuto,checked:s==="id"||!!(this.state.columnsAuto?this.visibleCols.includes(s):(r=this.state.columns)!=null&&r.includes(s)),disableRipple:!0}),n.createElement(nt,{primary:this.texts[`filter_${s}`]||this.props.t(`ra_${s}`)}))})}renderColumnsSelectorDialog(){return this.state.columnsSelectorShow?n.createElement(de,{onClose:()=>this.setState({columnsSelectorShow:!1}),open:!0,sx:{"& .MuiPaper-root":E.getStyle(this.props.theme,C.dialogColumns,C[`transparent_${this.state.columnsDialogTransparent}`])}},n.createElement(he,{sx:C.fontSizeTitle},this.props.t("ra_Configure")),n.createElement(Ae,{sx:C.fontSizeTitle},n.createElement(H,{style:C.switchColumnAuto,control:n.createElement(Di,{checked:this.state.foldersFirst,onChange:()=>{this.localStorage.setItem(`${this.props.dialogName||"App"}.foldersFirst`,this.state.foldersFirst?"false":"true"),this.setState({foldersFirst:!this.state.foldersFirst})}}),label:this.props.t("ra_Folders always first")}),n.createElement(H,{style:C.switchColumnAuto,control:n.createElement(Di,{checked:this.state.linesEnabled,onChange:()=>{this.localStorage.setItem(`${this.props.dialogName||"App"}.lines`,this.state.linesEnabled?"false":"true"),this.setState({linesEnabled:!this.state.linesEnabled})}}),label:this.props.t("ra_Show lines between rows")}),n.createElement(H,{style:C.switchColumnAuto,control:n.createElement(Di,{checked:this.state.columnsAuto,onChange:()=>{this.localStorage.setItem(`${this.props.dialogName||"App"}.columnsAuto`,this.state.columnsAuto?"false":"true"),this.state.columnsAuto?this.state.columns?(this.calculateColumnsVisibility(!1),this.setState({columnsAuto:!1})):(this.calculateColumnsVisibility(!1,[...this.visibleCols]),this.setState({columnsAuto:!1,columns:[...this.visibleCols]})):(this.calculateColumnsVisibility(!0),this.setState({columnsAuto:!0}))}}),label:this.props.t("ra_Auto (no custom columns)")}),n.createElement(CM,null,this._renderDefinedList(!1),this.state.columnsForAdmin&&Object.keys(this.state.columnsForAdmin).sort().map(e=>{var t;return(t=this.state.columnsForAdmin)==null?void 0:t[e].map(s=>{var r;return n.createElement(wM,{onClick:()=>{if(!this.state.columnsAuto){const o=[...this.state.columns||[]],M=`_${e}_${s.path}`,a=o.indexOf(M);a===-1?(o.push(M),o.sort()):o.splice(a,1),this.calculateColumnsVisibility(null,o),this.localStorage.setItem(`${this.props.dialogName||"App"}.columns`,JSON.stringify(o)),this.setState({columns:o})}},key:`${e}_${s.name}`},n.createElement(Yt,null,n.createElement(ne,{disabled:this.state.columnsAuto,edge:"start",checked:!this.state.columnsAuto&&((r=this.state.columns)==null?void 0:r.includes(`_${e}_${s.path}`)),disableRipple:!0})),n.createElement(nt,{primary:`${s.name} (${e})`}))})}),this._renderDefinedList(!0))),n.createElement(me,null,n.createElement(X,{variant:"contained",onClick:()=>this.setState({columnsSelectorShow:!1}),color:"primary",startIcon:n.createElement(ge,null)},this.texts.close))):null}async getAdditionalColumns(){try{const e=await this.props.socket.getAdapters();let t=null;return e.forEach(s=>t=this.parseObjectForAdmins(t,s)),t}catch(e){return console.error(`Cannot get adapters: ${e}`),null}}checkUnsubscribes(){for(let e=this.subscribes.length-1;e>=0;e--)this.recordStates.includes(this.subscribes[e])||this.unsubscribe(this.subscribes[e]);this.recordStates=[]}findItem(e,t,s,r){if(t||=e.split("."),s||=this.root,!s||!t.length)return null;if(r=(r?`${r}.`:"")+t.shift(),s.children){const o=s.children.find(M=>M.data.id===r);if(o){if(o.data.id===e)return o;if(t.length)return this.findItem(e,t,o,r)}else return null}return null}onStateChange=(e,t)=>{if(this.states[e]){const s=this.findItem(e);s!=null&&s.data.state&&(s.data.state=void 0)}t?this.states[e]=t:delete this.states[e],this.pausedSubscribes?this.statesUpdateTimer&&(clearTimeout(this.statesUpdateTimer),this.statesUpdateTimer=null):this.statesUpdateTimer||(this.statesUpdateTimer=setTimeout(()=>{this.statesUpdateTimer=null,this.forceUpdate()},300))};parseObjectForAdmins(e,t){var s;if((s=t.common)!=null&&s.adminColumns&&t.common.name){const r=t.common.adminColumns;let o;r&&typeof r!="object"?o=[r]:r&&(o=r);let M;r?M=o.map(a=>{if(typeof a!="object")return{path:a,name:a.split(".").pop()};const u=a;return u.objTypes&&typeof u.objTypes!="object"?u.objTypes=[u.objTypes]:u.objTypes||(u.objTypes=void 0),!u.name&&u.path?{path:u.path,name:u.path.split(".").pop(),width:u.width,edit:!!u.edit,type:u.type,objTypes:u.objTypes}:u.path?{path:u.path,name:Re(u.name||"",this.props.lang),width:u.width,edit:!!u.edit,type:u.type,objTypes:u.objTypes}:(console.warn(`Admin columns for ${t._id} ignored, because path not found`),null)}).filter(a=>a):M=null,M!=null&&M.length&&(e||={},e[t.common.name]=M.sort((a,u)=>a.path>u.path?-1:a.path{if(Array.isArray(e)){let t=null;e.forEach(s=>{const{newInnerState:r,filtered:o}=this.processOnObjectChangeElement(s.id,s.obj);o||(r&&t?Object.assign(t,r):t=r)}),t&&this.setState(t),this.afterObjectUpdated()}};onObjectChange=(e,t)=>{const{newInnerState:s,filtered:r}=this.processOnObjectChangeElement(e,t);r||(s&&this.setState(s),this.afterObjectUpdated())};afterObjectUpdated(){!this.objectsUpdateTimer&&this.objects&&(this.objectsUpdateTimer=setTimeout(()=>{this.objectsUpdateTimer=null;const{info:e,root:t}=ua(this.objects,{imagePrefix:this.props.imagePrefix,root:this.props.root,lang:this.props.lang,themeType:this.props.themeType});this.root=t,this.info=e,this.pausedSubscribes||this.doFilter()},500))}updateAliases(e){var s,r,o;if(!this.objects||!((s=this.info)!=null&&s.aliasesMap)||!(e!=null&&e.startsWith("alias.")))return;const t=Object.keys(this.objects).filter(M=>M.startsWith("alias.0"));this.info.aliasesMap={};for(const M of t){const a=this.objects[M];if((o=(r=a==null?void 0:a.common)==null?void 0:r.alias)!=null&&o.id)if(typeof a.common.alias.id=="string"){const u=a.common.alias.id;this.info.aliasesMap[u]?this.info.aliasesMap[u].includes(M)||this.info.aliasesMap[u].push(M):this.info.aliasesMap[u]=[M]}else{const u=a.common.alias.id.read;u&&(this.info.aliasesMap[u]?this.info.aliasesMap[u].includes(M)||this.info.aliasesMap[u].push(M):this.info.aliasesMap[u]=[M]);const l=a.common.alias.id.write;l&&(this.info.aliasesMap[l]?this.info.aliasesMap[l].includes(M)||this.info.aliasesMap[l].push(M):this.info.aliasesMap[l]=[M])}}}processOnObjectChangeElement(e,t){const s=t==null?void 0:t.type;if(t&&typeof this.props.filterFunc=="function"&&!this.props.filterFunc(t)&&s!=="channel"&&s!=="device"&&s!=="folder"&&s!=="adapter"&&s!=="instance")return{newInnerState:null,filtered:!0};let r=null;if(e.startsWith("system.adapter.")&&(t==null?void 0:t.type)==="adapter"){const o=JSON.parse(JSON.stringify(this.state.columnsForAdmin));this.parseObjectForAdmins(o,t),JSON.stringify(this.state.columnsForAdmin)!==JSON.stringify(o)&&(r={columnsForAdmin:o})}return this.objects||={},t?this.objects[e]=t:this.objects[e]&&delete this.objects[e],this.updateAliases(e),{newInnerState:r,filtered:!1}}subscribe(e){this.subscribes.includes(e)||(this.subscribes.push(e),this.pausedSubscribes||this.props.socket.subscribeState(e,this.onStateChange).catch(t=>console.error(`Cannot subscribe on state ${e}: ${t}`)))}unsubscribe(e){const t=this.subscribes.indexOf(e);t!==-1&&(this.subscribes.splice(t,1),this.states[e]&&delete this.states[e],this.props.socket.unsubscribeState(e,this.onStateChange),this.pausedSubscribes&&console.warn("Unsubscribe during pause?"))}pauseSubscribe(e){!this.pausedSubscribes&&e?(this.pausedSubscribes=!0,this.subscribes.forEach(t=>this.props.socket.unsubscribeState(t,this.onStateChange))):this.pausedSubscribes&&!e&&(this.pausedSubscribes=!1,this.subscribes.forEach(t=>this.props.socket.subscribeState(t,this.onStateChange)))}clearFilter(){JSON.stringify(this.state.filter)!==JSON.stringify(Ds)&&this.setState({filter:{...Ds},filterKey:this.state.filterKey+1},()=>{var e,t;this.doFilter(),(t=(e=this.props).onFilterChanged)==null||t.call(e,{...Ds})})}isFilterEmpty(){var e,t,s,r,o;return!!this.state.filter.id||!!this.state.filter.name||!!((e=this.state.filter.room)!=null&&e.length)||!!((t=this.state.filter.func)!=null&&t.length)||!!((s=this.state.filter.role)!=null&&s.length)||!!((r=this.state.filter.type)!=null&&r.length)||!!((o=this.state.filter.custom)!=null&&o.length)}getFilterInput(e){return n.createElement(rLe,{key:`${e}_${this.state.filterKey}`,styles:this.styles.filterInput,name:e,texts:this.texts,t:this.props.t,initialValue:this.state.filter[e],onChange:(t,s)=>{const r={...this.state.filter};s===void 0?delete r[t]:r[t]=s,this.setState({filter:r},()=>{var o,M;this.doFilter(),(M=(o=this.props).onFilterChanged)==null||M.call(o,r)})}})}getFilterSelect(e,t){return n.createElement(iLe,{key:`${e}_${this.state.filterKey}`,name:e,texts:this.texts,initialValue:this.state.filter[e]||[],values:t,onChange:(s,r)=>{const o={...this.state.filter};r===void 0?delete o[s]:o[s]=r,this.setState({filter:o},()=>{var M,a;this.doFilter(),(a=(M=this.props).onFilterChanged)==null||a.call(M,o)})}})}getFilterSelectRole(){return this.getFilterSelect("role",this.info.roles.map(e=>e.role))}getFilterSelectRoom(){const e=this.info.roomEnums.map(t=>{var s,r,o,M;return{name:Re((r=(s=this.objects[t])==null?void 0:s.common)==null?void 0:r.name,this.props.lang)||t.split(".").pop(),value:t,icon:n.createElement(Se,{src:((M=(o=this.objects[t])==null?void 0:o.common)==null?void 0:M.icon)||"",style:C.selectIcon})}});return this.getFilterSelect("room",e)}getFilterSelectFunction(){const e=this.info.funcEnums.map(t=>{var s,r,o,M;return{name:Re((r=(s=this.objects[t])==null?void 0:s.common)==null?void 0:r.name,this.props.lang)||t.split(".").pop(),value:t,icon:n.createElement(Se,{src:((M=(o=this.objects[t])==null?void 0:o.common)==null?void 0:M.icon)||"",style:C.selectIcon})}});return this.getFilterSelect("func",e)}getFilterSelectType(){const e=this.info.types.map(t=>({name:t,value:t,icon:La[t]||null}));return this.getFilterSelect("type",e)}getFilterSelectCustoms(){if(this.info.customs.length>1){const e=this.info.customs.map(t=>({name:t==="_"?this.texts.filterCustomsWithout:t,value:t,icon:t==="_"?null:n.createElement(Se,{src:Zi(this.objects,t,this.props.lang,this.imagePrefix)||"",style:C.selectIcon})}));return this.getFilterSelect("custom",e)}return null}onExpandAll(e,t){var r;const s=e||this.root;t||=[],(r=s==null?void 0:s.children)==null||r.forEach(o=>{o.data.sumVisibility&&(t.push(o.data.id),this.onExpandAll(o,t))}),s===this.root&&(t.sort(),this.localStorage.setItem(`${this.props.dialogName||"App"}.objectExpanded`,JSON.stringify(t)),this.setState({expanded:t}))}onCollapseAll(){this.localStorage.setItem(`${this.props.dialogName||"App"}.objectExpanded`,JSON.stringify([])),this.localStorage.setItem(`${this.props.dialogName||"App"}.objectSelected`,"[]"),this.setState({expanded:[],depth:0,selected:[]},()=>this.onAfterSelect())}expandDepth(e,t,s){var r;e||=this.root,t>0&&((r=e.children)==null||r.forEach(o=>{o.data.sumVisibility&&(oi(s,o.data.id)||(s.push(o.data.id),s.sort()),t-1>0&&this.expandDepth(o,t-1,s))}))}static collapseDepth(e,t){return t.filter(s=>s.split(".").length<=e)}onExpandVisible(){if(this.state.depth<9){const e=this.state.depth+1,t=[...this.state.expanded];this.root&&this.expandDepth(this.root,e,t),this.localStorage.setItem(`${this.props.dialogName||"App"}.objectExpanded`,JSON.stringify(t)),this.setState({depth:e,expanded:t})}}onStatesViewVisible(){const e=!this.state.statesView;this.localStorage.setItem(`${this.props.dialogName||"App"}.objectStatesView`,JSON.stringify(e)),this.setState({statesView:e})}onCollapseVisible(){if(this.state.depth>0){const e=this.state.depth-1,t=Xi.collapseDepth(e,this.state.expanded);this.localStorage.setItem(`${this.props.dialogName||"App"}.objectExpanded`,JSON.stringify(t)),this.setState({depth:e,expanded:t})}}getEnumsForId=e=>{const t=[];return this.info.enums.forEach(s=>{var r,o,M;if((M=(o=(r=this.objects[s])==null?void 0:r.common)==null?void 0:o.members)!=null&&M.includes(e)){const a={_id:this.objects[s]._id,common:JSON.parse(JSON.stringify(this.objects[s].common)),native:this.objects[s].native,type:"enum"};a.common&&(delete a.common.members,delete a.common.custom,delete a.common.mobile),t.push(a)}}),t.length?t:void 0};_createAllEnums=async(e,t)=>{var s,r;for(let o=0;or)break}return e}return[]}async _exportObjects(e){var o;if(e.isAll){aa("allObjects.json",this.objects,e);return}if(!(this.state.selected.length||this.state.selectedNonObject)){window.alert(this.props.t("ra_Save of objects-tree is not possible"));return}const t={},s=this.state.selected[0]||this.state.selectedNonObject,r=this._getSelectedIdsForExport();for(const M of r){if(t[M]=JSON.parse(JSON.stringify(this.objects[M])),((o=t[M])==null?void 0:o.type)==="state"&&!e.noStatesByExportImport){const a=await this.props.socket.getState(M);a&&(t[M].val=a.val,t[M].ack=a.ack)}if(t[M].common){const a=this.getEnumsForId(M);a&&(t[M].common.enums=a)}}aa(`${s}.json`,t,e)}renderExportDialog(){return this.state.showExportDialog===!1?null:n.createElement(de,{open:!0,maxWidth:"lg"},n.createElement(he,null,this.props.t("ra_Select type of export")),n.createElement(Ae,null,n.createElement(Jt,null,this.state.filter.expertMode||this.state.showAllExportOptions?n.createElement(n.Fragment,null,this.props.t("ra_You can export all objects or just the selected branch."),n.createElement("br",null),this.props.t("ra_Selected %s object(s)",this.state.showExportDialog),n.createElement("br",null),n.createElement(H,{control:n.createElement(ne,{checked:this.state.noStatesByExportImport,onChange:e=>this.setState({noStatesByExportImport:e.target.checked})}),label:this.props.t("ra_Do not export values of states")}),n.createElement("br",null),this.props.t("These options can reduce the size of the export file:"),n.createElement(H,{control:n.createElement(ne,{checked:this.state.beautifyJsonExport,onChange:e=>this.setState({beautifyJsonExport:e.target.checked})}),label:this.props.t("Beautify JSON output")}),n.createElement("br",null),n.createElement(H,{control:n.createElement(ne,{checked:this.state.excludeSystemRepositoriesFromExport,onChange:e=>this.setState({excludeSystemRepositoriesFromExport:e.target.checked})}),label:this.props.t("Exclude system repositories from export JSON")}),n.createElement(H,{control:n.createElement(ne,{checked:this.state.excludeTranslations,onChange:e=>this.setState({excludeTranslations:e.target.checked})}),label:this.props.t("Exclude translations (except english) from export JSON")})):null)),n.createElement(me,null,this.state.filter.expertMode||this.state.showAllExportOptions?n.createElement(X,{color:"grey",variant:"outlined",onClick:()=>this.setState({showExportDialog:!1,showAllExportOptions:!1},()=>this._exportObjects({isAll:!0,noStatesByExportImport:this.state.noStatesByExportImport,beautify:this.state.beautifyJsonExport,excludeSystemRepositories:this.state.excludeSystemRepositoriesFromExport,excludeTranslations:this.state.excludeTranslations}))},n.createElement("span",{style:{marginRight:8}},this.props.t("ra_All objects")),"(",Object.keys(this.objects).length,")"):n.createElement(X,{color:"grey",variant:"outlined",startIcon:n.createElement(lo,null),onClick:()=>this.setState({showAllExportOptions:!0})},this.props.t("ra_Advanced options")),n.createElement(X,{color:"primary",variant:"contained",autoFocus:!0,onClick:()=>this.setState({showExportDialog:!1,showAllExportOptions:!1},()=>this._exportObjects({isAll:!1,noStatesByExportImport:this.state.noStatesByExportImport,beautify:this.state.beautifyJsonExport,excludeSystemRepositories:this.state.excludeSystemRepositoriesFromExport,excludeTranslations:this.state.excludeTranslations}))},n.createElement("span",{style:{marginRight:8}},this.props.t("ra_Only selected")),"(",this.state.showExportDialog,")"),n.createElement(X,{color:"grey",variant:"contained",onClick:()=>this.setState({showExportDialog:!1,showAllExportOptions:!1}),startIcon:n.createElement(ge,null)},this.props.t("ra_Cancel"))))}renderRenameDialog(){var t;if(!this.state.showRenameDialog)return null;const e=this.props.objectMoveRenameDialog;return n.createElement(e,{expertMode:this.props.expertMode,onClose:()=>this.setState({showRenameDialog:null}),id:this.state.showRenameDialog.id,childrenIds:this.state.showRenameDialog.childrenIds,theme:this.props.theme,socket:this.props.socket,t:this.props.t,objectType:(t=this.objects[this.state.showRenameDialog.id])==null?void 0:t.type})}async parseJsonFile(e){try{const t=JSON.parse(e),s=Object.keys(t).length,r=t._id;if(r===void 0&&s)await this.loadObjects(t),window.alert(this.props.t("ra_%s object(s) processed",s));else{if(!r)return window.alert(this.props.t("ra_Invalid structure"));try{let o,M,a;if(t.common.enums&&(o=t.common.enums,delete t.common.enums),t.val&&(M=t.val,delete t.val),t.ack!==void 0&&(a=t.ack,delete t.ack),await this.props.socket.setObject(t._id,t),t.type==="state")if(M!=null)await this.props.socket.setState(t._id,M,a===void 0?!0:a);else{const u=await this.props.socket.getState(t._id);(!u||u.val===null||u.val===void 0)&&await this.props.socket.setState(t._id,t.common.def===void 0?null:t.common.def,!0)}o&&await this._createAllEnums(o,t._id),window.alert(this.props.t("ra_%s was imported",t._id))}catch(o){window.alert(o)}}}catch(t){window.alert(t)}}handleJsonUpload(e){var r;const t=e.target,s=((r=t.files)==null?void 0:r.length)&&t.files[0];if(s){const o=new FileReader;o.onload=M=>{var a;return this.parseJsonFile((a=M.target)==null?void 0:a.result),null},o.readAsText(s)}else window.alert(this.props.t("ra_Failed to open JSON File"))}toolTipObjectCreating=()=>{var s,r;const{t:e}=this.props;let t=[n.createElement("div",{key:1},e("ra_Only following structures of objects are available:")),n.createElement("div",{key:2},e("ra_Folder → State")),n.createElement("div",{key:3},e("ra_Folder → Channel → State")),n.createElement("div",{key:4},e("ra_Folder → Device → Channel → State")),n.createElement("div",{key:5},e("ra_Device → Channel → State")),n.createElement("div",{key:6},e("ra_Channel → State")),n.createElement("div",{key:7,style:{height:10}}),n.createElement("div",{key:8},e('ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".')),n.createElement("div",{key:9},e('ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").'))];if(this.state.selected.length||this.state.selectedNonObject){const o=this.state.selected[0]||this.state.selectedNonObject;if(!(o.split(".").length<2||this.objects[o]&&((s=this.objects[o])==null?void 0:s.type)==="state"))if(this.state.filter.expertMode)switch((r=this.objects[o])==null?void 0:r.type){case"device":t=[n.createElement("div",{key:1},e("ra_Only following structures of objects are available:")),n.createElement("div",{key:5},e("ra_Device → Channel → State")),n.createElement("div",{key:7,style:{height:10}}),n.createElement("div",{key:8},e('ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".')),n.createElement("div",{key:9},e('ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").'))];break;case"folder":t=[n.createElement("div",{key:1},e("ra_Only following structures of objects are available:")),n.createElement("div",{key:2},e("ra_Folder → State")),n.createElement("div",{key:3},e("ra_Folder → Channel → State")),n.createElement("div",{key:4},e("ra_Folder → Device → Channel → State")),n.createElement("div",{key:7,style:{height:10}}),n.createElement("div",{key:8},e('ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".')),n.createElement("div",{key:9},e('ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").'))];break;case"channel":t=[n.createElement("div",{key:1},e("ra_Only following structures of objects are available:")),n.createElement("div",{key:1},e("ra_Channel → State")),n.createElement("div",{key:7,style:{height:10}}),n.createElement("div",{key:8},e('ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".')),n.createElement("div",{key:9},e('ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").'))];break}else(o.startsWith("alias.0")||o.startsWith("0_userdata"))&&(t=[n.createElement("div",{key:1},e("ra_Only following structures of objects are available:")),n.createElement("div",{key:2},e("ra_Folder → State")),n.createElement("div",{key:3},e("ra_Folder → Channel → State")),n.createElement("div",{key:4},e("ra_Folder → Device → Channel → State")),n.createElement("div",{key:5},e("ra_Device → Channel → State")),n.createElement("div",{key:6},e("ra_Channel → State")),n.createElement("div",{key:7,style:{height:10}}),n.createElement("div",{key:7},e('ra_Non-experts may create new objects only in "0_userdata.0" or "alias.0".')),n.createElement("div",{key:8},e('ra_The experts may create objects everywhere but from second level (e.g. "vis.0" or "javascript.0").'))])}return t.length?t:e("ra_Add new child object to selected parent")};onOpenFile(){const e=document.createElement("input");e.setAttribute("type","file"),e.setAttribute("id","files"),e.setAttribute("opacity","0"),e.addEventListener("change",t=>this.handleJsonUpload(t),!1),e.click()}renderInputJsonDialog(){const e=this.props.objectBrowserInsertJsonObjects;return this.state.showImportDialog?n.createElement(e,{onClose:t=>{this.setState({showImportDialog:!1}),t&&this.parseJsonFile(t)},themeName:this.props.themeName,themeType:this.props.themeType,t:this.props.t}):null}getToolbar(){let e=!1;if(this.state.selected.length||this.state.selectedNonObject){const t=this.state.selected[0]||this.state.selectedNonObject;t.split(".").length<2||this.objects[t]&&this.objects[t].type==="state"?e=!1:(this.state.filter.expertMode||t.startsWith("alias.0")||t.startsWith("0_userdata"))&&(e=!0)}return n.createElement("div",{style:{display:"flex",width:"100%",alignItems:"center",overflowX:"auto"}},n.createElement("div",{style:{display:"flex",width:"100%",alignItems:"center"}},n.createElement(ae,{title:this.props.t("ra_Refresh tree"),slotProps:{popper:{sx:C.tooltip}}},n.createElement("div",null,n.createElement(P,{onClick:()=>this.refreshComponent(),disabled:this.state.updating,size:"large"},n.createElement(Ja,null)))),this.props.showExpertButton&&!this.props.expertMode&&n.createElement(ae,{title:this.props.t("ra_expertMode"),slotProps:{popper:{sx:C.tooltip}}},n.createElement(P,{key:"expertMode",color:this.state.filter.expertMode?"secondary":"default",onClick:()=>{const t={...this.state.filter};t.expertMode=!t.expertMode,this.localStorage.setItem(`${this.props.dialogName||"App"}.objectFilter`,JSON.stringify(t)),this.setState({filter:t})},size:"large"},n.createElement(lo,null))),!this.props.disableColumnSelector&&this.props.width!=="xs"&&n.createElement(ae,{title:this.props.t("ra_Configure"),slotProps:{popper:{sx:C.tooltip}}},n.createElement(P,{key:"columnSelector",color:this.state.columnsAuto?"primary":"default",onClick:()=>this.setState({columnsSelectorShow:!0}),size:"large"},n.createElement(fl,null))),this.props.width!=="xs"&&this.state.expandAllVisible&&n.createElement(ae,{title:this.props.t("ra_Expand all nodes"),slotProps:{popper:{sx:C.tooltip}}},n.createElement(P,{key:"expandAll",onClick:()=>this.onExpandAll(),size:"large"},n.createElement(vi,null))),n.createElement(ae,{title:this.props.t("ra_Collapse all nodes"),slotProps:{popper:{sx:C.tooltip}}},n.createElement(P,{key:"collapseAll",onClick:()=>this.onCollapseAll(),size:"large"},n.createElement(ms,null))),this.props.width!=="xs"&&n.createElement(ae,{title:this.props.t("ra_Expand one step node"),slotProps:{popper:{sx:C.tooltip}}},n.createElement(P,{key:"expandVisible",color:"primary",onClick:()=>this.onExpandVisible(),size:"large"},n.createElement(AM,{badgeContent:this.state.depth,color:"secondary",sx:t=>({badge:{right:3,top:3,border:`2px solid ${t.palette.background.paper}`,padding:"0 4px"}})},n.createElement(vi,null)))),this.props.width!=="xs"&&n.createElement(ae,{title:this.props.t("ra_Collapse one step node"),slotProps:{popper:{sx:C.tooltip}}},n.createElement(P,{key:"collapseVisible",color:"primary",onClick:()=>this.onCollapseVisible(),size:"large"},n.createElement(AM,{sx:t=>({badge:{right:3,top:3,border:`2px solid ${t.palette.background.paper}`,padding:"0 4px"}}),badgeContent:this.state.depth,color:"secondary"},n.createElement(ms,null)))),this.props.objectStatesView&&n.createElement(ae,{title:this.props.t("ra_Toggle the states view"),slotProps:{popper:{sx:C.tooltip}}},n.createElement(P,{onClick:()=>this.onStatesViewVisible(),size:"large"},n.createElement(Sl,{color:this.state.statesView?"primary":"inherit"}))),n.createElement(ae,{title:this.props.t("ra_Show/Hide object descriptions"),slotProps:{popper:{sx:C.tooltip}}},n.createElement(P,{onClick:()=>{this.localStorage.setItem(`${this.props.dialogName||"App"}.desc`,this.state.showDescription?"false":"true"),this.setState({showDescription:!this.state.showDescription})},size:"large"},n.createElement(xl,{color:this.state.showDescription?"primary":"inherit"}))),this.props.objectAddBoolean?n.createElement(ae,{title:this.toolTipObjectCreating(),slotProps:{popper:{sx:C.tooltip}}},n.createElement("div",null,n.createElement(P,{disabled:!e,onClick:()=>this.setState({modalNewObj:{id:this.state.selected[0]||this.state.selectedNonObject}}),size:"large"},n.createElement(Gr,null)))):null,this.props.objectImportExport&&n.createElement(ae,{title:this.props.t("ra_Add objects tree from JSON file"),slotProps:{popper:{sx:C.tooltip}}},n.createElement(P,{onClick:t=>{this.props.objectBrowserInsertJsonObjects?this.setState({showImportMenu:t.currentTarget}):this.onOpenFile()},size:"large"},n.createElement(Wi,null))),this.props.objectBrowserInsertJsonObjects?n.createElement(ss,{anchorEl:this.state.showImportMenu,open:!!this.state.showImportMenu,onClose:()=>this.setState({showImportMenu:null})},n.createElement(te,{onClick:()=>this.setState({showImportMenu:null},()=>this.onOpenFile())},n.createElement(Yt,null,n.createElement(kl,null)),n.createElement(nt,null,this.props.t("ra_From file"))),n.createElement(te,{onClick:()=>this.setState({showImportMenu:null,showImportDialog:!0})},n.createElement(Yt,null,n.createElement(Yl,null)),n.createElement(nt,null,this.props.t("ra_From text")))):null,this.props.objectImportExport&&(!!this.state.selected.length||this.state.selectedNonObject)&&n.createElement(ae,{title:this.props.t("ra_Save objects tree as JSON file"),slotProps:{popper:{sx:C.tooltip}}},n.createElement(P,{onClick:()=>this.setState({showExportDialog:this._getSelectedIdsForExport().length}),size:"large"},n.createElement(Wi,{style:{transform:"rotate(180deg)"}})))),!!this.props.objectBrowserEditObject&&this.props.width!=="xs"&&n.createElement("div",{style:{display:"flex",whiteSpace:"nowrap"}},`${this.props.t("ra_Objects")}: ${Object.keys(this.info.objects).length}, ${this.props.t("ra_States")}: ${Object.keys(this.info.objects).filter(t=>this.info.objects[t].type==="state").length}`),this.props.objectEditBoolean&&n.createElement(ae,{title:this.props.t("ra_Edit custom config"),slotProps:{popper:{sx:C.tooltip}}},n.createElement(P,{onClick:()=>{var s;const t=this.root?Du(this.root,"state",this.objects):[];t.length?(this.pauseSubscribe(!0),t.length===1&&(this.localStorage.setItem(`${this.props.dialogName||"App"}.objectSelected`,this.state.selected[0]),(s=this.props.router)==null||s.doNavigate(null,"custom",this.state.selected[0])),this.setState({customDialog:t,customDialogAll:!0})):this.setState({toast:this.props.t("ra_please select object")})},size:"large"},n.createElement(Ql,null))))}toggleExpanded(e){const t=JSON.parse(JSON.stringify(this.state.expanded)),s=t.indexOf(e);s===-1?(t.push(e),t.sort()):t.splice(s,1),this.localStorage.setItem(`${this.props.dialogName||"App"}.objectExpanded`,JSON.stringify(t)),this.setState({expanded:t})}onCopy(e,t){e.stopPropagation(),e.preventDefault(),t&&(E.copyToClipboard(t),t.length<50?this.setState({toast:this.props.t("ra_Copied %s",t)}):this.setState({toast:this.props.t("ra_Copied")}))}renderTooltipAccessControl=e=>{if(!e)return null;const t=[{value:"0x400",valueNum:1024,title:"read",group:"Owner"},{value:"0x200",valueNum:512,title:"write",group:"Owner"},{value:"0x40",valueNum:64,title:"read",group:"Group"},{value:"0x20",valueNum:32,title:"write",group:"Group"},{value:"0x4",valueNum:4,title:"read",group:"Everyone"},{value:"0x2",valueNum:2,title:"write",group:"Everyone"}],s=[],r=o=>{const M=e[o];t.forEach((a,u)=>{M&a.valueNum&&s.push(n.createElement("span",{key:o+u},this.texts[`acl${a.group}_${a.title}_${o}`],",",n.createElement("span",{style:o==="object"?C.rightsObject:C.rightsState},a.value)))})};return s.push(n.createElement("span",{key:"group"},`${this.texts.ownerGroup}: ${(e.ownerGroup||"").replace("system.group.","")}`)),s.push(n.createElement("span",{key:"owner"},`${this.texts.ownerUser}: ${(e.owner||"").replace("system.user.","")}`)),r("object"),e.state&&r("state"),s.length?n.createElement("span",{style:C.tooltipAccessControl},s.map(o=>o)):null};renderColumnButtons(e,t){var M,a,u,l;if(!t.data.obj)return this.props.onObjectDelete||this.props.objectEditOfAccessControl?n.createElement("div",{style:C.buttonDiv},this.state.filter.expertMode&&this.props.objectEditOfAccessControl?n.createElement(P,{sx:{...C.cellButtonsButton,...C.cellButtonsEmptyButton,...C.cellButtonMinWidth},onClick:()=>this.setState({modalEditOfAccess:!0,modalEditOfAccessObjData:t.data}),size:"large"},n.createElement("div",{style:{height:15}},"---")):null,this.props.onObjectDelete&&((M=t.children)!=null&&M.length)?n.createElement(P,{sx:{...C.cellButtonsButton,...C.cellButtonsButtonAlone},size:"small","aria-label":"delete",title:this.texts.deleteObject,onClick:()=>{var j;const N=Object.keys(this.objects);N.sort();let c=0;const L=`${e}.`;for(let g=0;gL)break;this.props.onObjectDelete&&this.props.onObjectDelete(e,!!((j=t.children)!=null&&j.length),!1,c+1)}},n.createElement(ut,{style:C.cellButtonsButtonIcon})):null):null;t.data.aclTooltip=t.data.aclTooltip||this.renderTooltipAccessControl(t.data.obj.acl);const s=t.data.obj.acl?t.data.obj.type==="state"?t.data.obj.acl.state:t.data.obj.acl.object:0,r=t.data.obj.acl&&(t.data.obj.type==="state"?this.systemConfig.common.defaultNewAcl.state:this.systemConfig.common.defaultNewAcl.object),o=this.state.filter.expertMode||Na(t.data.id);return[this.state.filter.expertMode&&this.props.objectEditOfAccessControl?n.createElement(ae,{key:"acl",title:t.data.aclTooltip,slotProps:{popper:{sx:C.tooltip}}},n.createElement(P,{sx:{...C.cellButtonsButton,...C.cellButtonMinWidth,opacity:1},onClick:()=>this.setState({modalEditOfAccess:!0,modalEditOfAccessObjData:t.data}),size:"large"},n.createElement("div",{style:C.aclText},Number.isNaN(Number(s))?Number(r).toString(16):Number(s).toString(16)))):n.createElement("div",{key:"aclEmpty",style:C.cellButtonMinWidth}),o?n.createElement(P,{key:"edit",sx:{marginRight:"2px",...C.cellButtonsButton},size:"small","aria-label":"edit",title:this.texts.editObject,onClick:()=>{this.localStorage.setItem(`${this.props.dialogName||"App"}.objectSelected`,e),this.setState({editObjectDialog:e,editObjectAlias:!1})}},n.createElement(Ks,{style:C.cellButtonsButtonIcon})):n.createElement(W,{component:"div",key:"editDisabled",sx:C.cellButtonsButton}),this.props.onObjectDelete&&((a=t.children)!=null&&a.length||!((u=t.data.obj.common)!=null&&u.dontDelete))?n.createElement(P,{key:"delete",sx:C.cellButtonsButton,size:"small","aria-label":"delete",onClick:()=>{var j,g,y;const N=Object.keys(this.objects);N.sort();let c=0;const L=`${e}.`;for(let d=0;dL)break;this.props.onObjectDelete&&this.props.onObjectDelete(e,!!((j=t.children)!=null&&j.length),!((y=(g=t.data.obj)==null?void 0:g.common)!=null&&y.dontDelete),c)},title:this.texts.deleteObject},n.createElement(ut,{style:C.cellButtonsButtonIcon})):null,this.props.objectCustomDialog&&this.info.hasSomeCustoms&&t.data.obj.type==="state"&&((l=t.data.obj.common)==null?void 0:l.type)!=="file"?n.createElement(P,{sx:{...C.cellButtonsButton,...t.data.hasCustoms?this.styles.cellButtonsButtonWithCustoms:C.cellButtonsButtonWithoutCustoms},key:"custom",size:"small","aria-label":"config",title:this.texts.customConfig,onClick:()=>{var N;this.localStorage.setItem(`${this.props.dialogName||"App"}.objectSelected`,e),this.pauseSubscribe(!0),(N=this.props.router)==null||N.doNavigate(null,"customs",e),this.setState({customDialog:[e],customDialogAll:!1})}},n.createElement(Fr,{style:C.cellButtonsButtonIcon})):null]}readHistory(e){var t,s;if(window.sparkline&&this.defaultHistory&&((s=(t=this.objects[e])==null?void 0:t.common)!=null&&s.custom)&&this.objects[e].common.custom[this.defaultHistory]){const r=new Date;r.setHours(r.getHours()-24),r.setMinutes(0),r.setSeconds(0),r.setMilliseconds(0);const o=r.getTime();this.props.socket.getHistory(e,{instance:this.defaultHistory,start:o,end:Date.now(),step:36e5,from:!1,ack:!1,q:!1,addId:!1,aggregate:"minmax"}).then(M=>{const a=window.document.getElementsByClassName("sparkline");for(let u=0;uconsole.warn(`Cannot read history: ${M}`))}}getTooltipInfo(e,t){var l,N,c;const s=this.objects[e],r=this.states[e],{valFull:o,fileViewer:M}=Yr({state:r,obj:s,texts:this.texts,dateFormat:this.props.dateFormat||this.systemConfig.common.dateFormat,isFloatComma:this.props.isFloatComma===void 0?this.systemConfig.common.isFloatComma:this.props.isFloatComma,full:!0}),a=[];o==null||o.forEach(L=>{L.t===this.texts.quality&&r.q?(a.push(n.createElement("div",{style:C.cellValueTooltipBoth,key:L.t},L.t,": ",L.v)),L.nbr||a.push(n.createElement("br",{key:`${L.t}_br`}))):(a.push(n.createElement("div",{style:C.cellValueTooltipTitle,key:L.t},L.t,": ")),a.push(n.createElement("div",{style:C.cellValueTooltipValue,key:`${L.t}_v`},L.v)),L.nbr||a.push(n.createElement("br",{key:`${L.t}_br`})))});const u=((l=s==null?void 0:s.common)==null?void 0:l.role)||"";M==="image"?a.push(n.createElement("img",{style:C.cellValueTooltipImage,src:r.val,alt:e})):u==="url"||s.common.role==="url.self"||s.common.role==="url.blank"?a.unshift(n.createElement("div",{key:"ctrl",style:{textDecoration:"underline",fontWeight:"bold"}},this.texts.ctrlForLink)):this.defaultHistory&&((c=(N=s==null?void 0:s.common)==null?void 0:N.custom)!=null&&c[this.defaultHistory])&&a.push(n.createElement("svg",{key:"sparkline",className:"sparkline","data-id":e,style:{fill:"#3d85de"},width:"200",height:"30",strokeWidth:"3"})),this.setState({tooltipInfo:{el:a,id:e}},()=>t&&t())}renderColumnValue(e,t,s){var u,l;const r=t.data.obj;if(!r||!this.states)return null;if(((u=r.common)==null?void 0:u.type)==="file")return n.createElement(W,{component:"div",sx:{...C.cellValueText,...C.cellValueFile}},"[file]");if(!this.states[e])return r.type==="state"&&(this.recordStates.includes(e)||this.recordStates.push(e),this.states[e]={val:null},this.subscribe(e)),null;this.recordStates.includes(e)||this.recordStates.push(e);const o=this.states[e];let M=t.data.state;if(!M){const{valText:N}=Yr({state:o,obj:r,texts:this.texts,dateFormat:this.props.dateFormat||this.systemConfig.common.dateFormat,isFloatComma:this.props.isFloatComma===void 0?this.systemConfig.common.isFloatComma:this.props.isFloatComma}),c=[];if(t.data.state={valTextRx:c},c.push(n.createElement("span",{className:`newValueBrowser-${this.props.themeType||"light"}`,key:`${N.v.toString()}valText`,style:{whiteSpace:"nowrap",display:"inline-block",overflow:"hidden",textOverflow:"ellipsis"}},N.v.toString())),N.u&&c.push(n.createElement("span",{className:`newValueBrowser-${this.props.themeType||"light"}`,style:C.cellValueTextUnit,key:`${N.v.toString()}unit`},N.u)),N.s!==void 0&&c.push(n.createElement("span",{style:C.cellValueTextState,className:`newValueBrowser-${this.props.themeType||"light"}`,key:`${N.v.toString()}states`},"(",N.s,")")),!s){const L=N.c!==void 0?N.c:N.v||"";c.push(n.createElement(Ts,{className:"copyButton",style:this.styles.iconCopy,onClick:j=>this.onCopy(j,L),key:"cc"}))}M=t.data.state}M.style=MLe({state:o,isExpertMode:this.state.filter.expertMode,isButton:t.data.button});let a=M.valTextRx;return this.state.filter.expertMode||(t.data.button?a=[n.createElement(eLe,{key:"button",style:{color:M.style.color,...C.cellValueButton}})]:t.data.switch&&(a=[n.createElement(Di,{key:"switch",sx:{"& .MuiSwitch-thumb":{color:M.style.color},"& .MuiSwitch-track":{backgroundColor:this.states[e].val&&this.state.selected.includes(e)?this.props.themeType==="dark"?"#FFF !important":"#111 !important":void 0}},checked:!!this.states[e].val})])),n.createElement(ae,{key:"value",title:(l=this.state.tooltipInfo)==null?void 0:l.el,slotProps:{popper:{sx:C.cellValueTooltipBox},tooltip:{sx:C.cellValueTooltip}},onOpen:()=>this.getTooltipInfo(e,()=>this.readHistory(e)),onClose:()=>{var N;return((N=this.state.tooltipInfo)==null?void 0:N.id)===e&&this.setState({tooltipInfo:null})}},n.createElement(W,{component:"div",style:M.style,className:t.data.url?"iob-link":void 0,sx:{...C.cellValueText,height:s?void 0:Ye,"& .admin-button:active":{transform:"translate(0, 2px)"}}},a))}_syncEnum(e,t,s,r){var a,u,l;if(!(t!=null&&t.length)){r&&r();return}const o=t.pop()||"",M=[];if((a=this.info.objects[o])!=null&&a.common){if((u=this.info.objects[o].common.members)!=null&&u.length){const N=this.info.objects[o].common.members.indexOf(e);if(N!==-1&&!s.includes(o)){const c=JSON.parse(JSON.stringify(this.info.objects[o]));c.common.members.splice(N,1),M.push(this.props.socket.setObject(o,c).then(()=>this.info.objects[o]=c).catch(L=>this.showError(L)))}}if(s.includes(o)&&!((l=this.info.objects[o].common.members)!=null&&l.includes(e))){const N=JSON.parse(JSON.stringify(this.info.objects[o]));N.common.members||=[],N.common.members.push(e),N.common.members.sort(),M.push(this.props.socket.setObject(o,N).then(()=>this.info.objects[o]=N).catch(c=>this.showError(c)))}}Promise.all(M).then(()=>{setTimeout(()=>this._syncEnum(e,t,s,r),0)})}syncEnum(e,t,s){const r=[...this.info[t==="func"?"funcEnums":"roomEnums"]];return new Promise(o=>{this._syncEnum(e,r,s,()=>{o()})})}renderEnumDialog(){if(!this.state.enumDialog)return null;const e=this.state.enumDialog.type,t=this.state.enumDialog.item,s=this.state.enumDialogEnums,r=this.state.enumDialog.enumsOriginal,o=(e==="room"?this.info.roomEnums:this.info.funcEnums).map(M=>{var a,u;return{name:Re(((u=(a=this.objects[M])==null?void 0:a.common)==null?void 0:u.name)||M.split(".").pop()||"",this.props.lang),value:M,icon:Zi(this.objects,M,this.props.lang,this.imagePrefix)}}).sort((M,a)=>M.name>a.name?1:-1);return o.forEach(M=>{M.icon&&typeof M.icon=="string"&&(M.icon=n.createElement(W,{style:C.enumIconDiv},n.createElement("img",{src:M.icon,style:C.enumIcon,alt:M.name})))}),n.createElement(de,{sx:{"& .MuiPaper-root":C.enumDialog},onClose:()=>this.setState({enumDialog:null}),"aria-labelledby":"enum-dialog-title",open:!0},n.createElement(he,{id:"enum-dialog-title",style:{display:"flex",justifyContent:"space-between",width:"100%",flexWrap:"nowrap",gap:8,paddingRight:12}},e==="func"?this.props.t("ra_Define functions"):this.props.t("ra_Define rooms"),n.createElement(Ct,{color:"primary",disabled:r===JSON.stringify(s),size:"small",onClick:()=>this.syncEnum(t.data.id,e,s).then(()=>this.setState({enumDialog:null,enumDialogEnums:null}))},n.createElement(Ue,null))),n.createElement(CM,{sx:{"&.MuiList-root":C.enumList}},o.map(M=>{let a,u,l;typeof M=="object"?(a=M.value,u=M.name,l=M.icon):(a=M,u=M);const N=`checkbox-list-label-${a}`;return n.createElement(ol,{sx:C.headerCellSelectItem,key:a,onClick:()=>{const c=s.indexOf(a),L=JSON.parse(JSON.stringify(this.state.enumDialogEnums));c===-1?(L.push(a),L.sort()):L.splice(c,1),this.setState({enumDialogEnums:L})},secondaryAction:l},n.createElement(Yt,{sx:{"&.MuiListItemIcon-root":C.enumCheckbox}},n.createElement(ne,{edge:"start",checked:s.includes(a),tabIndex:-1,disableRipple:!0,slotProps:{input:{"aria-labelledby":N}}})),n.createElement(nt,{id:N},u))})))}renderEditRoleDialog(){var e,t;if(!this.state.roleDialog||!this.props.objectBrowserEditRole)return null;if(this.state.roleDialog&&this.props.objectBrowserEditRole){const s=this.props.objectBrowserEditRole;return n.createElement(s,{key:"objectBrowserEditRole",id:this.state.roleDialog,socket:this.props.socket,t:this.props.t,roleArray:this.info.roles,commonType:(t=(e=this.info.objects[this.state.roleDialog])==null?void 0:e.common)==null?void 0:t.type,onClose:r=>{r&&(this.info.objects[this.state.roleDialog]=r),this.setState({roleDialog:null})}})}return null}onColumnsEditCustomDialogClose(e){var s,r;const t=this.customColumnDialog;if(e){let o=t.value;t.type==="boolean"?o=o==="true"||o===!0:t.type==="number"&&(o=parseFloat(o)),this.customColumnDialog=null,this.props.socket.getObject(((r=(s=this.state.columnsEditCustomDialog)==null?void 0:s.obj)==null?void 0:r._id)||"").then(M=>{var a;if(M&&aLe(M,(a=this.state.columnsEditCustomDialog)==null?void 0:a.it,o))return this.props.socket.setObject(M._id,M);throw new Error(this.props.t("ra_Cannot update attribute, because not found in the object"))}).then(()=>this.setState({columnsEditCustomDialog:null})).catch(M=>this.showError(M))}else this.customColumnDialog=null,this.setState({columnsEditCustomDialog:null})}renderColumnsEditCustomDialog(){if(!this.state.columnsEditCustomDialog)return null;if(!this.customColumnDialog){const e=la(this.state.columnsEditCustomDialog.obj,this.state.columnsEditCustomDialog.it);this.customColumnDialog={type:this.state.columnsEditCustomDialog.it.type||typeof e,initValue:(e??"").toString(),value:(e??"").toString()}}return n.createElement(de,{onClose:()=>this.setState({columnsEditCustomDialog:null}),maxWidth:"md","aria-labelledby":"custom-dialog-title",open:!0},n.createElement(he,{id:"custom-dialog-title"},`${this.props.t("ra_Edit object field")}: ${this.state.columnsEditCustomDialog.obj._id}`),n.createElement(Ae,null,n.createElement(Jt,{id:"alert-dialog-description"},this.customColumnDialog.type==="boolean"?n.createElement(H,{control:n.createElement(ne,{onKeyUp:e=>e.key==="Enter"&&this.onColumnsEditCustomDialogClose(!0),defaultChecked:this.customColumnDialog.value==="true",onChange:e=>{const t=this.customColumnDialog;t.value=e.target.checked.toString();const s=t.value!==t.initValue;s===!this.state.customColumnDialogValueChanged&&this.setState({customColumnDialogValueChanged:s})}}),label:`${this.state.columnsEditCustomDialog.it.name} (${this.state.columnsEditCustomDialog.it.pathText})`}):n.createElement(le,{variant:"standard",defaultValue:this.customColumnDialog.value,fullWidth:!0,onKeyUp:e=>e.key==="Enter"&&this.onColumnsEditCustomDialogClose(!0),label:`${this.state.columnsEditCustomDialog.it.name} (${this.state.columnsEditCustomDialog.it.pathText})`,onChange:e=>{const t=this.customColumnDialog;t.value=e.target.value;const s=t.value!==t.initValue;s===!this.state.customColumnDialogValueChanged&&this.setState({customColumnDialogValueChanged:s})},autoFocus:!0}))),n.createElement(me,null,n.createElement(X,{variant:"contained",onClick:()=>this.onColumnsEditCustomDialogClose(!0),disabled:!this.state.customColumnDialogValueChanged,color:"primary",startIcon:n.createElement(Ue,null)},this.props.t("ra_Update")),n.createElement(X,{color:"grey",variant:"contained",onClick:()=>this.onColumnsEditCustomDialogClose(),startIcon:n.createElement(ge,null)},this.props.t("ra_Cancel"))))}renderCustomValue(e,t,s){const r=la(e,t);return r!=null?t.edit&&!this.props.notEditable&&(!t.objTypes||t.objTypes.includes(e.type))?n.createElement(W,{component:"div",style:{...C.columnCustom,...C.columnCustomEditable,...C[`columnCustom_${t.align}`]},onClick:()=>this.setState({columnsEditCustomDialog:{item:s,it:t,obj:e},customColumnDialogValueChanged:!1})},r):n.createElement(W,{component:"div",style:{...C.columnCustom,...C[`columnCustom_${t.align}`]}},r):null}renderAliasLink(e,t,s){const r=t||0,o=this.objects[this.info.aliasesMap[e][r]].common.alias.id;return o?n.createElement(W,{component:"div",onClick:M=>{M.stopPropagation(),M.preventDefault();const a=this.info.aliasesMap[e][r];this.info.aliasesMap[e].length>1&&this.setState({aliasMenu:""}),this.onSelect(a),setTimeout(()=>this.expandAllSelected(()=>this.scrollToItem(a)),100)},sx:s||this.styles.aliasAlone},n.createElement("span",{className:"admin-browser-arrow"},typeof o=="string"||o.read===e&&o.write===e?"↔":o.read===e?"→":"←"),this.info.aliasesMap[e][r]):null}renderLeaf(e,t,s){var vs,bs,$s,Ti,yi,lM,NM,LM,jM,gM,TM,yM,DM,dM;const r=e.data.id;s.count++,t=t===void 0?this.state.expanded.includes(r):t;let o;const M=e.data.obj,a=M==null?void 0:M.type;e.children||a==="folder"||a==="device"||a==="channel"||a==="meta"?o=t?n.createElement(vi,{style:this.styles.cellIdIconFolder,onClick:()=>this.toggleExpanded(r)}):n.createElement(ms,{style:this.styles.cellIdIconFolder,onClick:()=>this.toggleExpanded(r)}):M&&M.common&&M.common.write===!1&&M.type==="state"?o=n.createElement(G4e,{style:this.styles.cellIdIconDocument}):o=n.createElement(B4e,{style:this.styles.cellIdIconDocument});let u=null;e.data.icon&&(typeof e.data.icon=="string"?e.data.icon.length<3?u=n.createElement("span",{className:"iconOwn",style:C.cellIdIconOwn},e.data.icon):u=n.createElement(Se,{style:C.cellIdIconOwn,className:"iconOwn",src:e.data.icon,alt:""}):u=e.data.icon);const l=M==null?void 0:M.common,N=(M==null?void 0:M.type)&&La[M.type]||n.createElement("div",{className:"itemIcon"}),c=this.levelPadding*(e.data.level||0);if(e.data.lang!==this.props.lang){const{rooms:Q,per:q}=Iu(this.info,r,this.props.lang);e.data.rooms=Q.join(", "),e.data.per=q;const{funcs:ve,pef:we}=hu(this.info,r,this.props.lang);e.data.funcs=ve.join(", "),e.data.pef=we,e.data.lang=this.props.lang}const L=this.props.multiSelect&&this.objects[r]&&(!this.props.types||this.props.types.includes(this.objects[r].type))?n.createElement(ne,{style:C.checkBox,checked:this.state.selected.includes(r)}):null;let j=!this.props.notEditable&&a==="state"&&(this.state.filter.expertMode||(l==null?void 0:l.write)!==!1);this.props.objectBrowserViewFile&&(l==null?void 0:l.type)==="file"&&(j=!0);const g=!this.props.notEditable&&this.objects[r]&&(this.state.filter.expertMode||a==="state"||a==="channel"||a==="device"),y=this.state.statesView&&(a==="state"||a==="channel"||a==="device");let d="";const h=[];if(y&&(d=(vs=this.states[r])==null?void 0:vs.from,d===void 0?d=" ":(d=d?d.replace(/^system\.adapter\.|^system\./,""):"",h.push(`${this.texts.stateChangedFrom} ${d}`)),M!=null&&M.user)){const Q=M.user.replace("system.user.","");d+=`/${Q}`,h.push(`${this.texts.stateChangedBy} ${Q}`)}M&&(M.from&&h.push(`${this.texts.objectChangedFrom} ${M.from.replace(/^system\.adapter\.|^system\./,"")}`),M.user&&h.push(`${this.texts.objectChangedBy} ${M.user.replace(/^system\.user\./,"")}`),M.ts&&h.push(`${this.texts.objectChangedByUser} ${E.formatDate(new Date(M.ts),this.props.dateFormat||this.systemConfig.common.dateFormat)}`));let m=!1,w=null;r.startsWith("alias.")&&((bs=l==null?void 0:l.alias)!=null&&bs.id)?(m=typeof l.alias.id=="object",m?w=n.createElement("div",{style:C.cellIdAliasReadWriteDiv},l.alias.id.read?n.createElement(W,{component:"div",onClick:Q=>{Q.stopPropagation(),Q.preventDefault(),this.onSelect(l.alias.id.read),setTimeout(()=>this.expandAllSelected(()=>this.scrollToItem(l.alias.id.read)),100)},sx:this.styles.aliasReadWrite},"←",l.alias.id.read):null,l.alias.id.write?n.createElement(W,{component:"div",onClick:Q=>{Q.stopPropagation(),Q.preventDefault(),this.onSelect(l.alias.id.write),setTimeout(()=>this.expandAllSelected(()=>this.scrollToItem(l.alias.id.write)),100)},sx:this.styles.aliasReadWrite},"→",l.alias.id.write):null):w=n.createElement(W,{component:"div",onClick:Q=>{Q.stopPropagation(),Q.preventDefault(),this.onSelect(l.alias.id),setTimeout(()=>this.expandAllSelected(()=>this.scrollToItem(l.alias.id)),100)},sx:this.styles.aliasAlone},"→",l.alias.id)):this.info.aliasesMap[r]&&(this.info.aliasesMap[r].length>1?w=n.createElement(W,{component:"div",id:`alias_${r}`,onClick:Q=>{Q.stopPropagation(),Q.preventDefault(),this.setState({aliasMenu:r})},sx:this.styles.aliasAlone},this.props.t("ra_%s links from aliases",this.info.aliasesMap[r].length)):w=this.renderAliasLink(r,0));let O=l==null?void 0:l.color,A;if(O&&!this.state.selected.includes(r)){const Q=this.props.themeName==="dark"?"#1f1f1f":this.props.themeName==="blue"?"#222a2e":"#FFFFFF";E.colorDistance(O,Q)<1e3&&(A=this.props.themeType==="dark"?"#9a9a9a":"#565656")}let I=!1;r==="0_userdata"?(O=ju(this.props.themeType),I=!0):r==="alias"?(O=gu(this.props.themeType),I=!0):r==="javascript"?(O=K4e(this.props.themeType),I=!0):r==="system"?(O=Tu(this.props.themeType),I=!0):r==="system.adapter"?O=yu(this.props.themeType):(!O||this.state.selected.includes(r))&&(O="inherit");const p=[];if(l!=null&&l.statusStates){const Q={};Object.keys(l.statusStates).forEach(ve=>{var it;let we=l.statusStates[ve];we.split(".").length<3&&(we=`${r}.${we}`),Q[ve]=we,this.states[we]?this.recordStates.includes(we)||this.recordStates.push(we):((it=this.objects[we])==null?void 0:it.type)==="state"&&(this.recordStates.includes(we)||this.recordStates.push(we),this.states[we]={val:null},this.subscribe(we))});let q=!1;l.statusStates.errorId&&this.states[Q.errorId]&&this.states[Q.errorId].val&&(O=this.props.themeType==="dark"?wu:Cu,q=!0,p.push(n.createElement(Ul,{key:"error",style:this.styles.iconDeviceError}))),Q.onlineId&&this.states[Q.onlineId]?q?this.states[Q.onlineId].val?p.push(n.createElement(zs,{key:"conn",style:this.styles.iconDeviceConnected})):p.push(n.createElement(di,{key:"disc",style:this.styles.iconDeviceDisconnected})):this.states[Q.onlineId].val?(O=this.props.themeType==="dark"?go:To,p.push(n.createElement(zs,{key:"conn",style:this.styles.iconDeviceConnected}))):(O=this.props.themeType==="dark"?yo:Do,p.push(n.createElement(di,{key:"disc",style:this.styles.iconDeviceDisconnected}))):Q.offlineId&&this.states[Q.offlineId]&&(q?this.states[Q.offlineId].val?p.push(n.createElement(di,{key:"disc",style:this.styles.iconDeviceDisconnected})):p.push(n.createElement(zs,{key:"conn",style:this.styles.iconDeviceConnected})):this.states[Q.offlineId].val?(O=this.props.themeType==="dark"?yo:Do,p.push(n.createElement(di,{key:"disc",style:this.styles.iconDeviceDisconnected}))):(O=this.props.themeType==="dark"?go:To,p.push(n.createElement(zs,{key:"conn",style:this.styles.iconDeviceConnected}))))}const S=y?E.quality2text((($s=this.states[r])==null?void 0:$s.q)||0).join(", "):null;let f=((Ti=e.data)==null?void 0:Ti.title)||"",$=!1;if(this.state.showDescription){const Q=du(e.data,this.props.lang);Q&&(f=[n.createElement("div",{key:"name",style:C.cellNameDivDiv},f),n.createElement("div",{key:"desc",style:C.cellDescription},Q)],$=!!Q)}const x=this.props.width==="xs"&&this.state.focused===r,Z=n.createElement(vt,{container:!0,wrap:"nowrap",direction:"row",sx:C.cellId,style:{width:this.columnsVisibility.id,paddingLeft:c}},n.createElement(vt,{container:!0,alignItems:"center"},L,o),n.createElement(vt,{style:{...C.cellIdSpan,...A?this.styles.invertedBackground:void 0,color:O,fontWeight:I?"bold":void 0}},n.createElement(ae,{title:oLe(e.data,this.props.lang),slotProps:{popper:{sx:C.tooltip}}},n.createElement("div",null,e.data.name)),w,p),n.createElement("div",{style:{...C.grow,...A?this.styles.invertedBackgroundFlex:{}}}),n.createElement(vt,{container:!0,alignItems:"center"},u),this.props.width!=="xs"?n.createElement("div",null,n.createElement(Ts,{className:x?"":"copyButton",style:C.cellCopyButton,onClick:Q=>this.onCopy(Q,r)})):null);let k=x&&f||this.columnsVisibility.name?n.createElement(W,{component:"div",sx:{...C.cellName,...$?C.cellNameWithDesc:void 0,width:this.props.width!=="xs"?this.columnsVisibility.name:void 0,ml:x?0:"5px"}},f,!x&&((yi=e.data)!=null&&yi.title)?n.createElement(W,{style:{color:O}},n.createElement(Ts,{className:"copyButton",style:C.cellCopyButton,onClick:Q=>{var q;return this.onCopy(Q,(q=e.data)==null?void 0:q.title)}})):null):null,Y;this.state.statesView?Y=[x&&y&&((lM=this.states[r])!=null&&lM.from)||this.columnsVisibility.changedFrom?{el:n.createElement("div",{key:"from",style:{...C.cellRole,width:this.props.width!=="xs"?this.columnsVisibility.changedFrom:void 0},title:h.join(` +`)},y&&((NM=this.states[r])!=null&&NM.from)?d:null),type:"from"}:null,x&&S||this.columnsVisibility.qualityCode?{el:n.createElement("div",{key:"q",style:{...C.cellRole,width:this.props.width!=="xs"?this.columnsVisibility.qualityCode:void 0},title:S||""},S),type:"quality"}:null,x&&y&&((LM=this.states[r])!=null&&LM.ts)||this.columnsVisibility.timestamp?{el:n.createElement("div",{key:"ts",style:{...C.cellRole,width:this.props.width!=="xs"?this.columnsVisibility.timestamp:void 0}},y&&((jM=this.states[r])!=null&&jM.ts)?E.formatDate(new Date(this.states[r].ts),this.props.dateFormat||this.systemConfig.common.dateFormat):null),type:"ts"}:null,x&&y&&((gM=this.states[r])!=null&&gM.lc)||this.columnsVisibility.lastChange?{el:n.createElement("div",{key:"lc",style:{...C.cellRole,width:this.props.width!=="xs"?this.columnsVisibility.lastChange:void 0}},y&&((TM=this.states[r])!=null&&TM.lc)?E.formatDate(new Date(this.states[r].lc),this.props.dateFormat||this.systemConfig.common.dateFormat):null),type:"lc"}:null]:Y=[x&&(M!=null&&M.type)||this.columnsVisibility.type?{el:n.createElement("div",{key:"type",style:{...C.cellType,width:this.props.width!=="xs"?this.columnsVisibility.type:void 0}},N," ",M==null?void 0:M.type),type:"filter_type"}:null,x&&l||this.columnsVisibility.role?{el:n.createElement("div",{key:"role",style:{...C.cellRole,width:this.props.width!=="xs"?this.columnsVisibility.role:"100%",cursor:this.state.filter.expertMode&&g&&this.props.objectBrowserEditRole?"text":"default"},onClick:!x&&this.state.filter.expertMode&&g&&this.props.objectBrowserEditRole?()=>this.setState({roleDialog:e.data.id}):void 0},l==null?void 0:l.role),type:"filter_role",onClick:x&&this.state.filter.expertMode&&g&&this.props.objectBrowserEditRole?()=>this.setState({roleDialog:e.data.id}):void 0}:null,x&&l||this.columnsVisibility.room?{el:n.createElement("div",{key:"room",style:{...C.cellRoom,...e.data.per?C.cellEnumParent:{},width:this.props.width!=="xs"?this.columnsVisibility.room:"100%",cursor:g?"text":"default"},onClick:!x&&g?()=>{const Q=ys(this.info,e.data.id,"roomEnums");this.setState({enumDialogEnums:Q,enumDialog:{item:e,type:"room",enumsOriginal:JSON.stringify(Q)}})}:void 0},e.data.rooms),type:"filter_room",onClick:x&&g?()=>{const Q=ys(this.info,e.data.id,"roomEnums");this.setState({enumDialogEnums:Q,enumDialog:{item:e,type:"room",enumsOriginal:JSON.stringify(Q)}})}:void 0}:null,x&&l||this.columnsVisibility.func?{el:n.createElement("div",{key:"func",style:{...C.cellFunc,...e.data.pef?C.cellEnumParent:{},width:this.props.width!=="xs"?this.columnsVisibility.func:"100%",cursor:g?"text":"default"},onClick:!x&&g?()=>{const Q=ys(this.info,e.data.id,"funcEnums");this.setState({enumDialogEnums:Q,enumDialog:{item:e,type:"func",enumsOriginal:JSON.stringify(Q)}})}:void 0},e.data.funcs),type:"filter_func",onClick:x&&g?()=>{const Q=ys(this.info,e.data.id,"funcEnums");this.setState({enumDialogEnums:Q,enumDialog:{item:e,type:"func",enumsOriginal:JSON.stringify(Q)}})}:void 0}:null];let J=((yM=this.adapterColumns)==null?void 0:yM.map(Q=>n.createElement("div",{style:{...C.cellAdapter,width:this.props.width!=="xs"?this.columnsVisibility[Q.id]:void 0},key:Q.id,title:`${Q.adapter} => ${Q.pathText}`},M?this.renderCustomValue(M,Q,e):null)))||null;const Le=x||this.columnsVisibility.val?this.renderColumnValue(r,e,x):null;let Je=x&&Le||this.columnsVisibility.val?n.createElement("div",{style:{...C.cellValue,width:this.props.width!=="xs"?this.columnsVisibility.val:"calc(100% - 100px)",cursor:j?(l==null?void 0:l.type)==="file"?"zoom-in":e.data.button?"grab":"text":"default"},onClick:Q=>{var q,ve,we;if(j){if(!(!M||!this.states))if((l==null?void 0:l.type)==="file")this.setState({viewFileDialog:r});else if(e.data.url&&Q.ctrlKey){if((q=this.states[r])!=null&&q.val&&typeof this.states[r].val=="string")if((l==null?void 0:l.role)==="url.self")window.location.href=this.states[r].val;else{const it=window.open(this.states[r].val,"_blank");it==null||it.focus()}}else!this.state.filter.expertMode&&e.data.button?this.props.socket.setState(r,!0).catch(it=>window.alert(`Cannot write state "${r}": ${it}`)):!this.state.filter.expertMode&&e.data.switch?this.props.socket.setState(r,!this.states[r].val).catch(it=>window.alert(`Cannot write state "${r}": ${it}`)):(this.edit={val:this.states[r]?this.states[r].val:"",q:this.states[r]&&this.states[r].q||0,ack:!1,id:r},this.setState({updateOpened:!0}))}else(l==null?void 0:l.role)==="url"||(l==null?void 0:l.role)==="url.blank"&&Q.ctrlKey?(ve=this.states[r])!=null&&ve.val&&typeof this.states[r].val=="string"&&window.open(this.states[r].val,"_blank"):(l==null?void 0:l.role)==="url.self"&&Q.ctrlKey&&(we=this.states[r])!=null&&we.val&&typeof this.states[r].val=="string"&&(window.location.href=this.states[r].val)}},Le):null,qe=x||this.columnsVisibility.buttons?n.createElement("div",{style:{...C.cellButtons,width:this.props.width!=="xs"?this.columnsVisibility.buttons:void 0}},this.renderColumnButtons(r,e)):null,us=null;if(this.props.width==="xs"&&this.state.focused===r){Y=Y.filter(q=>q);let Q;Y.length?Q=Y.map(q=>q?n.createElement("div",{key:q.type,style:C.cellDetailsLine},n.createElement("span",{style:C.cellDetailsName},this.texts[q.type],":"),q.el,n.createElement("div",{style:{flexGrow:1}}),q.onClick?n.createElement(Ks,{style:C.cellCopyButtonInDetails,onClick:()=>{q!=null&&q.onClick&&q.onClick()}}):null):null):Q=null,J.length||(J=null),us=n.createElement(Pa,{style:{width:"100%",display:"flex",flexDirection:"column",padding:10,backgroundColor:this.props.theme.palette.mode==="dark"?"#333":"#ccc"}},n.createElement("div",{style:C.cellDetailsLine},n.createElement("div",{style:{flexGrow:1}}),n.createElement(Ts,{style:C.cellCopyButtonInDetails,onClick:q=>this.onCopy(q,r)})),k&&n.createElement("div",{style:C.cellDetailsLine},n.createElement("span",{style:C.cellDetailsName},this.texts.name,":"),k,n.createElement("div",{style:{flexGrow:1}}),(DM=e.data)!=null&&DM.title?n.createElement(Ts,{className:"copyButton",style:C.cellCopyButtonInDetails,onClick:q=>{var ve;return this.onCopy(q,(ve=e.data)==null?void 0:ve.title)}}):null),Q,J&&n.createElement("div",{style:C.cellDetailsLine},J),((dM=this.objects[r])==null?void 0:dM.type)==="state"&&n.createElement("div",{style:C.cellDetailsLine},n.createElement("span",{style:C.cellDetailsName},this.texts.value,":"),Je,n.createElement("div",{style:{flexGrow:1}}),n.createElement(Ts,{className:"copyButton",style:C.cellCopyButtonInDetails,onClick:q=>{const{valText:ve}=Yr({state:this.states[r],obj:this.objects[r],texts:this.texts,dateFormat:this.props.dateFormat||this.systemConfig.common.dateFormat,isFloatComma:this.props.isFloatComma===void 0?this.systemConfig.common.isFloatComma:this.props.isFloatComma});this.onCopy(q,ve.c!==void 0?ve.c:ve.v.toString())},key:"cc"})),qe&&n.createElement("div",{style:{...C.cellDetailsLine,justifyContent:"right"}},qe)),k=null,Y=null,J=null,Je=null,qe=null}return{row:n.createElement(vt,{container:!0,direction:"row",wrap:"nowrap",sx:E.getStyle(this.props.theme,C.tableRow,this.state.linesEnabled&&C.tableRowLines,!this.props.dragEnabled&&C.tableRowNoDragging,w&&C.tableRowAlias,m&&C.tableRowAliasReadWrite,this.state.focused===r&&this.props.multiSelect&&C.tableRowFocused,!e.data.visible&&C.filteredOut,e.data.hasVisibleParent&&!e.data.visible&&!e.data.hasVisibleChildren&&C.filteredParentOut,this.state.selected.includes(r)&&C.itemSelected,this.state.selectedNonObject===r&&C.itemSelected),key:r,id:r,onMouseDown:Q=>{this.onSelect(r);let q;"which"in Q?q=Q.which===3:"button"in Q&&(q=Q.button===2),q?this.contextMenu={item:e,ts:Date.now()}:this.contextMenu=null},onDoubleClick:()=>{e.children?this.toggleExpanded(r):this.onSelect(r,!0)}},Z,k,Y==null?void 0:Y.map(Q=>Q==null?void 0:Q.el),J,Je,qe),details:us}}renderItem(e,t,s){const r=[];s=s||{count:0};const o=this.renderLeaf(e,t,s);let M;const a=this.props.DragWrapper;return this.props.dragEnabled&&a?e.data.sumVisibility?M=n.createElement(a,{key:e.data.id,item:e,style:C.draggable},o.row):M=n.createElement("div",{key:e.data.id,style:C.nonDraggable},o.row):M=o.row,e.data.id&&M&&r.push(M),o.details&&r.push(o.details),t=t===void 0?oi(this.state.expanded,e.data.id):t,(!e.data.id||t)&&(this.state.foldersFirst?e.children&&(r.push(e.children.map(u=>u.children&&(!this.state.columnsSelectorShow||s.count<15)&&u.data.sumVisibility?this.renderItem(u,void 0,s):null)),r.push(e.children.map(u=>!u.children&&(!this.state.columnsSelectorShow||s.count<15)&&u.data.sumVisibility?this.renderItem(u,void 0,s):null))):e.children&&r.push(e.children.map(u=>(!this.state.columnsSelectorShow||s.count<15)&&u.data.sumVisibility?this.renderItem(u,void 0,s):null))),r}calculateColumnsVisibility(e,t,s,r){let o=r||this.state.columnsWidths;const M=s||this.state.columnsForAdmin,a=t||this.state.columns||[],u=typeof e!="boolean"?this.state.columnsAuto:e;o=JSON.parse(JSON.stringify(o)),Object.keys(o).forEach(N=>{o[N]&&(o[N]=parseInt(o[N],10)||0)}),this.adapterColumns=[];const l=je[this.props.width||"lg"].widths;if(u){if(this.columnsVisibility={id:je[this.props.width||"lg"].idWidth,name:this.visibleCols.includes("name")&&l.name||0,nameHeader:this.visibleCols.includes("name")&&l.name||0,type:this.visibleCols.includes("type")&&l.type||0,role:this.visibleCols.includes("role")&&l.role||0,room:this.visibleCols.includes("room")&&l.room||0,func:this.visibleCols.includes("func")&&l.func||0,changedFrom:this.visibleCols.includes("changedFrom")&&l.changedFrom||0,qualityCode:this.visibleCols.includes("qualityCode")&&l.qualityCode||0,timestamp:this.visibleCols.includes("timestamp")&&l.timestamp||0,lastChange:this.visibleCols.includes("lastChange")&&l.lastChange||0,val:this.visibleCols.includes("val")&&l.val||0,buttons:this.visibleCols.includes("buttons")&&l.buttons||0},this.columnsVisibility.name&&!this.customWidth){let N=this.columnsVisibility.id||0;this.state.statesView?(N+=this.columnsVisibility.changedFrom||0,N+=this.columnsVisibility.qualityCode||0,N+=this.columnsVisibility.timestamp||0,N+=this.columnsVisibility.lastChange||0):(N+=this.columnsVisibility.type||0,N+=this.columnsVisibility.role||0,N+=this.columnsVisibility.room||0,N+=this.columnsVisibility.func||0),N+=this.columnsVisibility.val||0,N+=this.columnsVisibility.buttons||0,this.columnsVisibility.name=`calc(100% - ${N+5}px)`,this.columnsVisibility.nameHeader=`calc(100% - ${N+5+this.state.scrollBarWidth}px)`}else if(!this.customWidth){let N=0;this.state.statesView?(N+=this.columnsVisibility.changedFrom||0,N+=this.columnsVisibility.qualityCode||0,N+=this.columnsVisibility.timestamp||0,N+=this.columnsVisibility.lastChange||0):(N+=this.columnsVisibility.type||0,N+=this.columnsVisibility.role||0,N+=this.columnsVisibility.room||0,N+=this.columnsVisibility.func||0),N+=this.columnsVisibility.val||0,N+=this.columnsVisibility.buttons||0,this.columnsVisibility.id=`calc(100% - ${N+5}px)`}}else{const N=this.props.width||"lg";this.columnsVisibility={id:o.id||je[N].idWidth,name:a.includes("name")&&(o.name||l.name||je[N].widths.name)||0,type:a.includes("type")&&(o.type||l.type||je[N].widths.type)||0,role:a.includes("role")&&(o.role||l.role||je[N].widths.role)||0,room:a.includes("room")&&(o.room||l.room||je[N].widths.room)||0,func:a.includes("func")&&(o.func||l.func||je[N].widths.func)||0};let c=this.columnsVisibility.id;if(this.columnsVisibility.name&&(c+=this.columnsVisibility.type||0,c+=this.columnsVisibility.role||0,c+=this.columnsVisibility.room||0,c+=this.columnsVisibility.func||0),M&&a&&Object.keys(M).sort().forEach(L=>M[L].forEach(j=>{const g=`_${L}_${j.path}`;if(a.includes(g)){const y={adapter:L,id:`_${L}_${j.path}`,name:j.name,path:j.path.split("."),pathText:j.path};j.edit&&(y.edit=!0,j.type&&(y.type=j.type),j.objTypes&&(y.objTypes=j.objTypes)),this.adapterColumns.push(y),this.columnsVisibility[g]=o[y.id]||j.width||je[N].widths.func||je.xl.widths.func||0,c+=this.columnsVisibility[g]}else this.columnsVisibility[g]=0})),this.adapterColumns.sort((L,j)=>L.id>j.id?-1:L.idg==="id"||typeof this.columnsVisibility[g]=="string"||!this.columnsVisibility[g]?j:j+this.columnsVisibility[g],0);this.columnsVisibility.id=`calc(100% - ${L}px)`}}}resizerMouseMove=e=>{if(this.resizerActiveDiv){let t,s;this.resizeLeft?(t=this.resizerOldWidth-e.clientX+this.resizerPosition,s=this.resizerOldWidthNext+e.clientX-this.resizerPosition):(t=this.resizerOldWidth+e.clientX-this.resizerPosition,s=this.resizerOldWidthNext-e.clientX+this.resizerPosition),this.resizerActiveName&&this.resizerNextName&&(!this.resizerMin||t>this.resizerMin)&&(!this.resizerNextMin||s>this.resizerNextMin)&&(this.resizerCurrentWidths[this.resizerActiveName]=t,this.resizerCurrentWidths[this.resizerNextName]=s,this.resizerActiveDiv.style.width=`${t}px`,this.resizerNextDiv&&(this.resizerNextDiv.style.width=`${s}px`),this.columnsVisibility[this.resizerActiveName]=t,this.columnsVisibility[this.resizerNextName]=s,this.resizerNextName==="nameHeader"?(this.columnsVisibility.name=s-this.state.scrollBarWidth,this.resizerCurrentWidths.name=s-this.state.scrollBarWidth):this.resizerActiveName==="nameHeader"&&(this.columnsVisibility.name=t-this.state.scrollBarWidth,this.resizerCurrentWidths.name=t-this.state.scrollBarWidth),this.customWidth=!0,this.resizeTimeout&&clearTimeout(this.resizeTimeout),this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=null,this.forceUpdate()},200))}};resizerMouseUp=()=>{this.localStorage.setItem(`${this.props.dialogName||"App"}.table`,JSON.stringify(this.resizerCurrentWidths)),this.resizerActiveName=null,this.resizerNextName=null,this.resizerActiveDiv=null,this.resizerNextDiv=null,window.removeEventListener("mousemove",this.resizerMouseMove),window.removeEventListener("mouseup",this.resizerMouseUp)};resizerMouseDown=e=>{if(this.storedWidths||=JSON.parse(JSON.stringify(je[this.props.width||"lg"])),this.resizerCurrentWidths||={},this.resizerActiveDiv=e.target.parentNode,this.resizerActiveName=this.resizerActiveDiv.dataset.name||null,this.resizerActiveName){let t=0;if(e.target.dataset.left==="true"){this.resizeLeft=!0,this.resizerNextDiv=this.resizerActiveDiv.previousElementSibling;let s=this.resizerNextDiv.querySelector(".iob-ob-resize-handler");for(;this.resizerNextDiv&&!s&&t<10;)this.resizerNextDiv=this.resizerNextDiv.previousElementSibling,s=this.resizerNextDiv.querySelector(".iob-ob-resize-handler"),t++;(s==null?void 0:s.dataset.left)!=="true"&&(this.resizerNextDiv=this.resizerNextDiv.nextElementSibling)}else this.resizeLeft=!1,this.resizerNextDiv=this.resizerActiveDiv.nextElementSibling;this.resizerNextName=this.resizerNextDiv.dataset.name||null,this.resizerMin=parseInt(this.resizerActiveDiv.dataset.min,10)||0,this.resizerNextMin=parseInt(this.resizerNextDiv.dataset.min,10)||0,this.resizerPosition=e.clientX,this.resizerCurrentWidths[this.resizerActiveName]=this.resizerActiveDiv.offsetWidth,this.resizerOldWidth=this.resizerCurrentWidths[this.resizerActiveName],this.resizerNextName&&(this.resizerCurrentWidths[this.resizerNextName]=this.resizerNextDiv.offsetWidth,this.resizerOldWidthNext=this.resizerCurrentWidths[this.resizerNextName]),window.addEventListener("mousemove",this.resizerMouseMove),window.addEventListener("mouseup",this.resizerMouseUp)}};navigateKeyPress(e){var s,r;const t=this.state.selectedNonObject||this.state.selected[0];if(t){if(e.code==="ArrowUp"||e.code==="ArrowDown"){e.preventDefault();const o=[];(s=this.tableRef.current)==null||s.childNodes.forEach(l=>o.push(l.id));const M=o.indexOf(t),a=e.code==="ArrowDown"?M+1:M-1,u=o[a]||t;this.onSelect(u),this.scrollToItem(u)}if((e.code==="ArrowRight"||e.code==="ArrowLeft")&&this.toggleExpanded(t),e.code==="Delete"&&this.root&&t){const o=Xi.getItemFromRoot(this.root,t);if(o){const{obj:M}=o.data;M&&!((r=M.common)!=null&&r.dontDelete)&&this.showDeleteDialog({id:t,obj:M,item:o})}}}}static getItemFromRoot(e,t){const s=t.split(".");let r="",o=e;for(let M=0;M{this.customWidth=!1,je[this.props.width||"lg"]=JSON.parse(JSON.stringify(this.storedWidths)),this.calculateColumnsVisibility(),this.localStorage.removeItem(`${this.props.dialogName||"App"}.table`),this.forceUpdate()};renderHandleRight(){return n.createElement(W,{component:"div",className:"iob-ob-resize-handler",sx:{...C.resizeHandle,...C.resizeHandleRight},onMouseDown:this.resizerMouseDown,onDoubleClick:this.resizerReset,title:this.props.t("ra_Double click to reset table layout")})}renderHeader(){let e=null;return!this.columnsVisibility.buttons&&!this.isFilterEmpty()&&(e=n.createElement(P,{onClick:()=>this.clearFilter(),style:C.buttonClearFilter,title:this.props.t("ra_Clear filter"),size:"large"},n.createElement(H4e,null),n.createElement(ge,{style:C.buttonClearFilterIcon}))),this.props.width==="xs"?n.createElement("div",{style:C.headerRow},n.createElement("div",{style:{...C.headerCell,width:"100%"}},this.getFilterInput("id"))):n.createElement("div",{style:C.headerRow},n.createElement("div",{style:{...C.headerCell,width:this.columnsVisibility.id,position:"relative"},"data-min":240,"data-name":"id"},this.getFilterInput("id"),this.renderHandleRight()),this.columnsVisibility.name?n.createElement("div",{style:{...C.headerCell,width:this.columnsVisibility.nameHeader,position:"relative"},"data-min":100,"data-name":"nameHeader"},this.getFilterInput("name"),this.renderHandleRight()):null,!this.state.statesView&&n.createElement(n.Fragment,null,this.columnsVisibility.type?n.createElement("div",{style:{...C.headerCell,width:this.columnsVisibility.type,position:"relative"},"data-min":100,"data-name":"type"},this.getFilterSelectType(),this.renderHandleRight()):null,this.columnsVisibility.role?n.createElement("div",{style:{...C.headerCell,width:this.columnsVisibility.role,position:"relative"},"data-min":100,"data-name":"role"},this.getFilterSelectRole(),this.renderHandleRight()):null,this.columnsVisibility.room?n.createElement("div",{style:{...C.headerCell,width:this.columnsVisibility.room,position:"relative"},"data-min":100,"data-name":"room"},this.getFilterSelectRoom(),this.renderHandleRight()):null,this.columnsVisibility.func?n.createElement("div",{style:{...C.headerCell,width:this.columnsVisibility.func,position:"relative"},"data-min":100,"data-name":"func"},this.getFilterSelectFunction(),this.renderHandleRight()):null),this.state.statesView&&n.createElement(n.Fragment,null,n.createElement("div",{style:{...C.headerCell,...C.headerCellValue,width:this.columnsVisibility.changedFrom,position:"relative"},"data-min":100,"data-name":"changedFrom"},this.props.t("ra_Changed from"),this.renderHandleRight()),n.createElement("div",{style:{...C.headerCell,...C.headerCellValue,width:this.columnsVisibility.qualityCode,position:"relative"},"data-min":100,"data-name":"qualityCode"},this.props.t("ra_Quality code"),this.renderHandleRight()),n.createElement("div",{style:{...C.headerCell,...C.headerCellValue,width:this.columnsVisibility.timestamp,position:"relative"},"data-min":100,"data-name":"timestamp"},this.props.t("ra_Timestamp"),this.renderHandleRight()),n.createElement("div",{style:{...C.headerCell,...C.headerCellValue,width:this.columnsVisibility.lastChange,position:"relative"},"data-min":100,"data-name":"lastChange"},this.props.t("ra_Last change"),this.renderHandleRight())),this.adapterColumns.map(t=>n.createElement("div",{style:{...C.headerCell,...C.headerCellValue,width:this.columnsVisibility[t.id]},title:t.adapter,key:t.id,"data-min":100,"data-name":t.id},t.name)),this.columnsVisibility.val?n.createElement("div",{style:{...C.headerCell,...C.headerCellValue,width:this.columnsVisibility.val,position:"relative"},"data-min":120,"data-name":"val"},this.props.t("ra_Value"),e):null,this.columnsVisibility.buttons?n.createElement("div",{title:this.texts.filter_custom,style:{...C.headerCell,width:this.columnsVisibility.buttons}}," ",this.getFilterSelectCustoms()):null)}renderToast(){return n.createElement(Jr,{open:!!this.state.toast,autoHideDuration:3e3,onClick:()=>this.setState({toast:""}),onClose:()=>this.setState({toast:""}),message:this.state.toast,action:n.createElement(P,{size:"small","aria-label":"close",color:"inherit",onClick:()=>this.setState({toast:""})},n.createElement(ge,{fontSize:"small"}))})}componentDidUpdate(){if(this.tableRef.current){const e=this.tableRef.current.offsetWidth-this.tableRef.current.clientWidth;this.state.scrollBarWidth!==e?setTimeout(()=>this.setState({scrollBarWidth:e}),100):this.selectFirst&&this.scrollToItem(this.selectFirst)}}scrollToItem(e){this.selectFirst="";const t=window.document.getElementById(e);t==null||t.scrollIntoView({behavior:"auto",block:"center",inline:"center"})}renderCustomDialog(){if(this.state.customDialog&&this.props.objectCustomDialog){const e=this.props.objectCustomDialog;return n.createElement(e,{reportChangedIds:t=>this.changedIds=[...t],objectIDs:this.state.customDialog,allVisibleObjects:!!this.state.customDialogAll,expertMode:this.state.filter.expertMode,isFloatComma:this.props.isFloatComma===void 0?this.systemConfig.common.isFloatComma:this.props.isFloatComma,t:this.props.t,lang:this.props.lang,socket:this.props.socket,themeName:this.props.themeName,themeType:this.props.themeType,theme:this.props.theme,objects:this.objects,customsInstances:this.info.customs,onClose:()=>{var t;this.pauseSubscribe(!1),this.setState({customDialog:null}),this.changedIds&&(this.changedIds=null,this.forceUpdate()),(t=this.props.router)==null||t.doNavigate("tab-objects")},systemConfig:this.systemConfig})}return null}onUpdate(e){this.props.socket.setState(this.edit.id,{val:e.val,ack:e.ack,q:e.q||0,expire:e.expire||void 0}).catch(t=>this.showError(`Cannot write value: ${t}`))}renderEditObjectDialog(){if(!this.state.editObjectDialog||!this.props.objectBrowserEditObject)return null;const e=this.props.objectBrowserEditObject;return n.createElement(e,{key:this.state.editObjectDialog,obj:this.objects[this.state.editObjectDialog],roleArray:this.info.roles,objects:this.objects,dateFormat:this.props.dateFormat||this.systemConfig.common.dateFormat,isFloatComma:this.props.isFloatComma===void 0?this.systemConfig.common.isFloatComma:this.props.isFloatComma,themeType:this.props.themeType,theme:this.props.theme,socket:this.props.socket,dialogName:this.props.dialogName,aliasTab:this.state.editObjectAlias,t:this.props.t,expertMode:!!this.state.filter.expertMode,onNewObject:t=>this.props.socket.setObject(t._id,t).then(()=>this.setState({editObjectDialog:t._id,editObjectAlias:!1},()=>this.onSelect(t._id))).catch(s=>this.showError(`Cannot write object: ${s}`)),onClose:t=>{var s,r;if(t){let o;this.state.editObjectDialog.startsWith("alias.")&&JSON.stringify((s=this.objects[this.state.editObjectDialog].common)==null?void 0:s.alias)!==JSON.stringify((r=t.common)==null?void 0:r.alias)&&(o=this.state.editObjectDialog),this.props.socket.setObject(t._id,t).then(()=>{o&&this.subscribes.includes(o)&&(this.unsubscribe(o),setTimeout(()=>this.subscribe(o),100))}).catch(M=>this.showError(`Cannot write object: ${M}`))}this.setState({editObjectDialog:"",editObjectAlias:!1})},width:this.props.width})}renderViewObjectFileDialog(){if(!this.state.viewFileDialog||!this.props.objectBrowserViewFile)return null;const e=this.props.objectBrowserViewFile;return n.createElement(e,{key:"viewFile",obj:this.objects[this.state.viewFileDialog],socket:this.props.socket,t:this.props.t,onClose:()=>this.setState({viewFileDialog:""})})}renderAliasEditorDialog(){if(!this.props.objectBrowserAliasEditor||!this.state.showAliasEditor)return null;const e=this.props.objectBrowserAliasEditor;return n.createElement(e,{key:"editAlias",obj:this.objects[this.state.showAliasEditor],roleArray:this.info.roles,objects:this.objects,socket:this.props.socket,t:this.props.t,onClose:()=>this.setState({showAliasEditor:""}),onRedirect:(t,s)=>setTimeout(()=>this.onSelect(t,!1,()=>this.expandAllSelected(()=>{this.scrollToItem(t),setTimeout(()=>this.setState({editObjectDialog:t,showAliasEditor:"",editObjectAlias:!0}),300)})),s||0)})}showAddDataPointDialog(e,t,s){this.setState({showContextMenu:null,modalNewObj:{id:e,initialType:t,initialStateType:s}})}renderAliasMenu(){return this.state.aliasMenu?n.createElement(ss,{key:"aliasmenu",open:!0,anchorEl:window.document.getElementById(`alias_${this.state.aliasMenu}`),onClose:()=>this.setState({aliasMenu:""})},this.info.aliasesMap[this.state.aliasMenu].map((e,t)=>n.createElement(te,{key:e,onClick:()=>this.onSelect(e)},n.createElement(nt,null,this.renderAliasLink(this.state.aliasMenu,t,{"& .admin-browser-arrow":{mr:"8px"}}))))):null}renderContextMenu(){var L,j,g,y,d,h,m;if(!this.state.showContextMenu)return null;const e=this.state.showContextMenu.item,t=e.data.id,s=[],r=e.data.obj;let o="";if(this.props.objectEditOfAccessControl&&this.state.filter.expertMode)if(!r)o="---";else{const w=r.acl?r.type==="state"?r.acl.state:r.acl.object:0,O=r.acl&&(r.type==="state"?this.systemConfig.common.defaultNewAcl.state:this.systemConfig.common.defaultNewAcl.object);o=Number.isNaN(Number(w))?Number(O).toString(16):Number(w).toString(16)}const M=!this.props.notEditable&&r&&(this.state.filter.expertMode||r.type==="state"||r.type==="channel"||r.type==="device"),a=!e.data.obj||e.data.obj.type==="folder"||e.data.obj.type==="channel"||e.data.obj.type==="device"||e.data.id==="0_userdata.0"||e.data.obj.type==="meta",u=!e.data.obj||e.data.obj.type==="folder"||e.data.obj.type==="device"||e.data.id==="0_userdata.0"||e.data.obj.type==="meta",l=!e.data.obj||e.data.obj.type==="folder"||e.data.id==="0_userdata.0"||e.data.obj.type==="meta",N=!e.data.obj||e.data.obj.type==="folder"||e.data.id==="0_userdata.0"||e.data.obj.type==="meta",c={EDIT:{key:"0",visibility:!!(this.props.objectBrowserEditObject&&r&&(this.state.filter.expertMode||Na(t))),icon:n.createElement(Ks,{fontSize:"small",style:this.styles.contextMenuEdit}),label:this.texts.editObject,onClick:()=>this.setState({editObjectDialog:e.data.id,showContextMenu:null,editObjectAlias:!1})},EDIT_VALUE:{key:"1",visibility:!!(this.states&&!this.props.notEditable&&r&&r.type==="state"&&((L=r.common)==null?void 0:L.type)!=="file"&&(this.state.filter.expertMode||r.common.write!==!1)),icon:n.createElement(Rl,{fontSize:"small",style:this.styles.contextMenuEditValue}),label:this.props.t("ra_Edit value"),onClick:()=>{var w;this.edit={val:this.states[t]?this.states[t].val:"",q:((w=this.states[t])==null?void 0:w.q)||0,ack:!1,id:t},this.setState({updateOpened:!0,showContextMenu:null})}},VIEW:{visibility:!!this.props.objectBrowserViewFile&&(r==null?void 0:r.type)==="state"&&((j=r.common)==null?void 0:j.type)==="file",icon:n.createElement(Wl,{fontSize:"small",style:this.styles.contextMenuView}),label:this.props.t("ra_View file"),onClick:()=>this.setState({viewFileDialog:(r==null?void 0:r._id)||"",showContextMenu:null})},CUSTOM:{key:"2",visibility:!(this.props.objectCustomDialog&&this.info.hasSomeCustoms&&r&&r.type==="state"&&((g=r.common)==null?void 0:g.type)!=="file"),icon:n.createElement(Fr,{fontSize:"small",style:e.data.hasCustoms?this.styles.cellButtonsButtonWithCustoms:C.cellButtonsButtonWithoutCustoms}),style:this.styles.contextMenuCustom,label:this.texts.customConfig,onClick:()=>{var w;this.pauseSubscribe(!0),(w=this.props.router)==null||w.doNavigate(null,"customs",t),this.setState({customDialog:[t],showContextMenu:null})}},ACL:{key:"3",visibility:!!o,icon:o,iconStyle:{fontSize:"smaller"},listItemIconStyle:this.styles.contextMenuACL,style:this.styles.contextMenuACL,label:this.props.t("ra_Edit ACL"),onClick:()=>this.setState({showContextMenu:null,modalEditOfAccess:!0,modalEditOfAccessObjData:e.data})},ROLE:{key:"4",visibility:!!(this.state.filter.expertMode&&M&&this.props.objectBrowserEditRole),icon:n.createElement(Pl,{fontSize:"small",style:this.styles.contextMenuRole}),label:this.props.t("ra_Edit role"),onClick:()=>this.setState({roleDialog:e.data.id,showContextMenu:null})},FUNCTION:{key:"5",visibility:!!M,icon:n.createElement($l,{fontSize:"small",style:this.styles.contextMenuRole}),label:this.props.t("ra_Edit function"),onClick:()=>{const w=ys(this.info,e.data.id,"funcEnums");this.setState({enumDialogEnums:w,enumDialog:{item:e,type:"func",enumsOriginal:JSON.stringify(w)},showContextMenu:null})}},ROOM:{key:"6",visibility:!!M,icon:n.createElement(bl,{fontSize:"small",style:this.styles.contextMenuRoom}),label:this.props.t("ra_Edit room"),onClick:()=>{const w=ys(this.info,e.data.id,"roomEnums");this.setState({enumDialogEnums:w,enumDialog:{item:e,type:"room",enumsOriginal:JSON.stringify(w)},showContextMenu:null})}},ALIAS:{key:"7",visibility:!!(!this.props.notEditable&&this.props.objectBrowserAliasEditor&&this.props.objectBrowserEditObject&&(r==null?void 0:r.type)==="state"&&((y=r.common)==null?void 0:y.type)!=="file"),icon:n.createElement(Fa,{style:(d=r==null?void 0:r.common)!=null&&d.alias?this.styles.cellButtonsButtonWithCustoms:C.cellButtonsButtonWithoutCustoms}),label:this.info.aliasesMap[e.data.id]||e.data.id.startsWith("alias.0.")?this.props.t("ra_Edit alias"):this.props.t("ra_Create alias"),onClick:()=>{var w;(w=r==null?void 0:r.common)!=null&&w.alias?this.setState({showContextMenu:null,editObjectDialog:e.data.id,editObjectAlias:!0}):this.setState({showContextMenu:null,showAliasEditor:e.data.id})}},CREATE:{key:"+",visibility:(e.data.id.startsWith("0_userdata.0")||e.data.id.startsWith("javascript."))&&(a||u||l||N),icon:n.createElement(Gr,{fontSize:"small",style:this.styles.cellButtonsButtonWithCustoms}),style:C.contextMenuWithSubMenu,label:this.texts.create,subMenu:[{label:this.texts.createBooleanState,visibility:a,icon:n.createElement(Xs,{fontSize:"small"}),onClick:()=>this.showAddDataPointDialog(e.data.id,"state","boolean")},{label:this.texts.createNumberState,visibility:a,icon:n.createElement(Xs,{fontSize:"small"}),onClick:()=>this.showAddDataPointDialog(e.data.id,"state","number")},{label:this.texts.createStringState,visibility:a,icon:n.createElement(Xs,{fontSize:"small"}),onClick:()=>this.showAddDataPointDialog(e.data.id,"state","string")},{label:this.texts.createState,visibility:a,icon:n.createElement(Xs,{fontSize:"small"}),onClick:()=>this.showAddDataPointDialog(e.data.id,"state")},{label:this.texts.createChannel,visibility:u,icon:n.createElement(Nu,{fontSize:"small"}),onClick:()=>this.showAddDataPointDialog(e.data.id,"channel")},{label:this.texts.createDevice,visibility:l,icon:n.createElement(Lu,{fontSize:"small"}),onClick:()=>this.showAddDataPointDialog(e.data.id,"device")},{label:this.texts.createFolder,icon:n.createElement(Ba,{fontSize:"small"}),visibility:N,onClick:()=>this.showAddDataPointDialog(e.data.id,"folder")}]},RENAME:{key:"8",visibility:!!(!this.props.notEditable&&this.props.objectMoveRenameDialog&&!e.data.id.startsWith("system.")&&e.data.id.split(".").length>2&&(this.props.expertMode||e.data.id.startsWith("javascript.0.")||e.data.id.startsWith("0_userdata.0."))),icon:n.createElement(vl,null),label:this.props.t("ra_Rename_Move_Copy"),onClick:()=>{const w=Object.keys(this.objects),O=`${e.data.id}.`;this.setState({showContextMenu:null,showRenameDialog:{id:e.data.id,childrenIds:w.filter(A=>A.startsWith(O))}})}},DELETE:{key:"Delete",visibility:!!(this.props.onObjectDelete&&((h=e.children)!=null&&h.length||r&&!((m=r.common)!=null&&m.dontDelete))),icon:n.createElement(ut,{fontSize:"small",style:this.styles.contextMenuDelete}),style:this.styles.contextMenuDelete,label:this.texts.deleteObject,onClick:()=>this.setState({showContextMenu:null},()=>this.showDeleteDialog({id:t,obj:r||{},item:e}))}};return Object.keys(c).forEach(w=>{var O,A;c[w].visibility&&(c[w].subMenu?(s.push(n.createElement(te,{key:w,href:"",onClick:I=>this.state.showContextMenu&&this.setState({showContextMenu:{item:this.state.showContextMenu.item,position:this.state.showContextMenu.position,subItem:w,subAnchor:I.target}}),style:c[w].style},n.createElement(Yt,{style:{...c[w].iconStyle,...c[w].listItemIconStyle}},c[w].icon),n.createElement(nt,null,c[w].label,"..."),n.createElement("div",{style:{...C.contextMenuKeys,opacity:1}},n.createElement(Jl,null)))),((O=this.state.showContextMenu)==null?void 0:O.subItem)===w&&s.push(n.createElement(ss,{key:"subContextMenu",open:!0,anchorEl:this.state.showContextMenu.subAnchor,onClose:()=>{this.state.showContextMenu&&this.setState({showContextMenu:{item:this.state.showContextMenu.item,position:this.state.showContextMenu.position}}),this.contextMenu=null}},(A=c[w].subMenu)==null?void 0:A.map(I=>I.visibility?n.createElement(te,{key:I.label,onClick:I.onClick,style:I.style},n.createElement(Yt,{style:{...I.iconStyle,...I.listItemIconStyle||void 0}},I.icon),n.createElement(nt,null,I.label)):null)))):s.push(n.createElement(te,{key:w,onClick:c[w].onClick,sx:c[w].style},n.createElement(Yt,{style:{...c[w].iconStyle,...c[w].listItemIconStyle}},c[w].icon),n.createElement(nt,null,c[w].label),c[w].key?n.createElement("div",{style:C.contextMenuKeys},`Alt+${c[w].key==="Delete"?this.props.t("ra_Del"):c[w].key}`):null)))}),s.length?n.createElement(ss,{key:"contextMenu",open:!0,onKeyUp:w=>{w.preventDefault(),w.altKey&&Object.keys(c).forEach(O=>{w.key===c[O].key&&c[O].onClick&&c[O].onClick()})},anchorReference:"anchorPosition",anchorPosition:this.state.showContextMenu.position,onClose:()=>{this.setState({showContextMenu:null}),this.contextMenu=null}},s):(setTimeout(()=>this.setState({showContextMenu:null}),100),null)}renderEditValueDialog(){var r;if(!this.state.updateOpened||!this.props.objectBrowserValue)return null;if(!this.edit.id)return console.error(`Invalid ID for edit: ${JSON.stringify(this.edit)}`),null;if(!this.objects[this.edit.id])return console.error(`Something went wrong. Possibly the object ${this.edit.id} was deleted.`),null;const e=(r=this.objects[this.edit.id].common)!=null&&r.type?this.objects[this.edit.id].common.type:typeof this.edit.val,t=this.objects[this.edit.id].common.role,s=this.props.objectBrowserValue;return n.createElement(s,{t:this.props.t,lang:this.props.lang,type:e,role:t||"",states:E.getStates(this.objects[this.edit.id]),themeType:this.props.themeType,theme:this.props.theme,expertMode:!!this.state.filter.expertMode,value:this.edit.val,socket:this.props.socket,object:this.objects[this.edit.id],defaultHistory:this.defaultHistory,dateFormat:this.props.dateFormat||this.systemConfig.common.dateFormat,isFloatComma:this.props.isFloatComma===void 0?this.systemConfig.common.isFloatComma:this.props.isFloatComma,onClose:o=>{this.setState({updateOpened:!1}),o&&this.onUpdate(o)},width:this.props.width})}doFilter(e){if(!this.objects||!this.root)return;e||this.localStorage.setItem(`${this.props.dialogName||"App"}.objectFilter`,JSON.stringify(this.state.filter));const t={count:0};jo(this.root,this.state.filter,this.props.lang,this.objects,void 0,t,this.props.customFilter,this.props.types),t.count<500&&!this.state.expandAllVisible?setTimeout(()=>this.setState({expandAllVisible:!0})):t.count>=500&&this.state.expandAllVisible?setTimeout(()=>this.setState({expandAllVisible:!1})):this.forceUpdate()}render(){if(this.recordStates=[],this.unsubscribeTimer&&clearTimeout(this.unsubscribeTimer),this.styleTheme!==this.props.themeType&&(this.styles={cellIdIconFolder:E.getStyle(this.props.theme,C.cellIdIconFolder),cellIdIconDocument:E.getStyle(this.props.theme,C.cellIdIconDocument),iconDeviceError:E.getStyle(this.props.theme,C.iconDeviceError),iconDeviceConnected:E.getStyle(this.props.theme,C.iconDeviceConnected),iconDeviceDisconnected:E.getStyle(this.props.theme,C.iconDeviceDisconnected),cellButtonsButtonWithCustoms:E.getStyle(this.props.theme,C.cellButtonsButtonWithCustoms),invertedBackground:E.getStyle(this.props.theme,C.invertedBackground),invertedBackgroundFlex:E.getStyle(this.props.theme,C.invertedBackgroundFlex),contextMenuEdit:E.getStyle(this.props.theme,C.contextMenuEdit),contextMenuEditValue:E.getStyle(this.props.theme,C.contextMenuEditValue),contextMenuView:E.getStyle(this.props.theme,C.contextMenuView),contextMenuCustom:E.getStyle(this.props.theme,C.contextMenuCustom),contextMenuACL:E.getStyle(this.props.theme,C.contextMenuACL),contextMenuRoom:E.getStyle(this.props.theme,C.contextMenuRoom),contextMenuRole:E.getStyle(this.props.theme,C.contextMenuRole),contextMenuDelete:E.getStyle(this.props.theme,C.contextMenuDelete),filterInput:E.getStyle(this.props.theme,C.headerCellInput,C.filterInput),iconCopy:E.getStyle(this.props.theme,C.cellButtonsValueButton,C.cellButtonsValueButtonCopy),aliasReadWrite:E.getStyle(this.props.theme,C.cellIdAlias,C.cellIdAliasReadWrite),aliasAlone:E.getStyle(this.props.theme,C.cellIdAlias,C.cellIdAliasAlone)},this.styleTheme=this.props.themeType),this.unsubscribeTimer=setTimeout(()=>{this.unsubscribeTimer=null,this.checkUnsubscribes()},200),this.expertMode!==!!this.state.filter.expertMode&&(this.expertMode=!!this.state.filter.expertMode,this.doFilter(!0)),!this.state.loaded)return n.createElement(qi,{key:`${this.props.dialogName}_c`});const e=this.root?this.renderItem(this.root,void 0):null;return n.createElement(V4e,{key:this.props.dialogName},n.createElement("style",null,` +@keyframes newValueAnimation-light { + 0% { + color: #00f900; + } + 80% { + color: #008000; + } + 100% { + color: #000; + } +} +@keyframes newValueAnimation-dark { + 0% { + color: #00f900; + } + 80% { + color: #008000; + } + 100% { + color: #fff; + } +} +.newValueBrowser-dark { + animation: newValueAnimation-dark 2s ease-in-out; +} +.newValueBrowser-light { + animation: newValueAnimation-light 2s ease-in-out; +} +.highlight-link .iob-link { + text-decoration: underline; + cursor: pointer; +} +`),n.createElement(X4e,null,this.getToolbar()),n.createElement(Z4e,null,this.renderHeader(),n.createElement(W,{style:C.tableDiv,ref:this.tableRef,onKeyDown:t=>this.navigateKeyPress(t)},e)),this.renderContextMenu(),this.renderAliasMenu(),this.renderToast(),this.renderColumnsEditCustomDialog(),this.renderColumnsSelectorDialog(),this.renderCustomDialog(),this.renderEditValueDialog(),this.renderEditObjectDialog(),this.renderViewObjectFileDialog(),this.renderAliasEditorDialog(),this.renderEditRoleDialog(),this.renderEnumDialog(),this.renderErrorDialog(),this.renderExportDialog(),this.renderRenameDialog(),this.renderInputJsonDialog(),this.state.modalNewObj&&this.props.modalNewObject&&this.props.modalNewObject(this),this.state.modalEditOfAccess&&this.state.modalEditOfAccessObjData&&this.props.modalEditOfAccessControl&&this.props.modalEditOfAccessControl(this,this.state.modalEditOfAccessObjData))}}const uLe=ur()(Xi);class nge extends n.Component{refTypo;height;width;constructor(e){super(e),this.state={closed:this.props.storeId?window.localStorage.getItem(this.props.storeId)==="true":!1},this.height=0,this.width=0,this.refTypo=n.createRef()}componentDidMount(){this.detectHeight()}onClick(){this.props.storeId&&this.props.closed===void 0&&(this.state.closed?window.localStorage.removeItem(this.props.storeId):window.localStorage.setItem(this.props.storeId,"true")),this.props.closed===void 0?this.setState({closed:!this.state.closed},()=>{this.props.onClose&&this.props.onClose(this.state.closed)}):this.props.onClose&&this.props.onClose(!this.props.closed)}detectHeight(){const e=this.props.closed!==void 0?this.props.closed:this.state.closed;this.props.closeable&&!e&&this.refTypo.current&&window.requestAnimationFrame(()=>{(this.props.closed!==void 0?this.props.closed:this.state.closed)||this.refTypo.current&&(!this.height||this.width!==this.refTypo.current.clientWidth)&&(this.height=this.refTypo.current.clientHeight,this.width=this.refTypo.current.clientWidth,this.forceUpdate())})}componentDidUpdate(){this.detectHeight()}render(){const e=this.props.closed!==void 0?this.props.closed:this.state.closed,t=e?Vl:ge;return n.createElement(W,{className:"iom-info-box",style:{whiteSpace:"preserve",display:"flex",gap:8,alignItems:e||this.props.iconPosition==="top"?"flex-start":"center",borderWidth:1,borderStyle:"solid",padding:4,borderRadius:5,marginBottom:8,maxWidth:"100%",transition:"height 0.5s",height:this.props.closeable?e?30:this.height||void 0:void 0,overflow:this.props.closeable?"hidden":void 0,position:"relative",...this.props.style},sx:{borderColor:s=>this.props.type==="ok"?s.palette.info.main:s.palette[this.props.type].main}},this.props.type==="ok"?n.createElement(Ue,{style:{color:"#0F0"}}):this.props.type==="info"?n.createElement(bo,{color:"primary"}):n.createElement(Hl,{color:this.props.type}),n.createElement(Ml,{ref:this.refTypo},this.props.children),this.props.closeable?n.createElement(t,{sx:{color:s=>s.palette.mode==="dark"?"lightgray":"gray",cursor:"pointer",position:"absolute",top:4,right:4},onClick:()=>this.onClick()}):null,this.props.closeable?n.createElement("div",{style:{width:22}}):null,e?n.createElement(W,{component:"div",sx:s=>{const r=s.palette[this.props.type==="ok"?"info":this.props.type].main;return{background:`linear-gradient(${r}00 0%, ${r}10 60%, ${r}90 100%)`}},style:{bottom:0,position:"absolute",left:0,right:0,height:10}}):null)}}const _={hr:{border:0,borderTop:"1px solid gray"},scrollWindow:{width:"100%",overflow:"auto",height:"calc(100% - 22px)"},rowDiv:{width:"100%"},modeDiv:{width:200,display:"inline-block",verticalAlign:"top"},settingsDiv:{display:"inline-block",verticalAlign:"top"},inputTime:{width:90,marginTop:0,marginLeft:5},inputDate:{width:140,marginTop:0,marginLeft:5},inputEvery:{width:40,marginLeft:5,marginRight:5},inputRadio:{padding:"4px 12px",verticalAlign:"top"},inputGroup:{maxWidth:400,display:"inline-block"},inputGroupElement:{width:120},inputDateDay:{width:60},inputDateDayCheck:{padding:4},inputSmallCheck:{padding:0},rowOnce:{},rowDays:i=>({background:i.palette.mode!=="dark"?"#ddeaff":"#4b5057"}),rowDows:i=>({background:i.palette.mode!=="dark"?"#DDFFDD":"#52646c"}),rowMonths:i=>({background:i.palette.mode!=="dark"?"#DDFFFF":"#1f5557"}),rowMonthsDates:i=>({background:i.palette.mode!=="dark"?"#EEFFFF":"#3c5737",maxWidth:600}),rowYears:i=>({background:i.palette.mode!=="dark"?"#fbffdd":"#574b33"}),rowDowsDows:i=>({background:i.palette.mode!=="dark"?"#EEFFEE":"#3d4c54",pl:"10px",pb:"10px"})},Qr=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],Oi=["January","February","March","April","May","June","July","August","September","October","November","December"],Ur={minutes:"minutes",hours:"hours"},Rs=["sunrise","sunriseEnd","goldenHourEnd","solarNoon","goldenHour","sunsetStart","sunset","dusk","nauticalDusk","night","nightEnd","nauticalDawn","dawn","nadir"];function yt(i){return i<10?`0${i}`:`${i}`}const ga={time:{exactTime:!1,start:"00:00",end:"23:59",mode:"hours",interval:1},period:{once:"",days:1,dows:"",dates:"",weeks:0,months:"",years:0,yearMonth:0,yearDate:0},valid:{from:"",to:""}};function vr(i){const e=i.split(".");return e.length===3?`${e[2]}-${e[1]}-${e[0]}`:""}class Ce extends ze{refFrom;refTo;refOnce;timerOnce=null;timerFrom=null;timerTo=null;constructor(e){super(e);let t;if(this.props.schedule&&typeof this.props.schedule=="string"&&this.props.schedule[0]==="{")try{t=JSON.parse(this.props.schedule)}catch{}else typeof this.props.schedule=="object"&&(t=this.props.schedule);(!t||!Object.keys(t).length)&&(setTimeout(()=>this.onChange(this.state.schedule,!0),200),t=ga),t={...ga,...t},t.valid.from||=Ce.now2string(),this.refFrom=n.createRef(),this.refTo=n.createRef(),this.refOnce=n.createRef(),this.state={schedule:t,desc:Ce.state2text(t)},JSON.stringify(t)!==this.props.schedule&&setTimeout(()=>{var s,r;return(r=(s=this.props).onChange)==null?void 0:r.call(s,JSON.stringify(t))},100)}onChange(e,t){var r,o;const s=JSON.stringify(e)!==JSON.stringify(this.state.schedule);if(t||s){s&&this.setState({schedule:e,desc:Ce.state2text(e)});const M=JSON.parse(JSON.stringify(e));if(M.period.once){const a=M.period.once;delete M.period,M.period={once:a},delete M.valid}else if(M.period.days){const a=M.period.days,u=M.period.dows;delete M.period,M.period={days:a},u&&u!=="[]"&&(M.period.dows=u)}else if(M.period.weeks){const a=M.period.weeks,u=M.period.dows;delete M.period,M.period={weeks:a},u&&u!=="[]"&&(M.period.dows=u)}else if(M.period.months){const a=M.period.months,u=M.period.dates;delete M.period,M.period={months:a},u&&u!=="[]"&&(M.period.dates=u)}else if(M.period.years){const a=M.period.years,u=M.period.yearMonth,l=M.period.yearDate;delete M.period,M.period={years:a,yearDate:l},u&&(M.period.yearMonth=u)}if(M.time.exactTime?(delete M.time.end,delete M.time.mode,delete M.time.interval):delete M.time.exactTime,M.valid){if(M.valid.to||delete M.valid.to,M.period.days===1||M.period.weeks===1||M.period.months===1||M.period.years===1){const a=Ce.string2date(M.valid.from),u=new Date;u.setHours(0),u.setMinutes(0),u.setSeconds(0),u.setMilliseconds(0),a<=u&&delete M.valid.from}!M.valid.from&&!M.valid.to&&delete M.valid}(o=(r=this.props).onChange)==null||o.call(r,JSON.stringify(M),Ce.state2text(e))}}static state2text(e){if(typeof e=="string")try{e=JSON.parse(e)}catch{return""}const t=[],s=Ce.string2date(e.valid.from);if(e.period.once){const r=Ce.string2date(e.period.once),o=new Date;if(o.setMilliseconds(0),o.setSeconds(0),o.setMinutes(0),o.setHours(0),rD.t(Qr[M]));if(o.length===1)t.push(D.t("sch_desc_onWeekday",o[0]));else if(o.length===7)t.push(D.t("sch_desc_everyDay"));else{const M=o.pop();t.push(D.t("sch_desc_onWeekdays",o.join(", "),M))}}}else t.push(D.t("sch_desc_everyDay"));else t.push(D.t("sch_desc_everyNDay",e.period.days.toString()));else if(e.period.weeks)if(e.period.weeks===1?t.push(D.t("sch_desc_everyWeek")):t.push(D.t("sch_desc_everyNWeeks",e.period.weeks.toString())),e.period.dows){const r=JSON.parse(e.period.dows);if(r.length===2&&r[0]===0&&r[1]===6)t.push(D.t("sch_desc_onWeekends"));else if(r.length===5&&r[0]===1&&r[1]===2&&r[2]===3&&r[3]===4&&r[4]===5)t.push(D.t("sch_desc_onWorkdays"));else{const o=r.map(M=>D.t(Qr[M]));if(o.length===1)t.push(D.t("sch_desc_onWeekday",o[0]));else if(o.length===7)t.push(D.t("sch_desc_everyDay"));else{const M=o.pop();t.push(D.t("sch_desc_onWeekdays",o.join(", "),M))}}}else return D.t("sch_desc_never");else if(e.period.months){if(e.period.dates){const r=JSON.parse(e.period.dates);if(r.length===1)t.push(D.t("sch_desc_onDate",r[0]));else if(r.length===31)t.push(D.t("sch_desc_onEveryDate"));else if(r.length){const o=r.pop();t.push(D.t("sch_desc_onDates",r.join(", "),o))}else return D.t("sch_desc_never")}else t.push(D.t("sch_desc_onEveryDate"));if(e.period.months===1)t.push(D.t("sch_desc_everyMonth"));else if(typeof e.period.months=="number")t.push(D.t("sch_desc_everyNMonths",e.period.months.toString()));else{const o=JSON.parse(e.period.months).map(M=>D.t(Oi[M-1]));if(!o.length)return D.t("sch_desc_never");if(o.length===1)t.push(D.t("sch_desc_onMonth",o[0]));else if(o.length===12)t.push(D.t("sch_desc_everyMonth"));else{const M=o.pop();t.push(D.t("sch_desc_onMonths",o.join(", "),M))}}}else e.period.years&&(e.period.years===1?t.push(D.t("sch_desc_everyYear")):t.push(D.t("sch_desc_everyNYears",e.period.years.toString())),t.push(D.t("sch_desc_onDate",e.period.yearDate.toString(),e.period.yearMonth?D.t(Oi[e.period.yearMonth-1]):D.t("sch_desc_everyMonth"))));if(e.time.exactTime)Rs.includes(e.time.start)?t.push(D.t("sch_desc_atTime",D.t(`sch_astro_${e.time.start}`))):t.push(D.t("sch_desc_atTime",e.time.start));else{e.time.mode===Ur.minutes?e.time.interval===1?t.push(D.t("sch_desc_everyMinute")):t.push(D.t("sch_desc_everyNMinutes",e.time.interval.toString())):e.time.interval===1?t.push(D.t("sch_desc_everyHour")):t.push(D.t("sch_desc_everyNHours",e.time.interval.toString()));const r=Rs.indexOf(e.time.start)!==-1?D.t(`sch_astro_${e.time.start}`):e.time.start,o=Rs.indexOf(e.time.end)!==-1?D.t(`sch_astro_${e.time.end}`):e.time.end;(r!=="00:00"||o!=="24:00"&&o!=="23:59")&&t.push(D.t("sch_desc_intervalFromTo",r,o))}return e.period.once||(s.getTime()>Date.now()&&e.valid.to?t.push(D.t("sch_desc_validFromTo",e.valid.from,e.valid.to)):s.getTime()>Date.now()?t.push(D.t("sch_desc_validFrom",e.valid.from)):e.valid.to&&t.push(D.t("sch_desc_validTo",e.valid.to))),t.join(" ")}getTimePeriodElements(){const e=this.state.schedule;let t=!1,s=!1,r=!1,o=!0;return e.time.start==="00:00"&&e.time.end==="24:00"?(t=!0,o=!1):e.time.start==="sunrise"?(s=!0,o=!1):e.time.start==="sunset"&&(r=!0,o=!1),n.createElement("div",{key:"timePeriod",style:_.rowDiv},n.createElement("div",{style:_.modeDiv},n.createElement(H,{control:n.createElement(Me,{style:_.inputRadio,checked:!e.time.exactTime,onClick:()=>{const M=JSON.parse(JSON.stringify(this.state.schedule));M.time.exactTime=!1,this.onChange(M)}}),label:D.t("sch_intervalTime")})),n.createElement("div",{style:_.settingsDiv},n.createElement("div",{style:_.settingsDiv},!e.time.exactTime&&n.createElement("div",null,n.createElement("div",null,n.createElement(H,{control:n.createElement(Me,{style:_.inputRadio,checked:!!o,onClick:()=>{const M=JSON.parse(JSON.stringify(this.state.schedule));M.time.start="00:00",M.time.end="23:59",this.onChange(M)}}),label:o?"":D.t("sch_fromTo")}),o&&[n.createElement(le,{variant:"standard",style:{..._.inputTime,marginRight:10},key:"exactTimeFrom",type:"time",sx:M=>({'& input[type="time"]::-webkit-calendar-picker-indicator':{filter:M.palette.mode==="dark"?"invert(80%)":void 0}}),value:this.state.schedule.time.start,onChange:M=>{const a=JSON.parse(JSON.stringify(this.state.schedule));a.time.start=M.target.value,this.onChange(a)},slotProps:{inputLabel:{shrink:!0}},label:D.t("sch_from"),margin:"normal"}),n.createElement(le,{variant:"standard",style:_.inputTime,key:"exactTimeTo",type:"time",sx:M=>({'& input[type="time"]::-webkit-calendar-picker-indicator':{filter:M.palette.mode==="dark"?"invert(80%)":void 0}}),value:this.state.schedule.time.end,onChange:M=>{const a=JSON.parse(JSON.stringify(this.state.schedule));a.time.end=M.target.value,this.onChange(a)},slotProps:{inputLabel:{shrink:!0}},label:D.t("sch_to"),margin:"normal"})])),!e.time.exactTime&&n.createElement("div",null,n.createElement(H,{control:n.createElement(Me,{style:_.inputRadio,checked:!!t,onClick:()=>{const M=JSON.parse(JSON.stringify(this.state.schedule));M.time.start="00:00",M.time.end="24:00",this.onChange(M)}}),label:D.t("sch_wholeDay")})),!e.time.exactTime&&n.createElement("div",null,n.createElement(H,{control:n.createElement(Me,{style:_.inputRadio,checked:!!s,onClick:()=>{const M=JSON.parse(JSON.stringify(this.state.schedule));M.time.start="sunrise",M.time.end="sunset",this.onChange(M)}}),label:D.t("sch_astroDay")})),!e.time.exactTime&&n.createElement("div",null,n.createElement(H,{control:n.createElement(Me,{style:_.inputRadio,checked:!!r,onClick:()=>{const M=JSON.parse(JSON.stringify(this.state.schedule));M.time.start="sunset",M.time.end="sunrise",this.onChange(M)}}),label:D.t("sch_astroNight")}))),!e.time.exactTime&&this.getPeriodSettingsMinutes(o)))}getTimeExactElements(){const e=Rs.includes(this.state.schedule.time.start);return n.createElement("div",{key:"timeExact",style:_.rowDiv},n.createElement("div",{style:_.modeDiv},n.createElement(H,{control:n.createElement(Me,{style:_.inputRadio,checked:!!this.state.schedule.time.exactTime,onClick:()=>{const t=JSON.parse(JSON.stringify(this.state.schedule));t.time.exactTime=!0,this.onChange(t)}}),label:D.t("sch_exactTime")})),this.state.schedule.time.exactTime&&n.createElement(Xe,{variant:"standard",value:e?this.state.schedule.time.start:"00:00",onChange:t=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.time.start=t.target.value,this.onChange(s)}},n.createElement(te,{key:"specific",value:"00:00"},D.t("sch_specificTime")),Rs.map(t=>n.createElement(te,{key:t,value:t},D.t(`sch_astro_${t}`)))),this.state.schedule.time.exactTime&&!e&&n.createElement("div",{style:_.settingsDiv},n.createElement(le,{variant:"standard",style:_.inputTime,key:"exactTimeValue",value:this.state.schedule.time.start,type:"time",sx:t=>({'& input[type="time"]::-webkit-calendar-picker-indicator':{filter:t.palette.mode==="dark"?"invert(80%)":void 0}}),onChange:t=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.time.start=t.target.value,this.onChange(s)},slotProps:{inputLabel:{shrink:!0}},margin:"normal"})))}static getDivider(){return n.createElement("hr",{style:_.hr})}getPeriodModes(){const e=this.state.schedule,t=!e.period.dows&&!e.period.months&&!e.period.dates&&!e.period.years&&!e.period.days&&!e.period.weeks;return t&&!e.period.once&&(e.period.once=Ce.now2string(!0)),[n.createElement("div",{key:"once",style:{..._.rowDiv,..._.rowOnce}},n.createElement("div",{style:_.modeDiv},n.createElement(H,{control:n.createElement(Me,{style:_.inputRadio,checked:!!t,onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.once||=Ce.now2string(!0),s.period.dows="",s.period.months="",s.period.dates="",s.period.years=0,s.period.yearDate=0,s.period.yearMonth=0,s.period.weeks=0,s.period.days=0,this.onChange(s)}}),label:D.t("sch_periodOnce")})),t&&n.createElement("div",{style:_.settingsDiv},n.createElement(le,{variant:"standard",style:_.inputDate,type:"date",ref:this.refOnce,key:"exactDateAt",defaultValue:vr(e.period.once),onChange:s=>{this.timerOnce&&clearTimeout(this.timerOnce),this.timerOnce=null,this.refOnce.current&&(this.refOnce.current.style.background="#ff000030"),this.timerOnce=setTimeout(r=>{this.timerOnce=null,this.refOnce.current&&(this.refOnce.current.style.background="");const o=JSON.parse(JSON.stringify(this.state.schedule)),M=Ce.string2date(r);M.toString()!=="Invalid Date"&&(o.period.once=`${yt(M.getDate())}.${yt(M.getMonth()+1)}.${M.getFullYear()}`,this.onChange(o))},1500,s.target.value)},slotProps:{inputLabel:{shrink:!0}},label:D.t("sch_at"),margin:"normal"}))),n.createElement(W,{component:"div",key:"days",sx:E.getStyle(this.props.theme,_.rowDiv,_.rowDays)},n.createElement("div",{style:_.modeDiv},n.createElement(H,{control:n.createElement(Me,{style:_.inputRadio,checked:!!e.period.days,onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.days=1,s.period.dows="",s.period.months="",s.period.dates="",s.period.years=0,s.period.yearDate=0,s.period.yearMonth=0,s.period.weeks=0,s.period.once="",this.onChange(s)}}),label:D.t("sch_periodDaily")})),n.createElement("div",{style:_.settingsDiv},this.getPeriodSettingsDaily(),e.period.days?this.getPeriodSettingsWeekdays():null)),n.createElement(W,{component:"div",key:"weeks",sx:E.getStyle(this.props.theme,_.rowDiv,_.rowDows)},n.createElement("div",{style:_.modeDiv},n.createElement(H,{control:n.createElement(Me,{style:_.inputRadio,checked:!!e.period.weeks,onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.weeks=e.period.weeks?0:1,s.period.dows||="[0]",s.period.months="",s.period.dates="",s.period.years=0,s.period.yearDate=0,s.period.yearMonth=0,s.period.days=0,s.period.once="",this.onChange(s)}}),label:D.t("sch_periodWeekly")})),n.createElement(W,{component:"div",style:_.settingsDiv},n.createElement("div",{style:_.settingsDiv},this.getPeriodSettingsWeekly()),n.createElement(W,{component:"div",sx:E.getStyle(this.props.theme,_.settingsDiv,_.rowDowsDows)},this.state.schedule.period.weeks?this.getPeriodSettingsWeekdays():null))),n.createElement(W,{component:"div",key:"months",sx:E.getStyle(this.props.theme,_.rowDiv,_.rowMonths)},n.createElement("div",{style:_.modeDiv},n.createElement(H,{control:n.createElement(Me,{style:_.inputRadio,checked:!!e.period.months,onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.months=1,s.period.dows="",s.period.dates="",s.period.years=0,s.period.yearDate=0,s.period.yearMonth=0,s.period.weeks=0,s.period.days=0,s.period.once="",this.onChange(s)}}),label:D.t("sch_periodMonthly")})),n.createElement("div",{style:_.settingsDiv},this.getPeriodSettingsMonthly(),e.period.months?n.createElement(W,null,n.createElement(W,{component:"div",sx:E.getStyle(this.props.theme,_.settingsDiv,_.rowMonthsDates)},n.createElement(H,{control:n.createElement(ne,{style:_.inputRadio,checked:!!e.period.dates,onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.months||=1;const r=[];for(let o=1;o<=31;o++)r.push(o);s.period.dates||=JSON.stringify(r),s.period.dows="",s.period.years=0,s.period.yearDate=0,s.period.yearMonth=0,s.period.weeks=0,s.period.days=0,s.period.once="",this.onChange(s)}}),label:D.t("sch_periodDates")})),n.createElement(W,{component:"div",sx:E.getStyle(this.props.theme,_.settingsDiv,_.rowMonthsDates)},this.getPeriodSettingsDates())):null)),n.createElement(W,{component:"div",key:"years",sx:E.getStyle(this.props.theme,_.rowDiv,_.rowYears)},n.createElement("div",{style:_.modeDiv},n.createElement(H,{control:n.createElement(Me,{style:_.inputRadio,checked:!!e.period.years,onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.years=1,s.period.yearDate=1,s.period.yearMonth=1,s.period.dows="",s.period.months=0,s.period.dates="",s.period.weeks=0,s.period.days=0,s.period.once="",this.onChange(s)}}),label:D.t("sch_periodYearly")})),n.createElement("div",{style:_.settingsDiv},n.createElement("div",{style:_.settingsDiv},this.getPeriodSettingsYearly()),!!e.period.years&&n.createElement("div",{style:_.settingsDiv},n.createElement("span",null,D.t("sch_on")),n.createElement(Ut,{key:"input",value:this.state.schedule.period.yearDate,style:_.inputEvery,type:"number",inputProps:{min:1,max:31},onChange:s=>{const r=JSON.parse(JSON.stringify(this.state.schedule));r.period.yearDate=parseInt(s.target.value,10),r.period.yearDate<1&&(r.period.yearDate=31),r.period.yearDate>31&&(r.period.yearDate=1),this.onChange(r)}}),n.createElement(Xe,{variant:"standard",value:e.period.yearMonth,onChange:s=>{const r=JSON.parse(JSON.stringify(this.state.schedule));r.period.yearMonth=s.target.value,this.onChange(r)}},n.createElement(te,{key:"every",value:0},D.t("sch_yearEveryMonth")),Oi.map((s,r)=>n.createElement(te,{key:s,value:r+1},D.t(s)))))))]}getPeriodSettingsMinutes(e){return n.createElement("div",{style:{display:"inline-block",marginTop:e?15:"inherit"}},n.createElement("label",{style:{marginLeft:4,marginRight:4}},D.t("sch_every")),n.createElement(Ut,{value:this.state.schedule.time.interval,style:{..._.inputEvery,verticalAlign:"bottom"},type:"number",inputProps:{min:1},onChange:t=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.time.interval=parseInt(t.target.value,10),this.onChange(s)}}),n.createElement(Xe,{variant:"standard",value:this.state.schedule.time.mode,onChange:t=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.time.mode=t.target.value,this.onChange(s)}},n.createElement(te,{value:Ur.minutes},D.t("sch_periodMinutes")),n.createElement(te,{value:Ur.hours},D.t("sch_periodHours"))))}getPeriodSettingsWeekdays(){const e=this.state.schedule,t=e.period.dows&&e.period.dows!=="[1, 2, 3, 4, 5]"&&e.period.dows!=="[0, 6]";return[n.createElement("div",{key:"workdays"},n.createElement(H,{control:n.createElement(Me,{style:_.inputRadio,checked:e.period.dows==="[1, 2, 3, 4, 5]",onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.dows="[1, 2, 3, 4, 5]",s.period.days&&(s.period.days=1),this.onChange(s)}}),label:D.t("sch_periodWorkdays")})),n.createElement("div",{key:"weekend"},n.createElement(H,{control:n.createElement(Me,{style:_.inputRadio,checked:e.period.dows==="[0, 6]",onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.dows="[0, 6]",s.period.days&&(s.period.days=1),this.onChange(s)}}),label:D.t("sch_periodWeekend")})),n.createElement("div",{key:"specific",style:{verticalAlign:"top"}},n.createElement(H,{style:{verticalAlign:"top"},control:n.createElement(Me,{style:_.inputRadio,checked:!!t,onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.dows="[0, 1, 2, 3, 4, 5, 6]",s.period.days&&(s.period.days=1),this.onChange(s)}}),label:D.t("sch_periodWeekdays")}),t&&(e.period.days===1||e.period.weeks)&&n.createElement(Tr,{row:!0,style:{..._.inputGroup,width:150}},[1,2,3,4,5,6,0].map(s=>n.createElement(H,{key:`specific_${s}`,style:_.inputGroupElement,control:n.createElement(ne,{style:_.inputSmallCheck,checked:e.period.dows.includes(s.toString()),onChange:r=>{const o=JSON.parse(JSON.stringify(this.state.schedule));let M;try{M=JSON.parse(o.period.dows)}catch{M=[]}r.target.checked&&!M.includes(s)?M.push(s):!r.target.checked&&M.includes(s)&&M.splice(M.indexOf(s),1),M.sort((a,u)=>a-u),o.period.dows=JSON.stringify(M),o.period.days&&(o.period.days=1),this.onChange(o)}}),label:D.t(Qr[s])}))))]}getPeriodSettingsDaily(){if(!this.state.schedule.period.days)return null;const e=this.state.schedule;return[n.createElement("div",{key:"every_day"},n.createElement(H,{control:n.createElement(Me,{style:_.inputRadio,checked:e.period.days===1&&!e.period.dows,onClick:()=>{const t=JSON.parse(JSON.stringify(this.state.schedule));t.period.days=1,t.period.dows="",this.onChange(t)}}),label:D.t("sch_periodEveryDay")})),n.createElement("div",{key:"everyN_day"},n.createElement(H,{control:n.createElement(Me,{style:_.inputRadio,checked:e.period.days>1,onClick:()=>{const t=JSON.parse(JSON.stringify(this.state.schedule));t.period.days=2,t.period.dows="",this.onChange(t)}}),label:D.t("sch_periodEvery")}),e.period.days>1&&[n.createElement(Ut,{key:"input",value:this.state.schedule.period.days,style:_.inputEvery,type:"number",inputProps:{min:2},onChange:t=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.days=parseInt(t.target.value,10),s.period.dows="",this.onChange(s)}}),n.createElement("span",{key:"span",style:{paddingRight:10}},D.t("sch_periodDay"))])]}getPeriodSettingsWeekly(){if(!this.state.schedule.period.weeks)return null;const e=this.state.schedule;return[n.createElement("div",{key:"radios",style:{display:"inline-block",verticalAlign:"top"}},n.createElement("div",null,n.createElement(H,{control:n.createElement(Me,{style:_.inputRadio,checked:e.period.weeks===1,onClick:()=>{const t=JSON.parse(JSON.stringify(this.state.schedule));t.period.weeks=1,this.onChange(t)}}),label:D.t("sch_periodEveryWeek")})),n.createElement("div",null,n.createElement(H,{control:n.createElement(Me,{style:_.inputRadio,checked:e.period.weeks>1,onClick:()=>{const t=JSON.parse(JSON.stringify(this.state.schedule));t.period.weeks=2,this.onChange(t)}}),label:D.t("sch_periodEvery")}),e.period.weeks>1&&[n.createElement(Ut,{key:"input",value:this.state.schedule.period.weeks,style:_.inputEvery,type:"number",inputProps:{min:2},onChange:t=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.weeks=parseInt(t.target.value,10),this.onChange(s)}}),n.createElement("span",{key:"text"},D.t("sch_periodWeek"))]))]}getPeriodSettingsDates(){if(!this.state.schedule.period.dates)return null;const e=this.state.schedule,t=[];for(let r=1;r<=31;r++)t.push(r);const s=JSON.parse(e.period.dates);return n.createElement(Tr,{row:!0,style:{..._.inputGroup,maxWidth:620}},n.createElement(H,{style:_.inputDateDay,control:n.createElement(ne,{style:_.inputDateDayCheck,checked:s.length===31,onChange:()=>{const r=JSON.parse(JSON.stringify(this.state.schedule)),o=[];for(let M=1;M<=31;M++)o.push(M);r.period.dates=JSON.stringify(o),this.onChange(r)}}),label:D.t("sch_all")}),n.createElement(H,{style:_.inputDateDay,control:n.createElement(ne,{style:_.inputDateDayCheck,checked:!s.length,onChange:()=>{const r=JSON.parse(JSON.stringify(this.state.schedule));r.period.dates="[]",this.onChange(r)}}),label:D.t("sch_no_one")}),s.length!==31&&!!s.length&&n.createElement(H,{style:_.inputDateDay,control:n.createElement(ne,{style:_.inputDateDayCheck,checked:!1,onChange:()=>{const r=JSON.parse(JSON.stringify(this.state.schedule)),o=[],M=JSON.parse(r.period.dates);for(let a=1;a<=31;a++)M.includes(a)||o.push(a);o.sort((a,u)=>a-u),r.period.dates=JSON.stringify(o),this.onChange(r)}}),label:D.t("sch_invert")}),n.createElement("div",null),t.map(r=>n.createElement(H,{key:`date_${r}`,style:r?_.inputDateDay:{..._.inputDateDay,opacity:0,cursor:"default",userSelect:"none",pointerEvents:"none"},control:n.createElement(ne,{style:_.inputDateDayCheck,checked:JSON.parse(e.period.dates).includes(r),onChange:o=>{const M=JSON.parse(JSON.stringify(this.state.schedule));let a;try{a=JSON.parse(M.period.dates)}catch{a=[]}o.target.checked&&!a.includes(r)?a.push(r):!o.target.checked&&a.includes(r)&&a.splice(a.indexOf(r),1),a.sort((u,l)=>u-l),M.period.dates=JSON.stringify(a),this.onChange(M)}}),label:r<10?[n.createElement("span",{key:"0",style:{opacity:0}},"0"),n.createElement("span",{key:"num"},r)]:r})))}getPeriodSettingsMonthly(){if(!this.state.schedule.period.months)return null;const e=this.state.schedule,t=typeof e.period.months=="string"?JSON.parse(e.period.months):[];return[n.createElement("div",{key:"every"},n.createElement(H,{control:n.createElement(Me,{style:_.inputRadio,checked:typeof e.period.months=="number"&&e.period.months===1,onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.months=1,this.onChange(e)}}),label:D.t("sch_periodEveryMonth")})),n.createElement("div",{key:"everyN"},n.createElement(H,{control:n.createElement(Me,{style:_.inputRadio,checked:typeof e.period.months=="number"&&e.period.months>1,onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.months=2,this.onChange(s)}}),label:D.t("sch_periodEvery")}),typeof e.period.months=="number"&&e.period.months>1&&[n.createElement(Ut,{key:"input",value:e.period.months,style:_.inputEvery,type:"number",inputProps:{min:2},onChange:s=>{const r=JSON.parse(JSON.stringify(this.state.schedule));r.period.months=parseInt(s.target.value,10),r.period.months<1&&(r.period.months=1),this.onChange(r)}}),n.createElement("span",{key:"text"},D.t("sch_periodMonth"))]),n.createElement("div",{key:"specific",style:{verticalAlign:"top"}},n.createElement(H,{style:{verticalAlign:"top"},control:n.createElement(Me,{style:_.inputRadio,checked:typeof e.period.months=="string",onClick:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.months="[1,2,3,4,5,6,7,8,9,10,11,12]",this.onChange(s)}}),label:D.t("sch_periodSpecificMonths")}),typeof e.period.months=="string"&&n.createElement(Tr,{row:!0,style:_.inputGroup},n.createElement(H,{style:_.inputDateDay,control:n.createElement(ne,{style:_.inputDateDayCheck,checked:t.length===12,onChange:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule)),r=[];for(let o=1;o<=12;o++)r.push(o);s.period.months=JSON.stringify(r),this.onChange(s)}}),label:D.t("sch_all")}),n.createElement(H,{style:_.inputDateDay,control:n.createElement(ne,{style:_.inputDateDayCheck,checked:!t.length,onChange:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.months="[]",this.onChange(s)}}),label:D.t("sch_no_one")}),t.length!==12&&!!t.length&&n.createElement(H,{style:_.inputDateDay,control:n.createElement(ne,{style:_.inputDateDayCheck,checked:!1,onChange:()=>{const s=JSON.parse(JSON.stringify(this.state.schedule)),r=[],o=JSON.parse(s.period.months);for(let M=1;M<=12;M++)o.includes(M)||r.push(M);r.sort((M,a)=>M-a),s.period.months=JSON.stringify(r),this.onChange(s)}}),label:D.t("sch_invert")}),n.createElement("div",null),Oi.map((s,r)=>n.createElement(H,{key:`month_${r}`,style:_.inputGroupElement,control:n.createElement(ne,{style:_.inputSmallCheck,checked:typeof e.period.months=="string"?JSON.parse(e.period.months).includes(r+1):e.period.months===r,onChange:o=>{const M=JSON.parse(JSON.stringify(this.state.schedule));let a;try{a=JSON.parse(M.period.months)}catch{a=[]}o.target.checked&&!a.includes(r+1)?a.push(r+1):!o.target.checked&&a.includes(r+1)&&a.splice(a.indexOf(r+1),1),a.sort((u,l)=>u-l),M.period.months=JSON.stringify(a),this.onChange(M)}}),label:D.t(s)}))))]}getPeriodSettingsYearly(){if(!this.state.schedule.period.years)return null;const e=this.state.schedule;return[n.createElement("div",{key:"year"},n.createElement(H,{control:n.createElement(Me,{style:_.inputRadio,checked:e.period.years===1,onClick:()=>{const t=JSON.parse(JSON.stringify(this.state.schedule));t.period.years=1,this.onChange(t)}}),label:D.t("sch_periodEveryYear")})),n.createElement("div",{key:"every"},n.createElement(H,{control:n.createElement(Me,{style:_.inputRadio,checked:e.period.years>1,onClick:()=>{const t=JSON.parse(JSON.stringify(this.state.schedule));t.period.years=2,this.onChange(t)}}),label:D.t("sch_periodEvery")}),e.period.years>1&&[n.createElement(Ut,{key:"input",value:this.state.schedule.period.years,style:_.inputEvery,type:"number",inputProps:{min:2},onChange:t=>{const s=JSON.parse(JSON.stringify(this.state.schedule));s.period.years=parseInt(t.target.value,10),s.period.years<1&&(s.period.years=1),this.onChange(s)}}),n.createElement("span",{key:"text"},D.t("sch_periodYear"))])]}static now2string(e){const t=new Date;return t.setHours(0),t.setMinutes(0),t.setSeconds(0),t.setMilliseconds(0),e&&(t.setDate(t.getDate()+2),t.setMilliseconds(t.getMilliseconds()-1)),`${yt(t.getDate())}.${yt(t.getMonth()+1)}.${yt(t.getFullYear())}`}static string2date(e){let t=e.split(".");return t.length===1?(t=e.split("-"),new Date(parseInt(t[0],10),parseInt(t[1],10)-1,parseInt(t[2],10))):new Date(parseInt(t[2],10),parseInt(t[1],10)-1,parseInt(t[0],10))}getValidSettings(){const e=this.state.schedule;return n.createElement("div",{style:_.rowDiv},n.createElement("div",{style:{..._.modeDiv,verticalAlign:"middle"}},n.createElement("span",{style:{fontWeight:"bold",paddingRight:10}},D.t("sch_valid")),n.createElement("span",null,D.t("sch_validFrom"))),n.createElement("div",{style:_.settingsDiv},n.createElement(le,{variant:"standard",style:{..._.inputDate,marginRight:10},key:"exactTimeFrom",inputRef:this.refFrom,defaultValue:vr(e.valid.from),type:"date",onChange:t=>{this.timerFrom&&clearTimeout(this.timerFrom),this.refFrom.current&&(this.refFrom.current.style.background="#ff000030"),this.timerFrom=setTimeout(s=>{this.timerFrom=null,this.refFrom.current&&(this.refFrom.current.style.background="");const r=JSON.parse(JSON.stringify(this.state.schedule)),o=Ce.string2date(s);o.toString()!=="Invalid Date"&&(r.valid.from=`${yt(o.getDate())}.${yt(o.getMonth()+1)}.${o.getFullYear()}`,this.onChange(r))},1500,t.target.value)},slotProps:{inputLabel:{shrink:!0}},margin:"normal"}),n.createElement(H,{control:n.createElement(ne,{style:_.inputRadio,checked:!!e.valid.to,onClick:()=>{const t=JSON.parse(JSON.stringify(this.state.schedule));t.valid.to=t.valid.to?"":Ce.now2string(!0),this.onChange(t)}}),label:D.t("sch_validTo")}),!!e.valid.to&&n.createElement(le,{variant:"standard",inputRef:this.refTo,style:{..._.inputDate,marginRight:10},key:"exactTimeFrom",type:"date",defaultValue:vr(e.valid.to),onChange:t=>{this.timerTo&&clearTimeout(this.timerTo),this.refTo.current&&(this.refTo.current.style.background="#ff000030"),this.timerTo=setTimeout(s=>{this.timerTo=null,this.refTo.current&&(this.refTo.current.style.background="");const r=JSON.parse(JSON.stringify(this.state.schedule)),o=Ce.string2date(s);o.toString()!=="Invalid Date"&&(r.valid.to=`${yt(o.getDate())}.${yt(o.getMonth()+1)}.${o.getFullYear()}`,this.onChange(r))},1500,t.target.value)},slotProps:{inputLabel:{shrink:!0}},margin:"normal"})))}render(){return n.createElement("div",{style:{height:"calc(100% - 48px)",width:"100%",overflow:"hidden"}},n.createElement("div",null,this.state.desc),n.createElement("div",{style:_.scrollWindow},n.createElement("h5",null,D.t("sch_time")),this.getTimePeriodElements(),this.getTimeExactElements(),Ce.getDivider(),n.createElement("h5",null,D.t("sch_period")),this.getPeriodModes(),!this.state.schedule.period.once&&Ce.getDivider(),!this.state.schedule.period.once&&this.getValidSettings()))}}const Ei={different:{opacity:.5},icon:{width:16,height:16,marginRight:8}};class age extends ze{wordDifferent;timeout=null;constructor(e){super(e),e.different&&(this.wordDifferent=e.t("ra___different__"));let t;Array.isArray(e.list)?t=e.list.filter(s=>(s==null?void 0:s._id)&&s.common).map(s=>{var r,o;return{name:E.getObjectNameFromObj(s,e.lang).replace("system.group.","").replace("system.user.","").replace("enum.rooms.","").replace("enum.functions.",""),value:s._id,icon:(r=s.common)==null?void 0:r.icon,color:(o=s.common)==null?void 0:o.color}}):t=Object.values(e.list).filter(s=>(s==null?void 0:s._id)&&s.common).map(s=>{var r,o;return{name:E.getObjectNameFromObj(s,e.lang).replace("system.group.","").replace("system.user.","").replace("enum.rooms.","").replace("enum.functions.",""),value:s._id,icon:(r=s.common)==null?void 0:r.icon,color:(o=s.common)==null?void 0:o.color}}),e.different&&e.value===e.different&&t.unshift({value:e.different,name:this.wordDifferent||""}),e.allowNone&&t.unshift({value:"",name:D.t("ra_none")}),this.state={list:t}}render(){this.props.allowNone&&!this.state.list.find(r=>r.value==="")?this.timeout=this.timeout||setTimeout(()=>{this.timeout=null;const r=JSON.parse(JSON.stringify(this.state.list));r.unshift({value:"",name:D.t("ra_none")}),this.setState({list:r})},100):!this.props.allowNone&&this.state.list.find(r=>r.value==="")&&(this.timeout=this.timeout||setTimeout(()=>{this.timeout=null;const r=JSON.parse(JSON.stringify(this.state.list)),o=this.state.list.findIndex(M=>M.value==="");r.splice(o,1),this.setState({list:r})},100));const e=this.state.list.find(r=>r.value===this.props.value||this.props.removePrefix&&r.value.replace(this.props.removePrefix,"")===this.props.value),t=this.props.value===this.props.different?{}:{color:(e==null?void 0:e.color)||void 0,backgroundColor:E.getInvertedColor((e==null?void 0:e.color)||"",this.props.themeType)};this.props.dense&&this.props.style&&Object.assign(t,this.props.style);const s=n.createElement(Xe,{variant:"standard",disabled:this.props.disabled,value:this.props.value,slotProps:{input:this.props.inputProps},renderValue:()=>n.createElement("span",null,e!=null&&e.icon?n.createElement(Se,{src:e==null?void 0:e.icon,style:Ei.icon}):null,e==null?void 0:e.name),sx:{"&.MuiSelect-root":this.props.value===this.props.different?Ei.different:{}},classes:{root:this.props.dense?this.props.className:""},style:t,onChange:r=>{if(this.props.different&&r.target.value!==this.props.different){let o=null;for(let M=0;Mthis.props.onChange(r.target.value));return}}this.props.onChange(this.props.removePrefix?r.target.value.replace(this.props.removePrefix,""):r.target.value)}},this.state.list.map(r=>n.createElement(te,{style:this.props.different&&r.value===this.props.different?Ei.different:{color:r.color||void 0,backgroundColor:E.getInvertedColor(r.color||"",this.props.themeType)},key:r.value,value:r.value},r.icon?n.createElement(Se,{src:r.icon,style:Ei.icon}):null,r.name)));return this.props.dense?s:n.createElement(wt,{variant:"standard",fullWidth:!!this.props.fullWidth,style:this.props.style,className:this.props.className},n.createElement(As,null,this.props.label),s)}}class cge extends ze{resizerRefTable;resizerActiveIndex;resizerActiveDiv;resizerCurrentWidths;widthFilled=!1;installTimeout=null;resizerMin=0;resizerMinNext=0;resizerPosition=0;resizerOldWidth=0;resizerOldWidthNext=0;constructor(e){super(e),this.resizerRefTable=n.createRef(),this.resizerActiveIndex=null,this.resizerActiveDiv=null,this.resizerCurrentWidths=[]}componentDidMount(){this.resizerInstall()}componentWillUnmount(){this.resizerUninstall()}resizerInstall(){if(this.resizerRefTable.current&&!this.resizerRefTable.current._installed){this.resizerRefTable.current._installed=!0;const e=this.resizerRefTable.current.querySelectorAll("th"),t=(window._localStorage||window.localStorage).getItem(`App.${this.props.name||"history"}.table`);if(this.widthFilled=!1,t)try{this.resizerCurrentWidths=JSON.parse(t),this.widthFilled=!0}catch{}if(this.widthFilled)if(this.resizerCurrentWidths.length!==e.length)this.resizerCurrentWidths=[],this.widthFilled=!1;else{const s=this.resizerRefTable.current.offsetWidth;let r=0;for(let o=0;o20&&(this.resizerCurrentWidths=[],this.widthFilled=!1)}for(let s=0;s{this.installTimeout=null,this.resizerInstall()},100)}resizerReset=()=>{for(let e=0;e{if(this.resizerActiveDiv&&this.resizerActiveIndex!==null){const t=this.resizerOldWidth+e.clientX-this.resizerPosition,s=this.resizerOldWidthNext-e.clientX+this.resizerPosition;(!this.resizerMin||t>this.resizerMin)&&(!this.resizerMinNext||s>this.resizerMinNext)&&(this.resizerCurrentWidths[this.resizerActiveIndex]=t,this.resizerCurrentWidths[this.resizerActiveIndex+1]=s,this.resizerApplyWidths())}};resizerMouseUp=()=>{(window._localStorage||window.localStorage).setItem(`App.${this.props.name||"history"}.table`,JSON.stringify(this.resizerCurrentWidths)),this.resizerActiveIndex=null,this.resizerActiveDiv=null,window.removeEventListener("mousemove",this.resizerMouseMove),window.removeEventListener("mouseup",this.resizerMouseUp)};resizerMouseDown=e=>{var t,s,r,o;if(this.resizerActiveIndex===null||this.resizerActiveIndex===void 0){console.log(`Mouse down ${(t=e.target)==null?void 0:t.dataset.index}`),this.resizerActiveIndex=parseInt(((s=e.target)==null?void 0:s.dataset.index)||"0",10),this.resizerActiveDiv=e.target,this.resizerMin=this.props.minWidths?this.props.minWidths[this.resizerActiveIndex]:0,this.resizerMinNext=this.props.minWidths?this.props.minWidths[this.resizerActiveIndex+1]:0,this.resizerPosition=e.clientX;let M;this.resizerCurrentWidths[this.resizerActiveIndex]==="auto"&&(M=(r=this.resizerRefTable.current)==null?void 0:r.querySelectorAll("th"),M&&(this.resizerCurrentWidths[this.resizerActiveIndex]=M[this.resizerActiveIndex].offsetWidth)),this.resizerCurrentWidths[this.resizerActiveIndex+1]==="auto"&&(M=M||((o=this.resizerRefTable.current)==null?void 0:o.querySelectorAll("th")),M&&(this.resizerCurrentWidths[this.resizerActiveIndex+1]=M[this.resizerActiveIndex+1].offsetWidth)),this.resizerOldWidth=this.resizerCurrentWidths[this.resizerActiveIndex],this.resizerOldWidthNext=this.resizerCurrentWidths[this.resizerActiveIndex+1],window.addEventListener("mousemove",this.resizerMouseMove),window.addEventListener("mouseup",this.resizerMouseUp)}};render(){if(this.props.ready===!1)return n.createElement(nl,null);const e={gridTemplateColumns:this.resizerApplyWidths()};return n.createElement(Wa,{stickyHeader:this.props.stickyHeader,size:this.props.size||"small",className:this.props.className,sx:this.props.sx,ref:this.resizerRefTable,style:{...this.props.style||void 0,...e}},this.props.children)}}const br={div:{borderRadius:3,padding:"0 3px",lineHeight:"20px",whiteSpace:"nowrap",overflow:"hidden",display:"flex",alignItems:"center"},icon:{width:16,height:16,marginRight:8,verticalAlign:"middle"},text:{display:"inline-block",overflow:"hidden",textOverflow:"ellipsis"}};function uge(i){var o,M,a,u,l,N,c,L,j;const e=i.value;let t;const s=i.removePrefix||"";if(typeof e=="string"){const g=i.list;if(g)if(Array.isArray(g)){const y=g.find(d=>(d==null?void 0:d._id)===s+e);y?t={name:E.getObjectNameFromObj(y,i.lang).replace("system.group.",""),value:y._id,icon:i.icon||((o=y.common)==null?void 0:o.icon),color:i.color||((M=y.common)==null?void 0:M.color)}:t={name:e,value:s+e}}else if(g[s+e]){const y=g[s+e];t={name:E.getObjectNameFromObj(y,i.lang).replace("system.group.",""),value:y._id,icon:i.icon||((a=y.common)==null?void 0:a.icon),color:i.color||((u=y.common)==null?void 0:u.color)}}else t={name:e,value:s+e,icon:i.icon,color:i.color};else t={name:e,value:s+e,icon:i.icon,color:i.color}}else if(!e||typeof e!="object")t={name:"",value:"",icon:i.icon,color:i.color};else{const g=e;t={name:E.getObjectNameFromObj(g,i.lang).replace("system.group.","").replace("system.user.","").replace("enum.rooms.","").replace("enum.functions.",""),value:g._id,icon:i.icon||((l=g.common)==null?void 0:l.icon),color:i.color||((N=g.common)==null?void 0:N.color)}}const r=t!=null&&t.color?{border:`1px solid ${E.invertColor(t==null?void 0:t.color)}`,color:E.getInvertedColor(t==null?void 0:t.color,i.themeType||"light",!0)||void 0,backgroundColor:t==null?void 0:t.color}:{};return n.createElement("div",{style:{...i.style||void 0,...br.div,...r||void 0},className:E.clsx(i.className,(c=i.moreClasses)==null?void 0:c.root),title:i.title||t.value},t!=null&&t.icon?n.createElement(Se,{src:t==null?void 0:t.icon,className:(L=i.moreClasses)==null?void 0:L.icon,style:br.icon}):null,n.createElement("div",{style:br.text,className:(j=i.moreClasses)==null?void 0:j.text},t==null?void 0:t.name))}function lge({themeName:i,toggleTheme:e,t,className:s,style:r,size:o}){return n.createElement("div",{className:s||void 0,style:r||void 0},n.createElement(ae,{title:t("ra_Change color theme"),slotProps:{popper:{sx:{pointerEvents:"none"}}}},n.createElement(P,{onClick:()=>e(),size:o||"medium"},i==="dark"&&n.createElement(Zl,{className:s}),i==="blue"&&n.createElement(Xl,{className:s}),i==="colored"&&n.createElement($o,{className:s}),i!=="dark"&&i!=="blue"&&i!=="colored"&&n.createElement(Kl,{className:s}))))}function Lr(){return(Lr=Object.assign||function(i){for(var e=1;e=0||(r[t]=i[t]);return r}function zo(i){var e=Fe(i),t=Fe(function(s){e.current&&e.current(s)});return e.current=i,t.current}var Mi=function(i,e,t){return e===void 0&&(e=0),t===void 0&&(t=1),i>t?t:i0:d.buttons>0)&&r.current?o(Ta(r.current,d,a.current)):y(!1)},g=function(){return y(!1)};function y(d){var h=u.current,m=Io(r.current),w=d?m.addEventListener:m.removeEventListener;w(h?"touchmove":"mousemove",j),w(h?"touchend":"mouseup",g)}return[function(d){var h=d.nativeEvent,m=r.current;if(m&&(ya(h),!(function(O,A){return A&&!ei(O)})(h,u.current)&&m)){if(ei(h)){u.current=!0;var w=h.changedTouches||[];w.length&&(a.current=w[0].identifier)}m.focus(),o(Ta(m,h,a.current)),y(!0)}},function(d){var h=d.which||d.keyCode;h<37||h>40||(d.preventDefault(),M({left:h===39?.05:h===37?-.05:0,top:h===40?.05:h===38?-.05:0}))},y]},[M,o]),N=l[0],c=l[1],L=l[2];return ye(function(){return L},[L]),n.createElement("div",Lr({},s,{onTouchStart:N,onMouseDown:N,className:"react-colorful__interactive",ref:r,onKeyDown:c,tabIndex:0,role:"slider"}))}),oM=function(i){return i.filter(Boolean).join(" ")},pu=function(i){var e=i.color,t=i.left,s=i.top,r=s===void 0?.5:s,o=oM(["react-colorful__pointer",i.className]);return n.createElement("div",{className:o,style:{top:100*r+"%",left:100*t+"%"}},n.createElement("div",{className:"react-colorful__pointer-fill",style:{backgroundColor:e}}))},pe=function(i,e,t){return e===void 0&&(e=0),t===void 0&&(t=Math.pow(10,e)),Math.round(t*i)/t},lLe=function(i){return TLe(ho(i))},ho=function(i){return i[0]==="#"&&(i=i.substring(1)),i.length<6?{r:parseInt(i[0]+i[0],16),g:parseInt(i[1]+i[1],16),b:parseInt(i[2]+i[2],16),a:i.length===4?pe(parseInt(i[3]+i[3],16)/255,2):1}:{r:parseInt(i.substring(0,2),16),g:parseInt(i.substring(2,4),16),b:parseInt(i.substring(4,6),16),a:i.length===8?pe(parseInt(i.substring(6,8),16)/255,2):1}},NLe=function(i){return gLe(jLe(i))},LLe=function(i){var e=i.s,t=i.v,s=i.a,r=(200-e)*t/100;return{h:pe(i.h),s:pe(r>0&&r<200?e*t/100/(r<=100?r:200-r)*100:0),l:pe(r/2),a:pe(s,2)}},wo=function(i){var e=LLe(i);return"hsl("+e.h+", "+e.s+"%, "+e.l+"%)"},jLe=function(i){var e=i.h,t=i.s,s=i.v,r=i.a;e=e/360*6,t/=100,s/=100;var o=Math.floor(e),M=s*(1-t),a=s*(1-(e-o)*t),u=s*(1-(1-e+o)*t),l=o%6;return{r:pe(255*[s,a,M,M,u,s][l]),g:pe(255*[u,s,s,a,M,M][l]),b:pe(255*[M,M,u,s,s,a][l]),a:pe(r,2)}},_i=function(i){var e=i.toString(16);return e.length<2?"0"+e:e},gLe=function(i){var e=i.r,t=i.g,s=i.b,r=i.a,o=r<1?_i(pe(255*r)):"";return"#"+_i(e)+_i(t)+_i(s)+o},TLe=function(i){var e=i.r,t=i.g,s=i.b,r=i.a,o=Math.max(e,t,s),M=o-Math.min(e,t,s),a=M?o===e?(t-s)/M:o===t?2+(s-e)/M:4+(e-t)/M:0;return{h:pe(60*(a<0?a+6:a)),s:pe(o?M/o*100:0),v:pe(o/255*100),a:r}},yLe=n.memo(function(i){var e=i.hue,t=i.onChange,s=oM(["react-colorful__hue",i.className]);return n.createElement("div",{className:s},n.createElement(mu,{onMove:function(r){t({h:360*r.left})},onKey:function(r){t({h:Mi(e+360*r.left,0,360)})},"aria-label":"Hue","aria-valuenow":pe(e),"aria-valuemax":"360","aria-valuemin":"0"},n.createElement(pu,{className:"react-colorful__hue-pointer",left:e/360,color:wo({h:e,s:100,v:100,a:1})})))}),DLe=n.memo(function(i){var e=i.hsva,t=i.onChange,s={backgroundColor:wo({h:e.h,s:100,v:100,a:1})};return n.createElement("div",{className:"react-colorful__saturation",style:s},n.createElement(mu,{onMove:function(r){t({s:100*r.left,v:100-100*r.top})},onKey:function(r){t({s:Mi(e.s+100*r.left,0,100),v:Mi(e.v-100*r.top,0,100)})},"aria-label":"Color","aria-valuetext":"Saturation "+pe(e.s)+"%, Brightness "+pe(e.v)+"%"},n.createElement(pu,{className:"react-colorful__saturation-pointer",top:1-e.v/100,left:e.s/100,color:wo(e)})))}),Ou=function(i,e){if(i===e)return!0;for(var t in i)if(i[t]!==e[t])return!1;return!0},dLe=function(i,e){return i.toLowerCase()===e.toLowerCase()||Ou(ho(i),ho(e))};function zLe(i,e,t){var s=zo(t),r=Yo(function(){return i.toHsva(e)}),o=r[0],M=r[1],a=Fe({color:e,hsva:o});ye(function(){if(!i.equal(e,a.current.color)){var l=i.toHsva(e);a.current={hsva:l,color:e},M(l)}},[e,i]),ye(function(){var l;Ou(o,a.current.hsva)||i.equal(l=i.fromHsva(o),a.current.color)||(a.current={hsva:o,color:l},s(l))},[o,i,s]);var u=Qt(function(l){M(function(N){return Object.assign({},N,l)})},[]);return[o,u]}var ILe=typeof window<"u"?Ku:ye,hLe=function(){return typeof __webpack_nonce__<"u"?__webpack_nonce__:void 0},Da=new Map,wLe=function(i){ILe(function(){var e=i.current?i.current.ownerDocument:document;if(e!==void 0&&!Da.has(e)){var t=e.createElement("style");t.innerHTML=`.react-colorful{position:relative;display:flex;flex-direction:column;width:200px;height:200px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.react-colorful__saturation{position:relative;flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(0deg,#000,transparent),linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.react-colorful__alpha-gradient,.react-colorful__pointer-fill{content:"";position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;border-radius:inherit}.react-colorful__alpha-gradient,.react-colorful__saturation{box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.react-colorful__alpha,.react-colorful__hue{position:relative;height:24px}.react-colorful__hue{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.react-colorful__last-control{border-radius:0 0 8px 8px}.react-colorful__interactive{position:absolute;left:0;top:0;right:0;bottom:0;border-radius:inherit;outline:none;touch-action:none}.react-colorful__pointer{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}.react-colorful__interactive:focus .react-colorful__pointer{transform:translate(-50%,-50%) scale(1.1)}.react-colorful__alpha,.react-colorful__alpha-pointer{background-color:#fff;background-image:url('data:image/svg+xml;charset=utf-8,')}.react-colorful__saturation-pointer{z-index:3}.react-colorful__hue-pointer{z-index:2}`,Da.set(e,t);var s=hLe();s&&t.setAttribute("nonce",s),e.head.appendChild(t)}},[])},CLe=function(i){var e=i.className,t=i.colorModel,s=i.color,r=s===void 0?t.defaultColor:s,o=i.onChange,M=Au(i,["className","colorModel","color","onChange"]),a=Fe(null);wLe(a);var u=zLe(t,r,o),l=u[0],N=u[1],c=oM(["react-colorful",e]);return n.createElement("div",Lr({},M,{ref:a,className:c}),n.createElement(DLe,{hsva:l,onChange:N}),n.createElement(yLe,{hue:l.h,onChange:N,className:"react-colorful__last-control"}))},ALe={defaultColor:"000",toHsva:lLe,fromHsva:function(i){return NLe({h:i.h,s:i.s,v:i.v,a:1})},equal:dLe},mLe=function(i){return n.createElement(CLe,Lr({},i,{colorModel:ALe}))};class pLe extends ze{dialogName;filters;filterFunc;constructor(e){super(e),this.dialogName=this.props.dialogName||"default",this.dialogName=`SelectID.${this.dialogName}`;const t=(window._localStorage||window.localStorage).getItem(this.dialogName)||"{}";try{this.filters=JSON.parse(t)}catch{this.filters={}}e.filters&&(this.filters={...this.filters,...e.filters||{}});let s=this.props.selected||[];if(Array.isArray(s)||(s=[s]),s=s.filter(r=>r),e.filterFunc)if(typeof e.filterFunc=="string")try{this.filterFunc=new Function("obj",e.filterFunc)}catch{console.error(`Cannot parse filter function: "obj => ${e.filterFunc}"`),this.filterFunc=void 0}else this.filterFunc=e.filterFunc;this.state={selected:s,name:"",selectionBlocked:!1}}handleCancel(){this.props.onClose()}handleOk(){this.props.onOk(this.props.multiSelect?this.state.selected:this.state.selected[0]||"",this.state.name),this.props.onClose()}render(){let e;return this.state.name||this.state.selected.length?this.state.selected.length===1?e=[n.createElement("span",{key:"selected"},D.t("ra_Selected")," "),n.createElement("span",{key:"id",style:{fontWeight:"bold",fontStyle:"italic"}},(this.state.name||this.state.selected[0])+(this.state.name?` [${this.state.selected[0]}]`:""))]:e=[n.createElement("span",{key:"selected"},D.t("ra_Selected")," "),n.createElement("span",{key:"id",style:{fontWeight:"bold",fontStyle:"italic"}},D.t("%s items",this.state.selected.length.toString()))]:e=this.props.title||D.t("ra_Please select object ID..."),n.createElement(de,{onClose:()=>{},maxWidth:!1,style:{zIndex:this.props.zIndex||void 0},sx:{"& .MuiDialog-paper":{height:"95%",p:"4px",width:"100%",maxWidth:"100%",maxHeight:"calc(100% - 16px)"}},fullWidth:!0,open:!0,"aria-labelledby":"ar_dialog_selectid_title"},n.createElement(he,{id:"ar_dialog_selectid_title",style:{whiteSpace:"nowrap",width:"calc(100% - 72px)",overflow:"hidden",display:"inline-block",textOverflow:"ellipsis"}},e),n.createElement(Ae,{style:{height:"100%",overflow:"hidden",padding:"8px 4px"}},n.createElement(uLe,{foldersFirst:this.props.foldersFirst,imagePrefix:this.props.imagePrefix||this.props.prefix,dateFormat:this.props.dateFormat,defaultFilters:this.filters,dialogName:this.dialogName,isFloatComma:this.props.isFloatComma,showExpertButton:this.props.showExpertButton!==void 0?this.props.showExpertButton:!0,expertMode:this.props.expertMode,columns:this.props.columns||["name","type","role","room","func","val"],types:this.props.types?Array.isArray(this.props.types)?this.props.types:[this.props.types]:["state"],root:this.props.root,t:D.t,lang:this.props.lang||D.getLanguage(),socket:this.props.socket,selected:this.state.selected,multiSelect:this.props.multiSelect,notEditable:this.props.notEditable===void 0?!0:this.props.notEditable,themeName:this.props.themeName,themeType:this.props.themeType,theme:this.props.theme,customFilter:this.props.customFilter,allowNonObjects:this.props.allowNonObjects,onFilterChanged:t=>{this.filters=t,(window._localStorage||window.localStorage).setItem(this.dialogName,JSON.stringify(t))},onSelect:async(t,s,r)=>{let o;if(Array.isArray(t)?o=t:o=[t],JSON.stringify(o)!==JSON.stringify(this.state.selected)){let M=!0;if(this.props.onSelectConfirm){const a={};for(const u of o)try{a[u]=await this.props.socket.getObject(u)}catch{}M=await this.props.onSelectConfirm(o,a)}this.setState({selected:o,name:s,selectionBlocked:!M},()=>r&&this.handleOk())}else r&&this.handleOk()},filterFunc:this.filterFunc,title:"",onAllLoaded:()=>this.setState({allLoaded:!0})})),n.createElement(me,null,n.createElement(X,{id:`ar_dialog_selectid_ok_${this.props.dialogName||""}`,variant:"contained",onClick:()=>this.handleOk(),startIcon:n.createElement(Ue,null),disabled:!this.state.allLoaded||!this.state.selected.length||this.state.selectionBlocked,color:"primary"},this.props.ok||D.t("ra_Ok")),n.createElement(X,{id:`ar_dialog_selectid_cancel_${this.props.dialogName||""}`,color:"grey",variant:"contained",onClick:()=>this.handleCancel(),startIcon:n.createElement(ui,null)},this.props.cancel||D.t("ra_Cancel"))))}}function $t(i,e,t){if(typeof e=="string"&&(e=e.split(".")),!i)return null;if(e.length===1)return t&&t[i[e[0]]]?t[i[e[0]]]:i[e[0]];const s=e.shift();return $t(i[s],e)}function Eu(i,e,t){if(typeof e=="string"&&(e=e.split(".")),e.length===1)return i[e[0]]=t;const s=e.shift();return(i[s]===null||i[s]===void 0)&&(i[s]={}),Eu(i[s],e,t)}const R={tableContainer:{width:"100%",height:"100%",overflow:"auto"},table:{width:"100%",minWidth:800,maxWidth:1920},cell:{paddingTop:0,paddingBottom:0,paddingLeft:4,paddingRight:4},rowMainWithChildren:{},rowMainWithoutChildren:{},rowNoEdit:{opacity:.3},cellExpand:{width:30},cellButton:{width:30},cellHeader:{fontWeight:"bold",background:i=>(i.palette.mode==="dark","#888"),color:i=>i.palette.mode==="dark"?"#EEE":"#111",height:48,wordBreak:"break-word",whiteSpace:"pre"},width_name_nicknames:{maxWidth:150},width_ioType:{maxWidth:100},width_type:{maxWidth:100},width_displayTraits:{maxWidth:100},width_roomHint:{maxWidth:100},rowSecondary:{fontStyle:"italic"},cellSecondary:{fontSize:10},visuallyHidden:{border:0,clip:"rect(0 0 0 0)",height:1,margin:-1,overflow:"hidden",padding:0,position:"absolute",top:20,width:1},fieldEditWithButton:{width:"calc(100% - 33px)",display:"inline-block"},fieldEdit:{width:"100%",display:"inline-block",lineHeight:"50px",verticalAlign:"middle"},fieldButton:{width:30,display:"inline-block"},colorDialog:{overflow:"hidden",padding:15},subText:{fontSize:10,fontStyle:"italic"},glow:{animation:"glow 0.2s 2 alternate"}};function da(i,e,t,s){const r=$t(i,t,s)||"",o=$t(e,t,s)||"";return or?1:0}function OLe(i,e,t){return i==="desc"?(s,r)=>da(s,r,e,t):(s,r)=>-da(s,r,e,t)}function ELe(i,e){const t=i.map((s,r)=>({e:s,i:r}));return t.sort((s,r)=>{const o=e(s.e,r.e);return o||s.i-r.i}),t.map(s=>s.e)}class Co extends ze{selectCallback=null;updateTimeout=null;constructor(e){super(e);let t=(window._localStorage||window.localStorage).getItem(this.props.name||"iob-table")||"[]";try{t=JSON.parse(t)||[]}catch{t=[]}Array.isArray(t)||(t=[]),this.state={opened:t,editMode:!1,deleteMode:!1,editData:null,order:"asc",update:null,orderBy:this.props.columns[0].field,showSelectColor:!1}}static getDerivedStateFromProps(e,t){if(e.glowOnChange){const s=[];let r=0;return e.data&&t.data&&e.data.forEach(o=>{var a;r++;const M=(a=t.data)==null?void 0:a.find(u=>u.id===o.id);M?JSON.stringify(M)!==JSON.stringify(o)&&s.push(o.id):s.push(o.id)}),s.length&&s.length!==r?{data:e.data,update:s}:{data:e.data}}return{data:e.data}}renderCellEdit(e,t){let s=$t(e,t.field);return Array.isArray(s)&&(s=s[0]),t.lookup?this.renderCellEditSelect(t,s):t.editComponent?this.renderCellEditCustom(t,s,e):t.type==="boolean"||!t.type&&typeof s=="boolean"?this.renderCellEditBoolean(t,s):t.type==="color"?this.renderCellEditColor(t,s):t.type==="oid"?this.renderCellEditObjectID(t,s):t.type==="numeric"?this.renderCellEditNumber(t,s):this.renderCellEditString(t,s)}onChange(e,t,s){const r=this.state.editData?{...this.state.editData}:{};s===t?delete r[e.field]:r[e.field]=s,this.setState({editData:r})}renderCellEditSelect(e,t){return n.createElement(Xe,{variant:"standard",onChange:s=>this.onChange(e,t,s.target.value),value:this.state.editData&&this.state.editData[e.field]||t},e.lookup&&Object.keys(e.lookup).map((s,r)=>{var o;return n.createElement(te,{key:r,value:s},(o=e.lookup)==null?void 0:o[s])}))}renderCellEditString(e,t){return n.createElement(le,{variant:"standard",style:R.fieldEdit,fullWidth:!0,value:this.state.editData&&this.state.editData[e.field]!==void 0?this.state.editData[e.field]:t,onChange:s=>this.onChange(e,t,s.target.value)})}renderCellEditNumber(e,t){return n.createElement(le,{variant:"standard",style:R.fieldEdit,type:"number",fullWidth:!0,value:this.state.editData&&this.state.editData[e.field]!==void 0?this.state.editData[e.field]:t,onChange:s=>this.onChange(e,t,s.target.value)})}renderCellEditCustom(e,t,s){const r=e.editComponent;return this.state.editData&&this.state.editData[e.field]!==void 0&&(t=this.state.editData[e.field],s=JSON.parse(JSON.stringify(s)),s[e.field]=t),r?n.createElement(r,{value:t,rowData:s,onChange:o=>this.onChange(e,t,o)}):null}renderCellEditBoolean(e,t){return n.createElement(ne,{checked:this.state.editData&&this.state.editData[e.field]!==void 0?!!this.state.editData[e.field]:!!t,onChange:s=>this.onChange(e,!!t,s.target.checked),inputProps:{"aria-label":"checkbox"}})}renderSelectColorDialog(){return n.createElement(de,{sx:{"& .MuiPaper-root":R.root,"& .MuiPaper-paper":R.paper},onClose:()=>{this.selectCallback=null,this.setState({showSelectColor:!1})},open:this.state.showSelectColor},n.createElement(mLe,{color:this.state.selectIdValue,onChange:e=>this.setState({selectIdValue:e},()=>{this.selectCallback&&this.selectCallback(e)})}))}renderCellEditColor(e,t){const s=this.state.editData&&this.state.editData[e.field]!==void 0?this.state.editData[e.field]:t;return n.createElement("div",{style:R.fieldEdit},n.createElement(le,{variant:"standard",fullWidth:!0,style:R.fieldEditWithButton,value:s,inputProps:{style:{backgroundColor:s,color:E.isUseBright(s)?"#FFF":"#000"}},onChange:r=>this.onChange(e,!!t,r.target.value)}),n.createElement(P,{style:R.fieldButton,onClick:()=>{this.selectCallback=r=>this.onChange(e,t,r),this.setState({showSelectColor:!0,selectIdValue:t})},size:"large"},n.createElement(ql,null)))}renderSelectIdDialog(){return this.state.showSelectId&&this.props.socket?n.createElement(pLe,{key:"tableSelect",imagePrefix:"../..",dialogName:this.props.adapterName,themeType:this.props.themeType,theme:this.props.theme,socket:this.props.socket,selected:this.state.selectIdValue,onClose:()=>this.setState({showSelectId:!1}),onOk:e=>{this.setState({showSelectId:!1,selectIdValue:null});const t=Array.isArray(e)?e[0]:e;t&&this.selectCallback&&(this.selectCallback&&this.selectCallback(t),this.selectCallback=null)}}):null}renderCellEditObjectID(e,t){return n.createElement("div",{style:R.fieldEdit},n.createElement(le,{variant:"standard",fullWidth:!0,style:R.fieldEditWithButton,value:this.state.editData&&this.state.editData[e.field]!==void 0?this.state.editData[e.field]:t,onChange:s=>this.onChange(e,t,s.target.value)}),n.createElement(P,{style:R.fieldButton,onClick:()=>{this.selectCallback=s=>this.onChange(e,t,s),this.setState({showSelectId:!0,selectIdValue:t})},size:"large"},n.createElement(eN,null)))}static renderCellNonEdit(e,t){let s=$t(e,t.field,t.lookup);return Array.isArray(s)&&(s=s[0]),t.type==="boolean"?n.createElement(ne,{checked:!!s,disabled:!0,inputProps:{"aria-label":"checkbox"}}):s}renderCell(e,t,s,r){return this.state.editMode===r&&t.editable!=="never"&&t.editable!==!1?n.createElement(Ve,{key:t.field,style:{...R.cell,...s?R.cellSecondary:void 0,...t.cellStyle},component:"th"},this.renderCellEdit(e,t)):n.createElement(Ve,{key:t.field,style:{...R.cell,...s?R.cellSecondary:void 0,...t.cellStyle},component:"th"},Co.renderCellNonEdit(e,t))}static renderCellWithSubField(e,t){const s=$t(e,t.field,t.lookup);if(t.subField){const r=$t(e,t.subField,t.subLookup);return n.createElement("div",null,n.createElement("div",{style:R.mainText},s),n.createElement("div",{style:{...R.subText,...t.subStyle||void 0}},r))}return n.createElement("div",null,n.createElement("div",{style:R.mainText},s))}renderLine(e,t){const s=this.props.levelShift===void 0?24:this.props.levelShift;t=t||0;const r=this.props.data.indexOf(e);if(!e||!t&&e.parentId||t&&!e.parentId)return null;const o=this.state.opened.includes(e.id),M=this.props.data.filter(u=>u.parentId===e.id),a=n.createElement(mM,{key:e.id,className:`table-row-${(e.id||"").toString().replace(/[.$]/g,"_")}`,style:{...this.state.update&&this.state.update.includes(e.id)&&R.glow||void 0,...R.row,...t?R.rowSecondary:void 0,...!t&&M.length?R.rowMainWithChildren:void 0,...!t&&!M.length?R.rowMainWithoutChildren:void 0,...this.state.editMode!==!1&&this.state.editMode!==r?R.rowNoEdit:void 0,...this.state.deleteMode!==!1&&this.state.deleteMode!==r?R.rowNoEdit:void 0}},n.createElement(Ve,{style:{...R.cell,...R.cellExpand,...t?R.cellSecondary:void 0}},M.length?n.createElement(P,{onClick:()=>{const u=[...this.state.opened],l=u.indexOf(e.id);l===-1?(u.push(e.id),u.sort()):u.splice(l,1),(window._localStorage||window.localStorage).setItem(this.props.name||"iob-table",JSON.stringify(u)),this.setState({opened:u})},size:"small"},o?n.createElement(tN,null):n.createElement(sN,null)):null),n.createElement(Ve,{scope:"row",style:{...R.cell,...t?R.cellSecondary:void 0,...this.props.columns[0].cellStyle,paddingLeft:s*t}},this.props.columns[0].subField?Co.renderCellWithSubField(e,this.props.columns[0]):$t(e,this.props.columns[0].field,this.props.columns[0].lookup)),this.props.columns.map((u,l)=>!l&&!u.hidden?null:this.renderCell(e,u,t,r)),this.props.onUpdate?n.createElement(Ve,{style:{...R.cell,...R.cellButton}},this.state.editMode===r||this.state.deleteMode===r?n.createElement(P,{disabled:this.state.editMode!==!1&&(!this.state.editData||!Object.keys(this.state.editData).length),onClick:()=>{if(this.state.editMode!==!1){const u=JSON.parse(JSON.stringify(e));this.state.editData&&Object.keys(this.state.editData).forEach(l=>{var N;return Eu(u,l,(N=this.state.editData)==null?void 0:N[l])}),this.setState({editMode:!1},()=>this.props.onUpdate&&this.props.onUpdate(u,e))}else this.setState({deleteMode:!1},()=>this.props.onDelete&&this.props.onDelete(e))},size:"large"},n.createElement(Ue,null)):n.createElement(P,{disabled:this.state.editMode!==!1,onClick:()=>this.setState({editMode:r,editData:null}),size:"large"},n.createElement(Ks,null))):null,this.props.onDelete&&!this.props.onUpdate?n.createElement(Ve,{style:{...R.cell,...R.cellButton}},this.state.deleteMode===r?n.createElement(P,{disabled:this.state.editMode!==!1&&(!this.state.editData||!Object.keys(this.state.editData).length),onClick:()=>this.setState({deleteMode:!1},()=>this.props.onDelete&&this.props.onDelete(e)),size:"large"},n.createElement(Ue,null)):null):null,this.props.onUpdate||this.props.onDelete?n.createElement(Ve,{style:{...R.cell,...R.cellButton}},this.state.editMode===r||this.state.deleteMode===r?n.createElement(P,{onClick:()=>this.setState({editMode:!1,deleteMode:!1}),size:"large"},n.createElement(ge,null)):this.props.onDelete?n.createElement(P,{disabled:this.state.deleteMode!==!1,onClick:()=>this.setState({deleteMode:r}),size:"large"},n.createElement(ut,null)):null):null);if(!t&&o){const u=M.map(l=>this.renderLine(l,t+1));return u.unshift(a),u}return a}handleRequestSort(e){const t=this.state.orderBy===e&&this.state.order==="asc";this.setState({order:t?"desc":"asc",orderBy:e})}renderHead(){return n.createElement(al,null,n.createElement(mM,{key:"headerRow"},n.createElement(Ve,{component:"th",sx:E.getStyle(this.props.theme,R.cell,R.cellHeader,R.cellExpand)}),n.createElement(Ve,{component:"th",sx:E.getStyle(this.props.theme,R.cell,R.cellHeader,R[`width_${this.props.columns[0].field.replace(/\./g,"_")}`]),style:this.props.columns[0].headerStyle||this.props.columns[0].cellStyle,sortDirection:this.props.noSort?!1:this.state.orderBy===this.props.columns[0].field?this.state.order:!1},this.props.noSort?null:n.createElement(pM,{active:this.state.orderBy===this.props.columns[0].field,direction:this.state.orderBy===this.props.columns[0].field?this.state.order:"asc",onClick:()=>this.handleRequestSort(this.props.columns[0].field)},this.props.columns[0].title||this.props.columns[0].field,this.state.orderBy===this.props.columns[0].field?n.createElement("span",{style:R.visuallyHidden},this.state.order==="desc"?"sorted descending":"sorted ascending"):null)),this.props.columns.map((e,t)=>!t&&!e.hidden?null:n.createElement(Ve,{key:e.field,sx:E.getStyle(this.props.theme,R.cell,R.cellHeader,R[`width_${e.field.replace(/\./g,"_")}`]),style:e.headerStyle||e.cellStyle,component:"th"},this.props.noSort?null:n.createElement(pM,{active:this.state.orderBy===e.field,direction:this.state.orderBy===e.field?this.state.order:"asc",onClick:()=>this.handleRequestSort(e.field)},e.title||e.field,this.state.orderBy===e.field?n.createElement("span",{style:R.visuallyHidden},this.state.order==="desc"?"sorted descending":"sorted ascending"):null))),this.props.onUpdate?n.createElement(Ve,{component:"th",sx:E.getStyle(this.props.theme,R.cell,R.cellHeader,R.cellButton)},this.props.noAdd?null:n.createElement(Ct,{color:"primary",size:"small",disabled:this.state.editMode!==!1,onClick:()=>this.props.onUpdate&&this.props.onUpdate(!0)},n.createElement(Gr,null))):null,this.props.onDelete||this.props.onUpdate?n.createElement(Ve,{component:"th",sx:E.getStyle(this.props.theme,R.cell,R.cellHeader,R.cellButton)}):null))}render(){const e=this.props.columns.find(t=>t.field===this.state.orderBy);if(e){const t=e.lookup,s=ELe(this.props.data,OLe(this.state.order,this.state.orderBy,t));return this.state.update&&this.state.update.length&&(this.updateTimeout&&clearTimeout(this.updateTimeout),this.updateTimeout=setTimeout(()=>{this.updateTimeout=null,this.setState({update:null})},500)),n.createElement("div",{style:R.tableContainer,className:this.props.className},n.createElement(Wa,{style:R.table,"aria-label":"simple table",size:"small",stickyHeader:!0},this.renderHead(),n.createElement(cl,null,s.map(r=>this.renderLine(r)))),this.renderSelectIdDialog(),this.renderSelectColorDialog())}return null}}function za(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(i);e&&(s=s.filter(function(r){return Object.getOwnPropertyDescriptor(i,r).enumerable})),t.push.apply(t,s)}return t}function _u(i){for(var e=1;ei.length)&&(e=i.length);for(var t=0,s=new Array(e);t
',FLe=Number.isNaN||Nt.isNaN;function K(i){return typeof i=="number"&&!FLe(i)}var xa=function(e){return e>0&&e<1/0};function $r(i){return typeof i>"u"}function Ms(i){return Ao(i)==="object"&&i!==null}var HLe=Object.prototype.hasOwnProperty;function ws(i){if(!Ms(i))return!1;try{var e=i.constructor,t=e.prototype;return e&&t&&HLe.call(t,"isPrototypeOf")}catch{return!1}}function Pe(i){return typeof i=="function"}var VLe=Array.prototype.slice;function $u(i){return Array.from?Array.from(i):VLe.call(i)}function De(i,e){return i&&Pe(e)&&(Array.isArray(i)||K(i.length)?$u(i).forEach(function(t,s){e.call(i,t,s,i)}):Ms(i)&&Object.keys(i).forEach(function(t){e.call(i,i[t],t,i)})),i}var ue=Object.assign||function(e){for(var t=arguments.length,s=new Array(t>1?t-1:0),r=1;r0&&s.forEach(function(o){Ms(o)&&Object.keys(o).forEach(function(M){e[M]=o[M]})}),e},ZLe=/\.\d*(?:0|9){12}\d*$/;function ps(i){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1e11;return ZLe.test(i)?Math.round(i*e)/e:i}var XLe=/^width|height|left|top|marginLeft|marginTop$/;function Wt(i,e){var t=i.style;De(e,function(s,r){XLe.test(r)&&K(s)&&(s="".concat(s,"px")),t[r]=s})}function KLe(i,e){return i.classList?i.classList.contains(e):i.className.indexOf(e)>-1}function Ie(i,e){if(e){if(K(i.length)){De(i,function(s){Ie(s,e)});return}if(i.classList){i.classList.add(e);return}var t=i.className.trim();t?t.indexOf(e)<0&&(i.className="".concat(t," ").concat(e)):i.className=e}}function lt(i,e){if(e){if(K(i.length)){De(i,function(t){lt(t,e)});return}if(i.classList){i.classList.remove(e);return}i.className.indexOf(e)>=0&&(i.className=i.className.replace(e,""))}}function Cs(i,e,t){if(e){if(K(i.length)){De(i,function(s){Cs(s,e,t)});return}t?Ie(i,e):lt(i,e)}}var qLe=/([a-z\d])([A-Z])/g;function uM(i){return i.replace(qLe,"$1-$2").toLowerCase()}function ko(i,e){return Ms(i[e])?i[e]:i.dataset?i.dataset[e]:i.getAttribute("data-".concat(uM(e)))}function ai(i,e,t){Ms(t)?i[e]=t:i.dataset?i.dataset[e]=t:i.setAttribute("data-".concat(uM(e)),t)}function eje(i,e){if(Ms(i[e]))try{delete i[e]}catch{i[e]=void 0}else if(i.dataset)try{delete i.dataset[e]}catch{i.dataset[e]=void 0}else i.removeAttribute("data-".concat(uM(e)))}var Pu=/\s\s*/,Wu=(function(){var i=!1;if(jr){var e=!1,t=function(){},s=Object.defineProperty({},"once",{get:function(){return i=!0,e},set:function(o){e=o}});Nt.addEventListener("test",t,s),Nt.removeEventListener("test",t,s)}return i})();function tt(i,e,t){var s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},r=t;e.trim().split(Pu).forEach(function(o){if(!Wu){var M=i.listeners;M&&M[o]&&M[o][t]&&(r=M[o][t],delete M[o][t],Object.keys(M[o]).length===0&&delete M[o],Object.keys(M).length===0&&delete i.listeners)}i.removeEventListener(o,r,s)})}function Ze(i,e,t){var s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},r=t;e.trim().split(Pu).forEach(function(o){if(s.once&&!Wu){var M=i.listeners,a=M===void 0?{}:M;r=function(){delete a[o][t],i.removeEventListener(o,r,s);for(var l=arguments.length,N=new Array(l),c=0;cMath.abs(t)&&(t=L)})}),t}function Si(i,e){var t=i.pageX,s=i.pageY,r={endX:t,endY:s};return e?r:_u({startX:t,startY:s},r)}function ije(i){var e=0,t=0,s=0;return De(i,function(r){var o=r.startX,M=r.startY;e+=o,t+=M,s+=1}),e/=s,t/=s,{pageX:e,pageY:t}}function Rt(i){var e=i.aspectRatio,t=i.height,s=i.width,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"contain",o=xa(s),M=xa(t);if(o&&M){var a=t*e;r==="contain"&&a>s||r==="cover"&&a90?{width:u,height:a}:{width:a,height:u}}function oje(i,e,t,s){var r=e.aspectRatio,o=e.naturalWidth,M=e.naturalHeight,a=e.rotate,u=a===void 0?0:a,l=e.scaleX,N=l===void 0?1:l,c=e.scaleY,L=c===void 0?1:c,j=t.aspectRatio,g=t.naturalWidth,y=t.naturalHeight,d=s.fillColor,h=d===void 0?"transparent":d,m=s.imageSmoothingEnabled,w=m===void 0?!0:m,O=s.imageSmoothingQuality,A=O===void 0?"low":O,I=s.maxWidth,p=I===void 0?1/0:I,S=s.maxHeight,f=S===void 0?1/0:S,$=s.minWidth,x=$===void 0?0:$,Z=s.minHeight,k=Z===void 0?0:Z,Y=document.createElement("canvas"),J=Y.getContext("2d"),Le=Rt({aspectRatio:j,width:p,height:f}),Je=Rt({aspectRatio:j,width:x,height:k},"cover"),qe=Math.min(Le.width,Math.max(Je.width,g)),us=Math.min(Le.height,Math.max(Je.height,y)),gr=Rt({aspectRatio:r,width:p,height:f}),vs=Rt({aspectRatio:r,width:x,height:k},"cover"),bs=Math.min(gr.width,Math.max(vs.width,o)),$s=Math.min(gr.height,Math.max(vs.height,M)),Ti=[-bs/2,-$s/2,bs,$s];return Y.width=ps(qe),Y.height=ps(us),J.fillStyle=h,J.fillRect(0,0,qe,us),J.save(),J.translate(qe/2,us/2),J.rotate(u*Math.PI/180),J.scale(N,L),J.imageSmoothingEnabled=w,J.imageSmoothingQuality=A,J.drawImage.apply(J,[i].concat(Su(Ti.map(function(yi){return Math.floor(ps(yi))})))),J.restore(),Y}var Ju=String.fromCharCode;function Mje(i,e,t){var s="";t+=e;for(var r=e;r0;)t.push(Ju.apply(null,$u(r.subarray(0,s)))),r=r.subarray(s);return"data:".concat(e,";base64,").concat(btoa(t.join("")))}function uje(i){var e=new DataView(i),t;try{var s,r,o;if(e.getUint8(0)===255&&e.getUint8(1)===216)for(var M=e.byteLength,a=2;a+1=8&&(o=l+c)}}}if(o){var L=e.getUint16(o,s),j,g;for(g=0;g=0?o:vu),height:Math.max(s.offsetHeight,M>=0?M:bu)};this.containerData=a,Wt(r,{width:a.width,height:a.height}),Ie(e,We),lt(r,We)},initCanvas:function(){var e=this.containerData,t=this.imageData,s=this.options.viewMode,r=Math.abs(t.rotate)%180===90,o=r?t.naturalHeight:t.naturalWidth,M=r?t.naturalWidth:t.naturalHeight,a=o/M,u=e.width,l=e.height;e.height*a>e.width?s===3?u=e.height*a:l=e.width/a:s===3?l=e.width/a:u=e.height*a;var N={aspectRatio:a,naturalWidth:o,naturalHeight:M,width:u,height:l};this.canvasData=N,this.limited=s===1||s===2,this.limitCanvas(!0,!0),N.width=Math.min(Math.max(N.width,N.minWidth),N.maxWidth),N.height=Math.min(Math.max(N.height,N.minHeight),N.maxHeight),N.left=(e.width-N.width)/2,N.top=(e.height-N.height)/2,N.oldLeft=N.left,N.oldTop=N.top,this.initialCanvasData=ue({},N)},limitCanvas:function(e,t){var s=this.options,r=this.containerData,o=this.canvasData,M=this.cropBoxData,a=s.viewMode,u=o.aspectRatio,l=this.cropped&&M;if(e){var N=Number(s.minCanvasWidth)||0,c=Number(s.minCanvasHeight)||0;a>1?(N=Math.max(N,r.width),c=Math.max(c,r.height),a===3&&(c*u>N?N=c*u:c=N/u)):a>0&&(N?N=Math.max(N,l?M.width:0):c?c=Math.max(c,l?M.height:0):l&&(N=M.width,c=M.height,c*u>N?N=c*u:c=N/u));var L=Rt({aspectRatio:u,width:N,height:c});N=L.width,c=L.height,o.minWidth=N,o.minHeight=c,o.maxWidth=1/0,o.maxHeight=1/0}if(t)if(a>(l?0:1)){var j=r.width-o.width,g=r.height-o.height;o.minLeft=Math.min(0,j),o.minTop=Math.min(0,g),o.maxLeft=Math.max(0,j),o.maxTop=Math.max(0,g),l&&this.limited&&(o.minLeft=Math.min(M.left,M.left+(M.width-o.width)),o.minTop=Math.min(M.top,M.top+(M.height-o.height)),o.maxLeft=M.left,o.maxTop=M.top,a===2&&(o.width>=r.width&&(o.minLeft=Math.min(0,j),o.maxLeft=Math.max(0,j)),o.height>=r.height&&(o.minTop=Math.min(0,g),o.maxTop=Math.max(0,g))))}else o.minLeft=-o.width,o.minTop=-o.height,o.maxLeft=r.width,o.maxTop=r.height},renderCanvas:function(e,t){var s=this.canvasData,r=this.imageData;if(t){var o=rje({width:r.naturalWidth*Math.abs(r.scaleX||1),height:r.naturalHeight*Math.abs(r.scaleY||1),degree:r.rotate||0}),M=o.width,a=o.height,u=s.width*(M/s.naturalWidth),l=s.height*(a/s.naturalHeight);s.left-=(u-s.width)/2,s.top-=(l-s.height)/2,s.width=u,s.height=l,s.aspectRatio=M/a,s.naturalWidth=M,s.naturalHeight=a,this.limitCanvas(!0,!1)}(s.width>s.maxWidth||s.widths.maxHeight||s.heightt.width?o.height=o.width/s:o.width=o.height*s),this.cropBoxData=o,this.limitCropBox(!0,!0),o.width=Math.min(Math.max(o.width,o.minWidth),o.maxWidth),o.height=Math.min(Math.max(o.height,o.minHeight),o.maxHeight),o.width=Math.max(o.minWidth,o.width*r),o.height=Math.max(o.minHeight,o.height*r),o.left=t.left+(t.width-o.width)/2,o.top=t.top+(t.height-o.height)/2,o.oldLeft=o.left,o.oldTop=o.top,this.initialCropBoxData=ue({},o)},limitCropBox:function(e,t){var s=this.options,r=this.containerData,o=this.canvasData,M=this.cropBoxData,a=this.limited,u=s.aspectRatio;if(e){var l=Number(s.minCropBoxWidth)||0,N=Number(s.minCropBoxHeight)||0,c=a?Math.min(r.width,o.width,o.width+o.left,r.width-o.left):r.width,L=a?Math.min(r.height,o.height,o.height+o.top,r.height-o.top):r.height;l=Math.min(l,r.width),N=Math.min(N,r.height),u&&(l&&N?N*u>l?N=l/u:l=N*u:l?N=l/u:N&&(l=N*u),L*u>c?L=c/u:c=L*u),M.minWidth=Math.min(l,c),M.minHeight=Math.min(N,L),M.maxWidth=c,M.maxHeight=L}t&&(a?(M.minLeft=Math.max(0,o.left),M.minTop=Math.max(0,o.top),M.maxLeft=Math.min(r.width,o.left+o.width)-M.width,M.maxTop=Math.min(r.height,o.top+o.height)-M.height):(M.minLeft=0,M.minTop=0,M.maxLeft=r.width-M.width,M.maxTop=r.height-M.height))},renderCropBox:function(){var e=this.options,t=this.containerData,s=this.cropBoxData;(s.width>s.maxWidth||s.widths.maxHeight||s.height=t.width&&s.height>=t.height?ku:aM),Wt(this.cropBox,ue({width:s.width,height:s.height},ti({translateX:s.left,translateY:s.top}))),this.cropped&&this.limited&&this.limitCanvas(!0,!0),this.disabled||this.output()},output:function(){this.preview(),Os(this.element,Eo,this.getData())}},Lje={initPreview:function(){var e=this.element,t=this.crossOrigin,s=this.options.preview,r=t?this.crossOriginUrl:this.url,o=e.alt||"The image to preview",M=document.createElement("img");if(t&&(M.crossOrigin=t),M.src=r,M.alt=o,this.viewBox.appendChild(M),this.viewBoxImage=M,!!s){var a=s;typeof s=="string"?a=e.ownerDocument.querySelectorAll(s):s.querySelector&&(a=[s]),this.previews=a,De(a,function(u){var l=document.createElement("img");ai(u,fi,{width:u.offsetWidth,height:u.offsetHeight,html:u.innerHTML}),t&&(l.crossOrigin=t),l.src=r,l.alt=o,l.style.cssText='display:block;width:100%;height:auto;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;image-orientation:0deg!important;"',u.innerHTML="",u.appendChild(l)})}},resetPreview:function(){De(this.previews,function(e){var t=ko(e,fi);Wt(e,{width:t.width,height:t.height}),e.innerHTML=t.html,eje(e,fi)})},preview:function(){var e=this.imageData,t=this.canvasData,s=this.cropBoxData,r=s.width,o=s.height,M=e.width,a=e.height,u=s.left-t.left-e.left,l=s.top-t.top-e.top;!this.cropped||this.disabled||(Wt(this.viewBoxImage,ue({width:M,height:a},ti(ue({translateX:-u,translateY:-l},e)))),De(this.previews,function(N){var c=ko(N,fi),L=c.width,j=c.height,g=L,y=j,d=1;r&&(d=L/r,y=o*d),o&&y>j&&(d=j/o,g=r*d,y=j),Wt(N,{width:g,height:y}),Wt(N.getElementsByTagName("img")[0],ue({width:M*d,height:a*d},ti(ue({translateX:-u*d,translateY:-l*d},e))))}))}},jje={bind:function(){var e=this.element,t=this.options,s=this.cropper;Pe(t.cropstart)&&Ze(e,So,t.cropstart),Pe(t.cropmove)&&Ze(e,fo,t.cropmove),Pe(t.cropend)&&Ze(e,_o,t.cropend),Pe(t.crop)&&Ze(e,Eo,t.crop),Pe(t.zoom)&&Ze(e,xo,t.zoom),Ze(s,Aa,this.onCropStart=this.cropStart.bind(this)),t.zoomable&&t.zoomOnWheel&&Ze(s,_a,this.onWheel=this.wheel.bind(this),{passive:!1,capture:!0}),t.toggleDragModeOnDblclick&&Ze(s,Ca,this.onDblclick=this.dblclick.bind(this)),Ze(e.ownerDocument,ma,this.onCropMove=this.cropMove.bind(this)),Ze(e.ownerDocument,pa,this.onCropEnd=this.cropEnd.bind(this)),t.responsive&&Ze(window,Ea,this.onResize=this.resize.bind(this))},unbind:function(){var e=this.element,t=this.options,s=this.cropper;Pe(t.cropstart)&&tt(e,So,t.cropstart),Pe(t.cropmove)&&tt(e,fo,t.cropmove),Pe(t.cropend)&&tt(e,_o,t.cropend),Pe(t.crop)&&tt(e,Eo,t.crop),Pe(t.zoom)&&tt(e,xo,t.zoom),tt(s,Aa,this.onCropStart),t.zoomable&&t.zoomOnWheel&&tt(s,_a,this.onWheel,{passive:!1,capture:!0}),t.toggleDragModeOnDblclick&&tt(s,Ca,this.onDblclick),tt(e.ownerDocument,ma,this.onCropMove),tt(e.ownerDocument,pa,this.onCropEnd),t.responsive&&tt(window,Ea,this.onResize)}},gje={resize:function(){if(!this.disabled){var e=this.options,t=this.container,s=this.containerData,r=t.offsetWidth/s.width,o=t.offsetHeight/s.height,M=Math.abs(r-1)>Math.abs(o-1)?r:o;if(M!==1){var a,u;e.restore&&(a=this.getCanvasData(),u=this.getCropBoxData()),this.render(),e.restore&&(this.setCanvasData(De(a,function(l,N){a[N]=l*M})),this.setCropBoxData(De(u,function(l,N){u[N]=l*M})))}}},dblclick:function(){this.disabled||this.options.dragMode===Uu||this.setDragMode(KLe(this.dragBox,po)?Qu:cM)},wheel:function(e){var t=this,s=Number(this.options.wheelZoomRatio)||.1,r=1;this.disabled||(e.preventDefault(),!this.wheeling&&(this.wheeling=!0,setTimeout(function(){t.wheeling=!1},50),e.deltaY?r=e.deltaY>0?1:-1:e.wheelDelta?r=-e.wheelDelta/120:e.detail&&(r=e.detail>0?1:-1),this.zoom(-r*s,e)))},cropStart:function(e){var t=e.buttons,s=e.button;if(!(this.disabled||(e.type==="mousedown"||e.type==="pointerdown"&&e.pointerType==="mouse")&&(K(t)&&t!==1||K(s)&&s!==0||e.ctrlKey))){var r=this.options,o=this.pointers,M;e.changedTouches?De(e.changedTouches,function(a){o[a.identifier]=Si(a)}):o[e.pointerId||0]=Si(e),Object.keys(o).length>1&&r.zoomable&&r.zoomOnTouch?M=Yu:M=ko(e.target,ni),WLe.test(M)&&Os(this.element,So,{originalEvent:e,action:M})!==!1&&(e.preventDefault(),this.action=M,this.cropping=!1,M===xu&&(this.cropping=!0,Ie(this.dragBox,Ki)))}},cropMove:function(e){var t=this.action;if(!(this.disabled||!t)){var s=this.pointers;e.preventDefault(),Os(this.element,fo,{originalEvent:e,action:t})!==!1&&(e.changedTouches?De(e.changedTouches,function(r){ue(s[r.identifier]||{},Si(r,!0))}):ue(s[e.pointerId||0]||{},Si(e,!0)),this.change(e))}},cropEnd:function(e){if(!this.disabled){var t=this.action,s=this.pointers;e.changedTouches?De(e.changedTouches,function(r){delete s[r.identifier]}):delete s[e.pointerId||0],t&&(e.preventDefault(),Object.keys(s).length||(this.action=""),this.cropping&&(this.cropping=!1,Cs(this.dragBox,Ki,this.cropped&&this.options.modal)),Os(this.element,_o,{originalEvent:e,action:t}))}}},Tje={change:function(e){var t=this.options,s=this.canvasData,r=this.containerData,o=this.cropBoxData,M=this.pointers,a=this.action,u=t.aspectRatio,l=o.left,N=o.top,c=o.width,L=o.height,j=l+c,g=N+L,y=0,d=0,h=r.width,m=r.height,w=!0,O;!u&&e.shiftKey&&(u=c&&L?c/L:1),this.limited&&(y=o.minLeft,d=o.minTop,h=y+Math.min(r.width,s.width,s.left+s.width),m=d+Math.min(r.height,s.height,s.top+s.height));var A=M[Object.keys(M)[0]],I={x:A.endX-A.startX,y:A.endY-A.startY},p=function(f){switch(f){case Zt:j+I.x>h&&(I.x=h-j);break;case Xt:l+I.xm&&(I.y=m-g);break}};switch(a){case aM:l+=I.x,N+=I.y;break;case Zt:if(I.x>=0&&(j>=h||u&&(N<=d||g>=m))){w=!1;break}p(Zt),c+=I.x,c<0&&(a=Xt,c=-c,l-=c),u&&(L=c/u,N+=(o.height-L)/2);break;case xt:if(I.y<=0&&(N<=d||u&&(l<=y||j>=h))){w=!1;break}p(xt),L-=I.y,N+=I.y,L<0&&(a=ds,L=-L,N-=L),u&&(c=L*u,l+=(o.width-c)/2);break;case Xt:if(I.x<=0&&(l<=y||u&&(N<=d||g>=m))){w=!1;break}p(Xt),c-=I.x,l+=I.x,c<0&&(a=Zt,c=-c,l-=c),u&&(L=c/u,N+=(o.height-L)/2);break;case ds:if(I.y>=0&&(g>=m||u&&(l<=y||j>=h))){w=!1;break}p(ds),L+=I.y,L<0&&(a=xt,L=-L,N-=L),u&&(c=L*u,l+=(o.width-c)/2);break;case Js:if(u){if(I.y<=0&&(N<=d||j>=h)){w=!1;break}p(xt),L-=I.y,N+=I.y,c=L*u}else p(xt),p(Zt),I.x>=0?jd&&(L-=I.y,N+=I.y):(L-=I.y,N+=I.y);c<0&&L<0?(a=Fs,L=-L,c=-c,N-=L,l-=c):c<0?(a=Bs,c=-c,l-=c):L<0&&(a=Gs,L=-L,N-=L);break;case Bs:if(u){if(I.y<=0&&(N<=d||l<=y)){w=!1;break}p(xt),L-=I.y,N+=I.y,c=L*u,l+=o.width-c}else p(xt),p(Xt),I.x<=0?l>y?(c-=I.x,l+=I.x):I.y<=0&&N<=d&&(w=!1):(c-=I.x,l+=I.x),I.y<=0?N>d&&(L-=I.y,N+=I.y):(L-=I.y,N+=I.y);c<0&&L<0?(a=Gs,L=-L,c=-c,N-=L,l-=c):c<0?(a=Js,c=-c,l-=c):L<0&&(a=Fs,L=-L,N-=L);break;case Fs:if(u){if(I.x<=0&&(l<=y||g>=m)){w=!1;break}p(Xt),c-=I.x,l+=I.x,L=c/u}else p(ds),p(Xt),I.x<=0?l>y?(c-=I.x,l+=I.x):I.y>=0&&g>=m&&(w=!1):(c-=I.x,l+=I.x),I.y>=0?g=0&&(j>=h||g>=m)){w=!1;break}p(Zt),c+=I.x,L=c/u}else p(ds),p(Zt),I.x>=0?j=0&&g>=m&&(w=!1):c+=I.x,I.y>=0?g0?a=I.y>0?Gs:Js:I.x<0&&(l-=c,a=I.y>0?Fs:Bs),I.y<0&&(N-=L),this.cropped||(lt(this.cropBox,We),this.cropped=!0,this.limited&&this.limitCropBox(!0,!0));break}w&&(o.width=c,o.height=L,o.left=l,o.top=N,this.action=a,this.renderCropBox()),De(M,function(S){S.startX=S.endX,S.startY=S.endY})}},yje={crop:function(){return this.ready&&!this.cropped&&!this.disabled&&(this.cropped=!0,this.limitCropBox(!0,!0),this.options.modal&&Ie(this.dragBox,Ki),lt(this.cropBox,We),this.setCropBoxData(this.initialCropBoxData)),this},reset:function(){return this.ready&&!this.disabled&&(this.imageData=ue({},this.initialImageData),this.canvasData=ue({},this.initialCanvasData),this.cropBoxData=ue({},this.initialCropBoxData),this.renderCanvas(),this.cropped&&this.renderCropBox()),this},clear:function(){return this.cropped&&!this.disabled&&(ue(this.cropBoxData,{left:0,top:0,width:0,height:0}),this.cropped=!1,this.renderCropBox(),this.limitCanvas(!0,!0),this.renderCanvas(),lt(this.dragBox,Ki),Ie(this.cropBox,We)),this},replace:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return!this.disabled&&e&&(this.isImg&&(this.element.src=e),t?(this.url=e,this.image.src=e,this.ready&&(this.viewBoxImage.src=e,De(this.previews,function(s){s.getElementsByTagName("img")[0].src=e}))):(this.isImg&&(this.replaced=!0),this.options.data=null,this.uncreate(),this.load(e))),this},enable:function(){return this.ready&&this.disabled&&(this.disabled=!1,lt(this.cropper,ha)),this},disable:function(){return this.ready&&!this.disabled&&(this.disabled=!0,Ie(this.cropper,ha)),this},destroy:function(){var e=this.element;return e[ce]?(e[ce]=void 0,this.isImg&&this.replaced&&(e.src=this.originalUrl),this.uncreate(),this):this},move:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e,s=this.canvasData,r=s.left,o=s.top;return this.moveTo($r(e)?e:r+Number(e),$r(t)?t:o+Number(t))},moveTo:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e,s=this.canvasData,r=!1;return e=Number(e),t=Number(t),this.ready&&!this.disabled&&this.options.movable&&(K(e)&&(s.left=e,r=!0),K(t)&&(s.top=t,r=!0),r&&this.renderCanvas(!0)),this},zoom:function(e,t){var s=this.canvasData;return e=Number(e),e<0?e=1/(1-e):e=1+e,this.zoomTo(s.width*e/s.naturalWidth,null,t)},zoomTo:function(e,t,s){var r=this.options,o=this.canvasData,M=o.width,a=o.height,u=o.naturalWidth,l=o.naturalHeight;if(e=Number(e),e>=0&&this.ready&&!this.disabled&&r.zoomable){var N=u*e,c=l*e;if(Os(this.element,xo,{ratio:e,oldRatio:M/u,originalEvent:s})===!1)return this;if(s){var L=this.pointers,j=Ru(this.cropper),g=L&&Object.keys(L).length?ije(L):{pageX:s.pageX,pageY:s.pageY};o.left-=(N-M)*((g.pageX-j.left-o.left)/M),o.top-=(c-a)*((g.pageY-j.top-o.top)/a)}else ws(t)&&K(t.x)&&K(t.y)?(o.left-=(N-M)*((t.x-o.left)/M),o.top-=(c-a)*((t.y-o.top)/a)):(o.left-=(N-M)/2,o.top-=(c-a)/2);o.width=N,o.height=c,this.renderCanvas(!0)}return this},rotate:function(e){return this.rotateTo((this.imageData.rotate||0)+Number(e))},rotateTo:function(e){return e=Number(e),K(e)&&this.ready&&!this.disabled&&this.options.rotatable&&(this.imageData.rotate=e%360,this.renderCanvas(!0,!0)),this},scaleX:function(e){var t=this.imageData.scaleY;return this.scale(e,K(t)?t:1)},scaleY:function(e){var t=this.imageData.scaleX;return this.scale(K(t)?t:1,e)},scale:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e,s=this.imageData,r=!1;return e=Number(e),t=Number(t),this.ready&&!this.disabled&&this.options.scalable&&(K(e)&&(s.scaleX=e,r=!0),K(t)&&(s.scaleY=t,r=!0),r&&this.renderCanvas(!0,!0)),this},getData:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,t=this.options,s=this.imageData,r=this.canvasData,o=this.cropBoxData,M;if(this.ready&&this.cropped){M={x:o.left-r.left,y:o.top-r.top,width:o.width,height:o.height};var a=s.width/s.naturalWidth;if(De(M,function(N,c){M[c]=N/a}),e){var u=Math.round(M.y+M.height),l=Math.round(M.x+M.width);M.x=Math.round(M.x),M.y=Math.round(M.y),M.width=l-M.x,M.height=u-M.y}}else M={x:0,y:0,width:0,height:0};return t.rotatable&&(M.rotate=s.rotate||0),t.scalable&&(M.scaleX=s.scaleX||1,M.scaleY=s.scaleY||1),M},setData:function(e){var t=this.options,s=this.imageData,r=this.canvasData,o={};if(this.ready&&!this.disabled&&ws(e)){var M=!1;t.rotatable&&K(e.rotate)&&e.rotate!==s.rotate&&(s.rotate=e.rotate,M=!0),t.scalable&&(K(e.scaleX)&&e.scaleX!==s.scaleX&&(s.scaleX=e.scaleX,M=!0),K(e.scaleY)&&e.scaleY!==s.scaleY&&(s.scaleY=e.scaleY,M=!0)),M&&this.renderCanvas(!0,!0);var a=s.width/s.naturalWidth;K(e.x)&&(o.left=e.x*a+r.left),K(e.y)&&(o.top=e.y*a+r.top),K(e.width)&&(o.width=e.width*a),K(e.height)&&(o.height=e.height*a),this.setCropBoxData(o)}return this},getContainerData:function(){return this.ready?ue({},this.containerData):{}},getImageData:function(){return this.sized?ue({},this.imageData):{}},getCanvasData:function(){var e=this.canvasData,t={};return this.ready&&De(["left","top","width","height","naturalWidth","naturalHeight"],function(s){t[s]=e[s]}),t},setCanvasData:function(e){var t=this.canvasData,s=t.aspectRatio;return this.ready&&!this.disabled&&ws(e)&&(K(e.left)&&(t.left=e.left),K(e.top)&&(t.top=e.top),K(e.width)?(t.width=e.width,t.height=e.width/s):K(e.height)&&(t.height=e.height,t.width=e.height*s),this.renderCanvas(!0)),this},getCropBoxData:function(){var e=this.cropBoxData,t;return this.ready&&this.cropped&&(t={left:e.left,top:e.top,width:e.width,height:e.height}),t||{}},setCropBoxData:function(e){var t=this.cropBoxData,s=this.options.aspectRatio,r,o;return this.ready&&this.cropped&&!this.disabled&&ws(e)&&(K(e.left)&&(t.left=e.left),K(e.top)&&(t.top=e.top),K(e.width)&&e.width!==t.width&&(r=!0,t.width=e.width),K(e.height)&&e.height!==t.height&&(o=!0,t.height=e.height),s&&(r?t.height=t.width/s:o&&(t.width=t.height*s)),this.renderCropBox()),this},getCroppedCanvas:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!this.ready||!window.HTMLCanvasElement)return null;var t=this.canvasData,s=oje(this.image,this.imageData,t,e);if(!this.cropped)return s;var r=this.getData(e.rounded),o=r.x,M=r.y,a=r.width,u=r.height,l=s.width/Math.floor(t.naturalWidth);l!==1&&(o*=l,M*=l,a*=l,u*=l);var N=a/u,c=Rt({aspectRatio:N,width:e.maxWidth||1/0,height:e.maxHeight||1/0}),L=Rt({aspectRatio:N,width:e.minWidth||0,height:e.minHeight||0},"cover"),j=Rt({aspectRatio:N,width:e.width||(l!==1?s.width:a),height:e.height||(l!==1?s.height:u)}),g=j.width,y=j.height;g=Math.min(c.width,Math.max(L.width,g)),y=Math.min(c.height,Math.max(L.height,y));var d=document.createElement("canvas"),h=d.getContext("2d");d.width=ps(g),d.height=ps(y),h.fillStyle=e.fillColor||"transparent",h.fillRect(0,0,g,y);var m=e.imageSmoothingEnabled,w=m===void 0?!0:m,O=e.imageSmoothingQuality;h.imageSmoothingEnabled=w,O&&(h.imageSmoothingQuality=O);var A=s.width,I=s.height,p=o,S=M,f,$,x,Z,k,Y;p<=-a||p>A?(p=0,f=0,x=0,k=0):p<=0?(x=-p,p=0,f=Math.min(A,a+p),k=f):p<=A&&(x=0,f=Math.min(a,A-p),k=f),f<=0||S<=-u||S>I?(S=0,$=0,Z=0,Y=0):S<=0?(Z=-S,S=0,$=Math.min(I,u+S),Y=$):S<=I&&(Z=0,$=Math.min(u,I-S),Y=$);var J=[p,S,f,$];if(k>0&&Y>0){var Le=g/a;J.push(x*Le,Z*Le,k*Le,Y*Le)}return h.drawImage.apply(h,[s].concat(Su(J.map(function(Je){return Math.floor(ps(Je))})))),d},setAspectRatio:function(e){var t=this.options;return!this.disabled&&!$r(e)&&(t.aspectRatio=Math.max(0,e)||NaN,this.ready&&(this.initCropBox(),this.cropped&&this.renderCropBox())),this},setDragMode:function(e){var t=this.options,s=this.dragBox,r=this.face;if(this.ready&&!this.disabled){var o=e===cM,M=t.movable&&e===Qu;e=o||M?e:Uu,t.dragMode=e,ai(s,ni,e),Cs(s,po,o),Cs(s,Oo,M),t.cropBoxMovable||(ai(r,ni,e),Cs(r,po,o),Cs(r,Oo,M))}return this}},Dje=Nt.Cropper,Bu=(function(){function i(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(fLe(this,i),!e||!BLe.test(e.tagName))throw new Error("The first argument is required and must be an or element.");this.element=e,this.options=ue({},Sa,ws(t)&&t),this.cropped=!1,this.disabled=!1,this.pointers={},this.ready=!1,this.reloading=!1,this.replaced=!1,this.sized=!1,this.sizing=!1,this.init()}return SLe(i,[{key:"init",value:function(){var t=this.element,s=t.tagName.toLowerCase(),r;if(!t[ce]){if(t[ce]=this,s==="img"){if(this.isImg=!0,r=t.getAttribute("src")||"",this.originalUrl=r,!r)return;r=t.src}else s==="canvas"&&window.HTMLCanvasElement&&(r=t.toDataURL());this.load(r)}}},{key:"load",value:function(t){var s=this;if(t){this.url=t,this.imageData={};var r=this.element,o=this.options;if(!o.rotatable&&!o.scalable&&(o.checkOrientation=!1),!o.checkOrientation||!window.ArrayBuffer){this.clone();return}if(RLe.test(t)){JLe.test(t)?this.read(aje(t)):this.clone();return}var M=new XMLHttpRequest,a=this.clone.bind(this);this.reloading=!0,this.xhr=M,M.onabort=a,M.onerror=a,M.ontimeout=a,M.onprogress=function(){M.getResponseHeader("content-type")!==fa&&M.abort()},M.onload=function(){s.read(M.response)},M.onloadend=function(){s.reloading=!1,s.xhr=null},o.checkCrossOrigin&&ka(t)&&r.crossOrigin&&(t=Ya(t)),M.open("GET",t,!0),M.responseType="arraybuffer",M.withCredentials=r.crossOrigin==="use-credentials",M.send()}}},{key:"read",value:function(t){var s=this.options,r=this.imageData,o=uje(t),M=0,a=1,u=1;if(o>1){this.url=cje(t,fa);var l=lje(o);M=l.rotate,a=l.scaleX,u=l.scaleY}s.rotatable&&(r.rotate=M),s.scalable&&(r.scaleX=a,r.scaleY=u),this.clone()}},{key:"clone",value:function(){var t=this.element,s=this.url,r=t.crossOrigin,o=s;this.options.checkCrossOrigin&&ka(s)&&(r||(r="anonymous"),o=Ya(s)),this.crossOrigin=r,this.crossOriginUrl=o;var M=document.createElement("img");r&&(M.crossOrigin=r),M.src=o||s,M.alt=t.alt||"The image to crop",this.image=M,M.onload=this.start.bind(this),M.onerror=this.stop.bind(this),Ie(M,wa),t.parentNode.insertBefore(M,t.nextSibling)}},{key:"start",value:function(){var t=this,s=this.image;s.onload=null,s.onerror=null,this.sizing=!0;var r=Nt.navigator&&/(?:iPad|iPhone|iPod).*?AppleWebKit/i.test(Nt.navigator.userAgent),o=function(l,N){ue(t.imageData,{naturalWidth:l,naturalHeight:N,aspectRatio:l/N}),t.initialImageData=ue({},t.imageData),t.sizing=!1,t.sized=!0,t.build()};if(s.naturalWidth&&!r){o(s.naturalWidth,s.naturalHeight);return}var M=document.createElement("img"),a=document.body||document.documentElement;this.sizingImage=M,M.onload=function(){o(M.width,M.height),r||a.removeChild(M)},M.src=s.src,r||(M.style.cssText="left:0;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;opacity:0;position:absolute;top:0;z-index:-1;",a.appendChild(M))}},{key:"stop",value:function(){var t=this.image;t.onload=null,t.onerror=null,t.parentNode.removeChild(t),this.image=null}},{key:"build",value:function(){if(!(!this.sized||this.ready)){var t=this.element,s=this.options,r=this.image,o=t.parentNode,M=document.createElement("div");M.innerHTML=GLe;var a=M.querySelector(".".concat(ce,"-container")),u=a.querySelector(".".concat(ce,"-canvas")),l=a.querySelector(".".concat(ce,"-drag-box")),N=a.querySelector(".".concat(ce,"-crop-box")),c=N.querySelector(".".concat(ce,"-face"));this.container=o,this.cropper=a,this.canvas=u,this.dragBox=l,this.cropBox=N,this.viewBox=a.querySelector(".".concat(ce,"-view-box")),this.face=c,u.appendChild(r),Ie(t,We),o.insertBefore(a,t.nextSibling),lt(r,wa),this.initPreview(),this.bind(),s.initialAspectRatio=Math.max(0,s.initialAspectRatio)||NaN,s.aspectRatio=Math.max(0,s.aspectRatio)||NaN,s.viewMode=Math.max(0,Math.min(3,Math.round(s.viewMode)))||0,Ie(N,We),s.guides||Ie(N.getElementsByClassName("".concat(ce,"-dashed")),We),s.center||Ie(N.getElementsByClassName("".concat(ce,"-center")),We),s.background&&Ie(a,"".concat(ce,"-bg")),s.highlight||Ie(c,vLe),s.cropBoxMovable&&(Ie(c,Oo),ai(c,ni,aM)),s.cropBoxResizable||(Ie(N.getElementsByClassName("".concat(ce,"-line")),We),Ie(N.getElementsByClassName("".concat(ce,"-point")),We)),this.render(),this.ready=!0,this.setDragMode(s.dragMode),s.autoCrop&&this.crop(),this.setData(s.data),Pe(s.ready)&&Ze(t,Oa,s.ready,{once:!0}),Os(t,Oa)}}},{key:"unbuild",value:function(){if(this.ready){this.ready=!1,this.unbind(),this.resetPreview();var t=this.cropper.parentNode;t&&t.removeChild(this.cropper),lt(this.element,We)}}},{key:"uncreate",value:function(){this.ready?(this.unbuild(),this.ready=!1,this.cropped=!1):this.sizing?(this.sizingImage.onload=null,this.sizing=!1,this.sized=!1):this.reloading?(this.xhr.onabort=null,this.xhr.abort()):this.image&&this.stop()}}],[{key:"noConflict",value:function(){return window.Cropper=Dje,i}},{key:"setDefaults",value:function(t){ue(Sa,ws(t)&&t)}}])})();ue(Bu.prototype,Nje,Lje,jje,gje,Tje,yje);var ts=function(){return ts=Object.assign||function(i){for(var e,t=1,s=arguments.length;t0&&S.zoomTo(Je)})(p.currentTarget.cropper,w),d&&d(p)}}));h&&h(I)}return function(){var p,S;(S=(p=O.current)===null||p===void 0?void 0:p.cropper)===null||S===void 0||S.destroy()}}),[O]);var A=(function(I){return dje.reduce((function(p,S){var f=p,$=S;return f[$],Wr(f,[typeof $=="symbol"?$:$+""])}),I)})(ts(ts({},m),{crossOrigin:u,src:o,alt:y}));return n.createElement("div",{style:M,className:a},n.createElement("img",ts({},A,{style:zje,ref:O})))}));const hje=` +/*! + * Cropper.js v1.5.12 + * https://fengyuanchen.github.io/cropperjs + * + * Copyright 2015-present Chen Fengyuan + * Released under the MIT license + * + * Date: 2021-06-12T08:00:11.623Z + */ + +.cropper-container { + direction: ltr; + font-size: 0; + line-height: 0; + position: relative; + -ms-touch-action: none; + touch-action: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.cropper-container img { + display: block; + height: 100%; + image-orientation: 0deg; + max-height: none !important; + max-width: none !important; + min-height: 0 !important; + min-width: 0 !important; + width: 100%; +} + +.cropper-wrap-box, +.cropper-canvas, +.cropper-drag-box, +.cropper-crop-box, +.cropper-modal { + bottom: 0; + left: 0; + position: absolute; + right: 0; + top: 0; +} + +.cropper-wrap-box, +.cropper-canvas { + overflow: hidden; +} + +.cropper-drag-box { + background-color: #fff; + opacity: 0; +} + +.cropper-modal { + background-color: #000; + opacity: 0.5; +} + +.cropper-view-box { + display: block; + height: 100%; + outline: 1px solid #39f; + outline-color: rgba(51, 153, 255, 0.75); + overflow: hidden; + width: 100%; +} + +.cropper-dashed { + border: 0 dashed #eee; + display: block; + opacity: 0.5; + position: absolute; +} + +.cropper-dashed.dashed-h { + border-bottom-width: 1px; + border-top-width: 1px; + height: calc(100% / 3); + left: 0; + top: calc(100% / 3); + width: 100%; +} + +.cropper-dashed.dashed-v { + border-left-width: 1px; + border-right-width: 1px; + height: 100%; + left: calc(100% / 3); + top: 0; + width: calc(100% / 3); +} + +.cropper-center { + display: block; + height: 0; + left: 50%; + opacity: 0.75; + position: absolute; + top: 50%; + width: 0; +} + +.cropper-center::before, +.cropper-center::after { + background-color: #eee; + content: ' '; + display: block; + position: absolute; +} + +.cropper-center::before { + height: 1px; + left: -3px; + top: 0; + width: 7px; +} + +.cropper-center::after { + height: 7px; + left: 0; + top: -3px; + width: 1px; +} + +.cropper-face, +.cropper-line, +.cropper-point { + display: block; + height: 100%; + opacity: 0.1; + position: absolute; + width: 100%; +} + +.cropper-face { + background-color: #fff; + left: 0; + top: 0; +} + +.cropper-line { + background-color: #39f; +} + +.cropper-line.line-e { + cursor: ew-resize; + right: -3px; + top: 0; + width: 5px; +} + +.cropper-line.line-n { + cursor: ns-resize; + height: 5px; + left: 0; + top: -3px; +} + +.cropper-line.line-w { + cursor: ew-resize; + left: -3px; + top: 0; + width: 5px; +} + +.cropper-line.line-s { + bottom: -3px; + cursor: ns-resize; + height: 5px; + left: 0; +} + +.cropper-point { + background-color: #39f; + height: 5px; + opacity: 0.75; + width: 5px; +} + +.cropper-point.point-e { + cursor: ew-resize; + margin-top: -3px; + right: -3px; + top: 50%; +} + +.cropper-point.point-n { + cursor: ns-resize; + left: 50%; + margin-left: -3px; + top: -3px; +} + +.cropper-point.point-w { + cursor: ew-resize; + left: -3px; + margin-top: -3px; + top: 50%; +} + +.cropper-point.point-s { + bottom: -3px; + cursor: s-resize; + left: 50%; + margin-left: -3px; +} + +.cropper-point.point-ne { + cursor: nesw-resize; + right: -3px; + top: -3px; +} + +.cropper-point.point-nw { + cursor: nwse-resize; + left: -3px; + top: -3px; +} + +.cropper-point.point-sw { + bottom: -3px; + cursor: nesw-resize; + left: -3px; +} + +.cropper-point.point-se { + bottom: -3px; + cursor: nwse-resize; + height: 20px; + opacity: 1; + right: -3px; + width: 20px; +} + +@media (min-width: 768px) { + .cropper-point.point-se { + height: 15px; + width: 15px; + } +} + +@media (min-width: 992px) { + .cropper-point.point-se { + height: 10px; + width: 10px; + } +} + +@media (min-width: 1200px) { + .cropper-point.point-se { + height: 5px; + opacity: 0.75; + width: 5px; + } +} + +.cropper-point.point-se::before { + background-color: #39f; + bottom: -50%; + content: ' '; + display: block; + height: 200%; + opacity: 0; + position: absolute; + right: -50%; + width: 200%; +} + +.cropper-invisible { + opacity: 0; +} + +.cropper-bg { + background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC'); +} + +.cropper-hide { + display: block; + height: 0; + position: absolute; + width: 0; +} + +.cropper-hidden { + display: none !important; +} + +.cropper-move { + cursor: move; +} + +.cropper-crop { + cursor: crosshair; +} + +.cropper-disabled .cropper-drag-box, +.cropper-disabled .cropper-face, +.cropper-disabled .cropper-line, +.cropper-disabled .cropper-point { + cursor: not-allowed; +} +`,$e={dropZone:{width:"100%",height:100,position:"relative"},dropZoneEmpty:{},image:{objectFit:"contain",margin:"auto",display:"flex",width:"100%",height:"100%"},uploadDiv:{position:"relative",width:"100%",height:300,opacity:.9,marginTop:30,cursor:"pointer",outline:"none"},uploadDivDragging:{opacity:1,background:"rgba(128,255,128,0.1)"},uploadCenterDiv:{margin:5,border:"3px dashed grey",borderRadius:5,width:"calc(100% - 10px)",height:"calc(100% - 10px)",position:"relative",display:"flex"},uploadCenterIcon:{paddingTop:10,width:48,height:48},uploadCenterText:{fontSize:16},uploadCenterTextAndIcon:{textAlign:"center",position:"absolute",top:0,bottom:0,left:0,right:0,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},disabledOpacity:{opacity:.3,cursor:"default"},buttonRemoveWrapper:{position:"absolute",zIndex:222,right:0},buttonCropWrapper:{position:"absolute",zIndex:222,right:0,top:50},error:{border:"2px solid red",boxSizing:"border-box"}};class Nge extends ze{cropperRef;constructor(e){if(super(e),this.state={uploadFile:!1,anchorEl:null,cropHandler:!1},this.cropperRef=va(),!window.document.getElementById("cropper-style-json-component")){const t=window.document.createElement("style");t.setAttribute("id","cropper-style-json-component"),t.innerHTML=hje,window.document.head.appendChild(t)}}onDrop(e){const t=this.props.onChange,s=this.props.maxSize||10*1024,r=e[0],o=new FileReader;o.onabort=()=>console.log("file reading was aborted"),o.onerror=()=>console.log("file reading has failed"),o.onload=()=>{var u,l;if(!r||!r.name)return;const M=(u=r.name)==null?void 0:u.split(".");let a=M!=null&&M.length?`image/${(l=M.pop())==null?void 0:l.toLowerCase()}`:"image/jpeg";if(a==="image/jpg"?a="image/jpeg":a.includes("svg")&&(a="image/svg+xml"),r.size>s)window.alert(D.t("ra_File is too big. Max %sk allowed. Try use SVG.",Math.round(s/1024)));else{const N=`data:${a};base64,${btoa(new Uint8Array(o.result).reduce((c,L)=>c+String.fromCharCode(L),""))}`;t?t(N):console.log(N)}},o.readAsArrayBuffer(r)}render(){const{disabled:e,icon:t,removeIconFunc:s,error:r,crop:o,onChange:M}=this.props,a=this.props.maxSize||10*1024;let u=this.props.accept||{"image/*":[]};const{uploadFile:l,anchorEl:N,cropHandler:c}=this.state;if(typeof u=="string")u={[u]:[]};else if(Array.isArray(u)){const L={};u.forEach(j=>{L[j]=[]}),u=L}return n.createElement(Ha,{disabled:!!e||c,key:"dropzone",multiple:!1,accept:u,maxSize:a,onDragEnter:()=>this.setState({uploadFile:"dragging"}),onDragLeave:()=>this.setState({uploadFile:!0}),onDrop:(L,j)=>{var g,y,d;this.setState({uploadFile:!1}),L.length?this.onDrop(L):window.alert(((d=(y=(g=j==null?void 0:j[0])==null?void 0:g.errors)==null?void 0:y[0])==null?void 0:d.message)||D.t("ra_Cannot upload"))}},({getRootProps:L,getInputProps:j})=>n.createElement("div",{style:{...$e.uploadDiv,...l==="dragging"?$e.uploadDivDragging:void 0,...$e.dropZone,...e?$e.disabledOpacity:void 0,...t?void 0:$e.dropZoneEmpty},...L()},n.createElement("input",{...j()}),n.createElement("div",{style:{...$e.uploadCenterDiv,...r?$e.error:void 0}},t?s&&!c&&n.createElement("div",{style:$e.buttonRemoveWrapper},n.createElement(ae,{title:D.t("ra_Clear"),slotProps:{popper:{sx:{pointerEvents:"none"}}}},n.createElement(P,{size:"large",onClick:g=>{s&&s(),g.stopPropagation()}},n.createElement(ge,null)))):n.createElement("div",{style:$e.uploadCenterTextAndIcon},n.createElement(iN,{style:$e.uploadCenterIcon}),n.createElement("div",{style:$e.uploadCenterText},l==="dragging"?D.t("ra_Drop file here"):D.t("ra_Place your files here or click here to open the browse dialog"))),t&&o&&n.createElement("div",{style:$e.buttonCropWrapper},n.createElement(ae,{title:D.t("ra_Crop"),slotProps:{popper:{sx:{pointerEvents:"none"}}}},n.createElement(P,{size:"large",onClick:g=>{c?this.setState({anchorEl:g.currentTarget}):this.setState({cropHandler:!0}),g.stopPropagation()}},n.createElement(rN,{color:c?"primary":"inherit"}))),n.createElement(ss,{anchorEl:N,keepMounted:!0,open:!!N,onClose:()=>this.setState({anchorEl:null})},n.createElement(te,{onClick:()=>this.setState({anchorEl:null,cropHandler:!1},()=>{var y,d;const g=(d=(y=this.cropperRef)==null?void 0:y.current)==null?void 0:d.cropper;g&&(M?M(g.getCroppedCanvas().toDataURL()):console.log(g.getCroppedCanvas().toDataURL()))})},D.t("ra_Save")),n.createElement(te,{onClick:()=>this.setState({anchorEl:null,cropHandler:!1})},D.t("ra_Close")))),t&&!c?n.createElement(Se,{src:t,style:$e.image,alt:"icon"}):null,t&&o&&c?n.createElement(Ije,{ref:this.cropperRef,style:$e.image,src:t,initialAspectRatio:1,viewMode:1,guides:!1,minCropBoxHeight:10,minCropBoxWidth:10,background:!1,checkOrientation:!1}):null)))}}const kt={mainDiv:{width:"100%",height:"100%",overflow:"auto"},formControl:{margin:0,minWidth:120},formControlMarginRight:{marginRight:5},formControlPaddingTop:{paddingTop:6.2}},wje={once:"once"},_e={seconds:"seconds",minutes:"minutes"},Qa=["ra_Sunday","ra_Monday","ra_Tuesday","ra_Wednesday","ra_Thursday","ra_Friday","ra_Saturday","ra_Sunday"];function ct(i){return i<10?`0${i}`:`${i}`}const Cje={mode:"interval",interval:{period:1,unit:_e.minutes}};function $i(i){if(i==="*")return[0,1,2,3,4,5,6];const e=i.split(","),t=[];return e.forEach(s=>{const r=s.split("-");if(r.length===2){const o=parseInt(r[0],10),M=parseInt(r[1],10);for(let a=o;a<=M;a++)t.includes(a===7?0:a)||t.push(a===7?0:a)}else{s==="7"&&(s="0");const o=parseInt(s,10);t.includes(o)||t.push(o)}}),t.sort(),t}function Gu(i,e){i=i.replace(/['"]/g,"").trim();const t=i.split(" ");let s,r=null;return t.length===6?s={seconds:t[0]||"*",minutes:t[1]||"*",hours:t[2]||"*",date:t[3]||"*",months:t[4]||"*",dow:t[5]||"*"}:s={seconds:null,minutes:t[0]||"*",hours:t[1]||"*",date:t[2]||"*",months:t[3]||"*",dow:t[4]||"*"},s.seconds===null&&s.minutes==="*"&&s.hours==="*"&&s.date==="*"&&s.months==="*"&&(s.dow==="*"||e)&&(r={mode:"interval",interval:{period:1,unit:_e.minutes}}),s.seconds==="*"&&s.minutes==="*"&&s.hours==="*"&&s.date==="*"&&s.months==="*"&&(s.dow==="*"||e)?r={mode:"interval",interval:{period:1,unit:_e.seconds}}:s.seconds===null&&s.minutes.includes("/")&&s.hours==="*"&&s.date==="*"&&s.months==="*"&&(s.dow==="*"||e)?r={mode:"interval",interval:{period:parseInt(s.minutes.split("/")[1],10),unit:_e.minutes}}:s.seconds!==null&&s.seconds.includes("/")&&s.minutes==="*"&&s.hours==="*"&&s.date==="*"&&s.months==="*"&&(s.dow==="*"||e)?r={mode:"interval",interval:{period:parseInt(s.seconds.split("/")[1],10),unit:_e.seconds}}:s.seconds!==null&&s.seconds.includes("/")&&s.minutes==="*"&&s.hours.includes("-")&&s.date==="*"&&s.months==="*"&&(s.dow==="*"||e)?r={mode:"intervalBetween",intervalBetween:{period:parseInt(s.seconds.split("/")[1],10),unit:_e.seconds,timeFrom:parseInt(s.hours.split("-")[0],10),timeTo:parseInt(s.hours.split("-")[1],10),weekdays:$i(s.dow)}}:s.seconds===null&&s.minutes.includes("/")&&s.hours.includes("-")&&s.date==="*"&&s.months==="*"&&(s.dow==="*"||e)?r={mode:"intervalBetween",intervalBetween:{period:parseInt(s.minutes.split("/")[1],10),unit:_e.minutes,timeFrom:parseInt(s.hours.split("-")[0],10),timeTo:parseInt(s.hours.split("-")[1],10),weekdays:$i(s.dow)}}:s.seconds===null&&parseInt(s.minutes,10).toString()===s.minutes&&parseInt(s.hours,10).toString()===s.hours&&s.date==="*"&&s.months==="*"&&(s.dow==="*"||e)?r={mode:"specific",specific:{time:`${ct(parseInt(s.hours,10))}:${ct(parseInt(s.minutes,10))}`,weekdays:$i(s.dow)}}:s.seconds===null&&parseInt(s.minutes,10).toString()===s.minutes&&parseInt(s.hours,10).toString()===s.hours&&parseInt(s.date,10).toString()===s.date&&parseInt(s.months,10).toString()===s.months&&(s.dow==="*"||e)&&(r={mode:"once",once:{time:`${ct(parseInt(s.hours,10))}:${ct(parseInt(s.minutes,10))}`,date:`${ct(parseInt(s.date,10))}.${ct(parseInt(s.months,10))}`}}),r}class ci extends n.Component{constructor(e){super(e);let t=typeof e.cronExpression=="string"?e.cronExpression.replace(/^["']/,"").replace(/["']\n?$/,""):"";t[0]==="{"&&(t="");const s=Gu(t||"* * * * *",!0)||Cje;this.state={extended:!1,cron:ci.state2cron(s),mode:"interval",once:{time:"00:00",date:""},interval:{period:1,unit:_e.minutes},intervalBetween:{period:1,unit:_e.minutes,timeFrom:0,timeTo:23,weekdays:[0,1,2,3,4,5,6]},specific:{time:"00:00",weekdays:[0,1,2,3,4,5,6]}},Object.assign(this.state,s),this.state.cron!==e.cronExpression&&setTimeout(()=>e.onChange&&e.onChange(this.state.cron),100)}static periodArray2text(e,t=7){if(t=t||7,e.length===t)return"*";const s=[];let r=null,o=null;if(!e.length)return"_";for(let M=0;M60&&(s.period=60),s.period!==void 0&&s.period<1&&(s.period=1),s.minutes!==void 0&&s.minutes!==null&&s.minutes>60&&(s.minutes=60),s.minutes!==void 0&&s.minutes!==null&&s.minutes<1&&(s.minutes=1),s.hours!==void 0&&s.hours!==null&&s.hours>24&&(s.hours=24),s.hours!==void 0&&s.hours!==null&&s.hours<1&&(s.hours=1),e.extended)t=`${s.minutes!==void 0&&s.minutes!==null&&s.minutes>1?`*/${s.minutes}`:"*"} ${s.hours!==void 0&&s.hours!==null&&s.hours>1?`*/${s.hours}`:"*"} * * *`;else switch(s.unit){case _e.seconds:t=`${s.period>1?`*/${s.period}`:"*"} * * * * *`;break;case _e.minutes:t=`${s.period>1?`*/${s.period}`:"*"} * * * *`;break}}else if(e.mode==="intervalBetween"){const s=e.intervalBetween||{period:1,unit:_e.minutes,timeFrom:0,timeTo:24,weekdays:[0,1,2,3,4,5,6]};let r;switch(s.timeFrom=s.timeFrom||0,s.timeTo=s.timeTo===void 0?24:s.timeTo,s.timeFrom!==0&&s.timeTo===24&&(s.timeTo=23),s.timeFrom===0&&s.timeTo===24?r="*":r=s.timeFrom!==s.timeTo?`${s.timeFrom}-${s.timeTo}`:"*",s.period>60&&(s.period=60),s.period<1&&(s.period=1),s.unit=s.unit||_e.minutes,s.unit){case _e.seconds:t=`${s.period>1?`*/${s.period}`:"*"} * ${r} * * ${this.periodArray2text(s.weekdays)}`;break;case _e.minutes:t=`${s.period>1?`*/${s.period}`:"*"} ${r} * * ${this.periodArray2text(s.weekdays)}`;break}}else if(e.mode==="specific"){const s=e.specific||{time:"00:00",weekdays:[0,1,2,3,4,5,6]},r=(s.time||"00:00").split(":");let o=parseInt(r[1],10)||0;o>59&&(o=59),o<0&&(o=0);let M=parseInt(r[0],10)||0;M>23&&(M=59),M<0&&(M=0),t=`${o} ${M} * * ${this.periodArray2text(s.weekdays||[])}`}else if(e.mode==="once"){const s=e.once||{time:"00:00",date:""};s.date||(s.date=`${new Date().getDate()}.${ct(new Date().getMonth()+1)}`);const r=(s.time||"00:00").split(":"),o=s.date.split(".");let M=parseInt(r[1],10)||0;M>59&&(M=59),M<0&&(M=0);let a=parseInt(r[0],10)||0;a>23&&(a=59),a<0&&(a=0);let u=parseInt(o[0],10)||1;u>31&&(u=31),u<1&&(a=1);let l=parseInt(o[1],10)||1;l>12&&(l=12),l<1&&(l=1),t=`${M} ${a} ${u} ${l} *`}return t}recalcCron(){this.onChange(ci.state2cron(this.state))}getControlsWeekdaysElements(e){const t=e==="intervalBetween"?this.state.intervalBetween:this.state.specific;return n.createElement("div",{key:"weekdays",style:{paddingLeft:8,width:"calc(100% - 8px)",maxWidth:600}},n.createElement("h5",null,D.t("ra_On weekdays")),[1,2,3,4,5,6,0].map(s=>n.createElement(H,{key:Qa[s],control:n.createElement(ne,{checked:t.weekdays.includes(s),onChange:r=>{const o=JSON.parse(JSON.stringify(this.state[e])),M=o.weekdays.indexOf(s);r.target.checked?M===-1&&o.weekdays.push(s):M!==-1&&o.weekdays.splice(M,1),o.weekdays.sort(),e==="intervalBetween"?this.setState({intervalBetween:o},()=>this.recalcCron()):this.setState({specific:o},()=>this.recalcCron())},value:s.toString()}),label:D.t(Qa[s])})))}getControlsPeriodElements(e){const t=e==="interval"?this.state.interval:this.state.intervalBetween;return this.state.extended?n.createElement("div",{key:"period",style:{paddingLeft:8,display:"inline-block"}},n.createElement("h5",{style:{marginBottom:5}},D.t("sc_period")),n.createElement(le,{variant:"standard",style:{marginTop:0,marginBottom:0,verticalAlign:"bottom"},key:"value",label:D.t("sc_minutes"),value:t.minutes,onChange:s=>{const r=JSON.parse(JSON.stringify(this.state[e]));r.minutes=parseInt(s.target.value,10),r.minutes<1&&(r.minutes=1),e==="interval"?this.setState({interval:r},()=>this.recalcCron()):this.setState({intervalBetween:r},()=>this.recalcCron())},slotProps:{htmlInput:{min:1,max:60},inputLabel:{shrink:!0}},type:"number",margin:"normal"}),n.createElement(le,{variant:"standard",style:{marginTop:0,marginBottom:0,verticalAlign:"bottom"},key:"value",label:D.t("sc_hours"),value:t.hours,onChange:s=>{const r=JSON.parse(JSON.stringify(this.state[e]));r.hours=parseInt(s.target.value,10),r.hours<1&&(r.hours=1),e==="interval"?this.setState({interval:r},()=>this.recalcCron()):this.setState({intervalBetween:r},()=>this.recalcCron())},slotProps:{htmlInput:{min:1,max:24},inputLabel:{shrink:!0}},type:"number",margin:"normal"})):n.createElement("div",{key:"period",style:{paddingLeft:8,display:"inline-block"}},n.createElement("h5",{style:{marginBottom:5}},D.t("sc_period")),n.createElement(le,{variant:"standard",style:{marginTop:0,marginBottom:0,verticalAlign:"bottom"},key:"value",label:D.t("sc_every"),value:t.period,onChange:s=>{const r=JSON.parse(JSON.stringify(this.state[e]));r.period=parseInt(s.target.value,10),r.period<1&&(r.period=1),e==="interval"?this.setState({interval:r},()=>this.recalcCron()):this.setState({intervalBetween:r},()=>this.recalcCron())},slotProps:{htmlInput:{min:1,max:60},inputLabel:{shrink:!0}},type:"number",margin:"normal"}),n.createElement(Xe,{variant:"standard",style:{verticalAlign:"bottom"},value:t.unit,onChange:s=>{const r=JSON.parse(JSON.stringify(this.state[e]));r.unit=s.target.value,e==="interval"?this.setState({interval:r},()=>this.recalcCron()):this.setState({intervalBetween:r},()=>this.recalcCron())}},n.createElement(te,{value:"seconds"},D.t("sc_seconds")),")",n.createElement(te,{value:"minutes"},D.t("sc_minutes")),")"))}getControlsTime(e){const t=e==="once"?this.state.once:this.state.specific;return n.createElement(wt,{variant:"standard",sx:{...kt.formControl,"&.MuiFormControl-root":kt.formControlMarginRight}},n.createElement(le,{variant:"standard",key:"at",label:D.t("sc_time"),value:t.time,type:"time",sx:s=>({'& input[type="time"]::-webkit-calendar-picker-indicator':{filter:s.palette.mode==="dark"?"invert(80%)":void 0}}),onChange:s=>{const r=JSON.parse(JSON.stringify(this.state[e]));r.time=s.target.value,e==="once"?this.setState({once:r},()=>this.recalcCron()):this.setState({specific:r},()=>this.recalcCron())},slotProps:{inputLabel:{shrink:!0}},margin:"normal"}))}getControlsDate(){const e=this.state.once;if(!e.date){const t=new Date;e.date=`${t.getDate()}.${ct(t.getMonth()+1)}`}return n.createElement(wt,{variant:"standard",style:kt.formControl},n.createElement(le,{variant:"standard",key:"date",label:D.t("sc_date"),value:e.date,type:"text",slotProps:{htmlInput:{style:kt.formControlPaddingTop},inputLabel:{shrink:!0}},onChange:t=>{const s=JSON.parse(JSON.stringify(this.state.once));s.date=t.target.value,this.setState({once:s},()=>this.recalcCron())},margin:"normal"}))}getOnceElements(){return n.createElement("div",{style:{marginLeft:8}},this.getControlsTime("once"),this.getControlsDate())}getIntervalElements(){return this.getControlsPeriodElements("interval")}getIntervalBetweenElements(){const e=this.state.intervalBetween;return[this.getControlsPeriodElements("intervalBetween"),n.createElement("div",{key:"between",style:{paddingLeft:8,display:"inline-block",verticalAlign:"top"}},n.createElement("h5",{style:{marginBottom:5}},D.t("sc_hours")),n.createElement(wt,{variant:"standard",style:kt.formControl},n.createElement(As,{shrink:!0,htmlFor:"age-label-placeholder"},D.t("sc_from")),n.createElement(Xe,{variant:"standard",style:{width:100},value:e.timeFrom,onChange:t=>{const s=JSON.parse(JSON.stringify(this.state.intervalBetween));s.timeFrom=parseInt(t.target.value,10),s.timeTo===24&&(s.timeTo=23),this.setState({intervalBetween:s},()=>this.recalcCron())}},[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23].map(t=>n.createElement(te,{key:`B_${t}`,value:t},`${ct(t)}:00`)))),n.createElement(wt,{variant:"standard",style:kt.formControl},n.createElement(As,{shrink:!0,htmlFor:"age-label-placeholder"},D.t("sc_to")),n.createElement(Xe,{variant:"standard",style:{width:100},value:e.timeTo,onChange:t=>{const s=JSON.parse(JSON.stringify(this.state.intervalBetween));s.timeTo=parseInt(t.target.value,10),this.setState({intervalBetween:s},()=>this.recalcCron())}},[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23].map(t=>n.createElement(te,{key:`A_${t}`,value:t},`${ct(t)}:00`)),!e.timeFrom&&n.createElement(te,{value:24},"00:00")))),this.getControlsWeekdaysElements("intervalBetween")]}getSpecificTimeElements(){return[n.createElement("div",{key:"time",style:{marginLeft:8}},this.getControlsTime("specific")),this.getControlsWeekdaysElements("specific")]}onModeChange(e){e!==this.state.mode&&this.setState({mode:e},()=>this.recalcCron())}onChange(e){e!==this.state.cron&&(this.setState({cron:e}),this.props.onChange&&this.props.onChange(e))}render(){return n.createElement("div",{style:kt.mainDiv},n.createElement("div",{style:{paddingLeft:8,width:"calc(100% - 8px)"}},n.createElement(le,{variant:"standard",style:{width:"100%"},value:this.state.cron,disabled:!0,error:this.state.cron.includes("_")})),n.createElement("div",{style:{paddingLeft:8,width:"calc(100% - 8px)",height:60}},this.state.cron.includes("_")?D.t("sc_invalid_cron"):Gc(this.state.cron,this.props.language||"en")),n.createElement("div",null,n.createElement(wt,{variant:"standard",style:{...kt.formControl,marginLeft:8,marginTop:8}},n.createElement(As,null,D.t("ra_Repeat")),n.createElement(Xe,{variant:"standard",value:this.state.mode,onChange:e=>this.onModeChange(e.target.value),inputProps:{name:"mode",id:"mode"}},n.createElement(te,{value:"once"},D.t("sc_once")),n.createElement(te,{value:"interval"},D.t("sc_interval")),n.createElement(te,{value:"intervalBetween"},D.t("sc_intervalBetween")),n.createElement(te,{value:"specific"},D.t("sc_specific"))))),this.state.mode===wje.once&&this.getOnceElements(),this.state.mode==="interval"&&this.getIntervalElements(),this.state.mode==="intervalBetween"&&this.getIntervalBetweenElements(),this.state.mode==="specific"&&this.getSpecificTimeElements())}}function Lge(i){return n.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 436 436",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},n.createElement("g",{fill:"currentColor"},n.createElement("path",{d:"m195.23077,24.30769c-36,3 -67,12 -96,26c-49,24 -82,61 -93,104l-3,11l-1,50c0,46 0,49 2,59l5,20c21,58 84,103 165,116c16,3 53,4 70,2c60,-6 111,-28 147,-64c21,-21 36,-49 40,-74a866,866 0 0 0 1,-104c-3,-18 -6,-28 -13,-43c-26,-52 -87,-90 -162,-101c-16,-2 -48,-3 -63,-2l1,0zm60,23c36,5 70,18 95,35c31,20 51,47 59,77c2,7 2,11 2,25c1,15 0,18 -2,26c-19,69 -104,117 -200,114c-47,-2 -90,-15 -124,-38c-31,-20 -51,-47 -59,-77c-3,-11 -4,-32 -2,-43c8,-42 41,-78 91,-101a260,260 0 0 1 140,-19l0,1zm-221,222c21,26 57,49 95,62c81,27 174,14 239,-32c14,-10 31,-27 41,-41c2,-2 2,-2 2,7c-1,23 -16,50 -38,72c-78,74 -233,74 -311,-1a121,121 0 0 1 -39,-76l0,-6l3,4l8,11z"}),n.createElement("path",{d:"m201.23077,47.30769c-40,3 -79,19 -104,44c-55,55 -38,133 37,171c52,26 122,24 172,-5c30,-17 51,-42 58,-71c3,-11 3,-34 0,-45c-6,-23 -21,-44 -40,-60l-27,-16a184,184 0 0 0 -96,-18zm30,21c56,5 100,35 112,75c4,11 4,30 0,41c-8,25 -26,45 -54,59a166,166 0 0 1 -160,-8a98,98 0 0 1 -41,-53c-5,-18 -2,-39 8,-57c23,-39 79,-62 135,-57z"})))}function jge(i){return n.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 95 95",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},n.createElement("path",{fill:"currentColor",d:`M93.779,63.676c-0.981-1.082-2.24-1.653-3.639-1.653c-1.145,0-3.953,0.396-5.318,4.062 + c-0.344,0.922-0.443,1.413-0.907,1.363c-0.786-0.078-3.845-3.346-4.845-8.145l-2.482-11.6c1.961-3.177,3.977-5.629,5.988-7.292 + c1.08-0.882,2.314-1.349,3.808-1.43c3.815-0.26,5.203-0.74,6.14-1.399c1.547-1.115,2.397-2.728,2.397-4.542 + c0-1.596-0.604-3.019-1.75-4.115c-1.106-1.059-2.581-1.618-4.26-1.618c-2.468,0-5.239,1.142-8.474,3.49 + c-1.91,1.388-3.935,3.406-6.121,6.111c-0.711-2.653-1.319-3.889-1.771-4.628c-1.396-2.303-3.664-2.303-4.41-2.303l-0.813,0.013 + l-23.045,0.544l1.297-5.506c0.828-3.593,1.915-6.436,3.226-8.45c0.638-0.98,1.614-2.148,2.638-2.148 + c0.387,0,1.152,0.063,2.582,0.36c3.978,0.86,5.465,0.959,6.239,0.959c1.708,0,3.21-0.571,4.347-1.651 + c1.176-1.119,1.797-2.583,1.797-4.233c0-1.29-0.424-3.156-2.445-4.722c-1.396-1.081-3.311-1.629-5.691-1.629 + c-3.568,0-7.349,1.141-11.241,3.39c-3.862,2.232-7.038,5.317-9.438,9.171c-2.105,3.379-3.929,8.124-5.555,14.459H21.877 + l-2.238,8.831h10.186l-7.74,31.116c-1.603,6.443-2.777,8.028-3.098,8.361c-0.875,0.904-2.68,1.094-4.04,1.094 + c-1.683,0-3.477-0.121-5.349-0.361c-1.286-0.157-2.265-0.234-2.991-0.234c-1.878,0-3.423,0.488-4.59,1.448 + C0.716,81.858,0,83.403,0,85.14c0,1.357,0.44,3.309,2.539,4.895c1.434,1.08,3.389,1.628,5.813,1.628 + c6.069,0,11.725-2.411,16.813-7.165c4.947-4.624,8.571-11.413,10.773-20.195l6.119-24.935l20.87,0.354l2.244,9.64l-4.573,6.748 + c-0.824,1.209-2.051,2.701-3.658,4.441c-0.84,0.92-1.398,1.426-1.721,1.689c-1.316-1.608-2.809-2.424-4.432-2.424 + c-1.525,0-2.91,0.625-4.002,1.804c-1.036,1.116-1.583,2.514-1.583,4.038c0,1.83,0.783,3.459,2.264,4.709 + c1.357,1.146,3.034,1.728,4.981,1.728c2.414,0,4.884-0.921,7.344-2.737c2.053-1.519,4.697-4.526,8.074-9.189 + c2.17,6.24,5.248,10.252,6.714,11.927c2.313,2.644,6.049,4.22,9.993,4.22c3.348,0,5.244-1.402,6.916-2.641l0.148-0.109 + c2.926-2.164,3.54-4.545,3.54-6.166C95.174,65.965,94.691,64.679,93.779,63.676z`}))}function gge(i){return n.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 512 512",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},n.createElement("path",{fill:"currentColor",d:"M510.371,226.513c-1.088-2.603-2.645-4.971-4.629-6.955l-63.979-63.979c-8.341-8.32-21.824-8.32-30.165,0 c-8.341,8.341-8.341,21.845,0,30.165l27.584,27.584H320.013c-11.797,0-21.333,9.557-21.333,21.333s9.536,21.333,21.333,21.333 h119.168l-27.584,27.584c-8.341,8.341-8.341,21.845,0,30.165c4.16,4.181,9.621,6.251,15.083,6.251s10.923-2.069,15.083-6.251 l63.979-63.979c1.984-1.963,3.541-4.331,4.629-6.955C512.525,237.606,512.525,231.718,510.371,226.513z"}),n.createElement("path",{fill:"currentColor",d:`M362.68,298.667c-11.797,0-21.333,9.557-21.333,21.333v106.667h-85.333V85.333c0-9.408-6.187-17.728-15.211-20.437 + l-74.091-22.229h174.635v106.667c0,11.776,9.536,21.333,21.333,21.333s21.333-9.557,21.333-21.333v-128 + C384.013,9.557,374.477,0,362.68,0H21.347c-0.768,0-1.451,0.32-2.197,0.405c-1.003,0.107-1.92,0.277-2.88,0.512 + c-2.24,0.576-4.267,1.451-6.165,2.645c-0.469,0.299-1.045,0.32-1.493,0.661C8.44,4.352,8.376,4.587,8.205,4.715 + C5.88,6.549,3.939,8.789,2.531,11.456c-0.299,0.576-0.363,1.195-0.597,1.792c-0.683,1.621-1.429,3.2-1.685,4.992 + c-0.107,0.64,0.085,1.237,0.064,1.856c-0.021,0.427-0.299,0.811-0.299,1.237V448c0,10.176,7.189,18.923,17.152,20.907 + l213.333,42.667c1.387,0.299,2.795,0.427,4.181,0.427c4.885,0,9.685-1.685,13.525-4.843c4.928-4.053,7.808-10.091,7.808-16.491 + v-21.333H362.68c11.797,0,21.333-9.557,21.333-21.333V320C384.013,308.224,374.477,298.667,362.68,298.667z`}))}function Tge(i){return n.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",onClick:e=>i.onClick&&i.onClick(e),viewBox:"0 0 339 339",width:i.width||(i.fontSize==="small"?16:20),height:i.height||i.width||(i.fontSize==="small"?16:20),className:i.className,style:i.style},n.createElement("path",{fill:"currentColor",d:"M 318.371 88.485 C 332.371 114.538 339.207 142.418 338.881 172.125 C 338.874 172.605 338.631 172.845 338.151 172.845 L 335.411 172.845 C 335.077 172.845 334.911 173.012 334.911 173.345 L 334.911 181.215 C 334.911 181.635 335.121 181.845 335.541 181.845 L 337.711 181.845 C 338.157 181.845 338.364 182.068 338.331 182.515 C 331.921 264.525 267.321 330.135 185.931 337.995 C 89.911 347.265 6.491 275.385 0.301 179.465 C 0.274 179.052 0.467 178.845 0.881 178.845 L 2.381 178.845 C 2.741 178.845 2.921 178.665 2.921 178.305 L 2.911 171.465 C 2.904 171.052 2.694 170.845 2.281 170.845 L 0.441 170.845 C 0.147 170.845 0.001 170.698 0.001 170.405 C -0.289 83.535 64.591 10.095 151.421 0.955 C 211.511 -5.375 269.171 20.055 305.341 68.135 C 305.538 68.391 305.938 68.338 306.062 68.039 C 306.065 68.031 306.068 68.023 306.071 68.015 L 311.541 51.395 C 311.63 51.125 311.924 50.977 312.201 51.065 L 316.881 52.625 C 317.274 52.758 317.407 53.022 317.281 53.415 L 310.271 74.305 C 310.157 74.645 310.197 74.968 310.391 75.275 L 314.011 80.905 C 314.204 81.205 314.481 81.378 314.841 81.425 L 336.771 84.365 C 337.124 84.412 337.277 84.612 337.231 84.965 L 336.601 89.775 C 336.547 90.182 336.321 90.358 335.921 90.305 L 318.721 87.975 C 318.267 87.915 318.151 88.085 318.371 88.485 Z M 200.701 172.615 C 170.541 200.245 121.671 181.975 117.251 140.865 C 117.211 140.518 117.017 140.345 116.671 140.345 L 8.941 140.345 C 8.68 140.346 8.46 140.532 8.421 140.785 C -10.469 249.095 80.901 345.385 189.421 331.625 C 265.701 321.955 325.741 260.435 332.311 183.415 C 343.611 50.895 200.811 -38.365 85.961 28.845 C 47.041 51.625 20.601 89.335 9.791 133.265 C 9.611 133.985 9.891 134.345 10.631 134.345 L 116.371 134.345 C 116.664 134.345 116.824 134.202 116.851 133.915 C 118.397 116.288 126.001 103.005 139.661 94.065 C 172.821 72.345 214.571 95.715 216.891 133.845 C 216.911 134.178 217.087 134.345 217.421 134.345 L 330.342 134.345 C 330.842 134.345 331.092 134.595 331.092 135.095 L 331.092 139.595 C 331.092 140.095 330.842 140.345 330.342 140.345 L 217.161 140.345 C 216.827 140.345 216.641 140.512 216.601 140.845 C 215.141 153.652 209.841 164.242 200.701 172.615 Z M 210.861 135.845 C 210.861 111.572 191.183 91.895 166.911 91.895 C 142.638 91.895 122.961 111.572 122.961 135.845 C 122.961 160.118 142.638 179.795 166.911 179.795 C 191.183 179.795 210.861 160.118 210.861 135.845 Z",transform:"matrix(0.9999999999999999, 0, 0, 0.9999999999999999, -5.684341886080802e-14, 0)"}),n.createElement("path",{fill:"currentColor",d:"M 222.771 42.215 C 224.237 43.708 223.741 45.092 221.281 46.365 C 220.5 46.768 219.574 46.779 218.781 46.395 C 183.761 29.182 149.014 29.638 114.541 47.765 C 113.252 48.444 111.662 47.8 111.211 46.415 C 110.891 45.435 110.867 44.465 111.141 43.505 C 111.234 43.158 111.437 42.898 111.751 42.725 C 145.631 23.545 186.631 23.045 221.051 41.045 C 221.831 41.452 222.404 41.842 222.771 42.215 Z",transform:"matrix(0.9999999999999999, 0, 0, 0.9999999999999999, -5.684341886080802e-14, 0)"}),n.createElement("text",{style:{whiteSpace:"pre",fontFamily:"Arial, sans-serif",fontSize:16},x:"139.395",y:"288.084",transform:"matrix(0.9999999999999999, 0, 0, 0.9999999999999999, -5.684341886080802e-14, 0)"},"vacuum"))}const Aje={dialogPaper:{height:"calc(100% - 96px)"}};class yge extends n.Component{constructor(e){super(e);let t;this.props.cron&&typeof this.props.cron=="string"&&this.props.cron.replace(/^["']/,"")[0]!=="{"?t=this.props.cron.replace(/['"]/g,"").trim():(t=this.props.cron||"{}",typeof t=="string"&&(t=t.replace(/^["']/,"").replace(/["']\n?$/,""))),this.state={showWarning:"",cron:t}}handleCancel(){this.props.onClose()}handleOk(e){if(!e){const t=Pt.cron2state(this.state.cron);if(t.seconds==="*"||t.seconds==="*/1"){this.setState({showWarning:"everySecond"});return}if(t.minutes==="*"||t.minutes==="*/1"){this.setState({showWarning:"everyMinute"});return}}this.props.onOk(this.state.cron),this.props.onClose()}renderWarningDialog(){return this.state.showWarning?n.createElement(Jc,{title:D.t("ra_Please confirm"),text:D.t(this.state.showWarning==="everySecond"?"ra_The schedule will be executed every second. Are you sure?":"ra_The schedule will be executed every minute. Are you sure?"),onClose:e=>this.setState({showWarning:""},()=>{e&&this.handleOk(!0)})}):null}handleClear(){this.props.onOk(!1),this.props.onClose()}render(){return n.createElement(de,{onClose:()=>{},maxWidth:"md",fullWidth:!0,sx:{"& .MuiDialog-paper":Aje.dialogPaper},open:!0,"aria-labelledby":"cron-dialog-title"},this.renderWarningDialog(),n.createElement(he,{id:"cron-dialog-title"},this.props.title||D.t("ra_Define schedule...")),n.createElement(Ae,{style:{height:"100%",overflow:"hidden"}},n.createElement(Pt,{cronExpression:this.state.cron,onChange:e=>this.setState({cron:e}),language:D.getLanguage()})),n.createElement(me,null,!!this.props.clearButton&&n.createElement(X,{color:"grey",variant:"contained",onClick:()=>this.handleClear(),startIcon:n.createElement(ut,null)},this.props.clear||D.t("ra_Clear")),n.createElement(X,{variant:"contained",onClick:()=>this.handleOk(),color:"primary",startIcon:n.createElement(Ue,null)},this.props.ok||D.t("ra_Ok")),n.createElement(X,{color:"grey",variant:"contained",onClick:()=>this.handleCancel(),startIcon:n.createElement(ui,null)},this.props.cancel||D.t("ra_Cancel"))))}}const mje={dialogPaper:{height:"calc(100% - 96px)"}};class Dge extends n.Component{constructor(e){super(e);let t;this.props.cron&&typeof this.props.cron=="string"&&this.props.cron.replace(/^["']/,"")[0]!=="{"?t=this.props.cron.replace(/['"]/g,"").trim():(t=this.props.cron||"{}",typeof t=="string"&&(t=t.replace(/^["']/,"").replace(/["']\n?$/,""))),this.state={cron:t,mode:this.props.simple?"simple":this.props.complex?"complex":(typeof t=="object"||t[0]==="{")&&!this.props.noWizard?"wizard":Gu(this.props.cron||"* * * * *")?"simple":"complex"}}handleCancel(){this.props.onClose()}handleOk(){this.props.onOk(this.state.cron),this.props.onClose()}setMode(e){this.setState({mode:e})}render(){return n.createElement(de,{onClose:()=>{},maxWidth:"md",fullWidth:!0,sx:{"& .MuiDialog-paper":mje.dialogPaper},open:!0,"aria-labelledby":"cron-dialog-title"},n.createElement(he,{id:"cron-dialog-title"},this.props.title||D.t("ra_Define schedule...")),n.createElement(Ae,{style:{height:"100%",overflow:"hidden"}},this.props.simple&&this.props.complex||!this.props.simple&&!this.props.complex?n.createElement("div",null,!this.props.simple&&!this.props.complex&&!this.props.noWizard&&n.createElement(n.Fragment,null,n.createElement(Me,{key:"wizard",checked:this.state.mode==="wizard",onChange:()=>this.setMode("wizard")}),n.createElement("label",{onClick:()=>this.setMode("wizard"),style:this.state.mode!=="wizard"?{color:"lightgrey"}:{}},D.t("sc_wizard"))),(!this.props.simple&&!this.props.complex||this.props.simple)&&n.createElement(n.Fragment,null,n.createElement(Me,{key:"simple",checked:this.state.mode==="simple",onChange:()=>this.setMode("simple")}),n.createElement("label",{onClick:()=>this.setMode("simple"),style:this.state.mode!=="simple"?{color:"lightgrey"}:{}},D.t("sc_simple"))),(!this.props.simple&&!this.props.complex||this.props.complex)&&n.createElement(n.Fragment,null,n.createElement(Me,{key:"complex",checked:this.state.mode==="complex",onChange:()=>this.setMode("complex")}),n.createElement("label",{onClick:()=>this.setMode("complex"),style:this.state.mode!=="complex"?{color:"lightgrey"}:{}},D.t("sc_cron")))):null,this.state.mode==="simple"&&n.createElement(ci,{cronExpression:this.state.cron,onChange:e=>this.setState({cron:e}),language:D.getLanguage()}),this.state.mode==="wizard"&&n.createElement(Ce,{theme:this.props.theme,schedule:this.state.cron,onChange:e=>this.setState({cron:e})}),this.state.mode==="complex"&&n.createElement(Pt,{cronExpression:this.state.cron,onChange:e=>this.setState({cron:e}),language:D.getLanguage()})),n.createElement(me,null,n.createElement(X,{variant:"contained",onClick:()=>this.handleOk(),color:"primary",startIcon:n.createElement(Ue,null)},this.props.ok||D.t("ra_Ok")),n.createElement(X,{variant:"contained",onClick:()=>this.handleCancel(),color:"grey",startIcon:n.createElement(ui,null)},this.props.cancel||D.t("ra_Cancel"))))}}class dge extends ze{handleOk(){this.props.onClose&&this.props.onClose()}render(){return n.createElement(de,{open:!0,maxWidth:"sm",fullWidth:this.props.fullWidth!==void 0?this.props.fullWidth:!0,onClose:()=>this.handleOk(),"aria-labelledby":"ar_dialog_message_title","aria-describedby":"ar_dialog_message_description"},n.createElement(he,{id:"ar_dialog_message_title"},this.props.title||D.t("ra_Message")),n.createElement(Ae,null,n.createElement(Jt,{id:"ar_dialog_message_description"},n.createElement("span",{style:{marginRight:this.props.icon?8:0}},this.props.icon||null),this.props.text)),n.createElement(me,null,n.createElement(X,{id:"ar_dialog_message_ok",variant:"contained",onClick:()=>this.handleOk(),color:"primary",autoFocus:!0,startIcon:n.createElement(ge,null)},this.props.ok||D.t("ra_Close"))))}}const Kt={headerID:{fontWeight:"bold",fontStyle:"italic"},dialog:{height:"95%"},dialogMobile:{padding:"4px",width:"100%",maxWidth:"100%",maxHeight:"calc(100% - 16px)",height:"100%"},content:{height:"100%",overflow:"hidden"},contentMobile:{padding:"8px 4px"},titleRoot:{whiteSpace:"nowrap",width:"calc(100% - 72px)",overflow:"hidden",display:"inline-block",textOverflow:"ellipsis"}};class zge extends n.Component{dialogName;filters;constructor(e){super(e),this.dialogName=this.props.dialogName||"default",this.dialogName=`SelectFile.${this.dialogName}`;const t=(window._localStorage||window.localStorage).getItem(this.dialogName)||"{}";try{this.filters=JSON.parse(t)}catch{this.filters={}}e.filters&&(this.filters={...this.filters,...e.filters});let s=this.props.selected||[];typeof s!="object"?s=[s]:s=[...s],s=s.filter(r=>r),this.state={selected:s}}handleCancel(){this.props.onClose()}handleOk(){this.props.onOk(this.props.multiSelect||!Array.isArray(this.state.selected)?this.state.selected:this.state.selected[0]||""),this.props.onClose()}render(){let e;return this.state.selected.length?!Array.isArray(this.state.selected)||this.state.selected.length===1?e=[n.createElement("span",{key:"selected"},D.t("ra_Selected")," "),n.createElement("span",{key:"id",style:Kt.headerID},this.state.selected)]:e=[n.createElement("span",{key:"selected"},D.t("ra_Selected")," "),n.createElement("span",{key:"id",style:Kt.headerID},D.t("%s items",this.state.selected.length))]:e=this.props.title||D.t("ra_Please select file..."),n.createElement(de,{onClose:()=>{},maxWidth:!1,style:{zIndex:this.props.zIndex||void 0},sx:{"& .MuiDialog-paper":{...Kt.dialog,...Kt.dialogMobile}},fullWidth:!0,open:!0,"aria-labelledby":"ar_dialog_selectfile_title"},n.createElement(he,{id:"ar_dialog_selectfile_title",sx:{"&.MuiDialogTitle-root":Kt.titleRoot}},e),n.createElement(Ae,{style:{...Kt.content,...Kt.contentMobile}},n.createElement(Dle,{ready:!0,imagePrefix:this.props.imagePrefix||this.props.prefix||"../",allowUpload:!!this.props.allowUpload,allowDownload:this.props.allowDownload!==!1,allowCreateFolder:!!this.props.allowCreateFolder,allowDelete:!!this.props.allowDelete,allowView:this.props.allowView!==!1,showViewTypeButton:this.props.showViewTypeButton!==!1,showToolbar:this.props.showToolbar!==!1,limitPath:this.props.limitPath,filterFiles:this.props.filterFiles,filterByType:this.props.filterByType,selected:this.props.selected,restrictToFolder:this.props.restrictToFolder,allowNonRestricted:this.props.allowNonRestricted,onSelect:(t,s,r)=>{this.setState({selected:Array.isArray(t)?t:[t]},()=>s&&(!this.props.selectOnlyFolders||r)&&this.handleOk())},t:this.props.t||D.t,lang:this.props.lang||D.getLanguage(),socket:this.props.socket,themeType:this.props.themeType,themeName:this.props.themeName,theme:this.props.theme,showExpertButton:this.props.showExpertButton,expertMode:this.props.expertMode,showTypeSelector:this.props.showTypeSelector})),n.createElement(me,null,n.createElement(X,{variant:"contained",onClick:()=>this.handleOk(),startIcon:n.createElement(Ue,null),disabled:!this.state.selected.length,color:"primary"},this.props.ok||D.t("ra_Ok")),n.createElement(X,{color:"grey",variant:"contained",onClick:()=>this.handleCancel(),startIcon:n.createElement(ui,null)},this.props.cancel||D.t("ra_Cancel"))))}}const pje={dialogPaper:{height:"calc(100% - 96px)"}};class Ige extends n.Component{constructor(e){super(e);let t;this.props.cron&&typeof this.props.cron=="string"&&this.props.cron.replace(/^["']/,"")[0]!=="{"?t=this.props.cron.replace(/['"]/g,"").trim():(t=this.props.cron||"{}",typeof t=="string"&&(t=t.replace(/^["']/,"").replace(/["']\n?$/,""))),this.state={cron:t}}handleCancel(){this.props.onClose()}handleOk(){this.props.onOk(this.state.cron),this.props.onClose()}render(){return n.createElement(de,{onClose:()=>{},maxWidth:"md",fullWidth:!0,sx:{"& .MuiDialog-paper":pje.dialogPaper},open:!0,"aria-labelledby":"cron-dialog-title"},n.createElement(he,{id:"cron-dialog-title"},this.props.title||D.t("ra_Define CRON...")),n.createElement(Ae,{style:{height:"100%",overflow:"hidden"}},n.createElement(ci,{cronExpression:this.state.cron,onChange:e=>this.setState({cron:e}),language:D.getLanguage()})),n.createElement(me,null,n.createElement(X,{variant:"contained",disabled:!this.state.cron||this.state.cron.includes("_"),onClick:()=>this.handleOk(),color:"primary",startIcon:n.createElement(Ue,null)},this.props.ok||D.t("ra_Ok")),n.createElement(X,{variant:"contained",onClick:()=>this.handleCancel(),color:"grey",startIcon:n.createElement(ui,null)},this.props.cancel||D.t("ra_Cancel"))))}}const Dt={CONNECTING:0,CONNECTED:1,OBJECTS_LOADED:2,STATES_LOADED:3,READY:4},dt="permissionError",b="notConnectedError";function Ua(i){i=(i||"").toString();const e=i[0]==="*",t=i[i.length-1]==="*";return i=i.replace(/[-/\\^$+?.()|[\]{}]/g,"\\$&").replace(/\*/g,".*"),(e?"":"^")+i+(t?"":"$")}class F{_socket;_authTimer;systemLang="en";_waitForFirstConnection;_waitForFirstConnectionResolve=null;_promises={};_instanceSubscriptions;props;doNotLoadAllObjects;doNotLoadACL;states={};objects=null;scriptLoadCounter;acl=null;firstConnect=!0;waitForRestart=!1;connected=!1;statesSubscribes={};objectsSubscribes={};filesSubscribes={};onConnectionHandlers=[];onLogHandlers=[];onProgress;onError;loaded=!1;loadTimer=null;loadCounter=0;ignoreState="";simStates={};autoSubscribes;autoSubscribeLog;subscribed;isSecure;onCmdStdoutHandler;onCmdStderrHandler;onCmdExitHandler;systemConfig=null;objectViewCached;constructor(e){e||={protocol:window.location.protocol,host:window.location.hostname},this.props=e,this.autoSubscribes=this.props.autoSubscribes||[],this.autoSubscribeLog=this.props.autoSubscribeLog||!1,this.props.protocol||=window.location.protocol,this.props.host||=window.location.hostname,this.props.port||=window.location.port==="3000"?F.isWeb()?8082:8081:window.location.port,this.props.ioTimeout=Math.max(this.props.ioTimeout||2e4,2e4),this.props.cmdTimeout=Math.max(this.props.cmdTimeout||5e3,5e3),this._instanceSubscriptions={},this.doNotLoadAllObjects=this.props.doNotLoadAllObjects===void 0?!0:this.props.doNotLoadAllObjects,this.doNotLoadACL=this.props.doNotLoadACL===void 0?!0:this.props.doNotLoadACL,this.states={},this._waitForFirstConnection=new Promise(t=>{this._waitForFirstConnectionResolve=t}),this.onProgress=this.props.onProgress||(()=>{}),this.onError=this.props.onError||(t=>console.error(t)),this.startSocket()}static isWeb(){const e=window.adapterName;return e==="material"||e==="vis"||(e==null?void 0:e.startsWith("vis-"))||e==="echarts-show"||window.socketUrl!==void 0}startSocket(){if(typeof window.io>"u"&&typeof window.iob>"u"){if(typeof window.registerSocketOnLoad!="function"){if(this.scriptLoadCounter||=0,this.scriptLoadCounter++,this.scriptLoadCounter<30){setTimeout(()=>this.startSocket(),100);return}window.alert("Cannot load socket.io.js!")}else window.registerSocketOnLoad(()=>this.startSocket());return}if(this._socket)return;let e=this.props.host,t=this.props.port,s=this.props.protocol.replace(":",""),r=window.location.pathname;if(window.location.hostname==="iobroker.net"||window.location.hostname==="iobroker.pro")r="";else{if(window.socketUrl){const a=new URL(window.socketUrl);e=a.hostname,t=a.port,s=a.protocol.replace(":","")}const M=r.lastIndexOf("/");if(M!==-1&&(r=r.substring(0,M+1)),F.isWeb()){const a=r.split("/");a.length>2&&(a.pop(),a[a.length-1].match(/\d+\.\d+\.\d+/)&&a.pop(),a.pop(),r=a.join("/"),r.endsWith("/")||(r+="/"))}}const o=t?`${s}://${e}:${t}${r}`:`${s}://${e}${r}`;this._socket=(window.io||window.iob).connect(o,{path:r.endsWith("/")?`${r}socket.io`:`${r}/socket.io`,query:"ws=true",name:this.props.name,timeout:this.props.ioTimeout,uuid:this.props.uuid}),this._socket.on("connect",M=>{M!==!0?setTimeout(()=>this.getVersion().then(a=>{const[u,l,N]=a.version.split(".");parseInt(u,10)*1e4+parseInt(l,10)*100+parseInt(N,10)<40102?(this._authTimer=null,this.onPreConnect(!1,!1)):this._socket.emit("authenticate",(L,j)=>this.onPreConnect(L,j))}),500):this._socket.emit("authenticate",(a,u)=>this.onPreConnect(a,u))}),this._socket.on("reconnect",()=>{this.onProgress(Dt.READY),this.connected=!0,this.waitForRestart?window.location.reload():(this._subscribe(!0),this.onConnectionHandlers.forEach(M=>M(!0)))}),this._socket.on("disconnect",()=>{this.connected=!1,this.subscribed=!1,this.onProgress(Dt.CONNECTING),this.onConnectionHandlers.forEach(M=>M(!1))}),this._socket.on("reauthenticate",()=>F.authenticate()),this._socket.on("log",M=>{var a,u;(u=(a=this.props).onLog)==null||u.call(a,M),this.onLogHandlers.forEach(l=>l(M))}),this._socket.on("error",M=>{let a=M||"";typeof a.toString!="function"&&(a=JSON.stringify(a),console.error(`Received strange error: ${a}`)),a=a.toString(),a.includes("User not authorized")?F.authenticate():window.alert(`Socket Error: ${M}`)}),this._socket.on("connect_error",M=>console.error(`Connect error: ${M}`)),this._socket.on("permissionError",M=>this.onError({message:"no permission",operation:M.operation,type:M.type,id:M.id||""})),this._socket.on("objectChange",(M,a)=>setTimeout(()=>this.objectChange(M,a),0)),this._socket.on("stateChange",(M,a)=>setTimeout(()=>this.stateChange(M,a),0)),this._socket.on("im",(M,a,u)=>setTimeout(()=>this.instanceMessage(M,a,u),0)),this._socket.on("fileChange",(M,a,u)=>setTimeout(()=>this.fileChange(M,a,u),0)),this._socket.on("cmdStdout",(M,a)=>{var u;return(u=this.onCmdStdoutHandler)==null?void 0:u.call(this,M,a)}),this._socket.on("cmdStderr",(M,a)=>{var u;return(u=this.onCmdStderrHandler)==null?void 0:u.call(this,M,a)}),this._socket.on("cmdExit",(M,a)=>{var u;return(u=this.onCmdExitHandler)==null?void 0:u.call(this,M,a)})}onPreConnect(e,t){this._authTimer&&(clearTimeout(this._authTimer),this._authTimer=null),this.connected=!0,this.isSecure=t,this.waitForRestart?window.location.reload():(this.firstConnect?(this.loadTimer=setTimeout(()=>{this.loadTimer=null,this.loadCounter++,this.loadCounter<10&&this.onConnect().catch(s=>this.onError(s))},1e3),this.loaded||this.onConnect().catch(s=>this.onError(s))):this.onProgress(Dt.READY),this._subscribe(!0),this.onConnectionHandlers.forEach(s=>s(!0))),this._waitForFirstConnectionResolve&&(this._waitForFirstConnectionResolve(),this._waitForFirstConnectionResolve=null)}static isCloud(){return window.location.hostname.includes("amazonaws.com")||window.location.hostname.includes("iobroker.in")?!0:typeof window.socketUrl>"u"?!1:window.socketUrl.includes("iobroker.in")||window.socketUrl.includes("amazonaws")}isConnected(){return this.connected}waitForFirstConnection(){return this._waitForFirstConnection}async _getUserPermissions(){return this.doNotLoadACL?null:new Promise((e,t)=>{this._socket.emit("getUserPermissions",(s,r)=>s?t(new Error(s)):e(r))})}async onConnect(){var s,r,o,M,a;let e;try{e=await this._getUserPermissions()}catch(u){const l=u;this.onError(`Cannot read user permissions: ${l.message}`);return}if(!this.doNotLoadACL){if(this.loaded)return;this.loaded=!0,this.loadTimer&&(clearTimeout(this.loadTimer),this.loadTimer=null),this.onProgress(Dt.CONNECTED),this.firstConnect=!1,this.acl=e}let t;try{if(t=await this.getSystemConfig(),this.doNotLoadACL){if(this.loaded)return;this.loaded=!0,this.loadTimer&&(clearTimeout(this.loadTimer),this.loadTimer=null),this.onProgress(Dt.CONNECTED),this.firstConnect=!1}this.systemConfig=t,(s=this.systemConfig)!=null&&s.common?this.systemLang=this.systemConfig.common.language:(this.systemLang=window.navigator.userLanguage||window.navigator.language,/^(en|de|ru|pt|nl|fr|it|es|pl|uk)-?/.test(this.systemLang)?this.systemLang=this.systemLang.substr(0,2):/^(en|de|ru|pt|nl|fr|it|es|pl|uk|zh-cn)$/.test(this.systemLang)||(this.systemLang="en")),(o=(r=this.props).onLanguage)==null||o.call(r,this.systemLang),this.doNotLoadAllObjects?(this.objects={"system.config":t},this.onProgress(Dt.READY),(a=(M=this.props).onReady)==null||a.call(M,this.objects)):(await this.getObjects(),this.onProgress(Dt.READY),this.props.onReady&&this.objects&&this.props.onReady(this.objects))}catch(u){this.onError(`Cannot read system config: ${u}`)}}static authenticate(){window.location.search.includes("&href=")?window.location.href=`${window.location.protocol}//${window.location.host}${window.location.pathname}${window.location.search}${window.location.hash}`:window.location.href=`${window.location.protocol}//${window.location.host}${window.location.pathname}?login&href=${window.location.search}${window.location.hash}`}async subscribeState(e,t,s){typeof t=="function"&&(s=t,t=!1);let r;if(Array.isArray(e)?r=e:r=[e],!s)return console.error("No callback found for subscribeState"),Promise.reject(new Error("No callback found for subscribeState"));const o=[];for(let M=0;M{this._socket.emit(F.isWeb()?"getStates":"getForeignStates",r,(u,l)=>{u?(console.error(`Cannot getForeignStates "${e}": ${JSON.stringify(u)}`),a(new Error(u))):(l&&Object.keys(l).forEach(N=>s(N,l[N])),M())})})}subscribeStateAsync(e,t){let s;Array.isArray(e)?s=e:s=[e];const r=[];for(let o=0;o{typeof t=="function"&&this.connected?this._socket.emit(F.isWeb()?"getStates":"getForeignStates",e,(a,u)=>{a&&console.error(`Cannot getForeignStates "${e}": ${JSON.stringify(a)}`),u&&Object.keys(u).forEach(l=>t(l,u[l])),u?o():M(new Error(`Cannot getForeignStates "${e}": ${JSON.stringify(a)}`))}):this.connected?M(new Error("callback is not a function")):M(new Error("not connected"))})}unsubscribeState(e,t){let s;Array.isArray(e)?s=e:s=[e];const r=[];for(let o=0;o{(o===e||this.objectsSubscribes[o].reg.test(e))&&this.objectsSubscribes[o].cbs.forEach(M=>{try{M(e,t,s)}catch(a){console.error(`Error by callback of objectChange: ${a}`)}})}),r&&this.props.onObjectChange&&this.props.onObjectChange(e,t)}stateChange(e,t){for(const s in this.statesSubscribes)Object.prototype.hasOwnProperty.call(this.statesSubscribes,s)&&this.statesSubscribes[s].reg.test(e)&&this.statesSubscribes[s].cbs.forEach(r=>{try{r(e,t)}catch(o){const M=o;console.error(`Error by callback of stateChange: ${M==null?void 0:M.message}`)}})}instanceMessage(e,t,s){this._instanceSubscriptions[t]&&this._instanceSubscriptions[t].forEach(r=>{r.messageType===e&&r.callback(s,t,e)})}getStates(e,t){return this.connected?(typeof e=="boolean"&&(t=e,e=void 0),new Promise((s,r)=>{this._socket.emit("getStates",e,(o,M)=>{this.states=M,!t&&this.onProgress(Dt.STATES_LOADED),o?r(new Error(o)):s(this.states)})})):Promise.reject(new Error(b))}getState(e){return this.connected?e&&e===this.ignoreState?Promise.resolve(this.simStates[e]||{val:null,ack:!0}):new Promise((t,s)=>{this._socket.emit("getState",e,(r,o)=>r?s(new Error(r)):t(o))}):Promise.reject(new Error(b))}getBinaryState(e){return this.connected?new Promise((t,s)=>{this._socket.emit("getBinaryState",e,(r,o)=>r?s(new Error(r)):t(o))}):Promise.reject(new Error(b))}setBinaryState(e,t){return this.connected?new Promise((s,r)=>{this._socket.emit("setBinaryState",e,t,o=>o?r(new Error(o)):s())}):Promise.reject(new Error(b))}setState(e,t,s){if(!this.connected)return Promise.reject(new Error(b));if(e&&e===this.ignoreState){let r;if(typeof s=="boolean"||typeof t=="object"&&t.val!==void 0?r=t:r={val:t,ack:!1,ts:Date.now(),lc:Date.now(),from:"system.adapter.vis.0"},this.simStates[e]=r,this.statesSubscribes[e])for(const o of this.statesSubscribes[e].cbs)try{o(e,r)}catch(M){console.error(`Error by callback of stateChanged: ${M}`)}return Promise.resolve()}return new Promise((r,o)=>{this._socket.emit("setState",e,t,M=>M?o(new Error(M)):r())})}getObjects(e,t){return this.connected?new Promise((s,r)=>{!e&&this.objects?s(this.objects):this._socket.emit(F.isWeb()?"getObjects":"getAllObjects",(o,M)=>{this.objects=M,t&&this.onProgress(Dt.OBJECTS_LOADED),o?r(new Error(o)):s(this.objects)})}):Promise.reject(new Error(b))}getObjectsById(e){return this.connected?new Promise((t,s)=>{this._socket.emit("getObjects",e,(r,o)=>r?s(new Error(r)):t(o))}):Promise.reject(new Error(b))}_subscribe(e){if(e&&!this.subscribed){this.subscribed=!0,this.autoSubscribes.forEach(s=>this._socket.emit("subscribeObjects",s)),Object.keys(this.objectsSubscribes).forEach(s=>this._socket.emit("subscribeObjects",s)),this.autoSubscribeLog&&this._socket.emit("requireLog",!0);const t=Object.keys(this.statesSubscribes);t.forEach(s=>this._socket.emit("subscribe",s)),t.length&&this._socket.emit(F.isWeb()?"getStates":"getForeignStates",t,(s,r)=>{s&&console.error(`Cannot getForeignStates: ${JSON.stringify(s)}`),r&&Object.keys(r).forEach(o=>this.stateChange(o,r[o]))})}else!e&&this.subscribed&&(this.subscribed=!1,this.autoSubscribes.forEach(t=>this._socket.emit("unsubscribeObjects",t)),Object.keys(this.objectsSubscribes).forEach(t=>this._socket.emit("unsubscribeObjects",t)),this.autoSubscribeLog&&this._socket.emit("requireLog",!1),Object.keys(this.statesSubscribes).forEach(t=>this._socket.emit("unsubscribe",t)))}requireLog(e){return this.connected?new Promise((t,s)=>{this._socket.emit("requireLog",e,r=>r?s(new Error(r)):t())}):Promise.reject(new Error(b))}delObject(e,t){return this.connected?new Promise((s,r)=>{this._socket.emit("delObject",e,{maintenance:!!t},o=>o?r(new Error(o)):s())}):Promise.reject(new Error(b))}delObjects(e,t){return this.connected?new Promise((s,r)=>{this._socket.emit("delObjects",e,{maintenance:!!t},o=>o?r(new Error(o)):s())}):Promise.reject(new Error(b))}setObject(e,t){return this.connected?t?(t=JSON.parse(JSON.stringify(t)),Object.prototype.hasOwnProperty.call(t,"from")&&delete t.from,Object.prototype.hasOwnProperty.call(t,"user")&&delete t.user,Object.prototype.hasOwnProperty.call(t,"ts")&&delete t.ts,new Promise((s,r)=>{this._socket.emit("setObject",e,t,o=>o?r(new Error(o)):s())})):Promise.reject(new Error("Null object is not allowed")):Promise.reject(new Error(b))}getObject(e){return this.connected?e&&e===this.ignoreState?Promise.resolve({_id:this.ignoreState,type:"state",common:{name:"ignored state",type:"mixed",read:!0,write:!0,role:"state"},native:{}}):new Promise((t,s)=>{this._socket.emit("getObject",e,(r,o)=>r?s(new Error(r)):t(o))}):Promise.reject(new Error(b))}getAdapterInstances(e,t){return typeof e=="boolean"&&(t=e,e=""),e||="",!t&&this._promises[`instances_${e}`]instanceof Promise?this._promises[`instances_${e}`]:this.connected?(this._promises[`instances_${e}`]=new Promise((s,r)=>{this._socket.emit("getAdapterInstances",e,(o,M)=>o?r(new Error(o)):s(M))}),this._promises[`instances_${e}`]):Promise.reject(new Error(b))}getAdapters(e,t){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):(typeof e=="boolean"&&(t=e,e=""),e||="",!t&&this._promises[`adapter_${e}`]instanceof Promise?this._promises[`adapter_${e}`]:this.connected?(this._promises[`adapter_${e}`]=new Promise((s,r)=>{this._socket.emit("getAdapters",e,(o,M)=>{o?r(new Error(o)):s(M)})}),this._promises[`adapter_${e}`]):Promise.reject(new Error(b)))}_renameGroups(e,t){if(!(e!=null&&e.length))t==null||t(null);else{const s=e.pop();if(!s){setTimeout(()=>this._renameGroups(e,t),0);return}const r=s._id;s._id=s.newId,delete s.newId,this.setObject(s._id,s).then(()=>this.delObject(r)).then(()=>setTimeout(()=>this._renameGroups(e,t),0)).catch(o=>t==null?void 0:t(o))}}async renameGroup(e,t,s){if(F.isWeb())return Promise.reject(new Error("Allowed only in admin"));const r=await this.getGroups(!0);if(r.length){const o=r.filter(a=>a._id.startsWith(`${e}.`));o.forEach(a=>{a.newId=t+a._id.substring(e.length)}),await new Promise((a,u)=>{this._renameGroups(o,l=>l?u(new Error(l)):a(null))});const M=r.find(a=>a._id===e);if(M)return M._id=t,s!==void 0&&(M.common||={},M.common.name=s),this.setObject(M._id,M).then(()=>this.delObject(e))}return Promise.resolve()}sendTo(e,t,s){return this.connected?new Promise(r=>{this._socket.emit("sendTo",e,t,s,o=>r(o))}):Promise.reject(new Error(b))}extendObject(e,t){return this.connected?(t=JSON.parse(JSON.stringify(t)),Object.prototype.hasOwnProperty.call(t,"from")&&delete t.from,Object.prototype.hasOwnProperty.call(t,"user")&&delete t.user,Object.prototype.hasOwnProperty.call(t,"ts")&&delete t.ts,new Promise((s,r)=>{this._socket.emit("extendObject",e,t,o=>o?r(new Error(o)):s())})):Promise.reject(new Error(b))}registerLogHandler(e){!this.onLogHandlers.includes(e)&&this.onLogHandlers.push(e)}unregisterLogHandler(e){const t=this.onLogHandlers.indexOf(e);t!==-1&&this.onLogHandlers.splice(t,1)}registerConnectionHandler(e){!this.onConnectionHandlers.includes(e)&&this.onConnectionHandlers.push(e)}unregisterConnectionHandler(e){const t=this.onConnectionHandlers.indexOf(e);t!==-1&&this.onConnectionHandlers.splice(t,1)}registerCmdStdoutHandler(e){this.onCmdStdoutHandler=e}unregisterCmdStdoutHandler(){this.onCmdStdoutHandler=void 0}registerCmdStderrHandler(e){this.onCmdStderrHandler=e}unregisterCmdStderrHandler(){this.onCmdStderrHandler=void 0}registerCmdExitHandler(e){this.onCmdExitHandler=e}unregisterCmdExitHandler(){this.onCmdExitHandler=void 0}getEnums(e,t){return!t&&this._promises[`enums_${e||"all"}`]instanceof Promise?this._promises[`enums_${e||"all"}`]:this.connected?(this._promises[`enums_${e||"all"}`]=new Promise((s,r)=>{this._socket.emit("getObjectView","system","enum",{startkey:`enum.${e||""}`,endkey:`enum.${e?`${e}.`:""}香`},(o,M)=>{if(!o&&M){const a={};for(let u=0;u{this._socket.emit("getObjectView",e,t,{startkey:s,endkey:r},(a,u)=>{if(a)M(new Error(a));else{const l={};if(u&&u.rows)for(let N=0;N{const s=[];return t&&t.native&&t.native.certificates&&Object.keys(t.native.certificates).forEach(r=>{const o=t.native.certificates[r];if(!o)return;const M={name:r,type:""};o.length<700&&(o.includes("/")||o.includes("\\"))?(r.toLowerCase().includes("private")||o.toLowerCase().includes("private")?M.type="private":(r.toLowerCase().includes("public")||o.toLowerCase().includes("public"))&&(M.type="public"),s.push(M)):(M.type=o.substring(0,26)==="-----BEGIN RSA PRIVATE KEY"||o.substring(0,22)==="-----BEGIN PRIVATE KEY"?"private":"public",M.type==="public"&&o.split("-----END CERTIFICATE-----").filter(u=>u.replace(/\r\n|\r|\n/,"").trim()).length>1&&(M.type="chained"),s.push(M))}),s}),this._promises.cert):Promise.reject(new Error(b))}getLogs(e,t){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise(s=>{this._socket.emit("sendToHost",e,"getLogs",t||200,r=>s(r))}):Promise.reject(new Error(b))}getLogsFiles(e){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise((t,s)=>{this._socket.emit("readLogs",e,(r,o)=>r?s(new Error(r)):t(o))}):Promise.reject(new Error(b))}delLogs(e){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise((t,s)=>{this._socket.emit("sendToHost",e,"delLogs",null,r=>r?s(new Error(r)):t())}):Promise.reject(new Error(b))}readMetaItems(){return this.connected?new Promise((e,t)=>{this._socket.emit("getObjectView","system","meta",{startkey:"",endkey:"香"},(s,r)=>s?t(new Error(s)):e(r.rows&&r.rows.map(o=>o.value)))}):Promise.reject(new Error(b))}readDir(e,t){return this.connected?new Promise((s,r)=>{this._socket.emit("readDir",e,t,(o,M)=>o?r(new Error(o)):s(M))}):Promise.reject(new Error(b))}readFile(e,t,s){return this.connected?new Promise((r,o)=>{s?this._socket.emit("readFile64",e,t,s,(M,a)=>M?o(new Error(M)):r(a)):this._socket.emit("readFile",e,t,(M,a,u)=>{M?o(new Error(M)):r({data:a,type:u})})}):Promise.reject(new Error(b))}writeFile64(e,t,s){return this.connected?new Promise((r,o)=>{if(typeof s=="string")this._socket.emit("writeFile",e,t,s,M=>M?o(new Error(M)):r());else{const M=btoa(new Uint8Array(s).reduce((a,u)=>a+String.fromCharCode(u),""));this._socket.emit("writeFile64",e,t,M,a=>a?o(new Error(a)):r())}}):Promise.reject(new Error(b))}deleteFile(e,t){return this.connected?new Promise((s,r)=>{this._socket.emit("unlink",e,t,o=>o?r(new Error(o)):s())}):Promise.reject(new Error(b))}deleteFolder(e,t){return this.connected?new Promise((s,r)=>{this._socket.emit("deleteFolder",e,t,o=>o?r(new Error(o)):s())}):Promise.reject(new Error(b))}getHosts(e){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):!e&&this._promises.hosts instanceof Promise?this._promises.hosts:this.connected?(this._promises.hosts=new Promise((t,s)=>{this._socket.emit("getObjectView","system","host",{startkey:"system.host.",endkey:"system.host.香"},(r,o)=>{r?s(new Error(r)):t(o.rows.map(M=>M.value))})}),this._promises.hosts):Promise.reject(new Error(b))}getUsers(e){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):!e&&this._promises.users instanceof Promise?this._promises.users:this.connected?(this._promises.users=new Promise((t,s)=>{this._socket.emit("getObjectView","system","user",{startkey:"system.user.",endkey:"system.user.香"},(r,o)=>{r?s(new Error(r)):t(o.rows.map(M=>M.value))})}),this._promises.users):Promise.reject(new Error(b))}getGroups(e){return!e&&this._promises.groups instanceof Promise?this._promises.groups:this.connected?(this._promises.groups=new Promise((t,s)=>{this._socket.emit("getObjectView","system","group",{startkey:"system.group.",endkey:"system.group.香"},(r,o)=>{r?s(new Error(r)):t(o.rows.map(M=>M.value))})}),this._promises.groups):Promise.reject(new Error(b))}getHostInfo(e,t,s){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):(e.startsWith("system.host.")||(e+=`system.host.${e}`),!t&&this._promises[`hostInfo_${e}`]instanceof Promise?this._promises[`hostInfo_${e}`]:this.connected?(this._promises[`hostInfo_${e}`]=new Promise((r,o)=>{let M=setTimeout(()=>{M&&(M=null,o(new Error("getHostInfo timeout")))},s||this.props.cmdTimeout);this._socket.emit("sendToHost",e,"getHostInfo",null,a=>{M&&(clearTimeout(M),M=null,a===dt?o(new Error('May not read "getHostInfo"')):!a||typeof a!="object"?o(new Error('Cannot read "getHostInfo"')):r(a))})}),this._promises[`hostInfo_${e}`]):Promise.reject(new Error(b)))}getHostInfoShort(e,t,s){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):(e.startsWith("system.host.")||(e+=`system.host.${e}`),!t&&this._promises[`hostInfoShort_${e}`]instanceof Promise?this._promises[`hostInfoShort_${e}`]:this.connected?(this._promises[`hostInfoShort_${e}`]=new Promise((r,o)=>{let M=setTimeout(()=>{M&&(M=null,o(new Error("hostInfoShort timeout")))},s||this.props.cmdTimeout);this._socket.emit("sendToHost",e,"getHostInfoShort",null,a=>{M&&(clearTimeout(M),M=null,a===dt?o(new Error('May not read "getHostInfoShort"')):!a||typeof a!="object"?o(new Error('Cannot read "getHostInfoShort"')):r(a))})}),this._promises[`hostInfoShort_${e}`]):Promise.reject(new Error(b)))}getRepository(e,t,s,r){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):!s&&this._promises.repo instanceof Promise?this._promises.repo:this.connected?(e.startsWith("system.host.")||(e+=`system.host.${e}`),this._promises.repo=new Promise((o,M)=>{let a=setTimeout(()=>{a&&(a=null,M(new Error("getRepository timeout")))},r||this.props.cmdTimeout);this._socket.emit("sendToHost",e,"getRepository",t,u=>{a&&(clearTimeout(a),a=null,u===dt?M(new Error('May not read "getRepository"')):!u||typeof u!="object"?M(new Error('Cannot read "getRepository"')):o(u))})}),this._promises.repo):Promise.reject(new Error(b))}getInstalled(e,t,s){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):(this._promises.installed=this._promises.installed||{},!t&&this._promises.installed[e]instanceof Promise?this._promises.installed[e]:this.connected?(e.startsWith("system.host.")||(e+=`system.host.${e}`),this._promises.installed[e]=new Promise((r,o)=>{let M=setTimeout(()=>{M&&(M=null,o(new Error("getInstalled timeout")))},s||this.props.cmdTimeout);this._socket.emit("sendToHost",e,"getInstalled",null,a=>{M&&(clearTimeout(M),M=null,a===dt?o(new Error('May not read "getInstalled"')):!a||typeof a!="object"?o(new Error('Cannot read "getInstalled"')):r(a))})}),this._promises.installed[e]):Promise.reject(new Error(b)))}rename(e,t,s){return this.connected?new Promise((r,o)=>{this._socket.emit("rename",e,t,s,M=>M?o(new Error(M)):r())}):Promise.reject(new Error(b))}renameFile(e,t,s){return this.connected?new Promise((r,o)=>{this._socket.emit("renameFile",e,t,s,M=>M?o(new Error(M)):r())}):Promise.reject(new Error(b))}cmdExec(e,t,s,r){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?(e.startsWith(e)||(e+=`system.host.${e}`),new Promise((o,M)=>{let a=r?setTimeout(()=>{a&&(a=null,M(new Error("cmdExec timeout")))},r):null;this._socket.emit("cmdExec",e,s,t,null,u=>{(!r||a)&&(a&&clearTimeout(a),a=null,u?M(new Error(u)):o())})})):Promise.reject(new Error(b))}checkFeatureSupported(e,t){return!t&&this._promises[`supportedFeatures_${e}`]instanceof Promise?this._promises[`supportedFeatures_${e}`]:this.connected?(this._promises[`supportedFeatures_${e}`]=new Promise((s,r)=>{this._socket.emit("checkFeatureSupported",e,(o,M)=>o?r(new Error(o)):s(M))}),this._promises[`supportedFeatures_${e}`]):Promise.reject(new Error(b))}async readBaseSettings(e){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):await this.checkFeatureSupported("CONTROLLER_READWRITE_BASE_SETTINGS")?this.connected?new Promise((s,r)=>{let o=setTimeout(()=>{o&&(o=null,r(new Error("readBaseSettings timeout")))},this.props.cmdTimeout);e.startsWith("system.host.")&&(e=e.replace(/^system\.host\./,"")),this._socket.emit("sendToHost",e,"readBaseSettings",null,M=>{o&&(clearTimeout(o),o=null,M===dt?r(new Error('May not read "BaseSettings"')):!M||typeof M!="object"?r(new Error('Cannot read "BaseSettings"')):s(M))})}):Promise.reject(new Error(b)):Promise.reject(new Error("Not supported"))}writeBaseSettings(e,t){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.checkFeatureSupported("CONTROLLER_READWRITE_BASE_SETTINGS").then(s=>s?this.connected?new Promise((r,o)=>{let M=setTimeout(()=>{M&&(M=null,o(new Error("writeBaseSettings timeout")))},this.props.cmdTimeout);this._socket.emit("sendToHost",e,"writeBaseSettings",t,a=>{M&&(clearTimeout(M),M=null,a===dt?o(new Error('May not write "BaseSettings"')):a?r(a):o(new Error('Cannot write "BaseSettings"')))})}):Promise.reject(new Error(b)):Promise.reject(new Error("Not supported")))}restartController(e){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):new Promise((t,s)=>{this._socket.emit("sendToHost",e,"restartController",null,r=>{r?s(new Error(r)):t(!0)})})}getDiagData(e,t){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):new Promise(s=>{this._socket.emit("sendToHost",e,"getDiagData",t,r=>s(r))})}getForeignStates(e){return this.connected?F.isWeb()?new Promise((t,s)=>{this._socket.emit("getStates",e||"*",(r,o)=>r?s(new Error(r)):t(o))}):new Promise((t,s)=>{this._socket.emit("getForeignStates",e||"*",(r,o)=>r?s(new Error(r)):t(o))}):Promise.reject(new Error(b))}getForeignObjects(e,t){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise((s,r)=>{this._socket.emit("getForeignObjects",e||"*",t,(o,M)=>o?r(new Error(o)):s(M))}):Promise.reject(new Error(b))}getSystemConfig(e){return!e&&this._promises.systemConfig instanceof Promise?this._promises.systemConfig:this.connected?(this._promises.systemConfig=this.getObject("system.config").then(t=>{const s=t||{};return s.common||={},s.native||={},s}),this._promises.systemConfig):Promise.reject(new Error(b))}setSystemConfig(e){return this.setObject("system.config",e).then(()=>this._promises.systemConfig=Promise.resolve(e))}getRawSocket(){return this._socket}getHistory(e,t){return this.connected?new Promise((s,r)=>{this._socket.emit("getHistory",e,t,(o,M)=>o?r(new Error(o)):s(M))}):Promise.reject(new Error(b))}getHistoryEx(e,t){return this.connected?new Promise((s,r)=>{this._socket.emit("getHistory",e,t,(o,M,a,u)=>o?r(new Error(o)):s({values:M,sessionId:u,step:a}))}):Promise.reject(new Error(b))}changePassword(e,t){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):new Promise((s,r)=>{this._socket.emit("changePassword",e,t,o=>o?r(new Error(o)):s())})}getIpAddresses(e,t){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):(e.startsWith("system.host.")||(e=`system.host.${e}`),!t&&this._promises[`IPs_${e}`]instanceof Promise?this._promises[`IPs_${e}`]:(this._promises[`IPs_${e}`]=this.getObject(e).then(s=>s!=null&&s.common?s.common.address||[]:[]),this._promises[`IPs_${e}`]))}getHostByIp(e,t){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):(e.startsWith("system.host.")&&(e=e.replace(/^system\.host\./,"")),!t&&this._promises[`rIPs_${e}`]instanceof Promise?this._promises[`rIPs_${e}`]:(this._promises[`rIPs_${e}`]=new Promise(s=>{this._socket.emit("getHostByIp",e,(r,o)=>{var u,l;const M=[{name:"[IPv4] 0.0.0.0 - Listen on all IPs",address:"0.0.0.0",family:"ipv4"}],a=[{name:"[IPv6] :: - Listen on all IPs",address:"::",family:"ipv6"}];if((l=(u=o==null?void 0:o.native)==null?void 0:u.hardware)!=null&&l.networkInterfaces){for(const N in o.native.hardware.networkInterfaces)if(Object.prototype.hasOwnProperty.call(o.native.hardware.networkInterfaces,N))for(let c=0;c{this._socket.emit("encrypt",e,(r,o)=>r?s(new Error(r)):t(o))})}decrypt(e){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):new Promise((t,s)=>{this._socket.emit("decrypt",e,(r,o)=>r?s(new Error(r)):t(o))})}getVersion(e){return!e&&this._promises.version instanceof Promise?this._promises.version:(this._promises.version=new Promise((t,s)=>{this._socket.emit("getVersion",(r,o,M)=>{r&&!o&&typeof r=="string"&&r.match(/\d+\.\d+\.\d+/)?t({version:r,serverName:"socketio"}):r?s(new Error(r)):t({version:o,serverName:M})})}),this._promises.version)}getWebServerName(){return this._promises.webName instanceof Promise?this._promises.webName:(this._promises.webName=new Promise((e,t)=>{this._socket.emit("getAdapterName",(s,r)=>s?t(new Error(s)):e(r))}),this._promises.webName)}getAdminVersion(){return console.log("Deprecated: use getVersion"),this.getVersion()}chmodFile(e,t,s){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise((r,o)=>{this._socket.emit("chmodFile",e,t,s,(M,a,u)=>M?o(new Error(M)):r({entries:a,id:u}))}):Promise.reject(new Error(b))}chownFile(e,t,s){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise((r,o)=>{this._socket.emit("chownFile",e,t,s,(M,a,u)=>M?o(new Error(M)):r({entries:a,id:u}))}):Promise.reject(new Error(b))}fileExists(e,t){return this.connected?new Promise((s,r)=>{this._socket.emit("fileExists",e,t,(o,M)=>o?r(new Error(o)):s(M))}):Promise.reject(new Error(b))}getNotifications(e,t){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise(s=>{this._socket.emit("sendToHost",e,"getNotifications",{category:t},r=>s(r))}):Promise.reject(new Error(b))}clearNotifications(e,t){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise(s=>{this._socket.emit("sendToHost",e,"clearNotifications",{category:t},r=>s(r))}):Promise.reject(new Error(b))}getIsEasyModeStrict(){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise((e,t)=>{this._socket.emit("getIsEasyModeStrict",(s,r)=>s?t(new Error(s)):e(r))}):Promise.reject(new Error(b))}getEasyMode(){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise((e,t)=>{this._socket.emit("getEasyMode",(s,r)=>s?t(new Error(s)):e(r))}):Promise.reject(new Error(b))}getCurrentUser(){return this.connected?new Promise(e=>{this._socket.emit("authEnabled",(t,s)=>e(s))}):Promise.reject(new Error(b))}getCurrentSession(e){return this.connected?new Promise((t,s)=>{const r=new AbortController;let o=setTimeout(()=>{o&&(o=null,r.abort(),s(new Error("getCurrentSession timeout")))},e||5e3);fetch("./session",{signal:r.signal}).then(M=>M.json()).then(M=>{o&&(clearTimeout(o),o=null,t(M))}).catch(M=>s(new Error(`getCurrentSession: ${M}`)))}):Promise.reject(new Error(b))}getRatings(e){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):this.connected?new Promise((t,s)=>{this._socket.emit("getRatings",e,(r,o)=>r?s(new Error(r)):t(o))}):Promise.reject(new Error(b))}getCurrentInstance(){return this.connected?this._promises.currentInstance instanceof Promise?this._promises.currentInstance:(this._promises.currentInstance=new Promise((e,t)=>{this._socket.emit("getCurrentInstance",(s,r)=>s?t(new Error(s)):e(r))}),this._promises.currentInstance):Promise.reject(new Error(b))}getCompactAdapters(e){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):!e&&this._promises.compactAdapters instanceof Promise?this._promises.compactAdapters:this.connected?(this._promises.compactAdapters=new Promise((t,s)=>{this._socket.emit("getCompactAdapters",(r,o)=>r?s(new Error(r)):t(o))}),this._promises.compactAdapters):Promise.reject(new Error(b))}getAdaptersResetCache(e){e||="",delete this._promises.compactAdapters,delete this._promises[`adapter_${e}`]}getCompactInstances(e){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):!e&&this._promises.compactInstances instanceof Promise?this._promises.compactInstances:this.connected?(this._promises.compactInstances=new Promise((t,s)=>{this._socket.emit("getCompactInstances",(r,o)=>r?s(new Error(r)):t(o))}),this._promises.compactInstances):Promise.reject(new Error(b))}getAdapternInstancesResetCache(e){e||="",delete this._promises.compactInstances,delete this._promises[`instances_${e}`]}getCompactInstalled(e,t,s){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):(this._promises.installedCompact||={},!t&&this._promises.installedCompact[e]instanceof Promise?this._promises.installedCompact[e]:this.connected?(e.startsWith("system.host.")||(e+=`system.host.${e}`),this._promises.installedCompact[e]=new Promise((r,o)=>{let M=setTimeout(()=>{M&&(M=null,o(new Error("getCompactInstalled timeout")))},s||this.props.cmdTimeout);this._socket.emit("getCompactInstalled",e,a=>{M&&(clearTimeout(M),M=null,a===dt?o(new Error('May not read "getCompactInstalled"')):!a||typeof a!="object"?o(new Error('Cannot read "getCompactInstalled"')):r(a))})}),this._promises.installedCompact[e]):Promise.reject(new Error(b)))}getCompactSystemRepositories(e,t){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):!e&&this._promises.getCompactSystemRepositories instanceof Promise?this._promises.getCompactSystemRepositories:this.connected?(this._promises.getCompactSystemRepositories=new Promise((s,r)=>{let o=setTimeout(()=>{o&&(o=null,r(new Error("getCompactSystemRepositories timeout")))},t||this.props.cmdTimeout);this._socket.emit("getCompactSystemRepositories",M=>{o&&(clearTimeout(o),o=null,M===dt?r(new Error('May not read "getCompactSystemRepositories"')):!M||typeof M!="object"?r(new Error('Cannot read "getCompactSystemRepositories"')):s(M))})}),this._promises.getCompactSystemRepositories):Promise.reject(new Error(b))}getCompactSystemConfig(e){return!e&&this._promises.systemConfigPromise instanceof Promise?this._promises.systemConfigPromise:this.connected?(this._promises.systemConfigPromise=new Promise((t,s)=>{this._socket.emit("getCompactSystemConfig",(r,o)=>r?s(new Error(r)):t(o))}),this._promises.systemConfigPromise):Promise.reject(new Error(b))}getCompactRepository(e,t,s){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):!t&&this._promises.repoCompact instanceof Promise?this._promises.repoCompact:this.connected?(e.startsWith("system.host.")||(e+=`system.host.${e}`),this._promises.repoCompact=new Promise((r,o)=>{let M=setTimeout(()=>{M&&(M=null,o(new Error("getCompactRepository timeout")))},s||this.props.cmdTimeout);this._socket.emit("getCompactRepository",e,a=>{M&&(clearTimeout(M),M=null,a===dt?o(new Error('May not read "getCompactRepository"')):a?r(a):o(new Error('Cannot read "getCompactRepository"')))})}),this._promises.repoCompact):Promise.reject(new Error(b))}getInstalledResetCache(){delete this._promises.repoCompact,delete this._promises.repo}getCompactHosts(e){return F.isWeb()?Promise.reject(new Error("Allowed only in admin")):!e&&this._promises.hostsCompact instanceof Promise?this._promises.hostsCompact:this.connected?(this._promises.hostsCompact=new Promise((t,s)=>{this._socket.emit("getCompactHosts",(r,o)=>r?s(new Error(r)):t(o))}),this._promises.hostsCompact):Promise.reject(new Error(b))}getUuid(){return this._promises.uuid instanceof Promise?this._promises.uuid:this.connected?(this._promises.uuid=this.getObject("system.meta.uuid").then(e=>{var t;return(t=e==null?void 0:e.native)==null?void 0:t.uuid}),this._promises.uuid):Promise.reject(new Error(b))}subscribeOnInstance(e,t,s,r){return this.connected?new Promise((o,M)=>{this._socket.emit("clientSubscribe",e,t,s,(a,u)=>{a?M(new Error(a)):u!=null&&u.error?M(new Error(u.error)):(e.startsWith("system.adapter.")||(e=`system.adapter.${e}`),this._instanceSubscriptions[e]||=[],this._instanceSubscriptions[e].find(l=>l.messageType===t&&l.callback===r)||this._instanceSubscriptions[e].push({messageType:t,callback:r}),o(u))})}):Promise.reject(new Error(b))}unsubscribeFromInstance(e,t,s){var M;e.startsWith("system.adapter.")||(e=`system.adapter.${e}`);let r;const o=[];do{r=!1;const a=(M=this._instanceSubscriptions[e])==null?void 0:M.findIndex(u=>(!t||u.messageType===t)&&(!s||u.callback===s));if(a!=null&&a!==-1){r=!0;const u=this._instanceSubscriptions[e][a].messageType;this._instanceSubscriptions[e].splice(a,1),this._instanceSubscriptions[e].length||delete this._instanceSubscriptions[e],this._instanceSubscriptions[e]&&this._instanceSubscriptions[e].find(N=>N.messageType===u)||o.push(new Promise((N,c)=>{this._socket.emit("clientUnsubscribe",e,t,(L,j)=>{L?c(new Error(L)):N(j)})}))}}while(r&&(!s||!t));return o.length?Promise.all(o).then(a=>a.find(u=>u)||!1):Promise.resolve(!1)}log(e,t){e&&this._socket.emit("log",e,t||"debug")}logout(){return this.connected?new Promise((e,t)=>{this._socket.emit("logout",s=>s?t(new Error(s)):e())}):Promise.reject(new Error(b))}setStateToIgnore(e){this.ignoreState=e||""}}function hge(i){var e;return i.type==="object"?`iobobject://${i.address}/${i.path||""}`:i.type==="state"?`iobstate://${i.address}`:i.type==="file"?`iobfile://${i.address}/${i.path||""}`:i.type==="http"?i.address:(e=i.path)!=null&&e.includes("/")?`iobfile://${i.address}/${i.path}`:i.path?`iobobject://${i.address}/${i.path}`:`iobstate://${i.address}`}function Oje(i){const e={type:"object",address:""};if(i.startsWith("iobobject://")){e.type="object",i=i.replace("iobobject://","");const t=i.split("/");e.address=t[0],e.path=t[1]}else if(i.startsWith("iobstate://")){e.type="state",i=i.replace("iobstate://","");const t=i.split("/");e.address=t[0],e.path=t[1]}else if(i.startsWith("iobfile://")){e.type="file",i=i.replace("iobfile://","");const t=i.split("/");e.address=t.shift(),e.path=t.join("/")}else if(i.startsWith("http://")||i.startsWith("https://"))e.type="http",e.address=i;else if(i.startsWith("data:"))e.type="base64",e.address=i;else{const t=i.split("/");if(t.length===2)if(e.address=t[0],e.path=t[1],e.path.includes("."))e.type="object";else if(e.path)if(e.path==="val"||e.path==="q"||e.path==="ack"||e.path==="ts"||e.path==="lc"||e.path==="from"||e.path==="user"||e.path==="expire"||e.path==="c")e.type="state";else if(e.path==="common"||e.path==="native"||e.path==="from"||e.path==="acl"||e.path==="type")e.type="object";else throw new Error(`Unknown path: ${e.path}`);else e.type="state";else t.length===1?(e.address=t[0],e.type="state"):(e.address=t.shift(),e.type="file",e.path=t.join("/"))}return e}function Fu(i,e,t){if(t||=0,i==null||!e)return i;if(e.length-1===t)return i[e[t]];if(typeof i=="object")return Fu(i[e[t]],e,t+1)}function Eje(i,e,t,s){if(s||=0,i==null||!e)return t;if(e.length-1===s)return i[e[s]]=t,i;if(typeof i=="object")return Eje(i[e[s]],e,t,s+1)}async function wge(i,e){var t;if(typeof i=="string"&&(i=Oje(i)),i.type==="object"){const s=await e.getObject(i.address);return Fu(s,(t=i.path)==null?void 0:t.split("."))}if(i.type==="state"){const s=await e.getState(i.address);return i.path?s==null?void 0:s[i.path]:s}if(i.type==="file")return await e.readFile(i.address,i.path,!0);if(i.type==="http")return fetch(i.address).then(s=>s.text()).then(s=>{if(s.startsWith("{")&&s.endsWith("}")||s.startsWith("[")&&s.endsWith("]"))try{return JSON.parse(s)}catch{}return s});throw new Error(`Unknown type: ${i.type}`)}const Rr=i=>{const e={};return i.forEach(t=>{e[t]={requiredVersion:"*",singleton:!0}}),e};function Cge(i){const e=["@emotion/react","@emotion/styled","@iobroker/adapter-react-v5","@iobroker/json-config","@iobroker/dm-gui-components","@mui/icons-material","@mui/material","@mui/x-date-pickers","date-fns","date-fns/locale","leaflet","leaflet-geosearch","react","react-ace","react-dom","react-dropzone","semver"];return Array.isArray(i)?Rr(e.filter(t=>i.includes(t))):i&&(i.dependencies||i.devDependencies)?Rr(e.filter(t=>{var s,r;return((s=i.dependencies)==null?void 0:s[t])||((r=i.devDependencies)==null?void 0:r[t])})):Rr(e)}export{Wje as AdminConnection,a4e as Cleaner,Vs as ColorPicker,Pt as ComplexCron,yge as ComplexCronDialog,Jc as Confirm,Oe as Connection,Dge as Cron,Rje as CustomModal,O4e as DeviceTypeIcon,oge as DeviceTypeSelector,yge as DialogComplexCron,Jc as DialogConfirm,Dge as DialogCron,Bc as DialogError,dge as DialogMessage,zge as DialogSelectFile,pLe as DialogSelectID,Ige as DialogSimpleCron,Fue as DialogTextInput,Fje as DoorClosed,c4e as DoorOpened,fe as ERRORS,Ee as EXTENSIONS,Bc as Error,Dle as FileBrowser,rM as FileBrowserClass,yle as FileViewer,Tle as FileViewerClass,Hje as FireOff,ea as FireOn,Vje as FloodOff,ta as FloodOn,u4e as Gate,qt as GenericApp,Zje as HeatValve,Xje as Home,l4e as Humidity,D as I18n,La as ITEM_IMAGES,Se as Icon,J4e as IconAdapter,jle as IconAlias,Lge as IconButtonImage,Nu as IconChannel,H4e as IconClearFilter,ms as IconClosed,Ts as IconCopy,Lu as IconDevice,B4e as IconDocument,G4e as IconDocumentReadOnly,lo as IconExpert,jge as IconFx,Kje as IconHome,F4e as IconInstance,gge as IconLogout,iM as IconNoIcon,vi as IconOpen,Gje as IconPicker,ZNe as IconSelector,Xs as IconState,Tge as IconVacuum,bi as Image,nge as InfoBox,sa as Jalousie,F as LegacyConnection,dg as Loader,lg as LoaderMV,Ng as LoaderNW,Dg as LoaderPT,jg as LoaderVendor,uu as Logo,lu as MDUtils,qje as Material,dge as Message,ege as MotionOff,N4e as MotionOn,uLe as ObjectBrowser,Xi as ObjectBrowserClass,Pje as PERMISSION_ERROR,at as PROGRESS,L4e as PushButton,xr as RGB,tge as RepairExpert,qs as Router,Mge as STATES_NAME_ICONS,Ag as SaveCloseButtons,Ce as Schedule,zge as SelectFile,pLe as SelectID,age as SelectWithIcon,ci as SimpleCron,Ige as SimpleCronDialog,j4e as Socket,V4e as TabContainer,Z4e as TabContent,X4e as TabHeader,cge as TableResize,Fue as TextInput,uge as TextWithIcon,lN as Theme,g4e as Thermometer,sge as ThermometerSimple,T4e as Thermostat,lge as ToggleThemeMenu,Co as TreeTable,Nge as UploadImage,E as Utils,ige as Valve,rge as WindowClosed,y4e as WindowOpened,au as WindowTilted,Gc as convertCronToText,Rc as copy,Gu as cron2state,Eue as dictionary,cu as extendDeviceTypeTranslation,Fu as getAttrInObject,Bje as getSelectIdIcon,Zi as getSelectIdIconFromObjects,Jje as getSystemIcon,Oje as iobUriParse,wge as iobUriRead,hge as iobUriToString,Cge as moduleFederationShared,Ua as pattern2RegEx,ug as printPrompt,Eje as setAttrInObject,ur as withWidth}; diff --git a/admin/custom/assets/index-ueUWByOG.js b/admin/custom/assets/index-DbXK0odl.js similarity index 95% rename from admin/custom/assets/index-ueUWByOG.js rename to admin/custom/assets/index-DbXK0odl.js index 347d69ebd..f3ef39dea 100644 --- a/admin/custom/assets/index-ueUWByOG.js +++ b/admin/custom/assets/index-DbXK0odl.js @@ -1 +1 @@ -import"./virtual_mf-REMOTE_ENTRY_ID_ConfigCustomJavascriptSet__customComponents_js-mtzNjzQ6.js";import{j as n}from"./jsx-runtime-DfVU3AZG.js";import{h as d}from"./ConfigCustomJavascriptSet__loadShare__react__loadShare__.mjs-0SjJESw9.js";import{r as m}from"./ConfigCustomJavascriptSet__loadShare__react_mf_2_dom__loadShare__.mjs_commonjs-proxy-CorOEig8.js";import"./preload-helper-BDBacUwf.js";import"./ConfigCustomJavascriptSet__loadShare__react__loadShare__.mjs_commonjs-proxy-CInLgMWW.js";import"./ConfigCustomJavascriptSet__loadShare__react_mf_2_dom__loadShare__.mjs-CL--xmjC.js";(function(){const r=document.createElement("link").relList;if(r&&r.supports&&r.supports("modulepreload"))return;for(const e of document.querySelectorAll('link[rel="modulepreload"]'))i(e);new MutationObserver(e=>{for(const t of e)if(t.type==="childList")for(const o of t.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&i(o)}).observe(document,{childList:!0,subtree:!0});function a(e){const t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin==="use-credentials"?t.credentials="include":e.crossOrigin==="anonymous"?t.credentials="omit":t.credentials="same-origin",t}function i(e){if(e.ep)return;e.ep=!0;const t=a(e);fetch(e.href,t)}})();var c,s=m;c=s.createRoot,s.hydrateRoot;window.adapterName="adapter-component-template";const u=document.getElementById("root"),f=c(u);f.render(n.jsx(d.StrictMode,{children:n.jsx("div",{})})); +import"./virtual_mf-REMOTE_ENTRY_ID_ConfigCustomJavascriptSet__customComponents_js-BZZsMeVW.js";import{j as n}from"./jsx-runtime-DfVU3AZG.js";import{h as d}from"./ConfigCustomJavascriptSet__loadShare__react__loadShare__.mjs-0SjJESw9.js";import{r as m}from"./ConfigCustomJavascriptSet__loadShare__react_mf_2_dom__loadShare__.mjs_commonjs-proxy-CorOEig8.js";import"./preload-helper-BDBacUwf.js";import"./ConfigCustomJavascriptSet__loadShare__react__loadShare__.mjs_commonjs-proxy-CInLgMWW.js";import"./ConfigCustomJavascriptSet__loadShare__react_mf_2_dom__loadShare__.mjs-CL--xmjC.js";(function(){const r=document.createElement("link").relList;if(r&&r.supports&&r.supports("modulepreload"))return;for(const e of document.querySelectorAll('link[rel="modulepreload"]'))i(e);new MutationObserver(e=>{for(const t of e)if(t.type==="childList")for(const o of t.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&i(o)}).observe(document,{childList:!0,subtree:!0});function a(e){const t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin==="use-credentials"?t.credentials="include":e.crossOrigin==="anonymous"?t.credentials="omit":t.credentials="same-origin",t}function i(e){if(e.ep)return;e.ep=!0;const t=a(e);fetch(e.href,t)}})();var c,s=m;c=s.createRoot,s.hydrateRoot;window.adapterName="adapter-component-template";const u=document.getElementById("root"),f=c(u);f.render(n.jsx(d.StrictMode,{children:n.jsx("div",{})})); diff --git a/admin/custom/assets/index-D3D_iPf-.js b/admin/custom/assets/index-N2n19KrF.js similarity index 99% rename from admin/custom/assets/index-D3D_iPf-.js rename to admin/custom/assets/index-N2n19KrF.js index d432baf1e..ce54dc703 100644 --- a/admin/custom/assets/index-D3D_iPf-.js +++ b/admin/custom/assets/index-N2n19KrF.js @@ -1,5 +1,5 @@ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index-iRHaQfi-.js","./index-huvZQhZw.js","./ConfigCustomJavascriptSet__loadShare__react__loadShare__.mjs_commonjs-proxy-CInLgMWW.js","./ConfigCustomJavascriptSet__loadShare__react__loadShare__.mjs-0SjJESw9.js"])))=>i.map(i=>d[i]); -import{i as So,h as _,f as Ul,a as Kl,n as Gl}from"./ConfigCustomJavascriptSet__loadShare__react__loadShare__.mjs-0SjJESw9.js";import{c as Ge,r as Bs}from"./ConfigCustomJavascriptSet__loadShare__react__loadShare__.mjs_commonjs-proxy-CInLgMWW.js";function Jl(e){if(Object.prototype.hasOwnProperty.call(e,"__esModule"))return e;var n=e.default;if(typeof n=="function"){var t=function r(){var o=!1;try{o=this instanceof r}catch{}return o?Reflect.construct(n,arguments,this.constructor):n.apply(this,arguments)};t.prototype=n.prototype}else t={};return Object.defineProperty(t,"__esModule",{value:!0}),Object.keys(e).forEach(function(r){var o=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,o.get?o:{enumerable:!0,get:function(){return e[r]}})}),t}function Yl(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}import{G as He,p as Se,F as Mn,i as Bn,M as vt,z as we,r as re,W as Ps,X as Ws,s as Ie,Y as js,g as ge,Z as Bi,b as de,$ as fn,h as Tt,c as fe,d as Te,e as Be,f as xe,_ as Qn,a as Qt,a0 as Do,Q as In,T as Ao,S as ct,R as Ee,V as On,k as Ut,l as gn,m as mn,n as Ql,o as vn,a1 as Xl,a2 as Zl,D as ql,a3 as zs,j as ki,E as Pi,A as $o,B as Hs,x as ec,y as tc,a4 as nc,a5 as ic,N as sc,a6 as xo,a7 as _o,I as rc,U as oc,a8 as os,a9 as ac,aa as lc,t as cc,v as hc,w as uc}from"./ConfigCustomJavascriptSet__loadShare___mf_0_mui_mf_1_material__loadShare__.mjs-KsT5vKjV.js";import{a7 as zn,W as Kt,k as Ti,aj as dc,ak as ko,al as pc,am as To,an as fc,J as gc,S as Hn,u as Lo,ao as Mo,ap as Io,c as xt,E as Vs,R as Vn,aq as Oo,M as Fo,_ as mc,ar as vc,as as yc,at as bc,au as wc,af as Li,av as Ei,aw as Si,n as un,b as Us,a as _t,ax as Cc,ay as Ec,az as Sc,q as Dc,aA as Ro,w as No,r as Bo,aB as Ks,d as Ac,aC as $c,aD as xc,a8 as Po,aE as _c,aF as kc,aG as Tc,aH as Lc,aI as Mc,aJ as Ic,aK as Oc,aL as Fc,aM as Rc,V as Nc,aN as Bc,j as Pc,X as Wc,aO as jc,aP as zc,aQ as Hc,aR as Vc,G as Fr}from"./ConfigCustomJavascriptSet__loadShare___mf_0_mui_mf_1_icons_mf_2_material__loadShare__.mjs-B551AMx-.js";import{_ as W,A as Uc}from"./ConfigCustomJavascriptSet__loadShare___mf_0_iobroker_mf_1_adapter_mf_2_react_mf_2_v5__loadShare__.mjs-B7D2xOvV.js";import{R as Kc}from"./ConfigCustomJavascriptSet__loadShare__react_mf_2_dom__loadShare__.mjs-CL--xmjC.js";import{b as Gc}from"./blue-CagzI6CQ.js";import{C as Jc,D as Wo}from"./index-YBvFYuP6.js";import{d as $s}from"./virtual_mf-REMOTE_ENTRY_ID_ConfigCustomJavascriptSet__customComponents_js-mtzNjzQ6.js";import{b as Yc,a as Qc}from"./ConfigCustomJavascriptSet__loadShare___mf_0_mui_mf_1_x_mf_2_date_mf_2_pickers__loadShare__.mjs-DgHZUNxn.js";import{p as Gs}from"./index-huvZQhZw.js";import{_ as jo}from"./preload-helper-BDBacUwf.js";const Xc=Object.freeze(Object.defineProperty({__proto__:null,get ConfigGeneric(){return U},get ConfigPanel(){return qt},get JsonConfig(){return Mf},get JsonConfigComponent(){return _i}},Symbol.toStringTag,{value:"Module"}));var Zc=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/,qc=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/,eh=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/,as={Space_Separator:Zc,ID_Start:qc,ID_Continue:eh},_e={isSpaceSeparator(m){return typeof m=="string"&&as.Space_Separator.test(m)},isIdStartChar(m){return typeof m=="string"&&(m>="a"&&m<="z"||m>="A"&&m<="Z"||m==="$"||m==="_"||as.ID_Start.test(m))},isIdContinueChar(m){return typeof m=="string"&&(m>="a"&&m<="z"||m>="A"&&m<="Z"||m>="0"&&m<="9"||m==="$"||m==="_"||m==="‌"||m==="‍"||as.ID_Continue.test(m))},isDigit(m){return typeof m=="string"&&/[0-9]/.test(m)},isHexDigit(m){return typeof m=="string"&&/[0-9A-Fa-f]/.test(m)}};let xs,je,gt,Mi,Lt,rt,Re,Js,Pn;var th=function(e,t){xs=String(e),je="start",gt=[],Mi=0,Lt=1,rt=0,Re=void 0,Js=void 0,Pn=void 0;do Re=nh(),rh[je]();while(Re.type!=="eof");return typeof t=="function"?_s({"":Pn},"",t):Pn};function _s(m,e,t){const n=m[e];if(n!=null&&typeof n=="object")if(Array.isArray(n))for(let d=0;d="a"&&m<="z"||m>="A"&&m<="Z"||m==="$"||m==="_"||as.ID_Start.test(m))},isIdContinueChar(m){return typeof m=="string"&&(m>="a"&&m<="z"||m>="A"&&m<="Z"||m>="0"&&m<="9"||m==="$"||m==="_"||m==="‌"||m==="‍"||as.ID_Continue.test(m))},isDigit(m){return typeof m=="string"&&/[0-9]/.test(m)},isHexDigit(m){return typeof m=="string"&&/[0-9A-Fa-f]/.test(m)}};let xs,je,gt,Mi,Lt,rt,Re,Js,Pn;var th=function(e,t){xs=String(e),je="start",gt=[],Mi=0,Lt=1,rt=0,Re=void 0,Js=void 0,Pn=void 0;do Re=nh(),rh[je]();while(Re.type!=="eof");return typeof t=="function"?_s({"":Pn},"",t):Pn};function _s(m,e,t){const n=m[e];if(n!=null&&typeof n=="object")if(Array.isArray(n))for(let d=0;dawait import("./index-CVIpIckw.js"),"@iobroker/json-config":async()=>await import("./index-D3D_iPf-.js"),"@mui/icons-material":async()=>await import("./index-C0RmLaAj.js"),"@mui/material":async()=>await import("./index-BptSiKBK.js"),"@mui/x-date-pickers":async()=>await import("./index-Dp7A3XHd.js"),"date-fns":async()=>await import("./index-Bvwv5H7k.js"),leaflet:async()=>await import("./leaflet-src-k2rCV-Ix.js").then(t=>t.l),react:async()=>await import("./index-CmJ8HzSc.js").then(t=>t.i),"react-dom":async()=>await import("./index-D0iTiVVG.js").then(t=>t.i)},n={"@iobroker/adapter-react-v5":{name:"@iobroker/adapter-react-v5",version:"8.1.3",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){n["@iobroker/adapter-react-v5"].loaded=!0;const{"@iobroker/adapter-react-v5":e}=a,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"@iobroker/json-config":{name:"@iobroker/json-config",version:"8.2.8",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){n["@iobroker/json-config"].loaded=!0;const{"@iobroker/json-config":e}=a,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"@mui/icons-material":{name:"@mui/icons-material",version:"6.5.0",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){n["@mui/icons-material"].loaded=!0;const{"@mui/icons-material":e}=a,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"@mui/material":{name:"@mui/material",version:"6.5.0",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){n["@mui/material"].loaded=!0;const{"@mui/material":e}=a,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"@mui/x-date-pickers":{name:"@mui/x-date-pickers",version:"7.29.4",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){n["@mui/x-date-pickers"].loaded=!0;const{"@mui/x-date-pickers":e}=a,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"date-fns":{name:"date-fns",version:"4.1.0",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){n["date-fns"].loaded=!0;const{"date-fns":e}=a,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},leaflet:{name:"leaflet",version:"1.9.4",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){n.leaflet.loaded=!0;const{leaflet:e}=a,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},react:{name:"react",version:"18.3.1",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){n.react.loaded=!0;const{react:e}=a,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"react-dom":{name:"react-dom",version:"18.3.1",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){n["react-dom"].loaded=!0;const{"react-dom":e}=a,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}}},u=[];export{u as usedRemotes,n as usedShared}; +import"./virtual_mf-REMOTE_ENTRY_ID_ConfigCustomJavascriptSet__customComponents_js-BZZsMeVW.js";const a={"@iobroker/adapter-react-v5":async()=>await import("./index-CYc31Gwg.js"),"@iobroker/json-config":async()=>await import("./index-N2n19KrF.js"),"@mui/icons-material":async()=>await import("./index-C0RmLaAj.js"),"@mui/material":async()=>await import("./index-BptSiKBK.js"),"@mui/x-date-pickers":async()=>await import("./index-Dp7A3XHd.js"),"date-fns":async()=>await import("./index-Bvwv5H7k.js"),leaflet:async()=>await import("./leaflet-src-k2rCV-Ix.js").then(t=>t.l),react:async()=>await import("./index-CmJ8HzSc.js").then(t=>t.i),"react-dom":async()=>await import("./index-D0iTiVVG.js").then(t=>t.i)},n={"@iobroker/adapter-react-v5":{name:"@iobroker/adapter-react-v5",version:"8.1.3",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){n["@iobroker/adapter-react-v5"].loaded=!0;const{"@iobroker/adapter-react-v5":e}=a,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"@iobroker/json-config":{name:"@iobroker/json-config",version:"8.2.8",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){n["@iobroker/json-config"].loaded=!0;const{"@iobroker/json-config":e}=a,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"@mui/icons-material":{name:"@mui/icons-material",version:"6.5.0",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){n["@mui/icons-material"].loaded=!0;const{"@mui/icons-material":e}=a,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"@mui/material":{name:"@mui/material",version:"6.5.0",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){n["@mui/material"].loaded=!0;const{"@mui/material":e}=a,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"@mui/x-date-pickers":{name:"@mui/x-date-pickers",version:"7.29.4",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){n["@mui/x-date-pickers"].loaded=!0;const{"@mui/x-date-pickers":e}=a,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"date-fns":{name:"date-fns",version:"4.1.0",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){n["date-fns"].loaded=!0;const{"date-fns":e}=a,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},leaflet:{name:"leaflet",version:"1.9.4",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){n.leaflet.loaded=!0;const{leaflet:e}=a,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},react:{name:"react",version:"18.3.1",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){n.react.loaded=!0;const{react:e}=a,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"react-dom":{name:"react-dom",version:"18.3.1",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){n["react-dom"].loaded=!0;const{"react-dom":e}=a,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}}},u=[];export{u as usedRemotes,n as usedShared}; diff --git a/admin/custom/assets/virtualExposes-DyedJotb.js b/admin/custom/assets/virtualExposes-CqrW7o8v.js similarity index 68% rename from admin/custom/assets/virtualExposes-DyedJotb.js rename to admin/custom/assets/virtualExposes-CqrW7o8v.js index 58ea041e1..06155922c 100644 --- a/admin/custom/assets/virtualExposes-DyedJotb.js +++ b/admin/custom/assets/virtualExposes-CqrW7o8v.js @@ -1,2 +1,2 @@ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./Components-BOms95_F.css"])))=>i.map(i=>d[i]); -import{_ as o}from"./preload-helper-BDBacUwf.js";const s={"./Components":async()=>{const t=await o(()=>import("./Components-FfVbavBM.js"),__vite__mapDeps([0]),import.meta.url),e={};return Object.assign(e,t),Object.defineProperty(e,"__esModule",{value:!0,enumerable:!1}),e}};export{s as default}; +import{_ as o}from"./preload-helper-BDBacUwf.js";const s={"./Components":async()=>{const t=await o(()=>import("./Components-B8x6wOMD.js"),__vite__mapDeps([0]),import.meta.url),e={};return Object.assign(e,t),Object.defineProperty(e,"__esModule",{value:!0,enumerable:!1}),e}};export{s as default}; diff --git a/admin/custom/assets/virtual_mf-REMOTE_ENTRY_ID_ConfigCustomJavascriptSet__customComponents_js-mtzNjzQ6.js b/admin/custom/assets/virtual_mf-REMOTE_ENTRY_ID_ConfigCustomJavascriptSet__customComponents_js-BZZsMeVW.js similarity index 99% rename from admin/custom/assets/virtual_mf-REMOTE_ENTRY_ID_ConfigCustomJavascriptSet__customComponents_js-mtzNjzQ6.js rename to admin/custom/assets/virtual_mf-REMOTE_ENTRY_ID_ConfigCustomJavascriptSet__customComponents_js-BZZsMeVW.js index bbc69d933..877ab9784 100644 --- a/admin/custom/assets/virtual_mf-REMOTE_ENTRY_ID_ConfigCustomJavascriptSet__customComponents_js-mtzNjzQ6.js +++ b/admin/custom/assets/virtual_mf-REMOTE_ENTRY_ID_ConfigCustomJavascriptSet__customComponents_js-BZZsMeVW.js @@ -1,8 +1,8 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./localSharedImportMap-D56mFGIk.js","./preload-helper-BDBacUwf.js","./virtualExposes-DyedJotb.js"])))=>i.map(i=>d[i]); +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./localSharedImportMap-2Enh8EZe.js","./preload-helper-BDBacUwf.js","./virtualExposes-CqrW7o8v.js"])))=>i.map(i=>d[i]); import{_ as sr}from"./preload-helper-BDBacUwf.js";var ir={},ar={},Tt={},M={},D={},P={};const ln="federation-manifest.json",cn=".json",un="FEDERATION_DEBUG",j={AT:"@",HYPHEN:"-",SLASH:"/"},De={[j.AT]:"scope_",[j.HYPHEN]:"_",[j.SLASH]:"__"},fn={[De[j.AT]]:j.AT,[De[j.HYPHEN]]:j.HYPHEN,[De[j.SLASH]]:j.SLASH},dn=":",hn="mf-manifest.json",mn="mf-stats.json",_n={NPM:"npm",APP:"app"},gn="__MF_DEVTOOLS_MODULE_INFO__",pn="ENCODE_NAME_PREFIX",yn=".federation",En={identifier:"MFDataPrefetch",globalKey:"__PREFETCH__",library:"mf-data-prefetch",exportsKey:"__PREFETCH_EXPORTS__",fileName:"bootstrap.js"};let Sn=(function(e){return e[e.UNKNOWN=1]="UNKNOWN",e[e.CALCULATED=2]="CALCULATED",e[e.NO_USE=0]="NO_USE",e})({});P.BROWSER_LOG_KEY=un;P.ENCODE_NAME_PREFIX=pn;P.EncodedNameTransformMap=fn;P.FederationModuleManifest=ln;P.MANIFEST_EXT=cn;P.MFModuleType=_n;P.MFPrefetchCommon=En;P.MODULE_DEVTOOL_IDENTIFIER=gn;P.ManifestFileName=hn;P.NameTransformMap=De;P.NameTransformSymbol=j;P.SEPARATOR=dn;P.StatsFileName=mn;P.TEMP_DIR=yn;P.TreeShakingStatus=Sn;var lr={},re={},Ot=Object.defineProperty,bn=(e,t)=>{let r={};for(var n in e)Ot(r,n,{get:e[n],enumerable:!0});return t||Ot(r,Symbol.toStringTag,{value:"Module"}),r};re.__exportAll=bn;(function(e){var r=re.__exportAll({});Object.defineProperty(e,"ContainerPlugin_exports",{enumerable:!0,get:function(){return r}})})(lr);var cr={};(function(e){var r=re.__exportAll({});Object.defineProperty(e,"ContainerReferencePlugin_exports",{enumerable:!0,get:function(){return r}})})(cr);var ur={};(function(e){var r=re.__exportAll({});Object.defineProperty(e,"ModuleFederationPlugin_exports",{enumerable:!0,get:function(){return r}})})(ur);var fr={};(function(e){var r=re.__exportAll({});Object.defineProperty(e,"SharePlugin_exports",{enumerable:!0,get:function(){return r}})})(fr);var dr={};(function(e){var r=re.__exportAll({});Object.defineProperty(e,"ConsumeSharedPlugin_exports",{enumerable:!0,get:function(){return r}})})(dr);var hr={};(function(e){var r=re.__exportAll({});Object.defineProperty(e,"ProvideSharedPlugin_exports",{enumerable:!0,get:function(){return r}})})(hr);var J={},be={};const Rn=P,mr=!0;function _r(){return mr}function Tn(){return typeof navigator<"u"&&(navigator==null?void 0:navigator.product)==="ReactNative"}function In(){try{if(_r()&&window.localStorage)return!!localStorage.getItem(Rn.BROWSER_LOG_KEY)}catch{return!1}return!1}function $n(){return typeof process<"u"&&be&&be.FEDERATION_DEBUG?!!be.FEDERATION_DEBUG:typeof FEDERATION_DEBUG<"u"&&FEDERATION_DEBUG?!0:In()}const Nn=function(){return typeof process<"u"&&be?be:{}};J.getProcessEnv=Nn;J.isBrowserEnv=_r;J.isBrowserEnvValue=mr;J.isDebugMode=$n;J.isReactNativeEnv=Tn;var H={};const S=P,dt=J,gr="[ Federation Runtime ]",Mn=(e,t,r=S.SEPARATOR)=>{const n=e.split(r),o=dt.getProcessEnv().NODE_ENV==="development"&&t,s="*",i=a=>a.startsWith("http")||a.includes(S.MANIFEST_EXT);if(n.length>=2){let[a,...c]=n;e.startsWith(r)&&(a=n.slice(0,2).join(r),c=[o||n.slice(2).join(r)]);let l=o||c.join(r);return i(l)?{name:a,entry:l}:{name:a,version:l||s}}else if(n.length===1){const[a]=n;return o&&i(o)?{name:a,entry:o}:{name:a,version:o||s}}else throw`Invalid entry value: ${e}`},Pn=function(...e){return e.length?e.reduce((t,r)=>r?t?`${t}${S.SEPARATOR}${r}`:r:t,""):""},It=function(e,t="",r=!1){try{const n=r?".js":"";return`${t}${e.replace(new RegExp(`${S.NameTransformSymbol.AT}`,"g"),S.NameTransformMap[S.NameTransformSymbol.AT]).replace(new RegExp(`${S.NameTransformSymbol.HYPHEN}`,"g"),S.NameTransformMap[S.NameTransformSymbol.HYPHEN]).replace(new RegExp(`${S.NameTransformSymbol.SLASH}`,"g"),S.NameTransformMap[S.NameTransformSymbol.SLASH])}${n}`}catch(n){throw n}},vn=function(e,t,r){try{let n=e;if(t){if(!n.startsWith(t))return n;n=n.replace(new RegExp(t,"g"),"")}return n=n.replace(new RegExp(`${S.NameTransformMap[S.NameTransformSymbol.AT]}`,"g"),S.EncodedNameTransformMap[S.NameTransformMap[S.NameTransformSymbol.AT]]).replace(new RegExp(`${S.NameTransformMap[S.NameTransformSymbol.SLASH]}`,"g"),S.EncodedNameTransformMap[S.NameTransformMap[S.NameTransformSymbol.SLASH]]).replace(new RegExp(`${S.NameTransformMap[S.NameTransformSymbol.HYPHEN]}`,"g"),S.EncodedNameTransformMap[S.NameTransformMap[S.NameTransformSymbol.HYPHEN]]),r&&(n=n.replace(".js","")),n}catch(n){throw n}},An=(e,t)=>{if(!e)return"";let r=e;return r==="."&&(r="default_export"),r.startsWith("./")&&(r=r.replace("./","")),It(r,"__federation_expose_",t)},On=(e,t)=>e?It(e,"__federation_shared_",t):"",kn=(e,t)=>{if("getPublicPath"in e){let r;return e.getPublicPath.startsWith("function")?r=new Function("return "+e.getPublicPath)()():r=new Function(e.getPublicPath)(),`${r}${t}`}else return"publicPath"in e?!dt.isBrowserEnv()&&!dt.isReactNativeEnv()&&"ssrPublicPath"in e&&typeof e.ssrPublicPath=="string"?`${e.ssrPublicPath}${t}`:`${e.publicPath}${t}`:(console.warn("Cannot get resource URL. If in debug mode, please ignore.",e,t),"")},wn=(e,t)=>{e||pr(t)},pr=e=>{throw new Error(`${gr}: ${e}`)},Fn=e=>{console.warn(`${gr}: ${e}`)};function Ln(e){try{return JSON.stringify(e,null,2)}catch{return""}}const Dn=/^([\d^=v<>~]|[*xX]$)/;function Hn(e){return Dn.test(e)}H.assert=wn;H.composeKeyWithSeparator=Pn;H.decodeName=vn;H.encodeName=It;H.error=pr;H.generateExposeFilename=An;H.generateShareFilename=On;H.getResourceUrl=kn;H.isRequiredVersion=Hn;H.parseEntry=Mn;H.safeToString=Ln;H.warn=Fn;var ue={};const ye=P,Q=(e,t)=>{if(!e)return t;const n=(o=>{if(o===".")return"";if(o.startsWith("./"))return o.replace("./","");if(o.startsWith("/")){const s=o.slice(1);return s.endsWith("/")?s.slice(0,-1):s}return o})(e);return n?n.endsWith("/")?`${n}${t}`:`${n}/${t}`:t};function yr(e){return e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/")}function Cn(e,t={}){var E,I,k;const{remotes:r={},overrides:n={},version:o}=t;let s;const i=()=>"publicPath"in e.metaData?(e.metaData.publicPath==="auto"||e.metaData.publicPath==="")&&o?yr(o):e.metaData.publicPath:e.metaData.getPublicPath,a=Object.keys(n);let c={};Object.keys(r).length||(c=((E=e.remotes)==null?void 0:E.reduce((y,N)=>{let R;const v=N.federationContainerName;return a.includes(v)?R=n[v]:"version"in N?R=N.version:R=N.entry,y[v]={matchedVersion:R},y},{}))||{}),Object.keys(r).forEach(y=>c[y]={matchedVersion:a.includes(y)?n[y]:r[y]});const{remoteEntry:{path:l,name:u,type:d},types:f={path:"",name:"",zip:"",api:""},buildInfo:{buildVersion:h},globalName:m,ssrRemoteEntry:_}=e.metaData,{exposes:g}=e;let p={version:o||"",buildVersion:h,globalName:m,remoteEntry:Q(l,u),remoteEntryType:d,remoteTypes:Q(f.path,f.name),remoteTypesZip:f.zip||"",remoteTypesAPI:f.api||"",remotesInfo:c,shared:e==null?void 0:e.shared.map(y=>({assets:y.assets,sharedName:y.name,version:y.version,usedExports:y.referenceExports||[]})),modules:g==null?void 0:g.map(y=>({moduleName:y.name,modulePath:y.path,assets:y.assets}))};if((I=e.metaData)!=null&&I.prefetchInterface){const y=e.metaData.prefetchInterface;p={...p,prefetchInterface:y}}if((k=e.metaData)!=null&&k.prefetchEntry){const{path:y,name:N,type:R}=e.metaData.prefetchEntry;p={...p,prefetchEntry:Q(y,N),prefetchEntryType:R}}if("publicPath"in e.metaData?(s={...p,publicPath:i()},typeof e.metaData.ssrPublicPath=="string"&&(s.ssrPublicPath=e.metaData.ssrPublicPath)):s={...p,getPublicPath:i()},_){const y=Q(_.path,_.name);s.ssrRemoteEntry=y,s.ssrRemoteEntryType=_.type||"commonjs-module"}return s}function qn(e){return!!("remoteEntry"in e&&e.remoteEntry.includes(ye.MANIFEST_EXT))}function Gn(e){if(!e)return{statsFileName:ye.StatsFileName,manifestFileName:ye.ManifestFileName};let t=typeof e=="boolean"?"":e.filePath||"",r=typeof e=="boolean"?"":e.fileName||"";const n=".json",o=a=>a.endsWith(n)?a:`${a}${n}`,s=(a,c)=>a.replace(n,`${c}${n}`),i=r?o(r):ye.ManifestFileName;return{statsFileName:Q(t,r?s(i,"-stats"):ye.StatsFileName),manifestFileName:Q(t,i)}}ue.generateSnapshotFromManifest=Cn;ue.getManifestFileName=Gn;ue.inferAutoPublicPath=yr;ue.isManifestProvider=qn;ue.simpleJoinRemoteEntry=Q;var fe={};const kt=J,Er="[ Module Federation ]",ge=console,Un=["logger.ts","logger.js","captureStackTrace","Logger.emit","Logger.log","Logger.info","Logger.warn","Logger.error","Logger.debug"];function Wn(){try{const e=new Error().stack;if(!e)return;const[,...t]=e.split(` `),r=t.filter(n=>!Un.some(o=>n.includes(o)));return r.length?`Stack trace: ${r.slice(0,5).join(` `)}`:void 0}catch{return}}var Sr=class{constructor(e,t=ge){this.prefix=e,this.delegate=t??ge}setPrefix(e){this.prefix=e}setDelegate(e){this.delegate=e??ge}emit(e,t){const r=this.delegate,n=kt.isDebugMode()?Wn():void 0,o=n?[...t,n]:t,s=(()=>{switch(e){case"log":return["log","info"];case"info":return["info","log"];case"warn":return["warn","info","log"];case"error":return["error","warn","log"];default:return["debug","log"]}})();for(const i of s){const a=r[i];if(typeof a=="function"){a.call(r,this.prefix,...o);return}}for(const i of s){const a=ge[i];if(typeof a=="function"){a.call(ge,this.prefix,...o);return}}}log(...e){this.emit("log",e)}warn(...e){this.emit("warn",e)}error(...e){this.emit("error",e)}success(...e){this.emit("info",e)}info(...e){this.emit("info",e)}ready(...e){this.emit("info",e)}debug(...e){kt.isDebugMode()&&this.emit("debug",e)}};function br(e){return new Sr(e)}function Rr(e){const t=new Sr(e);return Object.defineProperty(t,"__mf_infrastructure_logger__",{value:!0,enumerable:!1,configurable:!1}),t}function Bn(e,t,r){if(e.__mf_infrastructure_logger__&&t!=null&&t.getInfrastructureLogger)try{const n=t.getInfrastructureLogger(r);n&&typeof n=="object"&&(typeof n.log=="function"||typeof n.info=="function"||typeof n.warn=="function"||typeof n.error=="function")&&e.setDelegate(n)}catch{e.setDelegate(void 0)}}const jn=br(Er),Vn=Rr(Er);fe.bindLoggerToCompiler=Bn;fe.createInfrastructureLogger=Rr;fe.createLogger=br;fe.infrastructureLogger=Vn;fe.logger=jn;var de={};const Xn=H;async function $t(e,t){try{return await e()}catch(r){!t&&Xn.warn(r);return}}function Ue(e,t){const r=/^(https?:)?\/\//i;return e.replace(r,"").replace(/\/$/,"")===t.replace(r,"").replace(/\/$/,"")}function Tr(e){let t=null,r=!0,n=2e4,o;const s=document.getElementsByTagName("script");for(let l=0;l{t&&(d==="async"||d==="defer"?t[d]=l[d]:t.getAttribute(d)||t.setAttribute(d,l[d]))})}let i=null;const a=typeof window<"u"?l=>{if(l.filename&&Ue(l.filename,e.url)){const u=new Error(`ScriptExecutionError: Script "${e.url}" loaded but threw a runtime error during execution: ${l.message} (${l.filename}:${l.lineno}:${l.colno})`);u.name="ScriptExecutionError",i=u}}:null;a&&window.addEventListener("error",a);const c=async(l,u)=>{clearTimeout(o),a&&window.removeEventListener("error",a);const d=()=>{if((u==null?void 0:u.type)==="error"){const f=new Error(`ScriptNetworkError: Failed to load script "${e.url}" - the script URL is unreachable or the server returned an error (network failure, 404, CORS, etc.)`);f.name="ScriptNetworkError",e!=null&&e.onErrorCallback&&(e==null||e.onErrorCallback(f))}else i?e!=null&&e.onErrorCallback&&(e==null||e.onErrorCallback(i)):e!=null&&e.cb&&(e==null||e.cb())};if(t&&(t.onerror=null,t.onload=null,$t(()=>{const{needDeleteScript:f=!0}=e;f&&t!=null&&t.parentNode&&t.parentNode.removeChild(t)}),l&&typeof l=="function")){const f=l(u);if(f instanceof Promise){const h=await f;return d(),h}return d(),f}d()};return t.onerror=c.bind(null,t.onerror),t.onload=c.bind(null,t.onload),o=setTimeout(()=>{c(null,new Error(`Remote script "${e.url}" time-outed.`))},n),{script:t,needAttach:r}}function xn(e){let t=null,r=!0;const n=document.getElementsByTagName("link");for(let s=0;s{t&&!t.getAttribute(a)&&t.setAttribute(a,i[a])})}const o=(s,i)=>{const a=()=>{(i==null?void 0:i.type)==="error"?e!=null&&e.onErrorCallback&&(e==null||e.onErrorCallback(i)):e!=null&&e.cb&&(e==null||e.cb())};if(t&&(t.onerror=null,t.onload=null,$t(()=>{const{needDeleteLink:c=!0}=e;c&&t!=null&&t.parentNode&&t.parentNode.removeChild(t)}),s)){const c=s(i);return a(),c}a()};return t.onerror=o.bind(null,t.onerror),t.onload=o.bind(null,t.onload),{link:t,needAttach:r}}function Kn(e,t){const{attrs:r={},createScriptHook:n}=t;return new Promise((o,s)=>{const{script:i,needAttach:a}=Tr({url:e,cb:o,onErrorCallback:s,attrs:{fetchpriority:"high",...r},createScriptHook:n,needDeleteScript:!0});a&&document.head.appendChild(i)})}de.createLink=xn;de.createScript=Tr;de.isStaticResourcesEqual=Ue;de.loadScript=Kn;de.safeWrapper=$t;var Nt={};const Yn=(e,t,r,n)=>{t(new Error("createScriptNode is disabled in non-Node.js environment"))},zn=(e,t)=>{throw new Error("loadScriptNode is disabled in non-Node.js environment")};Nt.createScriptNode=Yn;Nt.loadScriptNode=zn;var Ir={};function Jn(e,t,r){return function(n){if(n===!1)return!1;if(typeof n>"u")return e?t:!1;if(n===!0)return t;if(n&&typeof n=="object")return{...t,...n};throw new Error(`Unexpected type for \`${r}\`, expect boolean/undefined/object, got: ${typeof n}`)}}Ir.normalizeOptions=Jn;var $r={};const Zn=e=>e;$r.createModuleFederationConfig=Zn;(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=P,r=lr,n=cr,o=ur,s=fr,i=dr,a=hr,c=J,l=H,u=ue,d=fe,f=de,h=Nt,m=Ir,_=$r;e.BROWSER_LOG_KEY=t.BROWSER_LOG_KEY,e.ENCODE_NAME_PREFIX=t.ENCODE_NAME_PREFIX,e.EncodedNameTransformMap=t.EncodedNameTransformMap,e.FederationModuleManifest=t.FederationModuleManifest,e.MANIFEST_EXT=t.MANIFEST_EXT,e.MFModuleType=t.MFModuleType,e.MFPrefetchCommon=t.MFPrefetchCommon,e.MODULE_DEVTOOL_IDENTIFIER=t.MODULE_DEVTOOL_IDENTIFIER,e.ManifestFileName=t.ManifestFileName,e.NameTransformMap=t.NameTransformMap,e.NameTransformSymbol=t.NameTransformSymbol,e.SEPARATOR=t.SEPARATOR,e.StatsFileName=t.StatsFileName,e.TEMP_DIR=t.TEMP_DIR,e.TreeShakingStatus=t.TreeShakingStatus,e.assert=l.assert,e.bindLoggerToCompiler=d.bindLoggerToCompiler,e.composeKeyWithSeparator=l.composeKeyWithSeparator,Object.defineProperty(e,"consumeSharedPlugin",{enumerable:!0,get:function(){return i.ConsumeSharedPlugin_exports}}),Object.defineProperty(e,"containerPlugin",{enumerable:!0,get:function(){return r.ContainerPlugin_exports}}),Object.defineProperty(e,"containerReferencePlugin",{enumerable:!0,get:function(){return n.ContainerReferencePlugin_exports}}),e.createInfrastructureLogger=d.createInfrastructureLogger,e.createLink=f.createLink,e.createLogger=d.createLogger,e.createModuleFederationConfig=_.createModuleFederationConfig,e.createScript=f.createScript,e.createScriptNode=h.createScriptNode,e.decodeName=l.decodeName,e.encodeName=l.encodeName,e.error=l.error,e.generateExposeFilename=l.generateExposeFilename,e.generateShareFilename=l.generateShareFilename,e.generateSnapshotFromManifest=u.generateSnapshotFromManifest,e.getManifestFileName=u.getManifestFileName,e.getProcessEnv=c.getProcessEnv,e.getResourceUrl=l.getResourceUrl,e.inferAutoPublicPath=u.inferAutoPublicPath,e.infrastructureLogger=d.infrastructureLogger,e.isBrowserEnv=c.isBrowserEnv,e.isBrowserEnvValue=c.isBrowserEnvValue,e.isDebugMode=c.isDebugMode,e.isManifestProvider=u.isManifestProvider,e.isReactNativeEnv=c.isReactNativeEnv,e.isRequiredVersion=l.isRequiredVersion,e.isStaticResourcesEqual=f.isStaticResourcesEqual,e.loadScript=f.loadScript,e.loadScriptNode=h.loadScriptNode,e.logger=d.logger,Object.defineProperty(e,"moduleFederationPlugin",{enumerable:!0,get:function(){return o.ModuleFederationPlugin_exports}}),e.normalizeOptions=m.normalizeOptions,e.parseEntry=l.parseEntry,Object.defineProperty(e,"provideSharedPlugin",{enumerable:!0,get:function(){return a.ProvideSharedPlugin_exports}}),e.safeToString=l.safeToString,e.safeWrapper=f.safeWrapper,Object.defineProperty(e,"sharePlugin",{enumerable:!0,get:function(){return s.SharePlugin_exports}}),e.simpleJoinRemoteEntry=u.simpleJoinRemoteEntry,e.warn=l.warn})(D);var Nr={},Mt={};const Qn=e=>`View the docs to see how to solve: https://module-federation.io/guide/troubleshooting/${e.split("-")[0].toLowerCase()}#${e.toLowerCase()}`,eo=(e,t,r,n)=>{const o=[`${[t[e]]} #${e}`];return r&&o.push(`args: ${JSON.stringify(r)}`),o.push(Qn(e)),n&&o.push(`Original Error Message: ${n}`),o.join(` `)};Mt.getShortErrorMsg=eo;(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=Mt;function r(n,o,s,i,a,c){return i(t.getShortErrorMsg(n,o,s,a))}e.logAndReport=r})(Nr);let to=D,ro=Nr;const ee="[ Federation Runtime ]",ht=(0,to.createLogger)(ee);function no(e,t,r,n,o){e||(r!==void 0?mt(t,r,n,void 0,o):mt(t))}function mt(e,t,r,n,o){if(t!==void 0)return(0,ro.logAndReport)(e,t,r??{},i=>{throw new Error(`${ee}: ${i}`)},n,o);const s=e;throw s instanceof Error?(s.message.startsWith(ee)||(s.message=`${ee}: ${s.message}`),s):new Error(`${ee}: ${s}`)}function oo(e){e instanceof Error&&(e.message.startsWith(ee)||(e.message=`${ee}: ${e.message}`)),ht.warn(e)}M.assert=no;M.error=mt;M.logger=ht;M.warn=oo;var $={};const so=M;let wt=D;function io(e,t){return e.findIndex(r=>r===t)===-1&&e.push(t),e}function ao(e){return"version"in e&&e.version?`${e.name}:${e.version}`:"entry"in e&&e.entry?`${e.name}:${e.entry}`:`${e.name}`}function lo(e){return typeof e.entry<"u"}function co(e){return!e.entry.includes(".json")}async function uo(e,t){try{return await e()}catch(r){!t&&so.warn(r);return}}function fo(e){return e&&typeof e=="object"}const Mr=Object.prototype.toString;function ho(e){return Mr.call(e)==="[object Object]"}function mo(e,t){const r=/^(https?:)?\/\//i;return e.replace(r,"").replace(/\/$/,"")===t.replace(r,"").replace(/\/$/,"")}function _o(e){return Array.isArray(e)?e:[e]}function go(e){const t={url:"",type:"global",globalName:""};return wt.isBrowserEnvValue||(0,wt.isReactNativeEnv)()||!("ssrRemoteEntry"in e)?"remoteEntry"in e?{url:e.remoteEntry,type:e.remoteEntryType,globalName:e.globalName}:t:"ssrRemoteEntry"in e?{url:e.ssrRemoteEntry||t.url,type:e.ssrRemoteEntryType||t.type,globalName:e.globalName}:t}const po=(e,t)=>{let r;return e.endsWith("/")?r=e.slice(0,-1):r=e,t.startsWith(".")&&(t=t.slice(1)),r=r+t,r};$.addUniqueItem=io;$.arrayOptions=_o;$.getFMId=ao;$.getRemoteEntryInfoFromSnapshot=go;$.isObject=fo;$.isPlainObject=ho;$.isPureRemoteEntry=co;$.isRemoteInfoWithEntry=lo;$.isStaticResourcesEqual=mo;$.objectToString=Mr;$.processModuleAlias=po;$.safeWrapper=uo;var b={};const Pr=M,_t=$;let yo=D;const O=typeof globalThis=="object"?globalThis:window,C=(()=>{try{return document.defaultView}catch{return O}})(),Eo=C;function He(e,t,r){Object.defineProperty(e,t,{value:r,configurable:!1,writable:!0})}function Ce(e,t){return Object.hasOwnProperty.call(e,t)}Ce(O,"__GLOBAL_LOADING_REMOTE_ENTRY__")||He(O,"__GLOBAL_LOADING_REMOTE_ENTRY__",{});const gt=O.__GLOBAL_LOADING_REMOTE_ENTRY__;function vr(e){Ce(e,"__VMOK__")&&!Ce(e,"__FEDERATION__")&&He(e,"__FEDERATION__",e.__VMOK__),Ce(e,"__FEDERATION__")||(He(e,"__FEDERATION__",{__GLOBAL_PLUGIN__:[],__INSTANCES__:[],moduleInfo:{},__SHARE__:{},__MANIFEST_LOADING__:{},__PRELOADED_MAP__:new Map}),He(e,"__VMOK__",e.__FEDERATION__)),e.__FEDERATION__.__GLOBAL_PLUGIN__??=[],e.__FEDERATION__.__INSTANCES__??=[],e.__FEDERATION__.moduleInfo??={},e.__FEDERATION__.__SHARE__??={},e.__FEDERATION__.__MANIFEST_LOADING__??={},e.__FEDERATION__.__PRELOADED_MAP__??=new Map}vr(O);vr(C);function So(){O.__FEDERATION__.__GLOBAL_PLUGIN__=[],O.__FEDERATION__.__INSTANCES__=[],O.__FEDERATION__.moduleInfo={},O.__FEDERATION__.__SHARE__={},O.__FEDERATION__.__MANIFEST_LOADING__={},Object.keys(gt).forEach(e=>{delete gt[e]})}function bo(e){O.__FEDERATION__.__INSTANCES__.push(e)}function Ro(){return O.__FEDERATION__.__DEBUG_CONSTRUCTOR__}function To(e,t=(0,yo.isDebugMode)()){t&&(O.__FEDERATION__.__DEBUG_CONSTRUCTOR__=e,O.__FEDERATION__.__DEBUG_CONSTRUCTOR_VERSION__="2.2.2")}function pt(e,t){if(typeof t=="string"){if(e[t])return{value:e[t],key:t};{const r=Object.keys(e);for(const n of r){const[o,s]=n.split(":"),i=`${o}:${t}`,a=e[i];if(a)return{value:a,key:i}}return{value:void 0,key:t}}}else Pr.error(`getInfoWithoutType: "key" must be a string, got ${typeof t} (${JSON.stringify(t)}).`)}const Io=()=>C.__FEDERATION__.moduleInfo,Ar=(e,t)=>{const r=pt(t,_t.getFMId(e)).value;if(r&&!r.version&&"version"in e&&e.version&&(r.version=e.version),r)return r;if("version"in e&&e.version){const{version:n,...o}=e,s=_t.getFMId(o),i=pt(C.__FEDERATION__.moduleInfo,s).value;if((i==null?void 0:i.version)===n)return i}},$o=e=>Ar(e,C.__FEDERATION__.moduleInfo),No=(e,t)=>{const r=_t.getFMId(e);return C.__FEDERATION__.moduleInfo[r]=t,C.__FEDERATION__.moduleInfo},Mo=e=>(C.__FEDERATION__.moduleInfo={...C.__FEDERATION__.moduleInfo,...e},()=>{const t=Object.keys(e);for(const r of t)delete C.__FEDERATION__.moduleInfo[r]}),Po=(e,t)=>{const r=t||`__FEDERATION_${e}:custom__`;return{remoteEntryKey:r,entryExports:O[r]}},vo=e=>{const{__GLOBAL_PLUGIN__:t}=C.__FEDERATION__;e.forEach(r=>{t.findIndex(n=>n.name===r.name)===-1?t.push(r):Pr.warn(`The plugin ${r.name} has been registered.`)})},Ao=()=>C.__FEDERATION__.__GLOBAL_PLUGIN__,Oo=e=>O.__FEDERATION__.__PRELOADED_MAP__.get(e),ko=e=>O.__FEDERATION__.__PRELOADED_MAP__.set(e,!0);b.CurrentGlobal=O;b.Global=Eo;b.addGlobalSnapshot=Mo;b.getGlobalFederationConstructor=Ro;b.getGlobalHostPlugins=Ao;b.getGlobalSnapshot=Io;b.getGlobalSnapshotInfoByModuleInfo=$o;b.getInfoWithoutType=pt;b.getPreloaded=Oo;b.getRemoteEntryExports=Po;b.getTargetSnapshotInfoByModuleInfo=Ar;b.globalLoading=gt;b.nativeGlobal=C;b.registerGlobalPlugins=vo;b.resetFederationGlobalInfo=So;b.setGlobalFederationConstructor=To;b.setGlobalFederationInstance=bo;b.setGlobalSnapshotInfoByModuleInfo=No;b.setPreloaded=ko;var Pt={},ne={},W={};const Ft="[0-9A-Za-z-]+",vt=`(?:\\+(${Ft}(?:\\.${Ft})*))`,Re="0|[1-9]\\d*",qe="[0-9]+",Or="\\d*[a-zA-Z-][a-zA-Z0-9-]*",Lt=`(?:${qe}|${Or})`,wo=`(?:-?(${Lt}(?:\\.${Lt})*))`,Dt=`(?:${Re}|${Or})`,kr=`(?:-(${Dt}(?:\\.${Dt})*))`,ze=`${Re}|x|X|\\*`,ce=`[v=\\s]*(${ze})(?:\\.(${ze})(?:\\.(${ze})(?:${kr})?${vt}?)?)?`,Fo=`^\\s*(${ce})\\s+-\\s+(${ce})\\s*$`,Lo=`[v=\\s]*${`(${qe})\\.(${qe})\\.(${qe})`}${wo}?${vt}?`,At="((?:<|>)?=?)",Do=`(\\s*)${At}\\s*(${Lo}|${ce})`,wr="(?:~>?)",Ho=`(\\s*)${wr}\\s+`,Fr="(?:\\^)",Co=`(\\s*)${Fr}\\s+`,qo="(<|>)?=?\\s*\\*",Go=`^${Fr}${ce}$`,Uo=`v?${`(${Re})\\.(${Re})\\.(${Re})`}${kr}?${vt}?`,Wo=`^${wr}${ce}$`,Bo=`^${At}\\s*${ce}$`,jo=`^${At}\\s*(${Uo})$|^$`,Vo="^\\s*>=\\s*0.0.0\\s*$";W.caret=Go;W.caretTrim=Co;W.comparator=jo;W.comparatorTrim=Do;W.gte0=Vo;W.hyphenRange=Fo;W.star=qo;W.tilde=Wo;W.tildeTrim=Ho;W.xRange=Bo;const Xo=W;function Lr(e){return new RegExp(e)}function xo(e){return!e||e.toLowerCase()==="x"||e==="*"}function Ko(...e){return t=>e.reduce((r,n)=>n(r),t)}function Yo(e){return e.match(Lr(Xo.comparator))}function zo(e,t,r,n){const o=`${e}.${t}.${r}`;return n?`${o}-${n}`:o}ne.combineVersion=zo;ne.extractComparator=Yo;ne.isXVersion=xo;ne.parseRegex=Lr;ne.pipe=Ko;var V={};const x=W,T=ne;function Jo(e){return e.replace(T.parseRegex(x.hyphenRange),(t,r,n,o,s,i,a,c,l,u,d,f)=>(T.isXVersion(n)?r="":T.isXVersion(o)?r=`>=${n}.0.0`:T.isXVersion(s)?r=`>=${n}.${o}.0`:r=`>=${r}`,T.isXVersion(l)?c="":T.isXVersion(u)?c=`<${Number(l)+1}.0.0-0`:T.isXVersion(d)?c=`<${l}.${Number(u)+1}.0-0`:f?c=`<=${l}.${u}.${d}-${f}`:c=`<=${c}`,`${r} ${c}`.trim()))}function Zo(e){return e.replace(T.parseRegex(x.comparatorTrim),"$1$2$3")}function Qo(e){return e.replace(T.parseRegex(x.tildeTrim),"$1~")}function es(e){return e.replace(T.parseRegex(x.caretTrim),"$1^")}function ts(e){return e.trim().split(/\s+/).map(t=>t.replace(T.parseRegex(x.caret),(r,n,o,s,i)=>T.isXVersion(n)?"":T.isXVersion(o)?`>=${n}.0.0 <${Number(n)+1}.0.0-0`:T.isXVersion(s)?n==="0"?`>=${n}.${o}.0 <${n}.${Number(o)+1}.0-0`:`>=${n}.${o}.0 <${Number(n)+1}.0.0-0`:i?n==="0"?o==="0"?`>=${n}.${o}.${s}-${i} <${n}.${o}.${Number(s)+1}-0`:`>=${n}.${o}.${s}-${i} <${n}.${Number(o)+1}.0-0`:`>=${n}.${o}.${s}-${i} <${Number(n)+1}.0.0-0`:n==="0"?o==="0"?`>=${n}.${o}.${s} <${n}.${o}.${Number(s)+1}-0`:`>=${n}.${o}.${s} <${n}.${Number(o)+1}.0-0`:`>=${n}.${o}.${s} <${Number(n)+1}.0.0-0`)).join(" ")}function rs(e){return e.trim().split(/\s+/).map(t=>t.replace(T.parseRegex(x.tilde),(r,n,o,s,i)=>T.isXVersion(n)?"":T.isXVersion(o)?`>=${n}.0.0 <${Number(n)+1}.0.0-0`:T.isXVersion(s)?`>=${n}.${o}.0 <${n}.${Number(o)+1}.0-0`:i?`>=${n}.${o}.${s}-${i} <${n}.${Number(o)+1}.0-0`:`>=${n}.${o}.${s} <${n}.${Number(o)+1}.0-0`)).join(" ")}function ns(e){return e.split(/\s+/).map(t=>t.trim().replace(T.parseRegex(x.xRange),(r,n,o,s,i,a)=>{const c=T.isXVersion(o),l=c||T.isXVersion(s),u=l||T.isXVersion(i);return n==="="&&u&&(n=""),a="",c?n===">"||n==="<"?"<0.0.0-0":"*":n&&u?(l&&(s=0),i=0,n===">"?(n=">=",l?(o=Number(o)+1,s=0,i=0):(s=Number(s)+1,i=0)):n==="<="&&(n="<",l?o=Number(o)+1:s=Number(s)+1),n==="<"&&(a="-0"),`${n+o}.${s}.${i}${a}`):l?`>=${o}.0.0${a} <${Number(o)+1}.0.0-0`:u?`>=${o}.${s}.0${a} <${o}.${Number(s)+1}.0-0`:r})).join(" ")}function os(e){return e.trim().replace(T.parseRegex(x.star),"")}function ss(e){return e.trim().replace(T.parseRegex(x.gte0),"")}V.parseCaretTrim=es;V.parseCarets=ts;V.parseComparatorTrim=Zo;V.parseGTE0=ss;V.parseHyphen=Jo;V.parseStar=os;V.parseTildeTrim=Qo;V.parseTildes=rs;V.parseXRanges=ns;var Dr={};function Ge(e,t){return e=Number(e)||e,t=Number(t)||t,e>t?1:e===t?0:-1}function is(e,t){const{preRelease:r}=e,{preRelease:n}=t;if(r===void 0&&n)return 1;if(r&&n===void 0)return-1;if(r===void 0&&n===void 0)return 0;for(let o=0,s=r.length;o<=s;o++){const i=r[o],a=n[o];if(i!==a)return i===void 0&&a===void 0?0:i?a?Ge(i,a):-1:1}return 0}function ke(e,t){return Ge(e.major,t.major)||Ge(e.minor,t.minor)||Ge(e.patch,t.patch)||is(e,t)}function Je(e,t){return e.version===t.version}function as(e,t){switch(e.operator){case"":case"=":return Je(e,t);case">":return ke(e,t)<0;case">=":return Je(e,t)||ke(e,t)<0;case"<":return ke(e,t)>0;case"<=":return Je(e,t)||ke(e,t)>0;case void 0:return!0;default:return!1}}Dr.compare=as;const ae=ne,X=V,ls=Dr;function cs(e){return ae.pipe(X.parseCarets,X.parseTildes,X.parseXRanges,X.parseStar)(e)}function us(e){return ae.pipe(X.parseHyphen,X.parseComparatorTrim,X.parseTildeTrim,X.parseCaretTrim)(e.trim()).split(/\s+/).join(" ")}function fs(e,t){if(!e)return!1;const r=ae.extractComparator(e);if(!r)return!1;const[,n,,o,s,i,a]=r,c={operator:n,version:ae.combineVersion(o,s,i,a),major:o,minor:s,patch:i,preRelease:a==null?void 0:a.split(".")},l=t.split("||");for(const u of l){const d=u.trim();if(!d||d==="*"||d==="x")return!0;try{const f=us(d);if(!f.trim())return!0;const h=f.split(" ").map(g=>cs(g)).join(" ");if(!h.trim())return!0;const m=h.split(/\s+/).map(g=>X.parseGTE0(g)).filter(Boolean);if(m.length===0)continue;let _=!0;for(const g of m){const p=ae.extractComparator(g);if(!p){_=!1;break}const[,E,,I,k,y,N]=p;if(!ls.compare({operator:E,version:ae.combineVersion(I,k,y,N),major:I,minor:k,patch:y,preRelease:N==null?void 0:N.split(".")},c)){_=!1;break}}if(_)return!0}catch(f){console.error(`[semver] Error processing range part "${d}":`,f);continue}}return!1}Pt.satisfy=fs;var q={},oe={};const ds="default",hs="global";oe.DEFAULT_REMOTE_TYPE=hs;oe.DEFAULT_SCOPE=ds;const We=M,Hr=$,Cr=b,ms=oe,Ee=Pt;let yt=D;function _s(e,t,r,n){var s,i;let o;return"get"in e?o=e.get:"lib"in e?o=()=>Promise.resolve(e.lib):o=()=>Promise.resolve(()=>{We.error(`Cannot get shared "${r}" from "${t}": neither "get" nor "lib" is provided in the share config.`)}),(s=e.shareConfig)!=null&&s.eager&&((i=e.treeShaking)!=null&&i.mode)&&We.error(`Invalid shared config for "${r}" from "${t}": cannot use both "eager: true" and "treeShaking.mode" simultaneously. Choose one strategy.`),{deps:[],useIn:[],from:t,loading:null,...e,shareConfig:{requiredVersion:`^${e.version}`,singleton:!1,eager:!1,strictVersion:!1,...e.shareConfig},get:o,loaded:e!=null&&e.loaded||"lib"in e?!0:void 0,version:e.version??"0",scope:Array.isArray(e.scope)?e.scope:[e.scope??"default"],strategy:(e.strategy??n)||"version-first",treeShaking:e.treeShaking?{...e.treeShaking,mode:e.treeShaking.mode??"server-calc",status:e.treeShaking.status??yt.TreeShakingStatus.UNKNOWN,useIn:[]}:void 0}}function gs(e,t){const r=t.shared||{},n=t.name,o=Object.keys(r).reduce((i,a)=>{const c=Hr.arrayOptions(r[a]);return i[a]=i[a]||[],c.forEach(l=>{i[a].push(_s(l,n,a,t.shareStrategy))}),i},{}),s={...e.shared};return Object.keys(o).forEach(i=>{s[i]?o[i].forEach(a=>{s[i].find(c=>c.version===a.version)||s[i].push(a)}):s[i]=o[i]}),{allShareInfos:s,newShareInfos:o}}function Te(e,t){if(!e)return!1;const{status:r,mode:n}=e;return r===yt.TreeShakingStatus.NO_USE?!1:r===yt.TreeShakingStatus.CALCULATED?!0:n==="runtime-infer"?t?ys(e,t):!0:!1}function te(e,t){const r=n=>{if(!Number.isNaN(Number(n))){const o=n.split(".");let s=n;for(let i=0;i<3-o.length;i++)s+=".0";return s}return n};return!!Ee.satisfy(r(e),`<=${r(t)}`)}const Ie=(e,t)=>{const r=t||function(n,o){return te(n,o)};return Object.keys(e).reduce((n,o)=>!n||r(n,o)||n==="0"?o:n,0)},Be=e=>!!e.loaded||typeof e.lib=="function",ps=e=>!!e.loading,ys=(e,t)=>{if(!e||!t)return!1;const{usedExports:r}=e;return r?!!t.every(n=>r.includes(n)):!1};function Es(e,t,r,n){const o=e[t][r];let s="",i=Te(n);const a=function(c,l){return i?o[c].treeShaking?o[l].treeShaking?!Be(o[c].treeShaking)&&te(c,l):!1:!0:!Be(o[c])&&te(c,l)};if(i){if(s=Ie(e[t][r],a),s)return{version:s,useTreesShaking:i};i=!1}return{version:Ie(e[t][r],a),useTreesShaking:i}}const se=e=>Be(e)||ps(e);function Ss(e,t,r,n){const o=e[t][r];let s="",i=Te(n);const a=function(c,l){if(i){if(!o[c].treeShaking)return!0;if(!o[l].treeShaking)return!1;if(se(o[l].treeShaking))return se(o[c].treeShaking)?!!te(c,l):!0;if(se(o[c].treeShaking))return!1}return se(o[l])?se(o[c])?!!te(c,l):!0:se(o[c])?!1:te(c,l)};if(i){if(s=Ie(e[t][r],a),s)return{version:s,useTreesShaking:i};i=!1}return{version:Ie(e[t][r],a),useTreesShaking:i}}function bs(e){return e==="loaded-first"?Ss:Es}function Rs(e,t,r,n){if(!e)return;const{shareConfig:o,scope:s=ms.DEFAULT_SCOPE,strategy:i,treeShaking:a}=r,c=Array.isArray(s)?s:[s];for(const l of c)if(o&&e[l]&&e[l][t]){const{requiredVersion:u}=o,{version:d,useTreesShaking:f}=bs(i)(e,l,t,a),h=()=>{const _=e[l][t][d];if(o.singleton){if(typeof u=="string"&&!Ee.satisfy(d,u)){const g=`Version ${d} from ${d&&_.from} of shared singleton module ${t} does not satisfy the requirement of ${r.from} which needs ${u})`;o.strictVersion?We.error(g):We.warn(g)}return{shared:_,useTreesShaking:f}}else{if(u===!1||u==="*")return{shared:_,useTreesShaking:f};if(Ee.satisfy(d,u))return{shared:_,useTreesShaking:f};const g=Te(a);if(g){for(const[p,E]of Object.entries(e[l][t]))if(Te(E.treeShaking,a==null?void 0:a.usedExports)&&Ee.satisfy(p,u))return{shared:E,useTreesShaking:g}}for(const[p,E]of Object.entries(e[l][t]))if(Ee.satisfy(p,u))return{shared:E,useTreesShaking:!1}}},m={shareScopeMap:e,scope:l,pkgName:t,version:d,GlobalFederation:Cr.Global.__FEDERATION__,shareInfo:r,resolver:h};return(n.emit(m)||m).resolver()}}function Ts(){return Cr.Global.__FEDERATION__.__SHARE__}function Is(e){const{pkgName:t,extraOptions:r,shareInfos:n}=e,o=c=>{if(!c)return;const l={};return c.forEach(d=>{l[d.version]=d}),l[Ie(l,function(d,f){return!Be(l[d])&&te(d,f)})]},s=(r==null?void 0:r.resolver)??o,i=c=>c!==null&&typeof c=="object"&&!Array.isArray(c),a=(...c)=>{const l={};for(const u of c)if(u)for(const[d,f]of Object.entries(u)){const h=l[d];i(h)&&i(f)?l[d]=a(h,f):f!==void 0&&(l[d]=f)}return l};return a(s(n[t]),r==null?void 0:r.customShareInfo)}const $s=(e,t)=>{e.useIn||(e.useIn=[]),Hr.addUniqueItem(e.useIn,t)};function Ns(e,t){return t&&e.treeShaking?e.treeShaking:e}q.addUseIn=$s;q.directShare=Ns;q.formatShareConfigs=gs;q.getGlobalShareScope=Ts;q.getRegisteredShare=Rs;q.getTargetSharedOptions=Is;q.shouldUseTreeShaking=Te;var he={};function Ms(e,t){for(const r of e){const n=t.startsWith(r.name);let o=t.replace(r.name,"");if(n){if(o.startsWith("/")){const a=r.name;return o=`.${o}`,{pkgNameOrAlias:a,expose:o,remote:r}}else if(o==="")return{pkgNameOrAlias:r.name,expose:".",remote:r}}const s=r.alias&&t.startsWith(r.alias);let i=r.alias&&t.replace(r.alias,"");if(r.alias&&s){if(i&&i.startsWith("/")){const a=r.alias;return i=`.${i}`,{pkgNameOrAlias:a,expose:i,remote:r}}else if(i==="")return{pkgNameOrAlias:r.alias,expose:".",remote:r}}}}function Ps(e,t){for(const r of e)if(t===r.name||r.alias&&t===r.alias)return r}he.matchRemote=Ps;he.matchRemoteWithNameAndExpose=Ms;var K={},Y={},F={};const vs="RUNTIME-001",As="RUNTIME-002",Os="RUNTIME-003",ks="RUNTIME-004",ws="RUNTIME-005",Fs="RUNTIME-006",Ls="RUNTIME-007",Ds="RUNTIME-008",Hs="RUNTIME-009",Cs="RUNTIME-010",qs="RUNTIME-011",Gs="TYPE-001",Us="BUILD-001",Ws="BUILD-002";F.BUILD_001=Us;F.BUILD_002=Ws;F.RUNTIME_001=vs;F.RUNTIME_002=As;F.RUNTIME_003=Os;F.RUNTIME_004=ks;F.RUNTIME_005=ws;F.RUNTIME_006=Fs;F.RUNTIME_007=Ls;F.RUNTIME_008=Ds;F.RUNTIME_009=Hs;F.RUNTIME_010=Cs;F.RUNTIME_011=qs;F.TYPE_001=Gs;var Me={};const L=F,qr={[L.RUNTIME_001]:"Failed to get remoteEntry exports.",[L.RUNTIME_002]:'The remote entry interface does not contain "init"',[L.RUNTIME_003]:"Failed to get manifest.",[L.RUNTIME_004]:"Failed to locate remote.",[L.RUNTIME_005]:"Invalid loadShareSync function call from bundler runtime",[L.RUNTIME_006]:"Invalid loadShareSync function call from runtime",[L.RUNTIME_007]:"Failed to get remote snapshot.",[L.RUNTIME_008]:"Failed to load script resources.",[L.RUNTIME_009]:"Please call createInstance first.",[L.RUNTIME_010]:'The name option cannot be changed after initialization. If you want to create a new instance with a different name, please use "createInstance" api.',[L.RUNTIME_011]:"The remoteEntry URL is missing from the remote snapshot."},Gr={[L.TYPE_001]:"Failed to generate type declaration. Execute the below cmd to reproduce and fix the error."},Ur={[L.BUILD_001]:"Failed to find expose module.",[L.BUILD_002]:"PublicPath is required in prod mode."},Bs={...qr,...Gr,...Ur};Me.buildDescMap=Ur;Me.errorDescMap=Bs;Me.runtimeDescMap=qr;Me.typeDescMap=Gr;(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=F,r=Mt,n=Me;e.BUILD_001=t.BUILD_001,e.BUILD_002=t.BUILD_002,e.RUNTIME_001=t.RUNTIME_001,e.RUNTIME_002=t.RUNTIME_002,e.RUNTIME_003=t.RUNTIME_003,e.RUNTIME_004=t.RUNTIME_004,e.RUNTIME_005=t.RUNTIME_005,e.RUNTIME_006=t.RUNTIME_006,e.RUNTIME_007=t.RUNTIME_007,e.RUNTIME_008=t.RUNTIME_008,e.RUNTIME_009=t.RUNTIME_009,e.RUNTIME_010=t.RUNTIME_010,e.RUNTIME_011=t.RUNTIME_011,e.TYPE_001=t.TYPE_001,e.buildDescMap=n.buildDescMap,e.errorDescMap=n.errorDescMap,e.getShortErrorMsg=r.getShortErrorMsg,e.runtimeDescMap=n.runtimeDescMap,e.typeDescMap=n.typeDescMap})(Y);const Ve=M,le=b,Ht=oe;let Wr=D,$e=Y;const Br=".then(callbacks[0]).catch(callbacks[1])";async function js({entry:e,remoteEntryExports:t}){return new Promise((r,n)=>{try{t?r(t):typeof FEDERATION_ALLOW_NEW_FUNCTION<"u"?new Function("callbacks",`import("${e}")${Br}`)([r,n]):import(e).then(r).catch(n)}catch(o){Ve.error(`Failed to load ESM entry from "${e}". ${o instanceof Error?o.message:String(o)}`)}})}async function Vs({entry:e,remoteEntryExports:t}){return new Promise((r,n)=>{try{t?r(t):typeof __system_context__>"u"?System.import(e).then(r).catch(n):new Function("callbacks",`System.import("${e}")${Br}`)([r,n])}catch(o){Ve.error(`Failed to load SystemJS entry from "${e}". ${o instanceof Error?o.message:String(o)}`)}})}function Xs(e,t,r){const{remoteEntryKey:n,entryExports:o}=le.getRemoteEntryExports(e,t);return o||Ve.error($e.RUNTIME_001,$e.runtimeDescMap,{remoteName:e,remoteEntryUrl:r,remoteEntryKey:n}),o}async function xs({name:e,globalName:t,entry:r,loaderHook:n,getEntryUrl:o}){const{entryExports:s}=le.getRemoteEntryExports(e,t);if(s)return s;const i=o?o(r):r;return(0,Wr.loadScript)(i,{attrs:{},createScriptHook:(a,c)=>{const l=n.lifecycle.createScript.emit({url:a,attrs:c});if(l&&(l instanceof HTMLScriptElement||"script"in l||"timeout"in l))return l}}).then(()=>Xs(e,t,r),a=>{const c=a instanceof Error?a.message:String(a);Ve.error($e.RUNTIME_008,$e.runtimeDescMap,{remoteName:e,resourceUrl:i},c)})}async function Ks({remoteInfo:e,remoteEntryExports:t,loaderHook:r,getEntryUrl:n}){const{entry:o,entryGlobalName:s,name:i,type:a}=e;switch(a){case"esm":case"module":return js({entry:o,remoteEntryExports:t});case"system":return Vs({entry:o,remoteEntryExports:t});default:return xs({entry:o,globalName:s,name:i,loaderHook:r,getEntryUrl:n})}}function Et(e){const{entry:t,name:r}=e;return(0,Wr.composeKeyWithSeparator)(r,t)}async function jr(e){const{origin:t,remoteEntryExports:r,remoteInfo:n,getEntryUrl:o,_inErrorHandling:s=!1}=e,i=Et(n);if(r)return r;if(!le.globalLoading[i]){const a=t.remoteHandler.hooks.lifecycle.loadEntry,c=t.loaderHook;le.globalLoading[i]=a.emit({loaderHook:c,remoteInfo:n,remoteEntryExports:r}).then(l=>l||Ks({remoteInfo:n,remoteEntryExports:r,loaderHook:c,getEntryUrl:o})).catch(async l=>{const u=Et(n),d=l instanceof Error&&l.message.includes("ScriptExecutionError");if(l instanceof Error&&l.message.includes($e.RUNTIME_008)&&!d&&!s){const f=m=>jr({...m,_inErrorHandling:!0}),h=await t.loaderHook.lifecycle.loadEntryError.emit({getRemoteEntry:f,origin:t,remoteInfo:n,remoteEntryExports:r,globalLoading:le.globalLoading,uniqueKey:u});if(h)return h}throw l})}return le.globalLoading[i]}function Ys(e){return{...e,entry:"entry"in e?e.entry:"",type:e.type||Ht.DEFAULT_REMOTE_TYPE,entryGlobalName:e.entryGlobalName||e.name,shareScope:e.shareScope||Ht.DEFAULT_SCOPE}}K.getRemoteEntry=jr;K.getRemoteEntryUniqueKey=Et;K.getRemoteInfo=Ys;var Vr={};function zs(){return typeof FEDERATION_BUILD_IDENTIFIER<"u"?FEDERATION_BUILD_IDENTIFIER:""}Vr.getBuilderId=zs;var Xr={};const Js=b;function Zs(e,t){const r=Js.getGlobalHostPlugins(),n=[t.hooks,t.remoteHandler.hooks,t.sharedHandler.hooks,t.snapshotHandler.hooks,t.loaderHook,t.bridgeHook];return r.length>0&&r.forEach(o=>{e!=null&&e.find(s=>s.name!==o.name)&&e.push(o)}),e&&e.length>0&&e.forEach(o=>{n.forEach(s=>{s.applyPlugin(o,t)})}),e}Xr.registerPlugins=Zs;var Pe={};function Qs(e){return{name:e.name,alias:e.alias,entry:"entry"in e?e.entry:void 0,version:"version"in e?e.version:void 0,type:e.type,entryGlobalName:e.entryGlobalName,shareScope:e.shareScope}}function ei(e){var r,n,o,s,i,a;const t={};for(const[c,l]of Object.entries(e.shared)){const u=l[0];u&&(t[c]={version:u.version,singleton:(r=u.shareConfig)==null?void 0:r.singleton,requiredVersion:((n=u.shareConfig)==null?void 0:n.requiredVersion)===!1?!1:(o=u.shareConfig)==null?void 0:o.requiredVersion,eager:u.eager,strictVersion:(s=u.shareConfig)==null?void 0:s.strictVersion})}return{project:{name:e.name,mfRole:((i=e.remotes)==null?void 0:i.length)>0?"host":"unknown"},mfConfig:{name:e.name,remotes:((a=e.remotes)==null?void 0:a.map(Qs))??[],shared:t}}}Pe.optionsToMFContext=ei;var xr={},Z={};const ti=M,ri=he,Ct=K;let Se=D;function Kr(e){return{resourceCategory:"sync",share:!0,depsRemote:!0,prefetchInterface:!1,...e}}function ni(e,t){return t.map(r=>{const n=ri.matchRemote(e,r.nameOrAlias);return ti.assert(n,`Unable to preload ${r.nameOrAlias} as it is not included in ${!n&&(0,Se.safeToString)({remoteInfo:n,remotes:e})}`),{remote:n,preloadConfig:Kr(r)}})}function oi(e){return e?e.map(t=>t==="."?t:t.startsWith("./")?t.replace("./",""):t):[]}function si(e,t,r,n=!0){const{cssAssets:o,jsAssetsWithoutEntry:s,entryAssets:i}=r;if(t.options.inBrowser){if(i.forEach(a=>{const{moduleInfo:c}=a,l=t.moduleCache.get(e.name);l?Ct.getRemoteEntry({origin:t,remoteInfo:c,remoteEntryExports:l.remoteEntryExports}):Ct.getRemoteEntry({origin:t,remoteInfo:c,remoteEntryExports:void 0})}),n){const a={rel:"preload",as:"style"};o.forEach(c=>{const{link:l,needAttach:u}=(0,Se.createLink)({url:c,cb:()=>{},attrs:a,createLinkHook:(d,f)=>{const h=t.loaderHook.lifecycle.createLink.emit({url:d,attrs:f});if(h instanceof HTMLLinkElement)return h}});u&&document.head.appendChild(l)})}else{const a={rel:"stylesheet",type:"text/css"};o.forEach(c=>{const{link:l,needAttach:u}=(0,Se.createLink)({url:c,cb:()=>{},attrs:a,createLinkHook:(d,f)=>{const h=t.loaderHook.lifecycle.createLink.emit({url:d,attrs:f});if(h instanceof HTMLLinkElement)return h},needDeleteLink:!1});u&&document.head.appendChild(l)})}if(n){const a={rel:"preload",as:"script"};s.forEach(c=>{const{link:l,needAttach:u}=(0,Se.createLink)({url:c,cb:()=>{},attrs:a,createLinkHook:(d,f)=>{const h=t.loaderHook.lifecycle.createLink.emit({url:d,attrs:f});if(h instanceof HTMLLinkElement)return h}});u&&document.head.appendChild(l)})}else{const a={fetchpriority:"high",type:(e==null?void 0:e.type)==="module"?"module":"text/javascript"};s.forEach(c=>{const{script:l,needAttach:u}=(0,Se.createScript)({url:c,cb:()=>{},attrs:a,createScriptHook:(d,f)=>{const h=t.loaderHook.lifecycle.createScript.emit({url:d,attrs:f});if(h instanceof HTMLScriptElement)return h},needDeleteScript:!0});u&&document.head.appendChild(l)})}}}Z.defaultPreloadArgs=Kr;Z.formatPreloadArgs=ni;Z.normalizePreloadExposes=oi;Z.preloadAssets=si;const w=b,qt=q,ii=he,ai=K,li=Z,ci={getRegisteredShare:qt.getRegisteredShare,getGlobalShareScope:qt.getGlobalShareScope},ui={Global:w.Global,nativeGlobal:w.nativeGlobal,resetFederationGlobalInfo:w.resetFederationGlobalInfo,setGlobalFederationInstance:w.setGlobalFederationInstance,getGlobalFederationConstructor:w.getGlobalFederationConstructor,setGlobalFederationConstructor:w.setGlobalFederationConstructor,getInfoWithoutType:w.getInfoWithoutType,getGlobalSnapshot:w.getGlobalSnapshot,getTargetSnapshotInfoByModuleInfo:w.getTargetSnapshotInfoByModuleInfo,getGlobalSnapshotInfoByModuleInfo:w.getGlobalSnapshotInfoByModuleInfo,setGlobalSnapshotInfoByModuleInfo:w.setGlobalSnapshotInfoByModuleInfo,addGlobalSnapshot:w.addGlobalSnapshot,getRemoteEntryExports:w.getRemoteEntryExports,registerGlobalPlugins:w.registerGlobalPlugins,getGlobalHostPlugins:w.getGlobalHostPlugins,getPreloaded:w.getPreloaded,setPreloaded:w.setPreloaded};var fi={global:ui,share:ci,utils:{matchRemoteWithNameAndExpose:ii.matchRemoteWithNameAndExpose,preloadAssets:li.preloadAssets,getRemoteInfo:ai.getRemoteInfo}};xr.default=fi;var Xe={};const Ze=M,Gt=$,di=K,hi=Pe;let mi=D,Ut=Y;function _i(e,t,r){const n=t,o=Array.isArray(e.shareScope)?e.shareScope:[e.shareScope];o.length||o.push("default"),o.forEach(i=>{n[i]||(n[i]={})});const s={version:e.version||"",shareScopeKeys:Array.isArray(e.shareScope)?o:e.shareScope||"default"};return Object.defineProperty(s,"shareScopeMap",{value:n,enumerable:!1}),{remoteEntryInitOptions:s,shareScope:n[o[0]],initScope:r??[]}}var gi=class{constructor({remoteInfo:e,host:t}){this.inited=!1,this.initing=!1,this.lib=void 0,this.remoteInfo=e,this.host=t}async getEntry(){if(this.remoteEntryExports)return this.remoteEntryExports;const e=await di.getRemoteEntry({origin:this.host,remoteInfo:this.remoteInfo,remoteEntryExports:this.remoteEntryExports});return Ze.assert(e,`remoteEntryExports is undefined - ${(0,mi.safeToString)(this.remoteInfo)}`),this.remoteEntryExports=e,this.remoteEntryExports}async init(e,t,r){const n=await this.getEntry();if(this.inited)return n;if(this.initPromise)return await this.initPromise,n;this.initing=!0,this.initPromise=(async()=>{const{remoteEntryInitOptions:o,shareScope:s,initScope:i}=_i(this.remoteInfo,this.host.shareScopeMap,r),a=await this.host.hooks.lifecycle.beforeInitContainer.emit({shareScope:s,remoteEntryInitOptions:o,initScope:i,remoteInfo:this.remoteInfo,origin:this.host});typeof(n==null?void 0:n.init)>"u"&&Ze.error(Ut.RUNTIME_002,Ut.runtimeDescMap,{hostName:this.host.name,remoteName:this.remoteInfo.name,remoteEntryUrl:this.remoteInfo.entry,remoteEntryKey:this.remoteInfo.entryGlobalName},void 0,hi.optionsToMFContext(this.host.options)),await n.init(a.shareScope,a.initScope,a.remoteEntryInitOptions),await this.host.hooks.lifecycle.initContainer.emit({...a,id:e,remoteSnapshot:t,remoteEntryExports:n}),this.inited=!0})();try{await this.initPromise}finally{this.initing=!1,this.initPromise=void 0}return n}async get(e,t,r,n){const{loadFactory:o=!0}=r||{loadFactory:!0},s=await this.init(e,n);this.lib=s;let i;i=await this.host.loaderHook.lifecycle.getModuleFactory.emit({remoteEntryExports:s,expose:t,moduleInfo:this.remoteInfo}),i||(i=await s.get(t)),Ze.assert(i,`${Gt.getFMId(this.remoteInfo)} remote don't export ${t}.`);const a=Gt.processModuleAlias(this.remoteInfo.name,t),c=this.wraperFactory(i,a);return o?await c():c}wraperFactory(e,t){function r(n,o){n&&typeof n=="object"&&Object.isExtensible(n)&&!Object.getOwnPropertyDescriptor(n,Symbol.for("mf_module_id"))&&Object.defineProperty(n,Symbol.for("mf_module_id"),{value:o,enumerable:!1})}return e instanceof Promise?async()=>{const n=await e();return r(n,t),n}:()=>{const n=e();return r(n,t),n}}};Xe.Module=gi;var Yr={},me={},pi=class{constructor(e){this.type="",this.listeners=new Set,e&&(this.type=e)}on(e){typeof e=="function"&&this.listeners.add(e)}once(e){const t=this;this.on(function r(...n){return t.remove(r),e.apply(null,n)})}emit(...e){let t;return this.listeners.size>0&&this.listeners.forEach(r=>{t=r(...e)}),t}remove(e){this.listeners.delete(e)}removeAll(){this.listeners.clear()}};me.SyncHook=pi;var ve={};const yi=me;var Ei=class extends yi.SyncHook{emit(...e){let t;const r=Array.from(this.listeners);if(r.length>0){let n=0;const o=s=>s===!1?!1:n0){let r=0;const n=s=>(et.warn(s),this.onerror(s),e),o=s=>{if(Ii.checkReturnData(e,s)){if(e=s,r{const s=e[o];s&&this.lifecycle[o].on(s)}))}removePlugin(e){we.assert(e,"A name is required.");const t=this.registerPlugins[e];we.assert(t,`The plugin "${e}" is not registered.`),Object.keys(t).forEach(r=>{r!=="name"&&this.lifecycle[r].remove(t[r])})}};Oe.PluginSystem=Mi;var xe={};const Pi=M,St=$,vi=Z;let Wt=D,Bt=Y;function Zr(e,t){const r=St.getRemoteEntryInfoFromSnapshot(t);r.url||Pi.error(Bt.RUNTIME_011,Bt.runtimeDescMap,{remoteName:e.name});let n=(0,Wt.getResourceUrl)(t,r.url);!Wt.isBrowserEnvValue&&!n.startsWith("http")&&(n=`https:${n}`),e.type=r.type,e.entryGlobalName=r.globalName,e.entry=n,e.version=t.version,e.buildVersion=t.buildVersion}function Ai(){return{name:"snapshot-plugin",async afterResolve(e){const{remote:t,pkgNameOrAlias:r,expose:n,origin:o,remoteInfo:s,id:i}=e;if(!St.isRemoteInfoWithEntry(t)||!St.isPureRemoteEntry(t)){const{remoteSnapshot:a,globalSnapshot:c}=await o.snapshotHandler.loadRemoteSnapshotInfo({moduleInfo:t,id:i});Zr(s,a);const l={remote:t,preloadConfig:{nameOrAlias:r,exposes:[n],resourceCategory:"sync",share:!1,depsRemote:!1}},u=await o.remoteHandler.hooks.lifecycle.generatePreloadAssets.emit({origin:o,preloadOptions:l,remoteInfo:s,remote:t,remoteSnapshot:a,globalSnapshot:c});return u&&vi.preloadAssets(s,o,u,!1),{...e,remoteSnapshot:a}}return e}}}xe.assignRemoteInfo=Zr;xe.snapshotPlugin=Ai;var Qr={};const Ne=$,bt=b,Oi=q,jt=Z,ki=xe;let je=D;function wi(e){const t=e.split(":");return t.length===1?{name:t[0],version:void 0}:t.length===2?{name:t[0],version:t[1]}:{name:t[1],version:t[2]}}function en(e,t,r,n,o={},s){const{value:i}=bt.getInfoWithoutType(e,Ne.getFMId(t)),a=s||i;if(a&&!(0,je.isManifestProvider)(a)&&(r(a,t,n),a.remotesInfo)){const c=Object.keys(a.remotesInfo);for(const l of c){if(o[l])continue;o[l]=!0;const u=wi(l),d=a.remotesInfo[l];en(e,{name:u.name,version:d.matchedVersion},r,!1,o,void 0)}}}const tt=(e,t)=>document.querySelector(`${e}[${e==="link"?"href":"src"}="${t}"]`);function Fi(e,t,r,n,o){const s=[],i=[],a=[],c=new Set,l=new Set,{options:u}=e,{preloadConfig:d}=t,{depsRemote:f}=d;if(en(n,r,(m,_,g)=>{var N;let p;if(g)p=d;else if(Array.isArray(f)){const R=f.find(v=>v.nameOrAlias===_.name||v.nameOrAlias===_.alias);if(!R)return;p=jt.defaultPreloadArgs(R)}else if(f===!0)p=d;else return;const E=(0,je.getResourceUrl)(m,Ne.getRemoteEntryInfoFromSnapshot(m).url);E&&a.push({name:_.name,moduleInfo:{name:_.name,entry:E,type:"remoteEntryType"in m?m.remoteEntryType:"global",entryGlobalName:"globalName"in m?m.globalName:_.name,shareScope:"",version:"version"in m?m.version:void 0},url:E});let I="modules"in m?m.modules:[];const k=jt.normalizePreloadExposes(p.exposes);k.length&&"modules"in m&&(I=(N=m==null?void 0:m.modules)==null?void 0:N.reduce((R,v)=>((k==null?void 0:k.indexOf(v.moduleName))!==-1&&R.push(v),R),[]));function y(R){const v=R.map(B=>(0,je.getResourceUrl)(m,B));return p.filter?v.filter(p.filter):v}if(I){const R=I.length;for(let v=0;v0){const m=(_,g)=>{const{shared:p}=Oi.getRegisteredShare(e.shareScopeMap,g.sharedName,_,e.sharedHandler.hooks.lifecycle.resolveShare)||{};p&&typeof p.lib=="function"&&(g.assets.js.sync.forEach(E=>{c.add(E)}),g.assets.css.sync.forEach(E=>{l.add(E)}))};o.shared.forEach(_=>{var E;const g=(E=u.shared)==null?void 0:E[_.sharedName];if(!g)return;const p=_.version?g.find(I=>I.version===_.version):g;p&&Ne.arrayOptions(p).forEach(I=>{m(I,_)})})}const h=i.filter(m=>!c.has(m)&&!tt("script",m));return{cssAssets:s.filter(m=>!l.has(m)&&!tt("link",m)),jsAssetsWithoutEntry:h,entryAssets:a.filter(m=>!tt("script",m.url))}}const Li=function(){return{name:"generate-preload-assets-plugin",async generatePreloadAssets(e){const{origin:t,preloadOptions:r,remoteInfo:n,remote:o,globalSnapshot:s,remoteSnapshot:i}=e;return je.isBrowserEnvValue?Ne.isRemoteInfoWithEntry(o)&&Ne.isPureRemoteEntry(o)?{cssAssets:[],jsAssetsWithoutEntry:[],entryAssets:[{name:o.name,url:o.entry,moduleInfo:{name:n.name,entry:o.entry,type:n.type||"global",entryGlobalName:"",shareScope:""}}]}:(ki.assignRemoteInfo(n,i),Fi(t,r,n,s,i)):{cssAssets:[],jsAssetsWithoutEntry:[],entryAssets:[]}}}};Qr.generatePreloadAssetsPlugin=Li;var Ke={};const rt=M,Di=$,U=b,Vt=Pe,Hi=ve,nt=Ae,Ci=Oe;let ot=D,Fe=Y;function tn(e,t){const r=U.getGlobalSnapshotInfoByModuleInfo({name:t.name,version:t.options.version}),n=r&&"remotesInfo"in r&&r.remotesInfo&&U.getInfoWithoutType(r.remotesInfo,e.name).value;return n&&n.matchedVersion?{hostGlobalSnapshot:r,globalSnapshot:U.getGlobalSnapshot(),remoteSnapshot:U.getGlobalSnapshotInfoByModuleInfo({name:e.name,version:n.matchedVersion})}:{hostGlobalSnapshot:void 0,globalSnapshot:U.getGlobalSnapshot(),remoteSnapshot:U.getGlobalSnapshotInfoByModuleInfo({name:e.name,version:"version"in e?e.version:void 0})}}var qi=class{constructor(e){this.loadingHostSnapshot=null,this.manifestCache=new Map,this.hooks=new Ci.PluginSystem({beforeLoadRemoteSnapshot:new Hi.AsyncHook("beforeLoadRemoteSnapshot"),loadSnapshot:new nt.AsyncWaterfallHook("loadGlobalSnapshot"),loadRemoteSnapshot:new nt.AsyncWaterfallHook("loadRemoteSnapshot"),afterLoadSnapshot:new nt.AsyncWaterfallHook("afterLoadSnapshot")}),this.manifestLoading=U.Global.__FEDERATION__.__MANIFEST_LOADING__,this.HostInstance=e,this.loaderHook=e.loaderHook}async loadRemoteSnapshotInfo({moduleInfo:e,id:t,expose:r}){const{options:n}=this.HostInstance;await this.hooks.lifecycle.beforeLoadRemoteSnapshot.emit({options:n,moduleInfo:e});let o=U.getGlobalSnapshotInfoByModuleInfo({name:this.HostInstance.options.name,version:this.HostInstance.options.version});o||(o={version:this.HostInstance.options.version||"",remoteEntry:"",remotesInfo:{}},U.addGlobalSnapshot({[this.HostInstance.options.name]:o})),o&&"remotesInfo"in o&&!U.getInfoWithoutType(o.remotesInfo,e.name).value&&("version"in e||"entry"in e)&&(o.remotesInfo={...o==null?void 0:o.remotesInfo,[e.name]:{matchedVersion:"version"in e?e.version:e.entry}});const{hostGlobalSnapshot:s,remoteSnapshot:i,globalSnapshot:a}=this.getGlobalRemoteInfo(e),{remoteSnapshot:c,globalSnapshot:l}=await this.hooks.lifecycle.loadSnapshot.emit({options:n,moduleInfo:e,hostGlobalSnapshot:s,remoteSnapshot:i,globalSnapshot:a});let u,d;if(c)if((0,ot.isManifestProvider)(c)){const f=ot.isBrowserEnvValue?c.remoteEntry:c.ssrRemoteEntry||c.remoteEntry||"",h=await this.getManifestJson(f,e,{}),m=U.setGlobalSnapshotInfoByModuleInfo({...e,entry:f},h);u=h,d=m}else{const{remoteSnapshot:f}=await this.hooks.lifecycle.loadRemoteSnapshot.emit({options:this.HostInstance.options,moduleInfo:e,remoteSnapshot:c,from:"global"});u=f,d=l}else if(Di.isRemoteInfoWithEntry(e)){const f=await this.getManifestJson(e.entry,e,{}),h=U.setGlobalSnapshotInfoByModuleInfo(e,f),{remoteSnapshot:m}=await this.hooks.lifecycle.loadRemoteSnapshot.emit({options:this.HostInstance.options,moduleInfo:e,remoteSnapshot:f,from:"global"});u=m,d=h}else rt.error(Fe.RUNTIME_007,Fe.runtimeDescMap,{remoteName:e.name,remoteVersion:e.version,hostName:this.HostInstance.options.name,globalSnapshot:JSON.stringify(l)},void 0,Vt.optionsToMFContext(this.HostInstance.options));return await this.hooks.lifecycle.afterLoadSnapshot.emit({id:t,host:this.HostInstance,options:n,moduleInfo:e,remoteSnapshot:u}),{remoteSnapshot:u,globalSnapshot:d}}getGlobalRemoteInfo(e){return tn(e,this.HostInstance)}async getManifestJson(e,t,r){const n=async()=>{let s=this.manifestCache.get(e);if(s)return s;try{let i=await this.loaderHook.lifecycle.fetch.emit(e,{});(!i||!(i instanceof Response))&&(i=await fetch(e,{})),s=await i.json()}catch(i){s=await this.HostInstance.remoteHandler.hooks.lifecycle.errorLoadRemote.emit({id:e,error:i,from:"runtime",lifecycle:"afterResolve",origin:this.HostInstance}),s||(delete this.manifestLoading[e],rt.error(Fe.RUNTIME_003,Fe.runtimeDescMap,{manifestUrl:e,moduleName:t.name,hostName:this.HostInstance.options.name},`${i}`,Vt.optionsToMFContext(this.HostInstance.options)))}return rt.assert(s.metaData&&s.exposes&&s.shared,`"${e}" is not a valid federation manifest for remote "${t.name}". Missing required fields: ${[!s.metaData&&"metaData",!s.exposes&&"exposes",!s.shared&&"shared"].filter(Boolean).join(", ")}.`),this.manifestCache.set(e,s),s},o=async()=>{const s=await n(),i=(0,ot.generateSnapshotFromManifest)(s,{version:e}),{remoteSnapshot:a}=await this.hooks.lifecycle.loadRemoteSnapshot.emit({options:this.HostInstance.options,moduleInfo:t,manifestJson:s,remoteSnapshot:i,manifestUrl:e,from:"manifest"});return a};return this.manifestLoading[e]||(this.manifestLoading[e]=o().then(s=>s)),this.manifestLoading[e]}};Ke.SnapshotHandler=qi;Ke.getGlobalRemoteInfo=tn;var rn={};const st=M,Gi=oe,A=q,Xt=Pe,Ui=ve,it=_e,xt=Ae,Wi=Oe;let pe=Y;var Bi=class{constructor(e){this.hooks=new Wi.PluginSystem({beforeRegisterShare:new it.SyncWaterfallHook("beforeRegisterShare"),afterResolve:new xt.AsyncWaterfallHook("afterResolve"),beforeLoadShare:new xt.AsyncWaterfallHook("beforeLoadShare"),loadShare:new Ui.AsyncHook,resolveShare:new it.SyncWaterfallHook("resolveShare"),initContainerShareScopeMap:new it.SyncWaterfallHook("initContainerShareScopeMap")}),this.host=e,this.shareScopeMap={},this.initTokens={},this._setGlobalShareScopeMap(e.options)}registerShared(e,t){const{newShareInfos:r,allShareInfos:n}=A.formatShareConfigs(e,t);return Object.keys(r).forEach(o=>{r[o].forEach(s=>{s.scope.forEach(i=>{var a;this.hooks.lifecycle.beforeRegisterShare.emit({origin:this.host,pkgName:o,shared:s}),(a=this.shareScopeMap[i])!=null&&a[o]||this.setShared({pkgName:o,lib:s.lib,get:s.get,loaded:s.loaded||!!s.lib,shared:s,from:t.name})})})}),{newShareInfos:r,allShareInfos:n}}async loadShare(e,t){const{host:r}=this,n=A.getTargetSharedOptions({pkgName:e,extraOptions:t,shareInfos:r.options.shared});n!=null&&n.scope&&await Promise.all(n.scope.map(async a=>{await Promise.all(this.initializeSharing(a,{strategy:n.strategy}))}));const{shareInfo:o}=await this.hooks.lifecycle.beforeLoadShare.emit({pkgName:e,shareInfo:n,shared:r.options.shared,origin:r});st.assert(o,`Cannot find shared "${e}" in host "${r.options.name}". Ensure the shared config for "${e}" is declared in the federation plugin options and the host has been initialized before loading shares.`);const{shared:s,useTreesShaking:i}=A.getRegisteredShare(this.shareScopeMap,e,o,this.hooks.lifecycle.resolveShare)||{};if(s){const a=A.directShare(s,i);if(a.lib)return A.addUseIn(a,r.options.name),a.lib;if(a.loading&&!a.loaded){const c=await a.loading;return a.loaded=!0,a.lib||(a.lib=c),A.addUseIn(a,r.options.name),c}else{const l=(async()=>{const u=await a.get();return A.addUseIn(a,r.options.name),a.loaded=!0,a.lib=u,u})();return this.setShared({pkgName:e,loaded:!1,shared:s,from:r.options.name,lib:null,loading:l,treeShaking:i?a:void 0}),l}}else{if(t!=null&&t.customShareInfo)return!1;const a=A.shouldUseTreeShaking(o.treeShaking),c=A.directShare(o,a),u=(async()=>{const d=await c.get();c.lib=d,c.loaded=!0,A.addUseIn(c,r.options.name);const{shared:f,useTreesShaking:h}=A.getRegisteredShare(this.shareScopeMap,e,o,this.hooks.lifecycle.resolveShare)||{};if(f){const m=A.directShare(f,h);m.lib=d,m.loaded=!0,f.from=o.from}return d})();return this.setShared({pkgName:e,loaded:!1,shared:o,from:r.options.name,lib:null,loading:u,treeShaking:a?c:void 0}),u}}initializeSharing(e=Gi.DEFAULT_SCOPE,t){const{host:r}=this,n=t==null?void 0:t.from,o=t==null?void 0:t.strategy;let s=t==null?void 0:t.initScope;const i=[];if(n!=="build"){const{initTokens:f}=this;s||(s=[]);let h=f[e];if(h||(h=f[e]={from:this.host.name}),s.indexOf(h)>=0)return i;s.push(h)}const a=this.shareScopeMap,c=r.options.name;a[e]||(a[e]={});const l=a[e],u=(f,h)=>{var I;const{version:m,eager:_}=h;l[f]=l[f]||{};const g=l[f],p=g[m]&&A.directShare(g[m]),E=!!(p&&("eager"in p&&p.eager||"shareConfig"in p&&((I=p.shareConfig)!=null&&I.eager)));(!p||p.strategy!=="loaded-first"&&!p.loaded&&(!_!=!E?_:c>g[m].from))&&(g[m]=h)},d=async f=>{const{module:h}=await r.remoteHandler.getRemoteModuleAndOptions({id:f});let m;try{m=await h.getEntry()}catch(_){if(m=await r.remoteHandler.hooks.lifecycle.errorLoadRemote.emit({id:f,error:_,from:"runtime",lifecycle:"beforeLoadShare",origin:r}),!m)return}finally{m!=null&&m.init&&!h.initing&&(h.remoteEntryExports=m,await h.init(void 0,void 0,s))}};return Object.keys(r.options.shared).forEach(f=>{r.options.shared[f].forEach(h=>{h.scope.includes(e)&&u(f,h)})}),(r.options.shareStrategy==="version-first"||o==="version-first")&&r.options.remotes.forEach(f=>{f.shareScope===e&&i.push(d(f.name))}),i}loadShareSync(e,t){const{host:r}=this,n=A.getTargetSharedOptions({pkgName:e,extraOptions:t,shareInfos:r.options.shared});n!=null&&n.scope&&n.scope.forEach(i=>{this.initializeSharing(i,{strategy:n.strategy})});const{shared:o,useTreesShaking:s}=A.getRegisteredShare(this.shareScopeMap,e,n,this.hooks.lifecycle.resolveShare)||{};if(o){if(typeof o.lib=="function")return A.addUseIn(o,r.options.name),o.loaded||(o.loaded=!0,o.from===r.options.name&&(n.loaded=!0)),o.lib;if(typeof o.get=="function"){const i=o.get();if(!(i instanceof Promise))return A.addUseIn(o,r.options.name),this.setShared({pkgName:e,loaded:!0,from:r.options.name,lib:i,shared:o}),i}}if(n.lib)return n.loaded||(n.loaded=!0),n.lib;if(n.get){const i=n.get();return i instanceof Promise&&st.error((t==null?void 0:t.from)==="build"?pe.RUNTIME_005:pe.RUNTIME_006,pe.runtimeDescMap,{hostName:r.options.name,sharedPkgName:e},void 0,Xt.optionsToMFContext(r.options)),n.lib=i,this.setShared({pkgName:e,loaded:!0,from:r.options.name,lib:n.lib,shared:n}),n.lib}st.error(pe.RUNTIME_006,pe.runtimeDescMap,{hostName:r.options.name,sharedPkgName:e},void 0,Xt.optionsToMFContext(r.options))}initShareScopeMap(e,t,r={}){const{host:n}=this;this.shareScopeMap[e]=t,this.hooks.lifecycle.initContainerShareScopeMap.emit({shareScope:t,options:n.options,origin:n,scopeName:e,hostShareScopeMap:r.hostShareScopeMap})}setShared({pkgName:e,shared:t,from:r,lib:n,loading:o,loaded:s,get:i,treeShaking:a}){const{version:c,scope:l="default",...u}=t,d=Array.isArray(l)?l:[l],f=h=>{const m=(g,p,E)=>{E&&!g[p]&&(g[p]=E)},_=a?h.treeShaking:h;m(_,"loaded",s),m(_,"loading",o),m(_,"get",i)};d.forEach(h=>{this.shareScopeMap[h]||(this.shareScopeMap[h]={}),this.shareScopeMap[h][e]||(this.shareScopeMap[h][e]={}),this.shareScopeMap[h][e][c]||(this.shareScopeMap[h][e][c]={version:c,scope:[h],...u,lib:n});const m=this.shareScopeMap[h][e][c];f(m),r&&m.from!==r&&(m.from=r)})}_setGlobalShareScopeMap(e){const t=A.getGlobalShareScope(),r=e.id||e.name;r&&!t[r]&&(t[r]=this.shareScopeMap)}};rn.SharedHandler=Bi;var nn={};const Le=M,G=b,Kt=oe,ji=q,Vi=he,at=K,Xi=Pe,Yt=Z,xi=Xe,Ki=me,ie=ve,zt=_e,Yi=Ae,zi=Oe,Ji=Ke;let lt=D,Jt=Y;var Zi=class{constructor(e){this.hooks=new zi.PluginSystem({beforeRegisterRemote:new zt.SyncWaterfallHook("beforeRegisterRemote"),registerRemote:new zt.SyncWaterfallHook("registerRemote"),beforeRequest:new Yi.AsyncWaterfallHook("beforeRequest"),onLoad:new ie.AsyncHook("onLoad"),handlePreloadModule:new Ki.SyncHook("handlePreloadModule"),errorLoadRemote:new ie.AsyncHook("errorLoadRemote"),beforePreloadRemote:new ie.AsyncHook("beforePreloadRemote"),generatePreloadAssets:new ie.AsyncHook("generatePreloadAssets"),afterPreloadRemote:new ie.AsyncHook,loadEntry:new ie.AsyncHook}),this.host=e,this.idToRemoteMap={}}formatAndRegisterRemote(e,t){return(t.remotes||[]).reduce((r,n)=>(this.registerRemote(n,r,{force:!1}),r),e.remotes)}setIdToRemoteMap(e,t){const{remote:r,expose:n}=t,{name:o,alias:s}=r;if(this.idToRemoteMap[e]={name:r.name,expose:n},s&&e.startsWith(o)){const i=e.replace(o,s);this.idToRemoteMap[i]={name:r.name,expose:n};return}if(s&&e.startsWith(s)){const i=e.replace(s,o);this.idToRemoteMap[i]={name:r.name,expose:n}}}async loadRemote(e,t){const{host:r}=this;try{const{loadFactory:n=!0}=t||{loadFactory:!0},{module:o,moduleOptions:s,remoteMatchInfo:i}=await this.getRemoteModuleAndOptions({id:e}),{pkgNameOrAlias:a,remote:c,expose:l,id:u,remoteSnapshot:d}=i,f=await o.get(u,l,t,d),h=await this.hooks.lifecycle.onLoad.emit({id:u,pkgNameOrAlias:a,expose:l,exposeModule:n?f:void 0,exposeModuleFactory:n?void 0:f,remote:c,options:s,moduleInstance:o,origin:r});return this.setIdToRemoteMap(e,i),typeof h=="function"?h:f}catch(n){const{from:o="runtime"}=t||{from:"runtime"},s=await this.hooks.lifecycle.errorLoadRemote.emit({id:e,error:n,from:o,lifecycle:"onLoad",origin:r});if(!s)throw n;return s}}async preloadRemote(e){const{host:t}=this;await this.hooks.lifecycle.beforePreloadRemote.emit({preloadOps:e,options:t.options,origin:t});const r=Yt.formatPreloadArgs(t.options.remotes,e);await Promise.all(r.map(async n=>{const{remote:o}=n,s=at.getRemoteInfo(o),{globalSnapshot:i,remoteSnapshot:a}=await t.snapshotHandler.loadRemoteSnapshotInfo({moduleInfo:o}),c=await this.hooks.lifecycle.generatePreloadAssets.emit({origin:t,preloadOptions:n,remote:o,remoteInfo:s,globalSnapshot:i,remoteSnapshot:a});c&&Yt.preloadAssets(s,t,c)}))}registerRemotes(e,t){const{host:r}=this;e.forEach(n=>{this.registerRemote(n,r.options.remotes,{force:t==null?void 0:t.force})})}async getRemoteModuleAndOptions(e){const{host:t}=this,{id:r}=e;let n;try{n=await this.hooks.lifecycle.beforeRequest.emit({id:r,options:t.options,origin:t})}catch(h){if(n=await this.hooks.lifecycle.errorLoadRemote.emit({id:r,options:t.options,origin:t,from:"runtime",error:h,lifecycle:"beforeRequest"}),!n)throw h}const{id:o}=n,s=Vi.matchRemoteWithNameAndExpose(t.options.remotes,o);s||Le.error(Jt.RUNTIME_004,Jt.runtimeDescMap,{hostName:t.options.name,requestId:o},void 0,Xi.optionsToMFContext(t.options));const{remote:i}=s,a=at.getRemoteInfo(i),c=await t.sharedHandler.hooks.lifecycle.afterResolve.emit({id:o,...s,options:t.options,origin:t,remoteInfo:a}),{remote:l,expose:u}=c;Le.assert(l&&u,`The 'beforeRequest' hook was executed, but it failed to return the correct 'remote' and 'expose' values while loading ${o}.`);let d=t.moduleCache.get(l.name);const f={host:t,remoteInfo:a};return d||(d=new xi.Module(f),t.moduleCache.set(l.name,d)),{module:d,moduleOptions:f,remoteMatchInfo:c}}registerRemote(e,t,r){const{host:n}=this,o=()=>{if(e.alias){const i=t.find(a=>{var c;return e.alias&&(a.name.startsWith(e.alias)||((c=a.alias)==null?void 0:c.startsWith(e.alias)))});Le.assert(!i,`The alias ${e.alias} of remote ${e.name} is not allowed to be the prefix of ${i&&i.name} name or alias`)}"entry"in e&<.isBrowserEnvValue&&typeof window<"u"&&!e.entry.startsWith("http")&&(e.entry=new URL(e.entry,window.location.origin).href),e.shareScope||(e.shareScope=Kt.DEFAULT_SCOPE),e.type||(e.type=Kt.DEFAULT_REMOTE_TYPE)};this.hooks.lifecycle.beforeRegisterRemote.emit({remote:e,origin:n});const s=t.find(i=>i.name===e.name);if(!s)o(),t.push(e),this.hooks.lifecycle.registerRemote.emit({remote:e,origin:n});else{const i=[`The remote "${e.name}" is already registered.`,"Please note that overriding it may cause unexpected errors."];r!=null&&r.force&&(this.removeRemote(s),o(),t.push(e),this.hooks.lifecycle.registerRemote.emit({remote:e,origin:n}),(0,lt.warn)(i.join(" ")))}}removeRemote(e){var t;try{const{host:r}=this,{name:n}=e,o=r.options.remotes.findIndex(i=>i.name===n);o!==-1&&r.options.remotes.splice(o,1);const s=r.moduleCache.get(e.name);if(s){const i=s.remoteInfo,a=i.entryGlobalName;G.CurrentGlobal[a]&&((t=Object.getOwnPropertyDescriptor(G.CurrentGlobal,a))!=null&&t.configurable?delete G.CurrentGlobal[a]:G.CurrentGlobal[a]=void 0);const c=at.getRemoteEntryUniqueKey(s.remoteInfo);G.globalLoading[c]&&delete G.globalLoading[c],r.snapshotHandler.manifestCache.delete(i.entry);let l=i.buildVersion?(0,lt.composeKeyWithSeparator)(i.name,i.buildVersion):i.name;const u=G.CurrentGlobal.__FEDERATION__.__INSTANCES__.findIndex(f=>i.buildVersion?f.options.id===l:f.name===l);if(u!==-1){const f=G.CurrentGlobal.__FEDERATION__.__INSTANCES__[u];l=f.options.id||l;const h=ji.getGlobalShareScope();let m=!0;const _=[];Object.keys(h).forEach(g=>{const p=h[g];p&&Object.keys(p).forEach(E=>{const I=p[E];I&&Object.keys(I).forEach(k=>{const y=I[k];y&&Object.keys(y).forEach(N=>{const R=y[N];R&&typeof R=="object"&&R.from===i.name&&(R.loaded||R.loading?(R.useIn=R.useIn.filter(v=>v!==i.name),R.useIn.length?m=!1:_.push([g,E,k,N])):_.push([g,E,k,N]))})})})}),m&&(f.shareScopeMap={},delete h[l]),_.forEach(([g,p,E,I])=>{var k,y,N;(N=(y=(k=h[g])==null?void 0:k[p])==null?void 0:y[E])==null||delete N[I]}),G.CurrentGlobal.__FEDERATION__.__INSTANCES__.splice(u,1)}const{hostGlobalSnapshot:d}=Ji.getGlobalRemoteInfo(e,r);if(d){const f=d&&"remotesInfo"in d&&d.remotesInfo&&G.getInfoWithoutType(d.remotesInfo,e.name).key;f&&(delete d.remotesInfo[f],G.Global.__FEDERATION__.__MANIFEST_LOADING__[f]&&delete G.Global.__FEDERATION__.__MANIFEST_LOADING__[f])}r.moduleCache.delete(e.name)}}catch(r){Le.logger.error(`removeRemote failed: ${r instanceof Error?r.message:String(r)}`)}}};nn.RemoteHandler=Zi;const Qi=M,ea=oe,ta=q,ra=Vr,na=Xr,oa=K,sa=Xe,z=me,ct=ve,ia=_e,Zt=Ae,ut=Oe,aa=xe,la=Qr,ca=Ke,ua=rn,fa=nn;let da=D,ft=Y;const ha=typeof FEDERATION_OPTIMIZE_NO_SNAPSHOT_PLUGIN=="boolean"?!FEDERATION_OPTIMIZE_NO_SNAPSHOT_PLUGIN:!0;var ma=class{constructor(e){this.hooks=new ut.PluginSystem({beforeInit:new ia.SyncWaterfallHook("beforeInit"),init:new z.SyncHook,beforeInitContainer:new Zt.AsyncWaterfallHook("beforeInitContainer"),initContainer:new Zt.AsyncWaterfallHook("initContainer")}),this.version="2.2.2",this.moduleCache=new Map,this.loaderHook=new ut.PluginSystem({getModuleInfo:new z.SyncHook,createScript:new z.SyncHook,createLink:new z.SyncHook,fetch:new ct.AsyncHook,loadEntryError:new ct.AsyncHook,getModuleFactory:new ct.AsyncHook}),this.bridgeHook=new ut.PluginSystem({beforeBridgeRender:new z.SyncHook,afterBridgeRender:new z.SyncHook,beforeBridgeDestroy:new z.SyncHook,afterBridgeDestroy:new z.SyncHook});const t=ha?[aa.snapshotPlugin(),la.generatePreloadAssetsPlugin()]:[],r={id:ra.getBuilderId(),name:e.name,plugins:t,remotes:[],shared:{},inBrowser:da.isBrowserEnvValue};this.name=e.name,this.options=r,this.snapshotHandler=new ca.SnapshotHandler(this),this.sharedHandler=new ua.SharedHandler(this),this.remoteHandler=new fa.RemoteHandler(this),this.shareScopeMap=this.sharedHandler.shareScopeMap,this.registerPlugins([...r.plugins,...e.plugins||[]]),this.options=this.formatOptions(r,e)}initOptions(e){e.name&&e.name!==this.options.name&&Qi.error((0,ft.getShortErrorMsg)(ft.RUNTIME_010,ft.runtimeDescMap)),this.registerPlugins(e.plugins);const t=this.formatOptions(this.options,e);return this.options=t,t}async loadShare(e,t){return this.sharedHandler.loadShare(e,t)}loadShareSync(e,t){return this.sharedHandler.loadShareSync(e,t)}initializeSharing(e=ea.DEFAULT_SCOPE,t){return this.sharedHandler.initializeSharing(e,t)}initRawContainer(e,t,r){const n=oa.getRemoteInfo({name:e,entry:t}),o=new sa.Module({host:this,remoteInfo:n});return o.remoteEntryExports=r,this.moduleCache.set(e,o),o}async loadRemote(e,t){return this.remoteHandler.loadRemote(e,t)}async preloadRemote(e){return this.remoteHandler.preloadRemote(e)}initShareScopeMap(e,t,r={}){this.sharedHandler.initShareScopeMap(e,t,r)}formatOptions(e,t){const{allShareInfos:r}=ta.formatShareConfigs(e,t),{userOptions:n,options:o}=this.hooks.lifecycle.beforeInit.emit({origin:this,userOptions:t,options:e,shareInfo:r}),s=this.remoteHandler.formatAndRegisterRemote(o,n),{allShareInfos:i}=this.sharedHandler.registerShared(o,n),a=[...o.plugins];n.plugins&&n.plugins.forEach(l=>{a.includes(l)||a.push(l)});const c={...e,...t,plugins:a,remotes:s,shared:i};return this.hooks.lifecycle.init.emit({origin:this,options:c}),c}registerPlugins(e){const t=na.registerPlugins(e,this);this.options.plugins=this.options.plugins.reduce((r,n)=>(n&&r&&!r.find(o=>o.name===n.name)&&r.push(n),r),t||[])}registerRemotes(e,t){return this.remoteHandler.registerRemotes(e,t)}registerShared(e){this.sharedHandler.registerShared(this.options,{...this.options,shared:e})}};Yr.ModuleFederation=ma;var on={},sn={},Qt=Object.defineProperty,_a=(e,t)=>{let r={};for(var n in e)Qt(r,n,{get:e[n],enumerable:!0});return t||Qt(r,Symbol.toStringTag,{value:"Module"}),r};sn.__exportAll=_a;(function(e){var r=sn.__exportAll({});Object.defineProperty(e,"type_exports",{enumerable:!0,get:function(){return r}})})(on);(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=M,r=$,n=b,o=Pt,s=q,i=he,a=K,c=xr,l=Xe,u=Yr,d=on;let f=D;const h=c.default;e.CurrentGlobal=n.CurrentGlobal,e.Global=n.Global,e.Module=l.Module,e.ModuleFederation=u.ModuleFederation,e.addGlobalSnapshot=n.addGlobalSnapshot,e.assert=t.assert,e.error=t.error,e.getGlobalFederationConstructor=n.getGlobalFederationConstructor,e.getGlobalSnapshot=n.getGlobalSnapshot,e.getInfoWithoutType=n.getInfoWithoutType,e.getRegisteredShare=s.getRegisteredShare,e.getRemoteEntry=a.getRemoteEntry,e.getRemoteInfo=a.getRemoteInfo,e.helpers=h,e.isStaticResourcesEqual=r.isStaticResourcesEqual,Object.defineProperty(e,"loadScript",{enumerable:!0,get:function(){return f.loadScript}}),Object.defineProperty(e,"loadScriptNode",{enumerable:!0,get:function(){return f.loadScriptNode}}),e.matchRemoteWithNameAndExpose=i.matchRemoteWithNameAndExpose,e.registerGlobalPlugins=n.registerGlobalPlugins,e.resetFederationGlobalInfo=n.resetFederationGlobalInfo,e.safeWrapper=r.safeWrapper,e.satisfy=o.satisfy,e.setGlobalFederationConstructor=n.setGlobalFederationConstructor,e.setGlobalFederationInstance=n.setGlobalFederationInstance,Object.defineProperty(e,"types",{enumerable:!0,get:function(){return d.type_exports}})})(Tt);let ga=Tt;function pa(){return typeof FEDERATION_BUILD_IDENTIFIER<"u"?FEDERATION_BUILD_IDENTIFIER:""}function ya(e,t){const r=pa();return ga.CurrentGlobal.__FEDERATION__.__INSTANCES__.find(n=>!!(r&&n.options.id===r||n.options.name===e&&!n.options.version&&!t||n.options.name===e&&t&&n.options.version===t))}ar.getGlobalFederationInstance=ya;(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=ar;let r=Tt,n=Y;function o(_){const g=new((0,r.getGlobalFederationConstructor)()||r.ModuleFederation)(_);return(0,r.setGlobalFederationInstance)(g),g}let s=null;function i(_){const g=t.getGlobalFederationInstance(_.name,_.version);return g?(g.initOptions(_),s||(s=g),g):(s=o(_),s)}function a(..._){return(0,r.assert)(s,n.RUNTIME_009,n.runtimeDescMap),s.loadRemote.apply(s,_)}function c(..._){return(0,r.assert)(s,n.RUNTIME_009,n.runtimeDescMap),s.loadShare.apply(s,_)}function l(..._){return(0,r.assert)(s,n.RUNTIME_009,n.runtimeDescMap),s.loadShareSync.apply(s,_)}function u(..._){return(0,r.assert)(s,n.RUNTIME_009,n.runtimeDescMap),s.preloadRemote.apply(s,_)}function d(..._){return(0,r.assert)(s,n.RUNTIME_009,n.runtimeDescMap),s.registerRemotes.apply(s,_)}function f(..._){return(0,r.assert)(s,n.RUNTIME_009,n.runtimeDescMap),s.registerPlugins.apply(s,_)}function h(){return s}function m(..._){return(0,r.assert)(s,n.RUNTIME_009,n.runtimeDescMap),s.registerShared.apply(s,_)}(0,r.setGlobalFederationConstructor)(r.ModuleFederation),Object.defineProperty(e,"Module",{enumerable:!0,get:function(){return r.Module}}),e.ModuleFederation=r.ModuleFederation,e.createInstance=o,e.getInstance=h,Object.defineProperty(e,"getRemoteEntry",{enumerable:!0,get:function(){return r.getRemoteEntry}}),Object.defineProperty(e,"getRemoteInfo",{enumerable:!0,get:function(){return r.getRemoteInfo}}),e.init=i,e.loadRemote=a,Object.defineProperty(e,"loadScript",{enumerable:!0,get:function(){return r.loadScript}}),Object.defineProperty(e,"loadScriptNode",{enumerable:!0,get:function(){return r.loadScriptNode}}),e.loadShare=c,e.loadShareSync=l,e.preloadRemote=u,Object.defineProperty(e,"registerGlobalPlugins",{enumerable:!0,get:function(){return r.registerGlobalPlugins}}),e.registerPlugins=f,e.registerRemotes=d,e.registerShared=m})(ir);const an="__mf_init____mf__virtual/ConfigCustomJavascriptSet__mf_v__runtimeInit__mf_v__.js__";let Rt=globalThis[an];if(!Rt){let e,t;const r=new Promise((n,o)=>{e=n,t=o});Rt=globalThis[an]={initPromise:r,initResolve:e,initReject:t},typeof window>"u"&&e({loadRemote:function(){return Promise.resolve(void 0)},loadShare:function(){return Promise.resolve(void 0)}})}const Ea=Rt.initResolve,er={},tr="default",rr="ConfigCustomJavascriptSet";let nr,or;async function Sa(){return nr??=sr(()=>import("./localSharedImportMap-D56mFGIk.js"),__vite__mapDeps([0,1]),import.meta.url),nr}async function ba(){return or??=sr(()=>import("./virtualExposes-DyedJotb.js"),__vite__mapDeps([2,1]),import.meta.url).then(e=>e.default??e),or}async function Ta(e={},t=[]){const{usedShared:r,usedRemotes:n}=await Sa(),o=ir.init({name:rr,remotes:n,shared:r,plugins:[],shareStrategy:"version-first"});var s=er[tr];if(s||(s=er[tr]={from:rr}),!(t.indexOf(s)>=0)){t.push(s),o.initShareScopeMap("default",e),Ea(o);try{await Promise.all(await o.initializeSharing("default",{strategy:"version-first",from:"build",initScope:t}))}catch(i){console.error(i)}return o}}async function Ia(e){const t=await ba();if(!(e in t))throw new Error(`Module ${e} does not exist in container.`);return t[e]().then(r=>()=>r)}export{ir as d,Ia as g,Ta as i}; + ${(0,mi.safeToString)(this.remoteInfo)}`),this.remoteEntryExports=e,this.remoteEntryExports}async init(e,t,r){const n=await this.getEntry();if(this.inited)return n;if(this.initPromise)return await this.initPromise,n;this.initing=!0,this.initPromise=(async()=>{const{remoteEntryInitOptions:o,shareScope:s,initScope:i}=_i(this.remoteInfo,this.host.shareScopeMap,r),a=await this.host.hooks.lifecycle.beforeInitContainer.emit({shareScope:s,remoteEntryInitOptions:o,initScope:i,remoteInfo:this.remoteInfo,origin:this.host});typeof(n==null?void 0:n.init)>"u"&&Ze.error(Ut.RUNTIME_002,Ut.runtimeDescMap,{hostName:this.host.name,remoteName:this.remoteInfo.name,remoteEntryUrl:this.remoteInfo.entry,remoteEntryKey:this.remoteInfo.entryGlobalName},void 0,hi.optionsToMFContext(this.host.options)),await n.init(a.shareScope,a.initScope,a.remoteEntryInitOptions),await this.host.hooks.lifecycle.initContainer.emit({...a,id:e,remoteSnapshot:t,remoteEntryExports:n}),this.inited=!0})();try{await this.initPromise}finally{this.initing=!1,this.initPromise=void 0}return n}async get(e,t,r,n){const{loadFactory:o=!0}=r||{loadFactory:!0},s=await this.init(e,n);this.lib=s;let i;i=await this.host.loaderHook.lifecycle.getModuleFactory.emit({remoteEntryExports:s,expose:t,moduleInfo:this.remoteInfo}),i||(i=await s.get(t)),Ze.assert(i,`${Gt.getFMId(this.remoteInfo)} remote don't export ${t}.`);const a=Gt.processModuleAlias(this.remoteInfo.name,t),c=this.wraperFactory(i,a);return o?await c():c}wraperFactory(e,t){function r(n,o){n&&typeof n=="object"&&Object.isExtensible(n)&&!Object.getOwnPropertyDescriptor(n,Symbol.for("mf_module_id"))&&Object.defineProperty(n,Symbol.for("mf_module_id"),{value:o,enumerable:!1})}return e instanceof Promise?async()=>{const n=await e();return r(n,t),n}:()=>{const n=e();return r(n,t),n}}};Xe.Module=gi;var Yr={},me={},pi=class{constructor(e){this.type="",this.listeners=new Set,e&&(this.type=e)}on(e){typeof e=="function"&&this.listeners.add(e)}once(e){const t=this;this.on(function r(...n){return t.remove(r),e.apply(null,n)})}emit(...e){let t;return this.listeners.size>0&&this.listeners.forEach(r=>{t=r(...e)}),t}remove(e){this.listeners.delete(e)}removeAll(){this.listeners.clear()}};me.SyncHook=pi;var ve={};const yi=me;var Ei=class extends yi.SyncHook{emit(...e){let t;const r=Array.from(this.listeners);if(r.length>0){let n=0;const o=s=>s===!1?!1:n0){let r=0;const n=s=>(et.warn(s),this.onerror(s),e),o=s=>{if(Ii.checkReturnData(e,s)){if(e=s,r{const s=e[o];s&&this.lifecycle[o].on(s)}))}removePlugin(e){we.assert(e,"A name is required.");const t=this.registerPlugins[e];we.assert(t,`The plugin "${e}" is not registered.`),Object.keys(t).forEach(r=>{r!=="name"&&this.lifecycle[r].remove(t[r])})}};Oe.PluginSystem=Mi;var xe={};const Pi=M,St=$,vi=Z;let Wt=D,Bt=Y;function Zr(e,t){const r=St.getRemoteEntryInfoFromSnapshot(t);r.url||Pi.error(Bt.RUNTIME_011,Bt.runtimeDescMap,{remoteName:e.name});let n=(0,Wt.getResourceUrl)(t,r.url);!Wt.isBrowserEnvValue&&!n.startsWith("http")&&(n=`https:${n}`),e.type=r.type,e.entryGlobalName=r.globalName,e.entry=n,e.version=t.version,e.buildVersion=t.buildVersion}function Ai(){return{name:"snapshot-plugin",async afterResolve(e){const{remote:t,pkgNameOrAlias:r,expose:n,origin:o,remoteInfo:s,id:i}=e;if(!St.isRemoteInfoWithEntry(t)||!St.isPureRemoteEntry(t)){const{remoteSnapshot:a,globalSnapshot:c}=await o.snapshotHandler.loadRemoteSnapshotInfo({moduleInfo:t,id:i});Zr(s,a);const l={remote:t,preloadConfig:{nameOrAlias:r,exposes:[n],resourceCategory:"sync",share:!1,depsRemote:!1}},u=await o.remoteHandler.hooks.lifecycle.generatePreloadAssets.emit({origin:o,preloadOptions:l,remoteInfo:s,remote:t,remoteSnapshot:a,globalSnapshot:c});return u&&vi.preloadAssets(s,o,u,!1),{...e,remoteSnapshot:a}}return e}}}xe.assignRemoteInfo=Zr;xe.snapshotPlugin=Ai;var Qr={};const Ne=$,bt=b,Oi=q,jt=Z,ki=xe;let je=D;function wi(e){const t=e.split(":");return t.length===1?{name:t[0],version:void 0}:t.length===2?{name:t[0],version:t[1]}:{name:t[1],version:t[2]}}function en(e,t,r,n,o={},s){const{value:i}=bt.getInfoWithoutType(e,Ne.getFMId(t)),a=s||i;if(a&&!(0,je.isManifestProvider)(a)&&(r(a,t,n),a.remotesInfo)){const c=Object.keys(a.remotesInfo);for(const l of c){if(o[l])continue;o[l]=!0;const u=wi(l),d=a.remotesInfo[l];en(e,{name:u.name,version:d.matchedVersion},r,!1,o,void 0)}}}const tt=(e,t)=>document.querySelector(`${e}[${e==="link"?"href":"src"}="${t}"]`);function Fi(e,t,r,n,o){const s=[],i=[],a=[],c=new Set,l=new Set,{options:u}=e,{preloadConfig:d}=t,{depsRemote:f}=d;if(en(n,r,(m,_,g)=>{var N;let p;if(g)p=d;else if(Array.isArray(f)){const R=f.find(v=>v.nameOrAlias===_.name||v.nameOrAlias===_.alias);if(!R)return;p=jt.defaultPreloadArgs(R)}else if(f===!0)p=d;else return;const E=(0,je.getResourceUrl)(m,Ne.getRemoteEntryInfoFromSnapshot(m).url);E&&a.push({name:_.name,moduleInfo:{name:_.name,entry:E,type:"remoteEntryType"in m?m.remoteEntryType:"global",entryGlobalName:"globalName"in m?m.globalName:_.name,shareScope:"",version:"version"in m?m.version:void 0},url:E});let I="modules"in m?m.modules:[];const k=jt.normalizePreloadExposes(p.exposes);k.length&&"modules"in m&&(I=(N=m==null?void 0:m.modules)==null?void 0:N.reduce((R,v)=>((k==null?void 0:k.indexOf(v.moduleName))!==-1&&R.push(v),R),[]));function y(R){const v=R.map(B=>(0,je.getResourceUrl)(m,B));return p.filter?v.filter(p.filter):v}if(I){const R=I.length;for(let v=0;v0){const m=(_,g)=>{const{shared:p}=Oi.getRegisteredShare(e.shareScopeMap,g.sharedName,_,e.sharedHandler.hooks.lifecycle.resolveShare)||{};p&&typeof p.lib=="function"&&(g.assets.js.sync.forEach(E=>{c.add(E)}),g.assets.css.sync.forEach(E=>{l.add(E)}))};o.shared.forEach(_=>{var E;const g=(E=u.shared)==null?void 0:E[_.sharedName];if(!g)return;const p=_.version?g.find(I=>I.version===_.version):g;p&&Ne.arrayOptions(p).forEach(I=>{m(I,_)})})}const h=i.filter(m=>!c.has(m)&&!tt("script",m));return{cssAssets:s.filter(m=>!l.has(m)&&!tt("link",m)),jsAssetsWithoutEntry:h,entryAssets:a.filter(m=>!tt("script",m.url))}}const Li=function(){return{name:"generate-preload-assets-plugin",async generatePreloadAssets(e){const{origin:t,preloadOptions:r,remoteInfo:n,remote:o,globalSnapshot:s,remoteSnapshot:i}=e;return je.isBrowserEnvValue?Ne.isRemoteInfoWithEntry(o)&&Ne.isPureRemoteEntry(o)?{cssAssets:[],jsAssetsWithoutEntry:[],entryAssets:[{name:o.name,url:o.entry,moduleInfo:{name:n.name,entry:o.entry,type:n.type||"global",entryGlobalName:"",shareScope:""}}]}:(ki.assignRemoteInfo(n,i),Fi(t,r,n,s,i)):{cssAssets:[],jsAssetsWithoutEntry:[],entryAssets:[]}}}};Qr.generatePreloadAssetsPlugin=Li;var Ke={};const rt=M,Di=$,U=b,Vt=Pe,Hi=ve,nt=Ae,Ci=Oe;let ot=D,Fe=Y;function tn(e,t){const r=U.getGlobalSnapshotInfoByModuleInfo({name:t.name,version:t.options.version}),n=r&&"remotesInfo"in r&&r.remotesInfo&&U.getInfoWithoutType(r.remotesInfo,e.name).value;return n&&n.matchedVersion?{hostGlobalSnapshot:r,globalSnapshot:U.getGlobalSnapshot(),remoteSnapshot:U.getGlobalSnapshotInfoByModuleInfo({name:e.name,version:n.matchedVersion})}:{hostGlobalSnapshot:void 0,globalSnapshot:U.getGlobalSnapshot(),remoteSnapshot:U.getGlobalSnapshotInfoByModuleInfo({name:e.name,version:"version"in e?e.version:void 0})}}var qi=class{constructor(e){this.loadingHostSnapshot=null,this.manifestCache=new Map,this.hooks=new Ci.PluginSystem({beforeLoadRemoteSnapshot:new Hi.AsyncHook("beforeLoadRemoteSnapshot"),loadSnapshot:new nt.AsyncWaterfallHook("loadGlobalSnapshot"),loadRemoteSnapshot:new nt.AsyncWaterfallHook("loadRemoteSnapshot"),afterLoadSnapshot:new nt.AsyncWaterfallHook("afterLoadSnapshot")}),this.manifestLoading=U.Global.__FEDERATION__.__MANIFEST_LOADING__,this.HostInstance=e,this.loaderHook=e.loaderHook}async loadRemoteSnapshotInfo({moduleInfo:e,id:t,expose:r}){const{options:n}=this.HostInstance;await this.hooks.lifecycle.beforeLoadRemoteSnapshot.emit({options:n,moduleInfo:e});let o=U.getGlobalSnapshotInfoByModuleInfo({name:this.HostInstance.options.name,version:this.HostInstance.options.version});o||(o={version:this.HostInstance.options.version||"",remoteEntry:"",remotesInfo:{}},U.addGlobalSnapshot({[this.HostInstance.options.name]:o})),o&&"remotesInfo"in o&&!U.getInfoWithoutType(o.remotesInfo,e.name).value&&("version"in e||"entry"in e)&&(o.remotesInfo={...o==null?void 0:o.remotesInfo,[e.name]:{matchedVersion:"version"in e?e.version:e.entry}});const{hostGlobalSnapshot:s,remoteSnapshot:i,globalSnapshot:a}=this.getGlobalRemoteInfo(e),{remoteSnapshot:c,globalSnapshot:l}=await this.hooks.lifecycle.loadSnapshot.emit({options:n,moduleInfo:e,hostGlobalSnapshot:s,remoteSnapshot:i,globalSnapshot:a});let u,d;if(c)if((0,ot.isManifestProvider)(c)){const f=ot.isBrowserEnvValue?c.remoteEntry:c.ssrRemoteEntry||c.remoteEntry||"",h=await this.getManifestJson(f,e,{}),m=U.setGlobalSnapshotInfoByModuleInfo({...e,entry:f},h);u=h,d=m}else{const{remoteSnapshot:f}=await this.hooks.lifecycle.loadRemoteSnapshot.emit({options:this.HostInstance.options,moduleInfo:e,remoteSnapshot:c,from:"global"});u=f,d=l}else if(Di.isRemoteInfoWithEntry(e)){const f=await this.getManifestJson(e.entry,e,{}),h=U.setGlobalSnapshotInfoByModuleInfo(e,f),{remoteSnapshot:m}=await this.hooks.lifecycle.loadRemoteSnapshot.emit({options:this.HostInstance.options,moduleInfo:e,remoteSnapshot:f,from:"global"});u=m,d=h}else rt.error(Fe.RUNTIME_007,Fe.runtimeDescMap,{remoteName:e.name,remoteVersion:e.version,hostName:this.HostInstance.options.name,globalSnapshot:JSON.stringify(l)},void 0,Vt.optionsToMFContext(this.HostInstance.options));return await this.hooks.lifecycle.afterLoadSnapshot.emit({id:t,host:this.HostInstance,options:n,moduleInfo:e,remoteSnapshot:u}),{remoteSnapshot:u,globalSnapshot:d}}getGlobalRemoteInfo(e){return tn(e,this.HostInstance)}async getManifestJson(e,t,r){const n=async()=>{let s=this.manifestCache.get(e);if(s)return s;try{let i=await this.loaderHook.lifecycle.fetch.emit(e,{});(!i||!(i instanceof Response))&&(i=await fetch(e,{})),s=await i.json()}catch(i){s=await this.HostInstance.remoteHandler.hooks.lifecycle.errorLoadRemote.emit({id:e,error:i,from:"runtime",lifecycle:"afterResolve",origin:this.HostInstance}),s||(delete this.manifestLoading[e],rt.error(Fe.RUNTIME_003,Fe.runtimeDescMap,{manifestUrl:e,moduleName:t.name,hostName:this.HostInstance.options.name},`${i}`,Vt.optionsToMFContext(this.HostInstance.options)))}return rt.assert(s.metaData&&s.exposes&&s.shared,`"${e}" is not a valid federation manifest for remote "${t.name}". Missing required fields: ${[!s.metaData&&"metaData",!s.exposes&&"exposes",!s.shared&&"shared"].filter(Boolean).join(", ")}.`),this.manifestCache.set(e,s),s},o=async()=>{const s=await n(),i=(0,ot.generateSnapshotFromManifest)(s,{version:e}),{remoteSnapshot:a}=await this.hooks.lifecycle.loadRemoteSnapshot.emit({options:this.HostInstance.options,moduleInfo:t,manifestJson:s,remoteSnapshot:i,manifestUrl:e,from:"manifest"});return a};return this.manifestLoading[e]||(this.manifestLoading[e]=o().then(s=>s)),this.manifestLoading[e]}};Ke.SnapshotHandler=qi;Ke.getGlobalRemoteInfo=tn;var rn={};const st=M,Gi=oe,A=q,Xt=Pe,Ui=ve,it=_e,xt=Ae,Wi=Oe;let pe=Y;var Bi=class{constructor(e){this.hooks=new Wi.PluginSystem({beforeRegisterShare:new it.SyncWaterfallHook("beforeRegisterShare"),afterResolve:new xt.AsyncWaterfallHook("afterResolve"),beforeLoadShare:new xt.AsyncWaterfallHook("beforeLoadShare"),loadShare:new Ui.AsyncHook,resolveShare:new it.SyncWaterfallHook("resolveShare"),initContainerShareScopeMap:new it.SyncWaterfallHook("initContainerShareScopeMap")}),this.host=e,this.shareScopeMap={},this.initTokens={},this._setGlobalShareScopeMap(e.options)}registerShared(e,t){const{newShareInfos:r,allShareInfos:n}=A.formatShareConfigs(e,t);return Object.keys(r).forEach(o=>{r[o].forEach(s=>{s.scope.forEach(i=>{var a;this.hooks.lifecycle.beforeRegisterShare.emit({origin:this.host,pkgName:o,shared:s}),(a=this.shareScopeMap[i])!=null&&a[o]||this.setShared({pkgName:o,lib:s.lib,get:s.get,loaded:s.loaded||!!s.lib,shared:s,from:t.name})})})}),{newShareInfos:r,allShareInfos:n}}async loadShare(e,t){const{host:r}=this,n=A.getTargetSharedOptions({pkgName:e,extraOptions:t,shareInfos:r.options.shared});n!=null&&n.scope&&await Promise.all(n.scope.map(async a=>{await Promise.all(this.initializeSharing(a,{strategy:n.strategy}))}));const{shareInfo:o}=await this.hooks.lifecycle.beforeLoadShare.emit({pkgName:e,shareInfo:n,shared:r.options.shared,origin:r});st.assert(o,`Cannot find shared "${e}" in host "${r.options.name}". Ensure the shared config for "${e}" is declared in the federation plugin options and the host has been initialized before loading shares.`);const{shared:s,useTreesShaking:i}=A.getRegisteredShare(this.shareScopeMap,e,o,this.hooks.lifecycle.resolveShare)||{};if(s){const a=A.directShare(s,i);if(a.lib)return A.addUseIn(a,r.options.name),a.lib;if(a.loading&&!a.loaded){const c=await a.loading;return a.loaded=!0,a.lib||(a.lib=c),A.addUseIn(a,r.options.name),c}else{const l=(async()=>{const u=await a.get();return A.addUseIn(a,r.options.name),a.loaded=!0,a.lib=u,u})();return this.setShared({pkgName:e,loaded:!1,shared:s,from:r.options.name,lib:null,loading:l,treeShaking:i?a:void 0}),l}}else{if(t!=null&&t.customShareInfo)return!1;const a=A.shouldUseTreeShaking(o.treeShaking),c=A.directShare(o,a),u=(async()=>{const d=await c.get();c.lib=d,c.loaded=!0,A.addUseIn(c,r.options.name);const{shared:f,useTreesShaking:h}=A.getRegisteredShare(this.shareScopeMap,e,o,this.hooks.lifecycle.resolveShare)||{};if(f){const m=A.directShare(f,h);m.lib=d,m.loaded=!0,f.from=o.from}return d})();return this.setShared({pkgName:e,loaded:!1,shared:o,from:r.options.name,lib:null,loading:u,treeShaking:a?c:void 0}),u}}initializeSharing(e=Gi.DEFAULT_SCOPE,t){const{host:r}=this,n=t==null?void 0:t.from,o=t==null?void 0:t.strategy;let s=t==null?void 0:t.initScope;const i=[];if(n!=="build"){const{initTokens:f}=this;s||(s=[]);let h=f[e];if(h||(h=f[e]={from:this.host.name}),s.indexOf(h)>=0)return i;s.push(h)}const a=this.shareScopeMap,c=r.options.name;a[e]||(a[e]={});const l=a[e],u=(f,h)=>{var I;const{version:m,eager:_}=h;l[f]=l[f]||{};const g=l[f],p=g[m]&&A.directShare(g[m]),E=!!(p&&("eager"in p&&p.eager||"shareConfig"in p&&((I=p.shareConfig)!=null&&I.eager)));(!p||p.strategy!=="loaded-first"&&!p.loaded&&(!_!=!E?_:c>g[m].from))&&(g[m]=h)},d=async f=>{const{module:h}=await r.remoteHandler.getRemoteModuleAndOptions({id:f});let m;try{m=await h.getEntry()}catch(_){if(m=await r.remoteHandler.hooks.lifecycle.errorLoadRemote.emit({id:f,error:_,from:"runtime",lifecycle:"beforeLoadShare",origin:r}),!m)return}finally{m!=null&&m.init&&!h.initing&&(h.remoteEntryExports=m,await h.init(void 0,void 0,s))}};return Object.keys(r.options.shared).forEach(f=>{r.options.shared[f].forEach(h=>{h.scope.includes(e)&&u(f,h)})}),(r.options.shareStrategy==="version-first"||o==="version-first")&&r.options.remotes.forEach(f=>{f.shareScope===e&&i.push(d(f.name))}),i}loadShareSync(e,t){const{host:r}=this,n=A.getTargetSharedOptions({pkgName:e,extraOptions:t,shareInfos:r.options.shared});n!=null&&n.scope&&n.scope.forEach(i=>{this.initializeSharing(i,{strategy:n.strategy})});const{shared:o,useTreesShaking:s}=A.getRegisteredShare(this.shareScopeMap,e,n,this.hooks.lifecycle.resolveShare)||{};if(o){if(typeof o.lib=="function")return A.addUseIn(o,r.options.name),o.loaded||(o.loaded=!0,o.from===r.options.name&&(n.loaded=!0)),o.lib;if(typeof o.get=="function"){const i=o.get();if(!(i instanceof Promise))return A.addUseIn(o,r.options.name),this.setShared({pkgName:e,loaded:!0,from:r.options.name,lib:i,shared:o}),i}}if(n.lib)return n.loaded||(n.loaded=!0),n.lib;if(n.get){const i=n.get();return i instanceof Promise&&st.error((t==null?void 0:t.from)==="build"?pe.RUNTIME_005:pe.RUNTIME_006,pe.runtimeDescMap,{hostName:r.options.name,sharedPkgName:e},void 0,Xt.optionsToMFContext(r.options)),n.lib=i,this.setShared({pkgName:e,loaded:!0,from:r.options.name,lib:n.lib,shared:n}),n.lib}st.error(pe.RUNTIME_006,pe.runtimeDescMap,{hostName:r.options.name,sharedPkgName:e},void 0,Xt.optionsToMFContext(r.options))}initShareScopeMap(e,t,r={}){const{host:n}=this;this.shareScopeMap[e]=t,this.hooks.lifecycle.initContainerShareScopeMap.emit({shareScope:t,options:n.options,origin:n,scopeName:e,hostShareScopeMap:r.hostShareScopeMap})}setShared({pkgName:e,shared:t,from:r,lib:n,loading:o,loaded:s,get:i,treeShaking:a}){const{version:c,scope:l="default",...u}=t,d=Array.isArray(l)?l:[l],f=h=>{const m=(g,p,E)=>{E&&!g[p]&&(g[p]=E)},_=a?h.treeShaking:h;m(_,"loaded",s),m(_,"loading",o),m(_,"get",i)};d.forEach(h=>{this.shareScopeMap[h]||(this.shareScopeMap[h]={}),this.shareScopeMap[h][e]||(this.shareScopeMap[h][e]={}),this.shareScopeMap[h][e][c]||(this.shareScopeMap[h][e][c]={version:c,scope:[h],...u,lib:n});const m=this.shareScopeMap[h][e][c];f(m),r&&m.from!==r&&(m.from=r)})}_setGlobalShareScopeMap(e){const t=A.getGlobalShareScope(),r=e.id||e.name;r&&!t[r]&&(t[r]=this.shareScopeMap)}};rn.SharedHandler=Bi;var nn={};const Le=M,G=b,Kt=oe,ji=q,Vi=he,at=K,Xi=Pe,Yt=Z,xi=Xe,Ki=me,ie=ve,zt=_e,Yi=Ae,zi=Oe,Ji=Ke;let lt=D,Jt=Y;var Zi=class{constructor(e){this.hooks=new zi.PluginSystem({beforeRegisterRemote:new zt.SyncWaterfallHook("beforeRegisterRemote"),registerRemote:new zt.SyncWaterfallHook("registerRemote"),beforeRequest:new Yi.AsyncWaterfallHook("beforeRequest"),onLoad:new ie.AsyncHook("onLoad"),handlePreloadModule:new Ki.SyncHook("handlePreloadModule"),errorLoadRemote:new ie.AsyncHook("errorLoadRemote"),beforePreloadRemote:new ie.AsyncHook("beforePreloadRemote"),generatePreloadAssets:new ie.AsyncHook("generatePreloadAssets"),afterPreloadRemote:new ie.AsyncHook,loadEntry:new ie.AsyncHook}),this.host=e,this.idToRemoteMap={}}formatAndRegisterRemote(e,t){return(t.remotes||[]).reduce((r,n)=>(this.registerRemote(n,r,{force:!1}),r),e.remotes)}setIdToRemoteMap(e,t){const{remote:r,expose:n}=t,{name:o,alias:s}=r;if(this.idToRemoteMap[e]={name:r.name,expose:n},s&&e.startsWith(o)){const i=e.replace(o,s);this.idToRemoteMap[i]={name:r.name,expose:n};return}if(s&&e.startsWith(s)){const i=e.replace(s,o);this.idToRemoteMap[i]={name:r.name,expose:n}}}async loadRemote(e,t){const{host:r}=this;try{const{loadFactory:n=!0}=t||{loadFactory:!0},{module:o,moduleOptions:s,remoteMatchInfo:i}=await this.getRemoteModuleAndOptions({id:e}),{pkgNameOrAlias:a,remote:c,expose:l,id:u,remoteSnapshot:d}=i,f=await o.get(u,l,t,d),h=await this.hooks.lifecycle.onLoad.emit({id:u,pkgNameOrAlias:a,expose:l,exposeModule:n?f:void 0,exposeModuleFactory:n?void 0:f,remote:c,options:s,moduleInstance:o,origin:r});return this.setIdToRemoteMap(e,i),typeof h=="function"?h:f}catch(n){const{from:o="runtime"}=t||{from:"runtime"},s=await this.hooks.lifecycle.errorLoadRemote.emit({id:e,error:n,from:o,lifecycle:"onLoad",origin:r});if(!s)throw n;return s}}async preloadRemote(e){const{host:t}=this;await this.hooks.lifecycle.beforePreloadRemote.emit({preloadOps:e,options:t.options,origin:t});const r=Yt.formatPreloadArgs(t.options.remotes,e);await Promise.all(r.map(async n=>{const{remote:o}=n,s=at.getRemoteInfo(o),{globalSnapshot:i,remoteSnapshot:a}=await t.snapshotHandler.loadRemoteSnapshotInfo({moduleInfo:o}),c=await this.hooks.lifecycle.generatePreloadAssets.emit({origin:t,preloadOptions:n,remote:o,remoteInfo:s,globalSnapshot:i,remoteSnapshot:a});c&&Yt.preloadAssets(s,t,c)}))}registerRemotes(e,t){const{host:r}=this;e.forEach(n=>{this.registerRemote(n,r.options.remotes,{force:t==null?void 0:t.force})})}async getRemoteModuleAndOptions(e){const{host:t}=this,{id:r}=e;let n;try{n=await this.hooks.lifecycle.beforeRequest.emit({id:r,options:t.options,origin:t})}catch(h){if(n=await this.hooks.lifecycle.errorLoadRemote.emit({id:r,options:t.options,origin:t,from:"runtime",error:h,lifecycle:"beforeRequest"}),!n)throw h}const{id:o}=n,s=Vi.matchRemoteWithNameAndExpose(t.options.remotes,o);s||Le.error(Jt.RUNTIME_004,Jt.runtimeDescMap,{hostName:t.options.name,requestId:o},void 0,Xi.optionsToMFContext(t.options));const{remote:i}=s,a=at.getRemoteInfo(i),c=await t.sharedHandler.hooks.lifecycle.afterResolve.emit({id:o,...s,options:t.options,origin:t,remoteInfo:a}),{remote:l,expose:u}=c;Le.assert(l&&u,`The 'beforeRequest' hook was executed, but it failed to return the correct 'remote' and 'expose' values while loading ${o}.`);let d=t.moduleCache.get(l.name);const f={host:t,remoteInfo:a};return d||(d=new xi.Module(f),t.moduleCache.set(l.name,d)),{module:d,moduleOptions:f,remoteMatchInfo:c}}registerRemote(e,t,r){const{host:n}=this,o=()=>{if(e.alias){const i=t.find(a=>{var c;return e.alias&&(a.name.startsWith(e.alias)||((c=a.alias)==null?void 0:c.startsWith(e.alias)))});Le.assert(!i,`The alias ${e.alias} of remote ${e.name} is not allowed to be the prefix of ${i&&i.name} name or alias`)}"entry"in e&<.isBrowserEnvValue&&typeof window<"u"&&!e.entry.startsWith("http")&&(e.entry=new URL(e.entry,window.location.origin).href),e.shareScope||(e.shareScope=Kt.DEFAULT_SCOPE),e.type||(e.type=Kt.DEFAULT_REMOTE_TYPE)};this.hooks.lifecycle.beforeRegisterRemote.emit({remote:e,origin:n});const s=t.find(i=>i.name===e.name);if(!s)o(),t.push(e),this.hooks.lifecycle.registerRemote.emit({remote:e,origin:n});else{const i=[`The remote "${e.name}" is already registered.`,"Please note that overriding it may cause unexpected errors."];r!=null&&r.force&&(this.removeRemote(s),o(),t.push(e),this.hooks.lifecycle.registerRemote.emit({remote:e,origin:n}),(0,lt.warn)(i.join(" ")))}}removeRemote(e){var t;try{const{host:r}=this,{name:n}=e,o=r.options.remotes.findIndex(i=>i.name===n);o!==-1&&r.options.remotes.splice(o,1);const s=r.moduleCache.get(e.name);if(s){const i=s.remoteInfo,a=i.entryGlobalName;G.CurrentGlobal[a]&&((t=Object.getOwnPropertyDescriptor(G.CurrentGlobal,a))!=null&&t.configurable?delete G.CurrentGlobal[a]:G.CurrentGlobal[a]=void 0);const c=at.getRemoteEntryUniqueKey(s.remoteInfo);G.globalLoading[c]&&delete G.globalLoading[c],r.snapshotHandler.manifestCache.delete(i.entry);let l=i.buildVersion?(0,lt.composeKeyWithSeparator)(i.name,i.buildVersion):i.name;const u=G.CurrentGlobal.__FEDERATION__.__INSTANCES__.findIndex(f=>i.buildVersion?f.options.id===l:f.name===l);if(u!==-1){const f=G.CurrentGlobal.__FEDERATION__.__INSTANCES__[u];l=f.options.id||l;const h=ji.getGlobalShareScope();let m=!0;const _=[];Object.keys(h).forEach(g=>{const p=h[g];p&&Object.keys(p).forEach(E=>{const I=p[E];I&&Object.keys(I).forEach(k=>{const y=I[k];y&&Object.keys(y).forEach(N=>{const R=y[N];R&&typeof R=="object"&&R.from===i.name&&(R.loaded||R.loading?(R.useIn=R.useIn.filter(v=>v!==i.name),R.useIn.length?m=!1:_.push([g,E,k,N])):_.push([g,E,k,N]))})})})}),m&&(f.shareScopeMap={},delete h[l]),_.forEach(([g,p,E,I])=>{var k,y,N;(N=(y=(k=h[g])==null?void 0:k[p])==null?void 0:y[E])==null||delete N[I]}),G.CurrentGlobal.__FEDERATION__.__INSTANCES__.splice(u,1)}const{hostGlobalSnapshot:d}=Ji.getGlobalRemoteInfo(e,r);if(d){const f=d&&"remotesInfo"in d&&d.remotesInfo&&G.getInfoWithoutType(d.remotesInfo,e.name).key;f&&(delete d.remotesInfo[f],G.Global.__FEDERATION__.__MANIFEST_LOADING__[f]&&delete G.Global.__FEDERATION__.__MANIFEST_LOADING__[f])}r.moduleCache.delete(e.name)}}catch(r){Le.logger.error(`removeRemote failed: ${r instanceof Error?r.message:String(r)}`)}}};nn.RemoteHandler=Zi;const Qi=M,ea=oe,ta=q,ra=Vr,na=Xr,oa=K,sa=Xe,z=me,ct=ve,ia=_e,Zt=Ae,ut=Oe,aa=xe,la=Qr,ca=Ke,ua=rn,fa=nn;let da=D,ft=Y;const ha=typeof FEDERATION_OPTIMIZE_NO_SNAPSHOT_PLUGIN=="boolean"?!FEDERATION_OPTIMIZE_NO_SNAPSHOT_PLUGIN:!0;var ma=class{constructor(e){this.hooks=new ut.PluginSystem({beforeInit:new ia.SyncWaterfallHook("beforeInit"),init:new z.SyncHook,beforeInitContainer:new Zt.AsyncWaterfallHook("beforeInitContainer"),initContainer:new Zt.AsyncWaterfallHook("initContainer")}),this.version="2.2.2",this.moduleCache=new Map,this.loaderHook=new ut.PluginSystem({getModuleInfo:new z.SyncHook,createScript:new z.SyncHook,createLink:new z.SyncHook,fetch:new ct.AsyncHook,loadEntryError:new ct.AsyncHook,getModuleFactory:new ct.AsyncHook}),this.bridgeHook=new ut.PluginSystem({beforeBridgeRender:new z.SyncHook,afterBridgeRender:new z.SyncHook,beforeBridgeDestroy:new z.SyncHook,afterBridgeDestroy:new z.SyncHook});const t=ha?[aa.snapshotPlugin(),la.generatePreloadAssetsPlugin()]:[],r={id:ra.getBuilderId(),name:e.name,plugins:t,remotes:[],shared:{},inBrowser:da.isBrowserEnvValue};this.name=e.name,this.options=r,this.snapshotHandler=new ca.SnapshotHandler(this),this.sharedHandler=new ua.SharedHandler(this),this.remoteHandler=new fa.RemoteHandler(this),this.shareScopeMap=this.sharedHandler.shareScopeMap,this.registerPlugins([...r.plugins,...e.plugins||[]]),this.options=this.formatOptions(r,e)}initOptions(e){e.name&&e.name!==this.options.name&&Qi.error((0,ft.getShortErrorMsg)(ft.RUNTIME_010,ft.runtimeDescMap)),this.registerPlugins(e.plugins);const t=this.formatOptions(this.options,e);return this.options=t,t}async loadShare(e,t){return this.sharedHandler.loadShare(e,t)}loadShareSync(e,t){return this.sharedHandler.loadShareSync(e,t)}initializeSharing(e=ea.DEFAULT_SCOPE,t){return this.sharedHandler.initializeSharing(e,t)}initRawContainer(e,t,r){const n=oa.getRemoteInfo({name:e,entry:t}),o=new sa.Module({host:this,remoteInfo:n});return o.remoteEntryExports=r,this.moduleCache.set(e,o),o}async loadRemote(e,t){return this.remoteHandler.loadRemote(e,t)}async preloadRemote(e){return this.remoteHandler.preloadRemote(e)}initShareScopeMap(e,t,r={}){this.sharedHandler.initShareScopeMap(e,t,r)}formatOptions(e,t){const{allShareInfos:r}=ta.formatShareConfigs(e,t),{userOptions:n,options:o}=this.hooks.lifecycle.beforeInit.emit({origin:this,userOptions:t,options:e,shareInfo:r}),s=this.remoteHandler.formatAndRegisterRemote(o,n),{allShareInfos:i}=this.sharedHandler.registerShared(o,n),a=[...o.plugins];n.plugins&&n.plugins.forEach(l=>{a.includes(l)||a.push(l)});const c={...e,...t,plugins:a,remotes:s,shared:i};return this.hooks.lifecycle.init.emit({origin:this,options:c}),c}registerPlugins(e){const t=na.registerPlugins(e,this);this.options.plugins=this.options.plugins.reduce((r,n)=>(n&&r&&!r.find(o=>o.name===n.name)&&r.push(n),r),t||[])}registerRemotes(e,t){return this.remoteHandler.registerRemotes(e,t)}registerShared(e){this.sharedHandler.registerShared(this.options,{...this.options,shared:e})}};Yr.ModuleFederation=ma;var on={},sn={},Qt=Object.defineProperty,_a=(e,t)=>{let r={};for(var n in e)Qt(r,n,{get:e[n],enumerable:!0});return t||Qt(r,Symbol.toStringTag,{value:"Module"}),r};sn.__exportAll=_a;(function(e){var r=sn.__exportAll({});Object.defineProperty(e,"type_exports",{enumerable:!0,get:function(){return r}})})(on);(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=M,r=$,n=b,o=Pt,s=q,i=he,a=K,c=xr,l=Xe,u=Yr,d=on;let f=D;const h=c.default;e.CurrentGlobal=n.CurrentGlobal,e.Global=n.Global,e.Module=l.Module,e.ModuleFederation=u.ModuleFederation,e.addGlobalSnapshot=n.addGlobalSnapshot,e.assert=t.assert,e.error=t.error,e.getGlobalFederationConstructor=n.getGlobalFederationConstructor,e.getGlobalSnapshot=n.getGlobalSnapshot,e.getInfoWithoutType=n.getInfoWithoutType,e.getRegisteredShare=s.getRegisteredShare,e.getRemoteEntry=a.getRemoteEntry,e.getRemoteInfo=a.getRemoteInfo,e.helpers=h,e.isStaticResourcesEqual=r.isStaticResourcesEqual,Object.defineProperty(e,"loadScript",{enumerable:!0,get:function(){return f.loadScript}}),Object.defineProperty(e,"loadScriptNode",{enumerable:!0,get:function(){return f.loadScriptNode}}),e.matchRemoteWithNameAndExpose=i.matchRemoteWithNameAndExpose,e.registerGlobalPlugins=n.registerGlobalPlugins,e.resetFederationGlobalInfo=n.resetFederationGlobalInfo,e.safeWrapper=r.safeWrapper,e.satisfy=o.satisfy,e.setGlobalFederationConstructor=n.setGlobalFederationConstructor,e.setGlobalFederationInstance=n.setGlobalFederationInstance,Object.defineProperty(e,"types",{enumerable:!0,get:function(){return d.type_exports}})})(Tt);let ga=Tt;function pa(){return typeof FEDERATION_BUILD_IDENTIFIER<"u"?FEDERATION_BUILD_IDENTIFIER:""}function ya(e,t){const r=pa();return ga.CurrentGlobal.__FEDERATION__.__INSTANCES__.find(n=>!!(r&&n.options.id===r||n.options.name===e&&!n.options.version&&!t||n.options.name===e&&t&&n.options.version===t))}ar.getGlobalFederationInstance=ya;(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=ar;let r=Tt,n=Y;function o(_){const g=new((0,r.getGlobalFederationConstructor)()||r.ModuleFederation)(_);return(0,r.setGlobalFederationInstance)(g),g}let s=null;function i(_){const g=t.getGlobalFederationInstance(_.name,_.version);return g?(g.initOptions(_),s||(s=g),g):(s=o(_),s)}function a(..._){return(0,r.assert)(s,n.RUNTIME_009,n.runtimeDescMap),s.loadRemote.apply(s,_)}function c(..._){return(0,r.assert)(s,n.RUNTIME_009,n.runtimeDescMap),s.loadShare.apply(s,_)}function l(..._){return(0,r.assert)(s,n.RUNTIME_009,n.runtimeDescMap),s.loadShareSync.apply(s,_)}function u(..._){return(0,r.assert)(s,n.RUNTIME_009,n.runtimeDescMap),s.preloadRemote.apply(s,_)}function d(..._){return(0,r.assert)(s,n.RUNTIME_009,n.runtimeDescMap),s.registerRemotes.apply(s,_)}function f(..._){return(0,r.assert)(s,n.RUNTIME_009,n.runtimeDescMap),s.registerPlugins.apply(s,_)}function h(){return s}function m(..._){return(0,r.assert)(s,n.RUNTIME_009,n.runtimeDescMap),s.registerShared.apply(s,_)}(0,r.setGlobalFederationConstructor)(r.ModuleFederation),Object.defineProperty(e,"Module",{enumerable:!0,get:function(){return r.Module}}),e.ModuleFederation=r.ModuleFederation,e.createInstance=o,e.getInstance=h,Object.defineProperty(e,"getRemoteEntry",{enumerable:!0,get:function(){return r.getRemoteEntry}}),Object.defineProperty(e,"getRemoteInfo",{enumerable:!0,get:function(){return r.getRemoteInfo}}),e.init=i,e.loadRemote=a,Object.defineProperty(e,"loadScript",{enumerable:!0,get:function(){return r.loadScript}}),Object.defineProperty(e,"loadScriptNode",{enumerable:!0,get:function(){return r.loadScriptNode}}),e.loadShare=c,e.loadShareSync=l,e.preloadRemote=u,Object.defineProperty(e,"registerGlobalPlugins",{enumerable:!0,get:function(){return r.registerGlobalPlugins}}),e.registerPlugins=f,e.registerRemotes=d,e.registerShared=m})(ir);const an="__mf_init____mf__virtual/ConfigCustomJavascriptSet__mf_v__runtimeInit__mf_v__.js__";let Rt=globalThis[an];if(!Rt){let e,t;const r=new Promise((n,o)=>{e=n,t=o});Rt=globalThis[an]={initPromise:r,initResolve:e,initReject:t},typeof window>"u"&&e({loadRemote:function(){return Promise.resolve(void 0)},loadShare:function(){return Promise.resolve(void 0)}})}const Ea=Rt.initResolve,er={},tr="default",rr="ConfigCustomJavascriptSet";let nr,or;async function Sa(){return nr??=sr(()=>import("./localSharedImportMap-2Enh8EZe.js"),__vite__mapDeps([0,1]),import.meta.url),nr}async function ba(){return or??=sr(()=>import("./virtualExposes-CqrW7o8v.js"),__vite__mapDeps([2,1]),import.meta.url).then(e=>e.default??e),or}async function Ta(e={},t=[]){const{usedShared:r,usedRemotes:n}=await Sa(),o=ir.init({name:rr,remotes:n,shared:r,plugins:[],shareStrategy:"version-first"});var s=er[tr];if(s||(s=er[tr]={from:rr}),!(t.indexOf(s)>=0)){t.push(s),o.initShareScopeMap("default",e),Ea(o);try{await Promise.all(await o.initializeSharing("default",{strategy:"version-first",from:"build",initScope:t}))}catch(i){console.error(i)}return o}}async function Ia(e){const t=await ba();if(!(e in t))throw new Error(`Module ${e} does not exist in container.`);return t[e]().then(r=>()=>r)}export{ir as d,Ia as g,Ta as i}; diff --git a/admin/custom/customComponents.js b/admin/custom/customComponents.js index de3def994..83f7dd882 100644 --- a/admin/custom/customComponents.js +++ b/admin/custom/customComponents.js @@ -1 +1 @@ -import"./assets/preload-helper-BDBacUwf.js";import{g as r,i as a}from"./assets/virtual_mf-REMOTE_ENTRY_ID_ConfigCustomJavascriptSet__customComponents_js-mtzNjzQ6.js";export{r as get,a as init}; +import"./assets/preload-helper-BDBacUwf.js";import{g as r,i as a}from"./assets/virtual_mf-REMOTE_ENTRY_ID_ConfigCustomJavascriptSet__customComponents_js-BZZsMeVW.js";export{r as get,a as init}; diff --git a/admin/mf-manifest.json b/admin/mf-manifest.json index 3b4973388..ac4f1f67b 100644 --- a/admin/mf-manifest.json +++ b/admin/mf-manifest.json @@ -1 +1 @@ -{"id":"iobroker_javascript","name":"iobroker_javascript","metaData":{"name":"iobroker_javascript","type":"app","buildInfo":{"buildVersion":"1.0.0","buildName":"iobroker_javascript"},"remoteEntry":{"name":"remoteEntry.js","path":"","type":"module"},"ssrRemoteEntry":{"name":"remoteEntry.js","path":"","type":"module"},"types":{"path":"","name":""},"globalName":"iobroker_javascript","pluginVersion":"0.2.5","publicPath":"./"},"shared":[{"id":"iobroker_javascript:react","name":"react","version":"18.3.1","requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/index-Dsh1HfIY.js"]},"css":{"async":[],"sync":[]}}},{"id":"iobroker_javascript:react-dom","name":"react-dom","version":"18.3.1","requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/index-BkyLyaYT.js"]},"css":{"async":[],"sync":[]}}},{"id":"iobroker_javascript:@mui/material","name":"@mui/material","version":"6.5.0","requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/index-DlDUIfpA.js"]},"css":{"async":[],"sync":[]}}},{"id":"iobroker_javascript:prop-types","name":"prop-types","version":"15.8.1","requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/index-CVZSzCXy.js"]},"css":{"async":[],"sync":[]}}},{"id":"iobroker_javascript:@iobroker/adapter-react-v5","name":"@iobroker/adapter-react-v5","version":"8.1.3","requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/index-Dnbw7_L3.js"]},"css":{"async":[],"sync":[]}}}],"remotes":[],"exposes":[]} \ No newline at end of file +{"id":"iobroker_javascript","name":"iobroker_javascript","metaData":{"name":"iobroker_javascript","type":"app","buildInfo":{"buildVersion":"1.0.0","buildName":"iobroker_javascript"},"remoteEntry":{"name":"remoteEntry.js","path":"","type":"module"},"ssrRemoteEntry":{"name":"remoteEntry.js","path":"","type":"module"},"types":{"path":"","name":""},"globalName":"iobroker_javascript","pluginVersion":"0.2.5","publicPath":"./"},"shared":[{"id":"iobroker_javascript:react","name":"react","version":"18.3.1","requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/index-Dsh1HfIY.js"]},"css":{"async":[],"sync":[]}}},{"id":"iobroker_javascript:react-dom","name":"react-dom","version":"18.3.1","requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/index-BkyLyaYT.js"]},"css":{"async":[],"sync":[]}}},{"id":"iobroker_javascript:@mui/material","name":"@mui/material","version":"6.5.0","requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/index-DlDUIfpA.js"]},"css":{"async":[],"sync":[]}}},{"id":"iobroker_javascript:prop-types","name":"prop-types","version":"15.8.1","requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/index-CVZSzCXy.js"]},"css":{"async":[],"sync":[]}}},{"id":"iobroker_javascript:@iobroker/adapter-react-v5","name":"@iobroker/adapter-react-v5","version":"8.1.3","requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/index-q6iFaoFb.js"]},"css":{"async":[],"sync":[]}}}],"remotes":[],"exposes":[]} \ No newline at end of file diff --git a/admin/remoteEntry.js b/admin/remoteEntry.js index 4a1466f2c..0c89af960 100644 --- a/admin/remoteEntry.js +++ b/admin/remoteEntry.js @@ -1 +1 @@ -import"./assets/preload-helper-BDBacUwf.js";import{g as r,i as a}from"./assets/virtual_mf-REMOTE_ENTRY_ID_iobroker_javascript__remoteEntry_js-C9suQF96.js";export{r as get,a as init}; +import"./assets/preload-helper-BDBacUwf.js";import{g as r,i as a}from"./assets/virtual_mf-REMOTE_ENTRY_ID_iobroker_javascript__remoteEntry_js-D-eF6r8M.js";export{r as get,a as init}; diff --git a/admin/tab.html b/admin/tab.html index e54124ff4..c6f845d45 100644 --- a/admin/tab.html +++ b/admin/tab.html @@ -115,9 +115,9 @@ type="text/javascript" src="google-blockly/own/blocks_object.js" > - + - + @@ -126,7 +126,7 @@ - + diff --git a/src-admin/package-lock.json b/src-admin/package-lock.json index 6813a0c63..895a747d1 100644 --- a/src-admin/package-lock.json +++ b/src-admin/package-lock.json @@ -133,6 +133,7 @@ "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@babel/code-frame": "^7.29.0", "@babel/generator": "^7.29.0", @@ -1692,6 +1693,7 @@ "integrity": "sha512-yjvtXoFcrPLGtgKRxFaH6OQPtcLPhkloC0BML6rBG5UeldR0nPULR/2E2BfXdo5JNV7j7lOzrrLX2Qf/iSidow==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@babel/runtime": "^7.26.0", "@mui/core-downloads-tracker": "^6.5.0", @@ -1846,7 +1848,6 @@ "integrity": "sha512-OJM+9nj5JIyPUvsZ5ZjaeC9PfktmK+W5YaVLToLR8L0lB/DGmv1gcKE43ssNLSvpoW71Hct0necfade6+kW3zQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@babel/runtime": "^7.28.4", "@mui/utils": "^7.3.3", @@ -1875,7 +1876,6 @@ "integrity": "sha512-8vVje9rdEr1rY8oIkYgP+Su5Kwl6ik7O3jQ0wl78JGSmiZhRHV+vkjooGdKD8pbtZbutXFVTWQYshu2b3sG9zw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@babel/runtime": "^7.28.4" }, @@ -1894,7 +1894,6 @@ "integrity": "sha512-kwNAUh7bLZ7mRz9JZ+6qfRnnxbE4Zuc+RzXnhSpRSxjTlSTj7b4JxRLXpG+MVtPVtqks5k/XC8No1Vs3x4Z2gg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@babel/runtime": "^7.28.4", "@mui/types": "^7.4.7", @@ -1926,7 +1925,6 @@ "integrity": "sha512-CmFxvRJIBCEaWdilhXMw/5wFJ1+FT9f3xt+m2pPXhHPeVIbBg9MnMvNSJjdALvnQJMPw8jLhrUtXmN7QAZV2fw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@babel/runtime": "^7.28.4", "@emotion/cache": "^11.14.0", @@ -1962,7 +1960,6 @@ "integrity": "sha512-Lqq3emZr5IzRLKaHPuMaLBDVaGvxoh6z7HMWd1RPKawBM5uMRaQ4ImsmmgXWtwJdfZux5eugfDhXJUo2mliS8Q==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@babel/runtime": "^7.28.4", "@mui/private-theming": "^7.3.3", @@ -2004,7 +2001,6 @@ "integrity": "sha512-8vVje9rdEr1rY8oIkYgP+Su5Kwl6ik7O3jQ0wl78JGSmiZhRHV+vkjooGdKD8pbtZbutXFVTWQYshu2b3sG9zw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@babel/runtime": "^7.28.4" }, @@ -2023,7 +2019,6 @@ "integrity": "sha512-kwNAUh7bLZ7mRz9JZ+6qfRnnxbE4Zuc+RzXnhSpRSxjTlSTj7b4JxRLXpG+MVtPVtqks5k/XC8No1Vs3x4Z2gg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@babel/runtime": "^7.28.4", "@mui/types": "^7.4.7", @@ -3015,6 +3010,7 @@ "integrity": "sha512-z9VXpC7MWrhfWipitjNdgCauoMLRdIILQsAEV+ZesIzBq/oUlxk0m3ApZuMFCXdnS4U7KrI+l3WRUEGQ8K1QKw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/prop-types": "*", "csstype": "^3.2.2" @@ -3263,6 +3259,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "baseline-browser-mapping": "^2.9.0", "caniuse-lite": "^1.0.30001759", @@ -3591,6 +3588,7 @@ "integrity": "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==", "dev": true, "license": "MIT", + "peer": true, "funding": { "type": "github", "url": "https://github.com/sponsors/kossnocorp" @@ -4757,7 +4755,8 @@ "resolved": "https://registry.npmjs.org/leaflet/-/leaflet-1.9.4.tgz", "integrity": "sha512-nxS1ynzJOmOlHp+iL3FyWqK89GtNL8U8rvlMOsQdTTssxZwCXh8N2NB3GDQOL+YR3XnWyZAxwQixURb+FA74PA==", "dev": true, - "license": "BSD-2-Clause" + "license": "BSD-2-Clause", + "peer": true }, "node_modules/lie": { "version": "3.3.0", @@ -5478,6 +5477,7 @@ "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "loose-envify": "^1.1.0" }, @@ -5552,6 +5552,7 @@ "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "loose-envify": "^1.1.0", "scheduler": "^0.23.2" @@ -5825,6 +5826,7 @@ "integrity": "sha512-3GuObel8h7Kqdjt0gxkEzaifHTqLVW56Y/bjN7PSQtkKr0w3V/QYSdt6QWYtd7A1xUtYQigtdUfgj1RvWVtorw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/estree": "1.0.8" }, @@ -6365,6 +6367,7 @@ "integrity": "sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "esbuild": "^0.27.0", "fdir": "^6.5.0", @@ -6511,6 +6514,7 @@ "integrity": "sha512-LZNJgPzfKR+/J3cHkxcpHKpKKvGfDZVPS4hfJCc4cCG0CgYzvlD6yE/S3CIL/Yt91ak327YCpiF/0MyeZHEHKA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@colors/colors": "^1.6.0", "@dabh/diagnostics": "^2.0.8", @@ -6640,6 +6644,7 @@ "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=10.0.0" }, diff --git a/src-admin/package.json b/src-admin/package.json index e604938c3..51c2c4a88 100644 --- a/src-admin/package.json +++ b/src-admin/package.json @@ -1,7 +1,7 @@ { "name": "iobroker-admin-component-javascript", "private": true, - "version": "9.0.18", + "version": "9.1.0", "type": "module", "scripts": { "start": "vite --port 4173", diff --git a/src-editor/package-lock.json b/src-editor/package-lock.json index 7aba16848..6aca3615b 100644 --- a/src-editor/package-lock.json +++ b/src-editor/package-lock.json @@ -168,6 +168,7 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", "license": "MIT", + "peer": true, "dependencies": { "@babel/code-frame": "^7.29.0", "@babel/generator": "^7.29.0", @@ -229,7 +230,6 @@ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz", "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==", "license": "MIT", - "peer": true, "dependencies": { "@babel/types": "^7.27.3" }, @@ -370,7 +370,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.28.6.tgz", "integrity": "sha512-wgEmr06G6sIpqr8YDwA2dSRTE3bJ+V0IfpzfSY3Lfgd7YWOaAdlykvJi13ZKBt8cZHfgH1IXN+CL656W3uUa4w==", "license": "MIT", - "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.28.6" }, @@ -594,6 +593,7 @@ } ], "license": "MIT", + "peer": true, "engines": { "node": ">=18" }, @@ -616,6 +616,7 @@ } ], "license": "MIT", + "peer": true, "engines": { "node": ">=18" } @@ -783,8 +784,7 @@ "version": "0.8.5", "resolved": "https://registry.npmjs.org/@emotion/stylis/-/stylis-0.8.5.tgz", "integrity": "sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ==", - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/@emotion/unitless": { "version": "0.10.0", @@ -1574,26 +1574,6 @@ "node": ">=10" } }, - "node_modules/@module-federation/dts-plugin/node_modules/node-fetch": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", - "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "data-uri-to-buffer": "^4.0.0", - "fetch-blob": "^3.1.4", - "formdata-polyfill": "^4.0.10" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/node-fetch" - } - }, "node_modules/@module-federation/dts-plugin/node_modules/ws": { "version": "8.18.0", "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", @@ -1661,26 +1641,6 @@ "node": ">=10" } }, - "node_modules/@module-federation/managers/node_modules/node-fetch": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", - "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "data-uri-to-buffer": "^4.0.0", - "fetch-blob": "^3.1.4", - "formdata-polyfill": "^4.0.10" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/node-fetch" - } - }, "node_modules/@module-federation/runtime": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/@module-federation/runtime/-/runtime-2.2.3.tgz", @@ -1716,26 +1676,6 @@ } } }, - "node_modules/@module-federation/runtime-core/node_modules/node-fetch": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", - "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "data-uri-to-buffer": "^4.0.0", - "fetch-blob": "^3.1.4", - "formdata-polyfill": "^4.0.10" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/node-fetch" - } - }, "node_modules/@module-federation/runtime/node_modules/@module-federation/sdk": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/@module-federation/sdk/-/sdk-2.2.3.tgz", @@ -1750,26 +1690,6 @@ } } }, - "node_modules/@module-federation/runtime/node_modules/node-fetch": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", - "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "data-uri-to-buffer": "^4.0.0", - "fetch-blob": "^3.1.4", - "formdata-polyfill": "^4.0.10" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/node-fetch" - } - }, "node_modules/@module-federation/third-party-dts-extractor": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/@module-federation/third-party-dts-extractor/-/third-party-dts-extractor-2.2.2.tgz", @@ -1882,26 +1802,6 @@ "@types/estree": "^1.0.0" } }, - "node_modules/@module-federation/vite/node_modules/node-fetch": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", - "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "data-uri-to-buffer": "^4.0.0", - "fetch-blob": "^3.1.4", - "formdata-polyfill": "^4.0.10" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/node-fetch" - } - }, "node_modules/@mui/core-downloads-tracker": { "version": "6.5.0", "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-6.5.0.tgz", @@ -1943,6 +1843,7 @@ "resolved": "https://registry.npmjs.org/@mui/material/-/material-6.5.0.tgz", "integrity": "sha512-yjvtXoFcrPLGtgKRxFaH6OQPtcLPhkloC0BML6rBG5UeldR0nPULR/2E2BfXdo5JNV7j7lOzrrLX2Qf/iSidow==", "license": "MIT", + "peer": true, "dependencies": { "@babel/runtime": "^7.26.0", "@mui/core-downloads-tracker": "^6.5.0", @@ -2099,7 +2000,6 @@ "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-7.3.9.tgz", "integrity": "sha512-ErIyRQvsiQEq7Yvcvfw9UDHngaqjMy9P3JDPnRAaKG5qhpl2C4tX/W1S4zJvpu+feihmZJStjIyvnv6KDbIrlw==", "license": "MIT", - "peer": true, "dependencies": { "@babel/runtime": "^7.28.6", "@mui/utils": "^7.3.9", @@ -2127,7 +2027,6 @@ "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.4.12.tgz", "integrity": "sha512-iKNAF2u9PzSIj40CjvKJWxFXJo122jXVdrmdh0hMYd+FR+NuJMkr/L88XwWLCRiJ5P1j+uyac25+Kp6YC4hu6w==", "license": "MIT", - "peer": true, "dependencies": { "@babel/runtime": "^7.28.6" }, @@ -2145,7 +2044,6 @@ "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-7.3.9.tgz", "integrity": "sha512-U6SdZaGbfb65fqTsH3V5oJdFj9uYwyLE2WVuNvmbggTSDBb8QHrFsqY8BN3taK9t3yJ8/BPHD/kNvLNyjwM7Yw==", "license": "MIT", - "peer": true, "dependencies": { "@babel/runtime": "^7.28.6", "@mui/types": "^7.4.12", @@ -2175,15 +2073,13 @@ "version": "19.2.4", "resolved": "https://registry.npmjs.org/react-is/-/react-is-19.2.4.tgz", "integrity": "sha512-W+EWGn2v0ApPKgKKCy/7s7WHXkboGcsrXE+2joLyVxkbyVQfO3MUEaUQDHoSmb8TFFrSKYa9mw64WZHNHSDzYA==", - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/@mui/styled-engine": { "version": "7.3.9", "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-7.3.9.tgz", "integrity": "sha512-JqujWt5bX4okjUPGpVof/7pvgClqh7HvIbsIBIOOlCh2u3wG/Bwp4+E1bc1dXSwkrkp9WUAoNdI5HEC+5HKvMw==", "license": "MIT", - "peer": true, "dependencies": { "@babel/runtime": "^7.28.6", "@emotion/cache": "^11.14.0", @@ -2218,7 +2114,6 @@ "resolved": "https://registry.npmjs.org/@mui/system/-/system-7.3.9.tgz", "integrity": "sha512-aL1q9am8XpRrSabv9qWf5RHhJICJql34wnrc1nz0MuOglPRYF/liN+c8VqZdTvUn9qg+ZjRVbKf4sJVFfIDtmg==", "license": "MIT", - "peer": true, "dependencies": { "@babel/runtime": "^7.28.6", "@mui/private-theming": "^7.3.9", @@ -2259,7 +2154,6 @@ "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.4.12.tgz", "integrity": "sha512-iKNAF2u9PzSIj40CjvKJWxFXJo122jXVdrmdh0hMYd+FR+NuJMkr/L88XwWLCRiJ5P1j+uyac25+Kp6YC4hu6w==", "license": "MIT", - "peer": true, "dependencies": { "@babel/runtime": "^7.28.6" }, @@ -2277,7 +2171,6 @@ "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-7.3.9.tgz", "integrity": "sha512-U6SdZaGbfb65fqTsH3V5oJdFj9uYwyLE2WVuNvmbggTSDBb8QHrFsqY8BN3taK9t3yJ8/BPHD/kNvLNyjwM7Yw==", "license": "MIT", - "peer": true, "dependencies": { "@babel/runtime": "^7.28.6", "@mui/types": "^7.4.12", @@ -2307,8 +2200,7 @@ "version": "19.2.4", "resolved": "https://registry.npmjs.org/react-is/-/react-is-19.2.4.tgz", "integrity": "sha512-W+EWGn2v0ApPKgKKCy/7s7WHXkboGcsrXE+2joLyVxkbyVQfO3MUEaUQDHoSmb8TFFrSKYa9mw64WZHNHSDzYA==", - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/@mui/types": { "version": "7.2.24", @@ -3534,6 +3426,7 @@ "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.28.tgz", "integrity": "sha512-z9VXpC7MWrhfWipitjNdgCauoMLRdIILQsAEV+ZesIzBq/oUlxk0m3ApZuMFCXdnS4U7KrI+l3WRUEGQ8K1QKw==", "license": "MIT", + "peer": true, "dependencies": { "@types/prop-types": "*", "csstype": "^3.2.2" @@ -3738,7 +3631,6 @@ "resolved": "https://registry.npmjs.org/babel-plugin-styled-components/-/babel-plugin-styled-components-2.1.4.tgz", "integrity": "sha512-Xgp9g+A/cG47sUyRwwYxGM4bR/jDRg5N6it/8+HxCnbT5XNKSKDT9xm4oag/osgqjC2It/vH0yXsomOG6k558g==", "license": "MIT", - "peer": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", "@babel/helper-module-imports": "^7.22.5", @@ -3755,7 +3647,6 @@ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "license": "MIT", - "peer": true, "engines": { "node": ">=8.6" }, @@ -3796,6 +3687,7 @@ "resolved": "https://registry.npmjs.org/blockly/-/blockly-11.2.2.tgz", "integrity": "sha512-YJW9jMz4qoBXzOOUqxWBOHL35QhOOTAg2a6sVAFJh+/uNTXW0z506JS7qkqZI4PQ9fnUhDqmhF8a0qWSTL1tjg==", "license": "Apache-2.0", + "peer": true, "dependencies": { "jsdom": "25.0.1" }, @@ -3834,6 +3726,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "baseline-browser-mapping": "^2.9.0", "caniuse-lite": "^1.0.30001759", @@ -3893,7 +3786,6 @@ "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.1.tgz", "integrity": "sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==", "license": "MIT", - "peer": true, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -4183,7 +4075,6 @@ "resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz", "integrity": "sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==", "license": "ISC", - "peer": true, "engines": { "node": ">=4" } @@ -4193,7 +4084,6 @@ "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-3.2.0.tgz", "integrity": "sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==", "license": "MIT", - "peer": true, "dependencies": { "camelize": "^1.0.0", "css-color-keywords": "^1.0.0", @@ -4231,7 +4121,6 @@ "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==", "license": "MIT", "optional": true, - "peer": true, "engines": { "node": ">= 12" } @@ -4720,7 +4609,6 @@ ], "license": "MIT", "optional": true, - "peer": true, "dependencies": { "node-domexception": "^1.0.0", "web-streams-polyfill": "^3.0.3" @@ -4871,7 +4759,6 @@ "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", "license": "MIT", "optional": true, - "peer": true, "dependencies": { "fetch-blob": "^3.1.2" }, @@ -5078,7 +4965,6 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "license": "MIT", - "peer": true, "engines": { "node": ">=4" } @@ -5899,6 +5785,7 @@ "resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.55.1.tgz", "integrity": "sha512-jz4x+TJNFHwHtwuV9vA9rMujcZRb0CEilTEwG2rRSpe/A7Jdkuj8xPKttCgOh+v/lkHy7HsZ64oj+q3xoAFl9A==", "license": "MIT", + "peer": true, "dependencies": { "dompurify": "3.2.7", "marked": "14.0.0" @@ -5969,7 +5856,6 @@ ], "license": "MIT", "optional": true, - "peer": true, "engines": { "node": ">=10.5.0" } @@ -6297,8 +6183,7 @@ "version": "4.2.0", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/process-nextick-args": { "version": "2.0.1", @@ -6329,6 +6214,7 @@ "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", "license": "MIT", + "peer": true, "dependencies": { "loose-envify": "^1.4.0", "object-assign": "^4.1.1", @@ -6393,6 +6279,7 @@ "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", "license": "MIT", + "peer": true, "dependencies": { "loose-envify": "^1.1.0" }, @@ -6527,6 +6414,7 @@ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", "license": "MIT", + "peer": true, "dependencies": { "loose-envify": "^1.1.0", "scheduler": "^0.23.2" @@ -6645,8 +6533,7 @@ "version": "18.3.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/react-json-view": { "version": "1.21.3", @@ -6966,6 +6853,7 @@ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.52.5.tgz", "integrity": "sha512-3GuObel8h7Kqdjt0gxkEzaifHTqLVW56Y/bjN7PSQtkKr0w3V/QYSdt6QWYtd7A1xUtYQigtdUfgj1RvWVtorw==", "license": "MIT", + "peer": true, "dependencies": { "@types/estree": "1.0.8" }, @@ -7071,6 +6959,7 @@ "resolved": "https://registry.npmjs.org/sass/-/sass-1.98.0.tgz", "integrity": "sha512-+4N/u9dZ4PrgzGgPlKnaaRQx64RO0JBKs9sDhQ2pLgN6JQZ25uPQZKQYaBJU48Kd5BxgXoJ4e09Dq7nMcOUW3A==", "license": "MIT", + "peer": true, "dependencies": { "chokidar": "^4.0.0", "immutable": "^5.1.5", @@ -7148,8 +7037,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==", - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/shebang-command": { "version": "2.0.0", @@ -7324,7 +7212,6 @@ "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-5.3.11.tgz", "integrity": "sha512-uuzIIfnVkagcVHv9nE0VPlHPSCmXIUGKfJ42LNjxCCTDTL5sgnJ8Z7GZBq0EnLYGln77tPpEpExt2+qa+cZqSw==", "license": "MIT", - "peer": true, "dependencies": { "@babel/helper-module-imports": "^7.0.0", "@babel/traverse": "^7.4.5", @@ -7354,8 +7241,7 @@ "version": "0.7.5", "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz", "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==", - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/stylis": { "version": "4.2.0", @@ -7373,7 +7259,6 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "license": "MIT", - "peer": true, "dependencies": { "has-flag": "^3.0.0" }, @@ -7740,6 +7625,7 @@ "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.1.tgz", "integrity": "sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==", "license": "MIT", + "peer": true, "dependencies": { "esbuild": "^0.27.0", "fdir": "^6.5.0", @@ -7887,7 +7773,6 @@ "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==", "license": "MIT", "optional": true, - "peer": true, "engines": { "node": ">= 8" } @@ -7955,6 +7840,7 @@ "resolved": "https://registry.npmjs.org/winston/-/winston-3.19.0.tgz", "integrity": "sha512-LZNJgPzfKR+/J3cHkxcpHKpKKvGfDZVPS4hfJCc4cCG0CgYzvlD6yE/S3CIL/Yt91ak327YCpiF/0MyeZHEHKA==", "license": "MIT", + "peer": true, "dependencies": { "@colors/colors": "^1.6.0", "@dabh/diagnostics": "^2.0.8", @@ -8076,6 +7962,7 @@ "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", "license": "MIT", + "peer": true, "engines": { "node": ">=10.0.0" }, diff --git a/src-editor/package.json b/src-editor/package.json index 51ea75d52..3e1319a89 100644 --- a/src-editor/package.json +++ b/src-editor/package.json @@ -1,6 +1,6 @@ { "name": "js", - "version": "9.0.18", + "version": "9.1.0", "private": true, "type": "module", "dependencies": { diff --git a/src-editor/src/Editor.tsx b/src-editor/src/Editor.tsx index 2afc5d007..714f0da2c 100644 --- a/src-editor/src/Editor.tsx +++ b/src-editor/src/Editor.tsx @@ -46,6 +46,7 @@ import { MdPause as IconPause, MdBrightness4 as IconAstro, MdCode as IconCode, + MdAutoFixHigh as IconWizard, } from 'react-icons/md'; import { @@ -213,25 +214,6 @@ const styles: Record = { }, }; -function ChatIcon(): React.JSX.Element { - return ( - - - - - ); -} - interface EditorProps { socket: AdminConnection; objects: Record; @@ -1489,7 +1471,7 @@ class Editor extends React.Component { size="medium" onClick={() => this.setState({ openAiDialog: true })} > - + ) : null} Date: Thu, 19 Mar 2026 23:00:50 +0100 Subject: [PATCH 3/3] Fixed loading of monaco --- README.md | 2 - .../Components/ScriptEditorVanillaMonaco.tsx | 41 +++++++++++-------- 2 files changed, 23 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index d6faa63bb..db38201c2 100644 --- a/README.md +++ b/README.md @@ -28,8 +28,6 @@ Executes Javascript, Typescript Scripts. --> ### **WORK IN PROGRESS** * (GermanBluefox) Small GUI optimizations - -### 9.1.0 (2026-03-19) * Added support for custom OpenAI-compatible API endpoints (e.g. Ollama, LM Studio, Google Gemini, DeepSeek, OpenRouter) * Added configurable base URL in adapter settings * Models are now fetched dynamically from the configured API endpoint diff --git a/src-editor/src/Components/ScriptEditorVanillaMonaco.tsx b/src-editor/src/Components/ScriptEditorVanillaMonaco.tsx index c9445720b..38756ad56 100644 --- a/src-editor/src/Components/ScriptEditorVanillaMonaco.tsx +++ b/src-editor/src/Components/ScriptEditorVanillaMonaco.tsx @@ -75,6 +75,11 @@ class ScriptEditor extends React.Component private monaco: typeof monacoEditor | null = (window as any).monaco as typeof monacoEditor | null; + /** In Monaco 0.55+ loaded via AMD, the typescript API lives at "languages.typescript" (not top-level typescript) */ + private get monacoTS(): typeof monacoEditor.typescript | undefined { + return this.monaco?.languages?.typescript as typeof monacoEditor.typescript | undefined; + } + private insert: string = ''; private originalCode: string; @@ -120,10 +125,10 @@ class ScriptEditor extends React.Component } waitForMonaco(cb: () => void): void { - let monacoLoaded = !!this.monaco?.typescript?.typescriptDefaults?.getCompilerOptions; + let monacoLoaded = !!this.monacoTS?.typescriptDefaults?.getCompilerOptions; if (!monacoLoaded || !this.props.runningInstances) { this.monaco = (window as any).monaco as typeof monacoEditor | null; - monacoLoaded = !!this.monaco?.typescript?.typescriptDefaults?.getCompilerOptions; + monacoLoaded = !!this.monacoTS?.typescriptDefaults?.getCompilerOptions; this.monacoCounter++; if (!monacoLoaded && this.monacoCounter < 20) { console.log('wait for monaco loaded'); @@ -164,10 +169,10 @@ class ScriptEditor extends React.Component } componentDidMount(): void { - let monacoLoaded = !!this.monaco?.typescript?.typescriptDefaults?.getCompilerOptions; + let monacoLoaded = !!this.monacoTS?.typescriptDefaults?.getCompilerOptions; if (!monacoLoaded || !this.props.runningInstances) { this.monaco = (window as any).monaco as typeof monacoEditor | null; - monacoLoaded = !!this.monaco?.typescript?.typescriptDefaults?.getCompilerOptions; + monacoLoaded = !!this.monacoTS?.typescriptDefaults?.getCompilerOptions; if (!monacoLoaded) { console.log('wait for monaco loaded...'); this.waitForMonaco(() => this.componentDidMount()); @@ -188,19 +193,19 @@ class ScriptEditor extends React.Component }); // For some reason, we have to get the original compiler options // and assign new properties one by one - const compilerOptions = this.monaco.typescript.typescriptDefaults.getCompilerOptions(); - // compilerOptions.target = this.monaco.typescript.ScriptTarget.ES2020; + const compilerOptions = this.monacoTS!.typescriptDefaults.getCompilerOptions(); + // compilerOptions.target = this.monacoTS!.ScriptTarget.ES2020; compilerOptions.allowJs = true; compilerOptions.checkJs = this.props.checkJs !== false; compilerOptions.noLib = true; compilerOptions.lib = []; compilerOptions.useUnknownInCatchVariables = false; - compilerOptions.moduleResolution = this.monaco.typescript.ModuleResolutionKind.NodeJs; - compilerOptions.target = this.monaco.typescript.ScriptTarget.ESNext; - compilerOptions.module = this.monaco.typescript.ModuleKind.ESNext; + compilerOptions.moduleResolution = this.monacoTS!.ModuleResolutionKind.NodeJs; + compilerOptions.target = this.monacoTS!.ScriptTarget.ESNext; + compilerOptions.module = this.monacoTS!.ModuleKind.ESNext; compilerOptions.allowNonTsExtensions = true; - this.monaco.typescript.typescriptDefaults.setCompilerOptions(compilerOptions); + this.monacoTS!.typescriptDefaults.setCompilerOptions(compilerOptions); this.setTypeCheck(false); @@ -400,9 +405,9 @@ class ScriptEditor extends React.Component noSemanticValidation: !this.state.alive || !enabled, // toggle the type checking noSyntaxValidation: !this.state.alive, // always check the syntax }; - this.monaco?.typescript.typescriptDefaults.setDiagnosticsOptions(options); + this.monacoTS?.typescriptDefaults.setDiagnosticsOptions(options); - this.monaco?.typescript.javascriptDefaults.setDiagnosticsOptions({ + this.monacoTS?.javascriptDefaults.setDiagnosticsOptions({ noSemanticValidation: !this.state.alive || !enabled, noSyntaxValidation: !this.state.alive, }); @@ -436,13 +441,13 @@ class ScriptEditor extends React.Component // TODO BF: check https://microsoft.github.io/monaco-editor/playground.html#extending-language-services-semantic-tokens-provider-example // to support 0.21.0 - if (this.monaco?.typescript?.typescriptDefaults?.setExtraLibs) { - this.monaco.typescript.typescriptDefaults.setExtraLibs(wantedTypings); - } else if (this.monaco?.typescript?.typescriptDefaults?.addExtraLib) { - const existingLibs = this.monaco.typescript.typescriptDefaults.getExtraLibs(); + if (this.monacoTS?.typescriptDefaults?.setExtraLibs) { + this.monacoTS!.typescriptDefaults.setExtraLibs(wantedTypings); + } else if (this.monacoTS?.typescriptDefaults?.addExtraLib) { + const existingLibs = this.monacoTS!.typescriptDefaults.getExtraLibs(); wantedTypings.forEach(lib => { if (!existingLibs[lib.filePath] && this.monaco) { - this.monaco.typescript.typescriptDefaults.addExtraLib(lib.content, lib.filePath); + this.monacoTS!.typescriptDefaults.addExtraLib(lib.content, lib.filePath); } }); } @@ -715,7 +720,7 @@ class ScriptEditor extends React.Component } render(): React.JSX.Element | null { - if (!this.monaco?.typescript?.typescriptDefaults || !this.props.runningInstances) { + if (!this.monacoTS?.typescriptDefaults || !this.props.runningInstances) { setTimeout(() => { this.monaco = (window as any).monaco as typeof monacoEditor | null; this.forceUpdate();